Themapatroon 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


Leeswijzer

Dit is een themapatroon, dat voor de algemene probleemstelling van vertrouwelijk opslaan en uitwisselen van gegevens een oplossing biedt. Onderliggende patronen bieden oplossingen voor specifieke soorten van versleuteling.

Criteria

Vertrouwelijkheid en Integriteit van gegevens zijn de belangrijkste businesscriteria, die leiden tot de toepassing van encryptie.

Context

De op papier gebaseerde uitwisseling van formele documenten wordt steeds meer vervangen door elektronische berichtenuitwisseling. Veel communicatie over en weer vindt plaats met behulp van elektronische middelen. De communicatie tussen zender en ontvanger vindt daarbij plaats via netwerken, waarvan de vertrouwelijkheid niet altijd gegarandeerd is.

Organisaties hebben behoefte aan vertrouwde en integere uitwisseling van berichten en het vertrouwd kunnen opslaan van bestanden binnen en buiten de organisatie, tussen de daarvoor geautoriseerde personen en systemen. Voorbeelden daarvan zijn uitwisseling van wachtwoorden en pincodes tijdens financiële transacties, draagbare opslagmedia zoals USB sticks, gebruik draadloze verbindingen enz.

Omgeving waarin gegevens elektronisch worden uitgewisseld

Probleem

Elke vorm van uitwisseling en opslaan van gegevens kent zijn eigen risico’s t.a.v. vertrouwelijkheid en integriteit.

  1. Gegevens tijdens verwerking in tijdelijke opslag: het gaat hier om gegevens in het werkgeheugen van systemen en risico’s van “lekkage” van de ene gegevensstroom naar de andere, of het gebruik van in bewerking zijnde gegevens door onbevoegden. Het probleem daarbij is dat besturingssystemen zelden zijn ingericht op ‘gelaagde beveiliging’ en dat er geen beheer wordt uitgevoerd op tijdelijke opslag van geheimen zoals wachtwoorden. Oplossingen voor dit type beheer zijn in de patronen van het thema Encryptie niet uitgewerkt.
  2. Gegevens op transport: het gaat hier enerzijds over elektronische berichten of bestanden, die verstuurd worden via vaste of draadloze netwerken en risico’s impliceren van afluisteren, wijziging en misbruik door onbevoegden. Anderzijds gaat het over transport van bestanden via draagbare media of mobiele clients. Deze impliceren risico’s van verlies, diefstal, misbruik en wijziging door onbevoegden.
  3. Gegevens in langdurige opslag: het gaat hier over berichten of bestanden die opgeslagen worden binnen de vertrouwde infrastructuur van een organisatie. Hier speelt afhankelijk van de classificatie van de gegevens het risico van ongeautoriseerd gebruik van gegevens, b.v. door beheerders.

Oplossing

Per levenscyclus van gegevens zijn onderstaande generieke oplossingen ontwikkeld, waarbij de vertrouwelijkheid van de getransporteerde of opgeslagen gegevens wordt gewaarborgd door het principe van versleuteling (encryptie) van gegevens door een zender en de ontsleuteling daarvan door een geautoriseerd ontvanger. De te beschermen gegevens (cijfers, tekst, figuren) worden daarbij omgezet in niet interpreteerbare tekst of beelden. Aan de ontvangstkant vindt een omgekeerde bewerking plaats.

Encryptie bestaat uit twee basiselementen:

  • Algoritme: de formule op basis waarvan de gegevens worden versleuteld en ontsleuteld.
  • Sleutel: de geheime component waarmee het algoritme versleutelt en ontsleutelt.

Encryptie kent drie hoofdgroepen:

  1. Symmetrisch: Alle informatie wordt versleuteld en ontsleuteld met één geheime sleutel (zie patroon Symmetrische encryptie)
  2. Asymmetrisch: Informatie wordt versleuteld met een sleutelpaar, bestaande uit een private en publieke sleutel. Voor verzending versleutelt de zender met de publieke sleutel van de ontvanger. De ontvanger ontsleutelt met zijn private sleutel, die wiskundig verbonden is met het paar van de zender. Elk sleutelpaar heeft een publieke en een private sleutel. (zie patroon PKI).
  3. Hash: Informatie wordt één-weg verwerkt met een hashing algoritme tot een uniek controlegetal. Een bepaalde tekst levert via dat algoritme altijd hetzelfde getal op, zodat zonder overdracht van sleutels met het algoritme bepaald kan worden dat de tekst ongewijzigd is. Hashing wordt ook wel one way encryption (éénwegversleuteling) genoemd, en het controlegetal de hash of het synoniem daarvoor: de digest.
Basisfuncties en componenten van Encryptie

