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:
Working groups:
Links: IANA: ISAKMP identifiers.

RFC 2408:

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:

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Initiator cookie
Responder cookie
Next payload Mjr version Mnr version Exchange type Flags
Message ID

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.

0None. RFC 2408
1Security Association. RFC 2408
2Proposal. RFC 2408
3Transform. RFC 2408
4Key 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
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
21NAT-OA, NAT Original Address. RFC 3947
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.

2Identity protection.
3Authentication only.
4 Aggressive.
5 Informational.
ISAKMP future use.
DOI specific use.
Private use.

Flags. 8 bits.
Indicates the options that are set for the ISAKMP exchange.

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.


[RFC 3547] The Group Domain of Interpretation.

[RFC 3947] Negotiation of NAT-Traversal in the IKE.


Obsolete RFCs:

[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