...
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 (Transport Layer Security) en wifi-encryptie (Wifi Protected Access of WPA).
Daar waar de encryptie zich op applicatieniveau afspeelt, is vaak interactie van de eindgebruiker vereist. Voorbeelden hiervan zijn e-mailencryptie 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 geheimgehouden kan worden voor onbevoegden. Voor de sterkte van de encryptie spelen de volgende factoren een cruciale rol:
Encryptiealgoritme;
Sleutellengte;
Distributie van sleutels; en
Lifecyclemanagement van sleutels.
Encryptiealgoritme en sleutellengte
Het meest robuuste en vaak toegepaste encryptiealgoritme is AES (Advanced Encryption Standard). 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.
...
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 | Symmetrische encryptie van | Symmetrische encryptie |
Soort | Publieke sleutel of geheime | Geheime sleutel | Geheime sleutel |
Levensduur | 1 jaar | Vastgestelde periode | 1 sessie |
Distributie | Fysiek (smartcard, cd-rom, | Beveiligd met KEK over ____________________ Fysiek over vertrouwd pad | Beveiligd met KEK over |
...
Een cryptografische hash-functie, kortweg een hash, is een andere cryptografische bouwsteen die kan zorgen voor integriteit. Hoewel er geen geheime sleutels worden gehanteerd bij een hash, spreekt men vaak ook van encryptie, namelijk één-richtingvercijfering.
Een hash-functie neemt als input een bericht van willekeurige lengte en genereert een code, de hashwaarde hash-waarde, die specifiek is voor dat bericht. Elke wijziging van het bericht leidt tot een wijziging in de hashwaarde hashwaarde. Bovendien is het niet mogelijk om vanuit een bepaalde hash-waarde het bericht te reconstrueren (t.t.z. ‘niet mogelijk’ betekent hier dat het rekenkundig niet haalbaar is om dit in redelijke tijd te doen).
Een hash-functie kan dus de integriteit van informatie garanderen op voorwaarde dat de hash-waarde zelf correct beschermd is tegen manipulatie. Zo kan bijvoorbeeld in de context van DIM (Data in Motion = transport van data) de integriteit van een verzonden bericht worden aangetoond door de hashwaarde via een ander communicatiekanaal te versturen, of geëncrypteerd mee te sturen.
Hash-functies worden gecombineerd met asymmetrische encryptietechnieken om een digitale handtekening te realiseren (zie verder). Een digitale handtekening levert de volgende veiligheidsdiensten: bericht-integriteit, authenticatie van de verzender, data-authenticatie en onweerlegbaarheid.
Bij een MAC (Message Authenticatie Code), soms ook gesleutelde hash-functie genoemd, wordt een hash-waarde of MAC-waarde gegenereerd op basis van een geheime sleutel. Naast bericht-integriteit, wordt ook een (beperkte) vorm van data-authenticiteit gerealiseerd (garanties over de bron van het verzonden bericht). De geheime sleutel dient in dit geval wel vooraf uitgewisseld te worden.
Bij een MAC wordt de bescherming van de authenticiteit van een bericht (informatie-element) dus herleid tot het geheimhouden van een sleutel (zie ook bijlage 5).
Hash-functie vs. MAC:
Sleutelbeheer
...
Werd de sleutel niet gewijzigd tijdens het distributieproces?
Is de sleutel authentiek, dus niet afkomstig van iemand die zich als de vermeende afzender voordoet, de zogenaamde man in the middle?
De problematiek van betrouwbare sleuteldistributie kan worden opgelost door gebruik te maken van een betrouwbare tussenpersoon.
...
Een oplossing hiervoor kan gevonden worden in sleutelhiërarchie. Dit is een techniek waarbij een root key of master key (verder ‘mastersleutel’ genoemd) gebruikt wordt om de cryptosleutel op zijn beurt te versleutelen. Op deze wijze voorziet sleutelhiërarchie in een krachtige methode om andere cryptosleutels te beveiligen. Immers, het is dan afdoende om deze mastersleutel heel goed te beveiligen om de betrouwbaarheid van de andere sleutels te garanderen. Dit is dan ook het zwakke punt van sleutelhiërarchie: het is van het grootste belang om de mastersleutel zeer goed te beveiligen: als deze sleutel gehackt wordt, zijn alle onderliggende sleutels eveneens gecompromitteerd!
Dit betekent o.a. dat deze mastersleutel best bewaard wordt in een Hardware Security Module of HSMmodule bijvoorbeeld FIPS 140 gekeurd. Dit keurmerk waarborgt de goede beveiliging van de mastersleutel.
...
De geldigheidsduur van een digitale handtekening is afhankelijk van de geldigheid van het gebruikte digitale certificaat. Als de geldigheid van dit certificaat is verstreken, geeft de digitale handtekening een foutmelding. Ook het bovenliggende rootcertificaat heeft een geldigheid van bepaalde duur. Een certificaatautoriteit (CA) kan ook ophouden met bestaan. In al deze gevallen is validatie van een ondertekend document niet meer mogelijk. Het gebruik van een digitale handtekening in combinatie met een elektronische tijdsstempel voorkomt foutmeldingen. De elektronische tijdsstempel bewijst dat het certificaat ten tijde van de ondertekening wel degelijk geldig was, hierdoor verloopt een digitale handtekening met elektronische tijdsstempel nooit. Dit maakt validatie op lange termijn ook zonder een geldig certificaat, rootcertificaat of actieve CA mogelijk.
Elektronische tijdsstempels wordt ook gebruik in geavanceerde loggingtechnieken om het tijdsstip van een log event vast te leggen.
Het spreekt voor zich dat voor elektronische tijdsstempels een betrouwbare bron moet worden gebruikt. Daarom worden de klokken van servers vaak gesynchroniseerd met een externe, betrouwbare tijdsbron, bijvoorbeeld een atomaire klok. Het is mogelijk om in te schrijven op een dienst (AWS Amazon Time Sync Service is een voorbeeld) die de tijd van zo’n atomaire klok aanlevert, waardoor de eigen interne klokken eveneens betrouwbaar worden. waardoor de eigen interne klokken eveneens betrouwbaar worden.
...
Een bericht kan versleuteld worden d.m.v. de private sleutel en dan ontcijferd d.m.v. de bijhorende publieke sleutel (dit is dus de omgekeerde beweging van encryptie voor vertrouwelijkheid). Omdat de private sleutel wordt geheimgehouden door de eigenaar ervan, is versleuteling met een private sleutel de basis voor een digitale handtekening. Dit is het meest bekende gebruik van asymmetrische cryptografie geworden. Gezien enkel de eigenaar beschikt over de private sleutel, kan hij niet ontkennen dat hij het bericht heeft versleuteld. Onweerlegbaarheid van data wordt dus gegarandeerd.
Indien men de asymmetrische encryptietechniek nog combineert met het gebruik van een message digest/hash, kan men tevens berichtintegriteit garanderen en dan spreekt men van een digitale handtekening. Alvorens het bericht te versleutelen d.m.v. de private sleutel, wordt het bericht eerst via een cryptografische hash-functie gecomprimeerd:
Een digitale handtekening kan gecombineerd worden met asymmetrische encryptie om vertrouwelijkheid van informatie te garanderen: eerst zal de verzender/ondertekenaar zijn/haar digitale handtekening plaatsen op het document met de eigen private sleutel, vervolgens wordt het volledige pakket (document + handtekening) versleuteld met de publieke sleutel van de bestemmeling om het geheel onleesbaar te maken voor deren. In de praktijk echter zal men voor dit laatste meestal symmetrische encryptie gebruiken omwille van de snelheid ervan.
...
Vastleggen van de unieke kenmerken van het bericht (in een hash).
Verbinden van de unieke identiteit van de zender aan de hash
De unieke identiteit van digitale handtekeningen kan met behulp van verschillende mechanismen worden verbonden met het controlegetal, waarvan de bekendste zijn:
Symmetrische cryptografische sleutels = vooraf uitgedeeld door regiepartij; en
Asymmetrische cryptografie op basis van PKI (Public Key Infrastructure) = uitgedeeld door een TTP (Trusted Third Party).
De mate van zekerheid die uit de toegepaste methode voortvloeit, wordt sterk beïnvloed door de kwaliteit van de aard en toepassing van algoritmen en methoden en vooral van:
...
Onderstaande tabel geeft aan welke verbanden er bestaan tussen het zekerheidsniveau, de toegepaste sleutels en wie er door zender en ontvanger wordt vertrouwd.
Zekerheidsniveau | Sleutelmodel | Proceskwaliteit | Zender en ontvanger |
---|---|---|---|
1: Laag, onzekere bewaartermijn | Symmetrisch | Gedeelde sleutels | Eigen organisatie of partner |
2: Middel, onzekere bewaartermijn | Asymmetrisch | PKI-service of private PKI | Eigen organisatie of partner |
3: Hoog, gegarandeerde bewaartermijn | Asymmetrisch | Gecertificeerde PKI | Overheid of gecertificeerde partij |
...
Een servercertificaat wordt gebruikt door een server, bijvoorbeeld een webserver, om zich te authentiseren en om een versleutelde verbinding tussen client en server op te zetten. Op het moment dat een client een veilige https-verbinding op wil zetten, stuurt de server een digitaal certificaat naar de client. Dit digitale certificaat bevat als subjectnaam de domeinnaam van de server. Bij een correcte authenticatie moet deze domeinnaam in het digitale certificaat overeenkomen met de domeinnaam waar de client een verbinding mee op wil zetten; en
Een clientcertificaat wordt gebruikt door een eindgebruiker die dit certificaat kan gebruiken om zichzelf te authentiseren met behulp van dit clientcertificaat.
Om rechtsgeldig te zijn in België moeten digitale handtekeningen voldoen aan de wet van 21 juli 2016, de wet ‘eIDAS en elektronische archivering’ genoemd. Deze wet is een concrete vertaling en invulling van de Europese eIDAS-verordening (electronic IDentification Authentication and trust Services).
Hierin wordt o.a. de definitie van een digitale handtekening vastgelegd: ‘gegevens ‘gegevens in elektronische vorm bevat die gehecht zijn aan of logisch verbonden zijn aan andere gegevens in elektronische vorm en die door de ondertekenaar worden gebruikt om te ondertekenen’ ondertekenen’ (art. 3 §10 van de verordening). Deze definitie omvat niet alleen handtekeningen op basis van digitale certificaten, maar ook andere soorten digitale handtekeningen, zoals handgeschreven gescande handtekeningen, biometrische handtekeningen (bijvoorbeeld stemherkenning, irisherkenning, herkenning van vingerafdrukken), digitale handtekeningen of de codes van bankkaarten.
Wanneer een digitale handtekening aan bepaalde eisen voldoet, kan ze ‘geavanceerd’ of ‘gekwalificeerd’ zijn.
Om geavanceerd te zijn, moet de digitale handtekening:
...
Een digitale handtekening is gekwalificeerd indien zij niet alleen geavanceerd is, maar ook aangemaakt is met een gekwalificeerd middel voor het aanmaken van digitale handtekeningen en gebaseerd is op een gekwalificeerd certificaat voor digitale handtekeningen (art. 3 §12 van de eIDAS-verordening).
De verordening specificeert dat een digitale handtekening (ongeacht de gebruikte technologie en het niveau) niet als bewijsmiddel in juridische procedures mag worden geweigerd, louter om de reden dat ze elektronisch is of niet gekwalificeerd. Nochtans wordt alleen de gekwalificeerde handtekening gelijkgesteld met een handgeschreven handtekening (art. 25 van de eIDAS-verordening).
In hoofdstuk ‘De kracht van het certificaat’ werd besproken wat EV of uitgebreide validatiecertificaten zijn. Ter herinnering: een EV-certificaat volgt de X.509-standaard en voldoet aan bepaalde eisen omtrent identiteitscontrole volgens de richtlijnen voor uitgave en beheer van EV-certificaten. Deze richtlijnen zijn bedoeld om betere verzekering te bieden omtrent de identiteit van de certificaathouder door het afdwingen van uniforme en gedetailleerde validatieprocedures. De meest voorkomende toepassing van EV-certificaten zijn voor SSL, waarbij de identiteit van de website gecontroleerd is.
Wat is nu het verschil met een gekwalificeerd certificaat? Gekwalificeerde certificaten zijn ontworpen om te voldoen aan de eisen van de eIDAS-verordening. Deze mogen alleen worden uitgegeven aan natuurlijke personen, in hun persoonlijke hoedanigheid als bedrijfsmatige/organisatorische vertegenwoordiger (als deze organisatie, relatie en autoriteit ook zijn geverifieerd). Gekwalificeerde elektronische handtekeningen, waarbij een gekwalificeerd certificaat wordt gebruikt, zijn geldig als bewijs en hebben direct wettelijke effect zoals handgeschreven handtekeningen.
...
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 de ‘S’. Als TLS is toegepast bij (http), dan wordt per sessie de webcommunicatie versleuteld (https) en zie je in de statusbalk van de browser een slot-icoontje.
Versleuteling op netwerkniveau: zoals IPSec (Internet Protocol Security). 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 (Wifi Protected Access). De versleuteling eindigt op de netwerkcomponent en is dus niet end-to-end. Als het eindpunt bijvoorbeeld een proxyserver is, dan wordt de communicatie versleuteld tot op de proxy server, maar verloopt verder in leesbare tekst tot aan de PC van de gebruiker.
Versleuteling op datalinkniveau: Hierbij wordt op het ‘laagste niveau’ van het netwerk versleuteling uitgevoerd tussen twee netwerkknooppunten. Alle data die wordt uitgewisseld, dus ook protocolinformatie is daarbij versleuteld. Een voorbeeld van datalink encryptie is het PPTP-protocol (Point to Point Tunneling Protocol).
In overzicht:
...
...
DAR (data at rest)
Gegevens in opslag: Dit betreft versleuteling van informatie op gegevensdragers op drie niveaus:
Encryptie op opslagniveau (storage), vaste en mobiele media:
Versleuteling van mobiele geheugenmedia, zoals harddisks van laptops, USB-sticks, cd-roms, Tape of insteek-memorymodules maar ook in geheugens van smartphones; en
Versleuteling van vaste geheugenmedia, zoals harddisk arrays van databases, tape en optische media;
Encryptie op database niveau; en
Encryptie op applicatie niveau.
...
We hebben het hier over de software en hardware om te kunnen versleutelen, ontcijferen, authenticeren met behulp van cryptografie, digitaal handtekenen, enz.
Om dit te bereiken, worden drie principes toegepast:
Eliminatie van single points failure: ervoor zorgen dat onbeschikbaarheid van één enkele component geen impact heeft op de beschikbaarheid van cryptografie door middel van ontdubbeling en/of inbouwen van redundantie (software en hardware redundantie);
Betrouwbare failover als de hardware of software redundant is opgezet; en
Snelle en betrouwbare detectie van onbeschikbaarheden: incidenten die te maken hebben met onbeschikbaarheid van componenten moeten tijdig ontdekt en opgelost worden met minimale impact op de eindgebruikers.
...
Het is dus belangrijk dat de organisatie goed vastlegt welke sleutel(paren) geback-upt worden, hoelang de levensduur van sleutels en certificaten is per toepassing en wat de restore-procedure inhoudt. Indien in het kader van beschikbaarheid geopteerd wordt voor back-up van cryptografische sleutels, is het belangrijk om ook de algoritmen te back-uppen zodat een succesvolle restore gegarandeerd wordt.