PKI i Certyfikaty

Infrastruktura klucza publicznego, certyfikaty cyfrowe i urzędy certyfikacji.

Cyfrowy Kryzys Tożsamości: Problem Zaufania

W świecie fizycznym weryfikacja tożsamości jest stosunkowo prostym procesem. Gdy idziesz do banku założyć konto, kasjer prosi o okazanie dokumentu tożsamości wydanego przez rząd, takiego jak dowód osobisty czy paszport. Przedstawiasz dokument, a kasjer mu ufa z kilku powodów: ma on oficjalne pieczęcie, hologramy, zdjęcie pasujące do Twojej twarzy i, co najważniejsze, został wydany przez wysoce zaufany podmiot: rząd. Bank ufa rządowi, a zatem ufa dowodowi tożsamości, który rząd Ci wydał.

Internet ma jednak ogromny kryzys tożsamości. Kiedy Twoja przeglądarka łączy się ze stroną internetową podającą się za 'allegro.pl', skąd tak naprawdę wie, że to prawda? Nie ma twarzy do porównania ani fizycznych dokumentów do sprawdzenia. Atakujący mógłby łatwo stworzyć fałszywą stronę internetową, która wygląda identycznie jak prawdziwa, i przechwycić Twoje połączenie, co jest techniką znaną jako atak man-in-the-middle. Gdybyś wprowadził swoje hasło i numer karty kredytowej na takiej fałszywej stronie, przekazałbyś swoje najwrażliwsze informacje bezpośrednio w ręce przestępcy. Aby umożliwić bezpieczne interakcje online, potrzebujemy globalnego, skalowalnego systemu do weryfikacji tożsamości cyfrowej: cyfrowego odpowiednika całego systemu wydawania paszportów i dowodów osobistych. System ten jest znany jako Infrastruktura Klucza Publicznego.

Czym jest Infrastruktura Klucza Publicznego (PKI)?

to nie pojedyncza technologia, ale kompleksowy framework: kombinacja polityk, standardów, sprzętu i oprogramowania, który stanowi fundament cyfrowego zaufania w internecie. Jej głównym celem jest bezpieczne powiązanie kluczy publicznych z określonymi podmiotami, takimi jak osoby, organizacje czy serwery.

Jeśli kontynuujemy naszą analogię z paszportem, PKI to nie tylko sam paszport. To cały ekosystem, który czyni paszport wiarygodnym: prawa, które definiują, czym jest tożsamość, agencje rządowe wydające paszporty, bezpieczne drukarnie, procedury weryfikacji tożsamości osoby przed wydaniem paszportu oraz systemy zgłaszania zagubionych lub skradzionych paszportów. W ten sam sposób PKI dostarcza wszystkich niezbędnych komponentów do wydawania, zarządzania, dystrybucji i unieważniania cyfrowych dokumentów tożsamości, zwanych certyfikatami cyfrowymi.

Podstawowe Komponenty Ekosystemu PKI

