Co to jest PKI?
Autor: Redakcja Domeny.ForSale Opublikowano
W skrócie: PKI to infrastruktura klucza publicznego: system certyfikatów, instytucji, procedur i narzędzi, który pozwala powiązać klucz kryptograficzny z domeną, osobą lub urządzeniem. Dzięki temu przeglądarka może sprawdzić, czy łączy się z właściwym serwerem, a firmowa sieć — rozpoznać uprawniony komputer. PKI jest podstawą wielu zastosowań HTTPS, uwierzytelniania i podpisów cyfrowych, ale samo nie gwarantuje uczciwości właściciela strony ani bezpieczeństwa całego systemu.
Jak PKI łączy klucz z tożsamością
Skrót PKI pochodzi od angielskiego Public Key Infrastructure. Jego podstawą jest kryptografia asymetryczna, czyli rozwiązania wykorzystujące parę matematycznie powiązanych kluczy: publiczny i prywatny. Klucz publiczny można udostępniać, natomiast prywatny musi pozostać pod kontrolą właściciela.
W przypadku podpisu cyfrowego klucz prywatny służy do utworzenia podpisu, a publiczny — do sprawdzenia jego poprawności. Poprawna weryfikacja potwierdza, że podpis powstał przy użyciu odpowiadającego klucza prywatnego i że podpisane dane nie zostały zmienione. Sama para kluczy nie mówi jednak, do kogo należy.
Ten problem rozwiązuje certyfikat cyfrowy, czyli elektroniczne poświadczenie wiążące klucz publiczny z określonym podmiotem lub identyfikatorem, na przykład nazwą domeny. Zawiera m.in. klucz publiczny, dane podmiotu, wystawcę, okres ważności i dozwolone zastosowania. W popularnym formacie X.509 certyfikat jest podpisany cyfrowo przez wystawcę.
Zakres poświadczenia zależy od rodzaju certyfikatu. Podstawowy certyfikat serwera HTTPS potwierdza kontrolę nad wskazaną domeną zgodnie z procedurą wystawcy, a nie wiarygodność sklepu czy jakość jego oferty.
Z czego składa się infrastruktura PKI
PKI to nie pojedynczy certyfikat, lecz cały system wydawania poświadczeń i zarządzania nimi. Jego najważniejsze elementy to:
- Urząd certyfikacji (CA) — wystawia i podpisuje certyfikaty, potwierdzając określone powiązanie klucza z podmiotem.
- Urząd rejestracji (RA) — sprawdza wnioski i uprawnienia do otrzymania certyfikatu. Tę funkcję może pełnić sam CA.
- Magazyn zaufania — zbiór zaufanych certyfikatów, utrzymywany np. przez system operacyjny, przeglądarkę lub administratora firmy.
- Mechanizmy sprawdzania unieważnienia — pozwalają ustalić, czy certyfikat został wycofany przed końcem ważności. Należą do nich listy CRL i protokół OCSP.
- Zasady i narzędzia zarządzania — określają, kto otrzymuje certyfikat, jak chronione są klucze oraz jak przebiega odnowienie lub unieważnienie.
Zaufanie zwykle tworzy łańcuch: certyfikat serwera został podpisany przez pośredni CA, a certyfikat tego CA prowadzi do zaufanego głównego urzędu, czyli root CA. Certyfikat główny jest zwykle samopodpisany, ale to nie ten podpis czyni go godnym zaufania. Decyduje jego wcześniejsze umieszczenie w magazynie zaufania.
Co dzieje się podczas połączenia HTTPS
HTTPS to HTTP chroniony protokołem TLS, który zabezpiecza komunikację między przeglądarką a serwerem. PKI pomaga w tym procesie potwierdzić tożsamość serwera.
Załóżmy, że otwierasz stronę sklep.example. W uproszczeniu przeglądarka wykonuje następujące czynności:
- Odbiera certyfikat serwera i certyfikaty pośrednie potrzebne do zbudowania łańcucha zaufania.
- Sprawdza, czy certyfikat obejmuje nazwę
sklep.example, mieści się w okresie ważności i może służyć do uwierzytelniania serwera. - Weryfikuje podpisy w łańcuchu i sprawdza, czy prowadzi on do zaufanego urzędu. Obsługa informacji o unieważnieniu zależy od oprogramowania i jego polityk.
- W ramach negocjacji TLS sprawdza dowód posiadania odpowiedniego klucza prywatnego przez serwer i uzgadnia klucze sesji.
Certyfikat nie szyfruje samodzielnie całego ruchu. We współczesnym TLS dane są chronione wydajną kryptografią symetryczną, wykorzystującą uzgodnione klucze sesji. Certyfikat i klucz prywatny pełnią przede wszystkim rolę w uwierzytelnieniu serwera.
Poprawne HTTPS chroni przesyłane dane, ale nie potwierdza dobrych intencji odbiorcy. Fałszywy sklep również może mieć prawidłowy certyfikat dla swojej domeny.
Publiczne czy prywatne PKI — co wybrać
Publiczne PKI opiera się na urzędach, którym powszechnie ufają przeglądarki i systemy. Jest właściwym wyborem dla ogólnodostępnej witryny: odwiedzający nie powinien ręcznie instalować certyfikatu twojego urzędu. Przy wyborze usługi sprawdź aktualną zgodność z używanymi klientami, zasady walidacji i możliwości automatycznego odnawiania.
Prywatne PKI działa w granicach organizacji lub kontrolowanego środowiska. Firma samodzielnie określa zasady wydawania certyfikatów i instaluje zaufanie do własnego CA na zarządzanych urządzeniach. Takie certyfikaty nie stają się automatycznie zaufane na komputerach klientów spoza firmy.
Przykładowo publiczna strona firmowa potrzebuje certyfikatu rozpoznawanego przez przeglądarki użytkowników. Natomiast do uwierzytelniania służbowych laptopów w sieci Wi-Fi można wykorzystać prywatne PKI: każdy laptop otrzymuje własny certyfikat, który można unieważnić po utracie urządzenia. Prywatne PKI bywa też używane w VPN oraz mTLS, czyli TLS z uwierzytelnianiem certyfikatem obu stron połączenia.
Co trzeba utrzymywać po wydaniu certyfikatu
Najważniejsze obowiązki zaczynają się po uruchomieniu systemu. Klucze prywatne wymagają ochrony przed kopiowaniem i nieuprawnionym użyciem, a certyfikaty — ewidencji, monitorowania terminów oraz sprawnego odnawiania. Wygaśnięcie certyfikatu może przerwać działanie strony, interfejsu API lub dostępu do sieci.
Po ujawnieniu klucza prywatnego nie wystarczy ponownie pobrać certyfikatu. Trzeba wygenerować nową parę kluczy, uzyskać nowy certyfikat, unieważnić poprzedni i usunąć przyczynę wycieku. Skuteczność unieważnienia zależy również od tego, czy systemy korzystające z certyfikatu sprawdzają jego status.
Przed wdrożeniem ustal, kto ma ufać certyfikatom: dowolny internauta czy wyłącznie zarządzane urządzenia. Następnie przypisz odpowiedzialność za ochronę kluczy, automatyczne odnawianie i reakcję na ich przejęcie — bez tych ustaleń nawet poprawnie skonfigurowane PKI będzie trudne do bezpiecznego utrzymania.
Zobacz też: Co to jest MCP?
