Proac&vely Accountable Anonymous Messaging in Verdict - - PowerPoint PPT Presentation

proac vely accountable anonymous messaging in verdict
SMART_READER_LITE
LIVE PREVIEW

Proac&vely Accountable Anonymous Messaging in Verdict - - PowerPoint PPT Presentation

Proac&vely Accountable Anonymous Messaging in Verdict Henry Corrigan-Gibbs, David Isaac Wolinsky, and Bryan Ford Department of Computer Science Yale


slide-1
SLIDE 1

Proac&vely ¡Accountable ¡ Anonymous ¡Messaging ¡in ¡Verdict ¡

Henry ¡Corrigan-­‑Gibbs, ¡David ¡Isaac ¡Wolinsky, ¡and ¡Bryan ¡Ford ¡

¡

Department ¡of ¡Computer ¡Science ¡ Yale ¡University ¡ ¡ 22nd ¡USENIX ¡Security ¡Symposium ¡ 14 ¡August ¡2013 ¡ ¡

slide-2
SLIDE 2

2 ¡

On ¡the ¡eve ¡of ¡an ¡elec-on ¡in ¡country ¡X… ¡ ac&vist ¡learns ¡that ¡the ¡prime ¡ ¡ minister ¡is ¡stashing ¡stolen ¡money ¡ ¡ in ¡a ¡secret ¡bank ¡account. ¡ Acct ¡#35139387 ¡ Acct ¡#09836271 ¡ MUST ¡PUBLISH ¡this ¡info ¡ ¡ before ¡the ¡elec-on ¡

slide-3
SLIDE 3

3 ¡

Can ¡I ¡publish ¡these ¡ anonymously? ¡

slide-4
SLIDE 4

4 ¡

Can ¡I ¡publish ¡these ¡ anonymously? ¡

Blog ¡ Server ¡

slide-5
SLIDE 5

Possible ¡Solu&on ¡#1: ¡Onion ¡Rou&ng ¡

5 ¡

Blog ¡ Server ¡

Dingledine, ¡ Mathewson, ¡ Syverson ¡ [USENIX ¡Sec ¡’04] ¡

slide-6
SLIDE 6

Possible ¡Solu&on ¡#1: ¡Onion ¡Rou&ng ¡

6 ¡

time time

First-­‑last ¡correla&on ¡aback ¡ (traffic ¡confirma&on) ¡

slide-7
SLIDE 7

7 ¡

Dining ¡Cryptographers ¡ networks ¡(DC-­‑nets) ¡are ¡ resistant ¡to ¡traffic ¡ analysis ¡abacks ¡

Blog ¡ Server ¡

slide-8
SLIDE 8

Possible ¡Solu&on ¡#2: ¡DC-­‑nets ¡

8 ¡

Blog ¡ Server ¡

Everyone ¡contributes ¡an ¡ ¡ equal-­‑length ¡message ¡

Acct ¡ #35139387 ¡

slide-9
SLIDE 9

Possible ¡Solu&on ¡#2: ¡DC-­‑nets ¡

9 ¡

Blog ¡ Server ¡

Acct ¡ #35139387 ¡

slide-10
SLIDE 10

DC-­‑nets ¡in ¡30 ¡Seconds ¡

10 ¡

Alice ¡ Bob ¡ Chris ¡

1 ¡ 0 ¡ 1 ¡ 1 ¡

David ¡Chaum ¡ “Dining ¡Cryptographers ¡Problem” ¡ ¡ [J. ¡Cryptography ¡‘88] ¡

Implement ¡an ¡ anonymous ¡group ¡ broadcast ¡primi&ve ¡

slide-11
SLIDE 11

DC-­‑nets ¡in ¡30 ¡Seconds ¡

11 ¡

Alice ¡ Bob ¡ Chris ¡

1 ¡ 0 ¡ 1 ¡

⊕ ¡ ⊕ ¡ ⊕ ¡ ⊕ ¡

1 ¡

slide-12
SLIDE 12

⊕ ¡

DC-­‑nets ¡in ¡30 ¡Seconds ¡

12 ¡

Alice ¡

1 ¡

Bob ¡ Chris ¡

1 ¡ 1 ¡ 1 ¡ 0 ¡ 1 ¡ 1 ¡

⊕ ¡ ⊕ ¡ ⊕ ¡

slide-13
SLIDE 13

DC-­‑nets ¡in ¡30 ¡Seconds ¡

13 ¡

Alice ¡

1 ¡

