Αυτό που πιστεύουν οι περισσότεροι είναι ότι το HTTPs και το λουκέτο που εμφανίζεται στον browser είναι σημάδι ασφάλειας. Και όντως είναι. Βλέπουν το λουκέτο και θεωρούν ότι το δίκτυο δεν γνωρίζει τίποτα για το site που επισκέπτονται, άσχετα αν δεν ισχύει και το hostname δινόταν σε plain text στο TLS Handshake. (Server Name Indication)
Τη λύση σε αυτό το πρόβλημα έδωσε το ECH, ή αλλιώς Encrypted Client Hello, το οποίο έχει σχεδιαστεί να κρύψει το hostname, με τους περισσότερους browsers να υποστηρίζουν την εν λόγω τεχνολογία.
Η απλή εξήγηση ακόμη και για τον πιο αρχάριο
Για να μπορέσουμε να το καταλάβουμε με απλό τρόπο, καλό είναι να αναφέρουμε ένα παράδειγμα.
Χωρίς HTTPs
Πες για παράδειγμα ότι θέλεις να στείλεις ένα γράμμα σε κάποιον φίλο σου και πάνω γράφεις το μήνυμα που στέλνεις και τον παραλήπτη.
Τόσο ο ταχυδρόμος αλλά και οποιοσδήποτε πιάσει τον εν λόγω φάκελο, μπορεί να δει σε ποιον πάει και τι γράφεις.
Με HTTPs
Στη δεύτερη περίπτωση με HTTPS βάζουμε το γράμμα σε έναν σφραγισμένο φάκελο.
Έτσι ο ταχυδρόμος πλέον δεν μπορεί να διαβάσει το περιεχόμενο. Υπάρχει όμως ένα πρόβλημα. Ότι στην περίπτωση του TLS στην αρχή της επικοινωνίας πριν δημιουργηθεί η κρυπτογραφημένη σύνδεση, πριν ο ταχυδρόμος πάρει το γράμμα στα χέρια του, ο browser ουσιαστικά έλεγε ότι θέλω να συνδεθώ στο techmaniacs.gr. Έδινε δηλαδή το server name indication σε plain text.
Αυτός που παρακολουθούσε το δίκτυο μπορεί να μην μπορεί να βλέπει τι κάνεις μέσα στο site, καταλαβαίνει όμως σε ποιο host name συνδέεσαι, στην περίπτωσή μας στο techmaniacs.gr. Ακριβώς αυτό το πρόβλημα λύνει το encrypted client hello. Που στην ουσία είναι σαν να βάζεις τη διεύθυνση του παραλήπτη στο παράδειγμα της επιστολής μέσα σε έναν επιπλέον φάκελο, κάνοντας ακόμη πιο δύσκολο γι’ αυτόν που παρακολουθεί το δίκτυο να δει ότι ο χρήστης συνδέεται στο techmaniacs.gr.
Το Encrypted Client Hello, ουσιαστικά έρχεται να κλείσει ένα σημαντικό κομμάτι της διαρροής του host name ή του server name indication.
Οι προυποθέσεις
Αξίζει να αναφερθεί ότι θα πρέπει και ο browser να το υποστηρίζει και η υποδομή του site.
Δεν είναι μια συγκεκριμένη ρύθμιση που θα πρέπει να ενεργοποιήσεις εσύ στον browser.
Δοκίμασε το και εσύ μέσω της σελίδας trace του Cloudflare.
Αν δεις το sni όπως δείχνει η εικόνα από τη δοκιμή μας να είναι plaintext τότε το hostname μεταδίδεται σε plain text.
