Let’s Encrypt-certificaten maken .nl veiliger, maar ook afhankelijker

Bijna 75% van de certificaten voor domeinverificatie afkomstig van 1 aanbieder

Het aantal met een SSL/TLS-certificaat beveiligde .nl-websites groeide in de afgelopen 19 maanden met bijna 50% naar 1,33 miljoen. Hoewel dit de internetveiligheid verhoogt, zien we ook een toenemende afhankelijkheid van het .nl-domein van vooral Let’s Encrypt. Dat is de meest gebruikte en hardst groeiende certificaatprovider voor .nl-websites, ondanks dat websites ook regelmatig van certificaataanbieder wisselen. We bespreken deze ontwikkelingen aan de hand van een aantal grafieken, die vanaf vandaag ook op stats.sidnlabs.nl staan en die we automatisch actualiseren o.b.v. onze doorlopende metingen.

Wat is een TLS-certificaat?

Een webbrowser en webserver maken voor het beveiligen van de onderlinge communicatie gebruik van het Transport Layer Security (TLS) protocol, TLS is de opvolger van het veel bekendere SSL-protocol. Om een TLS-verbinding op te zetten is een TLS-certificaat nodig. Dit is een elektronisch document dat bewijst dat het cryptografische sleutelmateriaal van een server klopt en ook is gekoppeld aan de domeinnaam van de server. De server stuurt hierbij een TLS-certificaat naar een gebruiker (bijvoorbeeld naar zijn webbrowser), die dit gebruikt om te controleren of de identiteit van de server klopt en of de ontvangen sleutel correct is. De client gebruikt de gevalideerde sleutel daarna om alle data naar de server te versleutelen. Alleen de server kan de data daarna ontsleutelen, want die heeft als enige de private sleutel die bij de publieke sleutel in het certificaat hoort. Dit proces verloopt overigens volledig geautomatiseerd. De gemiddelde internetgebruiker ziet er niet meer van dan het slotje in de adresbalk van zijn browser.

Hoe kom ik aan een TLS-certificaat?

Een TLS-certificaat verkrijg je via een Certificate Authority (CA). Browsers vertrouwen standaard een groot aantal CA’s (zie bijvoorbeeld de standaard CA’s in Firefox: preferences > privacy & security > view certificates) en daarmee automatisch ook de certificaten die de CA’s uitgeven. Voorbeelden van CA’s zijn: Let’s Encypt (zie verderop), Comodo en DigiCert. Er bestaan verschillende soorten TLS-certificaten, waarbij het verschil zit in de methode waarmee CA’s de gegevens van de certificaataanvrager controleren. Domeinvalidatie (DV) is de meest gebruikte variant. Hierbij controleert de CA alleen of de aanvrager daadwerkelijk de controle heeft over de domeinnaam waarvoor het certificaat wordt aangevraagd. Daarnaast kennen we ook nog organisatievalidatie (OV) en extended validatie (EV). Bij OV- en EV-certificaten voert de CA een uitgebreidere controle uit op de gegevens van de aanvrager, waardoor deze varianten meestal veel duurder zijn dan DV-certificaten.

Het belang van TLS-certificaten

Online veiligheid en privacy zijn de laatste jaren steeds belangrijker geworden. Dit onder meer na verschillende publicaties waaruit duidelijk werd dat sommige overheden grootschalig internetverkeer aftappen. Ook voor internetcriminelen is het triviaal om je data (bijvoorbeeld creditcard of login gegevens) te stelen als je iets koopt bij een webwinkel die geen encryptie gebruikt. Om internetgebruikers hiertegen te beschermen zijn steeds meer onlinediensten tegenwoordig voorzien van encryptie door middel van TLS. De AVG verplicht bedrijven en instellingen ook om persoonsgegevens te beschermen. Voor een website waarop persoonsgegevens verwerkt worden (dit kan al iets eenvoudigs zijn als een contactformulier) is het dan ook verstandig om te zijn voorzien van een TLS-certificaat.

Let’s Encrypt in .nl

Let’s Encrypt is een niet-commerciële, Amerikaanse CA van TLS-certificaten voor domeinverificatie en heeft als hoofddoel het veiliger maken van het internet. In de korte tijd dat Let’s Encrypt bestaat (sinds april 2016) heeft het wereldwijd tot een enorme groei in het gebruik van TLS-certificaten voor DV geleid. Dit omdat hun certificaten gratis zijn en omdat het aanvragen en vervangen (van verlopen certificaten) geautomatiseerd plaatsvindt en zo heel eenvoudig is. Figuur 1, afkomstig van onze website stats.sidnlabs.nl, laat de actuele situatie voor .nl zien. Let’s Encrypt is de uitgever van het overgrote deel van de certificaten van .nl-sites: bijna 75% van de DV-certificaten zijn afkomstig van hen en bijna 71% van het totaalaantal gebruikte TLS-certificaten. Dit betreft alleen het totaalaantal gevonden valide certificaten in februari 2020 en exclusief de certificaten met problemen, zoals bijvoorbeeld verlopen certificaten. Wat ook opvalt in figuur 1 is dat de CA’s op 1 na allemaal Amerikaanse partijen zijn. De uitzondering is Trust Provider, een relatief kleine Nederlandse ‘intermediate’ CA maar deze is ook weer afgeleid van het DigiCert root-certificaat.

