連載
» 2007年07月27日 05時00分 UPDATE

Tech TIPS:WindowsでWebサイトのデジタル証明書を確認する(自己発行されたデジタル証明書に注意)

HTTPSプロトコルによる暗号化通信では、Webサイトのデジタル証明書が使われる。公開サーバで利用するなら、デジタル証明書は正規の認証局から発行してもらうことが望ましい。Webサイトのデジタル証明書が公認の認証局から発行されたものかどうかを確認することは、安全なWebアクセスのために最低限必要なことである。

[打越浩幸,デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象ソフトウェア:Internet Explorer 6/Internet Explorer 7



解説

 氏名や住所、口座番号、メール・アドレスなどのほか、重要な情報をWebサイト経由でやりとりする場合、一般的にはSSLを使った暗号化通信(HTTPSプロトコル)が利用される。Webブラウザでアクセスする場合は、アドレス欄(URL)が「http://〜」ではなく、「https://〜」で始まっていれば、HTTPSでアクセスしているということを表している。HTTPSでは、サイトに割り当てられたデジタル証明書などに基づいて通信データを暗号化し、Webサイトの改ざんやなりすまし、盗聴などから通信を保護している。デジタル証明書には、そのサイトが正規のものであることを保証するデータが含まれており、公的な機関や、その身元が厳格に保証されている機関が発行し、認証のための基盤として機能している。

 だがこのような公式なデジタル証明書ではなく、裏付けのない、勝手に作成された証明書に基づいてWebサイトが構築されていることがある。このような証明書は、「自己発行証明書」とか「オレオレ証明書」などと呼ばれることがある。

 デジタル証明書の作成作業そのものは非常に簡単であるため、意図的であるにしろ、そうでないにしろ、このような“オレオレ証明書”を使って構築されたサイトは少なからず存在する(正規のデジタル証明書の取得方法やIISでの運用方法などについては、「個人情報保護法時代のIISセキュリティ対策」を参照のこと)。だが安全にWebサイトを利用するには、常にWebサイトのデジタル証明書が正しいかどうか(正規に発行されたデジタル証明書が使われ、それが現在有効であるかどうか)を確認するようにしたい。本TIPSでは、その方法について解説する。

 なお、たとえ正規のデジタル証明書が用いられているWebサイトでも、悪意のあるコンテンツが仕込まれている可能性がある。こうした危険性への対処については別稿で触れるつもりである。

操作方法

●Webサイトのデジタル証明書を確認する

 Internet Explorerを使って現在アクセスしているWebサイトが、正しいデジタル証明書を利用しているかどうか確認する方法は、非常に簡単である。Webサイトにアクセスしているときに、Webページ上で、画像などがないところを右クリックし、ポップアップ・メニューから[プロパティ]を選択する。[ファイル]−[プロパティ]メニューを実行してもよいが、ポップアップ・ダイアログやフレームを使ったWebサイトのように、ページ上部にURL(アドレス・バー)が表示されていないページの場合は、右クリックして[プロパティ]メニューを実行するのが簡単である。

Webサイトのデジタル証明書を確認する Webサイトのデジタル証明書を確認する
HTTPSによる暗号化通信が行われている場合は、必ずデジタル証明書が使われている。その内容を確認することにより、信頼できるサイトであるかどうかを判断できる。これはWindows XP SP2のInternet Explorer 6での例。
  (1)HTTPSによる暗号化通信が使われている。
  (2)暗号化プロトコルの詳細。
  (3)アクセス先URL情報。
  (4)デジタル証明書の内容を確認するにはこれをクリックする。

 このウィンドウには、アクセスしているプロトコルが最上部に表示されているが、ここが[HyperText 保護機能付き転送プロトコル (HTTP)]となっていれば、HTTPSによる暗号化通信が行われている。だが単に[HyperText 転送プロトコル (HTTP)]となっていれば(そして、その下の[接続:]が[暗号化なし]になっていれば)、それはHTTPプロトコルによる非暗号化通信が遣われている。

 HTTPS通信の場合は、さらに右下の[証明書]ボタンをクリックして、デジタル証明書の内容を確認する。正しい(有効な)デジタル証明書ならば、例えば次のように表示される。

有効なデジタル証明書の例 有効なデジタル証明書の例
デジタル証明書が有効であり、認証機関から“お墨付き”が与えられている場合は、このように表示される。
  (1)デジタル証明書の状態。正しい場合はこのようなアイコンで表示される。
  (2)デジタル証明書の用途。WebサイトのHTTPS通信で使われる場合は、このように表示される。
  (3)デジタル証明書の発行先。
  (4)デジタル証明書の有効期限。

 これに対し、自己発行されたデジタル証明書の場合は、例えば次のように表示される。

自己発行されたデジタル証明書の例 自己発行されたデジタル証明書の例
これは、日本のある官公庁(国土交通省)のサイトで利用されているデジタル証明書の例。日本政府の管理しているWebサイトであるが(ドメイン名が.go.jpとなっていることからも分かる)、いわゆる“オレオレ証明書”なので、信頼してアクセスしてよいかどうか、判断しかねる。ドメイン名を信頼してアクセスしてもよいが、そうすると、(似たようなドメイン名を持つ)偽装されたWebサイトにだまされる可能性が高くなる。ドメイン名ではなく、デジタル証明書に基づいてWebサイトの信頼性を判断するようにしたい。ちなみ、このWebページは国土交通省の「飛行コース公開システム(東京国際空港)の運用開始について」からアクセスできる、「飛行コース公開システム」のWebページである(これは2007年7月現在の状態なので、今後改善される可能性がある)。
  (1)デジタル証明書に何らかの問題がある(と判断された)場合は、このようなアイコンになる。
  (2)問題があると判断された理由。これはいわゆるオレオレ証明書なので、正しいかどうか判断できないという意味。ほかにも、例えば期限が切れているなどといった理由もある。
  (3)証明書の発行先。
  (4)この証明書の期限はまだ有効。
  (5)証明書のパス(ルート認証局からの階層構造)を確認するには、これをクリックする。

 (1)の証明書アイコンに赤い×印が付いていることから分かるように、この証明書は正しいデジタル証明書ではない。その理由にはいくつかあるが、この場合は、自己発行された、いわゆるオレオレ証明書なので、正しい証明書であるかどうかを判断できないので、問題があると見なされている。自己発行されたものかどうかは、[証明のパス]タブをクリックすると確認できる。

自己発行されたデジタル証明書の例 自己発行されたデジタル証明書の例
デジタル証明書は、ルートとなる認証局(CA:Certificate Authority)から、階層的に構築された認証基盤に基づいてその正当性が判断される。Webブラウザには、正規のルート認証局の情報があらかじめ記録されており([インターネット オプション]の[コンテンツ]タブにある[証明書]ボタンで確認できる)、そこからたどれない証明書(自己発行されたもの)については、その正当性を判断できず、先ほどのようなエラーを表示する。
  (1)証明書が階層になっておらず、ただ1つ表示されているだけである。
  (2)この証明書のデータは改ざんされておらず、データとしては正しいという意味。ただしどこからも承認されていないので、公的なデジタル証明書としては効力を持たない。

 これに対し、正規のデジタル証明書の場合は、次のような階層構造が表示される。

正しいデジタル証明書における「証明のパス」の例 正しいデジタル証明書における「証明のパス」の例
公的に認められたデジタル証明書ならば、このようにルートとなる認証局から階層的に表示される。
  (1)上位の認証局。負荷分散や権限の委譲などのために、認証局基盤は階層的に構築されている。もし途中のどれか1つでもアクセスできなければ、有効な証明局として扱われなくなる。
  (2)このWebサイトのデジタル証明書。Webブラウザは、最初にこのデジタル証明書のデータを確認し、次いで、順次上位の認証局(のデジタル証明書のデータ)を確認することによって、最終的に、公的に認められた正当なデジタル証明書であることを確認している。ただし途中の認証局にアクセスできなければ、正当性がチェックできず、やはり正しいデジタル証明書であるとはみなされなくなる。

●デジタル証明書に問題のあるサイトへアクセスしないために

 以上が、Webサイトのデジタル証明書が正しいかどうかを確認する方法であるが、実際には、そのWebサイトにアクセスする前に問題がないかどうかを検出し、そのサイトへのアクセスをやめるべきである。

 何らかの問題のあるデジタル証明書を持つサイトへ(HTTPSで)アクセスしようとした場合、Internet Explorerでは、次のようなダイアログを表示するので、その時点でアクセスを中断することを勧める。特にInternet Explorer 6(以下IE6)では、1度アクセスを許可してしまうと、以後は警告しなくなるので、問題があるかどうかが分からなくなってしまうからだ(IE6を再起動すればまた警告する)。Internet Explorer 7(以下IE7)の場合は、そのようなデジタル証明書を持つページへアクセスしていると、アドレス・バーの部分にずっと赤い警告表示が行われるので、分かりやすくなっている。

デジタル証明書に問題のあるWebサイトへのアクセス(IE6) デジタル証明書に問題のあるWebサイトへのアクセス(IE6)
先ほどのページへアクセスしてみようとすると、このようなダイアログが表示され、警告される。
  (1)正規の機関から発行されたデジタル証明書であることが検証できない(いわゆるオレオレ証明書である)、という意味の警告。
  (2)証明書の有効期限はまだ切れていない。
  (3)アクセス先のドメイン名は正しい(デジタル証明書に含まれている)。
  (4)これを選択すると、警告を無視してアクセスする。
  (5)アクセスを中止する。これを選択するのが望ましい。
  (6)これをクリックすると、先ほどのダイアログが表示され、デジタル証明書の内容を確認できる。

 IE7で同様にアクセスしようとすると、よりはっきりと、問題のある証明書であることが表示される。

デジタル証明書に問題のあるWebサイトへのアクセス(IE7) デジタル証明書に問題のあるWebサイトへのアクセス(IE7)
IE7で同じページへアクセスしてみようとすると、よりはっきりと、分かりやすく表示される。
  (1)証明書に問題があるという表示。
  (2)これを選択すると、警告を無視してアクセスする。
  (3)アクセスを中止する。これを選択するのが望ましい。

 (2)を選んで強制的にWebページを表示させると、次のように、アドレス・バー部分が赤く表示され、問題が発生していることがすぐに分かる。可能な限り、このようなWebページへのアクセスは避けるべきである。

問題のあるページをIE7で表示した場合の例 問題のあるページをIE7で表示した場合の例
上の画面でサイトの閲覧を強行した場合、このように表示される。
  (1)赤い色で、ページに問題が発生していることを伝えている。
  (2)問題の内容。これをクリックすると、より詳しい情報が表示される。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。