Πρωτόκολλο έως tls 1.0. Βεβαιωθείτε ότι τα πρωτόκολλα ssl και tls είναι ενεργοποιημένα

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

Τι είναι το SSL και τι το TLS;

SSL - Secure Socket Layer, ένα στρώμα ασφαλών υποδοχών. TLS - Ασφάλεια επιπέδου μεταφοράς, ασφάλεια επιπέδου μεταφοράς. Το SSL είναι ένα παλαιότερο σύστημα, το TLS ήρθε αργότερα και βασίζεται στην προδιαγραφή SSL 3.0 που αναπτύχθηκε από την Netscape Communications. Ωστόσο, αυτά τα πρωτόκολλα έχουν ένα καθήκον - να διασφαλίσουν την ασφαλή μεταφορά δεδομένων μεταξύ δύο υπολογιστών στο Διαδίκτυο. Αυτή η μεταφορά χρησιμοποιείται για διάφορους ιστότοπους, για email, για μηνύματα και πολλά άλλα. Κατ' αρχήν, μπορείτε να μεταδώσετε οποιαδήποτε πληροφορία με αυτόν τον τρόπο· περισσότερα για αυτό παρακάτω.

Η ασφαλής μετάδοση διασφαλίζεται με έλεγχο ταυτότητας και κρυπτογράφηση των μεταδιδόμενων πληροφοριών. Ουσιαστικά, αυτά τα πρωτόκολλα, TLS και SSL, λειτουργούν το ίδιο· δεν υπάρχουν θεμελιώδεις διαφορές. Το TLS μπορεί να ειπωθεί ότι είναι ο διάδοχος του SSL, αν και μπορούν να χρησιμοποιηθούν ταυτόχρονα, ακόμη και στον ίδιο διακομιστή. Αυτή η υποστήριξη είναι απαραίτητη για τη διασφάλιση της εργασίας τόσο με νέους πελάτες (συσκευές και προγράμματα περιήγησης) όσο και με παλαιού τύπου που δεν υποστηρίζουν TLS. Η σειρά εμφάνισης αυτών των πρωτοκόλλων μοιάζει με αυτό:

SSL 1.0 - δεν δημοσιεύτηκε ποτέ
SSL 2.0 - Φεβρουάριος 1995
SSL 3.0 - 1996
TLS 1.0 - Ιανουάριος 1999
TLS 1.1 - Απρίλιος 2006
TLS 1.2 - Αύγουστος 2008

Πώς λειτουργούν τα SSL και TLS

Η αρχή λειτουργίας του SSL και του TLS, όπως είπα, είναι η ίδια. Ένα κρυπτογραφημένο κανάλι δημιουργείται πάνω από το πρωτόκολλο TCP/IP, εντός του οποίου τα δεδομένα μεταφέρονται μέσω του πρωτοκόλλου εφαρμογής - HTTP, FTP κ.λπ. Δείτε πώς μπορεί να αναπαρασταθεί γραφικά:

Το πρωτόκολλο εφαρμογής είναι «τυλιγμένο» σε TLS/SSL, το οποίο με τη σειρά του είναι τυλιγμένο σε TCP/IP. Ουσιαστικά, τα δεδομένα πρωτοκόλλου εφαρμογής μεταδίδονται μέσω TCP/IP, αλλά είναι κρυπτογραφημένα. Και μόνο το μηχάνημα που δημιούργησε τη σύνδεση μπορεί να αποκρυπτογραφήσει τα μεταδιδόμενα δεδομένα. Για όλους τους άλλους που λαμβάνουν τα μεταδιδόμενα πακέτα, αυτές οι πληροφορίες δεν θα έχουν νόημα εάν δεν μπορούν να τις αποκρυπτογραφήσουν.

Η σύνδεση πραγματοποιείται σε διάφορα στάδια:

1) Ο πελάτης δημιουργεί μια σύνδεση με τον διακομιστή και ζητά μια ασφαλή σύνδεση. Αυτό μπορεί να επιτευχθεί είτε με τη δημιουργία μιας σύνδεσης σε μια θύρα που προορίζεται αρχικά να λειτουργήσει με SSL/TLS, για παράδειγμα, 443, είτε ζητώντας επιπλέον από τον πελάτη να δημιουργήσει μια ασφαλή σύνδεση μετά τη δημιουργία μιας κανονικής σύνδεσης.

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

3) Ο διακομιστής στέλνει στον πελάτη το ψηφιακό του πιστοποιητικό, υπογεγραμμένο από την αρχή πιστοποίησης, και το δημόσιο κλειδί του διακομιστή.

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

5) Δημιουργείται ένα κλειδί συνεδρίας για ασφαλή σύνδεση. Αυτό γίνεται ως εξής:
— Ο πελάτης δημιουργεί μια τυχαία ψηφιακή ακολουθία
— Ο πελάτης το κρυπτογραφεί με το δημόσιο κλειδί του διακομιστή και στέλνει το αποτέλεσμα στον διακομιστή
— Ο διακομιστής αποκρυπτογραφεί τη ληφθείσα ακολουθία χρησιμοποιώντας το ιδιωτικό κλειδί
Δεδομένου ότι ο αλγόριθμος κρυπτογράφησης είναι ασύμμετρος, μόνο ο διακομιστής μπορεί να αποκρυπτογραφήσει την ακολουθία. Όταν χρησιμοποιείτε ασύμμετρη κρυπτογράφηση, χρησιμοποιούνται δύο κλειδιά - ιδιωτικό και δημόσιο. Ένα μήνυμα που αποστέλλεται δημόσια κρυπτογραφείται και ένα μήνυμα που αποστέλλεται ιδιωτικά αποκρυπτογραφείται. Είναι αδύνατο να αποκρυπτογραφήσετε ένα μήνυμα εάν έχετε δημόσιο κλειδί.

