Who are you? Secure identities in ad hoc networks Seth Gilbert Calvin Newport Chaodong Zheng National University of Singapore Georgetown University National University of Singapore Identity establishment in wireless networks 2 The Sybil Attack • [Definition] Sybil attack: refers to the behavior where malicious users dishonestly generate large number of fake identities (also called sybil identities, or sybils) to obtain unfair advantage or conduct other hostile activity. 3 What we offer • Algorithms that solve identity establishment • With good sybil bound • Asymptotically optimal • With correctness guarantee • Every correct node accepts all other correct nodes 4 The basic idea for sybil-resistance… Radio resource testing! !ALERT! channel one Ack for msg msg msg channel two Honest users: always pass the test! Malicious users: lose (fake) identity with 50% chance! [1] N. James, E. Shi, D. Song, and A. Perrig. The sybil attack in sensor networks: Analysis & defenses. [2] D. Mónica, J. Leitão, L. Rodrigues, and C. Ribeiro. On the use of radio resource tests in wireless ad-hoc networks. 5 Challenges • Decentralized (i.e., ad hoc) environment • No central base station • Efficiency of radio resource tests • Test on per-pair basis is too slow • Colluding when multiple malicious clients exist • Insufficient to divide nodes to just two channels 6 Overview of this (short) talk • Background and Motivation • Approach and Results • Model and Problem • The SimpleSybilSieve Algorithm • The SybilSieve2 Algorithm 7 Model: multi-channel wireless network • Network: consists of c channels • Single-hop, synchronous • Users: n nodes in total • Nodes don’t know n, don’t have pre-assigned identities • Can use crypto tools • Communication: each node has one transceiver • Each transceiver can access all channels • Each transceiver can send/receive on one channel at any time channel one …… channel c 8 Model: adversary • t (of the n nodes) are Byzantine • 𝑡 ≤ 𝑛/α, and 𝑡 ≤ 𝑐/α, for some constant 𝛼 ≥ 1 • Faulty nodes can: create sybil, jam, etc… • Faulty nodes can also collude • Model them as one adversary called Eve channel one …… channel c $%#%@#$%@#$^@$^%$#$%^ 9 Problem: sybil-resistant identity establishment • Nodes are activated simultaneously • Each node randomly generate asymmetric key pair • Use public key as the identity • Sign messages to prevent spoofing • Goal: provide each node with a set of identities • Contains all honest nodes • Contains limited number of sybil identities channel one …… channel c 10 SimpleSybilSieve: Intuition Assume we know the value of n Assume we have n/2 channels (i.e., c=n/2) Imagine: each node randomly chooses a channel, then broadcasts or listens each with probability ½ After 𝑛lg(𝑛) time slots, each node will: Hear approximately 1/e fraction of silent rounds Hear each other honest node Θ(lg(𝑛)) times (criteria for accepting identities) Accept at most 𝑂(𝑡) sybil identities (when using the above criteria) 11 SimpleSybilSieve: Handle unknown n Assume we know the value of n Assume we have n/2 channels (i.e., c=n/2) Estimate n via doubling: n=1? n=2? n=4? n=8? n=16? … When estimate 𝑛 = 𝑛, use 𝑛/2 channels Use fraction of silent rounds heard to verify correctness 𝑛 is small: Eve can do nothing due to contention 𝑛 is large: Eve can do nothing due to large number of channels 12 SimpleSybilSieve: Handle small c Assume we know the value of n Assume we have n/2 channels (i.e., c=n/2) When needed channels is larger than c, simulate it! However, this allows Eve’s to create more sybil! channel 1 channel 1 channel 2 time slot 1 channel 2 channel 3 channel 3 channel 4 channel 4 channel 5 channel 1 channel 6 channel 7 channel 8 time slot 2 one round channel 2 channel 3 channel 4 13 The SimpleSybilSieve Protocol • Proceeds in epochs, each of which contains multiple rounds • In epoch i, nodes assume n = 2i, use 2i-1 channels • In each round, each node randomly chooses a channel • Then, broadcast or listen each with probability ½ • Use fraction of silent rounds heard to check if estimation is correct 𝑛 =2? 𝑛 =4? 𝑛 = 2 lg(𝑛) −1 ? 𝑛 = 2 lg(𝑛) ? 𝑛 = 2 lg(𝑛) +2 ? 1 channel 2 channels 2 lg(𝑛) −2 channels 2 lg(𝑛) −1 channels 2 lg(𝑛) +1 channels Epoch 1 Epoch 2 Epoch lg(𝑛) − 1 Epoch lg(𝑛) …… …… Epoch lg(𝑛) + 2 time 14 The SimpleSybilSieve Protocol (Continued…) • Once fraction of silent rounds reach some constant 𝛾1 • Nodes start accepting identities • Once fraction of silent rounds reach some constant 𝛾2 > 𝛾1 • Nodes terminate • Criteria for accepting an identity • Heard that identity “sufficiently” often in current epoch Epoch 1 Epoch 2 …… Epoch lg(𝑛) − 1 Epoch lg(𝑛) …… Epoch lg(𝑛) + 2 time 15 SimpleSybilSieve’s gurantees • [Theorem] For any 𝑡 ≤ min{𝑛, 𝑐}/α where 𝛼 ≥ 6, SimpleSybilSIeve finishes within 𝑂(𝑛 lg 2 𝑛 ∙ max{1, 𝑛/𝑐}) slots, and guarantees the following, with high probability: (a) there are at most 𝑂(𝑡 · max{1, 𝑛/ 𝑐}) sybil identities accepted by the honest nodes, collectively; and (b) every honest node accepts all other honest nodes. • When 𝑐 ≥ 𝑛, running time is 𝑂(𝑛 lg 2 𝑛 ) and sybil bound is 𝑂(𝑡) • Asymptotically optimal sybil bound • When 𝑐 < 𝑛, running time is 𝑂(𝑛2 lg 2 𝑛 ) and sybil bound is 𝑂(𝑛) • Hum… Not so good… 16 Can we do better? • SybilCast: a protocol for centralized wireless networks • SybilCast: guarantees 𝑂(𝑡) sybil bound even if 𝑐 < 𝑛 • Imagine such a protocol: • First run SimpleSybilSieve • Then run SybilCast many times, each time one identity is base station • An identity is accepted only if it is not sybil in most of these SybilCast instances SimpleSybilSieve SybilCast: Alice is BS SybilCast: Bob is BS SybilCast: Charlie is BS …… SybilCast: Zula is BS time [1] Seth Gilbert and Chaodong Zheng. SybilCast: Broadcast on the open airwaves. 17 But, wait… • For SimpleSybilSieve: • Nodes may terminate at different time… • Nodes may accept different sets of identities… • Need synchronization and consensus mechanism! • We build a sybil-resistant consensus primitive: SybilSensus • Based on existing Byzantine consensus protocol SimpleSybilSieve??? SybilCast: Alice is BS SybilCast: Bob is BS SybilCast: Charlie is BS …… SybilCast: Zula is BS time [1] T. Srikanth and S. Toueg. Simulating authenticated broadcasts to derive simple fault-tolerant algorithms. 18 SybilSieve and 2 SybilSieve • SimpleSybilSieve to SybilSieve: add SybilSensus to end of each epoch • Nodes terminate simultaneously • Nodes have same estimation on network size • Use SybilSensus again to agree on set of accepted identities • Run repeated instances of (variant of) SybilCast • Accept an identity if it not sybil in most repetitions Epoch 1 SybilSensus Epoch 2 SybilSensus …… Epoch i SybilSensus SybilSieve2 SybilSieve SybilSensus SybilCast: Alice is BS SybilCast: Bob is BS SybilCast: Charlie is BS …… SybilCast: Zula is BS time 19 2 SybilSieve guarantees • [Theorem] For any 𝑡 ≤ min{𝑛, 𝑐}/α where 𝛼 ≥ 256, SybilSieve2 finishes within 𝑂(𝑛2 lg 2 𝑛 ∙ max{1, 𝑛/𝑐}) slots, and guarantees the following, with high probability: • (a) there are at most 𝑂(𝑡) sybil identities accepted by the honest nodes, collectively; • (b) every honest node accepts all other honest nodes; • (c) all honest nodes terminate simultaneously and have same estimation on network size which is either 2 lg(𝑛) or 2 lg(𝑛) +1 . 20 Comparison of variants Running Time Correctness Sybil Bound Synchronous Termination SimpleSybilSieve 𝑂(𝑛 lg 2 𝑛 ∙ max{1, 𝑛/𝑐}) YES 𝑂(𝑡 · max{1, 𝑛/𝑐}) NO SybilSieve 𝑂(𝑛2 lg 2 𝑛 ∙ max{1, 𝑛/𝑐}) YES 𝑂(𝑡 · max{1, 𝑛/𝑐}) YES SybilSieve2 𝑂(𝑛2 lg 2 𝑛 ∙ max{1, 𝑛/𝑐}) YES 𝑂(𝑡) YES 21 To sum up… • New algorithms for sybil-resistant identity establishment • SimpleSybilSieve, SybilSieve, and SybilSieve2 • They provide trade-offs between runtime and sybil bound • Pick the one that is most appropriate • Useful subroutines that can be used elsewhere • Sybil-resistant Byzantine consensus, networks size estimation 22