NOW 07

ΣΕΠΤΕΜΒΡΙΟΣ 2019 #23 Το TLS είναι ένα κρυπτογραφικό πρωτόκολλο που προστατεύει τα δεδομένα που ανταλλάσσονται μέσω ενός δικτύου υπολογιστών, ενώ έχει γίνει διάσημο από την ύπαρξη του γράμματος S στο HTTPS. Ειδικότερα, το TLS χρησιμοποιείται για να προστατεύει τα δεδομένα των χρηστών του web από διαδικτυακές επιθέσεις, αποτρέποντας την υποκλοπή, παραποίηση και πλαστογράφηση μηνυμάτων. Το TLS σχεδιάστηκε ως ασφαλέστερη εναλλακτική λύση από τον προκάτο- χό του SSL ή Secure Sockets Layer, το οποίο αποτελούσε το αρχι- κό πρωτόκολλο κρυπτογράφησης που είχε σκοπό να παρέχει ένα ασφαλές επίπεδο υποδοχής στο internet. Το SSL αναπτύχθηκε από τη Netscape το 1995, ενώ οι πρώτες εκδόσεις SSL 1.0 και 2.0 περιεί- χαν πολλές αδυναμίες ασφαλείας που προκάλεσαν τον πλήρη επα- νασχεδιασμό του πρωτοκόλλου. Το 1996 η Netscape κυκλοφόρησε την έκδοση SSL 3.0, η οποία αποτέλεσε και τη βάση για το TLS 1.0. Αυτό συνέβη επειδή με την πάροδο των ετών ερευνητές στον τομέα της ασφάλειας ανακάλυψαν πλήθος τρωτών σημείων που επηρεά- ζουν το SSL, γεγονός που ώθησε την Επιχειρησιακή Ομάδα Μηχανι- κών Διαδικτύου IETF (Internet Engineering Task Force) να σχεδιάσει το TLS σε μια προσπάθεια να τα μετριάσει. Κατά έναν ειρωνικό τρό- πο όμως, οι αρχικές εκδόσεις του TLS επηρεάστηκαν επίσης από επι- κίνδυνες ευπάθειες, κάτι που οδήγησε τελικά στο TLS 1.2, την προ- επιλεγμένη δηλαδή έκδοση που συνιστούσαν οι επαγγελματίες του κλάδου. Η πλειοψηφία των γνωστών τρωτών σημείων του πρωτο- κόλλου μετριάστηκε στο TLS 1.2, όμως αυτό το επίπεδο ασφάλειας εξακολουθούσε να αποτελεί το αποτέλεσμα μιας σειράς επιδιορθώ- σεων πάνω σε ένα εξαρχής ελαττωματικό σχέδιο. Ως απάντηση στα προβλήματα αυτά η IETF σχεδίασε το TLS 1.3 από το μηδέν, σε μια προσπάθειά της να παρέχει ξεκάθαρα ένα σύγχρονο και ασφαλές πρωτόκολλο TLS. Η έγκριση της τελευταίας έκδοσης TLS 1.3 ολο- κληρώθηκε μετά από πέντε χρόνια δοκιμών, αποτελώντας πλέον το προεπιλεγμένο πρότυπο ασφαλείας για το διαδίκτυο. Όλες οι εκδό- σεις TLS και τα σχετικά RFC (Request For Comments) έγγραφά τους περιλαμβάνονται στην παρακάτω λίστα: Το TLS 1.0 δημοσιεύθηκε ως RFC 2246 το 1999. Το TLS 1.1 δημοσιεύθηκε ως RFC 4346 το 2006. Το TLS 1.2 δημοσιεύθηκε ως RFC 5246 το 2008. Το TLS 1.3 δημοσιεύθηκε ως προτεινόμενο πρότυπο στο RFC 8446 το 2018. Πλεονεκτήματα του TLS σε σχέση με το SSL Το TLS είναι πιο αποτελεσματικό και πιο ασφαλές από το SSL, καθώς εκτελεί ισχυρότερο έλεγχο ταυτότητας μηνυμάτων και χρησιμοποιεί διαφορετικούς αλγόριθμους κρυπτογράφησης. Για παράδειγμα, το TLS υποστηρίζει προ-κοινόχρηστα κλειδιά, ασφαλείς απομακρυσμένους κωδικούς πρόσβασης και ταυτοποίηση τύπου Kerberos, χαρακτηρι- στικά που απουσιάζουν από το SSL. Επιπλέον, το TLS διαθέτει συμβα- τότητα προς τα πίσω για παλαιότερες συσκευές που εξακολουθούν να χρησιμοποιούν το SSL. Τα χαρακτηριστικά του πρωτοκόλλου TLS περι- λαμβάνουν δύο διαφορετικά επίπεδα. Το πρωτόκολλο εγγραφής TLS που παρέχει ασφάλεια στη σύνδεση και το πρωτόκολλοTLS handshake που επιτρέπει στον πελάτη και τον διακομιστή να ταυτοποιούνται με- ταξύ τους και να διαπραγματεύονται τα κλειδιά ασφαλείας πριν από τη μετάδοση οποιωνδήποτε δεδομένων. Το TLS handshake είναι μια δια- δικασία που εκτελείται μέσα από πολλαπλά βήματα. Μια βασική χειρα- ψίαTLS περιλαμβάνει την αποστολή μηνυμάτων «hello» μεταξύ πελάτη και διακομιστή, καθώς και την ανταλλαγή κλειδιών, κρυπτογραφικού μηνύματος και μηνύματος τερματισμού. Η διαδικασία πολλαπλών βη- μάτων είναι τέτοια που καθιστά τοTLS αρκετά ευέλικτο, ώστε να χρησι- μοποιείται σε διαφορετικές εφαρμογές, καθώς μπορεί να τροποποιηθεί η μορφή και η σειρά ανταλλαγής. Πώς λειτουργούν οι παλαιότερες εκδόσεις TLS; Για να γίνουν κατανοητά τα οφέλη που προσφέρει το TLS 1.3, θα πρέπει πρώτα να εξηγήσουμε τον τρόπο με τον οποίο δουλεύουν οι παλαιότερες εκδόσεις TLS. Το TLS είναι ένα υβριδικό κρυπτοσύστη- μα, κάτι που σημαίνει ότι χρησιμοποιεί τόσο ασύμμετρη (δημόσιο κλειδί), όσο και συμμετρική (κωδικό/φράση) κρυπτογράφηση, με την ασύμμετρη κρυπτογραφία να εκτελεί σημαντικά βραδύτερα βή- ματα από τα συμμετρικά ισοδύναμά της. Συνεπώς, το TLS χρησιμο- ποιεί μόνο δημόσια κλειδιά, έτσι ώστε οι πελάτες και οι διακομιστές να μπορούν να ανταλλάσσουν με ασφάλεια ένα συμμετρικό κλειδί. Το κλειδί αυτό μπορεί στη συνέχεια να χρησιμοποιηθεί για την κρυ- πτογράφηση όλων των επακόλουθων επικοινωνιών, αποφεύγοντας τις υπερβολικές επιδόσεις που επιβάλλονται από την ασύμμετρη κρυπτογράφηση. Το TLS 1.2 υποστηρίζει πολλαπλούς αλγόριθμους ανταλλαγής κλειδιών (π.χ. RSA, DH κ.λπ. ), μαζί με διάφορους άλλους κρυπτογραφικούς αλγόριθμους που χρησιμοποιούνται για την κρυ- πτογράφηση και αποκρυπτογράφηση μηνυμάτων. Ο μεγάλος αυτός αριθμός εναλλακτικών επιλογών απαιτεί από τους πελάτες και τους διακομιστές να διαπραγματεύονται, έτσι ώστε όλα τα μέρη να χρη- σιμοποιούν τις ίδιες παραμέτρους TLS. Η διαπραγμάτευση αυτή εί- ναι τυποποιημένη σε ένα πρωτόκολλο, που όπως αναφέραμε και πιο πάνω αποκαλείται handshake. Θέματα ασφαλείας του TLS 1.2 Αν και το TLS 1.2 λειτουργεί πολύ καλά στις περισσότερες περιπτώσεις, υπάρχουν ερωτηματικά σχετικά με το συνολικό επίπεδο ασφάλειας και προστασίας της ιδιωτικότητας που παρέχει, ενώ επιβάλλει επιπλέον και

RkJQdWJsaXNoZXIy NjE3Njcz