background image

 

 

 

 

Wprowadzenie do 

kryptografii 

 

Cyfrowy podpis elektroniczny w praktyce 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

© Andrzej J. Majewski, 2009 
 
Rozpowszechnianie dozwolone w ramach platformy

  

background image

 

Kilka słów wyjaśnienia zamiast wstępu 

Informacje podane poniżej ledwo dotykają całego bogactwa pojęć i wiedzy, związanych z kryptograficzna 
ochrona informacji, utajnianiem przekazywanych różnymi metodami danych i metodami potwierdzania ich 
wiarygodności.   
Moją intencją było pokazanie pewnych mechanizmów, z którymi ma do czynienia każdy użytkownik Internetu 
i abonent poczty elektronicznej. Brak ich zrozumienia, lub co gorsze, błędna interpretacja sposobu ich działania 
powoduje zupełnie niepotrzebne zagrożenia dla cennych i z reguły bardzo istotnych dla nas informacji. 
Wszystkie pokazane poniżej mechanizmy, są wbudowane w nasze systemy komputerowe, którymi surfujemy 
po Internecie lub sięgamy do poczty elektronicznej. Musimy rozumieć ich działanie i chcieć ich używać. 
Musimy nauczyć się w rozsądny sposób obdarzać zaufaniem zabezpieczenia, z którymi się spotykamy, tak żeby 
wiedzieć i umieć rozróżniać prawdziwą i wiarygodną informację od bełkotu i spamu.  
Wyjaśnienie przeznaczenia certyfikatów kluczy publicznych powinno ostatecznie rozwiać wątpliwości 
rozsiewane przez różne media – czy ktoś może za nas podpisywać cyfrowo korespondencję i dokumenty? 
 

Kryptografia - podstawy stosowania 

W poniższym opisie będziemy używać postaci Alicji i Bartka, jako uosobienie Użytkowników A i B. Osoby 
Alicja i Bartek występują jako strony w realizowanym protokole kryptograficznym, obejmującym np. wymianę 
poczty, w którym niektóre (lub wszystkie) komunikaty zawierają elementy danych przekształcone przez 
algorytmy kryptograficznie. Alicja i Bartek znajdują się w rozłącznych miejscach, połączonych siecią. Sieć nie 
jest zabezpieczona przed podsłuchem lub zniekształceniem przesyłanej informacji. Sprawcą tych niecnych 
występków jest Ewa. Terminem sieć (network) objęty jest dowolny typ medium transmisji danych. 
 

Dane

wrażliwe

Alicja

Bartek

Ewa

Odczyt

poufnych

danych

Zmiana

krytycznych

danych

 

      

     Alicja, Bartek i Ewa (1) 

 
Znając zagrożenia, wprowadzane przez Ewę, Alicja i Bartek oczekują możliwości bezpiecznego komunikowania 
się poprzez sieć. Bezpieczeństwo jest przez nich postrzegane jako: 

1. 

Możliwość przesłania przez Alicję poufnej informacji, adresowanej do Bartka, której Ewa nie 
będzie mogła poznać, chociaż może ja przechwycić, 

2. 

Alicja chce mieć możliwość przesłania informacji do Bartka w taki sposób, aby Bartek był 
przekonany o tym, że informacja nie została zmieniona po drodze, 

3. 

Alicja chce mieć możliwość przesłania informacji do Bartka w taki sposób, że Bartek będzie 
mógł później udowodnić dowolnej trzeciej stronie (przed sądem lub audytorowi), że to Alicja 
jest jej autorką i że informacja nie uległa zniekształceniu. 

Atrybuty kryptograficznej ochrony informacji, wymienione w punktach 1

÷3 mają swoje przyjęte nazwy, takie 

jak poufność (confidentiality), nienaruszalność treści lub autentyczność (integrity), niezaprzeczalność autorstwa 
(non-repudiation with proof of origin).  
 

Kryptografia - podstawowe technologie 

Mechanizmy kryptograficznej ochrony informacji opierają się na dwóch zasadniczych elementach: kluczach 
(key) i metodach (algorithm). Klucz jest specjalnym elementem informacji, używanym do zabezpieczenia 

background image

 

