1 / 40

Kryptografia i PKI (Infrastruktura Kluczy Publicznych)

Kryptografia i PKI (Infrastruktura Kluczy Publicznych). Rafal Lukawiecki, Project Botticelli rafal@projectbotticelli.co.uk 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

libba
Download Presentation

Kryptografia i PKI (Infrastruktura Kluczy Publicznych)

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 i PKI (Infrastruktura Kluczy Publicznych) Rafal Lukawiecki, Project Botticelli rafal@projectbotticelli.co.uk www.projectbotticelli.co.uk

  2. Cele sesji • Zrozumieć podstawy kryptografii i PKI (niezależnie od dostępnych produktów) • Objaśnić popularną terminologię • Dać kilka rad • Uwaga: to jest szybka i gwałtowna sesja

  3. Zasoby (assets) • Co zabezpieczamy? • Generalnie informatycy zabezpieczają: • Dane • Serwisy (czyli aplikacje, procesy biznesowe lub ich komponenty) • Niektóre zasoby są kluczowe – Key Assets (KA), od nich zależy bezpieczeństwo innych zasobów • Ta sesja nie jest o zabezpieczaniu: • Ludzi (przepraszam), kabli, dywanów, maszyn do pisania lub komputerów (?!)

  4. Mocne fizycznebezp. KA Mocne fizycznebezp. KA Słabe fizycznebezp. KA Słabe bezp.cyfrowe Mocne bezp.cyfrowe Mocne bezp.cyfrowe Niebez-piecznie Niebez-piecznie Bezpiecznie Bezpieczeństwo cyfrowe przedłużeniem fizycznego bezpieczeństwa kluczowych zasobów

  5. Użycia kryptografii • Tajność ◄ Niepowołani nie rozumieją informacji • Spójność (integrity) ◄ Od razu jest bardzo widoczne jeśli ktoś zmieni informację • Autentyczność ◄ Możemy zweryfikować związek między autorami i zasobem • Identifikacja ◄ Wiemy kto konkretnie jest związany z zasobem (np. jako autor) • Niezaprzeczalność (non-repudiation) ◄ Nie da się powiedzieć „ja tego nie podpisałem”

  6. Kryptografia • Używamy trudnej matematyki by osiągnąć cele właśnie przedyskutowane • “Statyczna” • Nie pozwala wykryć problemów wynikających ze schematu specyfiki prób włamania i dostępu w pewnym okresie czasu • Zależy od bezpieczeństwa zasobów kluczowych (np. główne klucze prywatne) • Moc maleje z upływem czasu i rozwoju technik kryptoanalitycznych

  7. Podstawy Kryptografii

  8. Co jest bezpieczne? • Używaj systemów: • Od znanych producentów • Z opublikowanymi (nie tajnymi!) algorytmami • Którymi się interesuje wiele ludzi • Które przeżyły próby wielu włamań przez lata • Które były przeanalizowane matematycznie • W żadnym wypadku nie „ulepszaj” algorytmów • Zatrudnij kogoś by spróbował się włamać

  9. Uproszczona terminologia • Tekst jawny (plaintext) • To co chcemy zabezpieczyć, np. czytelny list który zaszyfrujemy • Tekst zaszyfrowany (ciphertext) • Nieczytelne informacje, które trzeba rozszyfrować • Klucz • Potrzebny by szyfrować lub rozszyfrowywać (lub oba) • Kryptoanaliza • Łamanie systemów korzystając z matematyki • Teoria złożoności (complexity theory) • Mierzy jak trudno się włamać do systemów

  10. Kryptografia symetryczna Plain-text input Plain-text output Cipher-text “The quick brown fox jumps over the lazy dog” “The quick brown fox jumps over the lazy dog” “AxCv;5bmEseTfid3)fGsmWe#4^,sdgfMwir3:dkJeTsY8R\s@!q3%” Encryption Decryption Taki sam klucz(współdzielony)

  11. Symetryczność: zalety i wady • Wady: • Trzeba się zgodzić na klucz przed użyciem • Jak bezpiecznie przekazać klucz odbiorcy? • Zalety: • Łatwe i bardzo szybkie algorytmy (rzędu 1000 do 10000 szybsze niż asymetryczne) • Superszybkiejeżeli implementacja sprzętowa (DES, Rijndael) • Sprzętowe implementacje są bezpieczniejsze niż czysto software-owe

  12. Kryptografia publiczna (asymetryczna) • Wiedza o kluczu szyfrującym nie pozwala* odgadnąć klucza odszyfrowującego • Odbiorca informacji generuje parę kluczy • I publikuje swój klucz publiczny w jakimś katalogu • Zatem każdy może jej posyłać zaszyfrowane dane

  13. private public Szyfrowanie publiczne (asym) Clear-text Input Clear-text Output Cipher-text “The quick brown fox jumps over the lazy dog” “The quick brown fox jumps over the lazy dog” “Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs” Encryption Decryption Różne klucze Prywatny klucz odbiorcy Publiczny klucz odbiorcy

  14. File encryption (np. DES) *#$fjda^j u539!3t t389E *&\@ 5e%32\^kd Data Decryption Field generation (e.g., RSA) DDF Publiczny klucz użytkownika (z certyfikatu) Data Recovery Field generation (e.g., RSA) DRF Losowo wygenerowany klucz sesyjny (FEK) Publiczny klucz agenta odtwarzania danych na wypdek katastrofy RNG Proces złożony z obu Launch key for nuclear missile “RedHeat” is...

  15. File decryption (e.g., DES) Launch key for nuclear missile “RedHeat” is... File encryption key (FEK) Privatnyklucz odbiorcy DDF extraction (e.g., RSA) DDF rozszyfrowujemy używając prywatnego kluczaby uzyskać FEK DDF zawiera klucz FEK zaszyfrowany publicznym kluczem odbiorcy DDF Podwójne odszyfrowanie *#$fjda^j u539!3t t389E *&\@ 5e%32\^kd

  16. Podstawy PKI

  17. Problem klucza publicznego • Rozwiązaliśmy problem przekazania klucza • Ale… • Scott tworzy parę kluczy i daje wszystkim swój klucz publiczny mówiąc, że należy do Billa • Ludzie szyfrują tajne dane dla Billa • Bill nie ma klucza prywatnego by to odszyfrować… • Scott czyta wiadomości posłane do Billa

  18. Eureka! • Potrzebujemy PKI by rozwiązać ten problem • I kilka innych problemów…

  19. Jak zweryfikować klucz publiczny? • Dwa podejścia: • Zadzwoń do Billa zanim użyjesz jego klucza i sprawdź • Fingerprint lub jakaś suma kontrolna • Poproś kogoś komu już ufasz by zcertyfikował prawdziwość klucza Billa • Niech się oni cyfrowo podpiszą pod kluczem Billa • Ale musisz komuś ufać…

  20. Modele zaufania • Web-of-Trust (PGP) • Model „koleżeński” • Ludzie podpisują sobie klucze nawzajem • Trusted Authority + Path of Trust (CAs) • Każdy ufa w Certificate Authority (Verisign, Thawte, BT etc.) • CA cyfrowo podpisuje klucze • CA może nawet nominować inne CAs

  21. Problemy i przyszłość modeli zaufania • Web-of-trust jest bardziej wiarygodny • Ale trudniejszy i zajmuje dużo czasu oraz zarządzania • CAs są prostsze ale bardziej jak „wielki brat” • Tańsze i łatwiej nimi zarządzać • Strategia połączona? • Niech CA werifikuje ludzi techniką web-of-trust

  22. private Podpisujemy cyfrowo Message or File Digital Signature 128 Bytes Message Digest This is a really long message about Bill’s… Jrf843kjfgf*£$&Hdif*7oUsd*&@:<CHDFHSD(** Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs” Hash Function (SHA, MD5) AsymmetricEncryption Funkcja hash użyta by skalkulować krótki, unikatowy „odcisk palca” wiadomości Kluczy prywatny podpisu-jącego

  23. Digital Signature Jrf843kjfgf*£$&Hdif*7oUsd*&@:<CHDFHSD(** Asymmetricdecryption (e.g. RSA) Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs” ? == ? Are They Same? Publiczny klucz podpisującego Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs” Same hash function(e.g. MD5, SHA…) Każdy wierzy w publiczny klucz bo go może zweryfikować This is a really long message about Bill’s… Oryg. wiadomość Verifying a Digital Signature

  24. Certyfikaty • Najprostszy to: • Informacja o właścicielu i • Jego klucz publiczny • To wszystko jest podpisane przez CA któremu ufamy

  25. X.509 Certificate OU=Project Botticelli… The Key or Info About It

  26. Weryfikacja autentyczności • Melinda dostaje certyfikat Billa • Sprawdza podpis na certyfikacie • Więc wierzy w certyfikat • Ale czy przed nią stoi Bill czy Scott • Melinda prosi by Bill zaszyfrował losowo wybraną frazę (“I really need more shoes”) • Bill ma swój prywatny klucz więc odpowiada (“*&$^%£$&£fhsdf*&EHFDhd62^&£”) • Melinda odszyfrowuje i porównuje odpowiedź – jako że się zgadza, wie że przed nią jest jedyny właściciel klucza prywatnego czyli Bill • Tak działa SSL...

  27. Krótki opis algorytmów

  28. DES, IDEA, RC2, RC5, Rijndael • Symmetric • DES (Data Encryption Standard) is the most popular • NSA may know “back door” - not very likely considering 20 years research • Keys very short: 56 bits • Triple DES (3 DES) not much more secure but may thwart NSA • IDEA (International Data Encryption Standard) • Similar to DES, but “not” from NSA • 128 bit keys • RC2 & RC5 (by R. Rivest) • RC2 is older and RC5 newer (1994) - similar to DES and IDEA S/MIME, SSL, Kerberos PGP S/MIME, SSL

  29. Rijndael • Standard replacement for DES for US government, and, probably for all of us as a result… • Winner of the AES (Advanced Encryption Standard) competition run by NIST (National Institute of Standards and Technology in US) in 1997-2000 • Comes from Europe (Belgium) by Joan Daemen and Vincent Rijmen. “X-files” stories less likely (unlike DES). • Symmetric block-cipher (128, 192 or 256 bits) with variable keys (128, 192 or 256 bits, too) • Fast and a lot of good properties, such as good immunity from timing and power (electric) analysis • Construction deceptively similar to DES (S-boxes, XORs etc.) but really different

  30. RC4 • Symmetric • Fast, streaming encryption • R. Rivest in 1994 • Originally secret, but “published” on sci.crypt • Related to “one-time pad”, theoretically most secure • But! • It relies on a really good random number generator • And that is the problem PPTP

  31. RSA, ElGamal, ECC • Asymmetric • Very slow and computationally expensive – need a computer • Very secure • Rivest, Shamir, Adleman – 1978 • Popular and well researched • Strength in today’s inefficiency to factorise into prime numbers • Some worries about key generation process in some implementations • ElGamal • Relies on complexity of discrete logarithms • ECC (Elliptic Curve Cryptography) • If you understand how it works you are probably a mathematician • Better than RSA, in general SSL, PGP

  32. MD5, SHA • Hash functions – not encryption at all! • Goals: • Not reversible: can’t obtain the message from its hash • Hash much shorter than original • Two messages won’t have the same hash • MD5 (R. Rivest) • 512 bits hashed into 128 • Mathematical model still unknown • But it resisted major attacks • SHA (Secure Hash Algorithm) • US standard based on MD5 S/MIME, SSL, PGP, Digital Sigs

  33. Diffie-Hellman, “SSL”, Certs • Methods for key exchange • DH is very clever since you always generate a new “key-pair” for each asymmetric session • STS, MTI, and certs make it even safer • SSL uses a protocol to exchange keys safely • Certs (certificates) are the most common way to exchange public keys • Foundation of Public Key Infrastructure (PKI) PGP Everyone

  34. Breaking It on $10 Million From a report by Robert Silverman, RSA Laboratories, 2000

  35. Rekomendacje

  36. Typowe rekomendacje mocy (May 2003)

  37. Słabe systemy • Cokolwiek z 40-bitów (nawet 128 i 56 bitowe gdzie „przyblokowano” część) • CLIPPER • A5 (GSM) • Vigenère (komórki w USA) • Pochodzi z 1585! • Certyfikaty niezweryfikowane • Słabe certyfikaty (klasa 1 itd)

  38. Pamiętaj: • Nie używaj nietestowanych systemów • Stwórz swoje PKI i bardzo dbaj o klucze prywatne • Wybierz i zaimplementuj strategię odwoływania kluczy • Używaj smartcards • Silne hasła są ważne...

  39. Podsumowując • Zdecyduj co zabezpieczyć • Miej szefa bezpieczeństwa - CSO (Chief Security Officer) • Używaj mocnych algorytmów • Balansuj bezpieczństwo z używalnością

  40. Kroki następne • www.microsoft.com/security • Studiuj PKI • Czytaj: • Applied Cryptography, B. Schneier, John Wiley & Sons, ISBN 0-471-12845-7 • Foundations of Cryptography, O. Goldereich, www.eccc.uni-trier.de/eccc-local/ECCC-Books/oded_book_readme.html • Handbook of Applied Cryptography, A.J. Menezes, CRC Press, ISBN 0-8493-8523-7 • PKI, A. Nash et al., RSA Press, ISBN 0-07-213123-3 • Cryptography in C and C++, M. Welschenbach, Apress, ISBN 1-893115-95-X (includes code samples CD)

More Related