Certificate Transparency log-vertraging: wat 1.3M certificaten laten zien
Kort antwoord: We hebben de publieke Certificate Transparency (CT)-geschiedenis van ongeveer 700 drukbezochte domeinen geanalyseerd en de opgegeven startdatum van de geldigheid (NotBefore) van elk certificaat vergeleken met het moment waarop het daadwerkelijk in een CT-log verscheen. Van de 1.29 miljoen geregistreerde certificaten tussen 2013 en medio 2026 duurde het bij 19.6% meer dan twee volle dagen voordat ze in CT verschenen, en bij 15.0% duurde het meer dan een week. Vervolgens hebben we de data opgesplitst op 15 juni 2026, het moment waarop Chrome's Root Program begon te vereisen dat het definitief uitgegeven certificaat, en niet alleen het precertificaat, een kwalificerende CT-logvermelding bevat. Na die datum daalt het aandeel van meer dan 48 uur naar 1.7% en het aandeel van meer dan een week naar 0.8%, binnen dezelfde populatie, gemeten op dezelfde manier. De mediaan was vóór het mandaat al snel; wat veranderde is de staart, de certificaten die voorheen dagen, weken of maanden ongeregistreerd bleven. Elk getal hier is afkomstig van een passieve uitlezing van een publiek logboek. Er is geen host benaderd, er is niets gescand. Hier leest u precies hoe we het hebben gemeten, welke uitgevende instanties de kloof het snelst dichtten, en wat dit wel en niet bewijst.
Twee getallen, één beleidswijziging
Certificate Transparency is ontworpen om certificaatuitgifte een publiek, append-only archief te maken: elke publiek vertrouwde CA registreert de certificaten die zij uitgeeft, zodat iedereen, een domeineigenaar, een browser, een onderzoeker, kan zien wat er voor een specifieke naam is aangemaakt. Het addertje onder het gras zat altijd in het woord "uiteindelijk." Een CA is sinds 2018 verplicht om een precertificaat te loggen en de ondertekende tijdstempels in te sluiten voordat het definitieve certificaat wordt uitgegeven, en een industriestandaard Maximum Merge Delay beperkt hoe lang een logboek heeft om een ingediend precertificaat te verwerken, doorgaans zo'n 24 uur. Maar tot dit jaar was er geen vergelijkbare deadline voor het loggen van het definitieve certificaat zelf. Een certificaat kon worden ondertekend, gedateerd en al in productie worden gebruikt terwijl de eigen logvermelding dagen, weken of, in ten minste één onafhankelijk gerapporteerd geval, maanden achterbleef.
Bekijk de mediaan aandachtig: deze bewoog nauwelijks, van 1.0 uur vóór het mandaat naar 0.975 uur erna. Dat is geen fout in de data, het is de werkelijke vorm van de verdeling. De meeste certificaten van de meeste uitgevende instanties werden lang voor er een mandaat bestond al binnen het uur gelogd. Wat het mandaat zichtbaar heeft gedicht, is de staart: de minderheid van certificaten die voorheen dagen of weken zonder publieke logvermelding bleven liggen. De gemiddelde vertraging toont dat verhaal duidelijker: deze daalde van ongeveer 64 dagen vóór de deadline naar 6.7 uur erna, omdat een gemiddelde sterk wordt beïnvloed door precies die uitschieters die een mediaan verbergt.
Het mechanisme: een deadline voor het precertificaat, en geen deadline voor de rest
Het oorspronkelijke ontwerp van Certificate Transparency logt een precertificaat, een tijdelijke aanduiding met een poison-extensie waarmee een CA Signed Certificate Timestamps kan verzamelen voordat het echte certificaat wordt ondertekend. Meerdere publieke CT-logs moeten dat precertificaat binnen een afgebakende Maximum Merge Delay accepteren en verwerken, in de orde van een dag, en browsers dwingen sinds 2018 af dat logs dit naleven. Dat deel van de keten verliep altijd op tijd, waardoor de industrie kon claimen dat "CT verplicht is" over het algemeen klopte.
Het gat zat in de andere helft: niets dwong de CA om het definitieve, uitgegeven certificaat volgens een vast schema bij een logboek in te dienen. Een CA kon de SCT's van het precertificaat verkrijgen, deze insluiten, het certificaat uitgeven en in productie nemen, allemaal correct, terwijl de CT-logvermelding van het definitieve certificaat zelf op zich liet wachten. Eén onafhankelijk gerapporteerd incident beschrijft een door DigiCert uitgegeven wildcard-certificaat voor een groot platform waarbij er een gat van ongeveer drie maanden zat tussen de opgegeven uitgifte en de verschijning in CT (we hebben dit specifieke geval niet onafhankelijk geverifieerd; beschouw het als een illustratieve, niet-bindende anekdote). Onze eigen data laat hetzelfde patroon zien op populatieschaal: vóór het mandaat bleef een aanzienlijk deel van de certificaten van verschillende grote CA's meer dan een week zonder publieke vermelding, wat precies de maas in de wet is die Chrome's beleid van juni 2026 aanpakt door te eisen dat het definitieve certificaat zelf een kwalificerende logvermelding bevat.
Welke uitgevende instanties dichtten de kloof, en met hoeveel
We noemen hier de certificaatautoriteiten, niet de domeinen waarvan we de certificaten hebben geteld. De manier waarop een CA logt is publiek belanghebbende informatie over die CA, net zoals een eerder onderzoek van ons keek naar welke CA's domeinen autoriseren om voor hen uit te geven. Voor elke uitgevende instantie met een representatieve steekproef aan weerszijden van de deadline, is hier het aandeel certificaten dat meer dan 48 uur na NotBefore is gelogd, vóór en na 15 juni 2026:
| Uitgevende partij | Voor (n) | Voor | Na (n) | Na |
|---|---|---|---|---|
| DigiCert Inc | 160,949 | 27.9% | 290 | 6.2% |
| Amazon | 95,508 | 20.0% | 863 | 2.9% |
| Google Trust Services | 66,473 | 10.3% | 2,249 | 3.1% |
| Sectigo Limited | 24,430 | 0.02% | 60 | 0.0% |
| Let’s Encrypt | 532,280 | 0.06% | 5,523 | 0.0% |
Twee zaken vallen op. Ten eerste zaten Let’s Encrypt en Sectigo vóór het mandaat al dicht bij nul, wat overeenkomt met het feit dat beide grootschalige, verregaand geautomatiseerde uitgifteketens hanteren waarin "uitgeven en loggen" vrijwel één atomaire stap is. Ten tweede boekten de CA's die de meeste ruimte voor verbetering hadden, DigiCert, Amazon en Google Trust Services, allemaal forse vooruitgang: zij verlaagden hun aandeel te laat gelogde certificaten met grofweg een factor vier tot zeven. We konden niet voor elke uitgevende instantie een betrouwbare voor/na-rij samenstellen: GlobalSign, het oude merk van COMODO en ZeroSSL hadden in onze steekproef na het mandaat te weinig certificaten om te rapporteren (minder dan een paar dozijn), of geen van de door ons gevolgde domeinen werd sinds 15 juni 2026 via hen verlengd. Dat is een beperking van onze domeinsteekproef, geen oordeel over die uitgevende partijen.
Hoe we dit hebben gemeten
Een scepticus moet dit vanaf nul kunnen reproduceren, dus hier is de volledige methodologie zonder verborgen aannames.
- De populatie. Ongeveer 700 domeinen uit de Tranco top-1.000, samengesteld over meerdere van onze recente passieve-DNS-onderzoeken. Voor elk domein hebben we de volledige Certificate Transparency-geschiedenis opgevraagd via crt.sh, wat elk gelogd certificaat voor dat domein en de bijbehorende subdomeinen retourneert, teruggaand tot 2013.
- De metriek. Voor elk gelogd certificaat vergeleken we het veld
not_before(de opgegeven startdatum van de geldigheid) metentry_timestamp(het moment waarop crt.sh die vermelding vastlegde). Het verschil is de vertraging die we rapporteren. We hebben ontdubbeld op de interne entry-ID van crt.sh en een handvol vermeldingen met een ongeloofwaardig tijdsverschil (meer dan vijf jaar) weggelaten, wat we beschouwen als afwijkingen in de klok of parsing en niet als daadwerkelijk uitgiftegedrag. - De scheiding. We hebben elk certificaat ingedeeld op basis van het feit of de NotBefore vóór of op/na 15 juni 2026 viel, de ingangsdatum van de Chrome Root Program-eis dat het definitief uitgegeven certificaat een kwalificerende CT-logvermelding moet bevatten. Onze gecachete data loopt tot 24 juli 2026, dus het tijdsvenster na het mandaat beslaat grofweg de eerste zes weken onder de nieuwe regel, geen vol jaar; beschouw de cijfers na het mandaat als een vroege indicatie die we verwachten te bevestigen, niet als een volgroeide trend.
- Wat we niet hebben gedaan. We hebben nooit een certificaat aangevraagd, geen verbinding gemaakt met een webserver en niets gescand. Het uitlezen van een publiek CT-logboek is een lookup, geen probe, dezelfde grens die geldt voor elk onderzoek dat we uitvoeren.
- Wat we hebben bewaard. Geaggregeerde totalen, medianen en percentielen, per uitgevende instantie en per periode. Er zijn geen domein- of subdomeinnamen opgenomen in de resultaten en we hebben geen persoonsgegevens verzameld; domeinnamen en publieke certificaatmetadata zijn geen persoonsgegevens.
Wat dit niet bewijst
Eerlijke kanttekeningen, want een getal zonder nuances is marketing.
- Het tijdsvenster na het mandaat is kort. Zes weken aan data is genoeg om de vorm van de verandering aan te tonen, niet om te bevestigen dat deze permanent is. Een deel van de verbetering kan het gevolg zijn van vroege, voorzichtige naleving die na verloop van tijd weer verslapt; we zijn van plan dit opnieuw te controleren.
- Niet elke uitgevende instantie heeft een betrouwbaar beeld na het mandaat. Een handvol grote CA's had binnen onze specifieke steekproef van 700 domeinen simpelweg te weinig certificaten van na het mandaat om verantwoord te rapporteren. Een bredere domeinsteekproef zou dit aanvullen.
- NotBefore is geen perfecte indicatie voor "wanneer het certificaat daadwerkelijk is ondertekend." Een CA kan NotBefore iets in het verleden zetten vanwege tolerantie voor clock-skew. Die praktijk zou onze vertragingscijfers licht kunnen verhogen, zelfs bij een CA die snel logt; het verklaart echter geen verschillen van dagen of weken.
- Dit is een meting van vertraging, geen bewijs van foutieve uitgifte. Een te laat gelogd certificaat is geen bewijs dat het certificaat verkeerd is uitgegeven, alleen dat het publieke controlepad achterliep op het gebruik ervan. Het risico schuilt in het controlegat zelf: zolang een certificaat niet gelogd is, kan niemand die CT monitort voor diens eigen domein het zien.
- De populatie neigt naar domeinen met veel verkeer. De Tranco top-1.000 bestaat vooral uit kapitaalkrachtige organisaties en grote CDN's; het uitgiftegedrag voor de longtail van kleinere sites, die vaak dezelfde grote CA's gebruiken maar via andere automatisering, kan afwijken.
Waarom dit ertoe doet
De volledige waardepropositie van Certificate Transparency voor een domeineigenaar is dat u het publieke logboek voor uw eigen naam kunt monitoren en een certificaat kunt opmerken dat u niet verwachtte, voordat het tegen u wordt gebruikt. Dat werkt alleen als het loggen vlak na de uitgifte plaatsvindt. Een certificaat dat een maand lang ongeregistreerd blijft, is een certificaat dat actief was, door elke browser werd vertrouwd, en gedurende precies die periode onzichtbaar was voor iedereen die CT in de gaten hield. Het gat dat dit mandaat dicht, is niet uitzonderlijk; het is het simpele verschil tussen "we voldoen technisch gezien aan Certificate Transparency" en "u kunt daadwerkelijk zien wat we hebben uitgegeven, snel en iedere keer opnieuw." De data laat zien dat de snelste partijen in de sector, waaronder Let’s Encrypt en Sectigo, dit al ruim voordat enig beleid het vereiste als één atomaire stap behandelden. De rest haalt nu zichtbaar in, nu Chrome's Root Program er een vereiste van heeft gemaakt in plaats van een best practice, wat aansluit bij wat we zagen toen we onderzochten wie productie-CT-logs daadwerkelijk monitort: de onderdelen van dit ecosysteem die worden afgedwongen bewegen snel, en de onderdelen die slechts worden aangemoedigd doen dat niet.
Certificate Transparency log-vertraging: korte antwoorden
Wat is Certificate Transparency log-vertraging?
Het tijdsverschil tussen de opgegeven startdatum van de geldigheid van een TLS-certificaat (NotBefore) en het moment waarop het daadwerkelijk in een publiek CT-logboek verschijnt. Een kort tijdsverschil betekent dat het publieke controlepad gelijke tred houdt met de uitgifte; een lang tijdsverschil betekent dat er gedurende een periode een geldig, bruikbaar certificaat bestond zonder dat daar een publieke vermelding van was.
Vereist Chrome dat alle certificaten in CT worden gelogd?
Het beleid van Chrome's Root Program vereist dat het definitief uitgegeven certificaat, en niet alleen het precertificaat, een kwalificerende CT-logvermelding bevat voor certificaten die zijn uitgegeven op of na 15 juni 2026; certificaten die na die datum zonder zo'n vermelding zijn uitgegeven, worden niet vertrouwd door Chrome. Het loggen van precertificaten was al verplicht sinds 2018.
Waarom kon een certificaat geldig zijn voordat het werd gelogd?
CT vereist het loggen van een precertificaat voordat het definitieve certificaat wordt uitgegeven, en Maximum Merge Delay-regels (ongeveer 24 uur) bepalen hoe lang dat mag duren. Tot het beleid van Chrome van juni 2026 was er geen vergelijkbare deadline voor het loggen van het definitieve certificaat zelf, waardoor het kon worden ondertekend, gedateerd en gebruikt terwijl de eigen logvermelding achterbleef, soms met maanden.
Hoe is dit gemeten?
Passief. We hebben de publieke CT-geschiedenis via crt.sh van ongeveer 700 domeinen uit de Tranco top-1.000 uitgelezen, waarbij we de NotBefore van elk certificaat hebben vergeleken met de tijdstempel van de logvermelding. Er is geen host benaderd, geresolvet of gescand. Het resultaat is 1.29 miljoen logvermeldingen van 2013 tot medio 2026, opgesplitst op de mandaatdatum van 15 juni 2026.