an analysis of the applicability
play

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


  1. 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 Rodríguez, Fabio Maino jordip@ac.upc.edu 1 http://openoverlayrouter.org

  2. A short Blockchain tutorial 2

  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

  4. Blockchain - Transactions Transaction Sender’s Public Key Sender’s signature Data 4

  5. Blockchain - Transactions Transactions are broadcasted 1 Transaction to all the nodes Sender’s Public Key Sender’s signature P2P network Data 5

  6. Blockchain - Transactions Transactions are broadcasted 1 Transaction to all the nodes Sender’s Public Key Sender’s signature P2P network Data A node collects transactions 2 into a block Block Previous Hash Transactions 1 ··· N 6

  7. Blockchain - Transactions Transactions are broadcasted 1 Transaction to all the nodes Sender’s Public Key Sender’s signature P2P network Data A node collects transactions 2 into a block 3 Compute consensus algorithm Block New Block Previous Hash Previous Hash Transactions 1’ ··· N’ Transactions 1 ··· N 7

  8. Blockchain - Transactions Transactions are broadcasted 1 Transaction to all the nodes Sender’s Public Key Sender’s signature P2P network Data A node collects transactions 2 into a block 3 Compute consensus algorithm 4 Broadcast new block to the network Block New Block Previous Hash Previous Hash Transactions 1’ ··· N’ Transactions 1 ··· N 8

  9. Blockchain - Transactions Transactions are broadcasted 1 Transaction to all the nodes Sender’s Public Key Sender’s signature P2P network Data A node collects transactions 2 into a block 3 Compute consensus algorithm 4 Broadcast new block to the network Block New Block The other nodes verify the 5 consensus algorithm and accept the block Previous Hash Previous Hash Transactions 1’ ··· N’ Transactions 1 ··· N 9

  10. Summary of features vs. traditional PKI systems Advantages Drawbacks • Decentralized • No crypto guarantees • No CAs • Large storage • Simplified management • Costly bootstrapping • Simple rekeying • Limited prior trust • Auditable • Censorship-resistant 10

  11. Blockchain for IP addresses 11

  12. Data in the blockcahin We want to store: Prefix: 10/8 Prefix: 10/8 Prefix: 10/8 new AS#: 12345 Holder: P1+ holder Holder: P+ new Prefix: 10/8 holder Holder: P2+ IP address block IP address block + + Prefix: 10/8 AS number Holder Holder: P3+ Chain of allocations and delegations 12

  13. IP addresses vs. coins • IP addresses = coins • Similar properties: – Unique – Transferrable – Divisible • Exchange blocks of IP addresses just like coins 13

  14. Example 14

  15. Allocation From: IANA To: IANA I have all prefixes 4 5 6 blockchain 0 1 2 3 7 ... n n+1 n+2 15

  16. Allocation Allocation From: IANA To: IANA From: IANA I have all prefixes To: APNIC Prefix 1/8 for APNIC 4 5 6 blockchain 0 1 2 3 7 ... n n+1 n+2 16

  17. Allocation Allocation Delegation From: IANA To: IANA From: IANA I have all prefixes To: APNIC From: APNIC Prefix 1/8 for APNIC To: ISP A ISP A has 1.2/16 4 5 6 blockchain 0 1 2 3 7 ... n n+1 n+2 17

  18. Allocation Allocation Delegation From: IANA Binding To: IANA From: IANA I have all prefixes To: APNIC From: APNIC From: ISP A Prefix 1/8 for APNIC To: ISP A To: ISP A ISP A has 1.2/16 Bind 1.2/16 to AS # 12345 4 5 6 blockchain 0 1 2 3 7 ... n n+1 n+2 18

  19. Allocation Allocation Delegation From: IANA Binding To: IANA From: IANA I have all prefixes To: APNIC From: APNIC From: ISP A Prefix 1/8 for APNIC To: ISP A To: ISP A ISP A has 1.2/16 Bind 1.2/16 to AS # 12345 4 5 6 blockchain 0 1 2 3 7 ... n n+1 n+2 From: ISP A Who has 1.2/16? To: ISP A Bind 1.2/16 to AS # 12345 AS# 12345 19

  20. Allocation Allocation I can go back to check if this prefix Delegation From: IANA was originally owned by IANA Binding To: IANA From: IANA I have all prefixes To: APNIC From: APNIC From: ISP A Prefix 1/8 for APNIC To: ISP A To: ISP A ISP A has 1.2/16 Bind 1.2/16 to AS # 12345 4 5 6 blockchain 0 1 2 3 7 ... n n+1 n+2 From: ISP A Who has 1.2/16? To: ISP A Bind 1.2/16 to AS # 12345 AS# 12345 20

  21. Operational Considerations 21

  22. Revocation Traditional Bitcoin PKIs Decentralized Centralized control control • Lost keys • Compromised keys • Improper use 22

  23. Revocation Traditional Bitcoin PKIs Decentralized Centralized control control Middle ground: • Timeout  transfer to previous owner • Multi-signature  more than one key • Revocation tx.  by a third party 23

  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) From: keyA Other transactions… To: keyB Prefix 1/8 24

  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) From: keyA From: keyB Other transactions… To: keyB To: keyC Prefix 1/8 Prefix 1/8 Controlled by the same entity 25

  26. Privacy • Lawful interception • RIR policies • Business relationships Public Private Blockchain Internal RIR (IP prefix1, pubkey1) policies (IP prefix2, pubkey2) … 26

  27. Privacy • Lawful interception • RIR policies • Business relationships Update Public Private (prefix, key) pair Blockchain Internal RIR (IP prefix1, pubkey1) policies (IP prefix2, pubkey2) … 27

  28. Prototype 28

  29. Prototype • Python http://sharetv.com/shows/monty • Features: _pythons_flying_circus_uk – Simple Proof of Stake – Block time 60s – 2 MB blocks – IPv4 and IPv6 • Open-sourced: https://github.com/OpenOverlayRouter/blo ckchain-mapping-system 29

  30. Experiment Genesis block Master 0/0 0::/0 1-Allocate all /10 8 nodes 30

  31. Experiment Genesis block Master 0/0 0::/0 1-Allocate all /10 8 nodes 2-Allocate all /16 3-Allocate ~130k prefixes* *Extracted from RIR statistics exchange files, eg. 31 ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-extended-latest

  32. Processed ~160k transactions 32

  33. 3-Allocate ~130k prefixes 2-Allocate all /16 1-Allocate all /10 Processed ~160k transactions 33

  34. 34

  35. 35

  36. Thanks for listening! 36

  37. Scalability Approx. 600 GB in 2034 (IP blocks + AS bindings) • 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 37 *Source: http://www.potaroo.net/ispcol/2017-01/bgp2016.html

  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

  39. Transaction examples 39

  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 New Transaction Root@2 “I own all the Hash(P+ root)= Root@1 address space” 40

  41. Prefix allocation and delegation • Root allocates blocks of addresses to other entities (identified by Hash(Public Key)) by adding transactions New Transaction Root@3 (rest of space) 0.0/16 Deleg1@ Root@2 “allocate” 25.5.5/8 Deleg2@ • Holders can further delegate address blocks to other entities New Transaction Deleg1@2 (rest of space) 0.0.1/24 Deleg3@ Deleg1@ “delegate” 0.0.2/24 Deleg4@ 41

  42. Writing AS bindings • Just like delegating a prefix, but instead of the new holder, we write the binding New Transaction 0.0.1/24 from AS# 12345 Deleg3@ “binding” 42

  43. External server authentication • Some information may not be suitable for the blockchain, or changes so fast it is already outdated 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

  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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend