PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Daemen J., Rijmen V.: AES Proposal: Rijndael Daemen J., Rijmen V.: A Specification for Rijndael, the AES Algorithm
Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla przemysłowych systemów transmisji danych powinny spełniać nie tylko wymagania czasu rzeczywistego ale również ostre warunki dotyczące bezpieczeństwa transmisji danych 09-2006 Zygmunt Kubiak
Wprowadzenie Problemy bezpieczeństwa transmisji Odbiorca musi mieć pewność, że dane które do niego docierają są identyczne z danymi, które wysłał nadawca (Integralność danych) Cel ten jest osiągalny za pomocą zabezpieczeń nadmiarowych treści pakietu (słowo kontrolne) 09-2006 Zygmunt Kubiak
Wprowadzenie Problemy bezpieczeństwa transmisji Transmitowane dane powinny być nieczytelne dla nieupoważnionych stron (osób lub procesów) (Poufność danych) Cel ten osiągany jest przy pomocy metod szyfrowania 09-2006 Zygmunt Kubiak
Wprowadzenie Problemy bezpieczeństwa transmisji Dostęp do sieci tylko dla upoważnionych stron (osób lub procesów) (Uwierzytelnianie – proces potwierdzania tożsamości osoby lub obiektu, autoryzacja (uwierzytelnianie tożsamości)) Cel ten osiągany jest różnymi metodami, np. karty identyfikacyjne, podpis cyfrowy, urządzenia biometryczne 09-2006 Zygmunt Kubiak
Algorytmy szyfrujące Symetryczne Asymetryczne Algorytmy symetryczne wykorzystują do szyfrowania i deszyfrowania informacji ten sam klucz. Klucz taki nie może zostać ujawniony. Popularne algorytmy symetryczne - DES, AES, IDEA, Blowfish. Problem – dystrybucja klucza z zachowaniem tajności. Asymetryczne Algorytm wykorzystuje parę kluczy. Jeden z kluczy jest kluczem jawnym, drugi tajnym. Klucz jawny udostępniamy w Internecie. Szyfrowanie informacji następuje przy pomocy klucza tajnego (prywatnego nadawcy). Deszyfrowanie informacji nastąpi poprzez użycie klucza jawnego (publicznego nadawcy). Przykłady –RSA, DSS (DSA), Diffie-Hellman’a 09-2006 Zygmunt Kubiak
Algorytmy szyfrujące Symetryczne Alice Bob Plaintext Ciphertext Key (z tajnym kluczem), np. AES, IDEA, A5 Alice Bob Plaintext Ciphertext Key Encryption Algorithm Decryption 09-2006 Zygmunt Kubiak
Mechanizmy bezpieczeństwa w sieciach radiowych Aktualnie w największe zainteresowanie wśród metod szyfrowania wiąże się z algorytmem szyfrowania z kluczem symetrycznym – AES. AES (ang. Advanced Encryption Standard) była to nazwa konkursu ogłoszonego w 1997 r. przez NIST (ang. National Institute of Standards and Technology) na ogólnie dostępny (darmowy) algorytm szyfrujący. Zwycięskim opracowaniem okazał się projekt zgłoszony w 1998 r. pod nazwą Rijndael, stanowiącą połączenie nazwisk jego twórców (Rijmen & Daemen). Został on przyjęty w 2000 r. jako standard pod nazwą AES. zaakceptowany w 2000 r. Ten silny algorytm został Szyfr AES może używać bloków 128-, 192- lub 256-bitowych, szyfrowanych kluczami 128-, 192- lub 256-bitowymi (ZigBee wykorzystuje AES-128). 09-2006 Zygmunt Kubiak
Algorytm AES Dla AES-128 operacja szyfrowania wymaga wykonania 10 rund. W każdej rundzie wykonywane są 4 operacje macierzowe (tu: 44). Elementem macierzy jest bajt. Po każdej rundzie powstaje szyfr pośredni, zwany stanem (ang. state). 09-2006 Zygmunt Kubiak
Algorytm AES 09-2006 Zygmunt Kubiak
Algorytm AES 09-2006 Zygmunt Kubiak
Algorytm AES 09-2006 Zygmunt Kubiak
Algorytm AES Kolejne fazy rundy szyfrowania Podstawienie bajtów (1) Operacja SubBytes (podstawienie bajtów) dokonuje transformacji niezależnie każdego bajta stanu, na podstawie tabeli podstawień S-box (ang. substitution box). 09-2006 Zygmunt Kubiak
Algorytm AES Kolejne fazy wyznaczania trasy Przesunięcie wierszy (2) W drugim etapie (ShiftRows) następuje cykliczne przesunięcie bajtów w wierszach 2, 3, 4, odpowiednio o 1, 2, 3 pozycje w lewo. 09-2006 Zygmunt Kubiak
Algorytm AES Kolejne fazy rundy szyfrowania Mieszanie kolumn (3) Operacja mieszania kolumn (MixColumns) polega na przemnożeniu każdej kolumny stanu przez stały wielomian C(x). 09-2006 Zygmunt Kubiak
Algorytm AES Kolejne fazy rundy szyfrowania Operacja XOR z kluczem rundy (4) W kroku AddRoundKey, na każdym bajcie stanu, wykonywana jest operacja logiczna XOR z kluczem rundy. Klucz szyfrujący używany jest wewnątrz algorytmu do otrzymania odrębnego klucza w każdej rundzie procesu szyfrowania. Klucze takie są zwane kluczami rundy. 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Nk – liczba słów 32-bitowych klucza Nb – liczba słów 32-bitowych bloku Nr – liczba rund 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) S-Box dla szyfrowania Operacja SubBytes(), np. s1,1={53} to s’1,1={ed} 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) S-Box dla deszyfrowania Operacja InvSubBytes(), np. s1,1={53} to s’1,1={50} 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Wersja 1 Tylko kodowanie Wersja 2 Kodowanie i dekodowanie Klucz 128-bitów Architektura 8-bitów 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) RAM 32 x 8-bitów ~60% mocy i powierzchni układu 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Data unit 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Data unit (inna realizacja AES-128) 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) S-Box Kodowanie i dekodowanie 12% pow. układu 8% poboru mocy 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) MixColumns ¼ MixColumns 7 cykli na kolumnę ~10% pow. układu ~5% poboru mocy 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Jednostka generowania klucza rundy AES-128 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Pełna poglądowa architektura układu AES-128 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Wyniki Powierzchnia układu 09-2006 Zygmunt Kubiak
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Układ 09-2006 Zygmunt Kubiak
AES dla AVR ATMEL AVR231: AES Bootloader 09-2006 Zygmunt Kubiak
Dziękuję 09-2006 Zygmunt Kubiak
CCM Counter with Cipher Block Chaining-Message Authentication Code. 09-2006 Zygmunt Kubiak
09-2006 Zygmunt Kubiak
09-2006 Zygmunt Kubiak
09-2006 Zygmunt Kubiak
DZIĘKUJĘ 09-2006 Zygmunt Kubiak