発表・掲載日:2008/04/22

パスワード相互認証プロトコルの技術評価用ソフトウェアを公開

-抜本的なフィッシング詐欺防止技術の実用化に向けて-

ポイント

  • インターネットにおけるフィッシング詐欺を防止できる新しい認証方式を開発。
  • 技術評価用のウェブブラウザとサーバー用拡張モジュールをオープンソースで公開。
  • ウェブブラウザに標準搭載され、フィッシング被害が減少することに期待。

概要

 独立行政法人 産業技術総合研究所【理事長 吉川 弘之】(以下「産総研」という)情報セキュリティ研究センター【研究センター長 今井 秀樹】(以下「RCIS」という)とヤフー株式会社【代表取締役社長 井上 雅博】(以下「Yahoo! JAPAN」という)は、これまでインターネットにおけるフィッシング詐欺を防止する「ウェブでの利用に適したパスワード相互認証プロトコル」の研究開発を進めてきた。このたび、新しい認証プロトコル「HTTP Mutualアクセス認証」を組み込んだウェブブラウザ「MutualTestFox」と、Apacheウェブサーバーで同プロトコルを利用可能にするための拡張ソフトウェア「mod_auth_mutual」を開発し、RCISウェブサイト( https://www.rcis.aist.go.jp/special/MutualAuth/)にて公開する。

 「MutualTestFox」は、オープンソース・ウェブブラウザFirefox 3のソースコードをベースとし、新認証プロトコルを機能追加したもので、通常のウェブブラウザと同様に使用できる。「mod_auth_mutual」は、Apacheウェブサーバーに追加モジュールとして設定すれば、従来の認証に置き換わるものとして使用できる。RCISは、Firefox 3ブラウザの改変部分と「mod_auth_mutual」モジュールをオープンソース・ライセンスで提供する。

 今回のソフトウェア公開は、新認証プロトコルの技術評価を目的とする。ウェブアプリケーション技術者や、セキュリティ研究者、ウェブブラウザ開発者によって「HTTP Mutualアクセス認証」の有用性が確認されることを期待し、さらなる改良のための知見を得たい。

ウェブブラウザ「MutualTestFox」の画像
本認証プロトコルを組み込んだウェブブラウザ「MutualTestFox
(緑色で表示されるユーザー名を確認することで、正規サイトであると確認できる。)

開発の社会的背景

 インターネットでは、著名なブランド名や会社名をかたった偽のウェブサイトに人を誘い込み、パスワードや個人情報、クレジットカード番号等を入力させてかすめ盗るという「フィッシング」 (Phishing) と呼ばれる悪質な行為が横行し社会問題となっている。米国に本部を置くAnti-Phishing Working Group (APWG) の2007年の発表によると、米国においては金融機関を標的とした手口が9割を占め、2007年12月だけで2万5000件ものフィッシングサイトの通報が寄せられている。日本では、国家公安委員会等による「不正アクセス行為の発生状況」によれば、2007年に検挙された不正アクセス事件1,438件のうち1,157件がフィッシングでパスワードを詐取した手口であり、インターネット・オークションのサービスが標的とされたケースが大半を占めている。

 フィッシングを防止するには、ユーザーが個人情報等を入力する際に、ウェブブラウザのアドレス欄に表示されるアドレスが自分の意図するサイトのものに一致しているか、常に目視で確認することが基本である。しかし、現実には経験豊富なユーザーでもうっかり確認を怠ることがあり、また、本物とまぎらわしい名前のドメイン名で偽サイトが設置されていると目視確認では見分けにくいという問題がある。

 近年では、フィッシング警告機能を搭載するウェブブラウザも登場し、報告されている既知の偽サイトにアクセスすると「偽装サイトの疑いがあります」などと表示されるようになった。しかし、こうした対策方法は、無差別に送信するメール等で大規模な誘い込みが行われたケースにおいては有効だが、少数の相手だけを狙って誘い込む手口に対しては、偽サイトの通報が間に合わずに警告が出ないという限界がある。

 このような背景から、金融機関等ではワンタイムパスワード等を併用した二要素認証の導入が進められているが、二要素認証では中間者攻撃によるフィッシングの手口に弱いという問題点が従来から指摘されており、実際に2006年に米国の大手銀行で中間者攻撃によるフィッシングの被害が発生したことから、対策のあり方が問われている。

研究の経緯

 産総研とYahoo! JAPANは、2006年1月より、フィッシング詐欺を防止するための新しいセキュリティ技術の開発を目指して共同研究を開始し、その成果として、2007年3月までに、ウェブでの利用に適したパスワード相互認証プロトコル「HTTP Mutualアクセス認証」を開発し、サーバーモジュールとブラウザ拡張機能の試作を行ってきた。

 (参考:産総研HP 2007年3月掲載の主な研究成果 http://www.aist.go.jp/aist_j/new_research/2007/nr20070323/nr20070323.html

 その後、プロトコル仕様の改良を重ね、2007年11月に、プロトコルの仕様書案をInternet Engineering Task force (IETF) Internet-Draftとして提出し、同年12月の70th IETF Meetingにおいて標準化に向けた議論を開始している。それと並行して、提出した仕様書案に基づくウェブブラウザの実装を本格的に進めてきたが、このたび、技術評価用の参照実装例として、ウェブブラウザ「MutualTestFox」と、Apacheウェブサーバー用の機能追加モジュール「mod_auth_mutual」をオープンソース・ソフトウェアとして公開するに至った。(図1)

「MutualTestFox」のインストール画面の画像
図1: 「MutualTestFox」のインストール画面

研究の内容

 公開する「MutualTestFox」と「mod_auth_mutual」は、IETFにInternet-Draftとして提出したドラフト仕様の第2版に基づいて実装したもので、一部の拡張機能は未実装であるものの、「HTTP Mutualアクセス認証」のフィッシング対策としての有用性を確認するのに必要な機能を備えたものである。

 この新しい認証方式がフィッシング対策として有効となるのは、次の特徴を備えていることによるものである。


(a)

HTTP Mutualアクセス認証専用のパスワード入力欄を、ブラウザのアドレスバー領域に設けている(図2)。

(b) 入力したパスワードは、PAKE(Password Authenticated Key Exchange方式の暗号プロトコルによって認証に用いられ、直接サーバーに送信されることがないため、誤って偽サイトでパスワードを入力してしまっても、パスワードを盗まれることはなく、送信された情報からパスワードが復元されないことも保証される。
(c) サーバーがログインユーザーを認証するだけでなく、ブラウザがサーバーを認証する。サーバーの認証は、そのパスワードがそのサーバーに登録済みであるかどうかを確認することで行われる。これにより、パスワードを知らない偽サイトは、ログインが成功したかのように偽装することはできない。
(d) HTTP Mutualアクセス認証でログインが成功している状態においては、ユーザー名がアドレスバー領域に緑色の背景で表示される(図3)。
(e) 偽サイトが通信内容を正規サーバーに中継するという、中間者攻撃がしかけられている場合、プロトコルの仕組み上、認証が成功しない。

HTTP Mutualアクセス認証でログインが可能なときの様子の画像
図2: HTTP Mutualアクセス認証でログインが可能なときの様子

HTTP Mutualアクセス認証でログイン中であるときの様子の画像
図3: HTTP Mutualアクセス認証でログイン中であるときの様子

 HTMLフォーム認証では、ウェブページのコンテンツ領域にパスワード入力欄が設置されるため、偽サイトでパスワードを入力してしまうと、それは偽サイト設置者に盗まれてしまう。Basic認証やDigest認証では、ポップアップ表示されるダイアログウィンドウにパスワード入力欄が現れるが、そのウィンドウは、偽サイトが作り出した偽のダイアログウィンドウと区別できない危険性がある。

 それに対し、ブラウザのアドレスバー領域は、ウェブページのコンテンツによって書き換えられることがないと保証される領域であり、ここにパスワード入力欄を設けることで、パスワード入力欄の偽装が防止される。そして入力したパスワードはサーバーに送信されることがないため、パスワードが盗まれないことから、入力する場所がアドレスバー領域である限り、ユーザーは安心してパスワードを入力することができる。

 また、ブラウザがサーバーを認証することから、HTTP Mutualアクセス認証でログインが成功している状態においては、そのサーバーは偽サイトではないことが保証されるため、ユーザーは、アドレスバー領域に緑色の背景で自分のユーザー名が表示されていることさえ確認すれば、表示されているウェブページの内容が正規サイトのものであると信用することができる。

 したがって、将来、本機能が広く普及した際には、ユーザーが次のとおりに行動すれば、フィッシング詐欺の被害が防止されることになる。

 ○パスワードは、アドレスバー領域にしか入力しない。
 ○個人情報やクレジットカード番号などを入力するときは、必ず、HTTP Mutualアクセス認証でログイン中であること(図3)を確認した後に行う。

今後の予定

 国際的な活動として、この技術評価用ソフトウェアを参照実装例として紹介しながら、本プロトコルのインターネット標準化作業を進めるとともに、一般に広く利用されているウェブブラウザに本機能が標準搭載されるよう、開発者コミュニティなどに働きかけていく。

 また、国内技術者向けの技術評価デモンストレーションとして、「Yahoo!オークション」での実証実験を、2008年6月より開始する予定。この実験により、実運用に向けた問題点の抽出を行い、今後の改良に役立てていく予定である。

ソフトウェア配布とご意見窓口

○ソフトウェア配付(RCISウェブサイト内)
  https://www.rcis.aist.go.jp/special/MutualAuth/

○ご意見窓口
 認証プロトコルについて:産総研 情報セキュリティ研究センター
             E-mail : 情報セキュリティ研究センター連絡先
 公開ソフトウェアについて:(株)レピダム(開発委託先)
              E-mail : (株)レピダム(開発委託先)連絡先



用語の説明

◆フィッシング (Phishing) 詐欺
銀行やオークションサイトを模した偽のウェブサイトを設置して、ユーザーをそこに誘い込み、パスワードやクレジットカード番号等を入力させてそれらを詐取するなどの行為。欧米では深刻な被害が広がっており、日本でも容疑者が検挙される事件が起きている。[参照元へ戻る]
◆プロトコル
コンピューター同士がネットワークを介して通信する際の手順を定めた規約。インターネットでは、パスワードを用いてログインする機能を実現するものとして、Basicアクセス認証、Digestアクセス認証などの認証プロトコルが普及している。[参照元へ戻る]
MutualTestFox
MutualTestFox」は今回公開するウェブブラウザの名称であり、このブラウザはMozilla Foundationの「Mozilla Firefox」に機能を追加したものであるが、Mozilla Foundationの商標管理方針により、Mozilla Firefoxという名称は Mozilla Foundation自身による配布及びその無改造の再配布にのみ使用し、改造したプログラムを配布する際は必ず名前を変更することとされているため、その方針に従い名称を変更したもの。[参照元へ戻る]
Apacheウェブサーバー
Apache Software Foundationがオープンソース・ライセンスで提供しているウェブサーバーのソフトウェア。世界中で広く利用されており、認証プロトコル等をモジュールの形で追加できる仕組みを持つ。[参照元へ戻る]
◆ソースコード
人間が読み書きしやすいプログラミング言語の形式で書かれたコンピュータープログラム。コンピューターが実行しやすい機械語形式に変換されることもある。一般に、機械語形式で配布されたプログラムは改変することが容易でないのに対し、ソースコードで配布されたプログラムは改変がしやすい。ソフトウェア技術者に自由に改良して利用してもらうことを期待して、ソースコードでプログラムを公開することがある。[参照元へ戻る]
Anti-Phishing Working Group (APWG)
フィッシング行為等による詐欺やIDの詐取を撲滅することを目的に結成された団体。世界中のさまざまな業界団体、企業、法執行機関などが参加して情報共有、対策技術の議論を行っている。
http://www.antiphishing.org/ [参照元へ戻る]
◆不正アクセス行為の発生状況
不正アクセス行為の禁止等に関する法律第7条第1項の規定に基づき、国家公安委員会、総務大臣及び経済産業大臣が、毎年発表する不正アクセス行為の発生状況等をまとめた資料。
2008年2月発表の資料: http://www.meti.go.jp/press/20080229010/20080229010.html [参照元へ戻る]
◆ドメイン名
インターネットにおいてサーバーなどを管理する主体を識別するために用いられる名前。フィッシング詐欺の可能性がある場合に、偽サイトと本物サイトの区別はドメイン名で判別することができる。[参照元へ戻る]
◆ワンタイムパスワード
一度認証に使用すると同じパスワードは無効となり再使用できなくなるという、使い捨てのパスワードの方式の総称。印刷された多数の使い捨てパスワードを事前にユーザーに配布しておく方式や、時刻とともに変化するパスワードを表示する機器をユーザーに配布しておく方式などがある。[参照元へ戻る]
◆二要素認証
ユーザーごとに固有の二つの秘密情報を用いて個人認証を行う技術。例として銀行ATMにおけるキャッシュカードと暗証番号による認証、ネットバンクで導入されているパスワードと乱数表を用いた認証などがある。[参照元へ戻る]
◆中間者攻撃 (Man-in-the-middle Attack)
クライアントとサーバー間に割り込んだ攻撃者が、クライアントと攻撃者間の通信を攻撃者とサーバー間の通信として中継することによってセキュリティを破る攻撃手法の名称。いくつかのプロトコルはこの攻撃に対して弱いことが知られている。フィッシング詐欺においては、偽サイトでユーザーに入力させたパスワードを本物のサイトに中継する攻撃手法を指す。ワンタイムパスワードを使用していても、その時点で有効なワンタイムパスワードを偽サイトがサーバーに対して使用することができてしまうため、ワンタイムパスワードによるフィッシング対策は中間者攻撃に弱いと指摘されている。[参照元へ戻る]
Internet Engineering Task Force (IETF)
インターネットで使用される技術の標準化作業を担う組織。Request For Comments (RFC) と呼ばれる文書を取りまとめている。 [参照元へ戻る]
Internet-Draft
IETFが発行する文書の一つ。Internet-DraftはIETFにおける標準化過程の最初のステップのひとつで、誰でも作成し提出することができ、一定期間公開されて意見募集の対象となる。標準化の価値があると見なされれば、「標準への提唱」(Proposed Standard)に格上げされRFCの番号が付与され、さらに「標準への草稿」(Draft Standard)を経て「標準」(Standard)となることがある。[参照元へ戻る]
◆PAKE (Password Authenticated Key Exchange)
IETFなどの国際標準にも採用されている、クライアント・サーバー間で相互認証とそれに基づいた秘密情報の安全な共有を実現する方式。電子証明書を用いずにユーザー固有のパスワードを用いた相互認証が可能。従来、ウェブに適用して用いられることはなく、普及が進んでいなかった。[参照元へ戻る]


関連記事


お問い合わせ

お問い合わせフォーム