components for building secure decentralized networks · the gnu name system1 properties of gns i...

74
Components for Building Secure Decentralized Networks Christian Grothoff Technische Universit¨ at M¨ unchen 26.11.2013 “Never doubt your ability to change the world.” –Glenn Greenwald

Upload: others

Post on 26-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Components for Building Secure DecentralizedNetworks

Christian Grothoff

Technische Universitat Munchen

26.11.2013

“Never doubt your ability to change the world.” –Glenn Greenwald

Page 2: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Where We Are

Page 3: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Where We Are

Page 4: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

My Research and Development Agenda

Make decentralized systems:

I Faster, more scalable

I Easier to develop, deploy and use

I Easier to evolve and extend

I Secure (privacy-preserving, censorship-resistant, available, ...)

by:

I designing secure network protocols

I implementing secure software following and evolving bestpractices

I creating tools to support developers

Page 5: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNU Name SystemMesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 6: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNU Name SystemMesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 7: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNU Name SystemMesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 8: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNU Name SystemMesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 9: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNU Name System

Mesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 10: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNU Name SystemMesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 11: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNU Name SystemMesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 12: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNU Name SystemMesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 13: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

The GNU Name System1

Properties of GNS

I Decentralized name system with secure memorable names

I Delegation used to achieve transitivity

I Also supports globally unique, secure identifiers

I Achieves query and response privacy

I Provides alternative public key infrastructure

I Interoperable with DNS

Uses for GNS in GNUnet

I Identify IP services hosted in the P2P network

I Identities in social networking applications

1Joint work with Martin Schanzenbach and Matthias Wachs

Page 14: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Zone Management: like in DNS

Page 15: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Name resolution in GNS

Local Zone:

www A 5.6.7.8

Bob Bob's webserver

KBobpub

KBobpriv

I Bob can locally reach his webserver via www.gnu

Page 16: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Secure introduction

Bob Builder, Ph.D.

Address: Country, Street Name 23Phone: 555-12345 Mobile: 666-54321Mail: [email protected]

I Bob gives his public key to his friends, possibly via QR code

Page 17: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Delegation

I Alice learns Bob’s public key

I Alice creates delegation to zone bob

I Alice can reach Bob’s webserver via www.bob.gnu

Page 18: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Name Resolution

BobAlice

DHT

...

...

www A 5.6.7.8

8FS7

BobA47G

...

...

bob PKEY 8FS7

Alice

Page 19: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Name Resolution

BobAlice

DHTPUT 8FS7-www: 5.6.7.8

0

...

...

www A 5.6.7.8

8FS7

BobA47G

...

...

bob PKEY 8FS7

Alice

Page 20: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Name Resolution

www.bob.gnu ?1

BobAlice

DHTPUT 8FS7-www: 5.6.7.8

0

...

...

www A 5.6.7.8

8FS7

BobA47G

...

...

bob PKEY 8FS7

Alice

Page 21: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Name Resolution

www.bob.gnu ?1

BobAlice

DHT

'bob'?2

PUT 8FS7-www: 5.6.7.8

0

...

...

www A 5.6.7.8

8FS7

BobA47G

...

...

bob PKEY 8FS7

Alice

Page 22: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Name Resolution

www.bob.gnu ?1

BobAlice

DHT

'bob'?23 PKEY 8FS7!

PUT 8FS7-www: 5.6.7.8

0

...

...

www A 5.6.7.8

8FS7

BobA47G

...

...

bob PKEY 8FS7

Alice

Page 23: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Name Resolution

www.bob.gnu ?1

BobAlice

DHT

'bob'?23 PKEY 8FS7!

8FS7-www?4PUT 8FS7-www: 5.6.7.8

0

...

...

www A 5.6.7.8

8FS7

BobA47G

...

...

bob PKEY 8FS7

Alice

Page 24: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Name Resolution

www.bob.gnu ?1

BobAlice

DHT

'bob'?23 PKEY 8FS7!

8FS7-www?4

A 5.6.7.8!5

PUT 8FS7-www: 5.6.7.8

0

...

...

www A 5.6.7.8

8FS7

BobA47G

...

...

