WPROWADZENIE DO PKI
Wstęp
Dokumenty elektroniczne przesyłane przez internet powinny być szyfrowane, aby nie mogły ich odczytać osoby niepowołane, co gwarantuje zachowanie tajemnicy korespondencji. System musi również dawać pewność, że dokument nie został zmieniony zanim dotarł do odbiorcy, zapewniając w efekcie ochronę przed fałszerstwem.

Dla zachowania analogii z funkcjonującymi dotychczas zabezpieczeniami (po co wymyślać od nowa dobrze funkcjonującą i rozumianą nazwę?), dla zabezpieczeń korespondencji elektronicznej używa się takich nazw, jak: podpis elektroniczny, certyfikat cyfrowy, klucz elektroniczny, itp. Podobnie jak zwykły podpis jest charakterystyczny dla osoby, która go składa, tak podpisem elektronicznym może się posługiwać tylko jedna osoba. Daje to pełną wiarygodność autentyczności nadawcy. Innym warunkiem stawianym elektronicznym systemom wymiany dokumentów jest tzw. niezaprzeczalność nadania i odbioru, czyli gwarancja na to, że dokument na pewno został wysłany przez osobę, figurującą jako jego nadawca i trafił na pewno do wskazanego przez niego adresata.
do góry


Metody szyfrowania informacji
Metody szyfrowania można podzielić na dwie grupy : Pierwsza metoda nazywana jest również szyfrowaniem symetrycznym, gdyż ten sam tajny klucz jest wykorzystywany zarówno do szyfrowania jak i deszyfrowania wiadomości. Metoda szyfrowania z parą kluczy nazywana jest szyfrowaniem asymetrycznym lub szyfrowaniem z kluczem jawnym (publicznym). Posługuje się bowiem dwoma oddzielnymi kluczami: tajnym (prywatnym) oraz jawnym (publicznym), ogólnodostępnym w sieci, Klucz prywatny znany jest wyłącznie jego właścicielowi klucza i chroniony przed innymi osobami.

Treści, zaszyfrowane kluczem prywatnym, może odczytać każdy użytkownik. Jeśli jednak zakodujemy wiadomość czyimś kluczem publicznym, może ją odczytać wyłącznie właściciel odpowiadającego mu klucza prywatnego.

Metody szyfrowania asymetrycznego uważane są za wyjątkowo bezpieczne, ponieważ nie jest możliwe określenie klucza deszyfrującego przy znajomości algorytmu kryptograficznego (sposobu szyfrowania) i klucza szyfrującego Jedynym zagrożeniem przy zastosowaniu szyfrowania asymetrycznego jest możliwość zastąpienia klucza publicznego jednej ze stron kluczem publicznym intruza. Druga strona w tej sytuacji może zaszyfrować korespondencję niewłaściwym kluczem, przez co umożliwi odczytanie wiadomości intruzowi. Dlatego istnieje mechanizm procesu certyfikacji klucza, który potwierdza jego autentyczność i prawo do korzystania zeń przez daną osobę, firmę czy instytucję.

Rys. 1 Szyfrowanie symetryczne
Rys. 2 Szyfrowanie asymetryczne
do góry


Certyfikaty cyfrowe
Certyfikat cyfrowy to - zgodnie z Dyrektywą Unii Europejskiej - elektroniczne zaświadczenie, przyporządkowujące dane służące do weryfikacji podpisu elektronicznego do określonej osoby, potwierdzające jej tożsamość.

Fizycznie jest to ciąg danych, zapisanych na odpowiednim nośniku - np. na tokenie USB. Najpopularniejszym standardem certyfikatów jest X.509, składający się z pól: wersja, numer seryjny, wydawca certyfikatu, ważność, podmiot dla którego certyfikat został wystawiony, klucz publiczny oraz podpis organu, wydającego certyfikat). Jego autentyczność można sprawdzić wyłącznie znając klucz publiczny organu certyfikującego. Znajduje się on na certyfikacie, wystawionym przez organ certyfikujący wyższej instancji. Zatem weryfikacja certyfikatu to prześledzenie łańcucha zaufania, zakończonego przez organ nadrzędny, cieszący się powszechnym zaufaniem, który jako jedyny wystawia certyfikat sam dla siebie.

