64ビットではなく63ビットのRNGで誤って生成された、多くのCAからのTLS証明書の大量取り消しがあります。

3日前、TLS証明書の生成において、mozilla.dev.security.policyメーリングリストで大量違反メッセージが生成されました。 調査が示したように、 GoDaddyAppleGoogleなど、いくつかの認証機関が影響を受けました 。 不正な証明書の総数は100万を超えており、おそらくそれ以上です。 GoDaddyは当初180万の証明書の数字を命名し、その後格付けを2桁下げて12,000に下げました。Appleの広報担当者は558,000の証明書の数字を命名しました。



結論として、すべてのCAの負傷者はEJBCAオープンソースPKIソリューションを誤った設定で使用したため、63ビットスペースの乱数が証明書シリアル番号に使用されたため、CA / Bフォーラムの最小エントロピー要件 (64ビット)に違反しています。



2 63と2 64の差は9キントン、つまり9×10 18を超えますが、これは非常に重要な数です(差は半分にすぎません)。 すべての証明書を失効させる必要があります。 SSL.comおよびGoDaddyの場合、手順には30日かかりますが、RFC5280規格では5日以内に無効な証明書を取り消す必要がありますが、それとほぼ同じ時間がかかる場合もあります。 しかし、彼らは明らかに標準を満たす時間がない。



これはどのように起こりましたか? 予備的な分析では、すべての証明書は対応するフィールドの長さが正確に64ビットであることが示されました。 RNGが64ビットのエントロピーを生成し、すべての証明書が正確に64ビットである場合、一見したところすべてが正常です。 しかし、問題はRFC5280によると:

シリアル番号



シリアル番号は、CAによって各証明書に割り当てられた正の整数でなければなりません。 特定のCAによって発行された各証明書に対して一意である必要があります(つまり、発行者名とシリアル番号は一意の証明書を識別します)。



CAは、シリアル番号が負の整数にならないようにCERTを発行する手順を厳密に制御する必要があります。 上記の一意性の要件は、連続した数値が長整数になる可能性があることを示唆しています。 CERTユーザーは、最大20オクテット(両端を含む)の長さでserialNumberサブフィールドの値を処理できる必要があります。 この標準に従うCAは、20のオクテットより長い「serialNumber」サブフィールドの値を使用しないでください。
正数を要求するということは、最上位ビットを設定できないことを意味します。 インストールされている場合、証明書のシリアル番号として直接使用することはできません。



多くのCAで使用されている人気のあるPKIシステムEJBCAは、デフォルトで64ビットの数値を生成し、証明書の数値については単に最上位ビットをリセットします。 つまり、実際には、RNGは63ビットの数値を生成するため、多くのCAが苦しんでいます。



RNGの64ビットのデフォルト要件はゼロからではなく、 2008年のハックの後、200のPlayStation 3ゲームコンソールのクラスターがMD5ハッシュの衝突を生成したため、 すべてのブラウザーとオペレーティングシステムが信頼する偽の認証センターを作成できます



2012年、 アメリカのサイバー兵器Flameはこのトリックを使用してWindows Update 侵入しました。



ただし、SHA256が生成に使用されるようになりました。MD5と比較して最新のアルゴリズムであるため、予防目的で64ビットの最小要件が採用されています。 専門家によると、63ビットで衝突を検出する機会はなく、誤った証明書で見つかったエラーを何らかの方法で悪用する可能性があります。



しかし、何百万もの証明書を取り消すことは、多くの企業のシステム管理者にとって頭痛の種です。



1ビットのエントロピーの損失はそれほどひどいものではありませんが、誰かが別の1-2ビットを盗む脆弱性をどこかで見つけることができます。 したがって、このような脆弱性はすべてすぐに修正する必要があります。








プロモーションコードAL003HRFRを使用した2019年11月30日までの中小企業向けのPKIソリューションの 特別な条件 。 新規顧客に有効なオファー。 詳細については、マネージャー+7(499)678 2210、sales-ru @ globalsign.comにお問い合わせください。



All Articles