Ett kontrakt måste etableras mellan de två datorerna innan skyddad information kan utbytas. I kontraktet, som kallas en säkerhetsassociation (SA), bestäms hur informationen ska utbytas och skyddas.

En nyckel är den hemliga kod eller det tal som krävs för att skydda, läsa, ändra eller bekräfta skyddad information. Nycklar används tillsammans med algoritmer (en matematisk process) för att skydda data. Det finns två faser eller lägen i IPsec som använder nycklar. I det första läget, huvudläget, genereras en delad huvudnyckel som de två datorerna kan använda för att utbyta nyckelinformation på ett skyddat sätt. I snabbläget används huvudnyckeln för att skydda upprättandet av en eller flera sessionsnycklar som används för dataintegritet eller datakryptering.

I Windows genereras nycklar automatiskt och följande nyckelegenskaper implementeras som optimerar skyddet:

Viktigt!

Du kan använda Snapin-modulen för IPSec-principer för att skapa IPSec-principer för tillämpning på datorer som kör Windows Vista och senare versioner av Windows. Snapin-modulen använder dock inte de nya säkerhetsalgoritmerna och andra nya funktioner som finns tillgängliga i datorer som kör de senare versionerna av Windows. Om du vill skapa IPsec-principer för dessa datorer använder du snapin-modulen Windows-brandvägg med avancerad säkerhet. Snapin-modulen Windows-brandvägg med avancerad säkerhet skapar inte principer som kan tillämpas på tidigare versioner av Windows.

Dynamisk omgenerering av nycklar

IPSec-principerna kontrollerar hur ofta en ny nyckel genereras under en kommunikation med hjälp av en metod som kallas dynamisk omgenerering av nycklar. Kommunikationen sker i block och varje datablock är skyddat med olika nycklar. Detta förhindrar att en obehörig som kan avlyssna en del av kommunikationen, och som har fått tag i motsvarande sessionsnycklar, kan avlyssna det som återstår av den. Denna begärda säkerhetsförhandling och automatiska hantering av nycklar tillhandahålls med IKE (Internet Key Exchange), enligt definitionerna i RFC 2409.

Med IPSec kan du styra hur ofta en ny nyckel skapas. Om du inte anger något värde kommer nycklarna automatiskt att omgenereras med standardintervall.

Nyckellängder

Varje gång som längden på en nyckel ökar med en bit, dubbleras antalet möjliga nycklar och därmed blir det exponentiellt svårare att avgöra vilken nyckeln är. IPSec tillhandahåller flera algoritmer för korta eller långa nyckellängder.

Generering av nyckelmaterial: Diffie-Hellman-algoritmen

Om du vill etablera säker kommunikation mellan två datorer måste datorerna ha tillgång till samma delade nyckel (snabbläges- eller sessionsnyckel), utan att nyckeln behöver skickas över nätverket, vilket äventyrar säkerheten.

Diffie-Hellman-algoritmen (DH) är en av de äldsta och säkraste algoritmerna för nyckelutbyte. De båda datorerna utbyter nyckelinformation offentligt och detta skyddas med en hash-funktionssignatur i Windows. Inget utbyte av den egentliga nyckeln sker, men när nyckelmaterialet utväxlats går det att generera identiskt lika delade nycklar på varje dator.

Det DH-nyckelmaterial som utväxlats mellan datorerna kan baseras på 768, 1024 eller 2048 bitar med nyckelmaterial. Dessa kallas också DH-grupper. Styrkan hos en DH-grupp är proportionell mot styrkan i den framräknade nyckeln från DH-utbytet. Starka DH-grupper tillsammans med längre nycklar ökar svårigheten att beräkna hur nyckeln ser ur.

OBS

I dialogrutan IKE-säkerhetsalgoritmer motsvarar 768 bitar inställningen Låg (1) och 1024 bitar inställningen Mellan (2).

