TLS 1.0, 1.1, 1.2, 1.3: wat is er nog open?
HTTPS is geen schakelaar maar een onderhandeling: server en browser kiezen samen een TLS-versie en één cipher uit wat beide partijen aanbieden. Een server die TLS 1.0 nog toestaat, "werkt" voor élke moderne browser — en staat open voor élke cliënt die terugvalt op die versie. Het verschil tussen beleid en toeval zie je pas als je de verbinding zelf uitvraagt.
RFC 8996 heeft TLS 1.0 en 1.1 afgeraden; PCI DSS en de browserhuizen hebben ze in de praktijk begraven. Maar "begraven" is een besluit van de cliënt, niet van jouw server: als jouw server de oudere versie nog dient, dient hij hem. Meten doe je met de SSL-test: élke versie apart geprobeerd, en per geaccepteerde versie élke kandidaat-cipher apart doorzocht.
Dit artikel legt de vier versies uit, waar de cipherkeus aan vasthangt, en wat de ssltest nog meer uit de handshake haalt: OCSP-stapeling, de SCT's, certificaatkeus per naam, sessie-herverbinding en de keten die de server aanlevert.
Wat de vier versies vandaag betekenen
TLS 1.3 liet de oude handdruk en de zwakke cipher-families achter zich; TLS 1.2 is, mits goed gezet, nog steeds degelijk; TLS 1.1 en 1.0 zijn standaard-afgeraden en hebben weinig verdediging meer. Dat "1.2 prima is" is geen advies van deze site — het is wat de standardisatie (RFC 8996) en de meetbare uitkomst laten zien: bij 1.2 hangt alles aan de cipher die je toestaat, bij 1.3 is de keuze smal en goed.
De cipher is de eigenlijke deur
Versie-toestemming is de gevel; de cipher bepaalt wat er binnen kan: welke suites, welke hashes, welke key-groottes. Een server op 1.2 met CBC-ciphers zonder encrypt-then-MAC, of met 3DES in de lijst, is iets anders dan een server op 1.2 met alleen moderne suites. Daarom probeert de ssltest per versie élke kandidaat-cipher apart — de matrix die eruit rolt is geen steekproef, hij is élke proef.
Meer dan versies: wat de ssltest nog meet
OCSP-stapeling (stuurt de server de intrekkingsstatus zelf mee), de SCT's (loggetijden van Certificate Transparency in het certificaat), de certificaatkeus per SNI-naam, de sessie-herverbinding en de keten die de server aanlevert — allemaal handshake-metingen die los van de versievraag staan. Het cijfer dat de ssltest geeft, is het gewogen gemiddelde van deze gemeten categorieën; een proef die niet gemeten werd telt nergens mee, en een door de vertrouwensboom verworpene handshake cap op de D. De kaart "Cijferonderdelen" laat per categorie de meting zien.
Naar de praktijk
Zet je beleid: 1.2 en 1.3 aan, alles ouder uit (waar je cliëntenbestand dat toelaat — een API voor oudere clients is een ander besluit dan een website). Meet het publieke adres met de ssltest en het certificaat zelf met de Certificaat-check. Behoort je post-server ook tot dit antwoord? STARTTLS op mailpoorten is dezelfde vraag op poort 25 en 587. En voor de header-kant van hetzelfde verhaal: beveiligingsheaders.