wrażliwych danych, metoda to ciąg następujących po sobie, powiązanych czynności, przekształcających 
chronione dane w sposób zależny od treści klucza. 
Dla przykładu algorytm szyfrujący (encryption algorithm) może być użyty dla zapewnienia tajności 
przekazywanych danych. Alicja może swoje chronione informacje przekształcić za pomocą algorytmu 
szyfrującego i klucza szyfrowania do postaci szyfrogramu.  
Bartek, po otrzymaniu szyfrogramu od Alicji zastosuje komplementarny (odwrotny) algorytm łącznie z kluczem 
deszyfrującym, po to, aby odtworzyć pierwotną postać informacji nadanej przez Alicję. Jeżeli Ewa (intruz w 
sieci) nie zna klucza deszyfrującego, nie będzie mogła odtworzyć jawnego tekstu z przechwyconego 
szyfrogramu. 
 
 

Szyfrowanie

Deszyfrowanie

Klucz

Klucz

Dane

wrażliwe

Dane

wrażliwe

Dane zabezpieczone

Sieć niezapezpieczona

Alicja

Bartek

 

        Alicja i Bartek używają szyfrowania danych (2) 

 

Systemy kryptograficzne z kluczem publicznym i z kluczem tajnym 

W praktycznym użyciu są aktualnie dwa podstawowe systemy kryptograficzne: używające kluczy 
asymetrycznych, zwane także systemami z kluczem publicznym (public key cryptosystems) oraz systemy 
używające kluczy symetrycznych, zwane także systemami z kluczem tajnym (symmetric cryptosystems). 
Popularnym przedstawicielem pierwszego rodzaju jest „RSA”, drugi schemat klasycznie reprezentuje „AES”. 
W obu systemach klucz deszyfrujący musi być zachowany w tajemnicy przed osobami postronnymi. Istnieje 
jednak istotna różnica w sposobie posługiwaniem się i ochroną klucza szyfrującego. 
W systemie symetrycznym klucz deszyfrujący może być odtworzony na podstawie klucza szyfrującego; 
zazwyczaj jest to ten sam klucz. Przyjmuje się, że Ewa zna algorytm przekształcenia informacji - szyfrowania. 
Klucze, używane przez strony przekazu, muszą jednak pozostać w tajemnicy przed Ewą. Generalnie, jest regułą, 
że Alicja i Bartek muszą używać tego samego sekretnego klucza, do szyfrowania i deszyfrowania informacji 
przesyłanej w obu kierunkach -w relacji Alicja —> Bartek oraz Bartek —> Alicja. Do uzgodnienia lub wymiany 
klucza Alicja i Bartek muszą użyć innego, bezpiecznego kanału przesyłania danych np.: poczty papierowej, 
SMS, wymiany bezpośredniej w kontakcie osobistym. Od poziomu bezpieczeństwa kanału wymiany kluczy 
zależy bezpieczeństwo całego kryptosystemu. Wybór zależy od poziomu dopuszczalnego ryzyka ujawnienia. 
 

background image

 

Szyfrowanie

Deszyfrowanie

Klucz

Klucz

Dane

wrażliwe

Dane zabezpieczone

Sieć niezabezpieczona

Alicja

Bartek

Bezpieczny kanał

Dane

wrażliwe

 

     Wspólnie używany sekretny klucz musi być bezpiecznie wymieniany (3) 

 
W systemie asymetrycznym występuje niejawne powiązanie pomiędzy kluczem szyfrującym i deszyfrującym. 
Oznacza to, że nie jest obliczeniowo możliwe lub jest całkowicie nieopłacalne, ze względu na koszt lub czas 
obliczeń, wyznaczenie klucza deszyfrującego na podstawie klucza szyfrującego. Klucz szyfrujący może być 
użyty tylko w jednej relacji - do zaszyfrowania danych.  
Do ich odszyfrowania konieczny jest drugi klucz od pary - klucz deszyfrujący. Dodatkowo, specyfika związku 
występującego pomiędzy kluczami asymetrycznymi, pozwala na ujawnienie klucza publicznego wszelkim 
osobom, w tym także Ewie, bez ryzyka narażenia systemu na kompromitację.  
Generalnie, jest regułą, że Alicja musi użyć publicznego klucza szyfrującego Bartka, aby zaszyfrować dane 
w relacji Alicja —> Bartek. Bartek musi użyć publicznego klucza szyfrującego Alicji, aby zaszyfrować dane 
w relacji Bartek —> Alicja .  
Szyfrowanie odbywa się przy użyciu publicznego klucza odbiorcy, podczas gdy do deszyfrowania konieczne jest 
użycie prywatnego klucza adresata. Brak konieczności utrzymywania klucza szyfrującego w tajemnicy istotnie 
upraszcza dystrybucję kluczy, pozwala wręcz na umieszczenie kluczy "publicznych" w ogólnie dostępnych 
katalogach. System kryptograficzny z kluczem publicznym rozwiązał najistotniejszy problem w dużych sieciach 
- problem dystrybucji i zarządzania kluczami. 
     

