Blog 24/7

infrastruktura klucza publicznego

TAB. 1Hasłoobie formy
Po angielskupublic key infrastructure (PKI)
Którą formą pisaćobie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski.
Inne formyPKI
KategoriaKryptografia, tożsamość i uwierzytelnianie

Infrastruktura klucza publicznego (PKI) to zestaw polityk, procesów, serwerów, oprogramowania i stanowisk służących do zarządzania certyfikatami i parami kluczy, w tym do wydawania, utrzymywania i unieważniania certyfikatów klucza publicznego [1]. PKI odpowiada na podstawowy problem kryptografii asymetrycznej: skąd wiadomo, że dany klucz publiczny naprawdę należy do deklarowanego właściciela. Odpowiedzią jest certyfikat cyfrowy, czyli struktura danych wiążąca wartość klucza publicznego z podmiotem [2]. Na PKI opiera się między innymi TLS, a więc każde połączenie HTTPS ze stroną internetową.

Jak działa

Użytkownik klucza publicznego musi mieć pewność, że odpowiadający mu klucz prywatny należy do właściwego podmiotu [2]. PKI przenosi tę pewność z bezpośredniej znajomości na zaufanie do pośrednika. Urząd certyfikacji (CA) sprawdza tożsamość wnioskodawcy albo jego kontrolę nad domeną, a następnie podpisuje certyfikat swoim kluczem prywatnym. Przeglądarka albo system operacyjny ma listę zaufanych certyfikatów głównych i sprawdza, czy łańcuch podpisów prowadzi od certyfikatu serwera do jednego z nich. RFC 5280 opisuje ten proces jako algorytm walidacji ścieżki certyfikacji [2].

Przebieg wydania i weryfikacji certyfikatu dla serwisu WWW pokazuje schemat poniżej.

RYS. 1Od klucza do zaufanego połączenia

Certyfikat ma ograniczony okres ważności, ale bywa potrzebne jego wcześniejsze unieważnienie, na przykład po kradzieży klucza prywatnego. Służą do tego listy unieważnionych certyfikatów (CRL): według RFC 5280 to oznaczona czasem lista, podpisana przez CA lub wystawcę CRL i udostępniona publicznie w repozytorium [2].

Składniki

RFC 5280 wymienia pięć rodzajów podmiotów w modelu PKI dla internetu [2].

SkładnikRola
podmiot końcowyużytkownik certyfikatów albo system, którego certyfikat dotyczy [2]
CAwystawia i podpisuje certyfikaty [2]
RA (urząd rejestracji)opcjonalny, przejmuje od CA część czynności administracyjnych [2]
wystawca CRLgeneruje i podpisuje listy unieważnień [2]
repozytoriumprzechowuje i udostępnia certyfikaty oraz listy CRL [2]

Definicje używane przez NIST podkreślają, że PKI to nie tylko technika. Jedna z nich, pochodząca z CNSSI 4009-2022, mówi o architekturze, organizacji, technikach, praktykach i procedurach, które razem wspierają działanie systemu kryptografii klucza publicznego opartego na certyfikatach [1]. Inna, z FIPS 186-5, streszcza PKI jako ramy do wydawania, utrzymywania i unieważniania certyfikatów [1].

Poza tymi rolami PKI obejmuje dokumenty: politykę certyfikacji i regulamin postępowania CA. Od nich zależy, jak dokładnie sprawdzana jest tożsamość i jak chronione są klucze urzędu, często w module HSM.

W WordPressie

WordPress korzysta z PKI w dwóch kierunkach. Jako serwer WWW strona przedstawia przeglądarce certyfikat SSL/TLS. Dokumentacja podaje, że WordPress jest w pełni zgodny z HTTPS, gdy na serwerze zainstalowano certyfikat TLS/SSL [6]. Stała FORCE_SSL_ADMIN w pliku wp-config.php wymusza logowanie i wszystkie sesje panelu przez SSL [6]. Certyfikat może być wystawiany automatycznie, na przykład przez Let's Encrypt. Ten urząd używa protokołu ACME: sprawdza kontrolę nad domeną przez rekord DNS albo plik pod ustalonym adresem na serwerze i wydaje certyfikat bez udziału człowieka [4].

