DigiCert証明書の正規代理店株式会社アールエムエス
DigiCert サーバー証明書利用団体
  1. ホーム
  2. サポート
  3. 技術情報
  4. SHA-2署名アルゴリズム

SHA-2への移行

サーバー証明書へのSHA-2ハッシュアルゴリズム適用

強度を求めての移行

DigiCertは2010年10月28日、SHA-2の証明書を初めて提供した認証局(CA)のひとつです。
2013年11月12日に、Microsoftは「認証局に要求するルート証明書のポリシーをより強固で安全なものにするよう変更する」と発表しました。
2016年1月1日以降、MicrosoftはSHA-1ハッシュアルゴリズムで生成されたコードサイニング証明書の受け入れを中止し、2017年1月1日以降にはSSLサーバ証明書についてもSHA-1ハッシュアルゴリズムで生成されたものは受け入れ中止となります。
これにより、SHA-2への移行に向けた動きは現実のものとなっています。
本ページでは、この変化が起こっている理由を説明し、証明書管理者がより安全な環境を実現するためのSHA-1からSHA-2の移行をスムーズに行えるよう支援します。

ハッシュ関数

SHA-1やSHA-2などのハッシュ関数は多くのセキュリティプロトコルにおいて重要な役割を果たし、暗号化に不可欠な要素です。
弱いハッシュ関数を使っていると、攻撃者は、署名されたメッセージを置換する攻撃(preimage attack:原像攻撃)を行ったり、正しく署名されているかのように見えるメッセージを作成する攻撃(collision attack:衝突攻撃)を行ったりできます。

暗号学的ハッシュ関数は、研究者による攻撃テストが継続的に行われています。
技術の進歩に伴い攻撃も高度化します。弱点が見つかった場合、当該ハッシュ関数の安全性は再評価されます。
ハッシュ関数が脆弱で安全ではないと判断された場合、認証局(CA)はその関数の利用を停止します。見つかった脆弱性の重要度に応じ、そのハッシュ関数を使っている証明書を無効にすることもあります。

暗号解読攻撃

暗号解読やハッシュ攻撃の既知のクラスは、原像攻撃(preimageとsecond-preimage)と衝突攻撃です。

原像攻撃

原像攻撃 には二つのタイプがあります。両方のタイプとも特定のハッシュ値を持つメッセージを探す攻撃です。
preimageアタック
特定のハッシュ値になるようなメッセージを探索します。
second-preimageアタック
元のメッセージと同一のハッシュ値になるような別のメッセージを特定しようとします。

原像攻撃が成功すると、攻撃者はオリジナルのメッセージや文書の内容を改ざんして置き換え、オリジナルのデータであると信じさせることができます。
現時点では、SHA-1は原像攻撃に対し耐性があることが知られています。

衝突攻撃

衝突攻撃は、「同じハッシュ値となるような2つのメッセージを求めることが困難」というハッシュ関数の原理への攻撃です。異なったメッセージが同じハッシュ値となった場合を衝突と呼びます。
原理的には、ハッシュ値の範囲はハッシュ長で決まるため、ハッシュ長が短いほど衝突が発生しやすくなります。そのため、ハッシュ長は十分大きいと思われる値(160ビットなど)に設定されています。
原理的な衝突の可能性よりも高確率で衝突を起こす方法が見つかった場合には、そのハッシュ関数は安全ではないと考えられます。

衝突攻撃が成功すると、攻撃者は不正な証明書を作成できます。一般的なWebブラウザでは、この証明書を不正と判断できません。攻撃者は、偽装したWebサイトにこの不正な証明書を設置し、HTTPSプロトコルでアクセスさせることが可能になります。

SHA-2への歩み

技術が進歩し、攻撃が高度化したことにより、それぞれのハッシュ関数はセキュリティアプリケーションとしては使えなくなる日が来る可能性があります。
MD5などの古いアルゴリズムで発見された弱点は、継続的にそのハッシュ関数を使うことができないようなものでした。ハッシュ関数で理論的な弱点が発見された場合、セキュリティ関連分野全体が、より安全なハッシュ関数利用の方向に動き始めます。

