Una rete Multi-hop Ad-Hoc anonima e sicura - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Una rete Multi-hop Ad-Hoc anonima e sicura

Description:

Title: Una rete Multi-hop Ad-Hoc anonima e sicura Author: Roberto Last modified by: Antonio Corradi Created Date: 7/26/2004 12:45:24 AM Document presentation format – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 29
Provided by: Roberto278
Category:
Tags: algorithm | anonima | hoc | hop | multi | rete | sicura | una

less

Transcript and Presenter's Notes

Title: Una rete Multi-hop Ad-Hoc anonima e sicura


1
Una rete Multi-hop Ad-Hoc anonima e sicura
  • Roberto Rossi
  • Email
  • robertross_at_libero.it
  • Sito ufficiale http//www.myjavaserver.com/gwren
    /home.jsp?pagecustomxmlNameants
  • SourceForge
  • https//sourceforge.net/projects/antsp2p

2
Modelli per il P2P
  • Central Server (Napster)
  • Server centrale per eseguire ricerce e trovare
    peers con risorse di interesse
  • Distributed resource locator system (OpenNap)
  • Stabilisce poche connessioni dirette tra nodi per
    eseguire ricerche sulla rete e usa connessioni
    punto punto con le sorgenti per recuperare le
    risorse
  • Distributed resource locator retrieval system
    (Ants, JXTA)
  • Stabilisce poche connessioni dirette tra nodi e
    usa routing per raggiungere tutti i punti della
    rete

3
Il problema della trasparenza
  • Classic P2P - OpenNap
  • Distributed P2P - Ants

gateway
Internet
B
LAN
A
LAN
gateway
Internet
B
LAN
A
LAN
4
Il problema della trasparenza
  • Classic P2P - OpenNap
  • Distributed P2P - Ants

gateway
Internet
B
LAN
A
LAN
gateway
Internet
B
LAN
A
LAN
5
Un modello MANET like
  • Lesempio mostrato ci fa intuire quanto le
    problematiche affrontate nella progettazione
    della rete siano vicine a quelle che devono
    essere considerate in reti multi-hop ad-hoc
  • Dispositivi mobili con portata limitata di
    trasmissione
  • Nel case study mostrato i 2 pc hanno di fatto una
    portata limitata dovuta al fatto di essere
    dietro a gateway
  • Necessità di instradamento attraverso nodi
    intermedi
  • Abbiamo di fatto nodi che fungono sia da client
    sia da router
  • Forte dinamicità nella struttura della rete
  • Frequenti modifiche intervengono con larrivo e
    la disconnessione di nodi
  • Necessità di localizzazione delle risorse e
    mantenimento di vie di comunicazione verso queste
    ultime
  • Ricerca di risorse e localizzazione di percorsi
    per stabilire una comunicazione.

6
La rete Ants
  • Costruita al top di TCP/IP
  • Comunicazione tra i nodi della rete realizzata
    stabilendo poche connessioni iniziali dalle quali
    raggiungere lintera rete
  • Connessioni criptate su Socket TCP
  • Indirizzi ID che identificano i nodi della rete
  • generati con bassa probabilità di collissione
  • Necessarie opportune politiche di routing

7
Il sistema di routing - obiettivi
  • estrema capacità di adattamento a cambiamenti
    nella topologia della rete in particolare
    apparzione di nuovi nodi e connessioni o in caso
    di disconnessioni
  • efficienza e dinamicità
  • routing effettuato sulla base di informazioni
    strettamente locali importante sia dal punto di
    vista delloverhead (praticamente nullo visto che
    non serve scambio di informazioni tra i nodi),
    sia per mantenere anonimato relativamente allID
  • principio di minima intrusione nellattuazione
    del protocollo
  • possibilità di qualificare la qualità di un
    percorso di routing
  • supporto al routing multi-path
  • fault tolerance

8
Il sistema di routing - scelte
  • Ad Hoc On-Demand Distance-Vector Protocol (AODV)
  • politica on demand
  • non servono scambi periodici di informazioni tra
    i nodi
  • ARA Ant colony Based Routing Algorithm for
    MANET
  • swarm intelligence
  • risoluzione di problemi NP-Hard (routing
    ottimale) attraverso la cooperazione
  • assume laspetto di un sistema ad agenti dove
    ogni agente mostra il comportamento di una
    singola formica