Jako klient WordPress łączy się z innymi serwerami: pobiera aktualizacje, rozmawia z API wtyczek i usług płatniczych. Funkcje HTTP API domyślnie weryfikują certyfikat drugiej strony (argument sslverify, domyślnie włączony) i korzystają z pakietu zaufanych certyfikatów głównych dołączonego do rdzenia, wp-includes/certificates/ca-bundle.crt [7]. Wyłączenie sslverify we wtyczce, spotykane jako obejście błędów połączenia, odbiera tej komunikacji ochronę przed atakiem man-in-the-middle.

Zagrożenia i skutki

Siła PKI zależy od najsłabszego zaufanego urzędu. Przypadek DigiNotar pokazał, że przejęty urząd może wystawić certyfikat dla cudzej domeny, w tym przypadku dla serwisów Google [5].

  • Fałszywy certyfikat. Pozwala podszyć się pod serwis i podsłuchać ruch w ataku man-in-the-middle.
  • Kradzież klucza prywatnego. Kto ma klucz serwera, może udawać serwer do czasu unieważnienia certyfikatu. W Let's Encrypt unieważnienie zleca się żądaniem podpisanym kluczem konta uprawnionego dla domeny, a urząd publikuje informację na liście CRL [4]; stąd znaczenie zarządzania sekretami i rotacji kluczy.
  • Nieskuteczne unieważnianie. Certyfikat unieważniony, ale wciąż akceptowany przez klienta, działa dalej.
  • Wygaśnięcie certyfikatu. Przeglądarka przestaje ufać połączeniu i wyświetla ostrzeżenie zamiast strony.

Jak się bronić

Dla właściciela strony podstawą jest automatyczne odnawianie certyfikatu przez ACME [4] i ochrona klucza prywatnego na serwerze. Przeglądarkę warto zobowiązać do używania wyłącznie HTTPS nagłówkiem HSTS (HTTP Strict Transport Security). W kodzie wtyczek nie należy wyłączać weryfikacji certyfikatu w żądaniach HTTP [7].

Drugą warstwą jest przejrzystość certyfikatów (Certificate Transparency). RFC 6962 opisuje protokół publicznego rejestrowania certyfikatów TLS w chwili wydania, który pozwala każdemu audytować działania urzędów i zauważyć podejrzane certyfikaty [3]. Właściciel domeny może w ten sposób wykryć certyfikat wystawiony dla jego strony bez jego wiedzy. W dłuższej perspektywie PKI czeka też migracja do algorytmów odpornych na komputery kwantowe, opisana w haśle kryptografia postkwantowa.

Historia i przykłady

Najczęściej przywoływanym przykładem awarii PKI jest holenderski urząd DigiNotar. 29 sierpnia 2011 roku Mozilla poinformowała o wydaniu co najmniej jednego fałszywego certyfikatu SSL dla publicznych serwisów należących do Google [5]. W odpowiedzi Mozilla wydała poprawki Firefoksa, Thunderbirda i SeaMonkey, które odebrały zaufanie certyfikatowi głównemu DigiNotar [5]. Przypadek pokazał, że pojedynczy przejęty urząd może zagrozić użytkownikom serwisów, z którymi nie ma nic wspólnego,. Opublikowany w czerwcu 2013 roku RFC 6962 opisuje mechanizm, który pozwala zauważać takie podejrzane certyfikaty [3].

TAB. 2

Przypisy

7
  1. [1] Public Key Infrastructure (PKI) — Glossary · NIST CSRC
  2. [2] RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile · IETF
  3. [3] RFC 6962: Certificate Transparency · IETF
  4. [4] How It Works · Let's Encrypt
  5. [5] Fraudulent *.google.com Certificate · Mozilla Security Blog
  6. [6] HTTPS — Advanced Administration Handbook · WordPress.org
  7. [7] WP_Http::request() · WordPress.org
TAB. 3

Hasła w tym artykule

11
TAB. 4

Linkują tutaj

8

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com