Inden to computere kan udveksle sikre data, skal der indgås en aftale mellem de to computere. I denne aftale, der kaldes en sikkerhedstilknytning, bliver de to computere enige om, hvordan de skal udveksle og beskytte data.

En nøgle er en hemmelig kode eller et hemmeligt tal, der kræves for at læse, ændre eller verificere sikre data. Nøgler bruges sammen med algoritmer (en matematisk proces) til at sikre data. I IPsec er der to faser eller tilstande, der bruger nøgler. Hovedtilstanden forekommer først og opretter en delt hovednøgle, som de to parter kan bruge til at udveksle nøgleoplysninger på en sikker måde. Hurtigtilstanden bruger hovednøglen til at sikre oprettelsen af en eller flere sessionsnøgler, der bruges til dataintegritet eller -kryptering.

I Windows håndteres oprettelse af nøgler automatisk, og følgende nøgleegenskaber, der sikrer maksimal beskyttelse, implementeres:

Vigtigt!

Snap-in'en IP-sikkerhedspolitik kan bruges til at oprette IPsec-politikker, der kan anvendes på computere, som kører Windows Vista eller en nyere version af Windows, men denne snap-in bruger ikke de nye sikkerhedsalgoritmer og de andre nye funktioner, der findes i computere, der kører disse nyere versioner af Windows. Hvis du vil oprette IPsec-politikker til disse computere, skal du bruge snap-in'en Windows Firewall med avanceret sikkerhed. I snap-in'en Windows Firewall med avanceret sikkerhed oprettes der ikke politikker, som kan anvendes på tidligere versioner af Windows.

Oprette nye nøgler dynamisk

IPsec bruger en metode, der kaldes dynamisk oprettelse af nye nøgler, til at styre, hvor ofte der oprettes en ny nøgle under kommunikationen. Dataoverførslen sendes i blokke, og hver datablok sikres med en ny nøgle. Dette forhindrer en hacker, der måtte være kommet i besiddelse af en del af kommunikationen og de tilsvarende sessionsnøgler, i at få fat i resten af overførslen. Dynamisk sikkerhedsforhandling og automatisk nøgleadministration opnås ved at benytte IKE (Internet Key Exchange), som fastlagt i RFC 2409.

Med IPSec kan du styre, hvor ofte der oprettes en ny nøgle. Hvis der ikke angives nogen værdi for, hvor ofte der skal oprettes en ny nøgle, oprettes der automatisk nye nøgler med standardintervaller.

Nøglelængder

Hver gang længden af en nøgle forøges med én bit, fordobles antallet af mulige nøgler, hvilket øger arbejdet med at prøve at fastslå nøglen eksponentielt. IPsec kan benytte forskellige algoritmer til korte eller lange nøgler.

Oprette nøglemateriale: Diffie-Hellman-algoritme

Hvis du vil aktivere sikker kommunikation, skal to computere være i stand til at få den samme delte nøgle (i hurtigtilstand eller sessionsnøglen) uden at sende den via et netværk og risikere at afsløre hemmeligheden.

Diffie-Hellmann-algoritmen (DH) er en af de ældste og mest sikre algoritmer til nøgleudveksling. De to parter udveksler offentligt nøgleoplysninger, som yderligere beskytter med en signatur baseret på en hash-værdi. Ingen af parterne udveksler på noget tidspunkt selve nøglen, men når de er færdige med at udveksle nøglemateriale, kan begge parter danne identiske kopier af den delte nøgle.

Det DH-nøglemateriale, der udveksles af de to parter, kan baseres på et nøglemateriale på 768, 1024 eller 2048 bit, også kendt som DH-grupper. DH-gruppens styrke er proportional med styrken af den nøgle, der beregnes på grundlag af DH-udvekslingen. Stærke DH-grupper kombineret med længere nøgler gør det endnu sværere at bestemme nøglen ved at regne sig frem til den.

Bemærk!

I dialogboksen IKE-sikkerhedsalgoritme svarer 768 bit til indstillingen Lav (1), og 1024 bit svarer til indstillingen Mellem (2).

IPsec benytter DH-algoritmen til at oprette nøglemateriale til alle andre krypteringsnøgler. DH sikrer ikke godkendelse. Microsoft Windows-implementeringen af IPsec godkender identiteter, når DH-udvekslingen har fundet sted for at beskytte mod mellemmandsangreb.

