マイクロソフトがコード署名のSHA-1アルゴリズムを廃止

※この記事にはプロモーションが含まれています。

昨年から言われていたSHA-1証明書でコード署名されたプログラムが信頼されなくなるパッチが2016年1月13日に適用されたようです。

Microsoft セキュリティ アドバイザリ 3123479

マイクロソフトがコード署名のSHA-1アルゴリズムを廃止

image.png

適用された内容

  • 2015年12月31日以前にタイムスタンプなしでSHA-1アルゴリズムの証明書で署名されたプログラム
  • 2016年1月1日以降にSHA-1アルゴリズムの証明書で署名されたプログラム

に対して、SamartScreenがそのプログラムを信頼できないプログラムとして警告を出すようになりました。

とは言っても、ファイルのダウンロードや実行できなくなるものではないようで、あくまでも信頼されないファイルとして警告メッセージが表示されるようになった、ということのようです。

まぁ、昨年から言われていたものですが、年が明けてから2週間くらいしてリリースというのはどういう事情かはよく分かりません。

2015年12月31日以前に署名されたものでも、タイムスタンプがついていれば引き続き信頼されたものとして取り扱ってくれます。
※現時点Microsoftアナウンスによると、2020年1月1日までは大丈夫そうです。

参考URL

Archived MSDN and TechNet Blogs

どのOSが対象になっているのか

クライアントOS

Windows 7 for 32-bit Systems Service Pack 1
Windows 7 for x64-based Systems Service Pack 1

Windows 8 for 32-bit Systems
Windows 8 for x64-based Systems

Windows 8.1
Windows 8.1 for 32-bit Systems
Windows 8.1 for x64-based Systems

Windows 10 for 32-bit Systems
Windows 10 for x64-based Systems
Windows 10 Version 1511 for 32-bit Systems
Windows 10 Version 1511 for x64-based Systems

サーバOS

Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1

Windows Server 2012 R2

Windows Server 2008 R2 for x64-based Systems (Server Core インストール)
Windows Server 2012 (Server Core インストール)
Windows Server 2012 R2 (Server Core インストール)

対処方法

このアップデートへの対処方法ですが、1つしかありません。

それは

SHA-2アルゴリズムの証明書で署名をしなおす

の一本勝負あるのみ。

ちなみに署名する際にもハッシュアルゴリズムを指定することができるのですが、そのハッシュアルゴリズムと証明書の署名アルゴリズム名は別の話なので誤解なきよう。

今回はその署名時のハッシュの話ではありませんので、コード署名の証明書がSHA-2であれば署名時のハッシュアルゴリズムはどちらでも構いません。(少なくとも現時点では)

でも、実行環境にVista以前のOSがある場合は、署名時のハッシュアルゴリズムはSHA-1にしておかなければなりません。
※VistaはSHA-2証明書には対応しているのですが、署名時にSHA-2アルゴリズムを使うとNGなんですよね。

 

ああ、ほんとややこしい。もう、Microsoftさんもっとシンプルにならないですかね。

コメント