Bob ¡ Chris ¡

1 ¡ 1 ¡

⊕ ¡

1 ¡

DC-­‑nets ¡are ¡ resistant ¡to ¡traffic ¡ analysis ¡abacks ¡ Primarily ¡use ¡fast ¡ symmetric-­‑key ¡ crypto ¡opera&ons ¡ (PRNG, ¡XOR) ¡

slide-14
SLIDE 14

DC-­‑nets ¡in ¡30 ¡Seconds ¡

14 ¡

Alice ¡

1 ¡

Bob ¡ Chris ¡

1 ¡ 1 ¡

⊕ ¡

Dissent: ¡DC-­‑nets ¡made ¡ prac-cal ¡

  • Splits ¡nodes ¡into ¡

clients ¡and ¡servers ¡

  • Scales ¡to ¡1000s ¡of ¡

nodes ¡

  • Handles ¡client ¡churn ¡
  • Anonymity ¡set ¡size ¡= ¡

set ¡of ¡honest ¡nodes ¡

slide-15
SLIDE 15

Possible ¡Solu&on ¡#2: ¡DC-­‑nets ¡

15 ¡

Blog ¡ Server ¡

DC-­‑nets ¡resist ¡traffic ¡ analysis ¡abacks… ¡ BUT ¡

slide-16
SLIDE 16

Possible ¡Solu&on ¡#2: ¡DC-­‑nets ¡

16 ¡

Blog ¡ Server ¡

…if ¡the ¡prime ¡ minister’s ¡henchmen ¡ can ¡infiltrate ¡the ¡group ¡

slide-17
SLIDE 17

17 ¡

Alice ¡

1 ¡

Bob ¡ Chris ¡

1 ¡ 1 ¡

⊕ ¡

1 ¡

slide-18
SLIDE 18

18 ¡

Alice ¡

1 ¡

Bob ¡ Chris ¡

1 ¡ 0 ¡

⊕ ¡

0 ¡

Anonymous ¡ disrup&on ¡ ¡ (DoS) ¡aback ¡

slide-19
SLIDE 19

Possible ¡Solu&on ¡#3: ¡Dissent ¡

  • Dissent ¡can ¡handle ¡this ¡sort ¡of ¡misbehavior ¡

– Aoer ¡a ¡disrup&on ¡occurs, ¡par&cipants ¡run ¡a ¡ shuffle/e-­‑vo-ng ¡protocol ¡ – The ¡anonymous ¡sender ¡sends ¡an ¡accusa-on ¡ through ¡the ¡shuffle ¡ – All ¡nodes ¡use ¡the ¡accusa&on ¡to ¡trace ¡(“blame”) ¡ the ¡disruptor ¡

19 ¡

slide-20
SLIDE 20

Possible ¡Solu&on ¡#3: ¡Dissent ¡

  • Dissent ¡can ¡handle ¡this ¡sort ¡of ¡misbehavior ¡

– Aoer ¡a ¡corrup&on ¡occurs, ¡par&cipants ¡run ¡a ¡ shuffle ¡protocol ¡ – The ¡anonymous ¡sender ¡sends ¡an ¡anonymous ¡ accusa-on ¡through ¡the ¡shuffle ¡ – All ¡nodes ¡use ¡the ¡accusa&on ¡to ¡trace ¡the ¡disruptor ¡

20 ¡

10 ¡ 100 ¡ 1000 ¡ 16 ¡ 160 ¡ 1600 ¡ Time ¡to ¡blame ¡ (seconds, ¡log ¡scale) ¡ Par&cipa&ng ¡clients ¡(log ¡scale) ¡

At ¡1024 ¡nodes, ¡blame ¡ takes ¡20 ¡minutes ¡L ¡ ¡

slide-21
SLIDE 21

Possible ¡Solu&on ¡#3: ¡Dissent ¡

21 ¡

Blog ¡ Server ¡

slide-22
SLIDE 22

Possible ¡Solu&on ¡#3: ¡Dissent ¡

22 ¡

Blog ¡ Server ¡

slide-23
SLIDE 23

Possible ¡Solu&on ¡#3: ¡Dissent ¡

23 ¡

Blog ¡ Server ¡

slide-24
SLIDE 24

Possible ¡Solu&on ¡#3: ¡Dissent ¡

24 ¡

Blog ¡ Server ¡

slide-25
SLIDE 25

Possible ¡Solu&on ¡#3: ¡Dissent ¡

25 ¡

Blog ¡ Server ¡

