Onweerlegbaarheid

Onweerlegbaarheid (onloochenbaarheid) is de waarborg dat ontvangst en/of verzending van een contract of een bericht niet kan worden ontkend door de beide betrokken partijen, respectievelijk de ontvanger en de verzender.

Het is het doel van de traditionele handtekening op papier, op bijvoorbeeld een contract of als bevestiging van ontvangst van goederen. Als later de verzender of ontvanger claimt het contract niet te hebben ondertekend of verstuurd kan met behulp van de handtekening bewezen worden dat het wel degelijk die persoon was. Dus zorgt de handtekening ervoor dat zowel de verzender als de ontvanger het contract of de bevestiging niet kan weerleggen (ontkennen), onweerlegbaarheid.

Juridische betekenis bewerken

Er is een definitieverschil tussen het juridische gebruik van de term 'Onweerlegbaarheid' en het crypto-technische gebruik van de term. In de juridische zin kan een ondertekenaar van een document of contract altijd de handtekening weerleggen. De basis voor het weerleggen van een traditionele handtekening kan het volgende zijn:

  1. De handtekening is vervalst;
  2. De handtekening is niet vervalst, maar is op de volgende manier verkregen:
    1. Onbewust handelen bij een partij tijdens een transactie (je handtekening zetten onder een vals contract en op die manier wordt de handtekening verkregen);
    2. Vervalst door een derde partij;
    3. Onder invloed uitgeoefend door een derde partij.

Het lijkt erop dat dit recht verdwijnt in de digitale wereld (het kunnen ontkennen van een digitale handtekening). Als een persoon ontkent een handtekening gezet te hebben is het normaal gesproken aan de erop vertrouwende partij om te bewijzen dat de handtekening ook echt van die persoon is. Verder kan een getuige (iemand die de persoon de handtekening heeft zien zetten) het voor die persoon moeilijker maken om op een later tijdstip de handtekening te ontkennen. Dan komt de kwestie naar boven of een digitale handtekening op een andere manier behandeld moet worden ten opzichte van een traditionele handtekening. Het is aangegeven dat de wet haar standpunt niet mag veranderen aangaande de juridische rechten van partijen om een digitale handtekening te weerleggen.[1]

Crypto-technische betekenis bewerken

"In authenticiteit, een dienst die zorgt voor het bewijs van de integriteit en oorsprong van de data, beide in een onvergetelijke relatie, welke geverifieerd kan worden door elke derde partij op elk moment”[2]

Onweerlegbaarheid wordt veelal gerealiseerd met asymmetrische cryptografie, dat wil zeggen met het principe van een privésleutel en een publieke sleutel. Vaak gebeurt dit met PKI, in dit systeem verleent de CA (bijvoorbeeld een Trusted Third Party) certificaten aan andere partijen. In deze certificaten staat simpelweg dat een bepaalde publieke sleutel bij een bepaalde persoon hoort (en vaak tot hoelang het certificaat geldig is).

Voorbeeld van onweerlegbaarheid Als m het bericht is dan is [h(m)]d de handtekening bij dat bericht.

A → B : m, [h(m)]dA

A(Alice) stuurt naar B(Bob) het bericht m met als handtekening een one-way hash van m (h(m)) versleuteld met haar privésleutel. Hierdoor kan Alice niet meer ontkennen (weerleggen) dat zij het bericht gestuurd heeft, het is immers ondertekend met een hash van het bericht versleuteld met haar eigen privésleutel. Met het bovenstaande is naast onweerlegbaarheid ook integriteit (door middel van de hash van het bericht als handtekening) en authenticatie (het bericht moet wel van Alice komen want het is ondertekend met haar privésleutel).

Voorbeeld met gebruik van de CA

N: is een nonce (number used once)

Cert: is het certificaat

A → B : "Hi, let's talk"
B → CA : "CertA?"
B ← CA : CertA
A ← B : {N}eA
A → B : N

In dit voorbeeld wil Alice graag met Bob praten. Bob vraagt bij de CA het CertA (certificaat van Alice) op en de CA stuurt deze naar Bob terug. Bob verstuurt dan naar Alice een nonce (N) versleuteld met de publieke sleutel van Alice. Alice ontsleutelt deze en stuurt de nonce terug aan Bob, waardoor Bob weet dat Alice diegene is met de publieke sleutel die bij Alice hoort wat in het certificaat staat.

Voorbeeld met optioneel gebruik van de CA

De 2e en 3e regel zijn optioneel.

A → B : “Hi let’s talk” + CertA
B → CA : CertA ok?
B ← CA : Yes
A ← B : {N}eA
A → B : N

In dit voorbeeld wil Alice ook graag met Bob praten. Zij stuurt gelijk haar certificaat mee. Bob kan optioneel bij de CA controleren of het certificaat van Alice geldig is. Vervolgens stuurt Bob naar Alice een nonce, versleuteld met haar publieke sleutel en Alice stuurt als antwoord de versleutelde nonce terug.

Omdat het versleutelen en ontsleutelen met asymmetrische cryptografie relatief gezien erg langzaam en rekenintensief is, wordt het vaak gebruikt om een sessiesleutel te versturen waarmee tijdens het (tijdelijke) gesprek versleutelde berichten worden verstuurd.

Voorbeeld

A → B : {K}eB K{m}, [h(m)]dA

Hier stuurt Alice aan Bob de sessiesleutel versleuteld met Bobs publieke sleutel, het bericht versleuteld met de sessiesleutel en de handtekening van Alice. Hierdoor kan alleen Bob, die de versleutelde sessiesleutel kan ontsleutelen, deze in handen krijgen en het bericht ontsleutelen.

Verder is de geldigheid van certificaten ook vaak een probleem omdat het certificaat bij de CA op een CRL (Certificate Revocation List) gezet moet worden, en dus moet de geldigheid regelmatig gecontroleerd moet worden dan wel op een centrale plek of decentraal via bijvoorbeeld regelmatige downloads.

Zie ook bewerken