Και οι δύο επιλογές χρησιμοποιούν ένα κοινό αρχείο κλειδιού και οι δύο κάνουν την κίνηση της χειραψίας δυσκολότερη να πλαστογραφηθεί, γι' αυτό αντιμετωπίζονται ως δύο ονόματα για το ίδιο χαρακτηριστικό. Δεν είναι. Η μία υπογράφει τα πακέτα ελέγχου, η άλλη τα κρυπτογραφεί επίσης, και καμία δεν έχει σχέση με την κρυπτογράφηση που προστατεύει τα δεδομένα σας.

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

Τι προστατεύει στην πραγματικότητα το κοινό κλειδί

Το κλειδί που χρησιμοποιούν αυτές οι επιλογές ανήκει στο κανάλι ελέγχου: την ανταλλαγή που διαπραγματεύεται παραμέτρους, αποδεικνύει ταυτότητες και παράγει τα κλειδιά δεδομένων. Είναι ένα προ-κοινόχρηστο μυστικό που πρέπει να κατέχουν και τα δύο άκρα πριν συνεχιστεί η χειραψία. Επειδή βρίσκεται πριν από τους ελέγχους ταυτότητας, ένα λάθος κλειδί σταματά τη συνομιλία νωρίτερα απ' ό,τι θα σταματούσε ένα λάθος συνθηματικό. Αυτή η σειρά εξηγεί γιατί ο τρόπος αποτυχίας είναι τόσο σιωπηλός.

Το tls-auth χρησιμοποιεί αυτό το μυστικό για να υπολογίσει ένα HMAC πάνω στα πακέτα ελέγχου. Ένα πακέτο χωρίς έγκυρη υπογραφή απορρίπτεται πριν φτάσει στην ακριβότερη επεξεργασία TLS, γι' αυτό η επιλογή περιγράφεται συχνά ως πρώτο φίλτρο και όχι ως αντικατάσταση του TLS.

Το tls-crypt πηγαίνει παραπέρα κρυπτογραφώντας την προστατευμένη κίνηση ελέγχου εκτός από την πιστοποίησή της. Τα περιεχόμενα των πιστοποιητικών, τα διαπραγματευμένα ονόματα κρυπτογράφησης και άλλες λεπτομέρειες της χειραψίας δεν είναι πλέον ορατά στο δίκτυο, και ένας παρατηρητής χωρίς το κλειδί δεν μπορεί καν να δει ποια έκδοση TLS επιχειρείται. Για μια εγκατάσταση που φοβάται να αποκαλύψει το αποτύπωμά της, αυτή η ιδιότητα είναι ο κύριος λόγος να το επιλέξει. Παραμένει ομαδικό μυστικό, όχι διαπιστευτήριο ανά χρήστη.

Κανένας από τους δύο μηχανισμούς δεν εκδίδει ταυτότητες. Το κοινό κλειδί είναι ομαδικό μυστικό, και όποιος το κατέχει μπορεί να ικανοποιήσει αυτό το επίπεδο του ελέγχου.

Πού διαφέρουν οι δύο επιλογές

Η παρατηρήσιμη διαφορά είναι το τι βλέπει ένας παρατηρητής. Με το tls-auth η χειραψία είναι ορατή αλλά μη επαληθεύσιμη χωρίς το κλειδί. Με το tls-crypt η χειραψία είναι αδιαφανής για οποιονδήποτε δεν κατέχει το κλειδί.

Η διαμόρφωση διαφέρει επίσης. Το tls-auth χρησιμοποιείται με τιμή κατεύθυνσης, οπότε η μία πλευρά χρησιμοποιεί το ένα μισό του υλικού κλειδιού και η άλλη πλευρά το άλλο μισό. Το tls-crypt χρησιμοποιεί ένα κλειδί και στις δύο κατευθύνσεις, επομένως η οδηγία κατεύθυνσης δεν αποτελεί μέρος της διάταξής του.

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

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

Γιατί μια ασυμφωνία μοιάζει σαν να μη συμβαίνει τίποτα

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

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

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

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

Τι πρέπει ακόμη να ρυθμιστεί ξεχωριστά

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

Δεν επιλέγουν ούτε την κρυπτογράφηση δεδομένων. Αυτή είναι μια ξεχωριστή διαπραγμάτευση που ελέγχεται από τις ρυθμίσεις του καναλιού δεδομένων στα δύο άκρα, και μια σήραγγα προστατευμένη με το tls-crypt μπορεί παρ' όλα αυτά να χρησιμοποιεί κρυπτογράφηση που δεν είχατε σκοπό.

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

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