Henchmen ¡can ¡block ¡ the ¡ac&vist’s ¡ transmission ¡un&l ¡the ¡ elec&on ¡has ¡passed! ¡

slide-26
SLIDE 26

Possible ¡Solu&on ¡#3: ¡Dissent ¡

26 ¡

Blog ¡ Server ¡

In ¡a ¡1000-­‑node ¡group, ¡ ¡ 18 ¡disruptors ¡can ¡block ¡ communica&on ¡for ¡6 ¡hours ¡

slide-27
SLIDE 27

Verdict: ¡Mo&va&on ¡

  • Can ¡we ¡get ¡

– the ¡traffic-­‑analysis-­‑resistance ¡of ¡DC-­‑nets ¡and ¡ ¡ – the ¡scalability ¡of ¡Dissent ¡ ¡

¡with ¡lower ¡blame ¡cost? ¡

  • Idea: ¡Group ¡members ¡prove ¡that ¡their ¡messages ¡

are ¡sending ¡are ¡correctly ¡formed. ¡ ¡à ¡Iden&fy ¡disruptors ¡before ¡they ¡jam ¡the ¡ ¡ ¡ ¡ ¡anonymous ¡communica&on ¡channel ¡

27 ¡

slide-28
SLIDE 28

“Verifiable” ¡DC-­‑nets ¡

  • In ¡2004 ¡Eurocrypt ¡paper, ¡Golle ¡and ¡Juels ¡propose ¡

applying ¡zero-­‑knowledge ¡proof ¡(ZKP) ¡techniques ¡ to ¡DC-­‑nets ¡

  • Par&cipants ¡prove ¡correctness ¡of ¡messages ¡
  • Drawbacks ¡of ¡Golle-­‑Juels ¡work: ¡computa&onally ¡

expensive, ¡inefficient ¡in ¡communica&on ¡cost, ¡ uses ¡pairings, ¡requires ¡trusted ¡setup, ¡… ¡

  • Never ¡implemented… ¡

28 ¡

slide-29
SLIDE 29

Verdict: ¡Contribu&ons ¡

  • 1. First ¡(to ¡our ¡knowledge) ¡implementa&on ¡and ¡

evalua&on ¡of ¡verifiable ¡DC-­‑nets ¡

  • 2. Two ¡new ¡verifiable ¡DC-­‑nets ¡construc&ons ¡which ¡

give ¡5.6x ¡speedup ¡over ¡Golle-­‑Juels ¡approach ¡

  • 3. Op&miza&ons ¡to ¡make ¡verifiable ¡DC-­‑nets ¡fast ¡

– for ¡long ¡messages, ¡ – when ¡there ¡are ¡no ¡ac#ve ¡disruptors, ¡and ¡ – by ¡op&mis&cally ¡using ¡XOR-­‑based ¡DC-­‑nets ¡ ¡ when ¡possible ¡(138x ¡speedup) ¡

29 ¡

slide-30
SLIDE 30

Outline ¡

  • Background ¡and ¡Mo&va&on ¡
  • Verdict ¡

– Design ¡Challenges ¡ – Op&miza&ons ¡

  • Evalua&on ¡
  • Conclusion ¡

30 ¡

slide-31
SLIDE 31

Design ¡Challenges ¡

  • 1. Resist ¡traffic ¡analysis ¡abacks ¡
  • 2. Make ¡sender’s ¡transmission ¡indis&nguishable ¡
  • 3. Prove ¡that ¡transmissions ¡are ¡well-­‑formed ¡

31 ¡

slide-32
SLIDE 32

Design ¡Challenges ¡

  • 1. Resist ¡traffic ¡analysis ¡aRacks ¡
  • 2. Make ¡sender’s ¡transmission ¡indis&nguishable ¡
  • 3. Prove ¡that ¡transmissions ¡are ¡well-­‑formed ¡

32 ¡

slide-33
SLIDE 33

Challenge ¡1: ¡Traffic ¡Analysis ¡Resistance ¡

  • Time ¡is ¡divided ¡into ¡messaging ¡rounds ¡
  • One ¡anonymous ¡sender ¡per ¡messaging ¡round ¡
  • Every ¡client ¡transmits ¡the ¡same ¡number ¡of ¡

bits ¡in ¡every ¡messaging ¡round ¡

– # ¡of ¡bits ¡sent ¡does ¡not ¡leak ¡sender’s ¡iden&ty ¡

  • Clients’ ¡ciphertexts ¡are ¡cryptographically ¡

