Διάγραμμα κρυπτογράφησης μηδενικής γνώσης

Τι είναι η κρυπτογράφηση μηδενικής γνώσης; Απλός οδηγός

Ο πάροχος δεν μπορεί να αποκτήσει πρόσβαση στα δεδομένα σας, όχι από πολιτική, αλλά από μαθηματικά.

Κρυπτογράφηση μηδενικής γνώσης (zero-knowledge encryption) σημαίνει ότι ο πάροχος μιας υπηρεσίας δεν έχει γνώση για τα κλειδιά κρυπτογράφησής σας. Τα κλειδιά παράγονται από τον κωδικό σας στη συσκευή σας και ποτέ δεν φεύγουν από εκεί. Αν ο πάροχος δεχθεί νομική πίεση, υποστεί παραβίαση δεδομένων ή αποφασίσει να κοινοποιήσει δεδομένα, δεν μπορεί να αποκρυπτογραφήσει τα αρχεία σας, γιατί δεν έχει ποτέ το κλειδί.

Πώς λειτουργεί τεχνικά

Σε ένα σύστημα μηδενικής γνώσης, η παραγωγή κλειδιών γίνεται εξ ολοκλήρου στη συσκευή του χρήστη:

  1. Ο χρήστης εισάγει κωδικό (ή μοτίβο).
  2. Ο κωδικός τρέχει μέσω συνάρτησης παραγωγής κλειδιού (όπως PBKDF2 ή Argon2) με τυχαίο salt.
  3. Παράγεται κλειδί κρυπτογράφησης, τοπικά, στη μνήμη.
  4. Τα δεδομένα κρυπτογραφούνται με αυτό το κλειδί.
  5. Το κλειδί δεν αποθηκεύεται και δεν αποστέλλεται πουθενά.

Ο server λαμβάνει μόνο κρυπτογραφημένα blobs, αδιάβαστα χωρίς το κλειδί που κρατάτε μόνο εσείς.

Τυπική κρυπτογράφηση vs μηδενική γνώση

Χαρακτηριστικό Τυπική κρυπτογράφηση Κρυπτογράφηση μηδενικής γνώσης
Ποιος κρατά το κλειδί;Ο πάροχος (ή και ο χρήστης)Μόνο ο χρήστης
Επαναφορά κωδικού;Ναι, ο πάροχος μπορείΌχι, αδύνατο χωρίς το κλειδί
Προστασία έναντι παραβίασης server;ΜερικήΝαι, ο server έχει μόνο blobs
Προστασία έναντι νομικής πίεσης;Όχι, ο πάροχος μπορεί να συμμορφωθείΝαι, δεν έχει τίποτα για να δώσει

Πότε η «κρυπτογράφηση» δεν είναι μηδενικής γνώσης

Αν μια υπηρεσία προσφέρει επαναφορά κωδικού μέσω email ή SMS, δεν είναι μηδενικής γνώσης. Η επαναφορά κωδικού απαιτεί ότι ο πάροχος μπορεί να σας δώσει ξανά πρόσβαση, άρα κρατά κάποια μορφή κλειδιού ή ανάκτησης.

Αν η εφαρμογή λέει «κρυπτογραφημένο» αλλά προσφέρει «Ξέχασα τον κωδικό» με επαναφορά σε νέο, δεν είναι zero-knowledge. Κρατά το κλειδί κάπου.

Πώς το Vaultaire υλοποιεί μηδενική γνώση

Το Vaultaire παράγει κλειδί κρυπτογράφησης από το μοτίβο σας μέσω PBKDF2-SHA512 με 600.000 επαναλήψεις και μοναδικό salt ανά θησαυροφυλάκιο. Το κλειδί δεν αποθηκεύεται ποτέ, ούτε τοπικά ούτε σε server. Κάθε φορά που κλείνει η εφαρμογή, τα κλειδιά διαγράφονται από τη μνήμη. Δεν υπάρχει επαναφορά κωδικού, αν χαθεί το μοτίβο, η φράση ανάκτησης BIP-39 είναι η μόνη διέξοδος.

Πώς να επαληθεύσετε αν μια εφαρμογή είναι zero-knowledge

  1. Ελέγξτε για επαναφορά κωδικού. Αν υπάρχει, δεν είναι zero-knowledge.
  2. Ελέγξτε αν απαιτεί λογαριασμό. Λογαριασμός σε server σημαίνει πιθανή αποθήκευση κλειδιών.
  3. Αναζητήστε τεχνική τεκμηρίωση κρυπτογραφίας. Τι αλγόριθμος; Πόσες επαναλήψεις PBKDF2; Πού αποθηκεύεται το salt;
  4. Δοκιμάστε σε λειτουργία αεροπλάνου. Αν η εφαρμογή λειτουργεί χωρίς internet, είναι καλό σημάδι ότι δεν στέλνει κλειδιά.

Συχνές ερωτήσεις

Τι σημαίνει μηδενική γνώση σε μια εφαρμογή;

Ο πάροχος της εφαρμογής δεν έχει πρόσβαση στα δεδομένα σας ούτε στα κλειδιά κρυπτογράφησης. Τα κλειδιά παράγονται από τον κωδικό σας και δεν αποθηκεύονται ποτέ σε server.

Ποια η διαφορά μεταξύ κρυπτογράφησης μηδενικής γνώσης και τυπικής κρυπτογράφησης;

Στην τυπική κρυπτογράφηση ο πάροχος κρατά κλειδί ή μπορεί να επαναφέρει τον κωδικό. Στη μηδενική γνώση δεν έχει ποτέ το κλειδί, αδύνατη η πρόσβαση ακόμα και νομικά.

Πώς επαληθεύω ότι μια εφαρμογή είναι πραγματικά zero-knowledge;

Ελέγξτε αν προσφέρει επαναφορά κωδικού μέσω email. Αν ναι, κρατά κλειδί. Αναζητήστε δημοσιευμένη τεκμηρίωση κρυπτογραφίας ή ανοικτό κώδικα.

Συμπέρασμα

Κρυπτογράφηση μηδενικής γνώσης δεν είναι εμπορικός όρος, είναι μαθηματική ιδιότητα. Είτε ο πάροχος έχει το κλειδί είτε όχι. Για εφαρμογές που αποθηκεύουν ευαίσθητα αρχεία, φωτογραφίες, έγγραφα, προσωπικά δεδομένα, η μηδενική γνώση είναι το μόνο σχήμα που δίνει πραγματική εγγύηση: ακόμα και αν ο πάροχος υποστεί παραβίαση ή συμμορφωθεί με ένταλμα, τα δεδομένα σας παραμένουν προστατευμένα.