IC カード等を用いた多要素 Web 認証
松澤 英之, 園田 誠
宮崎大学 情報基盤センター
matuzawa@cc.miyazaki-u.ac.jp,sonoda@cc.miyazaki-u.ac.jp
概要：最近学生証として FeliCa (IC)カードを採用する大学が増えているが、FeliCa カードを自由に単独の認証に用いることは難しい。また、利用者の利便性およびセキュリティの向上等から統一認証が採用されるが、同一のセキュリティ強度となる統一認証だけでは、各システムの重要度に応じたセキュリティ強度の認証を行うことは難しい。この解決策として多要素(多段)認証がある。今回、IC カード等を用いた多要素(多段)Web 認証を開発した。

1

はじめにFeliCa カードに変更する例も多い。このよう

最近、交通機関[1]や、コンビニ[2]、スーパに日本の様々な場所、場面で利用されている

ー[3]など、様々な場所で FeliCa (IC)カードがFeliCa カードであるが、FeliCa カードを情報利用されている。また、学生証として FeliCaシステムの認証に利用した例はあまり聞かれなカードを採用する大学が増えている。そのため、い[5]。

身近にある FeliCa カードを利用して認証を行FeliCa カードに保存されている情報は、大えば利便性が向上するが、様々なアプリケーシきく分けて 3 つに分けられる[6]。一つ目は、ョンの認証に自由に応用する事は難しい。

FeliCa カードと IC カードリーダ/ライタ(IC カ

また、利用者の利便性およびセキュリティの向ード読み取り機)との間でネゴシエーション

上等から統一認証が採用されることが多くなっ(Polling)を行う時に得られる製造 ID(IDm)と製てきているが、統一認証は全てのシステムに対造パラメータ(PMm)。二つ目は、フェリカネ

して同一のセキュリティ強度で提供されるため、ットワークスが運営・管理する共通領域。三つ

各システムの重要度に応じてセキュリティ強度

目は、ユーザが自由に使えるプライベート領域の変更を行うことは難しい。この解決策の一つである。

として複数の認証を組み合わせた多要素(多段)認証がある。

一つ目の領域は、Polling した際に得られる情報なので、情報機器で自由に読み取れる領域

そこで、今回は IC カードと USB 機器を用いである。しかし、読み取り時に暗号化されていた多要素(多段)Web 認証システム(以下、IC カないことと IDm の一意性が保障されていないード認証)を開発した。

ため[7]、セキュリティが要求されるサービスの認証情報としてこの情報を利用することは推2

IC カード等を用いた多要素 Web 認証

2.1 FeliCa IC カード

奨されていない。
二つ目の共通領域は、暗号化されていて認証

IC カードの形式は世界でいくつかあるが、にも利用できる。しかし、この領域を利用する

日本で一番普及している IC カードは、FeliCa

ためには、フェリカネットワークスにサービスカード[4]である。特に大都市圏では、交通系を登録する必要があり、自由に情報システムののカードとして、地方でもコンビニ、スーパー認証に利用する用途に適していない。の支払いカードとして採用されている。また、三つ目のプライベート領域は、ユーザが自由に近年大学の学生証、職員証を磁気カードから利用でき、読み取り可能つまりデータが公開されている。通信経路も暗号化されていないので、された情報だとしても十分にセキュリティ強度ユーザがこのプライベート領域のデータを認証がある認証システムを構築できると考える。つ情報として単独で認証に利用する事は難しい。

まり、様々な種類の FeliCa カードと USB 機器

以上のように FeliCa カードを単独でかつ”自由”の持つ情報を順番に組み合わせて認証を行うのに情報システムの認証キーをして利用することである。FeliCa カードと USB 機器の持つ情報はできない。

は、パスワード認証の文字一つ一つと同等で、その組み合わせ(認識個数と並び順)情報が本人

2.2 USB 機器
USB 機器は、情報機器への接続時に情報機しか知らない認証情報と考えていただければよい。パスワード認証と IC カード認証との比較器との間でディスクリプタと呼ばれる情報をやは後程行う。
り取りする。これらの情報には、USB 機器を今回は、実証実験のユーザに受け入れやすいよ特定するためのシリアル番号が含まれている。
うに、単独の認証ではなく、補助的な二要素(二しかし、ディスクリプトはどの情報機器との間段)認証の二要素目として、また比較的実装が自でもやり取りされるので、公開情報であり、認由に行える Web アプリケーションの認証として証情報として利用する事は難しい。
実装した。

