510 likes | 668 Views
No Matter Where You Go, There You Are: Secure Localization Techniques for Mobile Wireless Networks. Seminar on Applications of Mathematics UVa Institute of Mathematical Science 2 December 2004 http://www.cs.virginia.edu/evans/talks/sam/. David Evans University of Virginia Computer Science.
E N D
No Matter Where You Go, There You Are: Secure Localization Techniques for Mobile Wireless Networks Seminar on Applications of Mathematics UVa Institute of Mathematical Science 2 December 2004 http://www.cs.virginia.edu/evans/talks/sam/ David Evans University of Virginia Computer Science
Computing is Entering Real World Desktop PC Protected Box Narrow Interface 1 Machine per User-Admin Sensor Network Unprotected Nodes Rich Interface Thousands of Nodes per Admin
MICA2 Mote (UCB/Crossbow) Sensor Nodes
MICA2 Apollo Guidance Computer Typical 2004 Desktop Photo: http://ed-thelen.org/comp-hist/
MICA2 Apollo Guidance Computer Typical 2004 Desktop Photo: http://ed-thelen.org/comp-hist/
Sensor Network Applications Volcano Monitoring http://www.eecs.harvard.edu/~werner/projects/volcano/ Reindeer Tracking (Sámi Network Connectivity Project) Photo: http://news.bbc.co.uk/1/hi/technology/2491501.stm Battlefield Event Tracking
This Talk • Location Matters • How do nodes know where they are? • Security (Sometimes) Matters L. Hu and D. Evans. Localization for Mobile Sensor Networks. MobiCom 2004. L. Hu and D. Evans. Using Directional Antennas to Prevent Wormhole Attacks. NDSS 2004.
Determining Location • Direct approaches • Configured manually • Expensive • Not possible for ad hoc, mobile networks • GPS • Expensive (cost, size, energy) • Only works outdoors, on Earth • Indirect approaches • Small number of seed nodes • Seeds are configured or have GPS • Other nodes determine location based on messages received
Hop-Count Techniques r 4 DV-HOP [Niculescu & Nath, 2003] Amorphous [Nagpal et. al, 2003] 1 2 7 3 1 4 3 5 2 4 8 3 3 6 4 4 5 Works well with a few, well-located seeds and regular, static node distribution. Works poorly if nodes move or are unevenly distributed.
Local Techniques Centroid [Bulusu, Heidemann, Estrin, 2000]: Calculate center of all heard seed locations APIT [He, et. al, Mobicom 2003]: Use triangular regions Depend on a high density of seeds (with long transmission ranges)
Our Goal • (Reasonably) Accurate Localization in Mobile Networks • Low Density, Arbitrarily Placed Seeds • Range-free: no special hardware • Low communication (limited addition to normal neighbor discovery)
Scenarios Nodes stationary, seeds moving NASA Mars Tumbleweed Image by Jeff Antol Nodes moving, seeds stationary Nodes and seeds moving
Our Approach: Monte Carlo Localization • Adapts an approach from robotics localization • Take advantage of mobility: • Moving makes things harder…but provides more information • Properties of time and space limit possible locations; cooperation from neighbors Frank Dellaert, Dieter Fox, Wolfram Burgard and Sebastian Thrun. Monte Carlo Localization for Mobile Robots. ICRA 1999.
MCL: Initialization Node’s actual position Initialization: Node has no knowledge of its location. L0 = { set of N random locations in the deployment area }
Filter MCL Step: Predict p(lt | lt-1) = c if d(lt, lt-1) < vmax 0 if d(lt, lt-1) ≥ vmax Node’s actual position r Seed node: knows and transmits location Predict: Node guesses new possible locations based on previous possible locations and maximum velocity, vmax Filter: Remove samples that are inconsistent with observations
Observations S S Indirect Seed If node doesn’t hear a seed, but one of your neighbors hears it, node must be within distance (r, 2r] of that seed’s location. Direct Seed If node hears a seed, the node must (likely) be with distance r of the seed’s location
Resampling N = 20 is good, N = 50 is plenty Use prediction distribution to create enough sample points that are consistent with the observations.
Recap: Algorithm Initialization: Node has no knowledge of its location. L0 = { set of N random locations in the deployment area } Iteration Step: Compute new possible location set Ltbased on Lt-1, the possible location set from the previous time step, and the new observations. Lt= { } while (size (Lt) < N) do R= { l | l is selected from the prediction distribution} Rfiltered= { l | lwhere l Rand filtering condition is met } Lt= choose (LtRfiltered, N)
Convergence 2 Node density nd= 10, seed density sd = 1 1.8 1.6 1.4 1.2 v =.2 r s =0 max max 1 , Average Estimate Error (r) 0.8 v = r , s =0 max max 0.6 0.4 v = r , s = r max max 0.2 0 0 5 10 15 20 25 30 35 40 45 50 Time (steps) Localization error converges in first 10-20 steps
Speed Helps and Hurts 1 Node density nd= 10 0.9 0.8 0.7 0.6 s =1, s =0, s = v d min max max 0.5 Estimate Error (r) s =1, s = s = r d max min 0.4 0.3 s =2, s = v d max max 0.2 s =2, s = s = r 0.1 d max min 0 0.1 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 vmax(r distances per time unit) Increasing speed increases location uncertainty ̶ but provides more observations.
Seed Density 3 nd= 10, vmax = smax=.2r 2.8 2.6 Centroid: Bulusu, Heidemann and Estrin. IEEEPersonal Communications Magazine. Oct2000. Amorphous: Nagpal, Shrobe and Bachrach. IPSN 2003. 2.4 Centroid 2.2 2 1.8 1.6 Estimate Error (r) 1.4 1.2 Amorphous 1 0.8 0.6 0.4 MCL 0.2 0 0.1 0.5 1 1.5 2 2.5 3 3.5 4 Seed Density Better accuracy than other localization algorithms over range of seed densities
Questionable Assumption:Radio Transmissions r r Model: all nodes with distance r hear transmission, no nodes further away do Reality: radio tranmissions are irregular
Radio Irregularity 2 nd= 10, sd = 1, vmax = smax=.2r 1.8 1.6 Centroid 1.4 1.2 1 Amorphous Estimate Error (r) 0.8 0.6 MCL 0.4 0.2 0 0 0.1 0.2 0.3 0.4 0.5 Degree of Irregularity (r varies ±dr) Insensitive to irregular radio pattern
Questionable Assumption:Motion is Random Model: modified random waypoint Reality: environment creates motion
Motion Stream and Currents Random Waypoint vs. Area Scan 6 6 4 nd=10, vmax=smax=r 5.5 5.5 5 5 Random, vmax=0, smax=.2r 4.5 4.5 3 4 4 sd =.3 3.5 3.5 3 3 Estimate Error (r) 2 Estimate Error (r) Random, vmax=smax=.2r 2.5 2.5 2 2 sd =1 1.5 1.5 Area Scan 1 1 1 sd =2 0.5 0.5 Scan 0 0 0 0 0.5 0.5 1 1 2 2 4 4 6 6 0 0 20 40 60 80 100 120 140 160 180 200 Maximum Group Motion Speed (r units per time step) Time Adversely affected by consistent group motion Controlled motion of seeds improves accuracy
Localization Security Issues • Denial-of-Service: prevent node from localizing • Global: jam GPS or radio transmissions • Local: disrupt a particular nodes localization • Confidentiality: keep location secret • Verifiability: prove your location to others • Integrity • Attacker makes node think it is somewhere different from actual location
MCL Advantages • Filtering • Bogus seeds filter out possible locations • As long as one legitimate observation is received, worst attacker can do is denial-of-service • Direct • Does not require long range seed-node communication • Historical • Current possible location set reflects history of previous observations
Authenticating Announcements(Simple, Insecure Version) KNSis a pre-loaded pairwise shared key 2. IDN 1. IDS S N 3. EKNS(LS) 1. S regionIDS Broadcast identity 2.NSIDN Send identity 3.SNEKNS(LS ) Respond with location encrypted with shared key Vulnerable to simple replay attacks
Authenticating Announcements 2. RN| IDN 1. IDS S N 3. EKNS(RN | LS) 1. S regionIDS Broadcast identity 2.NSRN | IDN Send nonce challenge 3.SNEKNS(RN | LS ) Respond with location Prevents simple replay attacks (but not wormhole attacks)
Broadcast Authentication • Requires asymmetry: • Every node can verify message • Only legitimate seed can create it • Traditional approach: asymmetry of information (public/private keys) • Requires long messages: too expensive for sensor nodes • Instead use time asymmetry
Using Time Asymmetry Based on Tesla: Perrig, et. al. 2002 KSn-1 | Sign (IDS | LS, KSn) KSn | Sign (IDS | LS, KSn + 1) Time n Time n + 1 f is a one-way function (easy to compute f(x), hard to invert) Initially: nodes know KS0 = f max(x) for each seed seed knows x, calculatesKSn = f max-n (x) Nodes verifies each key as it is received f (KS0) = KS1 Requires loose time synchronization Saves node transmissions, multiple seed transmissions
Wormhole Attack Y X Attacker uses transceivers at two locations in the network to replay (selectively) packets at different location
Protocol Idea • Wormhole attack depends on a node that is not nearby convincing another node it is • Periodically verify neighbors are really neighbors • Only accept messages from verified neighbors
Previous Solutions: Light Speed is Slow • Distance Bounding • Light travels 1 ft per nanosecond (~4 cycles on modern PC!) • Packet “Leashes” • Use distance bounding to perform secure multilateration • Need special hardware to instantly respond to received bits Brands and Chaum, EUROCRYPT 1993 Yih-Chun Hu, Perrig and Johnson. INFOCOM 2003 Capkun and Hubaux, 2004
Our Approach: Use Direction North 3 2 4 1 Aligned to magnetic North, so zone 1 always faces East 5 6 Omnidirectional Transmission Directional Transmission from Zone 4 Model based on [Choudhury and Vaidya, 2002] General benefits: power saving, less collisions Improve localization accuracy
Directional Neighbor Discovery 3 2 B 4 1 A zone (B, A) = 4 is the antenna zone in which B hears A 5 6 • 1. A Region HELLO | IDA • Sent by all antenna elements (sweeping) • 2. B A IDB | EKBA (IDA| R | zone (B, A)) • Sent by zone (B, A) element, R is nonce • A BR • Checks zone is opposite,sent by zone(A, B)
Detecting False Neighbors 3 2 4 1 5 6 B A Y X zone (B, A[Y]) = 1 zone (A, B [X]) = 1 False Neighbor: zone (A, B) should be opposite zone (B, A)
Not Detecting False Neighbors 3 2 4 1 5 6 B A Y X zone (B, A[Y]) = 4 zone (A, B [X]) = 1 Undetected False Neighbor: zone (A, B) = opposite of zone (B, A) Directional neighbor discovery prevents 1/6 of false direct links…but doesn’t prevent disruption
Observation: Cooperate! • Wormhole can only trick nodes in particular locations • Verify neighbors using other nodes • Based on the direction from which you hear the verifier node, and it hears the announcer, can distinguish legitimate neighbor
3 2 Verifier Region v 4 1 5 6 • A verifier must satisfy these two properties: • 1. B and V hear A in different zones: • zone (B, A) ≠ zone (V, A) • proves B and V don’t hear A through wormhole • 2. Be heard by B in a different zone: • zone (B, A) ≠ zone (B, V) • proves B is not hearing V through wormhole zone (B, A) = 4 zone (V, A) = 3 zone (B, A) = 4 zone (B, V) = 5 (one more constraint will be explained soon)
Worawannotai Attack V hears A and B directly A and B hear V directly But, A and B hear each other only through repeated X v 3 2 3 2 B 1 4 X A 5 6 5 6 Region 1 Region 2
Preventing Attack 1. zone (B, A) zone (B, V) 2. zone (B, A) zone (V, A) 3. zone (B, V) cannot be both adjacent to zone (B, A) and adjacent to zone (V, A)
Verified Neighbor Discovery 5. IDV| EKBV (IDA|zone (V, B)) V A B 4. INQUIRY | IDB| IDA|zone (B, A) 1. A Region Announcement, done through sequential sweeping 2. BA Include nonce and zone information in the message 3. A B Check zone information and send back the nonce Same as before 4. BRegionRequest for verifier to validate A 5. V B If V is a valid verifier, sends confirmation 6. BA Accept A as its neighbor and notify A
Cost Analysis • Communication Overhead • Adds messages for inquiry, verification and acceptance • Minimal for slow-changing networks • Connectivity • How many legitimate links are lost because they cannot be verified?
Lose Some Legitimate Links Network Density = 10 Network Density = 3 1 Verified Protocol 0.9 0.8 0.7 Verified Protocol 0.6 Link Discovery Probability 0.5 Strict Protocol (Preventing Worawannotai Attack) Strict Protocol (Preventing Worawannotai Attack) 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 Node Distance (r) Node Distance (r)
…but small effect on connectivity and routing 10 Network density = 10 Verified protocol: 0.5% links are lost no nodes disconnected Strict protocol: 40% links are lost 0.03% nodes disconnected 9 8 7 Strict Protocol 6 Verified Protocol 5 Average Path Length Trust All 4 3 2 1 0 4 6 8 10 12 14 16 18 20 Omnidirectional Node Density
Dealing with Error Network Density = 3 Network Density = 10 1 1 0.9 0.9 0.8 0.8 0.7 0.7 Lost Links, Strict Protocol 0.6 0.6 Lost Links, Strict Protocol 0.5 0.5 Ratio 0.4 0.4 Disconnected Nodes, Strict Protocol 0.3 0.3 0.2 0.2 0.1 0.1 Disconnected Nodes 0 0 0 10 20 30 40 50 60 0 10 20 30 40 50 60 Maximum Directional Error Degree Maximum Directional Error Degree Even with no control over antenna alignment, few nodes are disconnected
Vulnerabilities • Attacker with multiple wormhole endpoints • Can create packets coming from different directions to appear neighborly • Antenna, orientation inaccuracies • Real transmissions are not perfect wedges • Magnet Attacks • Protocol depends on compass alignment
Conclusion • Computing is moving into the real world: • Rich interfaces to environment • No perimeters • Simple properties of physical world are useful: • Space and time can be used to achieve accurate localization cheaply • Space consistency requirements can prevent wormhole attacks