Mozilla Security Blog 日本語版

Mozilla Security Blog を日本語に翻訳(非公式)

【翻訳】SHA-1 を利用する証明書の段階的廃止

この記事は、2014 年 9 月 23 日付で Mozilla Security Blog に投稿された Phasing Out Certificates with SHA-1 based Signature Algorithms(筆者: kwilson)の翻訳です。この翻訳は公式なものではありません。詳しくはこちらをご覧ください。

また、2015 年 10 月 20 日付の記事 Continuing to Phase Out SHA-1 Certificates(参考: 日本語訳)も合わせて参照してください。


安全な Web サイトで今日使われている証明書の多くは、SHA-1 というハッシュアルゴリズムによって署名されています。証明書の署名に用いるハッシュアルゴリズムの完全性は、証明書の安全性を担保する重要な要素となっています。ハッシュアルゴリズムの攻撃耐性が弱い場合、攻撃者が偽の証明書を作成するのが可能となってしまいます。Mozila と他のブラウザベンダは共同して、SHA-1 ハッシュアルゴリズムのサポートを段階的に廃止していく計画を実行しています。

SHA-1 が生まれてから約 20 年になりますが、次第にその古さが現れ始めています。ここ数年では、SHA-1 の基盤を揺るがすような衝突攻撃が現実味を帯びてきました。古い MD5 ハッシュアルゴリズムに対する衝突攻撃は証明書の偽造に用いられているため、SHA-1 に対する衝突攻撃の実現性は懸念材料となっています。SHA-1 に対して決定打的な攻撃が発見される前に、私たちは SHA-1 証明書を能動的に廃止していくことにしました。

私たちは、認証局(CA)と Web サイトの管理者に対して、証明書の署名アルゴリズムSHA-1 よりも強固なもの(例えば SHA-256 や SHA-384、SHA-512 など)に更新することを推奨します。Mozilla's CA Certificate Maintenance Policy の Section 8 では「Mozilla 製品で許容、サポートされるアルゴリズムと鍵長は次の通りです。SHA-1SHA-1 証明書への衝突攻撃が現実的でない限りにおいて)...」と述べています。NIST の指針 では、2014 年以後に SHA-1 証明書を信頼しないことを推奨しています。しかしながら、今なお多くの Web サイトが SHA-1 署名による SSL 証明書を利用しているため、SHA-1 証明書は 2016 年 1 月 1 日以後に発行されるべきではないこと、また、2017 年 1 月 1 日以後は信頼されるべきではないことを MicrosoftGoogle と合意しました。特に認証局は、SSL やコード署名に対する新しい SHA-1 証明書を発行するべきではなく、また SHA-1 による中間証明書、ないしエンドエンティティ証明書から利用者を移行させていくべきです。互換性のために SHA-1 証明書を発行する必要がある場合には、その SHA-1 の証明書を 2017 年 1 月よりも前に失効させるべきです。詳しい情報は、MozillaPotentially Problematic CA Practices に一覧としてまとめられています。

開発者に対して SHA-1 証明書を利用するべきでない旨を伝えるため、 私たちは Web コンソールセキュリティ警告 を表示させることを予定しています。さらに、2017 年 1 月 1 日以後も有効な証明書を拒否するために、より目立つ警告を表示させることも考えています。これらの警告はあと数週間で Firefox に実装されるため、2015 年の早い時期にリリースされるはずです。また、追加の UI 表示も追って実装されることになります。例えば、2016 年 1 月 1 日以後に発行された SHA-1 証明書を Firefox が受信したら、必ず「「接続の安全性を確認できません」のエラーを出すことを予定しています。2017 年 1 月 1 日以後は、発行日に関係なく SHA-1 証明書に対して「接続の安全性を確認できません」のエラーを必ず出すことを予定しています。

是非とも SSL やコード署名に利用している証明書が SHA-1 を利用していないか確認をお願いいたします。また、ご意見やご質問は mozilla.dev.security.policy までお願いいたします。