Halaman ini terakhir diperbarui pada sNovember 2016.

Tor / Onion Routing

[Tor] [Onion Routing]

Tor dan Onion Routing keduanya menganonimkan jaringan proxy, memungkinkan orang untuk menggunakan tunnel melalui campuran jaringan latency rendah. Dua perbedaan utama antara Tor/Onion-Routing dan I2P adalah lagi-lagi terkait dengan perbedaan model ancaman dan desain out-proxy (meskipun Tor juga mendukung hidden service). Selain itu, Tor mengambil pendekatan berbasis direktori - menyediakan titik terpusat untuk mengelola keseluruhan 'tampilan' dari jaringan, serta mengumpulkan dan melaporkan statistik, berbeda dengan jaringan I2P di mana database dan peer selection terdistribusi.

Fungsi outproxy di I2P/Tor memang memiliki beberapa kelemahan substansial terhadap penyerang tertentu. Begitu komunikasi meninggalkan mixnet, global passive adversaries bisa lebih mudah melakukan analisis lalu lintas. Selain itu, outproxies memiliki akses teks dari data yang ditransfer kedua arah. Outproxies rentan terhadap penyalahgunaan dan semua masalah keamanan lainnya yang kita kenal di lalu lintas internet normal.

Namun, banyak orang tidak perlu khawatir dengan hal tersebut karena mereka berada di luar model ancaman mereka. Demikian juga, di luar lingkup fungsional I2P (formal) (jika orang menginginkan untuk membangun fungsionalitas di atas Lapisan komunikasi anonim, mereka bisa). Bahkan, beberapa pengguna I2P saat ini memanfaatkan Tor untuk outproxy.

Perbandingan Terminologi di Tor dan I2P

Walau Tor dan I2P serupa dalam banyak hal, sebagian terminologinya berbeda.

TorI2P
CellPesan
KlienRouter dan Klien
CircuitTunnel
DirektoriNetDb
Directory ServerFloodfill Router
Entry GuardPeer cepat
Entry NodeInproxy
Exit NodeOutproxy
Hidden ServiceHidden Service, I2P Site or Destination
Hidden Service DescriptorLeaseSet
Introduction pointInbound Gateway
NodeRouter
Onion ProxyI2PTunnel Client (kurang atau lebih)
Onion ServiceHidden Service, I2P Site or Destination
RelayRouter
Rendezvous PointAgak mirip seperti Inbound Gateway + Outbound Endpoint
Router DescriptorRouterInfo
ServerRouter

Manfaat Tor dibandingkan I2P

  • Jumlah pengguna yang jauh lebih besar; Lebih banyak diperhatikan di komunitas akademis dan hacker; Mendapat manfaat dari studi formal tentang anonimitas, perlawanan, dan kinerja; Memiliki pemimpin non-anonim, terlihat, bertempat di universitas
  • Sudah menyelesaikan beberapa masalah penskalaan I2P yang belum sempat ditangani
  • Memiliki pendanaan yang cukup banyak
  • Memiliki lebih banyak pengembang, termasuk beberapa yang mendapat pendanaan
  • Lebih tahan terhadap pemblokiran tingkat negara karena lapisan transport TLS dan jembatan (I2P memiliki proposal untuk "full restricted routes" tapi ini belum diterapkan)
  • Cukup besar bahwa ia harus menyesuaikan diri dengan pemblokiran dan usaha DOS
  • Dirancang dan dioptimalkan untuk lalu lintas keluar jaringan, dengan jumlah exit node yang banyak
  • Dokumentasi yang lebih baik, memiliki dokumen dan spesifikasi formal, situs web yang lebih baik, lebih banyak terjemahan
  • Lebih hemat dengan penggunaan memori
  • Tor client node memiliki overhead bandwidth yang sangat rendah
  • Kontrol terpusat mengurangi kompleksitas pada masing-masing node dan secara efisien dapat menangani serangan Sybil
  • Inti node berkapasitas tinggi memberikan nilai throughput lebih tinggi dan latency lebih rendah
  • C, bukan Java (hadeeeeuh)

Manfaat I2P dibandingkan Tor

  • Dirancang dan dioptimalkan untuk hidden servie, yang jauh lebih cepat daripada di Tor
  • Sepenuhnya terdistribusi dan mengorganisi diri sendiri
  • Peer dipilih dengan terus melakukan profiling dan memeringkat kinerja, daripada mempercayai kapasitas yang diklaim
  • Floodfill peer ("server direktori") bervariasi dan tidak dipercaya, bukan hardcoded
  • Cukup kecil bahwa itu belum pernah diblokir atau banyak di-DOS, atau sama sekali di-DOS
  • Mudah berbagi file secara peer-to-peer seperti torrent
  • Packet switched alih-alih circuit switched
    • Penyeimbangan beban transparan secara implisit terhadap pesan di beberapa peer, bukan satu jalur tunggal
    • Ketahanan vs kegagalan dengan menjalankan beberapa tunnel secara paralel, ditambah rotating tunnel
    • Skala setiap koneksi klien di O(1) dan bukan O(N) (Alice memiliki 2 inbound terowongan yang digunakan oleh semua peer yang sedang berbicara dengan Alice, bukan satu rangkaian untuk masing-masing)
  • Tunnel searah dan bukan rangkaian dua arah, menggandakan jumlah node peer harus berkompromi untuk mendapatkan informasi yang sama. Argumen yang bertentangan dan pembahasan lebih lanjut ada di sini.
  • Perlindungan terhadap mendeteksi aktivitas klien, bahkan saat penyerang berpartisipasi dalam terowongan karena terowongan digunakan lebih dari sekedar menyampaikan pesan end-to-end (misalnya netDb, pengelolaan tunnel, pengujian tunnel)
  • Terowongan di I2P berumur pendek, mengurangi jumlah sampel yang dapat digunakan penyerang untuk memasang serangan aktif, tidak seperti sirkuit di Tor, yang biasanya berumur panjang.
  • API I2P dirancang khusus untuk anonimitas dan keamanan, sementara SOCKS dirancang untuk fungsionalitas.
  • Intinya semua peer berpartisipasi dalam routing untuk peer lain
  • Pengeluaran tambahan bandwidth dengan menjadi full peer sangat rendah, sementara Tor, ketika simpul klien tidak memerlukan banyak bandwidth, mereka tidak berpartisipasi penuh dalam mixnet.
  • Mekanisme pembaruan otomatis terintegrasi
  • Baik transpor TCP dan UDP
  • Java, bukan C (ewww)

Potensi keuntungan I2P lainnya namun saat ini belum diimplementasikan

...dan mungkin tidak pernah diimplementasikan, jadi jangan mengandalkan mereka!

  • Pertahanan vs. analisis penghitung pesan dengan membungkus beberapa pesan seperti bawang
  • Pertahanan vs. persimpangan jangka panjang denga menambahkan delay pada berbagai hop (dimana delay tidak terlihat oleh hop lain)
  • Berbagai strategi pencampuran pada level saluran (misal, membuat saluran yang akan menangani 500 pesan / menit, yang mana titik akhir akan menginjek pesan dummy jika ada ketidakcukupan pesan, dll)