...

1.63MB - 高知工科大学

by user

on
Category: Documents
11

views

Report

Comments

Transcript

1.63MB - 高知工科大学
平成 18 年度
フロンティアプロジェクト
学士学位論文
携帯電話端末を用いた
FeliCa 統合認証システム
Authentication Systems using FeliCa
on Cellular Phone
1070425
土居
絵美
指導教員
清水
明宏
2007 年 2 月 14 日
高知工科大学 フロンティア工学コース
要 旨
携帯電話端末を用いた
FeliCa 統合認証システム
土居
絵美
FeliCa は「かざす」だけでサービスが利用できるという利便性から様々なサービス
に用いられている.近年では,携帯電話端末に FeliCa チップが搭載されたことにより,
ユーザは 1 台の携帯電話端末で多種多様なサービスを利用することが可能となった.
FeliCa を用いて,ユーザの個人情報や金銭情報を扱うサービスでは,第三者による盗
聴やなりすましの危険性を回避する必要がある.この危険性に対して現在,認証およ
び暗号化機能を保持した専用のリーダ/ライタが利用されている.しかしながら,専用
のリーダ/ライタはリード/ライト機能のみを保持したリーダ/ライタと比べ高価なも
のとなっており,インフラ整備に掛かるコストが高くなるという問題が挙げられる.
本論文では,非接触 IC チップ FeliCa を搭載した携帯電話端末にワンタイムパス
ワード認証方式 SAS-2 を適用した FeliCa 統合認証システムを提案し,有用性を示す
ために評価実験を行う.
キーワード
認証,ワンタイムパスワード,FeliCa,SAS-2
–i–
Abstract
Authentication Systems using FeliCa
on Cellular Phone
Emi DOI
FeliCa is often used in various services because of convenience of usage. In
recent years, FeliCa is also equipped on a cellular phone, and the user can use for
various services with the one device. The threats which third persons impersonate
registered users in FeliCa services with the user’s personal information and the
digital money must be dealt with appropriately. Nowadays, for tackling of the
threats, an exclusive use R/W (reader and writer) which has authentication and
encryption functions is most presently available. However, the exclusive use R/W
is more expensive than the simple R/W which doesn’t have authentication and
encryption functions, and it is difficult to build a service infrastructure.
In this paper, authentication systems using FeliCa on a cellular phone is proposed. The systems counter the threat by applying one-time password authentication protocol SAS-2 (Simple And Secure password authentication protocol, Ver.2).
Finally, I have shown that the result of the evaluation experiments for showing
the expediency of the systems.
key words
authentication, one-time password, FeliCa, SAS-2
– ii –
目次
第1章
はじめに
1
1.1
背景と目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
本論文の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
非接触 IC 技術
3
IC カードとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
第2章
2.1
2.1.1
接触式 IC カード . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.2
非接触式 IC カード . . . . . . . . . . . . . . . . . . . . . . .
4
2.2
非接触 IC における通信 . . . . . . . . . . . . . . . . . . . . . . . .
5
2.3
非接触 IC を用いたシステム . . . . . . . . . . . . . . . . . . . . . .
5
第3章
2.3.1
セキュリティを必要とするサービス
. . . . . . . . . . . . . .
7
2.3.2
セキュリティを必要としないサービス . . . . . . . . . . . . .
8
認証技術
9
3.1
IDm 認証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2
ワンタイムパスワード認証方式 SAS-2 . . . . . . . . . . . . . . . . .
9
第4章
3.2.1
定義と記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3.2.2
SAS-2 プロトコル . . . . . . . . . . . . . . . . . . . . . . . .
10
3.2.3
SAS-2 の安全性 . . . . . . . . . . . . . . . . . . . . . . . . .
13
FeliCa 統合認証システム
15
4.1
提案システムの構成 . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.2
提案プロトコル . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.2.1
定義と記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.2.2
クライアント登録フェーズ . . . . . . . . . . . . . . . . . . .
17
– iii –
目次
4.2.3
サービス登録フェーズ . . . . . . . . . . . . . . . . . . . . . .
17
4.2.4
認証フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.3
提案プロトコルの問題点 . . . . . . . . . . . . . . . . . . . . . . . .
21
4.4
改良版提案プロトコル . . . . . . . . . . . . . . . . . . . . . . . . .
23
第5章
4.4.1
定義と記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.4.2
クライアント登録フェーズ . . . . . . . . . . . . . . . . . . .
24
4.4.3
サービス登録フェーズ . . . . . . . . . . . . . . . . . . . . . .
25
4.4.4
認証フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.4.5
実装評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
評価
30
5.1
安全性の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
5.2
比較評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
まとめ
32
第6章
謝辞
33
参考文献
34
– iv –
図目次
2.1
非接触 IC カードの構成 . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.2
非接触 IC を用いたサービス例 . . . . . . . . . . . . . . . . . . . . .
6
2.3
非接触 IC を用いたシステム構成 . . . . . . . . . . . . . . . . . . . .
7
3.1
IDm 認証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3.2
SAS-2 登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.3
SAS-2 認証フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
4.1
提案システムの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.2
クライアント登録フェーズ . . . . . . . . . . . . . . . . . . . . . . .
17
4.3
サービス登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . .
18
4.4
認証フェーズ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.5
実装環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.6
クライアント登録フェーズ . . . . . . . . . . . . . . . . . . . . . . .
24
4.7
サービス登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.8
認証フェーズ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
–v–
表目次
2.1
接触式 IC カードと非接触式 IC カードの比較 . . . . . . . . . . . . .
4
2.2
非接触 IC カードの分類 . . . . . . . . . . . . . . . . . . . . . . . . .
5
4.1
認証フェーズ実行時の処理時間 . . . . . . . . . . . . . . . . . . . . .
22
4.2
認証にかかる処理時間 . . . . . . . . . . . . . . . . . . . . . . . . . .
29
5.1
認証方式の比較評価 . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
– vi –
第1章
はじめに
本章では,研究の目的とそれに至るまでの背景について述べ,本論文の概要を説明
する.
1.1
背景と目的
FeliCa[1] とは非接触 IC カード技術方式の一つである.FeliCa を用いることにより,
ユーザは「かざす」だけで乗車券や,電子マネーなど様々なサービスを利用すること
ができる.近年では,携帯電話端末に FeliCa チップが搭載されたことにより,1 台の
携帯電話端末で複数のサービスを利用することが可能となった.[2] FeliCa を用いて,
ユーザの個人情報や金銭情報を扱うサービスでは,サービス管理者は第三者による盗
聴やなりすましの危険性を回避する必要がある.この危険性に対して現在,認証およ
び暗号化機能を保持した専用のリーダ/ライタが利用されている.しかしながら,専用
のリーダ/ライタはリード/ライト機能のみを保持したリーダ/ライタと比べ高価なも
のとなっており,インフラ整備にかかるコストが高くなるという問題が挙げられる.
本研究では,非接触 IC チップ FeliCa を搭載した携帯電話端末にワンタイムパス
ワード認証方式 SAS-2∗1 [3, 4, 5, 6, 7] を適用した FeliCa 統合認証システムを提案し,
有用性を示すために評価実験を行う.
∗1
Simple And Secure password authentication protocol, Ver.2
–1–
1.2 本論文の概要
1.2
本論文の概要
本論文では,ワンタイムパスワード認証方式 SAS-2 を用いた,FeliCa 統合認証シ
ステムを提案する.
第 2 章では,IC カードについて説明し,接触式,非接触式のそれぞれの IC カード
について述べ,本研究で利用する非接触 IC カードにおける通信,および非接触 IC
カードを用いたシステムについて述べる.
第 3 章では,現在非接触 IC を用いたサービスに用いられている IDm 認証につい
て述べ,提案システムで適応するワンタイムパスワード認証方式 SAS-2 について述
べる.
第 4 章では,提案システムである FeliCa 統合認証システムについて述べる.提案シ
ステムの構成について述べ,認証プロトコルについて述べる.
第 5 章では,提案システムについての評価方法を述べる.そして,評価した結果か
ら考察を述べる.
最後に,第 6 章で本論文の成果をまとめ,今後の課題を述べる.
–2–
第2章
非接触 IC 技術
本章では,まず IC カードについて説明し,接触式 IC カード,非接触式 IC カード
についてそれぞれ述べる.そして,本研究で利用する非接触 IC における通信,および
非接触 IC を用いたシステムについて述べる.
2.1
IC カードとは
IC カードとは,キャッシュカード大のプラスチック製カードに,メモリーやマイク
ロプロセッサを内臓した IC チップを搭載したカードのことである.IC カードは,磁
気ストライプカードと比べ,多くの情報を保存することができ,接触 IC 式カードと
非接触式 IC カードにわけられる.以下に,接触式 IC カードと非接触式 IC カードに
ついて述べる.接触式 IC カードと非接触式 IC カードの比較を表 2.1 に示す.[8]
2.1.1
接触式 IC カード
接触式 IC カードは,カード表面に 8 つの接触電極が存在する.接触式 IC カードで
カード内のデータを送受信する際は,接触電極をリーダ/ライタに挿入する必要があ
る.そのため,磨耗や汚れなどによって IC カードの接触電極とリーダ/ライタとの間
で接触不良が発生する可能性があり,接触不良が発生しないよう,定期的に保守点検
を行う必要がある.また,カードをリーダ/ライタに挿入する際,前後左右,裏表を確
認しなければならず,ユーザにとってカードの取り扱いが煩わしい場面がある.[8]
–3–
2.1 IC カードとは
表 2.1
項目
通信距離
接触式 IC カードと非接触式 IC カードの比較
接触式 IC カード
非接触式 IC カード
接触 (0mm)
接触∼1 m以上
(カードの種類による)
読み書きのし易さ
デザインの自由度
耐久性
比較的難しい
簡単
(端子を機器のヘッドに確実に
(カードを装置に近づけるたけで
セットする必要あり)
情報交換が可能)
接点があるため制約あり
制約なし
比較的弱い
強い
(接点の摩擦,湿気による劣化,
(物理的接点がないため)
汚れで動作不良の可能性あり)
2.1.2
非接触式 IC カード
非接触 IC カードは,カード内部にアンテナの役目を果たすコイルを内蔵してお
り,リーダ/ライタから発生している磁界にカードをかざすことで無線通信を利用し
てデータの送受信を行う.非接触式 IC カードは,データの読み書きができる距離や
通信方式の違いによって分類されている.距離の違いでは,密着型 (∼2mm),近接型
(∼10mm),近傍型 (∼70mm) に分類される.また,通信方式では,TypeA,TypeB,
FeliCa に分類される.通信方式で分類された非接触式 IC カードについて表 2.2 に示
す.[2] 近年では,携帯電話端末に非接触 IC が搭載され,1 台の携帯電話端末で複数
のサービス追加が容易となった.
–4–
2.2 非接触 IC における通信
表 2.2
項目
非接触 IC カードの分類
長所
Type A
短所
ヨーロッパとアジアの
プロトコルが高速処理
シェアが大きい
に向いていない
主な事例
MIFARE
通信速度をあげられない
Type B
公共,職域で実績豊富
プロトコルが高速処理
住民基本台帳カード
に向いていない
FeliCa
高速データ処理
ローカル仕様
交通系
日本及びアジアで急速に
通信速度をあげられない
電子マネー
普及が進んでいる
2.2
非接触 IC における通信
一般的な非接触 IC カードは図 2.1 に示すように,IC チップとアンテナコイルから
構成されており,
「かざす」行為によってデータの送受信を行う.リーダ/ライタと非接
触 IC 間の通信は,リーダ/ライタからの電磁波によって行われ,電磁波により非接触
IC 内に電力が供給されるため,非接触 IC は電池等の搭載は不要である.
2.3
非接触 IC を用いたシステム
この節では,非接触 IC を用いたシステムについて,セキュリティを必要とするサー
ビス,セキュリティを必要としないサービスにわけてそれぞれ説明する.非接触 IC を
用いたサービス例を図 2.2 に示す.[2]
–5–
2.3 非接触 IC を用いたシステム
図 2.1
図 2.2
非接触 IC カードの構成
非接触 IC を用いたサービス例
–6–
2.3 非接触 IC を用いたシステム
EƒŠ[ƒh/ƒ‰ƒCƒg‹@”\
E”FØ‹@”\
EˆÃ
ˆÃ††
‰»’
‰»’
ʐM
ʐM
‹@‹@
”\”\
‡@”FØ
ˆÃ†‰»’
ˆÃ
†‰»’
ÊÊ
MM
‡AƒT[ƒrƒXˆ—
”ñÚGIC
‡BƒT[ƒrƒXƒf[ƒ^‚Ì‘—M
—M
ƒŠ[ƒ_/ƒ‰ƒCƒ^
Ž–‹ÆŽÒƒT[ƒo
図 2.3 非接触 IC を用いたシステム構成
2.3.1
セキュリティを必要とするサービス
ユーザの個人情報や金銭情報など,第三者から保護すべきデータの送受信を行う
サービスは,認証,および暗号化機能を保持したリーダ/ライタを用いる.[2] セキュ
リティを必要とするサービスのシステム構成を,図 2.3 に示す.
図のようなシステムでは,非接触 IC,リーダ/ライタ間の認証,およびサービスデー
タを送信する際の暗号化には公開鍵 [10, 11] が用いられている.[9] リーダ/ライタは,
非接触 IC と認証を行う際の鍵と,事業者サーバにサービスデータを送信する際の暗
号鍵を保持する必要があるため,提供するサービスごとにリーダ/ライタを整備する必
要がある.しかし,認証,および暗号化機能を保持したリーダ/ライタはリード/ライ
ト機能のみを保持したリーダ/ライタと比べ高価なものとなっており,インフラ整備に
かかるコストが高くなる.システムの流れを以下に示す.
1. ユーザが,非接触 IC をリーダ/ライタにかざす.
2. 非接触 IC,認証サーバ間で相互認証を行い,認証が成立した場合,次の処理を
行う.
3. リーダ/ライタは,サービス処理を行う.
4. リーダ/ライタはサービス処理結果を非接触 IC に送信する.同時に,事業者サー
バに対して暗号化したサービスデータを送信する.
–7–
2.3 非接触 IC を用いたシステム
2.3.2
セキュリティを必要としないサービス
クーポンやニュースなど,不特定多数を対象としたサービスには,リード/ライト
機能のみを保持したリーダ/ライタが用いられる.リード/ライト機能のみを保持した
リーダ/ライタは,データの暗号化などを行うことができないため,インターネット網
を利用せず,街角にリーダ/ライタを設置し,誰もが非接触 IC をかざすだけで情報を
簡単に取得できるといったサービス形態に適している.
–8–
第3章
認証技術
本章では,現在非接触 IC を用いたサービスに用いられている IDm 認証について述
べ,提案システムで適応するワンタイムパスワード認証方式 SAS-2 について述べる.
3.1
IDm 認証
IDm 認証は,リード/ライト機能のみを保持したリーダ/ライタを用いて認証を行う
際に利用される.IDm とは,非接触 IC を一意に識別する固有番号である.製造時に
チップに書き込まれ,書き込み後の書き換えが不可能となっている.[2, 9]
認証を行う際には,固有番号をリーダ/ライタ,或いは事業者サーバに送信し,保持
しているデータベースと照合し認証を行う.すべての非接触 IC に IDm が登録されて
いるため,認証を行う際に登録作業を必要としないという利点がある.しかし,イン
ターネット網を利用したサービスにおいて,IDm 認証を行う際,認証毎に固有番号を
送信を行うため,第三者に番号が盗聴された場合に,なりすましが行われる危険性が
ある.
IDm 認証について,図 3.1 に示す.
3.2
ワンタイムパスワード認証方式 SAS-2
本項では,提案システムで用いるワンタイムパスワード認証方式 SAS-2 について,
プロトコルの詳細を述べ,さらに SAS-2 の安全性について述べる.
–9–
3.2 ワンタイムパスワード認証方式 SAS-2
図 3.1 IDm 認証
3.2.1
定義と記法
本節で用いる定義と記法は以下の通りである.
• User は,認証されるユーザである.
• Server は,User を認証する認証者である.
• ID は,ユーザの識別子を示す.
• S は,ユーザのパスワードを示す.
• X ,F ,H は,一方向性関数を示す.例として, H(x) は x を一方向性関数に適用
して得た出力値を示す.またこの一方向性関数は出力ビット数が常に一定とする.
• i は,認証セッション毎に加算される数値である.
• Ni は,i 回目の認証時に生成される乱数を示す.
• + は,加算演算子を示す.
• ⊕ は,排他的論理和演算子を示す.
3.2.2
SAS-2 プロトコル
SAS-2 プロトコルは,登録フェーズと認証フェーズから構成される.登録フェーズ
は一度だけ実行され,認証フェーズはユーザがログインする度に毎回実行される.以
下,これらのフェーズを順に説明する.
– 10 –
3.2 ワンタイムパスワード認証方式 SAS-2
図 3.2 SAS-2 登録フェーズ
登録フェーズ
図 3.2 に,SAS-2 の登録フェーズについて示す.
1. ユーザは,自身の識別子 ID,パスワード S を入力する.それと同時に,乱数
N1 を生成し,保存する.そして,入力された ID,S ,生成された N1 を用い,
A = X(ID, S ⊕ N1 ) を算出する.
2. ユーザは,ID, A を安全なルートでサーバへ送信する.
3. サーバは,受け取った ID,A を保存する.
認証フェーズ
図 3.3 に,i 回目の認証における SAS-2 認証フェーズを示す.
1. ユーザは,自身の識別子 ID,パスワード S を入力する.そして,入力されたデー
タと保存された乱数 Ni を用い,A = X(ID, S ⊕Ni ) を算出する.次に,ユーザは
乱数 N( i + 1) を生成し,保存する.さらに,ユーザは C = X(ID, S ⊕ N( i + 1)),
– 11 –
3.2 ワンタイムパスワード認証方式 SAS-2
図 3.3 SAS-2 認証フェーズ
– 12 –
3.2 ワンタイムパスワード認証方式 SAS-2
F (C) = F (ID, C) をそれぞれ求め,算出された C ,F (C) と,先に算出した A
を用い,α = C ⊕ (F (C) + A),β = F (C) ⊕ A をそれぞれ求める.
2. ユーザは,ID,α,β をサーバへ送信する.この時使用するネットワークは,イ
ンターネットなどの共通ネットワークでもよい.
3. サーバは,受信した β と保存された A を用い,F (C) = β ⊕ A を算出する.先
に算出された F (C) と,F (ID, C) を比較し,不一致ならば認証は不成立となる.
一致すれば認証が成立し,以下の処理が実行される.
4. サーバは,保存された A の代わりとして C を保存し,次回認証に備える.さら
に,γ = H(ID, F (C)) を算出する.
5. サーバは,γ をインターネットなどを通してユーザへ送信する.
6. ユーザは,H(ID, F (C)) を算出し,受信した γ と比較する.もし一致すれば,
サーバはユーザに認証される.不一致ならば,認証は不成立となる.
3.2.3
SAS-2 の安全性
ワンタイムパスワード認証方式は,認証毎に異なった認証情報を送信する.これに
より,悪意ある第三者が通信系路上の認証情報を盗聴し,これを再利用した成りすま
し行為に対して高い安全性を持つ.しかしながら,盗聴した認証情報から,認証を成
立させるために必要な情報を生成することが可能であった場合,この認証方式には成
りすましの危険性がある.
SAS-2 による登録フェーズにおいて,認証情報をやり取りするルートはセキュアな
ものを使用するため,登録フェーズは安全である.したがって,SAS-2 の安全性を評
価する場合,認証フェーズの安全性を示すことが必要である.
正当なユーザが SAS-2 による (i + 1) 回目の認証を行う際に,ユーザが送信する認
– 13 –
3.2 ワンタイムパスワード認証方式 SAS-2
証情報を以下に示す.
α ← E ⊕ (F (E) + C)
β ← F (E) ⊕ C
ID
この時,悪意ある第三者が成りすまし攻撃を実行する場合,以下の情報を送信しな
ければならない.
α′ ← x ⊕ (F (x) + C)
β ′ ← F (x) ⊕ C
ID
第三者が,たとえ i 回目以前での認証情報を全て取得できたとしても,これら認証
情報の組み合わせを生成することは不可能である.以上より認証フェーズの安全性を
示すことができ,したがって SAS-2 は安全であることが示される.
– 14 –
第4章
FeliCa 統合認証システム
本章では,まず提案システムの構成について述べ,認証に用いるプロトコルについ
て述べる.そして,提案システムにおける実装評価を述べる.
4.1
提案システムの構成
提案する FeliCa 統合認証システムは,リード/ライト機能のみを保持したリーダ/ラ
イタで構成され,ワンタイムパスワード認証方式 SAS-2 をベースとし,サービスデー
タの暗号化通信機能を持った認証システムである.提案システムでは,非接触 IC 技術
FeliCa を用いる.提案システムは,携帯電話端末,リーダ/ライタ,認証サーバ,サー
ビスサーバで構成される.なお,携帯電話端末内の FeliCa チップは,演算処理を行う
ことができないため,専用アプリケーションを携帯電話端末にインストールし,アプ
リケーションで演算処理を行った後に,FeliCa チップを介して通信を行う.提案シス
テムの構成を図 4.1 に示す.
4.2
提案プロトコル
提案プロトコルは,ユーザ登録を行うクライアント登録フェーズ,ユーザがサービ
ス登録を行うサービス登録フェーズ,認証を行う認証フェーズから構成される.クラ
イアント登録フェーズは一度だけ実行され,サービス登録フェーズはユーザがサービ
ス追加を行う度に,認証フェーズはユーザがサービスを利用する度に実行される.以
下,これらのフェーズを順に説明する.
– 15 –
4.2 提案プロトコル
図 4.1
4.2.1
提案システムの構成
定義と記法
本章で用いる定義と記法は以下の通りである.
• appli は,携帯電話端末内にインストールされたアプリケーションである.
• FeliCa は,携帯電話端末に搭載された FeliCa チップである.
• R/W は,FeliCa チップを読み込むリーダ/ライタである.
• auth-server は,クライアント認証を行う認証サーバである.
• serv-server は,サービスを提供するサービスサーバである.
• ID は,ユーザの識別子を表す.
• SID は,サービスの識別子を表す.
• X ,F ,H は,一方向性関数を示す.例として,H(x) は x を一方向性関数に適
用して得た出力値を示す.また,この一方向性関数は出力ビット数が常に一定と
する.
• i は,認証セッション毎に加算される数値である.
• Ni は,i 回目の認証時に生成される乱数を表す.
• + は,加算演算子を示す.
• ⊕ は,排他的論理和演算を示す.
– 16 –
4.2 提案プロトコル
図 4.2 クライアント登録フェーズ
• SData は,サービスデータを表す.
• K は,サービスデータを暗号化する暗号鍵を表す.暗号鍵はサービスごと,およ
びサービス情報更新毎に変化する.例として,KiSID は,SID の i 回目の暗号鍵
である.
• [t]k は,平文 t を暗号化鍵 k により共通鍵暗号化したものである.復号鍵を k と
すると,t = [[t]k]k となる.
4.2.2
クライアント登録フェーズ
クライアント登録フェーズを図 4.2 に示す.
1. ユーザは,自身の識別子 ID を入力する.それと同時に,アプリケーションは乱
数 N0 を生成し、A = X(ID, N0 ) を算出する.
2. アプリケーションは,ID,A を安全なルートで認証サーバへ送信する.
3. 認証サーバは,受信した ID,A を保存する.
4.2.3
サービス登録フェーズ
サービス登録フェーズを図 4.3 に示す.
1. リーダ/ライタは,SID1 を FeliCa チップに書き込む.
2. アプリケーションは,FeliCa チップから SID1 を読み込み,保存していた ID,
– 17 –
4.2 提案プロトコル
図 4.3
サービス登録フェーズ
Ni から A = X(ID, Ni ) を算出する.次に,乱数 Ni+1 を生成し,保存する.
3. アプリケーションは,乱数 Ni+1 から C = X(ID, Ni+1 ) を生成する.次に,
F (C) = F (ID, C) を算出し,先に算出された A から α = C ⊕ (F (C) + A),
β = F (C) ⊕ A をそれぞれ算出する.
4. アプリケーションは,ID,α,β ,SID を FeliCa チップ経由で認証サーバへ送信
する.この時使用するネットワークは,インターネットなどの共通ネットワーク
でもよい.
5. 認証サーバは,受信した α,β と保存された A を用いて F (C) = β ⊕ A,C =
– 18 –
4.2 提案プロトコル
α ⊕ (F (C) + A) を算出する.先に算出された F (C) と F (ID, C) を比較し,不
一致ならば認証は不成立となる.一致すれば認証が成立し,以下の処理が実行さ
れる.
6. 認証サーバは,ID をサービスサーバへ送信する.
7. サービスサーバは,受信した ID を保存し,ID に対応したサービスデータ SData
を生成する.
8. サービスサーバは,ID と SData を認証サーバへ送信する.
9. 認証サーバは,K0SID1 = H(SID1 , A) を算出し,受信した SID を暗号鍵 K0SID1
で暗号化する.次に,保存された A の代わりとして C を保存し,次回の認証に備
える.さらに γ = H(ID, F (C)) を算出する.
10. 認証サーバは,γ と暗号化したデータである [SData]K0SID1 をリーダ/ライタ経
由で FeliCa チップに書き込む.
11. アプリケーションは,FeliCa チップから γ と [SData]K0SID1 を読み込む.
12. アプリケーションは,F (C) = F (ID, C) を算出する.次に,受信した γ と
H(ID, F (C)) を比較し,不一致ならば認証は不成立となる.一致すれば認証が成
立し,以下の処理が実行される.
13. アプリケーションは,暗号化されたデータを復号するための鍵である K0SID1 =
H(SID1 , A) を算出し,SData を求める.次に,求めた SData を保存する.
4.2.4
認証フェーズ
認証フェーズを図 4.4 に示す.
1. リーダ/ライタは,SID1 を FeliCa チップに書き込む.
2. アプリケーションは,FeliCa チップから SID1 を読み込み,保存していた ID,
Ni から A = X(ID, Ni ) を算出する.次に,乱数 Ni+1 を生成し,保存する.
3. アプリケーションは,乱数 Ni+1 から C = X(ID, Ni+1 ) を生成する.次に,
– 19 –
4.2 提案プロトコル
図 4.4
認証フェーズ
F (C) = F (ID, C) を算出し,先に算出された A から α = C ⊕ (F (C) + A),
β = F (C) ⊕ A をそれぞれ算出する.
4. アプリケーションは,SID1 の j 回目の認証に用いる際の暗号鍵 KjSID1 =
H(SID1 , A) を算出し,保存していた SData を暗号化する.
5. アプリケーションは,ID,α,β ,[SID1 ]KjSID1 を FeliCa チップ経由で認証サー
バへ送信する.この時使用するネットワークは,インターネットなどの共通ネッ
– 20 –
4.3 提案プロトコルの問題点
トワークでもよい.
6. 認証サーバは,受信した α,β と保存された A を用いて F (C) = β ⊕ A,C =
α ⊕ (F (C) + A) を算出する.先に算出された F (C) と F (ID, C) を比較し,不
一致ならば認証は不成立となる.一致すれば認証が成立し,以下の処理が実行さ
れる.
7. 認証サーバは,受信した [sData]KjSID1 を復号するための鍵である KjSID1 を算
出し,SData を求める.
8. 認証サーバは,ID と SData をサービスサーバへ送信する.
9. サービスサーバは,受信した ID と SData をもとにサービスを実行し,SData
の更新を行う.
10. サービスサーバは ID,SData を認証サーバへ送信する.
11. 認証サーバは,受信した SData の暗号化 [SData]KjSID1 を行う.次に,保存され
た A の代わりとして C を保存し,次回の認証に備える.さらに γ = H(ID, F (C))
を算出する.
12. 認証サーバは,γ と暗号化したデータである [SData]KjSID1 をリーダ/ライタ経
由で FeliCa チップに書き込む.
13. アプリケーションは,FeliCa チップから γ と [SData]KjSID1 を読み込む.
14. アプリケーションは,F (C) = F (ID, C) を算出する.次に,受信した γ と
H(ID, F (C)) を比較し,不一致ならば認証は不成立となる.一致すれば認証が成
立し,以下の処理が実行される.
15. アプリケーションは,KjSID1 を用いて SData の復号を行い,SData を保存する.
4.3
提案プロトコルの問題点
提案プロトコルでは,サービス登録フェーズ,および認証フェーズを実行する際,は
じめに携帯電話端末内のアプリケーションが実行されている.しかし,携帯電話端末
– 21 –
4.3 提案プロトコルの問題点
図 4.5
実装環境
表 4.1 認証フェーズ実行時の処理時間
アプリ起動時間
処理時間
合計処理時間
4956ms
1851ms
6807ms
内のアプリケーションは起動に時間を必要とし,FeliCa の特徴であるサービスの即時
性を損なう危険性がある.そこで,予備実験としてユーザがサービスを利用するたび
に実行される認証フェーズを携帯電話端末,認証サーバ間で実装し処理時間の計測を
行った.実装環境を図 4.5 に示す.
計測の結果を表 4.1 に示す.計測の結果,ユーザは携帯電話端末をリーダ/ライタに
かざした状態で約 7 秒間待機する必要があることがわかった.アプリケーションの設
計を行う上で,ユーザに不快感を与えない待機時間は約 3 秒と言われているため,提
案プロトコルでは実利用に不向きであるといえる.
– 22 –
4.4 改良版提案プロトコル
4.4
改良版提案プロトコル
改良版提案プロトコルでは,ユーザ待機時間の短縮を図るためにアプリケーション
起動時間をユーザ待機時間に含まないよう,認証情報をあらかじめ FeliCa チップに保
存しておくよう,それぞれのフェーズに変更を行った.
改良版提案プロトコルについて以下に説明する.
4.4.1
定義と記法
本章で用いる定義と記法は以下の通りである.
• appli は,携帯電話端末内にインストールされたアプリケーションである.
• FeliCa は,携帯電話端末に搭載された FeliCa チップである.
• R/W は,FeliCa チップを読み込むリーダ/ライタである.
• auth-server は,クライアント認証を行う認証サーバである.
• serv-server は,サービスを提供するサービスサーバである.
• ID は,ユーザの識別子を表す.
• SID は,サービスの識別子を表す.
• X ,F ,H は,一方向性関数を示す.例として,H(x) は x を一方向性関数に適
用して得た出力値を示す.また,この一方向性関数は出力ビット数が常に一定と
する.
• i は,認証セッション毎に加算される数値である.
• Ni は,i 回目の認証時に生成される乱数を表す.
• + は,加算演算子を示す.
• ⊕ は,排他的論理和演算を示す.
• SData は,サービスデータを表す.
• K は,サービスデータを暗号化する暗号鍵を表す.暗号鍵はサービスごと,およ
びサービス情報更新毎に変化する.例として,KiSID は,SID の i 回目の暗号鍵
– 23 –
4.4 改良版提案プロトコル
図 4.6 クライアント登録フェーズ
である.
• [t]k は,平文 t を暗号化鍵 k により共通鍵暗号化したものである.復号鍵を k と
すると,t = [[t]k]k となる.
4.4.2
クライアント登録フェーズ
クライアント登録フェーズを図 4.6 に示す.
1. ユーザは,自身の識別子 ID を入力する.それと同時に,アプリケーションは乱
数 N0 を生成し、A = X(ID, N0 ) を算出する.
2. アプリケーションは,ID,A を安全なルートで認証サーバへ送信する.
3. 認証サーバは,受信した ID,A を保存する.
4. アプリケーションは,乱数 N1 を生成し,C = X(ID, C) を算出する.次に,
F (C) = (ID, C) を算出し,保存された A を用いて次回認証情報である α =
C ⊕ (F (C) + A),β = F (C) ⊕ A を算出する.
5. アプリケーションは,ID,α,β を FeliCa チップに書き込み,ID,A,C を保
存する.
– 24 –
4.4 改良版提案プロトコル
図 4.7
4.4.3
サービス登録フェーズ
サービス登録フェーズ
サービス登録フェーズを図 4.7 に示す.
1. リーダ/ライタは,SID1 を FeliCa チップに書き込む.
2. リーダ/ライタは,FeliCa チップから ID,α,β を読み込み,SID1 と共に認証
サーバへ送信する.
3. 認証サーバは,受信した α,β と保存された A を用いて F (C) = β ⊕ A,C =
– 25 –
4.4 改良版提案プロトコル
α ⊕ (F (C) + A) を算出する.先に算出された F (C) と F (ID, C) を比較し,不
一致ならば認証は不成立となる.一致すれば認証が成立し,以下の処理が実行さ
れる.
4. 認証サーバは,ID をサービスサーバへ送信する.
5. サービスサーバは,受信した ID を保存し,ID に対応したサービスデータ SData
を生成する.
6. サービスサーバは ID と SData を認証サーバへ送信する.
7. 認証サーバは,K0SID1 = H(SID1 , A) を算出し,受信した SData を暗号鍵
K0SID1 で暗号化する.次に,保存された A の代わりとして C を保存し,次回の
認証に備える.さらに γ = H(ID, F (C)) を算出する.
8. 認証サーバは,γ と暗号化したデータである [SData]K0SID1 をリーダ/ライタ経
由で FeliCa チップに書き込む.次に,次回認証時に受信する暗号化されたサービ
スデータを複合するための鍵を算出し,保存する.
9. アプリケーションは,FeliCa チップから γ と [SData]K0SID1 を読み込む.
10. アプリケーションは,F (C) = F (ID, C) を算出する.次に,受信した γ と
H(ID, F (C)) を比較し,不一致ならば認証は不成立となる.一致すれば認証が成
立し,以下の処理が実行される.
11. アプリケーションは,暗号化されたデータを復号するための鍵である K0SID1 =
H(SID1 , A) を算出し,SData を求める.次に,求めた SData を保存する.
12. アプリケーションは,次回認証のために保存された A の代わりに C を保存す
る.次に,次回認証時に送信するサービスデータを暗号化するための K1SID1 =
H(SID1 , C) を算出する.
13. ア プ リ ケ ー ション は ,乱 数 Ni+1 を 算 出 し ,C = X(ID, Ni+1 ),F (C) =
F (ID, C) をそれぞれ求める.次に,先に保存された A から α = C ⊕(F (C)+A),
β = F (C) ⊕ A をそれぞれ算出する.
14. アプリケーションは,SData を暗号鍵 K1SID1 で暗号化し,α,β ,[SData]K1SID1
– 26 –
4.4 改良版提案プロトコル
図 4.8
認証フェーズ
を FeliCa チップに書き込む.
4.4.4
認証フェーズ
認証フェーズを図 4.8 に示す.
1. リーダ/ライタは,SID1 を FeliCa チップに書き込む.
– 27 –
4.4 改良版提案プロトコル
2. リーダ/ライタは,FeliCa チップから ID,α,β ,[SData]KjSID1 を読み込み,
SID1 と共に認証サーバへ送信する.
3. 認証サーバは,受信した α,β と保存された A を用いて F (C) = β ⊕ A,C =
α ⊕ (F (C) + A) を算出する.先に算出された F (C) と F (ID, C) を比較し,不
一致ならば認証は不成立となる.一致すれば認証が成立し,以下の処理が実行さ
れる.
4. 認証サーバは,保存された KjSID1 を用いて,受信した [SData]KjSID1 を復号
する.
5. 認証サーバは,ID と復号した SData をサービスサーバへ送信する.
6. サービスサーバは,受信した ID と SData をもとにサービスを実行し,SData
の更新を行う.
7. サービスサーバは ID と SData を認証サーバへ送信する.
8. 認証サーバは,受信した SData を暗号鍵 KjSID1 で暗号化する.次に,保存された
A の代わりとして C を保存し,次回の認証に備える.さらに γ = H(ID, F (C))
を算出する.
9. 認証サーバは,γ と暗号化したデータである [SData]KjSID1 をリーダ/ライタ経
由で FeliCa チップに書き込む.次に,次回認証時に受信する暗号化されたサービ
SID1
スデータを複合するための鍵 Kj+1
= H(SID1 , C) を算出し,保存する.
10. アプリケーションは,FeliCa チップから γ と [SData]KjSID1 を読み込む.
11. アプリケーションは,F (C) = F (ID, C) を算出する.次に,受信した γ と
H(ID, F (C)) を比較し,不一致ならば認証は不成立となる.一致すれば認証が成
立し,以下の処理が実行される.
12. アプリケーションは,KjSID1 を用いて SData を求める.次に,求めた SData を
保存する.
13. アプリケーションは,次回認証のために保存された A の代わりに C を保存す
SID1
る.次に,次回認証時に送信するサービスデータを暗号化するための Kj+1
=
– 28 –
4.4 改良版提案プロトコル
表 4.2
認証にかかる処理時間
ユーザ待機時間
非待機時間
合計処理時間
1103ms
6163ms
7269ms
H(SID1 , C) を算出する.
14. ア プ リ ケ ー ション は ,乱 数 Ni+1 を 算 出 し ,C = X(ID, Ni+1 ),F (C) =
F (ID, C) をそれぞれ求める.次に,先に保存された A から α = C ⊕(F (C)+A),
β = F (C) ⊕ A をそれぞれ算出する.
SID1
SID1
15. アプリケーションは,SData を暗号鍵 Kj+1
で暗号化し,α,β ,[SData]Kj+1
を FeliCa チップに書き込む.
4.4.5
実装評価
改良版プロトコルにおいて,ユーザが携帯電話端末をリーダ/ライタにかざしてから
認証処理が終了するまでの時間を計測し,評価する.そのために,携帯電話端末,認
証サーバ間で認証システムの実装を行った.
処理時間の計測を行うにあたって,計測回数を 10 回とし,平均時間を計測した.結
果を表 4.2 に示す.
実験環境においては,ユーザの待機時間は約 1 秒に削減できることが示された.非
待機時間として約 6 秒を要しているが,この処理はユーザに意識させることなく行わ
れるため問題ないと考える.
– 29 –
第5章
評価
本章では,提案システムの安全性の評価,および既存技術との性能評価について述
べる.
5.1
安全性の評価
改良版 SAS-2 によるクライアント登録フェーズにおいて,認証情報をやり取りす
るルートはセキュアなものを使用するため,クライアント登録フェーズは安全である.
したがって,改良版 SAS-2 の安全性を評価する場合,サービス登録フェーズ,および
認証フェーズの安全性を示すことが必要である.
正当なユーザが改良版 SAS-2 による (i + 1) 回目の認証を行う際に,ユーザが送信
する認証情報を以下に示す.
α ← E ⊕ (F (E) + C)
β ← F (E) ⊕ C
ID
この時,悪意ある第三者が成りすまし攻撃を実行する場合,以下の情報を送信しな
ければならない.
α′ ← x ⊕ (F (x) + C)
β ′ ← F (x) ⊕ C
ID
第三者が,たとえ i 回目以前での認証情報を全て取得できたとしても,これら認証
– 30 –
5.2 比較評価
表 5.1
認証方式の比較評価
安全性
コスト
速度
暗号化通信
IDm 認証
×
○
○
×
公開鍵認証
○
×
○
○
提案プロトコル
○
○
×
○
改良版プロトコル
○
○
○
○
情報の組み合わせを生成することは不可能である.以上より認証フェーズの安全性を
示すことができ,したがって改良版 SAS-2 は安全であることが示される.
5.2
比較評価
認証方式について,従来技術である IDm 認証方式,公開鍵認証方式,提案方式と改
良版提案方式の比較結果を表 5.1 に示す.
IDm 認証では,安価で高速な認証が可能であるが,固有 ID を平文で送信している
ためなりすましやデータの盗聴といった行為が可能である.公開鍵認証は,公開鍵を
用いた認証やデータの送受信を行っているため安全なサービス利用が可能であるが,
認証局が必要となりコストがかかるといった問題がある.また,提案プロトコルでは,
安価に相互認証を行うことが可能であるが,認証の際に携帯電話端末内のアプリケー
ションの起動が必要となるため高速な認証を行うことが不可能である.それに対し,
改良版プロトコルでは,認証情報をあらかじめ FeliCa チップに保存することにより安
価に高速な相互認証が可能である.
以上より,提案する FelICa 統合認証システムは実装可能であることがいえる.
– 31 –
第6章
まとめ
本論文では,ワンタイムパスワード認証方式 SAS-2 を用いた,FeliCa 統合認証シ
ステムを提案し,評価を行った.その結果,提案システムは特にセキュアでないルー
トを含んだ環境でサービス利用,およびサービス登録が可能であることを示した.
今後の課題として,携帯電話端末,および認証サーバの保持する情報が,通信経路
の遮断等により不一致となる状況に対する回避策の検討が必要である.これを実現す
る方法には,フラグを用いた方式やカウンタを用いる方式が考えられる.今後,これ
らの方式が提案システムにおいて有効であるか検討する必要がある.
– 32 –
謝辞
本研究の遂行と論文作成にあたって,言葉では言い表せないほどの御指導,御助
言を賜った高知工科大学 フロンティア工学コース 清水明宏教授に心より感謝申し上
げる.
本研究の副査を担当して頂いた高知工科大学 フロンティア工学コース 古沢浩助教
授に深く感謝申し上げる.
また,本研究において適切な御指導,御助言を頂いた高知工科大学 フロンティア工
学コース 中原知也氏に心より感謝申し上げる.
さらに,有益な議論を交わして頂いた高知工科大学 清水研究室の関係者各位に感謝
申し上げる.
– 33 –
参考文献
[1] Sony Japan, “Sony Japan – FeliCa,” http://www.sony.co.jp/Products/felica/index.html,
2007.
[2] 若狭繁基, 志村拓, 山口威, 村岡太郎, 西村真理子, “モバイル FeliCa プログラミン
グ,” 株式会社アスキー, 2006.
[3] T.Tsuji, T.Kamioka, and A. Shimizu, “Simple And Secure password authentication protocol, Ver.2(SAS-2),” IEICE Technical Report, OFS2001-48,
no.435, pp.53-58, 2001.
[4] T.Tsuji, A. Shimizu, “Algorithm variations of SAS-2,” IEICE Technical Report, IN2002-149, vol.102, no.498, pp.25-30, 2002.
[5] T.Tsuji, A. Shimizu, “One-time password authentication protocol against
theft attacks,” IEICE Trans.Commun., vol.E87-B, no.3, pp.523-529.
[6] T. Tsuji, S. Fujimoto, and A. Shimizu, “High-speed protocol on one-time password authentication,” IEICE Technical Report, OIS2003-4, vol.103, no.44,
pp.21-26, 2003.
[7] T.Tsuji, A.Shimizu, “A one-time password authentication method for low
spec machines and on internet protocols,“ IEICE Trans.Commun., vol.E87B, no.6, pp.1594-1600, 2004.
[8] (株) デ ン ソ ー ウェー ブ,
“IC カ ー ド 基 礎 知 識,”
http://www.denso-
wave.com/ja/ids/fundamental/index.html.
[9] Sony, “SDK for FeliCa ユーザーズマニュアル Version 1.24,” 2004.
[10] R. Rivest, A. Shamir, and L. Adleman, “A method for obtaining digital signatures and public-key cryptosystems,” Commun. of the ACM, Vol. 21, No.
2, pp. 120–126, February 1978.
– 34 –
参考文献
[11] M. Bellare and P. Rogaway, “Optimal Asymmetric Encryption,” EUROCRYPTO’94, LNCS 950, pp. 92–111, Springer-Verlag, 1995.
– 35 –
Fly UP