6) Αυτό δημιουργεί μια κρυπτογραφημένη σύνδεση. Τα δεδομένα που μεταδίδονται μέσω αυτού κρυπτογραφούνται και αποκρυπτογραφούνται μέχρι να τερματιστεί η σύνδεση.

Πιστοποιητικό ρίζας

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

Αίτημα υπογραφής (CSR, Αίτημα υπογραφής πιστοποιητικού)

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

Πιστοποιητικό πελάτη

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

Αλυσίδα ενεργειών για τη δημιουργία πιστοποιητικών

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

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

$ openssl genrsa -out root.key 2048 Δημιουργία ιδιωτικού κλειδιού RSA, συντελεστής μήκους 2048 bit .......+++ ....... ............... .........+++ e είναι 65537 (0x10001) $ openssl req -new -key root.key -out root.csr Πρόκειται να σας ζητηθεί να εισαγάγετε πληροφορίες που θα ενσωματωθούν στο αίτημα πιστοποιητικού σας . Αυτό που πρόκειται να εισαγάγετε είναι αυτό που ονομάζεται Διακεκριμένο Όνομα ή DN. Υπάρχουν αρκετά πεδία, αλλά μπορείτε να αφήσετε μερικά κενά Για ορισμένα πεδία θα υπάρχει μια προεπιλεγμένη τιμή. Εάν πληκτρολογήσετε ".", το πεδίο θα μείνει κενό. ----- Όνομα χώρας (κωδικός 2 γραμμάτων) : Όνομα πολιτείας ή επαρχίας RU (πλήρες όνομα) : N/A Όνομα τοποθεσίας (π.χ. πόλη) :Saint-Petersburg Όνομα οργανισμού (π.χ. εταιρεία) :Η εταιρεία μου Όνομα οργανωτικής μονάδας (π.χ. ενότητα) :Κοινό όνομα υπηρεσίας πληροφορικής (π.χ. διακομιστής FQDN ή ονοματεπώνυμο ΣΑΣ) :Διεύθυνση ηλεκτρονικού ταχυδρομείου My Company Root Certificate: [email προστατευμένο]Εισαγάγετε τα ακόλουθα "έξτρα" χαρακτηριστικά που θα σταλούν με το αίτημα πιστοποιητικού σας Ένας κωδικός πρόσβασης πρόκλησης : Προαιρετικό όνομα εταιρείας :Η εταιρεία μου $ openssl x509 -req -days 3650 -in root.csr -signkey root.key -out root.pem Υπογραφή εντάξει θέμα=/C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=My Company Root Certificate/ [email προστατευμένο]Λήψη ιδιωτικού κλειδιού

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

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

Προβολή πληροφοριών πιστοποιητικού

Τα περιεχόμενα του πιστοποιητικού μπορούν να προβληθούν ως εξής:

$ openssl x509 -noout -issuer -enddate -in root.pem issuer= /C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=My Company Root Certificate/ [email προστατευμένο] notAfter=22 Ιανουαρίου 11:49:41 2025 GMT

Βλέπουμε ποιος εξέδωσε αυτό το πιστοποιητικό και πότε λήγει η ημερομηνία λήξης του.

Πιστοποιητικό διακομιστή

Για να υπογράψουμε ένα πιστοποιητικό για τον διακομιστή πρέπει να κάνουμε τα εξής:

1) Δημιουργήστε ένα κλειδί
2) Δημιουργήστε ένα αίτημα υπογραφής
3) Στείλτε το αρχείο CSR στο κέντρο εξουσιοδότησης ή υπογράψτε το μόνοι σας

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

$ openssl genrsa -out server.key 2048 Δημιουργία ιδιωτικού κλειδιού RSA, συντελεστής μήκους 2048 bit ......................... ....... ................................................ . +++ .........................+++ e είναι 65537 (0x10001) $ openssl req -new -key server.key - out server .csr Θα σας ζητηθεί να εισαγάγετε πληροφορίες που θα ενσωματωθούν στο αίτημα πιστοποιητικού σας. Αυτό που πρόκειται να εισαγάγετε είναι αυτό που ονομάζεται Διακεκριμένο Όνομα ή DN. Υπάρχουν αρκετά πεδία, αλλά μπορείτε να αφήσετε μερικά κενά Για ορισμένα πεδία θα υπάρχει μια προεπιλεγμένη τιμή. Εάν πληκτρολογήσετε ".", το πεδίο θα μείνει κενό. ----- Όνομα χώρας (κωδικός 2 γραμμάτων) : Όνομα πολιτείας ή επαρχίας RU (πλήρες όνομα) : N/A Όνομα τοποθεσίας (π.χ. πόλη) :Saint-Petersburg Όνομα οργανισμού (π.χ. εταιρεία) :Η εταιρεία μου Όνομα οργανωτικής μονάδας (π.χ. ενότητα) :Κοινό όνομα υπηρεσίας πληροφορικής (π.χ. διακομιστής FQDN ή ΤΟ ΟΝΟΜΑ ΣΑΣ) :www.mycompany.com Διεύθυνση ηλεκτρονικού ταχυδρομείου : [email προστατευμένο]Εισαγάγετε τα ακόλουθα "πρόσθετα" χαρακτηριστικά που θα σταλούν με το αίτημα πιστοποιητικού σας Ένας κωδικός πρόσβασης πρόκλησης : Προαιρετικό όνομα εταιρείας: $ openssl x509 -req -in server.csr -CA root.pem -CAkey root.key -CAcreateserial -out server. pem -days 365 Υπογραφή εντάξει θέμα=/C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=www.mycompany.com/ [email προστατευμένο]Λήψη ιδιωτικού κλειδιού CA $ openssl x509 -noout -issuer -subject -enddate -in server.pem issuer= /C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN =My Company Root Certificate/ [email προστατευμένο]θέμα= /C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=www.mycompany.com/ [email προστατευμένο] notAfter=25 Ιανουαρίου 12:22:32 2016 GMT

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

