OblivP2P: An Oblivious Peer-to- Peer Content Sharing System Yaoqi - - PowerPoint PPT Presentation

oblivp2p an oblivious peer to peer content sharing system
SMART_READER_LITE
LIVE PREVIEW

OblivP2P: An Oblivious Peer-to- Peer Content Sharing System Yaoqi - - PowerPoint PPT Presentation

OblivP2P: An Oblivious Peer-to- Peer Content Sharing System Yaoqi Jia, Tarik Moataz, Shruti Tople and Prateek Saxena National University of Singapore 1 Traffic Analysis in P2P Systems P2P content sharing systems 150 million users/month


slide-1
SLIDE 1

OblivP2P: An Oblivious Peer-to- Peer Content Sharing System

Yaoqi Jia, Tarik Moataz, Shruti Tople and Prateek Saxena

National University of Singapore

1

slide-2
SLIDE 2

Traffic Analysis in P2P Systems

  • P2P content sharing systems

– 150 million users/month – 3.35% of all world bandwidth

  • Long term global traffic analysis

– E.g., ISP’s, Global BitTorrent Monitor, Bitstalker

2

slide-3
SLIDE 3

What can an Adversary do?

  • Leakage Channels

– Plaintext data

  • Secure channel

– Length

  • Padding

– Time

  • Fixed Interval

– Access Patterns

Assume existing defenses

Linkability

3

slide-4
SLIDE 4

Problem

Current Solutions

– Anonymous Systems e.g., Mix Networks, Tor

Is anonymizing enough?

Adversary

4

Hide Online Identity Unlinkability

üLong term üGlobal

slide-5
SLIDE 5

Contributions

  • Guarantee unlinkability
  • Obliviousness in P2P systems

OblivP2P Protocol

  • Link:

https://github.com/jiayaoqijia/OblivP2P- Code

Implementation

  • No Centralized Bottleneck
  • Linear Scalability with peers

Evaluation

5

slide-6
SLIDE 6

Problem

6

slide-7
SLIDE 7

Insufficiency of Existing Solutions

Mixnet Round 1 Mixnet Round 2

Intersection, Hitting Set [AK’03] or Statistical Disclosure Attacks [KP’04]

7

slide-8
SLIDE 8

Main Insight: Oblivious Access Pattern

  • Oblivious RAM

– Hide access patterns between CPU and memory – Data is shuffled in the memory periodically

  • Applied to:

– Cloud Storage [SS’13A], [SS’13B],[LO’13] – Filesystem [WST’12]

  • Can we directly apply ORAM to P2P systems?

8

slide-9
SLIDE 9

Problem Definition

9

Trusted Tracker

slide-10
SLIDE 10

ORAM Background

  • Tree-Based ORAM (Path ORAM)

– Read

  • Fetches a path from the tree containing the block
  • Stores the path in the local storage (stash)

– Write

  • Selects a random path in the tree
  • Shuffles the blocks in the stash and the path

5 1

2

4 3 6 7

10

slide-11
SLIDE 11

Mapping ORAM to P2P

Trusted Client Untrusted Server

Position Map, Stash

5 1

2

4 3 6 7

pat h

Trusted Tracker

Position Map, Stash

1 3 6 7 5

2

4

Peers

Peer-to-Peer Network

OblivP2P-0 Protocol

Initiator Fetch path Decrypt Request Fetch a path Re-encrypt 2 2 Decrypt Send 2

11

slide-12
SLIDE 12

OblivP2P-0: Tracker as bottleneck

  • Tracker fetches O(log N) blocks per access

118 MB /req for 2 million users ≈ Max Bandwidth

Need a Distributed Oblivious P2P Protocol 12

slide-13
SLIDE 13

OblivP2P-1 Protocol

13

slide-14
SLIDE 14

Naïve approach: Removing Bottleneck

Trusted Tracker

Position Map, Stash Initiator Request Send < path, position, key > 2 Decrypt

1 3 6 7 5

2

4

Peers

Peer-to-Peer Network

Fetch a path

Performance Security

14

slide-15
SLIDE 15

Challenges

  • ORAM writes

– Recently accessed block at the root – Less frequently accessed block at the leaves

  • “Block History”

– Shared resources

  • Security flaw in P2P systems

– Multiple users access the same resource

5 1

2

Less frequently accessed Recently accessed

15

slide-16
SLIDE 16

New Primitive: Oblivious Selection

Selects a block without :

Block Position Cryptographic Key

16

No Centralized Bottleneck

slide-17
SLIDE 17

Construction

  • Step 1: PIR over ORAM

– Obliviously select a block from a path

Trusted Tracker

Initiator Request

Compute an Encrypted Share using PIR

Send PIR metadata

5 1

2

5 1

2

5 1

2 2

Block Position

17

No Centralized Bottleneck Cryptographic Key

slide-18
SLIDE 18

Construction

Trusted Tracker

Initiator

Compute a Decrypted Share using SH-PRG

Send key share Dec Block

  • Step 2: Seed-Homomorphic PRG

– Decrypt shares without giving away the key

18

Block Position No Centralized Bottleneck Cryptographic Key Cryptographic Key

slide-19
SLIDE 19

Security

19

slide-20
SLIDE 20

OblivP2P is an Oblivious P2P Protocol

Any two equal length access sequences by two peers are indistinguishable for any p.p.t. “honest- but-curious” adversary

  • Number of dishonest peers is in O(Nε), where ε<1
  • Theorem: If ∀N > 1, and ∀ε < 1, ∃m > 1 such

that 2logN·m·(1−ε) ∈ negl(λ) then OBLIVP2P-1 is an

  • blivious P2P protocol

20

slide-21
SLIDE 21

Evaluation

21

slide-22
SLIDE 22

Experimental Setup

  • 15 DeterLab servers – (214)16000 peers
  • Each server shares a bandwidth of 128 MBps
  • Block size of 512 KB similar to BitTorrent

22

slide-23
SLIDE 23

No Centralized Bottleneck

~ 1 MB /req ~ 128 MB /req

23

slide-24
SLIDE 24

Linear Scalability with Peers

3.59MB/ sec

24

  • Larger networks can scale up performance

– 3.59 MB/s is due to our limited test infrastructure

  • Bottleneck remaining is purely computational
slide-25
SLIDE 25

Take Away!

  • Propose hiding data access patterns in P2P

systems

  • OblivP2P - First work to repurpose ORAM in

Peer-to-Peer systems

  • OblivP2P is linearly scalable and highly

parallelizable with the peers in the network

25

slide-26
SLIDE 26

Thanks!

Email : shruti90@comp.nus.edu.sg

Link: https://github.com/jiayaoqijia/OblivP2P-Code

26