bob PKEY 8FS7

Alice

Page 25: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

GNS as PKI (via DANE/TLSA)

Page 26: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Query Privacy: Terminology

G generator in ECC curve, a point

n size of ECC group, n := |G |, n prime

x private ECC key of zone (∈ Zn)

P public key of zone, a point P := xG

l label for record in a zone (∈ Zn)

RP,l set of records for label l in zone P

qP,l query hash (hash code for DHT lookup)

BP,l block with information for label l in zone P publishedin the DHT under qP,l

Page 27: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Query Privacy: Cryptography

Publishing B under qP,l := H(dG )

h : = H(l ,P) (1)

d : = h · x mod n (2)

BP,l : = Sd(EHKDF (l ,P)(RP,l)), dG (3)

Searching for l in zone P

h = H(l ,P) (4)

qP,l = H(dG ) = H(hxG ) = H(hP)⇒ obtain BP,l (5)

RP,l = DHKDF (l ,P)(BP,l) (6)

Page 28: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Query Privacy: Cryptography

Publishing B under qP,l := H(dG )

h : = H(l ,P) (1)

d : = h · x mod n (2)

BP,l : = Sd(EHKDF (l ,P)(RP,l)), dG (3)

Searching for l in zone P

h = H(l ,P) (4)

qP,l = H(dG ) = H(hxG ) = H(hP)⇒ obtain BP,l (5)

RP,l = DHKDF (l ,P)(BP,l) (6)

Page 29: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYCGNS

Mesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 30: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

PSYC2 for GNUnet

Properties of PSYC2

I Extensible syntax and semantics: try-and-slice pattern

I Supports stateful multicast

Uses for PSYC2 in GNUnet

I P2P social networking foundation

I Push social profiles (state) to all recipients

I Replay from local database used as primary access method

I My data is stored on my machine

Page 31: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

The Evolution Challenge2

I Features are frequently added to social applications

I Some require changes (“extensions”) to data formats andmessages

I Centralized, browser-based networks can easily update to newversion

I Decentralized systems must transition gracefully

2Joint work with Carlo v. Loesch and Gabor Toth

Page 32: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Related Work: XML

I Extensible Markup Language

I Syntax is extensible

I Extensions have no semantics

Page 33: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

PSYC

We are working on PSYC2, the successor to PSYC:

I More compact, mostly human-readable, faster-to-parserelative of XML/JSON/XMPP

I PSYC messages consist of a state update and a methodinvocation

I PSYC includes interesting ideas for social networking:I Stateful multicastI HistoryI Difference-based updates

I PSYC addresses extensibility problem using try-and-slicepattern

Page 34: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

PSYC State: Example

The PSYC state is a set of key-value pairs where the names of keysuse underscores to create an inheritance relationship:

I name

I name first

I name first chinese

I address

I address street

I address country

The data format for each state is fixed for each top-level label.

Page 35: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

PSYC Methods: Example

A PSYC method has a name which follows the same structure askeys:

I message

I message private

I message public

I message public whisper

I message announcement

I message announcement anonymous

Methods have access to the current state and a per-message byte-stream.

Page 36: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

The Try-and-Slice Pattern

int msg (string method) {

while (1) {

switch (method) {

case "_notice_update_news": // handle news update

return 1;

case "_notice": // handle generic notice

return 1;

case "_message": // handle generic message

return 1;

// ...

}

int glyph = strrpos (method, ’_’);

if (glyph <= 1) break;

truncate (method, glyph);

}

}

Page 37: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Advantages of Try-and-Slice

I Extensible, can support many applications

I Can be applied to state and methodsI Defines what backwards-compatible extensibility means:

I Can incrementally expand implementations by deepeningcoverage

I Incompatible updates = introduce new top-level methods

Page 38: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

RegEx/PSYC

GNS

Mesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 39: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

RegEx Search for GNUnet

Properties of RegEx Search

I Capability discovery in DHT-based P2P networks usingregular expressions

I Linear latency in the length of the search string

I Suitable for applications that can tolerate moderate latency

Uses for RegEx in GNUnet

I Discovery of matching services, such as VPN exit nodes

