使用開源PKI憑證授權軟體EJBCA的憑證頒發機構(CA)要小心了,因為Godaddy、蘋果和Google出包了,在沒有注意到EJBCA用來產生憑證序號的預設配置,並未符合CA/B Forum對憑證的基本要求的情況下,至少誤發了數十萬張的不合格憑證,且正忙於撤銷相關憑證。

CA/B Forum的全名為憑證頒發機構瀏覽器論壇(Certification Authority Browser Forum),亦稱為CA/Browser Forum,是由各憑證機頒發機構、瀏覽器業者、作業系統業者與其它PKI應用商所組成的聯盟,負責制定及管理數位憑證標準,在其基本要求中闡明由密碼學安全偽亂數產生器(Cryptographically secure pseudorandom number generator,CSPRNG)所產生的憑證序號必須至少是64位元的正整數。

另一方面,開源的EJBCA即以64位元作為憑證序號長度的預設值,雖然貌似合理,但為了讓憑證維持正整數的特性,它在執行CSPRNG將最高有效位元(最左邊的位元)設定為0(0為正數,1為負數),於是,雖然它看起來還是64位元,但第一個位元已被正負數符號佔用,代表它其實只產生了63位元的序號長度,已違反CA/B Forum的規定。

資安顧問Adam Caudill表示,即使只差一個字元,但實際上卻是2^64與2^63之間的差別,可謂差以毫釐失之千里。

根據估計,蘋果則已因此而誤發了87.8萬張憑證,當中有55.8萬仍是有效憑證,Google的誤發數量亦超過10萬張,尚有7,100張為有效憑證,至於Godaddy所誤發的憑證中,迄今仍有1.2萬張是有效的。由於CA/B Forum也規定在發覺誤發憑證之後,必須在5天之內撤銷憑證,也讓相關業者在這幾天忙翻了。

不過,雖然這些憑證不符規定,但被開採的機率很低,主要是因為64位元的規定是為了未來數十年的安全性所設計,現今的加密攻擊技術尚無法破解即使是只有63位元的憑證。

至於EJBCA也在3月初釋出的EJBCA 7.0.1修補了此一臭蟲,把產生序列號碼的長度預設值從8個8位元組(octet)直接提高到20個octet(每個octet為8個位元)。

熱門新聞

Advertisement