ccc event blog - dcnetworks – the protocol · 2016-11-23 · 28 dcnetworks the protocol threshold...

31
Immanuel Scholz DC-Networks – The Protocol

Upload: others

Post on 03-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

Immanuel Scholz

DC­Networks – The Protocol

Page 2: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  2

DC­Networks ­ The Protocol

toc

Introduction

Time

Excluding bad clients

Key Exchange

On­demand disclosure

Literature

Page 3: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  3

DC­Networks ­ The Protocol

Introduction

Page 4: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  4

DC­Networks ­ The Protocol

Is the meal paid by one of the cryptographers?

Bob

Alice Charlie

kab

key exchange

−kab

key exchange

kbc

−kbc

key exchange−kackac

Introduction

Page 5: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  5

DC­Networks ­ The Protocol

Is the meal paid by one of the cryptographers?

Bob

Alice Charlie

key exchange key exchange

key exchange

kab

−kab kbc

−kbc

−kackac

Introduction

Bob:

−kabkbcmbob

Alice:

kabkacmalice

Charlie:

−kac−kbcmcharlie

Everybody:kabkacmalice−kabkbcmbob−kac−kbcmcharlie

=malicembobmcharlie

Page 6: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  6

DC­Networks ­ The Protocol

Remember the one­time­pad

If an attacker knows   and if k is random, he doesnot learn anything about m

In other words: Key k “hides” the cleartext m

km

km

Introduction

Page 7: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  7

DC­Networks ­ The Protocol

Bob does not learn anything

Bob

Alice Charlie

key exchange key exchange

key exchange

kab

−kab kbc

−kbc

−kackac

Introduction

Bob:

−kabkbcmbob

Alice:

kabkacmalice

Charlie:

−kac−kbcmcharlie

Bob can learn:

kacmalice  and −kacmcharlie

Page 8: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  8

DC­Networks ­ The Protocol

Sender and receiver anonymity

Everybody exchanges keys with everybody

Sender Anonymity

Everybody gets every message

Receiver Anonymity

Introduction

Page 9: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  9

DC­Networks ­ The Protocol

Time

Page 10: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  10

DC­Networks ­ The Protocol

Rounds, separated by ticks

In each round, each client needs to:

Get the list of all participants (may have changed)

Prepare and send the new message

Get the message of the last round

Know, that all others have received the message of the last round

Time

Page 11: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  11

DC­Networks ­ The Protocol

The protocol

Time

Tick TickRound

Client

get participants

sendreceive message 

add all keys

receive confirmationthat othersgot message

Server

Page 12: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  12

DC­Networks ­ The Protocol

Timing attack

Attacker knows who sends at which time

A client answering too fast did not send the answer

Alice

"Everything understandable?"

"No, the lecturer sucks!!1!"

Aliceotherparticipants

too short for human reaction

otherparticipants

Time

Page 13: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  13

DC­Networks ­ The Protocol

Timing attack

Solution: Server return message after client sends

All clients receive messages delayed at least one round

Nice side effects:

Only client → server communication (“firewall­proof”)

Client receives implicit confirmation(or else last round message is broken)

Time

Page 14: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  14

DC­Networks ­ The Protocol

The protocol

Time

Tick TickRound

Client

get participants

send

add all keys

receive message =confirmation

Tick

receive message =confirmationof last round

sendnextround

get participants

add all keys

Round

Page 15: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  15

DC­Networks ­ The Protocol

Excluding bad clients

Page 16: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  16

DC­Networks ­ The Protocol

Broken and malicious clients

Broken clients

Server logs out any client that did not send

Ban lists, reputation systems etc...

Malicious clients

Anonymous reservation scheme and trap messages

Google “DSuKrypt.pdf”, page 191­192, 202­203

Excluding bad clients

Page 17: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  17

DC­Networks ­ The Protocol

Key Exchange

Page 18: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  18

DC­Networks ­ The Protocol

Remember: Diffie & Hellman

Key Exchange

Serverp,q

Alice Bob

choose xalice choose xbob

qxalicemodp qxbobmodppublish

kab=qxbobxalice=qxalice xbob kab=qxalice

xbob=qxalicexbob

Page 19: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  19

DC­Networks ­ The Protocol

Diffie & Hellman

No direct client to client communication needed

Complete key graph

Easy distribution

Exchange seeds for random number generator

Unfortunately, keys become “provable”

