1/24
Elementy Elementy kryptografiikryptografii
Marek ZacharaMarek Zacharahttp://marek.zachara.namehttp://marek.zachara.name
2/24
Kodowanie a szyfrowanie Kodowanie na poziomie semantycznym Szyfrowanie dotyczy zwykle liter lub bajtów Szyfrowanie ma za zadanie zamianę
komunikatu z postaci jawnej do szyfrogramu Przykład prostego szyfru: szyfr Cezara
(Prosty szyfr podstawieniowy)
Determinanta tajności informacji Poufny algorytm Poufny klucz
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
3/24
Problemy prostych szyfrów: Częstotliwość
występowania liter Analiza statystyczna
pozwala na odtworzenieklucza
Może być stosowanaw oparciu o literylub zespoły liter
a b c d e f g h i j k l m n o p q r s t u v w x y z
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
4/24
Szyfrowanie symetryczne
Ala makota.
Ala makota.
Szyfrowanie Deszyfrowanie
Połączeniepubliczne
4XJ2OK3PWKQA
Wspólny klucz
Algorytmy tego typu nazywane są Secretkey, singlekey, private shared key
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
5/24
Jakość szyfrowania Klucz generowany na bazie liczb losowych –
istotna jakość generatora Dobry algorytm wymaga sprawdzenia
wszystkich kluczy
Szyfr strumieniowy Szyfrowanie bajt po bajcie
Szyfr blokowy Komunikat dzielony na bloki o ustalonej
wielkości (z reguły 64, 128, 256 bitów) Różne algorytmy konstruowania kolejnych
bloków
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
6/24
Warianty szyfrowania blokowego
Electronic Codebook (ECB) mode encryption
block cipher encryption
Key
Ciphertext
block cipher encryption
Key
Ciphertext
block cipher encryption
Key
Ciphertext
Plaintext Plaintext Plaintext
Cipher Block Chaining (CBC) mode encryption
block cipher encryption
Key
Ciphertext
Plaintext
block cipher encryption
Key
Ciphertext
Plaintext
block cipher encryption
Key
Ciphertext
Plaintext
Initialization Vector (IV)
Cipher Feedback (CFB) mode encryption
block cipher encryption
Key
Ciphertext
Initialization Vector (IV)
block cipher encryption
Key
Ciphertext
block cipher encryption
Key
Ciphertext
PlaintextPlaintext Plaintext
Propagating Cipher Block Chaining (PCBC) mode encryption
block cipher encryption
Key
Ciphertext
Plaintext
block cipher encryption
Key
Ciphertext
Plaintext
block cipher encryption
Key
Ciphertext
Plaintext
Initialization Vector (IV)
Output Feedback (OFB) mode encryption
block cipher encryption
Key
Ciphertext
Initialization Vector (IV)
block cipher encryption
Key
Ciphertext
block cipher encryption
Key
Ciphertext
PlaintextPlaintext Plaintext
Counter (CTR) mode encryption
block cipher encryption
Nonce c59bcf35…
Counter 00000000
Key
Plaintext
Ciphertext
block cipher encryption
Nonce c59bcf35…
Counter 00000001
Key
Plaintext
Ciphertext
block cipher encryption
Nonce c59bcf35…
Counter 00000002
Key
Plaintext
Ciphertext
Source: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
7/24
Wybrane algorytmy szyfrowania
DES: klucz 56 bit, blok 64 bit Historyczny, niewystarczająco bezpieczny
3DES: 3 x DES, 112168 bit, blok 64bit nieefektywny obliczeniowo, 'ratunek' dla DES
AES: klucz 128256 bit, blok 128bit współczesny standard
Twofish, Serpent Zbliżone do AES
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
8/24
Bezpieczeństwo kryptografii...
Source: https://xkcd.com/
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
9/24
Funkcje skrótu (hash, message digest) Na podstawie dowolnego ciągu znaków
tworzy ciąg o stałej długości Rezultat jest nieodwracalny
football 37b4e2d8290...
flower 608f0b988db...
flowers 7d37c580f9c...
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
10/24
Zastosowanie funkcji skrótu Przechowywanie haseł Podpisywanie wiadomości Wykrywanie zmian w danych lub transmisji
Popularne funkcje hashujące CRC32 – szybki, ale nie do ochrony danych MD5 – 128bit, powszechnie używany choć
praktycznie mało bezpieczny MD6 – proponowany następca MD5 SHA1 – 160 bit, podatny na ataki oparte na
kolizjach SHA2 – następca SHA1, aktualny standard
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
11/24
Tablice tęczowe (Rainbow tables) Używają pary funkcji – hash i redukującej. Tworzone są łańcuchy hashy (obliczane raz) Łamany hash przeprowadzamy wielokrotnie
przez funkcje hash/reduction aż otrzymany hash zgodny z posiadaną tabelą
Z początku łańcucha odtwarzane jest hasło
wikipedia ao4kd secret jimbo9kpmw rootrootv0d$x
abcdefgh 1vn6s bernie zurichkolscx myname8ntpy
passwd dlcm4 culture cryptore3xes linux231tik0
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
12/24
Szyfrowanie asymetryczne
Ala makota.
Ala makota.
Szyfrowanie Deszyfrowanie
Połączeniepubliczne
Algorytmy tego typu nazywane są też Opartymi na kluczu publicznym
7JEYU5HALE8X
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
13/24
Cechy kluczy Klucz publiczny i prywatny Przeciwstawne działanie Można utworzyć parę Ale nie jeden z drugiego
Liczba losowa
Generator kluczy
Klucz publicznyKlucz prywatny
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
14/24
Algorytmy szyfrowania asymetrycznego RSA – opracowany w 1977r, dalej używany
DSA – powstał w 1991, opatentowany ale możliwość nieodpłatnego używania
ElGammal / DiffieHellman (1985)
ECC (Krzywe eliptyczne) – zapewnia podobny poziom bezpieczeństwa co RSA dla znacznie krótszego klucza
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
15/24
Podpisywanie wiadomości
Hash:294B5DA10...
Wiadomość
Certyfikat
Szyfrowany hashSzyfrowany hash
294B5DA10...294B5DA10... ?
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
16/24
Message Authentication Code (MAC/HMAC) Służy do potwierdzenia integralności
i autentyczności
MAC: Message Authentication Code
If the same MAC is found: then the message is authentic and integrity checked Else: something is not right.
MAC
MAC AlgorithmKey (K)
RECEIVER
MESSAGE
=?
MAC Algorithm
Key (K)MESSAGE
MESSAGE
MAC
MAC MAC
SENDER
Z reguły z dodatkowym kluczem tajnym
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
17/24
Szyfrowanie hybrydowe
Dalsze szyfrowanie kluczem symetrycznym
Wymiana kluczy publicznych
Przesłanie zaszyfrowanegoklucza symetrycznego
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
18/24
Infrastruktura Klucza Publicznego (PKI)
TTP
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
19/24
X.509 Standard definiujący funkcjonowanie PKI
Określa 'zaufaną trzecią stronę' – TTP Ale to użytkownik definiuje komu ufa
Wykorzystywany do potwierdzanie tożsamości serwerów i usług
Wykorzystywany w SMTP, POP3, IMAP, VPN, HTTPS
Możliwość 'łańcuchowej' certyfikacji
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
20/24
Elementy certyfikatu Numer seryjny Podmiot Algorytm podpisu Wystawca Termin ważności Przeznaczenie Klucz publiczny Algorytm skrótu ”Odcisk palca” Podpis
Certificate: Data: Version: 1 (0x0) Serial Number: 7829 (0x1e95) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte OU=Certification Services Division, CN=Thawte Server CA/[email protected] Validity Not Before: Jul 9 16:04:02 1998 GMT Not After : Jul 9 16:04:02 1999 GMT Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala, OU=FreeSoft, CN=www.freesoft.org Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb: 33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1: 66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66: 70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17: 16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b: c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77: 8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3: d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8: e8:35:1c:9e:27:52:7e:41:8f Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption 93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d: 92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92: ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67: d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72: 0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1: 5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7: 8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22: 68:9f
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
21/24
Klasy / rodzaje certyfikatów (Verisign) Class 1: Osobiste (email) Class 2: Organizacyjny Class 3: Certyfikat serwera Class 4: Handel Online B2B Class 5: Administracja rządowa
W praktyce, to tylko marketing
Certyfikaty są w dużej mierze identyczne, mogą różnić się zakresem (ilością pól)
Podstawowe nazwa serwera (domena) Extended Validation (EV) – z nazwą firmy
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.Podsumowanie
22/24
Zasady bezpiecznej komunikacji
Poufność: Dane są szyfrowane, tylko posiadacze kluczy
mają do nich dostęp Komunikacja symetryczna (wspólny klucz)
lub asymetryczna (klucz publiczny i prywatny)
Autentyczność Podpis cyfrowy identyfikuje autora Autor podpisuje swoim kluczem prywatnym i
udostępnia klucz publiczny
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.
Podsumowanie
23/24
Zasady bezpiecznej komunikacji c.d.
Integralność Podpis cyfrowy gwarantuje że wiadomość nie
została zmieniona Skrót wiadomości jest szyfrowany kluczem
prywatnym Po odszyfrowaniu można porównać z
samodzielnie wykonanym skrótem
Niezaprzeczalność Podpis cyfrowy jednoznacznie identyfikuje
autora wiadomości
Podstawy
Szyfrowaniesymetryczne
Funkcjeskrótu
Szyfrowanieasymetryczne
Infrastrukturaklucza publ.
Podsumowanie
24/24
Dziękuję za uwagę.
Pytania?
więcej informacji: http://marek.zachara.name
Dokument udostępniany na licencji
Creative Commons
AttributionShareAlike
Wykorzystane materiały które nie miały wcześniej podanego źródła:● Clipart – openclipart.org● Szyfr podstawieniowy, Algorytmy szyfrowania blokowego, rainbow tables
i algorytm MAC – Wikimedia CommonsElementy licencjonowane (royaltyfree), nie mogą być wykorzystywane oddzielnie:● Tło prezentacji, awatary postaci
Top Related