Μια μικρή εγκατάσταση καταφεύγει στα αποτυπώματα, επειδή μια αρχή πιστοποίησης μοιάζει με υποδομή για την οποία κανείς δεν έχει χρόνο. Το ένστικτο είναι λογικό, αλλά η συντόμευση που παίρνουν οι άνθρωποι αντί γι’ αυτό—αντιγραφή ενός μυστικού του καναλιού δεδομένων και στις δύο άκρες—δεν είναι. Μια ρύθμιση peer-fingerprint κρατά τη δομή του TLS άθικτη: κάθε πλευρά εξακολουθεί να κρατά το δικό της ιδιωτικό κλειδί και πιστοποιητικό, και κάθε πλευρά εξακολουθεί να επαληθεύει την άλλη. Αυτό που αλλάζει είναι πού αγκυρώνεται η επαλήθευση: από έναν αξιόπιστο εκδότη σε μια σύντομη λίστα καρφιτσωμένων συνόψεων. Επειδή η σύνοψη καλύπτει ολόκληρο το πιστοποιητικό και όχι ένα όνομα, η ανανέωση γίνεται η λειτουργία που κοστίζει πραγματικό χρόνο.

Σε τι δεσμεύεται στην πραγματικότητα το αποτύπωμα

Το αποτύπωμα πιστοποιητικού είναι σύνοψη ολόκληρου του πιστοποιητικού κωδικοποιημένου σε DER, όχι του δημόσιου κλειδιού του και όχι του ονόματος του υποκειμένου του. Γι’ αυτό δύο πιστοποιητικά με ίδια ονόματα και το ίδιο κλειδί αλλά διαφορετικές ημερομηνίες ισχύος έχουν διαφορετικά αποτυπώματα. Αυτό κάνει το καρφίτσωμα ακριβές, και αυτό επίσης κάνει την ανανέωση ανασταλτική. Ένα καρφίτσωμα δεν μπορεί να σημαίνει εμπιστοσύνη σε ένα κλειδί γενικά, επειδή ονομάζει ένα τεχνούργημα σε μια στιγμή της ζωής του. Ο καθένας μπορεί να γνωρίζει τη σύνοψη, και το να τη γνωρίζει δεν αποδεικνύει τίποτα από μόνο του.

openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256

Η κατοχή του αντίστοιχου ιδιωτικού κλειδιού είναι αυτό που αποδεικνύει ότι ο ομότιμος κρατά αυτό το πιστοποιητικό, και η σύνοψη είναι το πώς η άλλη πλευρά αποφασίζει αν περίμενε καθόλου αυτό το πιστοποιητικό. Αυτός ο διαχωρισμός είναι ο λόγος που αυτός ο σχεδιασμός δεν είναι η παλιά διάταξη κοινού μυστικού: ένα κοινό κλειδί ταυτοποιεί οποιονδήποτε γνωρίζει τα ίδια byte, ενώ ένα καρφίτσωμα ταυτοποιεί ένα πιστοποιητικό. Μια διαφορετική συσκευή παίρνει τη δική της καταχώριση αντί για αντίγραφο του ίδιου μυστικού, που είναι μικρή διαφορά στα αρχεία και μεγάλη στην έκταση της ζημιάς.

Ο χάρτης είναι αμοιβαίος, όχι συμμετρικός

Κάθε άκρο χρειάζεται δύο πράγματα: το δικό του ιδιωτικό κλειδί μαζί με το πιστοποιητικό του, και μια δήλωση για το ποια πιστοποιητικά ομοτίμων θα δεχτεί. Στον πελάτη αυτή η δήλωση είναι η σύνοψη του πιστοποιητικού του διακομιστή· στον διακομιστή είναι η λίστα των συνόψεων των εγγεγραμμένων πελατών. Ένα επίσημο παράδειγμα για μικρές εγκαταστάσεις για το Community 2.6 δείχνει τη διάταξη με το peer-fingerprint, και αξίζει να το διαβάσετε πριν επιλέξετε αυτό το μοντέλο εμπιστοσύνης για πραγματική εγκατάσταση. Οι δύο κατευθύνσεις δεν είναι μία ανεστραμμένη λίστα, και δεν αποτυγχάνουν την ίδια στιγμή.

Verification directionWhat is pinnedWhat never leaves that endpointHow a wrong pin shows up
Client checks the serverOne digest, for the server certificateThe server private keyThe client aborts during the TLS handshake
Server checks the clientA digest per enrolled clientEach client private keyThe server rejects the peer before a tunnel exists

Η προσθήκη μιας συσκευής επεξεργάζεται μια λίστα επιτρεπόμενων στον διακομιστή, χωρίς αντιγραφή του ιδιωτικού υλικού ενός υπάρχοντος πελάτη και χωρίς μετακίνηση του κλειδιού του διακομιστή πουθενά. Οι δύο κατευθύνσεις αποτυγχάνουν επίσης ανεξάρτητα, που είναι χρήσιμο στη διάγνωση: όποια πλευρά κλείνει τη χειραψία είναι η πλευρά της οποίας η προσδοκία δεν ικανοποιήθηκε. Αν ο πελάτης απορρίψει τον διακομιστή, η σύνοψη δεν ταιριάζει με το πιστοποιητικό που παρουσιάζεται. Αν ο διακομιστής απορρίψει τον πελάτη, η σύνοψη αυτού του πελάτη λείπει από τη λίστα, ή ο πελάτης παρουσιάζει άλλο πιστοποιητικό από αυτό που εγγράφηκε.

Εγγραφή: πώς μπαίνει μια νέα συσκευή

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

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

Η ανανέωση είναι η ακριβή στιγμή

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

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

Τι δεν αποφασίζει ο χάρτης εμπιστοσύνης

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

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

Σχετικά άρθρα