Hoe de digitale handtekening werkt

Herbert Blankesteijn

Binnen afzienbare tijd zal in Nederland en de rest van de Europese Unie de digitale handtekening rechtsgeldig worden. Dit betekent dat bedrijven en op termijn ook particulieren elkaar digitaal rechtsgeldige documenten kunnen sturen. Daarvoor moet je zeker weten dat degene van wie je een document ontvangt, is wie hij zegt dat hij is, en je moet zeker weten dat het document onderweg niet is veranderd. Hoe werkt dit?

Hiervoor wordt Public Key Infrastructure (pki) gebruikt. Pki is op internet al jaren in gebruik, vooral voor het coderen van mail. Hoewel het toepassen van geheimschrift en het ondertekenen of verzegelen van een zending verschillende dingen zijn, worden ze vaak in een adem genoemd en gezamenlijk toegepast. Als je van een document zeker wilt weten wie de afzender is en dat er niet mee is geknoeid, zul je vaak ook verlangen dat onbevoegden het niet kunnen lezen. Voor beide heb je op internet speciale maatregelen nodig. De ware identiteit van een afzender is soms lastig vast te stellen. Ook kunnen bestanden makkelijk bekeken en veranderd worden, bijvoorbeeld door systeembeheerders of hackers, en kun je niet zomaar zien of dat is gebeurd, zoals dat met een brief wel kan.

Pki moet dit soort problemen oplossen. Iedereen die pki gebruikt, heeft twee sleutels, een geheime en een openbare. Deze sleutels zijn in de praktijk getallen. Hoe een getal een sleutel kan zijn? Neem het primitieve geheimschrift waarbij elke letter van het alfabet een paar posities 'opschuift'. Een A wordt een E, een B een F, enzovoort. Het aantal posities, 5, is in dit geval de sleutel. Zo is in principe iedere cryptografische sleutel voor te stellen door een getal; hoe ingewikkelder (en veiliger) de cryptografie, hoe groter het getal.

Met de geheime sleutel kan een mail worden getekend. Deze handeling houdt in dat uit de inhoud van een mail een getal wordt gedestilleerd; daar wordt de geheime sleutel op losgelaten (er wordt een wiskundige bewerking uitgevoerd), en het resultaat wordt meegestuurd als handtekening. Met de publieke sleutel van dezelfde persoon, die in openbare databases op internet te vinden is, kan deze handtekening worden gecontroleerd. Deze controle is ook weer een wiskundige operatie. Als de uitkomst niet klopt, is de mail veranderd óf de juiste geheime sleutel is niet gebruikt, en dan is de afzender niet wie hij beweert te zijn. Klopt de uitkomst wel, dan is het praktisch gesproken zeker dat zowel identiteit van de persoon als integriteit van het bericht in orde zijn.

Omdat voor het controleren van de handtekening alleen de publieke sleutel nodig is, kan iedereen dit doen. Het bericht is dus niet gecodeerd (Beet weigert het afschuwelijke woord 'versleutelen' te gebruiken). Coderen is mogelijk met behulp van de openbare sleutel van de geadresseerde. Het openen van zo'n beschermde mail is alleen mogelijk met behulp van de geheime sleutel van de geadresseerde. Dat betekent dus dat alleen de echte geadresseerde dit kan doen, als deze persoon goed op zijn sleutel past tenminste. Digitaal tekenen verzekert dus de identiteit van de afzender, encryptie de aankomst bij de juiste persoon.

Een populair programma voor dit soort werk is Pgp (Pretty Good Privacy) [www.pgp.com], al laat dit programma een belangrijke stap achterwege: het controleren van de feitelijke identiteit van de gebruikers. Iedereen die Pgp installeert, kan met een druk op de knop een combinatie van openbare en geheime sleutel laten genereren. Dan kan een briefwisseling honderd keer zijn ondertekend, u weet niet wie er achter dat mailadres zit (wel dat het steeds dezelfde persoon is). Vandaar dat een toekomstige rechtsgeldige digitale handtekening uitgegeven zal worden door gecertificeerde bedrijven, die uw paspoort of rijbewijs zullen willen zien plus een aantal euro's, alvorens u een combinatie van sleutels ter hand te stellen.