本発明は、一実施形態のために示された添付図面を参照して以下の詳細な記述を考慮することによって容易に理解することができる。引き続いて、添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
まず、本発明の実施形態の概要について図1を用いて説明する。図1は、本実施形態における携帯端末100および携帯端末200からなるシステム構成図である。携帯端末100は、イベントのチケットなどのチケット情報である権利価値情報を生成する携帯端末である。携帯端末100は、携帯端末200に対して権利価値情報(例えば、チケット情報)を送信することができ、権利価値情報を受信した携帯端末200のユーザは、当該権利価値情報を利用することができる。
例えば、携帯端末100は、イベント興行者などのチケット販売業者が保有している携帯端末であって、この携帯端末100は、耐タンパ装置であるICカードを装着可能に構成されている。なお、耐タンパ装置とは、耐タンパ性を有する記憶装置であって、許容された者以外からのアクセス(不正アクセス)を遮断する能力を備える記憶装置である。例えば、耐タンパ装置として、ICメモリ、ICカードなどが挙げられる。そして、携帯端末100は、チケット販売業者の操作により電子的なチケット情報である権利価値情報を生成する際、権利価値情報にICカードの固有のICカード識別ID(識別子)を付与した権利ファイルを生成している。このICカードの固有のICカード識別IDは、ネットワーク上で一意にICカードを特定することのできる識別情報である。
一方、携帯端末200は、非接触型ICカードを備え、携帯端末100が生成した権利価値情報を、ネットワークを介して取り込むことができる。携帯端末200のユーザは、イベント会場の入口に配置されている非接触型リーダに非接触型ICカードが装着されている携帯端末200をかざすことにより、非接触型リーダにより携帯端末200に記憶されている権利価値情報およびICカード識別IDを含む権利ファイルは読み取られる。なお、携帯端末200に備えられるICカードは、赤外線通信またはブルートゥース通信により、権利価値情報を送信するようにしたものでもよい。
非接触型リーダ側では、あらかじめ権利価値情報およびICカード識別IDを対応付けて記憶しておき、携帯端末200の非接触型ICカードから権利価値情報およびICカード識別IDを読み出し、あらかじめ記憶している権利価値情報およびICカード識別IDと照合することにより、権利価値情報が正当なものであるか否かを判断することができる。本実施形態においては、携帯端末100のICカードに記憶されている権利ファイルは、耐タンパ性を有するICカード同士を直接通信接続する通信プロトコルが用いられ、携帯端末200のICカードに直接、移送されているため、第三者により改竄される余地がなく、ICカード識別IDが一致していると判断できる場合、正当な権利価値情報として機能することができる。また、検証の対象となる識別子は暗号化されていないため、その検証処理は迅速に行われる。
このようなシステムによって、ICカードに記憶された権利価値情報はチケット情報としての機能を果たすことができるとともに、署名技術を用いることなく権利価値情報の正当性が保証される。以下、権利価値情報およびICカード識別IDからなる権利ファイルを作成することができる耐タンパ装置およびファイル生成方法およびについて詳細に説明する。
図2は、耐タンパ装置であるICカード102を備える携帯端末100のブロック構成図である。この携帯端末100は、アプリケーション101、ICカード102、CPU103、および通信部104を含んで構成されている。
アプリケーション101は、権利価値情報を生成するためのアプリケーションであり、携帯端末100のユーザにより操作されることにより権利価値情報およびICカード識別IDを含む権利ファイルの生成処理依頼を実行する。そして、アプリケーション101は、ユーザの操作に基づいてファイル生成メッセージを生成し、そのファイル生成メッセージをICカード102に出力する。また、アプリケーション101は、ICカード102で権利価値情報およびICカード識別IDを含む権利ファイルが生成されたことを示す完了通知を受けることができる。
ここで、ファイル生成メッセージについて、その具体例を、図3を用いて説明する。図3は、ファイル生成メッセージの概念図である。ファイル生成メッセージは、アプリケーション101の発信元を示すアプリケーション識別ID“ap_id”、送信先であり、ICカードごとに固有に記憶されているICカード102のICカード識別ID“icc_id”、ファイル生成の指示を示す番号情報“mtype”、権利価値のデータ内容を示す権利価値情報“data”、権利価値情報“data”のデータサイズを示す“LEN”から構成されている。なお、アプリケーション識別ID“ap_id”は、携帯端末100内において一意で定まる識別子であり、ICカード識別ID“icc_id”は、ネットワーク上で一意に定まる識別子である。
また、ここで権利価値情報に含まれている情報について説明する。図4は、権利価値情報の概要を説明する概念図である。図4に示すように、権利価値情報には、ICカード102内に構成されている複数のフォルダのうち当該権利価値情報を記憶させる格納先フォルダ“folder”、権利価値のデータ内容を示すファイルデータ“fileDATA”、権利価値のデータ内容“fileDATA”の大きさを示すデータサイズ“fileLEN”、アクセス権限“fileACL”、および権利価値の個数“fileCNT”が含まれている。なお、アクセス権限を示す情報とは、権利価値情報をコピーすることを許可する権限情報、または、権利情報を頒布することを許可する権限情報であり、アクセス権限としてこれら権限情報が設定可能である。また、権利価値の個数とは、例えばチケットの枚数に相当するものである。
図2に戻り、引き続き説明する。ICカード102は、ネットワーク上で一意に定まるICカード識別ID“icc_id”を記憶している部分であって、このICカード102は、アプリケーション101から送信されたファイル生成メッセージを受信すると、ファイル生成メッセージに含まれている権利価値情報と、ICカード102で記憶しているICカード識別ID“icc_id”と、を含む権利ファイルを生成し、生成した権利ファイルを記憶する。
以下、図5を用いて、耐タンパ装置であるICカード102の構成について説明する。図5は、ICカード102のブロック構成図である。図5に示すように、ICカード102は、インターフェース部102a(受信手段)、CPU102b(メッセージ判断手段、ファイル生成手段)、およびメモリ部102c(記憶手段)を含んで構成されている。
インターフェース部102aは、携帯端末100に対してデータ通信を可能とするよう接続する部分であり、携帯端末100からファイル生成メッセージを受信することができる。
CPU102bは、ICカード102を制御する部分であり、本実施形態においては、CPU102bは、ファイル生成メッセージに、権利価値情報“data”および番号情報“mtype”が含まれていることを判断した場合、権利価値情報およびICカード識別IDを含む権利ファイルを生成する部分である。
また、CPU102bは、権利ファイルを記憶する際に、権利価値情報に含まれている権利価値のデータサイズ、およびその他のパラメータであるアクセス権限、権利価値の個数などのパラメータのサイズ並びにICカード識別IDのサイズに基づいて算出された、記憶させようとする権利ファイルのサイズが、ICカード102に形成されているフォルダの一レコード領域のサイズより大きいか否かを判断する。権利ファイルのサイズが一レコード領域のサイズより小さい場合には、CPU102bは、メモリ部102cに権利ファイルを記憶させる。
また、CPU102bは、権利ファイルを生成して記憶した場合、生成した権利ファイルの記憶が終了したことを示す完了通知を、インターフェース部102aを経由してアプリケーション101に出力する。
さらに、CPU102bは、権利ファイルのサイズが一レコード領域のサイズより大きいと判断した場合には、権利ファイルを生成する際に異常が発生したか否かを判断する。具体的には、CPU102bは、権利価値情報のデータサイズ“LEN”で示される数値と権利価値情報“data”の実サイズとが異なるか否か、を判断する。また、CPU102bは、送信元であるアプリケーション101のアプリケーション識別IDをICカード102に所有者と記憶しておらず、認証できないか否か、を判断する。また、CPU102bは、格納先フォルダ“folder”で示されるフォルダがICカード102に存在しないか否か、を判断する。また、CPU102bは、権利価値の個数“fileCNT”が0であるか否か、を判断する。また、CPU102bは、権利価値のデータサイズ“fileLEN”で示される数値が最大格納ファイルサイズを超えるか否か、を判断する。また、CPU102bは、新たにファイルを作成するための空き容量がないか否か、を判断する。また、CPU102bは、権利ファイル作成時における権利価値の個数“fileCNT”が規定値より大きいか否か、を判断する。
CPU102bは、権利ファイルを生成する際に異常が発生したと判断した場合には、異常に対応したエラーメッセージをアプリケーション101に、インターフェース部102aを経由して出力する。例えば、CPU102bは、権利価値情報のデータサイズ“LEN”で示される数値と権利価値情報“data”の実サイズが異なる場合、その旨を示すイリーガルエラーメッセージを出力する。また、CPU102bは、送信元であるアプリケーション101のアプリケーション識別IDを所有者として記憶しておらず、正常に認証しない場合は、その旨を示すアクセスバイオレーションエラーメッセージを出力する。また、CPU102bは、格納先フォルダ“folder”で示されるフォルダがICカード102に存在しない場合、フォルダが存在しない旨を示すエラーメッセージを出力する。また、CPU102bは、権利価値の個数“fileCNT”が0である場合は、その旨を示すイリーガルエラーメッセージを出力する。また、CPU102bは、権利価値のデータサイズ“fileLEN”で示される数値が最大格納ファイルサイズを超える場合、新たにファイルを作成するための空き容量がない場合は、メモリーオーバフローであることを示すエラーメッセージを出力する。また、CPU102bは、権利ファイル作成時における権利価値の個数“fileCNT”が規定値より大きい場合、その旨のエラーメッセージを出力する。
メモリ部102cは、データを記憶する部分であり、複数のフォルダを含んでいる。また、このメモリ部102cには、ICカード識別IDがあらかじめ記憶されている。
ここで、ICカード102のメモリ部102cに構成されている記憶領域を示す複数のフォルダの構成について説明する。図6は、ICカード102に記憶されているフォルダの概念図である。図6に示すように、ICカード102には、複数のフォルダが構成されている。フォルダは、さらに複数のレコード領域に区別されて構成され、一レコード領域に一データ(一ファイル)を記憶することができる。よって、この一レコード領域には、権利価値情報“data”およびICカード102のICカード識別ID“icc_id”を含む権利ファイルを一つ記憶することになる。なお、権利ファイルは、フォルダ内で一意に定められるファイルIDが付与されている。このファイルIDを用いることにより、フォルダ内における権利ファイルを特定することができる。また、ICカード102には、ICカードごとに割り振られた識別IDであって、ICカード102を一意に識別することができるICカード識別ID“icc_id”を、上述フォルダとは別の領域にあらかじめ記憶している。
図2に戻って、CPU103は、アプリケーション101を含む携帯端末100全体を制御する制御部分である。また、通信部104は、ネットワークを介して通信相手と通信する部分であって、ICカード102に記憶されている権利ファイルを携帯端末200に送信することができる。
このように構成された携帯端末100におけるアプリケーション101およびICカード102の動作について説明する。図7は、アプリケーション101およびICカード102の動作を示すフローチャートである。
アプリケーション101では、携帯端末100のユーザの操作により権利ファイル作成の旨の指示が行われ、ファイル生成メッセージ(図3参照)が作成される(S101)。そして、アプリケーション101では、ファイル生成メッセージが、ICカード102を宛先として出力される(S102)。
ICカード102では、アプリケーション101で作成されたファイル生成メッセージが受信される(S201)。そして、ICカード102では記憶しようとする権利ファイルのサイズが、ICカード102のフォルダに形成されている一レコード領域より大きいか否かが判断される(S202)。なお、記憶しようとする権利ファイルのサイズは、権利価値情報“data”および送信先として記述されているICカード102のICカード識別ID並びにファイルIDに基づいて算出される。
ICカード102において、権利ファイルのサイズが、一レコード領域より小さいと判断された場合は、権利ファイル作成時において異常が発生したか否かがCPU102bにより判断される(S203)。例えば、権利価値情報のデータサイズ“LEN”で示される数値と権利価値情報“data”の実サイズとが異なる場合、送信元であるアプリケーション101のアプリケーション識別IDをICカード102に所有者として記憶しておらず、認証できない場合、格納先フォルダ“folder”で示されるフォルダがICカード102に存在しない場合、権利価値の個数“fileCNT”が0である場合、権利価値のデータサイズ“fileLEN”で示される数値が最大格納ファイルサイズを超える場合、新たにファイルを作成するための空き容量がない場合、または、権利ファイル作成時における権利価値の個数“fileCNT”が規定値より大きい場合には、異常が発生したとCPU102bにより判断される。
このように異常が発生したとCPU102bにより判断された場合、CPU102bによりエラー処理が行われ、エラーメッセージが出力され(S205)、処理が終了される。例えば、権利価値情報のデータサイズ“LEN”で示される数値と権利価値情報“data”の実サイズとが異なる場合、その旨を示すイリーガルエラーメッセージが出力される。また、送信元であるアプリケーション101のアプリケーション識別IDが所有者として記憶されておらず正常に認証できない場合は、その旨を示すアクセスバイオレーションエラーメッセージが出力される。また、格納先フォルダ“folder”で示されるフォルダがICカード102に存在しない場合、フォルダが存在しない旨を示すエラーメッセージが出力される。また、権利価値の個数“fileCNT”が0である場合は、その旨を示すイリーガルエラーメッセージが出力される。また、権利価値のデータサイズ“fileLEN”で示される数値が最大格納ファイルサイズを超える場合、新たにファイルを作成するための空き容量がない場合は、メモリーオーバフローであることを示すエラーメッセージが出力される。また、権利ファイル作成時における権利価値の個数“fileCNT”が規定値より大きい場合、その旨のエラーメッセージが出力される(S205)。
ICカード102において、異常が発生していないと判断された場合、ICカード102のICカード識別IDおよび権利価値情報を含む権利ファイルは、ファイルIDが付与されて権利価値情報に記述されている格納先フォルダに従ったフォルダの一レコード領域に記憶される(S204)。なお、一レコード領域に記憶する際に、格納先フォルダに、既に同一の権利価値情報におけるファイルデータおよびICカード102の識別IDを有する権利ファイルが存在している場合は、権利価値情報に記述されている権利価値の個数を増加させることにより、権利ファイルの更新処理を行う。
また、ICカード102において、権利ファイルのサイズが、一レコード領域より小さくない判断された場合は、権利ファイルを生成することなく、エラー処理を行って終了する(S205)。なお、ICカード102は、アプリケーション101にエラーが生じた旨を通知する。
記憶完了後(または更新処理後)、ICカード102では、完了通知がアプリケーション101に対して出力される(S206)。アプリケーション101では、完了通知が受信され、権利ファイルの生成が終了したことが把握される(S103)。
このように、携帯端末100のICカード102では、権利ファイルとして、権利価値情報とICカード102の識別IDとが記憶される。したがって、携帯端末100から権利ファイルが、ユーザが所有する携帯端末200に備えられているICカードに取得されることで、この携帯端末200のユーザにおいて権利ファイルをチケット情報として使用することができる。
ここで、携帯端末100から、ユーザである携帯端末200に対して権利ファイルを出力する場合、または携帯端末200に格納されている電子マネーとの交換取引を行う場合は、ICカード102のICカード識別IDが、ネットワーク上に漏洩しないように、ICカード102を暗号化して出力する必要がある。この場合、受け側の携帯端末200においては暗号化されたICカード識別IDを復号化して記憶する機能が必要である。
また、携帯端末100は、ICカード間の権利価値の直接通信を可能とする所定の通信プロトコル(例えば、Optimistic Fair Exchange Protocol:権利価値の楽観的な交換プロトコル)を用いることにより、権利ファイルの安全な取引を行うことができる。このようなプロトコルを用いることにより、第三者による改竄などを防止することができ、権利価値情報に付与されたICカード識別IDの一意性を保証することができる。権利価値の楽観的な交換プロトコルとして、特開2001−143009号公報にその詳細が記載されている
次に、本実施形態の耐タンパ装置であるICカード102の作用効果について説明する。本実施形態のICカード102は、権利価値を示す権利価値情報および権利ファイルの生成を指示する番号情報を含むファイル生成メッセージを、インターフェース部102aで受信する。そして、受信されたファイル生成メッセージに、権利価値を示す権利価値情報および権利ファイルの生成を示す番号情報が含まれているか否かを、CPU102bが判断する。インターフェース部102aを経由して受信されたファイル生成メッセージが権利価値情報および番号情報を含んでいると、CPU102bにより判断された場合、CPU102bは、ICカード識別IDと権利価値情報とを含んだ権利ファイルを生成し、メモリ部102cは生成した権利ファイルを記憶することができる。これにより、CPU102bは、ICカード識別IDと権利価値情報とを含んだ権利ファイルを生成することができ、権利価値情報に対して署名処理を施すことなく、権利ファイルに含まれているICカード識別IDを用いて、権利価値情報の作成元およびその正当性を保証することができる。
例えば、この耐タンパ装置であるICカード102は、権利価値情報およびICカード識別番号を含んだ権利ファイルを、ICカードを備える他の携帯端末200に出力した場合、生成された権利ファイルを受け取った他の携帯端末200においては、権利価値情報の検証は外部リーダにより受けることにより実現される。そして、外部リーダは権利価値情報および識別子の照合を検証するといった簡単な処理を行うだけで、権利価値情報の正当性を確認することができるとともに、署名処理を行った場合と比較してその処理を迅速に行うことができる。
100…携帯端末、101…アプリケーション、102…カード、103…CPU、104…通信部、102a…インターフェース部、102b…CPU、102c…メモリ部、200…携帯端末。