Zastosowania kryptografii



Pobieranie 83,72 Kb.
Data21.11.2017
Rozmiar83,72 Kb.

ZASTOSOWANIA KRYPTOGRAFII

Plastikowe pieniądze


  • Karty inteligentne

  • PIN

  • Krzywe eliptyczne

  • Pieniądz cyfrowy

  • Elektroniczna portmonetka



Kryptograficzne układy scalone


  • CLIPPER

  • CAPSTONE



Zabezpieczanie komunikacji komputerowej


  • Kerberos

  • Protokół ssh

  • Zabezpieczanie komunikacji telefonicznej

  • ISDN (Integrated Services Digital Network)

  • Telefonia komórkowa

  • Protokół firmy IBM zarządzania kluczem tajnym

  • System KryptKnight

  • Protokół SSL (Secure Socket Layer)



Szyfrowanie systemu plików




Zabezpieczanie poczty elektronicznej


  • System doświadczalny MEMO (MITRE Encrypted Mail Office) w sieci MITRANET

  • PGP (Pretty Good Privacy)

  • PEM (Privacy Enhanced Mail)

  • Protokół z ochroną wiadomości MSP (Message Security Protocol)



Protokoły obrotu finansowego


  • Telephone banking

  • Protokół SET (Secure Electronic Transaction)

KARTY INTELIGENTNE


(Smart cards)

Plastikowe karty:



  • z wtopionym układem elektronicznym (procesorem)

  • posiadają pamięć
    (ograniczoną ze względu na rozmiary karty)

  • nie posiadają własnego zasilania
    (zasilanie przez kontakty na powierzchni karty)


RODZAJE KART INTELIGENTNYCH:

Karty przechowujące dane




  • stosowane do przechowywania danych w miejsce kart magnetycznych,
    ze względu na: większe zasoby pamięci i ich niezawodność;

  • niestosowane jako karty bankowe,
    możliwe jest ich odczytanie (bez właściciela) i skopiowanie;




Karty telefoniczne





  • układ logiczny umożliwia jedynie zmniejszanie salda karty;

  • lepsze od kart magnetycznych, które można łatwo i tanio przemagnetyzować i wykorzystywać ponownie;



Karty identyfikacyjne





  • stosowany jest protokół uwierzytelniający, np. protokół challenge and response;

  • zawiera tajny klucz i dane identyfikacyjne właściciela;

  • może być uruchomiona po padaniu właściwego PIN-u;

  • używane jako karty do bankomatów i kredytowe, a także jako karty dostępu do pomieszczeń lub do komputerów;

KARTY INTELIGENTNE



Elektroniczna portmonetka


  • różni się od kart telefonicznych możliwością ponownego naładowania;

  • musi być zabezpieczona przed nieautoryzowanym jej naładowaniem;

  • ładowanie odbywa się w specjalnych terminalach zaopatrzonych w tajne klucze banku oferującego ten typ karty;

  • użyteczne przy powszechnej dostępności automatów, gdzie możliwe jest płacenie przy ich pomocy;

  • operacje powinny być dokonywane szybko, co wyklucza stosowanie skomplikowanych protokołów kryptograficznych;

  • mieszczą niewielkie kwoty i są ładowane w specjalnych terminalach przy użyciu dobrze już zabezpieczonych kart bankomatowych.


Wady współczesnych kart inteligentnych:

  • układy, które możemy w nich umieścić, są stosunkowo małe;

  • mogą więc operować na mniejszych liczbach zapewniając mniejszy stopień bezpieczeństwa;

  • mała pamięć;

  • nie możliwe jest wykorzystywanie bezpiecznych asymetrycznych systemów kryptograficznych, gdzie wymagane jest stosowanie dużych liczb pierwszych;

  • stopień skomplikowania karty związany jest także z jej ceną;

  • czas operacji (wolny procesor z arytmetyką ośmiobitową).

Rozwiązanie:



Krzywe eliptyczne (Elliptic Curves)

  • korzystają ze złożonej teorii matematycznej;

  • operują na punktach (dwie liczby będące współrzędnymi) co wymaga wstępnego przekodowania;

  • potęgowaniu odpowiada wielokrotność;

  • zapewniają podobne bezpieczeństwo dla dużo mniejszych liczb,
    160 bitów na krzywej odpowiada 1024 bitom w ciele skończonym.

KOD PIN

(Personal Identification Number)

Po włożeniu karty do bankomatu:



  • odczytywane są dane dotyczące banku, numeru konta i numeru karty;

  • z danych tych tworzona jest 15-cyfrowa liczba, szyfrowana następnie przy pomocy DES-a z użyciem tajnego klucza banku;

  • z utworzonego kryptogramu w sposób deterministyczny wyznaczana jest czterocyfrowa liczba, która jest właśnie PIN-em.

Uwierzytelnienie: porównanie obliczonego (w centrali banku) )PIN-u z podanym przez klienta.
Niebezpieczeństwa używanie PIN-u jako metody uwierzytelnienia:
Kradzież karty:

  • złodziej szuka właściwego PIN-u skradzionej karty metodą prób;

  • banki programują tak bankomaty aby zatrzymywały kartę po trzeciej nieudanej próbie;

  • prawdopodobieństwo odgadnięcia właściwego PIN-u w co najwyżej trzech próbach równe jest 0.0003;

  • klient możliwie szybko zgłasza skradzioną kartę.


Znalezienie tajnego klucza banku na podstawie PIN-ów:

  • wymaga przynajmniej częściowego złamania algorytmu DES;

  • wszystkie znane metody łamania DES-a wymagają olbrzymiej liczby par tekst jawny – szyfrogram - nierealistyczne.


Zdradzenie PIN-u w momencie wprowadzania:

  • złodziej może odczytać odciski palców zostawione na klawiaturze, nie zna jedynie kolejności cyfr PIN-u,
    wystarczy odchodząc wcisnąć wszystkie cyfry;

  • podglądanie osoby wprowadzającej PIN,
    wykorzystanie kamer służących do kontroli klientów;


Fałszywe bankomaty:

  • oszust ustawia własny bankomat rejestrujący PIN-y klientów;

  • właściciel „bankomatu” powtarza te operacje w prawdziwym bankomacie opróżniając zdobyte konta;

  • bezpieczne jest używanie tylko znanych bankomatów.

ZABEZPIECZANIE KOMUNIKACJI TELEFONICZNEJ
Cyfrowe kodowanie sygnałów telefonicznych (ISDN, telefony komórkowe) umożliwia zastosowanie technik kryptograficznych do zabezpieczenia komunikacji.
Odpowiednie protokoły gwarantują bezpieczeństwo na dwóch poziomach:

  • uwierzytelnianie połączenia i zabezpieczenie komunikacji pomiędzy aparatami telefonicznymi,

  • uwierzytelnianie użytkowników oraz zabezpieczenie komunikacji między nimi.

Protokół gwarantuje, że:



  • tylko osoby uprawnione mogą korzystać z danego aparatu telefonicznego;

  • po wybraniu numeru albo faktycznie połączymy się z żądanym aparatem telefonicznym, albo wykryjemy manipulacje na centrali telefonicznej;

  • mamy możliwość weryfikacji tożsamości rozmówcy;

  • osoby trzecie nie mogą skutecznie podsłuchać rozmów, ponieważ wiadomości przesyłana jawnym kanałem (łączami telefonicznymi lub drogą radiową) są szyfrowane.

W telefonii komórkowej następuje także uwierzytelnienie dzwoniącej osoby wobec firmy telefonicznej, koszty rozmowy telefonicznej.

Poufność komunikacji telefonicznej wywołuje wiele kontrowersji:


  • umożliwia prowadzenie bezpiecznych operacji bankowych przez telefon;

  • chroni tajemnice firm przed konkurencją i wywiadem gospodarczym;

  • z drugiej strony może być wykorzystywana do celów przestępczych i terrorystycznych.

