「えっ! Windows 7ってまだSHA-2に対応していなかったの?」「そんなばかな!」:その知識、ホントに正しい? Windowsにまつわる都市伝説(132)
2019年2月中旬に「3月12日にSHA-2署名をサポートするための重要な更新プログラムがWindows 7およびWindows Server 2008 R2向けにリリース」というニュースを見た人は多いと思います。安全性に問題があるSHA-1は使用せず、SHA-2に移行すべきです。しかし、Windows 7やWindows Server 2008 R2がSHA-2をこれまでサポートしていなかったのかというと、それは全くの誤解です。
Windows 7におけるSHA-2署名のサポートは2014年10月からスタート
SHA-1やSHA-2は、SSL/TLS、PGP、SSH、S/MIME、IPsec、デジタル署名(コード署名)など、さまざまなアプリケーションやプロトコルで、暗号化やデータの完全性(改ざんされていない)の検証に利用されているハッシュアルゴリズム関数です。
SHA-1は160bit(ハッシュ値の長さ)、SHA-2はbit長の違いなど、幾つかのバリエーションの総称(その一つがSHA-256)です。SHA-2の初版は2001年に登場しており、決して新しい標準ではありません。
2009年にリリースされたWindows 7には、OSレベルでSHA-2のサポート(一部制限あり)が最初から組み込まれています。そのことが記された、2010年に書かれた古いブログ記事を見つけました。
- SHA2 and Windows[英語](Windows PKI blog)
2005年にSHA-1に対する攻撃手法が発見されて以降、その安全性が問題視され、SHA-2への移行が推奨(後に要請)されました。MicrosoftはSHA-1の廃止とSHA-2への移行をさまざまな領域で進めていますが、その対象の一つにWindows UpdateおよびWindows Server Update Services(WSUS)における更新プログラムのコード署名の扱いがあります。
そして今回、以下のサポート情報が大幅に更新されたことを受け、「SHA-2署名をサポートするための重要な更新プログラム」のニュースになりました。
- 2019 SHA-2 Code Signing Support requirement for Windows and WSUS[英語](Windows Support)
Windows UpdateとWSUSでは、2019年7月からSHA-1署名を廃止
現在、Windows UpdateおよびWSUSで提供される更新プログラムは、SHA-1とSHA-2の2つのハッシュアルゴリズムを用いて、二重に署名されています。Windowsは署名を検証することで、更新プログラムが本物であることを信頼します(画面1)。
画面1 Microsoftの更新プログラムは、SHA-1(sha1)とSHA-2(sha256)の2つのハッシュアルゴリズムで二重に署名されている。Windows 7は適切に更新されていれば、既にSHA-2の署名を検証可能
2019年7月以降、更新プログラムのコード署名はSHA-2に一本化されます。上記のサポート情報は、このSHA-1の廃止とSHA-2への完全移行が、2019年3月以降に提供される更新プログラムから段階的に行われることを知らせるものです。
このサポート情報は2019年2月に初めて公開されたものではなく、少なくとも2018年11月には存在していました。SHA-1廃止の件は本連載の年末特集でも紹介しましたが、その時よりも詳細なスケジュールに更新されたのが2019年2月のことです。
- 年末恒例、ゆくWindows、くるWindows[2018年版]―2019年にサポートが終了するのは?(本連載 第126:年末特別編)
現在、サポートされているWindowsの中で、Windows 7、Windows Server 2008、Windows Server 2008 R2は、リリース当初、SHA-2のコード署名および検証をサポートしていませんでした(画面2)。
画面2 Windows 7 Service Pack(SP)1の新規インストール直後は、SHA-2の署名と検証をサポートしていないため、更新プログラムのSHA-1の署名しか見えない。Windowsがこの状態の場合、SHA-2の署名のみの更新プログラムは検証できないことに
しかし、SHA-2のコード署名のサポートは、2014年10月に初めて更新プログラムとして提供され(ただし、この最初の更新プログラムには問題がありました)、その後も何度か更新版に置き換えられています(画面3)。
- マイクロソフトセキュリティアドバイザリ:Windows 7およびWindows Server 2008 R2 SHA-2ハッシュアルゴリズムの利用について(2014年10月15日)(Microsoft サポート)
- マイクロソフトセキュリティアドバイザリ 3033929:Windows 7 および Windows Server 2008 R2 で SHA-2コード署名サポートを利用可能(2015年3月11日)(Microsoft Docs)
- マイクロソフトセキュリティアドバイザリ:マイクロソフトルート証明書プログラムでの SHA-1ハッシュアルゴリズムの廃止(2016年1月12日)(Microsoft サポート)
これらのセキュリティアドバイザリに対応する更新プログラムは、Windows Server 2008 Service Pack(SP)2向けには提供されていません。ただし、別の更新プログラム(KB2763674、KB4056448、KB4039648など)によって、SHA-2コード署名の参照と検証は可能になっています(未確認情報ですが、カーネルモードドライバについては、現状、SHA-1署名のみのサポートかもしれません)。
また、3つ目のセキュリティアドバイザリのタイトルにあるように、Microsoftは当初(2013年11月に発表)、2016年1月からSHA-1を廃止し、SHA-2に移行する予定でした。2019年3月、4月に提供される更新プログラムは、2019年7月の完全移行に取りこぼしがないようにするため、あらためて更新版を提供するという意味合いがあるのかもしれません(あくまでも筆者の想像です)。
2019年7月以降の新規インストール後の更新はどうなっちゃうの?
そして2019年3月、Windows 7 SP1、Windows Server 2008 R2、WSUS 3.0 SP2向けにリリースされたのが以下の更新プログラムです(画面4)。この更新プログラムは、2019年7月16日(米国時間)より前までにインストールしておく必要があります。2019年4月9日(米国時間)には、Windows Server 2008 SP2向けに同様の更新プログラムが予定されています。
- Windows Server 2008 R2およびWindows 7でSHA-2コード署名をサポートするための更新プログラム:2019年3月13日(Microsoft サポート)
- Windows 7 SP1およびWindows Server 2008 R2 SP1用のサービススタック更新プログラム:2019年3月13日(Microsoft サポート)
- SHA-2 Support for Windows Server Update Services 3.0 SP2[英語](Microsoft Support)
画面4 2019年3月13日にWindows 7に配布されたWindows UpdateでSHA-2コード署名をサポートするための更新プログラム(KB4474419)とサービススタック更新プログラム(KB4490628)。後者は3月13日の更新プログラムによる再起動後のWindows Updateでインストールされた
SHA-1コード署名の廃止は、2019年7月16日(米国時間)以降にリリースされる新しい更新プログラムに対して行われます。既に提供済みで、Windows UpdateやMicrosoft Updateカタログで利用可能な古い更新プログラムには影響しないと思います。当然のことながら、2019年7月16日(米国時間)より前に、Microsoft Updateカタログからダウンロード済みの更新プログラムには関係ありません。
Windows UpdateやWSUSのサービスへの接続のためにSHA-2が要求されることはなく、古い更新プログラムは引き続き利用可能であると思います(あくまでも筆者の想像です)。もしそうでなければ、Windows 7を新規インストールしたときに、Windows UpdateやWSUSから更新プログラムを受け取れる状態にするまで、大変な労力が必要になることでしょう(画面5)。
画面5 Windows 7 SP1を新規インストール後に(SHA-2コード署名未対応の状態)、最初にWindows Updateを実行したところ(この前にWindows Update自身の更新プログラムのインストールが要求される)。2019年2月末の時点ではこうだが、2019年7月以降はどうなるか?
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2018/7/1)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Windows 10 October 2018 Updateはなぜ一時配布停止となったのか
Windows 10 October 2018 Updateの提供が一時停止している。配信停止の原因となった不具合とはどういったものなのか、また不具合に遭わないための方法などを解説する。 - Windows 10 October 2018 Updateがやってきた? やってこない?
Windows 10 October 2018 Update(バージョン1809)が2018年10月2日(米国時間)にリリースされました。10月にリリースされることは分かっていましたが、まさか月初めに予告なくくるなんて少しびっくりです。しかも、RTMビルドになった17763.1は、提供開始後数日で配信停止。本当にびっくりです。 - リリース直前! 「Windows 10 October 2018 Update」のどこが変わる?
2018年10月にリリースが予定されている「Windows 10 October 2018 Update」の主な変更点を先取りで紹介する。October 2018 Updateではどのような新機能がサポートされるのだろうか。 - 最新のWindows 10 May 2020 Update(バージョン2004)を手動でインストールしていち早く試す
Windows 10の機能アップデート(大型更新プログラム)「Windows 10 May 2020 Update」の提供が開始された。ただし当面、Windows 10 May 2020 Updateにするには手動による更新が必須だ。その方法を解説する。