KRYPTOLOGIA =KRYPTOGRAFIA+KRYPTOANALIZA 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ść klucza Ilość wariantów Czas ataku sprzętowego Czas ataku programowego 2000 2010 40 b 240=1012 0,02 sek 0,2 ms 3,3 min 2 sek 56 b 256=1016 21 min 13 sek 115 dni 2 dni 64 b 264=1019 4 dni 1 godz 100 lat 1 rok 80b 280=1026 700 lat 7 lat 106 lat 70 tys. lat 112 b 2112=1033 1012 lat 1010 lat 1016 lat 1014 lat 128 b 2128=1038 1017 lat 1015 lat 1021 lat 1019 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*1015 liczb. W 1997 ustanowiono nagrodę 10 tys. $ za jego złamanie. Po 90 dniach klucz złamano po 18*1015 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) Klucz (54 bity +8 bitów parzystości) DES Szyfrogram (64 bity)
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 NADAWCA WIADOMOŚĆ JAWNA Szyfrowanie z użyciem klucza k1 WIADOMOŚĆ ZASZYFROWANA PRZESYŁANIE ODBIORCA Deszyfrowanie z użyciem klucza k2 WIADOMOŚĆ ODTWORZONA
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=me(mod n). Deszyfrowanie wiadomości m: m=cd(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) Nadawca generuje losowy klucz szyfrujący K dla DES (64 bity). Nadawca szyfruje tekst algorytmem DES z kluczem K. Nadawca pobiera klucz publiczny odbiorcy [e,n] Nadawca szyfruje klucz K algorytmem RSA kluczem publicznym odbiorcy [e,n]. Nadawca wysyła zaszyfrowaną wiadomość i zaszyfrowany klucz. Odbiorca deszyfruje klucz K algorytmem RSA i swoim kluczem prywatnym d. 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 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 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- kumentu Jednokierunkowa funkcja skrótu Skrót do- kumentu Porównanie skrótów Treść do- kumentu Treść do- kumentu Skrót do- kumentu Skrót do- kumentu Deszyfrowanie PODPIS
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.