日本マイクロソフトは11月2日、Windows環境におけるSHA-1の廃止およびSHA-2への移行に関するマイクロソフトのポリシーをFAQ形式で解説した。

SHA-1は、米国の国立標準技術研究所(National Institute of Standards and Technology:NIST)によって1995年に制定されたハッシュを生成するためのアルゴリズムの1つ。ハッシュとは、全体のデータを一定の規則(ハッシュ関数)に従って抽出した値(ハッシュ値)のこと。

ハッシュ値は主に、内容に改ざんがないこと(完全性)の確認を行うために利用される。ハッシュ値から元データを算出することはできない不可逆性という特性や、異なる元データからは異なるハッシュ値が算出される衝突困難性という特性を持つ。

SHA-1を廃止する理由は「ハッシュアルゴリズムが異なる元データであるにもかかわらず、同じハッシュ値が算出されてしまう問題(衝突の問題)が発生する可能性があるため」と説明している。

この問題が発生することで、元データが改ざんされた場合でもハッシュ値が同じになるため、なりすましやデータの改ざんが可能となる。衝突の原因は、研究が進むにつれて発見される新たなアルゴリズムや、ハッシュが安全性の担保として利用している数学や計算が、コンピュータの計算速度の高速化によって、短時間で実現可能になっていることだという。

SHA-1からの移行は、マイクロソフトだけではなく業界全体(および政府の指針)が推奨している。ある研究発表を例に挙げると、犯罪集団による悪用が現実化する時期がこれまでの予想よりも2年早まることになり、主要ブラウザでSHA-1が廃止される1年前に攻撃が発生する恐れもあるという。すでに、公的機関などではSHA-1の利用を停止している。こうした理由により、マイクロソフトでもSHA-1を段階的に廃止し、SHA-2への移行を推進している。

今後、SHA-1から移行しない場合は、改ざんされた証明書が利用可能となる問題が近年中に発生すると予測している。攻撃者がコンテンツのなりすまし、フィッシング攻撃や中間者攻撃を実行する恐れがある。

実際にSHA-1廃止措置とSHA-2へ移行を行うには、準備段階として運用しているシステムで利用している証明書を措置に該当するかどうかを確認し、該当する場合は、発行元の証明機関に移行方法を確認する必要がある。

証明書の切り替えを行う場合、業務アプリケーションなどの動作に問題がないかを確認する。具体的な方法や移行に関する支援は、マイクロソフトのサポートで問い合わせて確認することも可能だ。

今後、SHA-1証明書の移行状況、SHA-1アルゴリズムに対する攻撃や脅威の状況に応じて、措置の内容を改変する可能性があるが、具体的な時期は現時点で決まっていないという。

マイクロソフトの今回の措置の対象は、「マイクロソフト ルート証明書プログラム」に参加している証明機関から発行された証明書を利用している場合のみとなる。ルート証明書プログラムに参加していないルート証明機関、ルート証明書プログラムに参加しているCAのルート証明書などは対象外なので注意する必要がある。

利用しているCA(Certification Authority:認証局)がルート証明書プログラムに参加しているかどうかは、「Windows and Windows Phone 8 SSL Root Certificate Program (Member CAs)」で確認できる。

具体的なスケジュールは、マイクロソフト ルート証明書プログラムに参加しているCAは、2016年1月1日以降にSHA-1を利用した証明書の新規発行、更新、再発行を停止するとしている。

SSL/TLS証明書は、2017年1月1日以降のSHA-1利用の証明書がWindowsで動作しなくなる。ポリシーに従っていない場合、証明書は信頼できない証明書と見なされ、実行時にSSL接続が失敗し、エラーになる可能性がある。なお、マイクロソフトは顧客情報の保護のため、SSL/TLS証明書廃止の日程の前倒しを検討しており、2016年6月頃になる可能性もあるという。

コード署名証明書は、2016年1月1日以降に「2016年1月1日より前に発行されたタイムスタンプ付きのSHA-1証明書」もしくは「SHA-2(すべてのタイムスタンプ)の証明書」のみが利用可能となる。

今後のスケジュール

今回の措置は、「Windows の弱い証明書暗号化アルゴリズムの管理を向上させる更新プログラム(サポート技術情報2862966)」をインストール済みの環境にのみ適用される。更新プログラム2862966はWindows Vista、Windows Server 2008、Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、WindowsRTが対象となる。対象OSに対してSHA-1ハッシュアルゴリズム廃止の設定を行う更新プログラムをWindows Updateで提供する。なお、Windows 8.1/Windows Server 2012 R2 以降のOSには既定で機能が追加されているので、アップデートの必要はない。

SHA-2ハッシュアルゴリズムの機能を追加する更新プログラムも提供を開始している。セキュリティアドバイザリ2949927もしくはセキュリティアドバイザリ3033929においてWindows 7/Windows Server 2008 R2を対象に提供しており、それ以降のOSは規定で機能が追加されている。

なお、更新プログラム3033929は更新プログラム2949927を置き換えるもので、3033929を適用するように呼び掛けている。2949927には適用後の問題が確認されたため、問題を修正した3033929を公開した経緯となる。2949927適用後に問題が発生していない利用者は、3033929をインストールする必要はない。