Parameter kumpulan bersifat awam mengikut reka bentuk, dan justru keterbukaan itulah yang menjadikannya mudah diabaikan. Dalam Diffie-Hellman medan terhingga, modulus dan penjana dikongsi, manakala eksponen peribadi dan kunci sesi yang terhasil tidak. Peringkat mahal serangan ayak medan nombor bergantung pada kumpulan dan bukan pada satu pertukaran, jadi satu kumpulan lemah yang digunakan di mana-mana menjadi liabiliti bersama. Menyebut parameter itu awam adalah tepat dan tidak kena pada tempatnya, kerana kos yang digunakan semula ialah kos menyerang kumpulan itu.

Separuh awam bukan separuh terdedah, dan di situlah perangkapnya

Hujah separuh biasa berkata parameter diterbitkan dalam piawaian, jadi penyerang sudah mengetahuinya dan menyembunyikannya tidak akan mengubah apa-apa. Kedua-dua kenyataan itu benar dan tidak satu pun mengikut daripada yang lain. Kumpulan lalai yang dihantar adalah awam, dan kumpulan persendirian yang anda jana minggu lalu juga kelihatan kepada sesiapa yang melengkapkan jabat tangan. Kerahsiaan tidak pernah menjadi kawalan; kekuatan dan pengesahan adalah kawalan.

Apa yang berubah ialah berapa banyak tempat berkongsi kelemahan yang sama. Satu organisasi yang menjana kumpulan 2048-bit sendiri membayar kos serangannya sendiri, manakala nilai lalai protokol yang dipilih berjuta-juta orang mengamortisasikan satu kos ke atas mereka semua. Dalam erti kata itu, kumpulan yang luar biasa tidak semestinya lebih baik. Kumpulan luar biasa yang terlalu kecil hanyalah rahsia bersama yang lebih kecil dengan lebih sedikit mata mengawasinya.

Pengesahan sama penting dengan saiz. Rakan yang menghantar modulus dengan faktor kecil, atau yang tidak mempunyai bentuk yang dijangka oleh protokol, boleh membocorkan maklumat tentang eksponen peribadi walaupun panjang bit kelihatan dihormati. Pustaka yang menolak parameter cacat di pintu masuk melakukan kerja sebenar, itulah sebabnya penghuraian parameter buatan sendiri ialah tempat yang buruk untuk menjimatkan usaha.

Apa yang sebenarnya dibeli oleh prakomputasi kepada penyerang

Ayak medan nombor mempunyai peringkat yang bergantung hanya pada nombor perdana, dan outputnya boleh digunakan semula terhadap setiap pertukaran yang menggunakan nombor perdana itu. Itulah keseluruhan mekanisme di sebalik kebimbangan sejarah: bahagian mahal dibayar sekali, dan kos marginal setiap sesi berikutnya menurun. Eksponen baharu masih melindungi setiap pertukaran individu daripada pemerhati pasif, selagi kumpulan cukup besar untuk menjadikan pengayakan tidak dapat dilaksanakan. Kedua-dua kenyataan itu serasi, dan kebanyakan perdebatan tentang topik ini datang daripada memilih satu dan menggugurkan yang lain.

Kertas Logjam 2015 menunjukkan penurunan taraf kepada Diffie-Hellman 512-bit gred eksport dan menganggarkan kos menyerang kumpulan yang lebih besar dan banyak digunakan semula dengan sumber yang besar. Demonstrasi itu konkrit, anggaran itu anggaran, dan tidak satu pun menjadi bukti bahawa sesi VPN tertentu telah dinyahsulit.

Petik kertas itu untuk mekanisme dan untuk penurunan taraf yang ditunjukkan, bukan sebagai ukuran penggunaan anda. Statistik lama tentang berapa banyak pelayan berkongsi kumpulan lalai menggambarkan internet tahun itu, bukan rangkaian yang boleh anda periksa hari ini. Yang berguna untuk dibawa ialah soalan: adakah peranti anda masih merundingkan kumpulan yang kecil atau lemah pengesahannya?

