background image

Szyfrowanie 

danych

background image

Szyfrowanie symetryczne

Szyfrowanie symetryczne– nadawca i odbiorca wiadomości używają tego 
samego prywatnego klucza. Wobec tego oczywiste jest, że szyfrowanie 
symetryczne będzie skuteczne tylko wówczas jeżeli ten klucz nie wpadnie w 
niepowołane ręce. Nadawca i odbiorca wiadomości muszą jednak najpierw 
przesłać sobie ten klucz tak, żeby nie zdobyły go osoby postronne. Nie ma 
znaczenia czy to nadawca wygeneruje i przekaże klucz odbiorcy, czy odwrotnie. 
Kiedy już obie strony będą dysponowały tym kluczem prywatnym wiadomość 
może być zaszyfrowana. Spójrzmy więc jak przebiega szyfrowanie symetryczne:

1. Nadawca przekazuje odbiorcy (lub odwrotnie) klucz prywatny przez bezpieczny 
kanał.
2. Nadawca szyfruje wiadomość za pomocą klucza prywatnego. Szyfrowania 
odbywa się za pomocą specjalnego algorytmy (szyfru) symetrycznego który 
używa klucza prywatnego. 
3. Odbiorca przy pomocy klucza prywatnego odszyfrowuje wiadomość.

Widzimy więc schemat szyfrowania symetrycznego jest bardzo prosty. 
Szyfrowanie symetryczny umożliwia poufność danych, czyli udostępnienie ich 
tylko osobom które posiadają odpowiedni klucz. Informacje których nie chcemy 
udostępniać osobom postronnym mogą mieć różnoraki charakter, stąd często 
spotykamy się z takim pojęciami jak:
- poufność danych/informacji
- poufność transakcji
- poufność płac/wynagrodzenia

background image

Szyfrowanie symetryczne

background image

Szyfrowanie asymetryczne

Szyfrowanie asymetryczne  jest nieco bardziej skomplikowane od 
szyfrowania symetrycznego. Podstawowa różnica polega na tym, że tutaj 
wyróżniamy dwa klucze - prywatny i publiczny. Oba klucze generowane są 
przez odbiorcę.

1. Odbiorca za pomocą specjalnego algorytmu (szyfru) 
asymetrycznego
 generuje oba klucze. Klucz publiczny odbiorca przekazuję 
nadawcy. Ponieważ jest on publiczny odbiorca nie musi martwić się o jego 
przekazanie nadawcy.
2. Nadawca korzystając z przekazanego mu klucza publicznego szyfruje 
wiadomość. 
3. Odbiorca odszyfrowuje wiadomość za pomocą prywatnego 
klucza. UWAGA: Na tym i następnych diagramach pojawiać będą się klucze w 
kolorach białym i czarnym. Czarny oznacza klucz prywatny, a biały klucz 
publiczny. Jeżeli ktoś postronny zdobył ten klucz publiczny również może 
zaszyfrować wiadomość. Pamiętajmy jednak że tylko odbiorca dysponuje 
kluczem prywatnym, a w szyfrowaniu asymetrycznym wiadomość 
zaszyfrowana za pomocą klucza publicznego może być odszyfrowana tylko za 
pomocą klucza prywatnego! Dlatego odbiorca nie powinien nikomu innemu 
udostępniać klucza prywatnego! Jeżeli nie udostępni, to nikt kto zna klucz 
publiczny nie będzie w stanie odszyfrować wiadomości
. Przedstawione 
powyżej szyfrowanie asymetryczne - podobnie jak szyfrowanie symetryczne - 
służy zapewnieniu poufności

background image

Szyfrowanie asymetryczne

background image

SSL – Secure Socket Layer

SSL jest protokołem opracowanym przez firmę Netscape. Jest on 
otwartym standardem, dzięki czemu jest zaimplementowany między 
innymi w większości przeglądarek internetowych. Protokół SSL zapewnia 
trzy podstawowe funkcje: prywatność - dane transmitowane przy użyciu 
protokołu SSL są szyfrowane; potwierdzenie tożsamości serwera za 
pomocą certyfikatów cyfrowych, co utrudnia możliwość podszycia się pod 
serwer; integralność przesyłanych danych przy użyciu sum 
kontrolnych - utrudnia to dokonanie wandalizmu na transmitowanych 
danych. 

W czasie transmisji danych wykorzystywany jest jednorazowy klucz sesji. 
Aby go uzgodnić, program klienta oraz serwer wykorzystują technikę 
kluczy publicznych. W uproszczeniu mechanizm ustanawiania sesji 
wygląda następująco: klient wysyła komunikat Client.Hello zawierający 
informacje o kliencie oraz klucz publiczny, serwer analizuje dane. Jeśli 
wersja SSL oraz mechanizmy szyfrowania się zgadzają, odsyła 
zaszyfrowany kluczem publicznym klienta komunikat Server.Hello. W 
odpowiedzi znajduje się klucz publiczny serwera; klient po otrzymaniu 
odpowiedzi odsyła komunikat zawierający żądanie przesłania klucza sesji. 
Komunikat jest zaszyfrowany za pomocą klucza publicznego serwera; po 
otrzymaniu komunikatu od klienta serwer odsyła zaszyfrowany kluczem 
publicznym klienta klucz sesji, który będzie wykorzystany do transmisji 
danych. 

background image

Podpis cyfrowy

