====== Omów przykłady zastosowania kryptografii asymetrycznej w zagadnieniach bezpieczeństwa sieciowych systemów komputerowych. ======

** Kryptografia Asymetryczna** - Wynaleziona w 1976 roku przez studenta M. Hellmana oraz jego profesora W. Diffie'go metoda kryptograficzna oparta na dwóch osobnych kluczach szyfrujących: publicznym oraz tajnym. Kryptografia bazująca na kluczu niesymetrycznym w wielu przypadkach zapewnia znacznie wyższy poziom bezpieczeństwa niż dotychczas stosowana metoda z jednym, wspólnym dla komunikujących się stron kluczem. Chociaż system autorstwa Hallmana i Diffie'go został złamany w 1980 roku, sama idea dwóch osobnych kluczy legła u podstaw wielu innych systemów kryptograficznych i jest obecnie szeroko stosowana.\\
Rozwój kryptografii kluczy publicznych doprowadził do możliwości używania samej idei kluczy publicznych i prywatnych w innych obszarach ochrony informacji. Jedną z pierwszych takich implementacji jest system RSA (od nazwisk twórców: Rivest, Shamir i Adelman), pozwalający nie tylko na wymianę informacji tajnych, ale również na tworzenie podpisów cyfrowych, czyli metody uwierzytelniania nadawcy informacji, czy też samej informacji.

  * Szyfrowanie/deszyfrowanie kluczem publicznym
{{:bsk:13.3_image001.jpg}}

System kryptografii klucza publicznego (PKC - Public Key Cryptography) zakłada użycie dwóch asymetrycznych kluczy do szyfrowania i deszyfrowania informacji: jednego o statusie prywatnym (deszyfrowanie informacji) i drugiego dostępnego publicznie (szyfrowanie informacji). Wymieniając między sobą klucze publiczne i kojarząc je z kluczami prywatnymi, obie strony mogą wymieniać informacje poufne bez konieczności przekazywania klucza do deszyfrowania informacji, co eliminuje możliwości przechwycenia tego klucza drogą podsłuchu kanału komunikacyjnego. Mechanizm ten pozwala stronom na dynamiczne ustanawianie bezpiecznej komunikacji bez potrzeby wcześniejszych kontaktów. 

  * Podpisy cyfrowe
W świecie biznesu jednym z ważniejszych elementów transakcji jest podpis klienta. Podpisy cyfrowe to nazwa technologii zapewniającej elektroniczny ekwiwalent tradycyjnego podpisu na papierze. 

{{:bsk:13.3_image003.jpg}}