Εγκατάσταση πιστοποιητικού SSL/TLS σε διακομιστή με nginx

Για να εγκαταστήσετε ένα πιστοποιητικό SSL/TLS στον διακομιστή web nginx, πρέπει να ακολουθήσετε μερικά απλά βήματα:

1) Αντιγράψτε τα αρχεία .key και .pem στον διακομιστή. Σε διαφορετικά λειτουργικά συστήματα, τα πιστοποιητικά και τα κλειδιά ενδέχεται να αποθηκεύονται σε διαφορετικούς καταλόγους. Στο Debian, για παράδειγμα, αυτός είναι ο κατάλογος /etc/ssl/certs για τα πιστοποιητικά και το /etc/ssl/private για τα κλειδιά. Στο CentOS αυτό είναι /etc/pki/tls/certs και /etc/pki/tls/private

2) Γράψτε τις απαραίτητες ρυθμίσεις στο αρχείο ρυθμίσεων για τον κεντρικό υπολογιστή. Έτσι θα έπρεπε να μοιάζει χονδρικά (μόνο ένα παράδειγμα):

Διακομιστής (ακρόαση 443; όνομα_διακομιστή www.mycompany.com; root html; index index.html index.htm; ssl on; ssl_certificate server.pem; ssl_certificate_key server.key; ssl_session_timeout 5m; # SSLv3 δεν συνιστάται εδώ!!! για παράδειγμα μόνο ssl_protocols SSLv3 TLSv1, ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP; ssl_prefer_server_ciphers on; location / ($uri_files =40uri $; ) )

3) Επανεκκινήστε το nginx

4) Μεταβείτε στη θύρα διακομιστή 443 με ένα πρόγραμμα περιήγησης - https://www.mycompany.com και ελέγξτε τη λειτουργικότητά του.

Εγκατάσταση πιστοποιητικού SSL/TLS σε διακομιστή που εκτελεί Apache

Η εγκατάσταση ενός πιστοποιητικού SSL/TLS στον Apache μοιάζει παρόμοια.

1) Αντιγράψτε τα αρχεία κλειδιού και πιστοποιητικού στον διακομιστή στους κατάλληλους καταλόγους

2) Ενεργοποιήστε τη μονάδα ssl για Apache με την εντολή "a2enmod ssl" εάν δεν είναι ήδη ενεργοποιημένη

3) Δημιουργήστε έναν εικονικό κεντρικό υπολογιστή που θα ακούει τη θύρα 443. Το config θα μοιάζει κάπως έτσι:

Διαχειριστής διακομιστή [email προστατευμένο] DocumentRoot /var/www Επιλογές FollowSymLinks AllowOverride None Επιλογές Ευρετήρια FollowSymLinks Πολλαπλές προβολές AllowOverride None Παραγγελία επιτρέπονται, άρνηση έγκρισης από όλους ScriptAlias ​​/cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order επιτρέπεται,άρνηση Επιτρέπεται από όλα ErrorLog $(APACHE_LOG_DIR)/error.log Προειδοποίηση LogLevel CustomLog $(APACHE_LOG_DIR)/ssl_access.log συνδυασμένο SSLEngine στο SSLCertificateFile /etc/ssl/certs/server.pem SSLCertificateKeyserver. αρχείο , που περιέχει μια λίστα # όλων των πιστοποιητικών που υπέγραψαν το πιστοποιητικό διακομιστή #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE " ssl-unclean-shutdown

Ταυτόχρονα, υπάρχει και κάτι άλλο που πρέπει να γίνει. Βρείτε στο αρχείο httpd.conf ή apache2.conf ή ports.conf, ανάλογα με το σύστημα, την ακόλουθη ενότητα της διαμόρφωσης:

Ακούστε 443

Εάν δεν υπάρχει τέτοια συνθήκη, πρέπει να προστεθεί στη διαμόρφωση. Και κάτι ακόμα: Πρέπει να προσθέσετε τη γραμμή

NameVirtualHost *:443

Αυτή η γραμμή μπορεί να βρίσκεται στο αρχείο httpd.conf, apache2.conf ή ports.conf

4) Κάντε επανεκκίνηση του διακομιστή ιστού Apache

Δημιουργία πιστοποιητικού πελάτη

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

