Το Secure Socket Layer (SSL) και το Transport Layer Security (TLS) είναι και τα δύο πρωτόκολλα ισχυρής κρυπτογράφησης που παρέχουν ασφάλεια στην επικοινωνία σε ένα δίκτυο. Δίκτυο εννοούμε για παράδειγμα, όταν ένας client συνδέεται με ένα web server.
Τα συγκεκριμένα πρωτόκολλα χρησιμοποιούνται στην καθημερινότητά μας σε πλήθος εφαρμογών όπως στην περιήγηση μας στον παγκόσμιο ιστό, την υπηρεσία email, την μεταφορά αρχείων, την ανταλλαγή άμεσων μηνυμάτων, σε τηλεδιασκέψεις, VoIP κτλ. Το TLS είναι η συνέχεια του SSL πρωτοκόλλου.
Κατά το ξεκίνημα μιας TLS ή SSL σύνδεσης, πραγματοποιείται μια "χειραψία” (handshake) μεταξύ του client και του server, οι οποίοι θα ελέγξουν ποιοι είναι οι κοινοί αλγόριθμοι και πρωτόκολλα κρυπτογράφησης που υποστηρίζουν, ώστε να συνάψουν τη χειραψία με βάση αυτά και να καταφέρουν τελικά επικοινωνήσουν μεταξύ τους.
Με την πάροδο του χρόνου ωστόσο, ανακαλύπτονται νέες επιθέσεις εναντίον των πρωτοκόλλων SSL και TLS, για αυτό εκδίδονται νεότερες εκδόσεις, ώστε να καλύπτουν τα κενά ασφαλείας που εντοπίζονται. Αυτή τη στιγμή βρισκόμαστε στις εκδόσεις TLS v1.2 και TLS v1.3. Η χρήση παρωχημένων εκδόσεων του TLS, όπως η v1.0 και v1.1, οδηγεί σε αυξημένο κίνδυνο εκμετάλλευσης των ευπαθειών του πρωτοκόλλου από κακόβουλους χρήστες.
Για τους παραπάνω λόγους, οι εκδόσεις του πρωτοκόλλου TLS v1.0 & TLS v1.1, από τις 31/03/2021 κι έπειτα δεν θα υποστηρίζονται από την υποδομή μας.
Συνεπώς, πλατφόρμες λογισμικού και λειτουργικά συστήματα που είναι συμβατά μόνο με τις εκδόσεις του πρωτοκόλλου TLS v1.0 ή/και TLS v1.1, δεν θα μπορούν να συνάψουν "χειραψία” με τους servers της υποδομής μας, που σημαίνει πως δεν θα μπορούν να συνδεθούν και να επικοινωνήσουν μεταξύ τους.
Παρακάτω μπορείτε να δείτε τα πρωτόκολλα TLS v1.0, v1.1, v1.2, & v1.3 και τη συμβατότητά τους με διάφορες πλατφόρμες λογισμικού και λειτουργικά συστήματα, τόσο από πλευράς client όσο και από πλευράς server.
Παρακαλώ σημειώστε ότι η συμβατότητα των Email Clients με το πρωτόκολλο TLS 1.2, σχετίζεται άμεσα με την συμβατότητα του λειτουργικού συστήματος του υπολογιστή σας με το πρωτόκολλο αυτό.
Σημείωση 1: Τα desktop IE v8, v9, και v10, είναι συμβατά με TLS 1.1 και TLS 1.2 μόνο όταν εκτελούνται σε Windows 7 ή νεότερα, αλλά by default είναι απενεργοποιημένα. Για να τα ενεργοποιήσετε to TLS 1.2 μπορείτε να δείτε εδώ περισσότερες λεπτομέρειες.
Σημείωση 2: Για το Firefox 23 έως 26 χρησιμοποιήστε about: config για να ενεργοποιήσετε τo TLS 1.2, ενημερώνοντας την τιμή config.tls.version.max σε 3 για TLS 1.2.
Σημείωση 3: Για το Google Chrome 22 έως 37, το TLS 1.2 είναι συμβατό όταν εκτελείται σε Windows XP SP3, Vista ή νεότερα (desktop), OS X 10.6 (Snow Leopard) ή νεότερο (desktop) ή Android 2.3 (Gingerbread ) ή νεότερο (mobile).
Σημείωση 4: Για Android 4.4, ενδέχεται να είναι συμβατό με TLS 1.2, αλλά ορισμένες συσκευές με Android 4.4.x ενδέχεται να μην υποστηρίζουν TLS 1.2 ή νεότερη έκδοση.
Σημείωση 5: Για τα Windows 8, το TLS 1.2 μπορεί να ενεργοποιηθεί ακολουθώντας τις οδηγίες που βρίσκονται εδώ.
Σημείωση 6: Ένας server που δεν υποστηρίζει TLS 1.2, ο οποίος συνδέεται σε άλλη τοποθεσία ως client, μπορεί να υποστηρίξει TLS 1.2 ενεργοποιώντας το μέσω των επιλογών Internet στο IE. Περιηγηθείτε στo Tools > Internet Options > Advanced. Στην ενότητα Security, θα δείτε τη λίστα των πρωτοκόλλων SSL που υποστηρίζονται από το IE. Επιλέξτε τα απαραίτητα boxes. Μπορείτε να δείτε αυτό τον οδηγό για περισσότερες πληροφορίες.
Σημείωση 7: Για Windows Server 2012, το TLS 1.2 μπορεί να ενεργοποιηθεί ακολουθώντας τις οδηγίες που βρίσκονται εδώ.
Σημείωση 8: Για .NET 4.5 έως 4.5.2, το TLS 1.2 μπορεί να ενεργοποιηθεί ακολουθώντας μία από τις δύο επιλογές που αναφέρονται παρακάτω:
Επιλογή 1:Οι εφαρμογές .NET μπορούν να ενεργοποιήσουν απευθείας τα TLS 1.1 και TLS 1.2 μέσω του κώδικα λογισμικού τους ορίζοντας το System.Net.ServicePointManager.SecurityProtocol ώστε να ενεργοποιηθούν τα SecurityProtocolType.Tls12 και SecurityProtocolType.Tls11. Ο ακόλουθος C# κώδικας είναι ένα παράδειγμα:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
Επιλογή 2: Για να ενεργοποιήσετε το TLS 1.2 by default (χωρίς να τροποποιήσετε τον πηγαίο κώδικα), μπορείτε να ορίσετε την τιμή του SchUseStrongCrypto DWORD στα ακόλουθα δύο registry keys σε 1, δημιουργώντας τα εάν δεν υπάρχουν:
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.30319"
Και
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319". Παρόλο που η έκδοση των registry keys είναι 4.0.30319, τα .NET frameworks 4.5, 4.5.1 και 4.5.2 χρησιμοποιούν επίσης αυτές τις τιμές. Αυτά τα registry keys , ωστόσο, θα ενεργοποιήσουν το TLS 1.2 by default σε όλες τις εγκατεστημένες εφαρμογές .NET 4.0, 4.5, 4.5.1 και 4.5.2 σε αυτό το σύστημα. Συνιστάται να δοκιμάσετε αυτή την αλλαγή πριν την κάνετε deploy στους production servers.
Σημείωση 9: Για να ενεργοποιήσετε το TLS 1.2 by default, μπορείτε να εγκαταστήσετε το Framework .NET 4.5 ή νεότερη έκδοση και να ορίσετε την τιμή του SchUseStrongCrypto DWORD στα ακόλουθα δύο δύο registry key σε 1, δημιουργώντας τα εάν δεν υπάρχουν:
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.30319"
Και
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319". Αυτά τα registry keys, ωστόσο, ενδέχεται να ενεργοποιήσουν το TLS 1.2 by default σε όλες τις εγκατεστημένες εφαρμογές .NET 4.0, 4.5, 4.5.1 και 4.5.2 σε αυτό το σύστημα. Συνιστάται να δοκιμάσετε αυτή την αλλαγή πριν την κάνετε deploy στους production servers.
Σημείωση 10: Για την ενεργοποίηση του TLS 1.2 by default ως ασφαλές πρωτόκολλο στο WinHTTP(Windows HTTP Services) στα Windows, μπορείτε να δείτε τις οδηγίες που βρίσκονται εδώ.
Σε περιπτωση που δεν είστε βέβαιοι ποια πρωτόκολλα υποστηρίζει ο server σας, μπορείτε να χρησιμοποιήσετε αυτόν τον checker, για να ελέγξετε γρήγορα τον server σας και να δείτε ποια πρωτόκολλα είναι ενεργοποιημένα.
Όπως αναφέρθηκε και παραπάνω, εφόσον για λόγους ασφαλείας, οι εκδόσεις του πρωτοκόλλου TLS v1.0 και TLS v1.1 από τις 31/03/2021 δεν θα υποστηρίζονται πλέον από την υποδομή μας, θα χρειαστεί να ελέγξετε εάν η εφαρμογή που χρησιμοποιείτε ή το λογισμικό σας είναι συμβατά και υποστηρίζουν τα πρωτόκολλα TLS v1.2, & v1.3.
Σε περίπτωση που έχετε κάποια εφαρμογή ή λογισμικό που υποστηρίζει μόνο τα πρωτόκολλα TLS v1.0 ή/και TLS v1.1, θα χρειαστεί να τα αναβαθμίσετε σε κάποια νεότερη έκδοση.