Sicurezza, Privacy e Anonimato sul Web

Condividere file con Sicurezza

Il Cloud Storage

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 concedere 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

Per promuovere la chiarezza del documento, con File Sharing intendiamo la condivisione di file tra utenti, ad esempio un documento che coinvolge i propri colleghi o amici e parenti. Con File Hosting intendiamo 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

Questa tecnologia presenta anche degli svantaggi:

  • è necessario affidare le proprie informazioni a una terza parte, facendo emergere problematiche di privacy, sicurezza e fiducia;
  • vi sono spesso limiti di spazio o di utilizzo ed è necessario pagare per alleviarli o rimuoverli;
  • non sempre è disponibile una buona connessione a internet;
  • in caso di fallimento dell'infrastruttura della terza parte, i dati privati potrebbero essere divulgati o resi inaccessibili.

La soluzione: i sistemi decentralizzati

La maggior parte delle problematiche del Cloud Storage sono derivate da centralizzazione e delega della gestione a una terza parte. Questi problemi non esistono se vengono utilizzate tecnologie di Cloud Storage decentralizzato, infatti queste tecnologie:

  • funzionano indipendentemente (o quasi, in alcuni casi), senza bisogno di una terza parte, dunque non esiste il problema del fallimento dell'infrastruttura centralizzata gestita dalla terza parte;
  • non hanno bisogno di server per conservare le informazioni, perchè i dati sono inviati direttamente da un dispositivo all'altro;
  • 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 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.

Un utente che entra in possesso di un torrent legato ad esempio a una collezione di cortometraggi amatoriali può, tramite un client Bittorrent, scaricare i file dei cortometraggi dal computer degli altri utenti. I dati si diffondono nella rete partendo dai creatori del torrent.

Il file .torrent contiene semplicemente:

  • il nome e la dimensione dei file legati al torrent;
  • il/i tracker a cui collegarsi per trovare gli utenti che possiedono i file.

Tramite tracker, gli utenti pubblicizzano il fatto di possedere un determinato torrent in modo da trovare gli interessati e diffondere ulteriormente i file o ottenere le parti mancanti. 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.

In particolare, coloro che hanno il 100% dei dati del torrent ma rimangono connessi alla rete 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 dati ma non li redistribuiscono (consumando la preziosa banda in upload dei seed e dei peer) e sono ovviamente nocivi per la vita dei torrent.

BitTorrent supporta anche crittografia e hole punching per superare NAT non simmetrici e promuovere la privacy. Utilizza principalmente UDP per le connessioni. A causa della decentralizzazione e della conseguente 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 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 dei dati come le implementazioni standard di quest'ultimo.

Esso è però considerato dalla comunità come una soluzione parziale al problema del file sharing, perchè Bittorrent Sync è una tecnologia proprietaria, chiusa e dunque potenzialmente inaffidabile dal punto di vista della sicurezza e della privacy.