1 / 24

Secure Network Coding and its Application

Secure Network Coding and its Application. Yongdae Kim University of Minnesota. Organization. Introduction to Network Coding Practical Network Coding Secure Network Coding Structured File Sharing Conclusion. Network Coding: What is it?. B. Traditional Coding/Routing

minerva
Download Presentation

Secure Network Coding and its Application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Secure Network Coding and its Application Yongdae Kim University of Minnesota

  2. Organization • Introduction to Network Coding • Practical Network Coding • Secure Network Coding • Structured File Sharing • Conclusion

  3. Network Coding: What is it? B • Traditional Coding/Routing • Coding is done on End-to-End bases. • Intermediate nodes forward data blindly. • Network Coding • Allowing intermediate nodes to manipulate information • Information flowing out of a node is a function of information coming into the node • Originally developed for wireless multicast • Very popular in wireless/sensor networks • Relatively much less attention in P2P A C A? B? C? B A C f (A,B,C)

  4. Linear Network Coding • Information • Packets are vectors over finite field with a fixed dimension • Encoding • Outgoing packets are linear combination of incoming packets • Decoding • Solving a linear equation

  5. Linear Network Coding: Equation

  6. Setup • Information (Data) • a file

  7. Setup • Information (Data) • a file • m original blocks (vectors) x1 x2 … xi … … xm

  8. Setup • Information (Data) • a file • m original blocks (vectors) • n elements in a block x1 x2 … xi … … xm n dimension (xi1, xi2, …, xij, …, xin)

  9. Setup • Information (Data) • m augmented vector (coded block) • m+nelements in an augmented vector 10000 x1 x1 01000 x2 x2 30102 yj x3 x3 00100 00010 x4 x4 00001 x5 x5 Example: m=5

  10. BitTorrent: How it works? … 1 … Seed 3 2 … … … 5 4 … … 1 … Seed 3

  11. Network Coding for P2P • Benefits: Most blocks are useful! • Solving New Peer Disadvantage in BitTorrent • New peer can download one block for free • Solving Rare Block Problem • All blocks have to be downloaded in BitTorrent • Churn may result in rare block problem • Taking long time to finish • As a result, potentially almost all nodes can finish at the same time! • Applications • File sharing, Software update, streaming, CDN, P2P TV

  12. Network Coding for P2P • Problems • Resource Overhead • Encoding: Pout = S ai Pi, ai is an random in Fp • Decoding: Solving linear equation: O(n3) • DVD: 4.3 GB  Can’t fit everything in memory • Requires random disc I/O • Pollution Attack • Intermediate node has no way to verify if the incoming packet is linear combination of the original block • Corrupted packets can be easily propagated

  13. Solving Resource Overhead • Incremental Encoding

  14. Solving Resource Overhead • Incremental Encoding: Linear Dependency

  15. Secure Network Coding • Threat • Pollution Attacks • General (traditional) hashes do NOT work • Corrupted packet can be mixed with others • Corrupted data can easily be propagated • Problem • Can we verify the integrity of a network-coded block? • Or can we verify if a received block is legitimately mixed before decoding a file?

  16. Secure Network Coding: possible solutions • Homomorphic Hash • Find homomorphic hash function h such that: h(x+y) = h(x) h(y) • If hash of each block can be securely distributed, the receiver can verify the integrity of a linearly transformed block. • Homomorphic signature • Find homomorphic signature function s such that s(x+y) = s(x) s(y) • Verification: v(linearly transformed block, signature) returns true or false.

  17. Ours: Signature Generation • Private key • (s1, …, …, sm+n) • Public key • p, q, g, (gs1, gs2,…, …, gsm+n) • Signature generation at a source • network-coded block v =(v1, v2, …,…, vm+n) • signature σ= s1v1+s2v2 + … + sm+nvm+n • Signature aggregation at intermediate nodes • new block w’ = a1w1+ … + akwk • new signature s(w’) = a1s1+ … + aksk

  18. Ours: signature verification • Public Key • p, q, (gs1, gs2,…, …, gsm+n) • network-coded block • v =(v1, v2, …,…, vm+n) • Compute • d = (gs1)v1(gs2)v2 … (gsm+n)vm+n • verify: d ?= gs

  19. Comparison

  20. Batch Verification • For each block, verify signatures • Problem • A single block verification takes 13 seconds. • Solution? Pipelining • While downloading/uploading verify signature. • Downloading time of a block: 7 seconds. • Solutions? Batching • Verify linearly combined blocks before sending it out.

  21. Batch Verification

  22. Structured File Sharing • To improve mixing • Setup • Peers form a DHT. • Nodes choose their partners from their routing tables. • Data Transfer • A source randomly distributes blocks to nodes. • A node exchange blocks with partners starting from closest partners.

  23. Simulation Result (No Churn)

  24. Conclusion • Network coding • Have not fully investigated • Mainly by researchers in coding and networking independently • Many problems remaining before large deployment

More Related