Πρωτόκολλο TSL. Βεβαιωθείτε ότι τα πρωτόκολλα ssl και tls είναι ενεργοποιημένα. Πώς λειτουργεί μια χειραψία TLS;

Όλα τα επιχειρήματά μας βασίζονται στο γεγονός ότι το λειτουργικό σύστημα είναι Windows XP ή μεταγενέστερο (Vista, 7 ή 8), στο οποίο είναι εγκατεστημένες όλες οι κατάλληλες ενημερώσεις και ενημερώσεις κώδικα. Τώρα υπάρχει μια ακόμη προϋπόθεση: μιλάμε για τις πιο πρόσφατες εκδόσεις των προγραμμάτων περιήγησης και όχι για "σφαιρικό Ognelis στο κενό".

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

Και η θεωρία μας λέει ότι παρόλο που ο Internet Explorer υποστηρίζει τα TLS 1.1 και 1.2 ήδη από την έκδοση 8, στα Windows XP και Vista δεν θα τον αναγκάσουμε να το κάνει. Κάντε κλικ: Εργαλεία/Επιλογές Internet/Για προχωρημένους και στην ενότητα «Ασφάλεια» βρίσκουμε: SSL 2.0, SSL 3.0, TLS 1.0... βρήκατε κάτι άλλο; Συγχαρητήρια, θα έχετε TLS 1.1/1.2! Αν δεν το βρήκαν, έχεις Windows XP ή Vista και στο Ρέντμοντ σε θεωρούν καθυστερημένο.

Επομένως, καταργήστε την επιλογή όλων των πλαισίων SSL, επιλέξτε όλα τα διαθέσιμα πλαίσια TLS. Εάν είναι διαθέσιμο μόνο το TLS 1.0, τότε έτσι κι αν είναι διαθέσιμες περισσότερες τρέχουσες εκδόσεις, είναι καλύτερο να επιλέξετε μόνο αυτές και να αποεπιλέξετε το TLS 1.0 (και να μην εκπλαγείτε αργότερα που ορισμένοι ιστότοποι δεν ανοίγουν μέσω HTTPS). Στη συνέχεια, κάντε κλικ στα κουμπιά «Εφαρμογή» και «ΟΚ».

Είναι πιο εύκολο με το Opera - μας προσφέρει ένα πραγματικό συμπόσιο διαφορετικών εκδόσεων πρωτοκόλλου: Εργαλεία/Γενικές ρυθμίσεις/Για προχωρημένους/Ασφάλεια/Πρωτόκολλο ασφαλείας. Τι βλέπουμε; Ολόκληρο το σετ, από το οποίο αφήνουμε τα πλαίσια ελέγχου μόνο για TLS 1.1 και TLS 1.2, μετά από το οποίο κάνουμε κλικ στο κουμπί "Λεπτομέρειες" και εκεί καταργούμε όλες τις γραμμές εκτός από αυτές που ξεκινούν με "256 bit AES" - βρίσκονται στο πολύ τέλος. Στην αρχή της λίστας υπάρχει μια γραμμή "256 bit AES ( Ανώνυμος DH/SHA-256), αποεπιλέξτε το επίσης. Κάντε κλικ στο "OK" και χαρείτε την ασφάλεια.

Ωστόσο, η Opera έχει μια περίεργη ιδιότητα: εάν το TLS 1.0 είναι ενεργοποιημένο, τότε εάν είναι απαραίτητο να δημιουργήσετε μια ασφαλή σύνδεση, χρησιμοποιεί αμέσως αυτήν την έκδοση του πρωτοκόλλου, ανεξάρτητα από το αν ο ιστότοπος υποστηρίζει περισσότερες τρέχουσες. Όπως, γιατί να ενοχλείτε - όλα είναι καλά, όλα προστατεύονται. Όταν είναι ενεργοποιημένα μόνο τα TLS 1.1 και 1.2, θα επιχειρείται πρώτα η πιο προηγμένη έκδοση και μόνο εάν δεν υποστηρίζεται από τον ιστότοπο, το πρόγραμμα περιήγησης θα μεταβεί στην έκδοση 1.1.

Αλλά το σφαιρικό Ognelis Firefox δεν θα μας ευχαριστήσει καθόλου: Εργαλεία/Ρυθμίσεις/Για προχωρημένους/Κρυπτογράφηση: το μόνο που μπορούμε να κάνουμε είναι να απενεργοποιήσουμε το SSL, το TLS είναι διαθέσιμο μόνο στην έκδοση 1.0, δεν υπάρχει τίποτα να κάνουμε - το αφήνουμε με ένα σημάδι επιλογής.

Ωστόσο, τα χειρότερα μαθαίνονται από τη σύγκριση: Το Chrome και το Safari δεν περιέχουν καθόλου ρυθμίσεις σχετικά με το πρωτόκολλο κρυπτογράφησης που θα χρησιμοποιηθεί. Από όσο γνωρίζουμε, το Safari δεν υποστηρίζει εκδόσεις TLS πιο πρόσφατες από 1.0 σε εκδόσεις για λειτουργικό σύστημα Windows και δεδομένου ότι η κυκλοφορία νέων εκδόσεων για αυτό το λειτουργικό σύστημα έχει διακοπεί, δεν θα είναι.

Ο Chrome, από όσο γνωρίζουμε, υποστηρίζει το TLS 1.1, αλλά, όπως και στην περίπτωση του Safari, δεν μπορούμε να αρνηθούμε τη χρήση του SSL. Δεν υπάρχει τρόπος να απενεργοποιήσετε το TLS 1.0 στο Chrome. Αλλά με την πραγματική χρήση του TLS 1.1 υπάρχει ένα μεγάλο ερώτημα: πρώτα ενεργοποιήθηκε, μετά απενεργοποιήθηκε λόγω λειτουργικών προβλημάτων και, απ' όσο μπορεί κανείς να κρίνει, δεν έχει ακόμη ενεργοποιηθεί ξανά. Δηλαδή φαίνεται να υπάρχει υποστήριξη, αλλά φαίνεται να είναι απενεργοποιημένη και δεν υπάρχει τρόπος να την ενεργοποιήσει ξανά ο χρήστης. Η ίδια ιστορία είναι και με τον Firefox - στην πραγματικότητα υποστηρίζει το TLS 1.1, αλλά δεν είναι ακόμη διαθέσιμο στον χρήστη.

Περίληψη από το παραπάνω πολυγράμματο. Ποιοι είναι οι γενικοί κίνδυνοι από τη χρήση παρωχημένων εκδόσεων πρωτοκόλλων κρυπτογράφησης; Το γεγονός ότι κάποιος άλλος θα μπει στην ασφαλή σύνδεσή σας με τον ιστότοπο και θα αποκτήσει πρόσβαση σε όλες τις πληροφορίες "εκεί" και "εκεί". Πρακτικά, θα έχει πλήρη πρόσβαση στο email του, στον λογαριασμό του στο σύστημα πελάτη-τράπεζας κ.λπ.

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

