Kryptografia i PKI (Infrastruktura Kluczy Publicznych)

40
Kryptografia Kryptografia i PKI i PKI (Infrastruktura Kluczy (Infrastruktura Kluczy Publicznych) Publicznych) Rafal Lukawiecki, Project Botticelli [email protected] www.projectbotticelli.co.uk

description

Kryptografia i PKI (Infrastruktura Kluczy Publicznych). Rafal Lukawiecki, Project Botticelli [email protected] www.projectbotticelli.co.uk. Cele sesji. Zrozumieć podstawy kryptografii i PKI (niezależnie od dostępnych produktów) Objaśnić popularną terminologię Dać kilka rad - PowerPoint PPT Presentation

Transcript of Kryptografia i PKI (Infrastruktura Kluczy Publicznych)

Page 1: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

Kryptografia Kryptografia i PKI i PKI (Infrastruktura Kluczy (Infrastruktura Kluczy Publicznych)Publicznych)

Rafal Lukawiecki, Project Botticelli [email protected]

Page 2: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

22

Cele sesjiCele sesji Zrozumieć podstawy kryptografii i PKI Zrozumieć podstawy kryptografii i PKI

(niezależnie od dostępnych produktów)(niezależnie od dostępnych produktów) Objaśnić popularną terminologięObjaśnić popularną terminologię Dać kilka radDać kilka rad

Uwaga: to jest szybka i gwałtowna Uwaga: to jest szybka i gwałtowna sesjasesja

Page 3: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

33

Zasoby (assets)Zasoby (assets)

Co zabezpieczamy?Co zabezpieczamy? Generalnie informatycy zabezpieczająGeneralnie informatycy zabezpieczają::

DaneDane SerwisySerwisy ( (czyli aplikacje, procesy biznesowe lub czyli aplikacje, procesy biznesowe lub

ich komponentyich komponenty)) Niektóre zasoby są kluczowe – Key Assets Niektóre zasoby są kluczowe – Key Assets

(KA), od nich zależy bezpieczeństwo innych (KA), od nich zależy bezpieczeństwo innych zasobówzasobów

Ta sesja nie jest o zabezpieczaniuTa sesja nie jest o zabezpieczaniu:: LudziLudzi ( (przepraszamprzepraszam), ), kabli, dywanów, maszyn do kabli, dywanów, maszyn do

pisania lub komputerów (?!)pisania lub komputerów (?!)

Page 4: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

44

Bezpieczeństwo cyfrowe Bezpieczeństwo cyfrowe przedłużeniem fizycznego przedłużeniem fizycznego bezpieczeństwa kluczowych zasobówbezpieczeństwa kluczowych zasobów

Mocne fizyczneMocne fizycznebezp. KAbezp. KA

Mocne bezp.Mocne bezp.cyfrowecyfrowe

BezpiecznieBezpiecznie

Słabe fizyczneSłabe fizycznebezp. KAbezp. KA

Mocne bezp.Mocne bezp.cyfrowecyfrowe

Niebez-Niebez-pieczniepiecznie

Mocne fizyczneMocne fizycznebezp. KAbezp. KA

Słabe bezp.Słabe bezp.cyfrowecyfrowe

Niebez-Niebez-pieczniepiecznie

Page 5: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

55

Użycia kryptografiiUżycia kryptografii TajnośćTajność

◄ ◄ Niepowołani nie rozumieją informacjiNiepowołani nie rozumieją informacji Spójność (integrity)Spójność (integrity)

◄ ◄ Od razu jest bardzo widoczne jeśli ktoś zmieni Od razu jest bardzo widoczne jeśli ktoś zmieni informacjęinformację

AutentycznośćAutentyczność ◄ ◄ Możemy zweryfikować związek między autorami i Możemy zweryfikować związek między autorami i

zasobemzasobem IdentifikacjaIdentifikacja

◄ ◄ Wiemy kto konkretnie jest związany z zasobem Wiemy kto konkretnie jest związany z zasobem (np. jako autor)(np. jako autor)

Niezaprzeczalność (nNiezaprzeczalność (non-repudiationon-repudiation))◄ ◄ Nie da się powiedzieć „ja tego nie podpisałem”Nie da się powiedzieć „ja tego nie podpisałem”

Page 6: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

