Satu sertifikat per perangkat tidak membuat kunci terikat pada perangkat
Sertifikat per perangkat adalah pilihan administratif, bukan pengikatan ke perangkat. Yang menentukan pengikatan adalah tempat kunci privat berada, dari berkas yang dapat disalin hingga TPM.
Anda menerbitkan sertifikat terpisah untuk setiap laptop, jadi Anda menganggap VPN dapat membedakannya. Tidak bisa. Sertifikat klien membuktikan bahwa siapa pun yang terhubung memiliki kunci privat yang cocok, dan profil yang disalin juga memilikinya.
Sertifikat per perangkat tetap ide bagus. Hanya saja ia melakukan pekerjaan yang berbeda dari yang diharapkan kebanyakan orang.
Apa yang sebenarnya dibuktikan sertifikat klien
Saat jabat tangan, klien menandatangani dengan kunci privat yang cocok dengan sertifikatnya, dan server memverifikasi tanda tangan itu terhadap CA yang dipercayainya. Tidak ada apa pun dalam pertukaran itu yang menggambarkan mesin. Perangkat apa pun yang memegang sertifikat dan kuncinya menghasilkan tanda tangan yang identik, sehingga profil yang disalin ke laptop kedua terlihat persis seperti aslinya. Sertifikat menamai identitas; ia tidak menamai perangkat keras.
Keunikan per perangkat tetap bernilai, karena membuat pencabutan menjadi tepat. Itu sifat administratif, bukan kunci teknis.
Tiga tingkat penyimpanan kunci
Tingkat pertama adalah berkas kunci di disk. Ia portabel secara desain, dan di sanalah sebagian besar profil OpenVPN berada.
Tingkat kedua adalah kunci yang ditandai sistem operasi sebagai tidak dapat diekspor. Windows dapat membuat kunci perangkat di penyimpanan sertifikatnya dan menolak ekspor biasa, yang menghentikan penyalinan iseng. Kunci itu tidak didukung perangkat keras, dan dengan akses cukup ke mesin, kunci semacam itu dapat dipulihkan, jadi ia menaikkan usaha alih-alih membangun tembok.
Tingkat ketiga adalah kunci yang dibuat di dalam perangkat keras keamanan: TPM, kartu pintar, SIM, atau token PIV. Modul itu tidak memiliki rangkaian untuk mengekspor kunci yang mereka buat, dan penandatanganan terjadi di dalam modul. Kunci tidak pernah menjadi berkas yang dapat disalin siapa pun.
| Where the key lives | Copyable | What it buys you |
|---|---|---|
| Key file inside the profile | Trivially | Revocation granularity, nothing more |
| OS non-exportable key store | Hard, not impossible | Stops casual profile sharing |
| TPM or PIV token | No | Binding the server can rely on |
Tabel itu adalah seluruh argumen dalam tiga baris.
Apa yang bisa dan tidak bisa dilakukan easy-rsa
Menerbitkan sertifikat per perangkat itu sederhana. Buat nama umum yang berbeda untuk setiap perangkat terhadap CA yang sama, misalnya ./easyrsa build-client-full laptop-a nopass, lalu ulangi untuk setiap perangkat. Catat nama umum mana milik orang dan mesin yang mana.
Pencabutan sama langsungnya: ./easyrsa revoke laptop-a, buat ulang CRL dengan ./easyrsa gen-crl, dan pastikan server benar-benar membacanya melalui crl-verify.
Yang tidak bisa dilakukan CA adalah memverifikasi di mana kunci privat berada setelahnya. Jika Anda membuat kunci di host CA dan menyalinnya ke perangkat, Anda membuat salinan kedua saat penerbitan. Kunci yang tidak dapat diekspor harus dibuat di perangkat, atau diimpor ke perangkat keras yang tidak akan melepaskannya.
Kontrol yang bertahan terhadap profil yang disalin
Anggap profil dapat disalin dan rancanglah dengan itu. Ikat akun ke faktor kedua agar sertifikat saja tidak cukup. Beri setiap perangkat kebijakannya sendiri agar jangkauan satu identitas tetap terbatas. Dan awasi nama umum yang sama terhubung dari dua alamat sekaligus, karena begitulah tampilan profil bersama di log koneksi.
Pencabutan yang cepat dan terdokumentasi adalah kontrol yang masih berfungsi setelah salinan terjadi. Sisanya adalah pencegahan.
Klaim yang benar-benar dapat diandalkan server
Keunikan berasal dari CA. Pengikatan perangkat berasal dari penyimpanan kunci. Hanya perangkat keras yang tidak dapat mengekspor kuncinya yang mengubah satu sertifikat per perangkat menjadi pernyataan yang ditegakkan server, bukan kebijakan yang semua orang setuju untuk ikuti.