

A separate cache is used to store tunnel requests, and route tunnel accept packets back to the original client.Įach time a tunnel request is sent, it is given two numbers: its request id, and its half-id. Turtle tunnels are established using the same protocol as search. If already present, the request is discarded. The cache is examined each time new request is received. Implementation wise, this behaviour is achieved by keeping a cache of received search requests. If a result is found the list of matching files is sent back by the inverse route that the request took. These friends will forward it to their own friends, until the packet is too old. Searching through the RetroShare network is performed by broadcasting a search request packet to all connected friends. The original idea was taken from the PhD thesis of Petr Matejka: Security in Peer-to-Peer Networks. The ultimate sources G and J and not known to C, and C is not known to them either. RetroShare model: C, as a client receives data through its trusted friends only. The data is by nature encrypted between each pair of friends along the tunnel. This routing algorithm allows non direct friends to exchange data anonymously using tunnels. RetroShare’s file transfer uses an anonymous routing model called turtle router over the friend-to-friend network. The second prevents more advanced spying mechanisms based on man-in-the-middle attacks. The first principle prevents classical bittorrent spying techniques such as the one described above. These friend-2-friend connections are chained together to provide a secure and anonymous file-transfer tunnels across the whole Retroshare network, using a turtle router. friend-to-friend transfers are encrypted using signed SSL certificates.explicit data transfers only occur between trusted friends.RetroShare solves this problem by using a Friend-to-Friend file search and exchange mechanism based on two principles: Its obviously more complex than that, but the important thing to note, is that direct connections between a client and its sources is the weak point. Classical bittorrent style file transfer: any participating peer that has the file can be a direct source to the requesting client C.Īs a consequence, determining what a peer is downloading is pretty simple: one just needs to setup a computer to provide many files (acting as a bait) and record the IP addresses of the downloaders.
