Il Web peer-to-peer

5

Good Morning Guys, sto attualmente esaminando il Project Maelstorm (BitTorrent Peer-To-Peer Web Browser Project) e una domanda è saltata in mente.

Quando su una rete P2P, gli utenti condividono il file originato da una singola fonte, una volta che il primo utente ha scaricato l'origine, può essere usato un controllo hash per assicurare che il file trasmesso da quell'utente non sia modificato ( Con più utenti, questo blocca anche gli attacchi MITM, perché puoi confrontare una grande quantità di hash e vedere se corrispondono prima di fidarsi di qualcuno).

Ora viene la mia domanda (s):

  • 1: E gli script sul lato server? Ad esempio, supponiamo di avere un sito Web con una pagina di accesso, come verrebbero verificate le mie informazioni sulla password di accesso? Se ciò richiedesse un server principale, non saremo più su un web peer-to-peer, se i file del database fossero anche trasferiti con la struttura del sito web principale, non sarebbe questo:

    • A: insicuro? Le password possono essere sottoposte a hash, ma per quanto riguarda le informazioni personali? (Quale è necessario sul sito web, ad esempio, il tuo indirizzo su facebook?).
    • B: lento? Dal momento che un database può ottenere aggiornamenti costanti (pensiamo a 1.5k utenti che aggiornano costantemente i loro profili), ciò richiederebbe un costante controllo dei file hash, consumando molti dati su entrambe le estremità.
  • 2: DDoSes e Takedowns verrebbero inviati contro cosa? L'essenza del P2P è di bloccare entrambi, se ci fosse ancora un modo client-server per il trasferimento dei dati, non sarebbe facile per il server di database DDOS somone a quello? E per govnt / isps per inviare notifiche di rimozione agli host del server di database?

Grazie e buona giornata. - Fabricio20

    
posta Fabricio20 03.01.2016 - 10:51
fonte

1 risposta

6

Ho riflettuto molto su quest'area negli ultimi due anni e la risposta più semplice a entrambe le tue domande è che una rete totalmente peer-to-peer introdurrebbe nuovi modi di gestire quei processi che risiedono tradizionalmente su un server. Molto probabilmente i siti web peer-to-peer non verranno pubblicati con i dati in linea. Un po 'come Meteor, probabilmente lavoreresti con una versione dei file statici del sito Web e quei file includeranno script che girano sul lato client per popolare la pagina con i dati e inviare comandi / richieste a un "server" esterno, se necessario. In un Web peer-to-peer, il server sarebbe più simile a un'intera rete pubblica di utenti.

Pensa a un sito web come Facebook. Cosa ottieni effettuando l'accesso e tenendo una sessione? In primo luogo, ottieni l'accesso a tutte le informazioni private che sei autorizzato a vedere. Tradizionalmente, il tuo cookie di sessione è tutta l'autenticazione necessaria in una richiesta di accesso ai dati privati.

Ma in una vera infrastruttura peer-to-peer, chi detiene questo dato privato per cominciare? Beh, dovrebbero essere altri pari come te. Anche se puoi dimostrare la tua identità a un pari, non dovrebbero gestire alcuno dei tuoi dati privati in testo semplice. Pertanto, encryption dovrebbe essere una parte enorme di qualsiasi web peer-to-peer sicuro. Quando i dati vengono crittografati correttamente e le chiavi sono gestite con cura, la prova dell'identità è meno essenziale: se puoi decrittografare i dati, sei implicitamente autorizzato ad accedervi.

Torna all'esempio di Facebook, condividere informazioni private potrebbe essere fatto trasmettendo la chiave di decrittazione ai contatti che desideri autorizzare. La misura più vicina alla revoca dell'accesso sarebbe quindi quella di rimuovere completamente i dati o ricodificare e trasmettere una nuova chiave a tutti i contatti rimanenti autorizzati. Per crittografare i dati per un determinato contatto, la rete peer-to-peer probabilmente utilizza la crittografia a chiave pubblica: estrae la chiave pubblica di un contatto, quindi la utilizza per crittografare le trasmissioni private. Con la criptazione pensierosa, i messaggi potrebbero essere archiviati in una rete peer-to-peer senza alcuna preoccupazione per manomissioni o intercettazioni.

Ovviamente, l'autenticazione va oltre i diritti di accesso. Sul vero e tradizionale Facebook, la tua sessione valida ti consente di agire sotto la tua stessa identità: se pubblichi qualcosa sulla tua bacheca, qualsiasi altro utente si fida implicitamente del tuo operato. Puoi replicare questo tipo di cose e con maggiore sicurezza, utilizzando firme digitali per l'autenticazione dei messaggi al volo. Il processo di autenticazione di qualsiasi informazione sul sito come valida si verificherebbe sul lato client e non verrebbero visualizzati post non firmati perché non ci sarebbero informazioni valide sull'autore.

Poiché le informazioni si sposterebbero sulla rete in modo indiscriminato, qualsiasi sistema di condivisione file distribuito dovrebbe costituire una buona base su cui implementare un'infrastruttura come questa. La negazione del servizio dovrebbe, in teoria, essere un compito arduo. Ci sono molti pro e contro per governare la privacy con la crittografia da soli, ma è molto più vero per la vita alla fine della giornata. Non ci sarebbe nessuno da citare in giudizio per rinuncia o cessazione tranne gli utenti stessi (potrebbe essere anonimo), e viene fornito con maggiore integrità ad ogni angolo.

    
risposta data 03.01.2016 - 12:39
fonte

Leggi altre domande sui tag