Διαφορετικά, δεν υπάρχει επιλογή: μόνο Opera και μόνο TLS 1.2 (το TLS 1.1 είναι απλώς μια βελτίωση στο TLS 1.0, κληρονομώντας εν μέρει τα προβλήματα ασφαλείας του). Ωστόσο, οι αγαπημένοι μας ιστότοποι ενδέχεται να μην υποστηρίζουν TLS 1.2 :(

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

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

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

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

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

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

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

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

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

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

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

Από το άρθρο θα μάθετε:

Τι είναι το SSL

SSL ή Secure Sockets Layer ήταν το αρχικό όνομα του πρωτοκόλλου που ανέπτυξε το Netscape στα μέσα της δεκαετίας του '90. Το SSL 1.0 δεν ήταν ποτέ δημόσια διαθέσιμο και η έκδοση 2.0 είχε σοβαρά ελαττώματα. Το SSL 3.0, που κυκλοφόρησε το 1996, ήταν μια πλήρης αναμόρφωση και έθεσε τον τόνο για την επόμενη φάση ανάπτυξης.

Τι είναι το TLS

Όταν κυκλοφόρησε η επόμενη έκδοση του πρωτοκόλλου το 1999, το Internet Engineering Task Force το τυποποίησε και του έδωσε ένα νέο όνομα: Transport Layer Security ή TLS. Όπως αναφέρει η τεκμηρίωση του TLS, "η διαφορά μεταξύ αυτού του πρωτοκόλλου και του SSL 3.0 δεν είναι κρίσιμη". Το TLS και το SSL σχηματίζουν μια συνεχή σειρά πρωτοκόλλων και συχνά συνδυάζονται με το όνομα SSL/TLS.

Το πρωτόκολλο TLS κρυπτογραφεί την κίνηση στο Διαδίκτυο κάθε είδους. Ο πιο συνηθισμένος τύπος είναι η διαδικτυακή κίνηση. Γνωρίζετε πότε το πρόγραμμα περιήγησής σας δημιουργεί μια σύνδεση TLS - εάν ο σύνδεσμος στη γραμμή διευθύνσεων ξεκινά με "https".

Το TLS χρησιμοποιείται επίσης από άλλες εφαρμογές, όπως συστήματα αλληλογραφίας και τηλεδιάσκεψης.

Πώς λειτουργεί το TLS

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

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

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

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

Καλείται η διαδικασία με την οποία ο πελάτης και ο διακομιστής συμφωνούν σε ένα κλειδί συνεδρίας χειραψία. Αυτή είναι η στιγμή που 2 υπολογιστές που επικοινωνούν συστήνονται μεταξύ τους.

Διαδικασία χειραψίας TLS

Η διαδικασία χειραψίας TLS είναι αρκετά περίπλοκη. Τα παρακάτω βήματα περιγράφουν τη διαδικασία γενικά, ώστε να καταλάβετε πώς λειτουργεί γενικά.

  1. Ο πελάτης επικοινωνεί με τον διακομιστή και ζητά μια ασφαλή σύνδεση. Ο διακομιστής αποκρίνεται με μια λίστα κρυπτογράφησης—ένα αλγοριθμικό σύνολο για τη δημιουργία κρυπτογραφημένων συνδέσεων— που ξέρει πώς να χρησιμοποιεί. Ο πελάτης συγκρίνει τη λίστα με τη λίστα των υποστηριζόμενων κρυπτογράφησης, επιλέγει τον κατάλληλο και ενημερώνει τον διακομιστή ποιο από τα δύο θα χρησιμοποιήσει.
  2. Ο διακομιστής παρέχει το ψηφιακό πιστοποιητικό του - ένα ηλεκτρονικό έγγραφο υπογεγραμμένο από τρίτο μέρος που επιβεβαιώνει την αυθεντικότητα του διακομιστή. Οι πιο σημαντικές πληροφορίες στο πιστοποιητικό είναι το δημόσιο κλειδί της κρυπτογράφησης. Ο πελάτης επιβεβαιώνει τη γνησιότητα του πιστοποιητικού.
  3. Χρησιμοποιώντας το δημόσιο κλειδί του διακομιστή, ο πελάτης και ο διακομιστής δημιουργούν ένα κλειδί συνεδρίας που θα χρησιμοποιούν και οι δύο σε όλη τη διάρκεια της συνεδρίας για την κρυπτογράφηση των επικοινωνιών. Υπάρχουν διάφορες μέθοδοι για αυτό. Ο πελάτης μπορεί να χρησιμοποιήσει το δημόσιο κλειδί για να κρυπτογραφήσει έναν αυθαίρετο αριθμό, ο οποίος στη συνέχεια αποστέλλεται στον διακομιστή για αποκρυπτογράφηση και στη συνέχεια και τα δύο μέρη χρησιμοποιούν αυτόν τον αριθμό για να δημιουργήσουν το κλειδί συνεδρίας.

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

Τρωτά σημεία των πρωτοκόλλων TLS 1.2 και TLS 1.2

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

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

TLS 1.3

Η έκδοση 1.3 του πρωτοκόλλου TLS, η οποία θα οριστικοποιηθεί σύντομα, λύνει πολλά από τα προβλήματα με τα τρωτά σημεία εγκαταλείποντας την υποστήριξη για συστήματα κρυπτογράφησης παλαιού τύπου.
Η νέα έκδοση έχει συμβατότητα με προηγούμενες εκδόσεις: για παράδειγμα, η σύνδεση θα επανέλθει στο TLS 1.2 εάν ένα από τα μέρη δεν μπορεί να χρησιμοποιήσει ένα νεότερο σύστημα κρυπτογράφησης στη λίστα των επιτρεπόμενων αλγορίθμων πρωτοκόλλου της έκδοσης 1.3. Ωστόσο, σε μια επίθεση παραβίασης σύνδεσης, εάν ένας χάκερ προσπαθήσει αναγκαστικά να υποβαθμίσει την έκδοση του πρωτοκόλλου σε 1.2 στη μέση μιας περιόδου λειτουργίας, αυτή η ενέργεια θα γίνει αντιληπτή και η σύνδεση θα τερματιστεί.

Πώς να ενεργοποιήσετε την υποστήριξη TLS 1.3 σε προγράμματα περιήγησης Google Chrome και Firefox

Ο Firefox και ο Chrome υποστηρίζουν το TLS 1.3, αλλά αυτή η έκδοση δεν είναι ενεργοποιημένη από προεπιλογή. Ο λόγος είναι ότι προς το παρόν υπάρχει μόνο σε πρόχειρη μορφή.

Mozilla Firefox

Πληκτρολογήστε about:config στη γραμμή διευθύνσεων του προγράμματος περιήγησής σας. Επιβεβαιώστε ότι κατανοείτε τους κινδύνους.

  1. Θα ανοίξει το πρόγραμμα επεξεργασίας ρυθμίσεων του Firefox.
  2. Εισαγάγετε security.tls.version.max στην αναζήτηση
  3. Αλλάξτε την τιμή σε 4 κάνοντας διπλό κλικ στην τρέχουσα τιμή.



Google Chrome

  1. Πληκτρολογήστε chrome://flags/ στη γραμμή διευθύνσεων του προγράμματος περιήγησής σας για να ανοίξετε τον πίνακα πειραμάτων.
  2. Βρείτε την επιλογή #tls13-variant
  3. Κάντε κλικ στο μενού και ορίστε το σε Ενεργοποιημένο (Πρόχειρο).
  4. Επανεκκινήστε το πρόγραμμα περιήγησής σας.

Πώς να ελέγξετε ότι το πρόγραμμα περιήγησής σας χρησιμοποιεί την έκδοση 1.2

Υπενθυμίζουμε ότι η έκδοση 1.3 δεν είναι ακόμη σε δημόσια χρήση. Αν δεν θέλεις
χρησιμοποιήστε το προσχέδιο, μπορείτε να παραμείνετε στην έκδοση 1.2.

Για να ελέγξετε ότι το πρόγραμμα περιήγησής σας χρησιμοποιεί την έκδοση 1.2, ακολουθήστε τα ίδια βήματα όπως στις παραπάνω οδηγίες και βεβαιωθείτε ότι:

  • Για τον Firefox, η τιμή security.tls.version.max είναι 3. Εάν είναι χαμηλότερη, αλλάξτε την σε 3 κάνοντας διπλό κλικ στην τρέχουσα τιμή.
  • Για το Google Chrome: κάντε κλικ στο μενού του προγράμματος περιήγησης - επιλέξτε Ρυθμίσεις- επιλέξτε Εμφάνιση σύνθετων ρυθμίσεων- κατεβείτε στο τμήμα Σύστημακαι κάντε κλικ στο Άνοιγμα ρυθμίσεων διακομιστή μεσολάβησης…:

  • Στο παράθυρο που ανοίγει, κάντε κλικ στην καρτέλα Ασφάλεια και βεβαιωθείτε ότι είναι επιλεγμένο το πεδίο Χρήση TLS 1.2. Εάν όχι, ελέγξτε το και κάντε κλικ στο OK:


Οι αλλαγές θα τεθούν σε ισχύ μετά την επανεκκίνηση του υπολογιστή σας.

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

Μεταβείτε στο εργαλείο ελέγχου έκδοσης διαδικτυακού πρωτοκόλλου SSL Labs. Η σελίδα θα δείχνει σε πραγματικό χρόνο την έκδοση πρωτοκόλλου που χρησιμοποιείται και εάν το πρόγραμμα περιήγησης είναι ευαίσθητο σε ευπάθειες.

Πηγές: μετάφραση

Τι είναι η χειραψία TLS και πώς λειτουργεί;

Το TLS είναι ένα από τα πιο κοινά εργαλεία ασφαλείας που χρησιμοποιούνται στο Διαδίκτυο. Το πρωτόκολλο λειτουργεί ενεργά με πολλές διαδικασίες επικοινωνίας δικτύου: μεταφορές αρχείων, συνδέσεις VPN (σε ορισμένες υλοποιήσεις για ανταλλαγή κλειδιών), υπηρεσίες άμεσων μηνυμάτων ή τηλεφωνία IP.

Μία από τις βασικές πτυχές του πρωτοκόλλου είναι η χειραψία. Για αυτό θα μιλήσουμε σε αυτό το άρθρο.

"SSL/TLS χειραψία" είναι το όνομα του βήματος για τη δημιουργία μιας σύνδεσης HTTPS. Το μεγαλύτερο μέρος της εργασίας που σχετίζεται με το πρωτόκολλο SSL/TLS γίνεται σε αυτό το στάδιο. Πέρυσι, η IETF οριστικοποίησε το TLS 1.3, ανανεώνοντας πλήρως τη διαδικασία χειραψίας.
Το άρθρο θα καλύψει δύο τύπους χειραψιών - για τα πρωτόκολλα TLS 1.2 και TLS 1.3, τα οποία θα εξετάσουμε, ξεκινώντας από το αφηρημένο επίπεδο και βαθμιαία εμβαθύνοντας στις ιδιαιτερότητες:

  • συντονισμός κρυπτογραφικών πρωτοκόλλων·
  • έλεγχος ταυτότητας με χρήση πιστοποιητικού SSL.
  • δημιουργία κλειδιού συνεδρίας.

Πώς λειτουργεί μια χειραψία TLS;

Μια σύνδεση HTTPS περιλαμβάνει δύο μέρη: τον πελάτη (τον εκκινητή της σύνδεσης, συνήθως ένα πρόγραμμα περιήγησης ιστού) και τον διακομιστή. Ο σκοπός της χειραψίας SSL/TLS είναι να κάνει όλη την κρυπτογραφική εργασία για τη δημιουργία μιας ασφαλούς σύνδεσης, συμπεριλαμβανομένης της επαλήθευσης της γνησιότητας του πιστοποιητικού SSL που χρησιμοποιείται και της δημιουργίας του κλειδιού κρυπτογράφησης.

Διαπραγμάτευση κλήσης

Κάθε λογισμικό είναι μοναδικό. Επομένως, ακόμη και τα πιο δημοφιλή προγράμματα περιήγησης ιστού έχουν διαφορετική λειτουργικότητα. Ομοίως στην πλευρά του διακομιστή - ο Windows Server, ο Apache και το NGINX είναι επίσης διαφορετικά μεταξύ τους. Τα πράγματα γίνονται ακόμα πιο περίπλοκα όταν προσθέτετε προσαρμοσμένες διαμορφώσεις.

Αυτός είναι ο λόγος για τον οποίο το πρώτο βήμα μιας χειραψίας TLS είναι ο πελάτης και ο διακομιστής να ανταλλάξουν πληροφορίες σχετικά με τις δυνατότητές τους για να επιλέξουν περαιτέρω υποστηριζόμενες κρυπτογραφικές λειτουργίες.

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

Πιστοποίηση

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

Όλα τα αξιόπιστα πιστοποιητικά SSL εκδίδονται από μια αρχή έκδοσης πιστοποιητικών (CA). Μια ΑΠ πρέπει να ακολουθεί αυστηρούς κανόνες για την έκδοση και την επικύρωση πιστοποιητικών για να είναι αξιόπιστη. Μπορείτε να σκεφτείτε μια ΑΠ ως κάτι σαν συμβολαιογράφο - η υπογραφή της σημαίνει ότι τα δεδομένα στο πιστοποιητικό είναι πραγματικά.

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

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

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

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

Ανταλλαγή κλειδιών

Το τελευταίο μέρος της χειραψίας TLS περιλαμβάνει τη δημιουργία ενός «κλειδιού περιόδου λειτουργίας» που θα χρησιμοποιηθεί πραγματικά για ασφαλή επικοινωνία.

Τα κλειδιά περιόδου λειτουργίας είναι "συμμετρικά", που σημαίνει ότι το ίδιο κλειδί χρησιμοποιείται για κρυπτογράφηση και αποκρυπτογράφηση.

Η συμμετρική κρυπτογράφηση είναι ταχύτερη από την ασύμμετρη κρυπτογράφηση, καθιστώντας την πιο κατάλληλη για την αποστολή δεδομένων μέσω σύνδεσης HTTPS. Η ακριβής μέθοδος δημιουργίας κλειδιού εξαρτάται από την επιλεγμένη σουίτα κρυπτογράφησης, με τις δύο πιο συνηθισμένες να είναι η RSA και η Diffie-Hellman.

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

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

Μέχρι το TLS 1.3, κάθε φορά που επισκέπτεστε έναν ιστότοπο, η χειραψία επαναλαμβανόταν. Η χειραψία TLS 1.3 υποστηρίζει 0-RTT ή μηδενικό χρόνο επανέναρξης μετ' επιστροφής, γεγονός που αυξάνει σημαντικά την ταχύτητα για τον επισκέπτη που επιστρέφει.

Βήμα προς βήμα διαδικασία χειραψίας στο TLS 1.2

Ας ρίξουμε μια πιο προσεκτική ματιά στη χειραψία TLS χρησιμοποιώντας RSA. Η χρήση του αλγόριθμου Diffie-Hellman θα περιγραφεί παρακάτω.

  1. Το πρώτο μήνυμα ονομάζεται "Client Hello". Αυτό το μήνυμα παραθέτει τις δυνατότητες του πελάτη, έτσι ώστε ο διακομιστής να μπορεί να επιλέξει τη σουίτα κρυπτογράφησης που θα χρησιμοποιήσει για επικοινωνία. Το μήνυμα περιλαμβάνει επίσης έναν μεγάλο, τυχαία επιλεγμένο πρώτο αριθμό που ονομάζεται «τυχαίος αριθμός πελάτη».
  2. Ο διακομιστής απαντά ευγενικά με ένα μήνυμα "Server Hello". Εκεί λέει στον πελάτη ποιες παραμέτρους σύνδεσης έχουν επιλεγεί και επιστρέφει τον τυχαία επιλεγμένο πρώτο αριθμό του, που ονομάζεται "τυχαίος αριθμός διακομιστή". Εάν ο πελάτης και ο διακομιστής δεν μοιράζονται τις ίδιες σουίτες κρυπτογράφησης, η σύνδεση αποτυγχάνει.
  3. Στο μήνυμα "Πιστοποιητικό", ο διακομιστής στέλνει την αλυσίδα πιστοποιητικών SSL στον πελάτη, συμπεριλαμβανομένων των πιστοποιητικών φύλλων και ενδιάμεσων πιστοποιητικών. Μόλις ο πελάτης τα λάβει, εκτελεί αρκετούς ελέγχους για να επαληθεύσει το πιστοποιητικό. Ο πελάτης πρέπει επίσης να επαληθεύσει ότι ο διακομιστής διαθέτει το ιδιωτικό κλειδί του πιστοποιητικού, το οποίο συμβαίνει κατά τη διαδικασία ανταλλαγής/δημιουργίας κλειδιών.
  4. Αυτό είναι ένα προαιρετικό μήνυμα, που απαιτείται μόνο για ορισμένες μεθόδους ανταλλαγής κλειδιών (όπως το Diffie-Hellman) που απαιτούν πρόσθετα δεδομένα από τον διακομιστή.
  5. Το μήνυμα "Server Hello Done" ειδοποιεί τον πελάτη ότι ο διακομιστής ολοκλήρωσε τη μετάδοση δεδομένων.
  6. Στη συνέχεια, ο πελάτης συμμετέχει στη δημιουργία ενός κλειδιού συνεδρίας. Οι ιδιαιτερότητες αυτού του βήματος εξαρτώνται από τη μέθοδο ανταλλαγής κλειδιών που έχει επιλεγεί στα αρχικά μηνύματα Hello. Εφόσον μιλάμε για RSA, ο πελάτης θα δημιουργήσει μια τυχαία συμβολοσειρά byte που ονομάζεται pre-master secret, θα την κρυπτογραφήσει με το δημόσιο κλειδί του διακομιστή και θα την επιστρέψει.
  7. Το μήνυμα "Αλλαγή προδιαγραφής κρυπτογράφησης" ενημερώνει το άλλο μέρος ότι έχει δημιουργηθεί το κλειδί συνεδρίας και μπορεί να μεταβεί σε κρυπτογραφημένη σύνδεση.
  8. Στη συνέχεια αποστέλλεται ένα μήνυμα "Ολοκληρώθηκε", υποδεικνύοντας ότι η χειραψία έχει ολοκληρωθεί από την πλευρά του πελάτη. Από αυτή τη στιγμή, η σύνδεση προστατεύεται με ένα κλειδί συνεδρίας. Το μήνυμα περιέχει δεδομένα (MAC) που μπορούν να χρησιμοποιηθούν για να επαληθευτεί ότι η χειραψία δεν έχει παραβιαστεί.
  9. Τώρα ο διακομιστής αποκρυπτογραφεί το μυστικό προ-κύριο και υπολογίζει το κλειδί συνεδρίας. Στη συνέχεια στέλνει ένα μήνυμα "Αλλαγή προδιαγραφής κρυπτογράφησης" για να ειδοποιήσει ότι μεταβαίνει σε κρυπτογραφημένη σύνδεση.
  10. Ο διακομιστής στέλνει επίσης ένα μήνυμα "Ολοκληρώθηκε" χρησιμοποιώντας το συμμετρικό κλειδί συνεδρίας που δημιουργήθηκε πρόσφατα και επαληθεύει το άθροισμα ελέγχου για να επαληθεύσει την ακεραιότητα ολόκληρης της χειραψίας.

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

Σε αυτό το σημείο, μπορούν να σταλούν τα πρώτα byte της διαδικτυακής εφαρμογής (δεδομένα που σχετίζονται με την πραγματική υπηρεσία - HTML, Javascript κ.λπ.).

Βήμα προς βήμα διαδικασία χειραψίας στο TLS 1.3

Η χειραψία TLS 1.3 είναι σημαντικά μικρότερη από τον προκάτοχό της.

  1. Όπως και με το TLS 1.2, το μήνυμα "Client Hello" ξεκινά τη χειραψία, αλλά αυτή τη φορά περιέχει πολύ περισσότερες πληροφορίες. Το TLS 1.3 μείωσε τον αριθμό των υποστηριζόμενων κρυπτογράφησης από 37 σε 5. Αυτό σημαίνει ότι ο πελάτης μπορεί να μαντέψει ποια συμφωνία κλειδιού ή πρωτόκολλο ανταλλαγής θα χρησιμοποιηθεί, επομένως εκτός από το μήνυμα στέλνει το μέρος του δημόσιου κλειδιού του από το μαντέψιμο πρωτόκολλο.
  2. Ο διακομιστής θα απαντήσει με ένα μήνυμα "Server Hello". Όπως και με τη χειραψία 1.2, αποστέλλεται πιστοποιητικό σε αυτό το στάδιο. Εάν ο πελάτης μάντεψε σωστά το πρωτόκολλο κρυπτογράφησης με τα συνημμένα δεδομένα και ο διακομιστής συμφώνησε με αυτό, ο τελευταίος στέλνει το τμήμα του δημόσιου κλειδιού, υπολογίζει το κλειδί συνεδρίας και ολοκληρώνει τη μετάδοση με το μήνυμα «Ολοκληρώθηκε ο διακομιστής».
  3. Τώρα που ο πελάτης έχει όλες τις απαραίτητες πληροφορίες, επαληθεύει το πιστοποιητικό SSL και χρησιμοποιεί τα δύο δημόσια κλειδιά για να υπολογίσει το αντίγραφο του κλειδιού περιόδου λειτουργίας. Όταν γίνει αυτό, στέλνει ένα μήνυμα "Ο πελάτης ολοκληρώθηκε".

Επικεφαλής της χειραψίας TLS

Ιστορικά, ένα από τα παράπονα σχετικά με το SSL/TLS ήταν ότι επιβάρυνε τους διακομιστές με επιπλέον επιβάρυνση. Αυτό επηρέασε την αντίληψη ότι το HTTPS είναι πιο αργό από το HTTP.

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

Σε μικρούς ιστότοπους αυτό πιθανότατα δεν θα προκαλέσει αξιοσημείωτη επιβράδυνση, αλλά σε εταιρικά συστήματα που δέχονται εκατοντάδες χιλιάδες επισκέπτες καθημερινά αυτό μπορεί να είναι μεγάλο πρόβλημα. Κάθε νέα έκδοση της χειραψίας απλοποιεί σημαντικά τη διαδικασία: Το TLS 1.2 εκτελεί δύο φάσεις, ενώ το TLS 1.3 χωράει μόνο σε μία και υποστηρίζει 0-RTT.

Βελτιώσεις χειραψίας TLS 1.3 σε σχέση με το TLS 1.2

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

Η χειραψία TLS 1.2 έχει δύο φάσεις. Μερικές φορές μπορεί να απαιτούνται επιπλέον, αλλά όσον αφορά την ποσότητα, η προεπιλογή είναι το βέλτιστο σενάριο.

Σε αντίθεση με το 1.2, η χειραψία TLS 1.3 ταιριάζει σε μία φάση, αν και θα ήταν πιο ακριβές να πούμε μιάμιση, αλλά εξακολουθεί να είναι σημαντικά ταχύτερη από το TLS 1.2.

Μείωση των σουιτών κρυπτογράφησης

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

Αυτό είναι κακό για δύο λόγους:

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

Το IETF αφαίρεσε την υποστήριξη για όλους εκτός από τους πιο ασφαλείς αλγόριθμους στο TLS 1.3, εξαλείφοντας τη σύγχυση περιορίζοντας τις επιλογές. Συγκεκριμένα, καταργήθηκε η επιλογή της μεθόδου ανταλλαγής κλειδιών. Το εφήμερο σχήμα Diffie-Hellman έγινε ο μόνος τρόπος για έναν πελάτη να στείλει τις βασικές πληροφορίες του μαζί με το "Client Hello" στο πρώτο μέρος της χειραψίας. Η κρυπτογράφηση RSA έχει καταργηθεί πλήρως μαζί με όλα τα άλλα σχήματα ανταλλαγής στατικών κλειδιών.

Τούτου λεχθέντος, υπάρχει μια πιθανή αχίλλειος πτέρνα στο TLS 1.3.

Μηδενικός χρόνος επανέναρξης μετ' επιστροφής - 0-RTT

Το 0-RTT είναι αυτό για το οποίο φωνάζει ολόκληρος ο κόσμος της τεχνολογίας και τώρα είναι εδώ με το TLS 1.3. Όπως αναφέρθηκε, η χειραψία TLS ήταν ιστορικά αργή, επομένως ήταν σημαντικό να επιταχυνθεί. Το 0-RTT το κάνει αυτό αποθηκεύοντας ορισμένες μυστικές πληροφορίες σχετικά με τον πελάτη, συνήθως ένα αναγνωριστικό περιόδου σύνδεσης ή εισιτήρια συνεδρίας, για χρήση στην επόμενη σύνδεση.

Παρά όλα τα οφέλη του 0-RTT, περιέχει μερικές πιθανές παγίδες. Η λειτουργία καθιστά τους πελάτες επιρρεπείς σε επιθέσεις επανάληψης, όπου ένας εισβολέας που καταφέρνει με κάποιο τρόπο να αποκτήσει πρόσβαση στην κρυπτογραφημένη περίοδο λειτουργίας μπορεί να λάβει τα δεδομένα 0-RTT, συμπεριλαμβανομένου του πρώτου αιτήματος του πελάτη, και να τα στείλει πίσω στον διακομιστή.

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

Ασφάλεια

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

Στη χειραψία TLS 1.2, τα στάδια της διαπραγμάτευσης δεν προστατεύονταν, αντίθετα χρησιμοποιούσαν μια απλή λειτουργία MAC για να διασφαλιστεί ότι κανείς δεν παρενέβη στη μετάδοση. Η φάση της διαπραγμάτευσης περιλαμβάνει μηνύματα "Client Hello" και "Server Hello".

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

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

Ας δούμε τώρα πώς αυτές οι ενημερώσεις στη χειραψία TLS 1.3 θα υλοποιηθούν και στις τρεις κύριες λειτουργίες της ίδιας της χειραψίας SSL/TLS.

Σουίτες κρυπτογράφησης χειραψίας TLS

Μια σουίτα κρυπτογράφησης είναι ένα σύνολο αλγορίθμων που καθορίζουν τις παραμέτρους μιας ασφαλούς σύνδεσης.

Στην αρχή οποιασδήποτε σύνδεσης, η πρώτη αλληλεπίδραση, "Client Hello", είναι μια λίστα με υποστηριζόμενες σουίτες κρυπτογράφησης. Ο διακομιστής επιλέγει την καλύτερη, πιο ασφαλή επιλογή που υποστηρίζει και ανταποκρίνεται στις απαιτήσεις του. Μπορείτε να δείτε τη σουίτα κρυπτογράφησης και να καταλάβετε όλες τις παραμέτρους χειραψίας και σύνδεσης.

Σουίτες κρυπτογράφησης TLS 1.2

  • Το TLS είναι ένα πρωτόκολλο.
  • Ο ECDHE είναι ένας αλγόριθμος ανταλλαγής κλειδιών.
  • Το ECDSA είναι ένας αλγόριθμος ελέγχου ταυτότητας.
  • Ο AES 128 GCM είναι ένας συμμετρικός αλγόριθμος κρυπτογράφησης.
  • Ο SHA256 είναι ένας αλγόριθμος κατακερματισμού.

Το παραπάνω παράδειγμα χρησιμοποιεί το εφήμερο σύστημα Elliptic Curve Diffie-Hellman (DH) για την ανταλλαγή κλειδιών και τον αλγόριθμο ψηφιακής υπογραφής Elliptic Curve για έλεγχο ταυτότητας. Το DH μπορεί επίσης να συνδυαστεί με RSA (λειτουργεί ως αλγόριθμος ψηφιακής υπογραφής) για την εκτέλεση ελέγχου ταυτότητας.

Ακολουθεί μια λίστα με τις πιο ευρέως υποστηριζόμενες σουίτες κρυπτογράφησης TLS 1.2:

Σουίτες κρυπτογράφησης TLS 1.3

  • Το TLS είναι ένα πρωτόκολλο.
  • Ο AES 256 GCM είναι ένας αλγόριθμος κρυπτογράφησης με έλεγχο ταυτότητας με συνημμένα δεδομένα (AEAD).
  • Το SHA384 είναι ο αλγόριθμος συνάρτησης δημιουργίας κλειδιού κατακερματισμού (HKFD).

Γνωρίζουμε ήδη ότι θα χρησιμοποιήσουμε κάποια έκδοση της εφήμερης ανταλλαγής κλειδιών Diffie-Hellman, αλλά δεν γνωρίζουμε τις παραμέτρους, επομένως οι δύο πρώτοι αλγόριθμοι στη σουίτα κρυπτογράφησης TLS 1.2 δεν χρειάζονται πλέον. Αυτές οι λειτουργίες εξακολουθούν να λειτουργούν, απλώς δεν χρειάζεται πλέον η διαπραγμάτευση τους κατά τη διάρκεια μιας χειραψίας.

Από το παραπάνω παράδειγμα, μπορείτε να δείτε ότι το AES (Advanced Encryption Standard) χρησιμοποιείται για την κρυπτογράφηση μεγάλου όγκου δεδομένων. Λειτουργεί σε λειτουργία μετρητή Galois χρησιμοποιώντας πλήκτρα 256-bit.

Ακολουθούν οι πέντε σουίτες κρυπτογράφησης που υποστηρίζονται στο TLS 1.3:

  • TLS_AES_256_GCM_SHA384;
  • TLS_CHACHA20_POLY1305_SHA256;
  • TLS_AES_128_GCM_SHA256;
  • TLS_AES_128_CCM_8_SHA256;
  • TLS_AES_128_CCM_SHA256.

Τι έχει αλλάξει στο TLS 1.3 σε σύγκριση με το TLS 1.2;

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

Η χειραψία TLS 1.3 βελτιώνει επίσης ορισμένες διαδικασίες, όπως τον έλεγχο ταυτότητας μηνυμάτων και τις ψηφιακές υπογραφές.

Τέλος, εκτός από τη σταδιακή κατάργηση παλαιότερων αλγορίθμων δημιουργίας ή ανταλλαγής κλειδιών, το TLS 1.3 καταργεί τους παλαιότερους συμμετρικούς κρυπτογράφησης. Το TLS 1.3 εξάλειψε πλήρως τους κρυπτογράφους μπλοκ. Ο μόνος τύπος συμμετρικού κρυπτογράφησης που επιτρέπεται στο TLS 1.3 ονομάζεται Authenticated Encryption with Additional Data (AEAD). Συνδυάζει την κρυπτογράφηση και τον έλεγχο ταυτότητας μηνυμάτων (MAC) σε μία λειτουργία.

Έλεγχος ταυτότητας σε χειραψία TLS

Ιστορικά, οι δύο κύριες επιλογές ανταλλαγής κλειδιών είναι η RSA και η Diffie-Hellman (DH). Παρά ορισμένες βασικές ομοιότητες, υπάρχουν θεμελιώδεις διαφορές μεταξύ αυτών των δύο προσεγγίσεων για την ανταλλαγή κλειδιών.

Με άλλα λόγια, η χειραψία RSA TLS είναι διαφορετική από τη χειραψία ECDH TLS.

Το RSA χρησιμοποιεί παραγοντοποίηση πρώτων και αρθρωτή αριθμητική. Οι μεγάλοι πρώτοι αριθμοί απαιτούν μεγάλη ισχύ CPU για να υπολογιστούν και είναι δύσκολο να βρεθούν.

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

Μια σύντομη εκδρομή στην ιστορία μπορεί να ξεκαθαρίσει αυτό το σημείο.

Το 1976, ο Whitfield Diffie και ο Martin Hellman δημιούργησαν ένα πρωτόκολλο ανταλλαγής κλειδιών βασισμένο στο έργο του Ralph Merkle, του οποίου το όνομα, σύμφωνα και με τα δύο, θα έπρεπε επίσης να εμφανίζεται στο όνομα του πρωτοκόλλου.

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

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

Ήταν ο Ron Rivest (R στο RSA) που δημιούργησε την ιδέα που τελικά έγινε το κρυπτοσύστημα RSA.

Από πολλές απόψεις, η RSA είναι ο πνευματικός διάδοχος της DH. Πραγματοποιεί:

  • παραγωγή κλειδιών?
  • ανταλλαγή κλειδιών?
  • κρυπτογράφηση?
  • αποκρυπτογράφηση.

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

Ενώ το RSA χειρίζεται τον έλεγχο ταυτότητας και την ανταλλαγή κλειδιών, το Diffie-Hellman διευκολύνει μόνο την ανταλλαγή κλειδιών. Υπάρχουν τέσσερις κοινές παραλλαγές της οικογένειας DH:

  • Diffie-Hellman (DH);
  • εφήμερο (βραχυπρόθεσμο) Diffie-Hellman (DHE);
  • Ελλειπτική καμπύλη Diffie-Hellman (ECDH);
  • Elliptic Curve Ephemeral Diffie-Hellman (ECDHE).

Και πάλι, η Diffie-Hellman από μόνη της δεν πιστοποιεί τίποτα. Πρέπει να χρησιμοποιείται σε συνδυασμό με έναν αλγόριθμο ψηφιακής υπογραφής. Έτσι, για παράδειγμα, εάν χρησιμοποιήσατε ECDH ή ECDHE, οι περισσότερες σουίτες κρυπτογράφησης θα συνδυαστούν με τον αλγόριθμο ψηφιακής υπογραφής ελλειπτικής καμπύλης (ECDSA) ή RSA.

Έλεγχος ταυτότητας σε χειραψία TLS 1.2

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

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

Η ελλειπτική κρυπτογραφία (ECC) έχει πολύ μικρότερα μεγέθη κλειδιών που ταιριάζουν στην ελλειπτική καμπύλη στην οποία βασίζεται. Υπάρχουν πέντε κατάλληλες καμπύλες για αυτό το πλαίσιο:

  • 192 bit;
  • 224 bit?
  • 256 bit;
  • 384 bit;
  • 521 bit.

Αλλά αυτή δεν είναι η μόνη διαφορά μεταξύ των δημόσιων/ιδιωτικών κλειδιών ECC και των κλειδιών RSA. Χρησιμοποιούνται για δύο εντελώς διαφορετικούς σκοπούς κατά τη διάρκεια μιας χειραψίας TLS.

Στο RSA, το ζεύγος δημόσιου/ιδιωτικού κλειδιού χρησιμοποιείται τόσο για τον έλεγχο ταυτότητας διακομιστή όσο και για την ανταλλαγή συμμετρικών κλειδιών περιόδου λειτουργίας. Στην πραγματικότητα, η επιτυχής χρήση του μυστικού προηγουμένου είναι που πιστοποιεί την ταυτότητα του διακομιστή.

Με το Diffie-Hellman, το ζεύγος δημόσιου/ιδιωτικού κλειδιού ΔΕΝ χρησιμοποιείται για την ανταλλαγή συμμετρικού κλειδιού συνεδρίας. Όταν εμπλέκεται ο Diffie-Hellman, το ιδιωτικό κλειδί συνδέεται στην πραγματικότητα με τον συνοδευτικό αλγόριθμο υπογραφής (ECDSA ή RSA).

Έλεγχος ταυτότητας RSA

Η διαδικασία ελέγχου ταυτότητας RSA σχετίζεται με τη διαδικασία ανταλλαγής κλειδιών. Πιο συγκεκριμένα, η ανταλλαγή κλειδιών είναι μέρος της διαδικασίας ελέγχου ταυτότητας.

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

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

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

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

Έλεγχος ταυτότητας DH

Όταν χρησιμοποιούνται το Diffie-Hellman και το ECDSA/RSA, ο έλεγχος ταυτότητας και η ανταλλαγή κλειδιών λειτουργούν δίπλα-δίπλα. Και αυτό μας φέρνει πίσω στα κλειδιά και τις χρήσεις τους. Το δημόσιο/ιδιωτικό κλειδί RSA χρησιμοποιείται τόσο για την ανταλλαγή κλειδιών όσο και για τον έλεγχο ταυτότητας. Στο DH+ECDSA/RSA, το ασύμμετρο ζεύγος κλειδιών χρησιμοποιείται μόνο για τη φάση ψηφιακής υπογραφής ή ελέγχου ταυτότητας.

Όταν ο πελάτης λάβει το πιστοποιητικό, εξακολουθεί να εκτελεί τους τυπικούς ελέγχους:

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

Αλλά η ιδιοκτησία ενός ιδιωτικού κλειδιού επαληθεύεται διαφορετικά. Κατά τη διάρκεια της ανταλλαγής κλειδιών χειραψίας TLS (βήμα 4), ο διακομιστής χρησιμοποιεί το ιδιωτικό του κλειδί για να κρυπτογραφήσει τον τυχαίο αριθμό πελάτη και διακομιστή, καθώς και την παράμετρό του DH. Λειτουργεί ως ψηφιακή υπογραφή για τον διακομιστή και ο πελάτης μπορεί να χρησιμοποιήσει το συσχετισμένο δημόσιο κλειδί για να επαληθεύσει ότι ο διακομιστής είναι ο νόμιμος κάτοχος του ζεύγους κλειδιών.

Έλεγχος ταυτότητας σε χειραψία TLS 1.3

Στο TLS 1.3, ο έλεγχος ταυτότητας και οι ψηφιακές υπογραφές εξακολουθούν να διαδραματίζουν σημαντικό ρόλο, αλλά έχουν αφαιρεθεί από τις σουίτες κρυπτογράφησης για να απλοποιηθεί η διαπραγμάτευση. Υλοποιούνται από την πλευρά του διακομιστή και χρησιμοποιούν αρκετούς αλγόριθμους που υποστηρίζονται από τον διακομιστή λόγω της ασφάλειας και της πανταχού παρουσίας τους. Το TLS 1.3 επιτρέπει τρεις κύριους αλγόριθμους υπογραφής:

  • RSA (μόνο υπογραφή),
  • Αλγόριθμος ψηφιακής υπογραφής ελλειπτικής καμπύλης (ECDSA),
  • Edwards Digital Signature Algorithm (EdDSA).

Σε αντίθεση με τη χειραψία TLS 1.2, το τμήμα ελέγχου ταυτότητας της χειραψίας TLS 1.3 δεν σχετίζεται με την ίδια την ανταλλαγή κλειδιών. Αντιθέτως, η επεξεργασία του γίνεται παράλληλα με την ανταλλαγή κλειδιών και τον έλεγχο ταυτότητας μηνυμάτων.

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

Ο πελάτης λαμβάνει όλες τις πληροφορίες που διαβιβάζονται από το "Server Hello" και εκτελεί μια τυπική σειρά ελέγχων ελέγχου ταυτότητας πιστοποιητικού SSL/TLS. Περιλαμβάνει τον έλεγχο της υπογραφής στο πιστοποιητικό και στη συνέχεια τον έλεγχο της υπογραφής που προστέθηκε στον κατακερματισμό αποκρυπτογράφησης.

Μια αντιστοίχιση επιβεβαιώνει ότι ο διακομιστής κατέχει το μυστικό κλειδί.

Ανταλλαγή κλειδιών σε χειραψία TLS

Εάν επισημάνετε την κύρια ιδέα αυτής της ενότητας, θα ακούγεται ως εξής:

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

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

Ανταλλαγή κλειδιών RSA

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

Να πώς συμβαίνει:

  1. xΚαι y
  2. Ο πελάτης δημιουργεί προ-κύριο μυστικό(α) και στη συνέχεια χρησιμοποιεί το δημόσιο κλειδί του διακομιστή για να το κρυπτογραφήσει και να το στείλει στον διακομιστή.
  3. Ο διακομιστής αποκρυπτογραφεί προ-κύριο μυστικόχρησιμοποιώντας το αντίστοιχο ιδιωτικό κλειδί. Τώρα και οι δύο πλευρές έχουν και τις τρεις μεταβλητές εισόδου και τις συνδυάζουν με κάποιες ψευδοτυχαίες συναρτήσεις (PRF) για να δημιουργήσουν ένα κύριο κλειδί.
  4. Και τα δύο μέρη αναμειγνύουν το κύριο κλειδί με ακόμη περισσότερα PRF και αποκτούν τα αντίστοιχα κλειδιά περιόδου λειτουργίας.

Ανταλλαγή κλειδιών DH

Δείτε πώς λειτουργεί το ECDH:

  1. Ο πελάτης και ο διακομιστής ανταλλάσσουν δύο πρώτους αριθμούς ( xΚαι y), οι οποίοι ονομάζονται τυχαίοι αριθμοί.
  2. Ένα μέρος επιλέγει έναν μυστικό αριθμό που ονομάζεται προ-κύριο μυστικό(α) και υπολογίζει: x a mod y. Στη συνέχεια στέλνει το αποτέλεσμα (Α) στον άλλο συμμετέχοντα.
  3. Το ίδιο κάνει και η άλλη πλευρά, επιλέγοντας τη δική της προ-κύριο μυστικό(β) και υπολογίζει x b mod y, και μετά στέλνει πίσω την τιμή του (B).
  4. Και οι δύο πλευρές ολοκληρώνουν αυτό το μέρος αποδεχόμενοι τις δεδομένες τιμές και επαναλαμβάνοντας τη λειτουργία. Υπολογίζει κανείς b a mod y, υπολογίζει ο άλλος a b mod y.

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

TLS 1.2 χειραψία για DH

Τώρα που μάθαμε πώς διαφέρει το DH από το RSA, ας ρίξουμε μια ματιά στο πώς μοιάζει μια χειραψία TLS 1.2 που βασίζεται στο DH.

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

  1. Όπως και με το RSA, ο πελάτης ξεκινά με ένα μήνυμα "Client Hello", το οποίο περιλαμβάνει μια λίστα με κρυπτοσειρές καθώς και τον τυχαίο αριθμό του πελάτη.
  2. Ο διακομιστής απαντά με το μήνυμά του "Server Hello", το οποίο περιλαμβάνει την επιλεγμένη σουίτα κρυπτογράφησης και τον τυχαίο αριθμό του διακομιστή.
  3. Ο διακομιστής στέλνει το πιστοποιητικό SSL του. Όπως και με τη χειραψία RSA TLS, ο πελάτης θα εκτελέσει μια σειρά ελέγχων για την αυθεντικότητα του πιστοποιητικού, αλλά επειδή η ίδια η DH δεν μπορεί να ελέγξει την ταυτότητα του διακομιστή, χρειάζεται ένας πρόσθετος μηχανισμός.
  4. Για να εκτελέσει έλεγχο ταυτότητας, ο διακομιστής λαμβάνει τους τυχαίους αριθμούς πελάτη και διακομιστή, καθώς και την παράμετρο DH που θα χρησιμοποιηθεί για τον υπολογισμό του κλειδιού περιόδου λειτουργίας, και τους κρυπτογραφεί με το ιδιωτικό του κλειδί. Το αποτέλεσμα θα λειτουργήσει ως ψηφιακή υπογραφή: ο πελάτης θα χρησιμοποιήσει το δημόσιο κλειδί για να επαληθεύσει την υπογραφή και ότι ο διακομιστής είναι ο νόμιμος κάτοχος του ζεύγους κλειδιών και θα απαντήσει με τη δική του παράμετρο DH.
  5. Ο διακομιστής τερματίζει αυτή τη φάση με ένα μήνυμα "Server Hello Done".
  6. Σε αντίθεση με το RSA, ο πελάτης δεν χρειάζεται να στείλει το προ-κύριο μυστικό στον διακομιστή χρησιμοποιώντας ασύμμετρη κρυπτογράφηση, ο πελάτης και ο διακομιστής χρησιμοποιούν τις παραμέτρους DH που αντάλλαξαν προηγουμένως για να λάβουν το προ-κύριο μυστικό. Στη συνέχεια, όλοι χρησιμοποιούν το μυστικό προ-κύριο που μόλις υπολόγισαν για να αποκτήσουν το ίδιο κλειδί συνεδρίας.
  7. Ο πελάτης στέλνει ένα μήνυμα "Αλλαγή προδιαγραφής κρυπτογράφησης" για να ενημερώσει το άλλο μέρος ότι μεταβαίνει σε κρυπτογράφηση.
  8. Ο πελάτης στέλνει ένα τελικό μήνυμα "Ολοκληρώθηκε" για να υποδείξει ότι έχει ολοκληρώσει το τμήμα της χειραψίας.
  9. Ομοίως, ο διακομιστής στέλνει ένα μήνυμα "Αλλαγή προδιαγραφής κρυπτογράφησης".
  10. Η χειραψία τελειώνει με ένα μήνυμα "Ολοκληρώθηκε" από τον διακομιστή.

Πλεονεκτήματα του DHE έναντι του RSA

Υπάρχουν δύο κύριοι λόγοι για τους οποίους η κοινότητα των κρυπτογράφων προτιμά να χρησιμοποιεί το DHE έναντι του RSA: τέλεια εμπρός μυστικότητα και γνωστά τρωτά σημεία.

Τέλεια εμπρός μυστικότητα

Προηγουμένως, ίσως έχετε αναρωτηθεί τι σημαίνει η λέξη «εφήμερο» στο τέλος των DHE και ECDHE. Εφήμερο κυριολεκτικά σημαίνει «βραχύβιος». Και αυτό μπορεί να βοηθήσει στην κατανόηση του Perfect Forward Secrecy (PFS), το οποίο είναι χαρακτηριστικό ορισμένων πρωτοκόλλων ανταλλαγής κλειδιών. Το PFS διασφαλίζει ότι τα κλειδιά περιόδου σύνδεσης που ανταλλάσσονται μεταξύ των μερών δεν μπορούν να παραβιαστούν, ακόμη και αν το ιδιωτικό κλειδί του πιστοποιητικού έχει παραβιαστεί. Με άλλα λόγια, προστατεύει προηγούμενες συνεδρίες από εξαγωγή και αποκρυπτογράφηση. Το PFS έλαβε ύψιστη προτεραιότητα μετά την ανακάλυψη του σφάλματος Heartbleed. Αυτό είναι ένα βασικό στοιχείο του TLS 1.3.


Ευπάθεια ανταλλαγής κλειδιών RSA

Υπάρχουν ευπάθειες που μπορούν να εκμεταλλευτούν το padding ( υλικό παραγεμίσματος), χρησιμοποιείται κατά την ανταλλαγή κλειδιών σε παλαιότερες εκδόσεις του RSA (PKCS #1 1.5). Αυτή είναι μια πτυχή της κρυπτογράφησης. Με το RSA, το μυστικό προ-κύριο πρέπει να κρυπτογραφηθεί με το δημόσιο κλειδί και να αποκρυπτογραφηθεί με το ιδιωτικό κλειδί. Αλλά όταν αυτό το μικρότερο μυστικό προ-κύριο τοποθετείται σε ένα μεγαλύτερο δημόσιο κλειδί, πρέπει να συμπληρωθεί. Στις περισσότερες περιπτώσεις, εάν προσπαθήσετε να μαντέψετε το περιεχόμενο και στείλετε ένα ψεύτικο αίτημα στον διακομιστή, θα κάνετε λάθος και θα αναγνωρίσει την ασυμφωνία και θα το φιλτράρει. Αλλά υπάρχει μια καλή πιθανότητα να μπορείτε να στείλετε αρκετά αιτήματα στον διακομιστή για να μαντέψετε τη σωστή πλήρωση. Στη συνέχεια, ο διακομιστής θα στείλει ένα λανθασμένα ολοκληρωμένο μήνυμα, το οποίο με τη σειρά του θα περιορίσει την πιθανή τιμή του προ-κυρίου μυστικού. Αυτό θα επιτρέψει σε έναν εισβολέα να υπολογίσει και να παραβιάσει το κλειδί.

Αυτός είναι ο λόγος για τον οποίο το RSA αφαιρέθηκε υπέρ του DHE στο TLS 1.3.

Ανταλλαγή κλειδιών σε χειραψία TLS 1.3

Σε μια χειραψία TLS 1.3, λόγω της περιορισμένης επιλογής σχημάτων ανταλλαγής κλειδιών, ένας πελάτης μπορεί να μαντέψει με επιτυχία το σχήμα και να στείλει το τμήμα του κοινόχρηστου κλειδιού κατά την αρχική φάση (Client Hello) της χειραψίας.

Το RSA δεν ήταν το μόνο σύστημα ανταλλαγής κλειδιών που καταργήθηκε στο TLS 1.3. Τα μη εφήμερα σχήματα Diffie-Hellman καταργήθηκαν επίσης, όπως και η λίστα με τις ανεπαρκώς ασφαλείς παραμέτρους Diffie-Hellman.

Τι εννοείτε με τον όρο ανεπαρκώς ασφαλείς ρυθμίσεις; Χωρίς να μπούμε σε πολλά μαθηματικά, η πολυπλοκότητα του Diffie-Hellman και των περισσότερων κρυπτοσυστημάτων δημόσιου κλειδιού είναι η πολυπλοκότητα της επίλυσης προβλημάτων διακριτών λογαρίθμων. Το κρυπτοσύστημα πρέπει να είναι αρκετά πολύπλοκο ώστε να υπολογίζεται εάν οι παράμετροι εισόδου (τυχαίοι αριθμοί πελάτη και διακομιστή) είναι άγνωστες, διαφορετικά ολόκληρο το σχήμα θα είναι άχρηστο. Τα σχήματα Diffie-Hellman, τα οποία δεν μπορούσαν να παρέχουν αρκετά μεγάλες παραμέτρους, καταργήθηκαν στο TLS 1.3.

  1. Στην αρχή μιας χειραψίας TLS 1.3, γνωρίζοντας ότι θα χρησιμοποιηθεί το σχέδιο συμφωνίας κλειδιού DHE, ο πελάτης περιλαμβάνει το τμήμα του κοινόχρηστου κλειδιού βάσει του σχεδιαζόμενου σχήματος ανταλλαγής κλειδιών στο μήνυμά του "Client Hello".
  2. Ο διακομιστής λαμβάνει αυτές τις πληροφορίες και, εάν ο πελάτης είναι σωστός, επιστρέφει το μέρος του δημόσιου κλειδιού του σε ένα "Server Hello".
  3. Ο πελάτης και ο διακομιστής υπολογίζουν το κλειδί συνεδρίας.

Αυτό μοιάζει πολύ με αυτό που συμβαίνει με το DH σε μια χειραψία TLS 1.2, με τη διαφορά ότι στο TLS 1.3 η ανταλλαγή κλειδιών γίνεται νωρίτερα.

Αντί για συμπέρασμα

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

Τουλάχιστον μέχρι να πάει κάτι στραβά.



Ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: