Tuesday, September 30, 2008

Onion Routing

Onion routing for anonymous communication

There are all routers in the network with number 1...N.



Onion Router s has a public key Su and a private key Sr. The public key is well-know to onion proxies. Private keys are only known to the router.



It protects data content and identity by using public key in the proxy table to encrypt the packet like the onion. Intermediate nodes along the path will decrypt the packet using its private key.

Reference: http://ntrg.cs.tcd.ie/undergrad/4ba2.05/group10/index.html

Monday, September 29, 2008

My slide version #2



Don't hasitate to comment it. :-)

DHT: Chord Routing

Chord is one kind of distributed hash table which provides fast distributed computation of a hash function mapping keys to nodes responsible for them.
Chord improves the scalability of consistent hashing by avoiding the requirement that every node know about every other nodes.
In N-node network, each node maintains information about only O(log N) other nodes, and a lookup requires O(log N) messages.



It looks simple but quite slow because it goes to every hop in the circle.



Chord can lookup node in peer-to-peer faster because of it searches by finger table which stores the hop in 2^i series.

e.g. N8+1 (2^0) => N9 , there is no N9, then go to N14,
N8+2 (2^1) => N10, there is no N10, then go to N14,
...
N8+32 (2^5) => N40, there is no N40, then go to N42, etc..

Note: Remember that chord always works on the clockwise for finding the successor.

However, N8 cannot determine the successor of key 34 by itself, as this successor (N38) does not appear in N8's finger table.



We will query K54, lookup(54) from N8.

First, open the finger of N8 and find the closest K54.
That's N8+32 => N40 => N42.
Next, go to N42 and open the finger table of N424
That's N42+8 => N50 => N51
Finally, go to N51 and open the finger table of N51
That's N56. Finish!!

Reference:
Paper Title: Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications
By: Ion Stoicay , Robert Morrisz, David Liben-Nowellz, David R. Kargerz, M. Frans Kaashoekz, Frank Dabekz, Hari Balakrishnan

Privacy ISO15408

Common Criteria (Privacy) ISO 15408

Common Criteria Privacy is categorized in 4 types:
- anonymity Hide identities (Don't have details about sender or receiver)
- unlinkability Hide the session (There are 2 packets, don't know which packet belong to which session or sender)
- unobservability
Hide the route and the path (Don't know the route of the packet in session)
-
pseudonymity Anonymity and Responsability (Repudiation )

Ps: Merci Dr. Anas

Sunday, September 28, 2008

What is DHT Network?

What is DHT Network?

DHT(Distributed Hash Table) is method of a distributed storage for pairs. There is no center server in DHT Network, every client take charge of a small range of routing, a small set of data storage, so that in the whole DHT network, data can be found, read and write.

key = put (data)
data = get (key)

For example:
Without DHT network, the client must download files based on the location of the original tracker.
On the otherhand, with DHT network, the client can download files from other trackers. It will query the hash key from other clients which open the hash key and downloading...

Advantage and disadvantage:
- Decentralization: the nodes collectively form the system without any central coordination.
- Scalability: the system should function efficiently even with thousands or millions of nodes.
- Fault tolerance: the system should be reliable (in some sense) even with nodes continuously joining, leaving, and failing.

Interested DHT protocols:
CAN (Content Addressable Network), Chord , Pastry, Tapestry

Peer to peer routing

This is a P2P Routing example in gnutella network:



Explaination:
'a' sends query to its peer (included 'b') for asking the files.
'i' and 'h' do not have the files and network, but 'b' has its local network.
So, 'b' forward the query to check its local, and 'e' forward it again .
After propataion, 'g' is matched and reply back to 'a'.

Ref: http://ntrg.cs.tcd.ie/undergrad/4ba2.05/group6/index.html

Friday, September 26, 2008

Security and P2P review

P2P global view
- Client/Server VS. P2P

Security problems

P2P classification & details
- routing
- transport
- services management

How to secure
- Analysis
- Solutions

My first draft version: