Onrechtmatig uitgegeven certificaten zijn voor de online security wereld nog altijd een doorn in het oog. Hoewel de meeste CA’s hun veiligheid hoog in het vaandel hebben staan, is de hele ketting alleen zo sterk als de zwakste schakel. Wanneer één CA in de fout gaat, kan dit verstrekkende gevolgen hebben voor de veiligheid van het gehele internet.

Certificate Transparency
Google heeft daarom een project gelanceerd dat moet helpen met het identificeren van foutief uitgegeven certificaten voor zowel eindgebruikers als CA’s. Dit Certificate Transparency project bestaat, in de basis, uit publiek uit te lezen logboeken, waarin CA’s en eindgebruikers hun certificaat met de uitgiftedatum kunnen toevoegen. Deze logboeken kunnen alleen aangevuld worden, niet gewijzigd. Mocht een certificaat worden uitgegeven voor een website terwijl dit niet de bedoeling is, kan de rechtmatige eigenaar het log gebruiken om aan te geven dat het een frauduleus certificaat is. Een gehackte CA kan zo ook makkelijker worden geïdentificeerd.

Het belangrijkste onderdeel van Certificate Transparency zijn de Certificate Transparency Logs. Deze logboeken worden onderhouden door onafhankelijke partijen, zoals Google zelf, maar ook door CA’s. De CA’s zijn verantwoordelijk voor het toevoegen van certificaten aan de CT logs en het verwerken van het bewijs van opname, de zogenaamde Signed Certificate Timestamp of SCT, in het SSL certificaat. Dit kunnen ze bijvoorbeeld doen door een precertificaat in te sturen. Dit is een compleet SSL certificaat, dat geverifieerd is en klaar staat om ondertekend te worden door de CA. Zodra de CA de SCT’s van minimaal twee logs, waarvan één verplicht van Google zelf moet zijn, heeft ontvangen, kunnen deze worden opgenomen in het certificaat. Daarna kan het certificaat worden ondertekend en uitgegeven aan de klant. De browser, in dit geval Google Chrome, kan vervolgens bij elk bezoek aan de website controleren op de aanwezigheid van de SCT’s.

Zo veilig als de zwakste schakel
Op dit moment wordt er al door veel CA’s gebruik gemaakt van Certificate Transparency logs, en beheren veel grote CA’s zelf hun eigen logs. Deze logs zijn openbaar, en dus ook te gebruiken om polling op te zetten. Tools zoals https://crt.sh/ bieden de mogelijkheid een domeinnaam te controleren op de aanwezigheid van SCT’s en geven inzicht in de log entries voor een domein.

Hoewel dit een overduidelijk positieve ontwikkeling zal zijn die het uitgeven van fraudulente certificaten kan tegengaan, heeft het niet direct een grote uitwerking op de veiligheid van een certificaat zelf. Eindgebruikers zullen weinig merken van de werking van Certificate Transparency. Maar wanneer een SSL certificaat is uitgegeven door een CA die geen gebruik maakt van deze techniek, zal de bijbehorende website vanaf maart 2018 niet meer bereikbaar zijn in Chrome. Het is de verwachting dat andere browsers Chrome zullen volgen in deze implementatie. Het project is echter wel afhankelijk van de coöperatie van de CA’s: als het loggen van certificaten niet als industriestandaard wordt doorgevoerd, is het log niet compleet te krijgen, en dus niet effectief.

Expect-CT
Klanten kunnen zelf een actieve rol spelen in het controleren van hun certificaat op SCT’s. Zo kunnen websitebeheerders een header toevoegen, die feedback van de browser door kan geven over de status van de SCT’s, en of ze überhaupt aanwezig zijn. Deze Expect-CT header is een relatief nieuwe HTTP-header, en heeft 3 configureerbare opties:

  • Met de optie ‘enforce’ kan de header de browser dwingen om het Certificate Transparency beleid aan te houden: krijgt de browser geen of te weinig SCT’s terug in het certificaat, dan accepteert hij de website niet.
  • De optie ‘max-age’ geeft aan hoe lang de browser de resultaten moet cachen.
  • De optie ‘report-uri’ kan een absolute URL bevatten waar rapportages naar gestuurd worden wanneer de browser geen correcte SCT’s ontvangt.

Security specialist Scott Helme heeft een handig artikel geschreven waarin hij deze header bespreekt en uitlegt hoe deze het beste in te stellen is.

Gebruik maken van de situatie
Eindgebruikers kunnen ook gebruik maken van de CT logs om hun eigen certificaatveiligheid in de gaten te houden. Inmiddels zijn er al meerdere handige rapportage-tools op het internet te vinden die deze logs gebruiken en een waarschuwing sturen wanneer een nieuw certificaat wordt uitgegeven voor een bepaald domein. Uiteraard biedt Google zelf een simpele zoekmachine die een behapbaar overzicht geeft van de uitgegeven certificaten voor een domeinnaam. Ook CA’s Symantec en Comodo hebben een soortgelijke dienst opgezet.

Daarnaast heeft Facebook een Certificate Transparency Monitoring tool die heel simpel werkt, en gratis te gebruiken is. Ten slotte biedt SSLmate nog de monitoringdienst Certspotter. Deze mogelijkheid is weliswaar de meest uitgebreide dienst in dit rijtje, maar is alleen gratis tot 5 domeinnamen. Daarna schiet de prijs per maand omhoog.

Conclusie
Certificate Transparency ziet er uit als de volgende stap in de beveiliging en bevordering van het SSL protocol. Als het aan Google ligt, wordt dit zo snel mogelijk een nieuwe industriestandaard.

Lees relevante artikelen

Categorie  SSL & Security | Tags  certificate transparency CT google ssl