Asymetrická kryptografie v bezdrátových senzorových sítích

Autor: P. Morávek, D. Komosný <moravek(at)phd.feec.vutbr.cz?cc=komosny(at)feec.vutbr.cz >, Pracoviště: Vysoké učení technické v Brně, Téma: Bezpečnost, Vydáno dne: 23. 11. 2009

Pro zajištění požadované úrovně bezpečnosti jsou již zcela běžně používány asymetrické kryptosystémy, které ovšem vyžadují mnohem více zdrojů než systémy symetrické. V článku jsou popsány dva typy asymetrických systémů (ECC a RSA) a zhodnocena vhodnost jejich použití z hlediska energetické náročnosti.


Asymetric Cryptography in WSN

Abstract: Since ensuring security in communication networks is a resource demanding process and resources of wireless sensor nodes are very limited, the selection of the particular cryptographic system securing these networks has to be very careful. There are both ECC and RSA asymmetric cryptographic systems briefly described in this paper. The systems are compared from the energy consumption point of view, which is one of the most important factors in the evaluation of all processes in wireless sensor networks.

Keywords: WSN security, asymetric cryptography, energy consumption


Úvod

Bezdrátové senzorové sítě (Wireless Sensor Networks – WSN) jsou díky rozvoji miniaturizujících technologií (Micro-Electro-Mechanical-Systems - MEMS) a bezdrátové komunikace jednou ze slibných technologií budoucnosti. Možnosti jejich využití jsou nesčetné. Často se oblasti použití dělí do sektorů, jako jsou vojenství, zdravotnictví, monitorování životního prostředí, průmysl, automatizovaná domácnost, dopravní systémy a mnoho dalších.

Potenciál WSN sítí láká velké množství vědců a spousta vědeckých týmů se zabývá právě problematikou s těmito sítěmi související. Oblastí výzkumu je mnoho; od návrhu samotných senzorových uzlů, bezdrátových rozhraní a vlastních snímacích zařízení, přes výzkum oblasti komunikace, směrování, lokalizace až k otázkám bezpečnosti aplikací využívajících WSN senzory. V důsledku velkého množství senzorů, které většinou WSN síť obsahuje, je na tato jednotlivá zařízení kladen požadavek nízké ceny. To má spolu s požadavkem miniaturizace velký vliv na omezující faktory bezdrátových uzlů, ke kterým patří především výpočetní a paměťové kapacity, šířka pásma použitelná pro komunikaci a v důsledku absence externích zdrojů napájení také omezený zdroj energie.

Bezpečnostní požadavky vycházejí z charakteru jednotlivých aplikací a v každé aplikaci mají svá specifika. V některých aplikacích je třeba zajistit pouze přenos utajené informace, jinde autentizaci s požadavkem neschopnosti dešifrovat provoz před připojením uzlu do sítě nebo zabránit možnosti podvržení falešných dat.

Šifrovací algoritmy pro autentizaci a šifrování dat ve WSN mohou být použity ve dvou variantách: asymetrické a symetrické. Pokud se použije asymetrická šifra, jsou jednotlivé uzly vybaveny veřejným klíčem (všeobecně známým), kterým zašifrují zprávu, jež chtějí přenést. Zprávu může dešifrovat pouze prvek sítě, který má k dispozici soukromý klíč odpovídající šifrovacímu veřejnému klíči. Uzlem vybaveným soukromým klíčem bývá nejčastěji základnová stanice, která hraje ve WSN síti roli uzlu shromažďujícího data z pokryté oblasti. Je ovšem možné se setkat s použitím asymetrické šifry i v případě komunikace dvou senzorových uzlů; například při přihlašování nového uzlu do sítě nebo začátku komunikace mezi dvěma uzly. Druhým způsobem zabezpečení je použití jednoho tajného klíče pro šifrování i dešifrování. K nastavení tohoto tajného klíče dochází většinou pomocí asymetrické šifry. Následně je pro komunikaci použito šifrování pomocí dohodnutého tajného klíče, jenž vyžaduje pro šifrování méně prostředků (výpočetních, paměťových, energetických).

Přehled bezpečnostních otázek v ad-hoc a senzorových sítích je možné nalézt např. v [1] nebo [2] a [3], které se zaměřují přímo na bezdrátové senzorové sítě.

Bezpečnostní požadavky WSN sítí

