2017.03.22
SHA-1証明書の脆弱性問題 各ブラウザは表示をブロック
Web制作において重要な要素のひとつ、「SSL」。
WebページをSSL化するには、SSL証明書が必要ですが…
皆さんがご利用中の証明書は、「SHA-1」でしょうか?
それとも、「SHA-2」でしょうか?
把握していない!という場合は、すぐに確認することをお勧めします。
確認方法を後述しますので、参考にしていただければと思います。
目次
「SHA-1」のSSL証明書は危険
SSL証明書の署名アルゴリズムには、「SHA-1」 と「SHA-2」があります。
SHA-2は、SHA-1の後継規格で、セキュリティの改良が加えられています。
一方、SHA-1は証明書偽造のリスクが指摘されていました。
そのため、後継規格である「SHA-2」が推奨されていたのです。
そしてついに2017年2月23日、米GoogleはSHA-1の脆弱性を突く攻撃手段が存在することを発表しました。
この事実から、SHA-2への乗り換えは「必須」となりました。
参考:ITmedia
SHA-1衝突攻撃がついに現実に、Google発表 90日後にコード公開
しかし、お問い合わせフォーム等で、
今でもSHA-1の証明書を利用しているWebサイトが散見されます。
もしも「SHA-1」を使い続けるとどうなる?
端的に言うと、サイトが表示されなくなってしまいます。
かわりに、各ブラウザベンダーが用意するセキュリティ警告ページが表示されるようになります。
Google Chorome
2017年1月リリース予定のChrome(バージョン56)から、「SHA-1」のWebページを閲覧しようとした際、セキュリティ警告ページが表示されます。
参考:Google Developers Japan
Chrome の SHA-1 証明書
※2016年11月29日付の記事
Firefox
FirefoxもChromeと同様に、2017年1月からセキュリティ警告ページが表示されます。
参考:Mozilla Security Blog
Continuing to Phase Out SHA-1 Certificates(英語)
※20115年10月20日付の記事
Phasing Out SHA-1 on the Public Web(英語)
※2016年10月18日付の記事
EdgeとIE
Microsoft EdgeおよびInternetExplorerでは、2017年2月からセキュリティ警告ページが表示されます。
参考:Microsoft TechNet
Windows Enforcement of SHA1 Certificates(英語)
※情報は随時更新されます。
以上のように、SHA-1による問題があるページは、ブラウザで閲覧できなくなるのです。
証明書の確認方法
所有しているWebサイトの証明書がSHA-1かもしれない、と思う方は、以下の方法で確認してみてください。
Windows、Mac両方で確認できるよう、今回は Google Chrome ブラウザを使った確認方法をご紹介します。
手順は以下のとおりです。
1. 右クリックメニューから「検証」をクリック
2. 開いた検証画面で「Security」をクリック
3. 「View certificate」ボタンをクリック
4. ポップアップ画面で「詳細」をクリック
5.「署名アルゴリズム」「署名ハッシュアルゴリズム」を見る
弊社ホームページの例では「sha256」と表示されました。
「sha256」は、SHA-2のうちのひとつであるため、問題ありません。
この箇所が「sha1」と表示された場合は、ただちに証明書を変更してください。
まとめ
各ブラウザベンダーでは、2017年以降のSHA-1のサポート廃止を進めており、証明書をSHA-2に移行させることは必須であると言えます。
ユーザーがお問い合わせページにアクセスできないなどということは、絶対に避けなければなりません。
まだSHA-1を使用している場合は、ただちにSHA-2を使った証明書への切り替えをしてください。
証明書切り替えの際、サイト全体をSSL化(常時SSL化)するのもおすすめです。