<前の日記(2008年06月30日) 次の日記(2008年07月10日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 1098   昨日: 2849

2008年07月03日

EV SSL導入に伴い生じ得る特有の脆弱性

EV SSL証明書(EV証明書)がどういうものかについて「銀行や有名企業などの特に社会的信用の高い組織しか取得できないもの」と誤解している人がいるようだ。たとえば、マイコミジャーナルのEV SSLの解説記事は、そういう誤解に基づいたものとしか思えない。

  • 【連載】SSL入門 〜 ショップオーナーも利用者も安心! (1) 安全サイトの見分け方、わかる? - グリーンは安心カラー, マイコミジャーナル, 2008年6月30日

    もし、オンラインショッピングに不安がある人でも、アドレスバーが緑色になるサイトなら大丈夫。安心して買い物をすることができます。

    (略)

    おもなWebブラウザのEV SSL対応状況

    ブラウザEV SSL対応状況
    Internet Explorer 7 対応。アドレスバーの背景色が緑色に変わり、右端に認証局名が表示される。(略)
    Firefox 3 対応。アドレスバーの左側一部が緑色に変わり、認証局名が表示される
    Opera 9.5 対応。アドレスバーの右側一部が緑色に変わり、認証局名が表示される
    Safari 3.1 非対応。鍵マークのみ表示

この記事は致命的に誤っている。アドレスバーに緑色で表示されるのは「認証局名」ではなく「サイトの運営者名」である。この記事は、運営者名が表示されることを一言も説明していない。運営者名を確かめて利用することに一言も触れずに、ただ「アドレスバーが緑色になるサイトなら大丈夫」などと無責任なことを教えている。

実際、EV証明書を取得できる基準*1を見てみると、普通の民間企業でも取得することができる。EV証明書は、その企業が実在することを証明するだけで、その企業が信用できる会社かどうかを保証するものではない*2。そもそも、「信用できる会社」なるものを一律に定義することは困難なのだから、どの会社を信用するかは、利用者各自が自分で判断するしかない。そのために、EV対応Webブラウザは、運営者名を表示するのだから、利用者はそこを読まなくてはいけない。

ところで、今後、EV証明書は金融機関だけでなく、普通の事業者も採用するようになっていくと思われる。EV対応Webブラウザは、SSL接続時の表示において、EVでないサーバ証明書の場合は(いわゆるClass 3の証明書であっても)「このサイトの運営者:(運営者は不明です)」などと表示するようになった(図1)。このような表示を嫌う企業が増えるかもしれない。

図1: EV証明書でなければ「運営者は不明です」と表示される様子

もちろん、このような証明書も、サーバとブラウザ間で暗号化通信を実現して盗聴や改ざん、DNSスプーフィング等の通信路上の攻撃から防御するという目的では十分であり、これからも依然として有効であるし、そのような機能しか必要としないサイトも少なくないだろう*3。元々、SSLはそういう目的で使用するものであり、実在証明は付加的な機能である。

では、どんな企業でもじゃんじゃん気軽にEV証明書を採用してよいものだろうか。次の例を検討してみたい。

図2は、ブログサービスの一つである「ドブログ」のユーザ登録の途中の画面である。SSLが使われており、https:// のページになっている。

図2: 「ドブログ」サイトの https:// 画面

もし将来、このSSLが、EV SSLに変更されたらどうなるだろうか。図3にそのときに表示されるはずの画面を空想で描いてみた。

図3: もしドブログがEV SSLを採用したら(想像図)

そう、ドブログの運営者は「NTT DATA CORPORATION」なのだ。

ここで思い出したいのが、先月27日の日記に書いた地方銀行のインターネットバンキングの事例だ。

図4: 地方銀行のインターネットバンキングサイトの例

ANSER WEBというASPサービスでインターネットバンキングを提供している金融機関が、EV証明書を導入した理由は、「NTT DATA CORPORATION」という社会的信頼の高い企業による運営であるという表示によって、利用者に本物サイトであることの確認手段を提供したことにあるのだから、これらの金融機関は、利用者が「NTT DATA CORPORATION」という名称さえ見てくれればいいことを前提としている。

しかし、もし、図3のように、ドブログのようなサイトでまで緑色で「NTT DATA CORPORATION」と表示されるような世の中になってしまったら、どうなのだろうか。

まず、少なくとも、EV証明書導入サイトがやってはいけないことがある。

もし、ドブログのユーザコンテンツ(つまりブログ)のページが、https:// でも表示できるようになっていたらどうか。どこの馬の骨ともわからない者によるコンテンツが、「NTT DATA CORPORATION」という緑色表示の下に表示されることになってしまう。これはまずいのではないか。

現在のところ、実際には、ドブログのユーザコンテンツを https:// で表示しようとアドレスバーの http を https に変えてアクセスしてみると、 http:// のページリダイレクトされるようになっていて、そのような表示は起きないようになっている。(たまたまそうなっているのか、わかっていて対策されているのかはわからないが。)

つまり、ブログサービスのようなサイトが EV SSLを導入するときは、ユーザコンテンツのページが EV SSLサイトとして表示されないようにするべきだ。

ドブログの場合は、ユーザコンテンツに対する制限が非常にキツく、HTMLタグは全く書けないタイプのようなので、閲覧者を誤解させるようなphishing的なコンテンツを作られることはないと思われるが、スタイルシートを自由に書けるタイプとか、<input>タグを書けるタイプとか、レンタルサーバのように自由にHTMLコンテンツを書けるタイプのサービスで、ユーザコンテンツが https:// で表示可能で、かつ、EV証明書で運用されているとしたら、それは脆弱性であると言ってよいと思う。*4

しばしば、「共用SSL」などとして、共同利用型のSSLサーバを提供しているレンタルサーバサービスを見かける(たとえばこのサービスなど)。レンタルサーバ会社が代表でサーバ証明書を取得して、コンテンツは利用者に自由に書かせるというものだ。もし、こういったSSLサーバで、EV証明書が使われるようになると、運営会社の信用を誰でも汚すことができるようになってしまう。このようなサービスにEV証明書を導入する意義はなく、避けるべきである。

さて、NTT DATA CORPORATIONの場合はどうだろうか。

インターネットバンキングサービスの「ANSER WEB」のサーバ証明書の詳細を見ると、組織の部門名(OU)が「ANSER2008」となっている*5。ANSER事業部なのだろう。ググって調べてみたところ、「決済ソリューション事業本部」がそれだろうか。一方、ドブログの https:// ページのサーバ証明書の部門名(OU)は、「Business Incubation Center」となっている。

加えて言えば、先月25日の日記に書いた、B-CAS社の個人情報登録サイトのSSL証明書も、「NTT DATA CORPORATION」だったわけだが、部門名(OU)は「Media Industry Business Unit」となっている。

まさか、NTTデータが「共用SSL」のレンタルサーバを運営することはないだろうとは思うけれど、社内的にそうした合意が取れているだろうか。上記の3つの社内組織は、互いに、サーバ証明書の取得にあたってコミュニケーションはとれているだろうか。

決済ソリューション事業本部としては、「NTT DATA CORPORATION」という緑表示を、信用のおけるサービスの印としてEV証明書を導入したのに、B-CAS関係のMedia Industry Business Unitが勝手にEV証明書を取得したら、さらには、ブログ運営のBusiness Incubation Centerが勝手にEV証明書を取得したら、その信用を下げることになる。

従来のSSLでは、会社名だけ見て判断することは普通なかった。「安全なWebサイト利用の鉄則」にもあるように、閲覧者は、ドメイン名を確認することがまず基本で、初めて訪れたサイトでドメイン名を知らない場合に限り、サーバ証明書の発行先を見るものだった。しかも、そのサーバ証明書の確認では、組織名と部門名と所在地を確認するものだった。ところが、EV証明書では、ブラウザが緑表示する会社名だけを見て判断することになる。

そのため、EV証明書の導入にあたっては、会社単位で管理するべきであると思う*6。従来のSSLでは、部門単位で勝手にサーバ証明書を取得することができたが、EV証明書の取得では、会社で唯一の管理部門の許可なくしては部門が勝手に取得できないようにするべきではないだろうか。

管理部門としては、自社名で運営するサービスのうち、最も信用の問われるサービスが何であるかを把握しておく(たとえば金融サービス)。そして、それとは段違いで信用性の低いサービス(たとえばブログやレンタルサーバ)に対してEV証明書の取得を許可しないよう、管理する。

それだけではない。巨大な企業(NTTデータのように)が多数の種々雑多なサービスでEV証明書を使用している場合、そのうち一か所にでもクロスサイトスクリプティング脆弱性が存在すると、同社の全サービスがphishingの危険にさらされることになる。

従来でも、phishing被害を防止するにはクロスサイトスクリプティング脆弱性がないように対策する必要があったが、それは同じドメイン名の下のサーバに対して求められることだった。これが、EV証明書がどこでも使われるようになると、企業名しか見られなくなるので、同じ企業名で運営している全部のサービスが影響される。

EV証明書を取得するということは、そのリスクを新たに抱えることであり、全社的なサービスの把握なしには安易に導入してはいけないのではないか。

もっとも、ANSER WEBのEV証明書を「NTT DATA CORPORATION」とせずに、各銀行の会社名にしていたならば、そのリスクは回避された。銀行がレンタルサーバやブログサービスを運営することはないのだから、銀行名でEV証明書を取得していれば、リスクは銀行サイト内で閉じたものになる。

ANSER WEBが銀行名ではなく「NTT DATA CORPORATION」でEV証明書を取得したことについて先月27日の日記では、「まあ、それでもいいかと思うようになった」「NTTデータは著名な会社であるし」と書いたが、やはり、これは愚かな行為であると思う。EV SSLの普及とともにNTTデータは重大な責任を負っていくことになる。もしくは、NTTデータはANSER WEB以外で一切EV証明書を採用しないよう全社的に管理することで、リスクの拡大を防ぐほかないだろう。

*1 CA/Browser Forumの「EV SSL Certificate Guidelines Version 1.0」より(現在はVersion 1.1が発行されている)

5. EV証明書の取得

(a) 一般

CAは、以下に定める要件を充足する民間組織および行政機関に対してのみEV証明書を発行しなければなりません。

(b) 民間組織のサブジェクト

CAは以下の要件を充足する民間組織にEV証明書を発行することができます。

(1) 民間組織は、法人設立管轄地の法人設立機関への届け出(または法人設立機関の行為)(例:法人の設立を証明する証明書の発行など)によってその存在が確認できる法人でなければなりません。

(2) 民間組織は、(法人設立管轄地の法律に基づき要求される場合)法人設立機関に、Registered Agent、Registered Officeまたはこの相当物を登録しなければなりません。

(3) 民間組織は、法人設立機関の記録に、「休眠(inactive)」、「無効(invalid)」、「不在(not current)」またはその相当物であると指定されていてはなりません。

(4) 民間組織の法人設立地および/または事業所所在地は、CAの管轄地の法律によって取引または証明書の発行を禁じられているいかなる国にもあってはなりません。また、

(5) 民間組織は、CAの管轄地の法律に基づく行政機関の拒否リストまたは禁止リスト(輸出禁止など)に記載されていてはなりません。

(c) 行政機関のサブジェクト

(略)

(d) 除外されるサブジェクト

本ガイドラインが追加の審査基準を設けない限り、CAは上記要件を充足しないいかなる人物あるいは組織またはエンティティにもEV証明書を発行してはなりません。除外されるサブジェクトには以下のものがありますが、これだけに限定されません。

(1) 合名会社
(2) 非法人会社
(3) 個人事業主
(4) 個人(自然人)

CAブラウザフォーラム EV証明書のためのガイドライン バージョン1.0、ドラフト11, 日本電子認証協議会

*2 では、従来のサーバ証明書とは何が違うのかというと、実在性を証明する基準が明確化され、認証局間で統一されたという点が新しい。従来では、たとえばVeriSign社は運営する認証局に、Class 1、Class 2、Class 3という区分を設けていた。Class 3は企業の実在性を確認するものでEVに近い基準を持っていたのに対し、Class 1はそういった確認をしないもので、個人でも誰でも取れるものであった。VeriSign社は、Class 1の証明書の発行は、S/MIMEメール用としては行っていたが、サーバ証明書としては発行していなかった。ところが、後に、Class 1に相当するサーバ証明書を発行する新興認証局事業者が現れるようになった。そして、Webブラウザのユーザインターフェイスは、Class 1かClass 3かといった区別を表示する仕組みを持たなかったため、利用者が証明書の信頼性を確認するには、詳しい知識を必要としていた。EV証明書は、このClass 3に相当する信用性基準をより厳格に定めて、業界で統一したものと言える。この基準ができたことに対応して、Webブラウザもそのクラスの証明書であることを、わかりやすい形で表示するユーザインターフェイスを備えた。

*3 たとえば、ドメイン名として go.jp を使っているサイトでは、実在証明は不要だろう。図1のように、Firefox 3では、URLからドメイン名部分を切り出してわかり易く表示してくれる。一方、汎用 .jp ドメインで行政機関が何かを運営するときには、EV証明書を使った方がよいかもしれない。

*4 こうした問題は、Mutualアクセス認証をブログサイト等に導入した場合にも生じ得る。ログイン中の緑表示の出る画面上に、他人が自由なHTML(入力フォーム等)を書ける場所を作ってはいけない。

*5 今気づいたが、この表記自体、駄目じゃないか?

*6 同様に、コード署名用の証明書も、会社単位で管理するべきだと思う。

本日のTrackBacks(全100件) [TrackBack URL: http://takagi-hiromitsu.jp/diary/tb.rb/20080703]

家電で有名な石丸電気には、通販サイト「 レフィーノ 」がある。 ここでは、この手のサイトでよくあるように、IDとパスワードを入力してログインし、注文等を行うこととなる。SSLを使用した通信も可能になっている。 が、しかし。トップページでIDとパスワードを入力し、..

Sex ambien night.:Ambien. (2011年04月06日 03:17)

Ambien message board. Ambien cr. Ambien hallucinations dizziness. What color is ambien. Ambien ld-50. Ambien.

検索

<前の日記(2008年06月30日) 次の日記(2008年07月10日)> 最新 編集

最近のタイトル

2024年04月07日

2024年04月01日

2024年03月23日

2024年03月19日

2024年03月16日

2024年03月13日

2024年03月11日

2023年03月27日

2022年12月30日

2022年12月25日

2022年06月09日

2022年04月01日

2022年01月19日

2021年12月26日

2021年10月06日

2021年08月23日

2021年07月12日

2020年09月14日

2020年08月01日

2019年10月05日

2019年08月03日

2019年07月08日

2019年06月25日

2019年06月09日

2019年05月19日

2019年05月12日

2019年03月19日

2019年03月16日

2019年03月09日

2019年03月07日

2019年02月19日

2019年02月11日

2018年12月26日

2018年10月31日

2018年06月17日

2018年06月10日

2018年05月19日

2018年05月04日

2018年03月07日

2017年12月29日

2017年10月29日

2017年10月22日

2017年07月22日

2017年06月04日

2017年05月13日

2017年05月05日

2017年04月08日

2017年03月10日

2017年03月05日

2017年02月18日

2017年01月08日

2017年01月04日

2016年12月30日

2016年12月04日

2016年11月29日

2016年11月23日

2016年11月05日

2016年10月25日

2016年10月10日

2016年08月23日

2016年07月23日

2016年07月16日

2016年07月02日

2016年06月12日

2016年06月03日

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|06|07|08|10|11|12|
2017|01|02|03|04|05|06|07|10|12|
2018|03|05|06|10|12|
2019|02|03|05|06|07|08|10|
2020|08|09|
2021|07|08|10|12|
2022|01|04|06|12|
2023|03|
2024|03|04|
<前の日記(2008年06月30日) 次の日記(2008年07月10日)> 最新 編集