Voordat beveiligde gegevens kunnen worden uitgewisseld, moet een overeenkomst tussen de twee computers tot stand worden gebracht. Een dergelijke overeenkomst wordt een beveiligingskoppeling of SA (Security Association) genoemd. De computers bereiken overeenstemming over hoe gegevens worden uitgewisseld en beveiligd.

Een sleutel is een geheime code die vereist is om beveiligde gegevens te lezen, wijzigen of verifiëren. Sleutels worden in combinatie met algoritmen (een wiskundig proces) gebruikt om gegevens te beveiligen. In IPSec zijn twee fasen of modi waarin sleutels worden gebruikt. De eerste fase is de hoofdmodus. In de hoofdmodus wordt een gedeelde hoofdsleutel gegenereerd, waarmee de twee partijen op een veilige manier sleutelgegevens kunnen uitwisselen. In de snelle modus wordt de hoofdsleutel gebruikt om het vaststellen van een of meer sessiesleutels te beveiligen. Deze sessiesleutels worden gebruikt voor gegevensintegriteit of -versleuteling.

In Windows worden sleutels automatisch gegenereerd en worden de volgende sleuteleigenschappen geïmplementeerd voor een optimale bescherming:

Belangrijk

Met de module IP-beveiligingsbeleid kunt u IPSec-beleid maken dat kan worden toegepast op computers waarop Windows Vista of een hogere versie van Windows wordt uitgevoerd. Deze module maakt echter geen gebruik van nieuwe beveiligingsalgoritmen en andere nieuwe functies die beschikbaar zijn op computers met een hogere versie van Windows. Als u IPSec-beleid wilt maken met deze computers, gebruikt u de module Windows-firewall met een geavanceerde beveiliging. Met de module Windows-firewall met een geavanceerde beveiliging kunt u geen beleid maken dat geschikt is voor eerdere versies van Windows.

Automatisch genereren van nieuwe sleutels

IPSec bepaalt hoe vaak tijdens de communicatie een nieuwe sleutel wordt gegenereerd. Dit gebeurt met een methode die wordt aangeduid als 'dynamic rekeying' (het dynamisch opnieuw genereren van sleutels). De communicatie wordt verzonden in blokken, waarbij elk blok met een andere sleutel is beveiligd. Hierdoor wordt voorkomen dat een onbevoegde die een deel van een communicatie, met de bijbehorende sessiesleutels, in handen heeft gekregen, de rest van de communicatie in handen krijgt. Deze beveiligingsonderhandeling en service voor automatisch sleutelbeheer wordt verschaft met IKE (Internet Key Exchange), zoals gedefinieerd in RFC 2409.

Met IPSec kunt u bepalen hoe vaak een nieuwe sleutel wordt gegenereerd. Als er geen waarden zijn geconfigureerd, worden sleutels automatisch gegenereerd na een standaardinterval.

Sleutellengten

Met elke bit die aan een sleutel wordt toegevoegd, wordt het aantal mogelijke sleutels verdubbeld en de moeilijkheidsgraad voor het bepalen van de sleutel exponentieel verhoogd. IPSec biedt meerdere algoritmen, waardoor grotere of kleinere sleutellengten mogelijk worden.

Genereren van sleutelmateriaal: Diffie-Hellman-algoritme

Voor een veilige onderlinge communicatie moeten twee computers dezelfde gedeelde sleutel (snelle modus of sessiesleutel) kunnen gebruiken zonder dat de sleutel via een netwerk wordt verzonden, met alle risico's van dien voor de geheimhouding.

De Diffie-Hellman-algoritme (DH) is een van de oudste en veiligste algoritmen voor sleuteluitwisseling. De twee betrokken partijen wisselen in het openbaar sleutelgegevens uit, die daarnaast door Windows worden beveiligd met een handtekening op basis van een hash-functie. Geen van de partijen wisselt de feitelijke sleutel uit. Toch zijn beide partijen na de uitwisseling van sleutelmateriaal in staat om de identieke gedeelde sleutel te genereren.