indis-nguishable ¡

– Content ¡does ¡not ¡leak ¡sender’s ¡iden&ty ¡

¡

slide-34
SLIDE 34

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

Challenge ¡1: ¡Traffic ¡Analysis ¡Resistance ¡

34 ¡

We ¡assume ¡that ¡ ¡ at ¡least ¡one ¡server ¡ ¡ is ¡honest ¡ CAlice ¡ CBob ¡ CChris ¡

slide-35
SLIDE 35

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

Challenge ¡1: ¡Traffic ¡Analysis ¡Resistance ¡

35 ¡

CAlice ¡ CBob ¡ CChris ¡ CX ¡ CY ¡

slide-36
SLIDE 36

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

Challenge ¡1: ¡Traffic ¡Analysis ¡Resistance ¡

36 ¡

m ¡ m ¡ m ¡

slide-37
SLIDE 37

Design ¡Challenges ¡

  • 1. Resist ¡traffic ¡analysis ¡abacks ¡
  • 2. Make ¡sender’s ¡transmission ¡indis-nguishable ¡
  • 3. Prove ¡that ¡transmissions ¡are ¡well-­‑formed ¡

37 ¡

slide-38
SLIDE 38

Challenge ¡2: ¡Encoding ¡Messages ¡

  • The ¡transmivng ¡client ¡sends ¡ ¡

an ¡encryp&on ¡of ¡arbitrary ¡message: ¡m ¡

  • Non-­‑transmivng ¡clients ¡set ¡m ¡= ¡1 ¡

– An ¡encryp&on ¡of ¡the ¡iden&ty ¡element ¡

  • Use ¡an ¡ElGamal-­‑like ¡scheme ¡to ¡encrypt ¡

E(m, ¡σ1, ¡…, ¡σN) ¡= ¡mg ¡

¡

… ¡where ¡the ¡σs ¡are ¡secrets ¡shared ¡between ¡clients ¡ and ¡servers. ¡

σ1+ ¡… ¡+σN ¡

slide-39
SLIDE 39

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

Challenge ¡2: ¡Encoding ¡Messages ¡

39 ¡

slide-40
SLIDE 40

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

σay ¡ σax ¡

Clients ¡and ¡servers ¡agree ¡to ¡k-­‑bit ¡ shared ¡secrets ¡σ ¡using ¡DH ¡exchange ¡

40 ¡

slide-41
SLIDE 41

CAlice ¡= ¡1*gt ¡

σay ¡ σax ¡

σax+σay ¡

¡

¡ Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

41 ¡

gt ¡generates ¡some ¡group ¡ in ¡which ¡DDH ¡is ¡hard ¡

slide-42
SLIDE 42

σcx ¡ σcy ¡

m ¡

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

42 ¡

CChris ¡= ¡m*gt ¡

σcx+σcy ¡

¡

¡

slide-43
SLIDE 43

σcx ¡

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

CX ¡= ¡gt ¡

  • ­‑ ¡σax ¡-­‑ ¡σbx ¡-­‑ ¡σcx ¡

¡

¡

43 ¡

σay ¡ σax ¡

slide-44
SLIDE 44

Challenge ¡2: ¡Encoding ¡Messages ¡

44 ¡

  • In ¡product ¡of ¡Cs, ¡every ¡secret ¡σij ¡is ¡included ¡as ¡

an ¡exponent ¡once ¡with ¡(+) ¡sign ¡and ¡once ¡with ¡ (-­‑) ¡sign: ¡ CAliceCBobCChrisCXCY ¡= ¡m ¡ ¡ ¡

slide-45
SLIDE 45

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

CChris ¡= ¡m*gt ¡

σcx+σcy ¡

¡

¡ Without ¡knowing ¡the ¡secrets ¡σ, ¡an ¡ abacker ¡cannot ¡tell ¡whether ¡Alice ¡or ¡ Chris ¡is ¡the ¡anonymous ¡sender ¡of ¡m ¡ (by ¡DDH ¡assump&on) ¡ ¡

45 ¡

CAlice ¡= ¡1*gt ¡

σax+σay ¡

¡

¡

slide-46
SLIDE 46

Design ¡Challenges ¡

  • 1. Resist ¡traffic ¡analysis ¡abacks ¡
  • 2. Make ¡sender’s ¡transmission ¡indis&nguishable ¡
  • 3. Prove ¡that ¡transmissions ¡are ¡well-­‑formed ¡

46 ¡

