Author Topic: Wissenswertes über I2P - Teil1- Grundlagen  (Read 27453 times)

0 Members and 1 Guest are viewing this topic.

Offline postman

  • Advanced
  • ***
  • Posts: 281
  • Karma: +5/-0
  • Planet Peer Community
    • View Profile
Wissenswertes über I2P - Teil1- Grundlagen
« on: February 12, 2005, 11:02:09 PM »
Wissenswertes über I2P  - TEIL I

geschrieben von postman
postman@i2pmail.org

I2P (Invisible Internet Project) ist ein Projekt, welches die Entwicklung eines
anonymisierten Kommunikationsnetzwerks zum Ziel hat. Auf Basis von I2P soll es
möglich sein, verschiedenste, aus dem Internet bekannte Dienste in sicherer und anonymer
Form zu nutzen bzw anzubieten. Zusätzlich soll I2P in Zukunft noch eine Reihe selbst entwickelter
Services zur Verfügung stellen

Bitte werft einen Blick auf www.i2p.net, um näheres zu erfahren.


Das Projekt hat sich  mehrere Ziele gestellt

        - Schutz gegen möglichst viele Bedrohungsszenarien
        - Dezentralität
        - höchstmögliche Skalierbarkeit
        - Anwendbarkeit
        - State of the art anonymität / Kryptoimplementierung

Bitte beachte, dass I2P per se kein klassisches P2P Netzwerk ist!!!

Man kann es AUCH benutzen, um P2P Applikationen damit zu betreiben, jedoch bedürfen
diese einer entsprechenden Portierung. Zum aktuellen Zeitpunkt existiert bereits ein Bittorrent Port für I2P, sowie
ein Port des Phex Gnutella Client, genannt i2phex.

Das eigentliche Design sieht I2P als in sich geschlossenes Netzwerk. In- und Outproxies
existieren jedoch, um Dienste wie Internet HTTP Proxys oder das Senden/Empfangen von
E-Mails mit dem Internet zu ermöglichen.

-> Gegen welche Bedrohungsszenarien schützt mich I2P?

Beim Design wurden verschiedene sogenannte Thread Models beachtet.
Welche Thread Models es gibt, und mit welchen Mitteln I2P Euch vor
dem erfolgreichen Durchführen ebendieser schützen soll, könnt Ihr unter
http://www.i2p.net/how_threatmodel
nachlesen. Ich werde später eine Einführung in die grundlegenden
Anonymisierungstechniken geben.


-> Wie ist der aktuelle Stand des Netzwerks?

Momentan befindet sich I2P in der Version 0.6.1.7 kurz vor dem Versionssprung zu 0.6.2.
Die I2P Knoten kommunizieren auf Basis eines UDP gestützten Protokolls namens SSU
(Semireliable Secure UDP) miteinander. Seit der Version 0.6 wird dieses Verfahren standardmässig
genutzt, und ist damit die Grundlage für eine Skalierbarkeit des Netzes. Aktuell nehmen am Netz
ca. 500-700 Knoten teil. Die Tendenz ist stabil wachsend. Eine offizielle Veröffentlichung und
Bekanntmachung ist mit der Version 1.0 geplant. Folgende Dienste wurden/werden erfolgreich
im I2P Netzwerk betrieben:

        -> Anonym gehostete Webseiten ( sogenannte eepsites )
           (inkl. Supportforum)
        -> Anonymes IRC
        -> Anoynme E-Mail ( inklusive Mail vom/zum Internet )
        -> Anonymes Bittorrent
        -> Anonymer NNTP Dienst
        -> jabber/IM Dienste
        -> gnutella Dienst ( i2phex)


-> Wie stellt denn I2P eigentlich Anonymität her?

(Die Definition des Begriffes Anonymität wird hier grosszügigerweise übergangen :) )
Diese Frage ist für jeden interessant, der sich die (berechtigte) Frage stellt, wie ein
System jemanden schützen kann, obwohl am Ende trotzdem Rechner mit Hilfe von IP Paketen Daten austauschen.
Ich werde versuchen, es vertändlich zu machen...