I IPSec används DH-algoritmen för att tillhandahålla nyckelmaterial för alla andra krypteringsnycklar. DH ger inte autentisering. I implementeringen av IPSec i Microsoft Windows autentiseras identiteterna efter det att DH-utbytet ägt rum. Därigenom skyddas kommunikationen från att tredje man kan avlyssna den.

Nyckelskydd

Här beskrivs funktionerna som förbättrar basprimtalen (nyckelmaterial) och nyckelstyrkan för huvud- eller sessionsnycklar.

Livstid för nycklar

Livstiden för nycklar avgör när, snarare än hur, en ny nyckel ska genereras. Detta kallas även dynamiskt återskapande av nycklar. Med hjälp av inställningarna för livstiden för nycklar kan du tvinga fram nya nyckelgenereringar efter ett visst tidsintervall. Om kommunikationen t ex varar under 10 000 sekunder och du anger nyckelns giltighetstid till 1 000 sekunder, kommer tio nycklar att skapas för att kommunikationen ska kunna slutföras. Detta gör att även om någon lyckas dechiffrera delar av kommunikationen, kommer den för övrigt att vara skyddad. Livstiden för nycklarna kan anges både för huvud- och sessionsnycklar. När giltighetstiden för en nyckel löper ut omförhandlas den tillhörande säkerhetsassociationen, dessutom uppdateras eller återskapas nyckeln. Den mängd data som bearbetas av en enda nyckel bör inte överstiga 100 MB.

Sessionsnycklars uppdateringsgräns

En sessionsnyckel för snabbläge har en uppdateringsgräns på grund av att upprepad omgenerering av en sessionsnyckel för snabbläge kan leda till att den delade Diffie-Hellman-hemligheten äventyras.

Tänk dig exemplet att Alice vid dator A skickar ett meddelande till Robert vid dator B och därefter ett nytt meddelande några minuter senare. Eftersom en säkerhetsassociation nyligen etablerats kan samma sessionsnyckel återanvändas. Om du vill begränsa antalet gånger som detta ska kunna ske, ställer du in ett lågt värde för uppdateringsgränsen.

Om du har aktiverat PFS (Perfect Forward Secrecy) för huvudnycklar för snabbläge används inte uppdateringsgränsen för sessionsnycklar. Om du ställer in uppdateringsgränsen för sessionsnycklar till 1 är det detsamma som om du aktiverat PFS för huvudnycklar. Om både livstiden för en huvudnyckeln för huvudläge och uppdateringsgränsen för en sessionsnyckel för snabbläge anges, kommer det gränsvärde som uppnås först att leda till en nyckelförnyelse. Som standard anges inte en uppdateringsgräns för sessionsnycklar i IPSec-principer.

Diffie-Hellman-grupper

Diffie-Hellman-grupper (DH) används för att bestämma längden på basprimtalen (nyckelmaterial) för DH-utbytet. Styrkan hos en nyckel som härletts från ett DH-utbyte beror bl a på styrkan hos den DH-grupp som primtalen baserats på.

Varje DH-grupp definierar längden på det nyckelmaterial som ska användas. Grupp 1 skyddar 768 bitar med nyckelmaterial, Grupp 2 skyddar 1024 bitar och Grupp 3 skyddar 2048 bitar. När större grupper används, är resultatnyckeln som bestäms vid ett DH-utbyte större och svårare att röja för en utomstående.

Vid IKE-förhandlingarna avgörs vilken grupp som ska användas, med utgångspunkt i inställningarna du gör i dialogrutan IKE-säkerhetsalgoritm, och dessutom säkerställs det att det inte uppstått några förhandlingsfel på grund av en felaktigt matchad DH-grupp mellan de två peer-datorerna.

Om sessionsnyckeln för PFS är aktiverad, förhandlas det om en ny DH-nyckel vid den första SA-förhandlingen i snabbläge. Denna nya DH-nyckel tar bort beroendet av sessionsnyckeln för det DH-utbyte som utförs för huvudnyckeln.