I Topic-based subscriptions in messaging (decentralized MQTT)

Page 40: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Distributed Search via Regular Expressions: Idea3

1. Offerer creates regular expression describing service

2. Regular expression is compiled to a DFA

3. DFA is stored in the DHT

4. Patron matches using a string

Offerer Patron

PUT GET

DFA

DHT

Search string

NFA

3Joint work with Max Szengel, Ralph Holz, Bart Polot and HeikoNiedermayer

Page 41: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Problem: Mapping of States to Keys

Regular expression (ab|cd)e∗f and corresponding DFA

q0

a

c

(ab|cd)e* (ab|cd)e*fa

c d

bf

e

DHT

h("(ab|cd)e*")

h("(ab|cd)e*f")h("a")

h("c")

Page 42: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Problem: Merging of DFAs

Regular expressions (ab|cd)e∗f and (ab|cd)e∗fg∗ withcorresponding DFAs

q0

aa

cc (ab|cd)e*

b

d

e

(ab|cd)e*ff

q0

aa

cc (ab|cd)e*

b

d

e

(ab|cd)e*fg*f

g

Page 43: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Problem: Merging of DFAs

Merged NFA for regular expressions (ab|cd)e∗fg∗ and (ab|cd)e∗f

q0

aa

cc (ab|cd)e*

b

d

e

(ab|cd)e*ff

(ab|cd)e*fg*

f g

Page 44: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Problem: Decentralizing the Start State

Regular expression: abc∗defg∗h and k = 4.

abc*

cabc*defg*

def

g

abc*defg*hh

q0 ab

abcc

c

def

abcdef

abdef

Page 45: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Evaluation

I Implementation in GNUnet

I Profiling of Internet-scale routing using regular expressions todescribe AS address ranges

I CAIDA AS data set: Real AS data

Page 46: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Evaluation

AS 12816129.187.0.0/16131.159.0.0/16138.244.0.0/15138.246.0.0/16

...192.68.211.0/24192.68.212.0/22

Distributed Hash Table

AS 1000149.128.128.0/1961.195.240.0/20122.49.192.0/21123.255.240.0/21175.41.32.0/21202.75.112.0/20202.238.32.0/20210.48.128.0/21211.133.224.0/20219.124.0.0/20219.124.0.0/21219.124.8.0/21

AS 56357188.95.232.0/22192.48.107.0/24

AS 826591.223.12.0/24195.96.192.0/19195.96.192.0/24195.96.193.0/24195.96.194.0/23195.96.196.0/22195.96.200.0/22195.96.204.0/22195.96.208.0/21195.96.216.0/21

AS 5003857.236.47.0/2457.236.48.0/2457.236.51.0/24193.104.87.0/24

AS 82591.221.132.0/2491.221.133.0/24192.16.240.0/20

AS 32310204.94.175.0/24

AS 93146.183.152.0/21103.10.233.0/24186.233.120.0/21186.233.120.0/22186.233.124.0/22

AS 12812193.188.128.0/24193.188.129.0/24193.188.130.0/24193.188.131.0/24

AS 7212129.59.0.0/16160.129.0.0/16192.111.108.0/24192.111.109.0/24192.111.110.0/24199.78.112.0/24199.78.113.0/24199.78.114.0/24199.78.115.0/24

AS 1000261.114.64.0/2061.195.128.0/20120.50.224.0/19120.72.0.0/20

202.180.192.0/20

Page 47: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Evaluation: Results of Simulation (1)

Number of transitions and states in the merged NFA

400000

600000

800000

1000000

1200000

1400000

1600000

1800000

2000000

no compr. 2 4 6 8 16

# o

f tr

ansi

tio

ns

/ s

tate

s

Maximum path compression length

transitions states

Dataset: All 40, 696 ASes

Page 48: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Evaluation: Results of Simulation

Degree of non-determinism at states in the merged NFA

1

10

100

1000

10000

100000

1e+06

1e+07

1 2 3

# s

tate

s

degree of non-determinismmax path length 1max path length 2

max path length 4max path length 6

max path length 8max path length 16

Dataset: All 40, 696 ASes

Page 49: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Evaluation: Results of Simulation (3)

