利用廃止が間近に迫る「SHA-1」を利用するSSL/TLS証明書から、別の安全性の高い証明書に移行するよう、日本マイクロソフトがセキュリティブログで指南している。

SHA-1は、以前からセキュリティ上の安全性が低いとされており、ブラウザの提供元や証明書の認証局などは、SHA-1の利用廃止に向けた取り組みを進めている。マイクロソフトでもこの1月に、SHA-1を使用しているコード署名証明書のWindows上での利用制限を開始している。

現時点の予定では、マイクロソフトのルート証明書プログラムに参加する証明機関が発行するSSL/TLS証明書は、2017年1月1日以降に撤廃。HTTPS (HTTP over SSL)やFTPS、SMTPSを利用するとアプリ上でエラーが出て、正常に動作しない可能性が高い。具体的なケースとしては、Webサイトの管理者がSHA-1を使用していた場合、ユーザー側のブラウザ(Internet Explorer, Microsoft Edge)でサイトを閲覧できなくなる。

今回ブログでは、Webサイトの管理者に向けての確認事項を2つ紹介している。

1つ目は、利用している照明書がSHA-1かどうか。確認の対象となるサーバーは、HTTPS、SMTPS、FTPSなどのSSL/TLSを利用しているサーバー、インターネットにて利用しているサービスを構築しているサーバーなどがある。

Webサイトで利用する証明書の場合は、実際にクライアント端末からブラウザーでWebサイトを開いて確認する。IISを利用している場合は、WebサイトのSSL/TLS接続に利用している証明書を確認する。

その他は、SSL/TLSを利用しているサーバー端末上で「mmc.exe」を開き、コンピューターアカウントの証明書ストア、個人フォルダに入っている証明書を確認する(利用目的がサーバー認証になっているもの)。

証明書を開いたらルート証明機関を確認する。ルート証明機関がマイクロソフトのルート証明機関に所属しているかは、Microsoft Trusted Root Certificate Program Updatesにある最新のリストを参照すればよい。

リストに含まれていなかった場合は、廃止措置の対象外となる。例えば、企業内・組織内システムなどでWindows Serverの証明書サービスを利用して発行している証明書や自己署名証明書などは対象外となる。

証明書の「署名ハッシュ アルゴリズム」欄が「SHA1」となっていれば措置の対象となり、SHA-2といったより新しいアルゴリズムを採用した証明書に移行する必要がある。移行するには、発行元の証明機関で証明書を更新する。

2つ目は、テスト用クライアント端末を用意し、廃止後の影響を確認する。廃止措置が行われた状態を想定し、移行しなかった場合、どういった問題が起こり得るかを把握しておくと良い。具体的な操作は、管理者権限でコマンドプロンプト画面で「certutil -setreg chain\Default\WeakSha1ThirdPartyFlags」と入力し、クライアント端末にSHA-1を利用した証明書の利用を制限する設定をする。

これで、今後はSHA-1を利用した証明書は信頼されないものとして扱われるようになり、廃止措置後と同じ状態になる。うまく検証できない場合は、関連の設定の有無を確認し、必要に応じてフラグの値を変更する。構成を元に戻す場合は、コマンドプロンプト上で「certutil -delreg chain\Default\WeakSha1ThirdPartyFlags」を実行する。

なお、このコマンドはレジストリに影響を与えるため、必ずテスト用端末で検証を行う必要がある。予期せぬ障害に備え、設定を行う前に端末のバックアップすることを推奨している。実行後は、SSL/TLSを利用しているWebサイトやアプリケーション、システムなどを利用して問題が発生しないか確認する。設定を行った端末で、しばらく業務を行ったりすることで、隠れた影響などを洗いだすこともできる。もし影響があった場合は、対象のサーバーで利用されている証明書を確認する。

マイクロソフトは、脅威を常に監視しながら、状況によってはSHA-1の利用廃止日を2017年1月1日から前倒しすることも視野にいれている。また、6月頃をめどに警告を表示するなどの措置も検討しているという。同社以外のブラウザでも2017年1月1日を目途に廃止は予定されており、業界全体として廃止が進められているため、「廃止期限を待たず、速やかに移行してほしい」としている。