Ασφάλεια & TLS

SSL / TLS

Πρωτόκολλο κρυπτογράφησης της σύνδεσης ανάμεσα σε browser και server. Το SSL είναι παρωχημένο, το TLS το διάδοχο.

SSL ή TLS;

Στην καθημερινή γλώσσα λέμε «SSL» — στην πραγματικότητα, αυτό που χρησιμοποιείται σήμερα είναι το TLS (Transport Layer Security). Το SSL ήταν ο πρόγονος (SSL 2.0 το 1995, SSL 3.0 το 1996) και είναι πλέον παρωχημένο και ευάλωτο. Όταν κάποιος σου λέει «πιστοποιητικό SSL», συνήθως εννοεί «TLS πιστοποιητικό».

  • SSL 2.0 / 3.0 — deprecated, ευάλωτα (POODLE, DROWN)
  • TLS 1.0 / 1.1 — deprecated από το 2020
  • TLS 1.2 — ακόμη ευρέως χρησιμοποιούμενο, ασφαλές
  • TLS 1.3 — πιο γρήγορο & ασφαλές, το συνιστώμενο σήμερα

Τι κάνει το TLS

  1. Εμπιστευτικότητα: κρυπτογραφεί την κίνηση ώστε κανείς στη διαδρομή να μη μπορεί να τη διαβάσει.
  2. Ακεραιότητα: εξασφαλίζει ότι τα δεδομένα δεν τροποποιήθηκαν.
  3. Ταυτοποίηση: μέσω του πιστοποιητικού, ο browser ξέρει ότι μιλάει όντως στο example.com και όχι σε κάποιον που προσποιείται.

Πώς γίνεται το TLS handshake (απλοποιημένα)

  1. Ο client στέλνει ένα ClientHello με τις TLS εκδόσεις και τα cipher suites που υποστηρίζει.
  2. Ο server επιλέγει έκδοση + cipher και στέλνει το πιστοποιητικό του.
  3. Ο client επαληθεύει το πιστοποιητικό (ισχύει, εκδίδεται από έμπιστο CA, ταιριάζει το hostname).
  4. Συμφωνούν σε ένα κοινό κλειδί (μέσω ECDHE κυρίως, ώστε να έχουμε forward secrecy).
  5. Από εκεί και πέρα, όλη η κίνηση είναι κρυπτογραφημένη με συμμετρικό αλγόριθμο (AES-GCM, ChaCha20-Poly1305).

Τι περιέχει ένα πιστοποιητικό

  • Subject (CN, SAN) — τα domains για τα οποία ισχύει
  • Issuer — η Certificate Authority (Let's Encrypt, DigiCert, GoDaddy, Sectigo...)
  • Validity — ημερομηνίες notBefore και notAfter
  • Public Key — τυπικά RSA 2048+ bit ή ECDSA P-256
  • Signature — η υπογραφή του CA που πιστοποιεί την αυθεντικότητα

Πιστοποιητικά & αλυσίδα εμπιστοσύνης

Το πιστοποιητικό σου υπογράφεται από ένα intermediate CA, που με τη σειρά του υπογράφεται από ένα root CA. Τα root CAs είναι προεγκατεστημένα στους browsers/OS. Όταν λείπουν τα intermediates από την αλυσίδα που σερβίρει ο server, οι περισσότεροι browsers θα τα κατεβάσουν μόνοι τους — αλλά κάποιοι παλιοί ή SMTP/IMAP clients θα αποτύχουν.

Συνιστώμενες ρυθμίσεις: μόνο TLS 1.2 και 1.3, modern cipher suites (ECDHE, AES-GCM/ChaCha20), HSTS ενεργό, OCSP stapling, και πιστοποιητικό από Let's Encrypt (δωρεάν) ή ZeroSSL.

Σχετικά εργαλεία

Σχετικοί όροι