Podpis cyfrowy musi spełniać te same warunki co 
podpis odręczny, tzn. powinien być trudny lub 
niemożliwy do podrobienia, umożliwiać weryfikację i na 
trwałe łączyć się z dokumentem. Przy podpisach 
cyfrowych używa się kryptografii klucza publicznego 
opartej na dwóch dużych liczbach: kluczach prywatnym 
i publicznym. Taką parę unikalnych kluczy przypisuje się 
każdemu użytkownikowi systemu. Warunkiem 
koniecznym jest założenie, że dostęp do klucza 
prywatnego posiada tylko i wyłącznie jego właściciel, 
natomiast odpowiadający mu klucz publiczny musi być 
osiągalny dla każdej zainteresowanej osoby . W ten 
sposób odbiorca podpisanej wiadomości może 
zweryfikować otrzymany dokument wraz z podpisem. 

background image
background image

Podpis cyfrowy powinien zapewniać:

uniemożliwienie podszywanie się innych 
pod daną osobę (uwierzytelnienie osoby, 
autentyfikacja)

zapewnienie wykrywalności wszelkiej 
zmiany w danych transakcji (integralność 
transakcji)

zapewnienie niemożliwości wyparcia się 
podpisu przez autora

umożliwienie weryfikacji podpisu przez 
osobę niezależną.

background image
background image

RSA

RSA - jeden z pierwszych i obecnie 
najpopularniejszych asymetrycznych algorytmów 
kryptograficznych z kluczem publicznym. Pierwszy 
algorytm, który może być stosowany zarówno do 
szyfrowania jak i do podpisów cyfrowych. Bezpieczeństwo 
szyfrowania opiera się na trudności faktoryzacji dużych 
liczb złożonych. Analogicznie, RSA może zostać użyte do 
przeprowadzenia operacji podpisu. W takim przypadku 
szyfruje się zazwyczaj skrót wiadomości za pomocą klucza 
prywatnego i propaguje taki szyfrogram wraz z oryginalną 
wiadomością. Odbiorca posiadający klucz publiczny jest w 
stanie zdeszyfrować wartość funkcji skrótu oraz porównać 
ją z wyliczoną wartością tejże funkcji z otrzymanej 
wiadomości. Jeśli obie wartości się zgadzają, to przyjmuje 
się, że wiadomość została podpisana

background image

DES

DES (ang. Data Encryption Standard) –
symetryczny szyfr blokowy zaprojektowany w 1975 roku 
przez IBM na zlecenie ówczesnego Narodowego Biura 
Standardów USA. Od kilku lat uznawany jest za algorytm 
niezapewniający odpowiedniego bezpieczeństwa, 
głównie ze względu na niewielką długość klucza, która 
sprawia, że jest bardzo podatny na atak siłowy. Pomimo 
tego, że DES jest jednym z najlepiej przeanalizowanych 
szyfrów blokowych, nadal najbardziej praktycznym 
atakiem na niego jest atak brutalny. Atak brutalny jest 
jedną z najpopularniejszych metod łamania wszelkich 
szyfrów. Polega on na wygenerowaniu wszystkich 
możliwych kluczy i sprawdzeniu, który z nich umożliwia 
odszyfrowanie szyfrogramu. W przypadku tego ataku 
długość klucza definiuje trudność złamania szyfru. 

background image

3DES

3DES to algorytm szyfrowania symetrycznego 

polegający na trzykrotnym przetworzeniu wiadomości 
algorytmem DES:

szyfrujemy pierwszym kluczem

deszyfrujemy drugim kluczem

szyfrujemy trzecim kluczem
Użycie deszyfrowania jako drugiej fazy nie wpływa na 
siłę algorytmu (deszyfrowanie w DES-ie jest identyczne 
jak szyfrowanie, tylko ma odwróconą kolejność rund), 
ale umożliwia – w razie konieczności – użycie 3DES-a w 
trybie kompatybilności z DES-em – za klucz pierwszy i 
drugi, lub drugi i trzeci przyjmujemy dowolny taki sam 
klucz, a za ostatni zwykły klucz DES-owski. 

background image

IDEA

International Data Encryption 
Algorithm
 (ang. IDEA) – szyfr blokowy. 
Początkowo szyfr nazywał się Proposed Encryption 
Standard
(PES), jednak po odkryciu kryptoanalizy 
różnicowej został poprawiony i przemianowany 
na Improved Proposed Encryption Standard (IPES). 
Szyfr był objęty patentem w wielu krajach i 
udostępniony do darmowego użytku tylko w celach 
niekomercyjnych. IDEA wykorzystuje ten sam 
algorytm do procesu szyfrowania i deszyfrowania 
wiadomości. Tekst jawny szyfrowany jest z 
wykorzystaniem mieszania oraz rozpraszania. 

background image

MD5

MD5 – algorytm z dziedziny kryptografii. Jest to popularna 
kryptograficzna funkcja skrótu, która z dowolnego ciągu danych 
generuje 128-bitowy skrót. W 2004 znaleziono sposób na 
generowanie kolizji MD5, co obniża jego bezpieczeństwo w 
niektórych zastosowaniach (np. podpisywaniu plików). Z powodu 
znanych ataków kryptoanalitycznych funkcja MD5 zdecydowanie 
nie powinna być używana w zastosowaniach wymagających 
odporności na kolizje, na przykład w podpisie cyfrowym. Dość 
powszechnym zastosowaniem MD5 jest generowanie skrótów 
wszelkiego rodzaju plików udostępnianych publicznie (najczęściej 
w Internecie), dzięki czemu osoba, która pobrała dany plik z sieci 
może od razu zweryfikować (generując skrót MD5 na swojej kopii i 
porównując wyniki) czy jest to ten sam plik, który został 
zamieszczony przez jego autora lub czy nie nastąpiły 
przekłamania podczas samego procesu pobierania danych. 


Document Outline