PKI a Platon-U4

Z PLATON-U4 wiki
Skocz do: nawigacji, wyszukiwania

Tu znajdą się informacje na temat PKI w Platon-U4.

Poniższy opis ma przybliżyć tematykę certyfikatów, aby ułatwić Państwu przystąpienie do Usługi Powszechnej Archiwizacji oraz pozwolić bezproblemowo korzystać z niej przy pomocy osobistego certyfikatu.


W celu uwierzytelnienia (czyli zalogowania się i uzyskania dostępu do danych na swoim koncie) w usłudze Powszechnej Archiwizacji użytkownik wykorzystuje certyfikat X.509, który pozwala uzyskać bezpieczny dostęp do zasobów swojego konta w ramach profilu jego jednostki macierzystej. Aby przybliżyć ogólną tematykę certyfikatów, wcześniej wyjaśnimy krótko kilka pojęć wprowadzających do tematu:

  • Kryptografia
  • Szyfrowanie symetryczne i asymetryczne
  • Infrastruktura Klucza Publicznego (PKI)

Certyfikaty to pojęcie związane ogólnie z kryptografią czyli szyfrowaniem. Właśnie do szyfrowania najczęściej są używane. Kiedyś kryptografia była domeną wojsk i rządów, to właśnie tym instytucjom najbardziej zależało na ukryciu własnych tajnych danych. Dziś z szyfrowaniem możemy spotkać się w życiu codziennym np. korzystając z poczty elektronicznej lub łącząc się do stron banków czy urzędów za pomocą protokołu SSL. Do celu szyfrowania opracowano różne algorytmy kryptograficzne. Algorytm kryptograficzny (szyfr), jest to funkcja matematyczna używana do szyfrowania i deszyfrowania. Prawie wszystkie algorytmy wymagają tzw. klucza. Klucz Jest to porcja informacji (np. para liczb lub ciąg bitów),która określa sposób działania algorytmu. Zatem Szyfrowanie to proces, w którym np. zwykła wiadomość tekstowa (tekst jawny) jest zamieniana na wiadomość zaszyfrowaną przy użyciu algorytmu szyfrującego oraz odpowiedniego klucza.

Reasumując powyższe, aby korzystać z funkcjonalności kryptografii musimy posiadać klucz bądź parę kluczy kryptograficznych. Ile kluczy nam będzie potrzebnych, to zależy od szyfrowania użytego w wybranej przez nas kryptografii.

W niektórych systemach kryptograficznych wystarczy jeden klucz, czyli klucz szyfrujący jest identyczny z deszyfrującym, w innych klucze są różne. Właśnie ze względu na własności kluczy rozróżnić można dwie, najpopularniejsze metody szyfrowania:

  • szyfrowanie symetryczne (z kluczem tajnym): szyfrowanie symetryczne wykorzystuje jeden tajny klucz - ten sam zarówno do szyfrowania,jak i deszyfrowania wiadomości. Metoda ta nie jest doskonała, musimy bowiem dysponować sposobem bezpiecznego przekazania tajnego klucza drugiej osobie. Po drugie, nie istnieje możliwość sprawdzenia, przez kogo została zaszyfrowana wiadomość, ponieważ klucz jest jeden dla obu stron i dlatego nie może identyfikować konkretnej strony/osoby. Ta metoda szyfrowania jest przedstawiona na rysunku 1.

Rysunek 1.

  • szyfrowanie asymetryczne (z kluczem publicznym): wykorzystuje dwa klucze właściciela: publiczny (udostępniony przez właściciela dla wszystkich) i prywatny (znany tylko właścicielowi, którego nikomu nie ujawnia). Udostępnionego klucza publicznego używa się do zaszyfrowania danych. Do odszyfrowania danych należy użyć klucza prywatnego, ale tylko tego klucza, który stanowi parę z kluczem publicznym uzytym uprzednio do zaszyfrowania danych. Tym samym odszyfrować wiadomość może tylko właściciel obu kluczy. Cechą charakterystyczną jest fakt, że opublikowanie jednego z kluczy, występującego w parze, nie zdradza drugiego klucza. Ta metoda szyfrowania jest przedstawiona na rysunku 2.

Rysunek 2.