slide-47
SLIDE 47

Challenge ¡3: ¡Proving ¡Correctness ¡

  • Clients ¡abach ¡non-­‑interac&ve ¡zero-­‑knowledge ¡

proofs ¡of ¡knowledge ¡to ¡their ¡ciphertexts ¡

– Use ¡off-­‑the-­‑shelf ¡ZKP ¡techniques ¡ Camenisch-­‑Stadler ¡[ETH ¡Zurich ¡TR-­‑260, ¡‘97] ¡ – Servers ¡check ¡proofs ¡before ¡accep&ng ¡client ¡ ciphertexts ¡

  • Servers ¡prove ¡validity ¡of ¡their ¡ciphertexts ¡too ¡

¡

47 ¡

slide-48
SLIDE 48

Challenge ¡3: ¡Proving ¡Correctness ¡

  • Recall: ¡one ¡client ¡transmits ¡in ¡each ¡messaging ¡round ¡
  • As ¡in ¡Dissent, ¡we ¡use ¡a ¡key ¡shuffle ¡to ¡assign ¡

pseudonymous ¡“owners” ¡to ¡messaging ¡rounds ¡

– Each ¡client ¡submits ¡a ¡pseudonym ¡public ¡key ¡to ¡shuffle ¡ – Shuffle ¡hides ¡owner-­‑to-­‑pseudonym ¡mapping ¡

Pseudonym ¡

Alice ¡ Bob ¡ Chris ¡

Owner ¡

gd ¡ ge ¡ gf ¡

“A ¡Verifiable ¡Secret ¡ Shuffle ¡and ¡its ¡ Applica&on ¡to ¡E-­‑Vo&ng” ¡ – ¡Neff ¡[CCS ¡‘01] ¡

slide-49
SLIDE 49

Challenge ¡3: ¡Proving ¡Correctness ¡

  • When ¡Bob ¡submits ¡a ¡ciphertext ¡in ¡a ¡messaging ¡

round ¡owned ¡by ¡pseudonym ¡gd, ¡Bob ¡abaches ¡ a ¡proof ¡that: ¡

49 ¡

CBob ¡is ¡a ¡correct ¡encryp&on ¡of ¡m=1 ¡ OR ¡ ¡ I ¡know ¡the ¡pseudonym ¡secret ¡d ¡

PoK ¡

slide-50
SLIDE 50

Challenge ¡3: ¡Proving ¡Correctness ¡

  • Clients ¡and ¡servers ¡publish ¡commitments ¡to ¡

their ¡shared ¡secrets ¡σij ¡ Sax ¡= ¡Commit(σax)= ¡h ¡ ¡ …using ¡some ¡generator ¡h ¡of ¡group ¡G ¡for ¡which ¡ no ¡one ¡knows ¡logg_t(h). ¡

50 ¡

σax ¡

slide-51
SLIDE 51

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

51 ¡

Say ¡ Sax ¡ Sbx ¡ Sby ¡ Scx ¡ Scy ¡ Sax ¡ Sbx ¡ Scx ¡ Say ¡ Sby ¡ Scy ¡

slide-52
SLIDE 52

Challenge ¡3: ¡Proving ¡Correctness ¡

  • When ¡Bob ¡submits ¡a ¡ciphertext ¡in ¡a ¡messaging ¡

round ¡owned ¡by ¡pseudonym ¡gd, ¡Bob ¡abaches ¡ a ¡proof ¡that: ¡

52 ¡

CBob ¡is ¡a ¡correct ¡encryp&on ¡of ¡m=1 ¡ OR ¡ ¡ I ¡know ¡the ¡pseudonym ¡secret ¡d ¡

PoK ¡

slide-53
SLIDE 53
  • When ¡Bob ¡submits ¡a ¡ciphertext ¡in ¡a ¡messaging ¡

round ¡owned ¡by ¡pseudonym ¡gd, ¡Bob ¡abaches ¡ a ¡proof ¡that: ¡

( AND ¡

CBob ¡ SbxSby ¡ = = gt ¡ h ¡

¡ ¡) ¡

OR ¡ D ¡= ¡gd ¡

Challenge ¡3: ¡Proving ¡Correctness ¡

PoK ¡

σbx+σby ¡ σbx+σby ¡

53 ¡

σbx ¡ σby ¡ ¡

d ¡ : ¡

slide-54
SLIDE 54
  • When ¡Bob ¡submits ¡a ¡ciphertext ¡in ¡a ¡messaging ¡