Jak bylo zmíněno v úvodu, WSN sítě nalézají široké uplatnění v rozličných oblastech. Velká diverzita oblastí, kde mohou být výhody těchto sítí využity, způsobuje nemožnost použití univerzálních technik v komunikaci nebo zabezpečovacích mechanismech. Podle jednotlivých oblastí nasazení WSN aplikací se definují rozdílné bezpečnostní požadavky, které musí aplikace splňovat. Tyto požadavky mohou být členěny do dvou rozsáhlých oblastí: operační bezpečnost a informační bezpečnost. Bezpečnost týkající se funkce sítě, operační bezpečnost, zajišťuje schopnost sítě pokračovat v činnosti i při výpadku jednoho nebo několika individuálních uzlů z jakéhokoli důvodu (požadavek dostupnosti služby sítě). Cílem informační bezpečnosti je zajistit utajení citlivé informace během přenosu, integritu dat a autentičnost dat. Podle autora [4] je možno shrnout bezpečnostní požadavky jednotlivých typů aplikací v následující tabulce.

Tabulka: Potenciální hrozby podle aplikačních oblastí (S – Service Availability, C – Confidentiality, I – Integrity, A – Authenticity)

Oblast aplikace

Potenciální bezpečnostní hrozby

Požadavky

S

C

I

A

Vojenství

DoS útok

x

 

x

 

Odposlech utajených informací

 

x

 

 

Podvržení klamné informace

 

 

 

x

Detekce katastrof

Podvržení klamné informace

 

 

 

x

Monitorování prostredí

Změna snímaných informací

 

 

x

 

Inteligentní budovy

Oklamání biometrických senzorů

x

 

x

 

Oklamání přístupového systému založeného na tokenech

 

 

 

x

Zdravotnictví

Poskytnutí nesprávných fyziologických měření

 

 

x

x

Doprava

Napadení systému může zapříčinit kolaps dopravního systému města

 

 

x

x

Průmysl

Průmyslová špionáž

 

x

 

 

Narušení výroby jako výsledek klamných informací ze senzorů

x

 

x

 

Vesmírný výzkum

Obrovské množství peněz proudících do vesmírného výzkumu je velkým lákadlem pro útočníky ve všech směrech

x

x

x

x

Pro soubor bezpečnostních požadavků jsou stanoveny čtyři kategorie. Jsou to:

Základními faktory v oblasti bezpečnosti senzorových sítí je nutnost uvažování komunikace mezi uzly skrze otevřené médium a fakt, že senzory pracují ve většině případů bezobslužně. To znamená, že po rozmístění v monitorovaném prostoru musí senzory svoji funkci plnit samostatně bez cizího zásahu. Znamená to ale také, že senzory jsou ve většině případů fyzicky volně dostupné, což představuje významné bezpečnostní riziko.

Požadavek na utajení informace v senzorové síti zajišťuje především stav, že žádná třetí strana nebude mít možnost zjistit obsah přenášené informace. Informace jsou přenášeny mezi jednotlivými uzly nebo mezi uzlem a základnovou stanicí bezdrátovým spojem a potenciální útočník má tedy velkou šanci zachytit probíhající komunikaci. I přesto ale nesmí být přenášená informace útočníkem odhalena. Přenášené zprávy mohou obsahovat buď data snímaná v okolním prostředí senzory uzlů, nebo informace zajišťující vlastní provoz a funkci sítě.

Ve WSN sítích může útočník poměrně jednoduše zaslat podvrženou zprávu a přijímač musí být schopný určit, zda informace pochází od správného zdroje. Stejně tak jako v jiných aplikacích je i ve WSN sítích cílem autentizace ověřit, zda komunikující strana je důvěryhodný partner nebo nebezpečný útočník. Pokud by pokus o útok nebyl odhalen, mohl by následně útočník legitimně přijímat rozesílaná data nebo naopak posílat klamné zprávy ostatním senzorům v síti.

Integrita dat zaručuje příjemci, že přijatá data nebyla pozměněna útočníkem. To by mohlo v senzorové síti znamenat chybné rozhodnutí přijímací stanice a například v aplikaci detekující blížící se katastrofu mít dalekosáhlé následky. Podobně v oblasti zdravotní péče by mohla pozměněná data mít za následek situaci v podobě ohrožení lidského života.

Důležitý faktor bezpečnosti bezdrátové sítě je také schopnost zaručit, že jednou přenesený paket se už v síti neobjeví znovu. Útočník by totiž mohl zachytit přenášený paket a za nějakou libovolnou dobu paket zopakovat, čímž způsobit chaos a zmatení v síti. Proto musí v síti existovat mechanismy, které duplikovaný paket identifikují a zahodí.

