From DNS to DPKI a.k.a. Why secure decentralized namespaces are the - - PowerPoint PPT Presentation

from dns to dpki
SMART_READER_LITE
LIVE PREVIEW

From DNS to DPKI a.k.a. Why secure decentralized namespaces are the - - PowerPoint PPT Presentation

From DNS to DPKI a.k.a. Why secure decentralized namespaces are the future A presentation by Greg Slepak at Greg Slepak @taoe ff ect DNSChain / DPKI okTurtles GroupIncome Espionage Group Currency Target Audience (You) Most of


slide-1
SLIDE 1

From DNS to DPKI

A presentation by Greg Slepak at

a.k.a. “Why secure decentralized namespaces are the future”

slide-2
SLIDE 2

Greg Slepak

@taoeffect

Espionage

  • kTurtles

GroupIncome

DNSChain / DPKI Group Currency

slide-3
SLIDE 3

Most of the crowd is in the systems and network administration corner, some in development […]

Target Audience (You)

— Ronny Lam, NLUUG

slide-4
SLIDE 4

Brief overview of problem

slide-5
SLIDE 5

Step 1

user types website domain, hits <Enter>

slide-6
SLIDE 6

Step 2

DNS → IP address IP address → certificate 🔓 certificate → SSL/TLS

slide-7
SLIDE 7

Step 2

DNS → IP address IP address → certificate 🔓 certificate → SSL/TLS

slide-8
SLIDE 8

Step 3

slide-9
SLIDE 9

Man-In-The-Middle Man-In-The-Middle

http://www.ietf.org/mail-archive/web/therightkey/current/msg00745.html

“More than 1200 root and intermediate CAs can currently sign certificates for any domain and be trusted by popular browsers.”

slide-10
SLIDE 10

Man-In-The-Middle Man-In-The-Middle

Is this legit? Yeah, totally! 😈 H T T P S / T L S / S S L ( S i m p l i f i e d )

slide-11
SLIDE 11

H T T P S / T L S / S S L ( S i m p l i f i e d )

Man-In-The-Middle Man-In-The-Middle

Yeah, totally! 😈

Is this message legit?

Is this legit?

slide-12
SLIDE 12

The Problem™

Let’s clearly define

slide-13
SLIDE 13

The Problem™

  • 2. Is there a good reason to trust those in (1)?
  • 1. Who can define your identity to strangers when you’re not there?
  • 3. Is the mechanism usable?
slide-14
SLIDE 14

Previous attempts at solving this problem…

Coming up: X.509, DNSSEC, Convergence, HPKP

slide-15
SLIDE 15

X.509

(we just covered it)

slide-16
SLIDE 16

DNSSEC

slide-17
SLIDE 17

DNSSEC

is complicated

slide-18
SLIDE 18
slide-19
SLIDE 19

“Against DNSSEC” — https://sockpuppet.org/blog/2015/01/15/against-dnssec/

— Thomas & Erin Ptacek

slide-20
SLIDE 20

DNSSEC

is unnecessary

slide-21
SLIDE 21

“Against DNSSEC” — https://sockpuppet.org/blog/2015/01/15/against-dnssec/

— Thomas & Erin Ptacek

slide-22
SLIDE 22

“It’s essentially removing the authenticity element from SSL and using the one from DNSSEC instead.” — Moxie

“SSL And The Future Of Authenticity” — https://moxie.org/blog/ssl-and-the-future-of-authenticity/

slide-23
SLIDE 23

DNSSEC

is broken

next slide might take a second to load…

slide-24
SLIDE 24

https://ianix.com/pub/dnssec-outages.html

slide-25
SLIDE 25

https://ianix.com/pub/dnssec-outages.html

slide-26
SLIDE 26

DNSSEC

is less secure than X.509

slide-27
SLIDE 27

“SSL And The Future Of Authenticity” — https://moxie.org/blog/ssl-and-the-future-of-authenticity/

(Registrars, TLDs, and ICANN) — Moxie

slide-28
SLIDE 28

https://sockpuppet.org/blog/2016/10/27/14-dns-nerds-dont-control-the-internet/

— Thomas & Erin Ptacek

slide-29
SLIDE 29

Convergence / Perspectives

is a real improvement, however…

slide-30
SLIDE 30
slide-31
SLIDE 31

“Rather than employing a traditionally hard-coded list of immutable CAs, Convergence allows you to configure a dynamic set of Notaries which use network perspective to validate your communication.” Misleading. 99.9% of users won’t know what notaries are or how to select them. In practice, there will be a hard-coded list of CAs. The improvement comes from the existence of consensus.

slide-32
SLIDE 32

“Rather than employing a traditionally hard-coded list of immutable CAs, Convergence allows you to configure a dynamic set of Notaries which use network perspective to validate your communication.” Misleading. 99.9% of users won’t know what notaries are or how to select them. In practice, there will be a hard-coded list of CAs. The improvement comes from the existence of consensus.

Consensus:

When a group of independent entities agree¹ on a decision (e.g. if a key is valid) by some voting threshold²

¹ The voting mechanism can be very different, but this idea is the same ² Typically greater than 50%. See:

https://groupincome.org/2016/06/what-makes-a-good-voting-system/ https://groupincome.org/2016/09/deprecating-mays-theorem/

slide-33
SLIDE 33

Convergence / Perspectives

is ineffective against server-side MITM

(nothing securing connection from notaries to server)

slide-34
SLIDE 34

is difficult to use

Pinning (HPKP/TACK)

slide-35
SLIDE 35

is ineffective against MITM on first visit

Pinning (HPKP/TACK)

slide-36
SLIDE 36

is broken for users with broken clocks

Pinning (HPKP/TACK)

slide-37
SLIDE 37

What are their answers to The Problem™?

slide-38
SLIDE 38

Answers to The Problem™

Who can define your identity? Reason to trust? Usable?

X.509

Governments, CAs None Yes

DNSSEC

Governments, registrars, TLDs, ICANN None No

Convergence

nation-state, colluding notaries Potential to choose consensus group Yes

HPKP

the CA you picked (if you picked one) TOFU-based, CA chosen by you No

(and hackers)

slide-39
SLIDE 39

New attempts! 😅🙍

Coming up: Certificate Transparency, Key Transparency, CONIKS, DPKI and SCP

slide-40
SLIDE 40

DPKI? What about DNSChain?

DNSChain paper + website Nov 2013

slide-41
SLIDE 41

DPKI? What about DNSChain?

HackerNews front page DNSChain paper + website Xmas day 2013 Nov 2013 0.0.1 Released Feb 2014 EFF CUP demo + video May 2014 June 2014 Onename's first blog post

slide-42
SLIDE 42

DPKI? What about DNSChain?

EFF CUP demo + video y 2014 June - … ongoing Ongoing collaboration with Namecoin & Onename June 2014 Onename's first blog post Sept 2014 Engadget & others
 cover DNSChain Nov 2014 Onename announces funding

slide-43
SLIDE 43

DPKI? What about DNSChain?

Nov 2014 Onename announces funding Jan 2015

  • kTurtles

Blockchain ID specification Feb 2015 Onename releases Blockstore Sept 2015 Blockstore migrates Namecoin to Bitcoin Feb 2015 DPKI paper at at Rebooting Web-of-Trust May 2016 Onename ➜ Blockstack + RWoT #2

slide-44
SLIDE 44

DPKI? What about DNSChain?

paper at t Rebooting rust May 2016 Onename ➜ Blockstack + RWoT #2 Oct 2016 “Slepak’s Triangle” (DCS Triangle) draft at RWoT #3 Aug 2016 One of DPKI co-authors announces uPort With even Microsoft exploring blockchain identity, the need for a blockchain-agnostic protocol, like DPKI, continues to grow

slide-45
SLIDE 45

Back to those new attempts!

slide-46
SLIDE 46

Long story short…

Google’s CT Google’s KT CONIKS DPKI

MITM-detection

🤕 🤕 ✅ ✅

MITM-prevention

❌ ❌ ✅ ✅

Internet scalable

✅ ✅ ✅ 🤕

Economically backed security

❌ ❌ ❌ ✅

Censorship resistant

🤕 ❌ ❌ ✅

DoS resistant

✅ 🤕 🤕 ✅

(*)

(*) MITM-prevention in CONIKS depends on novel zero-knowledge proof cryptography that few have verified. Assuming it Works As Advertised, and assuming gossip is successful, and assuming a single entity does not control the server and all messenger implementations using it, it should be capable of preventing MITM attacks. https://blog.okturtles.com/2017/02/coniks-vs-key-transparency-vs-certificate-transparency-vs-blockchains/

slide-47
SLIDE 47

Quick Lesson: Namespaces

slide-48
SLIDE 48

What is a namespace?

Alice Bob sue.com Bob

Data Key-Value Mapping

slide-49
SLIDE 49

Today DNS X.509 (This is why DNSSEC is unnecessary) Notice: neither DNS nor X.509 enforce unique key-value mapping.

  • dig apple.com can return

arbitrary results

  • CAs can issue arbitrary

certificates for the same domain There is no consensus on what the mapping should be!

slide-50
SLIDE 50

Today DNS X.509 (This is why DNSSEC is unnecessary) Notice: neither DNS nor X.509 enforce unique key-value mapping.

  • dig apple.com can return

arbitrary results

  • CAs can issue arbitrary

certificates for the same domain There is no consensus on what the mapping should be! Psst… You! (The person who registered it!)

Who should decide what the mapping should be?

slide-51
SLIDE 51

Centralized Namespaces Decentralized Namespaces vs

slide-52
SLIDE 52

Centralized Namespaces Decentralized Namespaces vs

  • Real ownership and

censorship-resistance

  • Who controls mappings?

You.

  • The Internet requires it
  • Who controls mappings? Not