$ openssl genrsa -out client.key 2048 Δημιουργία ιδιωτικού κλειδιού RSA, συντελεστής μήκους 2048 bit ........................+++ ..... .................................+++ e είναι 65537 (0x10001) $ openssl req -new -key client.key -out client.csr Θα σας ζητηθεί να εισαγάγετε πληροφορίες που θα ενσωματωθούν στο αίτημα πιστοποιητικού σας. Αυτό που πρόκειται να εισαγάγετε είναι αυτό που ονομάζεται Διακεκριμένο Όνομα ή DN. Υπάρχουν αρκετά πεδία, αλλά μπορείτε να αφήσετε μερικά κενά Για ορισμένα πεδία θα υπάρχει μια προεπιλεγμένη τιμή. Εάν πληκτρολογήσετε ".", το πεδίο θα μείνει κενό. ----- Όνομα χώρας (κωδικός 2 γραμμάτων) : Όνομα πολιτείας ή επαρχίας RU (πλήρες όνομα) :Saint-Petersburg Όνομα τοποθεσίας (π.χ. πόλη) :^C mnorin@mnorin-work:~/Temp/certs/CA$ openssl req -new -key client.key -out client.csr Θα σας ζητηθεί να εισαγάγετε πληροφορίες που θα ενσωματωθούν στο αίτημα πιστοποιητικού σας. Αυτό που πρόκειται να εισαγάγετε είναι αυτό που ονομάζεται Διακεκριμένο Όνομα ή DN. Υπάρχουν αρκετά πεδία, αλλά μπορείτε να αφήσετε μερικά κενά Για ορισμένα πεδία θα υπάρχει μια προεπιλεγμένη τιμή. Εάν πληκτρολογήσετε ".", το πεδίο θα μείνει κενό. ----- Όνομα χώρας (κωδικός 2 γραμμάτων) : Όνομα πολιτείας ή επαρχίας RU (πλήρες όνομα) : N/A Όνομα τοποθεσίας (π.χ. πόλη) :Saint-Petresburg Όνομα οργανισμού (π.χ. εταιρεία) :Η εταιρεία μου Όνομα οργανωτικής μονάδας (π.χ., ενότητα) :Engineering Common Name (π.χ. διακομιστής FQDN ή ΤΟ ΟΝΟΜΑ ΣΑΣ) :Ivan Ivanov Διεύθυνση ηλεκτρονικού ταχυδρομείου : [email προστατευμένο]Εισαγάγετε τα ακόλουθα "έξτρα" χαρακτηριστικά που θα σταλούν με το αίτημα πιστοποιητικού σας Ένας κωδικός πρόσβασης πρόκλησης : Προαιρετικό όνομα εταιρείας : $ openssl x509 -req -in client.csr -CA root.pem -CAkey root.key -CAcreateserial -out client. pem -days 365 Υπογραφή εντάξει θέμα=/C=RU/ST=N/A/L=Saint-Petrersburg/O=My Company/OU=Engineering/CN=Ivan Ivanov/ [email προστατευμένο]Λήψη ιδιωτικού κλειδιού CA $ openssl x509 -noout -issuer -subject -enddate -in client.pem issuer= /C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN =My Company Root Certificate/ [email προστατευμένο]θέμα= /C=RU/ST=N/A/L=Saint-Petrersburg/O=My Company/OU=Engineering/CN=Ivan Ivanov/ [email προστατευμένο] notAfter=25 Ιανουαρίου 13:17:15 2016 GMT

Εάν χρειάζεστε ένα πιστοποιητικό πελάτη σε μορφή PKCS12, δημιουργήστε το:

$ openssl pkcs12 -export -in client.pem -inkey client.key -certfile root.pem -out iivanov.p12 Εισαγάγετε τον κωδικό εξαγωγής: Επαλήθευση - Εισαγάγετε τον κωδικό εξαγωγής:

Τώρα μπορείτε να χρησιμοποιήσετε το πιστοποιητικό πελάτη για να εργαστείτε με τον διακομιστή μας.

Διαμόρφωση του nginx για χρήση πιστοποιητικών πελάτη

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

# Πιστοποιητικό(α) ρίζας με το οποίο είναι υπογεγραμμένος ο πελάτης ssl_client_certificate /etc/nginx/certs/clientroot.pem; # Πιθανές επιλογές: on | off | προαιρετικό | optional_no_ca ssl_verify_client προαιρετικό. # Βάθος επαλήθευσης της αλυσίδας πιστοποιητικών με την οποία έχει υπογραφεί ο πελάτης ssl_verify_depth 2.

Μετά από αυτό, πρέπει να επανεκκινήσετε τις ρυθμίσεις ή ολόκληρο τον διακομιστή και μπορείτε να ελέγξετε τη λειτουργία.

Ρύθμιση παραμέτρων του Apache για χρήση πιστοποιητικών πελάτη

Ο Apache μπορεί επίσης να ρυθμιστεί προσθέτοντας πρόσθετες επιλογές στην ενότητα εικονικού κεντρικού υπολογιστή:

# Κατάλογος που περιέχει πιστοποιητικά ρίζας για επαλήθευση πελάτη SSLCARevocationPath /etc/apache2/ssl.crl/ # ή αρχείο που περιέχει πιστοποιητικά SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl # Επιλογή επαλήθευσης πελάτη. Πιθανές επιλογές: # καμία, προαιρετική, απαίτηση και optional_no_ca Το SSLVerifyClient απαιτεί # Προβολή βάθους της αλυσίδας υπογραφής. Προεπιλογή 1 SSLVerifyDepth 2

Όπως μπορείτε να δείτε, οι επιλογές είναι περίπου οι ίδιες με το nginx, καθώς η διαδικασία επαλήθευσης οργανώνεται ομοιόμορφα.

Ακρόαση πληροφοριών πιστοποιητικού χρησιμοποιώντας το openssl

Για να ελέγξετε πώς αλληλεπιδρά ο διακομιστής με τα πιστοποιητικά πελάτη, μπορείτε να ελέγξετε εάν η σύνδεση έχει δημιουργηθεί χρησιμοποιώντας TLS/SSL.

Από την πλευρά του διακομιστή, αρχίζουμε να ακούμε στη θύρα χρησιμοποιώντας το openssl:

Openssl s_server -accept 443 -cert server.pem -key server.key -state

Από την πλευρά του πελάτη, έχουμε πρόσβαση στον διακομιστή, για παράδειγμα, με το culr:

Curl -k https://127.0.0.1:443

Στην κονσόλα από την πλευρά του διακομιστή, μπορείτε να παρατηρήσετε τη διαδικασία ανταλλαγής πληροφοριών μεταξύ του διακομιστή και του πελάτη.

Μπορείτε επίσης να χρησιμοποιήσετε τις επιλογές -verify [verification depth] και Verify [verification depth]. Η επιλογή μικρής θήκης ζητά από τον πελάτη πιστοποιητικό, αλλά δεν απαιτείται. Με κεφαλαία - Εάν δεν παρέχεται πιστοποιητικό, θα προκύψει σφάλμα. Ας αρχίσουμε να ακούμε από την πλευρά του διακομιστή ως εξής:

Openssl s_server -accept 443 -cert server.pem -key server.key -state -Verify 3

Από την πλευρά του διακομιστή το σφάλμα μοιάζει με αυτό:

140203927217808:error:140890C7:Ρουτίνες SSL:SSL3_GET_CLIENT_CERTIFICATE:ο ομότιμος δεν επέστρεψε ένα πιστοποιητικό:s3_srvr.c:3287:

