Internet Key Exchange (IKE) är en uppsättning stödprotokoll skapade av Internet Engineering Task Force (IETF) och används med IPSec-standarder (Internet Protocol Security) för att tillhandahålla säker kommunikation mellan två enheter, eller peers, över ett nätverk. Som ett protokoll kan IKE användas i ett antal mjukvaruapplikationer. Ett vanligt exempel är att sätta upp ett säkert virtuellt privat nätverk (VPN). Även om det är standard på praktiskt taget alla moderna datoroperativsystem och nätverksutrustning, är mycket av det som Internet Key Exchange gör dolt för den genomsnittliga användaren.
Protokollen i IKE etablerar vad som kallas en säkerhetsassociation (SA) mellan två eller flera peers över IPSec, vilket krävs för all säker kommunikation via IPSec. SA definierar den kryptografiska algoritmen som används i kommunikationen, krypteringsnycklarna och deras utgångsdatum; allt detta går sedan in i varje kamrats säkerhetsorganisationsdatabas (SAD). Medan IPSec kan ha sin SA konfigurerad manuellt, förhandlar Internet Key Exchange och upprättar säkerhetsassociationer mellan peers automatiskt, inklusive möjligheten att skapa sina egna.
Internet Key Exchange är känt som ett hybridprotokoll. IKE använder sig av ett protokollramverk känt som Internet Security Association and Key Management Protocol (ISAKMP). ISAKMP förser IKE med möjligheten att etablera SA och gör jobbet med att definiera formatet för datanyttolasten och bestämma vilket nyckelutbytesprotokoll som ska användas. ISAKMP kan använda flera metoder för att utbyta nycklar, men dess implementering i IKE använder aspekter av två. Det mesta av nyckelutbytesprocessen använder metoden OAKLEY Key Determination Protocol (OAKLEY), som definierar de olika lägena, men IKE använder också en del av metoden Source Key Exchange Mechanism (SKEME), som möjliggör kryptering av publik nyckel och har förmågan att uppdatera nycklar snabbt.
När kamrater vill kommunicera säkert skickar de vad som kallas ”intressant trafik” till varandra. Intressant trafik är meddelanden som följer en IPSec-policy som har etablerats på peers. Ett exempel på denna policy som finns i brandväggar och routrar kallas en åtkomstlista. Åtkomstlistan ges en kryptografipolicy genom vilken vissa uttalanden inom policyn avgör om specifik data som skickas över anslutningen ska krypteras eller inte. När de kamrater som är intresserade av säker kommunikation har matchat en IPSec-säkerhetspolicy med varandra, börjar processen för utbyte av Internetnyckel.
IKE-processen sker i etapper. Många säkra anslutningar börjar i ett osäkrat tillstånd, så den första fasen förhandlar om hur de två peers ska fortsätta processen med säker kommunikation. IKE autentiserar först peers identitet och säkrar sedan deras identiteter genom att bestämma vilka säkerhetsalgoritmer båda peers kommer att använda. Genom att använda Diffie-Hellmans publika nyckelkryptografiprotokoll, som kan skapa matchande nycklar via ett oskyddat nätverk, skapar Internet Key Exchange sessionsnycklar. IKE avslutar Fas 1 genom att skapa en säker anslutning, en tunnel, mellan peers som kommer att användas i Fas 2.
När IKE går in i fas 2 använder kamraterna den nya IKE SA för att ställa in de IPSec-protokoll som de kommer att använda under resten av sin anslutning. En autentiseringshuvud (AH) upprättas som kommer att verifiera att skickade meddelanden tas emot intakta. Paketen måste också krypteras, så IPSec använder då det encapsulating security protocol (ESP) för att kryptera paketen och skydda dem från nyfikna ögon. AH beräknas baserat på innehållet i paketet, och paketet är krypterat, så paketen är säkrade från alla som försöker ersätta paket med falska eller läser innehållet i ett paket.
IKE utbyter också kryptografiska nonce under fas 2. En nonce är ett nummer eller en sträng som endast används en gång. Nonce används sedan av en peer om den behöver skapa en ny hemlig nyckel eller för att förhindra en angripare från att generera falska SA:er, vilket förhindrar vad som kallas en replay attack.
Fördelarna med ett flerfasiskt tillvägagångssätt för IKE är att genom att använda Fas 1 SA kan båda peer initiera en Fas 2 när som helst för att omförhandla en ny SA för att säkerställa att kommunikationen förblir säker. Efter att Internet Key Exchange har slutfört sina faser skapas en IPSec-tunnel för utbyte av information. Paketen som skickas via tunneln krypteras och dekrypteras enligt de SA som etablerats under fas 2. När den är klar avslutas tunneln, antingen genom att löpa ut baserat på en förutbestämd tidsgräns, eller efter att en viss mängd data har överförts. Naturligtvis kan ytterligare IKE-fas 2-förhandlingar hålla tunneln öppen eller alternativt starta en ny fas 1- och fas 2-förhandling för att etablera en ny, säker tunnel.