66

KryptografiaKryptografia

Używamy trudnej matematyki by osiągnąć Używamy trudnej matematyki by osiągnąć cele właśnie przedyskutowanecele właśnie przedyskutowane

““StatycznaStatyczna”” Nie pozwala wykryć problemów wynikających ze Nie pozwala wykryć problemów wynikających ze

schematu specyfiki prób włamania i dostępu w schematu specyfiki prób włamania i dostępu w pewnym okresie czasupewnym okresie czasu

Zależy od bezpieczeństwa zasobów Zależy od bezpieczeństwa zasobów kluczowych (np. główne klucze prywatne)kluczowych (np. główne klucze prywatne)

Moc maleje z upływem czasu i rozwoju Moc maleje z upływem czasu i rozwoju technik kryptoanalitycznychtechnik kryptoanalitycznych

Page 7: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

77

Podstawy KryptografiiPodstawy Kryptografii

Page 8: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

88

Co jest bezpieczneCo jest bezpieczne??

Używaj systemów:Używaj systemów: Od znanych producentówOd znanych producentów Z opublikowanymi (nie tajnymi!) algorytmamiZ opublikowanymi (nie tajnymi!) algorytmami Którymi się interesuje wiele ludziKtórymi się interesuje wiele ludzi Które przeżyły próby wielu włamań przez lataKtóre przeżyły próby wielu włamań przez lata Które były przeanalizowane matematycznieKtóre były przeanalizowane matematycznie

W żadnym wypadku W żadnym wypadku nienie „ulepszaj” „ulepszaj” algorytmówalgorytmów

Zatrudnij kogoś by spróbował się włamaćZatrudnij kogoś by spróbował się włamać

Page 9: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

99

Uproszczona terminologiaUproszczona terminologia

Tekst jawny (plaintext)Tekst jawny (plaintext) To co chcemy zabezpieczyć, np. czytelny list który To co chcemy zabezpieczyć, np. czytelny list który

zaszyfrujemyzaszyfrujemy Tekst zaszyfrowany (ciphertext)Tekst zaszyfrowany (ciphertext)

Nieczytelne informacje, które trzeba rozszyfrowaćNieczytelne informacje, które trzeba rozszyfrować KluczKlucz

Potrzebny by szyfrować lub rozszyfrowywać (lub oba)Potrzebny by szyfrować lub rozszyfrowywać (lub oba) KryptoanalizaKryptoanaliza

Łamanie systemów korzystając z matematykiŁamanie systemów korzystając z matematyki Teoria złożoności (complexity theory)Teoria złożoności (complexity theory)

Mierzy jak trudno się włamać do systemówMierzy jak trudno się włamać do systemów

Page 10: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1010

Kryptografia symetrycznaKryptografia symetryczna

EncryptionEncryption

““The quick The quick brown fox brown fox jumps over jumps over the lazy the lazy dog”dog”

““AxCv;5bmEseTfid3)AxCv;5bmEseTfid3)fGsmWe#4^,sdgfMwifGsmWe#4^,sdgfMwir3:dkJeTsY8R\s@!r3:dkJeTsY8R\s@!q3%”q3%”

““The quick The quick brown fox brown fox jumps over jumps over the lazy the lazy dog”dog”

DecryptionDecryption

Plain-text inputPlain-text input Plain-text outputPlain-text outputCipher-textCipher-text

Taki sam Taki sam kluczklucz

((współdzielonywspółdzielony))

Page 11: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1111

Symetryczność: zalety i wadySymetryczność: zalety i wady WadyWady::

Trzeba się zgodzić na klucz przed użyciemTrzeba się zgodzić na klucz przed użyciem Jak bezpiecznie przekazać klucz Jak bezpiecznie przekazać klucz

odbiorcy?odbiorcy? ZaletyZalety::

Łatwe i bardzo szybkie algorytmy Łatwe i bardzo szybkie algorytmy ((rzędu rzędu 1000 1000 dodo 10000 10000 szybsze niż asymetryczneszybsze niż asymetryczne)) SuperSuperszybkieszybkie jeżeli implementacja sprzętowajeżeli implementacja sprzętowa

(DES, Rijndael)(DES, Rijndael) Sprzętowe implementacje są bezpieczniejsze Sprzętowe implementacje są bezpieczniejsze