9
Il sistema di routing - AODV
  • Due fasi nel protocollo
  • route discovery
  • un nodo intenzionato a comunicare con un altro
    nodo cerca dapprima una strada nella sua tabella
    di routing, se la trova la comunicazione inizia
    immediatamente, altrimenti viene iniziata la
    route discovery phase
  • route maintenance
  • movimenti della sorgente, a seguito dei quali la
    sorgente effettua un nuovo route discovery
    process
  • movimenti di qualche nodo intermedio o della
    destinazione, che si risolvono nellinvio di un
    route error message alla sorgente

10
Il sistema di routing - ARA
  • Il routing adattativo
  • Multi path
  • Adattamento a cambiamenti topologici
  • Ricerca del percorso migliore
  • Fasi
  • Route Discovery
  • Route Maintenance
  • Route Failure Handling

11
Il sistema di routing - proprietà
  • Proprietà
  • Operazioni inerenti al routing distribuite su
    ogni nodo della rete. Ogni nodo opera in maniera
    indipendente dagli altri e ha una memoria
    autonoma
  • È loop-free a causa dellutilizzo degli
    identificativi univoci
  • I percorsi vengono stabiliti on-demand, quindi si
    evita loveread inutile che si avrebbe con il
    routing tradizionale che stabilisce percorsi
    anche se non vengono usati
  • Le parti della rete non attive non vengono
    sollecitate inutilmente
  • Altre proprietà importanti ai nostri fini
  • Località ogni nodo non ha cognizione di dove si
    trovi un altro nodo (i.e. distanza effettiva) sa
    solo che per raggiungerlo deve instradare il
    messaggio in una certa direzione e che alcune
    direzioni sono meglio di altre. Queste
    informazioni sono locali e non vengono scambiate
    tra i nodi.
  • Multi-path ogni nodo può conservare informazioni
    riguardanti diversi percorsi possibili (i.e.
    direzioni verso cui instradare un messaggio) per
    raggiungere una certa destinazione, può inoltre
    stabilire qualè attulamente il migliore fra tali
    percorsi.

12
La rete Ants
  • Sviluppata integrando i protocolli mostrati
  • Poche ed essenziali funzionalità ad ogni livello
    su cui costruire i servizi dei livelli superiori
  • Livelli
  • Link/Rete (ID)
  • Trasporto/Sessione (Canali sicuri tra end-point)
  • Applicazione (Servizi di alto livello)
  • Idealmente il livello fisico, che manca nella
    lista, è costituito dai servizi internet su cui
    ci appoggiamo (TCP/IP). In pratica ci troviamo di
    fronte ad una rete sulla rete.

13
La rete Ants Link/Rete
  • Ogni nodo caratterizzato da
  • un proprio indirizzo ID
  • Funzionalità di un nodo
  • Fare connessioni con altri nodi (a livello
    TCP/IP)
  • Inviare messaggi in broadcast sulla rete (tramite
    flooding)
  • Inviare messaggi ad altri nodi
  • Instradare messaggi di altri nodi (routing)

14
La rete Ants Messaggi
  • I messaggi sono strutturati e ad ogni livello è
    possibile accedere solo alla parte del messaggio
    relativa a quel livello
  • Analogo allo stack TCP/IP
  • Il sistema di routing analizza solo le
    informazioni di routing
  • Body protetto
  • Header in chiaro
  • Cosa succede in caso
  • di duplicazione di un ID?