Figuur 1. Marktaandeel totaalaantal certificaten.

De onderzoekvraag die we hadden is hoe de dominantie van Let’s Encypt (en andere CA’s) zich ontwikkelt in .nl en wat daar de mogelijke impact van is.

Meetmethodiek

Statistieken als die uit figuur 1 meten we met behulp van DMAP, SIDN Labs’ crawler die elke maand van alle 5,9 miljoen .nl-domeinnamen meer dan 100 verschillende kenmerken meet. Voorbeelden daarvan zijn: de bereikbaarheid van een website en het gebruikte CMS. Deze data gebruiken we om de .nl-zone nog veiliger en stabieler te maken, bijvoorbeeld via onze incentiveregeling, de Registrar Scorecard. Voor onze studie kijken we alleen naar TLS-certificaten en domeinnamen die voldoen aan de volgende voorwaarden:

  • het certificaat mag niet ‘self signed’ (onvertrouwd) zijn;

  • het subject in het certificaat moet kloppen met de domeinnaam;

  • het certificaat moet door een vertrouwde CA zijn uitgegeven;

  • het certificaat mag niet verlopen of ingetrokken zijn;

  • de domeinnaam verwijst niet door naar een andere domeinnaam.

Als niet aan de eerste 4 voorwaarden wordt voldaan dan is een TLS-certificaat niet geldig en wordt deze niet vertrouwd. Wij gebruiken dit certificaat dan ook niet voor dit onderzoek. De laatste voorwaarde (doorverwijzen naar een andere domeinnaam) hebben we opgenomen om te voorkomen dat we TLS-certificaten dubbel tellen. Het resultaat is een set van 1,33 miljoen websites die gebruikmaken van geldige en valide TLS-certificaten. Als we deze voorwaarden niet zouden toepassen dan is het resultaat bijna 3,4 miljoen domeinnamen. Deze meeste daarvan hebben TLS-certificaten met 1 of meer problemen, zoals een subject dat niet klopt met de gebruikte domeinnaam. Het ‘Organisation’-attribuut van een TLS-certificaat geeft aan welke CA de uitgever is. Om te bepalen of het TLS-certificaat van een website is gewijzigd kijken we of het Organisation-attribuut is veranderd tussen meetpunten. Voor dit onderzoek hebben we de maandelijkse DMAP-metingen gebruikt van de periode augustus 2018 t/m februari 2020.

Groei van Let’s Encrypt in .nl

Figuur 2 laat zien dat het totaalaantal .nl-websites dat gebruik maakt van een valide TLS-certificaat in de afgelopen 19 maanden toenam met bijna 50% tot ruim 1,33 miljoen. Het grootste deel van deze groei wordt veroorzaakt door ruim 355 duizend nieuwe Let’s Encrypt-certificaten, een toename van bijna 61%. Daarnaast vonden we ook bijna 89 duizend nieuwe certificaten van andere CA’s, een toename van 29%. Het aandeel van Let’s Encrypt, als we kijken naar alle typen TLS-certificaten, is in februari 2020 bijna 71%. De 1,33 miljoen sites komen overeen met 36% van alle bereikbare websites met een .nl-domeinnaam. Het totaalaantal bereikbare websites in februari 2020 is namelijk totaal 3,7 miljoen (sites met een ‘ok’ responsestatus en die niet doorverwijzen naar een andere domeinnaam).

Figuur 2. Gebruik van TLS-certificaten voor .nl-websites.

Wisseling van certificaatuitgever

Figuur 3 toont het aantal CA-veranderingen over de afgelopen 19 maanden. We kijken alleen naar DV-certificaten, omdat we vooral geïnteresseerd zijn in de rol van Let’s Encrypt, die alleen domeinvalidatie-certificaten uitgeeft. We onderscheiden 3 scenario’s:

  1. Non-LE -> LE Een website stapt over van een niet door Let’s Encrypt uitgegeven certificaat op een door Let’s Encrypt uitgegeven certificaat. Figuur 3 laat zien dat het hierbij vanaf eind 2018 elke maand gemiddeld om ongeveer 5.200 websites gaat. Dat is precies wat je zou verwachten: websites kunnen eenvoudig overstappen van (dure) betaalde TLS-certificaten naar de gratis Let’s Encrypt certificaten.

  2. LE -> non-LE Overstap van een door Let’s Encrypt uitgegeven certificaat op een niet door Let’s Encrypt uitgegeven certificaat. Figuur 3 laat zien dat een iets kleiner aantal van gemiddeld 3.700 websites per maand overstapt van gratis Let’s Encrypt certificaten naar door andere CA’s uitgegeven certificaten. Dit suggereert mogelijk dat kosten niet de enige driver zijn van website-eigenaren om van CA te veranderen, maar dit hebben we niet onderzocht.

  3. Non-LE -> non-LE Overstap van een niet door Let’s Encrypt uitgegeven certificaat op een ander niet door Let’s Encrypt uitgegeven certificaat. Dit type verandering is vooral populair in de afgelopen 12 maanden met gemiddeld ongeveer 5.800 websites per maand. Een mogelijke verklaring is dat deze websites gebruik maken van websitehosting waarbij het niet mogelijk of moeilijk is om eenvoudig een gratis Let’s Encrypt certificaat te configureren, wat bijvoorbeeld voor minder technische site-eigenaren een (te) grote technische uitdaging vormt. Deze sites maken dan mogelijk gebruik van het certificaat dat standaard wordt aangeboden door de websitehoster. Naast kosten zal ook branding en betrouwbaarheid meetellen voor een professionele website (banken, overheid). Een gratis TLS-certificaat heeft misschien niet de gewenste uitstraling voor dit type website.

Figuur 3 TLS-certificaat veranderingen.

Bulkcertificaatwijzigingen

Opvallend in figuur 3 is de piek in december 2019, die het gevolg blijkt te zijn van maar 2 wijzigingen (zie Tabel 1). De eerste wijziging had betrekking op bijna 12.000 domeinnamen waarvan de issuer veranderde van “Encryption Everywhere DV TLS CA - G2” naar “Encryption Everywhere DV TLS CA - G1”. De IP-adressen van deze 12.000 domeinnamen behoorden bijna allemaal tot 1 specifiek autonoom systeem (AS), wat suggereert dat de hosting provider in een korte periode 12.000 websites heeft voorzien van andere certificaten.

Vorige issuer Vervangen door issuer Aantal domeinnamen
Encryption Everywhere DV TLS CA - G2 Encryption Everywhere DV TLS CA - G1 11.795
COMODO RSA Domain Validation Secure Server CA Sectigo RSA Domain Validation Secure Server CA 5.723

Tabel 1. 2 grote certificaatwijzigingen voor .nl-sites in december 2019.

De andere wijziging (bijna 6.000 domeinnamen) hebben we niet weten te koppelen aan een specifieke partij, omdat deze wijziging verdeeld was over verschillende AS’en.

Conclusie

Onze eerste longitudinale TLS-metingen laten zien dat het aantal .nl-websites dat gebruik maakt van een TLS-certificaat de afgelopen 19 maanden flink toenam. Let’s Encrypt was daarbij de grootste en hardst groeiende certificaat uitgever (CA). De groei in het gebruik van TLS-certificaten is goed nieuws voor de veiligheid van .nl-websites, maar de toegenomen afhankelijkheid op DV TLS-certificaten uitgegeven door slechts enkele grote CA’s (zoals Let’s Encrypt) introduceert .nl-breed ook een risico. Welke problemen treden er bijvoorbeeld op wanneer Let’s Encrypt wordt getroffen door een DigiNotar-achtig incident of het uitgiftesysteem van Let’s Encrypt voor langere tijd niet beschikbaar is? De bug in het Let’s Encrypt-uitgiftesysteem die onlangs werd ontdekt, is een goed voorbeeld van een probleem dat vele domeinnamen raakt. Door deze bug zijn er mogelijk onterecht voor ruim 3 miljoen Let’s Encrypt-certificaten verstrekt. Het probleem is in dit geval gelukkig beperkt tot 2,6% van de actieve Let’s Encrypt certificaten. Enige diversiteit is naar onze mening vereist voor grootschalig gedistribueerde systemen, bijvoorbeeld in termen van partijen, jurisdicties en technologieën.

Vervolgstappen

Onze vervolgstap is dat we inzoomen op het type website (zakelijk, webshop e.d.) en het gebruikte TLS-certificaat. Zijn er misschien verschillen tussen websites die kunnen verklaren waarom websites kiezen voor een bepaald type certificaat en uitgever (CA) of kiezen om te veranderen? We blijven het gebruik van TLS-certificaten voor .nl-websites de komende tijd in ieder geval volgen en de grafieken en onderliggende geaggregeerde data beschikbaar stellen via stats.sidnlabs.nl. Heb je vragen over het onderzoek en de resultaten ervan, mail me gerust op maarten.wullink@sidn.nl .