PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
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 Zygmunt Kubiak 2
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) Zygmunt Kubiak 3
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 Zygmunt Kubiak 4
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 Zygmunt Kubiak 5
Algorytmy szyfrujące Symetryczne 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 Zygmunt Kubiak 6
Algorytmy szyfrujące Symetryczne (z tajnym kluczem), np. AES,, IDEA, A5 Zygmunt Kubiak 7
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). Zygmunt Kubiak 8
Algorytm AES Dla AES-128 operacja szyfrowania wymaga wykonania 10 rund. W każdej rundzie wykonywane są 4 operacje macierzowe (tu: 4 4). Elementem macierzy jest bajt. Po każdej rundzie powstaje szyfr pośredni, zwany stanem (ang. state). Zygmunt Kubiak 9
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). Zygmunt Kubiak 10
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. Zygmunt Kubiak 11
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). Zygmunt Kubiak 12
Algorytm AES Kolejne fazy rundy szyfrowania Operacja XOR z kluczem rundy (4) 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. W kroku AddRoundKey, na każdym bajcie stanu, wykonywana jest operacja logiczna XOR z kluczem rundy. Zygmunt Kubiak 13
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 Zygmunt Kubiak 14
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) S-Box Operacja SubBytes(), np. s 1,1 ={53} to s 1,1 ={ed} Zygmunt Kubiak 15
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 Zygmunt Kubiak 16
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) RAM 32 x 8-bitów ~60% mocy i powierzchni układu Zygmunt Kubiak 17
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Data unit Zygmunt Kubiak 18
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Data unit (inna realizacja AES-128) Zygmunt Kubiak 19
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) S-Box Kodowanie i dekodowanie 12% pow. układu 8% poboru mocy Zygmunt Kubiak 20
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) MixColumns ¼ MixColumns 7 cykli na kolumnę ~10% pow. układu ~5% poboru mocy Zygmunt Kubiak 21
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Jednostka generowania klucza rundy AES-128 Zygmunt Kubiak 22
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Pełna poglądowa architektura układu AES-128 Zygmunt Kubiak 23
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Wyniki Powierzchnia układu Zygmunt Kubiak 24
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Układ Zygmunt Kubiak 25
AES dla AVR ATMEL AVR231: AES Bootloader Zygmunt Kubiak 26
AES dla AVR ATMEL AVR231: AES Bootloader Zygmunt Kubiak 27
AES dla AVR Mnożenie bajtów Zygmunt Kubiak 28
AES dla AVR Mnożenie bajtów (pseudokod) Zygmunt Kubiak 29
AES dla AVR Kodowanie Zygmunt Kubiak 30
AES dla AVR Dekodowanie Zygmunt Kubiak 31
Dziękuję Zygmunt Kubiak 32
CCM Counter with Cipher Block Chaining-Message Authentication Code. Zygmunt Kubiak 33
Zygmunt Kubiak 34
Zygmunt Kubiak 35
Zygmunt Kubiak 36
DZIĘKUJĘ Zygmunt Kubiak 37