Door de twee partijen uitgewisseld DH-sleutelmateriaal kan zijn gebaseerd op 768, 1024 of 2048 bits aan sleutelmateriaal, de zogeheten DH-groepen. De sterkte van de DH-groep is evenredig aan de sterkte van de sleutel die is berekend uit de DH-uitwisseling. Hoe groter de met een sterke DH-groep gecombineerde sleutellengte, hoe moeilijker het wordt om de sleutel uit te rekenen.

Opmerking

In het dialoogvenster IKE-beveiligingsalgoritmen komt 768 bits overeen met de instelling Laag (1) en 1024 bits met de instelling Normaal (2).

Bij IPSec wordt de DH-algoritme gebruikt om het sleutelmateriaal te verschaffen voor alle overige sleutels. DH biedt geen verificatie. Bij de Microsoft Windows-distributie van IPSec worden identiteiten geverifieerd nadat de DH-uitwisseling heeft plaatsgevonden. Dit biedt bescherming tegen tussenpersoonaanvallen (man-in-the-middle attacks).

Sleutelbeveiliging

De volgende functies bieden een uitbreiding van de basispriemgetallen (sleutelmateriaal) en de sterkte van sleutels voor de hoofd- en sessiesleutels.

Sleutellevensduur

De sleutellevensduur bepaalt wanneer een nieuwe sleutel moet worden gegenereerd, maar niet hoe deze sleutel wordt gegenereerd. Met een sleutellevensduur (het automatisch genereren van nieuwe sleutels) kunt u afdwingen dat een sleutel na een opgegeven interval opnieuw wordt gegenereerd. Als een communicatie bijvoorbeeld 10.000 seconden duurt terwijl u een sleutellevensduur van 1.000 seconden hebt opgegeven, worden er 10 sleutels gegenereerd om de communicatie te voltooien. Hierdoor blijft, zelfs als een inbreker een deel van een communicatie kan ontcijferen, de rest van de communicatie beschermd. Een sleutellevensduur kan worden opgegeven voor zowel de hoofd- als de sessiesleutels. Telkens wanneer de ingestelde levensduur van een sleutel wordt bereikt, wordt tevens opnieuw over de SA onderhandeld. Daarbij wordt de sleutel vernieuwd of opnieuw gegenereerd. De hoeveelheid door een enkele sleutel bewerkte gegevens mag niet groter zijn dan 100 MB.

Vernieuwingslimiet van sessiesleutels

Een vernieuwingslimiet voor de sessiesleutel in de snelle modus is nodig omdat het gedeelde geheim van de Diffie-Hellman-algoritme in gevaar kan komen als steeds nieuwe sleutels worden gegenereerd op basis van een sessiesleutel in de snelle modus.

Lisa op computer A stuurt bijvoorbeeld een bericht naar Robert op computer B, en stuurt vervolgens enkele minuten later opnieuw een bericht naar Robert. Er kan opnieuw gebruik worden gemaakt van hetzelfde sessiesleutelmateriaal omdat kort geleden een SA tot stand is gebracht. Als u het aantal keren dat dit gebeurt wilt beperken, moet u de vernieuwingslimiet voor de sessiesleutel instellen op een laag getal.

Als u Hoofdsleutel Perfect Forward Secrecy (PFS) hebt ingeschakeld, wordt de vernieuwingslimiet van de sessiesleutel in de snelle modus niet gebruikt. Het instellen van een vernieuwingslimiet van de sessiesleutel op 1 staat gelijk aan het inschakelen van Hoofdsleutel PFS. Als er een waarde is opgegeven voor zowel de levensduur van de hoofdsleutel in de hoofdmodus als de vernieuwingslimiet van de sessiesleutel in de snelle modus, wordt het tijdstip waarop een nieuwe sleutel wordt gegenereerd, bepaald door de limiet die als eerste wordt bereikt. Standaard wordt in het IPSec-beleid geen vernieuwingslimiet voor de sessiesleutel opgegeven.

Diffie-Hellman-groepen

Diffie-Hellman-groepen worden gebruikt om de lengte van de basispriemgetallen (sleutelmateriaal) voor de DH-uitwisseling te bepalen. De sterkte van een uit een DH-uitwisseling afgeleide gegenereerde sleutel is deels afhankelijk van de sterkte van de DH-groep waarop de priemgetallen zijn gebaseerd.

Elke DH-groep bepaalt de lengte van het te gebruiken sleutelmateriaal. Groep 1 beschermt 768 bits aan sleutelmateriaal, Groep 2 beschermt 1024 bits en Groep 3 beschermt 2048 bits. Bij gebruik van een grotere groep is de resulterende sleutel die wordt bepaald op grond van een DH-uitwisseling, groter en moeilijker vast te stellen door een inbreker.

Bij IKE wordt, op basis van de instellingen die u opgeeft in het dialoogvenster IKE-beveiligingsalgoritmen, onderhandeld over welke groep moet worden gebruikt, waarbij ervoor wordt gezorgd dat onderhandelingen niet mislukken als gevolg van niet-overeenkomende DH-groepen tussen de twee peers.

Als sessiesleutel PFS is ingeschakeld, wordt een nieuwe DH-sleutel overeengekomen in de eerste SA-onderhandeling in de snelle modus. Door deze nieuwe DH-sleutel is de sessiesleutel niet meer afhankelijk van de DH-uitwisseling die wordt uitgevoerd voor de hoofdsleutel.

Als de initiërende computer gebruikmaakt van sessiesleutel PFS, is de antwoordende computer niet verplicht om ook hiervan gebruik te maken. Als de initiërende computer echter niet gebruikmaakt van sessiesleutel PFS en de antwoordende computer wel, mislukt de onderhandeling.

De DH-groep is hetzelfde voor de SA-onderhandelingen in de hoofdmodus en de snelle modus. Als sessiesleutel voor PFS is ingeschakeld, heeft dit gevolgen voor het opnieuw genereren van sleutels tijdens het vaststellen van sessiesleutels in de snelle modus, ook al is de DH-groep ingesteld als deel van de SA-onderhandeling in de hoofdmodus.

Perfect Forward Secrecy

In tegenstelling tot de sleutellevensduur bepaalt PFS hoe een nieuwe sleutel moet worden gegenereerd, maar niet wanneer deze wordt gegenereerd. PFS zorgt er met name voor dat met één ontcijferde sleutel alleen toegang mogelijk is tot gegevens die door deze sleutel worden beveiligd, en niet noodzakelijkerwijs tot de gehele communicatie. Dit wordt bereikt door ervoor te zorgen dat een sleutel die al is gebruikt om een verzending te beveiligen, ongeacht in welke modus, niet meer kan worden gebruikt om volgende sleutels te genereren. Bovendien kan dit materiaal niet worden gebruikt om andere sleutels te genereren als de gebruikte sleutel is afgeleid van specifiek sleutelmateriaal.

Voor hoofdsleutel voor PFS in de hoofdmodus is vernieuwde verificatie vereist. Dit vergt veel bronnen. Wanneer IKE is ingeschakeld, moeten identiteiten opnieuw worden geverifieerd. Dit betekent een grotere belasting voor domeincontrollers wanneer het protocol Kerberos V5 wordt gebruikt voor verificatie. Bij elke onderhandeling in de snelle modus moet een nieuwe onderhandeling in de hoofdmodus plaatsvinden.

Sessiesleutel voor PFS in de snelle modus kan worden gebruikt zonder hernieuwde verificatie. Dit vergt minder bronnen. Sessiesleutel PFS resulteert in een DH-uitwisseling om nieuw sleutelmateriaal te genereren. Dit vereist slechts vier berichten en geen verificatie.

