Szyfry Strumieniowe Zastosowanie wybranych rozwiąza zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet Arkadiusz PłoskiP Opiekun: prof. Zbigniew Kotulski
Plan prezentacji Inspiracje Krótkie wprowadzenie Szyfr strumieniowy Szyfry strumieniowe vs blokowe Klasyfikacja Standaryzacja Założenia pracy Realizacja 2
Inspiracje Szyfry strumieniowe zaniedbany temat Mało o powszechnie znanych algorytmów A5/1 A5/3 w GSM, RC4 w 802.11b, SSL Wysiłki standaryzacyjne: ISO / IEC 18033 Techniki bezpieczeństwa IT Algorytmy kryptograficzne (2001 rok, rozdział IV) Projekt Ecrypt estream Jak to zastosować? 3
Krótkie wprowadzenie 1/2 Podstawowe pojęcia: kryptografia symetryczna / asymetryczna szyfr blokowy (tryby CFB, OFB, CTR) algorytm Diffie Hellmana Ethernet, LAN, IP 4
Krótkie wprowadzenie 2/2 ECRYPT European Network of Excellence in Cryptology przy KE początek 1 lutego 2004r. estream stworzenie nowych użytecznych szyfrów w strumieniowych Dwa profile zastosowań: aplikacyjny (software) sprzętowy (hardware) 5
Szyfr strumieniowy 1/5 szyfrowaniu podlega jeden bit / bajt na raz generator strumienia szyfrującego to podstawa bezpieczeństwa szyfrów strumieniowych ciąg g w dużym przybliżeniu losowy i o możliwie długim d okresie, nie mówim wiący nic o wykorzystywanym kluczu jedyny znany absolutnie bezpieczny szyfr (tw. Shannona) 6
Szyfr strumieniowy 2/5 Alicja chce przesłać wiadomość do Boba Obojgu znany jest klucz szyfrujący Mają taki sam generator strumienia Alicja wiadomość Bob klucz xor klucz 7
Szyfr strumieniowy 3/5 Alicja bajt po bajcie xoruje wiadomość z kluczem i wysyła a do Boba Alicja iadomość w Bob klucz xor xor klucz 8
Szyfr strumieniowy 4/5 Alicja bajt po bajcie xoruje wiadomość z kluczem i wysyła a do Boba Alicja adomość wi Bob klucz xor xor klucz 9
Szyfr strumieniowy 5/5 Alicja bajt po bajcie xoruje wiadomość z kluczem i wysyła a do Boba Alicja domość wia Bob klucz xor xor klucz 10
Szyfry strumieniowe vs blokowe nie ma potrzeby buforowania mniejsze opóźnienia nieznana ilość danych (nie ma nadmiarowych danych dopełnie nień) szybkie działanie anie (strumieniowy < blokowy < asymetryczny) brak propagacji błęb łędów 11
synchroniczne: Klasyfikacja 1/3 strumień klucza jest generowany w pełni niezależnie od danych szyfrowanych i szyfrogramu samosynchronizujące: ce: strumień klucza powstaje jako wynik odpowiedniej funkcji klucza i ustalonej liczby n poprzednich bitów w szyfrogramu 12
Klasyfikacja 2/3 sprzętowe (hardware): klasyczne w większo kszości oparte o LFSR aplikacyjne (software): większa różnorodnor norodność stosunkowo nowe słabo udokumentowane znane w większo kszości własność prywatna (RC4 RSASecurity, SEAL IBM) 13
oparte na szyfrach blokowych: Klasyfikacja 3/3 CFB (cipher( feedback) OFB (output( feedback) CTR (counter( counter) klasyczne: cała a reszta 14
Standaryzacja problemy z DES lata 80-te rejestr ISO www.iso-register.com dokument ISO/IEC 18033 szyfry strumieniowe rozdział IV: keystream generator KG output function OF 15
Założenia pracy Zastosowanie nowych algorytmów w i porównanie ich w praktyce z szeroko znanym i stosowanym szyfrem RC4 Aplikacja: Szyfrowanie przeźroczyste dla użytkownikau Architektura aplikacji ze zmiennym modułem szyfrującym 16
Realizacja 1/6 Wybór r i implementacja trzech algorytmów: Dragon Salsa20 Sosemanuk Implementacja aplikacji szyfrującej ruch w sieci Ethernet Porównanie wydajności z RC4 17
Realizacja 2/6 Java / C JCA Java Cryptography Architecture JNI Java Native Interface NDIS Network Driver Interface Specification IM Intermediate Drivers IOCTL I/O Control 18
Realizacja 3/6 IOCTL Aplikacja IPCrypter JNI Biblioteka PTConnector.dll Sterownik Passthru.sys 19
Realizacja 4/6 IPCrypter szyfrowanie nawiązywanie połą łączenia zarządzanie użytkownikamiu ustalanie kluczy podgląd d statystyk testy wydajnościowe (offline( offline) niezależna na od platformy 20
Realizacja 5/6 PTConnector.dll biblioteka dynamiczna napisana w języku j C wykorzystuje MFC odpowiedzialna za komunikację ze sterownikiem wyłą łącznie na platformę Windows 21
Realizacja 6/6 Passthru.sys sterownik NDIS IM wtyczka do danych bezfunkcjonalny uniwersalny przekazuje dane niezaszyfrowane odbiera zaszyfrowane wyłą łącznie na platformę Windows 22
Aplikacja IPCrypter 1/3 23
Aplikacja IPCrypter 2/3 24
Aplikacja IPCrypter 3/3 25
Porównanie algorytmów Testy wydajnościowe: Szyfrowanie długich d strumieni danych Szyfrowanie pakietów danych (40, 576, 1500 bajtów) Inicjalizacja algorytmu Wydajność w praktyce przesyłanie 2MB danych 26
Podsumowanie Opis aktualnej sytuacji w kwestii szyfrów strumieniowych Klasyfikacja dostępnych algorytmów (estream), wybór r i implementacja Realizacja aplikacji stosującej te algorytmy i prowadzącej statystki oraz testy Porównanie z istniejącym rozwiązaniem zaniem RC4 27