Om den som initierar detta använder en sessionsnyckel för PFS, behöver den svarande inte använda sessionsnycklar för PFS. Däremot misslyckas förhandlingen om initieraren inte använder sessionsnycklar för PFS och den svarande använder sessionsnycklar för PFS.

DH-gruppen är densamma för SA-förhandlingar för både huvudläge och snabbläge. När sessionsnycklar för PFS aktiveras, även om DH-gruppen är inställd som en del av säkerhetsassociationen för huvudläge, påverkas varje omgenerering av nycklar under sessionsnyckeletableringen i snabbläge.

PFS (Perfect Forward Secrecy)

Till skillnad från livstiden för nycklar avgör PFS hur, snarare än när, en ny nyckel ska genereras. PFS ser till att en enskild nyckel endast tillåter åtkomst till data som skyddas av den, inte nödvändigtvis hela kommunikationen. Detta görs i PFS genom att den nyckel som används för att skydda en överföring, i något av lägena, inte kan användas för att generera flera nycklar. Om dessutom nyckeln som används har härletts från speciella nyckelmaterial, kan inte materialet användas för att generera andra nycklar.

PFS för huvudnyckeln i huvudläge kräver en omarbetning som är resursintensiv. Om IKE är aktiverad måste identiteterna omautentiseras och tilldelningen för domänkontrollanter måste öka när autentiseringsprotokollet Kerberos V5 används för autentisering. Detta kräver en ny huvudlägesförhandling för varje snabblägesförhandling som sker.

PFS för sessionsnyckeln i snabbläge kan användas utan en omarbetning och den kräver inte lika mycket resurser. Den leder också till ett DH-utbyte där nya nyckelmaterial genereras. Det krävs bara fyra meddelanden och ingen autentisering.

PFS behöver inte vara aktiverad på båda peer-datorerna eftersom den inte är en del av SA-förhandlingen. Om mottagaren kräver PFS och avsändarens SA i snabbläge upphört, kommer avsändarens meddelande att förkastas och en ny förhandling krävs. Avsändaren avslutar säkerhetsassociationen för huvudläge och gör en omförhandling. PFS kan anges individuellt för både huvudnycklar (huvudläge) och sessionsnycklarna (snabbläge).

Nyckelutbyte

Ett kontrakt måste etableras mellan de två datorerna innan skyddad information kan utbytas. I kontraktet (SA) bestäms hur informationen ska utbytas och skyddas.

När ett kontrakt mellan två datorer byggs upp, etableras i IETF (Internet Engineering task Force) en standardmetod för säkerhetsassociationer och nyckelutbytesmatchning, även kallat IKE (Internet Key Exchange), som:

  • Centraliserar hanteringen av säkerhetsassociationer och minskar anslutningstiden.

  • Skapar och hanterar delade, hemliga nycklar som används för att skydda information.

I denna process skyddas inte bara kommunikationen mellan datorer. Även fjärrdatorer som begär säker åtkomst till ett företagsnätverk skyddas. Dessutom fungerar processen när förhandlingen för den slutgiltiga måldatorn utförs genom en säker gateway.

Definierad säkerhetsassociation

En säkerhetsassociation (SA) består av en kombination av förhandlade nycklar, säkerhetsprotokoll och säkerhetsparameterindex (SPI) vilka alla tillsammans definierar den säkerhet som används för att skydda kommunikationen mellan avsändaren och mottagaren. SPI är ett unikt, identifierande värde i SA och det används för att skilja mellan olika säkerhetsassociationer som finns på den mottagande datorn. Flera associationer kan t ex finnas om en dator utför säkra kommunikationer med flera andra datorer samtidigt. Detta är vanligt när datorn är en filserver eller fjärråtkomstserver för flera klienter. I dessa situationer används SPI på den mottagande datorn för att bestämma vilket SA som används för att bearbeta det inkommande paketet.

Säkerhetsassociation för huvudläge

