Apa yang dilakukan kunci yang dibagikan sebelumnya di IPsec, OpenVPN, dan WireGuard
Rahasia bersama dapat mengautentikasi pihak lain atau menambah lapisan perlindungan, dan perannya berubah menurut protokol. Jangan menukarnya dengan kata sandi pengguna.
Frasa kunci yang dibagikan sebelumnya muncul dalam dokumentasi IPsec, OpenVPN, dan WireGuard, tetapi merujuk tiga objek berbeda. Satu adalah rahasia autentikasi, satu melindungi kanal kendali, dan satu lagi menambahkan bahan ke jabat tangan yang sudah punya identitas. Menganggapnya bisa saling ditukar menghasilkan koneksi yang gagal pada tahap yang tidak diduga siapa pun. Baca apa yang dilakukan kolom itu pada protokol tersebut sebelum menyalin nilai ke dalamnya.
Tiga protokol, tiga makna
Setiap protokol menetapkan tugas kunci dalam spesifikasinya sendiri, dan tugas-tugas itu tidak bertumpang tindih. Rahasia autentikasi membuktikan bahwa dua pihak mengetahui nilai yang sama. Kunci kanal kendali melindungi negosiasi yang menyusul. Tambahan pada jabat tangan mengubah jadwal kunci tanpa mengubah siapa pihak-pihaknya.
Tak satu pun dari peran itu mengautentikasi manusia, dan kekeliruan itulah yang paling banyak menghabiskan waktu. Kunci yang dibagikan sebelumnya dipasang pada perangkat atau gateway sebelum pertukaran, sehingga setiap pemegang tampak sama di mata pihak lain. Sifat itu menguntungkan untuk tautan antara dua router dan menjadi risiko bagi layanan akses jarak jauh dengan karyawan bernama. Simpan kredensial akun dan rahasia kriptografis pada kolom terpisah dalam dokumen yang menjabarkan penerapan.
IPsec dan OpenVPN memakai kata itu secara berbeda
IKEv2 dapat mengautentikasi pihak lain dengan rahasia yang dibagikan sebelumnya alih-alih sertifikat, dan nilainya harus sama di kedua ujung. Karena rahasia yang sama biasanya dikonfigurasi untuk sekelompok pihak, siapa pun pemegangnya dapat menyamar sebagai yang lain, dan pertukaran itu tidak memperoleh kerahasiaan ke depan dari kunci identitas yang tidak pernah dimilikinya.
Opsi tls-auth dan tls-crypt di OpenVPN melampirkan kunci statis ke kanal kendali, menambahkan tanda tangan HMAC atau mengenkripsi negosiasinya sendiri. Kunci itu bukan kata sandi pengguna dan tidak menggantikan sertifikat klien. Membedakan keduanya penting saat perpanjangan, ketika pergantian kata sandi tidak menyentuh kunci kanal kendali.
PSK WireGuard menambah, bukan mengenali
Pihak-pihak WireGuard sudah memiliki kunci publik dan privat Curve25519, dan jabat tangan mengautentikasi identitas tersebut. Kunci yang dibagikan sebelumnya yang bersifat opsional dicampur ke kunci rantai, menyumbang bahan simetris di atas pertukaran kunci publik.
Ia tidak menyediakan identitas sendiri dan tidak memberi akun pengguna, jadi operator tidak dapat membedakan dua pemegang lewat PSK mereka. Kedua ujung harus membawa nilai yang sama, jika tidak jabat tangan gagal tanpa pesan galat yang berguna. Karena itu rotasi harus direncanakan untuk kedua sisi sekaligus, bukan sebagai penyuntingan satu berkas.
Periksa distribusi, rotasi, dan penghapusan
Distribusi adalah titik lemah setiap rancangan yang memakai satu rahasia di banyak tempat. Nilai yang ditempel di jendela obrolan, disimpan di repositori, atau dipakai ulang antarlingkungan mengumpulkan salinan yang tidak dapat dihitung siapa pun, dan setiap salinan diam-diam memperluas jangkauan kerusakan.
Teks Base64 bukan enkripsi. Rahasia yang disimpan di samping sertifikat publik dalam direktori yang sama tetap rahasia dalam bentuk terbuka.
openssl rand -base64 32
sudo wg show wg0 preshared-keys
sudo grep -R -n 'psk' /etc/ipsec.d/ 2>/dev/null
Lakukan rotasi sesuai jadwal dan setelah setiap dugaan kebocoran, dengan memperbarui setiap pihak yang dituju sebelum mencabut nilai lama. Lalu uji tautan dari kedua ujung, karena kunci yang tidak cocok gagal pada jabat tangan dan tampak persis seperti masalah tembok api.
Dokumentasikan rahasia mana yang melindungi tahap mana, agar pengaturan ulang kata sandi tidak pernah disalahartikan sebagai pembaruan kunci kriptografis. Satu baris itu menghemat satu jam setiap kali seseorang mengaudit penerapan.