220 likes | 293 Views
Biztonsági kérdések. Ad hoc hálózatok, 2007. Készítette: Tóth Balázs Viktor. Miért is kell a biztonság?. Harci alkalmazások, hőmérséklet és nyomás mérése az olajvezetékekben Harci környezet -> akár fegyver is lehet a nem megfelelő biztonság Kereskedelmi -> privacy protection
E N D
Biztonsági kérdések Ad hoc hálózatok, 2007. Készítette: Tóth Balázs Viktor
Miért is kell a biztonság? • Harci alkalmazások, hőmérséklet és nyomás mérése az olajvezetékekben • Harci környezet -> akár fegyver is lehet a nem megfelelő biztonság • Kereskedelmi -> privacy protection • WSN esetén -> korlátozott erőforrások -> tervezés • Egyéni rendszer architektúra tervezés
WSN biztonsági tulajdonságok • Ellenséges környezet: fizikai támadások; mi van, ha a node-t megszerzik… • Limitált erőforrások: limitált mérettel, energiával, számítási kapacitással és tárolással rendelkeznek -> limitált algoritmusok • In-network feldolgozás: a kommunikáció fogyaszt a legtöbbet, nem az érzékelés -> lokalizált feldolgozás • Applikáció-függő architektúrák: a fent említett okok miatt a WSN rendszer architektúrákat alkalmazás specifikusan kell kifejleszteni
Real-life rendszerek biztosítása • Tűzfal: a hozzáférés korlátozását jelenti az alhálózatra és alhálózatról, hátrányuk, hogy nem védik meg a hálózatot a belülről induló támadások ellen és csak ismert támadásokat tudnak kiszűrni. • Honeypot: olyan rendszerek, amelyek abból a célból lettek a hálózatba implementálva, hogy megtámadják őket, ismeretlen támadásokat tudnak detektálni. • Betolakodás detektáló technikák: a statisztikai és pattern szokatlanságokat tudják detektálni a bejövő és kimenő forgalomban. • Ezek a technikák ebben a formában nem alkalmasak WSN-ek esetében, de kicsit megváltoztatva őket tökéletes biztonsági eszközöket kapunk a WSN-ekhez.
Mobile code • A nehézségek ellenére az alkalmazásokat és a rendszer kódot megváltoztató mechanizmusok kötelező jellegűek. • Egy mobile codebeinjektálása néhány node-on keresztül történik, majd az szétterjed a hálózaton. • Három fő szemlélet létezik a mobile code biztonságossá tételére: • Code-signing: egy tipikus kliens-szerver autentikációshandshake protokollt követ. • Sandboxing: Megakadályozza az alkalmazáshoz való illetéktelen személyek hozzáférését és a hostota rosszindulatú alkalmazásoktól. • Proof-carryingcode: lehetővé teszi egy számítógép számára, hogy meghatározza elindít-e egy programot, ami egy nem megbízható forrásból érkezett.
Mobile code (folyt.) • Négy fő mobile code feltörési technika létezik: • Vírus: a számítógépre települve arra használja fel az erőforrásokat, hogy új példányokat készítsen magából. • Trójai faló: úgy tüntetik fel magukat, mint egy általános funkciókat ellátó program, de közben rosszindulatú funkciókat látnak el. • Buffer túlcsordulást okozó támadások: olyan program funkcióját látják el, amely felett a támadó átveheti az irányítást és tönkre teheti a rendszert. • Titkosított kommunikációs csatornákkal manipulálók: az erőforrás megosztással kapcsolatban váltak használhatóvá.
Biztonsági architektúrák • A biztonsági megfontolások alapján a WSN architektúrának két fajtája létezik: • Cella alapú WSN-ek: low-power és low-cost szenzor node-okból és bázisállomásokból állnak, viszonylag barátságos környezetben működnek, házak és irodák között. • Ad hoc alapú WSN-ek: csak low-cost szenzor node-okból állnak ad hoc módon elosztva barátságtalan környezetben, vezetéknélküli infrastruktúra nélkül.
Cella alapú WSN • A node-ok egy vagy több basestation köré vannak rendeződve, amelyeknek jóval nagyobb a számítási és erőforrás kapacitásuk, mint a node-oknak. • Aszimmetrikus biztonsági protokollok. • SPINS: SNEP (sensornetworkencryptionprotocol) és uTESLA • A SPINS protokoll azon feltevésen alapul, hogy a basestation-k megosztanak egy egyedi masterkeyt minden node-dal a hálózatban, az összes többi kulcs a masterkeyből van számolva. • A SNEP biztosítja a unicast kommunikáció biztonságát a basestation és a node között • A uTESLAa biztonságos broadcast üzenetek biztonságára ügyel.
Snep • A SNEP RC5 blokk rejtjelezőt használ. • Ugyanazon üzenet kódolása minden alkalommal más kódszót eredményez, amelyet egy számláló inkrementálásával érnek el. • Minden node-nak megvan a master kulcs, így a SNEP tudja garantálni a base station-től érkező üzenetek autentikálását.
µTESLA • A base station-k egy reverse kulcsfolyamot generálnak: K0, K1, …, Kn. • Kn és n kiderül még a generálás előtt. • A többi kulcsot egyirányú függvény segítségével (F) generáljuk, Ki = F(Ki+1). • A K0-t a kulcsfolyam elfogadására használjuk: a K0 megköveteli, hogy minden node és a base station ossza meg a titkos kulcsát a küldő node-al. • Ezek után a base station szétküldi K0-t minden node-nak mint egy unicast üzenetet.
K1 disclosed Ki-1 disclosed Ki disclosed Ki+1 disclosed Kn disclosed MACKn(…) K0 disclosed in advance MACK1(…) MACKi-1(…) MACKi(…) MACKi+1(…) I1 Ii-1 Ii Ii+1 In µTESLA (2.) • Az idő intervallumok: I1, …, In, ahol minden Ii intervallumhoz egy Ki kulcs tartozik. • Az F egy egyirányú függvény, így senki nem tudja kiszámolni K1-t K0-ból. • Az I1 intervallum végén a kulcs kiderülésekor mindenki összehasonlítja a K1-t az F(K1)-el. Ha ezek megegyeznek, akkor a base station küldheti az adatot. • Miután K1 kiderült, a következő üzenet autentikálva van – ami K2-t használ
Ad hoc szenzor hálózat • A node-oknak fel kell állítaniuk a hálózatot mindenféle basestation segítség nélkül. • Minden node lehet forrás és cél is. • A node-k veszélynek vannak kitéve. • Szimmetrikus titkosítás; a főbb meggondolások a kulcsok elosztására: • Ne lehessen egy vagy több node feltörésével megfejteni a forgalmat. • Lehessen újonnan csatlakozó node-okat bevonni a hálózatba. • Ne legyen „singlepoint of failure”. • Térbeli és időleges kulcs variációk, hogy a feltörés nehezebb legyen. • Broadcast támogatása.
Kulcs elosztási sémák • Nyilvános kulcsú titkosítás „drága”. • Online kulcskiosztó szerverek -> single point of failure, továbbá megszerezhetik az összes kulcsot • Offline kulcskiosztás • A rendszer beüzemelése előtt egy „pool” kulcs generálva lesz, P. • Minden node k db kulcsot választ a poolból. • Ezek után kihírdetik és közös kulcsot keresnek. • Ha létezik ilyen->kommunikálhatnak egymással. • Connectivity Graph
Kulcs elosztási sémák(2.) • Ha egy node-t megszereznek, k kulcs elérhető a támadó számára. • Annak a valószínűsége, hogy egy bizonyos kulcsot kódolásra használtak ugyanaz minden kulcsra, így annak a valószínűsége, hogy egy támadó dekódolni tudja a forgalmat k/P. • Memória megtakarítás! • Ha P csökken, annak a valószínűsége, hogy több közös kulcs lesz nő – k/P is nő.
Kulcs elosztási sémák(3.) • P kiszámítása: • p annak a valószínűsége, hogy két gyűrű megegyezik egy-két helyen. • 10000 node • d=40 (node szomszédság általában) • k=15 (key ring hossza) • P=100000 • A hálózat fullyconnected 0.9999 eséllyel. • Egy javítás: ne egy kulcsot keljen megosztaniuk egy link létrehozására, hanem q-t.
PrivacyProtection • Kereskedelmi célra szánt WSN -> PP is ugyanolyan fontos. • A privacy protection a legkevesebb adatra való szert tevést helyezi előbbre. • Teljesítmény <-> PP. • A minimális generálás: a pontos információk a felhasználókról általánosítva legyenek, annyira, hogy a megszerzett adatokat ne lehessen k-nál több emberhez kötni. A k a megkövetelt anonimitás erőssége.
Hely információk titkossága • A leggyakrabban használt feladat WSN rendszerek esetén egy esemény helyének meghatározása. • Egy támadó a hely információkhoz hozzáférve következtethet plusz információkra – pl. szokások. • Minimális generálás -> kisebb pontosság.
(pseudonym, location, request) Location Server Location Based Services (pseudonym, response) (location) (response) WASN Hely információk titkossága(2.) • Általános rendszer architektúra:
Hely információk titkossága(3.) • A location server felelőssége, hogy a felhasználók által megfigyelt helyeket átalakítsa egy olyan reprezentációvá, amely egy bizonyos biztonsági szint fölött van. • LBS: hely alapú szolgáltatást nyújtó server. • Válasszuk szét a hely információt a felhasználó identitásától. • Álnév • A privacy mérőszáma ebben a kontextusban a k-anonimitás.
Hely információk titkossága(4.) • A k-anonimitás egy k számosságú környezetben való anonimitás. • Egy usert nem lehet megkülönböztetni k-1 másiktól. • Azon alkalmazások számára, amelyek hely információt használnak, a k-anonimitás azt jelenti, hogy egy user csatolt hely információja tartalmazza a k-1 többi user információit is. • Mix zones: speciális k-anonimitás, ahol a userek megváltoztatják az ideiglenes anonim ID-jukat. • Az azonosítókkal való manipulálás a location serverre tartozik.
Konklúzió • Biztonság és PP. • Limitált erőforrások, fizikai hozzáférhetőség –> a újfajta biztonsági mechanizmus kell. • A fizikai hozzáférhetőség azt követeli meg, hogy ha a node-k kriptográfiai titkai kiderülnek, akkor a protokollok védjék meg az integritást még ebben az esetben is. • PP: személyes adatok ne kerüljenek nyilvánsságra. • Adatok lebutítása -> az adat és az egyén nem köthető könnyen össze.
Itt a vége… Köszönöm a figyelmet!