W Europie - szyfr strumieniowy A5 zbudowany z trzech rejestrów LFSR z kluczem 40-bitowym.

W USA - wersja szyfru Vigenere’a z 1585 roku.

PROTOKÓŁ „ROZMOWY”


Zakładamy, że dzwoniący nie musi się uwierzytelniać wobec centrali.


  1. Alicja uruchamia swój aparat telefoniczny.

  • wkłada swą kartę do telefonu;

  • podaje swój PIN;

  • telefon podaje losowy ciąg do zaszyfrowania;

  • karta szyfruje go tajnym kluczem Alicji;

  • telefon deszyfruje otrzymany test za pomocą klucz publicznego Alice i porównuje z oryginałem.

  1. Aparaty Alicji i Boba nawiązują połączenie.

  • Alicja „wykręca’’ numer Boba;

  • aparaty Boba i Alicji uzgadniają klucz sesyjny jednym z protokołów uzgadniania klucza;

  • cała korespondencja między aparatami jest odtąd szyfrowana tym kluczem.

  1. Aparat Boba sprawdza kto do niego dzwoni.

  • aparat Alicji przekazuje swój certyfikat oraz certyfikat Alicji podpisane przez firmę telefoniczną i zawierające publiczne klucze Alicji i jej aparatu telefonicznego;

  • aparat Boba i aparat Alicji (wraz z jej kartą) przeprowadzają protokół uwierzytelniający Alicję i jej aparat; protokół challenge and response z systemem asymetrycznym.

  1. Aparat Boba dzwoni i sprawdza czy uprawniona osoba podniosła słuchawkę.

  • podobne jak w punkcie 3 w odniesieniu do Alicji.

  1. Aparat Boba informuje, że Bob podniósł słuchawkę i uwierzytelnia jego tożsamość.

  • podobnie jak w punkcie 3.

  1. Bob i Alicja są informowani o nawiązanym połączeniu.

  • aparaty wyświetlają odpowiednie informacje.

  1. Bob i Alicja rozmawiają.

  • transmisja jest kodowana cyfrowo i szyfrowana kluczem sesyjnym.

  1. Zakończenie rozmowy.

  • usuwanie z pamięci aparatów wszystkie informacje powstałe w trakcie wykonywania poszczególnych protokółów;

  • Alicja i Bob wyjmują karty z aparatów.

Mimo dużej liczby operacji, protokół jest szybki. Poza używaniem kart i PIN-ów telefonowanie nie jest trudniejsze od tradycyjnego.



PGP (Pretty Good Privacy)
Autor: Ph. Zimmerman 1991.

Program ochrony poczty elektronicznej dostępny dla różnych systemów operacyjnych: UNIX, Linux, Windows itd.


Funkcje:

  • Poufność

  • Uwierzytelnianie źródła pochodzenia wiadomości

  • Spójność (integralność) wiadomości

  • Niezaprzeczalność nadania


Algorytmy kryptograficzne wykorzystuje przez PGP (Wersja 2):

  • szyfrowanie danych – IDEA w trybie CBC;

  • zarządzanie kluczami – RSA;

  • integralność i podpis cyfrowy – MD5 i RSA;

  • klucze RSA:

  • 384 bity w klasie testowej;

  • 512 bitów w klasie komercyjnej;

  • 1024 bity w klasie wojskowej;


Wiadomość PGP (postać binarna bez nagłówków):

Identyfikator klucza

jawnego odbiorcy


Klucz sesyjny

Znacznik czasu
Identyfikator klucza

jawnego nadawcy


Najbardziej znaczące dwa bajty skrótu wiadomości oktalnie
Skrót wiadomości

Nazwa pliku
Znacznik czasu
Dane




Składniki klucza

sesyjnego

Podpis


Wiadomość

WYSYŁANIE WIADOMOŚCI PGP
Tekst jawny
- skrót MD5 wiadomości;

