多くの企業向けWebサーバで、SSLサーバ認証の導入が求められている。他方でSSL/TLSプロトコル経由で送受信するデータの同一性確認(改ざん検出)を行うため、SHA(Secure Hash Algorithm:シャー)というハッシュ関数を用いるのが一般的だ。SSL 3.0でSHA-1に対応し、TLS 1.2からSHA-2(SHA-256など)に対応しているが、現在はSHA-2への移行が業界全体に求められているという。

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

だが、そもそもSSL/TLSの概要を知らなければ、SHAの重要性を把握することは難しい。そこで、SSLサーバ証明書発行をはじめ、各種セキュリティサービスを提供しているGMOグローバルサインに「なぜ、SHA-2への移行が必要なのか ?」を聞いてみた。質問に答えてくれたのは、同社グループ技術開発本部 プロダクトマーケティング部の近藤秀樹氏である。

SSLサーバ証明書の重要性

なぜ、SSLサーバ証明書が必要なのか? 近藤氏はまず、SSLサーバ証明書の必要性を表すキーワードとして、「盗聴」「改ざん」「なりすまし」という3つを取り上げて説明してくれた。

GMOグローバルサイン グループ技術開発本部 プロダクトマーケティング部 近藤秀樹氏

近藤氏:「インターネット上でデータ通信を行う際、"HTTP"は暗号化されていないため、誰からでも読み取られてしまうというリスクが発生します。これら"盗聴"を防ぐための暗号化は欠かせません。クレジットカードの番号や個人情報の漏えいを防ぐためには、SSLサーバ証明書を導入した環境が必要となります。また、"改ざん"は悪意を持つ第三者がデータを書き換える被害を指しますが、改ざんされていないことを確認するために、ハッシュ関数と呼ばれるアルゴリズムを用います。サーバ側で生成し送られてきたハッシュ値とオリジナルのデータをクライアント側でハッシュ化したデータが、一致するか確認することにより改ざんされていないかを判断します。」

注意していなければ見過ごしてしまうが、HTTP(http://~)からSSL/TLS(https://~)への変更は、Googleの検索結果やTwitterなどポータルサイトでも行われている。従来、選択制や一部ユーザーのみであったHTTPS接続が、比較的最近になってデフォルト設定になったことを鑑みても、その重要性がわかるだろう。

近藤氏:「そして"なりすまし"は、Webサーバの所有者になりすまして、個人情報などを盗み取る行為ですが、"SSLサーバ証明書"の発行は企業の存在を担保するので、被害を未然に防ぎます」

昨今は多くのサイバー犯罪が報告され、被害件数の増加はもちろん、被害額も巨額に膨れ上がっている。金融機関やECサイトと同じインタフェースを持ち、正規のECサイトのようにふるまう"なりすまし"の被害も大きくなっている。偽物だけではない。数多く存在するECサイトが信用に足るか否かの指標としても、SSLサーバ証明書は機能する。ユーザーの保護だけでなく、企業のブランドを守るためにも必要な処置なのだ。

業界として求められる「SHA-2」への移行

近藤氏は続けて、SHA-2への移行が求められる背景として、以下のように説明した。

近藤氏:「以前からSHA-2への移行は勧告されてきました。2004年に発見されたSHA-1の脆弱(ぜいじゃく)性を踏まえ、NIST(アメリカ国立標準技術研究所)は2010年までの移行を勧告しています。しかし、2012年1月の時点で移行が進まないため、"非推奨"という表現に変わりました」

脆弱性を備えながらSHA-2への移行が進まなかったのは、実際の被害が大きく目立たなかったからだろう。また、同氏はNISTは政府機関の研究所とは言え、法的な勧告ではないのも理由の1つとしてあげていた。しかし、ここに来てSHA-2への移行が注目を集めた理由は何だろうか。

近藤氏:「技術的な話になってしまいますが、SHA-1は160ビットのハッシュ値に変換します。衝突が起こる可能性は、2の80乗分の1です。一方でSHA-256は256ビットのハッシュ値に変換し、衝突の可能性は2の128乗分の1となり、SHA-1と比較すると大きな差があり、衝突のリスクは限りなく低下します。これらのハッシュ値は本来ユニークでなければなりませんが、SHA-1の脆弱性を攻撃することで、破られることが明らかになりました。具体的には、3桁のダイヤル鍵に対して1,000回試せば解錠できるというものです。SHA-2も似たリスクを抱えていますが、試行回数は天文学的な数字になるので、現時点では安全といえます」

つまりSHA-1には、ブルートフォースアタック(総当たり攻撃)を行えばアルゴリズムを突破できるということだ。SHA-1を使い続けるのは危険なことがよくわかる。しかし、日々の忙しい業務を踏まえるとWebサーバの更新も煩わしい。SHA-1はいつまで使い続けられるのだろうか。

近藤氏:「MicrosoftはSHA-1を利用した証明書の受け入れを、2017年で中止すると発表しました。現時点の発表は同社のみですが、今後は各Webブラウザベンダーも追従すると思われます」

2017年といえば残りはわずか3年。長いように見えるが"あっ"という間に過ぎてしまう期間だ。さらに近藤氏は「脆弱性を攻撃した事件が発生した場合、SHA-2への移行はさらに早まる可能性があります」と語り、残り時間が少ないことを示してくれた。我々はどうするべきだろうか。

近藤氏:「Webサーバ管理者は、SHA-256証明書に移行をお勧めします。弊社では現在SHA-1をご利用のお客様に対し、SHA-256による再発行を無償で行うことになりました。ただし、古い携帯電話のWebブラウザなどは、SHA-256に対応していない可能性があります。また、APIなどを使うサーバ間通信やクラウド環境も、同様にSHA-2に対応していなければなりません。"接続できない"といったトラブルを起こさないために、移行前の検証をお勧めしています」

このようにSHA-2への移行期間は少なく、現在は脆弱性を抱えた状態であることがよくわかった。ユーザーに対する安全性の担保や自社ブランドイメージの向上につながるSHA-2対応の証明書は早期に導入すべきであろう。




今回協力していただいたGMOグローバルサイン株式会社