ISAKMP, Internet Security Association and Key Management Protocol |
Description | Glossary | RFCs | Publications | Obsolete RFCs |
Protocol suite: | TCP/IP. |
Protocol type: | Application layer key exchange protocol. |
Related protocols: | GDOI, Group Domain of Interpretation. |
Port: | 500 (UDP). |
MIME subtype: | |
SNMP MIBs: | |
Working groups: | |
Links: | IANA: ISAKMP identifiers. |
ISAKMP defines procedures and packet formats to establish, negotiate, modify and delete Security Associations. SAs contain all the information required for execution of various network security services, such as the IP layer services (such as header authentication and payload encapsulation), transport or application layer services, or self-protection of negotiation traffic. ISAKMP defines payloads for exchanging key generation and authentication data. These formats provide a consistent framework for transferring key and authentication data which is independent of the key generation technique, encryption algorithm and authentication mechanism.
ISAKMP is distinct from key exchange protocols in order to cleanly separate the details of security association management (and key management) from the details of key exchange. There may be many different key exchange protocols, each with different security properties. However, a common framework is required for agreeing to the format of SA attributes, and for negotiating, modifying, and deleting SAs. ISAKMP serves as this common framework.
ISAKMP can be implemented over any transport protocol.
All implementations must include send and receive capability for ISAKMP using UDP on port 500.
MAC header | IP header | UDP header | ISAKMP packet |
ISAKMP header:
00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Initiator cookie - | |||||||||||||||||||||||||||||||
Responder cookie - | |||||||||||||||||||||||||||||||
Next payload | Mjr version | Mnr version | Exchange type | Flags | |||||||||||||||||||||||||||
Message ID | |||||||||||||||||||||||||||||||
Length |
Initiator cookie.
8 bytes.
The cookie of the entity that initiated SA establishment, SA notification, or SA deletion.
Responder cookie.
8 bytes.
The cookie of the entity that is responding to an SA establishment request, SA notification, or SA deletion.
Next payload. 8 bits.
Indicates the type of the first payload in the message.
Value | Description | References |
---|---|---|
0 | None. | RFC 2408 |
1 | Security Association. | RFC 2408 |
2 | Proposal. | RFC 2408 |
3 | Transform. | RFC 2408 |
4 | Key Exchange. | RFC 2408 |
5 | Identification. | RFC 2408 |
6 | Certificate. | RFC 2408 |
7 | Certificate Request. | RFC 2408 |
8 | Hash. | RFC 2408 |
9 | Signature. | RFC 2408 |
10 | Nonce. | RFC 2408 |
11 | Notification. | RFC 2408 |
12 | Delete. | RFC 2408 |
13 | Vendor ID. | RFC 2408 |
14 | ||
15 | SAK, SA KEK Payload. | RFC 3547 |
16 | SAT, SA TEK Payload. | RFC 3547 |
17 | Key Download. | RFC 3547 |
18 | Sequence Number. | RFC 3547 |
19 | Proof of Possession. | RFC 3547 |
20 | NAT-D, NAT Discovery. | RFC 3947 |
21 | NAT-OA, NAT Original Address. | RFC 3947 |
22 - 127 | ||
128 - 255 | Private use. |
Mjr version.
4 bits.
The major version of the ISAKMP protocol in use.
Mnr version.
4 bits.
The minor version of the ISAKMP protocol in use.
Exchange type.
8 bits.
Indicates the type of exchange being used.
This dictates the message and payload orderings in the ISAKMP exchanges.
Value | Description |
---|---|
0 | None. |
1 | Base. |
2 | Identity protection. |
3 | Authentication only. |
4 | Aggressive. |
5 | Informational. |
6 - 31 |
ISAKMP future use. |
32 - 239 | DOI specific use. |
240 - 255 | Private use. |
Flags.
8 bits.
Indicates the options that are set for the ISAKMP exchange.
00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 |
---|---|---|---|---|---|---|---|
reserved | A | C | E |
A, Authentication only. 1 bit.
Intended for use with the Informational Exchange with a Notify payload and will allow the transmission of information with integrity checking, but no encryption.C, Commit. 1 bit.
Used to signal key exchange synchronization. It is used to ensure that encrypted material is not received prior to completion of the SA establishment.E, Encryption. 1 bit.
If set, all payloads following the header are encrypted using the encryption algorithm identified in the ISAKMP SA.
Message ID.
4 bytes.
A unique value used to identify the protocol state during Phase 2 negotiations.
It is randomly generated by the initiator of the Phase 2 negotiation.
Length.
4 bytes.
The total length of the ISAKMP header and the encapsulated payloads in bytes.
DOI, Domain of Interpretation.
(RFC 2408)
Defines payload formats, exchange types, and conventions for naming
security-relevant information such as security policies or cryptographic algorithms and modes.
A DOI identifier is used to interpret the payloads of ISAKMP payloads.
SA, Security Association.
A relationship between two or more entities that describes how the entities will utilize security services to communicate securely.
SPI, Security Parameter Index.
(RFC 2408)
An identifier for a Security Assocation, relative to some security protocol.
Each security protocol has its own "SPI-space".
A (security protocol, SPI) pair may uniquely identify an SA.
The uniqueness of the SPI is implementation dependent, but could be based per system, per protocol, or other options.
Depending on the DOI, additional information (e.g. host address) may be necessary to identify an SA.
The DOI will also determine which SPIs (i.e. initiator's or responder's) are sent during communication.
RFCs:
[RFC 3547] The Group Domain of Interpretation.
[RFC 3947] Negotiation of NAT-Traversal in the IKE.
[RFC 2407] The Internet IP Security Domain of Interpretation for ISAKMP.
[RFC 2408] Internet Security Association and Key Management Protocol (ISAKMP).
Description | Glossary | RFCs | Publications | Obsolete RFCs |