Als erstes möchte ich sagen:

        IP ADRESSEN SIND KEIN GEHEIMNIS IN I2P

Ich habe so manch einen erlebt, der diese Erkenntnis schockierend fand
Aber es geht nicht anders,denn die I2P-Router müssen sich ja trotzdem
miteinander auf Basis von Internettechnologien unterhalten. Und das
verlangt IP

Es ist aber ein Geheimnis, welches DEINE IP ist

I2P erlaubt dir Dienste im I2P Netzwerk zu nutzen, ohne dass eine der beteiligten Parteien
(auch die eingebundenen Router selbst) wissen, dass du Dienste nutzt oder welche du nutzt. Gleichzeitig erlaubt es dir,
Services im I2P Netzwerk anzubieten, ohne dass deine Nutzer wissen WO ( also auf welchem Router ) der Dienst
läuft und ohne dass du weisst, von WO aus deine Nutzer zugreifen. Server und Client geniessen den gleichen Schutz.

Ein wichtiger Aspekt in Bezug auf die Anonymität im I2P Netzwerk ist daher die Gesamtanzahl aktiver Router.
Je grösser sie ist, desto besser. ( Anonymity likes Company). Im aktuellen Moment
(500-700 Knoten)  ist diese noch nicht sonderlich hoch


(aushol)

Normale Internetrechner kommunizieren über TCP / IP. IP sorgt dafür, dass ein Paket im
Netzwerk seinen Weg findet und TCP ( manchmal auch UDP ) adressiert einen Dienst auf dem Rechner ( Port )
und sorgt für Flusskontrolle / Vollständigkeit / Datenintegrität. Das System klappt, ist recht schnell, aber leider
direkt und ganz und gar nicht verschleiernd.
Manche Leute benutzen deshalb Proxies für bestimmte Dienste und verschleiern damit gegenüber dem Leistungsanbieter
die tatsächliche Absenderidentität. Diese ist DANN aber beim Proxybetreiber immer noch zu finden. Der Proxy
schützt in dem Moment auch nur den Client, da dieser sich vor dem Dienstanbieter verschleiert, nicht aber den Anbieter,
da dessen IP / Name natürlich öffentlich bekannt ist. Dazu kommt das der Proxybetreiber meine Clientidentität kennt
und unter Umständen nicht als vertrauenswürdig zu bewerten ist.
Normale Internetkommunikation ist dazu nicht verschlüsselt, also mit bestimmtem Aufwand mit zu schnüffeln.

Zuerst sollte man sagen: Alles, was I2P Router kommunizieren, ist verschlüsselt.
(Ich gehe daruf jetzt nicht näher ein)

 Dazu kommt..
Wenn dein I2P Knoten hochfährt, baut er mehrere sogenannte Tunnel auf. Zum Tunnelaufbau werden dabei neben
deinem eigenen Knoten IMMER auch andere I2P Knoten benötigt, die dir dabei helfen. Ein Tunnel ist dabei
ein "Kommunikationskanal" über den dein Router Daten in das Netzwerk schickt, oder über den dein Router Daten aus dem
Netzwerk erhält. Für beide Richtungen werden unterschiedliche Tunnel aufgebaut. Dein Router sendet also Daten über andere
Tunnel, als er Daten empfängt. Meist baut dein Router nach dem Hochfahren zwischen 3-10 ausgehende Tunnel und einige
eingehende Tunnel auf.



              +---------+ ausgehende Tunnel
              |dein     | -------------->
              |Router   | -------------->
              |         | -------------->
              |         |
              |         | Eingehende Tunnel
              |         | <--------------
              |         | <--------------
              |         | <--------------
              +---------+


Ausgehender Tunnel in Nahaufnahme


