Brandts Fully Private Auction Protocol Revisited Jannik Dreier 1 , - - PowerPoint PPT Presentation

brandt s fully private auction protocol revisited
SMART_READER_LITE
LIVE PREVIEW

Brandts Fully Private Auction Protocol Revisited Jannik Dreier 1 , - - PowerPoint PPT Presentation

Brandts Fully Private Auction Protocol Revisited Jannik Dreier 1 , Jean-Guillaume Dumas 2 , Pascal Lafourcade 1 1 Verimag and 2 Laboratoire Jean Kuntzmann (LJK), Universit Grenoble 1, CNRS, FRANCE Africacrypt, Cairo, Egypt June 23, 2013


slide-1
SLIDE 1

Brandt’s Fully Private Auction Protocol Revisited

Jannik Dreier1, Jean-Guillaume Dumas2, Pascal Lafourcade1

1Verimag and 2Laboratoire Jean Kuntzmann (LJK),

Université Grenoble 1, CNRS, FRANCE

Africacrypt, Cairo, Egypt June 23, 2013

slide-2
SLIDE 2

Challenges in e-Auctions

  • Competing parties:
  • Bidders/Buyers
  • Seller
  • Auctioneer
  • Many possible mechanisms: English, Dutch, Sealed Bid, . . .
slide-3
SLIDE 3

e-Auctions: Security Requirements

Security Requirements

Non-Repudiation Fairness Non-Cancellation Verifiability Privacy Receipt-Freeness Anonymity Coercion-Resistance

slide-4
SLIDE 4

Plan

1 Introduction 2 Brandt’s Fully Private Auction Protocol 3 Analysis & Results 4 Conclusion

slide-5
SLIDE 5

Plan

1 Introduction 2 Brandt’s Fully Private Auction Protocol 3 Analysis & Results 4 Conclusion

slide-6
SLIDE 6

Protocol by Brandt [Bra06]

  • Completely distributed protocol, no authorities
  • Distributed homomorphic n-out-of-n threshold ElGamal

encryption

  • Bidders compute function f where fij = 1 if bidder i won at

price j, fij = 1 otherwise.

  • Each bidder i only learns “his” fij, i.e. only if he won or lost
  • Zero-Knowledge Proofs (ZKP) to protect against misbehaving

parties

slide-7
SLIDE 7

Protocol execution

slide-8
SLIDE 8

Protocol execution

  • 1. Distributed key setup
slide-9
SLIDE 9

Protocol execution

  • 1. Distributed key setup
  • 2. Encrypted bids
slide-10
SLIDE 10

Protocol execution

  • 1. Distributed key setup
  • 2. Encrypted bids
  • 3. Hom. Computation of fij
slide-11
SLIDE 11

Protocol execution

  • 1. Distributed key setup
  • 2. Encrypted bids
  • 3. Hom. Computation of fij
  • 4. Partial decryption
slide-12
SLIDE 12

Protocol execution

  • 1. Distributed key setup
  • 2. Encrypted bids
  • 3. Hom. Computation of fij
  • 4. Partial decryption
  • 5. Shares
slide-13
SLIDE 13

Protocol execution

  • 1. Distributed key setup
  • 2. Encrypted bids
  • 3. Hom. Computation of fij
  • 4. Partial decryption
  • 5. Shares
  • 6. Missing shares for fij
slide-14
SLIDE 14

Bid encoding, example

For a public constant Y = 1: baj =

  • Y

if j = bida 1

  • therwise

Example: bid1 = 3, bid2 = 1 and bid3 = 2. Then b1 =     b1,4 b1,3 b1,2 b1,1     =     1 Y 1 1     , b2 =     1 1 1 Y     , b3 =     1 1 Y 1    

slide-15
SLIDE 15

fij, example

Definition:

˜ fij(X) =      

bigger prices, all bidders

  • n
  • h=1

k

  • d=j+1

Xhd       ·      

lower prices, same bidder j−1

  • d=1

Xid       ·      

ties using index i−1

  • h=1

Xhj       , fij =

  • ˜

fij(b) ri,j

Hence:

b1 =     1 Y 1 1     b2 =     1 1 1 Y     b3 =     1 1 Y 1     b = (b1, b2, b3) ˜ f1(b) =     Y ∗ 1 ∗ 1 1∗ 1∗ 1∗ 1 ∗ 1 Y ∗ 1∗ 1 ∗ 1∗ 1 ∗ 1∗ 1 1 ∗ Y ∗ 1∗ 1 ∗ 1 ∗ 1∗ Y ∗ 1 ∗ 1     =     Y 1 Y Y 2     ˜ f2(b) =     1 ∗ 1 ∗ Y ∗ 1 1∗ 1 ∗ Y ∗ Y Y ∗ Y ∗ 1 Y 2∗ 1     =     Y Y 2 Y 2 Y 2     ˜ f3(b) =     1 ∗ Y ∗ 1∗ 1 ∗ 1 1∗ Y ∗ 1∗ Y ∗ 1 Y ∗ 1∗ 1 ∗ 1 Y 2∗ 1 ∗ Y     =     Y Y 2 Y Y 3    

