A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of...

27
A distributed Search Service for Peer-to- Peer File Sharing in Mobile Applications From U. of Dortmund, Germany

Transcript of A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of...

Page 1: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications

From U. of Dortmund, Germany

Page 2: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Motivation:Mobile devices become more powerful (computation, resources)They form spontaneous self-organizing communication structure: Mobile Ad-Hoc Network. (all of them are peers)People shares files among those mobile devices to satisfy more requirements.Challenge: Efficiently locating the sharing files

Page 3: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Passive Distributed Indexing

PDI: provide a general-purpose file search service.Each mobile device maintains: Repository: a set of sharing files, PDI

provides local search services Doc ID: IP/MAC + local path

Index cache: a set of (keyword, doc ID) Used to answer query for non-local doc

Page 4: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

PDI: QueryQuery model: A query string contains several

keywords “AND” operation on all keywords

Broadcast: query/response messages (nature of wireless network)Forward: for a predefined number of hops (using broadcast)By experiments: 2 hops are enough

Page 5: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

PDI : CacheCache: all received query results in the local cache index (all nodes which receives a message)Local cache indexing replacement: Least-recently-used algorithm Timeout

Exploit locality and erase hotspots

Page 6: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

PDI: Messages

QUE: Query string, SRC, SEQ, TTL Each node stores the highest SEQ for each

SRC and prevents retransmission.

REP: contains local search results (set of Doc Ids) Selectively forwarding: only forward the doc

Ids which are not in the local cache index

Page 7: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

PDI: Example

Page 8: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Experiment Parameters:

Page 9: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Experiment results:

Page 10: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: A Peer-to-Peer Anonymizing Network Layer

from NYU & MIT

Page 11: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

MotivationPeople want anonymity for all kinds of reasonsThere are some entities which are interested in exposing the host’s identityThe goal of Internet anonymization: A host can communicate with an arbitrary

server in such a manner that nobody can determine the host’s identity.

Page 12: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Previous work:Proxy: Trust the proxy, can be blocked by servers, DOS

A set of mix relays: Onion routing, Zero-knowledge’s freedom Relay may be corrupted, timing analysis, some

other same problems with proxy

The above two: Ignore the attack by observing all network traffic There are some other solutions, but still not good

Page 13: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: P2P Technique armed

Extend mix-net design to a peer-to-peer environmentcommunicate over sequences of mix relays chosen from a pool of volunteer nodes, without centralized component.All peers are potential originators and relaysNobody can tell who is the first hop in a mix path (except the originator itself)

Page 14: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: resistant to adversary nodes

A new concept: domainUsed to remove potential adversarial biasBased on the observation: An adversary may run hundreds of

virtual machines, yet is unlikely to control hundreds of different IP subnets.

Page 15: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: more…Cover traffic for packet routingPackets can be routed only between mimicsApplications (with Tarzan support) can talk to Applications (without Tarzan support) through special IP tunnelsTarzan is transparent to Applications.Tarzan don’t provide authentication and congestion control functionalities.

Page 16: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: Architecture Overview

Page 17: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: Packet relayTwo types of messages: data & controlA flow tag uniquely identifies each link of each tunnel. (used for forwarding)Symmetric encryption hides data, MAC protects integrity. Separate keys are used in each direction of each relay

Page 18: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: Packet relay (cont.)

Clear IP packet’s src filed, encrypt and encapsulate in a UDP packetT = (h1, h2,…, hl, hpnat)For each relay: ekhi, ikhic(i) = ENC(ekhi, {B(I+1)})a(i) = MAC(ikhi, {seq, c(i)})B(i) = {seq, c(I), a(i)}

Page 19: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: packet relay (cont.)

The initiator does all the encryptionEach relay just decrypts the block, retags it, encapsulates in a new UDP packet and forwards it.On the reverse path, the relays encrypt the packet and the initiator decrypts the final packets

Page 20: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: Tunnel SetupInitiator is responsible for that workIncludes: Generate/distribute symmetric keys Iteratively setup the tunnel one by one

an establish request (forward session key are encrypted by the public key of node hi )Using the existing tunnel to setup next step, so the relays on current tunnel don’t know it’s a data message or control message (for setting up another relay)

Page 21: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: IP packet forwarding

The last node on the tunnel (PNAT) will send the packet to the server with its own address.Upon receiving the replay, it will send it back along the tunnel.Tunnel failure & reconstruction: Periodically ping message Start reconstruction from the failed

relay

Page 22: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: Peer discoveryGossip AlgorithmEach node has a public key two handshake authentication

From weakly connected to fully connectedThree different/related operations: Initialization: send entire neighbor set

(for fast propagation) Redirection: redirect new nodes to random

neighbors (for shed load) Maintenance: an incremental update

Page 23: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: peer selection

Page 24: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: cover trafficMimics: node pairs Calculated, not randomly selected !! Mimic relationship is symmetric !!

Tunnels must be built through mimicsCover traffic is transferred between mimics (adjust according to all incoming traffic and outgoing traffic)So nobody can observe the real user data

Page 25: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: Mimic Topology

Page 26: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Experiment result:

Page 27: A distributed Search Service for Peer-to-Peer File Sharing in Mobile Applications From U. of Dortmund, Germany.

Tarzan: conclusion

Resistant to attack (a lot of security analysis)Achieve anonymity for end usersOverhead: Each node needs to keep some info for all

other nodes in the network Packet transfer latency Considerable computation workload

(especially on the initiator of the traffic)