An analysis of the applicability of blockchain to secure IP - - PowerPoint PPT Presentation

an analysis of the applicability
SMART_READER_LITE
LIVE PREVIEW

An analysis of the applicability of blockchain to secure IP - - PowerPoint PPT Presentation

An analysis of the applicability of blockchain to secure IP addresses allocation, delegation and bindings draft-paillisse-sidrops-blockchain-01 OPSEC - IETF 101 - London March 2018 Jordi Pailliss , Albert Cabellos, Vina Ermagan, Alberto


slide-1
SLIDE 1

An analysis of the applicability

  • f blockchain to secure IP

addresses allocation, delegation and bindings

draft-paillisse-sidrops-blockchain-01

OPSEC - IETF 101 - London March 2018

Jordi Paillissé, Albert Cabellos, Vina Ermagan, Alberto Rodríguez, Fabio Maino

jordip@ac.upc.edu

http://openoverlayrouter.org

1

slide-2
SLIDE 2

A short Blockchain tutorial

2

slide-3
SLIDE 3

Blockchain - Introduction

  • Blockchain:

– Decentralized, secure and trustless database – Token tracking system (who has what)

  • Add blocks of data one after another
  • Protected by two mechanisms:

– Chain of signatures – Consensus algorithm

  • First appeared: Bitcoin, to exchange money
  • Other applications are possible

3

slide-4
SLIDE 4

Blockchain - Transactions

4

Sender’s Public Key Sender’s signature Transaction Data

slide-5
SLIDE 5

Blockchain - Transactions

5

Sender’s Public Key Sender’s signature Transaction Data Transactions are broadcasted to all the nodes

P2P network

1

slide-6
SLIDE 6

Blockchain - Transactions

6

Sender’s Public Key Sender’s signature Transaction Data Previous Hash

Transactions 1 ··· N Block

Transactions are broadcasted to all the nodes

2

A node collects transactions into a block

P2P network

1

slide-7
SLIDE 7

Blockchain - Transactions

7

Sender’s Public Key Sender’s signature Transaction Data Transactions are broadcasted to all the nodes

2

A node collects transactions into a block

3

Compute consensus algorithm

P2P network

1

Transactions 1’ ··· N’ New Block

Previous Hash

Transactions 1 ··· N Block

Previous Hash

slide-8
SLIDE 8

Blockchain - Transactions

8

Sender’s Public Key Sender’s signature Transaction Data Transactions are broadcasted to all the nodes

2

A node collects transactions into a block

P2P network

1 4

Broadcast new block to the network

3

Compute consensus algorithm

Transactions 1’ ··· N’ New Block

Previous Hash

Transactions 1 ··· N Block

Previous Hash

slide-9
SLIDE 9

Blockchain - Transactions

9

Sender’s Public Key Sender’s signature Transaction Data Transactions are broadcasted to all the nodes

2

A node collects transactions into a block

5

The other nodes verify the consensus algorithm and accept the block

P2P network

1 4

Broadcast new block to the network

3

Compute consensus algorithm

Transactions 1’ ··· N’ New Block

Previous Hash

Transactions 1 ··· N Block

Previous Hash

slide-10
SLIDE 10

Summary of features

Advantages

  • Decentralized
  • No CAs
  • Simplified management
  • Simple rekeying
  • Limited prior trust
  • Auditable
  • Censorship-resistant

Drawbacks

  • No crypto guarantees
  • Large storage
  • Costly bootstrapping

10

  • vs. traditional PKI systems
slide-11
SLIDE 11

Blockchain for IP addresses

11

slide-12
SLIDE 12

Data in the blockcahin

We want to store:

12

Prefix: 10/8 Holder: P+ IP address block + Holder IP address block + AS number Prefix: 10/8 AS#: 12345 Prefix: 10/8 Holder: P1+ Prefix: 10/8 Holder: P2+ Prefix: 10/8 Holder: P3+ Chain of allocations and delegations