Dane zabezpieczone

Sieć niezabezpieczona

Alicja

Bartek

Klucz publiczny Bartka

Klucz prywatny Bartka

Klucz publiczny Bartka

Szyfrowanie

Deszyfrowanie

Dane

wrażliwe

Dane

wrażliwe

 

               Publiczny klucz Bartka nie musi pozostawać w tajemnicy ... (4) 

 
Nie jest to jednak rozwiązaniem wszystkich problemów. Dla przykładu, Ewa może podstawić Alicji swój klucz 
publiczny, w miejsce klucza Bartka (attack with man in the middle). W ten sposób Ewa będzie mogła 
deszyfrować całą informację przeznaczoną dla Bartka, przepływającą w relacji Alicja —> Bartek, w sposób 
niedostrzegalny dla adresata. Koniecznym jest zapewnienie integralności i autentyczności kluczy publicznych. 
 

background image

 

Dane zabezpieczone

Sieć niezabezpieczona

Alicja

Bartek

Klucz publiczny Ewy

Klucz prywatny Ewy

“Klucz publiczny Bartka”

Klucz publiczny Ewy

Ewa

Dane

wrażliwe

Szyfrowanie

Deszyfrowanie

Dane

wrażliwe

 

                                ...ale musi być ‘autentyczny’ (5) 

 

Cyfrowy podpis elektroniczny w systemie z kluczem publicznym 

Podpis cyfrowy jest tworzony poprzez odwrócone użycie systemu z kluczem publicznym. Bartek może cyfrowo 
podpisać informację, używając własnego klucza prywatnego. Ponieważ, w myśl założeń systemu, jest on 
jedynym posiadaczem tego klucza, jest także jedynym możliwym autorem podpisu. Po podpisaniu, Bartek 
przesyła informację wraz z cyfrową sygnaturą do Alicji, która może sprawdzić podpis Bartka, używając jego 
klucza publicznego. W rzeczywistości, każda osoba, posiadająca ważną kopię publicznego klucza Bartka, może 
sprawdzić jego cyfrowy podpis pod informacją. Proces ten, na wzór podpisu odręcznego, służy do potwierdzenia 
autorstwa cyfrowego dokumentu i dodatkowo może służyć do stwierdzenia autentyczności jego treści. 

 

Podpis

Weryfikacja

Dane

zweryfikowane

Dane

wrażliwe

Dane podpisane

Sieć niezabezpieczona

Alicja

Bartek

Klucz publiczny Bartka

Klucz prywatny Bartka

Klucz publiczny Bartka

 

             Cyfrowa sygnatura sporządzona prywatnym kluczem Bartka (6) 

 
Podobnie jak poprzednio, Ewa może podstawić Alicji swój klucz publiczny, w miejsce klucza Bartka  
(attack with man in the middle). W ten sposób Ewa będzie mogła fałszować podpis Bartka. 

background image

 

 
 

Weryfikacja

Podpis

Dane 

„zweryfikowane”

Dane sfałszowane

Sieć niezabiezpieczona

Alicja

Bartek

Klucz publiczny Ewy

Klucz prywatny Ewy

“Klucz publiczny Bartka”

Klucz publiczny Ewy

Ewa

Dane 

wrażliwe

 

    Wiadomość sfałszowana przez Ewę; publiczny klucz Bartka nie jest ‘autentyczny’ (7) 

 

Centrum Certyfikacji Kluczy Publicznych (Certification Authority) 

Rozwiązaniem problemu autentyczności kluczy, jest ich bezpośrednia wymiana, pomiędzy zainteresowanymi 
stronami. W ten sposób działa system zaufania bezpośredniego. Rozwiązanie tego typu jest jednak całkowicie 
niepraktyczne, wręcz bezużyteczne w przypadku dużych sieci np. Internetu. Osobisty kontakt pomiędzy 
partnerami zostaje zastąpiony zaufaniem do tzw. Trzeciej Strony, czyli „sieciowego notariusza”.  
Zaufana Trzecia Strona (CA - Certification Authority) wydaje certyfikaty, stwierdzające autentyczność kluczy 
publicznych, czyli istnienie jednoznacznej relacji pomiędzy kluczem publicznym i jego deklarowanym 
właścicielem. CA generuje swoją cyfrową sygnaturę na certyfikacie klucza publicznego Bartka. Dokument 
elektroniczny (certyfikat) zawiera: unikalny identyfikator właściciela (Bartka), publiczny klucz Bartka, datę 
ważności certyfikatu oraz inne informacje, użyteczne dla systemów, które będą korzystać z tego certyfikatu. 
Cyfrowy podpis CA bezpieczne „wiąże w całość” te wszystkie informacje.  
 