- szyfrowanie skrótu za pomocą RSA kluczem prywatnym nadawcy;

- kompresja wiadomości wraz z podpisem programem ZIP 2.0

- uzupełnienie do bloków 8 bajtowych

- wytworzenie klucza i wektora IV

- szyfrowanie wiadomości algorytmem

IDEA w trybie CBC

- szyfrowanie klucza i IV RSA kluczem jawnym odbiorcy






  • kodowanie ciągu binarnego na kod ASCII algorytmem radix-64

  • dołączenie kodu detekcji błędów transmisji

Szyfrogram


PGP umożliwia segmentację wiadomości przed wysłaniem i jej scalenie po odbiorze.
Odbieranie wiadomości PGP:

Odwrócenie wszystkich operacji dokonywanych przez nadawcę.


Po odczytaniu wiadomości odbiorca może:

  • zachować wiadomość w postaci odszyfrowanej z podpisem lub bez;

  • zachować wiadomość zaszyfrowaną;


KLUCZE JAWNE PGP
Klucz jawny PGP składa się z:

  • klucza właściwego;

  • identyfikatora użytkownika
    (nazwa z dołączonym adresem internetowym);

  • opcjonalnie podpis cyfrowy.


Nowy użytkownik:

  • generuje własną parę klucz jawny – klucz tajny;

  • daje klucz jawny do podpisania znanym sobie osobom;

  • w wyniku otrzymuje plik ASCII, który rozpowszechnia poprzez:

  • nagranie go na dyskietkę i przekazanie komuś;

  • wysłanie go pocztą elektroniczną;

  • wysłanie go pocztą do serwera kluczy PGP;

  • umieszczenie go we własnym pliku informacyjnym .plan.

Poświadczanie” kluczy jawnych PGP:



  • certyfikowanie typu „friend & family”;

  • dowolny użytkownik PGP nie może sprawdzić poprawności klucza każdego innego użytkownika;




  • Bob pobiera klucz Alicji;

  • przegląda podpisy pod jej kluczem jawnym;

  • jeżeli ufa jednej z osób, które podpisały klucz, ufa kluczowi.

Odcisk palca” (fingerprint)



  • skrót algorytmem MD5 klucza jawnego (16 bajtów);




  • Alicja wysyła pocztą swój klucz jawny Bobowi;

  • Bob pyta telefonicznie Alicją o „odcisk palca” jej klucz;

  • Bob porównuje otrzymany „odcisk” z wyliczonym przez siebie na podstawie wcześniej odebranego klucza;

  • jeśli są one zgodne Bob wie, że klucz Alicji nie uległ sabotażowi podczas transmisji.

Klucze PGP przechowuje się w pękach kluczy (key rings).



PEM (Privacy Enhanced Mail)
Standard definiujący metody szyfrowania wiadomości i procedury uwierzytelniania w celu zapewnienia usług pocztowych o rozszerzonej prywatności.

Stosowany najczęściej z internetowym protokołem SMTP (Simple Mail Transfer Protocol).


Cechy charakterystyczne PEM:

  • Nie jest ograniczony do konkretnego serwera lub systemu operacyjnego, zezwala na współdziałanie wielu różnych systemów. Nie zależy od jakichkolwiek funkcji żadnego z programów pocztowych, systemów operacyjnych, sprzętu lub sieci.

  • Jest zgodny z normalną, nie zabezpieczoną pocztą elektroniczną. Nie ma żadnego wpływu na obsługę poczty w sieci.

  • Jest zgodny z wieloma systemami pocztowymi, protokołami i interfejsami użytkownika.

  • Operacje PEM mogą być realizowane na komputerach osobistych, jak również na dużych systemach.

  • Zapewnia ochronę prywatności poczty elektronicznej.

  • Jest zgodny z różnorodnymi metodami zarządzania kluczami, włączając ręczną dystrybucję kluczy za pomocą kryptografii symetrycznej i wykorzystanie poświadczeń z kluczem jawnym.