Med IKE utförs en operation i två faser, för att säkerställa att kommunikationen genomförs på ett bra och säkert sätt. Sekretess och autentisering sker i varje fas med hjälp av kryptering och autentiseringsalgoritmer vilka måste accepteras av de båda datorerna under säkerhetsförhandlingarna. Tack vare att uppgifterna delas upp i två faser kan nycklarna skapas mycket snabbt.

Under den första fasen upprättas en säker, autentiserad kanal mellan de båda datorerna. Det här kallas säkerhetsassociation för huvudläge. Under detta utbyte tillhandahålls automatiskt tillräckligt identitetsskydd genom IKE.

Följande steg beskriver en huvudlägesförhandling.

  1. Principförhandling. Följande fyra obligatoriska parametrar förhandlas som en del av säkerhetsassociationen för huvudläge:

    • Krypteringsalgoritmen (DES eller 3DES).

    • Hash-algoritmen (MD5 eller SHA1).

    • Autentiseringsmetoden (autentiseringsprotokollet Kerberos V5, certifikat eller autentisering med i förväg delade nycklar).

    • Diffie-Hellman-gruppen (DH) som används för nyckelmaterial (768 bitars Låg (Grupp 1), 1024 bitars Mellan (Grupp 2) eller 2048 bitars Hög (Grupp 3)).

    • Om certifikaten eller de för-utdelade nycklarna används för autentisering, är datorns identitet skyddad. Om däremot autentiseringsprotokollet Kerberos V5 används, är datorns identitet okrypterad tills krypteringen av hela nyttolast-ID görs vid autentisering.

  2. DH-utbyte (av offentliga värden). Nycklar utbytes inte vid något tillfälle. Endast den information som krävs av nyckelbestämningsalgoritmen för att skapa delade, säkra nycklar utväxlas. Efter detta utbyte skapar IKE-tjänsten på varje dator den huvudnyckel som används för att skydda autentisering.

  3. Autentisering. Datorerna försöker autentisera utbytet av DH-nyckeln. Om inte DH-nyckeln är autentiserad kommer kommunikationen att vara sårbar för attacker från tredje man. Kommunikationen kan inte fortsätta om inte autentiseringen lyckas. Huvudnyckeln används tillsammans med förhandlingsalgoritmerna och förhandlingsmetoderna för att autentisera identiteter. Hela nyttolast-ID (inklusive identitetstyp, post och protokoll) hashas och krypteras med nyckeln som skapas vid DH-utbytet i det andra steget. Nyttolast-ID, oberoende av vilken autentiseringsmetod som används, skyddas från både förändringar och tolkning.

    Avsändaren presenterar en potentiell säkerhetsassociation för mottagaren. Den svarande datorn kan inte ändra erbjudandet. Om erbjudandet ändras kommer den som initierat detta att förkasta meddelandet från den som svarar. Den svarande skickar antingen ett svar där erbjudandet accepteras eller ett svar med olika alternativ.

    Meddelanden under den här fasen återupprepas automatiskt fem gånger. Om ett svar erhålls innan dessa återupprepningar är slut, börjar de vanliga SA-förhandlingarna. Om det är tillåtet enligt gällande IPSec-principer kommer en oskyddad kommunikation att börja efter en kort stund. Detta kallas för att återgå till klartextskommunikation. Även om detta händer kommer förhandlingar om en säker kommunikation att upprepas med femminutersintervaller.

    Det finns inga begränsningar för hur många gånger utbyten kan ske. Antalet SA-etableringar begränsas endast av systemresurserna.

Säkerhetsassociation för snabbläge

Under den här fasen förhandlas säkerhetsassociationerna i stället för IPSec-drivrutinen.

