ISAKMP non è un protocollo tanto quanto un framework per gli scambi di chiavi (so che ha un protocollo nel nome). Le implementazioni del framework includono Internet Key Exchange (IKE) e Kerberized Internet Negotiation of Keys (KINK) .
Se leggi ISAKMP RFC (RFC2408) ha un buon diagramma per dove ISAKMP si trova nello stack di rete.
RFC2408 Sezione 2.2 Posizionamento ISAKMP
+------------+ +--------+ +--------------+
! DOI ! ! ! ! Application !
! Definition ! <----> ! ISAKMP ! ! Process !
+------------+ --> ! ! !--------------!
+--------------+ ! +--------+ ! Appl Protocol!
! Key Exchange ! ! ^ ^ +--------------+
! Definition !<-- ! ! ^
+--------------+ ! ! !
! ! !
!----------------! ! !
v ! !
+-------+ v v
! API ! +---------------------------------------------+
+-------+ ! Socket Layer !
! !---------------------------------------------!
v ! Transport Protocol (TCP / UDP) !
+----------+ !---------------------------------------------!
! Security ! <----> ! IP !
! Protocol ! !---------------------------------------------!
+----------+ ! Link Layer Protocol !
+---------------------------------------------+
Figure 1: ISAKMP Relationships
Questo è un po 'ambiguo perché vuole proteggere il livello IP, ma deve anche eseguire negoziazioni tra due IP prima dell'incapsulamento. Tuttavia, nella sezione 2.5.1 si afferma quanto segue:
ISAKMP can be implemented over any transport protocol or over IP
itself. Implementations MUST include send and receive capability for
ISAKMP using the User Datagram Protocol (UDP) on port 500. UDP Port
500 has been assigned to ISAKMP by the Internet Assigned Numbers
Authority (IANA). Implementations MAY additionally support ISAKMP over
other transport protocols or over IP itself.
ISAKMP può essere implementato su Layer 3 (IP) o Layer 4 (Transport). Le implementazioni devono supportare i livelli di trasporto e, facoltativamente, supportare un'implementazione IP.
IKE è uno dei protocolli più comuni utilizzati per negoziare le chiavi IPSec. Tuttavia, entrambi i KINK ( RFC4430 Section 9 ) e IKE utilizzano i pacchetti UDP per eseguire lo scambio di chiavi tra due peer .
Sebbene ISAKMP possa verificarsi sia in IP che in Transport, è implementato più comunemente su Transport che lo posizionerebbe su Layer 5 (Session), ma potrebbe essere posizionato su Layer 4 (Transport) se è implementato su Layer 2.