Word gematcht

HTTPS

Verdediging

HyperText Transfer Protocol Secure. Beheerders van websites kunnen HTTPS gebruiken om bezoekers van hun website beter te beschermen. Het zorgt ervoor dat informatie die de bezoekers op de website opzoeken of invullen en die verstuurd moet worden over Internet, niet onderweg afgeluisterd kan worden. Bezoekers van een website kunnen een beveiligde verbinding met een website herkennen aan HTTPS in de URL (HTTPS://). De website-identiteitsknop (het hangslot) wordt in de adresbalk weergegeven zodra een bezoeker een beveiligde website bezoekt. Om de echtheid van een website te controleren moet een gebruiker naast het hangslot in de adresbalk ook kijken naar de domeinnaam. HTTPS is een uitbreiding van het HTTP-protocol.

HTTPS staat voor HyperText Transfer Protocol Secure en is de beveiligde versie van HTTP, het protocol dat wordt gebruikt voor de communicatie tussen je webbrowser en websites. HTTPS versleutelt de gegevens die worden uitgewisseld door middel van TLS (Transport Layer Security), waardoor derden het verkeer niet kunnen meelezen of manipuleren. Elke website die gevoelige informatie verwerkt, zoals inloggegevens, betaalgegevens of persoonsgegevens, moet HTTPS gebruiken. In de moderne internetomgeving is HTTPS de standaard geworden: browsers zoals Chrome en Firefox markeren websites zonder HTTPS actief als "niet veilig", wat het vertrouwen van bezoekers schaadt.

HTTPS is de combinatie van het reguliere HTTP-protocol met een TLS-versleutelingslaag. TLS is de opvolger van SSL (Secure Sockets Layer), dat werd ontwikkeld door Netscape in de jaren negentig. Hoewel de term "SSL" nog vaak wordt gebruikt in de volksmond, is het eigenlijke protocol al jaren TLS. De huidige aanbevolen versies zijn TLS 1.2 en TLS 1.3, terwijl oudere versies zoals TLS 1.0 en 1.1 als onveilig worden beschouwd en door moderne browsers niet meer worden ondersteund. HTTPS gebruikt standaard poort 443, in tegenstelling tot onversleuteld HTTP dat poort 80 gebruikt. De versleuteling beschermt tegen drie kernbedreigingen: afluisteren (eavesdropping), manipulatie van gegevens en identiteitsfraude.

Hoe werkt HTTPS?

HTTPS werkt door een versleutelde verbinding op te zetten tussen de browser van de gebruiker en de webserver via het TLS-protocol. Dit proces begint met de TLS-handshake, een reeks stappen waarbij beide partijen onderhandelen over de versleutelingsparameters en elkaars identiteit verifieren. Tijdens de handshake presenteert de server een digitaal certificaat dat is uitgegeven door een vertrouwde certificaatautoriteit (CA). Dit certificaat bevestigt dat de server daadwerkelijk behoort tot het domein dat wordt bezocht.

De TLS-handshake omvat drie kernfuncties. Ten eerste encryptie: de gegevens worden versleuteld zodat derden het verkeer niet kunnen meelezen. Ten tweede authenticatie: het certificaat verifieert dat je communiceert met de juiste server en niet met een nep-site. Ten derde integriteit: hashfuncties garanderen dat de gegevens onderweg niet zijn gewijzigd. Bij TLS 1.3 is de handshake geoptimaliseerd tot een enkele round-trip, wat de verbindingstijd aanzienlijk verkort vergeleken met eerdere versies.

Tijdens de handshake wordt asymmetrische encryptie gebruikt om een gedeelde sessiesleutel veilig uit te wisselen. Zodra de sessiesleutel is vastgesteld, schakelt de verbinding over naar symmetrische encryptie voor het daadwerkelijke dataverkeer. Symmetrische encryptie is aanzienlijk sneller dan asymmetrische encryptie, waardoor HTTPS slechts minimale overhead toevoegt aan de communicatie. Moderne encryptiealgoritmen zoals AES-256 en de ChaCha20-Poly1305 cipher suite bieden sterke beveiliging met hoge prestaties.

Hoe implementeer je HTTPS?

De implementatie van HTTPS begint met het verkrijgen van een TLS-certificaat voor je domein. Je hebt drie opties. Een Domain Validated (DV) certificaat is de eenvoudigste en goedkoopste optie. Let's Encrypt biedt gratis DV-certificaten aan die automatisch kunnen worden vernieuwd. Een Organization Validated (OV) certificaat vereist verificatie van je organisatiegegevens en biedt meer vertrouwen. Een Extended Validation (EV) certificaat vereist uitgebreide verificatie en toont de organisatienaam in de browserbalk.

Na het verkrijgen van je certificaat installeer je het op je webserver. Bij Apache configureer je het certificaat in de VirtualHost-configuratie voor poort 443. Bij Nginx voeg je de ssl_certificate en ssl_certificate_key directives toe. Bij cloudgebaseerde hosting zoals AWS, Azure of cloudplatforms kun je certificaten vaak via de beheerconsole configureren. Veel hostingproviders bieden automatische HTTPS-configuratie aan, inclusief certificaatvernieuwing via Let's Encrypt.

Configureer een automatische redirect van HTTP (poort 80) naar HTTPS (poort 443) zodat alle bezoekers altijd de versleutelde versie van je website bereiken. Implementeer daarnaast de HTTP Strict Transport Security (HSTS) header, die browsers instrueert om alleen via HTTPS te communiceren met je domein. Controleer na de implementatie je configuratie met tools zoals SSL Labs Server Test om te verifieren dat je TLS-configuratie correct en veilig is. Vermijd het ondersteunen van verouderde protocollen en zwakke cipher suites.

Best practices voor HTTPS

Gebruik minimaal TLS 1.2 en bij voorkeur TLS 1.3 voor alle verbindingen. Schakel ondersteuning voor TLS 1.0 en 1.1 uit, evenals alle SSL-versies. Configureer je server om alleen sterke cipher suites te accepteren en gebruik forward secrecy (ECDHE) om te garanderen dat gecompromitteerde sleutels geen eerder onderschept verkeer ontsluiten. Het NCSC publiceert specifieke richtlijnen voor TLS-configuratie die je als referentie kunt gebruiken.

Automatiseer het beheer van je certificaten om te voorkomen dat ze verlopen. Een verlopen certificaat resulteert in een browserwaarschuwing die bezoekers afschrikt en kan leiden tot onbeschikbaarheid van je diensten. Tools zoals Certbot voor Let's Encrypt of ACME-clients voor commerciele CA's automatiseren de vernieuwing volledig. Monitor de verloopdatum van je certificaten actief en stel alerts in minimaal 30 dagen voor verloop.

Implementeer aanvullende beveiligingsheaders naast HTTPS. De Content-Security-Policy header voorkomt cross-site scripting en data-injectie. De X-Content-Type-Options header voorkomt MIME-type sniffing. De Referrer-Policy header controleert welke informatie wordt meegezonden bij navigatie naar externe sites. Deze headers vormen samen met HTTPS een robuuste beveiligingslaag voor je webapplicaties en beschermen je gebruikers tegen veelvoorkomende webaanvallen. Test je volledige configuratie regelmatig met tools als Mozilla Observatory en SecurityHeaders.com om zwakke plekken tijdig te identificeren en te verhelpen.

Veelgestelde vragen over HTTPS

Is HTTPS verplicht voor websites?

Wettelijk is HTTPS niet expliciet verplicht, maar de AVG vereist "passende technische maatregelen" voor de bescherming van persoonsgegevens. Voor websites die persoonsgegevens verwerken, zoals contactformulieren of inlogpagina's, wordt HTTPS beschouwd als een basisvereiste. Daarnaast rankt Google websites met HTTPS hoger in zoekresultaten.

Wat is het verschil tussen SSL en TLS?

SSL (Secure Sockets Layer) is het oorspronkelijke versleutelingsprotocol, ontwikkeld door Netscape. TLS (Transport Layer Security) is de opvolger en huidige standaard. Alle SSL-versies zijn verouderd en onveilig. De term "SSL-certificaat" wordt nog vaak gebruikt, maar technisch gezien zijn het TLS-certificaten die worden ingezet.

Wat kost een HTTPS-certificaat?

Een DV-certificaat via Let's Encrypt is gratis. Commerciele DV-certificaten kosten vanaf 10 euro per jaar. OV-certificaten kosten tussen de 50 en 200 euro per jaar. EV-certificaten kosten tussen de 150 en 500 euro per jaar. Wildcard-certificaten die alle subdomeinen dekken kosten meer, afhankelijk van het validatieniveau.

Kan HTTPS worden gehackt?

Het TLS-protocol zelf is bij correcte configuratie veilig. Aanvallen richten zich meestal op implementatiefouten, verouderde protocolversies of zwakke cipher suites. Houd je TLS-configuratie up-to-date en gebruik sterke instellingen om het risico te minimaliseren. Kwetsbaarheden worden regelmatig ontdekt en gepatcht. Voer periodiek een security scan uit op je TLS-configuratie en volg de aanbevelingen van het NCSC voor veilige TLS-instellingen nauwgezet op.

Vertraagt HTTPS mijn website?

Nee. Met TLS 1.3 is de overhead minimaal dankzij een geoptimaliseerde handshake. HTTP/2 en HTTP/3, die HTTPS vereisen, bieden zelfs betere prestaties dan onversleuteld HTTP/1.1 door multiplexing en headercompressie. Moderne hardware verwerkt TLS-encryptie zonder merkbare vertraging voor gebruikers. De prestatieverbetering door HTTP/2 en HTTP/3 compenseert de minimale TLS-overhead ruimschoots, waardoor HTTPS in de praktijk vaak sneller is dan onversleuteld HTTP op oudere protocolversies.

Beveilig je website en applicaties met HTTPS. Vergelijk Web Applicatie Beveiliging aanbieders op IBgidsNL.