K e e p i n g A u t h o r i t i e s Honest or Bust with - - PowerPoint PPT Presentation

k e e p i n g a u t h o r i t i e s honest or bust with
SMART_READER_LITE
LIVE PREVIEW

K e e p i n g A u t h o r i t i e s Honest or Bust with - - PowerPoint PPT Presentation

K e e p i n g A u t h o r i t i e s Honest or Bust with Decentralized Witness Cosigning Ewa Syta, Iulia Tamas, Dylan Visher, David Isaac Wolinsky Yale University Philipp Jovanovic, Linus Gasser, Nicolas Gailly, Ismail Khofg, Bryan Ford


slide-1
SLIDE 1

Keeping Authorities “Honest or Bust” with Decentralized Witness Cosigning

Ewa Syta, Iulia Tamas, Dylan Visher, David Isaac Wolinsky – Yale University Philipp Jovanovic, Linus Gasser, Nicolas Gailly, Ismail Khofg, Bryan Ford – Swiss Federal Instjtute of Technology Lausanne (EPFL)

IEEE Security & Privacy – May 24, 2016

slide-2
SLIDE 2

We depend on many authorities

Conceptually simple but security-critjcal services

  • Time Services (NTP)
  • Digital Notaries
  • Naming Authorites
  • Certjfjcate Authoritjes
  • Randomness Authoritjes (e.g., Lotueries)
  • Sofuware Update Services
slide-3
SLIDE 3

But are authorities trustworthy?

slide-4
SLIDE 4

But are authorities trustworthy?

slide-5
SLIDE 5

But are authorities trustworthy?

slide-6
SLIDE 6

But are authorities trustworthy?

slide-7
SLIDE 7

Talk Outline

  • The trouble with trustjng authoritjes
  • Grand challenge: decentralize the authoritjes!
  • Baby step: decentralized witness cosigning
  • CoSi: scalable collectjve Schnorr/Ed25519 signatures
  • Experimental evaluatjon: scalability, signature size
  • Comparison with prior transparency approaches
  • Status, future work, and conclusions
slide-8
SLIDE 8

Deep Dependence on Authorities

Alice Browse Web Send Text-Message Software download, update Bob Get Time

How does an Internet client name and authenticate sites, services, users, software?

slide-9
SLIDE 9

Deep Dependence on Authorities

Alice

?

What is:

  • The current time?
  • Amazon's SSL public key?
  • Bob's IM public key?
  • Latest version of App?

Respect my Authoritah!

Bob

slide-10
SLIDE 10

Authorities Make & Sign Statements

Alice Bob “Bob's public key is Y.” “The time is 3PM.” “Amazon’s public key is X.” “The hash of latest iOS is Z.”

slide-11
SLIDE 11

Problem #1: Authority Compromise

Alice

Fake Fake Bob Fake

Bob

Fake

  • MITM attack

websites

  • Impersonate

users

  • Send malicious

updates

slide-12
SLIDE 12

Problem #2: Weak Links

Clients ofuen depend on many authoritjes: e.g., hundreds of CAs trusted by web browsers

  • Any CA can issue cert

for any domain name Atuacker ofuen needs to compromise only one

  • Weakest-link security
  • @#$% happens

– DigiNotar,

Comodo, CNNIC/MCS

slide-13
SLIDE 13

Problem #3: Secret Key Portability

  • Atuacker need not

compromise authority “in-place”

  • Instead steal

the authority's secret key

– Use it to create

an “evil twin”

  • n atuacker's turf

– Avoid detectjon

by confjning use to specifjc targets

– Block targets from

reportjng to real authority

Freetopia Tyrannia

Fake Fake Bob Fake Fake

slide-14
SLIDE 14

Problem #4: Everybody Wants In

Hackers, organized crime, governments…

slide-15
SLIDE 15

Problem #4: Everybody Wants In

Hackers, organized crime, governments…

slide-16
SLIDE 16

Talk Outline

  • The trouble with trustjng authoritjes
  • Grand challenge: decentralize the authoritjes!
  • Baby step: decentralized witness cosigning
  • CoSi: scalable collectjve Schnorr/Ed25519 signatures
  • Experimental evaluatjon: scalability, signature size
  • Comparison with prior transparency approaches
  • Status, future work, and conclusions
slide-17
SLIDE 17

What To Do?

We have to assume that no individual…

  • Hardware platgorm
  • Sofuware system
  • System/network administrator
  • Authoritatjve organizatjon

