0Pricing
Cryptology Academy · Lekcja

Weryfikacja certyfikatu w TLS

Prześledzić, jak klient weryfikuje łańcuch certyfikatów serwera

Weryfikacja certyfikatu w TLS 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.

Dlaczego należy weryfikować certyfikaty?

Bez weryfikacji certyfikatu można byłoby ustanowić połączenie TLS z atakującym podszywającym się pod serwer (atak man-in-the-middle). Weryfikacja certyfikatu gwarantuje, że komunikują się Państwo z prawdziwym serwerem, który posiada klucz prywatny.

Pola certyfikatu X.509 istotne dla TLS

Kluczowe pola to: Subject (właściciel certyfikatu), SubjectAltName (nazwy DNS/adresy IP), Issuer (CA podpisujący certyfikat), Validity (notBefore/notAfter), Public Key, Signature. Przeglądarka sprawdza wszystkie te pola.

Łańcuch zaufania

Certyfikat serwera → certyfikat pośredniego CA → certyfikat głównego CA. Główny CA jest podpisany własnym kluczem i wstępnie zainstalowany w magazynie zaufania systemu operacyjnego lub przeglądarki. Serwer wysyła swój certyfikat oraz certyfikaty pośrednie w komunikacie Certificate uzgadniania TLS.

Weryfikacja podpisu

Każdy certyfikat jest podpisany przez znajdującego się wyżej w hierarchii wystawcę. Klient weryfikuje: signature(cert_n) za pomocą public_key(cert_{n+1}). Jeśli dowolny podpis jest nieprawidłowy, łańcuch zostaje odrzucony. Główny certyfikat jest zaufany dzięki wstępnej instalacji, a nie dzięki podpisowi.

Weryfikacja nazwy

Klient sprawdza, czy nazwa hosta serwera odpowiada polu Subject lub SubjectAltName certyfikatu (wpisom DNS). Wieloznaczniki (*.example.com) pasują do jednego poziomu nazwy. Od 2000 roku SAN ma pierwszeństwo przed CN przy dopasowywaniu nazwy hosta.

Sprawdzanie okresu ważności

Klient sprawdza notBefore ≤ now ≤ notAfter dla każdego certyfikatu w łańcuchu. Certyfikaty, których ważność wygasła, są odrzucane nawet wtedy, gdy ich podpisy są prawidłowe. Okresy ważności certyfikatów zostały skrócone: przeglądarki ograniczają je obecnie do około 398 dni.

Unieważnianie: CRL

CA publikuje Certificate Revocation List (CRL) — podpisaną listę numerów seryjnych unieważnionych certyfikatów. Klient pobiera adres URL listy CRL (z rozszerzenia CRL Distribution Points certyfikatu) i sprawdza, czy znajduje się na niej numer seryjny.

Unieważnianie: OCSP

Online Certificate Status Protocol (OCSP) pozwala klientom zapytać responder OCSP urzędu CA o status pojedynczego certyfikatu. Jest szybszy niż CRL, ale zwiększa opóźnienie. OCSP Stapling polega na tym, że serwer dołącza podpisaną odpowiedź OCSP do uzgadniania TLS.

Przejrzystość certyfikatów

CT (RFC 6962) wymaga od CA rejestrowania wszystkich wydanych certyfikatów w publicznych dziennikach, do których można tylko dopisywać wpisy. Przeglądarki sprawdzają obecność Signed Certificate Timestamps (SCT) w certyfikacie lub rozszerzeniu TLS. Zapobiega to niezauważonemu nieprawidłowemu wydawaniu certyfikatów.

Przypinanie

HTTP Public Key Pinning (HPKP, przestarzałe) oraz przypinanie certyfikatów w aplikacjach mobilnych wiążą konkretny klucz publiczny lub skrót certyfikatu. Jeśli serwer przedstawi inny certyfikat, połączenie zostaje odrzucone nawet wtedy, gdy certyfikat jest ważny — zapobiega to atakom wynikającym z przejęcia CA.

Typowe błędy weryfikacji

ERR_CERT_AUTHORITY_INVALID: główny certyfikat nie jest zaufany. ERR_CERT_DATE_INVALID: certyfikat wygasł. ERR_CERT_COMMON_NAME_INVALID: niezgodność nazwy hosta. NET::ERR_CERT_REVOKED: OCSP/CRL wskazuje, że certyfikat został unieważniony. Każdy z tych błędów odpowiada niepowodzeniu konkretnego etapu weryfikacji.

Szybkie sprawdzenie

Co zapewnia OCSP Stapling?

Podsumowanie

Weryfikacja certyfikatu w TLS obejmuje weryfikację łańcucha, sprawdzanie podpisów, dopasowanie nazwy, sprawdzanie okresów ważności oraz unieważnienia. Następnie: historyczne ataki na TLS i sposoby ich ograniczania przez TLS 1.3.

Często zadawane pytania

Czy lekcja „Weryfikacja certyfikatu w TLS” jest bezpłatna?

Tak — pełny tekst „Weryfikacja certyfikatu w TLS” 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 „Weryfikacja certyfikatu w TLS”?

Prześledzić, jak klient weryfikuje łańcuch certyfikatów serwera Ć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 „Weryfikacja certyfikatu w TLS”?

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

  1. Uzgadnianie TLS 1.3 krok po kroku
  2. Warstwa rekordów TLS i zestawy szyfrów
  3. Weryfikacja certyfikatu w TLS
  4. Ataki na TLS: BEAST, POODLE i downgrade
← Powrót do Cryptology Academy