Aggregation and Secure Aggregation Learning Objectives • Understand why we need aggregation in WSNs • Understand aggregation protocols in WSNs • Understand secure aggregation protocols in WSNs Prerequisites • Module 7 • Basic concepts of computer networks • Basic concepts of network security Why do we need Aggregation? • Sensor networks – Event-based Systems • Example Query: – What is the maximum temperature in area A between 10am and 11am? – Redundancy in the event data • Individual sensor readings are of limit use • Forwarding raw information too expensive – Scarce energy – Scarce bandwidth • Solution – Combine the data coming from different sources • Eliminate redundancy • Minimize the number of transmissions • Aggregation: Summary [Aggre_1] Section 1 4 What is Aggregation? Base Station Legend N Wireless Sensor Node Data Transmission vi K Sensor Measurement A H v3 f(v1, v2, v3) v1 B C L J D E I v2 F M G One Example of Aggregation - Count • Example: consider a query that counts the number of motes in a network of indeterminate size Sensor # 1 2 3 4 5 Goal: Count the number of nodes in the network. 1 2 3 4 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Time Number of children is unknown. Scenario: Count adopted from slides from S. Madden 7 Sensor # 1 2 1 2 3 4 5 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 Goal: Count the number of nodes in the network. Number of children is unknown. Scenario: Count Time Sensor # 1 2 1 2 3 4 5 1 - - - - 1 1 1 - - 1+2 1 1 - - - - - - - - - - - - - - - - - - - - - - 3 4 Goal: Count the number of nodes in the network. Number of children is unknown. Scenario: Count Time Sensor # 1 2 1 2 3 4 5 1 - - - - 1 1 1 - - 1+2 1 1 1 - 1+2 1+ ½ 1+ ½ 1 - - - - - - - - - - - - - - - - 3 4 5 Goal: Count the number of nodes in the network. Number of children is unknown. Scenario: Count Time Sensor # 1 2 1 2 3 4 5 1 - - - - 1 1 1 - - 1+2 1 1 1 - 1+2 1+ ½ 1+ ½ 1 1 1+3 1+ ½ 1+ ½ 1+1 1 - - - - - - - - - - 3 4 5 Goal: Count the number of nodes in the network. Number of children is unknown. Scenario: Count Time Sensor # 1 2 1 2 3 4 5 1 - - - - 1 1 1 - - 1+2 1 1 1 - 1+2 1+ ½ 1+ ½ 1 1 1+3 1+ ½ 1+ ½ 1+1 1 1+3 1+2/ 2 1+2/ 2 1+1 1 - - - - - 3 4 5 Goal: Count the number of nodes in the network. Number of children is unknown. Scenario: Count Time Sensor # 1 2 1 2 3 4 5 1 - - - - 1 1 1 - - 1+2 1 1 1 - 1+2 1+ ½ 1+ ½ 1 1 1+3 1+ ½ 1+ ½ 1+1 1 1+3 1+2/ 2 1+2/ 2 1+1 1 1+4 1+2/ 2 1+2/ 2 1+1 1 3 4 5 Goal: Count the number of nodes in the network. Number of children is unknown. Scenario: Count Time Count Example – A Better Scheme • Each leaf node in the tree reports a count of 1 to their parents • Interior nodes sum the count of their children, add 1 to it, and report that value to their parent Data Aggregation Process • Sensor nodes are organized into a tree hierarchy rooted at the Base Station • Non-leaf nodes act as the aggregators Example Aggregation • • • • Max, Min Count, Sum Average Median Tiny Aggregation • Distribution phase – Aggregate queries are pushed down into the network • Collection phase – Aggregate values are continuously routed up from children to parents Energy Consumption Time v. Current Draw During Query Processing 20 15 Current (mA) Snoozing Processing and Listening 10 Transmitting 5 Processing 0 0 0.5 1 1.5 Time (s) 2 2.5 3 Declarative Queries for Sensor Networks • Examples: 1 SELECT nodeid, light FROM sensors WHERE light > 400 EPOCH DURATION 1s Sensors Epoch Nodeid Light Temp Accel Sound 0 1 455 x x x 0 2 389 x x x 1 1 422 x x x 1 2 405 x x x •Time is partitioned into epochs of duration i A single aggregate value is produced to combine the readings of all devices during the epoch Aggregation Queries SELECT AVG(sound) Epoch 0 AVG(sound) 440 FROM sensors 1 445 2 EPOCH DURATION 10s Epoch roomNo AVG(sound) 3 FROM sensors 0 0 1 2 360 520 GROUP BY roomNo 1 1 370 HAVING AVG(sound) > 200 1 2 520 SELECT roomNo, AVG(sound) EPOCH DURATION 10s Rooms w/ sound > 200 Illustration: Aggregation SELECT COUNT(*) FROM sensors Sensor # 1 1 2 3 Slot 1 1 4 5 1 2 3 Slot # 2 3 4 4 1 1 Section 4.1 of TAG 5 Illustration: Aggregation SELECT COUNT(*) FROM sensors Sensor # 1 2 3 Slot # 3 1 4 1 2 Slot 2 5 1 2 3 2 2 4 4 1 5 Illustration: Aggregation SELECT COUNT(*) FROM sensors Sensor # 1 2 3 1 5 1 2 Slot # 1 4 1 3 Slot 3 3 2 3 2 1 3 4 4 1 5 Illustration: Aggregation SELECT COUNT(*) FROM sensors Sensor # 1 2 3 Slot # 2 3 2 3 1 5 1 2 Slot 4 1 4 1 4 5 1 3 4 5 5 Illustration: Aggregation SELECT COUNT(*) FROM sensors Sensor # 1 2 3 Slot # 5 1 2 2 3 2 3 1 1 4 1 4 Slot 1 1 3 4 5 1 1 5 Flow Up the tree during an epoch How parents choose the duration of the interval in which they will receive values? Topology Maintenance and Recovery • How to address the unreliable nature of WSNs in TAG? – Each node maintains a fixed size of its neighbors – Select a better parent node – If a node does not hear from its parent for some time, it assumes that its parent has failed Section 7.1 of [Aggre_1] Secure Aggregation Secure Aggregation • It is challenging to design suitable security mechanisms for Wireless Sensor Networks (WSNs) – Stringent resource constraints on energy, processing power, memory, bandwidth, etc. • WSNs need lightweight secure mechanisms • We introduce an LCG-based secure aggregation scheme – Efficiency and simplicity Security Goals • Security Goals – Confidentiality • Sensor data/readings cannot be disclosed to attackers – Integrity • If an adversary modifies a data message, the receiver should be able to detect this tampering – Authenticity • Ensures that data messages come from the intended sender • Assumptions – The existence of a key management scheme – WSN nodes can negotiate the key and trust setup LCG-based Security Protocols • Basic Hop by Hop Message Transmission Base Station J E(AggrH | MAC(AggrH, KHJ), KHJ) G I A H E(PA | MAC(PA, KAH), KAH) F B E(PB | MAC(PB, KBH), KBH) • Notations D C E E(PB | MAC(PB, KDH), KDH) E(PB | MAC(PB, KCH), KCH) – A, B, C…: Sensor Nodes – E(P, K): Encryption of plaintext message P using key K – P1|P2: Concatenation of message P1 and P2 – MAC(K, P): Message Authentication Code (MAC) of message P using key K – X0: seed of the LCG – a, b, m: Parameters of the LCG Integrity and Authenticity • CBC: Cipher Block Chaining Assignment • 1. Why do we need aggregation in wireless sensor networks? • 2. What is the basic idea of TAG? • 3. What is the basic idea of LCG-based secure aggregation in wireless sensor networks?