Wat is SSL en hoe werkt het?
Wanneer je in de adresbalk een slotje ziet staan, is dat het teken dat de verbinding versleuteld is. Dat versleuteling heet SSL, of tegenwoordig preciezer: TLS. Maar wat houdt dat in, en waarom is het nodig?
SSL en TLS: wat is het verschil?
SSL staat voor Secure Sockets Layer. Het is een protocol dat in de jaren 90 is ontwikkeld om communicatie over internet te beveiligen. SSL zelf is inmiddels verouderd en vervangen door TLS (Transport Layer Security). In de praktijk worden de termen door elkaar gebruikt: als iemand "SSL" zegt, bedoelt hij bijna altijd TLS.
Wat doet SSL/TLS?
SSL/TLS doet drie dingen:
- Versleuteling — het dataverkeer tussen browser en server is niet leesbaar voor derden
- Authenticatie — het certificaat bewijst dat je echt praat met de server die je denkt te bereiken
- Integriteit — het verkeer kan niet ongemerkt worden aangepast onderweg
Hoe werkt het?
Wanneer je een HTTPS-website bezoekt, gebeurt er eerst een zogenoemde TLS handshake:
- Jouw browser vraagt het SSL-certificaat op bij de server
- De browser controleert of het certificaat geldig is en is uitgegeven door een vertrouwde partij (een Certificate Authority)
- Browser en server wisselen sleutels uit om de versleuteling op te zetten
- De verbinding is beveiligd en de communicatie begint
Dit hele proces duurt milliseconden en is voor de gebruiker onzichtbaar.
Wat is een SSL-certificaat?
Een SSL-certificaat is een digitaal bestand dat op de server is geïnstalleerd. Het bevat de publieke sleutel van de server en informatie over wie het certificaat heeft uitgegeven. Certificaten worden uitgegeven door een Certificate Authority (CA), een vertrouwde organisatie die de identiteit van de server verifieert.
Er zijn drie soorten certificaten:
- DV (Domain Validation) — bewijst dat je controle hebt over het domein. Snel en gratis via Let's Encrypt.
- OV (Organization Validation) — bewijst ook wie de organisatie is achter het domein.
- EV (Extended Validation) — uitgebreide verificatie van de organisatie. Vroeger zichtbaar als groene balk, nu nauwelijks nog te zien in browsers.
Voor de meeste websites volstaat een DV-certificaat.
HTTPS vs HTTP
HTTP is het protocol zonder versleuteling. HTTPS is HTTP over een SSL/TLS-verbinding. Browsers markeren HTTP-websites tegenwoordig als "niet veilig". Zoekmachines geven ook een kleine voorkeur aan HTTPS-websites.
Gratis SSL via Let's Encrypt
Let's Encrypt is een gratis Certificate Authority die automatisch DV-certificaten uitgeeft. Via Certbot kun je het certificaat installeren en automatisch laten verlengen. Er is vrijwel geen reden meer om te betalen voor een SSL-certificaat voor een gewone website.