<前の日記(2007年12月09日) 次の日記(2007年12月15日)> 最新 編集

高木浩光@自宅の日記

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

2007年12月12日

第六種オレオレ証明書が今後増加するおそれ

リンク元を辿ったところ、東京証券取引所の「適時開示情報閲覧サービス」のサイトと、民主党のご意見送信フォームの送信先サーバ*1でオレオレ証明書が使われているという話を立て続けに見かけた。

これらはどちらも、中間認証局から取得したサーバ証明書なのに、中間認証局の証明書をサーバに設置していないという、第六種オレオレ証明書の状態になっているようだ。

この場合、Internet Explorerアクセスするとオレオレ警告が出ないため、サーバ管理者が気づいていないのだと思われる。

IEで警告が出ないのは、IEには独自の機能が搭載されているからで、サーバ証明書に記載の「Authority Information Access」拡張フィールドにあるURLから、検証に必要な中間認証局の証明書を、別途自動でダウンロードして取得する機能があるためだ。図1は、民主党のサイトで提示されるサーバ証明書の、Authority Information Access拡張フィールドの値を表示させた様子である。

図1: 中間認証局証明書のダウンロード先を記したサーバ証明書の例

http://SVR1024Secure-aia.verisign.com/SVR1024Secure2007-aia.cer が中間認証局の証明書の置かれているURLである。この証明書はルート認証局から署名されているので(はずなので)、(検証すれば)安全にダウンロードすることができる。IEは、これをダウンロードすると、「中間証明機関」という証明書ストア(図2)に格納し、その後もそれを(cacheとして)使用するようになっている。

図2: IEにおける中間認証局証明書の「cache」

通常、中間認証局から発行されたサーバ証明書をサーバにインストールする場合、認証局から送られてくる中間認証局証明書も合わせてインストールするのが常識なのだが、IEではそれをサボっても警告が出ない場合があるのは、この機能が働くためだ。この場合、SSLの接続は正常に確立する。

何年か前に、microsoft.com 上に存在する SSL対応のWebサーバで、オレオレ警告が出ることが度々話題になったのは、これが原因で、「IEでは警告が出ないが Firefoxでは警告が出る」という騒ぎだった。

ところが(15日訂正)その後、最近になってのことだろうか、 Firefoxでもこの機能がサポートされたようだ。上記の東京証券取引所と民主党のサイトを Firefox2.0.0.11 でアクセスしても、オレオレ警告は出ずに正常にSSL接続が確立する。

Firefoxがどのバージョンからこの機能をサポートしたかは確認していない。

しかし、Safariや Operaなどの他のブラウザはこの機能をサポートしていないので、オレオレ警告が出る。これは、それらのブラウザでは SSLの接続が正常に確立しないことを意味する。つまり、通信路上の盗聴者が偽のサーバ証明書を提示している状況と区別できないので、安全な通信ができない。

Safariや Operaでのアクセスをお断りしているといった特別な事情があるサイトを除いて、このようなサイト運用は誤りであろう。

IEだけでなく Firefoxでも正常に接続できるようになったことから、今後この設定ミスに気づかないサイトが増えるおそれがある。

訂正(15日)

上で「Firefoxでもこの機能がサポートされたようだ」と書いたのは早とちりだった。はてなブックマークコメントに「Forefoxでも警告は出た」というたくさんの指摘を頂いたため、手元のFirefoxを再起動して試したところ警告が出るようになった。考えられる原因を想定してひとつひとつ確認していったところ原因が判明した。確認した現象は以下の通り。

12日の日記を書く直前にこれら2つのサイトを訪れていた。東京証券取引所(異常な設定)は専修大学(正常な設定)と同じ中間認証局「VeriSign Class 3 Secure Server CA」から発行されたサーバ証明書を使っており、民主党(異常な設定)は西日本シティ銀行(正常な設定)と同じ中間認証局「VeriSign Class 3 Secure Server 1024-bit CA」から発行されたサーバ証明書を使っている。

どうやら、Firefoxは、正常な設定のサイトを訪れたときに当該サイトから取得した中間認証局証明書を(再起動までの間)メモリ上に残すようになっており、異常な設定のサイトを訪れたときに、そのメモリ上の中間認証局証明書を使って認証パスを検証してしまうようだ。(Firefox 3 beta 1でも同じ現象が起きた。)

これは、トラックバックでご指摘頂いたように、MozillaのBugID:399045として報告されているバグのようだ。

なお、これは脆弱性に分類されるバグではない。警告が出ないのは、証明書の認証パスの検証をサボったからではなく、(たまたま)検証できたからなのであり、したがって、SSL暗号化通信は正常に機能している。

つまり、東京証券取引所や民主党のサイトをFirefoxで安全に利用したい人は、それぞれ利用前に専修大学か西日本シティ銀行のサイトを訪れてからにすれば、SSL暗号化された通信で利用できる。

もちろん、東京証券取引所や民主党のサイトがそのような利用手順を利用者に強要するのは誤りであり、サーバの設定を直すべきである。現時点でも直っていないようだが、直さないのなら、少なくとも「Internet ExplorerでしかSSL暗号化通信をご利用できません」という断り書きが必要だろう。

*1 ちなみに、民主党のご意見送信フォームは別の点でもセキュリティ上の不備がある。送信先は https:// になっているものの、フォームのHTMLは http:// で配布されている。「このフォームは、SSL(Secure Sockets Layer) 技術で暗号化しています」と書かれているが、文章で書いても無意味だ。通信路上でそのHTMLが改竄されれば、入力データは暗号化せずに送信されてしまう(関連:SSLを入力画面から使用しないのはそろそろ「脆弱性」と判断してしまってよいころかも安全なWebサイト利用の鉄則 - よくある質問と答え)。もっとも、それを理解しているユーザは、フォームのページでアドレスバーを編集して自力で https:// でアクセスしなおせば安全に使えるのではあるが。

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

12月9日に書いたこのエントリだが、東京証券取引所に対して問...

現象をお知らせしてから10営業日もかかっていますが、今日にな...

中間証明書の運用に疎いんだが、高木浩光氏のブログ記事「第六種オレオレ証明書が今後増加するおそれ」ってのが気になってる。 Amazonのこういうのや、松井証券のこういうのも第6種オレオレ証明書ってやつなのかしらん。 普段問題ないのに、稀に認証に失敗するようだ。..

SSL警告がIE以外のブラウザだと出るらしいですね……。ここ。前々から小耳に挟んでいたものの、いつも使っているSleipnirではIEコンポーネントブラウザなので、全く気にもせず。(そもそもeOpenは使う機会ないですし。Portable Firefox(...

検索

<前の日記(2007年12月09日) 次の日記(2007年12月15日)> 最新 編集

最近のタイトル

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|
<前の日記(2007年12月09日) 次の日記(2007年12月15日)> 最新 編集