niż czysto software-oweniż czysto software-owe

Page 12: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1212

Kryptografia publiczna Kryptografia publiczna (asymetryczna)(asymetryczna) Wiedza o kluczu szyfrującym nie Wiedza o kluczu szyfrującym nie

pozwala* odgadnąć klucza pozwala* odgadnąć klucza odszyfrowującegoodszyfrowującego

Odbiorca informacji generuje parę Odbiorca informacji generuje parę kluczykluczy I publikuje swój klucz publiczny w jakimś I publikuje swój klucz publiczny w jakimś

katalogukatalogu Zatem każdy może jej posyłać Zatem każdy może jej posyłać

zaszyfrowane danezaszyfrowane dane

Page 13: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1313

Szyfrowanie publiczne (asym)Szyfrowanie publiczne (asym)

EncryptionEncryption

““The quick The quick brown fox brown fox jumps over jumps over the lazy the lazy dog”dog”

““Py75c%bn&*)9|Py75c%bn&*)9|fDe^bDFaq#xzjFr@gfDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’r5=&nmdFg$5knvMd’rkvegMs”kvegMs”

““The quick The quick brown fox brown fox jumps over jumps over the lazy the lazy dog”dog”

DecryptionDecryption

Clear-text InputClear-text Input Clear-text OutputClear-text OutputCipher-textCipher-text

RóżneRóżne k kluczelucze

Publiczny Publiczny klucz klucz odbiorcyodbiorcy

Prywatny Prywatny klucz klucz odbiorcyodbiorcy

privatprivatee

publicpublic

Page 14: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1414

Proces złożony z obuProces złożony z obu

Data RecoveryData RecoveryField generationField generation

(e.g., RSA)(e.g., RSA)DRFDRF

Publiczny klucz agenta Publiczny klucz agenta odtwarzania danych na odtwarzania danych na wypdek katastrofywypdek katastrofy

Launch keyLaunch keyfor nuclearfor nuclear

missile missile ““RedHeat” RedHeat”

is...is...

Data DecryptionData DecryptionField generationField generation

(e.g., RSA)(e.g., RSA)

DDFDDF

PublicznyPubliczny klucz klucz użytkownika użytkownika (z certyfikatu)(z certyfikatu)

RNGRNG

Losowo Losowo wygenerowany klucz wygenerowany klucz sesyjny (FEK)sesyjny (FEK)

File encryptionFile encryption((npnp. DES). DES)

*#$fjda^j*#$fjda^ju539!3tu539!3t

t389E *&\@t389E *&\@5e%32\^kd5e%32\^kd

Page 15: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1515

*#$fjda^j*#$fjda^ju539!3tu539!3t

t389E *&\@t389E *&\@5e%32\^kd5e%32\^kd

Launch keyLaunch keyfor nuclearfor nuclear

missile missile ““RedHeat” RedHeat”

is...is...

Launch keyLaunch keyfor nuclearfor nuclear

missile missile ““RedHeat” RedHeat”

is...is...

File decryptionFile decryption(e.g., DES)(e.g., DES)

DDFDDF

DDF extractionDDF extraction(e.g., RSA)(e.g., RSA)

File encryptionFile encryptionkey (FEK)key (FEK)

DDF DDF rozszyfrowujemy rozszyfrowujemy używając używając prprywatnegoywatnego kkluczalucza by uzyskać by uzyskać FEKFEK

DDF DDF zawiera klucz zawiera klucz FEK zaszyfrowany FEK zaszyfrowany publicpublicznymznym kkluczemluczem odbiorcy odbiorcy

PPrivatrivatnynykklucz odbiorcylucz odbiorcy

Podwójne odszyfrowaniePodwójne odszyfrowanie

Page 16: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1616

Podstawy Podstawy PKIPKI

Page 17: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1717

Problem klucza publicznegoProblem klucza publicznego

Rozwiązaliśmy problem przekazania kluczaRozwiązaliśmy problem przekazania klucza AleAle…… Scott Scott tworzy parę kluczy i daje wszystkim tworzy parę kluczy i daje wszystkim

swój klucz publiczny mówiąc, że należy do swój klucz publiczny mówiąc, że należy do BillBillaa

