Patroon voor symmetrische encryptie

Uit NORA Online
Naar navigatie springen Naar zoeken springen


Onderdeel van
Thema's
Contact
Guus van den Berg
Guus.vandenberg@cip-overheid.nl
Status
Dit thema wordt momenteel opnieuw bekeken door de Expertgroep Beveiliging


Criteria

Vertrouwelijkheid, Integriteit

Context

De focus ligt bij dit patroon op methoden voor de versleuteling van de gegevens. Voor authenticatie en het veilig uitwisselen van sleutels wordt gebruik gemaakt van PKI op basis van asymmetrische encryptie. Berichten en bestanden worden op verschillende manieren via de niet vertrouwde “buitenwereld” uitgewisseld:

  • Eindgebruikers versturen berichten via e-mail over het Internet.
  • Eindgebruikers plaatsen bestanden op draagbare media (USB-stick, CD-ROM, DVD, SD kaarten etc.) die ze meenemen naar het externe domein.
  • Berichten worden via openbare netwerken naar een semi-vertrouwde of niet vertrouwde client verstuurd, bijvoorbeeld voor telewerken of mobiel werken.
  • Bij gebruik van draadloze verbindingen binnen de omgeving van de organisatie, waarvan te verwachten is dat ze buiten het gebouw te ontvangen zijn (zoals Wi-Fi).
  • Er worden berichten uitgewisseld via openbare netwerken tussen systemen van de organisatie op verschillende locaties of met die van vertrouwde partners.
  • Berichten en bestanden worden opgeslagen op een mobiele client (laptop, PDA, smartphone) die meegenomen wordt naar het externe domein.

Probleem

  1. Voor informatie in (tijdelijke) opslag of transport, ontstaan er grofweg twee soorten risico’s voor ongeautoriseerd gebruik van de informatie uit het bericht of bestand:
    1. Draagbare media of mobiele clients, waarop gevoelige informatie is opgeslagen, impliceren risico’s van verlies, diefstal en misbruik.
    2. Bij het transport van gevoelige informatie via draadloze en/of openbare netwerken bestaat het risico dat de communicatie wordt afgeluisterd en misbruikt.
  2. Binnen de fysiek afgeschermde en/of beheerde infrastructuur van een organisatie zorgen maatregelen voor zonering en filtering tussen de zones voor de benodigde fysieke en logische afscherming van gevoelige informatie. Daarbuiten leveren deze maatregelen geen afscherming meer waarmee elke garantie voor de vertrouwelijkheid en integriteit van de informatie vervalt.

Oplossing

Het openbaar of voor onbevoegden toegankelijk worden van (gevoelige) informatie kan voorkomen worden door encryptie tijdens gebruik, opslag of transport van het bericht of bestand. Als oplossing wordt in dit patroon symmetrische encryptie toegepast.

Symmetrische encryptie

Bij voorkeur vindt de symmetrische encryptie transparant voor de eindgebruiker plaats. Omdat symmetrische encryptie zich vaak afspeelt op het niveau van verbindingen, netwerken en systemen is dat ook meestal het geval. Bekende voorbeelden hiervan zijn de VPN’s (Virtual Private Network), TLS (Secure Socket Layer) en Wi-Fi encryptie (WPA). Daar waar de encryptie zich op applicatieniveau afspeelt, is vaak interactie van de eindgebruiker vereist. Voorbeelden hiervan zijn e-mail encryptie en aparte software voor encryptie van bestanden om deze op draagbare media op te slaan of als bijlage met e-mail te versturen. De encryptie is uiteindelijk zo sterk als de mate waarin de cryptografische sleutel geheim gehouden kan worden voor onbevoegden. Voor de sterkte van de encryptie spelen de volgende factoren een cruciale rol:

  • Encryptiealgoritme en sleutellengte.
  • Distributie van sleutels.
  • Lifecyclemanagement van sleutels.

Encryptiealgoritme en sleutellengte

