Od maja 2018 roku każdy certyfikat SSL wydawany jest zgodnie z ideą Certificate Transparency, opracowaną przez Google. Mechanizm ten to tak naprawdę pokaźna baza danych, pozwalająca m.in. na sprawne wykrycie certyfikatów wydanych błędnie. Działanie CT opiera się na serwerach logów, do których urzędy certyfikacji przesyłają informacje na temat wydawanych certyfikatów. Uzyskany w zamian znacznik SCT (Signed Certificate Timestamp) umieszczany jest następnie w strukturze certyfikatu.
Charakterystyka Certificate Transparency
Certyfikat SSL wydają obecnie urzędy na całym świecie. Mimo zastosowania całego szeregu procedur ochronnych oraz zabezpieczeń, proces wydawania certyfikatów nie zawsze przebiega bez problemów. Konsekwencją błędu jest zazwyczaj nieprawidłowe wydanie certyfikatu, który następnie może zostać wykorzystany do przejęcia poufnych danych. Celem mechanizmu Certificate Transparency jest ustrzeżenie użytkowników przed tego rodzaju zagrożeniami. CT nie zapobiega błędnemu wydaniu certyfikatu, jednak pozwala na jego szybkie namierzenie oraz podjęcie określonych działań unieważniających. W ten sposób można skutecznie zablokować potencjalnie niebezpieczne wykorzystanie certyfikatu SSL.
Główne założenia Certificate Transparency
System CT zaczął być szeroko wykorzystywany na początku 2015 roku. Google postawiło wówczas konkretne wymagania certyfikatom rozszerzonej walidacji EV, które przed wydaniem muszą trafić do tzw. serwerów logów. Jeżeli zaufany urząd certyfikacji nie spełni tego wymogu, przeglądarka Chrome rozpozna stronę jako niebezpieczną. Idea Certificate Transparency opiera się zatem przede wszystkim na publicznym udostępnianiu certyfikatów SSL przez urzędy certyfikacji już w momencie ich wydawania. Odbywa się to poprzez lokalizowanie certyfikatów na odpowiednich serwerach – pozwalają one jedynie na dodawanie certyfikatów, jednocześnie uniemożliwiając ich usuwanie lub modyfikowanie. Użytkownicy zainteresowani zawartością takiej bazy mogą ją przeszukiwać oraz samodzielnie weryfikować poprawność wszystkich wydawanych certyfikatów SSL.
Certificate Transparency a przeglądarka Chrome
Opracowaniem Certificate Transparency zajęło się Google, w związku z czym firma ta odpowiada za całą politykę działania mechanizmu. Obecnie zakłada ona, że wszystkie certyfikaty wydane po 30 kwietnia 2018 roku powinny być logowane na serwerach logów CT – w przeciwnym razie Chrome uzna certyfikaty SSL za niezaufane i zamiast załadować stronę wyświetl komunikat błędu. Z uwagi na dużą popularność tej przeglądarki, ryzyko niespełnienia tego wymogu przez urzędy certyfikacji jest na szczęście niewielkie.
Zgodność z Certificate Transparency
Posiadacze certyfikatów SSL wydanych do końca kwietnia 2018 roku nie muszą się przejmować. Zmiany wprowadzone przez Google dotyczą jedynie tych certyfikatów, które wydane zostały po 1 maja 2018 roku. Generując nowy certyfikat SSL warto więc mieć pewność, że zawiera on niezbędną liczbę SCT (signed certificate timestamp). Znacznik ten stanowi potwierdzenie, że certyfikat został sprawdzony przez wymaganą ilość serwisów logów Certificate Transparency. SCT przekazywane są przeglądarkom na różne sposoby. Może się to odbywać poprzez rozszerzenie w certyfikacie lub rozszerzenie protokołu TLS, bądź też poprzez staling OSCP (Online Certificate Status Protocol). Pierwszy ze sposobów jest obecnie zdecydowanie najpopularniejszy. Certyfikat wydany na mniej niż 15 miesięcy powinien posiadać minimum 2 SCT, natomiast ten wydany na okres od 15 do 27 miesięcy przynajmniej 3 SCT.