Τι είναι το TLS/SSL?
To TLS(Transport Layer Security) και το SSL (Secure Socket Layer) αναφέρονται ως SSL. Είναι πρωτόκολλα κρυπτογραφίας και είναι σχεδιασμένα για να παρέχουν ασφάλεια στην επικοινωνία, σε ένα δίκτυο υπολογιστών. Πολλές εκδόσεις των πρωτοκόλλων χρησιμοποιούνται σε προγράμματα για web browsing, emails, VOIP και απευθείας μηνύματα.
Ο κύριος στόχος του TLS πρωτοκόλλου, είναι να παρέχει ιδιωτικότητα και ακεραιότητα των δεδομένων μεταξύ δύο υπολογιστών που επικοινωνούν μεταξύ τους.
Αυτή όμως η επικοινωνία γίνεται εκτελώντας μια διαδικασία του TLS πρωτοκόλλου που λέγεται "Handshake"
Κάθε επικοινωνία που εφαρμόζει τα πρωτόκολλα TLS/SSL, ξεκινάει το "Handshake" μια διαπραγμάτευση και από τις δύο μεριές, η οποία καθορίζει με ασφάλεια συγκεκριμένες ενέργειες που πρέπει να γίνουν, έτσι ώστε να δημιουργηθεί μια ασφαλή και κρυπτογραφιμένη επικοινωνία μεταξύ αυτών.
Η διαδικασία handshake λειτουργεί με τον εξής τρόπο:
Αρχικά ο client στέλνει ένα μήνυμα στο server που λέει, ότι θέλει να δημιουργήσει μια επικοινωνία μεταξύ τους, δείχνοντας του τα cipher suites (εργαλεία κρυπτογραφίας), και τις εκδόσεις TLS/SSL που είναι πρόθημος ο client να χρησημοποιήσει.
Ο server ανταποκρίνεται στο μήνυμα του client, λέγοντας του ότι θα χρησιμοποιήσουν ένα συγκεκριμένο εργαλείο κρυπτογράφησης(που διαθέτουν και οι δυο), επίσης θα χρησιμοποιήσει την ίδια έκδοση TLS/SSL που χρησιμοποιήσει ο client και στη συνέχεια ο server του δείχνει το πιστοποιητικό του συμπεριλαμβάνοντας και το public key του.
Ο client επιβεβαιώνει το πιστοποιητικό του server, και παίρνει το public key. Με τη χρήση του public key, o client κρυπτογραφεί το λεγόμενο "pre-master key" και το στέλνει στον server.
O server λαμβάνοντας το "pre-master key" χρησιμοποιεί το ιδιωτικό του κλειδί (private key) για να το αποκρυπτογραφήσει.
Πλέον o server και o client χρησιμοποιούν το pre-master key για να υπολογίσουν το "shared secret key".
Ο client στέλνει ένα κρυπτογραφημένο μήνυμα με τις κατάλληλες προδιαγραφές(δηλαδή να μπορεί να αποκρυπτογραφηθεί και απο τον server) το οποίο δημιουργήθηκε με το "shared secret key".
Ο server αποκρυπτογραφεί και επαληθεύει το μήνυμα. Εάν δουλεύει, ο server θα απαντήσει με ενα κρυπτογραφημένο μηνυμα στον client, κρυπτογραφώντας το με το shared secret key.
Τέλος ο client και ο server χρησιμοποιούν την κρυπτογραφημένη σύνδεση με το shared secret key, και προστατεύουν την επικοινωνία τους για όσο διαρκεί το session.
To TLS(Transport Layer Security) και το SSL (Secure Socket Layer) αναφέρονται ως SSL. Είναι πρωτόκολλα κρυπτογραφίας και είναι σχεδιασμένα για να παρέχουν ασφάλεια στην επικοινωνία, σε ένα δίκτυο υπολογιστών. Πολλές εκδόσεις των πρωτοκόλλων χρησιμοποιούνται σε προγράμματα για web browsing, emails, VOIP και απευθείας μηνύματα.
Ο κύριος στόχος του TLS πρωτοκόλλου, είναι να παρέχει ιδιωτικότητα και ακεραιότητα των δεδομένων μεταξύ δύο υπολογιστών που επικοινωνούν μεταξύ τους.
Αυτή όμως η επικοινωνία γίνεται εκτελώντας μια διαδικασία του TLS πρωτοκόλλου που λέγεται "Handshake"
Κάθε επικοινωνία που εφαρμόζει τα πρωτόκολλα TLS/SSL, ξεκινάει το "Handshake" μια διαπραγμάτευση και από τις δύο μεριές, η οποία καθορίζει με ασφάλεια συγκεκριμένες ενέργειες που πρέπει να γίνουν, έτσι ώστε να δημιουργηθεί μια ασφαλή και κρυπτογραφιμένη επικοινωνία μεταξύ αυτών.
Η διαδικασία handshake λειτουργεί με τον εξής τρόπο:
Αρχικά ο client στέλνει ένα μήνυμα στο server που λέει, ότι θέλει να δημιουργήσει μια επικοινωνία μεταξύ τους, δείχνοντας του τα cipher suites (εργαλεία κρυπτογραφίας), και τις εκδόσεις TLS/SSL που είναι πρόθημος ο client να χρησημοποιήσει.
Ο server ανταποκρίνεται στο μήνυμα του client, λέγοντας του ότι θα χρησιμοποιήσουν ένα συγκεκριμένο εργαλείο κρυπτογράφησης(που διαθέτουν και οι δυο), επίσης θα χρησιμοποιήσει την ίδια έκδοση TLS/SSL που χρησιμοποιήσει ο client και στη συνέχεια ο server του δείχνει το πιστοποιητικό του συμπεριλαμβάνοντας και το public key του.
Ο client επιβεβαιώνει το πιστοποιητικό του server, και παίρνει το public key. Με τη χρήση του public key, o client κρυπτογραφεί το λεγόμενο "pre-master key" και το στέλνει στον server.
O server λαμβάνοντας το "pre-master key" χρησιμοποιεί το ιδιωτικό του κλειδί (private key) για να το αποκρυπτογραφήσει.
Πλέον o server και o client χρησιμοποιούν το pre-master key για να υπολογίσουν το "shared secret key".
Ο client στέλνει ένα κρυπτογραφημένο μήνυμα με τις κατάλληλες προδιαγραφές(δηλαδή να μπορεί να αποκρυπτογραφηθεί και απο τον server) το οποίο δημιουργήθηκε με το "shared secret key".
Ο server αποκρυπτογραφεί και επαληθεύει το μήνυμα. Εάν δουλεύει, ο server θα απαντήσει με ενα κρυπτογραφημένο μηνυμα στον client, κρυπτογραφώντας το με το shared secret key.
Τέλος ο client και ο server χρησιμοποιούν την κρυπτογραφημένη σύνδεση με το shared secret key, και προστατεύουν την επικοινωνία τους για όσο διαρκεί το session.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου