Wprowadzenie do kryptografii

background image

Wprowadzenie do

kryptografii

Cyfrowy podpis elektroniczny w praktyce

















© Andrzej J. Majewski, 2009

Rozpowszechnianie dozwolone w ramach platformy

background image

2

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

3

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

4

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

5

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

6


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

7

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

8

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.


Wyszukiwarka

Podobne podstrony:
Wprowadzenie do Kryptografii
LabKacz, WAT, semestr III, Wprowadzenie do kryptologii
Lab2, WAT, semestr III, Wprowadzenie do kryptologii
LabGradz, WAT, semestr III, Wprowadzenie do kryptologii
Wprowadzenie do Kryptografii
Wykład 1 inżynierskie Wprowadzenie do zarządzania operacyjnego
Wprowadzenie do medycyny rozwojowej 1
PD W1 Wprowadzenie do PD(2010 10 02) 1 1
Wprowadzenie do psychologii
Wprowadzenie do filozofii
(1) Wprowadzenie do nauki o finansach 1id 778 ppt
wprowadzenie do systemu win i podst sieci
wprowadzenie do psychologii społecznej

więcej podobnych podstron