Tantangan dan implikasi dalam mendukung semua paket IP di Tor
Memperluas Tor untuk mentransmisikan semua paket IP - bukan hanya aliran TCP - dapat meningkatkan fleksibilitas dan mendukung protokol baru, tetapi juga menimbulkan tantangan kompleks seperti risiko sidik jari, kebocoran pada tingkat protokol, dan kebijakan exit yang lebih sulit.
Ini akan berguna untuk beberapa alasan: Itu akan membuat Tor lebih mampu menangani protokol baru seperti VoIP. Ini bisa menyelesaikan seluruh kebutuhan untuk aplikasi socksify. Relay keluar juga tidak perlu mengalokasikan banyak deskriptor berkas untuk semua koneksi keluar.
Kami sedang menuju ke arah ini. Beberapa masalah yang sulit adalah:
- Paket IP menyingkap karakteristik OS. Kita masih perlu melakukan normalisasi paket tingkat IP, untuk menghentikan hal-hal seperti serangan sidik jari TCP. Mengingat keragaman dan kompleksitas tumpukan TCP, bersama dengan serangan sidik jari perangkat, sepertinya pilihan terbaik kami adalah mengirimkan tumpukan TCP ruang-pengguna kami sendiri.
- Aliran tingkat aplikasi masih perlu digosok. Kita masih membutuhkan aplikasi sisi pengguna seperti Torbutton. Jadi, ini bukan hanya masalah menangkap paket dan menganonimkannya di lapisan IP.
- Protokol tertentu akan tetap membocorkan informasi. Sebagai contoh, kita harus menulis ulang permintaan DNS sehingga permintaan tersebut dikirimkan ke server DNS yang tidak dapat ditautkan, bukan ke server DNS di ISP pengguna; dengan demikian, kita harus memahami protokol yang kita angkut.
- DTLS (datagram TLS) pada dasarnya tidak memiliki pengguna, dan IPsec tentu saja sangat besar. Setelah kita memilih mekanisme transport, kita perlu mendesain protokol Tor end-to-end yang baru untuk menghindari serangan penandaan dan potensi masalah anonimitas dan integritas lainnya setelah kita mengizinkan pengiriman ulang, pengiriman ulang, dan lain-lain.
- Kebijakan keluar untuk paket IP yang berubah-ubah berarti membangun Sistem Deteksi Penyusupan (IDS) yang aman. Operator simpul kami memberi tahu kami bahwa kebijakan exit adalah salah satu alasan utama mereka bersedia menjalankan Tor. Menambahkan IDS untuk menangani kebijakan exit akan meningkatkan kompleksitas keamanan Tor, dan kemungkinan besar tidak akan berhasil, seperti yang dibuktikan oleh seluruh bidang IDS dan kertas kerja kontra-IDS. Banyak masalah penyalahgunaan yang potensial diselesaikan oleh fakta bahwa Tor hanya mengangkut aliran TCP yang valid (berlawanan dengan IP yang sewenang-wenang termasuk paket yang cacat dan banjir IP). Kebijakan keluar menjadi lebih penting karena kita dapat mengangkut paket IP. Kita juga perlu mendeskripsikan kebijakan exit secara ringkas dalam direktori Tor, sehingga klien dapat memprediksi node mana yang akan mengizinkan paket mereka keluar. Klien juga perlu memprediksi semua paket yang akan mereka kirimkan dalam sebuah sesi sebelum memilih simpul keluar mereka!
- Spasi nama internal Tor perlu didesain ulang. Kami mendukung alamat ".onion" layanan onion dengan mencegat alamat-alamat tersebut ketika diteruskan ke klien Tor. Melakukannya pada tingkat IP akan membutuhkan antarmuka yang lebih kompleks antara Tor dan DNS resolver lokal.