1e-06

1e-05

0.0001

0.001

0.01

0.1

1

1 10 100 1000 10000 100000

% o

f st

ates

>= k out degree

max. path compression length 6max. path compression length 8

max. path compression length 16

Dataset: All 40, 696 ASes

Page 50: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Evaluation: Results of Emulation

Search duration averaged over five runs with randomly connectedpeers.

0

10

20

30

40

50

60

70

80

90

100

0 5 10 15 20 25 30

% o

f m

atc

hed

str

ing

s

Search duration in seconds

1,000 peers2,000 peers4,000 peers

Page 51: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

News/Timeline

ScalarproductMesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 52: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Scalarproduct for GNUnet

Properties of SMC Scalarproduct

I Scalarproduct over map on intersecting sets, not just vectors

I Privacy-preserving (but need to limit number of interactions)

I Relatively efficient in bandwidth and CPU usage

Uses for Scalarproduct in GNUnet

I Collaborative filtering

I Maybe: collaborative attack detection

Page 53: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Background: Paillier

We use the Paillier cryptosystem:

EK (m) : = gm · rn mod n2, (7)

DK (c) : =(cλ mod n2)− 1

n· µ mod n (8)

where the public key K = (n, g), m is the plaintext, c the ciphertext,n the product of p, q ∈ P of equal length, and g ∈ Z∗n2 . The privatekey is (λ, µ), which is computed from p and q as follows:

λ : = lcm(p − 1, q − 1), (9)

µ : =

((gλ mod n2)− 1

n

)−1

mod n. (10)

Page 54: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Paillier offers additive homomorphism

Paillier offers additive homomorphic public-key encryption, that is:

EK (a)⊗ EK (b) ≡ EK (a + b) (11)

for some public key K .

Page 55: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Background: Secure Multiparty Computation

I Alice and Bob have private inputs ai and bi .

I Alice and Bob run a protocol to jointly calculate f (ai , bi ).

I One of them learns the result.

I Adversary model: honest but curious

Page 56: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Secure Scalar Product

I Original idea by Ioannids et al. in 2002 (use:(a− b)2 = a2 − 2ab + b2)

I Refined by Amirbekyan et al. in 2007 (corrected math)

I Implemented with practical extensions in GNUnet (negativenumbers, small numbers, concrete protocol, set intersection,implementation).

Page 57: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Preliminaries

I Alice has public key A and input map mA : MA → Z.

I Bob has public key B and input map mB : MB → Z.

I We want to calculate ∑i∈MA∩MB

mA(i)mB(i) (12)

I We first calculate M = MA ∩MB .

I Define ai := mA(i) and bi := mB(i) for i ∈ M.

I Let s denote a shared static offset.

Page 58: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Network Protocol

I Alice transmits EA(s + ai ) for i ∈ M to Bob.

I Bob creates two random permutations π and π′ over theelements in M, and a random vector ri for i ∈ M and sends

R : = EA(s + aπ(i))⊗ EA(s − rπ(i) − bπ(i)) (13)

= EA(2 · s + aπ(i) − rπ(i) − bπ(i)), (14)

R ′ : = EA(s + aπ′(i))⊗ EA(s − rπ′(i)) (15)

= EA(2 · s + aπ′(i) − rπ′(i)), (16)

S : =∑

(ri + bi )2, (17)

S ′ : =∑

r2i (18)

Page 59: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Decryption (1/3)

Alice decrypts R and R ′ and computes for i ∈ M:

aπ(i) − bπ(i) − rπ(i) = DA (R)− 2 · s, (19)

aπ′(i) − rπ′(i) = DA

(R ′)− 2 · s, (20)

which is used to calculate

T : =∑i∈M

a2i (21)

U : = −∑i∈M

(aπ(i) − bπ(i) − rπ(i))2 (22)

U ′ : = −∑i∈M

(aπ′(i) − rπ′(i))2 (23)

Page 60: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Decryption (2/3)

She then computes

P : = S + T + U

=∑i∈M

(bi + ri )2 +

∑i∈M

a2i +

(−∑i∈M

(ai − bi − ri )2

)=∑i∈M