Framework PKI składa się z kilku kluczowych aktorów i komponentów, które współpracują w celu ustanowienia i utrzymania zaufania.

  1. Urząd Certyfikacji (CA): Cyfrowy Urząd Paszportowy.

    jest kamieniem węgielnym całego systemu PKI. CA to wysoce zaufana organizacja odpowiedzialna za wydawanie certyfikatów cyfrowych. Jej zadaniem jest rygorystyczna weryfikacja tożsamości osoby lub organizacji wnioskującej o certyfikat. Gdy jest pewna jej tożsamości, używa swojego własnego, silnie chronionego klucza prywatnego do stworzenia podpisu cyfrowego na certyfikacie wnioskodawcy. Ten podpis jest oficjalną pieczęcią CA, poświadczającą fakt, że klucz publiczny zawarty w certyfikacie rzeczywiście należy do podmiotu wymienionego w certyfikacie. Znane publiczne urzędy certyfikacji to DigiCert, GlobalSign, a w Polsce na przykład Certum (Asseco).

  2. Urząd Rejestracji (RA): Lokalny Punkt Przyjmowania Wniosków.

    W dużych wdrożeniach PKI, CA może delegować zadanie weryfikacji tożsamości na oddzielny podmiot, znany jako Urząd Rejestracji (RA). RA działa jako agent pierwszej linii. Przyjmuje wnioski o certyfikaty, przeprowadza wstępną weryfikację tożsamości zgodnie z polityką CA, a następnie przekazuje zweryfikowany wniosek do CA w celu ostatecznego wydania certyfikatu. Jest to podobne do korzystania z licencjonowanego punktu przyjmowania wniosków paszportowych w celu zweryfikowania dokumentów przed wysłaniem ich do centralnej drukarni rządowej.

  3. Certyfikaty Cyfrowe: Cyfrowy Dowód Osobisty.

    Certyfikat cyfrowy to elektroniczny dokument będący sercem PKI. Jest to ustandaryzowana struktura danych, najczęściej definiowana przez standard X.509, która zawiera kluczowe informacje wiążące tożsamość podmiotu z jego kluczem publicznym. Zbadamy jego strukturę szczegółowo później.

  4. Mechanizmy Unieważniania Certyfikatów (CRL i OCSP): Lista Zgubionych lub Skradzionych.

    Co się stanie, jeśli klucz prywatny powiązany z certyfikatem zostanie skradziony lub organizacja przestanie istnieć? Certyfikat musi zostać unieważniony przed swoją oficjalną datą wygaśnięcia. Ten proces nazywa się unieważnieniem (revocation). PKI obejmuje mechanizmy publikowania informacji o tym, które certyfikaty nie są już godne zaufania, podobnie do listy anulowanych kart kredytowych lub skradzionych paszportów. Dwa główne mechanizmy to Lista Unieważnionych Certyfikatów (CRL) i Protokół Statusu Certyfikatu Online (OCSP).

  5. Repozytorium Certyfikatów: Publiczny Katalog.

    Jest to publicznie dostępny katalog lub baza danych, w której CA publikuje wydane przez siebie certyfikaty i najnowsze listy CRL. Pozwala to każdemu na pobranie certyfikatu i sprawdzenie jego ważności oraz statusu.

Anatomia Certyfikatu Cyfrowego (X.509)

Podobnie jak paszport zawiera określone pola informacyjne, standardowy certyfikat cyfrowy X.509 ma zdefiniowaną strukturę zawierającą kilka kluczowych danych.

Anatomia Certyfikatu X.509

Interaktywne zestawienie struktury cyfrowego dokumentu tożsamości

Struktura Danych Certyfikatu

Kliknij dowolne pole certyfikatu, aby poznać jego przeznaczenie.

  • Wersja: Wskazuje, z którą wersją standardu X.509 certyfikat jest zgodny (zwykle wersja 3).
  • Numer Seryjny: Unikalna dodatnia liczba całkowita przypisana przez CA, która jednoznacznie identyfikuje ten konkretny certyfikat spośród wszystkich innych wydanych przez ten urząd.
  • Algorytm Podpisu: Algorytm, którego CA użyło do podpisania tego certyfikatu (np. SHA-256 z RSA).
  • Wystawca: Tożsamość Urzędu Certyfikacji, który zweryfikował informacje i wydał ten certyfikat.
  • Okres Ważności: Daty początkowa i końcowa, dla których certyfikat jest uważany za ważny (daty "Ważny od" i "Ważny do").
  • Podmiot: Tożsamość osoby, organizacji lub urządzenia, do którego należy certyfikat. Dla certyfikatu SSL/TLS strony internetowej, to pole musi zawierać nazwę domeny strony (np. 'Common Name = www.google.com').
  • Informacje o Kluczu Publicznym Podmiotu: To pole zawiera rzeczywisty klucz publiczny podmiotu, wraz z algorytmem, z którym klucz jest używany (np. RSA lub ECC).
  • Podpis Cyfrowy Wystawcy: To jest najważniejsza część dla ustanowienia zaufania. CA tworzy ten podpis, najpierw obliczając kryptograficzny skrót (unikalny cyfrowy odcisk palca) wszystkich pozostałych informacji w certyfikacie, a następnie szyfrując ten skrót za pomocą swojego własnego, silnie strzeżonego klucza prywatnego. Ten podpis może być odszyfrowany i zweryfikowany tylko przy użyciu klucza publicznego CA.