Z powyższych względów kryptografia klucza publicznego wymaga sprawnie funkcjonującej infrastruktury, zwanej Infrastrukturą Klucza Publicznego (Public Key Infrastructure, PKI). PKI służy do zarządzania cyfrowymi certyfikatami i kluczami szyfrującymi dla osób, programów i systemów. Większość najważniejszych standardów w dziedzinie bezpieczeństwa teleinformatycznego jest zaprojektowana tak, aby umożliwić współpracę z PKI. Są to m.in.: SSL (Secure Socket Layer), TLS , SMIME (Secure Multipurpose Internet Mail Extensions), SET (Secure Eletronic Transactions), IPSec (IP Security).

Aplikacje korzystające z infrastruktury PKI stosują:
  • szyfrowanie danych dla zapewnienia ich poufności,
  • podpisy cyfrowe dla zapewnienia niezaprzeczalności i weryfikacji integralności danych,
  • certyfikaty dla uwierzytelnienia osób, aplikacji i serwisów oraz dla zapewnienia kontroli dostępu (uwierzytelnienia).

Infrastruktura PKI ma zastosowanie w:
  • bezpiecznej poczcie e-mail,
  • transakcjach typu e-commerce (handel elektroniczny),
  • wirtualnych sieciach prywatnych (Virtual Private Network - VPN),
  • systemach ERP,
  • zabezpieczeniach stacji roboczej użytkownika (m.in. zawartych na niej danych),
  • zapewnieniu bezpieczeństwa na witrynach internetowych, urządzeniach i aplikacjach klienta.
Certyfikaty cyfrowe zostały skodyfikowane w ustawodawstwie wielu państw.
do góry


Infrastruktura Klucza Publicznego - PKI
Idea PKI oparta jest na cyfrowych certyfikatach, łączących konkretnych uczestników wymiany informacji ze stosowanymi podczas niej kluczami kryptograficznymi. Certyfikat cyfrowy jest wydawany przez Urząd Certyfikacji (Certification Authority - CA), który w momencie wydania dokumentu potwierdza podpisem cyfrowym związek między użytkownikiem i używanym przez niego kluczem. Ponieważ tak wystawiony certyfikat ma zawsze pewien okres ważności (np. jeden rok), należy przewidzieć następujące sytuacje związane z zarządzaniem certyfikatami: rejestracja użytkowników, generowanie certyfikatów, dystrybucja, aktualizacja i unieważnianie.

Struktura PKI składa się z trzech głównych elementów:
  • Urzędów Rejestracji (ang. Registration Authority - RA), dokonujących weryfikacji danych użytkownika a następnie jego rejestracji.
  • Urzędów Certyfikacji (ang. Certification Authority - CA), wydających certyfikaty cyfrowe. Jest to poprzedzone procesem identyfikacji zgłaszającego się o wydanie certyfikatu. Pozytywne rozpatrzenie zgłoszenia kończy się wydaniem certyfikatu.
  • Repozytoriów kluczy, certyfikatów i list unieważnionych certyfikatów (ang. Certificate Revocation Lists - CRLs). Typowa implementacja to umożliwienie, w oparciu o protokół LDAP, dostępu do certyfikatów i CRLs. Inne sposoby realizacji mogą być oparte na protokołach X.500, HTTP, FTP i poczcie elektronicznej. Certyfikat może stać się nieważny przed datą jego wygaśnięcia, ze względu np. na zmianę nazwiska lub adresu poczty elektronicznej użytkownika, czy ujawnienie klucza prywatnego. W takich przypadkach CA odwołuje certyfikat i umieszcza jego numer seryjny na ogólnodostępnej liście CRL.