PFS hoeft niet op beide peers te worden ingeschakeld, omdat het geen deel uitmaakt van de SA-onderhandeling. Als de ontvangende computer PFS vereist en de SA in de snelle modus van de verzendende computer verloopt, wordt het bericht van de verzendende computer simpelweg afgewezen en moet er een nieuwe onderhandeling plaatsvinden. De verzendende computer laat de SA in de hoofdmodus vervallen en start vervolgens een nieuwe onderhandeling. PFS kan afzonderlijk worden ingesteld voor de hoofd- (hoofdmodus ) en de sessiesleutel (sessiemodus).

Sleuteluitwisseling

Voordat beveiligde gegevens kunnen worden uitgewisseld, moet een overeenkomst tussen de twee computers tot stand worden gebracht. In deze overeenkomst (SA) spreken beide computers af hoe gegevens worden uitgewisseld en beveiligd.

Om deze overeenkomst tussen de twee computers mogelijk te maken, heeft IETF (Internet Engineering Task Force) de IKE-methode ingesteld voor beveiligingskoppelingen en de omzetting van sleuteluitwisseling. Deze methode doet het volgende:

  • Het centraliseren van het beheer van de beveiligingskoppelingen, waardoor de verbindingstijd wordt verkort.

  • Het genereren en beheren van gedeelde, geheime sleutels waarmee de gegevens worden beveiligd.

Dit proces beschermt niet alleen communicatie tussen computers, maar ook externe computers die beveiligde toegang aanvragen tot een bedrijfsnetwerk. Bovendien werkt dit proces telkens wanneer de onderhandeling voor de uiteindelijke doelcomputer wordt uitgevoerd door een beveiligingsgateway.

Beveiligingskoppeling (SA, Security Association) - definitie

Een SA is de combinatie van een onderhandelde sleutel, beveiligingsprotocol en beveiligingsparameterindex (SPI, Security Parameters Index). Samen bepalen deze de beveiliging waarmee de communicatie tussen verzender en ontvanger wordt beschermd. De SPI is een unieke identificatiewaarde in de SA die wordt gebruikt om de verschillende beveiligingskoppelingen te onderscheiden die op de ontvangende computer aanwezig zijn. Er kunnen bijvoorbeeld meerdere koppelingen zijn als een computer op een beveiligde manier communiceert met meerdere computers tegelijk. Dit is vaak het geval wanneer de computer een bestandsserver of een RAS-server is die meerdere clients bedient. In dit geval gebruikt de ontvangende computer de SPI om te bepalen welke SA wordt gebruikt om de binnenkomende pakketten te verwerken.

SA in de hoofdmodus

Voor een geslaagde, veilige communicatie wordt door IKE een bewerking in twee fasen uitgevoerd. In elke fase worden vertrouwelijkheid en verificatie gewaarborgd door het gebruik van versleutelings- en verificatiealgoritmen die de twee computers bij de beveiligingsonderhandelingen zijn overeengekomen. Aangezien de taken zijn verdeeld over twee fasen, kunnen sleutels snel worden gemaakt.

Tijdens de eerste fase brengen de twee computers een beveiligd, geverifieerd kanaal tot stand. Dit is de zogeheten SA in de hoofdmodus. IKE zorgt automatisch voor de vereiste identiteitsbeveiliging tijdens deze uitwisseling.

