Το «zero-knowledge» γράφεται σε κάθε σελίδα password manager, συνήθως χωρίς εξήγηση. Εδώ είναι τι σημαίνει στην πράξη, χωρίς μαθηματικά, και γιατί είναι η μόνη λογική επιλογή όταν κρατάς κωδικούς για λογαριασμό άλλων.
Η μία πρόταση
Zero-knowledge σημαίνει ότι ο server αποθηκεύει τους κωδικούς σου χωρίς να μπορεί να τους διαβάσει. Η κρυπτογράφηση και η αποκρυπτογράφηση γίνονται μόνο στη συσκευή σου, με κλειδί που ο server δεν έχει δει ποτέ.
Η διαφορά από την «κανονική» κρυπτογράφηση
| Κρυπτογράφηση στον server | Zero-knowledge | |
|---|---|---|
| Πού κρυπτογραφείται | Στον server | Στον browser σου |
| Ποιος έχει το κλειδί | Ο server | Μόνο εσύ |
| Αν κλαπεί η βάση | Κινδυνεύει, αν κλαπεί και το κλειδί | Ο κλέφτης έχει μόνο κρυπτογραφήματα |
| Αν ξεχάσεις τον κωδικό | Ο πάροχος σε επαναφέρει | Χρειάζεσαι recovery key |
Η τελευταία γραμμή είναι το τίμημα. Αν κάποιος μπορεί να σε επαναφέρει χωρίς το δικό σου κλειδί, τότε μπορεί να διαβάσει και τους κωδικούς σου.
Τι γίνεται όταν γράφεις το master password
- Το master password δεν φεύγει ποτέ από τον browser. Δεν είναι ο κωδικός σύνδεσης στην εφαρμογή· είναι άλλο πράγμα.
- Περνά από το Argon2id, έναν αλγόριθμο σχεδιασμένο να είναι σκόπιμα αργός και να θέλει πολλή μνήμη. Αυτό κάνει τις μαζικές δοκιμές κωδικών εξαιρετικά ακριβές για έναν επιτιθέμενο.
- Το αποτέλεσμα είναι ένα κλειδί που ξεκλειδώνει το προσωπικό σου κλειδί.
- Με αυτό ανοίγεις τα κλειδιά των συλλογών που δικαιούσαι, και με αυτά τους κωδικούς, που είναι κρυπτογραφημένοι με AES-256-GCM.
Όλα αυτά γίνονται σε κλάσματα δευτερολέπτου, στη μνήμη της καρτέλας. Ένα refresh, ένα «κλείδωμα» ή λίγα λεπτά αδράνειας τα σβήνουν.
Πώς μοιράζεσαι κωδικούς χωρίς να τους δει ο server
Εδώ είναι το έξυπνο κομμάτι. Κάθε μέλος της ομάδας έχει ένα ζεύγος κλειδιών: ένα δημόσιο, που το ξέρουν όλοι, και ένα ιδιωτικό, που το ανοίγει μόνο ο ίδιος. Κάθε συλλογή (π.χ. ένα project) έχει ένα δικό της κλειδί.
Όταν ένας developer παίρνει πρόσβαση σε ένα project, ο browser κάποιου που ήδη έχει το κλειδί της συλλογής το «τυλίγει» με το δημόσιο κλειδί του developer. Ο server μεταφέρει αυτό το πακέτο, αλλά δεν μπορεί να το ανοίξει. Μόνο ο developer, με το δικό του master password.
Τι προστατεύει, με απλά λόγια
- Διαρροή βάσης ή backup: κανένας κωδικός δεν διαβάζεται.
- Περίεργος διαχειριστής server: δεν βλέπει τίποτα.
- Developer χωρίς πρόσβαση σε project: δεν έχει το κλειδί, άρα δεν ανοίγει τους κωδικούς του, ακόμα κι αν πάρει τα δεδομένα.
Τα όρια (που κάθε σοβαρός πάροχος λέει)
Κανένα σύστημα δεν είναι μαγικό. Το zero-knowledge δεν σε προστατεύει από:
- Μολυσμένη συσκευή. Αν ο υπολογιστής σου έχει keylogger, το master password κλέβεται όταν το γράφεις.
- Αλλαγμένο κώδικα. Σε μια web εφαρμογή, κάποιος με πρόσβαση στον server θα μπορούσε θεωρητικά να σερβίρει τροποποιημένο JavaScript. Γι’ αυτό μετρούν το 2FA, το ιστορικό και η ασφάλεια του ίδιου του server.
- Αδύναμο master password. Το Argon2id κάνει τις δοκιμές ακριβές, όχι αδύνατες. Μια φράση τεσσάρων ή πέντε τυχαίων λέξεων είναι πολύ καλύτερη από ένα «σύνθετο» κοντό κωδικό.
Ανάκτηση χωρίς πίσω πόρτα
Αφού κανείς δεν μπορεί να σε επαναφέρει, χρειάζεσαι δύο δίχτυα ασφαλείας:
- Recovery key: ένας μεγάλος κωδικός που παίρνεις την πρώτη μέρα και φυλάς εκτός συστήματος (τυπωμένος, σε χρηματοκιβώτιο). Ανοίγει το θησαυροφυλάκιο και ορίζεις νέο master password.
- Πρόσβαση έκτακτης ανάγκης: ορίζεις έναν συνεργάτη που μπορεί να ζητήσει πρόσβαση στα κλειδιά σου. Αν δεν απορρίψεις το αίτημα μέσα σε μια αναμονή (π.χ. 7 ημέρες), την παίρνει.
Συχνές ερωτήσεις
Αφού ο server δεν βλέπει τίποτα, πώς γίνεται η αναζήτηση;
Η λίστα με τα ονόματα των στοιχείων αποκρυπτογραφείται στον browser σου όταν ξεκλειδώνεις, και η αναζήτηση γίνεται εκεί. Το μυστικό κάθε στοιχείου έρχεται μόνο όταν πατήσεις «Εμφάνιση».
Είναι πιο αργό;
Το ξεκλείδωμα θέλει ένα δευτερόλεπτο περίπου, λόγω του Argon2id. Μετά, όλα είναι στιγμιαία.
Τι σημαίνει AES-256-GCM;
Είναι το πρότυπο κρυπτογράφησης που χρησιμοποιούν τράπεζες και κυβερνήσεις. Το GCM σημαίνει ότι κάθε κρυπτογράφημα έχει και έλεγχο ακεραιότητας: αν κάποιος το αλλάξει έστω κατά ένα bit, η αποκρυπτογράφηση αποτυγχάνει αντί να δώσει λάθος αποτέλεσμα.
Μπορεί ο βοηθός AI να δει τους κωδικούς;
Όχι. Δεν έχει το κλειδί, όπως δεν το έχει ο server. Δουλεύει μόνο με την καταγραφή projects και πόρων.

Αφήστε μια απάντηση