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 Key Key Alice Bob Plaintext Encryption Algorithm Ciphertext Decryption Algorithm Plaintext 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 Zygmunt Kubiak 10
Algorytm AES Zygmunt Kubiak 11
Algorytm AES Zygmunt Kubiak 12
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 13
Algorytm AES Kolejne fazy wyznaczania trasy Zygmunt Kubiak 14
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 15
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 16
Algorytm AES Deszyfrowanie Algorytm zbliżony do szyfrującego Klucze pośrednie muszą być podawane odwrotnej kolejności Operacje obrotów cyklicznych w lewo zamieniane są na operacje obrotów cyklicznych w prawo Podstawienia bajtów w macierzy stanów wykonuje się według tablicy Inv-S-Box W procesie mieszania kolumn macierzy stanu stosuje się inną postać macierzy współczynników Zmianie ulega kolejność stosowania poszczególnych operacji 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. s 1,1 ={53} to s 1,1 ={ed} Zygmunt Kubiak 19
Realizacja sprzętowa AES Martin Feldhofer, Graz University of Technology (2004) Inv-S-Box dla deszyfrowania Operacja InvSubBytes(), np. s 1,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
Dziękuję Zygmunt Kubiak 31
CCM Counter with Cipher Block Chaining-Message Authentication Code. Zygmunt Kubiak 32
Zygmunt Kubiak 33
Zygmunt Kubiak 34
Zygmunt Kubiak 35
DZIĘKUJĘ Zygmunt Kubiak 36