PEM zapewnia:

  • Poufność;

  • Uwierzytelnianie źródła pochodzenia wiadomości;

  • Integralność wiadomości;

  • Niezaprzeczalność nadania wiadomości;

  • Zarządzanie kluczami.

Obecny zestaw algorytmów szyfrujących PEM:



  • szyfrowanie – DES w trybie CBC;

  • zarządzanie kluczami – DES w trybie ECB, CBC i RSA;

  • integralność – RSA + MD2, RSA + MD5;

  • podpis cyfrowy – RSA + MD2, RSA + MD5.


WIADOMOŚĆ PEM
Typy wiadomości:

  • MIC-CLEAR
    (integralność + uwierzytelnianie bez poufności);

  • MIC-ONLY
    (MIC-CLEAR + kodowanie);

  • ENCRYPTED
    (integralność + uwierzytelnianie + poufność + kodowanie).


Wiadomość PEM:


--Begin Privacy Enhanced Mail--

Typ obróbki wiadomości

Typ kanonizacji

Algorytm szyfrowania tekstu wiadomości

Urząd wydający klucz

Wersja / Data ważności

Poświadczenie klucza autora

Informacje o kluczu autora

Poświadczenie klucza autora

Informacje o funkcji skrótu

Urząd wydający klucz odbiorcy

Wersja / Data ważności

Zaszyfrowany klucz tajny do szyfrowania wiadomości

Tekst użytkownika




--End Privacy Enhanced Mail--





WYSYŁANIE WIADOMOŚCI PEM


  1. Kanonizacja (standaryzacja).

Przekształcenie wiadomości do postaci, która jest standardem na każdej platformie programowej i każdej maszynie w sieci.


  1. Wstawienie informacji umożliwiających sprawdzenie spójności wiadomości i uwierzytelnienie jej twórcy.

Wyliczenie skrótu skanonizowanej wiadomości algorytmem MD2 lub MD5.

Podpis cyfrowy – szyfrowanie skrótu szyfrem RSA z kluczem prywatnym nadawcy.




  1. Szyfrowanie (opcjonalne).

Dopełnienie do wielokrotności 8 bajtów.

Wygenerowanie klucza i wektora IV.

Szyfrowanie algorytmem DES w trybie CBC.

Szyfrowanie klucza algorytmem RSA kluczem jawnym odbiorcy.




  1. Kodowanie transmisji (opcjonalne).

Kodowanie zaszyfrowanej wiadomości na alfabet 6-bitowy zgodny z SMTP.

„Opakowywanie” wiadomości (encapsulation).



Implementacje PEM:

  • RIPEM (Riordan’s Internet PEM);

Autor: Mark Riordan, program public domain
serwer: ripem.msu.edu/pub/crypt.


  • RIPEM / SIG wariant RIPEM w wersji 1.2;

RSA Data Security Inc.,
bezpłatna licencja na użytkowanie niekomercyjne,
serwer: ripem.msu.edu/pub/crypt/ripem/ripemsig/binaries.


  • TIS-PEM

Trusted Information Systems, Inc

CERTYFIKOWANIE KLUCZY PEM

Standard X.509


Certyfikat Alicji składa się z:

  • klucza jawnego;

  • jej nazwy (imienia) i pewnych innych informacji jej dotyczących;

  • podpisu cyfrowego przez pewną zaufaną osobę – urząd poświadczeń – CA (Certificate Authority)

Każda osoba w świecie PEM może sprawdzić podpis CA po kluczem jawnym Alicji.
Urzędy CA zorganizowane są w hierarchię typu drzewo:













IPRA (Internet PCA Registration Authority) – Urząd Rejestracji Certyfikatów Internetu:

  • odpowiedzialny za rejestrację certyfikatów PCA;

  • zapewnia niepowtarzalność nazw urządów PCA i CA.

PCA (Policy Certification Authority)

  • wydają certyfikaty urzędom CA;

  • mogą mieć inne zasady rejestrowania użytkowników;