Ludzie szyfrują tajne dane dla Ludzie szyfrują tajne dane dla BillBillaa Bill Bill nie ma klucza prywatnego by to nie ma klucza prywatnego by to

odszyfrowaćodszyfrować…… Scott Scott czyta wiadomości posłane do Billaczyta wiadomości posłane do Billa

Page 18: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1818

Eureka!Eureka!

Potrzebujemy PKI by rozwiązać ten Potrzebujemy PKI by rozwiązać ten problemproblem

I kilka innych problemówI kilka innych problemów……

Page 19: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

1919

Jak zweryfikować klucz Jak zweryfikować klucz publicznypubliczny?? Dwa podejściaDwa podejścia::

1.1. Zadzwoń do Billa zanim użyjesz jego Zadzwoń do Billa zanim użyjesz jego klucza i sprawdźklucza i sprawdź

Fingerprint Fingerprint lub jakaś suma kontrolnalub jakaś suma kontrolna

2.2. Poproś kogoś komu już ufasz by Poproś kogoś komu już ufasz by zcertyfikował prawdziwość klucza Billazcertyfikował prawdziwość klucza Billa

Niech się oni cyfrowo podpiszą pod kluczem Niech się oni cyfrowo podpiszą pod kluczem BillaBilla

Ale musisz komuś ufaćAle musisz komuś ufać……

Page 20: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2020

Modele zaufaniaModele zaufania

Web-of-Trust (PGP)Web-of-Trust (PGP) Model „koleżeński”Model „koleżeński” Ludzie podpisują sobie klucze nawzajemLudzie podpisują sobie klucze nawzajem

Trusted Authority + Path of Trust (CAs)Trusted Authority + Path of Trust (CAs) Każdy ufa w Każdy ufa w Certificate Authority (Verisign, Certificate Authority (Verisign,

Thawte, BT etc.)Thawte, BT etc.) CA CA cyfrowo podpisuje kluczecyfrowo podpisuje klucze CA CA może nawet nominować inne może nawet nominować inne CAsCAs

Page 21: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2121

Problemy i przyszłość modeli Problemy i przyszłość modeli zaufaniazaufania Web-of-trust Web-of-trust jest bardziej wiarygodnyjest bardziej wiarygodny

Ale trudniejszy i zajmuje dużo czasu oraz Ale trudniejszy i zajmuje dużo czasu oraz zarządzaniazarządzania

CAs CAs są prostsze ale bardziej jak „wielki są prostsze ale bardziej jak „wielki brat”brat” Tańsze i łatwiej nimi zarządzaćTańsze i łatwiej nimi zarządzać

Strategia połączonaStrategia połączona?? Niech CA werifikuje ludzi techniką web-of-Niech CA werifikuje ludzi techniką web-of-

trusttrust

Page 22: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2222

Podpisujemy cyfrowoPodpisujemy cyfrowo

Hash Hash Function Function

(SHA, MD5)(SHA, MD5)

Jrf843kjfgf*Jrf843kjfgf*££$&Hdif*7oU$&Hdif*7oUsd*&@:<CHsd*&@:<CHDFHSD(**DFHSD(**

Py75c%bn&*)9|Py75c%bn&*)9|fDe^bDFaq#xzjFr@gfDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’r5=&nmdFg$5knvMd’rkvegMs”kvegMs”

This is a This is a really long really long message message about about Bill’s…Bill’s…

AsymmetricAsymmetricEncryptionEncryption

Message or FileMessage or File Digital SignatureDigital Signature128 Bytes 128 Bytes Message DigestMessage Digest

Funkcja hash użyta by Funkcja hash użyta by skalkulować krótki, skalkulować krótki, unikatowy „odcisk unikatowy „odcisk palca” wiadomościpalca” wiadomości

Kluczy Kluczy prywatnyprywatny podpisu-podpisu-jącegojącego

privatprivatee

Page 23: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2323

Verifying a Digital SignatureVerifying a Digital Signature

Jrf843kjfJrf843kjfgf*£$&Hdgf*£$&Hdif*7oUsdif*7oUsd