Certyfikat 

klucza publicznego 

Bartka

Urząd 

Certyfikacji 

Bartka

Operacja 

z kluczem 

publicznym

Dane 

wrażliwe

Dane zabezpieczone

Sieć niezabezpieczona

Alicja

Bartek

Klucz publiczny Bartka

Klucz prywatny Bartka

Klucz publiczny Bartka

Dane 

wrażliwe

Operacja 

z kluczem 

prywatnym

 

               Publiczny klucz Bartka przekazany Alicji w formie certyfikatu (8) 

 
W tym rozwiązaniu, Alicja może zaufać kluczowi publicznemu Bartka, dopóki posiada wiarygodną kopię 
certyfikatu klucza publicznego CA. „Zaufany” klucz publiczny CA umożliwia sprawdzenie autentyczności 
certyfikatu klucza publicznego Bartka, a tym samym pozwala obdarzyć zaufaniem klucz publiczny Bartka. 
System jest w dalszym ciągu narażony na ataki, ale w tym przypadku bezwzględnie musimy ufać tylko jednemu 
kluczowi publicznemu.  

background image

 

Osiągamy to poprzez właściwy wybór Zaufanej Trzeciej Strony, która może zagwarantować wiarygodność 
swojego klucza i bezterminową, skuteczną jego ochronę oraz właściwy poziom bezpieczeństwa usługi 
wydawania certyfikatów kluczy . 
 
W tym miejscu potrzebny jest krótki komentarz do obiegowych opinii i nieprawdziwych informacji 
powtarzanych przez różne media.  Certyfikat nie służy do składania podpisu elektronicznego, niezależnie od 
tego, czy jest kwalifikowany czy zwykły i przez kogo był wydany! Podpisujemy dokumenty elektroniczne 
i korespondencję kluczem prywatnym! Jeżeli właściwie przechowujemy swój klucz prywatny i używamy go 
w sposób świadomy, nikt niczego za nas i w naszym imieniu nie podpisze. 
 
Certyfikat, zależnie od rangi wystawcy, stanowi bardziej lub mniej wiarygodne lub uznawane przez prawo, 
poświadczenie, do kogo należy klucz prywatny, którym podpisano wiadomość. Klucz prywatny od tej pary 
kluczy, od której klucz publiczny zawarty jest w certyfikacie. 
 

Odtwarzanie kluczy (Key Recovery) 

Zasadę odtwarzania kluczy pokazuje kolejny rysunek. Alicja i Bartek używają symetrycznego systemu 
kryptograficznego do ukrywania informacji, która może stanowić potencjalny dowód ich przestępczej 
działalności. Z punktu widzenia organów ochrony praworządności, odtworzenie zaszyfrowanych danych 
pozwoli poznać dowody przestępstwa. 
Tak jak pokazano na rysunku 3, Alicja i Bartek potrzebują zaufanego, bezpiecznego kanału, do wymiany kluczy. 
W wielu praktycznych zastosowaniach (rysunek 10), szyfrowanie kluczem publicznym jest zbyt powolne dla 
masowych danych, dlatego stanowi wyłącznie sposób do wytworzenia bezpiecznego kanału dla wymiany 
sesyjnego klucza symetrycznego. 
Mechanizm odtwarzania kluczy pozwala agentom ochrony prawa i służbom specjalnym, na odtworzenie klucza 
sesyjnego, a tym samym na deszyfrowanie potencjalnych dowodów przestępstwa.   
Wiele dostępnych dla nas kryptosystemów, wbrew intencjom różnych Agencji, nie ma wbudowanych 
mechanizmów odzyskiwania kluczy. Ich złamanie może być prawdziwym wyzwaniem.  
Niestety, jakość implementacji metod szyfrujących często jest niewystarczająca, żeby uczynić ochronę 
informacji tak silną, jak to wynika z matematycznych założeń zastosowanych algorytmów. Potrzeba jednak 
potężnego budżetu i bardzo zaawansowanej technologii, żeby złamać zabezpieczenia będące powszechnie 
w użyciu. Użytkownik musi jednak dbać o to, żeby używać aktualnego oprogramowania; instalować łaty 
i poprawki natychmiast po tym, jak zostały opublikowane. W dobrze pojętym, własnym interesie! 
 
 