Certyfikaty X.509 wykorzystywane w naszej usłudze są właśnie certyfikatami kryptografii asymetrycznej zwanej kryptografią klucza publicznego. Na kryptografii klucza publicznego oparto i stworzono Infrastrukturę Klucza Publicznego (ang. Public Key Infrastructure (PKI).


Infrastruktura Klucza Publicznego (PKI).
Infrastruktura Klucza Publicznego w odniesieniu do powyzszych opisów to rodzaj kryptografii, w której do szyfrowania używa się zestawów dwu powiązanych ze sobą kluczy, umożliwiających wykonywanie różnych czynności kryptograficznych (np. szyfrowanie danych, podpis elektroniczny). Jeden z kluczy (tzw. klucz publiczny) może być udostępniony publicznie bez utraty bezpieczeństwa zabezpieczanych danych – stąd nazwa infrastruktura klucza publicznego.


Według definicji z Wikipedii „infrastruktura klucza publicznego w ogólności jest to zespół urządzeń, oprogramowania, ludzi, polityk oraz procedur umożliwiający tworzenie, przechowywanie, zarządzanie i rozprowadzanie cyfrowych certyfikatów klucza publicznego. W szczególności jest to szeroko pojęty system, w skład którego wchodzą urzędy certyfikacyjne (CA), urzędy rejestracyjne (RA), subskrybenci certyfikatów klucza publicznego (użytkownicy),oprogramowanie oraz sprzęt.” Mówiąc lakonicznie PKI moze to być pojedyńcza organizacja/firma, której pracownicy za pomocą sprzętu komputerowego i specjalistycznego oprogramowania zarządzają procesami związanymi z elektroniczną certyfikacją według przyjętej polityki. Takie PKI moze powstać i funkcjonować samodzielnie w małej firmie jak i moze to być organizacja publicznego zaufania, powszechnie wiarygodna w internecie, posługująca się wystawionym przez nadrzędne PKI certyfikatem, upowazniającym do wystawiania innym elektronicznych certyfikatów.

Struktura PKI jest hierarchiczna, to znaczy oparta o jedno główne CA, i szereg podległych mu CA, które tworzą odrębne PKI. Skąd się wzięła hierarcha? Mianowicie ilość używanych certyfikatów można mierzyć w milionach. Oczywiście żadne pojedyncze centrum certyfikacji nie byłoby w stanie podołać obsłudze takiej liczby klientów, i to nie tylko z przyczyn technicznych (szybkość łączy, biurokracja itp.) ale również organizacyjnych. Naturalna staje się zatem potrzeba wprowadzenia pewnej hierarchii urzędów certyfikacyjnych. Liczba podległych CA jest teoretycznie nieograniczona. Struktura PKI przypomina drzewo, w którym w roli korzenia występuje główny urząd certyfikacji, który określa politykę certyfikacji np. dla danego kraju. Poniżej znajdują się podległe urzędy certyfikacji zajmujące się obsługą np. poszczególnych grup użytkowników lub świadczące usługi certyfikacji dla określonych zastosowań. Na samym dole tego drzewa jako liście występują użytkownicy, którzy zgłaszają się do urzędów certyfikacji w celu wydania im certyfikatów. Najlepiej ilustruje to poniższy rysunek nr 3.
Rysunek 3.

Budowa struktury PKI.

W trakcie całego procesu pozyskania przez Państwa certyfikatu, zetkną się Państwo z poszczególnymi elementami struktury PKI. Poniżej wyjaśnienie budowy struktury PKI, która składa się z trzech głównych elementów:

  • Urząd Certyfikacji (Certification Authority - CA) – jest "punktem zaufania" dla wszystkich jednostek w strukturze PKI. CA własnym kluczem publicznym podpisuje i wydaje certyfikaty cyfrowe. Urząd certyfikacji jest zaufaną stroną trzecią, której zawierzają zarówno podmiot (właściciel) certyfikatu oraz druga komunikująca się strona. CA podpisując certyfikat wnioskującego potwierdza, iż widniejący w certyfikacie podmiot jest faktycznie tym, za kogo się podaje. Wniosek o wydanie certyfikatu mozemy najczęściej wypełnić poprzez formularz na oficjalnej stronie internetowej danego urzędu certyfikacji. Pozytywne rozpatrzenie zgłoszenia kończy się wydaniem certyfikatu wraz z datą jego rozpatrywania. Jednostka otrzymująca certyfikat jest podmiotem tego certyfikatu. W Polsce instytucją certyfikującą pozostałych wystawców certyfikatów jest Narodowe Centrum Certyfikacji.
  • Urząd Rejestracji (Registration Authority - RA) – zbiera lub otrzymuje od CA wnioski o wydanie certyfikatu (np. formularze wypełnioneprzez WWW) a następnie dokonuje weryfikacji danych klienta, który stara się o uzyskanie certyfikatu. RA sprawdza dane składającego wniosek np. poprzez osobistą weryfikację na podstawie dowodu tożsamości, a następnie rejestruje zgłoszenie o certyfikat. W ramach usługi zgłaszają się Państwo do najbliższego RA podanego najczęściej na stronie internetowej CA.
  • Repozytoria kluczy, certyfikatów i list unieważnionych certyfikatów (Certificate Revocation Lists - CRL) – jak nazwa wskazuje przechowują certyfikaty i prowadzą listę certyfikatów unieważnionych. Certyfikat może stać się nieważny przed datą jego wygaśnięcia. Przyczyną tego może być np. zmiana 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.
  • Organ Zarządzania Polityką Certyfikacji (PMA - Policy Management Authority) - ustala on i administruje zbiorem polityk bezpieczeństwa, stosowanych w infrastrukturze, zatwierdza certyfikację innych Głównych CA i zewnętrznych CA oraz nadzoruje działanie Głównego CA.

Infrastruktura kluczy publicznych stanowi podstawę czterech najważniejszych elementów bezpieczeństwa cyfrowego: uwierzytelnienia, integralności, poufności i niezaprzeczalności.

Funkcje PKI.

Aby mogli Państwo uzyskać wiarygodny, pełnowartościowy certyfikat, PKI do którego zgłaszają się Państwo w celu pozyskania certyfikatu powinno realizować następujące funkcje:

  1. Rejestracja - proces, za pomocą którego ubiegający się o certyfikat przedstawia się CA. Może to robić bezpośrednio lub za pośrednictwem urzędu rejestracji RA.
  2. Inicjacja – dostarczenie interfejsu (np. strona www), w którym ubiegający się otrzyma możliwość przesłania do CA samodzielnie wygenerowanego certyfikatu. Drugi rodzaj interfejsu to interfejs, który wygeneruje parę kluczy dla klienta oraz automatycznie prześle do RA lub CA certyfikat klienta zawierający jego klucz publiczny i dane o kliencie (wysłane zostanie tak zwane „żądanie certyfikatu” ang. certificate request). Inicjacja obejmuje także dostarczenie klientowi interfejsu (np. strona www), aby mógł pobrać podpisany certyfikat klienta oraz certyfikat CA. Podpisane certyfikaty CA dystrybuuje również na adres email klienta.
  3. Certyfikacja - jeżeli dane podane przez ubiegającego się o certyfikat we wniosku zostaną potwierdzone, CA wystawia podpisany certyfikat (zawierający m.in. klucz publiczny klienta) i dostarcza go użytkownikowi.
  4. Generacja kluczy - para kluczy (prywatny i publiczny) może zostać wygenerowana samodzielnie przez użytkownika końcowego lub może on tę operację powierzyć CA w ramach funkcji inicjacji. 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 natomiast klucze generuje CA (np. w ramach wnioskowania przez stronę www urzędu CA), to są one dostarczane do użytkownika końcowego w sposób gwarantujący ich poufność (np. pobranie ze strony CA z wykorzystaniem protokołu SSL).
  5. Odnawianie kluczy - 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. Jednym z przypadków, kiedy wymiana kluczy jest konieczna, jest upłynięcie okresu ważności certyfikatu. Drugi przypadek jest wtedy, gdy klucz prywatny skojarzony z kluczem publicznym umieszczonym na certyfikacie został skompromitowany (ujawniony).
  6. Odwołanie/unieważnienie certyfikatu - istnieją sytuacje, w których zachodzi potrzeba wcześniejszego odwołania certyfikatu. Powodem może być kompromitacja klucza prywatnego lub zmiana danych (np. zmiana nazwiska, adresu email) przez użytkownika końcowego.


Certyfikaty.

Certyfikaty są swego rodzaju elektronicznymi dokumentami tożsamości. Najpopularniejszym standardem certyfikatów PKI jest X.509 w wersji trzeciej. Według tego standardu Certyfikat użytkownika to fizycznie para plików. Pierwszy plik zawiera klucz publiczny wraz z danymi o jego posiadaczu/podmiocie, drugi plik zawiera klucz prywatny ściśle powiązany z kluczem publicznym, umożliwiający i niezbędny do poprawnej identyfikacji z użyciem certyfikatu. Potocznie przyjęto i używa się stwierdzenia, że certyfikatem jest plik zawierający klucz publiczny posiadacza podpisany przez ogólnie uznany za zaufany urząd certyfikacji CA. Tak rozumiejąc pojęcie certyfikatu możemy wymienić co dokładnie certyfikat zawiera w sobie:

  • klucz publiczny podmiotu/posiadacza.
  • Informacje identyfikujące podmiot, takie jak nazwa i adres e-mail.
  • Okres ważności (okres, przez który certyfikat jest uważany za ważny).
  • Informacje identyfikujące wystawcę certyfikatu czyli CA.
  • Podpis cyfrowy wystawcy (CA), który zaświadcza o ważności powiązania między kluczem publicznym posiadacza a informacjami identyfikującymi posiadacza.

Analogią do certyfikatu może być dowód osobisty, pozwalający ustalić tożsamość właściciela potwierdzoną podpisem organu państwa jako strony powszechnego zaufania.

Okres ważności certyfikatu.
Certyfikat jest ważny tylko przez określony czas. Każdy certyfikatzawiera daty Ważny od i Ważny do, które stanowią granice okresu ważności. Po upływie okresu ważności podmiot wygasłego certyfikatu musi zażądać nowego certyfikatu lub pamiętać o przedłużeniu daty ważności przed upływem aktualnej.

Pliki certyfikatów - formaty.

Certyfikaty są przeważnie zapisywane i dystrybuowane przez CA zapomocą dwóch rodzajów plików:

1. certyfikat X.509 możemy otrzymać od CA w postaci pliku zapisanego za pomocą kodowania DER, dającego w wyniku plik binarny. Pojedyńczy plik zawiera tylko jeden certyfikat. Rozszerzenia plików przyjęte tradycyjnie dla certyfikatów w formacie DER to .cer oraz .der. Ten format certyfikatu pozwala w łatwy sposób zainstalować certyfikat w systemie Windows i używać go np. do szyfrowania maili w programie pocztowym.
2. stosuje się również format w kodowaniu Base64 (format PEM – PrivacyEnhanced Email). W tym formacie certyfikat to zwykły plik tekstowy, w którym moze byc zawartych kilka certyfikatów. Rozszerzenia plików przyjęte tradycyjnie dla certyfikatów w formacie PEM to .pem i crt.


Odbiorcy certyfikatów

Identyfikując komu lub czemu wystawia się certyfikat w terminologii przyjęto stosowanie ogólnie słowa „podmiot” (zamiast np. posiadacz, właściciel), ponieważ certyfikaty można wystawiać między innymi:

  1. osobom,
  2. urządzeniom (np. serwerom, routerom),
  3. usługom (np strony www, usługi vpn).

Określenie podmiot możemy zatem użyć zarówno w odniesieniu do osoby jak i urządzenia czy usługi.

Ad. 1.

Jeżeli chcemy aby nasz certyfikat był uznany w świecie, musi zostać wydany przez autoryzowane, międzynarodowe CA lub jednego z krajowych centrum certyfikacji. Posiadając certyfikat osobisty możemy korzystać z takich dobrodziejstw kryptografii jak szyfrowanie danych, podpis elektroniczny czy uwierzytelnianie.

Ad. 3. W przypadku certyfikatów dla usług, najpopularniejszą implementacją certyfikatów X.509 są certyfikaty SSL dla serwerów WWW. Dla tego przypadku służą one dwóm celom: uwierzytelnieniu serwera przed użytkownikiem i szyfrowaniu transmisji. Certyfikat SSL serwisu, do którego łączy się użytkownik pozwala potwierdzić mu faktyczne dane serwera WWW, z którym chce się połączyć. Po zaakceptowaniu przez użytkownika certyfikatu, dane przesyłane są bezpiecznie w postaci zaszyfrowanej. Skąd szyfrowanie oprócz uwierzytelniania? - klucz publicznym zawarty w certyfikacie, udostępniany jest każdemu (w protokole SSL w czasie tak zwanego "handshakingu" przed rozpoczęciem pierwszej transmisji danych), kto chce połączyć się ze stroną WWW i wysyłać dane do serwera w bezpieczny sposób. Kiedy klient zaakceptuje certyfikat serwer zostanie uwierzytelniony. Opcjonalnie serwer może zażądać aby strona klienta uwierzytelniła się. Strona klienta wysyła do strony serwera swój certyfikat z kluczem publicznym. Teraz klient i serwer używając mechanizmów kryptografii klucza publicznego uzgadniają między sobą tajny klucz. Tajny klucz posłuży jako klucz dla algorytmu szyfrowania symetrycznego służącego do szyfrowania komunikacji każdej stronie, tym samym zostaje ustanowiony bezpieczny kanał wymiany danych między obiema stronami. Do szyfrowania stosuje się kryptografię symetryczną, ponieważ jest po prostu o wiele szybsza. Opisany powyżej proces uwierzytelniania nazywa się dwukierunkowym, ponieważ uwierzytelniają się obie strony. Dokładnie taki proces zachodzi podczas logowania się do konta w usłudze powszechnej archiwizacji wykorzystując dostęp przez przeglądarkę internetową. Kiedy przy pierwszym połączeniu ze stroną, po akceptacji certyfikatu serwera zapiszemy go do magazynu certyfikatów, podczas kolejnego połączenia nie będziemy musieli potwierdzać certyfikatu, strona wczyta się automatycznie.


Cele certyfikatów

Ze względu na różne podmioty certyfikatów, wystawiane są one także w różnym celu np. do podpisu elektronicznego, uwierzytelniania i wiele innych. Cele certyfikatów zapisywane są w samym certyfikacie. Cel danego certyfikatu określa sam użytkownik na początku procesu jego generowania (np. na stronie CA wybiera typ certyfikatu tylko do podpisu elektronicznego). Certyfikat osobisty będzie np. przeznaczony do podpisu elektronicznego, natomiast certyfikat wystawiony dla serwera służyć będzie tylko jego uwierzytelnianiu przed klientem. Certyfikat SSL w standardzie X.509 może zostać wystawiony dla jednej, konkretnej domeny, lub wspólny dla wielu poddomen w domenie danej instytucji. Pozwala nam to na posługiwanie się jednym certyfikatem dla wielu stron www w ramach tej samej domeny nadrzędnej.

Główne zastosowania certyfikatów.

Najczęściej certyfikaty stosuje się do:

  • uwierzytelniania -

uwierzytelnianie podmiotu można zdefiniować jako proces weryfikacji czy dany podmiot jest tym, za kogo lub co się podaje. W prostym przypadku uwierzytelnianie może obejmować wprowadzenie loginu i hasła podczas logowania przez użytkownika. Jednak wprowadzenie loginu i hasła nie można traktować jako twardego dowodu tożsamości użytkownika (tzn. kto się konkretnie loguje), poniewaz z tych samych danych logowania często korzysta wielu uzytkowników. Dodatkowo problemem staje się zagwarantowanie bezpiecznego przesyłu hasła, mozna je wykraść. Certyfikaty X.509 to silne uwierzytelnianie, które jest jednym ze sposobów radzenia sobie z tego typu problemami, jawnie i jednoznacznie identyfikuje tożsamość podmiotu.

  • podpisu elektronicznego -

Certyfikat cyfrowy w kontekście podpisu elektronicznego jest po prostu informacją elektroniczną poświadczającą związek między danym użytkownikiem a certyfikatem, którego używa dany użytkownik do procedury podpisywania dokumentów. Aby odbiorca był pewien, że dana wiadomość pochodzi właśnie od nas, używamy podpisu cyfrowego. Polega to na szyfrowaniu wiadomości naszym kluczem prywatnym. Może odczytać ją każdy, kto użyje naszego klucza publicznego. Nie zapewnia to tajności listu, ale potwierdza, że to właśnie my go wysłaliśmy (ponieważ do każdego klucza prywatnego pasuje tylko jeden klucz publiczny).

W transakcjach wykonywanych za pomocą komputera podpis cyfrowy jest zatem niezaprzeczalnym dowodem jej wykonania przez konkretną osobę. Wiarygodność nadającego odbiorcy potwierdzona jest faktem wystawienia certyfikatu przez zaufane CA. Dzięki temu podpis cyfrowy gwarantuje nam:

  • uniemożliwienie podszywania się innych pod daną osobę (uwierzytelnienie osoby),
  • zapewnienie spójności danych w ramach transakcji (integralność transakcji),
  • brak możliwości wyparcia się podpisu przez autora (niezaprzeczalność),
  • umożliwienie weryfikacji podpisu przez osobę niezależną
  • szyfrowania -

Szyfrować można różne dane: maile, pliki na dysku, dane wymieniane przez sieć. Aby zaszyfrować dane do Kowalskiego, musimy dysponować jego kluczem publicznym. Po zaszyfrowaniu, może ona być odszyfrowana tylko i wyłącznie kluczem prywatnym odbiorcy (Kowalskiego). Wysyłając zaszyfrowane dane możemy być pewni, że nawet jeśli wpadną w niepowołane ręce, nie zostaną odszyfrowane. Dane odczyta tylko osoba mająca pasujący do klucza publicznego klucz prywatny: w tym wypadku Kowalski.

Osobiste
Przestrzenie nazw
Warianty
Działania
Nawigacja
Część Prywatna
Narzędzia