Zastosowanie szyfrów asymetrycznych w podpisie elektronicznym
|Symetryczny system szyfrowania to taki, w którym klucz szyfrujący pozwala zarówno szyfrować dane, jak również odszyfrowywać je – nadawca i odbiorca wiadomości używają tego samego klucza. Inaczej mówiąc, każdy kto jest w posiadaniu tego klucza, może odszyfrować (zaszyfrować) wiadomość. Nie ma znaczenia czy to nadawca wygeneruje i przekaże klucz odbiorcy, czy odwrotnie. Wobec tego oczywiste jest, że szyfrowanie symetryczne będzie skuteczne tylko wówczas jeżeli ten klucz nie dostanie się w niepowołane ręce – kluczem tym powinny dysponować tylko nadawca i odbiorca. Ścisła kontrola klucza jest więc podstawową wadą szyfrowania symetrycznego. Do dzisiaj nie znaleziono środka transportu, poprzez który można by było sprawnie przekazywać tajny klucz pomiędzy nadawcą a odbiorcą informacji . Najbezpieczniejszym sposobem przekazania klucza jest więc osobiste spotkanie. Ale skoro nadawca i odbiorca spotkają się osobiście to dlaczego nie mogą sobie przekazać tajnej wiadomości – po co ją szyfrować ? W takich przypadkach szyfrowanie symetryczne nie ma zastosowania. Ale czasami jest tak, że w momencie przekazania klucza wiadomość, która ma być zaszyfrowana nie jest jeszcze znana i w takiej sytuacji szyfrowanie symetryczne może się oczywiście przydać. Aby rozwiązać problem bezpieczeństwa przekazywania klucza wprowadzono szyfry asymetryczne.
Szyfrowanie asymetryczne
Szyfrowanie asymetryczne czyli szyfrowanie z kluczem publicznym jest nieco bardziej skomplikowane od szyfrowania symetrycznego. Podstawowa różnica polega na tym, że tutaj wyróżniamy dwa klucze – prywatny i publiczny. Klucz publiczny służy do zaszyfrowania wiadomości i prywatny do odszyfrowania. Oba klucze generowane są przez odbiorcę. Klucz prywatny podlega ścisłej ochronie i nie jest udostępniany nikomu, w odróżnieniu od klucza publicznego, który może być rozprowadzany publicznie. Klucze te połączone są pewną zależnością matematyczną, jednak na tyle złożoną, że na podstawie znajomości klucza publicznego nie można także w żaden sposób na jego podstawie odtworzyć klucza prywatnego. Algorytmy mające zastosowanie w szyfrowaniu asymetrycznym wykorzystują operacje matematyczne, które łatwo przeprowadzić w jedną stronę a bardzo trudno w drugą. W matematycznym ujęciu można stwierdzić, że szyfry asymetryczne wykorzystują tzw. funkcje jednokierunkowe. Są to funkcje mające tę właściwość, że dla danego argumentu x wartość funkcji f(x) można łatwo obliczyć, natomiast nie są znane żadne algorytmy pozwalające wyznaczyć w krótkim czasie argument x, gdy znana jest wartość f(x). W algorytmie asymetrycznym RSA wykorzystano fakt, że o wiele łatwiej jest pomnożyć przez siebie 2 duże liczby, niż przeprowadzić operację odwrotną tj. rozłożyć wynik tego mnożenia na czynniki. Podobnie w algorytmie ElGamal – potęgowanie modulo jest prostą operacją, a logarytm dyskretny jest bardzo trudną operacją matematyczną.
Schemat przekazywania wiadomości zaszyfrowanych asymetrycznie
-
Odbiorca za pomocą specjalnego algorytmu asymetrycznego generuje oba klucze. Klucz publiczny odbiorca przekazuję nadawcy. Może on zostać przesłany poprzez kanały transmisyjne o niskiej poufności jak np. poprzez internet lub pocztą elektroniczną, ponieważ służy on tylko do zakodowania informacji, natomiast do jej odczytania potrzebny jest klucz prywatny,
-
Przy użyciu klucza publicznego, otrzymanego od adresata, nadawca koduje informacje, następnie przesyła ją do odbiorcy,
-
Odbiorca, dzięki swojemu unikatowemu kluczowi prywatnemu, może odczytać otrzymaną informację.
Dla poprawy bezpieczeństwa niekiedy stosuje się dodatkowe szyfrowanie. Nadawca do wiadomości dołącza swój elektroniczny podpis, generowany na podstawie klucza prywatnego nadawcy. Weryfikacja autentyczności podpisu następuje po odszyfrowaniu go za pomocą klucza publicznego nadawcy. Adresat po odczytaniu podpisu jest pewny, że jest to list autentyczny i pochodzi od określonego nadawcy.
Obecnie szyfrowanie asymetryczne jest szeroko stosowana do wymiany informacji poprzez kanały o niskiej poufności jak np. internet. Stosowana jest także w systemach elektronicznego uwierzytelniania, obsługi podpisów cyfrowych, do szyfrowania poczty. Jedną z poważnych wad, jaką można zarzucić szyfrom asymetrycznym jest mała szybkość działania. Przykładowo algorytm szyfrowania symetrycznego DES jest około 1000 razy szybszy od algorytmu asymetrycznego RSA. Aby zaradzić tej sytuacji, większość popularnych systemów ochrony danych stosuje kombinację szyfrów symetrycznych i asymetrycznych. Algorytmu asymetrycznego RSA używa wyłącznie do szyfrowania klucza sesji wykorzystywanego do szyfrowania właściwych informacji. Dane szyfrowane są przekazanym kluczem sesji przy wykorzystaniu szyfrowania symetrycznego np. DES.