2.3 FeliCa カードと USB 機器を用いた多要素

2.4 IC カード等を利用した二要素カード等を利用した二要素 Web 認証シ認証
ステム
実際 FeliCa カードを利用した認証ソリュー

このシステムは大きく分けてシステムを利用

ションでは、暗号化が可能な FeliCa の共通領するするパソコンで認証データを取得し認証シ域に暗号化した認証情報を保存し、保存した情ステムサーバにデータを送るローカルプログラ
報を利用者本人が持ちうる認証情報として利用
ム、サーバプログラムとローカルプログラムとして認証を行う。同様に USB メモリーを利用サーバプログラム間の認証情報の伝達を中継すした認証は、USB メモリーに暗号化した認証る Java Applet プログラムに分けられる。

情報を保存して利用する。そのため、認証情報IC カード等の情報を取得するローカルプロの漏えいは、死活問題となる。
グラムはサービスを利用するパソコン側にあるでは、公開されている FeliCa カードと USB点に注意する必要がある。つまり、サーバ側に機器の情報を利用して、どのように認証を行う

送られる情報が必ずしも FeliCa カードや USBのか。まずもっとも身近なパスワード認証につ機器から直接取り込んだ情報かどうか保障できいて考える。パスワード認証に使える文字数はないということである。極端な例を挙げれば正多くても 80 文字程度であり、半角英数字と記しい認証情報をサーバ側に送れるローカルプロ号が使えることがわかっている。これらの文字グラムを作れば認証できてしまう。しかし、の組み合わせ(長さと並び順)を本人しか知りえWeb ブラウザにパスワードを自動保存するプロない認証情報として扱い認証を行っている。

グラムがあるように、個々の FeliCa カードとFeliCa カードと USB 機器は、全世界で一意でないかもしれないが、FeliCa カードは IDm

USB 機器の情報は公開情報であるので、情報の出所は問題とならない。と PMm、USB 機器はシリアル番号といった無動作手順を示す。まず、パスワードなどで第数の ID を持っている。これらの機器が持って一要素目の認証を行う。認証が成功した場合は、いる情報を認証パスワードの一文字と同様に組通常のパスワード認証と同じようにブラウザにみ合わせて認証を行えば、FeliCa カードとUSB 機器が持っている(利用できる)情報が公開

Cookie 情報を送り、ブラウザを IC カード認証

用 Web サイト(IC 認証 Applet サイト)にリダイレクトする。ブラウザは IC 認証 Applet 用サイトに含まれた Java Applet を起動する。次にローカルプログラムを起動して認証用の FeliCaカードと USB 機器を順に読み込み認証情報を取得する。個々の機器の認証情報を取得するたびに、Java Applet を経由してサーバ側プログラム(IC 認証サイト)に認証データを転送する。
IC 認証サイトでは、保持している認証情報と送られてきた認証情報との照合を行う。サーバ

3 考察側のプログラム(IC 認証サイト)は、ブラウザがこの IC カード等を用いた多要素 Web 認証とアクセスしているサイト(IC 認証 Applet サイ

パスワード認証と比べてみる。一般に広く普及

ト)とは別である。Applet と IC 認証サイトとのしているパスワード認証は、一定数の文字を組み合わせてユーザしか知らない秘密を作り出す。

間は、http(80 番ポート)で、Applet とローカルプログラムは TCP/IP 5555 ポートを利用した。

そのためセキュリティの強度を高めるためには扱える文字数を増やすか入力する文字数を増や認証情報を送り終わった時点でローカルプログ
ラムからデータ入力終了のデータを IC 認証サ

す或いはなるべく予想できない難解なパスワー

イトに送り IC カード認証を終了する。認証がドを作成することになる。一方、FeliCa カー成 功 し た 場 合 は 、 IC 認 証 サ イ ト か ら Java

ドや USB 機器は世界に無数にあるため、理論Applet に 認 証 成 功 が 通 知 さ れ 、 こ の Java

的には入力データのバリエーションはパスワー

Applet か ら IC 認 証 Applet サ イ ト に あ るド認証よりも高い。そのため、IC カード等をJavaScript を用いて利用できる Web アプリケ