Beskytte nøgler

Følgende funktioner forbedrer de grundlæggende primtal (nøglematerialet) og styrken i nøglerne for hoved- og sessionsnøglerne.

Levetid for nøgler

Levetid for nøgler fastslår, hvornår, ikke hvordan, der oprettes en ny nøgle. Levetiden for en nøgle kaldes også dynamisk oprettelse af nye nøgler og giver dig mulighed for at gennemtvinge oprettelse af nye nøgler efter et bestemt tidsinterval. Hvis en kommunikation f.eks. tager 10.000 sekunder, og du angiver nøglens levetid til 1.000 sekunder, oprettes der 10 nøgler under kommunikationen. Dette sikrer, at selvom en hacker skulle være i stand til at tyde en del af kommunikationen, er resten stadig beskyttet. Der kan angives levetider for både hoved- og sessionsnøgler. Når levetiden for en nøgle udløber, aftales sikkerhedstilknytningen også på ny. Desuden opdateres eller genoprettes nøglen. Den mængde data, der behandles af en enkelt nøgle, bør ikke overstige 100 MB.

Grænser for opdatering af sessionsnøgler

Der benyttes en grænse for opdatering af sessionsnøgler i hurtigtilstand, fordi den gentagne oprettelse af en sessionsnøgle i hurtigtilstand kan kompromittere den delte Diffie-Hellman-hemmelighed.

Alice på computer A sender f.eks. en meddelelse til Bent på computer B og derefter endnu en meddelelse til Bent nogle få minutter senere. Det samme sessionsnøglemateriale kan genbruges, da der for nylig er blevet oprettet en sikkerhedstilknytning. Hvis du vil begrænse det antal gange, materialet kan genbruges, skal du angive en lav grænse for opdatering af sessionsnøglen.

Hvis du har aktiveret PFS (Perfect Forward Secrecy) for hovednøglen, bruges grænsen for opdatering af sessionsnøglen i hurtigtilstand ikke. Hvis du sætter grænsen for opdatering af sessionsnøglen til 1, svarer det til at aktivere PFS for hovednøglen. Hvis der både er angivet en levetid for hovednøglen i hovedtilstand og en grænse for opdatering af sessionsnøglen i hurtigtilstand, er det den grænse, der først nås, som udløser en oprettelse af en ny nøgle. Som standard angiver IPsec-politik ikke en grænse for opdatering af sessionsnøglen.

Diffie-Hellman-grupper

Diffie-Hellman-grupper (DH) bruges til at fastslå længden af de grundlæggende primtal (nøglematerialet), som bruges til DH-udvekslingen. Styrken af en nøgle, der kommer fra en DH-udveksling, afhænger delvis af styrken af den Diffie-Hellman-gruppe, som primtallene er baseret på.

Hver DH-gruppe definerer længden af det nøglemateriale, der skal bruges. Gruppe 1 beskytter 768 bit nøglemateriale, Gruppe 2 beskytter 1024 bit, og gruppe 3 beskytter 2048 bit. Når der benyttes en større gruppe, er den nøgle, der kommer fra en DH-udveksling, større og sværere at fastslå for en hacker.

IKE forhandler, hvilken gruppe der skal benyttes på baggrund af indstillinger, du konfigurerer i dialogboksen IKE-sikkerhedsalgoritme, og sikrer, at der ikke forekommer nogen forhandlingsfejl som resultat af uoverensstemmelser om DH-grupper mellem de to peers.

Hvis du har aktiveret PFS (Perfect Forward Secrecy) for sessionsnøglen, aftales der en ny DH-nøgle i den første forhandling om sikkerhedstilknytning i hurtigtilstand. Den nye DH-nøgle fjerner sessionsnøglens afhængighed af den DH-udveksling, der udføres for hovednøglen.

Hvis afsenderen bruger PFS for sessionsnøglen, kræves det ikke, at modtageren også bruger PFS for sessionsnøglen, men hvis afsenderen ikke bruger PFS for sessionsnøglen, og modtageren bruger PFS for sessionsnøglen, mislykkes forhandlingen.

DH-gruppen er den samme for forhandlingerne om sikkerhedstilknytninger i både hovedtilstand og hurtigtilstand. Når PFS for sessionsnøglen er aktiveret, påvirker det eventuel oprettelse af nye sessionsnøgler i hurtigtilstand, selvom DH-gruppen er angivet som en del af forhandlingen om sikkerhedstilknytning i hovedtilstand.

