• 沒有找到結果。

FreeNet A Distributed Anonymous Information Storage and Retrieval System

N/A
N/A
Protected

Academic year: 2021

Share "FreeNet A Distributed Anonymous Information Storage and Retrieval System"

Copied!
22
0
0

加載中.... (立即查看全文)

全文

(1)

FreeNet

A Distributed Anonymous Information

Storage and Retrieval System

Presented By Xiao Wei-Cheng 2004.04.06

(2)

Outline

● Introduction ● Architecture

– Keys and searching files

– Inserting, Storing, Retrieving, Managing files – Adding nodes

● Security

(3)

Introduction (1/2)

● Decentralization ● Privacy

● Sharing of Storage Space

● Location-independent file system ● Retrieving, Inserting, Storing files

(4)

Introduction (2/2)

● Design Goals

– Anonymity for producers and consumers – Deniability for storers of information

– Resistance to attempts to deny access of information – Efficient dynamic storage and routing of information – Decentalization of ALL network functions

(5)

Architecture

● Freenet is like a peer-to-peer network ● Files are named by keys

● Each node has its own datastore and routing table ● Routing is driven by 'key'

● Each request has a unique ID – prevent loop

(6)

Keys and Searching Files - KSK (1/4)

● Keyword-signed key (KSK) is derived from

Descriptive Text String (DTS)

● public/private key pair

● The file key is yielded by hashing the public part ● The file is encrypted with DTS

● The private part is used to sign the file

(7)

Keys and Searching Files–SSK (2/4)

● Signed-subspace key

● Personal namespace is enabled, and generated

randomly

● Files key = hash(XOR(hash(namespace),

hash(DTS)))

● File is encrypted with DTS as KSK

(8)

Keys and Searching Files-CHK (3/4)

● Content-hash key

● File key is derived by hashing the file content

● Files are encrypted by randomly-generated keys ● CHK is usually conjucted with SSK

– Indirect file

– Version updating – file splitting

(9)

Keys and Searching Files (4/4)

● Problem – How to get the file key ? – Through Web Server

– Lightweight indirect files

● Multiple indirect files may have the same key

(10)

Retrieving File (1/2)

● A Request.Data message is sent, with transaction

ID, hops-to-live, depth, and search key

● A Send.Data message and the desired file will be

sent back after successful request

● In the nodes on the path, file is cached, and

routing table is updated

● A Reply.NotFound message would be sent back

if failed

● Files with similar keys would be cached in some

(11)

Retrieving File (2/2)

(12)

Storing and Inserting File

● A Request.Insert message is sent

● If inserting sucesses, a Reply.Insert message is

sent back, and a Send.Insert is then sent by the requestor

● If failed, a Send.Data message with the existing

data or a Reply.NotFound message is sent back

● In the nodes on the path, file is cached, and

routing table is updated

● New nodes can use inserts to announce their

(13)

Managing File

● Storages have finite capacity

● LRU algorithm is used to manage files

● Entries in routing table are deleted only when the

(14)

Adding Nodes

● All nodes have to be consistent in deciding the

new node key (Address Resolution Key)

● The new node sends its address and hash(rand())

out first

● Nodes in the path send hash(rand() XOR prehash)

to the next one

● The final hash value becomes the key of the new

(15)

Security (1/3)

● Anonymity of sender, receiver, and the key

● Key anonymity is impossible since routing

depends on the key

● For malicious nodes, sender anonymity is

(16)

Security (2/3)

● Freenet + pre-routing

– For key anonymity and sender anonymity

– Messages are encrypted by a succession of public

keys, and pre-routed first

– After pre-routing, the message is injected into the

normal Freenet network

● The data source field can be resetted in the path ● A hops-to-live of 1 doesn't reveal an endpoint

(17)

Security (3/3)

● Modification of requested files by malicious nodes – Not feasible under CHK or SSK

● Displace existing files by malicious nodes – Not feasible under CHK or SSK

● Prevent DoS attack

– Use 2 part of datastore

● Established files ● New files

(18)

Performance Analysis (1/5)

● Network for simulation – 1000 nodes

– Datastore size of 50 items per node

(19)

Performance Analysis (2/5)

● Network Convergence

(20)

Performance Analysis (3/5)

● Scalability

(21)

Performance Analysis (4/5)

(22)

Performance Analysis (5/5)

參考文獻

相關文件

• The memory storage unit holds instructions and data for a running program.. • A bus is a group of wires that transfer data from one part to another (data,

Valor acrescentado bruto : Receitas do jogo e dos serviços relacionados menos compras de bens e serviços para venda, menos comissões pagas menos despesas de ofertas a clientes

How does drama help to develop English language skills.. In Forms 2-6, students develop their self-expression by participating in a wide range of activities

Courtesy: Ned Wright’s Cosmology Page Burles, Nolette & Turner, 1999?. Total Mass Density

This kind of algorithm has also been a powerful tool for solving many other optimization problems, including symmetric cone complementarity problems [15, 16, 20–22], symmetric

„ A socket is a file descriptor that lets an application read/write data from/to the network. „ Once configured the

專案執 行團隊

The remaining positions contain //the rest of the original array elements //the rest of the original array elements.