slide-16
SLIDE 16

Plan

1 Introduction 2 Brandt’s Fully Private Auction Protocol 3 Analysis & Results 4 Conclusion

slide-17
SLIDE 17

Attacking Privacy

  • Observation: If rij = 1 for all i and j, then f is injective and

efficiently invertible (proof in the paper).

  • rij is jointly chosen by the bidders
  • If malleable proofs of knowledge are used, a malicious bidder

can set rij = 1

  • Allows the seller to invert f and obtain all bidders’ private bids
slide-18
SLIDE 18

How to set rij = 1

When computing γa

ij =

  • ˜

fij(α) ma

ij and δa

ij =

  • ˜

fij(β) ma

ij,

wait until all other bidders published their γa

ij and δa

  • ij. Submit

γω

ij =

  • ˜

fij(α)

  • ·

 

k=ω

γk

ij

 

−1

and δω

ij =

  • ˜

fij(β)

  • ·

 

k=ω

δk

ij

 

−1

. Then rij =

  • a

ma

ij = 1 −

  • a=ω

ma

ij +

  • a=ω

ma

ij = 1.

slide-19
SLIDE 19

How to fake the proofs

Proof of Knowledge of x:

Peggy Victor Secret : x Public : g, v = gx g z = gr 1 : z

  • c

2 : c

  • s = r + c · x

3 : s

  • Check :

gs

?

== z · vc

slide-20
SLIDE 20

How to fake the proofs

Proof of Knowledge of x:

Peggy Victor Secret : x Public : g, v = gx g z = gr 1 : z

  • c

2 : c

  • s = r + c · x

3 : s

  • Check :

gs

?

== z · vc

gs = gr+c·x = gr · gx·c = z · vc

slide-21
SLIDE 21

How to fake the proofs

Proof of Knowledge of (1 − x) using Proof of Knowledge of x:

Peggy Mallory Victor Secret : x Public : g, v = gx g, w = gv−1 = g1−x g z = gr 1 : z

y = z−1

1′ : y

  • c

2 : c

  • c

2′ : c

  • s = r + c · x

3 : s

u = c − s

3′ : u

  • Check :

gs

?

== z · vc gu

?

== y · wc

slide-22
SLIDE 22

How to fake the proofs

Proof of Knowledge of (1 − x) using Proof of Knowledge of x:

Peggy Mallory Victor Secret : x Public : g, v = gx g, w = gv−1 = g1−x g z = gr 1 : z

y = z−1

1′ : y

  • c

2 : c

  • c

2′ : c

  • s = r + c · x

3 : s

u = c − s

3′ : u

  • Check :

gs

?

== z · vc gu

?

== y · wc

gu = gc−s = gc−r−c·x = g−r+(1−x)·c = g−r · g(1−x)·c = y · wc

slide-23
SLIDE 23

How to invert f

  • Bug in the O(nk2) algorithm in the paper, corrected version in

O(n2k2) in technical report [DDL12]

  • With optimizations in O(nk)
  • Prototype implementation:

1e-05 0.0001 0.001 0.01 0.1 1 10 100 1000 10000 1000 2000 3000 4000 5000 6000 7000 8000 9000 Time (s) bids Parallel Brandt with OMP on an Intel Xeon E5-4620, 32x2.2GHz 32 cores Brandt-32 bidders Sequential Winner-32 bidders Sequential Attack-32 bidders Counter Attack-32 bidders

slide-24
SLIDE 24

Privacy, second attack

Exploit the lack of authentication:

  • Target one bidder
  • Impersonate all other bidders
  • Resubmit the targeted bidder’s bid as their bids
  • Impersonate the seller
  • Obtain winning price=targeted bidder’s bid
slide-25
SLIDE 25

Verifiability

Verifiability:

  • No authentication of the bids, hence no verification who

actually submitted the bids

  • rij = 0 implies fij = 1, hence several “winners” possible
  • Partial decryption phase: Need to prove the use of the correct

key, otherwise “nobody wins”

slide-26
SLIDE 26

Other attacks

  • Non-repudiation: Lack of authentication
  • Fairness: An attacker can impersonate all bidders, hence

controlling winner and winning price.

slide-27
SLIDE 27

How to fix the protocol