Łańcuch Zaufania: Jak Działa Weryfikacja

Geniusz PKI leży w koncepcji "łańcucha zaufania". Przeglądarka użytkownika nie musi znać i ufać każdemu pojedynczemu urzędowi certyfikacji na świecie. Zamiast tego, systemy operacyjne i przeglądarki są dostarczane z preinstalowaną, niewielką listą wysoce zaufanych, najwyższego poziomu urzędów CA, znanych jako Główne Urzędy Certyfikacji (Root CAs). Stanowi to podstawę wszelkiego zaufania.

Oto proces weryfikacji krok po kroku, gdy odwiedzasz bezpieczną stronę internetową:

  1. Prezentacja: Twoja przeglądarka łączy się z 'https://www.przyklad.pl', a serwer przedstawia swój certyfikat SSL/TLS. Nazwijmy go "Certyfikatem Końcowym".
  2. Pierwsza Kontrola: Przeglądarka bada pole "Wystawca" w Certyfikacie Końcowym. Widnieje tam na przykład "Przykladowy Pośredni Urząd CA".
  3. Podążanie za Łańcuchem: Przeglądarka sprawdza swoją listę zaufanych Głównych Urzędów CA. "Przykladowy Pośredni Urząd CA" nie znajduje się na tej liście. Jednakże, wraz z własnym certyfikatem, serwer WWW przedstawia również certyfikat "Przykladowego Pośredniego Urzędu CA". Przeglądarka bada ten drugi certyfikat.
  4. Druga Kontrola: Przeglądarka patrzy na pole "Wystawca" w certyfikacie "Przykladowego Pośredniego Urzędu CA". Ten z kolei informuje, że został wydany przez "Przykladowy Główny Urząd CA". Przeglądarka weryfikuje również podpis na Certyfikacie Końcowym, używając klucza publicznego z certyfikatu Pośredniego Urzędu CA.
  5. Kotwica Zaufania: Przeglądarka ponownie sprawdza swoją listę zaufanych Głównych Urzędów CA. Tym razem znajduje na niej "Przykladowy Główny Urząd CA"! Wie, że może bezwarunkowo ufać temu Głównemu Urzędowi. Następnie używa klucza publicznego z zaufanego certyfikatu Głównego Urzędu CA (który już posiada) do weryfikacji podpisu cyfrowego na certyfikacie Pośredniego Urzędu CA.
  6. Zaufanie Ustanowione: Ponieważ podpis na certyfikacie Pośredniego Urzędu CA jest ważny i został złożony przez zaufany Główny Urząd CA, przeglądarka ufa teraz Pośredniemu Urzędowi CA. A ponieważ teraz ufa Pośredniemu Urzędowi CA, może ufać podpisowi, który złożył on na certyfikacie 'www.przyklad.pl'. Łańcuch zaufania jest kompletny, a przeglądarka wyświetla ikonę kłódki.

Ta hierarchiczna struktura, od Głównego Urzędu CA, przez jeden lub więcej Pośrednich Urzędów CA, aż do Certyfikatu Końcowego, pozwala na globalne skalowanie systemu przy jednoczesnym zachowaniu małego, łatwego do zarządzania zestawu ostatecznych kotwic zaufania.

Unieważnienie: Inwalidacja Skompromitowanego Certyfikatu

Co jeśli klucz prywatny dla 'www.przyklad.pl' zostanie skradziony? Certyfikat musi zostać natychmiast unieważniony, w przeciwnym razie atakujący mogliby go użyć do podszywania się pod stronę. PKI ma do tego dwa podstawowe mechanizmy.

Lista Unieważnionych Certyfikatów (CRL)

CRL to po prostu lista, opublikowana i podpisana cyfrowo przez CA, zawierająca numery seryjne wszystkich certyfikatów, które wydała, a które zostały unieważnione przed datą ich wygaśnięcia. Aby sprawdzić status certyfikatu, przeglądarka musiałaby pobrać najnowszą listę CRL od CA.