利用した認証は理論的にはパスワード認証と比べても遜色ないセキュリティ強度を持つことがーションサイトにリダイレクトされる。
IC カード認証時にユーザに見せる IC 認証
Applet サイトに Java Applet を記載したのにはできると考える。
運用面の問題点について考察する。パスワー
ド認証は認証情報を基本的に利用者が記憶する理由がある。ローカルプログラムとサーバで認ためどこでも使えるという利点がある。また、証情報を直接やり取りする事はできるが、ICパスワード認証の実装はサービスを提供するサカード等を利用した認証の結果を一段目の認証情報を保持している Web ブラウザに反映するーバ側のみで完了する。しかし IC カード認証
は、Web アプリケーションを利用するパソコン方法がない。そこで、一段目の認証情報を保持している Web ブラウザで Java Applet を起動しで FeliCa カードと USB 機器から情報を取得するため、パソコンに専用のプログラムをインスてローカルプログラムとサーバ側との認証情報を 中 継 。 サ ー バ 側 で 認 証 を 行 っ た 後 、 Javaトールする必要がある。加えて FeliCa カード

Applet が IC カード等を用いた認証の結果をサと USB 機器を認識させるために、パスワードーバから取得、IC 認証 Applet サイトに記載さ入力よりも時間が掛かることは否めない。

れている JavaScript を用いて Web ブラウザにまた、それほど嵩張るとは思われないが、対して一段目の認証結果を保持しつつ Web ア

IC カード等を用いた認証を利用している Webアプリケーションを様々な場所で利用する場合、プリケーションへリダイレクトするようにした。

認証情報を保持している FeliCa カードと USB機器と IC カードリーダ/ライタを常に携帯する必要がある。
最後に FeliCa カードと USB 機器のバリエー
ションは全世界には無数にあるが、一人が所持[4] ソニー株式会社、Sony Japan | FeliCa ホームページ、
http://www.sony.co.jp/Products/felica/[5] 株式会社ソリトンシステムズ、SmartOn シリしている FeliCa カードと USB 機器はそれほどーズ、多くはない。そのためセキュリティ強度は運用次第である。

http://www.soliton.co.jp/products/pc_security/smarton/specification_on.html[6] ソニー株式会社、フォーマット判別シーケン

認証破りについて考えてみる。パスワード認証を破る簡単な(しかし実行には CPU パワーが掛かる)方法として、ブルートフォース攻撃がある。パスワードに使える文字数は比較的少ないので、この様な攻撃も可能であるが、FeliCa カードと USB 機器が持つ情報は公開されているとはいえ闇雲な総当たり攻撃をするには複雑すぎる。
一方、キーロガーの様にローカルなパソコンの情報を記録して利用する攻撃に対しては、ローカルプログラムで暗号化を施せばある程度耐性ができる。しかし、IC カードリーダ/ライタと IC カードとの情報のやり取りは暗号化できないので、漏洩の可能性が残る。
FeliCa カードと USB 機器の紛失による認証情報の漏えいに関しては公開された情報を利用するので対策の立てようがない。また IC カー
ド等を用いた認証で利用する秘密情報は、機器が所有する情報の組み合わせにある。認証時は、FeliCa カードと USB 機器を他人に見えないように認証を行う事が出来ないので、衆人環視の環境で認証を行う事には適していない。
これらの考察は、実証実験を経ていない段階での考察である。今後実証実験を行いこの認証の問題点を追及していく。

参考文献[1] JR 東日本、Suica、
http://www.jreast.co.jp/suica/[2] 株式会社セブン・カードサービス、電子マネ
ー nanaco 【公式サイト】：トップページ、
http://www.nanaco-net.jp/index_pc.html[3] イオンリテール株式会社、電子マネー｜
WAON [ワオン] 公式サイト、
http://www.waon.net/index.html

ス設計ガイドライン、Version 1.1、1-2、
2010、
http://www.sony.co.jp/Products/felica/busine
ss/tech-support/data/format_sequence_guid
elines_1.1.pdf[7] ソニー株式会社、FeliCa 技術方式の各種コードについて、Version 1.2、3、2010、http://www.sony.co.jp/Products/felica/busine
ss/tech-support/data/code_descriptions_1.2.
pdf