new holder new holder

slide-13
SLIDE 13

IP addresses vs. coins

  • IP addresses = coins
  • Similar properties:

– Unique – Transferrable – Divisible

  • Exchange blocks of IP addresses just like

coins

13

slide-14
SLIDE 14

Example

14

slide-15
SLIDE 15

1 2 3

4 5 6

7 ... n n+1 n+2

blockchain

15

From: IANA To: IANA I have all prefixes

Allocation

slide-16
SLIDE 16

1 2 3

4 5 6

7 ... n n+1 n+2

blockchain

16

From: IANA To: IANA I have all prefixes From: IANA To: APNIC Prefix 1/8 for APNIC

Allocation Allocation

slide-17
SLIDE 17

1 2 3

4 5 6

7 ... n n+1 n+2

blockchain

17

From: IANA To: IANA I have all prefixes From: IANA To: APNIC Prefix 1/8 for APNIC From: APNIC To: ISP A ISP A has 1.2/16

Allocation Allocation Delegation

slide-18
SLIDE 18

1 2 3

4 5 6

7 ... n n+1 n+2

blockchain

18

From: IANA To: IANA I have all prefixes From: IANA To: APNIC Prefix 1/8 for APNIC From: APNIC To: ISP A ISP A has 1.2/16 From: ISP A To: ISP A Bind 1.2/16 to AS # 12345

Allocation Binding Allocation Delegation

slide-19
SLIDE 19

1 2 3

4 5 6

7 ... n n+1 n+2

blockchain Who has 1.2/16? AS# 12345

19

From: IANA To: IANA I have all prefixes From: IANA To: APNIC Prefix 1/8 for APNIC From: APNIC To: ISP A ISP A has 1.2/16 From: ISP A To: ISP A Bind 1.2/16 to AS # 12345

Allocation Binding Allocation Delegation

From: ISP A To: ISP A Bind 1.2/16 to AS # 12345

slide-20
SLIDE 20

1 2 3

4 5 6

7 ... n n+1 n+2

blockchain Who has 1.2/16? AS# 12345

20

From: IANA To: IANA I have all prefixes From: IANA To: APNIC Prefix 1/8 for APNIC From: APNIC To: ISP A ISP A has 1.2/16 From: ISP A To: ISP A Bind 1.2/16 to AS # 12345

Allocation Binding Allocation Delegation

From: ISP A To: ISP A Bind 1.2/16 to AS # 12345

I can go back to check if this prefix was originally owned by IANA

slide-21
SLIDE 21

Operational Considerations

21

slide-22
SLIDE 22

Revocation

  • Lost keys
  • Compromised keys
  • Improper use

22

Traditional PKIs Bitcoin

Decentralized control Centralized control

slide-23
SLIDE 23

Revocation

Middle ground:

  • Timeout  transfer to previous owner
  • Multi-signature  more than one key
  • Revocation tx.  by a third party

23

Traditional PKIs Bitcoin

Decentralized control Centralized control

slide-24
SLIDE 24

Rekeying

  • Delegating the block of addresses to itself using

a new key pair.

  • Simpler than traditional rekeying schemes
  • Can be performed independently (each holder

can do it without affecting other holders)

24

From: keyA To: keyB Prefix 1/8 Other transactions…

slide-25
SLIDE 25

Rekeying

  • Delegating the block of addresses to itself using

a new key pair.

  • Simpler than traditional rekeying schemes
  • Can be performed independently (each holder

can do it without affecting other holders)

25

From: keyA To: keyB Prefix 1/8 From: keyB To: keyC Prefix 1/8 Other transactions…

Controlled by the same entity

slide-26
SLIDE 26

Privacy

  • Lawful interception
  • RIR policies
  • Business relationships

26

Internal RIR policies Blockchain (IP prefix1, pubkey1) (IP prefix2, pubkey2) …

Public Private