*&@:<CHD*&@:<CHDFHSD(**FHSD(**

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

AsymmetricAsymmetricdecryption decryption (e.g. RSA)(e.g. RSA)

Każdy wierzy w Każdy wierzy w publiczny klucz bo publiczny klucz bo go może go może zweryfikowaćzweryfikować

PublicznyPubliczny klucz klucz podpisującegopodpisującego

Digital SignatureDigital Signature

This is a This is a really long really long message message

about Bill’s…about Bill’s…

Same hash functionSame hash function(e.g. MD5, SHA…)(e.g. MD5, SHA…)

OrOryg. wiadomośćyg. wiadomość

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

Py75c%bn&*)Py75c%bn&*)9|fDe^bDFaq9|fDe^bDFaq#xzjFr@g5=#xzjFr@g5=

&nmdFg$5kn&nmdFg$5knvMd’rkvegMs”vMd’rkvegMs”

? == ?? == ?Are They Same?Are They Same?

Page 24: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2424

CertyfikatyCertyfikaty

Najprostszy toNajprostszy to:: Informacja o właścicielu iInformacja o właścicielu i Jego klucz publicznyJego klucz publiczny

To wszystko jest podpisane przez CA To wszystko jest podpisane przez CA któremu ufamyktóremu ufamy

Page 25: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2525

X.509 CertificateX.509 Certificate

Certificate Authority Digital Signature Certificate Authority Digital Signature of All Components Together:of All Components Together:

Serial NumberSerial Number

Issuer X.500 Issuer X.500 Distinguished NameDistinguished Name

Validity PeriodValidity Period

Subject X.500Subject X.500Distinguished NameDistinguished Name

Subject Public KeySubject Public KeyInformationInformation

Key/Certificate UsageKey/Certificate Usage

ExtensionsExtensions

OU=Project OU=Project Botticelli…Botticelli…

The Key or Info About ItThe Key or Info About It

Page 26: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2626

Weryfikacja autentycznościWeryfikacja autentyczności

1.1. Melinda Melinda dostaje certyfikatdostaje certyfikat Bill Billaa2.2. Sprawdza podpis na certyfikacieSprawdza podpis na certyfikacie

Więc wierzy w certyfikatWięc wierzy w certyfikat Ale czy przed nią stoi Bill czy ScottAle czy przed nią stoi Bill czy Scott

3.3. Melinda prosi by Bill zaszyfrował losowo wybraną frazę Melinda prosi by Bill zaszyfrował losowo wybraną frazę ((“I really need more shoes”“I really need more shoes”))

4.4. Bill ma swój prywatny klucz więc odpowiadaBill ma swój prywatny klucz więc odpowiada ( (“*&$^%£“*&$^%£$&£fhsdf*&EHFDhd62^&£”$&£fhsdf*&EHFDhd62^&£”))

5.5. Melinda odszyfrowuje i porównuje odpowiedź – jako że Melinda odszyfrowuje i porównuje odpowiedź – jako że się zgadza, wie że przed nią jest jedyny właściciel się zgadza, wie że przed nią jest jedyny właściciel klucza prywatnego czyli Billklucza prywatnego czyli Bill

Tak działa SSL...Tak działa SSL...

Page 27: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2727

Krótki opis algorytmówKrótki opis algorytmów

Page 28: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2828

DES, IDEA, RC2, RC5, RijndaelDES, IDEA, RC2, RC5, Rijndael

SymmetricSymmetric

DES (Data Encryption Standard) is the most popularDES (Data Encryption Standard) is the most popular NSA may know “back door” - not very likely considering NSA may know “back door” - not very likely considering

20 years research20 years research

Keys very short: 56 bitsKeys very short: 56 bits

Triple DES (3 DES) not much more secure but may thwart Triple DES (3 DES) not much more secure but may thwart NSANSA

IDEA (International Data Encryption Standard)IDEA (International Data Encryption Standard) Similar to DES, but “not” from NSASimilar to DES, but “not” from NSA

128 bit keys128 bit keys

RC2 & RC5 (by R. Rivest)RC2 & RC5 (by R. Rivest) RC2 is older and RC5 newer (1994) - similar to DES and RC2 is older and RC5 newer (1994) - similar to DES and

IDEAIDEA

Page 29: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

2929

RijndaelRijndael Standard replacement for DES for US government, Standard replacement for DES for US government,

and, probably for all of us as a result…and, probably for all of us as a result… Winner of the AES (Advanced Encryption Standard) Winner of the AES (Advanced Encryption Standard)

