Αμοιβαία TLS (mTLS) ο έλεγχος ταυτότητας δημιουργεί ένα ασφαλές πλαίσιο για τον έλεγχο ταυτότητας τόσο των χρηστών όσο και των συσκευών IoT. Αυτός ο οδηγός θα σας καθοδηγήσει στην εφαρμογή του mTLS για να διασφαλιστεί ο ασφαλής αμφίδρομος έλεγχος ταυτότητας μεταξύ πελατών και διακομιστών.
Οδηγός γρήγορης εκκίνησης
Ρύθμιση αμοιβαίου TLS ακολουθεί μια απλή διαδικασία. Πρώτα, δημιουργήστε τα απαραίτητα πιστοποιητικά διακομιστή και πελάτη. Στη συνέχεια, ρυθμίστε τις παραμέτρους του διακομιστή σας ώστε να απαιτεί πιστοποιητικά πελάτη. Στη συνέχεια, ρυθμίστε τους πελάτες σας με τα πιστοποιητικά τους και εφαρμόστε την κατάλληλη επικύρωση πιστοποιητικού. Τέλος, δοκιμάστε τη σύνδεση για να βεβαιωθείτε ότι όλα λειτουργούν όπως αναμένεται.
Μονόδρομος και αμοιβαίο SSL /TLS Πιστοποίηση
Ένα από τα καθοριστικά χαρακτηριστικά του SSL /TLS Το πρωτόκολλο είναι ο ρόλος του στην εξακρίβωση της ταυτότητας άλλων ανώνυμων μερών σε δίκτυα υπολογιστών (όπως το Διαδίκτυο). Όταν επισκέπτεστε έναν ιστότοπο με αξιόπιστο από το κοινό SSL /TLS πιστοποιητικό, το πρόγραμμα περιήγησής σας μπορεί να επαληθεύσει ότι ο κάτοχος του ιστότοπου απέδειξε με επιτυχία τον έλεγχο αυτού του ονόματος τομέα σε μια αξιόπιστη αρχή έκδοσης πιστοποιητικών τρίτου μέρους (CA), όπως το SSL.com. Εάν αυτή η επαλήθευση αποτύχει, τότε το πρόγραμμα περιήγησης ιστού θα σας προειδοποιήσει να μην εμπιστευτείτε αυτόν τον ιστότοπο. Για τις περισσότερες εφαρμογές, SSL /TLS χρησιμοποιεί αυτό το είδος μονόδρομος έλεγχος ταυτότητας ενός διακομιστή σε έναν πελάτη · ένας ανώνυμος πελάτης (το πρόγραμμα περιήγησης ιστού) διαπραγματεύεται μια κρυπτογραφημένη συνεδρία με έναν διακομιστή ιστού, ο οποίος παρουσιάζει ένα αξιόπιστο SSL /TLS πιστοποιητικό για να αναγνωριστεί κατά τη διάρκεια του SSL /TLS χειραψία: Αμοιβαίος έλεγχος ταυτότητας, στον οποίο και οι δύο διακομιστές και πελάτης στο SSL /TLS η περίοδος ελέγχου ταυτότητας είναι δυνατή, είναι επίσης δυνατή και μπορεί να είναι πολύ χρήσιμη σε ορισμένες περιπτώσεις. Σε αμοιβαίο έλεγχο ταυτότητας, όταν ο διακομιστής πιστοποιηθεί κατά τη χειραψία, θα στείλει έναCertificateRequest
μήνυμα στον πελάτη. Ο πελάτης θα απαντήσει στέλνοντας ένα πιστοποιητικό στο διακομιστή για έλεγχο ταυτότητας:
Έλεγχος ταυτότητας πελάτη μέσω αμοιβαίου TLS απαιτεί ένα πιστοποιητικό που να περιλαμβάνει το Client Authentication (1.3.6.1.5.5.7.3.2)
Η εκτεταμένη χρήση κλειδιού (EKU) είναι εγκατεστημένη στη συσκευή πελάτη. Όλα τα SSL.com Πιστοποιητικά ηλεκτρονικού ταχυδρομείου, πελάτη και υπογραφής εγγράφων περιλαμβάνουν έλεγχο ταυτότητας πελάτη.
Αναλυτικός Οδηγός Εφαρμογής
Κατανόηση Αμοιβαίας TLS
Παραδοσιακός TLS παρέχει έλεγχο ταυτότητας και κρυπτογράφηση διακομιστή, αλλά αμοιβαία TLS προχωρά περαιτέρω απαιτώντας και τα δύο μέρη να προσκομίσουν ψηφιακά πιστοποιητικά. Αυτή η αμφίδρομη επαλήθευση διασφαλίζει την αυθεντικότητα του διακομιστή, επιτρέπει τον έλεγχο ταυτότητας του πελάτη, δημιουργεί ένα κρυπτογραφημένο κανάλι επικοινωνίας και αποτρέπει τις επιθέσεις man-in-the-middle. Το αποτέλεσμα είναι μια εξαιρετικά ασφαλής σύνδεση κατάλληλη για ευαίσθητες εφαρμογές και επικοινωνία συσκευών IoT.
Προϋποθέσεις
Πριν ξεκινήσετε την υλοποίηση, βεβαιωθείτε ότι έχετε πρόσβαση στο OpenSSL ή σε ένα παρόμοιο εργαλείο διαχείρισης πιστοποιητικών. Ο διακομιστής ιστού σας πρέπει να υποστηρίζει TLS, και θα χρειαστείτε πρόσβαση σε ένα Αρχή Πιστοποίησης (CA) ή τη δυνατότητα δημιουργίας ιδιωτικής ΑΠ. Οι πελάτες σας πρέπει επίσης να υποστηρίζουν έλεγχο ταυτότητας βάσει πιστοποιητικών.
Βήμα 1: Δημιουργία και διαχείριση πιστοποιητικού
Ξεκινήστε δημιουργώντας τα απαραίτητα πιστοποιητικά για έλεγχο ταυτότητας διακομιστή και πελάτη. Η ρύθμιση του πιστοποιητικού διακομιστή απαιτεί τη δημιουργία ενός ιδιωτικού κλειδιού, δημιουργία αιτήματος υπογραφής πιστοποιητικού, και υπογράφοντας το πιστοποιητικό με την ΑΠ σας.
# Δημιουργία ιδιωτικού κλειδιού διακομιστή
OpenSSL genrsa -έξω κλειδί διακομιστή 2048
?
# Δημιουργία αιτήματος υπογραφής πιστοποιητικού διακομιστή (CSR)
OpenSSL req -νέος -κλειδί κλειδί διακομιστή -έξω server.csr
?
# Υπογράψτε το πιστοποιητικό διακομιστή με την ΑΠ σας
OpenSSL x509 -απαιτ -σε server.csr -ΜΕΤΑ ΧΡΙΣΤΟΝ ca.crt -CAkey ca.key -CAcreateserial -έξω server.crt
Για πιστοποιητικά πελατών, ακολουθήστε μια παρόμοια διαδικασία για να δημιουργήσετε τα μοναδικά διαπιστευτήριά τους:
# Δημιουργία ιδιωτικού κλειδιού πελάτη
OpenSSL genrsa -έξω πελάτης.κλειδί 2048
?
# Δημιουργία πελάτη CSR
OpenSSL req -νέος -κλειδί πελάτης.κλειδί -έξω client.csr
?
# Υπογράψτε το πιστοποιητικό πελάτη
OpenSSL x509 -απαιτ -σε client.csr -ΜΕΤΑ ΧΡΙΣΤΟΝ ca.crt -CAkey ca.key -CAcreateserial -έξω client.crt
Βήμα 2: Διαμόρφωση διακομιστή
Ο διακομιστής πρέπει να ρυθμιστεί ώστε να απαιτεί και να επικυρώνει πιστοποιητικά πελάτη. Ακολουθεί ένα παράδειγμα διαμόρφωσης για το Nginx:
διακομιστής {
ακούω 443 ssl;
όνομα διακομιστή example.com;
?
ssl_certificate /path/to/διακομιστής.crt;
ssl_certificate_key /path/to/διακομιστής.κλειδί;
ssl_client_certificate /path/to/ca.crt;
ssl_verify_client επί;
ssl_protocols TLSv1.2 TLSv1.3?
ssl_ciphers ΥΨΗΛΟΣ:! a NULL:!MD5;
ssl_prefer_server_ciphers επί;
}
Για διακομιστές Apache, χρησιμοποιήστε αυτήν τη ρύθμιση παραμέτρων:
<VirtualHost *:443>
Ονομα διακομιστή example.com
Κινητήρας SSLE on
SSLCertificateFile /path/to/server.crt
SSLCertificateKeyFile /path/to/server.key
SSLCACertificateFile /path/to/ca.crt
SSLVerifyClient απαιτούν
SSLVerifyDepth 1
Βήμα 3: Υλοποίηση πελάτη
Ο έλεγχος ταυτότητας βάσει προγράμματος περιήγησης απαιτεί την εισαγωγή του πιστοποιητικού πελάτη στο χώρο αποθήκευσης πιστοποιητικών του προγράμματος περιήγησής σας. Κάθε πρόγραμμα περιήγησης χειρίζεται αυτήν τη διαδικασία διαφορετικά, αλλά γενικά, θα βρείτε την επιλογή στις ρυθμίσεις ασφάλειας ή απορρήτου.
Για συσκευές IoT, θα πρέπει να εφαρμόσετε στον κώδικά σας έλεγχο ταυτότητας βάσει πιστοποιητικών. Ακολουθεί ένα παράδειγμα που χρησιμοποιεί τη βιβλιοθήκη αιτημάτων της Python:
εισαγωγή αιτήματα
?
client_cert = ('client.crt', "client.key")
ca_cert = 'ca.crt'
?
απάντησης = αιτήματα.παίρνω('https://example.com',
cert=client_cert,
επαληθεύει=ca_cert)
Βήμα 4: Επικύρωση πιστοποιητικού
Η σωστή επικύρωση πιστοποιητικού είναι ζωτικής σημασίας για την ασφάλεια. Η εφαρμογή σας θα πρέπει να επαληθεύει την ακεραιότητα της αλυσίδας πιστοποιητικών, να ελέγχει τις ημερομηνίες λήξης, να επικυρώνει την κατάσταση ανάκλησης και να διασφαλίζει τη σωστή χρήση του κλειδιού. Ακολουθεί ένα παράδειγμα υλοποίησης:
από κρυπτογράφηση εισαγωγή x509
από κρυπτογράφηση.hazmat.πιστωτικά εισαγωγή default_backend
?
def validate_certificate(cert_path):
με ανοίξτε(cert_path, 'rb') as cert_file:
cert_data = cert_file.ανάγνωση()
cert = x509.load_pem_x509_certificate(cert_data, default_backend())
if cert.not_valid_after < ημερομηνία.ημερομηνία.οργανωμένες εκδρομές():
αύξηση ValueError("Το πιστοποιητικό έχει λήξει")
προσπαθώ:
κλειδί_χρήση = cert.επεκτάσεις.get_extension_for_class(x509.Χρήση κλειδιού)
if δεν κλειδί_χρήση.αξία.ψηφιακή_υπογραφή:
αύξηση ValueError("Το πιστοποιητικό δεν ισχύει για ψηφιακή υπογραφή")
εκτός x509.επεκτάσεις.ExtensionNotFound:
αύξηση ValueError("Δεν βρέθηκε η απαιτούμενη επέκταση χρήσης κλειδιού")
Περιπτώσεις αμοιβαίου ελέγχου ταυτότητας
Αμοιβαία TLS Ο έλεγχος ταυτότητας μπορεί να χρησιμοποιηθεί τόσο για έλεγχο ταυτότητας τελικών χρηστών όσο και για αμοιβαίο έλεγχο ταυτότητας συσκευών σε δίκτυο υπολογιστών.Έλεγχος ταυτότητας χρήστη
Οι επιχειρήσεις και άλλοι οργανισμοί μπορούν να διανέμουν ψηφιακά πιστοποιητικά πελατών σε τελικούς χρήστες όπως υπαλλήλους, εργολάβους και πελάτες. Αυτά τα πιστοποιητικά πελάτη μπορούν να χρησιμοποιηθούν ως παράγοντας ελέγχου ταυτότητας για πρόσβαση σε εταιρικούς πόρους όπως Wi-Fi, VPN και εφαρμογές ιστού. Όταν χρησιμοποιείται αντί για (ή επιπλέον) παραδοσιακών διαπιστευτηρίων ονόματος χρήστη / κωδικού πρόσβασης, αμοιβαία TLS προσφέρει πολλά πλεονεκτήματα ασφάλειας:- Αμοιβαία TLS Ο έλεγχος ταυτότητας δεν είναι ευάλωτος σε κλοπή διαπιστευτηρίων μέσω τακτικών όπως Phishing. Το Verizon Αναφορά ερευνών παραβίασης δεδομένων 2020 υποδεικνύει ότι σχεδόν το ένα τέταρτο (22%) των παραβιάσεων δεδομένων οφείλεται σε ηλεκτρονικό ψάρεμα. Οι καμπάνιες ηλεκτρονικού "ψαρέματος" (phishing) είναι διαθέσιμες για εύκολη συλλογή διαπιστευτηρίων, όπως κωδικοί πρόσβασης σύνδεσης στον ιστότοπο και όχι για τα ιδιωτικά κλειδιά των πιστοποιητικών πελατών των χρηστών. Ως περαιτέρω άμυνα κατά του ηλεκτρονικού ψαρέματος, όλα τα SSL.com Υπογραφή email, πελάτη και εγγράφων Τα πιστοποιητικά περιλαμβάνουν δημόσια αξιόπιστα S/MIME για υπογεγραμμένο και κρυπτογραφημένο email.
- Αμοιβαία TLS Ο έλεγχος ταυτότητας δεν μπορεί να παραβιαστεί από κακή υγιεινή κωδικού πρόσβασης ή από βίαιες επιθέσεις στους κωδικούς πρόσβασης. Μπορείτε να απαιτήσετε από τους χρήστες να δημιουργήσουν ισχυρούς κωδικούς πρόσβασης, αλλά πώς ξέρετε ότι δεν χρησιμοποιούν τον ίδιο «ασφαλή» κωδικό πρόσβασης σε 50 διαφορετικούς ιστότοπους ή έχουν γράψει σε μια κολλώδη σημείωση; ΕΝΑ Έρευνα Google 2019 υποδεικνύει ότι το 52% των χρηστών επαναχρησιμοποιούν κωδικούς πρόσβασης για πολλούς λογαριασμούς και το 13% των χρηστών επαναχρησιμοποιούν τον ίδιο κωδικό πρόσβασης για όλοι των λογαριασμών τους.
- Τα πιστοποιητικά πελατών προσφέρουν σαφή αλυσίδα εμπιστοσύνηςκαι μπορεί να διαχειριστεί κεντρικά. Με αμοιβαία TLS, η επαλήθευση της αρχής έκδοσης πιστοποιητικών (CA) που εξέδωσε τα διαπιστευτήρια ενός χρήστη μεταφέρεται απευθείας στη διαδικασία ελέγχου ταυτότητας. SSL.com's διαδικτυακά εργαλεία διαχείρισης, API SWSκαι η πρόσβαση σε τυπικά πρωτόκολλα, όπως το SCEP, κάνει την έκδοση, την ανανέωση και την ανάκληση αυτών των διαπιστευτηρίων γρήγορα!
- Άτομα ή οργανισμοί που απαιτούν μόνο ένα ή λίγα πιστοποιητικά μπορούν να παραγγείλουν Πιστοποιητικά ηλεκτρονικού ταχυδρομείου, πελάτη και υπογραφής εγγράφων à la carte από το SSL.com.
- Πρωτόκολλα όπως SCEP, EST και CMP μπορούν να χρησιμοποιηθούν για την αυτοματοποίηση της εγγραφής και ανανέωσης πιστοποιητικού πελάτη για συσκευές που ανήκουν στην εταιρεία και BYO.
- Για πελάτες που απαιτούν μεγάλη ποσότητα πιστοποιητικών, διατίθενται χονδρικές εκπτώσεις μέσω του Πρόγραμμα μεταπωλητών και αγορών όγκου.
Βέλτιστες πρακτικές ασφάλειας
Η ισχυρή ασφάλεια απαιτεί περισσότερα από την απλή εφαρμογή mTLS:
- Εφαρμόστε αυτοματοποιημένη εναλλαγή πιστοποιητικών για να διασφαλίσετε ότι τα πιστοποιητικά ενημερώνονται τακτικά
- Διατηρήστε μια λίστα ανάκλησης πιστοποιητικών για να ακυρώσετε γρήγορα τα παραβιασμένα πιστοποιητικά
- Χρησιμοποιήστε ισχυρά μεγέθη κλειδιών τουλάχιστον 2048 bit για κλειδιά RSA
- Διαμορφώστε τους διακομιστές σας ώστε να δέχονται μόνο ασφαλή TLS εκδόσεις και ισχυρές σουίτες κρυπτογράφησης
Η στρατηγική ασφάλειας του πελάτη σας θα πρέπει να περιλαμβάνει την προστασία των ιδιωτικών κλειδιών με ισχυρά στοιχεία ελέγχου πρόσβασης. Οι τακτικοί έλεγχοι ασφαλείας θα βοηθήσουν στη διατήρηση της ακεραιότητας του συστήματος με την πάροδο του χρόνου.
Αντιμετώπιση προβλημάτων κοινών προβλημάτων
Θέματα Αλυσίδας Πιστοποιητικών
Κατά την εφαρμογή του mTLS, ενδέχεται να αντιμετωπίσετε προβλήματα με την αλυσίδα πιστοποιητικών. Αυτά συνήθως προέρχονται από:
- Ελλιπείς αλυσίδες πιστοποιητικών
- Λανθασμένα εγκατεστημένα ενδιάμεσα πιστοποιητικά
Για να επιλύσετε αυτά τα ζητήματα:
- Βεβαιωθείτε ότι η διαμόρφωση αγκύρωσης εμπιστοσύνης είναι σωστή
- Βεβαιωθείτε ότι υπάρχουν όλα τα απαραίτητα πιστοποιητικά
Προβλήματα σύνδεσης
Τα προβλήματα σύνδεσης συχνά σχετίζονται με:
- Αποκλεισμός ρυθμίσεων τείχους προστασίας TLS ΚΙΝΗΣΗ στους ΔΡΟΜΟΥΣ
- Λανθασμένα δικαιώματα πιστοποιητικού
Για την αντιμετώπιση προβλημάτων:
- Βεβαιωθείτε ότι τα πιστοποιητικά σας έχουν τη σωστή ονομασία
- Βεβαιωθείτε ότι ταιριάζουν με τη χρήση για την οποία προορίζονται
Θέματα απόδοσης
Οι εκτιμήσεις απόδοσης γίνονται σημαντικές σε κλίμακα. Για βελτιστοποίηση της απόδοσης:
- Εφαρμόστε προσωρινή αποθήκευση συνεδριών για να μειώσετε το κόστος των επαναλαμβανόμενων χειραψιών
- Επιλέξτε αποτελεσματικές σουίτες κρυπτογράφησης που εξισορροπούν την ασφάλεια και την απόδοση
- Παρακολουθήστε τη διαδικασία επικύρωσης του πιστοποιητικού σας για να βεβαιωθείτε ότι δεν δημιουργεί περιττά έξοδα
Συμπέρασμα
Αμοιβαία TLS παρέχει ισχυρή ασφάλεια τόσο για τον έλεγχο ταυτότητας χρήστη όσο και για τη συσκευή IoT. Αυτός ο οδηγός σας καθοδήγησε στα βασικά βήματα εφαρμογής, από τη δημιουργία πιστοποιητικών έως την αντιμετώπιση προβλημάτων κοινών προβλημάτων. Ακολουθώντας αυτές τις οδηγίες και διατηρώντας καλές πρακτικές ασφαλείας, μπορείτε να δημιουργήσετε ένα ασφαλές σύστημα ελέγχου ταυτότητας που προστατεύει από επιθέσεις που βασίζονται σε δίκτυο, διασφαλίζοντας παράλληλα αξιόπιστη αναγνώριση πελατών.