Certyfikat bezpieczeństwa strony

Certyfikaty Transport Layer Security (TLS) weryfikują integralność zarówno własności, jak i informacji o odwiedzanych witrynach internetowych. W tym artykule wyjaśniono, jak to działa.

Jakie witryny internetowe korzystają z certyfikatów?

Witryny internetowe, których adresy zaczynają się od „https”, korzystają z certyfikatów TLS. Witryny korzystające z tych certyfikatów są bezpieczne tylko wtedy, o ile weryfikują dwie rzeczy:

  • Administrator witryny jest właścicielem nazwy witryny lub wie, kto jest jej posiadaczem
  • Witryna szyfruje połączenie między przeglądarką użytkownika a nią samą, aby zapobiec podsłuchiwaniu

Łańcuch certyfikatów

Przeglądarki, takie jak Firefox weryfikują certyfikaty poprzez hierarchię zwaną łańcuchem certyfikatów (ang. chain of trust) lub łańcuchem zaufania. Definiuje to strukturę dla przeglądarek i innych programów w celu weryfikacji integralności certyfikatu. Poniższy diagram ilustruje łańcuch certyfikatów:

chain-of-trust

Oto wykaz trzech certyfikatów:

  • Certyfikat główny (trust anchor)
  • Certyfikat pośredni
  • Certyfikat serwera (end entity)

Zdefiniujmy je:

  1. Certyfikat główny należy do głównego urzędu certyfikacji (CA), który wystawia certyfikaty TLS i przeglądarka z natury mu ufa.
  2. Certyfikat pośredni pełni rolę pośrednika pomiędzy głównym urzędem certyfikacji (CA) a witryną internetową.
  3. Certyfikat serwera należy do administratora serwisu.

Certyfikaty te zawierają następujące informacje:

  • Informacje o urzędzie certyfikacji (CA),
  • Parę kluczy asymetrycznych,
    • Klucz prywatny kryptograficznie podpisuje kolejny certyfikat w łańcuchu, jest chroniony przez właściciela klucza i tylko on może się nim posłużyć.
    • Klucz publiczny służy do odszyfrowania podpisu kolejnego certyfikatu w łańcuchu w celu weryfikacji tożsamości, jest częścią certyfikatu cyfrowego jego właściciela i mogą go używać wszyscy zainteresowani.

Teraz możemy opisać, w jaki sposób Firefox określa, czy witryna jest bezpieczna.

Jak Firefox sprawdza integralność certyfikatu?

Oto jak Firefox wykorzystuje łańcuch certyfikatów do weryfikacji certyfikatów TLS:

  1. Firefox pobiera certyfikat odwiedzanej witryny.
  2. Sprawdza certyfikat w swojej wewnętrznej bazie danych głównych urzędów certyfikacji (CA).
    • Używa klucza publicznego certyfikatu głównego urzędu certyfikacji, aby upewnić się, że certyfikat główny i certyfikat pośredni są prawidłowo podpisane w łańcuchu.
  3. Sprawdza w głównym urzędzie certyfikacji, czy witryna, z którą użytkownik się łączy, jest zgodna z witryną w certyfikacie serwera.
  4. Generuje symetryczny (pojedynczy) klucz do szyfrowania ruchu HTTP dla połączenia.
  5. Szyfruje klucz symetryczny kluczem publicznym certyfikatu serwera.
  6. Klucz prywatny, który znajduje się na serwerze WWW, odszyfrowuje dane połączenia.

Wyświetlanie certyfikatu

Aby zobaczyć certyfikat należy:

  1. Kliknąć ikonę kłódki znajdującą się w pasku adresu
    padlock-icon
  2. Kliknąć Zabezpieczone połączenie
    connection-secure
  3. Kliknąć Więcej informacji
    more-information
  4. W wyświetlonym oknie, kliknąć Wyświetl certyfikat
    view-certificate

Zostanie wyświetlony certyfikat aktualnie przeglądanej strony:

about-certificate-page

Widoczne są trzy zakładki, w których kolejno wyświetlane są: certyfikat serwera, certyfikat pośredni i certyfikat główny.

Zawartość certyfikatu

Certyfikaty TLS zawierają następujące informacje:

  • Nazwa podmiotu – zawiera nazwę witryny internetowej i opcjonalne atrybuty, takie jak informacje o organizacji będącej właścicielem certyfikatu.
  • Wystawca – identyfikuje podmiot, który wydał certyfikat
  • Ważność – pokazuje jak długo certyfikat jest ważny
  • Alternatywne nazwy podmiotu – wyświetla adresy witryn internetowych, dla których certyfikat jest ważny
  • Informacje o kluczu publicznym – wyświetla listę atrybutów klucza publicznego certyfikatu
  • Numer seryjny – unikalny identyfikator certyfikatu
  • Algorytm sygnatury certyfikatu – Algorytm używany do stworzenia sygnatury
  • Odciski – hash (cyfrowy „odcisk palca” pliku komputerowego) pliku certyfikatu w DER formacie binarnym
  • Rozszerzone zastosowania klucza – określa, w jaki sposób użytkownicy mogą korzystać z certyfikatu, na przykład w celu potwierdzenia własności witryny internetowej (uwierzytelnianie serwera sieci Web)
  • Identyfikator klucza podmiotu – identyfikator wygenerowany na podstawie klucza publicznego certyfikatu TLS w celu identyfikacji certyfikatu
  • Identyfikator klucza organu – identyfikator generowany z klucza publicznego certyfikatu TLS, służący do identyfikacji klucza publicznego odpowiadającego kluczowi prywatnemu użytemu do podpisania certyfikatu
  • Punkty końcowe CRL – lokalizacje Certificate Revocation List (CRL) wystawiającego urzędu certyfikacji
  • Informacje o organie (AIA) – zawiera metodę sprawdzania poprawności dla urzędu certyfikacji i pośredniego pliku certyfikatu
  • Ważność certyfikatu – zawiera typ sprawdzania poprawności certyfikatu i łącze do pliku CA Certification Practices Statement (CPS)
  • Osadzone SCT – zawiera listę Signed Certificate Timestamps (SCT)

Problematyczne certyfikaty

Jeśli użytkownik odwiedza witrynę, której adres zaczyna się od https, a z jej certyfikatem jest jakiś problem, zobaczy informację o błędzie. Często spotykane błędy certyfikatów opisano w artykule: Co oznacza komunikat "Połączenie nie jest bezpieczne"?.

Aby wyświetlić problematyczny certyfikat:

  1. Na stronie z komunikatem Połączenie nie jest bezpieczne, kliknij przycisk Zaawansowane…
    bad-cert-advanced
  2. Kliknij Wyświetl certyfikat

Zostanie wyświetlony zły certyfikat.

Czy ten artykuł okazał się pomocny?

Proszę czekać…

Osoby, które pomogły w tworzeniu tego artykułu:

Illustration of hands

Pomóż nam

Zdobywaj wiedzę i dziel się nią z innymi. Odpowiadaj na pytania i ulepsz naszą bazę wiedzy.

Więcej informacji