Typy urzędów CA:

- Organizacyjne – dla firm;

- Terytorialny – związany z miejscem zamieszkania;


  • Osobisty – umożliwia anonimowość;

KERBEROS

(czyli Cerber z mitologii greckiej)



powstały w MIT protokół służący do zabezpieczania komunikacji w lokalnych sieciach komputerowych.
Aspekty bezpieczeństwa:

  • Cała komunikacja pomiędzy użytkownikiem a jego serwerem następuje w postaci zaszyfrowanej.

  • Dostęp do każdego komponentu systemu następuje wyłącznie za pomocą odpowiedniego biletu.

  • Krytyczne części protokołu są wykonywane na specjalnie chronionych serwerach.

  • Kerberos nie rozwiązuje problemów bezpieczeństwa komputerowego, które powstają w inny sposób niż poprzez przechwytywanie niezaszyfrowanej komunikacji pomiędzy elementami sieci komputerowej.


Komponenty systemu tworzonego przez Kerberos:

Klient: użytkownik bądź proces sieciowy.

Serwer Kerberosa: weryfikuje uprawnienia zgłaszającego się klienta; od niego otrzymuje bilet (ticket), z którym może się zgłosić do TGS. Bilet zawiera informacje potwierdzające autentyczność klienta.

Serwer Przyznawania Biletów TGS (Ticket Granting Server): wystawia bilety niezbędne do uzyskania dostępu do serwerów klientów. Dokonuje tego na podstawie biletu potwierdzającego autentyczność klienta, zgłaszanych przez klienta potrzeb oraz informacji systemowych dotyczących praw dostępu klienta do poszczególnych serwerów.

Serwery klientów: realizują usługi, jakich żądają od nich klienci na podstawie biletów wydanych przez TGS.

UKŁADY SCALONE
CLIPPER

  • Układ scalony VLSI odporny na działania zewnętrzne stosujący algorytm szyfrowania Skipjack (64 bitowy blok wejściowy i wyjściowy, 80 bitowy klucz) zaprojektowany przez NSA;

  • Każdy układ jest unikatowo programowany przed sprzedażą. Do specjalnej pamięci wpisywane są:

  • Numer seryjny układu,

  • Klucz jednostkowy unikatowy dla układu,

  • Klucz rodziny, wspólny dla grupy układów,

  • Wyspecjalizowane oprogramowanie.

  • Podczas generowania (lub otwarcia) klucza sesyjnego układ wykonuje następujące działania:

  1. Szyfruje kluczem jednostkowym 80-bitowy klucz sesyjny, generując 80-bitowy wynik pośredni.

  2. Łączy ten 80-bitowy wynik z 25-bitowym numerem seryjnym i 23-bitowym wzorcem uwierzytelniania (razem 128 bitów).

  3. Szyfruje to kluczem rodziny i otrzymuje 128-bitowy ciąg szyfrogramu nazwany LEF (Law Enforcement Field).

  4. Przynajmniej raz nadaje LEF do układu odbierającego.

  5. Oba komunikujące się układy stosują to pole wspólne z losowym IV do utrzymania synchronizacji.

  6. Po zsynchronizowaniu obu układów, stosuja one klucz sesyjny do szyfrowania danych przesyłanych w obu kierunkach.

Umożliwia to osobie, która zna numer seryjny i klucz jednostkowy odszyfrowywanie wiadomości zaszyfrowanych przez układ. Jest to tzw. tylne wejście do systemu.
CAPSTONE

układ VLSI zaprojektowany przez NSA zawierający funkcje:



  • algorytm szyfrujący Skipjack,

  • algorytm podpisu cyfrowego DSA,

  • algorytmj skrótu SHA,

  • wykładniczy algorytm ogólnego przeznaczenia,

  • generator liczb losowych używający prawdziwego źródła szumu,

  • algorytm wymiany kluczy.




©operacji.org 2017
wyślij wiadomość

    Strona główna