…is invulnerable to compromise (or coercion)

slide-18
SLIDE 18

Decentralize the Authorities!

Split trust across independent partjes

  • So system resists compromise by individuals
  • From weakest-link to strongest-link security
  • Decentralized resistance to failure, coercion
slide-19
SLIDE 19

Example: Tor Directory Authority

Split across ~10 servers – but is this enough?

  • Could atuacker hack or coerce ~5 operators?

(image credit: Jordan Wright)

slide-20
SLIDE 20

Trust-splitting needs to scale

Weakest-link: T = 1 Strongest-link: T = 2-10 Collective authorities: T = 100s,1000s

slide-21
SLIDE 21

Trust-splitting needs to scale

Must incorporate all diversity that makes sense

  • Not just ~10 partjes “picked by someone”

Could we decentralize…

  • TLS certjfjcate validatjon and signing

across the hundreds of certjfjcate authoritjes?

  • DNSSEC root zone maintenance and signing

across the 1000+ worldwide TLD operators?

  • A natjonal cryptocurrency

across the thousands of US natjonal banks? Make overall security grow as scale increase?

slide-22
SLIDE 22

Talk Outline

  • The trouble with trustjng authoritjes
  • Grand challenge: decentralize the authoritjes!
  • Baby step: decentralized witness cosigning
  • CoSi: scalable collectjve Schnorr/Ed25519 signatures
  • Experimental evaluatjon: scalability, signature size
  • Comparison with prior transparency approaches
  • Status, future work, and conclusions
slide-23
SLIDE 23

Not Gonna Happen Overnight…

slide-24
SLIDE 24

A First Step: Transparency

More readily achievable near-term

  • Who watches the watchers?

Public witnesses! Ensure that any authoritatjve statement:

  • Is exposed to public scrutjny
  • Conforms to checkable standards

before clients will accept statement Key: practjcal to “retrofjt” existjng authoritjes

Witnesses

Respect my Authoritah!

slide-25
SLIDE 25

Witnesses

Decentralized Witness Cosigning

Authority

“Bob's public key is Y.” “The time is 3PM.” “Amazon’s public key is X.” “The hash of latest iOS is Z.” Public Logs Alice

Verification: signed by authority and ≥T witnesses?

slide-26
SLIDE 26

Is the Signed Statement “Good”?

In general, witnesses don’t (and can’t) know for sure

  • Does public key X really belong to Bob?
  • Does sofuware image Y have a secret backdoor?

But witnesses can stjll ensure all signatures are public

  • If authority coerced or its keys used to produce

bad statement, atuacker can’t ensure its secrecy

– Backdoors possible but must “hide in plain sight”

  • Creates “Ulysses Pact” deterrent against coercion

– “the point…is to keep governments from even trying to

put secret pressure on tech companies, because the system is set up so that the secret immediately gets out”

  • Cory Doctorow, 10-March-2016
slide-27
SLIDE 27

Talk Outline

  • The trouble with trustjng authoritjes
  • Grand challenge: decentralize the authoritjes!
  • Baby step: decentralized witness cosigning
  • CoSi: scalable collectjve Schnorr/Ed25519 signatures
  • Experimental evaluatjon: scalability, signature size
  • Comparison with prior transparency approaches
  • Status, future work, and conclusions
slide-28
SLIDE 28

Setup: Keypairs and CoSi Groups

Individual Keypairs: Standard Schnorr (Ed25519)

  • Private key: k
  • Public key: K = gk

CoSi group: List of public keys

  • K1, K2, …, KN

Assumptjons:

  • Verifjer has full list

– (nonessentjal)

  • All keys self-signed

– (important to avoid

related-key atuacks)

slide-29
SLIDE 29

Schnorr Signature

  • Generator g of prime order q group
  • Public/private key pair: (K=gk, k)

Signer Verifjer

Commitment Challenge Response V=gv r = (v – kc) c = H(M|V) Commitment recovery Challenge recovery Decision V' = grKc c’ = H(M|V’) c’ = c ? Signature on M: (c, r) = gv-kcgkc = gv = V V c r

slide-30
SLIDE 30

Schnorr Multisignature

  • Key pairs: (K1=gk1, k1) and (K2=gk2, k2)

Signer 1 Verifjer

