KRYPTOLOGIA
=KRYPTOGRAFIA+KRYPTOANALIZ
A
•
Kryptologia (W.Diffie, M.Hellman) - nauka o metodach
przesyłania wiadomości w zamaskowanej postaci, tak aby
tylko odbiorca był w stanie odczytać wiadomość wysłaną
przez nadawcę, będąc jednocześnie pewnym, że nie
została ona przez nikogo zmodyfikowana.
•
Tekst jawny (otwarty) – wiadomość, która ma być
przesłana.
•
Szyfrowanie – przekształcanie teksu jawnego w
kryptogram przy pomocy funkcji matematycznej i hasła
(klucza)
•
Deszyfrowanie – proces odwrotny do szyfrowania.
•
Klucz – dowolna informacja, obiekt fizyczny lub
matematyczny służący do szyfrowania i deszyfrowania.
•
Algorytm kryptograficzny (szyfr) – funkcja matematyczna
użyta do szyfrowania i deszyfrowania.
•
Algorytm ograniczony – zabezpieczenie oparte jest tylko
na utrzymaniu w tajemnicy idei algorytmu
kryptograficznego.
•
Algorytm bezpieczny – taki, który może być złamany tylko
teoretycznie.
SYMETRYCZNE ALGORYTMY
KRYPTOGRAFICZNE
•
Znane od dawna, istnieje jeden tajny klucz, który służy do
szyfrowania i deszyfrowania i jest wspólny dla nadawcy i
odbiorcy.
- Zalety: szybkość i odporność na złamanie, dopóki klucz
jest rzeczywiście tajny.
- Wady: nie daje pewności, że wiadomość pochodzi
faktycznie od nadawcy, przydatny do korespondencji tylko
2 osób.
•
Algorytm DES, 1977 (Data Encryption Standard) – szyfr
przestawieniowo-podstawieniowy. 64 bitowe bloki danych
i 64 bitowy klucz w 16 cyklach.
•
Algorytm IDEA, 1990 (International Data Encryption
Algorithm) – szyfr blokowy, oparty na 64-bitowych blokach
tekstu jawnego. Klucz ma długość 128 bitów. Szyfrowanie
w 8 cyklach. Następca DES.
•
Algorytm AES, 2000 (Advanced Encryption Data) – 128
bitowe bloki danych kodowane 128, 192, 256 bitowymi
kluczami – konkurs ogłoszony przez NIST.
•
Algorytm Rijndael (standard światowy) autorstwa 2
Belgów Rijmen’a i Daemen’a – zwycięzca konkursu na
AES.
ATAK SIŁOWY (KOSZT 1
MLN $)
Długo
ść
klucz
a
Ilość
wariant
ów
Czas ataku
sprzętowego
Czas ataku
programowego
2000
2010
2000
2010
40 b 2
40
=10
1
2
0,02
sek
0,2
ms
3,3
min
2 sek
56 b 2
56
=10
1
6
21 min
13
sek
115
dni
2 dni
64 b 2
64
=10
1
9
4 dni
1
godz
100
lat
1 rok
80b 2
80
=10
2
6
700 lat 7 lat
10
6
lat
70 tys.
lat
112 b 2
112
=10
33
10
12
lat 10
10
lat
10
16
lat
10
14
lat
128 b 2
128
=10
38
10
17
lat 10
15
lat
10
21
lat
10
19
lat
ALGORYTM DES
• Projekt IBM zmodyfikowany przez NSA uznany
przez USA za oficjalny standard szyfrowania danych.
• Szybki, służy do kodowania wiadomości pod
warunkiem zakodowania klucza silniejszym
algorytmem (np. RSA).
• Algorytm opiera się na 64-bitowym tajnym kluczu
(7 znaków + bit parzystości) wykorzystywanym do
kodowania 64-bitowych bloków danych w 16
cyklach.
• Klucz znany jest nadawcy i odbiorcy.
• Klucz dobierany jest losowo spośród 72*10
15
liczb. W
1997 ustanowiono nagrodę 10 tys. $ za jego
złamanie. Po 90 dniach klucz złamano po 18*10
15
próbach.
W 1998 roku złamano szyfr po 39 dniach.
W 1999 roku – po 9 dniach.
ZASADA ALGORYTMU DES
DES
Tekst jawny
(64 bity)
Szyfrogram
(64 bity)
Klucz
(54 bity
+8 bitów
parzystości)
ASYMETRYCZNE ALGORYTMY
KRYPTOGRAFICZNE
• Znane od lat 70., oparte na parze kluczy
komplementarnych – prywatny i publiczny.
Każda wiadomość szyfrowana jest tajnym
kluczem prywatnym i może być
rozszyfrowana tylko za pomocą
odpowiadającego mu jawnego klucza
publicznego i vice versa (proces przemienny).
• Algorytm Diffiego-Hellmana – pierwszy z
wynalezionych algorytmów niesymetrycznych,
stosowany do dystrybucji kluczy.
• Algorytm RSA – najpopularniejszy algorytm
niesymetryczny o zmiennej długości klucza,
opracowany w 1977 r.
WŁASNOŚCI ASYMETRYCZNYCH
ALGORYTMÓW
KRYPTOGRAFICZNYCH
• Jest to algorytm niesymetryczny, tzn. nie można
klucza (prywatnego lub publicznego)
wykorzystać jednocześnie do zaszyfrowania i do
rozszyfrowania.
• Klucza prywatnego nie można (praktycznie)
odtworzyć na podstawie klucza publicznego.
• W zależności od kolejności zastosowania kluczy
zapewnia się albo poufność (szyfrowanie kluczem
publicznym – odszyfrowanie kluczem prywatnym)
albo autentyczność (odwrotnie). Aby uzyskać
obydwa cele naraz należy mieć dwie pary kluczy.
• Nie ma problemu z zaufaniem do partnera i
przekazywaniem mu wspólnego klucza.
IDEA SZYFROWANIA
ASYMETRYCZNEGO
N
A
D
A
W
C
A
WIADOMOŚĆ JAWNA
WIADOMOŚĆ
ZASZYFROWANA
PRZESYŁANIE
WIADOMOŚĆ ODTWORZONA
O
D
B
IO
R
C
A
Szyfrowanie z użyciem
klucza k1
Deszyfrowanie z użyciem
klucza k2
ALGORYTM RSA
• Opracowany (1977) przez Rivest’a, Shamira i Adlemana
szyfr niesymetryczny oparty na potęgowaniu modulo.
• Szyfr wmontowany w programy: Netscape Navigator i
Internet Explorer, HTTPS, PGP (Pretty Good Privacy),
protokoły: SET (Secure Electronic Tranactions), S/MIME
(Secure Multipurpose Internet Mail Extension), SSL
(Secure Socket Layer).
• Złamanie odpowiada znalezieniu stucyfrowych liczb
pierwszych na podstawie znajomości ich iloczynu.
• W 1999 roku złamano szyfr RSA z kluczem o długości
512 bitów (155 cyfr dziesiętnych).
• Obecnie koduje się klucze prywatne przy użyciu 160
bitów i publiczne – 1024/2048 bity. Wysoki poziom
bezpieczeństwa zapewniają klucze 4096-bitowe.
• RSA jest 100-1000 razy wolniejszy od DES. Może być
stosowany do zwykłego szyfrowania, ale głównie służy
do kodowania klucza używanego w DES.
ZASADA ALGORYTMU RSA
• Wybiera się dwie utajnione duże liczby pierwsze p oraz q.
Wyznacza się ich iloczyn n=p*q oraz N=(p-1)*(q-1).
• Kluczem publicznym jest losowo wybrana liczba e,
będąca liczbą względnie pierwszą z N. Klucz publiczny
K=[e,n] służy do szyfrowania wiadomości przeznaczonych
dla właściciela klucza i jest szeroko rozpowszechniany.
• Wyznacza się d tak, aby e*d=1 lub d=e
-1
modulo N.
Klucz prywatny D=[d,n] jest tajny i tylko za jego pomocą
można odszyfrować to co zostało zakodowane kluczem
publicznym.
• Szyfrowanie bloku wiadomości m<n: c=m
e
(mod n).
• Deszyfrowanie wiadomości m: m=c
d
(mod n).
• Liczby pierwsze p, q są usuwane i nigdy nie ujawnione.
• Złamanie algorytmu polega na rozkładzie liczby n na
czynniki pierwsze p, q.
DES + RSA
•
DES (szyfrowanie) + RSA (przekazanie klucza)
1. Nadawca generuje losowy klucz szyfrujący K dla
DES (64 bity).
2. Nadawca szyfruje tekst algorytmem DES z
kluczem K.
3. Nadawca pobiera klucz publiczny odbiorcy [e,n]
4. Nadawca szyfruje klucz K algorytmem RSA
kluczem publicznym odbiorcy [e,n].
5. Nadawca wysyła zaszyfrowaną wiadomość i
zaszyfrowany klucz.
6. Odbiorca deszyfruje klucz K algorytmem RSA i
swoim kluczem prywatnym d.
7. Odbiorca deszyfruje wiadomość algorytmem
DES z kluczem K.
ZALETY I WADY DES I RSA
Zalety DES
Wady DES
- popularność
- mała szybkość
działania
- duża szybkość
- konieczność
certyfikacji kluczy
publicznych
- solidne podstawy
matematyczne
Zalety RSA
Wady RSA
- zmienna długość
klucza
- krótki klucz o
stałej długości
- brak konieczności
dystrybucji Kluczy
- konieczność
dystrybucji kluczy
PODPIS ELEKTRONICZNY
• Dane w postaci elektronicznej, które wraz z innymi
danymi, do których zostały dołączone lub z którymi są
logicznie powiązane, służą do identyfikacji osoby
składającej podpis elektroniczny.
• Bezpieczny podpis elektroniczny to podpis, który:
- jest przyporządkowany wyłącznie osobie go
składającej,
- jest sporządzany za pomocą bezpiecznych urządzeń,
podlegających wyłącznej kontroli osoby go składającej,
- jest powiązany z danymi, do których jest dołączony
tak aby jakakolwiek późniejsza zmiana tych danych
była rozpoznawalna.
• Podpis elektroniczny podobnie jak podpis ręczny :
- identyfikuje osobę podpisującą,
- jest dowodem akceptacji treści podpisanego
dokumentu i zgodą na ponoszenie konsekwencji
prawnych.
CECHY PODPISU
ELEKTRONICZNEGO
• Podpis elektroniczny (w odróżnieniu od podpisu
tradycyjnego):
- za każdym razem jest inny (zależy od treści
dokumentu),
- nie wymaga parafowania każdej strony dokumentu,
- likwiduje pojęcie oryginału i kopii dokumentu,
- winien być bezpieczniejszy, a praktycznie
niemożliwy do podrobienia,
- nie jest związany z nośnikiem papierowym,
- nie zależy od nośnika a jedynie od danych,
- nie zależy od technologii i technik
kryptograficznych,
- pozwala znakować dokument czasem,
- może być przypisany osobom fizycznym i prawnym,
jakkolwiek osoby prawne są reprezentowane przez
oznaczone osoby fizyczne.
ZASTOSOWANIA PODPISU
ELEKTRONICZNEGO
• Handel elektroniczny
• Zdalna praca
• Sektor finansowy (banki, towarzystwa
ubezpieczeniowe)
• Organy administracji rządowej i samorządowej
• Urzędy skarbowe, ZUS
• Księgi notarialne i księgi wieczyste
• Rejestry znaków towarowych i patentów
• Sądownictwo
• Publiczna opieka zdrowotna, zdalna diagnostyka
• Poczta elektroniczna, witryny internetowe
PODPIS RĘCZNY A
ELEKTRONICZNY
Podpis ręczny
Podpis
elektroniczny
Przypisany jednej osobie
Niemożliwy do podrobienia
Uniemożliwia wyparcie się przez autora
Łatwy do weryfikacji przez osobę niezależną
Łatwy do wygenerowania
Związany
nierozłącznie z
dokumentem
Może być składowany i
transmitowany
niezależne od
dokumentu
Taki sam dla
wszystkich
dokumentów
Jest funkcją
dokumentu
Tylko na ostatniej
stronie dokumentu
Obejmuje cały
dokument
WDRAŻANIE PODPISU
ELEKTRONICZNEGO W POLSCE
• 15.XI.2001 – Ustawa podpisie elektronicznym (DzU 130)
• 16.VIII.2002 – Ustawa wchodzi w życie.
• 1 rok – MF dostosuje przepisy o opłatach skarbowych
dotyczące wykorzystywania podpisu elektronicznego.
• 2 lata – banki i organy władzy publicznej mają dostosować
swoją działalność w zakresie świadczenia usług do
specyfiki przepisu elektronicznego.
• 4 lata – organy władzy publicznej mają udostępnić
możliwość wnoszenia podań i wniosków drogą
elektroniczną.
• Bez daty – minister gospodarki i minister administracji
publicznej określi warunki techniczne udostępniania
formularzy i wzorów dokumentów związanych z
wydawaniem podpisu elektronicznego
PODPIS ELEKTRONICZNY W
INNYCH KRAJACH
• Finlandia – zestaw danych, które potwierdzają
integralność i autentyczność wiadomości
elektronicznej przez użycie metody, któa jest dostęna
publicznej kontroli.
• Niemcy (1997) – podpis cyfrowy nie zakłada tej
samej mocy prawnej jak podpis własnoręczny i jest z
definicji oparty na dwóch kluczach – prywatnym i
publicznym.
• W. Brytania (2000) – podpis elektroniczny musi być
dołączony (lub logicznie powiązany) z danymi
elektronicznymi oraz potwierdzony przez osobę go
składającą.
• USA (2000) – elektroniczny dźwięk, symbol lub
proces dołączony lub logicznie powiązany z danymi i
wykorzystany lub przyjęty z zamiarem złożenia
podpisu
PODPISANIE DOKUMENTU
Treść do-
kumentu
Treść do-
kumentu
Treść do-
kumentu
Skrót do-
kumentu
Skrót do-
kumentu
PODPIS
Jednokierunkowa
funkcja skrótu DES
Szyfrowanie skrótu
algorytmem RSA
SPRAWDZENIE PODPISU
Treść do-
kumentu
Treść
do-
kument
u
Skrót do-
kumentu
PODPI
S
Treść
do-
kument
u
Skrót do-
kumentu
Treść
do-
kument
u
Skrót do-
kumentu
Jednokierunkowa funkcja skrótu
Deszyfrowanie
Porównanie skrótów
CERTYFIKACJA KLUCZA
ELEKTRONICZNEGO
• Certyfikacja – elektroniczne zaświadczenie za pomocą
którego dane służące weryfikacji podpisu
elektronicznego są przyporządkowane do osoby fizycznej
składającej podpis i które umożliwiają identyfikację tej
osoby.
• Podmiotem świadczącym usługi certyfikacyjne może być
przedsiębiorca, NBP lub organ władzy publicznej.
• Wymagane elementy certyfikatu:
- numer,
- określenie podmiotu świadczącego usługi
certyfikacyjne,
- imię, nazwisko lub pseudonim osoby składającej podpis,
- dane służące weryfikacji podpisu elektronicznego,
- oznaczenie początku i końca ważności podpisu,
- najwyższa wartość graniczna transakcji,
- ograniczenia zakresu ważności certyfikatu.
INFRASTRUKTURA KLUCZA
ELEKTRONICZNEGO - PKI
• PKI (Public Key Infrastructure) – służy do
zarządzania cyfrowymi certyfikatami i kluczami
szyfrującymi dla osób, programów i systemów.
• Narzędzia:
- szyfrowanie danych dla zapewnienia poufności,
- podpisy cyfrowe dla zapewnienia
niezaprzeczalności oraz weryfikacji integracji
danych,
- certyfikaty uwierzytelniające osoby, aplikacje,
serwisy.
• Urząd Rejestracji - dokonuje weryfikacji danych
użytkownika i jego rejestracji.
• Urząd Certyfikacji - wydaje certyfikaty cyfrowe.
• Repozytorium kluczy, certyfikatów i
unieważnionych certyfikatów – udostępnianie
kluczy publicznych i ich certyfikatów
FUNKCJE INFRASTRUKTURY
KLUCZA ELEKTRONICZNEGO - PKI
• Rejestracja użytkownika końcowego.
• Certyfikacja klucza publicznego, wydanie go
użytkownikowi oraz wszystkim zainteresowanym.
• Generacja kluczy. Parę kluczy może wygenerować
użytkownik przesyłając klucz publiczny do
certyfikacji lub może to zrobić Urząd Certyfikacji.
• Odnawianie kluczy po upływie terminu ważności
lub „kompromitacji” klucza prywatnego.
• Certyfikacja wzajemna, pozwalająca
użytkownikom jednej struktury PKI ufać
certyfikatom wystawionym przez inną strukturę.
• Odwołanie certyfikatu, na wypadek
„kompromitacji” klucza prywatnego, zmiany
nazwy użytkownika lub odejście pracownika z
firmy. Tworzona jest Lista Unieważnionych
Certyfikatów.
ZNAKOWANIE CZASEM
• Usługa polegająca na dołączaniu do danych w
postaci elektronicznej oznaczenia czasu w w
chwili złożenia podpisu elektronicznego
(timestamps). Usługa wchodzi w zestaw usług
certyfikacyjnych.
• Czas uwidoczniony w znaku czasu posiada
moc prawną do momentu, w którym ktoś nie
udowodni, że został sfałszowany.
• Nie pozwala na antydatowania dokumentów
oraz ponowne i wielokrotne wprowadzanie do
obiegu tego samego dokumentu (np. czeku)
SSL (Secure Sockets
Layer)
• Protokół Netscape’a pozwalający na bezpieczną,
szyfrowaną komunikację w Internecie, w
szczególności zapewnia:
- autoryzację serwerów internetowych i klientów,
- poufność transmisji danych (szyfrowanie),
- integralność danych (sumy kontrolne).
• Opiera się na technologii RSA szyfrując dane
metodą klucza publicznego.
• Obsługiwany jest przez większość przeglądarek -
ikona złamanego klucza w lewym dolnym rogu.
• Używany przez większość witryn sklepowych -
adres URL strony WWW zaczyna się https.
SET (Secure Electronic
Transactions)
• Standard bezpiecznego posługiwania się
kartami kredytowymi w transakcjach
internetowych.
• Fuzja SSL (Secure Sockets Layer) + STT
(Secure Transactions Technology) + HTTPS
(Secure Hypertext Transfer Protocol) w
połączeniu z elektronicznym podpisem i
silnych metod kryptograficznych (klucze
publiczne
• Zaakceptowany m.in. przez Visa,
Mastercard, Microsoft, Netscape.
Przebieg transakcji SET
• Klient zakłada konto w banku mającym podpisane
umowy z wydawcą jego karty kredytowej i otrzymuje
elektroniczny certyfikat (identyfikator sieciowy).
• Klucz publiczny klienta zostaje potwierdzony
elektronicznym podpisem banku i wydawany jest
sprzedawcom internetowym.
• Klient składa zamówienie na stronie WWW.
• Przeglądarka klienta pobiera i potwierdza
autentyczność witryny. Następnie wysyła
zamówienie zakodowane kluczem publicznym
sprzedawcy oraz numer karty kredytowej
zakodowany kluczem publicznym banku (sprzedawca
nie może poznać numeru karty).
Przebieg transakcji SET (cd)
• Sprzedawca sprawdza autentyczność danych o
kliencie, weryfikując elektroniczny podpis na jego
certyfikacie.
• Sprzedawca przekazuje zamówienie, zakodowany
numer karty klienta oraz jego certyfikat do banku.
• Bank przeprowadza autoryzację sprzedawcy i
klienta oraz potwierdza zdolność płatniczą klienta.
• Podpisana elektronicznie autoryzacja zostaje
odesłana do sprzedawcy, który na jej podstawie
realizuje zamówienie.