you.

  • Incapable of providing
  • wnership of an identifier
  • Incapable of censorship-

resistance

* As long as they remain decentralized. See consensus capture.

* G l

  • b

a l G l

  • b

a l

slide-53
SLIDE 53

Zooko’s Triangle

Global Secure Human readable Possible to “square”?

slide-54
SLIDE 54

Decentralized Public Key Infrastructure (DPKI)

slide-55
SLIDE 55

DPKI

is different has to be different

slide-56
SLIDE 56

DPKI

because it recognizes consensus capture

slide-57
SLIDE 57

Consensus Capture

slide-58
SLIDE 58

Consensus Capture

👥 👥 👥 👥

Our consensus group:

slide-59
SLIDE 59

Consensus Capture

Consensus participants: 100%

slide-60
SLIDE 60

Consensus Capture

👥 👥 👥 👥 👥 👥

Consensus participants: 40%

slide-61
SLIDE 61

Consensus Capture

👥 👥 👥 👥 👥 👥 👥 👥 👥 👥 👥 👥

Consensus participants: 25%

slide-62
SLIDE 62

Consensus Capture

Consensus participants: 25%

slide-63
SLIDE 63

Consensus Capture

Consensus participants: 5%

slide-64
SLIDE 64

Consensus Capture

Consensus participants: 1%

slide-65
SLIDE 65

DCS Triangle

slide-66
SLIDE 66

https://okturtles.com/dcs

slide-67
SLIDE 67

https://okturtles.com/dcs

slide-68
SLIDE 68

Note: questionable threshold

https://okturtles.com/dcs

slide-69
SLIDE 69

DPKI

it does not specify consensus it is a protocol for consensus protocols

slide-70
SLIDE 70

DPKI in 2 Parts

slide-71
SLIDE 71

Part 1: DPKI namespaces

TLD .eth Consensus network/protocol .bit

slide-72
SLIDE 72

Part 1: DPKI namespaces

TLD .eth Consensus network/protocol Trust assumptions at each step.

For most users, this is the most dangerous step. Thin client needed, but most blockchains don’t yet have one. This is where DNSChain used to fit in, and still can, but if it doesn’t use a thin client then it’s not much different than Convergence This assumes consensus capture has not occurred. If it has, attacker is usually limited to censorship of identifier -> key binding, but a poorly designed protocol can allow more

slide-73
SLIDE 73

Part 2: Identifier lifecycle

👥 👦 👩 👪 👶

Loss/recovery

📲 💼 🖦

Additional devices More info: Rebooting Web-of-Trust

slide-74
SLIDE 74

Stellar Consensus Protocol (SCP)

slide-75
SLIDE 75

https://twitter.com/taoeffect/status/832284907342688256

slide-76
SLIDE 76

Danger! Don’t break the Internet!

slide-77
SLIDE 77

https://mailarchive.ietf.org/arch/msg/ilc/BmFgooRm5GikT6mwhx9yOZgL1G8

Email to IETF “Internet-level Consensus” group

slide-78
SLIDE 78

Email to IETF “Internet-level Consensus” group

https://mailarchive.ietf.org/arch/msg/ilc/BmFgooRm5GikT6mwhx9yOZgL1G8

slide-79
SLIDE 79

This is why DPKI explicitly allows arbitrary consensus protocols.

(As long as they fit the mathematical notion of decentralization.)

slide-80
SLIDE 80

Answers to The Problem™

Who can define your identity? Reason to trust? Usable?

CT

Governments, CAs Almost none Yes

KT

Key Server, app developer

Server: None

App dev: maybe you’ll find a good one

Yes

CONIKS

If correctly implemented, server can

  • nly censor, not define

TOFU-based, though gossip questionable Yes

SCP

Probably a cartel Maybe it will be a good cartel (?) Probably

DPKI

Your chosen delegates, and depends

  • n chosen namespace consensus

Many. See next slide. Yes

(and hackers)

slide-81
SLIDE 81

DPKI gives you reason to have faith in the lock icon

slide-82
SLIDE 82

DPKI gives you reason to have faith in the lock icon

  • Only decentralized namespaces allowed
  • Identity controlled by you
  • Spec requires decentralization at every point to minimize trust, including lookup
  • Spec requires private keys never be generated or stored on a server
  • Your choice of consensus system
slide-83
SLIDE 83

Potentially DPKI-friendly protocols and implementations

slide-84
SLIDE 84

Potentially DPKI-friendly

  • EIP 137 — Ethereum Domain Name Service¹
  • Blockstack
  • uPort
  • …More? Feel free to suggest!

¹ https://github.com/ethereum/EIPs/blob/master/EIPS/eip-137.md

slide-85
SLIDE 85

How to contribute

  • Read the DPKI paper
  • Attend Rebooting Web-of-Trust → weboftrust.info
  • No need to ask for permission to contribute, feel

free to pick up where we left off

  • Be friendly, ask questions!

And the DPKI issues in: github.com/WebOfTrustInfo/rebooting-the-web-of-trust