Cet article est aussi disponible en français.
Cryptografie is de wetenschap die wiskundige principes toepast om gegevens te beveiligen. Het is onmisbaar in onze huidige samenleving. Denk maar aan veilige communicatie en het elektronisch ondertekenen van allerlei documenten. Cryptografische algoritmes die ooit als extreem veilig beschouwd werden, zijn vandaag volstrekt onvoldoende. Ooit zullen we – bijvoorbeeld door de komst van krachtige kwantumcomputers – geleidelijk of erg snel moeten migreren, weg van cryptografische methodes die vandaag de norm zijn. Dit artikel gaat in op de voorbereidingen die we daartoe kunnen treffen.
Veilige cryptografie wordt onveilig
Cryptografische mechanismes kunnen aan veiligheid inboeten omwille van diverse redenen, gaande van toegenomen computerkracht, doorbraken in cryptoanalyse en – dit is waar we ons vandaag het meeste zorgen over maken – de mogelijkheid om krachtige kwantumcomputers te bouwen.
Rekenkracht
Een eerste reden is de toename aan beschikbare rekenkracht op klassieke computers. In 1977 werd DES (Date Encryption Standard) gestandaardiseerd. DES bood een veiligheid van 56 bit, wat wil zeggen dat een aanvaller op zoek gaat naar de sleutel in een zoekruimte met 256 (72 miljoen miljard) mogelijkheden. Onder meer door de exponentiële toename van de beschikbare rekenkracht, is vandaag, overeenkomstig de wet van Moore, minimum 128 bit security vereist.
Vandaag wordt RSA-2048 nog vaak gebruikt voor onder meer authenticatie, sleuteluitwisseling en elektronische handtekeningen. Het is vandaag nog steeds op een deel van de actieve Belgische elektronische identiteitskaarten aanwezig. Met de 112 bit security die het biedt is het niet meteen onveilig, maar wordt het wel best uitgefaseerd. Sowieso is het geen goed idee om het in nieuwe systemen te adopteren.
Cryptoanalyse
Een tweede reden dat cryptografische mechanismes aan veiligheid kunnen inboeten zijn doorbraken in cryptoanalyse. Cryptoanalyse is de kunst om zwakheden te vinden in cryptografische methodes. Het was cruciaal in de 2e wereldoorlog om Enigma te kraken, wat het Nazi commando voorheen toeliet veilig met hun duikboten te communiceren. Met behulp van differential cryptanalysis kon ook de veiligheid van DES gereduceerd worden van 56 naar 47 bits. Ook recenter blijft cryptoanalyse een rol spelen. In 2008, bijvoorbeeld slaagde men erin een vals TLS certificaat te genereren doordat de onderliggende cryptografische hashfunctie, MD5, onveilig geworden was door cryptoanalytische doorbraken.
Cryptografisch Relevante Kwantumcomputers
Ten derde is er de dreiging van kwantumcomputers die jaar na jaar krachtiger worden en op termijn alle moderne publieke sleutelcryptografie onveilig kunnen maken. Dit zou resulteren in een situatie waarbij digitale handtekeningen, publieke-sleutel authenticatie, TLS verbindingen, etc. allen volstrekt onveilig worden. Men refereert doorgaans naar zo’n machines als cryptografisch relevante kwantumcomputers.
Niemand weet echt wanneer (en of) men in staat zal zijn dergelijke kwantumcomputers te bouwen. Zelfs de meningen onder experten zijn sterk verdeeld, zoals te zien is op onderstaande figuur, waarbij in 2021 46 experten geïnterviewd werden. Wel was de helft van de experten van oordeel dat er een kans was van minstens 50% dat er binnen 15 jaar – dus tegen 2036 – zo’n kwantumcomputer gebouwd zal worden.
Dit wil overigens niet zeggen dat we nog een kleine tien jaar kunnen wachten. Een aanvaller kan namelijk vandaag vercijferde communicatie onderscheppen en bewaren. Wanneer de aanvaller een aantal jaar later de beschikking heeft over een cryptografisch relevante kwantumcomputer kan hij of zij alsnog de data ontcijferen, die dan nog steeds gevoelig kan zijn. Dit wordt de harvest now decrypt later aanval genoemd.
Het BSI, het Duitse cybersecurityagentschap raadt aan om ervan uit te gaan dat cryptografisch relevante kwantumcomputers beschikbaar zullen zijn tegen het begin van het volgend decennium en om dit vandaag reeds mee te nemen in risicobeoordelingen. Dit is dus geen voorspelling, maar een conservatieve richtlijn voor risicobeoordeling.
Nieuwe standaarden en vertrouwen
Et is dus een aanzienlijk risico dat in de niet zo heel verre toekomst cryptografisch relevante kwantumcomuters gebouwd zullen worden. Gelukkig loopt er bij het NIST (National Institute for Standards and Technologies) sinds 2016 een procedure om post-quantum cryptografie (PQC) te standaardiseren. Het bestaat uit twee luiken:
- Key encapsulation laat twee partijen toe om een gedeelde sleutel overeen te komen waarmee de uit te wisselen data vercijferd wordt.
- Digitale handtekeningen laten onder meer toe om documenten elektronisch te ondertekenen en om partijen te authenticeren.
In augustus 2024 publiceerde het NIST de eerste standaarden:
- ML-KEM, gebaseerd op CRYSTALS-KYBER, is de eerste kwantumresistente standaard voor key encapsulation.
- ML-DSA, gebaseerd op CRYSTALS-Dilithium en SLH-DSA, gebaseerd op Sphincs+, zijn de twee eerste kwantumresistente standaarden voor digitale handtekeningen. Een derde standaard zit nog in de pijplijn. De toekomstige standaard FN-DSA, gebaseerd op Falcon, wordt in de komende maanden gepubliceerd.
In een eerdere blogpost geef ik alvast een idee onder meer van de performantie die we kunnen verwachten, alsook van de groottes van sleutels en digitale handtekeningen.
In de Verenigde Staten zet men alvast volop in op deze nieuwe standaarden, zoals ook blijkt uit de Quantum Computing Cybersecurity Preparedness Act die in december 2022 door president Biden ondertekend werd. Daarin wordt gesteld dat federale agentschappen binnen de zes maand een strategie moeten ontwikkelen voor hun migratie naar kwantumresistente cryptografie.
In Europa is men wat voorzichter. Het BSI, het toonaangevende Duitse cybersecurityagentschap, stelt:
The quantum-safe algorithms that are currently being standardized are not yet as well researched as the “classical” methods (for example RSA and ECC). This applies in particular to weaknesses that largely only become apparent in applications, such as typical implementation errors, possible side-channel attacks, etc. BSI therefore recommends that post-quantum cryptography should not be used in isolation if possible, but only in hybrid mode, i.e. in combination with classical algorithms.
Dit is een terechte redenering. Eind 2016 startte het NIST, zoals eerder aangegeven, een standaardisatieprocedure voor een nieuwe generatie, kwantumresistente publieke sleutelcryptografie. Tegen november 2017 werden 82 kandidaat algoritmes ingestuurd. SIKE was één van de acht kandidaat algoritmes die tot de finalisten behoorden. In 2022 – dus vijf jaar later – vond de COSIC onderzoeksgroep aan de KU Leuven een fundamentele zwakte, waardoor vercijfering m.b.v. SIKE in een paar minuten op een klassieke computer gebroken kon worden. Al die jaren bleef deze zwakte onder de radar van de wereldwijde cryptoanalyse community. We willen het scenario vermijden waarbij we massaal overschakelen naar een nieuw cryptografisch mechanisme, dat dan blijkbaar toch niet zo veilig is als aangenomen. Bovendien kunnen de nog jonge implementaties van deze algoritmes kwetsbaarheden bevatten.
Het zal dus nog wat tijd kosten om voldoende vertrouwen in de nieuwe standaarden en hun implementies te ontwikkelen.
Hybride modus
Het BSI stelt dus voor om initieel in hybride modus te werken, wat wil zeggen dat klassieke publieke sleutelcryptografie in tandem gebruikt wordt met kwantumresistente cryptografie. Wanneer één van beide algoritmes onveilig blijkt te zijn, is er niets aan de hand zolang het andere algoritme nog veilig is. Het biedt dus een dubbele beschermlaag.
Laat ons even concreet bekijken hoe dit in zijn werk gaat. Om een veilig communicatiekanaal op te zetten, moeten twee partijen een gedeelde sleutel afspreken. Dit is één van de stappen in het TLS protocol. Vandaag wordt daarvoor vaak de Diffie-Hellman key exchange methode gebruikt. X25519 is daar een concrete instantiatie van, gebaseerd op de elliptische kromme Curve25519. Diffie-Hellman is helaas niet opgewassen tegen cryptografisch relevante kwantumcomputers. De nieuwe standaard ML-KEM, gebaseerd op CRYSTALS-KYBER, wordt verondersteld dit wel te zijn. In onderstaande figuur spreken de client en de server in parallel twee gedeelde sleutels af; de oranje sleutel wordt afgesproken met X25519, de groene met CRYSTALS-KYBER. Die twee sleutels worden vervolgens gecombineerd tot één sleutel, waarmee vervolgens de uitgewisselde data vercijferd en ontcijferd zal worden.
Cryptographic Governance
Er zijn verschillende cryptografische mechanismes die ooit populair waren, maar vandaag onveilig zijn. Voorbeelden zijn DES, 3DES, MD5 en SHA1. Migratie van oude naar nieuwe cryptografie is dus een gegeven waar we rekening mee moeten houden. Bovendien heeft de geschiedenis ondertussen aangetoond dat volledige cryptografische migraties, zoals die van 3DES naar AES, tien jaar kunnen aanslepen en best veel resources vergen. Een cryptografische migratie is dan ook een lastig en moeilijk traject.
Een hybride modus resulteert bovendien meteen in twee toekomstige migraties. In eerste instantie wordt gemigreerd van de huidige publieke sleutelcryptografie naar hybride modus. Eens voldoende vertrouwen ontwikkeld is in de nieuwe standaarden en hun implementaties, wordt vervolgens gemigreerd naar uitsluitend kwantumresistente cryptografie.
Een gedegen cryptographic governance helpt ons alvast bij het detecteren waar migraties het dringends zijn, alsook bij het uitvoeren van de migratie zelf. Cryptographic governance laat een organisatie toe te begrijpen waar en hoe cryptografie gebruikt wordt en om veranderingen zoals migraties uit te voeren en te monitoren. Het bestaat uit onder meer onderstaande puzzelstukjes:
- De cryptografische inventaris biedt een overzicht van welke cryptografische mechanismes met welke parameters (vb. sleutellengte) gebruikt worden, voor welk doel (vb. bescherming data in transit), waar en om welke data te beschermen (vb. medische persoonsgegevens).
- Concrete cryptografische aanbevelingen; welke cryptografische algoritmes en parameters (vb. sleutellengtes) zijn veilig, welke dienen uitgefaseerd te worden, welke zijn onveilig, … Dergelijke aanbevelingen zijn reeds aanwezig binnen Smals en zijn tot stand gekomen dankzij Smals Research. Gegeven de dreiging die uitgaat van krachtige kwantumcomputers, is het waarschijnlijk dat de klassieke publieke sleutelcryptografie die vandaag aanbevolen wordt in de niet zo verre toekomst uitgefaseerd zal moeten worden.
- Documentatie van de uitzonderingen. Om communicatie met externe systemen (vb. van klanten of aanbieders van diensten) niet de facto onmogelijk te maken, kunnen tijdelijk uitzonderingen op de cryptografische aanbevelingen getolereerd worden. Dergelijke uitzonderingen dienen te worden gedocumenteerd; het risico wordt beschreven, de scope, het tijdsvenster en de goedkeuring (acceptatie) van het risico door het management.
- Crypto agility guidance moet project teams ondersteuning bieden bij het bouwen en aanpassen van toepassingen en diensten volgens de principes van cryptographic agility. Dat wil zeggen op zo’n manier dat rekening gehouden wordt met toekomstige cryptografische migraties.
- Een cryptografische policy is nodig om te vermijden dat de cryptografische aanbevelingen als vrijblijvende suggesties geïnterpreteerd worden en geeft hen dus een dwingend karakter. De cryptografische policy van Smals verwijst inderdaad naar onze aanbevelingen. Een cryptografische policy leidt tot een vereenvoudiging (uniformisering) van het crypto landschap binnen de organisatie. Het kan richting geven aan de migratie naar kwantumresistente standaarden, en de bouw van applicaties en diensten op een crypto-agile manier stimuleren.
- Cryptographic monitoring. Door het observeren van netwerkverkeer, kunnen we een inzicht krijgen in welke cryptografische mechanismes waar gebruikt worden en kan het helpen bij het uitvoeren van migraties. Dergelijke monitoring vereist gelukkig geen toegang tot de data in transit zelf.
In het bijzonder over de cryptogafische inventaris en crypto-agility wil Smals Research zich in de komende periode een scherper beeld vormen. Het is vandaag inderdaad zo dat de principes van crypto-agility en het idee van de cryptografische inventaris er wel zijn, maar dat de concrete uitwerking helaas nog wat ontbreekt, niet enkel bij Smals, maar wereldwijd. In het algemeen is er dus nog werk aan de winkel.
Cryptografische inventaris
Een cryptografische inventaris kan een overzicht bieden van onder meer:
- welke cryptografische mechanismes gebruikt worden. Bijvoorbeeld ECDSA om digitale handtekeningen te plaatsen of AES voor bulk vercijfering.
- welke parameters daarbij gebruikt worden. ECDSA kan bijvoorbeeld gebruik maken van de elliptische kromme P-256 en AES kan ingezet worden in GCM modus met sleutels met een lengte van 256 bits.
- welke cryptografische libraries of services daarbij gebruikt worden. Voorbeelden van libraries zijn BouncyCastle 1.78, en OpenSSL 3.0. Voorbeelden van services zijn de blinde pseudonimiseringsdienst van eHealth en AWS CloudHSM.
- welke data er beschermd wordt en met welk doel. Bijvoorbeeld integriteit en confidentialiteit van medische data at rest.
- Waar in de code gebruik gemaakt wordt van cryptografie. In de klasse AbcSigner van regel 254 tot regel 269.
Samengevat laat de cryptografische inventaris ons toe snel te lokaliseren waar zwakheden of mogelijke zwakheden zich lokaliseren en waar dus updates of migraties moeten gebeuren.
De inventaris is geen eenmalige oefening maar moet steeds geactualiseerd blijven. Discovery tools, zoals onder meer CipherInsights, IBM Quantum Safe Explorer, AgileSec Analytics en QryptoDiscover, kunnen ons helpen bij zowel het opbouwen als het up-to-date houden.
Zo’n inventaris kan veel details bevatten en, zeker voor wat grotere organisaties, erg complex worden. Het samenstellen en up-to-date houden dreigt dus een erg resource-intensieve operatie te worden. Bovendien maakt een organisatie gebruik van onder meer cryptografische libraries, cryptografische services, hardware van derden, etc. Er is dus nood aan een gestructureerde, gestandaardiseerde manier om een cryptografische inventaris uit te drukken, die automatisering en integratie faciliteert. Dit is waar IBM aan werkt met hun CBOM (cryptography Bill of Materials). We hopen alvast dat dit snel geadopteerd zal worden.
Een cryptografische inventaris zou alvast een aantal voordelen bieden, naast de migratie naar kwantumresistente cryptografie:
Security & resilience
Crypto risico is de mogelijkheid dat de organisatie schade ondervindt wanneer cryptografie niet doet wat het hoort te doen, onder meer door gebruik van verouderde cryptografische mechanismes of onveilige parameters, door gebrekkig sleutel- en certificaatbeheer of kwetsbaarheden in implementaties van cryptografische algoritmes. In de OWASP top 10, een awareness document voor ontwikkelaars en webapplicatiebeveiliging, staat ‘cryptographic failures’ op de tweede plaats. Voorbeelden zijn de $150M+ Capital One hack waarbij persoonsgegevens van miljoenen gebruikers gecompromitteerd werden ten gevolge van een sleutelbeheerprobleem, en de $200M+ Marriott Hotel hack waarbij door het onvolledig gebruik van encryptie miljoenen paspoortnummers openbaar werden. De cryptografische inventaris, eventueel aangevuld met cryptographic monitoring, maakt cryptografische risico’s inzichtelijk en helpt zo gelijkaardige incidenten te voorkomen. Crypto agility moet ons dan weer toelaten snel te migreren naar veilige cryptografie.
Compliance
Mede als gevolg van dergelijke incidenten stellen auditors zich hoe langer hoe minder tevreden met opervlakkige informatie over het gebruik van cryptografie. Een cyptografische inventaris, eventueel aangevuld met logs van cryptographic monitoring, biedt hen de mogelijkheid om vlot toegang te krijgen tot alle details omtrent het gebruik van cryptografie in de organisatie.
Het is dan ook logisch dat het hebben en onderhouden van een cryptografische inventaris meer en meer aanbevolen of zelfs opgelegd wordt. In de gemeenschappelijke publicatie door NSA, NIST en CISA Quantum readiness: Migration To Post-quantum Cryptography lezen we bijvoorbeeld:
“Organizations should create a cryptographic inventory that offers visibility into how the organization leverages cryptography in its IT (Information Technology) and OT (Operational Technology) systems. “
Compliance wordt vooral interessant wanneer de cryptografische inventaris naast gedetailleerde cryptografische aanbevelingen gelegd kan worden. Dat laatste is, zoals reeds vermeld, reeds aanwezig binnen Smals dankzij Smals Research.
Crypto-agility
Een crypto inventaris is een noodzakelijke stap richting cryptographic agility, of kortweg crypto-agility. Het is het vermogen om cryptografische mechanismes, zowel in software, hardware als infrastructuur, te vervangen en aan te passen, zonder dat daarbij de correcte werking van het systeem zelf onderbroken wordt. Op die manier kunnen oudere cryptografische mechanismes uitgefaseerd worden en nieuwere geadopteerd.
Hoewel de definitie van cryptographic agility niet altijd eenduidig is, lijkt onderstaande definitie, bestaande uit drie aspecten, vrij accuraat.
- Het vermogen van systemen om hun beveiligingsalgoritmen af te spreken in real-time en op basis van hun gecombineerde beveiligingsfuncties (dit is de hardware, software en firmware die gebruikt wordt om de veiligheid van een systeem te waarborgen);
- Het vermogen om nieuwe cryptografische functies of algoritmen toe te voegen aan bestaande hardware of software, wat resulteert in nieuwe, sterkere beveiligingsfuncties;
- Het vermogen om cryptografische systemen die kwetsbaar of verouderd zijn geworden, op een elegante manier uit te doven.
Hoe we cryptographic agility meer concreet in de praktijk kunnen brengen en wat de uitdagingen daarbij zijn is voer voor een toekomstig artikel. Wel kan TLS ons alvast inspireren. TLS is een cryptografisch protocol dat is ontworpen om veilige communicatie tussen twee partijen via een computernetwerk mogelijk te maken. Beide partijen spreken met elkaar af welke cryptografische mechanismes ze willen gebruiken voor authenticatie, key exchange, encryptie en hashing. Elke partij ondersteunt enkel die mechanismes die het veilig acht. Dit staat beschreven in een configuratiebestand, wat ons toelaat nieuwe cryptografische mechanismes toe te voegen en oude uit te faseren zonder de werking van de bovenliggende applicatie te beïnvloeden.
Conclusie
Kwantumcomputers worden cryptografisch relevant genoemd wanneer ze voldoende krachtig zijn om de moderne publieke sleutelcryptografie te breken. We staan daar vandaag nog ver van af en er is heel veel onzekerheid. We weten zelfs niet of de mensheid ooit in staat zal zijn om dergelijke machines te bouwen. Toch is het verstandig om het zekere voor het onzekere te nemen en ons daarop voor te bereiden.
De dreiging die momenteel uitgaat van kwantumcomputers en de publicatie van de nieuwe kwantumresistente cryptografische standaarden is dan ook een goede aanleiding om ons een algemenere vraag te stellen: hoe kunnen we onze cryptographic governance matuurder maken, zodat we
- een beter inzicht krijgen in welke cryptografie er binnen en door de organisatie gebruikt wordt en
- in staat zijn om relatief vlot te migreren indien nodig.
Dit is relevant, los van de dreiging die uitgaat van krachtige kwantumcomputers.
Smals is vandaag reeds bezig met die voorbereiding. We beschikken reeds over cryptografische aanbevelingen en een cryptografische policy. Maar er is meer nodig, onder meer een cryptografische inventaris en een adoptie van crypto-agility. Dit zijn elementen waar Smals Research de komende periode rond zal werken.
Er zijn vandaag nog heel wat vragen en onduidelijkheden, wat ons niet mag weerhouden reeds in actie te schieten. We gaan er trouwens van uit dat de publicatie van de nieuwe standaarden door het NIST alles in een stroomversnelling zal brengen.
Samengevat en ter afronding citeer ik Dr. Schabhüser, vice president van de Duitse BSI:
“Indien ik bedrijven en organisaties drie adviezen kon geven, zou het zijn
- Integreer het risico in je risk management systeem
- Creër een crypto inventaris
- Implementeer en gebruik crypto-agility”
Aarzel niet ons te contacteren voor meer informatie of eventuele samenwerking.
Dit is een ingezonden bijdrage van Kristof Verslype, cryptograaf bij Smals Research. Het werd geschreven in eigen naam en neemt geen standpunt in namens Smals.
Featured image by Michael Shehan Obeysekera
Leave a Reply