Het meest robuuste en inmiddels standaard toegepaste encryptiealgoritme is AES. Daarnaast bestaan er nog meer goede algoritmen, die we in dit patroon buiten beschouwing laten. Het AES algoritme is geschikt voor de sleutellengtes van 128, 192 of 256 bits. De sleutellengte en de kwaliteit van de sleutel bepalen in belangrijke mate de tijdsduur die nodig is voor het ‘kraken’ van de encryptie.

Distributie van sleutels

Voor distributie van sleutels worden vaak weer andere encryptiemechanismen ingezet met de bijbehorende sleutels. Samen met de sleutels voor distributie en beheer worden er drie soorten cryptografische sleutels onderscheiden: Key Encryption Keys (KEK), periodieke sleutels en sessiesleutels. De eigenschappen van deze sleutels zijn in onderstaande tabel samengevat.

Eigenschap Key encryption key Periodieke sleutel Sessiesleutel
Doel Encryptie van de periodieke of sessiesleutel Symmetrische encryptie van de gevoelige gegevens Symmetrische encryptie van de gevoelige gegevens
Soort Publieke sleutel of geheime sleutel Geheime sleutel Geheime sleutel
Levensduur 1 jaar Vastgestelde periode 1 sessie
Distributie Fysiek (smartcard, CD-ROM, sleutellaadapparaat, papier) over vertrouwd pad Beveiligd met KEK over communicatiepad zelf of over ander onvertrouwd pad Beveiligd met KEK over communicatiepad zelf
Fysiek over vertrouwd pad (geen KEK)

Afhankelijk van de toepassing zijn er verschillende methoden om sleutels veilig te distribueren. Een aantal gangbare methoden worden hier aan de hand van voorbeelden toegelicht. Distributie van de KEK: de KEK moet voorafgaand aan de ingebruikname van de encryptie over een vertrouwd pad gedistribueerd worden. De KEK wordt meestal op een fysiek medium opgeslagen, zoals een smartcard, dat bijvoorbeeld met een speciale koerier verstuurd kan worden of bij een loket afgehaald moet worden op basis van een bewijsstuk en legitimatie. Bij specifieke apparatuur wordt de asymmetrische sleutel al bij de fabriek geïnstalleerd. Distributie van periodieke sleutels: voor beveiliging van de distributie van periodieke sleutels kan men zowel kiezen voor asymmetrische encryptie (KEK is publieke sleutel afkomstig van een PKI) als voor symmetrische encryptie (KEK is geheim). Een voorbeeld van een systeem met een geheime KEK is de AES Key Wrap methode, zie onderstaande figuur.

Distributie van sleutels

Symmetrische encryptie met de KEK als sleutel zorgt hier voor de beveiliging van de periodieke sleutel, zodat deze via een niet vertrouwd pad verzonden kan worden of veilig op een systeem kan worden opgeslagen. De periodieke sleutel kan weer verkregen worden met de omgekeerde bewerking (Key Unwrap) en dezelfde KEK. Een bekende toepassing is Over-The-Air-Keying (OTAK) voor encryptie van draadloze systemen voor spraak.

Distributie van periodieke sleutels met een publieke KEK verloopt bijvoorbeeld op een vergelijkbare manier als hierna beschreven wordt voor distributie van een sessiesleutel.

Distributie van een sessiesleutel: Onderstaande figuur laat zien hoe een publieke KEK (afkomstig van een PKI) wordt gebruikt bij het uitwisselen van een sessiesleutel voor het beveiligen van webverkeer (https) tussen client en server op het Internet.

Uitwisseling van sessiesleutel

De berichtuitwisseling verloopt als volgt:

  1. Vanuit de client (webbrowser) wordt een serviceverzoek gedaan naar een webserver;
  2. De server stuurt een willekeurige code samen met de publieke KEK van de server. De Web browser checkt de geldigheid van het certificaat van de server aan de hand van een tabel in de browser.
  3. De client genereert een random sessiesleutel, versleutelt deze met de publieke KEK van de server en stuurt die terug naar de server;
  4. De server ontsleutelt de sessiesleutel met behulp van de geheime private KEK van de server en stuurt de met de nieuwe sessiesleutel versleutelde code opnieuw naar de client, zodat die kan verifiëren of er nog steeds met dezelfde server gecommuniceerd wordt.
  5. De sessiesleutel is nu bij beide partijen bekend en wordt vervolgens voor de symmetrische encryptie van het webverkeer gebruikt. Veilige interactie is nu gegarandeerd voor de duur van de sessie.

