I2P, Invisible Internet Project, è definito come un livello di rete anonimo a commutazione di pacchetto, di tipo P2P, protetto da crittografia, con lo scopo di proteggere la navigazione e i dati di geolocalizzazione. È stata rilasciata di recente la versione 2.0.0 (sito ufficiale geti2p.net), con vari miglioramenti, ad esempio crittografia SHA-256, che è lo stesso livello di crittografia scelto ad esempio per la Blockchain di Bitcoin.
Una particolarità di I2P è che, essendo P2P non ci sono server coinvolti, ma il singolo utente diventa mittente e destinatario per un nuovo utente (il protocollo I2P si occupa poi della gestione della privacy del blocco, pacchetto che viene trasmesso). A differenza ad esempio di Tor, che funziona in altro modo; su stackexchange.com troviamo la spiegazione:
Is Tor a P2P network?
No, Tor is not inherently a peer-to-peer network. Tor is network of virtual tunnels an is therefore more like a virtual private network (VPN), but differs from the usual VPN in that the the tunnels proceed from your machine to another (the Entry Guard) and then to a second machine and from there to a third machine (the exit node) and finally, to the point to which you are really trying to connect (e.g., a typical website).
Torniamo a I2P. Attenzione che l'indirizzo IP è in reltà visibile ai peer (mittente e destinatario), il funzionamento di I2P funziona in realtà a livelli, strati:
- livello 1: il protocollo I2P nasconde il server ai peer, c'è poi una crittografia end-to-end, anche i router che trasportano il pacchetto, non conoscono il contenuto
- livello 2: tunneling, proxy applicativo che funziona per i protocolli TCP/UDP, viene creato un tunnel con un router su ogni endpoint; viene poi definito un nuovo tipo di connessione, Advanced Encryption Services (AES), che cripta e decripta i dati solamente dagli endpoint del tunnel, in modo da impedire agli altri osservatori di poter decifrare il messaggio
I2P a cosa serve? Lo scopo principale di I2P riguarda la comunicazione anonima resistente alla censura: blog, condivisione file, chat, VoIP. I messaggi sono crittografati, mentre mittente e destinatario di base restano visibili, salvo ulteriori precauzioni aggiuntive. Essendo di tipo P2P, ulteriori vantaggi sono la protezione da attacchi DDoS (se un singolo peer è offline, restano gli altri, non si dipende da un unico server centrale) e i siti non possono essere bloccati in base alla tipologia di contenuto (essendo il contenuto crittografato).
Confronto I2P con Tor: entrambi i servizi sono classificabili come "rete di proxy anonimi". I2P è più veloce rispetto a Tor, I2P è decentralizzato mentre Tor tipicamente ha maggiore centralizzazione; i nodi di Tor non sono allo stesso livello (EntryNodes, IntermediaryNodes, ExitNodes), approfondimento: impostare nazioni specifiche per i nodi Tor. Se lo scopo è navigare nel Dark Web, indirizzi .onion, la scelta necessariamente ricade su Tor.
Tramite particolari configurazioni, è possibile usare Tor e I2P assieme (vpranks.com). Tor e I2P sono comunque due sistemi differenti, ognuno con vantaggi e svantaggi ed è bene ricordarlo, I2P crea la propria rete e consente l'invio di comunicazioni anonime, Tor oltre a consentire l'accesso agli indirizzi .onion, per quanto abbiamo visto, si può dire che consente nel complesso un livello di anonimato maggiore. Interessante (e consigliata!) valutare poi la sovrapposizione di VPN e Tor (prima mi connetto alla VPN, il mio ISP vede l'indirizzo di una VPN che poi si connette a rete Tor e NON il mio indirizzo che mi connetto alla rete Tor, questo aspetto è importante tenerlo in considerazione!).
Infine un'immagine per chiarire in modo semplice le differenze principali fra Tor e I2P.