1 / 42

Kryptografia w PKI

Kryptografia w PKI. dr inż. Robert Wicik r.wicik@wil.waw.pl. Plan. Kryptografia - oferowane usługi ochrony kryptograficznej informacji Bezpieczeństwo systemów kryptograficznych – parametry bezpieczeństwa szyfrów Algorytmy kryptografii symetrycznej i ich tryby racy

lesa
Download Presentation

Kryptografia w PKI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kryptografia w PKI dr inż. Robert Wicik r.wicik@wil.waw.pl

  2. Plan • Kryptografia - oferowane usługi ochrony kryptograficznej informacji • Bezpieczeństwo systemów kryptograficznych – parametry bezpieczeństwa szyfrów • Algorytmy kryptografii symetrycznej i ich tryby racy • Algorytmy kryptografii asymetrycznej z kluczem publicznym • Kierunki rozwoju kryptografii r.wicik@wil.waw.pl

  3. Kryptografia • Dziedzina wiedzy zajmująca się metodami utajnionego (bezpiecznego) zapisywania i przesyłania wiadomości • Oferowane usługi • Poufność • Integralność • Identyfikacja i Uwierzytelnienie • Niezaprzeczalność • Certyfikacja - PKI r.wicik@wil.waw.pl

  4. System symetryczny • Dla n relacji łączności wymaga generacji n*(n-1)/2 kluczy i dystrybucji po n-1 kluczy dla każdego użytkownika • Uwierzytelnienie wynika z tajnych kluczy r.wicik@wil.waw.pl

  5. System asymetryczny z kluczem publicznym • Dla n podmiotów w sieci łączności wymagana jest generacja n kompletów kluczy • Uwierzytelnienie wymaga zastosowania zaufanej trzeciej strony (TTP) i certyfikacji kluczy r.wicik@wil.waw.pl

  6. Certyfikacja w PKI • Schemat, z wykorzystaniem którego zaufana strona (TTP, CA - urząd certyfikujący) może zaręczyć za nieznanego użytkownika lub obiekt • Wykorzystuje certyfikaty łączące klucze publiczne z danymi ich użytkowników, podpisane przez wystawcę (urząd certyfikujący) • Techniki stosowane w certyfikacji w PKI: • Kryptografia z kluczem publicznym • Zaufana trzecia strona (TTP) r.wicik@wil.waw.pl

  7. Infrastruktura Klucza Publicznego (PKI) • CA (Certificate Authority) – urząd certyfikujący • RA (Registration Authority) – organ rejestrujący • Repozytorium – publiczny katalog o użytkownikach i certyfikatach r.wicik@wil.waw.pl

  8. CA - Urząd certyfikujący • Centralna jednostka w PKI odpowiedzialna za uwierzytelnienie i unieważnianie certyfikatów użytkowników i obiektów • Może generować klucze • Wydaje certyfikaty, które unikalnie identyfikują użytkowników i obiekty poprzez powiązanie z kluczami publicznymi • Publikuje certyfikaty w repozytorium (X500, LDAP) w tym certyfikaty unieważnione (Certificate Revocation Lists - CRL) r.wicik@wil.waw.pl

  9. RA – Urząd rejestrujący • Odgrywa rolę pośrednika między CA a użytkownikami, którzy potrzebują certyfikatów • Weryfikuje tożsamość użytkownika i rejestruje go, podpisuje i wysyła wniosek o wydanie certyfikatu do CA • RA może generować i wydawać klucze, hasła, numery PIN r.wicik@wil.waw.pl

  10. Repozytorium • Przechowuje w publicznych katalogach (X500, LDAP) dane o użytkownikach i ich certyfikatach • Umożliwia identyfikację użytkowników i weryfikację ich certyfikatów • Zawiera listę unieważnionych certyfikatów (Certificate Revocation Lists - CRL) r.wicik@wil.waw.pl

  11. Zawartość certyfikatu – X509 • Wersja i numer seryjny • Identyfikator algorytmu podpisu • Klucz publiczny użytkownika • Nazwa użytkownika • Informacje o użytkowniku i zakres stosowania certyfikatu • Data ważności • Nazwa i podpis wystawcy certyfikatu r.wicik@wil.waw.pl

  12. Droga życia certyfikatu • Weryfikacja tożsamości użytkownika (RA) • Generowanie kluczy dla użytkownika • Tworzenie certyfikatu - podpisanie przez CA klucza publicznego użytkownika oraz danych opisujących użytkownika • Użytkowanie kluczy prywatnych i certyfikatów użytkownika • Unieważnianie i uaktualnianie certyfikatów r.wicik@wil.waw.pl

  13. Weryfikacja podpisów • Weryfikacja podpisu pod dokumentem z wykorzystaniem certyfikatu (klucza publicznego) nadawcy • Pobranie klucza publicznego CA • Weryfikacja podpisu cyfrowego pod certyfikatem nadawcy • Sprawdzenie daty ważności i zakresu stosowania certyfikatu nadawcy r.wicik@wil.waw.pl

  14. Bezpieczeństwo systemów kryptograficznych • Systemy bezwarunkowo bezpieczne • Entropia wiadomości mniejsza od entropii klucza H(M)H(K) • System z kluczem jednorazowym (one time pad) • Systemy warunkowo bezpieczne • Entropia wiadomości większa od entropii klucza H(M)>H(K) • Szyfry symetryczne i asymetryczne z kluczem ustalonej długości (np. 128, 1024 bity) r.wicik@wil.waw.pl

  15. Bezpieczeństwo szyfrów warunkowo bezpiecznych • Określa się poprzez: • złożoność obliczeniową najlepszego ataku • możliwości obliczeniowe przeciwnika • czas ważności wiadomości • Szyfr uznaje się za warunkowo bezpieczny, gdy: • Najlepszy atak na szyfr ma złożoność (czasową i pamięciową) zbliżoną do ataków brutalnych, które także nie powinny być w praktyce skuteczne dla tego szyfru r.wicik@wil.waw.pl

  16. Oszacowanie bezpiecznych długości kluczy w czasie A.Lenstra, E.Verheul, Slecting Cryptographic Key Sizes, Journal of Cryptology, Springer-Verlag. r.wicik@wil.waw.pl

  17. Wymagania bezpieczeństwa dla algorytmów • Szyfr blokowy • Klucz: 128 (256) bitów, blok: 128 bitów • Szyfr strumieniowy • Klucz, pamięć funkcji: 128 (256) bitów • Funkcja skrótu • Blok skrótu: 160 (256, 512) bitów • Algorytmy z kluczem publicznym • RSA – 1024 (2048-4096) bitów klucza • DSA – 1024/160 (2048/192) bitów klucza • EC – 160 (256) bitów klucza Security Requirements for NESSIE - New European Schemes for Signature, Integrity and Encryption r.wicik@wil.waw.pl

  18. Algorytmy kryptograficzne w PKI • RSA Labs • Szyfr symetryczny: RC4, RC5 • Funkcje skrótu: MD2, MD5 • Szyfr asymetryczny do uzgadniania kluczy i schemat podpisu: RSA • Standardowe - NIST • Szyfry symetryczne: DES, 3DES, AES • Funkcja skrótu: SHA-1, SHA-256,384,512 • Protokoły uzgadnia kluczy: DH, ECDH • Podpisy cyfrowe: DSA, ECDSA r.wicik@wil.waw.pl

  19. DES • Standard Szyfrowania Danych • 1973/1977 – IBM/NIST/NSA • Blokowy szyfr symetryczny • 56 bitów klucza • 64 bity bloku danych wejściowych • Iteracyjna struktura typu Feistel wykorzystująca operacje podstawieniowe, przestawieniowe i sumy bitowej XOR • Tryby pracy: ECB, CBC, OFB, CFB r.wicik@wil.waw.pl

  20. ECB – Tryb elektronicznej książki kodowej • Dostęp do pojedynczych bloków z możliwością ich zmiany (także przez przeciwnika) • Błędy nie powielają się na kolejne bloki r.wicik@wil.waw.pl

  21. CBC – Tryb łańcuchowania kryptogramów • Randomizacja kryptogramu przez IV • Utrudniona zmiana pojedynczych bloków • Powielanie błędów w tekście jawnym i kryptogramie r.wicik@wil.waw.pl

  22. OFB – Sprzężenia zwrotne wyjścia • Szyfrowanie strumieniowe wymagające synchronizacji IV • Nie powiela błędów ani w tekście jawnym, ani w kryptogramie r.wicik@wil.waw.pl

  23. CFB – Sprzężenia zwrotne kryptogramu • Szyfrowanie strumieniowe nie wymaga synchronizacji IV • Powiela błędy tekstu jawnego i kryptogramu (max n bitów) r.wicik@wil.waw.pl

  24. 3DES • Potrójny DES (DES-EDE) E(x)=Ek3{Dk2 [Ek1(x)]} • 64 bitów bloku danych • 168 bitów klucza, gdy k1k2k3 • 112 bitów bloku klucza, gdy k1=k3 – nie zalecane • Uznawany za bezpieczny, ale nieefektywny • Dodatkowe tryby pracy CBC – nie zalecane r.wicik@wil.waw.pl

  25. RC5 • Szyfr blokowy – (Rivest) Ron’s Code 1994 • Zmienna ilość bitów klucza (128) • Zmienna ilość rund (12) przetwarzających po 2 w-bitowe słowa (w=16, 32 lub 64) • Iteracyjna struktura wykorzystująca operacje sumowania mod 2w, sumy bitowej XOR i rotacje zależne od danych • Inne: RC2, RC4, RC6 r.wicik@wil.waw.pl

  26. AES • Advanced Encryption Standard wywodzący się z szyfru Rijndael • 1997/2000 - NIST • 128 bitów bloku danych szyfrowanych (tablica 4x4xbajty) • 128/192/256 bitów klucza • Szyfr iteracyjny wykorzystujący operacje podstawiania i przestawiania bajtów oraz sumy bitowej XOR r.wicik@wil.waw.pl

  27. Struktura AES r.wicik@wil.waw.pl

  28. Bezpieczeństwo AES • Długi klucz: 128-256 bitów • Długi blok szyfrowany: 128 bitów • Tylko 1 nieliniowy S-box, ale zaprojektowany pod kątem wysokiej odporności na kryptoanalizy • Operacje przestawiania bajtów zapewniające dyfuzję • Autorzy i wyniki konkursu potwierdzają odporność szyfru na znane ataki • Czas pokaże rzeczywiste bezpieczeństwo r.wicik@wil.waw.pl

  29. Nowoczesne algorytmy blokowe 128-bitowy blok, 128/256-bitowy klucz • MARS – IBM • RC6 – RSA Labs • Rijndael – J. Daemen, V. Rijmen • Serpent – R. Anderson, E. Biham, L. Knudsen • Twofish – B. Schneier i inni • CAST-256 – C. Adams, S. Tavares, Entrust r.wicik@wil.waw.pl

  30. MD5 • Funkcja skrótu - Message Digest • Projekt Rona Rivesta na bazie MD4, 1991 • Skraca bloki 512-bitowe • Daje 128-bitowy skrót • Iteracyjna struktura wykorzystująca bitowe operacje AND, OR, XOR, sumę modulo 232 i rotacje zależne od stałych • Zoptymalizowana na procesory 32-bitowe r.wicik@wil.waw.pl

  31. SHA-1 • Funkcja skrótu – Secure Hash Algorithm • Projekt NIST na bazie MD4 - 1995 • Skraca bloki 512-bitowe • Daje 160-bitowy skrót • Iteracyjna struktura wykorzystująca bitowe operacje AND, OR, XOR, sumę modulo 232 i rotacje zależne od stałych • Bezpieczniejsza od MD5 ze względu na dłuższy skrót (160 vs. 128) • Obecnie zalecane SHA-256,384, 512 r.wicik@wil.waw.pl

  32. Szyfr RSA • Szyfr z kluczem publicznym – 1977r. • Autorzy: Rivest, Shamir, Adleman • Liczba modularna: n=pq, =(p-1)(q-1) • Klucz szyfrujący: e, NWD(e,)=1 • Klucz deszyfrujący: d, d=e-1 (mod ) • Szyfrowanie: c=me mod n • Deszyfrowanie: m=cd mod n • Klucz szyfrujący e można opublikować r.wicik@wil.waw.pl

  33. Podpis RSA • Podpis bazujący na szyfrze RSA • Liczba modularna: n=pq, =(p-1)(q-1) • Klucz podpisu : d, NWD(d, )=1 • Klucz weryfikacji: e, e=d-1 (mod ) • Podpisywanie: h=H(m), s=hd mod n • Weryfikacja: h’=H(m), h”=se mod n jeżeli h’=h” – podpis OK • Klucz weryfikacji e można opublikować r.wicik@wil.waw.pl

  34. Bezpieczeństwo RSA • Bezpieczeństwo klucza deszyfrującego/podpisującego d opiera się na trudności rozkładu liczby n na czynniki p i q w celu obliczenia , a następnie znalezienia klucza: d=e-1 (mod ) • Zalecane p1024 • Bezpieczeństwo wiadomości m wynika z trudności znalezienia pierwiastka dyskretnego ec (mod n) r.wicik@wil.waw.pl

  35. Podpis DSA • Algorytm podpisu dla Digital Signature Standard - NIST, 1991r. • Bazuje na systemie ElGamala (1985) • Liczby modularne: p i q • Klucz podpisu: a(0,q) • Klucz weryfikacji:  i y, =g(p-1)/q mod p, g*p y=a mod p • Klucz weryfikacji y można opublikować r.wicik@wil.waw.pl

  36. Podpis DSA • Podpisywanie: h=H(m) Rnd k(0,q) r=(k mod p) mod q s=k-1(h+ar) mod q • Weryfikacja: h’=H(m) u1=h’s-1 mod q u2=rs-1 mod q v= (u1su2 mod p) mod q jeżeli v=r – podpis OK r.wicik@wil.waw.pl

  37. Bezpieczeństwo DSA • Bezpieczeństwo klucza podpisu a opiera się na trudności jego znalezienia na podstawie elementu klucza weryfikacji y • Problem logarytmu dyskretnego a=log y mod p • Dodatkowe zabezpieczenie daje parametr k losowany w czasie podpisywania • Zalecane: p1024, q160 r.wicik@wil.waw.pl

  38. Protokół Diffiego-Hellmana • Protokół uzgadniania klucza • W. Diffie, M. Hellman - 1976 • Liczba modularna p, Generator g • A losuje x, oblicza i wysyła X=gx mod p • B losuje y, oblicza i wysyła Y=gy mod p • A oblicza k=Yx mod p • B oblicza k=Xy mod p • k=gxy mod p jest uzgodnionym kluczem • Brak uwierzytelnienia r.wicik@wil.waw.pl

  39. Bezpieczeństwo DH • Bezpieczeństwo protokołu (uzgodnionego klucza) opiera się na trudności obliczenia logarytmów dyskretnych x=loggX mod n i y=loggY mod n niezbędnych do znalezienia klucza k=gxy mod n • Nieodporny na atak typu man-in-the-middle i wymaga dodatkowego uwierzytelnienia (certyfikacji) r.wicik@wil.waw.pl

  40. Krzywe eliptyczne (EC) • V. Miller - 1985, N. Koblitz - 1987 • Krzywa eliptyczna: zbiór punktów (x,y) na krzywej opisanej wzorem (NIST): y2=x3-3x+b w GF(p) lub: y2+xy=x3+x2+b w GF(2m) • Bezpieczeństwo oparte na trudności rozwiązania problemu logarytmu dyskretnego na krzywej (znalezienia k na podstawie punktów G i Y=kG) r.wicik@wil.waw.pl

  41. Krzywe eliptyczne (EC) • Krótkie klucze: 160-256 bitów • Efektywność protokołu ECDH i podpisu ECDSA porównywalna z klasycznymi DH i DSA • Skomplikowany i czasochłonny proces generacji krzywej - obliczania ilości punktów na krzywej r.wicik@wil.waw.pl

  42. Kierunki rozwoju • Opracowywanie nowych, bezpieczniejszych protokołów i algorytmów kryptograficznych • Badania nad bezpieczeństwem algorytmów i protokołów • Zwiększanie efektywności implementacji rozwiązań kryptograficznych • Rozwój i wdrażanie systemów PKI • Standaryzacja i uregulowania prawne • Certyfikacja systemów ochrony informacji r.wicik@wil.waw.pl

More Related