Το holder binding με απλά λόγια: γιατί ένα αντιγραμμένο διαπιστευτήριο δεν αξίζει τίποτα
Ένα υπογεγραμμένο διαπιστευτήριο είναι ένα πολύ καλό αντίγραφο του εαυτού του. Όποιος αποκτήσει ένα, έχει στα χέρια του ένα έγγραφο με έγκυρη υπογραφή εκδότη, και ο έλεγχος αυτής της υπογραφής θα του πει πρόθυμα ότι είναι γνήσιο. Το holder binding είναι το κομμάτι που κλείνει αυτό το κενό: δένει το διαπιστευτήριο με ένα κλειδί που μπορεί να χρησιμοποιήσει μόνο ένα πρόσωπο, ώστε για να το παρουσιάσει κανείς να μην αρκεί να το έχει.
Αυτή η σελίδα είναι η εκδοχή σε απλή γλώσσα. Εξηγεί τι είναι στην πράξη η σύνδεση, πότε δημιουργείται, πώς την υλοποιεί καθένα από τα δύο ευρωπαϊκά formats διαπιστευτηρίων, και το κομμάτι που παραλείπουν οι περισσότερες εξηγήσεις: τι εξακολουθεί να μη λέει το holder binding σε έναν επαληθευτή.
Το πρόβλημα που λύνει
Τα ψηφιακά έγγραφα αντιγράφονται τέλεια. Μια φωτογραφία ενός διαβατηρίου είναι κακή πλαστογραφία, επειδή το χαρτί φέρει φυσικά χαρακτηριστικά που χάνονται σε μια φωτοτυπία, όμως ένα υπογεγραμμένο διαπιστευτήριο δεν έχει τέτοιο προδοτικό σημάδι. Αντιγράψτε το αρχείο και το αντίγραφο επαληθεύεται εξίσου καλά με το πρωτότυπο, επειδή η υπογραφή του εκδότη καλύπτει το περιεχόμενο και το περιεχόμενο δεν άλλαξε.
Άρα ένας επαληθευτής που ελέγχει μόνο την υπογραφή του εκδότη απαντά στη λάθος ερώτηση. Έμαθε ότι τα claims είναι αυθεντικά. Δεν έμαθε τίποτα για το αν το μέρος που έχει απέναντί του δικαιούται να τα χρησιμοποιεί, που είναι συνήθως αυτό που πραγματικά χρειαζόταν να ξέρει.
Τα claims
Τα στοιχεία που δηλώνει το διαπιστευτήριο: ένα όνομα, μια ημερομηνία γέννησης, μια κατηγορία διπλώματος, ένας αριθμός εταιρείας. Αυτό είναι το κομμάτι που φαντάζονται όλοι όταν σκέφτονται ένα διαπιστευτήριο.
Η υπογραφή του εκδότη
Απόδειξη ότι αυτά τα στοιχεία προέρχονται από τον εκδότη και δεν έχουν αλλοιωθεί από τότε. Δεν λέει απολύτως τίποτα για το ποιος τα κατέχει τώρα.
Το δημόσιο κλειδί του κατόχου
Το κομμάτι που κάνει τη σύνδεση. Ο εκδότης γράφει το δημόσιο κλειδί του κατόχου μέσα στο υπογεγραμμένο διαπιστευτήριο, οπότε το διαπιστευτήριο κατονομάζει πλέον το κλειδί που επιτρέπεται να το παρουσιάσει.
Πότε δημιουργείται η σύνδεση και πότε χρησιμοποιείται
Η σύνδεση δημιουργείται μία φορά, κατά την έκδοση, και τίθεται σε λειτουργία κάθε φορά που παρουσιάζεται το διαπιστευτήριο. Ο κάτοχος δεν βλέπει τίποτα από αυτά πέρα από το αίτημα ξεκλειδώματος που ήδη περιμένει.
1. Το πορτοφόλι φτιάχνει ένα κλειδί
Πριν ζητήσει οτιδήποτε, το πορτοφόλι δημιουργεί ένα νέο ζεύγος κλειδιών μέσα στο ίδιο το ασφαλές υλικό του τηλεφώνου. Το ιδιωτικό μισό δεν μπορεί να διαβαστεί προς τα έξω, ούτε καν από την εφαρμογή του πορτοφολιού.
2. Ο εκδότης το καταχωρίζει
Το πορτοφόλι στέλνει το δημόσιο μισό μαζί με το αίτημά του και αποδεικνύει ότι κατέχει το ιδιωτικό. Ο εκδότης βάζει αυτό το δημόσιο κλειδί μέσα στο διαπιστευτήριο πριν το υπογράψει.
3. Ένας επαληθευτής ζητά
Το αίτημα περιέχει μια νέα τυχαία τιμή και δηλώνει ποιος ρωτά, ώστε η απάντηση να μπορεί να χρησιμοποιηθεί μόνο μία φορά και μόνο από το μέρος που τη ζήτησε.
4. Το πορτοφόλι υπογράφει
Το πορτοφόλι υπογράφει την απάντηση με το ιδιωτικό κλειδί, συνήθως μετά από δακτυλικό αποτύπωμα ή PIN. Ο επαληθευτής ελέγχει αυτή την υπογραφή με το κλειδί μέσα στο διαπιστευτήριο.
Πού βρίσκεται στην πραγματικότητα το ιδιωτικό κλειδί
Η σύνδεση αξίζει πάντα μόνο όσο δύσκολο είναι να χρησιμοποιηθεί το κλειδί χωρίς τον κάτοχο. Γι’ αυτό τα πορτοφόλια παράγουν αυτά τα κλειδιά μέσα σε αποκλειστικό υλικό, στο secure element ή σε αντίστοιχο στοιχείο που προστατεύει και τα στοιχεία πληρωμών του τηλεφώνου, αντί να τα αποθηκεύουν ως αρχείο που το λειτουργικό σύστημα μπορεί να δώσει σε όποια εφαρμογή το ζητήσει.
Ένας επαληθευτής δεν μπορεί να δει τίποτα από αυτά από την ίδια την παρουσίαση. Μια υπογραφή αποδεικνύει ότι το κλειδί χρησιμοποιήθηκε, όχι ότι φυλάχθηκε σωστά. Το αν το κλειδί βρίσκεται πράγματι σε πιστοποιημένο υλικό είναι ξεχωριστή διασφάλιση, που τη φέρουν οι βεβαιώσεις τις οποίες ένα πορτοφόλι παρουσιάζει σε έναν εκδότη πριν του δοθεί οτιδήποτε, και σύμφωνα με τους ευρωπαϊκούς κανόνες γι’ αυτό ακριβώς υπάρχουν η βεβαίωση πορτοφολιού και η βεβαίωση κλειδιού.
Το holder binding απαντά
Παρήχθη αυτή η απάντηση από το κλειδί για το οποίο εκδόθηκε αυτό το διαπιστευτήριο, για αυτό το αίτημα, μόλις τώρα;
Η βεβαίωση κλειδιού απαντά
Φυλάσσεται αυτό το κλειδί κάπου από όπου ένας επιτιθέμενος δεν μπορεί να το εξαγάγει; Άλλη ερώτηση, άλλα αποδεικτικά, κρίνεται κατά την έκδοση.
Πώς το κάνουν τα δύο ευρωπαϊκά formats
Η ιδέα είναι η ίδια και στα δύο formats πάνω στα οποία είναι χτισμένο το ευρωπαϊκό πορτοφόλι. Ο μηχανισμός διαφέρει, κάτι που έχει σημασία για όποιον υλοποιεί έναν επαληθευτή και σχεδόν για κανέναν άλλον.
SD-JWT VC
Ο εκδότης τοποθετεί το δημόσιο κλειδί του κατόχου σε ένα confirmation claim μέσα στο υπογεγραμμένο διαπιστευτήριο. Κατά την παρουσίαση το πορτοφόλι προσθέτει ένα μικρό ξεχωριστό token, υπογεγραμμένο με το ιδιωτικό κλειδί, που καλύπτει την ταυτότητα του επαληθευτή και την τυχαία τιμή του αιτήματος. Ένας επαληθευτής που αγνοεί αυτό το token έχει ελέγξει τον εκδότη και τίποτε άλλο.
Διαβάστε τον ορισμόmdoc
Το κλειδί της συσκευής αναφέρεται στο υπογεγραμμένο αντικείμενο που προστατεύει τα στοιχεία δεδομένων, και το τηλέφωνο υπογράφει το πρακτικό της συνεδρίας στην οποία συμμετέχει. Επειδή αυτό το πρακτικό καλύπτει την ανταλλαγή μεταξύ των δύο συσκευών, η καταγραφή μιας παρουσίασης δεν μπορεί να επαναληφθεί σε άλλη, και αυτό κάνει ασφαλή έναν έλεγχο χωρίς σύνδεση στην άκρη του δρόμου ή σε μια πόρτα.
Διαβάστε τον ορισμόΈνα πορτοφόλι στο ευρωπαϊκό οικοσύστημα φέρει συνήθως την ίδια βεβαίωση και στα δύο formats και παραδίδει αυτό που καταλαβαίνει η άλλη πλευρά, οπότε ένας οργανισμός που δέχεται διαπιστευτήρια πρέπει να μπορεί να ελέγχει τη σύνδεση και στα δύο.
Τι δεν αποδεικνύει το holder binding
Το holder binding αποδεικνύει τον έλεγχο ενός κλειδιού. Δεν αποδεικνύει ποιος κρατά το τηλέφωνο. Κάποιος στον οποίο δόθηκαν η συσκευή και το PIN παράγει ακριβώς την ίδια έγκυρη απάντηση με τον νόμιμο κάτοχο, και καμία ποσότητα κρυπτογραφίας μέσα στο διαπιστευτήριο δεν μπορεί να δει τη διαφορά.
Ούτε λέει κάτι για το πόσο καλά έλεγξε ο εκδότης την ταυτότητα πριν από την έκδοση. Ένα διαπιστευτήριο συνδεδεμένο με κλειδί είναι και πάλι τόσο αξιόπιστο όσο η διαδικασία που το δημιούργησε, και αυτό ακριβώς περιγράφουν τα επίπεδα Level of Assurance. Αν ένα διαπιστευτήριο που εκδόθηκε με ελλιπείς ελέγχους δεθεί πολύ ισχυρά με ένα κλειδί, τα claims που περιέχει δεν γίνονται ούτε λίγο πιο αληθινά.
Όλα μαζί, ο καταμερισμός των ρόλων είναι αρκετά σαφής. Το holder binding σταματά την επανάληψη και την αντιγραφή, το ξεκλείδωμα του πορτοφολιού δένει το κλειδί με έναν παρόντα άνθρωπο, το Level of Assurance περιγράφει πόσο καλά ταυτοποιήθηκε αυτός ο άνθρωπος, και ένας κατάλογος εμπιστοσύνης λέει ποιους εκδότες αποδέχεστε καταρχάς. Ένας επαληθευτής που θέλει πραγματική απάντηση χρειάζεται και τα τέσσερα, όχι μόνο εκείνο που έρχεται δωρεάν με το διαπιστευτήριο.
Τι σημαίνει αυτό για εσάς
Εκδότης
Τα διαπιστευτήριά σας παύουν να είναι χρήσιμα σε όποιον κλέψει ένα αντίγραφό τους, κάτι που εξαλείφει μια ολόκληρη κατηγορία απάτης που αλλιώς θα έπρεπε να εντοπίζετε εκ των υστέρων. Το τίμημα είναι ότι πρέπει να είστε έτοιμοι να επανεκδίδετε κάθε φορά που ένας κάτοχος αλλάζει συσκευή.
Επαληθευτής
Ελέγχετε τη σύνδεση, όχι μόνο την υπογραφή του εκδότη. Στέλνετε μια νέα τυχαία τιμή με κάθε αίτημα και απορρίπτετε μια απάντηση που δεν την υπογράφει, αλλιώς μια καταγεγραμμένη παρουσίαση μπορεί να επαναληφθεί εις βάρος σας αργότερα.
Κάτοχος πορτοφολιού
Τίποτα να διαχειριστείτε και ένα πράγμα να ξέρετε: τα διαπιστευτήριά σας είναι δεμένα με αυτή τη συσκευή, οπότε ένα νέο τηλέφωνο σημαίνει ότι τα παίρνετε ξανά, αντί να τα επαναφέρετε από αντίγραφο ασφαλείας.
Σχετικοί όροι
Συχνές ερωτήσεις
Είναι το holder binding το ίδιο με το key binding ή το device binding;
Στην πράξη ναι, και οι διαφορετικοί όροι προέρχονται από διαφορετικές προδιαγραφές και όχι από κάποια διαφορά στο νόημα. Το holder binding είναι η ιδιότητα: αυτό το διαπιστευτήριο ανήκει σε αυτόν τον κάτοχο. Key binding είναι το όνομα με το οποίο ο κόσμος του SD-JWT VC αποκαλεί τον μηχανισμό, ενώ η πλευρά του ISO μιλά για device binding ή device authentication, επειδή το κλειδί βρίσκεται σε ένα συγκεκριμένο τηλέφωνο. Αν ένα έγγραφο χρησιμοποιεί έναν από αυτούς τους όρους, διαβάστε τον ως την ίδια ιδέα από διαφορετική οπτική γωνία.
Αποδεικνύει το holder binding ότι το πρόσωπο που παρουσιάζει το διαπιστευτήριο είναι το υποκείμενό του;
Όχι, και αυτή είναι με διαφορά η πιο συχνή παρανόηση. Αποδεικνύει ότι όποιος παρήγαγε την απάντηση ελέγχει το κλειδί για το οποίο εκδόθηκε το διαπιστευτήριο. Το αν ο άνθρωπος που αγγίζει το τηλέφωνο είναι το πρόσωπο που περιγράφουν τα claims εξαρτάται από το πώς ξεκλειδώνει το πορτοφόλι, από το πόσο προσεκτικά έλεγξε ο εκδότης την ταυτότητα εξαρχής, και από το αν ο κάτοχος έχει δώσει τη συσκευή και το PIN σε κάποιον άλλον. Για έναν έλεγχο υψηλής αξίας, συνδυάστε τη σύνδεση με ένα πορτοφόλι που απαιτεί βιομετρικά στοιχεία και με ένα διαπιστευτήριο εκδομένο σε Level of Assurance που αντιστοιχεί στον κίνδυνο.
Τι συμβαίνει σε ένα συνδεδεμένο διαπιστευτήριο όταν ο κάτοχος αποκτά νέο τηλέφωνο;
Δεν μεταφέρεται. Όλο το νόημα της φύλαξης του ιδιωτικού κλειδιού σε ασφαλές υλικό είναι ότι δεν μπορεί να εξαχθεί, οπότε ένα διαπιστευτήριο συνδεδεμένο με το παλιό τηλέφωνο δεν μπορεί να επαναφερθεί στο νέο με την προσδοκία ότι θα λειτουργεί. Η νέα συσκευή παράγει το δικό της κλειδί και το διαπιστευτήριο εκδίδεται ξανά για αυτό. Σχεδιάστε την επανέκδοση ως κανονικό, συχνό γεγονός και όχι ως εξαίρεση, γιατί για τους χρήστες σας είναι απλώς η μέρα που άλλαξαν τηλέφωνο.
Υπάρχουν διαπιστευτήρια χωρίς holder binding;
Ναι, και έχουν τη θέση τους. Ένα διαπιστευτήριο χωρίς holder binding είναι διαπιστευτήριο κομιστή: το όφελος το έχει όποιος το παρουσιάσει, όπως με ένα χάρτινο εισιτήριο. Είναι λογικός συμβιβασμός για κάτι χαμηλής αξίας και σύντομης διάρκειας, όπου το κόστος από την επανάληψη ενός αντιγράφου είναι μικρό και θα προτιμούσατε να μη ζητήσετε από τον κάτοχο να ξεκλειδώσει τίποτα. Είναι λάθος επιλογή για ταυτότητα, δικαιώματα και οτιδήποτε θα έβρισκε ένας απατεώνας άξιο να επαναχρησιμοποιήσει.
Πηγές
- IETF SD-JWT-based Verifiable Digital Credentials (SD-JWT VC), ακόμη σε μορφή draft
- OpenID for Verifiable Credential Issuance, για την απόδειξη κατοχής κλειδιού κατά την έκδοση
- OpenID for Verifiable Presentations, για τη σύνδεση μιας απάντησης με ένα μόνο αίτημα
- ISO/IEC 18013-5, για την αυθεντικοποίηση συσκευής στα mobile documents
Αυτή η σελίδα έχει ενημερωτικό χαρακτήρα και δεν αποτελεί νομική συμβουλή. Για την έγκυρη διατύπωση, συμβουλευτείτε απευθείας τις προδιαγραφές.