Από την πλευρά του πελάτη ως εξής:

Curl: (35) error:14094410:SSL ρουτίνες:SSL3_READ_BYTES:sslv3 ειδοποίηση αποτυχία χειραψίας

Ας προσθέσουμε ένα πιστοποιητικό και ένα όνομα τομέα στην πλευρά του πελάτη (μπορείτε να εισαγάγετε το όνομα κεντρικού υπολογιστή για τη διεύθυνση 127.0.0.1 στο αρχείο /etc/hosts για έλεγχο):

Curl https://www.mycompany.com:443 --cacert root.pem --cert client.pem --key client.key

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

Ασφάλεια

Όταν χρησιμοποιείτε SSL/TLS, μία από τις κύριες μεθόδους είναι η μέθοδος MITM (Man In The Middle). Αυτή η μέθοδος βασίζεται στη χρήση ενός πιστοποιητικού διακομιστή και ενός κλειδιού σε κάποιον κόμβο που θα ακούει την κίνηση και θα αποκρυπτογραφεί τις πληροφορίες που ανταλλάσσονται μεταξύ του διακομιστή και του πελάτη. Για να οργανώσετε την ακρόαση, μπορείτε να χρησιμοποιήσετε, για παράδειγμα, το πρόγραμμα sslsniff. Επομένως, συνήθως συνιστάται να αποθηκεύετε το πιστοποιητικό ρίζας και το κλειδί σε μηχάνημα που δεν είναι συνδεδεμένο στο δίκτυο· για υπογραφή, φέρτε αιτήματα υπογραφής σε μονάδα flash, υπογράψτε και αφαιρέστε το επίσης. Και, φυσικά, δημιουργήστε αντίγραφα ασφαλείας.

Σε γενικές γραμμές, αυτός είναι ο τρόπος με τον οποίο χρησιμοποιούνται τα ψηφιακά πιστοποιητικά και τα πρωτόκολλα TLS και SSL. Εάν έχετε ερωτήσεις/προσθήκες, γράψτε στα σχόλια.

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

Πλοήγηση ανάρτησης

