I2P
I2P
Was ist I2P?
I2P ist eine Java Anwendung, die ein Netzwerk aus allen I2P Teilnehmern aufbaut, in jenem jeder anonym alle Webdienste nutzen können. Dabei nutzt I2P die IP Adressen der Teilnehmer nur zum direkten Verbinden von einem Teilnehmer zu einem anderen, alle anderen Aktionen (wie z.B. das Anbieten von einem Webservice oder das Aufrufen eines dieser Services) werden mit sogenannten "Destination IDs" gehändelt. Dieses sind 512bit lange Public Keys, die unabhängig von der IP (und der I2P Router ID) sind. Somit wird in I2P nicht versteckt, das eine IP (bzw. dessen PC) an I2P teilnimmt, es wird nur versteckt, welche Services diese IP (der PC) anbietet und nutzt. Alle transportierten Daten werden in 3 Schichten verschlüsselt: End-To-End Verschlüsselung, Tunnel-Verschlüsselung und Hop-to-Hop-Verschlüsselung.
Wie funktioniert es?
Um dieses Ziel zu erreichen werden ähnlich zu TOR Tunnel aufgebaut. Der Server (Anbieter eines Services) baut seinen EINgangs-Tunnel über 0-7 andere I2P Router auf während der Client (Nutzer eines Services) seinen AUSgangs-Tunnel über 0-7 andere I2P Router aufbaut. Dabei entscheidet der Server über den Weg seines EINgangs-Tunnels (er sucht die 0-7 anderen I2P Router aus) und der Client über seinen AUSgangs-Tunnels. Somit gehen die Daten bei einer Anfrage vom Client über dessen AUSgangs-Tunnel und durch den EINGangs-Tunnel des Servers bis zum Server: Client -> AUS-TUNNEL -> EIN-TUNNEL -> Server. Der Weg der Daten vom Server zum Client geschieht über 2 weitere Tunnel, dieses mal in umgedrehter Reihenfolge: Server -> AUS-Tunnel -> EIN-TUNNEl -> Client. So das für jeden Service jeweils ein EIN und ein AUS Tunnel bestehen, ebenso bei jedem Client ein EIN und ein AUS Tunnel. Diese Tunnel werden alle 10 Minuten neu aufgebaut und nach max. 11 Minuten wird jeder Tunnel zwangsweise beendet.
Welche Anwendungen gibt es?
Neben einem eingebautem Jetty Server zum schnellen anbieten von anonymen Webseiten (sogenannten Eepsites) gibt es noch: -IRC -Gnutella Client I2PHex -eMule Client iMule -diverse torrent Clients -I2P Messenger a la MSN/ICQ/AIM -EMail (anonym auch nach extern) -2 Out-Proxys (zum browsen von normalen Webseiten)
Was kann I2P nicht?
I2P ist nicht dazu gedacht, zu normalen Webservices zu verbinden. Z.B. besucht man normale Webseiten weiterhin am besten mit TOR oder chattet auf den üblichen IRC Servern mit TOR. Auch kann I2P nicht die normalen Torrents "anonymisieren". I2P ist ein internes Netzwerk, alle Anwendungen müssen leicht adaptiert werden um einerseits mit den Destintion IDs zurecht zu kommen und andererseits um möglichst wenig komprimierende Daten preis zu geben. Z.B. sender jeder IRC Client die IP seines PCs ungefragt mit an den IRC Server. IRC und HTTP Verbindungen klappen in I2P mit den üblichen IRC Programmen und Webbrowsern - die Daten werden im I2P Router gefiltert (Header und IP Adressen). Dennoch sollte man sich gewiss darüber sein, das normalew Browser NICHT für den anonymen Gebrauch gedacht sind!
Auch kann I2P nicht mit der Geschwindigkeit der normalen Webclients mithalten. Da jedes Datenpaket per default über min. 4 andere PCs geleitet wird, werden z.B. aus 10 MB Traffic vom Server bis zum Client 50 MB Traffic (für das gesamte I2P Netz). Auch durch die Verschlüsselung und generelle Latenzen im Netzwerk werden die Datenraten stark gesenkt. Die übliche Bandbreite auf einem Tunnel beträgt ca. 5-10 kb/sec. Jedoch können einzelne Anwendungen mehrere Tunnel bündeln und so auf Datenraten von >50 kb/sec kommen.