slide-27
SLIDE 27

Privacy

  • Lawful interception
  • RIR policies
  • Business relationships

27

Internal RIR policies Blockchain (IP prefix1, pubkey1) (IP prefix2, pubkey2) …

Public Private

Update (prefix, key) pair

slide-28
SLIDE 28

Prototype

28

slide-29
SLIDE 29

Prototype

  • Python
  • Features:

– Simple Proof of Stake – Block time 60s – 2 MB blocks – IPv4 and IPv6

  • Open-sourced:

https://github.com/OpenOverlayRouter/blo ckchain-mapping-system

29

http://sharetv.com/shows/monty _pythons_flying_circus_uk

slide-30
SLIDE 30

Experiment

30

Master 8 nodes

1-Allocate all /10

Genesis block 0/0 0::/0

slide-31
SLIDE 31

Experiment

31

Master 8 nodes

1-Allocate all /10 3-Allocate ~130k prefixes*

*Extracted from RIR statistics exchange files, eg. ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-extended-latest

2-Allocate all /16

Genesis block 0/0 0::/0

slide-32
SLIDE 32

32

Processed ~160k transactions

slide-33
SLIDE 33

33

Processed ~160k transactions

1-Allocate all /10 3-Allocate ~130k prefixes 2-Allocate all /16

slide-34
SLIDE 34

34

slide-35
SLIDE 35

35

slide-36
SLIDE 36

Thanks for listening!

36

slide-37
SLIDE 37

Scalability

37

  • One AS <> prefix binding for each block of /24 IPv4 address space
  • Growth similar to BGP churn*
  • Each transaction approx. 400 bytes
  • Only IP Prefixes: worst case + BGP table growth*: approx. 40 GB in 20

years

  • With PoS, storage can be reduced

*Source: http://www.potaroo.net/ispcol/2017-01/bgp2016.html

  • Approx. 600 GB in 2034

(IP blocks + AS bindings)

slide-38
SLIDE 38

Storage

  • Several mechanisms can help reducing

storage, eg:

– Prune old transactions – Download only headers (Bitcoin SPV*) – Discard old blocks

  • These techniques depend on the

consensus algorithm

38

*Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system. Sec. 8

slide-39
SLIDE 39

Transaction examples

39

slide-40
SLIDE 40

First transaction

  • Users trust the Public Key of the Root, that

initially claims all address space by writing the genesis block

  • Root can delegate all address space to itself

and use a different keypair

“I own all the address space” Hash(P+ root)= Root@1 Root@2 New Transaction

40

slide-41
SLIDE 41

Prefix allocation and delegation

  • Root allocates blocks of addresses to other

entities (identified by Hash(Public Key)) by adding transactions

“allocate” Root@2 Root@3 (rest of space) New Transaction 0.0/16 Deleg1@ 25.5.5/8 Deleg2@

  • Holders can further delegate address blocks to
  • ther entities

“delegate” Deleg1@ Deleg1@2 (rest of space) New Transaction 0.0.1/24 Deleg3@ 0.0.2/24 Deleg4@

41

slide-42
SLIDE 42

Writing AS bindings

  • Just like delegating a prefix, but instead of the

new holder, we write the binding

“binding” Deleg3@ New Transaction 0.0.1/24 from AS# 12345

42

slide-43
SLIDE 43

External server authentication

  • Some information may not be suitable for the

blockchain, or changes so fast it is already

  • utdated when added into a block
  • A public key from an external server can also be

included in the delegations

  • Since blockchain provides authentication and

integrity for this key, parties can use it to authenticate responses from the external server

43

slide-44
SLIDE 44

FAQ

  • Does it grow indefinitely?

– Yes

  • Do all nodes have the same information?

– Yes

  • When answering a query, do you have to

search the entire blockchain?

– No, you can create a separate data structure only with the current data

  • If I lose my private key, do I lose my prefixes

also?

– Yes, watch out!

44