I2P

From
Revision as of 09:34, 9 April 2013 by Fobian (talk | contribs)
Jump to navigation Jump to search

Informationen zum I2P Projekt

  • I2P = 'Invisible Internet Project'
  • 2003 gegründet
  • Dezentrales, anonymisierendes Netzwerk für sichere Kommunikation
  • "Community-Driver"
  • Entwickler teilweise selbst anonym
  • Finanziert durch Spenden
  • Open Source
  • Geschrieben in JAVA
  • Aktuelle Version: 0.9.5 (2013-03-08)

Netzwerk

Funktionsweise

  • Netzwerkschicht
  • Nachrichtenbasiert (Payload + Management)

Transportprotokolle

  • SSU (Secure Semireliable UDP)
  • NTCP (NIO-based TCP)

Router

  • Software
  • Teil des Netzwerks
  • Traffic-Routing

Destination

  • Anonyme Endpunkte
  • Kryptografische Identifier


Tunnel-Konzept

  • Verbindungen zwischen zwei Routern (end-to-end) ohne Tunnel
    • Sender kann Empfänger identifizieren (z.B. IP-Adresse
    • Empfänger kann Sender identifizieren
    • Anonymität nicht gegeben!
  • Verbindungen zwischen zwei Routern (end-to-end) durch Tunnel
    • Tunneln der Daten durch mehrere Router (mix network)
    • Benötigt Peers (andere Router) zum Tunnelbau

netDb

  • Lokale Datenbank
  • von jedem Router selbst verwaltet
  • enthalten RouterInfo und LeaseSets
  • für Routing nötig
  • verbreitet durch DHT (Distributed Hash Tables)

RouterInfo

  • Informationen zum Kontaktieren von Routern
  • Von Router erstellt und verbreitet
  • Nicht sensitiv, einfache Veröffentlichung möglich
  • Enthaltene Daten
    • Routeridentität (2048-Bit ElGamal PublicKey, X.509-Zertifikat, ...)
    • Kontaktdaten (IP-Adresse/Domain Name, Port)
    • Zeitpunkt der Veröffentlichung (Alter der Informationen)
    • Daten zur Auslastung, Bandbreite, ...
    • ...
    • Signatur der Daten (mit 1024-Bit DSA-Key des Routers)

LeaseSets

  • Informationen zum Kontaktieren eines Endpunkts (Destination)
  • Von Router erstellt und verbreitet
  • Sensitiv, anonyme Verbreitung erforderlich
  • Enthaltene Daten:
    • Leases (Informationen zu Tunnelgateways zu einem Endpunkt)
    • Endpunktidentität (ElGamal, Zertifikati, ...)
    • ...
    • Signatur der Daten
  • Daten pro Lease
    • RouterInfo des Tunnelgateways
    • Tunnel-ID auf dem Router
    • Ablaufdatum

Network Seeding

Problem:

  • Wie findet man erste Peers um die lokale netDB zu füllen?
  • Einzige Lösung: von Nutzern auf Webseiten veröffentlicht RouterInfos müssen von dort importiert werden

Ablauf Tunnel-Aufbau

Sicherheit und Anonymität

Kryptografie

Angriffsvektoren

Vergleich zu TOR

Fazit