Zastosowania kryptografii 2017-03-28 Zastosowania kryptografii Sebastian Łopieński seb@conowego.pl Systemy Rozproszone, 12 kwietnia 2001
O czym będę mówić co można przy pomocy kryptografii jak wyglądają istniejące rozwiązania jakie problemy są nierozwiązane co nas jako użytkowników komputerów czeka
Plan referatu Wstęp Technologie Zastosowania Podsumowanie
Zadania, problemy poufność i integralność danych autentykacja i autoryzacja podpis cyfrowy elektroniczne pieniądze głosowanie przez sieć elektroniczne zabezpieczanie własności intelektualnej
Technologie Szyfrowanie symetryczne Szyfrowanie z kluczem publicznym Inne algorytmy kryptograficzne Protokoły sieciowe Autentykacja przy użyciu tokenów
Algorytmy szyfrujące z kluczem symetrycznym DES, TripleDES RC4, RC6 (strumieniowe) IDEA - dobry, ale komercyjny Blowfish, Twofish (counterpane.com) Rijndael - darmowy (AES ustanowiony przez NIST)
Szyfrowanie z kluczem publicznym dwa klucze: publiczny i prywatny algorytmy DH (Diffie-Hellman) RSA (Rivest, Shamir, Adleman) DSA - do podpisów PKI (Public Key Infrastructure)
Inne algorytmy kryptograficzne funkcje hashujące (skrótu, message digest) funkcja nieodwracalna MD5 (RFC1321), MD2, MD4 - 16b SHA - 20b PRNG (pseudorandom number generator) kluczowe dla bezpieczeństwa innych algorytmów (np. szyfrujących) Yarrow
Protokoły sieciowe SSL (https i inne) TLS (Transport Layer Security) WTLS (Wireless TLS) SSH i SCP PGP (Pretty Good Privacy) typowa PKI (serwery z kluczami) szyfrowanie oraz podpisywanie poczta, pliki GnuPG (GNU Privacy Guard)
Autentykacja tokenami hardware’owe i software’owe synchroniczne i asynchroniczne (challenge-response) Vasco: DigiPass 300, 500, 700 TripleDES, serwer zna klucze RSA Security: SecurID hardware (token, smartcard) software (np. do Nokii Comunicator) ActivCard czyta challenge z ekranu
Autentykacja tokenami plusy i minusy rozwiązanie kryptograficznie mocne coś mam i coś wiem - dobry pomysł wymiary minusy koszt tokenów (przy małej ilości) oraz oprogramowania serwera bank i praca - dwa tokeny niewymienna bateria
Zastosowania Podpis cyfrowy Certyfikaty Elektroniczne pieniądze Głosowanie przez sieć Inne
Podpis cyfrowy podpisywanie sprawdzanie standard DSS: DSA + SHA-1 problem człowiek - software ustawy (Czechy, Polska) nie określają konkretnej technologii
Certyfikaty identyfikowanie ludzi, komputerów, oprogramowania używane np. w SSL zawartość właściciel kto wystawił dane teleadresowe czas ważności klucz publiczny fingerprint (podpis certyfikatu)
Ścieżki certyfikatów architektura X.509 hierarchiczne zaufanie Certificate Authorities Thawte (Cape Town, RPA) Verisign (USA) Centrum Certyfikacji (Szczecin)
Elektroniczne pieniądze rodzaje i problemy nieanonimowe (elektronic money) anonimowe (digital cash) sposoby weryfikacji online (w trakcie transakcji) offline (przy zwracaniu do banku) problemy anonimowość double-spending
Elektroniczne pieniądze rozwiązania banknot ma numer seryjny bank stosuje ślepe podpisy na banknotach od klienta klient przekazuje „worek” banknotów przy weryfikacji offline double-spender traci anonimowość zaufanie do oprogramowania NetCash (online), DigiCach (offline)
Głosowanie przez sieć warunki demokracja głosują tylko uprawnieni tylko jeden głos na osobę prywatność nie wiadomo, jak ktoś głosował nie można pokazać swojego głosu zapewnienie poprawność głosu nie można zmienić ani pominąć zliczane są tylko poprawne głosy możliwość sprawdzenia zliczania zliczanie po zakończeniu głosowania
Głosowanie przez sieć rozwiązania analogie do digital cash protokół zaciemniony i zaszyfrowany głos jest podpisywany przez weryfikatora głos z podpisem bez zaciemnienia przesyłany jest do liczącego liczący publikuje otrzymane głosy głosujący przysyłają klucze ponownie problem zaufania optymiści i pesymiści
Inne zastosowania ochrona własności intelektualnej DVD książki zwykłe pliki
Podsumowanie Wnioski Uwagi Źródła Pytania
Wnioski (prawie) wszystkie problemy są do rozwiązania kryptograficznie prawdziwy problem często leży poza możliwościami kryptografii tworzenie bezpiecznych systemów rozproszonych jest trudne część z omówionych mechanizmów jest prosta i można je stosować we własnych aplikacjach metoda „kilka zamków w drzwiach”
Uwagi narzędzia kryptograficzne są mocne, ale trzeba umieć korzystać klucz dłuższy <> lepszy bezpieczeństwo powinno opierać się na tajemnicy kluczy, nie technologii chronić 1024 bitowy klucz PINem 4-cyfrowym - bez sensu używać funkcji jednokierunkowych (hasła w Linux i Apache’u) problem zaufania do oprogramowania
Źródła Bruce Schneier „Applied Cryptography” 2017-03-28 Źródła Bruce Schneier „Applied Cryptography” www.counterpane.com biuletyn Crypto-gram www.cryptography.com www.securityfocus.com www.digicash.com www.notablesoftware/evote.html
2017-03-28 Pytania
Sebastian Łopieński seb@conowego.pl 2017-03-28 Koniec Sebastian Łopieński seb@conowego.pl