round ¡owned ¡by ¡pseudonym ¡gd, ¡Bob ¡abaches ¡ a ¡proof ¡that: ¡

( AND ¡

CBob ¡ SbxSby ¡ = = gt ¡ h ¡

¡ ¡) ¡

OR ¡ D ¡= ¡gd ¡

Challenge ¡3: ¡Proving ¡Correctness ¡

σbx+σby ¡ σbx+σby ¡

54 ¡

PoK ¡

σbx ¡ σby ¡ ¡

d ¡ : ¡

slide-55
SLIDE 55
  • When ¡Bob ¡submits ¡a ¡ciphertext ¡in ¡a ¡messaging ¡

round ¡owned ¡by ¡pseudonym ¡gd, ¡Bob ¡abaches ¡ a ¡proof ¡that: ¡

( AND ¡

CBob ¡ SbxSby ¡ = = gt ¡ h ¡

¡ ¡) ¡

OR ¡ D ¡= ¡gd ¡

Challenge ¡3: ¡Proving ¡Correctness ¡

σbx ¡ σby ¡ ¡

d ¡ : ¡

σbx+σby ¡ σbx+σby ¡

55 ¡

Proof ¡is ¡just ¡a ¡bit-­‑string —can ¡send ¡it ¡over ¡the ¡ network, ¡etc ¡

PoK ¡

slide-56
SLIDE 56

Alice ¡ Bob ¡ Chris ¡

m ¡

Server ¡X ¡ Server ¡Y ¡

Challenge ¡3: ¡Proving ¡Correctness ¡

56 ¡

CBob ¡ CChris ¡ CX ¡ CY ¡ π ¡ π ¡ CAlice ¡ π ¡ π ¡ π ¡

slide-57
SLIDE 57

m ¡

Alice ¡ Bob ¡ Chris ¡ Server ¡X ¡ Server ¡Y ¡

Challenge ¡3: ¡Proving ¡Correctness ¡

57 ¡

m ¡ m ¡ m ¡

slide-58
SLIDE 58

Outline ¡

  • Background ¡and ¡Mo&va&on ¡
  • Verdict ¡

– Design ¡Challenges ¡ – Op-miza-ons ¡

  • Evalua&on ¡
  • Conclusion ¡

58 ¡

slide-59
SLIDE 59

Op&miza&ons ¡

  • 1. Long ¡messages ¡
  • 2. “Lazy” ¡proof ¡verifica&on ¡
  • 3. Hybrid ¡Dissent+Verdict ¡DC-­‑net ¡

59 ¡

slide-60
SLIDE 60

Op&miza&ons ¡

  • 1. Long ¡messages ¡
  • 2. “Lazy” ¡proof ¡verifica&on ¡
  • 3. Hybrid ¡Dissent+Verdict ¡DC-­‑net ¡

60 ¡

slide-61
SLIDE 61

Long ¡Messages ¡

  • Short ¡proofs ¡for ¡long ¡messages ¡

PoK ¡

σax ¡ σay ¡ ¡

d ¡ : ¡(AND ¡

CA,1 ¡= g1 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

)

CA,2 ¡= g2 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ … ¡= … ¡ ¡ ¡ ¡ CA,L ¡= gL ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ SaxSay ¡ ¡= h ¡ OR ¡ D ¡= gd ¡

σax+σay ¡ σax+σay ¡ σax+σay ¡ σax+σay ¡

61 ¡

We ¡use ¡a ¡public ¡hash ¡ func&on ¡to ¡pick ¡these ¡ generators ¡ Golle-­‑Juels ¡scheme ¡ required ¡a ¡pairing ¡to ¡ achieve ¡a ¡similar ¡effect ¡

slide-62
SLIDE 62

Op&miza&on ¡1: ¡Long ¡Messages ¡

62 ¡

σax ¡ σay ¡ ¡

d ¡ : ¡(AND ¡

CA1 ¡= g1 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

)

CA2 ¡= g2 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ … ¡= … ¡ ¡ ¡ ¡ CA,L ¡= gL ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ SaxSay ¡ ¡= h ¡ OR ¡ D ¡= gd ¡

σax+σay ¡ σax+σay ¡ σax+σay ¡ σax+σay ¡

Proof ¡length ¡is ¡linear ¡ in ¡the ¡number ¡of ¡ variables, ¡so ¡we ¡get ¡ ¡ O(1)-­‑length ¡proofs ¡

PoK ¡

slide-63
SLIDE 63