In de volgende stappen wordt een onderhandeling in de hoofdmodus beschreven.

  1. Onderhandeling over het beleid. Bij een SA in de hoofdmodus wordt onderhandeld over de volgende vier verplichte parameters:

    • De versleutelingsalgoritme (DES of 3DES).

    • De hash-algoritme (MD5 of SHA1).

    • De verificatiemethode (het verificatieprotocol Kerberos V5, certificaat of vooraf gedeelde sleutel).

    • De DH-groep (Diffie-Hellman) die moet worden gebruikt voor het basissleutelmateriaal (768 bits Laag (Groep 1), 1024 bits Normaal (Groep 2) of 2048 bits Hoog (Groep 3)).

    • Als certificaten of vooraf gedeelde sleutels voor de verificatie worden gebruikt, wordt de identiteit van de computer beschermd. Als het verificatieprotocol Kerberos V5 wordt gebruikt, wordt de identiteit van de computer echter pas versleuteld wanneer tijdens de verificatie het geheel aan identiteitsgegevens wordt versleuteld.

  2. DH-uitwisseling (van openbare waarden). Sleutels zelf worden nooit uitgewisseld. Het enige dat wordt uitgewisseld, zijn de gegevens waarmee de geheime, gedeelde sleutel wordt gegenereerd door het DH-sleutelbepalingsalgoritme. Na deze uitwisseling wordt door de IKE-service op elke computer de hoofdsleutel gegenereerd waarmee de verificatie wordt beveiligd.

  3. Verificatie. De computers proberen de uitwisseling van DH-sleutels te verifiëren. Zonder verificatie van de DH-sleuteluitwisseling is de communicatie kwetsbaar voor tussenpersoonaanvallen. Zonder een geslaagde verificatie kan de communicatie niet worden voortgezet. De hoofdsleutel wordt samen met onderhandelingsalgoritmen en -methoden gebruikt om identiteiten te verifiëren. Op het geheel aan identiteitsgegevens (met het identiteitstype, de poort, en het protocol) wordt hashing en versleuteling uitgevoerd met de sleutels die zijn gegenereerd uit de DH-uitwisseling in de tweede stap. De identiteitsgegevens worden beschermd tegen wijziging en interpretatie, ongeacht welke verificatiemethode wordt gebruikt.

    De verzendende computer doet de ontvangende computer een aanbod voor een mogelijke beveiligingskoppeling. De antwoordende computer kan dit aanbod niet wijzigen. Als het aanbod wel wordt gewijzigd, weigert de initiërende computer het bericht van de antwoordende computer. De antwoordende computer stuurt een antwoord waarin het aanbod wordt geaccepteerd, of een antwoord met alternatieven.

    Berichten die tijdens deze fase worden verzonden, worden indien nodig tot vijf keer automatisch herhaald. Als een reactie wordt ontvangen voordat deze cyclus eindigt, begint de standaard-SA-onderhandeling. Als onbeveiligde communicatie is toegestaan door het IPSec-beleid, begint deze na een kort interval. Er wordt teruggevallen op leesbare, onbeveiligde tekst. Als er sprake is van onbeveiligde communicatie, wordt om de vijf minuten een onderhandelingspoging gestart over beveiligde communicatie.

    Het aantal uitwisselingen dat kan plaatsvinden, is onbeperkt. Het aantal SA's dat tot stand wordt gebracht, wordt alleen beperkt door de beschikbaarheid van systeembronnen.

SA in de snelle modus

In deze fase wordt onderhandeld over SA's ten behoeve van het stuurprogramma voor IP-beveiliging.