Technologia ta zapewnia również niezaprzeczalność wystawienia takiego podpisu. To znaczy, że oprócz jednoznacznej identyfikacji źródła transakcji zapewnia również możliwość kontroli jej nienaruszalności podczas transmisji. Podpis cyfrowy jest mechanizmem pozwalającym na odawania unikatowych danych do dokumentu w taki sposób, że generować je może jedynie właściciel klucza prywatnego, ale każdy, kto posiada odpowiedni klucz publiczny, może weryfikować autentyczność takiego podpisu. Podpisy cyfrowe są szczególnie ważne w handlu elektronicznym, ponieważ umożliwiają ustanowienie prawnie uznawanej praktyki podpisywania kontraktów i innych porozumień w formie elektronicznych dokumentów. To właśnie technologia podpisów cyfrowych, bardziej niż jakakolwiek inna, przyczyniła się do urzeczywistnienia wizji bezpiecznego globalnego biznesu elektronicznego.\\
Możliwość stosowania podpisów cyfrowych zapewniają: kryptografia klucza publicznego i algorytmy w rodzaju DSA czy RSA. Nadawca podpisanej informacji używa techniki jej szatkowania, tzw. funkcji haszującej (hash function), do wytworzenia unikatowej, skróconej wersji oryginalnego tekstu, określanej mianem "abstraktu wiadomości" (message digest) i spełniającej rolę "cyfrowego odcisku palca" właściwej wiadomości (metody haszowania to m. in. Message Digest 5 - MD5 i Secure Hash Algorithm - SHA-1). Praktycznie prawdopodobieństwo wystąpienia takiego samego abstraktu wiadomości w dwóch różnych dokumentach jest bliskie zeru i dlatego też nawet najmniejsza zmiana w treści dokumentu spowoduje znaczące zmiany w abstrakcie. Taki dodatek jest następnie szyfrowany kluczem prywatnym lub tajnym, stając się podpisem cyfrowym. Sama wiadomość może być też zaszyfrowana lub nie.\\
Strona odbierająca wiadomość z załączonym podpisem deszyfruje podpis kluczem publicznym (lub tajnym) w celu odtworzenia źródłowego abstraktu wiadomości, "szatkuje" wiadomość taką samą funkcją haszującą i porównuje obie wartości - jeżeli są równe, to podpis jest autentyczny, jeżeli nie, to wiadomość może pochodzić z innego źródła, niż podano, lub została po drodze zmieniona\\
W procesie uwierzytelniania role kluczy prywatnych i publicznych ulegają zamianie w stosunku do ich ról w szyfrowaniu wiadomości, gdzie to właśnie klucz publiczny używany jest do szyfrowania, a prywatny do deszyfrowania wiadomości. Trzeba również pamiętać, że podpis gwarantuje jedynie integralność i autentyczność, nie gwarantuje natomiast prywatności - szyfrowanie samej wiadomości musi być wykonana oddzielnie. I tak DSS jest wyłącznie systemem podpisów cyfrowych, natomiast RSA może być używany do obydwu celów.\\
Podpisy cyfrowe zapewniają najwyższy poziom integralności danych ponieważ jakiekolwiek manipulowanie treścią wiadomości po jej podpisaniu unieważnia podpis. Zapewnia również niezaprzeczalność źródła pochodzenia, ponieważ opiera się na prywatnym kluczu nadawcy. \\

  * PGP (Pretty Good Privacy) 

Jest systemem szyfrująco-deszyfrującym, przeznaczonym do szyfrowania i podpisywania poczty elektronicznej. System ten należy do grupy systemów hybrydowych - zostały w nim połączone najlepsze cechy systemów z kluczem tajnym i publicznym. Pierwszą operacją wykonywaną przez system PGP na danych wejściowych jest ich kompresja, następnie są one zakodowane za pomocą algorytmu z tajnym kluczem. Klucz wymagany do kodowania zostaje wygenerowany losowo. Kolejną operacją jest zakodowanie klucza symetrycznego za pomocą klucza publicznego. Po połączeniu obu informacji mamy informację zakodowaną.

  * Protokół uzgadniania kluczy Diffiego-Hellmana, protokół S/MIME (Secure/Multi-purpose Internet Mail Extensions), zastosowane w SSH i SSL (Secure Sockets Layer) i TLS (Transport Layer Security), VPN  (Virtual Private Network) – bezpieczne wirtualne sieci prywatne realizowane w oparciu o protokół IPSec, bezpieczna usługa DNS (Domain Name Service) działająca w oparciu o techniki kryptografii asymetrycznej 

We wszystkich tych zastosowaniach kryptografia asymetryczna jest stosowana do nawiązania komunikacji między klientem a serwerem; serwer posługuje się swoją parą kluczy: certyfikat, klucz prywatny.

{{:bsk:13.3_image006.gif}}

===== Przydatne linki: =====
[[http://krystian.jedrzejczak.webpark.pl/bezp2.htm#kryptas]]\\
[[http://pl.wikipedia.org/wiki/Kryptografia_asymetryczna]]\\
[[http://pl.wikipedia.org/wiki/PGP_%28program_kryptograficzny%29]]\\
[[http://www.pgpi.org/doc/pgpintro/]]\\
[[http://pl.wikipedia.org/wiki/SSH]]\\
[[http://pl.wikipedia.org/wiki/Kryptografia]]\\
[[http://www.isoc.org.pl/~tdudkowski/comp/crypto.html]]\\

====== Pobierz dokument ======
{{:bsk:13.3.doc|13.3.doc}}