Απόδειξη Μηδενικής Γνώσης
(Zero-Knowledge Proof)
Μια απόδειξη μηδενικής γνώσης είναι μια κρυπτογραφική μέθοδος για την απόδειξη ότι μια δήλωση είναι αληθής, όπως «ο κάτοχος είναι άνω των 18 ετών», χωρίς να αποκαλύπτονται τα υποκείμενα δεδομένα στα οποία βασίζεται η δήλωση, όπως η πραγματική ημερομηνία γέννησης.
Ενώ η selective disclosure επιτρέπει σε έναν holder να αποκαλύψει επιλεγμένες claims ως έχουν, μια zero-knowledge proof δεν αποκαλύπτει τίποτα: ο verifier μαθαίνει μόνο ότι η δήλωση ισχύει, υποστηριζόμενη από μια απόδειξη που μπορεί να ελέγξει έναντι της υπογραφής του εκδότη. Αυτή είναι μια ισχυρότερη εγγύηση απορρήτου σε σχέση με τη selective disclosure, και αποτελεί ενεργό πεδίο τυποποίησης για μελλοντικές μορφές credentials που θα χρησιμοποιηθούν στο οικοσύστημα του EUDI Wallet. Η απόδειξη κατασκευάζεται έτσι ώστε οποιοσδήποτε να μπορεί να την ελέγξει έναντι δημόσιων παραμέτρων και της υπογραφής του εκδότη, ωστόσο καμία συνδυασμένη ομάδα αποδείξεων που δόθηκαν σε διαφορετικούς verifiers δεν μπορεί να συνδεθεί πίσω στο ίδιο credential ή μεταξύ τους, κάτι που εξαλείφει τον κίνδυνο συσχέτισης που προκύπτει από την επανειλημμένη επίδειξη της ίδιας υπογεγραμμένης τιμής. Ένα απλό credential με selective disclosure εξακολουθεί να επιτρέπει σε δύο verifiers που συνεργάζονται να συγκρίνουν μια hashed claim και να συμπεράνουν ότι ο ίδιος holder επισκέφθηκε και τους δύο, ενώ μια zero-knowledge proof της ίδιας ακριβώς δήλωσης φαίνεται διαφορετική κάθε φορά που παράγεται. Το αντιστάθμισμα είναι το υπολογιστικό κόστος και η πολυπλοκότητα: η παραγωγή και η επαλήθευση μιας zero-knowledge proof απαιτεί περισσότερη επεξεργαστική ισχύ από τον έλεγχο μιας απλής υπογραφής, και τα κρυπτογραφικά σχήματα που εμπλέκονται, όπως οι υπογραφές BBS+ ή τα zk-SNARKs, είναι νεότερα και λιγότερο τυποποιημένα από τη hash-based selective disclosure που είναι ήδη σε χρήση στο SD-JWT. Αρκετές υλοποιήσεις αναφοράς και πιλοτικά προγράμματα του EUDI Wallet αξιολογούν τεχνικές zero-knowledge ως μελλοντική διαδρομή αναβάθμισης για attributes όπου η μη συσχετισιμότητα (unlinkability) έχει τη μεγαλύτερη σημασία, όπως οι έλεγχοι ηλικίας ή εθνικότητας που επαναλαμβάνονται σε πολλές άσχετες υπηρεσίες.
Σημαίνει η χρήση μιας zero-knowledge proof ότι ο verifier πρέπει να εμπιστευτεί τυφλά τον holder;
Όχι. Ο verifier εξακολουθεί να βασίζεται στην κρυπτογραφία και όχι στην εμπιστοσύνη προς τον holder. Η απόδειξη συνδέει μαθηματικά τη δήλωση με την αρχική υπογραφή του εκδότη, ώστε ο verifier να είναι βέβαιος ότι μια claim είναι γνήσια και αναλλοίωτη ακόμη κι αν δεν βλέπει ποτέ τα υποκείμενα δεδομένα, την ίδια διαβεβαίωση που δίνει ένας κανονικός έλεγχος υπογραφής, απλώς χωρίς να εκθέτει την τιμή πίσω από αυτήν.