RFC 2085 (rfc2085) - Page 3 of 6
HMAC-MD5 IP Authentication with Replay Prevention
Alternative Format: Original Text Document
RFC 2085 HMAC-MD5 February 1997
frequently as possible, change the AH key. Keys need to be chosen at
random, or generated using a cryptographically strong pseudo-random
generator seeded with a random seed. [HMAC-MD5]
All conforming and compliant implementations MUST support a key
length of 128 bits or less. Implementations SHOULD support longer
key lengths as well. It is advised that the key length be chosen to
be the length of the hash output, which is 128 bits for MD5. For
other key lengths the following concerns MUST be considered.
A key length of zero is prohibited and implementations MUST prevent
key lengths of zero from being used with this transform, since no
effective authentication could be provided by a zero-length key.
Keys having a length less than 128 bits are strongly discouraged as
it would decrease the security strength of the function. Keys longer
than 128 bits are acceptable, but the extra length may not
significantly increase the function strength. A longer key may be
advisable if the randomness of the key is suspect. MD5 operates on
64-byte blocks. Keys longer than 64-bytes are first hashed using
MD5. The resulting hash is then used to calculate the authentication
data.
1.3 Data Size
MD5 produces a 128-bit value which is used as the authentication
data. It is naturally 64 bit aligned and thus, does not need any
padding for machines with native double words.
2. Packet Format
+---------------+---------------+---------------+---------------+
| Next Header | Length | RESERVED |
+---------------+---------------+---------------+---------------+
| SPI |
+---------------+---------------+---------------+---------------+
| Replay Prevention |
| |
+---------------+---------------+---------------+---------------+
| |
+ Authentication Data |
| |
+---------------+---------------+---------------+---------------+
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
The Next Header, RESERVED, and SPI fields are specified in [RFC-
1826]. The Length field is the length of the Replay Prevention field
and the Authentication Data in 32-bit words.
Oehler & Glenn Standards Track