xskaljkljxalsjxkasjxlaksjxlaksxlajxkslajxlaskxjlas
jxlkakxjsljaksxljasxjlajsxlaskjxlajsxlkasjxlaskjxl
asxjlasjsl
Corpo del messaggio criptato e accessibile solo a
livello di trasporto
ID type Sorgente Destinazione Ttl ritrasmissioni
Header del messaggio porta le informazioni per
il routing a livello di Rete
15
La rete Ants routing
  • A livello di link la politica applicata
    garantisce
  • Isolamento dellinformazione ID
  • Efficienza nel protocollo
  • Fasi
  • Route Discovery
  • la fase di RouteDiscovery è integrata nei
    messaggi di broadcast, che vengono utilizzati per
    trovare risorse sulla rete.
  • Route Maintenance
  • come per gli altri due protocolli tale fase è
    integrata nel trasferimento dati.
  • Non è prevista una fase di Route Failure
  • Semantica At Least Once best effort (NMAX
    ritrasmissioni)

16
La rete Ants routing
  • I messaggi usati nel protocollo di routing a
    livello di Rete sono di tre tipi
  • Unicast
  • Broadcast (net flooding)
  • Acknowledge
  • Timeout sulla sorgente (secondi)
  • Timeout sul messaggio (max hop)
  • Particolare politica per effettuare il net
    flooding

17
La rete Ants routing
  • Route Discovery
  • Contestuale allesecuzione di query (net
    flooding)
  • Lacknowledge con i risultati della query traccia
    la via allindietro fino alla sorgente (backward
    ant)

18
La rete Ants routing
  • Route Maintenance
  • Lista dei vicini con punteggi di efficienza
    (generica) nellinstradamento di messaggi.
  • Lista dei messaggi consegnati (tupla sorgente,
    destinazione, hop from, hop to)
  • Lista dei messaggi in transito
  • Lista dei propri messaggi
  • Lista dei messaggi falliti
  • La posizione di una tupla nella lista dei
    messaggi consegnati indica da quanto tempo la via
    non è usata, dunque posizioni alte indicano vie
    poco usate (inefficienti o interrotte), oltre un
    certo limite le tuple sono scartate.

19
La rete Ants routing
  • Ogni volta che un messaggio arriva al router
  • Se il messaggio è unicast si valuta se si
    possiedono informazioni per instradarlo verso la
    sua destinazione, se le si hanno lo si instrada,
    altrimenti lo si instrada verso il vicino
    valutato più efficiente nella relativa lista dei
    vicini
  • Se il messaggio è di tipo Ack ed è relativo ad
    uno dei messaggi nella lista dei messaggi
    transitati allora si trasferisce la tupla nella
    lista dei consegnati e si aggiorna leffficienza
    del vicino a cui il messaggio era stato
    instradato
  • I messaggi di broadcast, sebbene prevedano ack,
    non causano aggiornamenti di efficienza dei
    vicini

20
La rete Ants politiche di efficienza
  • Il Router presente in ogni nodo, oltre a fare
    tali valutazioni sui messaggi che riceve e a
    provvedere allinstradamento realizza due
    politiche per garantire efficienza nella rete
  • Leaky Bucket
  • messaggi rimasti nella coda di attesa per un
    tempo gt timeout
  • messaggi che arrivano quando già NMAX messaggi
    stanno venendo processati

21
La rete Ants politiche di efficienza
  • Routing sulla base della priorità del messaggio
  • I messaggi oltre alla tipologia determinata dal
    campo type sono divisi in classi. Ogni classe ha
    una sua priorità di instradamento stabilita sulla
    base della dimensione media (politica Max-min
    share).
  • Messaggi semplici (vuoti) e Messaggi di Controllo
    sui Servizi
  • Messaggi di Richieste di Servizio
  • Messaggi di Dati
  • La politica di priorità tra i messaggi di una
    stessa classe è
  • la stessa che Java applica a Thread con medesima
    priorità
  • bloccati su un lock (tipicamente
    nondeterminismo).

dimensione crescente
22
La rete Ants trasporto/sessione
  • A tale livello vengono usati i servizi messi a
    disposizione da quello sottostante per cercare
    risorse sulla rete e realizzare connessioni
    sicure tra gli end-point (Scambio DH AES) con
    le quali effettuare comunicazioni sulla rete.
  • Messaggio di query (broadcast)

