SIECI KOMPUTEROWE WYKŁAD 8. BEZPIECZEŃSTWO SIECI PROF. CZESŁAW SMUTNICKI
BEZPIECZEŃSTWO W SIECIACH KOMPUTEROWYCH Kryptografia Algorytmy szyfrowania z kluczami symetrycznymi Algorytmy z kluczami niesymetrycznymi Podpis cyfrowy Zarządzanie kluczami publicznymi Bezpieczeństwo komunikacji Protokoły uwierzytelniania Bezpieczeństwo poczty elektronicznej Bezpieczeństwo WWW Społeczne aspekty sieci komputerowych
KRYPTOGRAFIA Wprowadzenie: szyfrowanie =transformacja (bit-po-bicie, znak-po-znaku), kodowanie=zastępowanie, tekst otwarty, algorytm, klucz, szyfrogram, intruz, kryptoanaliza, kryptologia Szyfry podstawieniowe Szyfry przestawieniowe System kluczy jednokrotnych (XOR klucza i komunikatu) Kryptografia kwantowa: fotony, polaryzacja, baza prostolinijna, baza diagonalna, kubit, klucz jednokrotny Fundamentalne zasady kryptografii: redundancja, aktualność
ALGORYTMY SZYFROWANIA Z KLUCZAMI SYMETRYCZNYMI P-skrzynka, S-skrzynka, kaskada DES Triple DES AES Tryby szyfrowania: metoda książki kodowej, wiązanie bloków zaszyfrowanych, sprzężenie zwrotne szyfrogramu, szyfr strumieniowy, metoda licznikowa Inne szyfry: IDEA, RC4, RC5, Rijndael, Serpent, Twofish Kryptoanaliza: różnicowa, linerna
ALGORYTMY SZYFROWANIA Z KLUCZAMI SYMETRYCZNYMI ALGORYTMY SZYFROWANIA Z KLUCZAMI SYMETRYCZNYMI. ALGORYTMY PODSTAWIENIOWE P-box: 8 linii S-box: 3 linie agregat (kaskada): 12 linii S1 S5 S9 S2 S6 S10 P1 P2 P3 P4 S3 S7 S11 Dekoder 3->8 Dekoder 8->3 S4 S8 S12 P-box permutacja=klucz kaskada: 64 ..256 linii, >18 etapów (sprzętowo), >8 (programowo), 1 etap=iteracja=P+S
DES = DATA ENCRYPTION STANDARD tekst otwarty 64 bity L 32 bity (i-1) P 32 bity (i-1) przestawienie poczatkowe iteracja 1 klucz 56 bitów iteracja 2 . L(i) XOR f(P(i-1),K(i)) iteracja 16 zamiana 32-bitowych połówek przestawienie końcowe odwrotne do początkowego szyfrogram 64 bity L 32 bity (i) P 32 bity (i)
DES c.d. L 32 bity (i-1) P 32 bity (i-1) 32 bity 32 bity -> 48 bitów Klucz pośredni XOR K S-box: we 8 x 6 L(i) XOR f(P(i-1),K(i)) S1 S2 S3 S4 S5 S6 S7 S8 S-box: wy 8 x 4 P-box Klucz pośredni otrzymywany przez pewną transformację klucza podstawowego 56 bitowego. Stosowana jest operacja wybielania (dodatkowe klucze losowe 64 bitowe). L 32 bity (i) P 32 bity (i)
TRIPLE DES 2 klucze Szyfrowanie(K1)-deszyfrowanie(K2)-szyfrowanie(K1)
AES = ADAVANCED ENCRYPTION STANDARD Konkurs Klucz symetryczny Projekt publiczny Obsługa kluczy 128, 192, 256-bitów Łatwo implementowalny sprzętowo i programowo Bez licencji lub z licencją niedyskryminującą Rijndael (86), Serpent (59), Twofish (31), RC6 (23), MARS (13)
NOWE ALGORYTMY SZYFROWANIA IDEA; http://www.codeproject.com Rijndael; http://www.efgh.com/software/rijndael.htm Serpent; http://www.codeproject.com Twofish; https://www.schneier.com/twofish-download.html RC6; http://www.codeproject.com/Articles/2545/RC-encryption-and-decryption MARS; http://www.sourcecodeonline.com/list?q=mars_cryptography_algorithm_in_java DES; http://www.efgh.com/software/des.htm Algorytm Euklidesa; http://www.efgh.com/software/euclid.htm RSA; http://www.efgh.com/software/rsa.htm MD5; http://www.efgh.com/software/md5.htm
ARYTMETYKA MODULARNA Pojęcia podstawowe Największy wspólny podzielnik Algorytm Euklidesa Równania modularne Twierdzenie Chińskie Potęgowanie modularne Liczby pierwsze Algorytm RSA Rozkład na czynniki
POJĘCIA PODSTAWOWE Liczby naturalne/całkowite Podzielnik d|a, a = kd dla pewnej liczby całkowitej k Podzielnik d|a wtedy i tylko wtedy gdy -d|a Podzielnik 24: 1,2,3,4,6,8,12,24 Podzielnik trywialny 1 and a Liczba pierwsza 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59 Liczba złożona, 27 (3|27) Dla każdej liczby całkowitej a i dowolnej liczby całkowitej dodatniej n istnieją jednoznacznie liczby całkowite q oraz r, 0<=r<n takie, że a = qn + r Reszta r = a mod n Podzielnik q = [a/n] Kongruencje a b (mod n) if (a mod n) = (b mod n) Klasa równoważności (mod n): [a]n = {a + kn : k Z}
NAJWIĘKSZY WSPÓLNY PODZIELNIK Wspólny podzielnik: jeśli d|a oraz d|b d|(ax + by) Liczby względnie pierwsze a oraz b : gcd(a,b)=1
ALGORYTM EUKLIDESA
ARYTMETYKA MODULARNA + 1 2 3 4 5
ROZSZERZONY ALGORYTM EUKLIDESA
ALGORYTM EUKLIDESA. PRZYKŁAD
ALGORYTM EUKLIDESA. PRZYKŁAD c.d.
RÓWNANIA MODULARNE RÓWNANIE MA ALBO d RÓŻNYCH ROZWIĄZAŃ mod n ALBO NIE MA ŻADNEGO ROZWIĄZANIA PRZYPADEK b = 1: ODWROTNOŚĆ MULTIPLIKATYWNA (JEŚLI gcd(a,n)=1 TO ODWROTNOŚĆ ISTNIEJE I JEST JEDNOZNACZNA
NAJMNIEJSZY WSPÓLNY MNOŻNIK
TWIERDZENIE CHIŃSKIE
POTĘGOWANIE MODULARNE
ALGORYTMY Z KLUCZAMI PUBLICZNYMI: RSA Wybrać dwie duże liczby pierwsze p i q Obliczyć n=p*q oraz z=(p-1)*(q-1) Znależć dowolną liczbę d względnie pierwszą z liczbą z Znaleźć liczbę e taką, że (e*d) mod z=1 Klucz publiczny (e,n) Klucz prywatny (d,n) Szyfrownie wiadomości P odszyfrowanie szyfrogramu C
PODPIS CYFROWY Odbiorca może zweryfikować autentyczność podpisu nadawcy Nadawca nie może się wyprzeć przesłania komunikatu o ustalonej treści Odbiorca nie ma możliwości zmiany treści komunikatu po jego otrzymaniu Podpisy oparte na kluczach symetrycznych (instytucja certyfikująca, potwierdzająca autentyczność, pośrednicząca w przekazywaniu informacji) Podpisy oparte na kluczach publicznych (kradzież klucza prywatnego, zmiana klucza prywatnego Skróty komunikatów (mieszanie): MD5, SHA-1,
ZARZĄDZANIE KLUCZAMI PUBLICZNYMI Certyfikaty X.509 (standard) Infrastruktura kluczy publicznych: łańcuch zaufania, ścieżka ceryfikacji, kotwice zaufania, anulowanie ceryfikatów,
BEZPIECZEŃSTWO KOMUNIKACJI IPsec: tryb transportowy, tryb tunelowy, analiza ruchu Zapory sieciowe, filtr pakietów, brama aplikacyjna, atak DoS, DDoS Prywatne sieci wirtualne Bezpieczeństwo w sieciach bezprzewodowych: WEP (RC4), Bluetooth (SAFER+)
PROTOKOŁY UWIERZYTELNIANIA Uwierzytelnianie w oparciu o współdzielony klucz tajny Ustanawianie dzielonego klucza: wymiana kluczy Uwierzytelnianie z udziałem centrum dystrybucji kluczy Uwierzytelnianie w oparciu o Kerberos Uwierzytelnianie z udziałem kluczy publicznych
BEZPIECZEŃSTWO POCZTY ELEKTRONICZNEJ PGP PEM S/MIME
BEZPIECZEŃSTWO WWW Zagrożenia Bezpieczne nazewnictwo SSL Bezpieczeństwo ruchomego kodu
SPOŁECZNE ASPEKTY SIECI KOMPUTEROWYCH Ochrona prywatności Wolność słowa Prawa autorskie