PFS (Perfect Forward Secrecy)

I modsætning til levetid for nøgler fastslår PFS, hvornår, og ikke hvordan, der oprettes en ny nøgle. PFS sikrer, at en enkelt nøgle kun giver adgang til data, der er beskyttet af den pågældende nøgle, og ikke nødvendigvis til hele kommunikationen. For at opnå dette sikrer PFS, at en nøgle, der bruges til at beskytte en overførsel, ikke kan bruges til at oprette nye nøgler, uanset hvilken tilstand den foregår i. Dertil kommer, at hvis den brugte nøgle er baseret på et bestemt nøglemateriale, kan det pågældende nøglemateriale ikke bruges til at oprette nye nøgler.

PFS for hovednøgler i hovedtilstand kræver en ny godkendelse og bruger mange ressourcer. Når PFS er aktiveret, skal IKE godkende identiteter igen, hvilket øger ressourceforbruget på domænecontrollere, når godkendelsesprotokollen Kerberos version 5 bruges til godkendelse. Der kræves en ny forhandling i hovedtilstand for hver forhandling i hurtigtilstand.

PFS for sessionsnøgler i hurtigtilstand kan bruges uden en ny godkendelse og kræver færre ressourcer. PFS for sessionsnøgler får en DH-udveksling til at oprette nyt nøglemateriale. Det kræver kun fire meddelelser og ingen godkendelse.

PFS behøver ikke være aktiveret på begge peers, da det ikke er en del af forhandlingen om sikkerhedstilknytning. Hvis modtageren kræver PFS, og afsenderens sikkerhedstilknytning i hurtigtilstand udløber, afviser modtageren blot afsenderens meddelelse og kræver ny forhandling. Afsenderen får sikkerhedstilknytningen i hovedtilstand til at udløbe og genforhandler. PFS kan indstilles for både hovednøgler (i hovedtilstand) og sessionsnøgler (i hurtigtilstand) enkeltvis og uafhængigt af hinanden.

Udveksle nøgler

Inden to computere kan udveksle sikre data, skal der indgås en aftale mellem de to computere. I denne aftale (sikkerhedstilknytning) bliver de to computere enige om, hvordan de skal udveksle og beskytte data.

For at oprette en aftale mellem de to computere har IETF (Internet Engineering task Force) defineret IKE, som er en metode til oprettelse af sikkerhedstilknytninger og nøgleudveksling, som gør følgende:

  • Centraliserer administrationen i forbindelse med sikkerhedstilknytninger og reducerer derved opkaldsvarigheden.

  • Opretter og administrerer de delte, hemmelige nøgler, der bruges til at sikre dataene.

Denne proces beskytter ikke blot kommunikation mellem computere, den beskytter også fjerncomputere, der kræver sikker adgang til et firmanetværk. Desuden fungerer denne proces, når forhandlingen for den endelige destinationscomputer udføres af en sikkerhedsgateway.

Definere sikkerhedstilknytninger

En sikkerhedstilknytning er en kombination af en forhandlet nøgle, en sikkerhedsprotokol og SPI (Security Parameters Index), som tilsammen definerer den sikkerhed, der bruges til at beskytte kommunikationen fra afsender til modtager. SPI er en entydig identifikationsværdi i sikkerhedstilknytningen, som bruges til at skelne mellem flere forskellige sikkerhedstilknytninger på modtagercomputeren. Der kan f.eks. være flere tilknytninger, hvis en computer kommunikerer sikkert med flere computere på samme tid. Det er en almindelig situation, når computeren er en filserver eller en fjernadgangsserver, der bruges af flere klienter. I sådanne situationer bruger modtagercomputeren SPI til at fastslå, hvilken sikkerhedstilknytning der skal bruges til at behandle de indgående pakker.

Sikkerhedstilknytning i hovedtilstand

For at sikre en vellykket og sikker kommunikation udfører IKE en handling bestående af to faser. Der sikres fortrolighed og godkendelse i begge faser ved at bruge de krypterings- og godkendelsesalgoritmer, som de to computere er blevet enige om under sikkerhedsforhandlingerne. Ved at fordele de forskellige opgaver mellem to faser kan nøgleoprettelsen gennemføres meget hurtigt.

