Ο κωδικός πρόσβασης VPN είναι τόσο ιδιωτικός όσο ο επαληθευτής του
Η κρυπτογράφηση της σήραγγας καλύπτει μόνο το σκέλος της μεταφοράς. Το στοιχείο που επαληθεύει τον κωδικό εξακολουθεί να τον λαμβάνει, και ένα αποθηκευμένο hash προστατεύει εξ ολοκλήρου ένα μεταγενέστερο στάδιο.
Εξετάστε τέσσερα ερωτήματα για οποιαδήποτε σύνδεση VPN: τι προστατεύει τον κωδικό κατά τη μεταφορά, ποιο στοιχείο τον λαμβάνει, τι κάνει με αυτόν το στοιχείο, και τι αποθηκεύεται έπειτα. Κάθε απάντηση είναι διαφορετικός έλεγχος, και μια ισχυρή απάντηση σε ένα δεν λέει τίποτα για τα άλλα. Το λάθος είναι να αντιμετωπίζετε την κρυπτογράφηση της σήραγγας σαν να κάλυπτε και τα τέσσερα. Καλύπτει το πρώτο, και μόνο το πρώτο.
Ρωτήστε ποιος τερματίζει τη συνεδρία, όχι αν η συνεδρία είναι κρυπτογραφημένη.
Κρυπτογραφημένος ως προς ποιον, ακριβώς;
Το TLS προστατεύει τον κωδικό ανάμεσα στον πελάτη και σε ό,τι τερματίζει τη σύνδεση. Αν αυτό το τελικό σημείο είναι η πύλη VPN, ο κώδικας ελέγχου ταυτότητας της πύλης βλέπει τον κωδικό σε καθαρό κείμενο, τον επικυρώνει και προωθεί είτε αυτόν είτε μια παράγωγη τιμή. Αυτός είναι ο προβλεπόμενος σχεδιασμός, όχι διαρροή. Ένας παρατηρητής δικτύου στη διαδρομή δεν μαθαίνει τίποτα χρήσιμο, και το στοιχείο που εκτελεί την επαλήθευση μαθαίνει ό,τι χρειάζεται.
Η κοινότητα του OpenVPN το τεκμηριώνει ρητά: το auth-user-pass-verify παραδίδει τα υποβληθέντα διαπιστευτήρια σε σενάριο ή πρόσθετο επαλήθευσης. Πρόκειται για σκόπιμη παράδοση μεταξύ στοιχείων, και ανήκει στο μοντέλο εμπιστοσύνης ως ονομασμένο μέρος.
Ο επαληθευτής βλέπει τον κωδικό
Μόλις ένα στοιχείο λάβει κωδικό για να τον επαληθεύσει, οι έλεγχοι πρόσβασης, η καταγραφή και η ποιότητα κώδικα αυτού του στοιχείου καθορίζουν αν το μυστικό παραμένει περιορισμένο. Ένα σενάριο που γράφει το διαπιστευτήριο σε αρχείο καταγραφής, ή ένα πρόσθετο που το αποθηκεύει προσωρινά, δημιουργεί πολύ μεγαλύτερη έκθεση από ό,τι το πρωτόκολλο. Η πρόσβαση εξαρτάται από την αρχιτεκτονική και τους ρόλους, όχι από τη σήραγγα, γι' αυτό ο ιδιοκτήτης υπηρεσίας που ελέγχει τον επαληθευτή ανήκει στην αξιολόγηση.
Διαφορετικές μέθοδοι εκθέτουν διαφορετικό υλικό. Ο έλεγχος ταυτότητας με πιστοποιητικό αποδεικνύει ιδιωτικό κλειδί χωρίς να το στέλνει, και μια ροή ομοσπονδίας μπορεί να κρατήσει τον κωδικό στον πάροχο ταυτότητας εκδίδοντας περιορισμένη δήλωση στο VPN. Αυτοί οι σχεδιασμοί στενεύουν τον κύκλο· κανένας τους δεν εξαλείφει κάθε έμπιστο μέρος.
Τα αποθηκευμένα hash προστατεύουν διαφορετικό στάδιο
Οι οδηγίες του NIST διαχωρίζουν την προστατευμένη μεταφορά από την ανθεκτική αποθήκευση του επαληθευτή. Το αλάτισμα και ένα σχήμα hash με κόστος αντιμετωπίζουν την απειλή του αποθηκευμένου επαληθευτή, που είναι αυτό που συμβαίνει εκ των υστέρων αν διαρρεύσει μια βάση δεδομένων. Δεν κάνουν τίποτα για ένα στοιχείο χρόνου εκτέλεσης που πρέπει να λάβει την είσοδο για να τη συγκρίνει. Το να διαβάζει κανείς τις οδηγίες σαν να υπόσχονται μυστικότητα χρόνου εκτέλεσης είναι σφάλμα κατηγορίας.
Ένας καλά hashed χώρος αποθήκευσης κωδικών και ένα εκτεθειμένο σενάριο επαλήθευσης μπορούν επομένως να συνυπάρχουν σε ένα προϊόν χωρίς αντίφαση.
Επιλογή μεθόδου που στενεύει τον κύκλο
Αν η απαίτηση είναι η πύλη να μην λαμβάνει ποτέ κωδικό που μπορεί να επαναχρησιμοποιηθεί, επιλέξτε μέθοδο που το εγγυάται πράγματι· η αλλαγή κρυπτογράφησης δεδομένων δεν δημιουργεί αυτή την ιδιότητα. Η επαλήθευση του πιστοποιητικού του διακομιστή VPN σάς λέει σε ποιον ομότιμο φτάσατε· δεν λέει τίποτα για το πώς αυτός ο ομότιμος χειρίζεται έπειτα τα διαπιστευτήρια. Διατηρήστε την επαλήθευση διακομιστή, χρησιμοποιήστε ξεχωριστά διαπιστευτήρια ανά υπηρεσία και ακολουθήστε τη ροή ταυτότητας που υποστηρίζει ο οργανισμός.
Καταγράψτε το μέρος που λαμβάνει τον κωδικό, το μέρος που τον επικυρώνει και τη μορφή με την οποία διατηρείται. Αυτές οι τρεις απαντήσεις ανήκουν δίπλα στο προφίλ σύνδεσης, επειδή επιβιώνουν από κάθε συγκεκριμένη σήραγγα.
Το χρήσιμο ερώτημα δεν είναι αν ο κωδικός είναι κρυπτογραφημένος, αλλά από ποιον κρύβεται, ποιο στοιχείο τον λαμβάνει και ποια μορφή επιβιώνει έπειτα.