MD5

MD5は、2004年に研究者によって衝突耐性がないことを発見されるまで、最も普及したハッシュ関数でした。
それから数年の間に複数の深刻なセキュリティ上の欠陥が発見されたため、MD5からSHA-1への移管が急速に行われ、MD5は利用されなくなりました。

SHA-1

中国の研究チームは2005年、Secure Hash Algorithm (SHA-1) にセキュリティ上の欠陥が存在する可能性を特定しました。
中国の研究チームによる弱衝突耐性の発見は、攻撃は常に高度化していくという実態と相まって、 SHA-1では追加の脆弱性が見つかるに違いなく、SHA-1は使い続けるには弱すぎる (too-weak-to-use) ハッシュ関数だということを意味します。
この「衝突攻撃の影響を受けやすい」というセキュリティ欠陥の可能性についてのニュースをきっかけに、セキュリティ関連業界は、SHA-2にシフトし始めました。

SHA-1は衝突困難性での弱点を知られているため、認証局はSHA-1の証明書の発行を停止し、SHA-2証明書を発行に対応する必要があります。それに伴って、証明書の管理者も、SHA-1証明書の問題を回避するためにSHA-2に切り替える準備をしなければなりません。

証明書は、SSL、コードサイニング、ドキュメントサイニング、メールの暗号化、およびその他の分野で「本人識別」と「暗号化」の目的で使用できます。
それぞれの使用目的に沿って、証明書はメッセージが改変されていないことと安全であることを担保しています。
弱いハッシュアルゴリズムを使うことは、メッセージを危険にさらすことを意味します。それこそが、セキュリティ関連分野全体がSHA-2に移行している理由であり、すべての関係者が真剣にSHA-2への移行を検討しなければならない理由です。

SHA-2移行へのサポート

SHA-2を利用することで、現時点はもちろん、近い将来にわたっても安全性を確保できます。
SHA-2には、SHA-224、SHA-256、SHA-384、SHA-512が含まれており、DigiCertはそれらのアルゴリズム全てをサポートしています。

DigiCertでは、安全第一の観点から、以下のようなポリシーで証明書を発行します。

有効期限が2015年12月30日以降のコードサイニング証明書  ⇒デフォルトでSHA-2を使って発行
有効期限が2016年12月30日以降のSSLサーバ証明書

SSLサーバ証明書(EVを含む)はSHA-1での発行を停止しました。
EVコードサイニング証明書及びコードサイニング証明書は、SHA-1での再発行に対応しています(2016年1月現在)。

SHA-2をサポートしている主要なOS・サーバー・ブラウザのリスト

Windows Server

  • Windows Server 2008, 2008 R2, 2012, 2012 R2
  • Windows Server 2003 SP1, SP2 Hotfix KB 938397 対応版
    SHA-256 のみ対応

Apache

  • Apache server 2.0.63、OpenSSL0.9.8*以降

Windows OS

  • Windows Vista, 7, 8, 8.1
  • Windows XP SP3
    SHA-256 のみ対応

ブラウザ

  • Internet Explorer 7以降で Windows XP SP3以降
  • Safari with Mac OS X 10.5以降
  • Firefox 1.5以降
  • Netscape 7.1以降
  • Mozilla 1.4以降
  • Opera 9.0以降
  • Konqueror 3.5.6以降
  • Mozilla-based browsers since 3.8以降
  • OpenSSL 0.9.8*以降
  • Java 1.4.2以降によるブラウザ
  • Chrome 26以降

関連情報

DigiCert SSL証明書はハッシュ関数 SHA-2 (SHA-256) 署名アルゴリズムを採用

SSL サーバ証明書とは?
30日間テスト証明書
30日間返金保証制度あり!
コードサイニング証明書
ドキュメントサイニング証明書
デジタル証明書ニュース
HTTPS入門
digicert.comトピックス&ニュース