I den første fase opretter de to computere en sikker, godkendt kanal. Dette kaldes sikkerhedstilknytningen i hovedtilstand. IKE sørger automatisk for den nødvendige identitetsbeskyttelse under denne udveksling.

I nedenstående trin beskrives en forhandling i hovedtilstand.

  1. Forhandling om politik. Følgende fire obligatoriske parametre forhandles som led i sikkerhedstilknytningen i hovedtilstand:

    • Krypteringsalgoritmen (DES eller 3DES).

    • Hashalgoritmen (MD5 eller SHA1).

    • Godkendelsesmetoden (Kerberos V5-godkendelsesprotokollen, certifikat eller godkendelse af forhåndsdelt nøgle)

    • Den DH-gruppe (Diffie-Hellman), der skal bruges til det grundlæggende nøglemateriale (768 bit Lav (Gruppe 1), 1024 bit Mellem (Gruppe 2) eller 2048 bit Høj (Gruppe 3)).

    • Hvis der anvendes certifikater eller forhåndsdelte nøgler til godkendelsen, er computernes identitet beskyttet. Hvis Kerberos V5-godkendelsesprotokollen anvendes, er computernes identitet ukrypteret, indtil krypteringen af den samlede identitetsoverførsel foretages under godkendelsen.

  2. DH-udveksling (af offentlige værdier). Selve nøglerne udveksles aldrig. Det er kun de oplysninger, der kræves af DH-nøglebestemmelsesalgoritmen for at oprette den delte, hemmelige nøgle, der udveksles. IKE-tjenesten på hver af de to computere opretter hovednøglen, som bruges til at beskytte godkendelsen, efter denne udveksling.

  3. Godkendelse. Computerne forsøger at godkende DH-nøgleudvekslingen. Uden godkendelse af DH-nøgleudvekslingen er kommunikationen sårbar over for et mellemmandsangreb. Hvis godkendelsen ikke kan gennemføres, kan kommunikationen ikke fortsætte. Hovednøglen bruges sammen med forhandlingsalgoritmerne og forhandlingsmetoderne til at godkende identiteter. Hele identitetsoverførslen (inkl. identitetstype, port og protokol) udsættes for en hash-algoritme og kryptering med de nøgler, der er oprettet fra DH-udvekslingen i det andet trin. Identitetsoverførslen er beskyttet mod både ændring og læsning uanset godkendelsesmetode.

    Afsenderen giver modtageren et tilbud på en sikkerhedstilknytning. Modtageren kan ikke ændre tilbuddet. Hvis tilbuddet ændres, afviser afsenderen meddelelsen fra modtageren. Modtageren sender enten et svar med en accept af tilbuddet eller et svar med forskellige alternativer.

    Meddelelser, der sendes i denne fase, sendes automatisk igen fem gange, hvis det ikke lykkes første gang. Hvis der modtages et svar, før disse fem forsøg er slut, starter normale forhandlinger om sikkerhedstilknytninger. Hvis IPsec-politikken tillader det, begynder usikker kommunikation efter et kort interval. Dette kaldes at gå tilbage til klartekst. Selvom kommunikationen går tilbage til klartekst, forsøges det at starte sikker kommunikation med fem minutters intervaller.

    Der findes ingen grænse for, hvor mange udvekslinger der kan foretages. Det antal sikkerhedstilknytninger, der oprettes, begrænses udelukkende af systemressourcerne.

Sikkerhedstilknytning i hurtigtilstand

I denne fase forhandles sikkerhedstilknytninger på vegne af IP-sikkerhedsdriveren.

