1 PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AESZygmunt Kubiak Instytut Informatyki Politechnika Poznańska Daemen J., Rijmen V.: AES Proposal: Rijndael Daemen J., Rijmen V.: A Specification for Rijndael, the AES Algorithm
2 Wprowadzenie Problemy bezpieczeństwa transmisjiRozwią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
3 Wprowadzenie Problemy bezpieczeństwa transmisjiOdbiorca 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
4 Wprowadzenie Problemy bezpieczeństwa transmisjiTransmitowane 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
5 Wprowadzenie Problemy bezpieczeństwa transmisjiDostę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
6 Algorytmy szyfrujące Symetryczne AsymetryczneAlgorytmy 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
7 Algorytmy szyfrujące Symetryczne Alice Bob Plaintext Ciphertext Key(z tajnym kluczem), np. AES, IDEA, A5 Alice Bob Plaintext Ciphertext Key Encryption Algorithm Decryption Zygmunt Kubiak
8 Mechanizmy bezpieczeństwa w sieciach radiowychAktualnie 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
9 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). Zygmunt Kubiak
10 Algorytm AES Zygmunt Kubiak
11 Algorytm AES Zygmunt Kubiak
12 Algorytm AES Zygmunt Kubiak
13 Algorytm AES Kolejne fazy rundy szyfrowaniaPodstawienie 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
14 Algorytm AES Kolejne fazy wyznaczania trasyPrzesunię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
15 Algorytm AES Kolejne fazy rundy szyfrowaniaMieszanie kolumn (3) Operacja mieszania kolumn (MixColumns) polega na przemnożeniu każdej kolumny stanu przez stały wielomian C(x). Zygmunt Kubiak
16 Algorytm AES Kolejne fazy rundy szyfrowaniaOperacja 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. Zygmunt Kubiak
17 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
18 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} Zygmunt Kubiak
19 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} Zygmunt Kubiak
20 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
21 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
22 Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004)Data unit Zygmunt Kubiak
23 Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004)Data unit (inna realizacja AES-128) Zygmunt Kubiak
24 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
25 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
26 Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004)Jednostka generowania klucza rundy AES-128 Zygmunt Kubiak
27 Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004)Pełna poglądowa architektura układu AES-128 Zygmunt Kubiak
28 Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004)Wyniki Powierzchnia układu Zygmunt Kubiak
29 Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004)Układ Zygmunt Kubiak
30 AES dla AVR ATMEL AVR231: AES Bootloader 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