Vezetéknélküli szenzorhálózatok biztonsága Ács Gergely Laboratory of Cryptography and System Security (CrySyS) Budapest University of Technology and Economics http://www.crysys.hu
Áttekintés Vezetéknélküli szenzorhálózatok rövid áttekintése motiváció, hálózat felépítése, alkalmazások Sebezhetőségek és támadások Szimmetrikus és publikus kulcsú primitívek Kulcsmenedzsment Link-layer biztonsága Biztonságos útvonalválasztás Biztonságos adat-aggregáció Összegzés 2
Mi az a szenzorhálózat? A cél a környezet fizikai jellemzőinek mérése pl. hőmérséklet, nyomás, fényerősség, hangerősség, stb. Specifikus alkalmazások Monitorozás pl., bodynets Riasztás pl. behatolás-detektálás, autóvezetést segítő információs rendszerek Igény szerinti információkérés pl. pozíciómeghatározó rendszerek Redundancia tipikusan nagy számú szenzor node Hálózati architektúra Flat egyenrangú csomópontok Hierarchikus klaszterek létrehozása klaszter-vezetővel adat-aggregació támogatása Hibrid Úttest állapota tegnap este? 3
Mi az a szenzorhálózat? Korlátozott képességű csomópontok (szenzor node) érzékelő sejt adatokat gyűjtenek a beéptített szenzorokon keresztül korlátozott számítási kapacitás MicaZ: Atmega128L MCU (8 bit, 8 Mhz, 512 KB flash, 128 KB SRAM) Tmote Sky: MSP430 MCU (16 bit, 8 Mhz, 10 KB RAM, 1 MB SRAM) Imote2: Intel MCU (32 bit, 32 MB SRAM, 32 MB flash, 13 Mhz - 414 Mhz, beépített DSP) korlátozott energia-ellátás vezetéknélküli többugrásos kommunikáció MicaZ, Tmote Sky: CC2420, 2.4 Ghz, 250 Kbps, IEEE 802.15.4 (PHY+MAC réteg) támogatás kollaboratív vagy autonóm működés ált. helyhez kötöttek lehelyezésük lehet szisztematikus vagy véletlenszerű Bázisállomás agy adatok begyűjtése, elemzése kontroll információk továbbítása nagyobb számítási kapacitás korlátlan energia-ellátás alkalmazástól függően mobilis vagy helyhez kötött 4
Sebezhetőségek és támadások 1. A szenzor node-ok fizikailag könnyen hozzáférhetőek nem tamper-rezisztens hardware Támadó rendelkezhet laptop típusú eszközzel korlátlan számítási és energia-kapacitás szenzor node típusú eszközzel (kompromittált szenzor node) meglévő csomópontokat foglalhat el fizikai feltöréssel kód injektálással vagy újakat telepíthet Külső vagy belső támadó A kommunikációs csatorna nyílt jamming könnyű lehallgatni könnyű üzeneteket beszúrni, törölni és visszajátszani 5
Sebezhetőségek és támadások 2. Összetett támadások DoS támadások (minden réteg) Energia-kimerítő támadások (minden réteg) Sybil és node replikáció (routing) Szelektív továbbítás (routing) Féreglyuk létrehozása (routing) Mért adat módosítása (adat aggregáció) 6
Szimmetrikus és publikus kulcsú primitívek Speciális megoldások melyek + hatékonyak (kicsi számítási és kommunikációs overhead) ugyanakkor biztonságuk megfelelően erős Szimmetrikus primitívek MAC (Message Authentication Code) rejtjelezés és dekódolás Hash függvények fix méretű digitális lenyomat előállítása cél az ősképellenállás (OWHF) és ütközésellenállás (CRHF) Publikus (aszimmetrikus) kulcsú primitívek rejtjelezés és dekódolás digitális aláírás 7
Szimmetrikus primitívek Cél: minimális kódméret a korlátozott memória miatt és gyors végrehajtás Blokkrejtjelező használata építőelemként Rejtjelezés és dekódolás Skipjack, RC5, AES alkalmazás üzenethosszától függően CBC mód vagy CTR mód MAC: CBC-MAC Hash függvény Merkle-Damgard konstrukció f kompressziós függvény konstrukciója blokkrejtjelezőt felhasználva pl. Davies-Mayer séma Hardware támogatás CC2420: beépített kriptográfiai coprocesszor, viszont legtöbb esetben az MCU ezt nem tudja használni, így mindent software-ben kell megvalósítani 8
Publikus kulcsú primitívek - kriptográfiai sémák Szimmetrikus vs. publikus kulcsú primitívek + kulcsmenedzsment jobban skálázható és biztonságosabb nagyobb számítási és kommunikációs overhead Aszimmetrikus kriptográfiai sémák RSA Ellipitikus görbe (EC) kriptográfia Egyszer használatos (One-time signature) aláírássémák (Lamport-Diffie séma) Szimmetrikus kulcshossz EC kripto. kulcshossz RSA kulcshossz 80 160 1024 112 224 (x 1.4) 2048 (x 2) 128 256 (x 1.6) 3072 (x 3) 192 384 (x 2.4) 7680 (x 7.5) 256 512 (x 3.2) 15360 (x 15) Kulcsmegegyezés protokoll EC és RSA sémák esetén Diffie-Hellman protokoll felek hitelesítése EC séma esetén: Schnorr, Okamoto identifikációs protokollok (hatékonyabb mint aláírni a közös Diffie-Hellmann paramétereket) 9
Publikus kulcsú primitívek - digitális aláírás Aláírás-sémák RSA, méret = kulcshossz ECDSA, méret = kulcshossz * 2 One-time signature, méret az aláírandó üzenet nagyságrendjébe esik Számítási overhead (Atmega128L MCU) Szimmetrikus kulcsú blokkművelet (64 bit) (Skipjack) EC aláírás ellenőrzése (EC-160) 2 pont szorzás EC aláírás generálása (EC-160) 1 pont szorzás RSA aláírás ellenőrzése (RSA-1024) RSA aláírás generálása (RSA-1024) 0.012 mws 53.42 mws 26.96 mws 14.05 mws 359.87 mws 10
Broadcast hitelesítés szimmetrikus kulcsú kriptográfiával Feltevés: a node-ok órái lazán szinkronizáltak 1. A küldő felosztja az időt egyenlő I hosszú Ti (i > 0) intervallumokra 2. A küldő (bázis) generál egy hash láncot:... c0-t minden vevő tárolja minden ci a Ti intervallum titkos kulcsa 3. A küldő a Ti-ben küldött üzeneteket ci kulccsal hitelesíti (MAC számítást) 4. Egy csomagot csak akkor fogadnak el, ha a vétel időpontjában a kulcsot még nem fedte fel a vevő, és a kulcs a hash lánc egy eleme a vevőknek tárolni kell az üzeneteket, amíg a megfelelő kulcsot nem kapják meg m 1 c 1 m 2 m 3 c 5 Küldő T1 T2 T3 T4 T5 T6 T7 T8 d = 2 m 1 c 1 m 2 m 3 c 5 Vevő 11
Kulcsmenedzsment - fázisok, csoportosítás Kulcsmenedzsment fázisai 1. Kulcskiosztás kihelyezés előtti (node-ok nagy száma miatt) feltöltés kulcsokkal, vagy ún. kulcsrészekkel 2. Szomszédok felfedezése akiknek még nincsenek közös kulcsaik 3. Közös kulcsok létrehozása közvetlenül, vagy olyan node-okon keresztül, akikkel mindketten megosztanak közös kulcsokat 4. Időközönként a közös kulcsok frissítése Protokollok csoportosítása Kommunikációs minta alapján dedikált páronkénti kulcsok újra-felhasznált páronkénti kulcsok csoportkulcsok hálózati kulcsok Kulcskiosztás jellege szerint probabilisztikus kulcskiosztás determinált kulcskiosztás 12
Dedikált páronkénti kulcsmenedzsment 1. Alapmegoldás: minden node minden más node-dal megoszt egy közös kulcsot (kapcsolatonként különböző kulcs) nem skálázható, viszont biztonságos Node A (3,4) KA,B = (3,11) Determinisztikus kulcskiosztás m m méretű kulcsmátrix generálása minden node rendelkezik egy (i, j) pozícióval minden node tárol 2*N 1/2 kulcsot nem biztonságos Determinisztikus kulcsgenerálás minden node rendelkezik egy P(x,y)=P(y,x) szimmetrikus részpolinommal KA,B = (6,4) Node B (6,11) a polinom együtthatóinak száma k+1 node i polinomja P(i,y), node j polinomja P(j,y), közös kulcs: P(i,j) k-biztonságos: k+1-nél kevesebb node nem képes mások kulcsát meghatározni 13
Dedikált páronkénti kulcsmenedzsment 2. LEAP (Localized Encryption and Authentication Protocol) feltevés: minden szenzor node a lehelyezést követő adott időtartományban nem kompromittálódik, ez az idő kihasználható kulcsmegegyezésre minden node kezdetben rendelkezik egy KM master kulccsal szomszédok felderítése, majd közös kulcs létrehozása KA = HashKM(IDA), KB = HashKM(IDB) 1. A *: IDA 2. B A: IDB, MACKB(IDA IDB) 3. KA,B = Hash KB (IDA) 4. K M törlése ezenkívül broadcast-key (egy node és minden szomszédja között) és network-wide key létrehozása Probabilisztikus kulcskiosztás cél: tárolt kulcsok számának csökkentése minden node tárol N*p különb. kulcsot, ahol p annak a valószínűsége hogy két node megoszt egy kulcsot ha két node nem oszt meg közös kulcsot, akkor valószínűleg kell lennie egy útvonalnak a kettő között, amelyek mentén minden szomszédos pár megoszt egy kulcsot 14
Újrahasznált páronkénti kulcsmenedzsment Egy kulcs több kapcsolatnál is felhasználható alapmegoldás: egyetlen hálózati szintű (network-wide) közös kulcs megosztása skálázható, de nem biztonságos Véletlen kulcskiosztás egy közös key-pool generálása KP darab különböző kulccsal minden node választ k kulcsot visszatevés nélkül a poolból (key-ring) a valószínűség, hogy két node megoszt legalább egy kulcsot: a valószínűség, hogy egy kapcsolat kompromittálódik ha egy node kompromttálódik: Q-kompozit véletlen kulcskiosztás a szomszédos csomópontoknak legalább Q kulcsot kell megosztani K1,..., KQ Közös K kulcs kiszámítása: KA,B = Hash(K1 K2... KQ) a valószínűség, hogy egy kapcsolat kompromittálódik ha egy node kompromttálódik: 15
Link-layer biztonság End-to-end rejtjelezés (SSL, IPSec) és hitelesítés sok esetben nem lehetséges adat-aggregáció DoS támadások elkerülése végett Alapvetően szimmetrikus primitíveket alkalmazása a gyakori használat miatt TinySec Két működési mód: Auth (csak hitelesítés), AE (hitelesítés és rejtjelezés) szemantikus biztonság: 8 byte (2 byte counter + 2 byte forráscím + 4 byte header) hosszú IV változó értékű minden nyílt szövegre IV rövid mérete és a kódméret csökkentése miatt CBC módot használnak (CTR helyett) CBC-MAC (4 byte): nem biztonságos változó hosszúságú üzenetek esetén, ezért az üzenet hosszának rejtjelezettjét hozzáadják az első nyíltszöveg blokkhoz Visszajátszásos támadás ellen: AE módban IV-t belefoglalják a MAC számításba Auth módban felsőbb rétegekben oldják meg Rejtjelezett Dest (2) AM (1) Len (1) Src (2) Cntr (2) Data (0...29) MAC (4) Hitelesített egyéb software csomagok: SenSec, SNEP, MiniSec, SecureSense, L 3 Sec, stb. 16
Routing biztonsága Támadás célja kézbesítési ráta csökkentése hálózat élettartamának csökkentése késleltetés növelése támadó kontrolljának növelése Támadási módszerek és védekezések üzenetek manipulációja - üzenethitelesítés (digitális aláírás, one-time sign., MAC, μtesla) szelektív továbbítás - multipath routing féreglyuk - statisztikai detekció, packet leashes, MAD, irányított antennák használata, stb. Sybil támadás és node replikáció -erőforrás tesztelés, line-selected multicast Biztonságos routing protokollok Hitelesített TinyOS beaconing - topológia alapú SIGF - pozíció alapú INSENS - centralizált, link-state alapú Secure Directed Diffusion - adatközpontú Laboratory of Cryptography and System Security www.crysys.hu 17
Sybil és node replikáció Sybil támadás elleni védekezés: rádió-erőforrás tesztelés Feltevés: ugyan egy node használhat több ID-t, de ált. csak egy antennája van egy antenna egyszerre csak egy csatornát képes használni 1. minden node az összes szomszédjához hozzárendel egy csatornát véletlen módon 2. a node véletlen módon kiválaszt egy csatornát és küld egy broadcast üzenetet 3. ha nem Sybil használja a csatornát, akkor biztosan kap választ, ellenkező esetben bizonyos valószínűséggel nem kap választ hátrány: energia-igényes, speciális hardware-rel rendelkezhet a támadó (több antenna) Node replikáció elleni védekezés: line-selected multicast B E A A C F D W Replikáció! 18
Féreglyuk detektálása - statisztikai detekció Centralizált megoldás a bázis begyűjt minden szomszédossági listát világos támadott sötét nem támadott NNT (Neighbor Number Test) - teszt a féreglyuk növeli a szomszédok átlagos számát ADT (All Distances Test) - teszt a féreglyuk csökkenti az átlagos úthosszakat világos támadott sötét nem támadott 19
Routing biztonsága - Hitelesített TinyOS beaconing Hitelesített TinyOS beaconing Z Y B X B *: (BEACON, rnd, B, sig B ) ha sig B korrekt, akkor X és Z beállítja B-t szülőnek Z *: (BEACON, rnd, Z, sig B ) X *: (BEACON, rnd, X, sig B ) ha sig B korrekt, akkor Y beállítja Z-t szülőnek Y *: (BEACON, rnd, Y, sig B ) Ugyan biztonságosnak tervezték, de a protokoll támadható a BEACON üzenetet a küldő node nem hitelesíti 20
Adat-aggregáció biztonsága Kérés-alapú rendszerek a bázis kérésére a szenzor node-ok periódikusan vagy one-shot jelleggel válaszolnak Esemény alapú rendszerek a szenzor node-ok csak akkor küldenek üzenetet ha a célesemény bekövetkezik Az aggregáció történhet csak a bázison, vagy közbenső node-okon is (in-network proc.) Támadások (belső támadó) hamis esemény beszúrása (esemény alapú rendszerek) Interleaved Hop-by-hop Authentication üzenetek eldobása, mért adat módosítása (nincs in-network processing) MAC, multipath routing hamis adat beszúrása vagy létező módosítása (van in-network processing) az aggregátum eltorzítása végett outlierek detekciója, rugalmas aggregátor függvények használata, SDAP, Attack-resilient Synapsis Diffusion node mérési környezetének manipulációja (külső támadó) 21
Interleaved Hop-by-hop Authentication Feltevések nincs in-network processing, esemény detekciója a kompromittált node-ok száma kisebb mint t paraméter a node-ok klaszterekbe szerveződnek, minden klasztertag megoszt egy kulcsot a bázissal minden node megoszt egy kulcsot t+1 upstream és t+1 downstream node-dal Célok a bázis képes legyen az adat hitelességét ellenőrizni a hamis adatokat már a közbenső node-ok is ki tudják szűrni (DoS, komp. node-ok lokalizációja) BS t=3 v1 u7 u5 u4 u3 u2 u1 v2 u6 CH v3 22
Rugalmas aggregátor függvények, outlierek detekciója 1. Feltevés aggregáció csak a bázison történik f(23,,1000) 23 C Átlaghőmérséklet 21 C kiszámítása 22 C 25 C 22 C 23
Rugalmas aggregátor függvények, outlierek detekciója 2. Kriptográfia nem segít (a támadó a szenzor környezetét is manipulálhatja) f aggregátor függvény torzítása: f agg. fv. torzítása támadott esetben (k kompromittált csomópont), legerősebb támadó: Letörési pont: Pl. a MAX, MIN, és AVERAGE letörési pontja 0 (már egy db hamis érték is végtelen torzítást okozhat), de MEDIAN esetén ez 1/2. Outlierek truncation: minden mért értéket [a,b] intervallum közé csonkolunk (x = a ha x < a, x = b ha x > b) trimming: eldobjuk a mért értékek alsó ρ és felső ρ hányadát RANBAR: RANSAC algoritmus használata (nagy számú kompromittált node-ok esetén) 24
Összegzés Szenzor hálózatok speciális mérési, riasztási, felügyeleti feladatok ellátása korlátozott erőforrással rendelkező csomópontok Biztonság kulcsfontosságú a szenzor node-ok könnyen hozzáférhetőek vezetéknélküli csatorna könnyen hozzáférhető, kommunikáció könnyen manipulálható változatos összetett támadások, pl. Sybil, node replikáció, féreglyuk, aggregáció elleni támadások, stb. Diverzifikált megoldások, melyek figyelembe veszik az erőforrás-korlátokat hagyományos kripto. primitívek hatékony megvalósítása skálázható és hatékony kulcskiosztás nagyméretű hálózatokban korlátozottan használható end-to-end biztonság helyett hatékony link-layer biztonság hatékony védekezés a szövevényes routing támadások ellen rugalmas adat-aggregáció megvalósítása EU kutatási projektek EU-FP6, Ubiquitous Sensing and Security in the European Homeland (UbiSec&Sens) http://www.ist-ubisecsens.org/ (STReP) EU-FP7, Wireless Sensor and Actuator Networks for Critical Infrastrures Protection (WSAN4CIP), http://www.wsan4cip.eu/ (STReP) 25
Irodalomjegyzék Wireless Sensor Network Security, ISBN: 978-1-58603-813-7, IOS Press, Cryptology and Information Security Series, 2007. Editors: J. Lopez and J. Zhou L. Buttyán and J.-P. Hubaux. Security and Cooperation in Wireless Networks, Cambridge University Press, 2008. A. Perrig, R. Szewczyk, J. Tygar, V. Wen, D. Culler. SPINS: Security Protocols for Sensor Networks. In Wireless Networks, 2002. C. Karlof, N. Sastry, D. Wagner. TinySec, A link layer security architecture for wireless sensor networks. Proceedings of the 2nd international conference on Embedded networked sensor systems, pp. 162-175, 2004. L. Eschenauer and V. D. Gligor. A key-management scheme for distributed sensor networks. In Proceedings of the ACM Conference on Computer and Communication Security (CCS), 2002. P. Bryan and A. Perrig and V. Gligor. Distributed Detection of Node Replication Attacks in Sensor Networks. In Proceedings of the IEEE Symposium on Security and Privacy, 2005. J. Newsome, E. Shi, D. Song, A. Perrig. The sybil attack in sensor networks: analysis & defenses. In Proceedings of the third international symposium on Information processing in sensor networks (IPSN), 2004. I. Vajda, L. Buttyán, L. Dóra. Statistical Wormhole Detection in Sensor Networks. In Proccedings of the Security and Privacy in Ad-hoc and Sensor Networks: Second European Workshop (ESAS), 2005. S. Zhu, S. Setia, S. Jajodia, P. Ning. An Interleaved Hop-by-Hop Authentication Scheme for Filtering of Injected False Data in Sensor Networks. In Proceedings of IEEE Symposium on Security and Privacy, 2004. S. Zhu, S. Setia, S. Jajodia. LEAP: efficient security mechanisms for large-scale distributed sensor networks. In Proceedings of the 10th ACM conference on Computer and communications security, 2003. L. Buttyán, P. Schaffer, I. Vajda. RANBAR: RANSAC-Based Resilient Aggregation in Sensor Networks In Proceedings of the Fourth ACM Workshop on Security of Ad Hoc and Sensor Networks (SASN), 2006. 26