: 29 σχόλια

  1. cl-service.com

    Ο πελάτης δημιουργεί ο ίδιος το CSR όταν παραγγέλνει ένα πιστοποιητικό, όπου ο πελάτης αποφασίζει επίσης να αποθηκεύσει το ιδιωτικό κλειδί· για να εκδόσουμε ένα πιστοποιητικό, δεν χρειαζόμαστε το ιδιωτικό κλειδί και ο πελάτης δεν μας το δίνει με κανέναν τρόπο. Φυσικά, εάν αυτό συμβαίνει σε έναν κανονικό εικονικό διακομιστή, τότε οι διαχειριστές με πρόσβαση root στον διακομιστή έχουν επίσης πρόσβαση στα κλειδιά που είναι αποθηκευμένα εκεί.

  2. Καλοθελητής.

    Το θέμα των βυζιών δεν καλύπτεται, γιατί η περιγραφόμενη τεχνολογία PKI δεν έχει καμία σχέση με τον τίτλο του θέματος. Τουλάχιστον για καλό λόγο έδωσα συνδέσμους στο rfc.
    ΥΣΤΕΡΟΓΡΑΦΟ. Υπήρχε ένα αστείο για έναν σκύλο και έναν ψύλλο.

  3. Καλοθελητής.

    Δεν είχα σκοπό να σε προσβάλω με κανέναν τρόπο. Έψαχνα για πληροφορίες σχετικά με τη διαφορά μεταξύ SSl και TLS στην πράξη και ο σύνδεσμος σας ήταν ο πρώτος στο Google. Με κίνησε το ενδιαφέρον ο τίτλος του θέματος. Όλα είναι ωραία, συνεχίστε έτσι!

  4. DrAibolit

    Σας ευχαριστούμε για τις οξυδερκείς εξηγήσεις σας σχετικά με την ψηφιακή πιστοποίηση. Είμαι νέος σε αυτό =)
    Ελπίζω να μπορείτε να διευκρινίσετε την ακόλουθη ερώτηση.
    Δεδομένου ότι το θέμα της απάτης είναι πολύ ανεπτυγμένο στη βιομηχανία του Διαδικτύου, θα ήθελα να μάθω πώς να προσδιορίζω μόνος μου τις «ψείρες» των τοποθεσιών που επισκέπτομαι (ειδικά όπου υπάρχουν μετρητά και πληρωμές, επενδύσεις κ.λπ.) και με βάση αυτό καθορίζει τον βαθμό εμπιστοσύνης μου (πρέπει να εγγράφω συχνά, να αφήνω προσωπικά στοιχεία, να κάνω αγορές, συναλλαγές, επενδύσεις). Αν καταλαβαίνω καλά, η κατοχή αυτής της πιστοποίησης σας επιτρέπει να κάνετε μια τέτοια αξιολόγηση. Λοιπόν, από την άλλη πλευρά, η απόκτησή του δεν είναι πρόβλημα και είναι ακόμη και δωρεάν.
    Πώς ή με ποιο πρόγραμμα μπορείτε να προσδιορίσετε εάν ένας ιστότοπος διαθέτει ψηφιακό πιστοποιητικό; και κατά προτίμηση την κατηγορία του, η οποία εκχωρείται όταν ειδική αρχή εκδίδει SSL DV (το πιστοποιητικό εκδίδεται με επαλήθευση μόνο του τομέα), SSL OV (με επαλήθευση του οργανισμού), EV (με εκτεταμένη επαλήθευση του νομικού προσώπου). Οι δόλιες τοποθεσίες πιθανότατα δεν θα χρησιμοποιήσουν την πιο πρόσφατη επιλογή πιστοποίησης.
    Θα χαιρόμουν αν μου πείτε περισσότερους τρόπους για να προσδιορίσω την αξιοπιστία των τοποθεσιών))

    1. μνορίνΣυντάκτης ανάρτησης

      Δεν έχω συναντήσει ακόμη κάποιο συγκεκριμένο πρόγραμμα για αυτούς τους σκοπούς, αλλά μπορώ να δώσω μερικές συμβουλές για αυτό το θέμα.
      Μπορείτε να χρησιμοποιήσετε, για παράδειγμα, το Chromium ή το Google Chrome. Ας πάρουμε, για παράδειγμα, τον ιστότοπο https://www.thawte.com/ - μια εταιρεία που ασχολείται ουσιαστικά με τα ψηφιακά πιστοποιητικά.
      Η γραμμή διευθύνσεων θα περιέχει το όνομα της εταιρείας και ένα πράσινο λουκέτο. Αυτό σημαίνει ότι ο οργανισμός έχει επαληθευτεί, αυτό είναι τουλάχιστον SSL OV.
      Εάν κάνετε κλικ στην κλειδαριά και στο αναπτυσσόμενο παράθυρο "Λεπτομέρειες" και στη συνέχεια "Προβολή πιστοποιητικού", μπορείτε να δείτε πληροφορίες σχετικά με το πιστοποιητικό. Για την Thawte, το πιστοποιητικό υπογράφεται από το ακόλουθο πιστοποιητικό: «thawte Extended Validation SHA256 SSL CA», και το πιστοποιητικό για το click.alfabank.ru υπογράφεται επίσης από την Thawte, αλλά με διαφορετικό πιστοποιητικό. Αυτό είναι το “thawte EV SSL CA - G3”, δηλαδή πέρασαν και Extended Validation.
      Κάτι σαν αυτό.

  5. Ρουσλάν

    Ενότητα "Πώς λειτουργούν το SSL και το TLS", "Ο πελάτης δημιουργεί μια τυχαία ψηφιακή ακολουθία".

    Ήμουν σίγουρος ότι ο πελάτης δημιουργεί ιδιωτικά κλειδιά συνεδρίας και, κατά συνέπεια, δημόσια κλειδιά (τα οποία προφανώς αποκαλούσατε "ψηφιακή ακολουθία"). Το δημόσιο κλειδί μεταβιβάζεται στον διακομιστή και ο διακομιστής κρυπτογραφεί τα πακέτα στον πελάτη με το δημόσιο κλειδί συνόδου του πελάτη.

    Παρακαλώ διευκρινείστε.

  6. Αρχάριος

    Το άρθρο είναι πολύ χρήσιμο! Υπάρχουν ακόμη και πρακτικά παραδείγματα =) Αλλά δεν κατάλαβα ένα πράγμα - ποια είναι η διαφορά μεταξύ ενός πιστοποιητικού root και ενός πιστοποιητικού διακομιστή; ή είναι το ίδιο πράγμα;

  7. Βιτάλι

    Γειά σου.
    Ο οικοδεσπότης πρόσφερε μια υπηρεσία - SSL για εικονικούς διακομιστές. Το εκμεταλλευτήκαμε. Αποδείχθηκε ότι για το τρίτο επίπεδο, δηλ. Το πιστοποιητικό http://www.site.ru δεν είναι έγκυρο, μόνο για το site.ru. Επιπλέον, οι επισκέπτες μεταβαίνουν επίμονα στο πρωτόκολλο https, ανεξάρτητα από το αν πηγαίνουν στο site.ru ή στο http://www.site.ru. Φυσικά, στη δεύτερη περίπτωση, το πρόγραμμα περιήγησης αρχίζει να βρίζει με θλίψη και ο επισκέπτης δεν φτάνει ποτέ στον ιστότοπο.
    Αλλά για όσους έφτασαν στον ιστότοπο, ο ιστότοπος άρχισε να φαίνεται στραβός, μέρος του μενού εξαφανίστηκε και ορισμένες από τις εικόνες στα αποτελέσματα αναζήτησης σταμάτησαν να εμφανίζονται από ορισμένα στοιχεία.

Σύμφωνα με τις απαιτήσεις της ρωσικής νομοθεσίας, αναγνωρίζεται μόνο η χρήση συνδέσεων TLS που έχουν δημιουργηθεί σύμφωνα με τους ρωσικούς κρυπτογραφικούς αλγόριθμους GOST 28147-89, GOST R 34.10-94, GOST R 34.11-94 και GOST R 34.10-2001. Επομένως, εάν πρέπει να χρησιμοποιήσετε ιστότοπους που χρησιμοποιούν κρυπτογράφηση σύμφωνα με τους αλγόριθμους GOST, πρέπει να εγκαταστήσετε το πρόγραμμα CryptoPro CSP.

Τα λειτουργικά συστήματα Windows χρησιμοποιούν το πρόγραμμα CryptoPro CSP - ένα σύνολο βοηθητικών προγραμμάτων κρυπτογράφησης για τη δημιουργία ηλεκτρονικών υπογραφών και την εργασία με πιστοποιητικά

Για να εγκαταστήσετε το CryptoPro CSP, χρησιμοποιήστε τα υλικά από τον επίσημο ιστότοπο:

  • Διανομή CryptoPro CSP
  • Ένα πακέτο οδηγιών για την εγκατάσταση και χρήση του CryptoPro CSP

Μετά την εγκατάσταση του CryptoPro CSP, το πρόγραμμα περιήγησης ελέγχει την παρουσία και τη λειτουργικότητα αυτού του προγράμματος.

Ιστότοποι που ζητούν κρυπτογράφηση GOST TLS

Εάν ένας ιστότοπος ζητήσει κρυπτογράφηση GOST TLS, το πρόγραμμα περιήγησης ελέγχει εάν είναι εγκατεστημένο το πρόγραμμα CryptoPro CSP. Εάν το πρόγραμμα είναι εγκατεστημένο, ο έλεγχος μεταφέρεται σε αυτό.