Bovenstaande figuur geeft aan uit welke basisfuncties en componenten encryptie is opgebouwd. Het beheer van algoritmen, sleutels en certificaten en sleuteldistributie neemt daarbij een belangrijke plaats in (zie patronen Symmetrische encryptie, PKI en Sleutelhuis). De Crypto-engine voert op basis van een algoritme de versleuteling (of ontsleuteling) uit bij symmetrische en asymmetrische encryptie. De Hashing-engine voert op basis van een hashing algoritme een z.g. éénwegversleuteling uit, die aan de ontvangstkant vergeleken wordt met het controlegetal van de verzonden data. De integriteit van data op transport is aangetoond wanneer aan de zend- en ontvangkant de controlegetallen aan elkaar gelijk zijn.

Toepassingen in verschillende context

Gegevens in tijdelijke opslag: Gevoelige gegevens zoals wachtwoorden en pincodes worden op systeem- of applicatieniveau versleuteld en de waarden daarvan zijn uitsluitend leesbaar voor bevoegde processen. Deze functies moeten specifiek op applicatie- en systeemniveau zijn ingebouwd.

Gegevens op transport: Dit is de grootste risicogroep en betreft versleuteling van netwerkverkeer:Public Key Infrastructure (PKI); een infrastructurele totaaloplossing op basis van certificaten uitgegeven door een derde vertrouwde partij. (zie patroon PKI)

Versleuteling op applicatieniveau: Hierbij wordt versleuteling door twee met elkaar communicerende systemen end-to-end uitgevoerd. Alleen het dataveld van een pakket wordt hierbij versleuteld. Een bekende vorm van encryptie op applicatieniveau is de secure-http techniek, die gebruikt wordt voor versleuteling van http (hypertext transfer protocol ) berichten.

Versleuteling op sessieniveau: zoals Transport Layer Security (TLS). Deze techniek wordt gebruikt in combinatie met applicatieprotocollen, zoals http(s), ftp(s), imap(s), pop(s) en smtp(s), herkenbaar aan het (s)-je. Als TLS is toegepast bij (http), dan wordt per sessie de webcommunicatie versleuteld (https) en zie je in de statusbalk van de browser het bekende slotje.

Versleuteling op netwerkniveau: zoals IPSec. Op basis van dit protocol worden versleutelde communicatietunnels gelegd tussen netwerkeindpunten, waarmee veilige communicatie mogelijk is. Met deze tunnels kunnen Virtual Private Networks (VPN’s) worden gebouwd. Draadloze netwerken worden versleuteld met eigen protocollen als WPA (Wi-Fi Protected Access).

Versleuteling op datalinkniveau: Hierbij wordt op het ‘laagste niveau’ van het netwerk versleuteling uitgevoerd tussen twee netwerk knooppunten. Alle data die wordt uitgewisseld, dus ook protocolinformatie is daarbij versleuteld.

Gegevens in langdurige opslag: Dit betreft versleuteling van informatie op vaste en mobiele gegevensdragers:

  • Versleuteling van mobiele geheugenmedia, zoals Harddisks van laptops, USB-stick, CDROM, Tape of insteek-memorymodules en in toenemende mate geheugens van PDA’s en Smartphones.
  • Versleuteling van vaste geheugenmedia, zoals harddisk arrays van databases, tape en optische media.
Informatie op transport

Afwegingen

De vraag is op welk niveau encryptie moet plaatsvinden; op applicatie-, middleware of hardwareniveau? Behalve voor zeer vertrouwelijke gegevens moet worden voorkomen dat versleuteling op meerdere niveaus gelijktijdig plaatsvindt. Elk niveau heeft zijn eigen specifieke voor- en nadelen. Criteria zijn: Flexibiliteit en Performance. Op applicatieniveau is end-to-end encryptie relatief eenvoudig realiseerbaar. Hardware-encryptie biedt duidelijke performance voordelen.

Implicaties

  • Toepassen van encryptie in bedrijfsprocessen vereist classificatie van informatie. Besluitvorming over welke informatie in welke situatie (bewerking, transport, opslag) dient te worden versleuteld.
  • Toepassing van PKI vereist uitgifte, beheer- en periodieke vernieuwing van certificaten.
  • Sleutels en certificaten hebben een eigen levenscyclus. Adequaat sleutelbeheer is randvoorwaardelijk voor encryptie. Daarvoor is het Sleutelhuis de oplossing.
  • Acceleratie is nodig omdat cryptografische bewerkingen rekenintensief zijn en relatief veel processorcapaciteit vergen. Waar mogelijk wordt dit rekenwerk door speciale hardware gedaan.
  • Lange termijn versleutelde opslag vereist ook lange termijn sleutelbeheer.

Gerelateerde patronen

  • Symmetrische Encryptie, zoomt in op het mechanisme Symmetrische encryptie, het toepassingsgebied daarvan en sleutelbeheer en distributie.
  • Public Key Infrastructure (PKI), waarin o.a. het doel en toepassingsgebied van Asymmetrische encryptie wordt uitgelegd en de uitgifte en beheer van certificaten.
  • Sleutelhuis, dat het beheer van cryptografische sleutels regelt.