Zero-Knowledge Proof
Een zero-knowledge proof is een cryptografische methode om te bewijzen dat een bewering waar is, zoals "de holder is ouder dan 18", zonder de onderliggende gegevens waarop die bewering berust, zoals de daadwerkelijke geboortedatum, prijs te geven.
Waar selective disclosure een houder toestaat gekozen claims ongewijzigd te onthullen, onthult een zero-knowledge proof helemaal niets: de verifier verneemt alleen dat de bewering klopt, ondersteund door een bewijs dat hij tegen de handtekening van de uitgever kan controleren. Dit is een sterkere privacygarantie dan selective disclosure, en een actief terrein van standaardisatie voor toekomstige credentialformaten die in het EUDI Wallet-ecosysteem worden gebruikt. Het bewijs is zo opgebouwd dat iedereen het tegen publieke parameters en de handtekening van de uitgever kan controleren, maar geen enkele combinatie van bewijzen die aan verschillende verifiers wordt overhandigd, kan worden herleid tot dezelfde credential of tot elkaar, wat het correlatierisico wegneemt dat ontstaat door herhaaldelijk dezelfde ondertekende waarde te tonen. Een eenvoudige selective-disclosure-credential laat nog steeds twee samenspannende verifiers een gehashte claim vergelijken en concluderen dat dezelfde houder beide heeft bezocht, terwijl een zero-knowledge proof van dezelfde bewering er elke keer dat hij wordt gegenereerd anders uitziet. De afweging is rekenkosten en complexiteit: het genereren en verifiëren van een zero-knowledge proof kost meer verwerkingskracht dan het controleren van een gewone handtekening, en de betrokken cryptografische schema's, zoals BBS+-handtekeningen of zk-SNARK's, zijn nieuwer en minder gestandaardiseerd dan de hash-gebaseerde selective disclosure die al in SD-JWT wordt toegepast. Meerdere EUDI Wallet-referentie-implementaties en pilots evalueren zero-knowledge-technieken als toekomstig upgradepad voor attributen waar onlinkbaarheid het meest telt, zoals leeftijds- of nationaliteitscontroles die worden herhaald over veel niet-gerelateerde diensten.
Gerelateerde termen
Betekent het gebruik van een zero-knowledge proof dat de verifier de houder blindelings moet vertrouwen?
Nee. De verifier vertrouwt nog steeds op cryptografie en niet op vertrouwen in de houder. Het bewijs koppelt de bewering wiskundig aan de oorspronkelijke handtekening van de uitgever, zodat een verifier zeker kan zijn dat een claim echt en ongewijzigd is, ook al ziet hij de onderliggende data nooit, dezelfde zekerheid die een normale handtekeningcontrole geeft, alleen zonder de waarde erachter bloot te geven.