Potencjalny 

dowód

Potencjalny 

dowód

„Alicja”

„Bartek”

Deszyfrowanie

Klucz

Szyfrowanie

Klucz

Klucz

Dane zabezpieczone

Sieć niezabezpieczona

Bezpieczny kanał

Deszyfrowanie

Potencjalny 

dowód

 

        Odtwarzanie zaszyfrowanych ‘dowodów przestępstwa’ Alicji i Bartka (9) 

 

Rzeczywista implementacja systemu z kluczem publicznym 

Występujące w praktyce systemy kryptograficzne, stosujące klucze asymetryczne, nie wykorzystują algorytmu 
asymetrycznego do szyfrowania masowych danych. Rozwiązanie takie jest zbyt powolne. W rzeczywistych 
implementacjach, algorytm szyfrowania kluczem publicznym jest wykorzystywany do utworzenia bezpiecznego 
kanału, którym przekazywany jest losowo wygenerowany klucz symetryczny, służący do zaszyfrowania danych, 
zawartych w komunikacie.  

background image

 

Rysunek 10 pokazuje praktyczną realizację tej metody. Informacja, przygotowana przez nadawcę (Alicja) na 
komputerze A zostaje przetworzona przez jednokierunkową funkcję skrótu (1). Skrót informacji zaszyfrowany 
prywatnym kluczem nadawcy (2) stanowi cyfrowy podpis informacji nadawanej. Informacja, jej cyfrowy podpis 
oraz certyfikat klucza publicznego nadawcy, połączone razem, stanowią jawną treść nadawanego komunikatu. 
Wygenerowany w sposób losowy klucz sesyjny (3) służy do zaszyfrowania treści nadawanego komunikatu. 
Następnie klucz sesyjny jest szyfrowany (4) kluczem publicznym odbiorcy (Bartka), wydobytym z jego 
certyfikatu. Zaszyfrowany klucz sesyjny, zamknięty w „cyfrowej kopercie”, połączony z zaszyfrowaną treścią, 
jako komunikat, przesyłany jest do odbiorcy. Adresat „otwiera” cyfrową kopertę, odszyfrowując ją własnym 
kluczem prywatnym (6). W ten sposób odzyskuje klucz sesyjny, którym rozszyfrowuje treść komunikatu (7). 
Następnie, przy pomocy klucza publicznego nadawcy, wydobytego z jego certyfikatu, deszyfruje podpis 
cyfrowy (8), odtwarzając skrót. W kolejnym kroku (9), używając tego samego algorytmu, co nadawca, adresat 
wylicza nowy skrót informacji. Po czym porównuje (10) oba skróty. Jeżeli są identyczne, to adresat uzyskuje 
potwierdzenie autentyczności treści informacji i niezaprzeczalne potwierdzenie autorstwa nadawcy. 
 

System z kluczem publicznym, stosowany w praktyce (10) 

 

Krótki komentarz na zakończenie 

Schematy ochrony przekazu informacji, opisane powyżej, są powszechnie wykorzystywane w programach 
pocztowych, masowo dostępnych na rynku. Także wiele programów darmowych ma zaimplementowany ten 
mechanizm.  
Dziwić może jedynie to, że o ile w tradycyjnej korespondencji papierowej powszechne jest używanie kopert, 
to w przypadku korespondencji elektronicznej dominują czytelne dla wszystkich po drodze, przekazy 
na „cyfrowych pocztówkach”.  
Listy elektroniczne (e-mail), w domyślnie stosowanej przez większość użytkowników formie, nie zapewniają 
żadnego z opisanych powyżej atrybutów bezpiecznej korespondencji! Otrzymując niezabezpieczony e-mail 
nie możemy być pewni treści listu ani intencji i osoby nadawcy. Powszechny spam to nie tylko znak naszych 
czasów. To także dowód na to, jak bardzo masowo dostępna, nowoczesna technika oraz wynikająca z niej 
powszechna łatwość komunikowania uśpiły naszą czujność i naturalną potrzebę prywatności.