But: Clients can always exchange real one­time­pads(they even do not have to tell the server)

Key Exchange

Page 20: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  20

DC­Networks ­ The Protocol

On­demand disclosure

Page 21: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  21

DC­Networks ­ The Protocol

Original scheme by David Chaum

Participants sign round keys

Alice and Bob exchange their signatures

In case of “disclosure”, all participants publish their keys

Alice verifies Bob's key and vice versa

On­demand disclosure

Page 22: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  22

DC­Networks ­ The Protocol

"Watchmen" scheme

n predefined watchmen may work together to disclose sender

Client splits round key into n parts

Send one part to each watchman

In case of “disclosure”, all watchmen post their parts to reconstruct the round key

On­demand disclosure

Page 23: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  23

DC­Networks ­ The Protocol

How to split a key

On­demand disclosure

How to split a key k  into n parts k1  to kn?Generate n−1 independent random numbers r1 to rn−1

ki=r i  for all but kn

kn=k∑i=1

n−1

−r i

To join parts together, add them

∑i=1

n

ki  =∑i=1

n−1

kikn  =∑i=1

n−1

r ik∑i=1

n−1

−r i  =k

Page 24: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  24

DC­Networks ­ The Protocol

Split keys to Dickens and Elisa

Bob

Alice Charlie

On­demand disclosure

Dickens Elisa

r a

kabkac−rar c

−kac−kbc−r c

r b −kabkbc−r b

Page 25: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  25

DC­Networks ­ The Protocol

Split keys to Dickens and Elisa

Bob

Alice Charlie

On­demand disclosure

Dickens ElisaDickens says:

r ar br c

Elisa says:

kabkac−r a−kabkbc−r b−kac−kbc−r c

=−r a−r b−rc

Everyone:

0

Page 26: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  26

DC­Networks ­ The Protocol

Why do the watchmen learn nothing?

The first          watchmen receive random numbers. Obviously, they learn nothing about k

 

The published valuesonly consist of random numbers

On­demand disclosure

k∑i=1

n−1

−r i  is a one­time­pad with ∑i=1

n−1

−r i  as key

n−1

r arbr c  and −r a−rb−r c

Page 27: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  27

DC­Networks ­ The Protocol

Problem: Conspiration

Alice and Bob exchange an additional key

They add       to their round message, but not to the key sent to Dickens and Elisa

Sum of Dickens and Elisa is still 0

On “disclosure”, both round keys from Alice and Bob mismatch (by       resp.        )

Of course, both could be considered “bad guys”

On­demand disclosure

lab

lab

lab −lab

Page 28: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  28

DC­Networks ­ The Protocol

Threshold secret sharing scheme

Reduce number of watchmen necessary for disclosure, e.g. “5 out of 10”

Google “DSuKrypt.pdf”, page 131­133

Using Adi Shamirs polynomial interpolation, some restrictions occur

All participants must use same set of watchmen (may be necessary anyway)

Each watchman must get the same x­coordinates from every participant

On­demand disclosure

Page 29: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  29

DC­Networks ­ The Protocol

Comparison

Comparing the disclosure scheme by David Chaum:

Both schemes are insecure against conspirations

Using watchmen, a conspiration can not be formed after the message is published

Using watchmen, no communication to the participants needed after message is published

The disclosure can be kept secret

On­demand disclosure

Page 30: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  30

DC­Networks ­ The Protocol

Serverless

Why do we need a server at all?

Participants publish their rounds on MySpace, Blog, Forum etc.

Login by invitation: Someone send the new participants DH­key + Publishing URL within the DC­Network

Auto­Logout by “not publishing once”

Who is going to do the data retention? ;­)

On­demand disclosure

Page 31: CCC Event Blog - DCNetworks – The Protocol · 2016-11-23 · 28 DCNetworks The Protocol Threshold secret sharing scheme Reduce number of watchmen necessary for disclosure, e.g

  31

DC­Networks ­ The Protocol

Thanks

Interesting stuff:D.Chaum, “The Dining Cryptographers Problem: Unconditional Sender and Recipient Untraceability”(Journal of Cryptology, vol. 1 no. 1, 1988, pp. 65­75 or http://www.cs.cornell.edu/People/egs/herbivore/dcnets.html)

A.Pfitzmann, “Datensicherheit und Kryptographie”(http://dud.inf.tu­dresden.de/~pfitza/DSuKrypt.html, pp 176­199 and 123­125. German language)

Literature