Omdat de KEK van alle sleutels de langste levensduur heeft, is dat ook de meest gevoelige sleutel. De KEK zelf wordt niet versleuteld en dient dus op een andere wijze fysiek en/of logisch te worden afgeschermd. Toegang tot de KEK is alleen toe te staan na identificatie en authenticatie van de beheerder dan wel de gebruiker van de KEK. Er bestaan ook oplossingen waarbij een KEK ontbreekt. Een bekend voorbeeld is Wi-Fi encryptie in de pre-shared key (PSK) mode. Daarbij worden de (periodieke) Wi-Fi sleutels ter plaatse door een beheerder ingevoerd. De beheerder moet er voor zorgen dat de sleutels niet bekend worden.

Afwegingen

De te selecteren oplossing voor symmetrische encryptie is sterk afhankelijk van de toepassing waarvoor men de encryptie wil inzetten. Voor de beveiliging van de distributie van de encryptiesleutel heeft men de keuze tussen asymmetrische en symmetrische encryptie. Asymmetrische encryptie van sleutels heeft de voorkeur omdat het flexibeler is. Het maakt veilige communicatie mogelijk tussen partijen die elkaar niet kennen. Een partij die versleutelde data wil ontvangen, kan zijn publieke sleutel op elke manier versturen of bekend maken, die hem past. De sleutel kan op internet op de eigen website geplaatst worden. Het gebruik van asymmetrische sleutels vraagt wel aanzienlijk meer rekenkracht dan het gebruik van symmetrische sleutels. Daarom wordt asymmetrische encryptie wel gebruikt voor het versturen van sessiesleutels, maar meestal niet voor het versleutelen van de data. Daarvoor wordt de efficiëntere Symmetrische encryptiemethode gebruikt. Sessiesleutels hebben de voorkeur boven encryptie met periodieke sleutels, omdat het veiliger is (de sleutel wordt bij elke nieuwe sessie gewijzigd). Bij sessiesleutels wordt voor aanvang van de communicatie een sleutel uitgewisseld wat enige opstartvertraging oplevert. Bij berichtuitwisseling tussen slechts twee partijen is dit in de praktijk meestal geen probleem. Wanneer berichten naar meer dan twee partijen gestuurd worden (groepscommunicatie) kan de opstartvertraging te groot worden en hebben periodieke sleutels de voorkeur. Wanneer berichten of bestanden naar partijen of systemen gezonden worden waarmee geen directe verbinding bestaat (store-and-forward), is men gebonden aan periodieke sleutels. Er is dan immers geen communicatiepad beschikbaar waarover een sessiesleutel kan worden uitgewisseld. Bij encryptie van opgeslagen data bestaat het risico dat er bij decryptie een fout optreedt als gevolg waarvan de data niet meer toegankelijk is. Het is daarom belangrijk er altijd voor te zorgen dat er, alvorens de data versleuteld wordt opgeslagen, back-ups gemaakt worden die binnen de eigen afgeschermde omgeving bewaard worden.

Voorbeelden

  • E-mail encryptie: PGP, S/MIME
  • Encryptie van webverkeer: TLS
  • VPN: IPsec
  • Wi-Fi encryptie: WPA, WPA2

Implicaties

Toepassing van symmetrische encryptie impliceert sleutelbeheer en sleuteldistributie. Afhankelijk van de toepassing en de omvang van het gebruik kan sleutelbeheer zeer complex zijn. Meestal betekent het dat het sleutelbeheer organisatorisch en procedureel moet worden ingericht inclusief personele inzet. Als de geselecteerde oplossing voor symmetrische encryptie zich er voor leent, kan men er voor kiezen gebruik maken van een bestaande PKI dienst (overheid of commercieel).

Gerelateerde patronen