Tiga hari yang lalu,
pesan pelanggaran massal dibuat di milis mozilla.dev.security.policy dalam pembuatan sertifikat TLS. Penyelidikan menunjukkan bahwa beberapa otoritas sertifikasi terpengaruh, termasuk
GoDaddy ,
Apple dan
Google . Jumlah total sertifikat yang salah melebihi 1 juta, dan mungkin jauh lebih banyak. GoDaddy awalnya
menyebutkan angka 1,8 juta sertifikat, dan kemudian mengurangi peringkatnya menjadi dua kali lipat menjadi 12.000. Seorang juru bicara Apple menyebutkan angka
558.000 sertifikat .
Intinya adalah bahwa semua cedera CA menggunakan solusi PKI open source
EJBCA dengan pengaturan yang salah, sebagai akibatnya nomor acak dari ruang 63-bit digunakan untuk nomor seri sertifikat, yang melanggar
persyaratan entropi minimum
Forum CA / B (64 bit).
Perbedaan antara 2
63 dan 2
64 melebihi 9 triliun, yaitu 9 Γ 10
18 , ini adalah angka yang sangat signifikan (walaupun perbedaannya hanya setengah). Semua sertifikat harus dicabut. Untuk SSL.com dan GoDaddy, prosedurnya akan memakan waktu 30 hari, bagi yang lain mungkin membutuhkan waktu yang hampir bersamaan, meskipun mereka diharuskan oleh standar RFC5280 untuk mencabut sertifikat yang tidak valid dalam lima hari. Tapi mereka jelas tidak punya waktu untuk memenuhi norma.
Bagaimana ini bisa terjadi?
Analisis awal menunjukkan bahwa semua sertifikat memiliki tepat 64 bit panjang bidang yang sesuai: tidak lebih dan tidak kurang. Jika RNG menghasilkan 64 bit entropi dan semua sertifikat persis 64 bit, maka pada pandangan pertama semuanya baik-baik saja. Tetapi masalahnya adalah bahwa menurut
RFC5280 :
Nomor seri
Nomor seri harus berupa bilangan bulat positif yang ditetapkan oleh CA untuk setiap sertifikat. Itu harus unik untuk setiap sertifikat yang dikeluarkan oleh CA tertentu (mis. Nama penerbit dan nomor seri mengidentifikasi sertifikat unik).
CA harus benar-benar mengontrol prosedur penerbitan CERT sehingga nomor seri tidak pernah bilangan bulat negatif. Persyaratan keunikan yang disajikan di atas menunjukkan bahwa angka berurutan dapat berupa bilangan bulat panjang. Pengguna CERT harus dapat memproses nilai di sub-bagian serialNumber hingga 20 oktet (inklusif). CA yang mengikuti standar ini tidak boleh menggunakan nilai di subfield serialNumber lebih lama dari 20 oktet.
Membutuhkan angka positif berarti bahwa bit paling signifikan tidak dapat ditetapkan. Jika diinstal, maka tidak dapat digunakan secara langsung sebagai nomor seri sertifikat.
Sistem EJBCA PKI yang populer, yang digunakan oleh banyak CA, secara default menghasilkan angka 64-bit dan untuk nomor sertifikat hanya mereset bit yang paling signifikan. Faktanya, RNG mereka menghasilkan angka 63-bit, itulah sebabnya banyak CA menderita.
Persyaratan default 64-bit untuk RNG diformulasikan bukan dari awal, tetapi setelah
peretasan 2008 , ketika sekelompok 200 konsol game PlayStation 3 menghasilkan tabrakan untuk hash MD5, yang
memungkinkan pembuatan pusat otentikasi palsu yang dipercayai oleh semua browser dan sistem operasi .
Pada 2012,
senjata cyber Amerika Flame menggunakan trik ini untuk menyusup
ke mekanisme pembaruan Pembaruan Windows.
Namun, sekarang SHA256 digunakan untuk pembangkitan, itu adalah algoritma yang lebih modern dibandingkan dengan MD5, sehingga persyaratan minimum 64 bit diadopsi lebih banyak untuk tujuan pencegahan. Para ahli
mengatakan bahwa sekarang tidak ada kesempatan untuk menemukan tabrakan dalam 63 bit dan entah bagaimana mengeksploitasi kesalahan yang ditemukan dengan sertifikat yang salah.
Tetapi mencabut jutaan sertifikat adalah sakit kepala bagi administrator sistem di banyak perusahaan.
Hilangnya 1 bit entropi tidak begitu mengerikan, tetapi seseorang di suatu tempat dapat menemukan kerentanan yang mencuri 1-2 bit lainnya, dan seterusnya. Jadi semua kerentanan seperti itu harus segera diperbaiki.

