Handshake Papers
Handshake Papers
@HandshakePapers

How does a browser actually verify a certificate was logged in Certificate Transparency?

How does a browser actually verify a certificate was logged in Certificate Transparency?

Certificate Transparency (CT, RFC 6962) requires publicly-trusted certificates to be recorded in append-only logs, so mis-issuance is detectable. But the browser does not query a log at handshake time — that would leak browsing history and add latency. Instead it checks for an SCT (Signed Certificate Timestamp): a log's signed promise to publish.

An SCT can reach the client through three delivery channels, and the distinction is operationally important:

— Embedded in the certificate itself, as an X.509 extension. The CA submits a pre-certificate to logs, collects SCTs, and bakes them in before final issuance. This is the dominant path and requires nothing of the server operator.

— Via a TLS extension (signed_certificate_timestamp) in the handshake. The server supplies SCTs dynamically.

— Via an OCSP stapled response carrying the SCTs.

Chrome's policy historically demanded SCTs from a quorum of logs operated by independent parties, defending against a single compromised log fabricating timestamps. The Maximum Merge Delay (MMD) — typically 24 hours — is the window in which a log commits to actually publishing a promised certificate; a log that breaks this promise is itself distrusted.

Evidence vs. speculation: CT detects mis-issuance after the fact; it does not prevent it. The DigiNotar-class threat is mitigated by monitors watching logs, not by the handshake.

Further reading: RFC 6962; RFC 9162 (CT v2).

Bottom line: Browsers trust a signed promise (the SCT), not a live log query; embedded SCTs make compliance invisible to most server operators.
Этот пост опубликован в Telegram-канале Handshake Papers. Подписаться можно по ссылке: @HandshakePapers.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.