I nedenstående trin beskrives en forhandling i hurtigtilstand.

  1. Politikken forhandles. IPsec-computerne udveksler følgende krav til sikring af dataoverførslen:

    • IPsec-protokollen (AH eller ESP)

    • Hashalgoritmen til integritet og godkendelse (MD5 eller SHA1)

    • Krypteringsalgoritmen, hvis det ønskes (DES eller 3DES)

    Der indgås en fælles aftale, og to sikkerhedstilknytninger oprettes. Den ene sikkerhedstilknytning er til indgående kommunikation, og den anden er til udgående kommunikation.

  2. Sessionsnøglematerialet opdateres eller udveksles. IKE opdaterer nøglematerialet, og nye delte nøgler oprettes til integritet, godkendelse og evt. kryptering af pakkerne. Hvis der kræves oprettelse af nye nøgler, foretages enten en ny DH-udveksling (som beskrevet under forhandling i hovedtilstand), eller der bruges en opdatering af den oprindelige DH-nøgle.

  3. Sikkerhedstilknytningerne og nøglerne sendes til IP-sikkerhedsdriveren sammen med den pågældende SPI. Forhandling i hurtigtilstand af sikkerhedsindstillinger og nøglemateriale (med det formål at sikre data) beskyttes af sikkerhedstilknytningen i hovedtilstand. Da den første fase gav identitetsbeskyttelse, giver den anden fase i hurtigtilstand beskyttelse ved at opdatere nøglematerialet, før data sendes. IKE kan håndtere nøgleudveksling for en yderligere DH-udveksling, hvis en ny nøgleoprettelse er nødvendig, dvs. hvis PFS er aktiveret for hovednøglen. Ellers opdaterer IKE nøglematerialet fra DH-udvekslingen, der er gennemført i hovedtilstand.

    Hurtigtilstand resulterer i et par sikkerhedstilknytninger, som hver har sin egen SPI og nøgle. Den ene sikkerhedstilknytning er til indgående kommunikation, og den anden er til udgående kommunikation.

    Proceduren for at prøve igen svarer til den proces, der er beskrevet under forhandling i hovedtilstand. Hvis denne proces ikke lykkes inden for den fastlagte tid af en eller anden grund under den anden eller en senere forhandling for samme hovedtilstandssikkerhedstilknytning, forsøges en genforhandling af hovedtilstandssikkerhedstilknytningen. Hvis der modtages en meddelelse for denne fase, uden at der er blevet oprettet en hovedtilstandssikkerhedstilknytning, afvises den.

    Anvendelse af en enkelt hovedtilstandssikkerhedstilknytning til flere forhandlinger om sikkerhedstilknytninger i hurtigtilstand øger hastigheden for processen. Så længe sikkerhedstilknytningen i hovedtilstand ikke udløber, er det ikke nødvendigt at indgå en ny aftale eller gennemføre en ny godkendelse. Antallet af forhandlinger om sikkerhedstilknytninger i hurtigtilstand, der kan udføres, bestemmes af indstillingerne for IPsec-politik.

    Bemærk!

    Overdreven oprettelse af nye nøgler fra samme sikkerhedstilknytning i hovedtilstand kan gøre den delte hemmelige nøgle sårbar over for et kendt angreb på almindelig tekst. Et kendt angreb på almindelig tekst er et spionangreb, hvor hackeren forsøger at fastslå krypteringsnøglen ud fra krypterede data baseret på en kendt almindelig tekst.

Levetid for sikkerhedstilknytninger

Hovedtilstandssikkerhedstilknytningen gemmes i cachelageret for at give mulighed for flere forhandlinger om sikkerhedstilknytninger i hurtigtilstand (medmindre PFS for hovednøgler er aktiveret). Når levetiden for hoved- eller sessionsnøglen udløber, genforhandles sikkerhedstilknytningen. Desuden opdateres eller genoprettes nøglen.

Når standardtimeouttiden er udløbet for sikkerhedstilknytningen i hovedtilstand, eller når hoved- eller sessionsnøglens levetid er udløbet, sendes en meddelelse om sletning til modtageren. IKE-meddelelsen om sletning fortæller modtageren, at sikkerhedstilknytningen i hovedtilstand skal gøres ugyldig. Dette forhindrer, at der oprettes yderligere nye hurtigtilstandssikkerhedstilknytninger fra den udløbne hovedtilstandssikkerhedstilknytning. IKE ugyldiggør ikke selv sikkerhedstilknytningen i hurtigtilstand, da kun IPsec-driveren indeholder oplysninger om det antal sekunder eller byte, der er forbrugt på vej mod at nå nøglens levetid.

Vær forsigtig med at angive meget forskellige værdier for levetiden for hovednøgler og sessionsnøgler. Hvis du f.eks. sætter levetiden for hovednøglen i hovedtilstand til otte timer og levetiden for en sessionsnøgle i hurtigtilstand til to timer, kan der være en gyldig sikkerhedstilknytning i hurtigtilstand næsten to timer, efter at sikkerhedstilknytningen i hovedtilstand er udløbet. Dette sker, hvis hurtigtilstandssikkerhedstilknytningen oprettes kort før udløbet af hovedtilstandssikkerhedstilknytningen.