mirror of
https://github.com/fazo96/tesina.git
synced 2025-03-11 20:48:38 +01:00
aggiornamento presentazione e approfondimento file sharing
This commit is contained in:
parent
dc421cc2d5
commit
2b46421d96
@ -1,12 +1,14 @@
|
||||
# Cloud Storage
|
||||
|
||||
Con __Cloud Storage__ si intende l'_immagazzinare dei dati in remoto_, utilizzando _un servizio offerto da una terza parte_. Questo sistema presenta molteplici vantaggi:
|
||||
Con __Cloud Storage__ si intende l'_immagazzinare dei dati in remoto_ a scopo di File Sharing, File Hosting o backup personale, utilizzando _un servizio offerto da una terza parte_. Questo sistema presenta molteplici vantaggi:
|
||||
|
||||
- i dati sono accessibili da ovunque sia presente una connessione a internet
|
||||
- è possibile dare l'accesso ai dati a qualcuno senza doverli trasferire fisicamente
|
||||
- non si è limitati dallo spazio disponibile sul proprio dispositivo
|
||||
- non è necessario sincronizzare le informazioni manualmente tra dispositivi diversi
|
||||
|
||||
Con __File Sharing__ si intende la condivisione di file tra utenti, ad esempio un documento che coinvolge i propri colleghi o amici e parenti. Con __File Hosting__ si intende invece la condivisizone di file tra utenti su larga scala, ad esempio un cortometraggio distribuito liberamente in rete e scaricato da milioni di persone. Spesso i __provider__ che offrono questi servizi (come Dropbox, Google Drive o Mega) offrono entrambe le soluzioni.
|
||||
|
||||
I più diffusi servizi di __Cloud Storage__ sono __Google Drive__ e __Dropbox__.
|
||||
|
||||
## Vulnerabilità e problemi
|
||||
@ -29,12 +31,32 @@ La maggior parte delle problematiche del __Cloud Storage__ sono derivate da __ce
|
||||
- funzionano anche in una rete locale non connessa a Internet
|
||||
- sono limitati solo dalla _potenza di calcolo_ dei dispositivi e dalla _qualità della connessione_ tra loro
|
||||
|
||||
I più diffusi sistemi di _Cloud Storage_ decentralizzati sono __Bittorrent Sync__ e __Syncthing__.
|
||||
I più diffusi sistemi di _File Sharing_ decentralizzati sono __Bittorrent Sync__ e __Syncthing__, mentre per il _File Hosting_ su larga scala il servizio dominante è __BitTorrent__ seguito da _E-Mule_.
|
||||
|
||||
### Bittorrent
|
||||
|
||||
BitTorrent è un __protocollo__ di __file hosting__ su larga scala che permette di creare un file chiamato __torrent__ molto leggero (pochi kilobyte) che, tramite un client __BitTorrent__, può essere aperto per contattare gli utenti che possiedono il/i file descritti dal torrent per scaricarli direttamente dai loro computer, senza passare per alcun server se non il __tracker__ necessario per trovare gli indirizzi __IP__ di chi possiede il file.
|
||||
|
||||
Il file __.torrent__ contiene semplicemente:
|
||||
|
||||
- il nome e la dimensione dei file contenuti
|
||||
- il/i __tracker__ a cui collegarsi per trovare gli utenti che possiedono i file
|
||||
|
||||
Tramite __tracker__, gli utenti pubblicizzano il fatto di possedere i file (o parte dei file) di un determinato __torrent__ in modo da trovare gli interessati e diffondere ulteriormente i file. Questo significa che:
|
||||
|
||||
- un __.torrent__ popolare è molto più veloce da scaricare. In gergo viene chiamato __healthy torrent__.
|
||||
- un __.torrent__ abbandonato è impossibile da scaricare, rendendo persi per sempre i dati contenuti. Questo viene chiamato __dead torrent__. Questo problema non esiste se vengono
|
||||
|
||||
In particolare, coloro che hanno il __100%__ dei dati del torrent ma rimangono connessi sono chiamati __Seed__ perchè fanno da __seme__ per la diffusione dei dati, mentre gli altri sono chiamati __peer__. I __leech__, invece, sono coloro che scaricano di dati ma non li redistribuiscono e sono ovviamente nocivi per la vita dei __torrent__.
|
||||
|
||||
BitTorrent supporta anche __crittografia__ e __hole punching__ per superare __NAT__ non simmetrici. Utilizza principalmente __UDP__ per le connessioni. A causa della decentralizzazione e della conseguenza difficoltà nel bloccare l'accesso ai file, viene usato spesso dai __pirati informatici__ ma a differenza dall'__opinione popolare__, è usato solo parzialmente dai __pirati__ ed è __illegale__ solo se usato per distribuire materiale protetto da copyright senza permesso.
|
||||
|
||||
### Bittorrent Sync
|
||||
|
||||
__Bittorrent Sync__ (anche detto __BTSync__) è un software proprietario di __Bittorrent Incorporated__ che implementa il __Cloud Storage decentralizzato__.
|
||||
__Bittorrent Sync__ (anche detto __BTSync__) è un software proprietario di __Bittorrent Incorporated__ che implementa il __file sharing decentralizzato__.
|
||||
|
||||
Il software è disponibile per __Windows__, __GNU/Linux__, __OSX__, __Android__, __iOS__, __Windows Phone__ e __Kindle Fire__.
|
||||
|
||||
Differisce da __BitTorrent__ poichè Sync, come si può capire dal nome, permette la _sincronizzazione_ dei dati usando il protocollo BitTorrent, senza limitarsi alla _diffusione_ come le implementazioni standard di quest'ultimo.
|
||||
|
||||
Esso è però considerato dalla comunità come una __soluzione parziale__ al problema del Cloud Storage, perchè Bittorrent Sync è una __tecnologia proprietaria, chiusa__ e dunque __potenzialmente inaffidabile__ dal punto di vista __della sicurezza e della privacy__.
|
||||
|
@ -10,7 +10,7 @@ il protocollo, in breve, definisce che:
|
||||
- ogni messaggio è __firmato__ con la chiave privata del mittente e __interamente crittografato__ con la chiave pubblica del destinatario.
|
||||
- l'unica informazione visibile del messaggio è il __TTL__ che ha lo scopo di evitare il __flooding__ della rete con lo stesso messaggio
|
||||
- i messaggi rimangono nella rete solo per qualche giorno, poi sono persi per sempre se il mittente non decide di reinviare
|
||||
- è necessario completare un __Proof Of Work__ (spiegato nel capitolo Bitcoin di questo documento) per l'invio di un messaggio
|
||||
- è necessario completare un __Proof Of Work__ (illustrato nel capitolo Bitcoin di questo documento) per l'invio di un messaggio
|
||||
- la rete implementa meccanismi __anti-flooding__ per evitare la saturazione della stessa
|
||||
|
||||
## Come si usa
|
||||
@ -34,3 +34,17 @@ Essenzialmente, il protocollo __Bitmessage__ è molto semplice, infatti ogni nod
|
||||
|
||||
In realtà, esso descrive procedure di __proof of work__ e __anti flooding__ molto complesse che permettono il corretto funzionamento della rete e il blocco di eventuali attaccanti.
|
||||
|
||||
## Confronto con E-Mail
|
||||
|
||||
La maggior parte dei problemi di __PyBitmessage__ derivano dal suo alto livello di sicurezza, che porta però a __bassa accessibilità__ e mancanza di __comodità__ nell'uso del software.
|
||||
|
||||
Alcuni dei maggiori problemi di accessibilità del software sono:
|
||||
|
||||
- mancanza di __client avanzati__ che invece esistono per le __E-Mail__ (ad esempio Mozilla _Thunderbird_ o Microsoft _Outlook_) e permettono di organizzare in maniera avanzata i messaggi
|
||||
- impossibilità di un'istanza del software di ricevere messaggi _non destinati ad essa_ (a scopo di _caching_). Anche se in futuro fosse possibile, sarebbero necessarie le __chiavi private__ di accesso dei destinatari
|
||||
- impossibilità (per ora) di usare __indirizzi arbitrari__ come ad esempio _nome.cognome@azienda.it_, costringendo invece gli utenti ad usare indirizzi auto generati impossibili da memorizzare
|
||||
- elevato uso di __risorse hardware__ ed elevata __congestione di rete__ causata dal software
|
||||
- mancanza di __client per tutte le piattaforme__ e di __client web__, questi ultimi perchè non permetterebbero di mantenere la sicurezza.
|
||||
- non ancora supportato l'uso di __password__ per proteggere le proprie chiavi private.
|
||||
|
||||
Finchè non viene trovata soluzione ad almeno _parte_ di questi problemi, BitMessage __non è pronto__ per rimpiazzare le __E-Mail__.
|
||||
|
@ -32,14 +32,23 @@ La messaggistica istantanea (spesso arracchita con __VoIP__ (telefonate via Inte
|
||||
|
||||
## Soluzioni
|
||||
|
||||
Risolvere questo problema è molto difficile, poichè un sistema di messaggistica _decentralizzata_ che supporti il __VoIP__ è molto difficile da realizzare. Attualmente in svilppo esistono __Ricochet__ e __Tox__, mentre un'alternativa matura ma non più in evoluzione è __TorChat__.
|
||||
Risolvere questo problema è quasi impossibile, poichè a causa delle caratteristiche richieste, un sistema di messaggistica _decentralizzata_ che supporti il __VoIP__ è molto difficile da realizzare.
|
||||
|
||||
__Perchè?__
|
||||
|
||||
Innanzi tutto, un sistema di messaggistica istantanea richiede che il destinatario riceva sempre i messaggi a lui inviati e nel caso sia offline i __server__ mantengono i messaggi in memoria in modo da inviarli appena il destinatario si __collega__. Inoltre, i __server__ fungono da _ponte_ per l'invio dei messaggi in modo che sia sempre possibile il trasferimento, infatti __una connessione diretta tra interlocutori presenta una serie di problemi__, tra cui:
|
||||
|
||||
- ogni interlocutore deve conoscere l'indirizzo __IP__ di almeno uno dei coinvolti nella conversazione: questo può essere risolto usando un __DHT__ e/o uno o più __tracker__, come fanno gli altri servizi decentralizzati, ad esempio __BitTorrent__ usa entrambe le soluzioni per massimizzare i guadagni.
|
||||
- se due utenti si trovano entrambi dietro un __NAT__ diverso, si verifica la situazione molto comune chiamata __NAT simmetrico__ che rende quasi impossibile la connessione diretta tra i due. Questo è risolvibile creando una connessione __indiretta__ tra gli interlocutori, passando per altri nodi, oppure incaricando altri nodi di consegnare i messaggi in maniera simile alla soluzione di __Bitmessage__.
|
||||
- difficoltà di immagazzinare i __metadati__ come, nel caso di conversazione di gruppo, il nome del gruppo o la storia di messaggi o il profilo degli utenti, perchè la mancanza di __server centrali__ rende potenzialmente __inaffidabile__ ogni utente. Questo può essere risolto creando un sistema di metadati distribuito simile alla soluzione di __Freenet__, usando firme digitali e crittografia per definire i permessi di modifica.
|
||||
- impossibilità di scambiare messaggi se due utenti __non sono online contemporaneamente__. Questo può essere risolto mantenendo una __cache distribuita__ e/o mantenendo in circolo i messaggi nella rete, in maniera simile alla soluzione di BitMessage.
|
||||
|
||||
Questi problemi sono quasi tutti risolvibili in qualche modo, ma con enorme difficoltà. Attualmente in svilppo esistono alcuni servizi di messaggistica e/o __VoIP__ sperimentali tra cui __Ricochet__ e __Tox__, mentre un'alternativa matura ma non più in evoluzione è __TorChat__.
|
||||
|
||||
### TorChat
|
||||
|
||||
TorChat è un servizio di messaggistica anonima nato nel 2007 e non più sviluppato attivamente che offre _decentralizzazione_ e _totale anonimato_ appoggiandosi alla rete __Tor__.
|
||||
|
||||
Il software è distribuito online
|
||||
|
||||
### Ricochet
|
||||
|
||||
[Ricochet.im](http://ricochet.im) è un _Software Libero_ sviluppato dal gruppo [Invisible.im](http://invisible.im). Si basa sui __Tor Hidden Services__, offre _anonimato_ e _decentralizzazione_ ed è pensato per essere __facilmente utilizzabile__ anche da utenti non esperti, anche se si trova ancora in stato sperimentale.
|
||||
|
@ -76,19 +76,6 @@ html
|
||||
li è completamente <b>libero</b> e <b>aperto</b>
|
||||
li è accessibile grazie a <b>Tor Browser</b>
|
||||
|
||||
section
|
||||
img.btc(src="http://www.canbike.org/public/images/030114/Bitcoin_Logo_Horizontal_Light-4800px.png")
|
||||
//img.btclogo(src="http://bitstickers.net/wp-content/uploads/2014/02/btc-mono-ring-orange.jpg")
|
||||
//img(src="http://media.tumblr.com/tumblr_lmupioyU7M1qznjpp.png")
|
||||
h3.bullet la prima valuta digitale significativa
|
||||
ul
|
||||
li permette di <b>effettuare transazioni libere e anonime</b>
|
||||
li utilizza una rete <b>decentralizzata</b>
|
||||
li non dipende da <b>terze parti</b>
|
||||
li è accessibile e utilizzabile da chiunque
|
||||
li una singola moneta è arrivata a valere <b>oltre 1000 euro</b>
|
||||
li tramite <b>exchange</b> permette scambi con valute convenzionali
|
||||
|
||||
section
|
||||
h2 Bitmessage
|
||||
h3.bullet un servizio di posta digitale blindato
|
||||
@ -96,7 +83,9 @@ html
|
||||
li rende impossibile <b>origliare</b> messaggi altrui
|
||||
li non permette il <b>tracciamento della sorgente e destinazione</b> dei messaggi
|
||||
li non dipende da <b>terze parti</b>, è <b>decentralizzato</b>, <b>aperto</b> e <b>libero</b>
|
||||
li è accessibile e utilizzabile da chiunque
|
||||
li non permette di utilizzare indirizzi arbitrari
|
||||
li non ancora adatto a <b>utenti meno esperti</b>
|
||||
li richiede alta potenza di calcolo e consuma molta banda
|
||||
|
||||
section
|
||||
img.btsync(src="http://hsto.org/getpro/habr/post_images/2d6/d88/412/2d6d88412032ce8765048bc92eb17a94.png")
|
||||
@ -104,10 +93,10 @@ html
|
||||
h3.bullet servizio di condivisione file decentralizzato
|
||||
ul
|
||||
li non ha bisogno di <b>server</b> di <b>terze parti</b>
|
||||
li i file viaggiano direttamente tra un computer e l'altro
|
||||
li nessuna limitazione di spazio nell'utilizzo
|
||||
li <b>Syncthing</b> si rivolge agli utenti più esperti ma è <b>libero</b>
|
||||
li in alternativa, <b>Bittorrent Sync</b> è un sistema proprietario ma è facilmente utilizzabile
|
||||
li connessioni non sempre <b>affidabili</b>
|
||||
|
||||
section
|
||||
img.tails(src="https://tails.boum.org/contribute/how/promote/material/logo/tails-logo-flat.svg")
|
||||
|
Loading…
Reference in New Issue
Block a user