Przegląd algorytmów kryptograficznych pod kątem możliwości sprzętowej ochrony urządzeń mobilnych MGR INŻ. TOMASZ MAZURKIEWICZ
Źródło: https://pl.wikipedia.org/wiki/eniac Źródło: http://www.purepc.pl/z_sieci/lenovo_technology_przejmuje_od_ibm_25_lat_doswiadczen Świat wczoraj i dziś N:1 1:1 2
Źródło: pixabay.com Świat wczoraj i dziś 1:N 3
Źródło: http://altair-semi.com/blog/iot-is-for-everyone/ Zastosowania mobilne rozwój technologii mobilnych i ich popularyzacja w ostatnich latach: Internet rzeczy (IoT), bezprzewodowe sieci czujników (wireless sensor network), karty mikroprocesorowe i znaczniki RFID, wymagania szczególne: niewielka moc obliczeniowa układów, ograniczona pamięć, szczególne wymagania na zasilanie i pobór mocy, dążenie do jak najniższej ceny urządzenia. 4
Źródło: http://www.sqa.org.uk/e-learning/firstline01cd/page_13.htm Zastosowania mobilne Prawo Moore'a - liczba tranzystorów w układzie elektrycznym podwaja się co 18-24 miesiące. Równoważnie: koszt zapewnienia określonej mocy obliczeniowej maleje o połowę co 18-24 miesiące Można przypuszczać, że liczba stosowanych układów o niewielkiej mocy obliczeniowej będzie rosła coraz szybciej. 5
Źródło: http://drrajivdesaimd.com/?p=8841 Zastosowania mobilne (IoT) 6
Bezpieczeństwo urządzeń mobilnych Według ekspertów cyberbezpieczeństwa zatrzymanie używania przez hakerów Internetu Rzeczy do przeprowadzania ataków cybernetycznych będzie bardzo trudne, jeżeli nie niemożliwie. ( ) Oprócz tego, że w niektórych tańszych urządzeniach po prostu brakuje odpowiednich warstw zabezpieczeń, to rzadko kiedy hasła domyślne są zmieniane. Podobnie nieczęsto występuje proces aktualizacji tych urządzeń. ( ) Internet Rzeczy nie jest bezpieczny, a znakomita większość tych urządzeń jest produkowana w Chinach i potem sprzedawana w głównej mierze na rynek amerykański. [4] Hasła wykorzystywane przez botnet Mirai 7
Bezpieczeństwo urządzeń mobilnych Botnet Mirai: Serwis znanego badacza Brian Krebsa, ucierpiał ostatnio w wyniku największego w historii ataku DDoS o wolumenie 620Gbps. Interesującą nowością jest wykorzystanie do ataku przejętych routerów, kamer i innych urządzeń ze świata IoT. ( ) Koszt usługi anty DDoS w takim przypadku mógłby wynieść nawet $200 000 na rok. [2] Kod źródłowy pojawił się w internecie Botnet Bashlight: The Bashlight botnet currently is responsible for enslaving nearly a million IoT devices and is in direct competition with botnets based on Mirai. [1] Nowe zagrożenia: Malware targeting the Internet of Things (IoT) has come of age and the number of attack groups focusing on IoT has multiplied over the past year. 2015 was a record year for IoT attacks, with eight new malware families emerging. [3] 8
Bezpieczeństwo urządzeń mobilnych atak na Philips Hue Smart Light [7] Produkty z rodziny Philips Hue Architektura ZLL (ZigBee Light Link) 9
Bezpieczeństwo urządzeń mobilnych atak na Philips Hue Smart Light c.d. Cel: 1. Opracowanie wirusa, który potrafi automatycznie rozpropagować się między wszystkimi urządzeniami w zasięgu, wykorzystując jedynie standardowy, bezprzewodowy interfejs ZigBee. 2. Wirus będzie propagował od jednej żarówki do wszystkich żarówek w pobliżu i od jednej sieci ZLL do innych. 10
Bezpieczeństwo urządzeń mobilnych atak na Philips Hue Smart Light c.d. Atak jest połączeniem dwóch technik: 1. Atak poboru mocy na algorytm AES-CCM wykorzystywany do szyfrowania i weryfikacji aktualizacji firmware u, co pozwoliło szyfrować, podpisywać i wgrywać spreparowane aktualizacje do urządzeń, 2. Przejęcie kontroli nad światłami z dalszej odległości (ominięcie testu bliskości urządzenia), bez konieczności wykorzystywania specjalizowanego sprzętu. Druga część ataku wykorzystuje błąd w implementacji protokołu ZLL Touchlink przez firmę Atmel i pozwala na przejęcie świateł z odległości do 70m (wewnątrz budynku) albo 400m (poza budynkiem). Atak nie zakłada posiadania jakiejkolwiek wiedzy o atakowanych urządzeniach, ani znajomości klucza ZLL. Atak ten jest nieodwracalny, o ile nie istnieje aktualizacja do pobrania za pomocą ZigBee OTA (over-the-air). 11
Bezpieczeństwo urządzeń mobilnych atak na Philips Hue Smart Light c.d. 13
Problem: w jaki sposób zapewnić bezpieczeństwo w przypadku tego typu urządzeń? 14
FPGA programowalne układy logiczne, pozwalające na wielokrotne i relatywnie szybkie przeprogramowanie, czyli zmienienie realizowanej funkcjonalności, możliwość zrealizowania zabezpieczeń sprzętowych (np. implementacje algorytmów szyfrowania), zalety: możliwość osiągania wysokich wydajności pracy układu, krótszy czas prototypowania niż w przypadku układów ASIC, możliwość przeprogramowania i zmiany realizowanej funkcjonalności, bogactwo zasobów logicznych, w tym dedykowane bloki DSP, 15
Kryptografia lightweight podstawowym kryterium oceny algorytmu jest koszt jego implementacji, W jaki sposób ocenić koszt? ograniczenie gwarantowanego poziomu bezpieczeństwa i wydajności. Źródło: [5] 16
Kryptografia lightweight Przykładowe techniki stosowane przez autorów rozwiązań typu lightweight: Zmniejszenie wykorzystywanych parametrów, m.in. długość klucza, rozmiar bloku danych wejściowych i stanu wewnętrznego, Upraszczanie warstw transformacji np. stosowanie złożenia skrzynek podstawieniowych 4x4 zamiast pojedynczej skrzynki 8x8 (algorytm Curupira). Źródło: Barreto P., Simplicio M., CURUPIRA-1, a block cipher for constrained platforms, 2007 17
Kryptografia lightweight cd. Przykładowe techniki stosowane przez autorów rozwiązań typu lightweight: Wykorzystywanie łatwo i tanio implementowalnych struktur, takich jak np. rejestry przesuwne, Wykorzystywanie elementów architektury docelowej (układy FPGA), Projektowanie algorytmów generacji kluczy rundowych w taki sposób, aby możliwe było obliczenie kluczy dla rundy wcześniejszej i następnej, co pozwala uniknąć konieczności generacji podkluczy w fazie przed obliczeniami oraz potrzeby ich przechowywania w pamięci. 18
Kryptografia lightweight w układach FPGA ze względu na dużą liczbę układów stosowanych przez twórców, każdy o innych parametrach użytkowych powstaje problem w porównywaniu implementacji między sobą, Gate Equivalents (w skrócie: GE) uniwersalna miara wykorzystania zasobów przez implementację. Zwyczajowo jedna bramka GE odpowiada jednej dwuwejściowej bramce NAND, przykładowa liczba bramek GE dla technologii 0.18μm [6]: Bramka NOT NAND NOR AND OR MUX XOR (2) XOR (3) D-FF Liczba GE 0.67 1 1 1.33 1.33 2.33 2.67 4.67 5.33 za implementacje lightweight przyjęło się uważać rozwiązania, które wykorzystują mniej niż 3000 GE. 19
Algorytmy symetryczne - blokowe Cztery podejścia do implementacji algorytmów blokowych typu lightweight: 1. Modyfikowanie powszechnie znanych algorytmów, np. AES czy DES. 2. Tworzenie nowych rozwiązań, opracowanych z myślą o systemach typu lightweight (ang. lightweight by design), np. PRESENT. 3. Tworzenie nowych rozwiązań, wykorzystujących prymitywy kryptograficzne, który właściwości i bezpieczeństwo są dobrze zbadane, np. skrzynki podstawieniowe z algorytmu PRESENT. 4. Ograniczenie wymagań funkcjonalnych, np. KTANTAN do działania wykorzystuje klucz, który nie może być zmieniany podczas pracy algorytmu. 20
Algorytmy symetryczne - blokowe najczęściej stosowanym algorytmem blokowym pozostaje AES, AES jest powszechnie stosowany do oceny porównawczej algorytmów blokowych, przedstawiane w literaturze implementacje zajmują zazwyczaj ok. 3,5 tys. bramek GE, możliwe jest ograniczenie wykorzystania zasobów logicznych do ok. 2,4 tys. bramek GE, przy spadku przepustowości do 57Kb/s. 21
Algorytmy symetryczne - blokowe AES PRESENT KTANTAN DESXL HIGHT KATAN mcrypton SEA XTEA Camellia CLEFIA IDEA Hummingbird-2 KASUMI SIMON SPECK Mniej niż 3000 GE Ok. 3000 GE Ponad 3000 GE 22
Algorytm PRESENT klucz: 80 albo 128 bitów, blok danych: 64 bity ( stan wewnętrzny również 64 bity) oparty o sieć SPN, 31 rund, warstwa nieliniowa składa się z pojedynczej skrzynki podstawieniowej (4x4), zastosowanej równolegle 16 razy, Sbox zoptymalizowany pod kątem implementacji sprzętowych, generacja kluczy: przesunięcie bitowe w lewo, Sbox, operacja XOR z licznikiem rund, ~1600 GE. 23
Algorytm PRESENT Źródło: cryptolux.org [k 79 k 78... k 1 k 0 ] = [k 18 k 17... k 20 k 19 ] (K<<61) [k 79 k 78 k 77 k 76 ] = S[k 79 k 78 k 77 k 76 ] [k 19 k 18 k 17 k 16 k 15 ] ^= round_counter Źródło: cryptowiki.net 24
Algorytmy symetryczne - strumieniowe jedyny algorytm uważany powszechnie za bezpieczny: AES-CTR, zajętość zasobów logicznych zbliżona do implementacji algorytmu AES w trybie ECB. Źródło: https://en.wikipedia.org/wiki/block_cipher_mode_of_operation#counter_.28ctr.29 25
Algorytmy symetryczne - strumieniowe inne algorytmy Trivium, Grain-v1, Mickey 2.0: finaliści konkursu estream (profil sprzętowy), Implementacje zajmują między 1200 a 5040 GE, co pozwala uznać je za rozwiązania lightweight, niewielki margines bezpieczeństwa - na każdy z algorytmów przedstawione zostały ataki o złożoności zbliżonej do ataku brutalnego. 26
Trivium prostota konstrukcji, stan wewnętrzny: trzy rejestry, łącznie 288 bitów, podczas każdej rundy algorytmu zawartość rejestrów jest przesuwana, a najmłodszy bit jest uzupełniany za pomocą nieliniowej funkcji określonych bitów rejestrów, ze względu na prostotę konstrukcji możliwe jest wykonanie implementacji generującej 1, 8, 16, 32 albo 64 bity strumienia klucza na rundę. Źródło: De Canniere C., Preneel B., Trivium Specifications, 2005 27
Algorytmy symetryczne - strumieniowe nowe propozycje: Sprout złamany niemal tuż po ogłoszeniu. Bazuje na nowej koncepcji, gdzie klucz główny wykorzystuje się w fazie inicjalizacji, jak i podczas generacji strumienia klucza, dzięki czemu możliwe jest stosowanie krótszego stanu wewnętrznego i zrealizowanie implementacji wykorzystującej mniej niż 1000GE. Algorytmy powstałe na bazie koncepcji z algorytmu Sprout, np. Fruit. 28
Algorytmy asymetryczne Charakteryzują się znacznie dłuższym czasem realizacji obliczeń niż algorytmy symetryczne, Dłuższy czas działania wiąże się ze wzrostem poboru mocy przez urządzenie o dwa lub trzy rzędy wielkości, Zdecydowanie większe wykorzystanie zasobów logicznych. 29
Algorytmy asymetryczne koprocesory krzywych eliptycznych pozwala uzyskać oczekiwany poziom bezpieczeństwa przy zastosowaniu krótszych kluczy niż w przypadku np. algorytmu RSA czy DH, gwarantując jednocześnie mniejsze zużycie zasobów logicznych [6], Poziom bezpieczeństwa Algorytm symetryczny Kryptografia ciał skończonych, np. DSA, DH [rozmiar klucza publicznego i prywatnego] Algorytmy oparte na problemie faktoryzacji, np. RSA [rozmiar klucza] Algorytmy oparte na krzywych eliptycznych, np. ECDSA [rozmiar ciała skończonego] 2 80 2TDEA L = 1024, N = 160 k = 1024 f = 160-223 2 112 3TDEA L = 2048, N = 224 k = 2048 f = 224-255 2 128 AES-128 L = 3072, N = 256 k = 3072 f = 256-383 2 192 AES-192 L = 7680, N = 384 k = 7680 f = 384-511 2 256 AES-256 L = 15360, N = 512 k = 15360 f= 512+ liczba wykorzystanych GE przez taki koprocesor jest silnie zależna od doboru wartości parametru m (dla ciał GF(2 m )), jednak nawet dla ciała GF(2 113 ) przekracza ona 10k GE, przez co algorytmy te uznawane są za niepraktyczne dla zastosowań mobilnych. 30
Algorytmy asymetryczne nowe koncepcje realizacji infrastruktury klucza publicznego w oparciu o: funkcje skrótu (ang. hash-based cryptography), kody korekcyjne (ang. code-based cryptography), problem rozwiązania wielowymiarowych równań kwadratowych nad ciałami skończonymi (ang. multivariatequadratic cryptography), kraty (ang. lattice-based cryptography). najbardziej znanym rozwiązaniem opartym o teorię krat jest algorytm NTRU będący częścią standardu IEEE 1363.1. Algorytm ten jest nawet 1.5 raza wydajniejszy i zajmuje 85% mniej zasobów logicznych niż koprocesor krzywych eliptycznych gwarantujący to samo bezpieczeństwo, istotną wadą zarówno rozwiązań opartych o kody korekcyjne, jak i problem rozwiązania wielowymiarowych równań kwadratowych nad ciałami skończonymi jest konieczność stosowania długich kluczy, wydajność konstrukcji opartych o funkcje skrótu jest silnie zależna od wyboru wykorzystywanego algorytmu, a niedawny konkurs na nowy standard SHA-3 może zwiększyć popularność tego typu rozwiązań. 31
Funkcje skrótu algorytm SHA-2 zużycie zasobów na poziomie ok. 10k GE, konkurs na standard SHA-3 możliwość zastosowania w środowiskach o ograniczonych zasobach nie była brana pod uwagę implementacje finalistów konkursu zajmują od kilku do kilkunastu tysięcy GE, algorytm Keccak (zwycięzca konkursu) 2520-5090 GE w zależności od doboru parametrów i oczekiwanego poziomu bezpieczeństwa, nowe algorytmy oparte o konstrukcję gąbki Spongent (738-5100 GE), Neeva (?) 32
Algorytm SHA-3 R = ι χ π ρ θ 12 + 2*l rund stan wewnętrzny: 1600 bitów parametr c (capacity): SHA3-224 448, SHA3-256 512, SHA3-384 768, SHA3-512 1024. parametr r (bitrate): 1600-c Źródło: Bussi K. et al., Neeva: A Lightweight Hash Function, 2016 33
Algorytm Neeva Źródło: Bussi K. et al., Neeva: A Lightweight Hash Function, 2016 35
Dodatkowe problemy większość rozwiązań lightweight podatna jest na ataki poboru mocy, gdyż zastosowanie zabezpieczeń przed tego typu atakami wiążę się z dużym, nawet kilkukrotnym, wzrostem zużycia zasobów logicznych, przykład: zabezpieczona przeciw podstawowym atakom implementacja algorytmu AES zużywa cztery razy więcej GE od implementacji niezabezpieczonej (10793GE w porównaniu do 2400GE) 36
Podsumowanie algorytmy blokowe: duża liczba proponowanych rozwiązań typu lightweight, najważniejsze algorytmy: PRESENT oraz CLEFIA*, algorytmy strumieniowe: AES-CTR, algorytmy asymetryczne: brak efektywnych rozwiązań dla urządzeń mobilnych, coraz większa popularności konstrukcji wykorzystujących kraty, pomysły realizacji infrastruktury klucza publicznego za pomocą protokołów wykorzystujących algorytmy symetryczne, funkcje skrótu: pierwsze propozycje dedykowanych algorytmów typu lightweight (np. Neeva, SPONGENT), implementacje algorytmu Keccak z małymi wartościami parametrów bezpieczeństwa i wydajności można uznać za implementacje lightweight. 37
Dziękuję za uwagę 38
Bibliografia 1. Wyciekł kod źródłowy botnetu Mirai działającego w świecie Internet of Things spodziewajcie się masowych infekcji, https://sekurak.pl/wyciekl-kod-zrodlowy-botnetu-iot/ 2. Botnet na IoT wygenerował 620Gbps DDoS Akamai odmawia dalszej bezpłatnej ochrony dla Briana Krebsa, https://sekurak.pl/botnet-na-iot-wygenerowal-620gbps-ddos-akamai-odmawia-dalszej-bezplatnej-ochrony-dlabriana-krebsa/ 3. IoT devices being increasingly used for DDoS attacks, https://www.symantec.com/connect/blogs/iot-devices-beingincreasingly-used-ddos-attacks 4. Eksperci ostrzegają przed zabezpieczeniami Internetu Rzeczy, http://www.cyberdefence24.pl/478438,eksperciostrzegaja-przed-zabezpieczeniami-internetu-rzeczy 5. Mazurkiewicz, T., Rawski, M., Przegląd algorytmów kryptograficznych pod względem realizacji sprzętowego koprocesora do zastosowań mobilnych, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, 11/2016 6. Poschmann, A.Y., Lightweight Cryptography - Cryptographic Engineering for a Pervasive World., Cryptology eprint Archive IACR, 516/2009, https://eprint.iacr.org/ 7. Ronen E., et al., IoT Goes Nuclear: Creating a ZigBee Chain Reaction, Cryptology eprint Archive: Report 2016/1047 39