OCSP Stapling i Certificate Transparency
Proszę skonfigurować OCSP stapling w celu poprawy wydajności oraz poznać rejestry Certificate Transparency pod kątem audytowalności.
OCSP Stapling i Certificate Transparency to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Problemy z CRL
Listy odwołanych certyfikatów (CRL) to pliki publikowane przez CA, zawierające wszystkie odwołane certyfikaty. CRL mają kilka wad: z czasem stają się duże, klienci muszą pobierać je w całości, ich aktualność jest ograniczona (są publikowane zgodnie z harmonogramem), a przeglądarki historycznie przechodziły w tryb soft-fail (akceptowały certyfikaty), gdy pobranie CRL kończyło się niepowodzeniem. W praktyce sprawiało to, że odwoływanie certyfikatów było zawodne.
OCSP do sprawdzania statusu w czasie rzeczywistym
Online Certificate Status Protocol (OCSP, RFC 6960) umożliwia klientom odpytanie respondera OCSP urzędu certyfikacji w czasie rzeczywistym o status odwołania konkretnego certyfikatu. Odpowiedź OCSP informuje, że certyfikat jest "good", "revoked" lub "unknown", i jest podpisana przez CA. Jest to wydajniejsze niż pobieranie całej CRL.
Problem prywatności w OCSP
Standardowy OCSP ma istotną wadę związaną z prywatnością: klient musi skontaktować się z responderem OCSP urzędu certyfikacji, przekazując numer seryjny sprawdzanego certyfikatu. Ujawnia to urzędowi certyfikacji (lub obserwatorowi sieci), jakie witryny użytkownik odwiedza i kiedy. Tworzy to mechanizm nadzoru naruszający prywatność użytkownika na poziomie urzędu certyfikacji.
Mechanizm OCSP stapling
OCSP stapling (RFC 6066) rozwiązuje problem prywatności, ponieważ serwer wcześniej pobiera odpowiedź OCSP z urzędu certyfikacji i przechowuje ją w pamięci podręcznej. Podczas uzgadniania TLS serwer "dołącza" tę zapisaną odpowiedź do uzgadniania i dostarcza ją bezpośrednio klientowi. Klient otrzymuje aktualny status odwołania bez bezpośredniego kontaktowania się z urzędem certyfikacji.
Konfigurowanie OCSP stapling
Konfiguracja OCSP stapling w Nginx wymaga umieszczenia w bloku serwera następujących ustawień: "ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8;". Dyrektywa ssl_certificate_by_lua_block lub ssl_trusted_certificate udostępnia łańcuch do weryfikacji. Apache wymaga ustawienia "SSLUseStapling on" w VirtualHost. Oba serwery przechowują odpowiedź w pamięci podręcznej i odświeżają ją przed wygaśnięciem.
Rozszerzenie OCSP Must-Staple
Rozszerzenie X.509 OCSP Must-Staple (RFC 7633) informuje przeglądarki, że serwer tego certyfikatu zawsze dołączy odpowiedź OCSP. Jeśli przeglądarka połączy się z serwerem i nie otrzyma dołączonej odpowiedzi, odrzuci połączenie. Zapobiega to atakującemu posiadającemu odwołany certyfikat blokowaniu odpowiedzi OCSP w celu wymuszenia zachowania soft-fail.
Koncepcja Certificate Transparency
Certificate Transparency (CT) to system, w którym wszystkie publicznie zaufane CA muszą rejestrować każdy wystawiony certyfikat w publicznie audytowalnych dziennikach, do których można wyłącznie dopisywać dane, zanim certyfikat zostanie przekazany. Dzienniki te umożliwiają właścicielom domen, badaczom i systemom monitorującym wykrywanie błędnie lub oszukańczo uzyskanych certyfikatów dla dowolnej domeny.
Signed Certificate Timestamps w CT
Gdy CA przesyła certyfikat do dziennika CT, dziennik zwraca Signed Certificate Timestamp (SCT). SCT to podpisana kryptograficznie obietnica, że certyfikat został zarejestrowany. SCT może być osadzony w samym certyfikacie, dostarczony za pomocą rozszerzenia TLS lub dołączony w odpowiedzi OCSP. Chrome wymaga co najmniej dwóch SCT, aby uznać certyfikat za zaufany.
Wymaganie CT w Chrome
Google Chrome wymaga Certificate Transparency dla wszystkich publicznie zaufanych certyfikatów TLS od kwietnia 2018 roku. Certyfikaty bez prawidłowych SCT są odrzucane przez Chrome z błędem certyfikatu. Wymóg ten skutecznie wymusza rejestrowanie certyfikatów w CT przez wszystkie główne CA, ponieważ CA, którego certyfikaty są odrzucane przez Chrome, nie może działać jako publiczny CA.
Wykrywanie błędnie wystawionych certyfikatów za pomocą CT
Dzienniki CT umożliwiają każdemu monitorowanie certyfikatów wystawionych dla jego domeny. Usługi takie jak crt.sh i Facebook's CT Monitor pozwalają właścicielom domen przeszukiwać wszystkie dzienniki CT pod kątem certyfikatów, w których ich domena występuje w polach podmiotu lub SAN. Nieautoryzowane wystawienie certyfikatu, na przykład przez przejęty CA lub w wyniku przejęcia BGP, staje się wykrywalne w ciągu kilku godzin.
Ekosystem dzienników CT
Dzienniki CT są prowadzone przez wiele niezależnych organizacji, w tym Google (Argon, Xenon), Cloudflare (Nimbus), DigiCert, Sectigo i inne. Wielu operatorów dzienników uniemożliwia pojedynczej organizacji ukrycie zarejestrowanego certyfikatu. Przeglądarki wymagają SCT pochodzących z dzienników znajdujących się na zatwierdzonej liście, utrzymując kontrolę jakości nad zaufanymi dziennikami.
Sprawdzenie OCSP stapling
Jaki problem rozwiązuje OCSP stapling w porównaniu ze standardowym OCSP?
Podsumowanie lekcji: OCSP i CT
CRL są duże i szybko tracą aktualność, a OCSP zapewnia sprawdzanie odwołania w czasie rzeczywistym, lecz ujawnia CA dane o przeglądanych witrynach. OCSP stapling dostarcza wcześniej pobrany status odwołania podczas uzgadniania TLS, chroniąc prywatność. OCSP Must-Staple zapobiega obejściu mechanizmu soft-fail. Certificate Transparency rejestruje wszystkie wystawione certyfikaty, umożliwiając wykrywanie błędnie wystawionych certyfikatów za pomocą SCT. Chrome wymaga CT od 2018 roku.
Często zadawane pytania
Czy lekcja „OCSP Stapling i Certificate Transparency” jest bezpłatna?
Tak — pełny tekst „OCSP Stapling i Certificate Transparency” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „OCSP Stapling i Certificate Transparency”?
Proszę skonfigurować OCSP stapling w celu poprawy wydajności oraz poznać rejestry Certificate Transparency pod kątem audytowalności. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?
Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „OCSP Stapling i Certificate Transparency”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?
Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy OpenSSL w wierszu poleceń
- Tworzenie i zarządzanie łańcuchami certyfikatów
- OCSP Stapling i Certificate Transparency
- Automatyzacja Let's Encrypt i protokołu ACME