Wady: Listy CRL mogą stać się bardzo duże i wolne do pobrania. Co więcej, są aktualizowane tylko okresowo (np. co 24 godziny), co oznacza, że certyfikat może zostać skompromitowany i użyty do złośliwych celów przez kilka godzin, zanim pojawi się na następnej liście CRL.

Protokół Statusu Certyfikatu Online (OCSP)

został zaprojektowany, aby rozwiązać problem aktualności list CRL. Zamiast pobierać ogromną listę, przeglądarka może wysłać małe zapytanie w czasie rzeczywistym do serwera OCSP (respondera) prowadzonego przez CA. Zapytanie to po prostu pyta: "Czy certyfikat o numerze seryjnym '12345ABCD' jest nadal ważny?". Responder OCSP odsyła małą, podpisaną cyfrowo odpowiedź wskazującą status jako 'dobry', 'unieważniony' lub 'nieznany'.

OCSP Stapling (Zszywanie OCSP):Potencjalnym problemem OCSP związanym z prywatnością i wydajnością jest to, że przeglądarka użytkownika wysyła zapytanie do CA dla każdej odwiedzanej strony, ujawniając jego nawyki przeglądania. Aby rozwiązać ten problem, opracowano technikę zwaną OCSP Stapling. Serwer WWW sam okresowo pyta respondera OCSP o status swojego własnego certyfikatu. Otrzymuje podpisaną odpowiedź OCSP ze znacznikiem czasu, którą "zszywa" (dołącza) do certyfikatu, który przedstawia przeglądarkom podczas uścisku dłoni TLS. W ten sposób przeglądarka otrzymuje aktualne informacje o unieważnieniu bezpośrednio od serwera, bez konieczności wykonywania osobnego, naruszającego prywatność zapytania do CA.

Poziomy Zaufania: Rodzaje Certyfikatów SSL/TLS

Nie wszystkie certyfikaty zapewniają ten sam poziom pewności co do tożsamości. Rygorystyczność procesu weryfikacji tożsamości przeprowadzanego przez CA przed wydaniem certyfikatu określa jego typ. Istnieją trzy główne poziomy walidacji:

  • Walidacja Domeny (DV - Domain Validated):Jest to najbardziej podstawowy poziom walidacji. CA weryfikuje jedynie, czy wnioskodawca kontroluje nazwę domeny, dla której ubiega się o certyfikat. Zazwyczaj odbywa się to poprzez odpowiedź na automatyczny e-mail wysłany na adres w tej domenie lub poprzez umieszczenie określonego pliku na stronie internetowej. Zapewnia szyfrowanie, ale nie potwierdza tożsamości prawnej operatora strony. Let's Encrypt to słynny dostawca darmowych certyfikatów DV.
  • Walidacja Organizacji (OV - Organization Validated): Wiąże się z bardziej gruntownym procesem weryfikacji. CA wymaga od wnioskodawcy dostarczenia dokumentacji potwierdzającej prawne istnienie i fizyczną lokalizację jego organizacji. Nazwa organizacji jest umieszczana w certyfikacie, co zapewnia wyższy poziom pewności dla odwiedzających.
  • Rozszerzona Walidacja (EV - Extended Validation): Jest to najwyższy poziom zaufania. CA przeprowadza niezwykle rygorystyczny proces weryfikacji, zgodny ze ścisłymi wytycznymi branżowymi. Obejmuje to weryfikację prawnego, operacyjnego i fizycznego istnienia, a także potwierdzenie, że wnioskodawca ma wyłączne prawo do korzystania z domeny. Historycznie przeglądarki wyświetlały nazwę organizacji na widocznym zielonym pasku dla certyfikatów EV, chociaż większość nowoczesnych przeglądarek odeszła od tego specjalnego traktowania w interfejsie użytkownika.

Podsumowując, PKI i certyfikaty cyfrowe tworzą cichy, niewidzialny fundament cyfrowego zaufania. Ta złożona, globalna infrastruktura reguł i technologii pozwala nam pewnie i bezpiecznie prowadzić nasze życie i biznes online, przekształcając otwarty, publiczny rynek internetu w świat prywatnych, godnych zaufania rozmów.