Commitment Challenge Response V1=gv1 r1 = (v1 – k1c) c = H(M|V1) Commitment recovery Challenge recovery Decision V' = grKc c’ = H(M|V’) c’ = c ? Signature on M: (c, r) V1 c r1 c = H(M|V) V2 r2

Signer 2

r2 = (v2 – k2c) V2=gv2 c Signature on M: (c, r1) K=K1*K2 V=V1*V2 r=r1+r2 Same signature! Same verifjcatjon! Done once!

slide-31
SLIDE 31

CoSi Protocol Signing Rounds

  • 1. Announcement Phase
  • 2. Commitment Phase
  • 3. Challenge Phase
  • 4. Response Phase
slide-32
SLIDE 32

V3 = gv3, V3 = V3

CoSi Commit Phase

Tree computatjon of:

  • Commits Vi
  • Aggregate

commits Vi Collectjve challenge c is hash of aggregate commit

V4 = gv4, V4 = V4 V2 = gv2, V2 = V2V3V4 V1 = gv1, V1 = V1V2...VN Challenge c = H( )

slide-33
SLIDE 33

r3 = v3 - k3c, r3 = r3

CoSi Response Phase

Compute

  • Responses ri
  • Aggregate

responses ri Each (c,ri) forms valid partjal signature (c,r1) forms complete signature

r4 = v4 - k4c, r4 = r4 r2 = v2 - k2c, r2 = r2+r3+r4 r1 = v1 - k1c, r1 = r1+r2+...+rN

slide-34
SLIDE 34

Unavailable Witness Servers

Assume server failures are rare but non-negligible

  • Persistently bad servers get administratjvely booted

Exceptjons: If a server A is down, proceed anyway

  • Modifjed collectjve key: K’= K * K-1A
  • Modifjed commitment: V’= V * V-1A
  • Modifjed response: r’= r – rA

Verifjcatjon: CoSi signature includes roll-call bit-vector

  • Enables verifjer to recompute modifjed public key K’
  • Can use any criteria to decide if “too many” missing
slide-35
SLIDE 35

Variations (see paper for details)

  • Complex/contextual verifjcatjon predicates

– Witness subgroups, weights, expressions, …

  • Minimizing cothority certjfjcate size

– Via Merkle key-trees

  • Toleratjng network churn

– Via binomial swap forests (Cappos, San Fermin)

  • Toleratjng cosigner churn

– Avoiding restarts via commit trees

  • Single-pass CoSi for asynchronous networks

– Via BLS signatures, opportunistjc signature combining

slide-36
SLIDE 36

Talk Outline

  • The trouble with trustjng authoritjes
  • Grand challenge: decentralize the authoritjes!
  • Baby step: decentralized witness cosigning
  • CoSi: scalable collectjve Schnorr/Ed25519 signatures
  • Experimental evaluatjon: scalability, signature size
  • Comparison with prior transparency approaches
  • Status, future work, and conclusions
slide-37
SLIDE 37

Experimental Evaluation

Experiments run on DeterLab network testbed

– Up to 32,768 virtual CoSi witnesses – Multjplexed atop up to 64 physical machines

  • introduces oversubscriptjon overhead, unfortunately
  • Conservatjve results, likely worse than “real” deployment

– Impose 200ms roundtrip latencies between all servers

  • to simulate globally-distributed witness group

Future: deploy, evaluate at scale on “real Internet”

– Evaluate impact of high node, network churn – See paper for approaches to handling if/when needed

slide-38
SLIDE 38

Results: Collective Signing Time

slide-39
SLIDE 39

Results: Verification Cost

slide-40
SLIDE 40

Results: Collective Signature Size

Ed25519: up to 512x smaller than N signatures

slide-41
SLIDE 41

Talk Outline

  • The trouble with trustjng authoritjes
  • Grand challenge: decentralize the authoritjes!
  • Baby step: decentralized witness cosigning
  • CoSi: scalable collectjve Schnorr/Ed25519 signatures
  • Experimental evaluatjon: scalability, signature size
  • Comparison with prior transparency approaches
  • Status, future work, and conclusions
slide-42
SLIDE 42

The Transparency Challenge

Alice

Respect my Authoritah!

Bob

Fake Fake Bob Fake

slide-43
SLIDE 43

Existing Transparency Solutions

Alice

Respect my Authoritah!

Bob Witnesses public logs monitors auditors

  • Perspectives
  • Certificate Transparency
  • AKI, ARPKI
  • CONIKS

!! !! !! !!

slide-44
SLIDE 44

Freetopia

