Rilis Yggdrasil 0.4, implementasi jaringan pribadi yang berjalan di atas Internet

Rilis implementasi referensi protokol Yggdrasil 0.4 telah dipublikasikan, yang memungkinkan Anda untuk menyebarkan jaringan IPv6 pribadi terdesentralisasi yang terpisah di atas jaringan global biasa, yang menggunakan enkripsi ujung ke ujung untuk melindungi kerahasiaan. Aplikasi apa pun yang mendukung IPv6 dapat digunakan untuk bekerja melalui jaringan Yggdrasil. Implementasinya ditulis dalam Go dan didistribusikan di bawah lisensi LGPLv3. Platform Linux, Windows, macOS, FreeBSD, OpenBSD dan Ubiquiti EdgeRouter didukung.

Yggdrasil sedang mengembangkan konsep perutean baru untuk menciptakan jaringan terdesentralisasi global, node yang dapat terhubung langsung satu sama lain dalam mode jaringan mesh (misalnya, melalui Wi-Fi atau Bluetooth), atau berinteraksi melalui jaringan IPv6 atau IPv4 yang ada (jaringan di bagian atas jaringan). Ciri khas Yggdrasil adalah pengaturan kerja mandiri, tanpa perlu mengonfigurasi perutean secara eksplisit - informasi tentang rute dihitung berdasarkan lokasi node di jaringan relatif terhadap node lain. Perangkat dialamatkan melalui alamat IPv6 biasa, yang tidak berubah jika node berpindah (Yggdrasil menggunakan rentang alamat yang tidak digunakan 0200::/7).

Keseluruhan jaringan Yggdrasil tidak dipandang sebagai kumpulan subjaringan yang berbeda, namun sebagai pohon rentang terstruktur tunggal dengan satu β€œroot” dan setiap node memiliki satu induk dan satu atau lebih anak. Struktur pohon seperti itu memungkinkan Anda membangun rute ke node tujuan, relatif terhadap node sumber, menggunakan mekanisme β€œlocator”, yang menentukan jalur optimal ke node dari root.

Informasi pohon didistribusikan antar node dan tidak disimpan secara terpusat. Untuk bertukar informasi perutean, tabel hash terdistribusi (DHT) digunakan, di mana sebuah node dapat mengambil semua informasi tentang rute ke node lain. Jaringan itu sendiri hanya menyediakan enkripsi ujung ke ujung (node ​​transit tidak dapat menentukan konten), tetapi bukan anonimitas (saat terhubung melalui Internet, rekan yang melakukan interaksi langsung dapat menentukan alamat IP sebenarnya, jadi untuk anonimitas itu adalah diusulkan untuk menghubungkan node melalui Tor atau I2P).

Perlu dicatat bahwa meskipun proyek ini berada pada tahap pengembangan alfa, proyek ini sudah cukup stabil untuk penggunaan sehari-hari, namun tidak menjamin kompatibilitas mundur antar rilis. Untuk Yggdrasil 0.4, komunitas mendukung serangkaian layanan, termasuk platform untuk menghosting wadah Linux untuk menghosting situs mereka, mesin pencari YaCy, server komunikasi Matrix, server IRC, DNS, sistem VoIP, pelacak BitTorrent, peta titik koneksi, gateway IPFS dan proxy untuk mengakses jaringan Tor, I2P dan clearnet.

ΠΎΠ²ΠΎΠΉ Срсии:

  • Skema perutean baru telah diterapkan yang tidak kompatibel dengan rilis Yggdrasil sebelumnya.
  • Saat membuat koneksi TLS dengan host, pengikatan kunci publik (penyematan kunci) dilibatkan. Jika tidak ada pengikatan pada koneksi, kunci yang dihasilkan akan ditetapkan ke koneksi. Jika pengikatan telah dibuat, tetapi kuncinya tidak cocok, sambungan akan ditolak. TLS dengan pengikatan kunci didefinisikan sebagai metode yang direkomendasikan untuk terhubung ke rekan.
  • Kode untuk manajemen perutean dan sesi telah didesain ulang dan ditulis ulang sepenuhnya, memungkinkan peningkatan throughput dan keandalan, terutama untuk node yang sering berganti rekan. Sesi kriptografi menerapkan rotasi kunci secara berkala. Menambahkan dukungan untuk perutean Sumber, yang dapat digunakan untuk mengalihkan lalu lintas IPv6 pengguna. Arsitektur tabel hash terdistribusi (DHT) yang didesain ulang dan menambahkan dukungan untuk perutean berbasis DHT. Implementasi algoritma perutean telah dipindahkan ke perpustakaan terpisah.
  • Alamat IP IPv6 sekarang dihasilkan dari kunci publik ed25519, bukan hash X25519, yang akan menyebabkan semua IP internal berubah saat berpindah ke rilis Yggdrasil 0.4.
  • Pengaturan tambahan telah disediakan untuk mencari rekan Multicast.

Sumber: opennet.ru

Tambah komentar