Di Tor, ketika beberapa relay memiliki operator yang sama, mereka seharusnya menyatakan bahwa mereka adalah anggota sebuah "keluarga".
Dalam desain Tor saat ini, untuk menyetel relay sebagai anggota sebuah keluarga, setiap relay perlu mencantumkan setiap anggota keluarga lainnya di konfigurasinya, dan mempublikasikan daftar itu ke klien juga.
Daftar-daftar ini bisa tidak menyenangkan untuk dipelihara, dan mahal untuk diunduh.
Desain Happy Families adalah fitur baru di Tor 0.4.9.2-alpha yang pada akhirnya akan menyediakan cara yang lebih sederhana untuk mengonfigurasi relay family, dan juga akan menghemat banyak lalu lintas ketika klien mengambil informasi network directory.
(Sayangnya, beralih ke happy families akan menciptakan pekerjaan tambahan selama transisi berlangsung. Kami pikir ini akan sepadan dalam jangka panjang.)
Anda sebaiknya membaca ini jika Anda adalah operator relay yang perlu mengonfigurasi sebuah family pada jaringan Tor.
Ide dasarnya
Dalam desain Happy Families, setiap keluarga relay diidentifikasi oleh secret family signing key yang dibagikan oleh semua anggota keluarga.
Anggota keluarga menggunakan key ini untuk menandatangani sertifikat yang membuktikan bahwa mereka termasuk dalam keluarga.
Jadi yang perlu Anda lakukan adalah:
- Buat satu key untuk keluarga Anda.
- Salin key tersebut ke setiap relay.
- Konfigurasikan relay Anda untuk menggunakan key tersebut.
Lebih terperinci
Membuat family key
Pertama, Anda perlu menunggu sampai semua relay Anda menjalankan 0.4.9.2-alpha atau yang lebih baru.
Lalu, untuk membuat family key, jalankan:
tor --keygen-family MyKey
Ini akan membuat file bernama MyKey.secret_family_key; ini juga akan menulis hasil seperti ini ke standard output:
# Generated MyKey.secret_family_key
FamilyId wweKJrJxUDs1EdtFFHCDtvVgTKftOC/crUl1mYJv830
Simpan baris FamilyID itu; Anda akan membutuhkannya!
(Jangan gunakan yang dari contoh ini—itu bukan family ID Anda.)
Mengonfigurasi relay Anda
Salin file MyKey.secret_family_key (atau apa pun nama yang Anda berikan) ke dalam KeyDir pada setiap relay Anda.
(Secara default, ini adalah subdirektori keys dari DataDir Anda.)
Nama file harus diakhiri dengan .secret_family_key.
Lalu, tambahkan baris FamilyId ke torrc Anda.
Jika relay Anda sedang berjalan, Anda harus memberitahunya untuk memuat ulang konfigurasinya (biasanya dengan SIGHUP.)
Apakah berhasil?
Jika Anda melakukan ini dengan benar, Anda seharusnya melihat entri family-cert di descriptor relay Anda, yang terlihat kira-kira seperti ini:
family-cert
-----BEGIN FAMILY CERT-----
AQwAB2K5AXJrxBpgTXDIvHKFShmCCD2yLnDaBf2lWaInBhR2R56HAQAgBAAjv69J
jy+7BSRh1GnGF7Zxm+AMXvJYWkUCWY+5KU8Bymkz5N4D/QNs4K6bOjLokAwD4raT
J34t8b7uxHXuFS2F2VN5Ygr3//vGsB00jideQ5Cj9aX+BLSZ2FjC6GK2XAo=
-----END FAMILY CERT-----
Setelah cukup banyak directory authorities menjalankan 0.4.9.2-alpha atau yang lebih baru, mereka akan menyertakan entri yang sesuai di microdescriptor relay Anda, yang akan terlihat kira-kira seperti:
family-ids ed25519:wweKJrJxUDs1EdtFFHCDtvVgTKftOC/crUl1mYJv830
CATATAN: Anda tetap perlu mengonfigurasi MyFamily!
Sayangnya, Anda tetap perlu mengonfigurasi opsi MyFamily seperti sebelumnya: sampai klien semuanya mendukung Happy Families, mereka perlu melihat daftar family versi lama.
Kami akan berupaya menjaga masa transisi ini sesingkat mungkin yang wajar.
Kami akan mengumumkan ketika tidak lagi perlu menyertakan MyFamily.
Info tambahan: Cara mentransisikan family keys
Jika salah satu relay Anda dikompromikan, atau jika Anda secara tidak sengaja membocorkan family key, Anda perlu mengganti key tersebut.
(Jika tidak, relay milik pihak lawan dapat secara salah mengklaim sebagai anggota keluarga Anda.)
Untuk melakukan ini, kami merekomendasikan proses bertahap.
- Buat family key baru seperti di atas.
Berikan nama file yang berbeda dari key lama.
- Salin family key baru ke setiap relay Anda, tanpa mengganti family key lama.
- Tambahkan baris
FamilyID baru ke konfigurasi semua relay Anda, tanpa menghapus yang lama.
Pada titik ini, semua relay Anda akan menjadi anggota dari dua keluarga.
- Tunggu beberapa hari, agar informasi family baru punya waktu untuk menyebar.
- Hapus baris
FamilyID lama dari konfigurasi relay Anda.
Secara opsional, hapus juga family key lama.
Info tambahan: Perkiraan penghematan dari transisi ini
Kami berencana menghapus MyFamily dan legacy TAP onion keys pada saat yang sama.
Ketika itu terjadi, kami memperkirakan microdescriptor jaringan yang dihasilkan akan menjadi sekitar 10% dari ukuran saat ini.
(Sayangnya, ini mungkin bukan penghematan permanen: ketika kita beralih ke kriptografi pascakuantum, kita mungkin harus membuat microdescriptor menjadi lebih besar lagi. Namun setidaknya perubahan ini akan membebaskan ruang untuk melakukannya.)