kryptografia w pki

42
Kryptografia w PKI dr inż. Robert Wicik [email protected]

Upload: lesa

Post on 12-Jan-2016

95 views

Category:

Documents


1 download

DESCRIPTION

Kryptografia w PKI. dr inż. Robert Wicik [email protected]. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kryptografia w PKI

Kryptografia w PKI

dr inż. Robert Wicik

[email protected]

Page 2: Kryptografia w PKI

[email protected] 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

Page 3: Kryptografia w PKI

[email protected] 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

Page 4: Kryptografia w PKI

[email protected] 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

c=Ek(m)

szyfrowanie m=Dk(c)

deszyfrowanie m m c

kanał odkryty

źródło kluczy

k - prywatny

k - prywatny

kanał chroniony

Page 5: Kryptografia w PKI

[email protected] 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

c=Ee(m)

szyfrowanie m=Dd(c)

deszyfrowanie m m c

kanał odkryty

źródło kluczy

d - prywatny

e=fj(d) - publiczny

kanał odkryty

Page 6: Kryptografia w PKI

[email protected] 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)

Page 7: Kryptografia w PKI

[email protected] 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

RA

CA

Network Repository Public Directory

User Applications

Page 8: Kryptografia w PKI

[email protected] 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)

Page 9: Kryptografia w PKI

[email protected] 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

Page 10: Kryptografia w PKI

[email protected] 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)

Page 11: Kryptografia w PKI

[email protected] 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

Page 12: Kryptografia w PKI

[email protected] 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

Page 13: Kryptografia w PKI

[email protected] 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

Page 14: Kryptografia w PKI

[email protected] 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)

Page 15: Kryptografia w PKI

[email protected] 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

Page 16: Kryptografia w PKI

[email protected] 16

Oszacowanie bezpiecznych długości kluczy w czasie

Rok Szyfry symetryczne/Funk

cje skrótu

Klasyczne szyfry asymetryczne

Krzywe Eliptyczne

Koszt $ ataku w 1

dzień

Lata obliczeń na PII450MHz

1982 56/112 288/417

(102)

105 4,0*107 1,1*103

2000 70/140 704/952

(125)

132 1,4*108 1,6*107

2010 78/156 1056/1369

(138)

146/160 2,8*108 3,2*109

2020 86/172 1472/1881

(151)

161/188 5,6*108 6,5*1011

2050 109/218 3392/4047

(193)

206/272 4,4*109 5,5*1018

A.Lenstra, E.Verheul, Slecting Cryptographic Key Sizes, Journal of Cryptology, Springer-Verlag.

Page 17: Kryptografia w PKI

[email protected] 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

Page 18: Kryptografia w PKI

[email protected] 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

Page 19: Kryptografia w PKI

[email protected] 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

Page 20: Kryptografia w PKI

[email protected] 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

P1 P2

C1 C2

Ek Ek

Bloki tekstu jawnego ->

Bloki kryptogramów ->

Szyfrowanie ->

P3

C3

Ek

Page 21: Kryptografia w PKI

[email protected] 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

IV P1

C0 C1

Ek Ek

Bloki tekstu jawnego ->

Bloki kryptogramów ->

Szyfrowanie ->

P2

C2

Ek

Page 22: Kryptografia w PKI

[email protected] 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

IV

O

Ek n

r

n

n

r r P P C

IV

O

Ek

n

n

Page 23: Kryptografia w PKI

[email protected] 23

CFB – Sprzężenia zwrotne kryptogramu

Szyfrowanie strumieniowe nie wymaga synchronizacji IV

Powiela błędy tekstu jawnego i kryptogramu (max n bitów)

IV

O

Ek r

r

n

n

IV

O

Ek r

r

n

n

r r P P C

Page 24: Kryptografia w PKI

[email protected] 24

3DES

Potrójny DES (DES-EDE)E(x)=Ek3{Dk2 [Ek1(x)]}

64 bitów bloku danych 168 bitów klucza, gdy k1k2k3 112 bitów bloku klucza, gdy k1=k3 – nie

zalecane Uznawany za bezpieczny, ale nieefektywny Dodatkowe tryby pracy CBC – nie zalecane

Page 25: Kryptografia w PKI

[email protected] 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

Page 26: Kryptografia w PKI

[email protected] 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

Page 27: Kryptografia w PKI

[email protected] 27

Struktura AES

AddRoundKey

SubBytes

FinalRound

ShiftRows

MixColumns

AddRoundKey Key

Expansion

State 4x4xbajt

Key

Round i

State 4x4xbajt

Page 28: Kryptografia w PKI

[email protected] 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

Page 29: Kryptografia w PKI

[email protected] 29

Nowoczesne algorytmy blokowe128-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

Page 30: Kryptografia w PKI

[email protected] 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

Page 31: Kryptografia w PKI

[email protected] 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

Page 32: Kryptografia w PKI

[email protected] 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ć

Page 33: Kryptografia w PKI

[email protected] 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ć

Page 34: Kryptografia w PKI

[email protected] 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 p1024 Bezpieczeństwo wiadomości m wynika z

trudności znalezienia pierwiastka dyskretnego ec (mod n)

Page 35: Kryptografia w PKI

[email protected] 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ć

Page 36: Kryptografia w PKI

[email protected] 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

Page 37: Kryptografia w PKI

[email protected] 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: p1024, q160

Page 38: Kryptografia w PKI

[email protected] 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

Page 39: Kryptografia w PKI

[email protected] 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)

Page 40: Kryptografia w PKI

[email protected] 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)

Page 41: Kryptografia w PKI

[email protected] 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

Page 42: Kryptografia w PKI

[email protected] 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