competition run by NIST (National Institute of Standards and competition run by NIST (National Institute of Standards and Technology in US) in 1997-2000Technology in US) in 1997-2000

Comes from Europe (Belgium) by Joan Daemen and Vincent Comes from Europe (Belgium) by Joan Daemen and Vincent Rijmen. “X-files” stories less likely (unlike DES). Rijmen. “X-files” stories less likely (unlike DES).

Symmetric block-cipher (128, 192 or 256 bits) with Symmetric block-cipher (128, 192 or 256 bits) with variable keys (128, 192 or 256 bits, too)variable keys (128, 192 or 256 bits, too)

Fast and a lot of good properties, such as good Fast and a lot of good properties, such as good immunity from timing and power (electric) analysisimmunity from timing and power (electric) analysis

Construction deceptively similar to DES (S-boxes, Construction deceptively similar to DES (S-boxes, XORs etc.) but XORs etc.) but really really differentdifferent

Page 30: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3030

RC4RC4

SymmetricSymmetric Fast, streaming encryptionFast, streaming encryption

R. Rivest in 1994R. Rivest in 1994 Originally secret, but “published” on sci.cryptOriginally secret, but “published” on sci.crypt

Related to “one-time pad”, theoretically most Related to “one-time pad”, theoretically most securesecure

But!But! It relies on a really good random number It relies on a really good random number

generatorgenerator And that is the problemAnd that is the problem

Page 31: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3131

RSA, ElGamal, ECCRSA, ElGamal, ECC

AsymmetricAsymmetric Very slow and computationally expensive – need a computerVery slow and computationally expensive – need a computer Very secureVery secure

Rivest, Shamir, Adleman – 1978Rivest, Shamir, Adleman – 1978 Popular and well researchedPopular and well researched Strength in today’s inefficiency to factorise into prime Strength in today’s inefficiency to factorise into prime

numbersnumbers Some worries about key generation process in some Some worries about key generation process in some

implementationsimplementations ElGamalElGamal

Relies on complexity of discrete logarithmsRelies on complexity of discrete logarithms ECC (Elliptic Curve Cryptography)ECC (Elliptic Curve Cryptography)

If you understand how it works you are probably a If you understand how it works you are probably a mathematicianmathematician

Better than RSA, in generalBetter than RSA, in general

Page 32: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3232

MD5, SHAMD5, SHA

Hash functions – not encryption at all!Hash functions – not encryption at all! Goals:Goals:

Not reversible: can’t obtain the message from its hashNot reversible: can’t obtain the message from its hash Hash much shorter than originalHash much shorter than original Two messages won’t have the same hashTwo messages won’t have the same hash

MD5 (R. Rivest)MD5 (R. Rivest) 512 bits hashed into 128512 bits hashed into 128 Mathematical model still unknownMathematical model still unknown But it resisted major attacksBut it resisted major attacks

SHA (Secure Hash Algorithm)SHA (Secure Hash Algorithm) US standard based on MD5US standard based on MD5

Page 33: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3333

Diffie-Hellman, “SSL”, CertsDiffie-Hellman, “SSL”, Certs Methods for key exchangeMethods for key exchange DH is very clever since you always DH is very clever since you always

generate a new “key-pair” for each generate a new “key-pair” for each asymmetric sessionasymmetric session STS, MTI, and certs make it even saferSTS, MTI, and certs make it even safer

SSL uses a protocol to exchange keys SSL uses a protocol to exchange keys safelysafely

Certs (certificates) are the most Certs (certificates) are the most common way to exchange public keyscommon way to exchange public keys Foundation of Public Key Infrastructure Foundation of Public Key Infrastructure

(PKI)(PKI)

Page 34: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3434

Breaking It on $10 MillionBreaking It on $10 Million

Symme-Symme-tric Keytric Key

ECC KeyECC Key RSA KeyRSA Key Time to Time to BreakBreak

MachinesMachines MemoryMemory

5656 112112 420420 < 5 mins< 5 mins 1000010000 TrivialTrivial

8080 160160 760760 600 600 monthsmonths

43004300 4GB4GB

9696 192192 10201020 3 million 3 million yearsyears

114114 170GB170GB

128128 256256 16201620 10E16 10E16 yearsyears

