Slaboproudý obzor Roč. 71 (2015) Číslo 2
O. Čožík, J. Kadlec: Zabezpečení komunikace senzorického systému
1
ZABEZPEČENÍ KOMUNIKACE SENZORICKÉHO SYSTÉMU Ing. Ondřej Čožík1, Doc. Ing. Jaroslav Kadlec, Ph.D.2 Ústav mikroelektroniky; Fakulta elektrotechniky a komunikačních technologií, VUT v Brně, 1
[email protected],
[email protected]
Abstrakt
Abstract
Článek se zabývá problémem zabezpečení komunikace v kompletním senzorickém systému kombinujícím RF síť se sítí Ethernet. V úvodu je popsána požadovaná topologie celého systému k zabezpečení včetně jednotlivých vrstev systému a jejich využití. Ve druhé části článku je zpracováno navázání zabezpečené komunikace mezi jednotlivými prvky na síti Ethernet prostřednictvím protokolu TLS. V poslední části je popsáno nově navržené zabezpečení pro prvky v bezdrátové síti využívající ustavení skupinového klíče protokolem GDH.3. Pro prvky na nejnižší vrstvě RF systému je použit standardní protokol pro ustavení klíče mezi dvěma stranami založený na algoritmu Diffie-Hellman.
The article deals with security of communication in a sensor system combining a wireless RF network and Ethernet. Firstly, desired topology of the whole system including the usage of particular topology layers is described. The main topic of the second chapter is secure communication between devices on the RF network and AA server which is realized by a transport layer security (TLS) protocol. Thirdly, the final solution of the security mechanisms used for mutual communication of modules on the second and third topology layer of the RF network, where the improved group key establishment protocol (GDH.3) is applied. Finally, it is possible to get a security key via a standard Diffie – Hellman protocol between the AA server and wireless sensor device after its mutual successful authorization.
Klíčová slova: Senzorický systém, RF síť, Diffie – Hellman protokol, GDH.3, TLS
Keywords: Sensor system, RF network, Diffie – Hellman protocol, GDH.3, TLS
1
jednotlivými zařízeními jak v bezdrátové síti, tak i šifrování komunikace na úrovni sítě Ethernet. Požadavky na jednoduchost a rychlost šifrování / dešifrování jsou zvláště důležité z důvodu omezených prostředků použitých řídicích mikrokontrolérů. V této části článku je ukázáno ustavení tajného klíče a následné předání šifrovacího klíče od nejvyšší vrstvy systému až po tu nejnižší vrstvu. Následuje zhodnocení samotného řešení z hlediska bezpečnosti komunikace i časové náročnosti procesu šifrování / dešifrování.
Úvod
V článku je stručně popsán mechanismus vytvoření nového zabezpečeného bezdrátového senzorického systému, včetně výběru použitých prvků, až po popis principu zabezpečení komunikace mezi jednotlivými zařízeními. Zabezpečení komunikace v bezdrátovém systému je jedním ze základních problémů a musí být řešeno již od počátku návrhu systému tak, aby nebylo umožněno případnému útočníkovi získat z bezdrátové komunikace jakékoliv informace [1], [2]. V další kapitole jsou tak nejprve popsány nároky na topologii senzorického systému odpovídající plánovanému využití, včetně hlavních požadavků na jednotlivá zařízení a shrnutí výhod a nevýhod jednotlivých řešení. Poslední část článku se zabývá volbou bezpečného a současně relativně jednoduchého způsobu šifrování komunikace mezi
Obr. 1.
2
Požadovaná topologie systému
Navržená topologie kompletního systému je přizpůsobena rychlé výměně zpráv mezi řídicím zařízením a podřízenými síťovými uzly, při níž může docházet i k relativně velkým datovým tokům mezi jednotlivými moduly (zprávy o velikosti maximálně desítek bajtů). Dále byl kladen důraz na možnost
Hierarchie navrhovaného senzorického systému.
2
O. Čožík, J. Kadlec: Zabezpečení komunikace senzorického systému
přesné synchronizace bezdrátových modulů navzájem mezi sebou a i s řídicím zařízením. Vzniklá topologie je ukázána na obr. 1, odkud je patrné, že systém je rozdělen na 4 vrstvy. V nejvyšší (první) vrstvě systému se nachází řídicí zařízení představující například osobní počítač nebo server s nainstalovaným řídicím programem, který zpracovává pakety přes síť Ethernet. Ve druhé vrstvě vytvořené topologie se nachází převodníky mezi sítí Ethernet a bezdrátovou RF sítí. Převodníků může být i více (na jednu logickou skupinu RF modulů vždy pouze jeden) a jejich úkolem je přeposílat data z bezdrátové sítě na Ethernet a opačně. Třetí vrstva představuje RF moduly, sloužící jako opakovače předávající zprávy k uvedeným převodníkům. Na nejnižší (čtvrté) vrstvě se nacházejí přenositelné bezdrátové RF moduly, které periodicky odesílají data
Obr. 2.
(Transport Layer Security) [3], [4]. Díky protokolu TLS tak je umožněna šifrovaná komunikace mezi jednotlivými převodníky a serverem.
4
Zabezpečení komunikace bezdrátové části systému
U vznikajícího systému je primárním požadavkem zabezpečení komunikace na všech úrovních systému tak, aby případný útočník nemohl data zneužít v jeho prospěch. Pro návrh samotného zabezpečení komunikace mezi jednotlivými prvky je nutné analyzovat veškeré možné útoky proveditelné na takový systém a bezpečnostní rizika, která mohou v systému nastat a následně zvolit to nejvhodnější zabezpečení [5], [6], [7].
Předávání zpráv v RF síti na nejnižší vrstvě senzorického systému.
a stavové informace nadřazeným členům v hierarchii. Je proto žádoucí vytvořit zabezpečenou komunikaci z důvodu zamezení úniku citlivých informací předávaných v systému, či podvržení neplatných dat případným útočníkem, která by mohla vyvolat chybu v systému, nebo způsobit jeho nefunkčnost. Systém předávání zpráv pro jeden modul na nejnižší vrstvě je znázorněn na obr. 2. Jelikož jsou moduly přenositelné (čtvrtá vrstva), dochází ke komplikaci ztěžující možnosti zabezpečení tím, že se takový modul může v jednom časovém okamžiku hlásit k jednomu z nadřazených zařízení (třetí vrstva), ale v dalším časovém okamžiku se přihlásí k jinému nadřazenému zařízení. Tím je dána podmínka, že systém musí být zabezpečen způsobem umožňujícím všem zařízením ve třetí vrstvě dešifrovat zprávu od všech modulů ze čtvrté vrstvy. Obdobná situace nastává i mezi druhou a třetí vrstvou v hierarchii senzorického systému, pouze s tím rozdílem, že moduly ve druhé a třetí vrstvě se budou přemisťovat jen velmi vzácně. Na obr. 2 je zobrazen i způsob předávání zpráv mezi zařízeními ve třetí vrstvě.
3
Slaboproudý obzor Roč. 71 (2015) Číslo 2
Zabezpečení komunikace na síti Ethernet
Pro zabezpečení komunikace na nejvyšší úrovni v hierarchii senzorického systému je vhodné použít protokol TLS
4.1 Možná rizika a související problémy V bezdrátových sítích obecně existuje mnoho způsobů, jak napadnout bezpečnost systému [8], [9]. Prvním z nich může být odposlech komunikace v síti, kdy v případě nezabezpečené sítě útočník může číst veškeré přenášené zprávy. Řešením odstraňujícím uvedený problém může být šifrování veškerých zpráv objevujících se ve vytvářené RF síti. S tím ale nastává problém, jak spravovat klíče pro všechna bezdrátová zařízení. Předpokládejme dále, že je již bezdrátový RF systém zabezpečený. Útočník sice může zachytit přenášenou šifru, ale bez použitého klíče je zcela bezvýznamná. V senzorickém systému dochází ke sběru dat z velkého množství měřicích RF modulů odesílajících data nadřazené vrstvě v hierarchii sítě a může se stát, že některé moduly budou odesílat hodnotu měnící se s časem jen velmi pomalu, nebo vůbec. Aby útočník nemohl využít této vědomosti, bude do zpráv přidáno pole čítače, označeného COUNTER, který se bude po každém odeslání zprávy inkrementovat podle rovnice COUNTER(i +1) = COUNTER(i ) + 1 .
(1)
Jelikož u blokových šifer platí, že změnou jediného bitu na vstupu šifrovacího bloku lze vyvolat velkou změnu na jeho výstupu, je možné docílit zcela odlišné šifry i při dvou
Slaboproudý obzor Roč. 71 (2015) Číslo 2
O. Čožík, J. Kadlec: Zabezpečení komunikace senzorického systému
totožných datových rámcích odesílaných na nejnižší vrstvě pouze s odlišným čítačem.
Obr. 3.
RF
moduly
Pole COUNTER přidané k původní zprávě Z v RF síti.
Situace přidání čítače je zobrazena na obr. 3. Ke klasickému poli zprávy Z bude přidáno pole COUNTER. Uvedené opatření by mělo omezit i možnost podstrčení dříve zachycené zprávy útočníkem, jelikož si vysílač i přijímač udržují aktuální hodnotu parametru a přijatá zpráva bude prohlášena za platnou jenom v případě, kdy se bude shodovat právě tento parametr obsažený ve zprávě se stejným parametrem u přijímače. Pokud by případný útočník zachytil paket a následně jej vyslal, přijímací strana by již zprávu vyhodnotila jako neplatnou z důvodu, že již zprávu se stejným parametrem přijala a nyní je parametr COUNTER odlišný. Pro předejití dalších typů útoků, jako jsou útok hrubou silou nebo snaha zachytit co nejvíce zpráv za účelem zjištění klíče, je vhodné, aby navržené zabezpečení umožňovalo bezpečnou změnu používaného klíče. Jelikož mikrokontroléry použité ve všech zařízeních na všech vrstvách kromě nejvyšší obsahují AES modul s možností 128b klíče [10], [11], [12], je vhodné těchto modulů využít i pro běžné šifrování. Hlavním problémem je, jak bezpečně ustavit klíč v jednotlivých zařízeních. Zabezpečení lze provést velmi jednoduše, pokud se jedná o komunikaci mezi dvěma stranami, jak je zobrazeno na obr. 4.
Obr. 4.
3
Pro správnou funkci vyhledávání je žádoucí, aby byl posílán v RF síti tzv. token, který bude určovat, které zařízení aktuálně přiřazuje čísla dalším (nalezeným) RF modulům v jeho dosahu. Spolu s tokenem se bude předávat nejvyšší dosud přiřazená adresa, díky čemuž následující zařízení, které obdrží token, přesně ví, jakou další adresu může přiřadit, aby nedošlo v RF síti ke kolizi. Pro demonstraci navržené metody AVOM byla použita hierarchie systému zobrazeného na obr. 5. Je nutno dodat, že před spuštěním samotné funkce je potřeba všem zařízením sdělit informaci o novém vyhledávání a přidělování adres. Ohlášení nového vyhledávání může být v RF síti provedeno pomocí tzv. hromadné zprávy (tj. zpráva, která je doručena všem zařízením v síti). Na základě zmíněné zprávy všechna zařízení musí smazat svou dosavadní adresu, případně i další údaje a zastaví veškerou další komunikaci až do doby, než bude provedeno kompletní zabezpečení systému (bude oznámeno taktéž hromadnou zprávou).
Komunikace mezi zařízeními A a B.
V případě uvedeném na obr. 4 by stačilo využít protokolu Diffie-Hellman (DH) pro ustavení klíčů [13]. Tento případ zachycuje pouze ideální komunikaci dvou zařízení, která se v navrhovaném senzorickém systému neobjevuje. Naopak, je potřeba bezpečně stanovit klíč pro více zařízení [14], [15], [16]. Jedním z protokolů vyhovující navrhovanému systému je protokol označovaný GDH.3 [17].
4.2 Metoda automatického vyhledání a označení modulů v RF síti Aby bylo možné použít protokol GDH.3 v systému, je nutné striktně určit logickou skupinu modulů, které budou mít shodný tajný klíč, díky němuž se provede identifikace jednotlivých modulů ve skupině, a pokud všechna zařízení prokážou svou identitu, server jim určí šifrovací klíč pro vlastní komunikaci v rámci skupiny. Pro vlastní spuštění protokolu GDH.3 je nutné, aby každý z modulů měl v rámci skupiny své pořadové číslo (adresu). Pořadové číslo ale musí být přidělováno automaticky v rámci skupiny tak, aby systém v případě přidání nového zařízení mohl vygenerovat další číslo (adresu) a nedošlo ke kolizi v označení s jiným, již komunikujícím zařízením. Za tímto účelem byla navržena metoda pro automatické vyhledání a označení bezdrátových zařízení (RF modulů), v dalším popisu bude funkce označována AVOM.
Obr. 5.
Základní hierarchie systému pro určení adres včetně prvního kroku prohledávání RF sítě.
Na obr. 5 se jedná o typickou hierarchii navrhovaného senzorického systému, kde je rovnou naznačen první krok vyhledávací metody. Nejprve server odešle příkaz pro zahájení funkce AVOM převodníku RF / Ethernet v nižší vrstvě, ovšem na nejvyšší vrstvě ze všech RF zařízení, a ten si proto automaticky přiřadí novou adresu 0 (na obr. 5 jsou přiřazené adresy vždy nad modulem v zeleném kroužku). Dále je spuštěno vyhledání všech dostupných zařízení v okolí převodníku. Po získání všech přímo dostupných zařízení je převodník podle zvoleného kritéria (např. síla signálu, rychlost odezvy, atp.) individuálně očísluje (dostupná zařízení získala adresu 1 a 2). Každé zařízení si vždy uloží adresu zařízení, od kterého přijalo token a všechna neočíslovaná zařízení ve svém okolí, kterým ještě nebyl token předán. Na obrázcích jsou tato čísla napsána vždy pod daným modulem (například u převodníku RF / Ethernet na obr. 5 je uvedeno P(0) / N(1,2)). Jelikož je převodník na nejvyšší možné úrovni, je nastaven jeho předchůdce na stejnou adresu, jakou má on sám (0) – tím algoritmus po návratu tokenu jednoduše rozpozná, zda jsou již všechna zařízení v síti označená. Modul zvýrazněný červeně na obrázcích aktuálně drží token a je oprávněn k číslování modulů ve svém dosahu, čárkovanou
4
O. Čožík, J. Kadlec: Zabezpečení komunikace senzorického systému
zelenou čárou jsou naznačeny hranice dosahu daného RF modulu s tokenem při vyhledávání.
Obr. 6.
Zařízení s adresou 1 má uloženy ještě 2 moduly, kterým nebyl předán token, a tak jej ihned předává modulu s nižší adresou (tzn. 4). V okolí tohoto zařízení ale všechny moduly mají přiřazenou adresu a token se vrací zpět zařízení s adresou 1. V paměti zařízení číslo 1 už je jenom jedno zařízení, kterému nepředalo token. Následně token obdrží zařízení s adresou 5, podobně jako zařízení 4 nemá komu dál předat token, a tak opět vrací zpět modulu s číslem 1. Zařízení s adresou 1 ale všem jím nalezeným zařízením token přeposlalo, a tak jej vrací zpět zařízení s číslem 0, tedy převodníku z RF sítě na Ethernet. Celá situace je zachycena na obr. 8.
Druhý krok při použití funkce AVOM.
V dalším kroku (viz obr. 6) je předán token dalšímu zařízení v síti (s adresou 1). Token dostává vždy to zařízení, které má nejnižší nově přiřazenou adresu. Jakmile vybrané zařízení získá token, nejprve uloží adresu předcházejícího zařízení (0), následně prohledá své okolí a opět nalezeným, dříve neočíslovaným zařízením přiřadí adresu (adresy 3, 4 a 5). Následně si v paměti uloží všechna zařízení, která nalezl, ale ještě jim nebyl předán token. Z těchto zařízení opět vybere jedno s nejnižší adresou (3) a právě tomu předá token. Stejný postup se aplikuje tak dlouho, než algoritmus dorazí na zařízení, které nemá ve svém okolí žádné neoznačené zařízení. Tato situace je zachycena na obr. 7, kdy token vlastní zařízení s adresou 7 a ve svém dosahu má již jen zařízení 8, 9 a 10, která jsou konečná. Zařízení s adresou 7 tedy postupně předává token každému z nich pro ověření jejich okolí (postup předávání je zobrazen šipkami, čísla u šipek znamenají jednotlivé kroky předávání tokenu). Po ověření všech 3 zařízení již nemá modul s adresou 7 koho dále adresovat, tak vrací token zpět předchozímu zařízení s adresou 6. To ale také nemá token komu předat, a tak se dostane zpět až k zařízení s adresou 1.
Obr. 8.
Konec dopředné fáze vyhledávacího algoritmu AVOM.
Předávání tokenů během funkce AVOM.
Zařízení s adresou 0 (převodník) má ještě jedno zařízení, kterému dosud nepředalo token, konkrétně je to RF modul s adresou 2. Po provedení této výměny tokenu je celá RF síť prohledána a všechna zařízení mají přiřazenu novou adresu. Jelikož adresa předchozího modulu je shodná s adresou převodníku, odešle převodník zprávu serveru s oznámením dokončení číslování zařízení na RF síti – viz obr. 9.
Obr. 9.
Obr. 7.
Slaboproudý obzor Roč. 71 (2015) Číslo 2
Konečná fáze vyhledávací funkce AVOM.
Tím je dokončen proces nutný pro spuštění protokolu GDH.3, díky kterému se v celé skupině tak, jak byla očíslována, dohodne jeden dočasný tajný klíč pro přenos šifrovacího klíče.
Slaboproudý obzor Roč. 71 (2015) Číslo 2
O. Čožík, J. Kadlec: Zabezpečení komunikace senzorického systému
4.3 Dohodnutí skupinového klíče pomocí GDH.3 V základním Diffie - Hellman protokolu se klíč mezi dvěma členy M1 a M2 určí tak, že nejprve M1 odešle hodnotu u dle vztahu (2) zařízení M2 [13] [8] u = α N1 (mod p ) .
(2)
Ve vztahu (2) vystupuje α jako generátor grupy, N1 je náhodný exponent vygenerovaný M1 a p je prvočíslo. Hodnoty p a α jsou veřejně známy oběma stranám. Podobně jako M1 odeslalo hodnotu u, odešle M2 vlastní vypočtenou hodnotu v danou vztahem (3) [8] v = α N 2 (mod p ) .
(3)
Ve (3) byl použit pouze jiný vygenerovaný exponent označený N2. Jakmile jsou obě hodnoty odeslány druhým stranám, účastník M1 určí tajný klíč K dle vztahu (4) a účastník M2 použitím vztahu (5) dojde ke stejnému klíči K K = v N1 = (α N 2 ) N1 (mod p ) ,
(4)
K = u N 2 = (α N1 ) N 2 (mod p) .
(5)
Pro ustavení skupinového klíče se použije rozšíření základního Diffie-Hellman (DH) protokolu pro obecně n – zařízení [17]. Během inicializace celého protokolu umožňujícího stanovení sdíleného klíče je nutné očíslování všech zařízení v rámci skupiny, která budou schopna tento klíč určit (viz kapitola 4.2 Metoda automatického vyhledání a označení modulů v RF síti). Podobně jako v základním DH protokolu, všechna zařízení znají veřejné parametry p a α. Dále každé zařízení skupiny (označené jako Mi) musí vygenerovat vlastní náhodný exponent Ni. Pro zjednodušení není uváděna ve vztazích operace „mod p“. V první fázi protokolu vygeneruje první modul M0 pomocí vlastního exponentu N0 hodnotu α N 0 , kterou pošle následujícímu modulu M1. Ten vypočítá hodnotu α N0 ⋅N1 , jež opět předá následujícímu modulu M2. Postup se opakuje, až dokud předávaná hodnota nedorazí k zařízení s M(n-2), kde n je počet všech zařízení ve skupině. Ta je pak předána ještě zařízení M(n-1), které předávací hodnotu vypočítá, nicméně ji neposílá poslednímu zařízení Mn. Obecně lze předávací hodnotu v jednotlivých zařízeních Mi během první fáze popsat vztahem (6) [17] i
α ∏k = 0
Nk
.
(6)
V následující (druhé) fázi protokolu GDH.3 je odeslána všem zařízením tzv. hromadnou zprávou hodnota vypočtená právě zařízením M(n-1). Všechna zařízení obdrží zprávu obsahující hodnotu určenou vztahem (7) [17], včetně zařízení Mn, které ji ukládá z důvodu případného rozšíření skupiny n −1
α ∏k = 0
Nk
.
(7)
V průběhu třetí fáze jednotlivá zařízení Mi přijmou hromadnou zprávu s hodnotou (7), vyloučí z ní vlastní náhodný koeficient Ni vynásobením (7) inverzní hodnotou N i−1 a výsledek odešlou zařízení Mn. Obecně lze uvedenou hodnotu z každého zařízení Mi určit pomocí (8) [17].
n −1
α ∏k = 0
Nk
5
| k ≠i.
(8)
Zařízení Mn pak musí ve čtvrté fázi všechny přijaté hodnoty uložit, vynásobit vlastním náhodným exponentem Nn a odeslat hromadnou zprávou všechny vypočtené hodnoty (9) [17] n
α ∏k = 0
Nk
| k ≠ i ^ i ∈ [1, n − 1] .
(9)
Všechna zařízení v aktuální fázi získají od Mn hodnotu, která po vynásobení vlastním náhodným exponentem Ni bude představovat skupinový tajný klíč K sloužící k ověření identifikace jednotlivých zařízení a následnému rozeslání šifrovacího klíče. n
K = α ∏k = 0
Nk
.
(10)
Hodnota tajného klíče K ve skupině získaného pomocí protokolu GDH.3 je určena vztahem (10) [17].
4.4 Přidání člena do skupiny s tajným klíčem Během životnosti senzorického systému může dojít k požadavku na jeho rozšíření přidáním dalších zařízení do již vzniklé skupiny s tajným klíčem. Všechna zařízení komunikují pomocí šifrovacího klíče, ale mají uloženy hodnoty, kterými získaly tajný skupinový klíč. Právě na základě těchto hodnot se odvodí nový skupinový klíč, který bude znát i nový člen. Poslední člen skupiny Mn musí mít uložené hodnoty z druhé a třetí fáze ustavení skupinového klíče. Nejprve však vygeneruje nový exponent N n a vynásobí pomocí něj uloženou hodnotu z druhé fáze procesu ustavení klíče, získá tak hodnotu danou vztahem (11) [17] n
α ∏k = 0
Nk
= α N 0 ⋅ N1 ⋅...⋅ N n−1 ⋅ N n .
(11)
Zařízení Mn hodnotu (11) předá novému zařízení M(n+1), které vygeneruje svůj vlastní exponent N(n+1) a vypočte nový klíč K(n+1) pro celou skupinu (12) [17] n +1
K n+1 = α ∏k =0
Nk
= α N0 ⋅N1⋅...⋅N n −1⋅N n ⋅N n +1 .
(12)
Poslední část, kterou musí zařízení M(n+1) vykonat, je vypočítat n hodnot získaných od zařízení Mn, kterým musí přidat vlastní exponent N(n+1) a hodnoty rozeslat hromadnými zprávami, aby i ostatní zařízení byla schopná určit nový skupinový klíč K(n+1). V podstatě se jedná o opětovné provedení třetí a čtvrté fáze protokolu GDH.3 [17]. n
α ∏k = 0
Nk
| k≠ j ^
j ∈ [1, n] .
(13)
Zařízení M(n+1) odesílá všem ostatním zařízením hodnoty definované vztahem (13), kdy v každé odesílané hodnotě chybí jeden exponent Nj, ten doplní právě zařízení Mj.
4.5 Odebrání člena ze skupiny s tajným klíčem Z bezpečnostních důvodů musí mít algoritmus možnost odebrání konkrétního zařízení ze skupiny. Pro zařízení Mp (kde p ∈ [1, n-1]) ze skupiny hraje důležitou roli také zařízení Mn, které musí mít uloženy veškeré hodnoty získané ve čtvrté fázi ustavení skupinového klíče K. Zařízení Mn následně
O. Čožík, J. Kadlec: Zabezpečení komunikace senzorického systému
6
vygeneruje nový náhodný exponent N n , který použije pro výpočet všech (n-2) hodnot dle vztahu (9). K =α
N 0 ⋅ N1 ⋅...⋅ N p −1 ⋅ N p +1 ⋅...⋅ N n −1 ⋅ N n
.
(14)
Hodnota pro zařízení Mp se neurčuje, takže při plošném odeslání zpráv všem zařízením si již vyřazený účastník nedokáže odvodit nový skupinový klíč K (14) [17].
4.6 Zabezpečení přenosných RF modulů na nejnižší vrstvě systému Nejnižší vrstva (čtvrtá) v hierarchii senzorického systému obsahuje pouze přenosné RF moduly komunikující s RF zařízeními ve vyšších vrstvách. Z požadavků na senzorický systém ale vyplývá, že přenosné RF moduly musí být v dosahu více než jen jedno RF zařízení ve vyšší vrstvě, z čehož je zřejmé, že není možné použít různé šifrovací klíče pro komunikaci s nadřazenými zařízeními. Šifrovací klíč bude přenosnému zařízení sdělen pomocí protokolu DH mezi daným modulem a serverem po úspěšné autentizaci obou stran. Autentizace proběhne ihned při odeslání požadavku pro přístup zařízení k síti. Přenosné zařízení vytvoří smluvenou žádost a zašifruje ji pomocí svého soukromého klíče SKm, čímž vznikne šifra Ms, kterou dále zařízení zašifruje veřejným klíčem serveru VKs, který mají všechna přenosná zařízení k dispozici.
Obr. 10. Zašifrování požadavku v přenosném RF modulu pro přístup k senzorické síti.
Tím vznikne šifrovaná zpráva M, která je odeslána přenosovým kanálem serveru. Celý proces zašifrování požadavku zachycuje obr. 10. Server přijme zprávu M, nejprve aplikuje svůj soukromý klíč SKs, čímž dostává zprávu Ms. Na serveru jsou uloženy identifikátory ID všech přenosných RF modulů s povolením přístupu do RF sítě, tyto záznamy mohou být editovány pouze autorizovanou osobou s přístupem k databázím na serveru. Další hodnotou spojenou s ID je veřejný klíč VKm jednotlivých modulů, server je tak schopný po přijetí zprávy od konkrétního RF modulu aplikovat jeho veřejný klíč VKm a zprávu dešifrovat (viz obr. 11).
Slaboproudý obzor Roč. 71 (2015) Číslo 2
(nejprve použitím soukromého klíče SKs a následně veřejným klíčem VKm přenosného RF modulu, který si zjistí ve své databázi) a zprávu předá přenosovým kanálem zpět RF modulu. RF modul provede dešifrování zprávy (aplikuje postupně soukromý klíč SKm a veřejný klíč VKs), následně vygeneruje své náhodné číslo dle (3), které patřičným způsobem zašifruje - stejně jako první žádost odesílanou serveru (obr. 10). Tímto způsobem se vyloučí možnost útoku tzv. mužem uprostřed, který by mohl nastat v případě odesílání pouze vygenerovaných nezašifrovaných hodnot protokolu DH. Obě strany si nyní mohou určit sdílený klíč, pomocí kterého se předá konečný šifrovací klíč používaný i ostatními přenosnými zařízeními ke komunikaci s RF moduly ve třetí vrstvě senzorického systému. Po jeho předání je přenosný modul schopen plnohodnotné komunikace se všemi zařízeními s RF rozhraním v celé síti a navíc je zaručeno, že v případě narušení bezpečnosti sítě lze bezpečně stanovit nový šifrovací klíč bez nutnosti přehrávat firmware jednotlivých zařízení.
5
Závěr
V článku byl popsán navrhovaný senzorický systém včetně požadavků nutných pro správný chod celého systému. Byla definována topologie senzorického systému a naznačen princip komunikace na jednotlivých úrovních uvedeného systému. Zabezpečením bezdrátové části senzorického systému se zabývá poslední, čtvrtá kapitola článku. Nejprve byla detailně popsána metoda prohledání bezdrátové sítě a přiřazení adres jednotlivým RF modulům ve druhé a třetí vrstvě za účelem následného sjednání skupinového klíče. Pro dohodnutí skupinového klíče bylo využito GDH.3 protokolu umožňujícího jak přidání dalšího členu do již vytvořené skupiny, tak i odebrání libovolného členu. Prostřednictvím sjednaného skupinového klíče server následně předá všem RF modulům šifrovací klíč, který se bude používat pro šifrování běžné komunikace (data v RF síti šifrována algoritmem AES s délkou klíče 128 b). Na nejnižší (čtvrté) vrstvě hierarchického modelu, obsahující přenosné RF moduly, bylo nutné nejprve zvolit systém autentizace zařízení přihlašovaného do RF sítě a až na základě úspěšného ověření je s žádajícím zařízením navázáno spojení (DH protokol), kdy je předán právě používaný šifrovací klíč. Tím bylo navrženo stanovení šifrovacího klíče v celém zamýšleném senzorickém systému od nejvyšší úrovně (server) až po přenosné RF moduly ve čtvrté vrstvě.
Poděkování Výsledky výzkumu publikované v tomto článku byly dosaženy za podpory projektu TA04010476 „Bezpečné systémy pro ověření uživatelů elektronických služeb“.
Literatura Obr. 11. Dešifrování požadavku pro přístup k senzorické síti v serveru.
Pokud je serverem přijatá žádost platná, server vygeneruje hodnotu pro ustavení klíče dle protokolu DH mezi dvěma zařízeními dle (2), zašifruje výsledek opačným postupem
[1] Shi, E., Perrig, A. Designing Secure Sensor Networks, IEEE Wireless Communications, December 2004, vol. 11, no. 6, p. 38 - 43. ISSN 1536-1284. [2] Stewart, K., Haniotakis, T., Tragoudas, S. A Security protocol for sensor networks. In Global Telecommuni-
Slaboproudý obzor Roč. 71 (2015) Číslo 2
[3]
[4] [5]
[6]
[7]
[8] [9]
[10]
O. Čožík, J. Kadlec: Zabezpečení komunikace senzorického systému
cations Conference, 2005. GLOBECOM '05. IEEE, vol. 3. Illinois, USA, 2005. ISBN 0-7803-9414-3. Dierks, T., Rescorla, E. The Transport Layer Security (TLS) Protocol [online], August 2008 [cit. 2015-06-08].
. Vacca, J. R. Network and System Security, Burlington, MA: Syngress/Elsevier, 2010, p. 368. Jang, S. - J., Lee, Y. - G., Lee, K. - H., Kim, T. - H., Jun, M. - S. A Study on Group Key Agreement in Sensor Network Environments Using Two-Dimensional Arrays. Sensors [online]. 2011, vol. 11, iss. 9 [cit. 2015-06-04]. . Jolly, G., Kuscu, M. C., Kokate, P., Younis, M. A LowEnergy Key Management Protocol for Wireless Sensor Networks. In Proceedings of the Eighth IEEE International Symposium on Computers and Communication (ISCC’03). Kemer - Antalya, Turecko. 2003. Vol. 1, p. 335 – 340. ISSN 1530-1346. Dostupné z: [cit. 2013-12-03]. Kim, Y., Perrig, A., Tsudik, G. Tree-based Group Key Agreement. ACM Transactions on Information Systems Security. 2004, vol. 7, No. 1, p. 60 - 96. Dostupné z: [cit. 2013-12-18]. Stallings, W. Cryptography and Network Security: Principle and practice, 5. ed., Boston: Prentice Hall, 2011, p. 719. Bresson, E., Pointcheval, D., Chavassut, O. Group DiffieHellman Key Exchange Secure against Dictionary Attacks. In Advances in Cryptology - ASIACRYPT 2002, 8th International Conference on the Theory and Application of Cryptology and Information Security, Queenstown, New Zealand. December 1-5, 2002. p. 497 – 514. Dostupné z: [cit. 2013-12-02]. FIPS 197 - Advanced Encryption Standard (AES). NIST Computer Security Division [online]. November 26, 2001 [cit. 2013-12-03]. .
7
[11] C Implementation of Cryptographic Algorithms. Texas Instruments [online] August 2012. [cit. 2013-11-28]. . [12] AES128 - A C Implementation for Encryption and Decryption. Texas Instruments [online]. March 17, 2009. [cit. 2013-11-25]. [13] Raymond, J. - F., Stiglic, A. Security Issues in the DiffieHellman Key Agreement Protocol [online]. 2003. [cit. 2013-12-16]. . [14] Perrig, A., Canetti, R., Tygar, J., Song, D. The TESLA Broadcast Authentication Protocol. RSA Laboratories Cryptobytes. Summer/Fall 2002, vol. 5, no. 2, p. 2 - 13. Dostupné z: [cit. 2013-12-21]. [15] Perrig, A., Szewczyk, R., Tygar, J., Wen, V., Culler, D. E. SPINS: Security Protocols for Sensor Networks. Wireless Networks, 2002, vol. 8, iss. 5, p. 521 - 534. Dostupné z: [cit. 2013-12-21]. [16] Chan, H., Perrig, A., Song, D. Random Key Predistribution Schemes for Sensor Networks. In Proceedings of the IEEE Symposium on Security and Privacy, Oakland, California, USA, May 2003. Dostupné z: [cit. 2013-12-02]. [17] Steiner, M., Tsudik, G., Waidner, M. Diffie-Hellman Key Distribution Extended to Group Communication. In Proceedings of the 3rd ACM conference on Computer and communications security CCS '96, New York, USA. 1996, p. 31 - 37. ISBN 0-89791-829-0. Dostupné z: [cit. 2013-12-03].