((bi + ri )

2 + a2i − (ai − bi − ri )

2)

= 2 ·∑i∈M

ai (bi + ri ).

P ′ : = S ′ + T + U ′

=∑i∈M

r2i +

∑i∈M

a2i +

(−∑i∈M

(ai − ri )2

)=∑i∈M

(r2i + a2

i − (ai − ri )2)

= 2 ·∑i∈M

ai ri .

Page 61: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Decryption (3/3)

Finally, Alice computes the scalar product using:

P − P ′

2=∑i∈M

ai (bi + ri )−∑i∈M

ai ri =∑i∈M

aibi . (24)

Page 62: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Our Vision

Internet

Google/Facebook

DNS/X.509

TCP/UDP

IP/BGP

Ethernet

Phys. Layer

GNUnet

News/TimelineScalarproduct

Mesh (ECDHE+AES)

R5N DHT

CORE (ECDHE+AES)

HTTPS/TCP/WLAN/...

Page 63: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Future Work: Privacy-enhanced “Gossple”

1. Alice selects peers ⇒ Bob

2. Alice and Bob compute scalar product ⇒ similarity

3. Bob forwards news to Alice with ranking based on similarity

4. Alice constructs timeline, ranks news, and

5. adapts her forwarding (2) and peer selection (1)

Page 64: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Dimensions for ranking news quality

I Agreement (on opinion, highly subjective)

I Presentation (use of language, formatting, graphics)

I Accuracy (use of scientific method, well-sourced)

I Relevance (by topic ⇒ need tags)

Page 65: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Dimensions for ranking news quality

I Agreement (on opinion, highly subjective)

I Presentation (use of language, formatting, graphics)

I Accuracy (use of scientific method, well-sourced)

I Relevance (by topic ⇒ need tags)

Page 66: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Dimensions for ranking news quality

I Agreement (on opinion, highly subjective)

I Presentation (use of language, formatting, graphics)

I Accuracy (use of scientific method, well-sourced)

I Relevance (by topic ⇒ need tags)

Page 67: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Dimensions for ranking news quality

I Agreement (on opinion, highly subjective)

I Presentation (use of language, formatting, graphics)

I Accuracy (use of scientific method, well-sourced)

I Relevance (by topic ⇒ need tags)

Page 68: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Components for Future Work

I Efficient set intersection(current design: O(n log n) with O(log n) rounds)

I Secure decentralized random peer selection

I Tagging system

I Reputation system for authors

Page 69: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

More Open Issues

I Information leakage over time!

I Evaluation scenarios?

I Usability

I Social effects

Page 70: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Conclusion

I Decentralization is necessary

I Security and scalability are hard issues

We need to build systems that address both!

Page 71: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Do you have any questions?

References:I Glenn Greenwald and Ewen MacAskill. NSA Prism program taps in to user data of Apple, Google and

others. In The Guardian, June 7 2013.

I Nathan Evans and Christian Grothoff. R5N. Randomized Recursive Routing for Restricted-Route Networks.5th International Conference on Network and System Security, 2011.

I M. Schanzenbach Design and Implementation of a Censorship Resistant and Fully Decentralized NameSystem. Master’s Thesis (TUM), 2012.

I M. Szengel. Decentralized Evaluation of Regular Expressions for Capability Discovery in Peer-to-PeerNetworks. Master’s Thesis (TUM), 2012.

Page 72: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

GNUnet: Framework Architecture

fs

dht

core

datastore mesh

ats

blocknse datacache

peerinfo

hello

transport

exit

tun

vpn

regex

pt

dns

dv

set

gns

namestore

nat fragmentation

topology hostlist

consensus

Page 73: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

GNUnet: Envisioned Applications

secushare

psyc votinggns fs reuters

messaging multicast consensus

mesh

dotproduct core

regexdht

ats

set

vpn exit

Page 74: Components for Building Secure Decentralized Networks · The GNU Name System1 Properties of GNS I Decentralized name system with secure memorable names I Delegation used to achieve

Research Agenda

I Secure, scaleable multicast

I Practical secure multiparty computation

I Tool support for building distributed systems

I Secure routing, censorship circumvention