Title: Practical(?) And Provably Secure Anonymity
1Practical(?) And Provably Secure Anonymity
2Sender-Anonymous Communication The Love Letter
Problem
Who?
You have a secret admirer!
Alex
Eve, The Net Admin
3Receiver-Anonymous Communication The
Whistleblowers problem
Eve
?
EPK(AUDIT ACME!)
IRS
Alex
4Previous Work on anonymous communication
- Mix-Net/Onion routing
- Efficient, but not (yet) provably secure
- DC-Nets
- Provably secure, but not efficient
5Mix-Net
E
EMIX(C,M3)
EMIX(D,M1)
EMIX(E,M5)
A
D
Mix
EMIX(E,M2)
EMIX(D,M4)
C
B
6Mix-Net
E
EMIX(D,M1)
EMIX(E,M2)
A
EMIX(C,M3)
D
Mix
EMIX(D,M4)
EMIX(E,M5)
C
B
7Mix-Net
E
D,ED(M1)
E,EE(M2)
A
C,EC(M3)
D
Mix
D,ED(M4)
E,EE(M5)
C
B
8Mix-Net
E
D,ED(M1)
E,EE(M2)
A
C,EC(M3)
D
Mix
D,ED(M4)
E,EE(M5)
C
B
9Mix-Net
EE(M5)
EE(M2)
E
ED(M1)
A
ED(M4)
D
Mix
EC(M3)
C
B
10Onion Routing
E
A
G
C
B
F
D
H
11Onion Routing
E
A
G
C
B
F
D
H
12Onion Routing
E
A
G
C
B
F
D
H
13Onion Routing
EH(M)
E
A
G
C
B
F
D
H
14Onion Routing
EF(H,EH(M))
E
A
G
C
B
F
D
H
15Onion Routing
EB(F,EF(H,EH(M)))
E
A
G
C
B
F
D
H
16Onion Routing
EE(B,EB(F,EF(H,EH(M))))
E
A
G
C
B
F
D
H
17Onion Routing
EB(F,EF(H,EH(M)))
E
A
G
C
B
F
D
H
18Onion Routing
E
A
G
C
EF(H,EH(M))
B
F
D
H
19Onion Routing
E
A
G
C
B
F
EH(M)
D
H
20Onion Routing
E
A
G
C
B
F
M
D
H
21DC Net Multiparty Sum
XA
A
XC
XB
C
B
XD
D
22DC Net Multiparty Sum
XA SAASABSACSAD XA
A
XC
XB
C
B
SCASCBSCCSCD XB
SBASBBSBCSBD XB
XD
D
SDASDBSDCSDD XD
23DC Net Multiparty Sum
XA SAASABSACSAD XA
A
SAB
SAC
XC
XB
SAD
C
B
SCASCBSCCSCD XB
SBASBBSBCSBD XB
XD
D
SDASDBSDCSDD XD
24DC Net Multiparty Sum
XA SAASABSACSAD XA SA SAA SBA SCASDA
A
SA
XC
SC
SB
XB
C
B
SD
SCASCBSCCSCD XB SC SAC SBC SCCSDC
SBASBBSBCSBD XB SB SAB SBB SCBSDB
XD
D
SDASDBSDCSDD XD SD SAD SBD SCDSDD
25DC Net Multiparty Sum
XA SAASABSACSAD XA SA SAA SBA SCASDA
X SA SB SC SD XA XB XC XD
XC
XB
C
B
SCASCBSCCSCD XB SC SAC SBC SCCSDC
SBASBBSBCSBD XB SB SAB SBB SCBSDB
XD
D
SDASDBSDCSDD XD SD SAD SBD SCDSDD
26How to use multiparty sum for anonymity
- If XA XB XC 0 then XXD!
- If more than one non-zero collision
- Use standard networking techniques
- Provably, Perfectly secure against passive
adversary. - Problems
- Inefficient O(n3) protocol messages/ anonymous
message - Easy to JAM it!
27Efficiency Issue
- Perfect security requires ?(n2) protocol
messages per anonymous message - Relax to k-anonymity every message could have
been from or to k participants
28k-anonymous message transmission (k-AMT)
- Idea Divide N parties into small DC-Nets of
size O(k). Encode M as (group, msg) pair
P2
P3
s1,2
s1,3
s1,4
P1
P4
s1,1s1,2s1,3s1,4 (Gt,Mt)
29How to compromise k-anonymity
- If everyone follows the protocol, its impossible
to compromise the anonymity guarantee. - So instead, dont follow the protocol if Alice
can never send anonymously, she will have to
communicate using traceable means.
30How to break k-AMT (I)
- Dont follow the protocol after receiving
shares s1,i,,sk,i, instead of broadcasting si,
generate a random value r and broadcast that
instead. - This will randomize the result of the DC-Net
protocol, preventing Alice from transmitting.
31Stopping the randomizing attack
- Solution Use Verifiable Secret Sharing. Every
player in the group announces (by broadcast) a
commitment to all of the shares of her input. - These commitments allow verification of her
subsequent actions.
32k-anonymous message transmission (k-AMT) with VSS
- Before starting, each player commits to si,1
si,k viaPedersen commitment C(s,r)gshr
s1,1s1,2s1,3s1,4 x1 (Gi,Mi)
C1
C1
C1
33k-anonymous message transmission (k-AMT) with VSS
- Before starting, each player commits to si,1
si,k viaPedersen commitment C(s,r)gshr
s1,1s1,2s1,3s1,4 x1 (Gi,Mi)
P2
P3
C2
C3
P1
P4
C4
34How to break k-AMT (II)
- The multiparty sum protocol gives k participants
a single shared channel at most one person can
successfully transmit each turn. - So Transmit every turn! VSS still perfectly
hides the value of each input no one will know
who is hogging the line.
35Accommodating more than one sender per turn
- Idea we can run several turns in parallel.
Instead of sending commitments to shares of a
single value, generate shares of 2k values. - If Alice picks a random turn to transmit in,
she should have probability at least ½ of
successfully transmitting.
36Accommodating more than one sender per turn
- Before starting, each player picks slot l, sets
xi,l (G,M), xi,1xi,2k 0, and chooses si,j,t
so that ?msi,j,t xi,j
P2
P3
C1,1..2k
C1,1..2k
P1
P4
C1,1..2k
37Accommodating more than one sender per turn
- Suppose at the end of the protocol, at least k of
the 2k parallel turns were empty (zero). Then
Alice should be happy she had probability ½ to
transmit. - If not, somebody has cheated and used at least 2
turns. How do we catch the cheater?
38Catching a cheater
- Idea each party can use her committed values to
prove (in zero knowledge) that she transmitted in
at most one slot, without revealing that slot. - If someone did cheat, she will have a very low
probability of convincing the group she did not.
39Zero-Knowledge proof of protocol conformance
- Pi ? (All)
- Pick permutation ? on 12k
- Send C(x) C(x?(0), r0),, C(x?(2k),r2k)
- (All) ? Pi b ? 0,1
- Pi ? (All)
- if b 0 open 2k-1 0 values
- else reveal ?, prove (in ZK) x ?(x)
40Efficiency
- O(k2) protocol messages to transmit O(k)
anonymous messages O(k) message overhead - Cheaters are caught with high probability
- Zero Knowledge proofs are Honest Verifier and can
be done non-interactively in the Random Oracle
Model, or interactively via an extra round
(commit to verifier coins)
41Another problem Abuse
- Anonymous communications could be used for bad
things - Kidnapping Ransom Notes
- Child Pornography
- Libel
- Excessive Multi Posting
- How to deal with it fairly?
42Selective Tracing
- Participants agree to a tracing policy
- Set of voters V
- Set of sets of voters V.
- Anytime a bad message is sent, when any set of
users v 2 V agree, the message can be traced to
its sender.
43Example Tracing Policies
- Threshold tracing if at least t users agree
(e.g. 90) - Court tracing if at least 5/9 justices agree
- LEA tracing if FBI, CIA, NSA, DHS, ATF, or DEA
want to trace.
44Support for selective traceability
- Assume for now singleton voter V.
- V publishes ElGamal public key GX.
- Recall that for each slot we have
- R ? ri,
- S ?i Ci gMhR
- For each slot compute
- a GR
- b g-MyR
- ? ZKlogg a loghy Sb
45Support for selective traceability
- V publishes ElGamal public key GX.
- For each slot compute
- a GR
- b g-MyR
- V can trace M by checking for each user whether
aXb g-M. - Extend to arbitrary tracing policy using
Threshold Cryptography
46Open Questions
- What is a good way to model security of
onion-routing type protocols? - Is k-AMT really practical? Can it be improved
on? - Can we make a provably secure variant of onion
routing with selective traceability? - Coercibility.