Identiteitsgebaseerde authenticatie: je naam als sleutel
Stel je wilt iemand een vertrouwelijke brief sturen die alleen die persoon kan openen. Normaal gesproken moet je eerst de "digitale sleutel" van die persoon opzoeken in een soort telefoonboek, en je moet erop vertrouwen dat een officiële instantie heeft gecontroleerd dat die sleutel echt bij die persoon hoort. Bij identiteitsgebaseerde authenticatie valt die zoektocht weg: je schrijft simpelweg het e-mailadres of de naam van de ontvanger op de envelop, en dat is meteen de sleutel. Alleen de juiste persoon kan de envelop openen, zonder dat er vooraf een certificaat is uitgewisseld.
Dit klinkt eenvoudiger dan het is, en dat is precies waarom het decennialang een puzzel voor cryptografen is geweest. Het idee is niet nieuw: het werd al in 1984 bedacht, maar een werkende, veilige uitwerking liet tot 2001 op zich wachten. Vandaag de dag draait identiteitsgebaseerde authenticatie vooral in nichetoepassingen zoals beveiligde overheidscommunicatie en bepaalde Chinese systemen, en niet in de browser waarmee je dit artikel leest. Toch is het een blijvend interessant hoofdstuk in het denken over hoe we online kunnen bewijzen wie we zijn, en waarom.
Wat is het precies?
Bij gewone beveiligde verbindingen, zoals het slotje in je browser, werkt vertrouwen via zogeheten publieke-sleutelinfrastructuur (PKI). Iedereen heeft een sleutelpaar: een publieke sleutel die je mag delen, en een geheime sleutel die je verborgen houdt. Om te voorkomen dat iemand een valse publieke sleutel rondstuurt en zich voordoet als een ander, geeft een certificaatautoriteit (CA) een certificaat uit: een digitale verklaring die de publieke sleutel koppelt aan een geverifieerde identiteit, zoals een domeinnaam.
Identiteitsgebaseerde cryptografie, het vakgebied waar identiteitsgebaseerde authenticatie onder valt, doet dat certificaat weg. In plaats daarvan is de identiteit zelf, bijvoorbeeld een e-mailadres, direct de publieke sleutel. Er is geen aparte zoekactie of certificaatcontrole meer nodig.
Dat kan alleen werken dankzij een vertrouwde derde partij, de Private Key Generator (PKG). Deze partij bezit een geheime hoofdsleutel en publiceert daarnaast een aantal openbare systeemparameters. Wanneer iemand zijn identiteit bij de PKG bewijst, bijvoorbeeld door in te loggen, berekent de PKG met de hoofdsleutel en die identiteit een persoonlijke geheime sleutel en geeft die veilig af.
Vanaf dat moment kan iedereen, zonder ooit met die persoon te hebben gecommuniceerd, berichten voor hem versleutelen of zijn digitale handtekening controleren. Er is alleen de identiteitsstring nodig, plus de openbare parameters van de PKG. Voor handtekeningen (identiteitsgebaseerde signatures) bestond al sinds 1984 een werkende methode. Voor versleuteling (identiteitsgebaseerde encryptie, IBE) duurde het tot 2001, toen twee onafhankelijke groepen een praktisch bruikbare oplossing vonden met wiskundige technieken die "bilineaire pairings" op elliptische krommen worden genoemd, en met een aparte methode gebaseerd op zogeheten kwadratische resten.
Wat wil men ermee bereiken?
Het belangrijkste doel is het wegnemen van de rompslomp rond certificaten. Het uitgeven, distribueren, vernieuwen en intrekken van certificaten is in de praktijk een aanzienlijke technische en organisatorische last, zeker in omgevingen met veel apparaten of gebruikers, zoals sensornetwerken, voertuignetwerken of het internet der dingen (IoT), waar apparaten vaak weinig rekenkracht en geheugen hebben.
Een ander aantrekkelijk kenmerk is dat je iemand een versleuteld bericht kunt sturen nog vóórdat die persoon zelf ooit een sleutelpaar heeft aangemaakt. Zodra de ontvanger zich voor het eerst bij de PKG meldt, kan hij het bericht alsnog ontcijferen. Dat is bij klassieke PKI niet mogelijk, omdat daar eerst een sleutelpaar en certificaat moeten bestaan.
Belangrijk om eerlijk te benoemen: identiteitsgebaseerde cryptografie schaft vertrouwen niet af, het verplaatst het. In plaats van een CA te vertrouwen die alleen certificaten ondertekent, moet je nu een PKG vertrouwen die letterlijk ieders geheime sleutel kan berekenen, omdat die de hoofdsleutel bezit. Dit heet het "key escrow"-probleem: de PKG zou in theorie elk bericht kunnen ontcijferen of zich voor kunnen doen als elke gebruiker. Voor sommige toepassingen, zoals binnen één organisatie met een interne, vertrouwde beheerder, is dat acceptabel of zelfs gewenst. Voor open, publieke communicatie tussen wantrouwende partijen is het juist een groot nadeel.
Voorbeelden uit de praktijk
Een aantal concrete toepassingen laat zien hoe de techniek buiten de onderzoekswereld is gebruikt:
- Voltage Security (opgericht in 2002, mede voortgekomen uit onderzoek aan Stanford University) bracht producten op de markt voor identiteitsgebaseerde e-mailversleuteling, waarbij het e-mailadres van de ontvanger direct als sleutel diende. Het bedrijf werd in 2015 overgenomen door HP en de technologie is via latere fusies terechtgekomen bij OpenText.
- Trend Micro bracht eveneens een product voor identiteitsgebaseerde e-mailencryptie uit, gericht op bedrijven die veilig met klanten wilden communiceren zonder dat die klanten eerst zelf een certificaat hoefden aan te schaffen.
- MIKEY-SAKKE, een protocol dat mede is ontwikkeld met betrokkenheid van de Britse signals-intelligencedienst GCHQ en vastgelegd is in de IETF-standaarden RFC 6507 en RFC 6508 (2012), gebruikt identiteitsgebaseerde technieken voor beveiligde spraak- en videocommunicatie, onder meer binnen het Britse Secure Chorus-kader voor overheidscommunicatie.
- SM9, een Chinese nationale cryptografiestandaard uit 2016, is een identiteitsgebaseerd systeem voor versleuteling, handtekeningen en sleuteluitwisseling. Het is internationaal erkend via opname in ISO/IEC-normen en wordt gebruikt in diverse Chinese overheids- en bedrijfssystemen.
- Op onderzoeksniveau publiceerden Craig Gentry, Chris Peikert en Vinod Vaikuntanathan in 2008 een identiteitsgebaseerd versleutelingsschema gebaseerd op roosters (lattices) in plaats van elliptische krommen, een richting die relevant is met het oog op toekomstige quantumcomputers.
Hoe ver is de techniek?
Wiskundig en cryptografisch gezien is het terrein volwassen. Het concept dateert uit 1984, de eerste praktische versleutelingsschema's uit 2001, en er bestaan sindsdien gevestigde standaarden zoals IEEE 1363.3 (2013) voor pairing-gebaseerde identiteitsgebaseerde cryptografie en meerdere IETF-documenten. Er is dus geen sprake van een prilletechnologie in de zin dat de basisprincipes nog onbewezen zouden zijn.
De brede, mainstream doorbraak is echter uitgebleven. Buiten specifieke gesloten omgevingen, zoals overheidscommunicatie in het Verenigd Koninkrijk of bepaalde Chinese systemen, wordt het internetverkeer van alledag nog steeds beveiligd met klassieke PKI en certificaten. Een belangrijke reden is dat het oorspronkelijke probleem dat identiteitsgebaseerde cryptografie moest oplossen, de kosten en complexiteit van certificaten, inmiddels grotendeels is verlicht door gratis en geautomatiseerde certificaatdiensten zoals Let's Encrypt. Daarnaast blijft het key-escrow-probleem, waarbij één partij in potentie alle geheime sleutels kent, voor veel toepassingen een principieel bezwaar.
Een ander aandachtspunt is de opkomst van de quantumcomputer. De gangbare identiteitsgebaseerde schema's, gebaseerd op bilineaire pairings op elliptische krommen, steunen op wiskundige problemen die net als bij RSA en gewone elliptische-krommecryptografie in theorie te kraken zijn met het algoritme van Shor op een voldoende krachtige quantumcomputer. Ze zijn dus niet "post-quantum veilig". Onderzoek naar roostergebaseerde alternatieven, zoals het genoemde werk van Gentry, Peikert en Vaikuntanathan, loopt al sinds 2008, maar heeft nog niet geleid tot brede standaardisatie of inzet.
Wie werken eraan?
Het fundament is gelegd door individuele onderzoekers: Adi Shamir (Weizmann Institute of Science, Israël) introduceerde het concept in 1984, en Dan Boneh en Matthew Franklin (Stanford University, Verenigde Staten) leverden in 2001 het eerste praktische versleutelingsschema. Onafhankelijk daarvan ontwikkelde Clifford Cocks, verbonden aan de Britse dienst GCHQ, rond dezelfde tijd een eigen variant.
Op standaardisatievlak zijn de IETF, de IEEE (via de werkgroep achter IEEE 1363.3) en ISO/IEC betrokken geweest bij het vastleggen van interoperabele specificaties. In China is de State Cryptography Administration verantwoordelijk voor de SM9-standaard, die breed wordt toegepast door Chinese technologiebedrijven.
Aan de toepassingskant hebben bedrijven als het voormalige Voltage Security (nu onderdeel van OpenText) en Trend Micro commerciële producten gebouwd. In het Verenigd Koninkrijk heeft GCHQ, via zijn defensieve tak het National Cyber Security Centre (NCSC), een sturende rol gespeeld bij MIKEY-SAKKE voor beveiligde overheidscommunicatie. Landen die het meest zichtbaar actief zijn met deze techniek, zowel in onderzoek als in toepassing, zijn de Verenigde Staten, het Verenigd Koninkrijk en China.