SHA-1サポート終了を前に

さて、ポイントはSHA-1の存在だ。SSL/TLSは、SSLサーバー証明書から取り出したWebサーバーの公開鍵を取り出し、それを元にランダムデータの生成や暗号化を行っている。その際、送信するデータレコードは番号や共通鍵、データからMAC(メッセージ認証コード)を算出したデータを付加するのが通例だが、ここで改ざん検出に用いるアルゴリズムがMD5やSHA-1、SHA-2などだ。

しかし、すでにMD5は2004年の時点で、SHA-1は2005年頃からコリジョンアタックと呼ばれる攻撃方法が確立し、SHA-1の使用は推奨されていない。NIST(米国立標準技術研究所)も2010年までの移行を勧告していたが、2012年1月の時点で移行が進まないため、"非推奨"という表現に変更した。移行が遅々として進まなかった理由として、被害に遭うユーザーが皆無だった点が1つ。NISTは政府機関ながらも法的な勧告でなかったことが挙げられる。

さらにMicrosoftもSHA-1を利用した証明書のサポートを2017年で中止すると、2013年11月に発表した。蛇足だが早期からSHA-2への移行を促した民間企業はMicrosoftのみ。Google ChromeがSHA-1サポート中止スケジュールをし発表したのはつい最近、2014年9月のことだった。

Microsoftが発行するルート証明書の1つ。ハッシュアルゴリズムとしてSHA-2(256)を使用している

具体的には2016年1月1日以降は、SHA-1を利用したSSL/TLS証明書およびコード署名証明書の新規発行を中止し、場合によってはMicrosoftが管理するルート証明書プログラムメンバーから、証明機関としての登録除外も予定している。さらに2016年1月1日以降のタイムスタンプで署名した証明書/コード署名はWindowsで利用できなくなる予定だ。そして2017年1月1日以降はSSL証明書も使用できなくなるという具合だが、日本マイクロソフトのセキュリティチームの記事によれば、2015年7月の時点で移行状況を再確認し、処置の見直しも予定しているという。

現在SHA-1廃止に関してコミットしているのは、Microsoft/日本マイクロソフトだけではない。2014年以降は、証明書サービスを提供する企業も移行を促すアナウンスや対策を講じている。先日とあるインターネットセキュリティ事業者を取材したが担当者は、ホスティングサービスを提供する顧客へのアピールが忙しい旨を語っていた。

あと2カ月で2014年も終わり、SHA-1を利用した各種証明書の新規/更新/再発行は残り1年で終了する。既に多くのWebブラウザーや有名なWebサーバーもSHA-2への対応は完了し、エンドユーザー側が起こすべきアクションはない。あとはWebサイトを設置するコンテンツ提供側の早期対応が望まれる。

このようにセキュリティ界隈は進化に伴う変化が生じ、ソフトウェア開発者やサービス提供者はもちろん、ユーザーも新しい情報を敏感に感じ取らなければならない。特にPCを中心としたITに関わるユーザーは、常日頃からセキュリティ情報に対して、鋭敏なアンテナを張る必要があるだろう。

阿久津良和(Cactus)