Corpo del messaggio risorsa disponibile inviata
nella risposta (hash MD5 e info aggiuntive)
Corpo del messaggio vuoto
Trasporto/Sessione
Link/Rete
asdhajsjhjkshdakjsj
ID type 2 Sorgente Destinazione TTL
ID type 1 Sorgente Destinazione TTL
Chiave pubblica RSA Stringa di query
Chiave pubblica RSA Stringa di query
Header del messaggio di query porta le
informazioni per il routing a livello di Rete
Header del messaggio di acknowledge per una query
porta le informazioni per il routing a livello
di Rete e per la query
23
La rete Ants trasporto/sessione
  • Tracciata la strada allindietro grazie
    allacknowledge inviato (procedimento analogo a
    quanto visto nell ARA e nell AODV) si ha a
    disposizione un percorso per inviare messaggi
    bidirezionali tra due nodi.
  • supporto a politica multi-path

Send message
Receive message
Send acknowledge
Receive acknowledge
24
La rete Ants trasporto/sessione
  • Per attuare la comunicazione vera e propria viene
    attuato il protocollo seguente per la richiesta
    di una connessione sicura ogni messaggio
    richiede larrivo alla sorgente dellacknowledge,
    come visto sopra, per essere considerato
    delivered, nel caso in cui si perda
    lacknowledge, si procede alla ritrasmissione, di
    qui la ha politica At Least Once

acknowledge
secure connection request
message
received secure connection request
retransmission timeout
key computation
lost acknowledge
secure connection request Retransmission same
msg ID
received secure connection request ignored,
already processed
send secure connection response
received secure connection response found
pending request
secure channel created
25
La rete Ants trasporto/sessione
  • Il protocollo mostrato è facilmente estendibile
    ed è possibile introdurre unidentificazione
    sicura nella creazione del canale ad esempio
    utilizzando certificati X.509.
  • Una volta stabilita una connessione sicura si ha
    a disposizione un canale per la comunicazione con
    laltro end-point.
  • scambio di messaggi
  • definizione di nuovi tipo di messaggio
  • Si hanno a disposizione tutti gli strumenti per
    implementare politiche consistenti ed affidabili
    di comunicazione
  • è possibile sapere se un messaggio arriva con
    successo (scompare dalla lista dei propri
    messaggi) o fallisce (compare nella lista dei
    messaggi falliti no route found oppure timeout).
  • Come già spiegato la politica di invio è At Least
    Once, quindi a livello di Trasporto/Sessione
    bisognerà gestire la possibilità che un messaggio
    venga recapitato più volte ed eliminare i
    duplicati.

26
La rete Ants trasporto/sessione
  • Servizi esistenti sviluppati sullinfrastruttura
    di rete con protocolli a scambio di messaggi
  • Invio di una query/Invio di una risposta ad una
    query
  • Pulling di una risorsa file o di parte di essa
    numero definito di byte ad un certo offset
    presente sullaltro end-point
  • Pulling della dimensione di una risorsa file
    presente sullaltro end-point
  • Estensioni facilmente sviluppabili
    sullinfrastruttura di rete con protocolli a
    scambio di messaggi
  • Invio di messaggi di testo tra nodi della rete
  • route discovery tramite query in broadcast per
    stabilire se un nodo è on-line oppure no

27
La rete Ants applicazione
  • Motore per recuperare risorse da sorgenti
    multiple
  • generazione di piani di download non sequenziali
    basati su LFSR
  • Condivisione di risorse parziali durante il
    recupero
  • supplisce insieme ai piani di download non
    sequenziale alla mancanza di sistemi di code per
    le richieste
  • Ricerca automatica di sorgenti per la risorsa che
    deve essere recuperata
  • query automatizzate a intervalli di tempo
    regolari
  • Supporto a query strutturate testuali

28
Estensioni future
  • Sviluppare estensioni a livello di Sessione
  • identificazione sicura tra nodi tramite
    certificati X.509
  • Supportare nuovi protocolli sopra il livello di
    sessione
  • lHTTP sulla connessione sicura che viene
    stabilita a livello di Sessione
  • Aggiungere funzionalità a livello applicativo
  • supporto a messaggi di testo tra end-point
    connessi.
Write a Comment
User Comments (0)
About PowerShow.com