Op&miza&ons ¡

  • 1. Long ¡messages ¡
  • 2. “Lazy” ¡proof ¡verifica-on ¡
  • 3. Hybrid ¡Dissent+Verdict ¡DC-­‑net ¡

63 ¡

slide-64
SLIDE 64

Op&miza&on ¡2: ¡“Lazy” ¡Verifica&on ¡

  • Checking ¡proofs ¡is ¡expensive ¡
  • Servers ¡defer ¡checking ¡proofs ¡un&l ¡acer ¡a ¡

disrup-on ¡occurs ¡

  • Anonymous ¡sender ¡signs ¡content ¡with ¡

pseudonym ¡secret ¡key ¡

  • If ¡sig ¡check ¡fails, ¡servers ¡know ¡that ¡disrup&on ¡has ¡
  • ccurred—then ¡they ¡check ¡proofs ¡

¡

64 ¡

sig ¡ content ¡ m ¡

slide-65
SLIDE 65

Op&miza&ons ¡

  • 1. Long ¡messages ¡
  • 2. “Lazy” ¡proof ¡verifica&on ¡
  • 3. Hybrid ¡Dissent+Verdict ¡DC-­‑net ¡

65 ¡

slide-66
SLIDE 66

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

Verdict: ¡heavy ¡pub ¡key ¡crypto ¡ Dissent/DC-­‑nets: ¡AES ¡+ ¡XORs ¡

  • Recall: ¡Aoer ¡a ¡disrup&on ¡in ¡Dissent, ¡the ¡

anonymous ¡sender ¡broadcasts ¡an ¡“accusa&on” ¡ using ¡a ¡verifiable ¡shuffle ¡protocol ¡

– Par&cipants ¡use ¡the ¡accusa&on ¡to ¡trace ¡the ¡disruptor ¡ – Over ¡99% ¡of ¡the ¡“blame” ¡process ¡is ¡spent ¡in ¡shuffle ¡

  • Idea: ¡Use ¡Verdict ¡to ¡broadcast ¡Dissent’s ¡

anonymous ¡accusa&ons ¡à ¡hybrid ¡DC-­‑net ¡

66 ¡

slide-67
SLIDE 67
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

67 ¡

… ¡

&me ¡

Dissent ¡

… ¡

Verdict ¡

slide-68
SLIDE 68
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

68 ¡

m1 ¡

… ¡

&me ¡

Dissent ¡

… ¡

Verdict ¡

slide-69
SLIDE 69
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

69 ¡

m1 ¡ m2 ¡

… ¡

&me ¡

Dissent ¡

… ¡

Verdict ¡

slide-70
SLIDE 70
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

70 ¡

m1 ¡ m2 ¡

… ¡

&me ¡

Dissent ¡

… ¡

Verdict ¡

slide-71
SLIDE 71
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

71 ¡

m1 ¡ m2 ¡

… ¡

&me ¡

Dissent ¡

  • acc. ¡

blob ¡

… ¡

Verdict ¡

slide-72
SLIDE 72
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

72 ¡

m1 ¡ m2 ¡

… ¡

&me ¡

Dissent ¡

  • acc. ¡

blob ¡

… ¡

Verdict ¡

slide-73
SLIDE 73
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

73 ¡

m1 ¡ m2 ¡ m3 ¡

… ¡

&me ¡

Dissent ¡

  • acc. ¡

blob ¡

… ¡

Verdict ¡

slide-74
SLIDE 74
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

74 ¡

m1 ¡ m2 ¡ m3 ¡

… ¡

&me ¡

Dissent ¡

  • acc. ¡

blob ¡

… ¡

Verdict ¡

slide-75
SLIDE 75
  • Par&cipants ¡set ¡up ¡parallel ¡Dissent ¡and ¡Verdict ¡

communica&on ¡sessions ¡

Op&miza&on ¡3: ¡Hybrid ¡DC-­‑net ¡

75 ¡

Acco ¡ unt# ¡ 351 ¡

… ¡

&me ¡

Dissent ¡

  • acc. ¡

blob ¡

… ¡

Verdict ¡

Normal ¡case: ¡Dissent ¡XOR-­‑based ¡DC-­‑net ¡ Under ¡disrup-on: ¡Verdict ¡(faster ¡than ¡shuffle) ¡

slide-76
SLIDE 76

Outline ¡

  • Background ¡and ¡Mo&va&on ¡
  • Verdict ¡

