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 m1
T1
c1
T2 m1
m2
T3
T4 c1
m3
T5
Küldő
c5
T6 m2
T8
T7 m3
c5
d=2 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*N1/2 kulcsot • nem biztonságos
Determinisztikus kulcsgenerálás •
minden node rendelkezik egy P(x,y)=P(y,x) szimmetrikus részpolinommal
•
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
KA,B = (6,4)
Node B (6,11)
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 = HashKB (IDA) 4. KM 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 Dest (2)
AM (1)
Len (1)
Src (2)
Cntr (2)
Rejtjelezett Data (0...29)
MAC (4)
Hitelesített
egyéb software csomagok: SenSec, SNEP, MiniSec, SecureSense, L3Sec, 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: B line-selected multicast
E
A
A F
C D W
Replikáció!
18
Féreglyuk detektálása - statisztikai detekció
Centralizált megoldás •
NNT (Neighbor Number Test) •
a bázis begyűjt minden szomszédossági listát
teszt
a féreglyuk növeli a szomszédok átlagos számát
ADT (All Distances Test) •
világos – támadott sötét – nem támadott
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
B
B → *: (BEACON, rnd, B, sigB) ha sigB korrekt, akkor X és Z beállítja B-t szülőnek
Z
X
Y
Z → *: (BEACON, rnd, Z, sigB) X → *: (BEACON, rnd, X, sigB) ha sigB korrekt, akkor Y beállítja Z-t szülőnek Y → *: (BEACON, rnd, Y, sigB)
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)
t=3 BS v1 u7
u5 u6
u4
u3
u2
u1 v2 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 kiszámítása
21°C 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