Följande steg beskriver en snabblägesförhandling.

  1. Principförhandling inträffar. Datorer med IPSec har följande krav för att skydda dataöverföringen:

    • IPSec-protokoll (AH eller ESP)

    • Hash-algoritm för integritet och autentisering (MD5 eller SHA1)

    • Algoritm för kryptering, om det efterfrågas (DES eller 3DES)

    Ett gemensamt avtal nås och två SA:er har etablerats. En SA gäller för inkommande kommunikation och den andra för utgående.

  2. Material för sessionsnycklar uppdateras eller byts ut. IKE uppdaterar nyckelmaterialet och nya delade nycklar skapas för paketintegritet, autentisering och kryptering (efter eventuell förhandling). Om en omgenerering av nycklar krävs, kommer antingen ett andra DH-utbyte (så som det beskrevs i huvudlägesförhandling) att äga rum eller också används en uppdatering av den ursprungliga DH-nyckeln.

  3. SA:erna och nycklarna, tillsammans med säkerhetsparameterindexet, kommer att skickas till IPSec-drivrutinen. Snabblägesförhandlingen om säkerhetsinställningar och nyckelmaterial (i syfte att skydda information) skyddas via säkerhetsassociationen för huvudläge. Den första fasen ger identitetsskydd och den andra, snabblägesfasen ger skydd genom att nyckelmaterialet uppdateras innan data skickas iväg. IKE kan innehålla en nyttolast för nyckelutbyten för ytterligare ett DH-utbyte om omgenerering av nycklar skulle krävas, dvs att huvudnyckeln för PFS (Perfect Forward Secrecy) aktiveras. I annat fall kommer IKE att uppdatera nyckelmaterialet från det DH-utbyte som gjordes i huvudläget.

    Snabbläget resulterar i två säkerhetsassociationer med varsin SPI och nyckel. Ett SA används för inkommande kommunikation och den andra för utgående.

    Återupprepningsalgoritmen för ett meddelande påminner om den process som beskrevs i huvudlägesförhandlingen. Om emellertid tiden av någon anledning inte räcker till för den här processen under den andra eller senare förhandlingen av samma SA för huvudläge, görs ett försök till en omförhandling. Om ett meddelande i den här fasen tas emot utan att det finns en etablerat SA för huvudläge, kommer meddelandet att avslås.

    Om du använder en SA för huvudläge för flera SA-förhandlingar för snabbläge ökas bearbetningshastigheten. Så länge SA för huvudläge inte upphör, är det inte nödvändigt med nya förhandlingar eller autentiseringar. Antalet förhandlingar om SA för snabbläge som kan utföras bestäms av inställningarna i IPSec-principer.

    OBS

    Ett stort antal omskrivningar från samma SA för huvudläge gör den delade, hemliga nyckeln sårbar för en välkänd klartextsattack. Attacken är en avlyssningsattack där man försöker få fram krypteringsnyckeln ur krypterad data baserad på känd klartext.

SA-livstid

En SA för huvudläge cachelagras för att göra det möjligt att upprätta flera SA för snabbläge (gäller bara om huvudnyckeln för PFS är aktiverad). När en nyckels livstid är uppnådd för huvud- eller sessionsnyckeln, omförhandlas SA. Dessutom uppdateras eller återskapas nyckeln.

När den inställda standardtiden är slut för SA för huvudläge, eller livstiden för huvud- eller sessionsnyckeln är uppnådd, skickas ett raderingsmeddelande till den svarande. IKE:s raderingsmeddelande anger att den svarande ska orsaka att SA för huvudläge upphör. Detta förhindrar att nya SA för snabbläge skapas från den utgångna SA för huvudläge. IKE orsakar inte att SA för snabbläge upphör, eftersom endast IPSec-drivrutinen innehåller antalet sekunder eller byte som har förbrukats av nyckelns livstid.

Var noggrann när du ställer in mycket olika livstider för huvud- eller sessionsnycklar. Om du t ex ställer in en livstid på åtta timmar för en huvudnyckel i huvudläge och två timmar för en sessionsnyckel i snabbläge, kan detta medföra att en SA för snabbläge kommer att vara giltig i nästan två timmar efter det att tiden för SA för huvudläge har utgått. Detta inträffar när SA för snabbläge skapas strax innan tiden för SA för huvudläge har gått ut.