Παραδείγματα ιστότοπων που ζητούν κρυπτογράφηση: www.gosuslugi.ru, ιστότοποι στον τομέα .gov.ru, .kamgov.ru, .nalog.ru.

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

Σημείωση. Οι ιστότοποι ενδέχεται να απαιτούν εγκατάσταση πιστοποιητικών. Οι οδηγίες για την εγκατάσταση πιστοποιητικών βρίσκονται συνήθως στους ιστότοπους που τα ζητούν.

Ενεργοποίηση και απενεργοποίηση υποστήριξης προγράμματος περιήγησης CryptoPro CSP

Από προεπιλογή, το πρόγραμμα περιήγησης υποστηρίζει CryptoPro CSP. Συνιστούμε να το ελέγξετε.

Το TLS είναι διάδοχος του SSL, ενός πρωτοκόλλου που παρέχει μια αξιόπιστη και ασφαλή σύνδεση μεταξύ κόμβων στο Διαδίκτυο. Χρησιμοποιείται στην ανάπτυξη διαφόρων πελατών, συμπεριλαμβανομένων των προγραμμάτων περιήγησης και των εφαρμογών πελάτη-διακομιστή. Τι είναι το TLS στον Internet Explorer;

Λίγα λόγια για την τεχνολογία

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

Βασικά, οι οργανώσεις τους χρησιμοποιούν ένα ενσωματωμένο πρόγραμμα περιήγησης. Σε ορισμένες περιπτώσεις - Mozilla Firefox.

Ενεργοποίηση ή απενεργοποίηση πρωτοκόλλου

Μερικές φορές είναι αδύνατη η πρόσβαση σε ορισμένους ιστότοπους επειδή η υποστήριξη για τεχνολογίες SSL και TLS είναι απενεργοποιημένη. Εμφανίζεται μια ειδοποίηση στο πρόγραμμα περιήγησης. Λοιπόν, πώς μπορείτε να ενεργοποιήσετε τα πρωτόκολλα για να συνεχίσετε να απολαμβάνετε ασφαλείς επικοινωνίες;
1.Ανοίξτε τον Πίνακα Ελέγχου μέσω του Start. Ένας άλλος τρόπος: ανοίξτε τον Explorer και κάντε κλικ στο εικονίδιο με το γρανάζι στην επάνω δεξιά γωνία.

2.Μεταβείτε στην ενότητα "Επιλογές προγράμματος περιήγησης" και ανοίξτε το μπλοκ "Για προχωρημένους".

3. Επιλέξτε τα πλαίσια δίπλα στην επιλογή "Χρήση TLS 1.1 και TLS 1.2".

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

Ποια είναι η διαφορά μεταξύ 1.0 και 1.1 και 1.2; Το 1.1 είναι μόνο μια ελαφρώς βελτιωμένη έκδοση του TLS 1.0, η οποία κληρονόμησε εν μέρει τα μειονεκτήματά του.Η 1.2 είναι η πιο ασφαλής έκδοση του πρωτοκόλλου. Από την άλλη πλευρά, δεν μπορούν να ανοίξουν όλοι οι ιστότοποι με ενεργοποιημένη αυτήν την έκδοση πρωτοκόλλου.

Όπως γνωρίζετε, το Skype messenger είναι απευθείας συνδεδεμένο στον Internet Explorer ως στοιχείο των Windows. Εάν δεν έχετε επιλέξει το πρωτόκολλο TLS στις ρυθμίσεις, τότε ενδέχεται να προκύψουν προβλήματα με το Skype. Το πρόγραμμα απλά δεν θα μπορεί να συνδεθεί στον διακομιστή.

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

Σύμφωνα με τις απαιτήσεις της ρωσικής νομοθεσίας, αναγνωρίζεται μόνο η χρήση συνδέσεων TLS που έχουν δημιουργηθεί σύμφωνα με τους ρωσικούς κρυπτογραφικούς αλγόριθμους GOST 28147-89, GOST R 34.10-94, GOST R 34.11-94 και GOST R 34.10-2001. Επομένως, εάν πρέπει να χρησιμοποιήσετε ιστότοπους που χρησιμοποιούν κρυπτογράφηση σύμφωνα με τους αλγόριθμους GOST, πρέπει να εγκαταστήσετε το πρόγραμμα CryptoPro CSP.

Τα λειτουργικά συστήματα Windows χρησιμοποιούν το πρόγραμμα CryptoPro CSP - ένα σύνολο βοηθητικών προγραμμάτων κρυπτογράφησης για τη δημιουργία ηλεκτρονικών υπογραφών και την εργασία με πιστοποιητικά

Για να εγκαταστήσετε το CryptoPro CSP, χρησιμοποιήστε τα υλικά από τον επίσημο ιστότοπο:

  • Διανομή CryptoPro CSP
  • Ένα πακέτο οδηγιών για την εγκατάσταση και χρήση του CryptoPro CSP

Μετά την εγκατάσταση του CryptoPro CSP, το πρόγραμμα περιήγησης ελέγχει την παρουσία και τη λειτουργικότητα αυτού του προγράμματος.

Ιστότοποι που ζητούν κρυπτογράφηση GOST TLS

Εάν ένας ιστότοπος ζητήσει κρυπτογράφηση GOST TLS, το πρόγραμμα περιήγησης ελέγχει εάν είναι εγκατεστημένο το πρόγραμμα CryptoPro CSP. Εάν το πρόγραμμα είναι εγκατεστημένο, ο έλεγχος μεταφέρεται σε αυτό.

Παραδείγματα ιστότοπων που ζητούν κρυπτογράφηση: www.gosuslugi.ru, ιστότοποι στον τομέα .gov.ru, .kamgov.ru, .nalog.ru.

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