Pro senzorovou síť je důležité, aby její funkce byla zajištěna i v případě určitého omezení. Útočník se může pokusit síť diskreditovat tak, že provede útok typu DoS nebo že vyřadí některé jednotlivé senzory z provozu. Vyřazením senzoru z provozu není myšleno pouze fyzické poškození, ale může jít také o vyčerpání zdroje energie, čímž uzel ztrácí v síti svoji funkci. Útok vedený tímto způsobem se může zaměřit na spotřebu energie uzlu při snímání dané veličiny, výpočetních úkonech nebo komunikace. Přičemž poslední zmiňovaný důvod úbytku energie je nejvýznamnější. Pokud se to útočníkovi podaří, musí i přesto být funkčnost sítě v maximální možné míře zajištěna.

Asymetrický kryptosystém RSA a ECC

Pro zajištění naplnění výše zmíněných požadavků se v senzorových bezdrátových sítích využívají již ověřené algoritmy a běžně používané systémy. Mezi ně patří symetrické algoritmy (např. AES, DES, RC4), asymetrické algoritmy (např. RSA), asymetrický kryptosystém založený na bázi eliptických křivek (ECC) a hashovací funkce (např. MD5, SHA-1, SH-2).

Asymetrická kryptografie používá dva klíče: veřejný a soukromý. Veřejný klíč je, jak název napovídá, veřejně dostupný a slouží k šifrování zprávy. Dešifrování je provedeno klíčem soukromým, který je bezpečně uložen a znám pouze vlastníkovi. Základním požadavkem na tuto zmíněnou dvojici klíčů je nemožnost odvodit jeden z druhého ve smysluplném čase, resp. v době životnosti sítě, ve které byl použit.

V dnešní době stojí složitost výpočtu na jednom ze tří matematických problémů:

RSA kryptosystém je založen na obtížnosti faktorizace čísla n = pq , kde číslo n je spolu s veřejným klíčem všeobecně známo a čísla p, q a odvozený tajný klíč jsou drženy v tajnosti. V praxi jsou hodnoty čísel p a q v řádech větších než 10153.

Použití eliptických křivek (ECC) v kryptografii bylo poprvé zmíněno v [6], [7]. Využívá se obtížnosti diskrétního logaritmu na bodech eliptické křivky. V zásadě jde o problém, jak ke dvěma bodům G a Y náležejícím eliptické křivce Y = kG najít číslo k.

Obor kryptografie zabývající se eliptickými křivkami již dlouhou dobu přitahuje pozornost vědců zejména kvůli menším výpočetním nárokům a délce použitého klíče, které vyžaduje. Tyto vlastnosti jej činí velice lákavým pro nasazení právě v sítích, kde jsou možnosti jednotlivých zařízení omezené.

Na obrázku 1 je srovnání doby potřebné k prolomení RSA a doby potřebné k prolomení ECC systému. V současné době je považována za bezpečnou úroveň v systému RSA velikost klíče minimálně 1024 bitů a po roce 2010 je organizací RSA Security doporučována velikost minimálně 2048 bitů, což odpovídá délce klíče 160 bitů, resp. 224 bitů pro klíče ECC [8]. V obrázku je použita jednotka MIPS (million instructions per second), která vyjadřuje dobu řešení výpočetního problému v univerzálním měřítku nezávislém na specifické rychlosti zpracování instrukcí v procesoru.

asymetric_01

Obr. 1: Srovnání velikosti klíče a doby k jeho prolomení [8].

Systém ECC nabízí techniky pro:

Energetická analýza

Energetická náročnost jednotlivých procesů a operací, které musí bezdrátové uzly provádět, je jedním z nejdůležitějších parametrů výběru optimálních algoritmů. Při zajištění bezpečnosti, stejně tak jako při jiných procesech, se nejvíce energie spotřebovává při komunikaci mezi uzly. Zároveň ale významnou roli hraje také výpočetní náročnost a čas zpracování bezpečnostních algoritmů. Následující část práce porovnává energetickou náročnost systému RSA a ECC podle [8], [9].

K analýze byly použity velmi rozšířené senzory Crosbow MikaZdots [10] s 8bitovým mikrokontrolerem Atmel ATmega128L a nízkoenergetickým transceiverem Chipcon CC1000. Charakteristické hodnoty pro tuto architekturu jsou shrnuty v tabulce 2. Hodnoty jsou měřeny při napájecím napětí 3 V, frekvenci mikrokontroleru 4 MHz, na přenosové frekvenci 915 MHz a s vysílacím výkonem 3 mW. Z přehledu v tabulce 2 je zřejmý poměr mezi vysíláním a příjmem, jenž je přibližně jedna polovina. Lze také odvodit (srovnáním energetiké spotřeby jedné provedené instrukce a vysílací energie), že energetická náročnost jednoho přeneseného bitu se přibližně rovná 2090 hodinovým cyklům mikrokontroléru [9].

