Bagaimana saya bisa mencegah kebocoran lalu lintas saya ke node?
Node harus digunakan hanya untuk membantu klien menemukan satu sama lain. Bukan untuk pengiriman data.
Ini terlihat seperti MITM. Ini tidak lebih baik daripada Skype dengan server Microsoft.
Anda salah. Node bootstrap DHT ada untuk memfasilitasi bergabung dengan DHT. Jika Anda ingin penjelasan lebih lanjut, Anda dapat melihat artikel ini: https://en.wikipedia.org/wiki/Distributed_hash_table. Atau, Anda dapat bergabung dengan kami di IRC, di saluran #tox di Freenode, dan kami akan mencoba menjelaskan semuanya sebaik mungkin.
Lalu lintas Anda mungkin melalui node bootstrap yang bertindak sebagai relai TCP sementara tox menggunakan TCP untuk koneksi teman. Ini mirip dengan TURN . Lalu lintas Anda masih terenkripsi ujung ke ujung, sehingga kerahasiaan dan keaslian pesan Anda tidak pernah terganggu. Relay TCP ini mungkin seperti yang Anda lihat dalam analisis lalu lintas Anda. Hal ini dijelaskan secara rinci dalam spesifikasi protokol tox .
Ini adalah lalu lintas suara. Itu dienkripsi dan sekarang pihak ketiga tidak dapat mendekripsi ini, tetapi itu tidak berarti bahwa itu tidak mungkin di masa depan.
Saya memiliki alamat IPv4/IPv6 langsung. Mengapa saya harus mengirim data saya ke node?
Anda mengatakan - 'Node bootstrap DHT ada untuk memfasilitasi bergabung dengan DHT.', tapi itu tidak benar. Dalam lalu lintas tangkapan layar terlampir melewati node, tidak langsung ke saya.
'Tox adalah perangkat lunak yang mudah digunakan yang menghubungkan Anda dengan teman dan keluarga tanpa ada orang lain yang mendengarkan. ' - itu bohong? Lalu lintas dienkripsi, oke. Tapi itu menggunakan node untuk pengiriman? Saya tidak tahu, siapa yang memelihara simpul ini. Bagaimana jika satu atau lebih node salah?
Saya mengerti bagaimana poin ini bisa terasa salah, jadi saya telah mengajukan masalah dokumentasi untuk meningkatkan presentasi kami tentang itu. Terima kasih telah menjelaskan pemikiran Anda.
Untuk menjelaskan kekhawatiran spesifik Anda dengan cepat, saya akan memparafrasekannya. Tolong beri tahu saya jika saya salah paham:
T: _Saya prihatin dengan kenyataan bahwa paket data yang datang dari komputer saya tidak dikirimkan langsung ke komputer teman saya, tetapi terkadang (atau setiap saat, tergantung pada kondisi jaringan) diteruskan melalui komputer pihak ketiga._
J: Pertama, pertimbangkan paket yang langsung dari komputer Anda ke komputer teman Anda, dengan asumsi Anda menggunakan wifi lokal:
traceroute $your_friend_ip
untuk melihat kemana perginya), masing-masing memiliki akses gratis ke frame Ethernet, paket IP, dan paket UDP serta isinya. Banyak titik akses, sebut saja yang ke-4.Seperti yang Anda lihat, ada banyak titik selama transmisi "langsung" dari Anda ke teman Anda di mana paket dapat diperiksa oleh orang yang sewenang-wenang. Enkripsi ujung ke ujung berarti bahwa tidak ada titik antara Anda dan teman Anda yang dapat membaca konten sebenarnya yang ingin Anda sampaikan. Mereka selalu hanya dapat melihat data terenkripsi.
Sekarang, menambahkan relay TCP di tengah hanya akan memperpanjang rute (secara teoritis bisa mempersingkat, tapi itu tidak mungkin). Siapa pun yang menjalankan relai dapat membaca paket, sama seperti orang lain antara Anda dan teman Anda. Protokol kripto Tox memastikan bahwa komunikasi Anda aman.
Sekarang, saya juga melihat kekhawatiran kedua:
T: _Apa yang terjadi jika salah satu node yang menyampaikan data saya jahat?_
J: Tox memilih sejumlah relai TCP yang dapat digunakan untuk berkomunikasi jika koneksi UDP langsung tidak memungkinkan (misalnya karena NAT atau firewall). Relay jahat dapat melakukan sangat sedikit hal untuk melakukan kejahatan:
Itu pada dasarnya. Dalam kasus apa pun relay jahat tidak dapat membaca data Anda. Itu hanya dapat memilih untuk tidak menyampaikan, dan hanya jika setiap node bootstrap jahat, Anda tidak dapat berkomunikasi. Ini akan sangat mengganggu, dan kami tidak akan senang dengan hal itu, tetapi tidak ada informasi yang dikompromikan pada titik mana pun.
Saya harap ini menjelaskan beberapa hal. Saya belum mengoreksi balasan ini, tetapi saya akan memastikannya terwakili dengan benar di situs web untuk referensi di masa mendatang. Beri tahu saya jika Anda memiliki masalah lain. Terima kasih lagi untuk membawa ini.
Saya baru saja membaca pesan Anda lagi, dan menemukan bahwa saya melewatkan satu kekhawatiran lagi:
T: Meskipun data dienkripsi sekarang, apa yang memastikan bahwa itu tidak akan didekripsi di masa mendatang?
J: Protokol Tox menerapkan kerahasiaan ke depan yang sempurna melalui penggunaan kunci sementara. Ini berarti bahwa jika salah satu kunci tersebut disusupi, beberapa pesan dapat didekripsi, tetapi tidak seluruh riwayat komunikasi Anda. Bagian "beberapa pesan" dari kalimat ini akan dikurangi menjadi "satu pesan" di masa mendatang. Jika kunci rahasia jangka panjang Anda disusupi, tidak ada komunikasi sebelumnya yang dapat didekripsi.
Jika primitif kriptografi yang kita gunakan rusak, kita kalah. Itu tergantung di mana mereka rusak, ini adalah kemungkinan skenario terburuk:
Skenario ini sangat tidak mungkin menjadi kenyataan dalam waktu dekat, atau mungkin selamanya. Dengan pemahaman saat ini di komunitas kriptografi, hanya komputasi kuantum yang bisa membuat skenario kedua terjadi. Skenario pertama diyakini mustahil.
Ini semua mengatakan, saya juga memperhatikan bahwa Anda mengatakan Anda memiliki alamat IPv4 langsung. Apa artinya ini? Jika Anda memiliki alamat IPv4 publik yang ditetapkan ke komputer Anda, dan port 33445 terbuka, Tox harus membuat koneksi langsung dengan sangat cepat. Jika tidak, itu adalah bug dan kita harus bekerja sama untuk mencari tahu mengapa ia memilih untuk menggunakan TCP.
Terima kasih banyak atas penjelasan ini. Sekarang saya sedikit lebih mengerti.
Saya tidak yakin tentang alamat IPv4 langsung...Saya menggunakan WireGuard VPN. WireGuard diinstal pada server virtual, yang memiliki alamat IPv4 & IPv6 langsung. Semua lalu lintas dibungkus dalam namespace.
Info jaringan laptop: https://Gist.github.com/DebugReport/1268e15c3bd1c99b56929d645d99392b
Jika saya salah, saya minta maaf.
Mungkin IPv4 tidak langsung, tetapi bagaimana dengan IPv6? Saya dapat menggunakan koneksi langsung jika klien lain memiliki IPv6 juga?
Ya, jika kedua pihak memiliki IPv6, dan konfigurasi firewall tidak memblokir port 33445 (atau port lain di dekatnya, antara 33445 dan 33545), itu akan berfungsi. Apakah teman Anda menggunakan VPN yang sama?
Tidak.
Hmm... Pertanyaan. Kita harus selalu menggunakan node? Atau hanya jika salah satu dari kita tidak memiliki IP langsung (hanya IPv4?)?
Untuk IPv6 (saya) <-> IPv6 (teman) apakah node diperlukan? Jika ya - mengapa?
(Biarkan masalah ini tetap terbuka sampai semua pertanyaan ini dijawab dalam dokumentasi)
Jika salah satu dari Anda memiliki IP publik, maka yang lain dapat melakukan bootstrap menggunakan IP dan port yang lain. Ini memerlukan dukungan klien. Saya rasa klien saat ini tidak memiliki:
tox_self_get_dht_id
) dan portnya ( tox_self_get_udp_port
).(key, ip, port)
.Setelah ini, Anda memiliki jaringan Tox 2 orang pribadi. Jadi, secara teori Anda tidak memerlukan node lain. Mereka memang membuat segalanya lebih mudah.
Jika salah satu dari Anda memiliki IP publik dan port terbuka, maka menghubungkan ke node bootstrap juga memungkinkan Anda membuat koneksi langsung. Node bootstrap DHT tidak ada hubungannya dengan apakah Anda dapat terhubung atau tidak. Koneksi langsung harus dimungkinkan bahkan jika hanya satu dari Anda yang memiliki IP publik dan port terbuka. Yang lain akan terhubung ke sana, yang akan membuat rute di router lokal dan memberi klien port publik acak sementara.
Sekedar catatan: Saya melihat perilaku yang sama dengan C-Toxcore. Salah satu pihak menggunakan VPS dengan alamat IP publik dan tanpa firewall, yang lain berada di belakang NAT tetapi memiliki port Tox yang diteruskan - jadi mereka harus dapat dijangkau bersama. Lalu lintas masih dialihkan melalui TCP.
Saya tidak melihat ini sebagai masalah keamanan, tetapi ini pasti masalah skalabilitas jika jaringan P2P menyampaikan semua lalu lintasnya melalui relai.
Komentar yang paling membantu
Saya mengerti bagaimana poin ini bisa terasa salah, jadi saya telah mengajukan masalah dokumentasi untuk meningkatkan presentasi kami tentang itu. Terima kasih telah menjelaskan pemikiran Anda.
Untuk menjelaskan kekhawatiran spesifik Anda dengan cepat, saya akan memparafrasekannya. Tolong beri tahu saya jika saya salah paham:
T: _Saya prihatin dengan kenyataan bahwa paket data yang datang dari komputer saya tidak dikirimkan langsung ke komputer teman saya, tetapi terkadang (atau setiap saat, tergantung pada kondisi jaringan) diteruskan melalui komputer pihak ketiga._
J: Pertama, pertimbangkan paket yang langsung dari komputer Anda ke komputer teman Anda, dengan asumsi Anda menggunakan wifi lokal:
traceroute $your_friend_ip
untuk melihat kemana perginya), masing-masing memiliki akses gratis ke frame Ethernet, paket IP, dan paket UDP serta isinya. Banyak titik akses, sebut saja yang ke-4.Seperti yang Anda lihat, ada banyak titik selama transmisi "langsung" dari Anda ke teman Anda di mana paket dapat diperiksa oleh orang yang sewenang-wenang. Enkripsi ujung ke ujung berarti bahwa tidak ada titik antara Anda dan teman Anda yang dapat membaca konten sebenarnya yang ingin Anda sampaikan. Mereka selalu hanya dapat melihat data terenkripsi.
Sekarang, menambahkan relay TCP di tengah hanya akan memperpanjang rute (secara teoritis bisa mempersingkat, tapi itu tidak mungkin). Siapa pun yang menjalankan relai dapat membaca paket, sama seperti orang lain antara Anda dan teman Anda. Protokol kripto Tox memastikan bahwa komunikasi Anda aman.
Sekarang, saya juga melihat kekhawatiran kedua:
T: _Apa yang terjadi jika salah satu node yang menyampaikan data saya jahat?_
J: Tox memilih sejumlah relai TCP yang dapat digunakan untuk berkomunikasi jika koneksi UDP langsung tidak memungkinkan (misalnya karena NAT atau firewall). Relay jahat dapat melakukan sangat sedikit hal untuk melakukan kejahatan:
Itu pada dasarnya. Dalam kasus apa pun relay jahat tidak dapat membaca data Anda. Itu hanya dapat memilih untuk tidak menyampaikan, dan hanya jika setiap node bootstrap jahat, Anda tidak dapat berkomunikasi. Ini akan sangat mengganggu, dan kami tidak akan senang dengan hal itu, tetapi tidak ada informasi yang dikompromikan pada titik mana pun.
Saya harap ini menjelaskan beberapa hal. Saya belum mengoreksi balasan ini, tetapi saya akan memastikannya terwakili dengan benar di situs web untuk referensi di masa mendatang. Beri tahu saya jika Anda memiliki masalah lain. Terima kasih lagi untuk membawa ini.