Countermeasures against the identified issues:

  • Use of non-interactive or non-malleable zero-knowledge proofs
  • Authentication of all messages
  • Bidders need to prove that the value xa they use to decrypt is

the same they used to generate their public key

  • When computing the γa

ij and δa ij the bidders can check if the

product is equal to one – if yes, they restart the protocol using different keys and random values

slide-28
SLIDE 28

Plan

1 Introduction 2 Brandt’s Fully Private Auction Protocol 3 Analysis & Results 4 Conclusion

slide-29
SLIDE 29

Conclusion

  • Analyzed Brandt’s Fully Private Auction Protocol
  • Completely distributed protocol designed for high privacy
  • However: No authentication of the messages
  • Attacks on Verifiability, Privacy, Fairness and Non-Repudiation
  • Malleable ZKPs allow for an efficient attack on privacy
  • Corner cases can lead to unexpected results, but are detectable
  • Proposed four simple fixes
slide-30
SLIDE 30

Thank you for your attention!

Questions? jannik.dreier@imag.fr

slide-31
SLIDE 31

Felix Brandt. How to obtain full privacy in auctions. International Journal of Information Security, 5:201–216, 2006. Jannik Dreier, Jean-Guillaume Dumas, and Pascal Lafourcade. Attacking privacy in a fully private auction protocol. CoRR, abs/1210.6780, 2012.

slide-32
SLIDE 32

Protocol description I

Let Gq be a multiplicative subgroup of order q, prime, and g a generator of the group. We consider that i, h ∈ {1, . . . , n}, j, bida ∈ {1, . . . , k} (where bida is the bid chosen by the bidder with index a), Y ∈ Gq \ {1}. More precisely, the n bidders execute the following five steps of the protocol:

1 Key Generation

Each bidder a, whose bidding price is bida among {1, . . . , k} does the following:

  • chooses a secret xa ∈ Z/qZ
  • chooses randomly ma

ij and raj ∈ Z/qZ for each i and j.

  • publishes ya = g xa and proves the knowledge of ya’s discrete

logarithm.

  • using the published yi then computes y = n

i=1 yi.

slide-33
SLIDE 33

Protocol description II

1 Bid Encryption

Each bidder a

  • sets baj =
  • Y

if j = bida 1

  • therwise
  • publishes αaj = baj · y raj and βaj = g raj for each j.
  • proves that for all j, logg(βaj) equals logy(αaj) or logy

αaj

Y

  • ,

and that logy k

j=1 αaj

Y

  • = logg

k

j=1 βaj

  • .

2 Outcome Computation

  • Each bidder a computes and publishes for all i and j:

γa

ij =

n

h=1

k

d=j+1 αhd

  • ·

j−1

d=1 αid

  • ·

i−1

h=1 αhj

ma

ij

δa

ij =

n

h=1

k

d=j+1 βhd

  • ·

j−1

d=1 βid

  • ·

i−1

h=1 βhj

ma

ij

and proves its correctness.

slide-34
SLIDE 34

Protocol description III

1 Outcome Decryption

  • Each bidder a sends φa

ij = (n h=1 δh ij)xa for each i and j to the

seller and proves its correctness. After having received all values, the seller publishes φh

ij for all i, j, and h = i.

2 Winner determination

  • Everybody can now compute vaj =

n

i=1 γi aj

n

i=1 φi aj for each j.

  • If vaw = 1 for some w, then the bidder a wins the auction at

price pw.

slide-35
SLIDE 35

Timings I

1e-05 0.0001 0.001 0.01 0.1 1 10 100 1000 1000 2000 3000 4000 5000 6000 7000 8000 9000 Time (s) bids Parallel Brandt with OMP on an Intel Xeon E5-4620, 32x2.2GHz 32 cores Brandt-16 bidders Sequential Winner-16 bidders Sequential Attack-16 bidders Counter Attack-16 bidders

slide-36
SLIDE 36

Timings II

1e-05 0.0001 0.001 0.01 0.1 1 10 100 1000 10000 1000 2000 3000 4000 5000 6000 7000 8000 9000 Time (s) bids Parallel Brandt with OMP on an Intel Xeon E5-4620, 32x2.2GHz 32 cores Brandt-32 bidders Sequential Winner-32 bidders Sequential Attack-32 bidders Counter Attack-32 bidders

slide-37
SLIDE 37

Timings III

0.0001 0.001 0.01 0.1 1 10 100 1000 10000 1000 2000 3000 4000 5000 6000 7000 8000 9000 Time (s) bids Parallel Brandt with OMP on an Intel Xeon E5-4620, 32x2.2GHz 32 cores Brandt-64 bidders Sequential Winner-64 bidders Sequential Attack-64 bidders Counter Attack-64 bidders