Struktura PKI jest tworzona w oparciu o Główne CA. Dla każdego z obszarów zastosowań (np. handel elektroniczny, sektor bankowo-finansowy, administracja publiczna), można tworzyć odrębne CA, podległe Głównemu Urzędowi. Główne CA określa ogólną politykę certyfikacji, natomiast CA, obsługujące dany obszar zastosowań, odpowiadając za jego politykę w tym zakresie. Może istnieć dowolna liczba CA, podległych głównemu Urzędowi Certyfikacji, oraz użytkowników. Taka struktura tworzy hierarchię uwierzytelniania, która z kolei określa łańcuch certyfikatów, wiodący od użytkowników aż do cieszącego się ich zaufaniem Głównego CA. Krajowa struktura PKI musi współdziałać ze strukturami PKI innych krajów, by zapewnić usługi o podobnym charakterze w kontaktach międzypaństwowych.

PKI zapewnienia następujące usługi uwierzytelniania:
  • uwierzytelnianie podmiotów partnerskich (ang. peer-entity authentication), pozwalające na ich stuprocentową identyfikację przez innych użytkowników,
  • uwierzytelnianie danych (ang. data authentication), pozwalające stwierdzić fakt świadomego podpisania korespondencji przez danego użytkownika,
  • integralność danych (ang. data integrity), pozwalająca łatwo określić, czy podpisana cyfrowo informacja nie została zmieniona,
  • niezaprzeczalność (ang. non-repudation), uniemożliwiająca użytkownikom późniejsze wyparcie się faktu nadania wiadomości.
  • poufność (ang. confidentiality), umożliwiająca użytkownikom ochronę danych przed nieuprawnionym ujawnieniem.
do góry

Funkcje PKI
Podstawowe funkcje, które musi realizować każde PKI, aby zapewnić właściwy poziom usług to:
  • Rejestracja (ang. Registration)
    Użytkownik końcowy składa wniosek do Organu Rejestracji o wydanie certyfikatu. W tym celu dostarcza szereg informacji, wymaganych przez Kodeks Postępowania Certyfikacyjnego (Certification Practices Statement - CPS) danego CA. Dane te to np. nazwa własna podmiotu lub osoby wnioskującej o certyfikat, nazwa domenowa czy adres IP. Przed wystawieniem certyfikatu CA potwierdza (korzystając z wytycznych zapisanych w CPS) zgodność z prawdą danych, podanych przez użytkownika. Jeżeli o certyfikat ubiega się osoba fizyczna, CA weryfikuje także autentyczność własnoręcznego podpisu na wniosku o wydanie certyfikatu.
  • Certyfikacja (ang. Certification)
    Jeżeli dane, podane przez ubiegającego się o certyfikat, zostaną potwierdzone, CA wystawia nowy certyfikat (zawierający m.in. klucz publiczny posiadacza) i dostarcza go użytkownikowi. Jednocześnie klucz publiczny zostaje udostępniony wszystkim zainteresowanym poprzez złożenie go we właściwym repozytorium.
  • Generacja kluczy (ang. Key generation)
    Para kluczy (prywatny i publiczny) może zostać wygenerowana samodzielnie przez użytkownika końcowego, może on także powierzyć tę operację CA. W pierwszym przypadku użytkownik przesyła do CA jedynie swój klucz publiczny, w celu poddania go procesowi certyfikacji. Klucz prywatny pozostaje przez cały czas w rękach właściciela, dlatego też metodę tę uważa się za najbardziej bezpieczną. Jeżeli klucze generuje CA, są one dostarczane do użytkownika końcowego w sposób gwarantujący ich poufność, Wykorzystuje się do tego m.in. celu karty mikroprocesorowe (ang. smartcard), karty PCMCIA lub tokeny USB, zabezpieczone dodatkowym kodem PIN.
  • Odnawiania kluczy (ang. Key update)
    Wszystkie pary kluczy oraz skojarzone z nimi certyfikaty wymagają okresowego odnawiania. Jest to kolejne zabezpieczenie na wypadek ujawnienia klucza prywatnego skojarzonego z kluczem publicznym umieszczonym na certyfikacie. Wymiana kluczy jest konieczna, gdy:
    • Upłynął okres ważności certyfikatu
      Jest to sytuacja normalna, występująca regularnie co pewien czas (np. raz do roku). Odbywa się w możliwie krótkim czasie, bez dodatkowych formalności.
    • Klucz prywatny, skojarzony z umieszczonym na certyfikacie kluczem publicznym, został skompromitowany
      Jest to sytuacja wyjątkowa, a więc wymiana kluczy nie będzie już tak płynna i łatwa. W takich przypadkach CA odwołuje certyfikat poprzez umieszczenie jego numeru seryjnego na ogólnodostępnej liście CRL. Od tego momentu stary certyfikat traci ważność i rozpoczyna się procedura wystawiania nowego certyfikatu. Najgorszy przypadek dla każdego CA to kompromitacja klucza prywatnego jego Głównego CA (Root CA). W takim przypadku cała infrastruktura PKI podległa temu CA zostaje uznana za skompromitowaną i musi być tworzona od nowa.
  • Certyfikacja wzajemna (ang. Cross-certification)
    Ponieważ społeczność międzynarodowa nie stworzyła dotąd Globalnego Organu Certyfikacji (Global Root CA), powstało wiele Głównych Organów Certyfikacji (Root CA), początkowo nie powiązanych relacjami zaufania. Certyfikacja wzajemna rozwiązuje ten problem i pozwala użytkownikom z jednej struktury PKI ufać certyfikatom wystawianym przez CA z innej struktury. Główne CA z różnych struktur certyfikują się wzajemnie - może być to certyfikacja jednokierunkowa albo dwukierunkowa.
  • Odwołanie certyfikatu (ang. Revocation)
    Istnieją sytuacje, w których zachodzi potrzeba wcześniejszego odwołania certyfikatu. Powodem może być kompromitacja klucza prywatnego, zmiana nazwy przez użytkownika końcowego, bądź odejście pracownika z firmy, która wystawiła mu certyfikat. Zdefiniowana w standardzie X.509 metoda odwoływania certyfikatów wykorzystuje wspomniane już Listy Unieważnionych Certyfikatów (CRL), okresowo publikowane przez CA w repozytorium, w którym są przechowywane certyfikaty. Każdy certyfikat posiada swój unikalny numer seryjny, przypisany przez CA w momencie jego wystawiania. Lista CRL zawiera spis identyfikatorów odwołanych certyfikatów i jest opatrzona znacznikiem czasu, wystawionym przez CA.
  • Odzyskiwanie klucza (ang. Key recovery)
    Jest to dodatkowe zabezpieczenie na wypadek sytuacji, gdy użytkownik utraci swoje klucze. Jeżeli wszystkie klucze do szyfrowania albo negocjacji kluczy były przechowywane w bezpiecznym archiwum, będzie można je odzyskać i umożliwić dostęp do zaszyfrowanych danych. Najważniejsze jest zagwarantowanie, że klucze będzie mógł odzyskać tylko ich właściciel, nie zaś osoba trzecia.
