SHA-2ハッシュ関数の必須化について
SHA-2ハッシュ関数をすぐに使用できるようにするには、旧来のSHA-1ハッシュ関数を使用するSSL証明書をすべて再入力する必要があります。 SHA-1にはセキュリティ上の問題があり、SSL証明書の意味がなくなります。
追加情報
SSL証明書はWebサイトのサーバーと訪問者のブラウザとの間での通信を暗号化し、お互いの間でしか通信内容を理解できないようにします。 この処理により、第三者が通信内容を傍受して外部への流出が好ましくない情報(一般的には、クレジットカード番号や社会保障番号などの機密情報)を入手することができなくなります。 この暗号化にはハッシュ関数が使用されます。
暗号化の対象となる情報はさまざまですが、開発者が実行可能コードをリリースする際に、コードサイニング証明書で同じハッシュ関数を使用してコードに「署名」します。 コードが改変されると、ハッシュ化された署名が機能しなくなり、ユーザーが実行しようとすると警告が表示されます。
2013年12月23日より前に最も一般的に使われていたハッシュ関数はSHA-1と呼ばれています。これは1990年代半ばにSSL証明書が初めて開発されてからずっと使用されてきました。
しかし、コンピュータの性能が向上するにつれ、SHA-1でハッシュ化された情報の解読が容易になってしまいました。 そのため、マイクロソフトは、当社を含むすべての証明機関がSHA-2を既定のハッシュ関数として使用することを義務付ける新しい業界標準を定めています。 グーグルもこれに参加していて、同社のChrome®ブラウザではSHA-1を使用した証明書に関するセキュリティ上の問題を訪問者に通知するようになっています。
証明書にSHA-2は必要ですか。
2017年1月1日以降の有効期限で弊社が発行する新規証明書では、SHA-2のみを使用できます。
また、2015年12月31日以降の有効期限のコード署名証明書でも、SHA-2を使用する必要があります。ただし例外として、Windows Vistaおよびそれ以前のバージョンのWindowsでは、引き続きSHA-1コード署名証明書がファイルの署名に使用される可能性があります。詳細はMicrosoftの記事「WindowsにおけるAuthenticodeコード署名の強制とタイムスタンプ」をご覧ください。
すでに発行済みの証明書でSHA-2を使用することは必須ではありませんが、強く推奨されます。 移行すると最新の状態となり、サーバーのセキュリティが向上します。 ハッシュ関数をSHA-2に移行するために必要な作業は、証明書の再入力のみです。 詳細については、「証明書のキーを更新する」を参照してください。