このページの本文へ

週刊セキュリティレポート 第14回

クラウド時代のセキュリティとは?

ブラウザは最新に!証明書が信用できない時代に備えよう

2011年09月26日 06時00分更新

文● 八木沼 与志勝/エフセキュア

  • この記事をはてなブックマークに追加
  • 本文印刷

 利用の広がるクラウドサービスですが、一方で、偽サイトにアクセスしてしまうと大きな被害を被るというリスクが存在します。このため、クラウドサービス事業者は、自らのサイトが正しいものであることを証明することでユーザーの安全を図ろうとしています。今回は、皆さんにクラウドを安全に利用していただくための知識として、クラウドサービスを提供するサイトのセキュリティ対策がどのようにユーザーに提供されているのかをお話したいと思います。

正しさは「証明書」で示す

 普段の生活の中で、申し込みや登録などを行なう際に「身分証明書」を提示することを求められることが多くあります。本人確認のために利用できる証明書は、たとえば運転免許証やパスポート、印鑑証明などです。これらに共通するのが、信用ある第三者のお墨付きがあることです。この実世界での身分証明と同じ原理は、ITの世界でも取り入れられています。

 身分証明書にあたるものが「デジタル証明書(電子証明書:Digital Certificate)」であり、実世界でお墨付きを与える公共機関にあたるものが民間の「認証局(CA:Certificate Authority)」です。認証局としては、サイバートラスト(Cybertrust)、ベリサイン(VeriSign)、ジオトラスト(GeoTrust)、コモド(COMODO)などが有名ですので聞いたことがある人も多いでしょう。ユーザーがクラウドに接続する端末で認証局が発行した正しいデジタル証明書が確認されれば、そのクラウドサービスのサイトは、認証を受けた安全な事業者から提供されていると見なせます

実世界の身分証明とネット世界の証明書

デジタル証明書とは?

デジタル証明書によるセキュリティの実装

 クラウドサービス提供者は、認証局から提供されるデジタル証明書を使って「サイトの正当性」と「通信データ改ざん防止」という2つのセキュリティ対策を実現しています。具体的にどういった仕組みになっているかを見てみましょう。

証明書を使ったセキュリティ確保の仕組み

初出時、上記図版の③に「(認証局の公開鍵で暗号化)」という解説がありましたが、正しくは「(認証局の秘密鍵で暗号化)」となります。お詫びし、訂正させていただきます。(2011年9月28日)

証明書を使ったセキュリティの流れ
ステップだれが何をする?
発行者サーバーで「秘密鍵」と「公開鍵」を生成する
発行者「公開鍵」と各種証明書を認証局に送付し、デジタル証明書発行の申請を行なう
認証局申請内容を審査し、情報をリポジトリ(デジタル証明書の保管場所)に登録し、デジタル証明書を発行する。デジタル証明書は認証局の秘密鍵で暗号化しておく
ユーザー(端末)Webブラウザでクラウドサービスにアクセス
発行者(サーバー)デジタル証明書をユーザーの端末に送付する
ユーザー(端末)認証局の公開鍵でデジタル証明書を復号し、デジタル証明書が認証局で発行されたものであることを確認し、暗号化通信を確立する(通信データ改ざん防止)

 まず、サイトの正当性を証明し通信の安全性を確保したいクラウドサービス提供者は、通信を暗号化するための鍵ペア(秘密鍵と公開鍵)を作成します(①)。サイトの証明書を認証局に発行してもらうために、作成した鍵ペアのうち「公開鍵」を申請書に添えて認証局に送り、認証局による審査を受けます(②)。

 認証局は申請者に証明書を発行してもよいと判断すると、デジタル証明書を発行しリポジトリ(保管場所)に保存したあと、認証局自身の秘密鍵で暗号化して申請者であるクラウドサービス提供者に交付します(③)。

 クラウドサービス開始後、ユーザーはWebブラウザからサイトに接続してきます(④)。その際、サイトのサーバーは最初に認証局から発行されたデジタル証明書をユーザーに返します(⑤)。

 ユーザーのWebブラウザには、Webブラウザ提供元が事前に代表的な認証局のデジタル証明書と公開鍵がインストールしているので、その認証局の公開鍵を使ってサイトから受け取ったデジタル証明書を復号し、デジタル証明書が本当に認証局から発行されたものかを確認します(⑥)。このようにしてサイトの正当性が確認されたあと、サイトの公開鍵を利用して暗号化された安全な通信を確立し、ユーザーの安全を守っています。

証明書は万全か?

 証明書を使ったサイトの本人証明の方式は万全に見えますが、これは認証局が発行する証明書が不正ではないことが前提です。何者かが何らかの方法で不正な証明書を入手してしまうと、この方式は崩壊します。実際、そのような事件が何度か発生しています。直近の事例としてオランダの認証局「DigiNotar」の一件を紹介したいと思います。

 8月30日にDigiNotarの親会社である「VASCO Data Security International」が、DigiNotarから「*.google.com」宛に不正な証明書が発行されたことを明らかました。続くDigiNotarの発表によると、発行された不正な証明書は20以上のドメインに対して200種類を超える数があったといわれます。

 これらの不正な証明書を使うと、Googleを模した詐欺サイトを作成して、ユーザーをだますことができてしまいます。さらに、マルウェアの配布も容易になります。

 Googleの発表によると、実際にイランのユーザーに対する攻撃が確認されています。Googleが運営するクラウドサービスを利用するユーザーは世界中でも日本でも非常に多く、その信頼性が脅かされたことは非常に大きな事件でした。

ユーザーは自己防衛できるのか?

 こういった不正な証明書が配布されてしまった場合、ユーザーはどのように自己防衛をするべきなのでしょうか。その方法は、先ほど解説した仕組みの中に示唆されています。サイトの信頼性に関する情報は、Webブラウザにインストールされている認証局の証明書を利用します。このため、各Webブラウザメーカーは信頼する認証局情報を更新しユーザーを保護しています。

 上記のDigiNotarの一件では、Firefoxを提供するMozillaが、Firefoxの更新版「6.0.2」を公開し、DigiNotarの証明書を失効させる対処をしました。また、DigiNotarの証明書を無効にする方法も開示しています(Mozilla Japan ブログ「Google の一部サイトに対して発行された不正な SSL 証明書の問題」)。

 Internet Explorer(IE)を提供するマイクロソフトは、Vista以降のWindowsに対して、DigiNotarが発行した証明書を信頼する証明書の一覧から自動的に削除されるよう措置をとったそうです。また、Windows XP以前に対しては更新プログラムをリリースする予定を明らかにし、同時にセキュリティ勧告を開示することでユーザーに対応を呼びかけました(日本マイクロソフト 日本のセキュリティチーム「不正なデジタル証明書に関する新規アドバイザリ 2607712 を公開」)。

 いずれの対策においても、キーポイントとなるのは利用するWebブラウザを最新に更新することです。クラウド時代においてWebブラウザは、Webページを表示するだけでなく、クラウドアプリケーションを実行する基盤です。OSだけではなく、愛用するWebブラウザをつねに更新しておくことを忘れないようにしましょう。

筆者紹介:八木沼 与志勝(やぎぬま よしかつ)

エフセキュア株式会社 テクノロジー&サービス 部長
1972年生。UNIXプログラミングからIT業界に携わりはじめ、そのあとITインフラを中心としたITコンサルティングからセキュリティ業界へ。エフセキュア入社は2006年で、法人/コンシューマの製品およびプリセールスなどのサービス全般を担当する。


カテゴリートップへ

この連載の記事