do góry

Standardy PKI
Standardy PKI można podzielić na dwie grupy: poziomu użytkownika i dla samego PKI. Zastosowanie określonych standardów w strukturze PKI pozwala na współpracę między licznymi strukturami PKI i korzystanie z PKI w wielu aplikacjach.

Standardy PKI są konieczne dla:
  • procedury rejestracji,
  • formatów certyfikatów,
  • formatów CRL,
  • formatów podpisów cyfrowych,
  • protokołów typu challenge / response.

Próbę zestandaryzowania funkcji PKI podjęła grupa robocza IETF (Internet Engineering Task Force), znana również jako grupa PKIX (PKI dla certyfikatów X.509). Cztery podstawowe składniki modelu PKIX to: użytkownik, CA, RA oraz repozytorium certyfikatów. Specyfikacja PKIX oparta jest na dwóch innych standardach: X.509 Międzynarodowego Związku Telekomunikacji (International Telecommunication Union - ITU) i PKCS Standardów Kryptografii Klucza Publicznego (Public Key Cryptography Standards) autorstwa RSA Data Security.

Najpopularniejsze standardy PKCS to :
  • PKCS#7 - Cryptographic Message Syntax Standard (standard kryptograficznego kodowania wiadomości) ,
  • PKCS#10 - Certificate Request Syntax Standard (standard kodowania wniosku o certyfikat),
  • PKCS#12 - Personal Information Exchange Syntax Standard (standard kodowania informacji poufnych w postaci plików).
do góry

© Orange Polska S.A. Wszelkie prawa zastrzeżone. Nota prawna.