Certificate Transparency – åpenhet om utstedte sertifikater.

Buypass vil fra slutten av april 2018 støtte Certificate Transparency for alle TLS-sertifikater. Vi har hatt støtte for dette i våre SSL Evident sertifikater siden 2015, men nå vil dette gjelde alle TLS-sertifikater vi utsteder.

Bakgrunn
Google krever at alle TLS-sertifikater som utstedes etter april 2018 må tilfredsstille deres Certificate Transparency policy for å bli akseptert i Chrome – se https://github.com/chromium/ct-policy for mer detaljer.

Hva er Certificate Transparency?
Certificate Transparency handler om åpenhet og innebærer at TLS-sertifikater registreres i åpne og offentlig tilgjengelige logger. Disse loggene gir mulighet for innsyn i, og kontroll med alle TLS-sertifikater som er utstedt. Dette gjør at man kan følge med og overvåke sertifikater som utstedes, for eksempel på domener man selv kontrollerer.
Certificate Transparency er et rammeverk som ble etablert som et tiltak mot svakheter i økosystemet rundt utstedelse av TLS-sertifikater (Web PKI). En sertifikatutsteder som er godkjent av nettleserne kan utstede TLS-sertifikater for hvilket som helst domene og det har vært flere tilfeller der TLS-sertifikater har blitt utstedt på feil grunnlag.
For å forhindre dette har flere aktører, med Google i spissen, etablert Certificate Transparency (CT). CT skal sikre at alle TLS-sertifikater utstedt fra godkjente sertifikatutstedere registreres i offentlig tilgjengelige CT-logger. Vi kan se på CT som et eget lite økosystem og en utvidelse av Web PKI.
Økosystemet rundt CT introduserer nye aktører i tillegg til nettlesere og sertifikatutstedere, dette er CT-logg operatører, CT-auditor og CT-monitor. Se https://www.certificate-transparency.org/ for mer informasjon om dette økosystemet.

Hvordan sikre at TLS-sertifikater blir godkjent av nettlesere som krever CT?
For at TLS-sertifikater utstedt etter april 2018 skal bli godkjent av Chrome, må man legge frem bevis for at sertifikatet er registrert i en CT-logg. Denne type bevis kalles for Signed Certificate Timestamp (SCT) og slike må være generert av en kvalifisert CT-logg, det vil si en logg som er godkjent av Google og som opererer i hht de kravene som gjelder.
En effektiv og sikker måte å legge frem disse bevisene på, er å inkludere bevisene (SCT-ene) inn i TLS-sertifikatet ved utstedelse.
Dette kompliserer utstedelsesprosessen siden sertifikatutsteder først må generere et pre-sertifikat som registreres i et antall CT-logger i hht Google’s CT policy (2 eller 3 logger avhengig av levetid). Når et pre-sertifikat registreres i en CT-logg, returnerer loggen en SCT som et bevis for at sertifikatet er registrert i loggen. Alle SCT-er blir deretter samlet og legges inn i det endelige sertifikatet før det utstedes.
Hvem som helst kan registrere et sertifikat i en CT-logg og motta et bevis (SCT) fra loggen som dokumentasjon på at sertifikatet er logget der. Det finnes alternative måter for å legge disse frem for nettleseren, for eksempel ved bruk av utvidelser i TLS-protokollen. Men dette forutsetter at serverne støttes for disse utvidelsene og noen må sørge for at utvidelsene blir tatt i bruk. Her er det mange feilkilder.

Den anbefalte og enkleste måten å gjøre dette på er derfor å inkludere bevisene inn i sertifikatene ved utstedelse og transportere disse til nettleseren i sertifikatet. Sertifikatet blir uansett presentert for nettleseren ved etablering av TLS-protokollen.
Hva gjør Buypass?
Buypass velger også denne løsningen og fra slutten av april vil vi registrere alle TLS-sertifikater i CT-logger og inkludere SCT-ene inn i sertifikatene ved utstedelse.
Alle som skaffer seg et TLS-sertifikat fra Buypass kan dermed være trygge på at deres TLS-sertifikater vil bli godkjent av nettlesere som krever støtte for CT (som Chrome) uten at de selv må gjøre noe for å få til dette.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s