Tabulka 2: MikaZdot energetické charakteristiky.

Efektivní přenosová rychlost

12,4 kbps

Vysílací energie

59,2 μJ/byte

Přijímací energie

28,6 μJ/byte

Aktivní mód

13,8 mW

MIPS/Watt

289 MIPS/W

Další srovnání operačních módů a spotřebě proudu je možné najít v katalogovém listu ATmega128L [11].

Výzkumná skupina A. Wandera [9] provedla měření a srovnání energetické náročnosti generování a ověření podpisu a operace výměny klíčů. Srovnání je provedeno pro RSA a ECC dle velikosti klíče odpovídající stejné úrovni zabezpečení. Výměna klíčů probíhá podle zjednodušeného schématu SSL handshake [12] (viz obrázek 2). Jednotlivé zprávy jsou zjednodušeny na nejnižší možnou úroveň kvůli minimální spotřebě energie při přenosu.

asymetric_02

Obr. 2: Zjednodušené schéma SSL handshake se vzájemnou autentizací. Velikost zpráv je uvedena v bytech [RSA, ECC].

Energie spotřebovaná při výměně klíčů nezahrnuje autentizaci a ověření certifikátu. Jednotlivé změřené hodnoty jsou shrnuty v tabulce 3.

Tabulka 3: Spotřeba energie při výpočtu digitálního podpisu a výměně klíčů [mJ].

Algoritmus

Podpis

Výměna klíčů

 

Podepsání

Ověření

Klient

Server

RSA-1024

304,00

11,90

15,4

304,00

ECC-160

22,82

45,09

22,3

22,30

RSA-2048

2302,70

53,70

57,2

2302,70

ECC-224

61,54

121,98

60,4

60,40

Obdobných výsledků dosáhli autoři [8], kde srovnání provedli navíc i z hlediska časové náročnosti. Operace RSA s klíčem délky 2048 bitů při výměně klíčů na straně serveru a podpisu trvaly přes 166 s, což je již nepřijatelná hodnota. Naproti tomu při použití ECC s klíčem délky 224 bitů trvaly tyto operace méně než pět sekund.

Tento příspěvek vznikl za podpory grantu GAČR GA102/07/1012

Literatura

[1] D. Djenouri, L. Khelladi, A Survey of Security Issues in Mobile Ad Hoc and Sensor Networks, IEEE Communication Surveys and Tutorials, vol. 7, no. 4, pp. 2–28, December 2005.
[2] G. Gaubatz, J-P. Kaps, B. Sunar, Public Key Cryptography in Sensor Networks Revisited, 1st European Workshop on Security in Ad-Hoc and Sensor Networks (ESAS 2004), Lecture Notes in Computer Science, vol. 3313, Springer, Heidelberg, pp. 2-18, August, 2004.
[3] A. Perrig, R. Szewczyk, V. Wen, D. Culler, J. D. Tygar, SPINS: Security Protocols for Sensor Networks, Wireless Networks, vol. 8,no. 5, pp. 521–534, September 2002.
[4] Y. W. Law, Key Management and Link-Layer Security of WSN, Ph.D. Thesis, University of Twente, Netherland, 2005.
[5] D. Hankerson, A. Menezes, S. Vanstone, Guide to Elliptic Curve Cryptography, Springer-Verlag New York, Inc. 2004. ISBN 0-387-95273-X.
[6] N. Koblitz, Elliptic curve cryptosystems, Mathematics of Computation, Vol. 48, 1987.
[7] V.S. Miller, Use of Elliptic Curves in Cryptography, Advances in Cryptology CRYPTO 85, 1986.
[8] Amin, F., Jahangir, A., H., Rasifard, H.: Analysis of Public-KeyCryptography for WirelessSensor Networks Security. Inprocedings of Word academy of science, engeneering and technology, 31 July 2008, ISSN 1307-6884
[9] A.S. Wander, N. Gura, H. Eberle, V. Gupta, and S.C. Shantz, "Energy Analysis of Public-Key Cryptography for Wireless Sensor Networks," Proceedings of PerCom'05, pp. 324-328, 2005.
[10] Crossbow Technology Inc., Processor/Radio Modules, Dostupné z: http://www.xbow.com/
[11] ATmega128(L) Data Sheet (2006). Atmel Corporation, Dostupné z: http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf
[12] A. Freier, P. Karlton and P. Kocher, “The SSL Protocol Version 3.0”, Dostupné z: http://home.netscape.com/eng/ssl3/