HMAC
Each DNP3 device includes a Hash-based Message Authentication Code (HMAC) value in certain messages associated with critical requests or responses. The HMAC value is used to verify the authenticity of each message. The Session Key appropriate to the direction of communication and an HMAC algorithm are used to calculate the HMAC value.
The Challenger specifies which HMAC algorithm the Responder is to use for the HMAC value that it includes:
- in the reply to the challenge
- any subsequent Aggressive Mode requests that it issues.
HMAC values are also included in certain messages associated with Session Key Changes. Such messages also include some Challenge Data.
Further Information