In de volgende stappen wordt een onderhandeling in de snelle modus beschreven.

  1. Er vindt een onderhandeling over het beleid plaats. De IPSec-computers wisselen de volgende vereiste zaken uit voor het beveiligen van de gegevensoverdracht:

    • Het IPSec-protocol (AH of ESP)

    • Het hash-algoritme voor integriteit en verificatie (MD5 of SHA1)

    • De algoritme voor versleuteling, indien aangevraagd (DES of 3DES)

    Er wordt een overeenkomst bereikt en de twee SA's worden tot stand gebracht. De ene SA dient voor binnenkomende communicatie en de andere voor uitgaande communicatie.

  2. Materiaal voor sessiesleutels wordt vernieuwd of uitgewisseld. Bij IKE wordt het sleutelmateriaal vernieuwd en worden nieuwe gedeelde sleutels gegenereerd voor pakketintegriteit, verificatie en versleuteling (indien hierover is onderhandeld). Als er nieuwe sleutels moeten worden gegenereerd, vindt een tweede DH-uitwisseling plaats (zoals beschreven bij de onderhandeling voor de hoofdmodus) of wordt de oorspronkelijke DH-sleutel gebruikt.

  3. De SA's en sleutels worden doorgegeven aan het stuurprogramma voor IP-beveiliging, samen met de SPI. De onderhandeling in de snelle modus over beveiligingsinstellingen en sleutelmateriaal (voor het beveiligen van gegevens) wordt beschermd door de SA in de hoofdmodus. De eerste fase zorgt voor bescherming van identiteiten. De tweede fase, in de snelle modus, zorgt voor bescherming door het sleutelmateriaal te vernieuwen alvorens gegevens te verzenden. IKE biedt de mogelijkheid voor sleuteluitwisselingsgegevens voor nog een DH-uitwisseling als er nieuwe sleutels moeten worden gegenereerd, dat wil zeggen als hoofdsleutel voor PFS is ingeschakeld. In andere gevallen wordt het sleutelmateriaal vernieuwd van de DH-uitwisseling die is voltooid in de hoofdmodus.

    De snelle modus heeft als resultaat een paar beveiligingskoppelingen, elk met een eigen SPI en sleutel. De ene SA wordt gebruikt voor binnenkomende communicatie en de andere voor uitgaande communicatie.

    De algoritme waarmee de verzending van een bericht opnieuw wordt geprobeerd, komt overeen met het proces dat is beschreven in de onderhandeling voor de hoofdmodus. Als er echter om een of andere reden een time-out voor dit proces optreedt tijdens de tweede of hogere onderhandeling van dezelfde SA in de hoofdmodus, wordt geprobeerd een nieuwe onderhandeling op te starten van dezelfde SA in de hoofdmodus. Als er een bericht voor deze fase wordt ontvangen zonder dat een SA in de hoofdmodus tot stand is gebracht, wordt het bericht afgewezen.

    Als een enkele SA in de hoofdmodus wordt gebruikt voor meerdere onderhandelingen over SA in de snelle modus, verloopt het proces sneller. Zolang de SA in de hoofdmodus niet is verlopen, is geen nieuwe onderhandeling of verificatie vereist. Het aantal SA-onderhandelingen in de snelle modus dat kan worden uitgevoerd, wordt bepaald door instellingen voor het IPSec-beleid.

    Opmerking

    Als u te vaak nieuwe sleutels genereert op basis van dezelfde SA in de hoofdmodus, kan dit de gedeelde, geheime sleutel kwetsbaar maken voor een aanval door middel van bekende platte tekst. Bij een dergelijke aanval probeert de inbreker met een sniffer-programma op basis van bekende platte tekst de sleutel vast te stellen van versleutelde gegevens.

SA-levensduur

De SA in de hoofdmodus wordt tijdelijk opgeslagen om meerdere onderhandelingen over SA in de snelle modus mogelijk te maken (tenzij hoofdsleutel voor PFS is ingeschakeld). Wanneer de ingestelde levensduur voor de hoofd- of sessiesleutel is bereikt, wordt opnieuw onderhandeld over de SA. Daarbij wordt de sleutel vernieuwd of opnieuw gegenereerd.

Als de standaardperiode voor de time-out afloopt voor de SA in de hoofdmodus, of als de levensduur van de hoofd- of sessiesleutel wordt bereikt, wordt een verwijderbericht verzonden naar de antwoordende computer. Het verwijderbericht van IKE laat de antwoordende computer weten dat de SA in de hoofdmodus dient te vervallen. Hierdoor wordt voorkomen dat er meer nieuwe SA's in de snelle modus worden gemaakt uit de vervallen SA in de hoofdmodus. IKE laat de SA in de snelle modus niet vervallen, omdat alleen door het IPSec-stuurprogramma wordt bijgehouden na hoeveel seconden of bytes de levensduur van de sleutel wordt bereikt.

Ga voorzichtig te werk als u een sterk afwijkende levensduur instelt voor hoofd- en sessiesleutels. Als u bijvoorbeeld de levensduur van de hoofdsleutel in de hoofdmodus instelt op acht uur en die van de sessiesleutel in de snelle modus op twee uur, blijft de SA in de snelle modus bijna twee uur actief nadat de SA in de hoofdmodus is verlopen. Dit doet zich voor wanneer de SA in de snelle modus wordt gegenereerd kort voordat SA in de hoofdmodus verloopt.