Σημείωση. Οι ιστότοποι ενδέχεται να απαιτούν εγκατάσταση πιστοποιητικών. Οι οδηγίες για την εγκατάσταση πιστοποιητικών βρίσκονται συνήθως στους ιστότοπους που τα ζητούν.

Ενεργοποίηση και απενεργοποίηση υποστήριξης προγράμματος περιήγησης CryptoPro CSP

Από προεπιλογή, το πρόγραμμα περιήγησης υποστηρίζει CryptoPro CSP. Συνιστούμε να το ελέγξετε.

Πρωτόκολλα δικτύου SSL και TLS είναι κρυπτογραφικά πρωτόκολλα που παρέχουν έλεγχο ταυτότητας και προστασία από μη εξουσιοδοτημένη πρόσβαση και παραβίαση της ακεραιότητας των μεταδιδόμενων δεδομένων. Τα πρωτόκολλα SSL/TLS έχουν σχεδιαστεί για να αποτρέπουν την πλαστογράφηση αναγνωριστικών από την πλευρά του πελάτη ή διακομιστή, την αποκάλυψη ή την καταστροφή δεδομένων. Για τους σκοπούς αυτούς, χρησιμοποιείται μια αξιόπιστη μέθοδος ελέγχου ταυτότητας, χρησιμοποιούνται κρυπτογράφηση καναλιών επικοινωνίας και κωδικοί ακεραιότητας μηνυμάτων. Η τυπική προεπιλεγμένη θύρα για SSL/TLS είναι 443 για HTTPS, 465 για SMTPS (email), 636 για LDAPS, 563 για NNTPS, 994 για IRCS (chat), 995 για POP3S.

Πρωτόκολλο SSL

Το πρωτόκολλο SSL αναπτύχθηκε από τη Netscape για την προστασία των δεδομένων μεταξύ των πρωτοκόλλων υπηρεσίας και μεταφοράς. Η πρώτη δημόσια έκδοση κυκλοφόρησε το 1995. Χρησιμοποιείται ευρέως για εφαρμογές VoIP, υπηρεσίες άμεσων μηνυμάτων. Το SSL είναι ένα ασφαλές κανάλι που έχει τις ακόλουθες ιδιότητες:

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

Το πρωτόκολλο SSL χρησιμοποιεί συμμετρικά και ασύμμετρα κλειδιά.

Χαρακτηριστικά και σκοπός του πρωτοκόλλου SSL

Το πρωτόκολλο SSL παρέχει λύση σε δύο προβλήματα - κρυπτογράφηση των μεταδιδόμενων πληροφοριών και μεταφορά πληροφοριών ακριβώς εκεί που απαιτείται (authentication). Ο κύριος σκοπός του πρωτοκόλλου είναι να παρέχει έναν αξιόπιστο τρόπο ανταλλαγής δεδομένων μεταξύ εφαρμογών. Η υλοποίηση του SSL γίνεται με τη μορφή ενός πολυεπίπεδου περιβάλλοντος, το οποίο χρησιμοποιείται για την ασφαλή μετάδοση πληροφοριών μέσω μη ασφαλών καναλιών επικοινωνίας.

Η δομή πολλαπλών επιπέδων αντιπροσωπεύεται από ένα επίπεδο πρωτοκόλλου επιβεβαίωσης σύνδεσης και ένα επίπεδο πρωτοκόλλου εγγραφής. Το πρώτο επίπεδο είναι ένα πρωτόκολλο μεταφοράς, για παράδειγμα, το TCP - μαζί με το πρωτόκολλο εγγραφής SSL, αυτά τα επίπεδα αποτελούν τον πυρήνα του SSL, το οποίο στη συνέχεια συμμετέχει στο σχηματισμό πολύπλοκων υποδομών.

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

Πρωτόκολλο TLS

Το πρωτόκολλο TLS είναι ένα κρυπτογραφικό πρωτόκολλο που χρησιμοποιείται για ασφαλή μεταφορά δεδομένων μεταξύ διαφορετικών κόμβων στο Διαδίκτυο. Αυτό το πρωτόκολλο χρησιμοποιείται σε εφαρμογές VoIP, προγράμματα περιήγησης Ιστού και εφαρμογές ανταλλαγής άμεσων μηνυμάτων. Το TLS υλοποιείται με βάση την προδιαγραφή SSL 3.0. Το πρωτόκολλο αναπτύσσεται και αναπτύσσεται από το IETF.

Τα κύρια μέτρα ασφαλείας που παρέχονται από το πρωτόκολλο TLS περιλαμβάνουν:

  • Χρησιμοποιώντας ένα κλειδί για την επαλήθευση του κωδικού ελέγχου ταυτότητας του μηνύματος.
  • Η δυνατότητα υποβάθμισης της έκδοσης TLS ή αντικατάστασής της με ένα λιγότερο ασφαλές πρωτόκολλο δικτύου εξαλείφεται.
  • Το μήνυμα χειραψίας περιέχει έναν κατακερματισμό όλων των μηνυμάτων που ανταλλάσσονται μεταξύ των μερών.
  • Χρήση αρίθμησης εγγραφών εφαρμογών με χρήση MAC.
  • Η χρήση μιας ψευδοτυχαίας συνάρτησης που χωρίζει τα μηνύματα εισαγωγής σε 2 μέρη, καθένα από τα οποία επεξεργάζεται από διαφορετική συνάρτηση κατακερματισμού.

Χαρακτηριστικά και σκοπός του πρωτοκόλλου TLS

Το πρωτόκολλο TLS χρησιμοποιεί τους ακόλουθους αλγόριθμους:

  • RC4, Triple DES, SEED, IDEA κ.λπ. για συμμετρική κρυπτογράφηση.
  • RSA, DSA, Diffie-Hellman και ECDSA για έλεγχο ταυτότητας κλειδιού.
  • MD5, SHA και SHA-256/384 για συναρτήσεις κατακερματισμού.

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

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