– Design ¡Challenges ¡ – Op&miza&ons ¡

  • Evalua-on ¡
  • Conclusion ¡

76 ¡

slide-77
SLIDE 77

Implementa&on ¡

  • Implemented ¡in ¡C++ ¡as ¡an ¡extension ¡to ¡Dissent ¡
  • Cryptographic ¡primi&ves ¡

– OpenSSL, ¡Crypto++, ¡and ¡Botan ¡libraries ¡ – 256-­‑bit ¡NIST ¡ellip&c ¡curve ¡group ¡

  • Used ¡the ¡DeterLab ¡testbed ¡

– Physical ¡nodes: ¡8 ¡servers, ¡128 ¡clients ¡ – Ran ¡many ¡client ¡processes ¡per ¡machine ¡to ¡ simulate ¡up ¡to ¡1024 ¡clients ¡

  • Source ¡code: ¡hbps://github.com/DeDis/Dissent ¡

77 ¡

slide-78
SLIDE 78

Encryp&on ¡Throughput ¡(CPU ¡Cost) ¡ ¡

78 ¡

ElGamal: ¡ ¡ 2.9x ¡speedup ¡ Hybrid: ¡ ¡ 138x ¡speedup ¡ Pairing-­‑based: ¡ ¡ 4 ¡KB/s ¡ Fastest ¡Verdict: ¡ ¡ 5.6x ¡speedup ¡

slide-79
SLIDE 79

Messaging ¡Latency ¡

Tweet-­‑length ¡messages ¡

79 ¡

Clients (log scale)

“Lazy” ¡Verdict: ¡ ¡ 2.3x ¡speedup ¡ Pure ¡Verdict: ¡ ¡ 34 ¡seconds ¡ ¡ Hybrid: ¡ ¡ 27x ¡speedup ¡ ¡

slide-80
SLIDE 80

Blame ¡Time ¡

80 ¡

Clients (log scale)

Hybrid: ¡ ¡ 24 ¡seconds ¡ ¡ Pure ¡Verdict: ¡ ¡ 6 ¡seconds ¡ ¡ Dissent: ¡ ¡ 1177 ¡seconds ¡ ¡ (19.6 ¡minutes) ¡ ¡

slide-81
SLIDE 81

Outline ¡

  • Background ¡and ¡Mo&va&on ¡
  • Verdict ¡

– Design ¡Challenges ¡ – Op&miza&ons ¡

  • Evalua&on ¡
  • Conclusion ¡

81 ¡

slide-82
SLIDE 82

Details ¡in ¡the ¡Paper ¡

  • Messaging ¡protocol ¡

– Handling ¡equivoca&on, ¡dropped ¡messages, ¡etc. ¡

  • Proof ¡construc&ons ¡

– The ¡paper ¡describes ¡three ¡variants ¡ – Implementa&on ¡details ¡

  • Handling ¡server ¡failure ¡
  • Handling ¡client ¡churn ¡

82 ¡

slide-83
SLIDE 83

Conclusion ¡

First ¡prac&cal ¡verifiable ¡DC-­‑nets ¡scheme ¡

  • Introduces ¡two ¡new ¡verifiable ¡DC-­‑nets ¡

construc&ons ¡

  • Reduces ¡the ¡cost ¡of ¡finding ¡DC-­‑net ¡disruptors ¡

by ¡two ¡orders ¡of ¡magnitude ¡

  • By ¡reducing ¡the ¡cost ¡of ¡disrup&on, ¡Verdict ¡

brings ¡strong ¡traffic-­‑analysis-­‑resistant ¡ anonymity ¡closer ¡to ¡prac&cality ¡

83 ¡

slide-84
SLIDE 84

Acknowledgements ¡

Thanks ¡to: ¡

  • the ¡anonymous ¡reviewers, ¡
  • our ¡shepherd, ¡Micah ¡Sherr, ¡
  • the ¡DeterLab ¡staff, ¡
  • Aaron ¡Johnson, ¡Ewa ¡Syta, ¡Michael ¡J. ¡Fischer, ¡Michael ¡Z. ¡

Lee, ¡Michael ¡“Fitz” ¡Nowlan, ¡Ramki ¡Gummadi, ¡and ¡

  • all ¡of ¡you ¡for ¡listening. ¡

hRps://dedis.cs.yale.edu/2010/anon/ ¡ Shameless ¡plug: ¡The ¡Dissent ¡project ¡is ¡hiring! ¡

84 ¡

slide-85
SLIDE 85

85 ¡