An Important Assumption

Alice

Respect my Authoritah!

Bob Witnesses public logs monitors auditors

Takes time, may compromise alice's privacy Assumes Alice can, and is willing to, gossip with witnesses

slide-45
SLIDE 45

Tyrannia Freetopia

A Different Scenario

Alice

Respect my Authoritah!

Bob Witnesses public logs monitors auditors

  • Gen. Rex

Fake CA Fake Log

slide-46
SLIDE 46

Gossip versus Collective Signing

Gossip can't protect Alice if she...

  • Can't (because she's in Tyrannia)
  • Doesn't want to (for privacy), or
  • Doesn't have tjme to

cross-check each authoritatjve statements. Collectjve signing proactjvely protects her from secret atuacks even via her access network.

  • Atuacker can't secretly produce valid signature
slide-47
SLIDE 47

An “Extreme” Scenario

What if an atuacker controls the target device, wants to secretly coerce the device’s vendor to sign a back-doored operatjng system image?

  • A phone sealed in a forensics lab can’t gossip!

– Certjfjcate Transparency can’t reveal its existence

  • Only protectjon is to bind the transparency

proactjvely into the device-verifjed signature

slide-48
SLIDE 48

Talk Outline

  • The trouble with trustjng authoritjes
  • Grand challenge: decentralize the authoritjes!
  • Baby step: decentralized witness cosigning
  • CoSi: scalable collectjve Schnorr/Ed25519 signatures
  • Experimental evaluatjon: scalability, signature size
  • Comparison with prior transparency approaches
  • Status, future work, and conclusions
slide-49
SLIDE 49

Prototype available; give it a try!

Go to htups://github.com/dedis/cosi

  • Binaries: see releases
  • Source: go get -u github.com/dedis/cosi

cosi sign -g group.toml -o sig msg_fjle cosi verify -g group.toml -s sig msg_fjle Run your own witness server: cosi server Standalone verifjers for C, Go – see README

slide-50
SLIDE 50

Status, Incremental Deployment

Stjll experimental! But…

  • DEDIS lab commitued to supportjng,

assistjng with integratjon/deployment efgorts

  • Don’t want to trust collectjve signatures yet?

Add in extension fjeld alongside individual sig

  • Don’t want to trust protocol, server liveness?

Fork/exec ‘cosi sign’, set tjmer, kill if needed

  • Don’t want to trust cosi sofuware?

Sandbox it! Needs almost nothing to run. Send feedback privately or discuss publicly on

htups://groups.google.com/forum/#!forum/cothority

slide-51
SLIDE 51

Other uses of collective signing

(credit: Tony Arcieri)

slide-52
SLIDE 52

Other uses of collective signing

“Enhancing Bitcoin Security and Performance with Strong Consistency via Collectjve Signing”

  • To appear at USENIX Security 2016
  • Drafu: htup://arxiv.org/abs/1602.06997

1 2 3

1 2 3 4 5

...

5-10 sec Bitcoin Cothority

Miner Witnesses

Key-Block Micro-Block depends on

6

Co-Signature

slide-53
SLIDE 53

Conclusion

Grand challenge: decentralize all the authoritjes! Practjcal baby step: decentralized witness cosigning

  • Ensures that for any signed statements that exists,

many partjes have witnessed, publicly logged it

– Protects even relying partjes that can’t gossip

  • Can incrementally add to existjng authoritjes
  • CoSi protocol scales to large witness groups

Available: htups://github.com/dedis/cosi Public questjon/answer, discussion forum:

htups://groups.google.com/forum/#!forum/cothority

slide-54
SLIDE 54

Scalable Collective Timestamping

Like classic digital tjmestamp services,

  • nly decentralized.
  • Each round (e.g., 10 secs):

1) Each server collects hashes, nonces to tjmestamp 2) Each server aggregates hashes into Merkle tree 3) Servers aggregate local trees into one global tree 4) Servers collectjvely sign root of global tree 5) Server give signed root + inclusion proof to clients

  • Clients verify signature + Merkle inclusion proof
slide-55
SLIDE 55

Verifiably Fresh Software Updates

Alice accepts only updates with fresh tjmestamp:

  • Knows update can't be an outdated version:

tree contains inclusion proof of her nonce

  • Knows update can't have targeted backdoor:

witness cothority ensures many partjes saw it

Fresh Update Authority

Witnesses Alice Software Update Merkle Tree Alice's nonce