0.160.16 120TB120TB

From a report by Robert Silverman, RSA Laboratories, 2000

Page 35: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3535

RekomendacjeRekomendacje

Page 36: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3636

Typowe rekomendacje mocy Typowe rekomendacje mocy (May 2003)(May 2003)

MinimumMinimum LepiejLepiej

Symmetric KeySymmetric Key 96 bits (avoid DES as it can 96 bits (avoid DES as it can do only 56, instead use do only 56, instead use AES-Rijndael or RC5)AES-Rijndael or RC5)

256 bits (Rijndael, RC5 256 bits (Rijndael, RC5 128bits, 128bits, notnot DES) DES)

Asymmetric KeyAsymmetric Key 1024 (RSA)1024 (RSA) 4096 (RSA)4096 (RSA)

ECC KeyECC Key 192 bits192 bits 256 bits256 bits

Hash: SHA/MD5Hash: SHA/MD5 128 bits (128 bits (absolutely notabsolutely not 64 64 bits)bits)

256 bits or more256 bits or more

Common Cert Common Cert Classes – Classes –

Personal and Personal and Employee Employee

Common Use Common Use

Class 2 (in Verisign Class 2 (in Verisign classification)classification)

Class 3 at least ((in Class 3 at least ((in Verisign classification)Verisign classification)

Page 37: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3737

Słabe systemySłabe systemy

Cokolwiek z Cokolwiek z 40-bit40-bitówów ( (nawet nawet 128 128 ii 56 bit 56 bitowe owe gdzie „przyblokowano” częśćgdzie „przyblokowano” część))

CLIPPERCLIPPER A5 (GSM)A5 (GSM) Vigenère (Vigenère (komórki w komórki w UUSASA))

Pochodzi z Pochodzi z 1585!1585! Certyfikaty niezweryfikowaneCertyfikaty niezweryfikowane Słabe certyfikaty Słabe certyfikaty ((klasa 1 itdklasa 1 itd))

Page 38: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3838

PamiętajPamiętaj:: Nie używaj nietestowanych systemówNie używaj nietestowanych systemów Stwórz swoje PKI i bardzo dbaj o Stwórz swoje PKI i bardzo dbaj o

klucze prywatneklucze prywatne Wybierz i zaimplementuj strategię Wybierz i zaimplementuj strategię

odwoływania kluczyodwoływania kluczy Używaj smartcardsUżywaj smartcards Silne hasła są ważne...Silne hasła są ważne...

Page 39: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

3939

PodsumowującPodsumowując

Zdecyduj co zabezpieczyćZdecyduj co zabezpieczyćMiej szefa bezpieczeństwa -Miej szefa bezpieczeństwa - CSO (Chief CSO (Chief

Security Officer)Security Officer)Używaj mocnych algorytmówUżywaj mocnych algorytmówBalansuj bezpieczństwo z używalnościąBalansuj bezpieczństwo z używalnością

Page 40: Kryptografia  i PKI (Infrastruktura Kluczy Publicznych)

4040

Kroki następneKroki następne

www.microsoft.com/securitywww.microsoft.com/security Studiuj Studiuj PKI PKI CzytajCzytaj::

Applied CryptographyApplied Cryptography, B. Schneier, John Wiley & Sons, , B. Schneier, John Wiley & Sons, ISBN 0-471-12845-7ISBN 0-471-12845-7

Foundations of CryptographyFoundations of Cryptography, O. Goldereich, , O. Goldereich, www.eccc.uni-trier.de/eccc-local/ECCC-Books/oded_boowww.eccc.uni-trier.de/eccc-local/ECCC-Books/oded_book_readme.htmlk_readme.html

Handbook of Applied CryptographyHandbook of Applied Cryptography, A.J. Menezes, CRC , A.J. Menezes, CRC Press, Press, ISBN 0-8493-8523-7ISBN 0-8493-8523-7

PKIPKI, A. Nash et al., RSA Press, ISBN 0-07-213123-3, A. Nash et al., RSA Press, ISBN 0-07-213123-3 Cryptography in C and C++Cryptography in C and C++, M. Welschenbach, Apress, , M. Welschenbach, Apress,

ISBN 1-893115-95-X (includes code samples CD)ISBN 1-893115-95-X (includes code samples CD)