+--------+        +---------+       +---------+     +--------+
|Dein    |        |HOP 1    |       |HOP  2   |     |Endpoint|
|Router  |------->|Router   |------>|Router   |---->|Router  |--------->
|        |        |der macht|       |der macht|     |der mit |Daten VON mir treten hier
|        |        |mit      |       |mit      |     |macht   |in das Netzwerk und
+--------+        +---------+       +---------+     +--------+in das Gateway eines
                                                              eingehenden Tunnels



Kurz gesagt:
Ein Tunnel ist ein virtuelles Konstrukt. Er kommt zustande,
wenn dein Router andere Router bittet, ihm zur Datendurchleitung
zur Verfügung zu stehen. Im obigen Beispiel ist es ein ausgehender Tunnel,
der dargestellt wird
Alle, die im I2P Netzwerk Daten von mir empfangen, sehen nicht,
von welchem Router die Daten ursprünglich stammten. Statt dessen
erscheint der Endpoint Router als derjenige der die Daten versandt hat.



Das gleiche Schema kann man aber auch umkehren:


+--------+        +---------+       +---------+     +--------+
|Dein    |        |HOP 1    |       |HOP  2   |     |Gateway |
|Router  |<-------|Router   |<------|Router   |<----|Router  |<---------
|        |        |der mit  |       |der macht|     |der mit |Daten FÜR mich treten hier
|        |        |macht    |       |mit      |     |macht   |aus dem Netzwerk
+--------+        +---------+       +---------+     +--------+in das Gateway meines
                                                              eingehenden Tunnels


Daten, die meinen Router als Ziel haben, werden ebenfalls über einen
Tunnel an mich gesandt, die Daten treten am inbound Gateway ein hüpfen über die
anderen mitmachenden Router und werden dann von mir weiterverarbeitet.

Dein eigener Router macht übrigens auch mit. Abhängig von der Geschwindigkeit
deiner Anbindung und weiterer Konfigurationen ist dein Router nicht nur Anfangspunkt und Endpunkt deiner
eigenen Tunnel, sondern partizipiert an den ein/ausgehenden Tunnel anderer Router. Somit ergibt sich
eine Vermaschung, die eine Rückverfolgung bzw Datenanalyse erschwert. Damit transportierst du auch
den Verkehr anderer über deinen Router, welches es leichter macht, bestreiten zu können, dass dieser Verkehr
für dich selbst bestimmt war. ( Plausible Deniability )

Dein Router ist dabei ständig am Tunnel aufbauen, abbauen und umbauen und wird von anderen Routern
auch immer wieder gebeten an neuen Tunneln zu partizipieren. Es handelt sich um ein hochdynamisches System.

Das alles ist der Grundstein für ein leistungsfähiges gemixtes / verschlüsseltes Netzwerk.
Es ermöglicht  aber noch keine Dienste und kein Routing im Netzwerk.
Wie das funktioniert, erkläre ich im zweiten Teil

postman
« Last Edit: December 08, 2005, 12:40:26 PM by postman »
--
postman@i2pmail.org
Postmaster and Administrator
http://hq.postman.i2p - I2P's free and anonymous Mailsystem

Offline Markus

  • Administrator
  • Elite
  • *****
  • Posts: 5740
  • Karma: +25/-8
    • View Profile
    • http://www.planetpeer.de
Re: Wissenswertes über I2P - Teil1- Grundlagen
« Reply #1 on: February 13, 2005, 10:55:17 AM »
@postman:

Wow, das nenne ich eine echt geniale Einführung in I2P :D

Verständlich geschrieben und somit auch einsteigerkompatibel - dafür gibt´s von mir erst einmal ein ganz dickes Danke für deine Arbeit bzw. diesen Artikel ;D


Cheers,
Markus

Offline Nemo

  • Global Moderator
  • Elite
  • *****
  • Posts: 1303
  • Karma: +27/-0
    • View Profile
Re: Wissenswertes über I2P - Teil1- Grundlagen
« Reply #2 on: February 13, 2005, 02:08:11 PM »
@postman:

Wow, das nenne ich eine echt geniale Einführung in I2P :D