Terpiawai tidak sama dengan lemah

RFC 7919 mentakrifkan kumpulan medan terhingga bernama supaya kedua-dua hujung bersetuju tentang kumpulan melalui pengecam dan menggunakan dasar yang konsisten. Menjadi terpiawai ialah kelebihan, kerana ia menghapuskan kekaburan rundingan dan membolehkan pelaksanaan menolak saiz yang tidak disokong. Kumpulan bernama hanya lemah apabila saiznya berada di bawah dasar yang anda dakwa patuhi, bukan kerana ia muncul dalam dokumen. Logik yang sama terpakai kepada kumpulan lengkung eliptik, yang mempunyai struktur dan mod kegagalan yang berbeza.

Asingkan binaan itu apabila anda menaakul tentangnya. Kesimpulan tentang Diffie-Hellman medan terhingga tidak mengatakan apa-apa tentang X25519, dan kesimpulan tentang kumpulan MODP 1024-bit tidak mengatakan apa-apa tentang yang 3072-bit. Dasar kekuatan adalah mengikut mekanisme, saiz dan versi protokol, itulah sebabnya frasa kriptografi kuat bukan kenyataan yang boleh disemak.

Pengesahan identiti ialah separuh yang lain, dan ia tidak menggantikan. Kumpulan kuat tanpa pengesahan rakan meninggalkan penyerang di tengah, dan sijil yang sah tidak dapat menyelamatkan pertukaran 768-bit. Semak kedua-duanya sebagai dua baris bebas, kemudian sahkan bahawa kedua-duanya benar-benar dirundingkan.

Baca kumpulan yang dirundingkan pada sambungan sebenar

Baca kumpulan yang dirundingkan daripada peranti dan bukan daripada templat konfigurasi. Templat menerangkan niat, dan nilai yang menarik ialah nilai yang dipersetujui kedua-dua hujung semasa jabat tangan terakhir. Pada titik akhir IPsec, output status biasanya mencetak cadangan yang dipilih, termasuk kumpulan MODP.

Tangkap baris itu sebelum dan selepas perubahan dasar, dan simpan kedua-duanya dalam rekod perubahan. Perbandingan itulah buktinya.

ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -noout

Jika selepas perubahan status masih menunjukkan kumpulan lama, sambungan tidak berunding semula dan suntingan konfigurasi tidak membuktikan apa-apa. Mulakan semula rakan atau kosongkan persatuan keselamatan, kemudian baca status sekali lagi. Dasar yang dikuatkuasakan hanya pada sambungan baharu akan meninggalkan terowong yang lama pada parameter lama selagi ia masih aktif.

Periksa kumpulan dan identiti rakan secara berasingan

Asingkan apa yang dilindungi kumpulan daripada siapa yang berada di hujung sana. Rekodkan kaedah pertukaran kunci, saiz kumpulan dan kaedah pengesahan identiti sebagai tiga medan, kerana ia gagal secara berasingan. Terowong yang merundingkan kumpulan 3072-bit tetapi menerima sebarang sijil bukan risiko yang sama dengan terowong yang menyematkan rakan dan menggunakan kumpulan 2048-bit.

Tulis kriteria penerimaan sebelum semakan bermula, supaya hasilnya perbandingan dan bukan pendapat. Saiz kumpulan minimum bagi setiap versi protokol, senarai kebenaran kumpulan bernama dan pengesahan rakan yang wajib sudah cukup untuk menjadikan keputusan mekanikal. Kekaburan dalam senarai itulah yang mengubah semakan menjadi perdebatan, dan perdebatan tidak diperbaiki. Maka outputnya ialah senarai titik akhir yang gagal mematuhi peraturan yang dinyatakan.

ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'

Tutup gelung dengan membaca semula nilai yang dirundingkan selepas pembetulan. Fail konfigurasi yang patuh bukan bukti bahawa terowong telah mengambilnya. Output status dan satu jabat tangan baharu ialah buktinya, dan mengumpulnya mengambil masa yang lebih singkat daripada mesyuarat sama ada ia diperlukan.

Artikel berkaitan