トップ回答者
Internet Explorer 11における署名ハッシュアルゴリズムSHA-2への対応について

質問
-
※Microsoftコミュニティから移動してきました。
Windows7 Enterprise 32bit ServicePack1、Internet Explorer 11の環境です。
FAQ: SHA-1 廃止/SHA-2 移行に関するマイクロソフトのポリシー
https://blogs.technet.microsoft.com/jpsecurity/2015/11/02/faq-sha-1-sha-2/
署名ハッシュアルゴリズムSHA-2の対応状況を調査しています。
上記サイトの説明では「KB2949927」もしくは「KB3033929」の適用に
よって対応とあります。
当方の環境では何れのセキュリティパッチも未適用です。
しかしSymantec社のSHA-2テストサイトにアクセスしてみると正常に
通信できているとの診断結果が表示されております。
SHA-2のSSLサーバ証明書のテストサイト - Symantec
https://ssltest-sha2int.jp.websecurity.symantec.com/
質問としては
- OSもしくはブラウザが標準で対応している?
- KB2949927・KB3033929以外にもSHA-2へ対応させるパッチが
存在するのか? - SHA-2の対応可否をネットワーク接続無しにローカルで確認する
方法があるか?
以上となります。
回答
-
ご提示頂いた資料 を流し読みしてみましたが、第2章を見た限りでは、影響を受ける範囲として記載されているのは TLS サーバー証明書の扱いのみのように見えました。この変更計画では、下記の 3 フェーズが存在するそうです。
- アドレスバーに鍵アイコンが表示される
- アドレスバーに鍵アイコンが表時されない
- 証明書が無効になる
上記の鍵アイコンの有無については、IE で SHA-1 なサイトを開いてみることで、アドレスバーで判断できそうです。SHA-1 な証明書を使っているサイトが残っていれば、ですけれども。
この変更が適用されるパッチ:
- Windows 7 / Server 2008 R2 : KB3170106 、KB3172605
- Windows 8.1 / Server 2012 R2 : KB3170106 、 KB3172614
- Windows 10 : KB3163912
- Windows 10 Version 1511 : KB3172985
Web サーバー側ではなくクライアント側として見た場合には、TLS を必要とするアプリケーションが導入されているかどうか、という点に注目することになると思います。これについては、導入しているサードパーティ製品各社などに確認していく事になるとは思いますが、自社開発の製品で検討するような場合、たとえば .NET Framework の HttpWebRequest クラスについて、このような情報がありました。
.NET Framework で TLS1.1 および 1.2 を有効化する方法
最初の質問にあった KB3033929 については、下記のように記載されていますね。まずは鍵アイコンを外して、信頼されているサイトから除外した上で、さらに 2017年2月以降はブロックされる仕組みとするようです。
Q. アドバイザリ 3033929 を適用した場合、SHA-1 が無効となり、認証が取れなくなるのでしょうか?
A. いいえ。以下の SHA-2 ハッシュ アルゴリズム署名および検証のサポートを追加しただけです。
マイクロソフトのルート証明機関に所属していないもの(組織内のプレイベート証明機関など)については、今回の廃止措置の対象外とのことですが、"マイクロソフトのルート証明機関" へのリンクが切れていたので、詳細は調べていません。
一方、SHA-2 対応の方については、Windows 7 の初期インストール時点では、SHA-2 のルート証明書は含まれておらず、KB2949927 および KB3033929 で提供と記載されています。Windows 7 Service Pack 1 については、これらのパッチが提供されるよりも前(2011年2月)なので、SP1 も含めて「初期インストール時点」にあたると思います。
- 回答としてマーク Fujii,Hiroyuki 2016年11月24日 2:54
-
チャブーンです。
横からすみませんが、この件ですが、質問者さんが「Webページの閲覧」と「アプリケーション(ファイル)への署名と検証」を混同されておられるのが、理解を阻む遠因なのかもしれません。
単に「Webページの閲覧」ができること、のレベルであればWindows Server 2008/Vista以降は標準的に対応しています。
Windows上の対象コンポーネントはしたの資料からCrypt32.dllとWcrypt32.dllが対象になるようですが、Windows Server 2003のように「そもそもは未対応」であれば、修正プログラムによる差し替えが必要ですが、それ以降のOSは標準装備のため、コンポーネントのバージョンやレジストリの確認は全く不要です。
https://support.microsoft.com/en-us/kb/968730
魔界の仮面弁士さんのコメントにもありますが、ルート証明書の署名アルゴリズムがSHA1なのにSHA2ができている、という意味ですが、これは結局クライアントが直接アクセスするWebサーバの「サーバ証明書」がSHA2であれば、SHA2で通信するから、ということのはずです(サーバ側の秘密鍵を使うはずなので)。ただし、SHA1のルート証明書は「過去に発行された別物」の証明書扱いになると思いますので、なんらかのアラートが出る可能性があると思います。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP 2016年11月24日 4:40
- 回答としてマーク Fujii,Hiroyuki 2016年11月24日 9:14
- 回答としてマークされていない Fujii,Hiroyuki 2016年11月24日 9:14
- 回答としてマーク Fujii,Hiroyuki 2016年11月24日 9:18
すべての返信
-
専門外の分野なので、あまり自信は無いですが:
> https://blogs.technet.microsoft.com/jpsecurity/2015/11/02/faq-sha-1-sha-2/
『今回の措置の対象は、ルート証明書プログラムに参加している CA から発行された証明書が対象です』と記載があります。
> https://ssltest-sha2int.jp.websecurity.symantec.com/
このテストサイトのサーバー証明書および中間証明書(Symantecのもの)は SHA-2 のようですが、ルート証明書(Verisign のもの)は SHA-1 のようです。
たとえば下記のサイトは、証明書チェーンすべてが SHA-2 のようです。こちらも問題なく表示することができていますか?
https://knowledge.geotrust.com/
(手元の Win7 で systeminfo.exe コマンドを実行したところ、既に KB3033929 が導入済みだったため、未適用の環境でどのように表示されるのかは自信がありません)
> SHA-2の対応可否
何をもって対応と看做すことができるのが、具体的な情報を持ち合わせていないのですが、SHA256 なルート証明書の一覧を取得することだけで良ければ、下記で行えます。(PowerShell)
gci Cert:\CurrentUser\Root | where { $_.SignatureAlgorithm.FriendlyName -eq "sha256RSA" }
なお、自分の PC で、証明書ストアの[信頼されたルート証明期間]タブで、VeriSign のものを確認したところ、下記の 4 つが存在していました。今回ご提示頂いたテストサイトで使われていたのは b のようですが、この中で SHA-2 なのは d だけです。a,b は SHA-1、c は MD2。
[a]VeriSign Class 3 Public Primary Certification Authority - G3
[b]VeriSign Class 3 Public Primary Certification Authority - G5
[c]VeriSign Commercial Software Publishers CA(期限切れ)
[d]VeriSign Universal Root Certification Authority
このあたりにも情報がありました。
https://www.jp.websecurity.symantec.com/developer/step01.html -
魔界の仮面弁士さん、ご情報提供頂きありがとうございます。
早速、こちらの環境で「https://knowledge.geotrust.com/」へ
アクセス可能か確認したところ、問題なく閲覧できました。証明書の詳細は以下の通りです。
署名アルゴリズム:sha256RSA
署名ハッシュ アルゴリズム:sha256
※SymantecのSHA-2テストサイトも同様でした。またPowerShellでVeriSignの証明書を確認したところ
>[d]VeriSign Universal Root Certification Authority
がインストール済みでした。SHA-2には対応できているようですが、このまま「KB3033929」を
適用せずにSHA-2を利用できるなら問題ありませんが、それで良い
のか判断材料が欲しいですね。
-
ご提示頂いた資料 を流し読みしてみましたが、第2章を見た限りでは、影響を受ける範囲として記載されているのは TLS サーバー証明書の扱いのみのように見えました。この変更計画では、下記の 3 フェーズが存在するそうです。
- アドレスバーに鍵アイコンが表示される
- アドレスバーに鍵アイコンが表時されない
- 証明書が無効になる
上記の鍵アイコンの有無については、IE で SHA-1 なサイトを開いてみることで、アドレスバーで判断できそうです。SHA-1 な証明書を使っているサイトが残っていれば、ですけれども。
この変更が適用されるパッチ:
- Windows 7 / Server 2008 R2 : KB3170106 、KB3172605
- Windows 8.1 / Server 2012 R2 : KB3170106 、 KB3172614
- Windows 10 : KB3163912
- Windows 10 Version 1511 : KB3172985
Web サーバー側ではなくクライアント側として見た場合には、TLS を必要とするアプリケーションが導入されているかどうか、という点に注目することになると思います。これについては、導入しているサードパーティ製品各社などに確認していく事になるとは思いますが、自社開発の製品で検討するような場合、たとえば .NET Framework の HttpWebRequest クラスについて、このような情報がありました。
.NET Framework で TLS1.1 および 1.2 を有効化する方法
最初の質問にあった KB3033929 については、下記のように記載されていますね。まずは鍵アイコンを外して、信頼されているサイトから除外した上で、さらに 2017年2月以降はブロックされる仕組みとするようです。
Q. アドバイザリ 3033929 を適用した場合、SHA-1 が無効となり、認証が取れなくなるのでしょうか?
A. いいえ。以下の SHA-2 ハッシュ アルゴリズム署名および検証のサポートを追加しただけです。
マイクロソフトのルート証明機関に所属していないもの(組織内のプレイベート証明機関など)については、今回の廃止措置の対象外とのことですが、"マイクロソフトのルート証明機関" へのリンクが切れていたので、詳細は調べていません。
一方、SHA-2 対応の方については、Windows 7 の初期インストール時点では、SHA-2 のルート証明書は含まれておらず、KB2949927 および KB3033929 で提供と記載されています。Windows 7 Service Pack 1 については、これらのパッチが提供されるよりも前(2011年2月)なので、SP1 も含めて「初期インストール時点」にあたると思います。
- 回答としてマーク Fujii,Hiroyuki 2016年11月24日 2:54
-
チャブーンです。
横からすみませんが、この件ですが、質問者さんが「Webページの閲覧」と「アプリケーション(ファイル)への署名と検証」を混同されておられるのが、理解を阻む遠因なのかもしれません。
単に「Webページの閲覧」ができること、のレベルであればWindows Server 2008/Vista以降は標準的に対応しています。
Windows上の対象コンポーネントはしたの資料からCrypt32.dllとWcrypt32.dllが対象になるようですが、Windows Server 2003のように「そもそもは未対応」であれば、修正プログラムによる差し替えが必要ですが、それ以降のOSは標準装備のため、コンポーネントのバージョンやレジストリの確認は全く不要です。
https://support.microsoft.com/en-us/kb/968730
魔界の仮面弁士さんのコメントにもありますが、ルート証明書の署名アルゴリズムがSHA1なのにSHA2ができている、という意味ですが、これは結局クライアントが直接アクセスするWebサーバの「サーバ証明書」がSHA2であれば、SHA2で通信するから、ということのはずです(サーバ側の秘密鍵を使うはずなので)。ただし、SHA1のルート証明書は「過去に発行された別物」の証明書扱いになると思いますので、なんらかのアラートが出る可能性があると思います。
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP 2016年11月24日 4:40
- 回答としてマーク Fujii,Hiroyuki 2016年11月24日 9:14
- 回答としてマークされていない Fujii,Hiroyuki 2016年11月24日 9:14
- 回答としてマーク Fujii,Hiroyuki 2016年11月24日 9:18