Verständlich geschrieben und somit auch einsteigerkompatibel - dafür gibt´s von mir erst einmal ein ganz dickes Danke für deine Arbeit bzw. diesen Artikel ;D
Ich schliesse mich dem Lob an. Diese Einführung ist wirklich gelungen!  :)

MfG,
Nemo.

Offline postman

  • Advanced
  • ***
  • Posts: 281
  • Karma: +5/-0
  • Planet Peer Community
    • View Profile
Re: Wissenswertes über I2P - Teil1- Grundlagen
« Reply #3 on: February 13, 2005, 03:02:01 PM »
@postman:

Wow, das nenne ich eine echt geniale Einführung in I2P :D

Verständlich geschrieben und somit auch einsteigerkompatibel - dafür gibt´s von mir erst einmal ein ganz dickes Danke für deine Arbeit bzw. diesen Artikel ;D
Ich schliesse mich dem Lob an. Diese Einführung ist wirklich gelungen!  :)

MfG,
Nemo.

Hallo,

gut, dass es euch gefallen hat. Ich hoffe, es war verständlich :)
Wenn Ihr noch Lust und Laune habt... Es gibt bereits einen zweiten Teil, der
das grundlegende Bild vervollständigt. Bitte sagt mir, ob Ihr das ganze verstehen
konntet. Mein Ziel ist es, dass es jeder, der sich mit Netzwerken und TCP/IP
etwas auskennt, begreifen kann, worum es dabei geht. Es wird noch einen
dritten Teil geben. Mal sehen, wann ich Zeit dafür habe :-)

grüsse

postman
--
postman@i2pmail.org
Postmaster and Administrator
http://hq.postman.i2p - I2P's free and anonymous Mailsystem

Offline Nemo

  • Global Moderator
  • Elite
  • *****
  • Posts: 1303
  • Karma: +27/-0
    • View Profile
Re: Wissenswertes über I2P - Teil1- Grundlagen
« Reply #4 on: February 13, 2005, 05:17:07 PM »
Es gibt bereits einen zweiten Teil, der
das grundlegende Bild vervollständigt. Bitte sagt mir, ob Ihr das ganze verstehen
konntet.
Ich fand beide Teile (aus meiner Sicht) leicht verständlich und angenehm zu lesen.  :D
Bin gespannt auf den dritten Teil...  ;D

MfG,
Nemo.

Offline Markus

  • Administrator
  • Elite
  • *****
  • Posts: 5740
  • Karma: +25/-8
    • View Profile
    • http://www.planetpeer.de
Re: Wissenswertes über I2P - Teil1- Grundlagen
« Reply #5 on: February 13, 2005, 07:09:37 PM »
Es gibt bereits einen zweiten Teil, der
das grundlegende Bild vervollständigt. Bitte sagt mir, ob Ihr das ganze verstehen
konntet.
Ich fand beide Teile (aus meiner Sicht) leicht verständlich und angenehm zu lesen.  :D
Bin gespannt auf den dritten Teil...  ;D

MfG,
Nemo.
Diesmal schließe ich mich Nemo an: Teil 2 ist ebenfalls sehr anschaulich erklärt und dürfte auch für einen Nicht-Informatiker verständlich und nachvollziehbar geschrieben sein :D
« Last Edit: February 13, 2005, 07:11:47 PM by Markus »


Cheers,
Markus

Offline zulups

  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Wissenswertes über I2P - Teil1- Grundlagen
« Reply #6 on: December 07, 2005, 11:30:53 AM »
auch von mir ein dankeschön für diese ausführungen.wirklich einfach beschrieben.
ciao zulups

Offline echelon

  • Moderator
  • Elite
  • *****
  • Posts: 327
  • Karma: +8/-0
    • View Profile
Re: Wissenswertes über I2P - Teil1- Grundlagen
« Reply #7 on: February 16, 2008, 12:35:04 PM »
Hi!

Sollte anzumerken sein, daß bitte die Links geändert werden auf www.i2p2.de :-)

echelon