(57)【要約】【課題】アクセス権の異なる複数のデータが含まれるファイルを記憶媒体装置から読み出すにあたり、アクセス権に応じてアクセス可能なデータのみを適切に読み出せるようにする。【解決手段】記憶媒体装置は、データ読出コマンドの受信に応じて、受信されたデータ読出コマンドが要求するファイルの単位データと、単位データに対応付けられた暗号状態情報とを記憶媒体から読み出し、データ読出装置に対して送信するようにする。データ読出装置は、データ読出コマンドを送信し、データ読出コマンドに対する応答として記憶媒体装置から送信された単位データと暗号状態情報とを受信するのに応じて、受信された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には単位データの復号を行い、アクセス権を有さない場合には単位データの復号を行わないようにする。【選択図】図１０
2015222484.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体を備える記憶媒体装置におけるデータ出力方法であって、
データ読出部が、データ読出装置から送信されたデータ読出コマンドの受信に応じて、暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する前記記憶媒体から、受信されたデータ読出コマンドが要求する単位データと、前記単位データに対応付けられた暗号状態情報とを読み出すステップと、
データ送信部が、前記データ読出部によって読み出された単位データと暗号状態情報とを前記データ読出装置に対して送信するステップと
を含むデータ出力方法。
【請求項２】
前記暗号状態情報が示す暗号状態は、暗号文の状態と、暗号化されていない平文の状態とのうちのいずれか１つである
請求項１に記載のデータ出力方法。
【請求項３】
前記暗号文の状態は、前記外部通信装置から受信されたときの原暗号文の状態と、前記原暗号文を暗号化したときと異なる暗号化処理により再び暗号化して得られる再暗号文の状態との少なくともいずれか一方である
請求項２に記載のデータ出力方法。
【請求項４】
前記単位データは、ファイルにおける単位データ格納領域に格納されるデータである
請求項１から３のいずれか一項に記載のデータ出力方法。
【請求項５】
前記暗号状態情報は、前記単位データが格納される単位データ格納領域における所定位置に格納される
請求項４に記載のデータ出力方法。
【請求項６】
前記暗号状態情報は、前記単位データを格納するファイルの管理のために前記記憶媒体に記憶される管理情報に含まれる
請求項１から４のいずれか一項に記載のデータ出力方法。
【請求項７】
暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体を備える記憶媒体装置からデータの読み出しを行うデータ読出装置におけるデータ読出方法であって、
データ読出コマンド送信部が、単位データの読み出しを要求するデータ読出コマンドを前記記憶媒体装置に送信するステップと、
復号部が、前記データ読出コマンドに対する応答として前記記憶媒体から読み出された単位データと前記単位データに対応付けられた暗号状態情報とを前記記憶媒体装置から受信するのに応じて、受信された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には前記単位データの復号を行い、前記単位データへのアクセス権を有さない場合には前記単位データの復号を行わないステップと
を含むデータ読出方法。
【請求項８】
記憶媒体を備える記憶媒体装置におけるデータ出力方法であって、
データ読出部が、データ読出装置から送信されたデータ読出コマンドの受信に応じて、暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体から、受信されたデータ読出コマンドが要求する単位データと、前記単位データに対応付けられた暗号状態情報とを読み出すステップと、
復号部が、前記データ読出部によって読み出された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には前記単位データを復号して出力し、前記単位データへのアクセス権を有さない場合には前記単位データを復号せずに出力するステップと、
データ送信部が、前記復号部から出力された単位データを前記データ読出装置に対して送信するステップと
を備えるデータ出力方法。
【請求項９】
前記暗号状態情報が示す暗号状態は、暗号文の状態と、暗号化されていない平文の状態とのうちのいずれか１つである
請求項８に記載のデータ出力方法。
【請求項１０】
前記暗号文の状態は、前記外部通信装置から受信されたときの原暗号文の状態と、前記原暗号文を暗号化したときと異なる暗号化処理により再び暗号化して得られる再暗号文の状態との少なくともいずれか一方である
請求項９に記載のデータ出力方法。
【請求項１１】
前記復号部は、
前記データ読出部によって読み出された暗号状態情報が示す暗号状態が暗号文の状態であって、前記暗号文の状態の単位データへのアクセス権を有する場合には、前記データ読出部によって読み出された単位データを第１復号アルゴリズムにより復号して出力し、
前記データ読出部によって読み出された暗号状態情報が示す暗号状態が平文の状態である場合には、前記データ読出部によって読み出された単位データを復号することなく出力し、
前記データ読出部によって読み出された暗号状態情報が示す暗号状態が再暗号文の状態であって、前記再暗号文の状態の単位データへのアクセス権を有する場合には、前記データ読出部によって読み出された単位データを前記第１復号アルゴリズムとは異なる第２復号アルゴリズムにより復号して出力する
請求項１０に記載のデータ出力方法。
【請求項１２】
前記単位データは、ファイルにおける単位データ格納領域に格納されるデータである
請求項８から１１のいずれか一項に記載のデータ出力方法。
【請求項１３】
前記暗号状態情報は、前記単位データが格納される単位データ格納領域における所定位置に格納される
請求項１２に記載のデータ出力方法。
【請求項１４】
前記暗号状態情報は、前記単位データを格納するファイルの管理のために前記記憶媒体に記憶される管理情報に含まれる
請求項８から１２のいずれか一項に記載のデータ出力方法。
【請求項１５】
暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体と、
データ読出装置と通信を行う通信部と、
前記データ読出装置から送信されたデータ読出コマンドが前記通信部にて受信されるのに応じて、受信されたデータ読出コマンドが要求する単位データと、前記単位データに対応付けられた暗号状態情報とを前記記憶媒体から読み出すデータ読出部と、
前記データ読出部によって読み出された単位データと暗号状態情報とを前記通信部から前記データ読出装置に対して送信させるデータ送信部と
を備える記憶媒体装置。
【請求項１６】
暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体を備える記憶媒体装置と通信を行う通信部と、
単位データの読み出しを要求するデータ読出コマンドを前記記憶媒体装置に送信するデータ読出コマンド送信部と、
前記データ読出コマンドに対する応答として前記記憶媒体から読み出された単位データと前記単位データに対応付けられた暗号状態情報とを前記記憶媒体装置から受信するのに応じて、受信された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には前記単位データの復号を行い、前記単位データへのアクセス権を有さない場合には前記単位データの復号を行わない復号部と
を備えるデータ読出装置。
【請求項１７】
暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体と、
データ読出装置と通信を行う通信部と、
前記データ読出装置が送信したデータ読出コマンドが前記通信部にて受信されるのに応じて、受信された前記データ読出コマンドが要求する単位データと、前記単位データに対応付けられた暗号状態情報とを前記記憶媒体から読み出すデータ読出部と、
前記データ読出部によって読み出された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には前記単位データを復号して出力し、前記単位データへのアクセス権を有さない場合には前記単位データを復号せずに出力する復号部と、
前記復号部から出力された単位データを前記データ読出装置に対して送信するデータ送信部と
を備える記憶媒体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ出力方法、データ読出方法、記憶媒体装置及びデータ読出装置に関する。
【背景技術】
【０００２】
ＩＣカードにはファイル単位でデータが記憶される。また、ＩＣカードに記憶されるデータには特定のユーザでなければ読み出されないようにすべきデータが含まれる場合がある。このような場合には、データにアクセス権を設定し、アクセス権を有するユーザによってのみＩＣカードからのデータの読み出しが可能なようにアクセス制限をかければよい。
【０００３】
ＩＣカードにおいて、アクセス権はファイル単位で設定される。従って、或るアクセス権が設定されたファイルについて、アクセス権を有するユーザであればファイル単位で読み出しを行うことができる。これに対して、同じアクセス権が設定されたファイルについて、アクセス権を有さないユーザは、ファイルそのものの読み出しを行うことができない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２５４２４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩＣカードに記憶されるデータ用途などに応じては、複数の異なる種別のデータを１つのファイルにまとめることが可能な場合がある。しかし、１つのファイルに含めることが可能なデータであっても、これらのデータ間で異なるアクセス権を設定したい場合がある。
【０００６】
上記したように、ＩＣカードにおけるデータのアクセス権はファイル単位で設定される。このために、上記のようにデータ間で異なるアクセス権が設定されている場合には、異なるアクセス権ごとに対応して複数のファイルを用意し、これらのファイルの各々に対して、対応のアクセス権が設定されたデータを格納することになる。
即ち、複数のデータについて、例えば用途的には１つのファイルに含めることが可能であっても、アクセス権が異なるような場合には、アクセス権ごとにファイルが生成される。そのうえで、生成されたファイルごとに対応のアクセス権のデータが格納される。
【０００７】
このように、１つのファイルにまとめておきたいようなデータが複数のファイルに分散されることによっては、同じ内訳のデータをＩＣカードに記憶させるのに必要なファイルの数が複数に増加してしまう。
ファイルが増加することによっては、ファイルの管理のためにＩＣカードに記憶されるファイルヘッダやファイルシステムなどのファイル管理情報もファイル数に応じて増加する。このようにファイル管理情報の数が増加することによっては、同じデータをＩＣカードに記憶させるにあたって必要な記憶容量も増加し、ＩＣカードの記憶領域の使用効率が低下することになってしまう。
【０００８】
本発明は、このような事情に鑑みてなされたもので、アクセス権の異なる複数のデータが含まれるファイルを記憶媒体装置から読み出すにあたり、アクセス権に応じてアクセス可能なデータのみを適切に読み出せるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決する本発明の一態様は、記憶媒体を備える記憶媒体装置におけるデータ出力方法であって、データ読出部が、データ読出装置から送信されたデータ読出コマンドの受信に応じて、暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する前記記憶媒体から、受信されたデータ読出コマンドが要求する単位データと、前記単位データに対応付けられた暗号状態情報とを読み出すステップと、データ送信部が、前記データ読出部によって読み出された単位データと暗号状態情報とを前記データ読出装置に対して送信するステップとを含むデータ出力方法である。
【００１０】
本発明は、上記のデータ出力方法であって、前記暗号状態情報が示す暗号状態は、暗号文の状態と、暗号化されていない平文の状態とのうちのいずれか１つであってもよい。
【００１１】
本発明は、上記のデータ出力方法であって、前記暗号文の状態は、前記外部通信装置から受信されたときの原暗号文の状態と、前記原暗号文を暗号化したときと異なる暗号化処理により再び暗号化して得られる再暗号文の状態との少なくともいずれか一方であってもよい。
【００１２】
本発明は、上記のデータ出力方法であって、前記単位データは、ファイルにおける単位データ格納領域に格納されるデータであってもよい。
【００１３】
本発明は、上記のデータ出力方法であって、前記暗号状態情報は、前記単位データが格納される単位データ格納領域における所定位置に格納されてもよい。
【００１４】
本発明は、上記のデータ出力方法であって、前記暗号状態情報は、前記単位データを格納するファイルの管理のために前記記憶媒体に記憶される管理情報に含まれてもよい。
【００１５】
本発明は、暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体を備える記憶媒体装置からデータの読み出しを行うデータ読出装置におけるデータ読出方法であって、データ読出コマンド送信部が、単位データの読み出しを要求するデータ読出コマンドを前記記憶媒体装置に送信するステップと、復号部が、前記データ読出コマンドに対する応答として前記記憶媒体から読み出された単位データと前記単位データに対応付けられた暗号状態情報とを前記記憶媒体装置から受信するのに応じて、受信された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には前記単位データの復号を行い、前記単位データへのアクセス権を有さない場合には前記単位データの復号を行わないステップとを含むデータ読出方法である。
【００１６】
本発明は、記憶媒体を備える記憶媒体装置におけるデータ出力方法であって、データ読出部が、データ読出装置から送信されたデータ読出コマンドの受信に応じて、暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体から、受信されたデータ読出コマンドが要求する単位データと、前記単位データに対応付けられた暗号状態情報とを読み出すステップと、復号部が、前記データ読出部によって読み出された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には前記単位データを復号して出力し、前記単位データへのアクセス権を有さない場合には前記単位データを復号せずに出力するステップと、データ送信部が、前記復号部から出力された単位データを前記データ読出装置に対して送信するステップとを備えるデータ出力方法である。
【００１７】
本発明は、上記のデータ出力方法であって、前記暗号状態情報が示す暗号状態は、暗号文の状態と、暗号化されていない平文の状態とのうちのいずれか１つであってもよい。
【００１８】
本発明は、上記のデータ出力方法であって、前記暗号文の状態は、前記外部通信装置から受信されたときの原暗号文の状態と、前記原暗号文を暗号化したときと異なる暗号化処理により再び暗号化して得られる再暗号文の状態との少なくともいずれか一方であってもよい。
【００１９】
本発明は、上記のデータ出力方法であって、前記復号部は、前記データ読出部によって読み出された暗号状態情報が示す暗号状態が暗号文の状態であって、前記暗号文の状態の単位データへのアクセス権を有する場合には、前記データ読出部によって読み出された単位データを第１復号アルゴリズムにより復号して出力し、前記データ読出部によって読み出された暗号状態情報が示す暗号状態が平文の状態である場合には、前記データ読出部によって読み出された単位データを復号することなく出力し、前記データ読出部によって読み出された暗号状態情報が示す暗号状態が再暗号文の状態であって、前記再暗号文の状態の単位データへのアクセス権を有する場合には、前記データ読出部によって読み出された単位データを前記第１復号アルゴリズムとは異なる第２復号アルゴリズムにより復号して出力してもよい。
【００２０】
本発明は、上記のデータ出力方法であって、前記単位データは、ファイルにおける単位データ格納領域に格納されるデータであってもよい。
【００２１】
本発明は、上記のデータ出力方法であって、前記暗号状態情報は、前記単位データが格納される単位データ格納領域における所定位置に格納されてもよい。
【００２２】
本発明は、上記のデータ出力方法であって、前記暗号状態情報は、前記単位データを格納するファイルの管理のために前記記憶媒体に記憶される管理情報に含まれてもよい。
【００２３】
本発明は、暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体と、データ読出装置と通信を行う通信部と、前記データ読出装置から送信されたデータ読出コマンドが前記通信部にて受信されるのに応じて、受信されたデータ読出コマンドが要求する単位データと、前記単位データに対応付けられた暗号状態情報とを前記記憶媒体から読み出すデータ読出部と、前記データ読出部によって読み出された単位データと暗号状態情報とを前記通信部から前記データ読出装置に対して送信させるデータ送信部とを備える記憶媒体装置である。
【００２４】
本発明は、暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体を備える記憶媒体装置と通信を行う通信部と、単位データの読み出しを要求するデータ読出コマンドを前記記憶媒体装置に送信するデータ読出コマンド送信部と、前記データ読出コマンドに対する応答として前記記憶媒体から読み出された単位データと前記単位データに対応付けられた暗号状態情報とを前記記憶媒体装置から受信するのに応じて、受信された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には前記単位データの復号を行い、前記単位データへのアクセス権を有さない場合には前記単位データの復号を行わない復号部とを備えるデータ読出装置である。
【００２５】
本発明は、暗号状態を示す暗号状態情報が対応付けられた単位データを記憶する記憶媒体と、データ読出装置と通信を行う通信部と、前記データ読出装置が送信したデータ読出コマンドが前記通信部にて受信されるのに応じて、受信された前記データ読出コマンドが要求する単位データと、前記単位データに対応付けられた暗号状態情報とを前記記憶媒体から読み出すデータ読出部と、前記データ読出部によって読み出された暗号状態情報が示す暗号状態の単位データへのアクセス権を有する場合には前記単位データを復号して出力し、前記単位データへのアクセス権を有さない場合には前記単位データを復号せずに出力する復号部と、前記復号部から出力された単位データを前記データ読出装置に対して送信するデータ送信部とを備える記憶媒体装置である。
【発明の効果】
【００２６】
以上説明したように、本発明によれば、アクセス権の異なる複数のデータが含まれるファイルを記憶媒体装置から読み出すにあたり、アクセス権に応じてアクセス可能なデータのみを適切に読み出すことが可能になるという効果が得られる。
【図面の簡単な説明】
【００２７】
【図１】第１実施形態におけるＩＣカードが備える記憶媒体の記憶領域についてのメモリマッピング例を示す図である。
【図２】記憶媒体に記憶されるファイルに格納されるレコードデータの内容例を示す図である。
【図３】図２のレコードデータをファイルに格納する場合の一態様例を示す図である。
【図４】第１実施形態におけるファイルのデータマッピング例を示す図である。
【図５】第１実施形態におけるファイル生成コマンドの構造例を示す図である。
【図６】ファイル生成コマンドのデータ部に含まれる暗号状態情報の内容例を示す図である。
【図７】第１実施形態におけるファイルへの初期値の書き込み手順例を説明する図である。
【図８】第１実施形態のファイルにおいて、拡張された暗号状態が適用された場合のレコードへのデータ書き込みの態様例を示す図である。
【図９】第１実施形態におけるリーダライタとＩＣカードの構成例を示す図である。
【図１０】第１実施形態におけるリーダライタとＩＣカードとがデータの読み出しに対応して実行する処理手順例を示すフローチャートである。
【図１１】第２実施形態におけるリーダライタとＩＣカードの構成例を示す図である。
【図１２】第２実施形態におけるリーダライタとＩＣカードとが認証に対応して実行する処理手順例を示すフローチャートである。
【図１３】第２実施形態におけるリーダライタとＩＣカードとがレコードデータの読み出しに対応して実行する処理手順例を示すフローチャートである。
【図１４】ＴＬＶ構造によるファイルを説明する図である。
【図１５】第３実施形態のＴＬＶ構造によるファイルにおけるレコードへのデータ書き込みの態様例を示す図である。
【発明を実施するための形態】
【００２８】
＜第１実施形態＞
［ＩＣカードの記憶媒体におけるデータ構造］
以下、本発明の実施形態としてのＩＣカード（記憶媒体装置の一例）とリーダライタ（データ読出装置の一例）とについて図面を参照して説明する。
本実施形態のＩＣカードは、内部に記憶媒体を備え、リーダライタなどの外部通信装置と通信が可能に構成される。リーダライタとの通信が可能とされることで、リーダライタからデータ読み出しの指示が行われた場合、ＩＣカードは、記憶媒体からデータを読み出し、読み出したデータをリーダライタに出力する。
【００２９】
本実施形態において、ＩＣカードの記憶媒体にはファイル単位で管理されるようにしてデータの書き込み、読み出しが行われる。
ＩＣカードの記憶媒体に書き込まれるファイルは、ＤＦ（Dedicated File：専用ファイル）あるいはＥＦ（Elementary File：基礎ファイル）である。
ＤＦは、下位のＥＦやＤＦをグループ化するためのファイルである。
ＥＦは、データを格納するファイルである。ＥＦは、ＩＥＦ（Internal Elementary File：内部基礎ファイル）とＷＥＦ（Work Elementary File：作業基礎ファイル）との２つの種別に分けられる。
ＩＥＦは、セキュリティのためのキーデータが格納されるファイルである。ＩＥＦは、セキュリティ上、ＩＣカードから外部への出力が不可のファイルであり、ＩＣカードの内部においてのみ使用される。
ＷＥＦは、ＩＣカードから外部への出力が可能なファイルである。ＷＥＦは、例えば、ユーザに付与されたポイントに関する情報などの一般的なデータを格納する。
【００３０】
図１から図３を参照して、ＩＣカードの記憶媒体のユーザデータ領域ＡＲ３に格納される基本的データ構造と、本実施形態に至った経緯について説明する。
図１は、本実施形態のＩＣカードが備える記憶媒体２０３の記憶領域についてのマッピング例を示している。同図に示すように、記憶媒体２０３の記憶領域は、ファイル管理領域ＡＲ１、システム領域ＡＲ２及びユーザデータ領域ＡＲ３を備える。
【００３１】
ファイル管理領域ＡＲ１は、システム領域ＡＲ２、ユーザデータ領域ＡＲ３に記憶されるデータをファイル単位で管理するファイル管理情報が記憶される領域である。一例として本実施形態におけるファイル管理領域ＡＲ１には、ＦＡＴ（File Allocation Table）ファイルシステムに対応したファイル管理情報が格納されればよい。
【００３２】
システム領域ＡＲ２は、ＯＳ（Operating System）や各種設定情報などをはじめとするシステム情報が記憶される領域である。
ユーザデータ領域ＡＲ３は、アプリケーションが使用するユーザデータが記憶される領域である。ファイルのデータは、ユーザデータ領域ＡＲ３に記憶される。
なお、記憶媒体２０３の記憶領域においては、ファイル管理領域ＡＲ１、システム領域ＡＲ２及びユーザデータ領域ＡＲ３以外の領域が含まれていてもよい。
【００３３】
図２は、ＥＦであるファイルＦＬの構造例を示している。同図に示すように、ファイルＦＬは、ファイルヘッダとデータ領域とを含む構造である。
ファイルヘッダには、ファイルに関連する所定のパラメータが格納される。
データ領域には、ファイルとしてのデータが格納される。本実施形態において、データ領域に格納されるファイルは、固定長によるレコード（単位データ格納領域の一例）が配置されるレコード構造を有する。このようなレコード構造においては、レコードごとにデータ（単位データの一例）が格納される。レコードに格納されるデータ（レコードデータ）は、以下に例示するように、それぞれ所定の定義に従った内容を有する。
【００３４】
ここで、同図に示すファイルＦＬを記憶するＩＣカードはクレジットカードであって、クレジットカードとしてＩＣカードが記憶すべき情報には氏名、住所、カード番号が含まれる場合を例に挙げる。
同図には、レコード＃１に氏名のデータが格納され、レコード＃２に住所のデータが格納され、レコード＃３にカード番号が格納された例が示されている。
このように、１つのファイルは１以上のレコードにより形成され、各レコードには、所定の定義に従った種別のデータが格納される。即ち、データをレコード単位で書き込むことにより、１つのファイルに複数の異なる種別のデータをまとめて格納することができる。
【００３５】
ただし、上記のようにファイルに書き込まれる種別ごとのデータの間で、例えばセキュリティのために、アクセス権が異なるような場合がある。ここでは、具体例として、同図に例示したようにアクセス権が異なる態様を例に挙げる。
即ち、同図のレコード＃１〜＃３に格納される氏名、住所、カード番号の各データのうち、氏名のデータとカード番号のデータは、例えばＩＣカードのカード面にも印字されていることから、機密性を要さないデータである。そこで、氏名のデータとカード番号のデータについては、特にアクセス権が設定されない（アクセス権無し）。
一方、レコード＃２に格納される住所は、個人情報の１つであって、クレジットカードであるＩＣカード２００のカード面には印字されていない。従って、住所のデータは個人情報として機密性を要するデータである。そこで、住所のデータについては、所定のアクセス権を有するユーザのみがアクセス可能なアクセス権が設定される（アクセス権有り）。
【００３６】
ＩＣカードの記憶媒体２０３に記憶されるデータについてのアクセス権はファイル単位で指定されることが定められている。このために、上記のように、氏名、カード番号、住所の各データについて、アクセス権無しとアクセス権有りとで異なるアクセス権が設定された場合には、図３のようにファイルへのデータの書き込みを行う。
【００３７】
図３においては、ファイルＦＬ１とファイルＦＬ２の２つのファイルが示されている。ファイルＦＬ１とファイルＦＬ２のうち、ファイルＦＬ１は、アクセス権は特に設定されておらず、いかなるユーザであってもアクセスすることができる。
このようにアクセス権が設定されていないファイルＦＬ１においては、氏名、住所、カード番号のデータのうち、アクセス権が設定されていない氏名とカード番号のデータがそれぞれレコード＃１とレコード＃２とに書き込まれている。
【００３８】
また、ファイルＦＬ２は、所定のアクセス権を有するユーザのみがアクセス可能なアクセス権が設定されており、アクセス権を有するユーザによる認証が成立しなければアクセスすることができないファイルである。そのうえで、ファイルＦＬ２については、住所のデータへのアクセスが許可されたユーザに対応するアクセス権が設定されたうえで、氏名、住所、カード番号のデータのうち、住所のデータがレコード＃１に書き込まれている。
【００３９】
このように作成されたファイルＦＬ１とファイルＦＬ２とを記憶媒体２０３に記憶させておくことによって、住所のデータにアクセスできるユーザを制限できる。つまり、氏名とカード番号のデータについては全てのユーザが読み出し可能である。一方、住所のデータについてはアクセス権を有するユーザは読み出せるが、アクセス権を有さないユーザによっては読み出せないようにできる。
【００４０】
図２にて例示したように、クレジットカードであるＩＣカードにおいて、氏名、住所、カード番号のデータは、例えばアクセス権の設定に相違が無ければ、１つのファイルにまとめて格納されてもよいファイルである。
しかし、図３にてファイルＦＬ１、ＦＬ２として示したように、例えば氏名、カード番号のデータと、住所のデータとでアクセス権の設定が異なる場合には、アクセス権有りのデータとアクセス権無しのデータとのそれぞれに応じて複数のファイルが必要になる。
【００４１】
図３のようにファイルが複数になるのに応じては、ファイルごとに対応して作成されるファイルヘッダやファイルシステムのディレクトリ情報（ディレクトリエントリ）などのファイルについての管理情報も複数に増加する。このために、同じ内訳のデータを格納するために必要な容量としては、図２のように１つのファイルにデータをまとめる場合よりも大きくなってしまい、例えば記憶媒体２０３の記憶容量の効率的な使用の妨げとなってしまう。
【００４２】
［本実施形態のファイルにおけるデータ構造］
そこで、本実施形態としては、ＩＣカードの記憶媒体２０３において、図４に示す構造によりファイルのデータが書き込まれるようにする。同図の説明にあたり、図２にて説明したのと同様に、氏名、住所、カード番号の各データのうち、氏名、カード番号のデータについてはアクセス権無しが設定され、住所のデータについてはアクセス権有りが設定されている場合を例に挙げる。
【００４３】
図４に示すファイルＦＬのデータ領域における各レコードは、先頭の１バイトに暗号状態情報が書き込まれ、続く２バイト目以降にデータ（レコードデータ）が書き込まれる構造を有する。
暗号状態情報は、同じレコード＃１に格納されるレコードデータの暗号状態を示す。ここでの暗号状態は、暗号化が施されていない平文の状態と、暗号化が施されて発行装置から送信されたままの暗号文（原暗号文）の状態のうちのいずれかである。
この場合の暗号状態情報は、００ｈの値により平文の状態であることを示し、０１ｈの値により暗号文の状態であることを示している。
【００４４】
具体的に、レコード＃１に格納されるべき氏名のデータはアクセス権無しが設定されたレコードデータである。このようなアクセス権の設定に応じて、レコード＃１においては、先頭の１バイトに００ｈの値の暗号状態情報が格納され、続く２バイト目以降において、平文による氏名のデータが格納される。
また、レコード＃２に格納されるべき住所のデータはアクセス権有りが設定されたレコードデータである。このようなアクセス権の設定に応じて、レコード＃２においては、先頭の１バイトに０１ｈの値の暗号状態情報が格納され、続く２バイト目以降において、原暗号文による住所のデータが格納される。
また、レコード＃３に格納されるべき氏名のデータはアクセス権無しが設定されたレコードデータである。このようなアクセス権の設定に応じて、レコード＃３においては、先頭の１バイトに００ｈの値の暗号状態情報が格納され、続く２バイト目以降において、平文による氏名のデータが格納される。
なお、同図においては、暗号状態情報が１バイト（８ビット）である場合を例に挙げているが、暗号状態情報のサイズとしては特に限定されない。
【００４５】
図４に示した構造により書き込まれるファイルのデータ（暗号状態情報、レコードデータ）は、例えばＩＣカードの発行を行う発行装置によって以下のように書き込みが行われる。発行装置は、ＩＣカード２００に対してファイルへのデータの書き込みを行うに先だってファイル生成を行う。つまり、発行装置は、ＩＣカード２００の記憶媒体２０３におけるユーザデータ領域ＡＲ３にファイル格納領域が作成されるようにするための制御を実行する。
【００４６】
発行装置は、１つのファイルに対応するファイル格納領域の作成をＩＣカード２００に指示するためにＩＣカード２００に対してファイル生成コマンドを送信する。図５は、ファイル生成コマンドの構造例を示している。
同図に示すファイル生成コマンドは、コマンドヘッダＣＨ、第１パラメータＰ１、第２パラメータＰ２、データ長Ｌｃ、データ部Ｄａｔａが配置された構造を有する。
コマンドヘッダＣＨは、当該コマンドの種別を示す。ファイル生成コマンドの場合、コマンドヘッダＣＨには、ファイル生成コマンドであることを示す所定値が格納される。
第１パラメータＰ１、第２パラメータＰ２による領域は、コマンドヘッダＣＨが示すコマンドの種別に応じた所定のパラメータを格納する。
データ長Ｌｃは、データ部Ｄａｔａのデータ長（サイズ）を示す。
ファイル生成コマンドにおけるデータ部Ｄａｔａは、ファイル種別情報、サイズ情報、ファイル識別子、初期値情報及び暗号状態情報を含む。
【００４７】
ファイル種別情報は、作成対象のファイル格納領域が対応するファイルの種別が、例えばＤＦ、ＩＥＦ、ＷＥＦのうちのいずれであるのかを示す情報である。即ち、ファイル種別情報がＤＦを示す場合、当該ファイル生成コマンドは、ＤＦのファイル格納領域の作成を指示する。また、ファイル種別情報がＩＥＦを示す場合、当該ファイル生成コマンドは、ＩＥＦのファイル格納領域の作成を指示する。また、ファイル種別情報がＷＥＦを示す場合、当該ファイル生成コマンドは、ＷＥＦのファイル格納領域の作成を指示する。
サイズ情報は、作成対象のファイル格納領域のサイズを示す情報である。
ファイル識別子は、作成対象のファイル格納領域に格納されるべきＥＦのファイル識別子を示す。
初期値情報は、ファイル格納領域の作成にあたって書き込むべき初期値を示す情報である。
【００４８】
暗号状態情報は、作成対象のファイル格納領域に格納されるファイルに含まれるレコードごとに対応付けられた情報である。１つの暗号状態情報は、対応付けされたレコードに格納されるレコードデータの暗号状態を示す。
【００４９】
図６は、ファイル生成コマンドのデータ部Ｄａｔａに含まれる暗号状態情報の内容例を示している。同図に示す暗号状態情報は、図４に示したファイルＦＬの内容に対応している。
同図に示すように、ファイル生成コマンドのデータ部Ｄａｔａに含まれる暗号状態情報は、レコード番号ごとに対応付けられている。
レコード＃１に対応付けられた暗号状態情報は、平文状態を示す００ｈである。レコード＃２に対応付けられた暗号状態情報は、原暗号文を示す０１ｈである。レコード＃３に対応付けられた暗号状態情報は、平文状態を示す００ｈである。
【００５０】
このように、ファイル生成コマンドのデータ部Ｄａｔａに含まれる暗号状態情報は、対応のレコードに格納すべきデータの暗号状態を指示する。
つまり、ファイル生成コマンドのデータ部Ｄａｔａに含まれる００ｈの暗号状態情報は、発行装置が暗号化して送信したときのままの原暗号文の状態のレコードデータを対応のレコードに格納すべきことを指示する。
また、ファイル生成コマンドのデータ部Ｄａｔａに含まれる０１ｈの暗号状態情報は、平文の状態のデータを対応のレコードに格納すべきことを指示する。
【００５１】
発行装置から送信されたファイル生成コマンドは、ＩＣカードにて受信される。ファイル生成コマンドが受信されると、本実施形態のＩＣカードは、データ部Ｄａｔａから取得したサイズ情報が示すサイズによる領域をユーザデータ領域ＡＲ３から確保する。そして、ＩＣカードは、確保した領域がデータ部Ｄａｔａから取得したファイル種別情報により示されるファイルの領域として管理されるようにファイル管理情報（例えばＦＡＴなど）を更新する。なお、ファイル管理情報としてのデータは、ファイルのデータとは異なるものであり、従ってレコードに格納される構造を有さなくともよい。
【００５２】
また、ＩＣカードは、上記のように新規に登録されたファイルの領域におけるファイルヘッダと、データ領域に初期値を書き込む処理を実行する。ファイルヘッダと、データ領域に書き込むべき初期値は、ファイル生成コマンドのデータ部Ｄａｔａに格納される初期値情報によって指定されている。また、データ領域は固定長のレコード単位が連結して形成されている。このために、データ領域に対応する初期値情報はレコードごとに設けられる。
【００５３】
以下、図７を参照して、本実施形態のＩＣカードによるファイルＦＬへの初期値の書き込み手順例について説明する。
先ず、ＩＣカードは、ファイルヘッダの初期値を指定する初期値情報が示す初期値を、ファイルＦＬにおけるファイルヘッダに書き込む。
次に、ＩＣカードは、ファイルＦＬのデータ領域におけるレコード＃１に対して、初期値を書き込む。レコード＃１への初期値の書き込みにあたり、先ず、レコード＃１の領域の先頭の１バイトに、レコード＃１に対応する暗号状態情報の値である００ｈを書き込む。次に、ＩＣカードは、レコード＃１の２バイト目以降に、レコード＃１の初期値情報が示す初期値を書き込む。
また、ＩＣカードは、データ領域におけるレコード＃２の領域において、先頭の１バイトに、レコード＃２に対応する暗号状態情報の値である０１ｈを書き込み、２バイト目以降に、レコード＃２の初期値情報が示す初期値を書き込む。
また、ＩＣカードは、データ領域におけるレコード＃３の領域において、先頭の１バイトにレコード＃３に対応する暗号状態情報の値である００ｈを書き込み、２バイト目以降に、レコード＃３の初期値情報が示す初期値を書き込む。
以降同様にして、ＩＣカードは、レコード＃３以降の各領域において、先頭の１バイトには、当該レコードに対応付けられた暗号状態情報の値を書き込み、２バイト目以降に対応のレコード番号の初期値情報が示す初期値を書き込む。
【００５４】
このようにファイル生成が行われることで、記憶媒体２０３のユーザデータ領域ＡＲ３上に確保されたファイルＦＬの領域において、データ領域における各レコードには暗号状態情報とレコードデータの初期値とが書き込まれる。このように初期値の書き込み時においてレコードに暗号状態情報が書き込まれることにより、レコードと暗号状態情報との対応付けが行われる。
【００５５】
そして、上記のようにファイル生成が行われた後において、発行装置は、ＩＣカードにおいて作成されたファイル格納領域におけるファイルヘッダと、データ領域における各レコードに、アプリケーションに応じたデータの書き込みを行う。
【００５６】
ＩＣカードにファイルのデータの書き込みを行う際、発行装置は、書込データとしてのレコードデータを格納したデータ書き込みコマンドをＩＣカードに対して送信する。
本実施形態の発行装置は、レコード単位に対応するデータ書き込みコマンドをＩＣカードに送信する。なお、ファイルヘッダは、１つのレコードとして扱われればよい。
データ書き込みコマンドには書込データとしてレコードに格納すべきデータが格納される。本実施形態の発行装置は、データ書き込みコマンドに格納する書込データについては、全て所定の鍵により暗号化されており、暗号文の状態である。
このように発行装置からＩＣカードに送信する書込データについて全て暗号化することによっては、例えばデータ書き込みに際してのデータの傍受に対するセキュリティを高めることができる。
【００５７】
ここで、レコード＃１、＃２、＃３のそれぞれに、図４と同様の平文による氏名のデータ、原暗号文による住所のデータ、平文によるカード番号のデータを書き込む場合の手順例について、再度、図４を参照して説明する。
【００５８】
発行装置は、先ず、ファイルヘッダ、レコード＃１、レコード＃２、レコード＃３・・・・の順に従って、データ書込コマンドを送信する。
ＩＣカードは、ファイルヘッダのデータ書込コマンドが受信されると、受信したデータ書込コマンドからファイルヘッダのデータを取得する。ＩＣカードは、ファイルヘッダのデータについては例えば平文によりファイルヘッダに書き込むようにされている。従って、この場合のＩＣカードは、データ書込コマンドから取得した暗号文の状態のファイルヘッダを復号して平文化し、平文によるデータをファイルヘッダの領域に書き込めばよい。
【００５９】
一方、ファイルのデータ領域については、レコードごとに平文の状態と暗号文の状態のいずれのデータを格納すべきなのかは、ファイルに応じて異なる。
そこで、ＩＣカードは、レコードに対しては以下のようにレコードデータの書き込みを行う。
【００６０】
先ず、レコード＃１に対応するデータ書込コマンドを受信するのに応じて、ＩＣカードは、レコード＃１の先頭の１バイトに書き込まれている暗号状態情報の値が何であるのかを認識する。この場合、レコード＃１の先頭の１バイトに書き込まれている暗号状態情報の値は００ｈであり、平文の状態であることを示す。
そこで、この場合のＩＣカードは、レコード＃１に対応するデータ書込コマンドから取得した氏名のデータについて復号を行って平文とする。そして、ＩＣカードは、平文による氏名のデータを、レコード＃１における２バイト目を開始位置として書き込みを行う。
このように書き込みが行われることで、図４に示されるように、レコード＃１は、先頭の１バイトにおける００ｈの暗号状態情報に続けて、平文による氏名のデータが格納された状態となる。
【００６１】
次に、ＩＣカードは、レコード＃２に対応するデータ書込コマンドを受信するのに応じて、レコード＃２の先頭の１バイトに書き込まれている暗号状態情報の値が０１ｈであり、原暗号文の状態を示していることを認識する。
そこで、この場合のＩＣカードは、レコード＃２に対応するデータ書込コマンドから取得した住所のデータについては、復号を行わない。そして、ＩＣカードは、発行装置から送信されたときと同じ原暗号文のままの住所のデータを、レコード＃２における２バイト目を開始位置として書き込みを行う。
このように書き込みが行われることで、図４に例示するように、レコード＃２は、先頭の１バイトにおける０１ｈの暗号状態情報に続けて、原暗号文による住所のデータが格納された状態となる。
【００６２】
次に、レコード＃３に対応するデータ書込コマンドを受信するのに応じて、ＩＣカードは、レコード＃３の先頭の１バイトに書き込まれている暗号状態情報の値が００ｈであり、平文の状態を示していることを認識する。
そこで、この場合のＩＣカードは、レコード＃３に対応するデータ書込コマンドから取得したカード番号のデータについて復号を行って平文を得る。そして、ＩＣカードは、平文によるカード番号のデータを、レコード＃３における２バイト目を開始位置として書き込みを行う。
このように書き込みが行われることで、図７に例示するように、レコード＃３は、先頭の１バイトにおける００ｈの暗号状態情報に続けて、平文によるカード番号のデータが格納された状態となる。
【００６３】
以降、ＩＣカードは、同様にして、レコードに対応するデータ書込コマンドを受信するのに応じて、受信されたデータ書込コマンドが対応するレコードの先頭に書き込まれた暗号状態情報が示す暗号状態を認識する。そして、ＩＣカードは、認識した暗号状態が平文の状態であれば、原暗号文の状態で受信された書込データの復号を行って平文とし、対応のレコードにおける暗号状態情報に続けて平文の書込データを書き込む。
これに対して、ＩＣカードは、認識した暗号状態が原暗号文の状態であれば、原暗号文の状態で受信された書込データについて復号を行うことなく、対応のレコードにおける暗号状態情報に続けて書き込みを行う。
このようにして、ファイルＦＬにおけるレコードの各々には、暗号状態情報と、暗号状態情報が示す暗号状態によるデータが格納される。
【００６４】
上記のように記憶媒体２０３にファイルのデータが書き込まれた本実施形態のＩＣカードによるデータ出力の動作について、図４に示したファイルの場合を例に挙げて説明する。
この場合、リーダライタは、図４に示したファイルＦＬのレコードに格納されるレコードデータの読み出しを要求するデータ読出コマンドを、例えばレコードの番号の昇順に従って送信する。
上記のようにリーダライタから順次送信されるデータ読出コマンドの受信に応じて、ＩＣカードは、ファイルＦＬのデータ領域におけるレコード＃１から、順次、各レコードに格納されるレコードデータを読み出し、読み出したレコードデータをリーダライタに送信する。
ここで、本実施形態におけるＩＣカードは、上記のように読み出したレコードデータを、レコードに格納されていたときと同じ暗号状態のままでリーダライタに送信する。
【００６５】
従って、図４のファイルＦＬの場合であれば、ＩＣカードは、レコード＃１に格納された平文の状態の氏名のデータを読み出し、平文のままの状態でリーダライタに送信する。
次に、ＩＣカードは、レコード＃２に格納された原暗号文の状態の住所のデータを読み出し、原暗号文のままの状態でリーダライタに送信する。
次に、ＩＣカードは、レコード＃３に格納された平文の状態のカード番号のデータを読み出し、平文のままの状態でリーダライタに送信する。
以降、ＩＣカードは、残るレコードについても同様に、レコードから読み出したデータを、レコードに格納されていたのと同じ暗号状態のままでリーダライタに送信する。
【００６６】
上記のようにレコードデータが送信されることで、リーダライタは、レコードの番号順に従って、平文による氏名とカード番号の各データと原暗号文による住所のデータとを受信する。ここで、住所のデータへのアクセス権を有していないユーザのリーダライタの場合には、以下のように受信されたレコードデータの取得が行われる。
先ず、氏名、住所、カード番号の各データのうち、氏名とカード番号のデータについては受信された段階で平文の状態である。従って、この場合のリーダライタは、氏名とカード番号の各データについては特に復号を行うことなく正常に取得できる。
【００６７】
一方、受信された住所のデータは原暗号文の状態である。しかし、住所のデータへのアクセス権を有さないユーザのリーダライタは、受信された原暗号文の状態の住所のデータを復号できる正当な鍵を有していない。従って、この場合のリーダライタは、住所のデータを復号することができない。この場合、住所のデータは原暗号文のままであって有意性を持たないために、正常に取得できたことにはならない。
このように、住所のデータへのアクセス権を有さないユーザのリーダライタは、ファイルＦＬの読み出し結果として、アクセス権無しのレコードデータを正常に取得することはできるが、アクセス権有りのレコードデータを正常に取得することはできない。
【００６８】
一方、住所のデータへのアクセス権を有するユーザのリーダライタの場合、先ず、氏名とカード番号のデータについては、住所のデータへのアクセス権を有するユーザのリーダライタと同様に特に復号を行うこと無く正常に取得できる。
そのうえで、住所のデータへのアクセス権を有するユーザのリーダライタは、原暗号文による住所のデータを復号できる鍵を有している。具体的には、リーダライタは、００ｈの値による暗号状態情報が示す原暗号文のデータを復号できる鍵を有している。リーダライタは、受信された暗号状態情報が０１ｈを示していることにより、受信されたデータにについて自己が有する鍵で復号可能であることを認識できる。そこで、リーダライタは、自己が有する鍵を利用して住所のデータを復号して平文とすることができる。即ち、この場合のリーダライタは、氏名とカード番号のデータとともに、住所のデータについても正常に取得できる。
【００６９】
このように、本実施形態においては、同じ１つのファイルを対象としてデータの読み出しを行うリーダライタでありながら、各リーダライタが有するアクセス権に応じてアクセス可能なデータのみが適切に取得されるようになっている。
【００７０】
これまでの説明から理解されるように、本実施形態におけるＩＣカードの記憶媒体２０３は、１つのファイルに対してアクセス権の異なる種別のレコードデータがまとめて格納されるデータ構造を有する。そのうえで、レコードデータごとに、アクセス権に対応する暗号状態を示す暗号状態情報が対応付けられ、リーダライタは、データとともに受信された暗号状態情報に基づいて、自己がアクセス権を有するデータについては復号を行って正常に取得できる。
【００７１】
このような構成により、本実施形態においては、例えば図３に示したようにアクセス権の異なるデータをそれぞれ異なるファイルに格納する必要が無く、アクセス権の異なるデータを１つのファイルにまとめて格納することが可能になる。
これにより、本実施形態では、アクセス権の異なる複数のデータを格納するファイルは１つでよいことになり、これに伴って、ファイルヘッダやファイルシステムにおけるディレクトリ情報などのファイルについての管理情報も１つでよいことになる。この結果、本実施形態は、図３の場合と比較してユーザデータ領域ＡＲ３の使用サイズを小さくすることが可能になり、記憶媒体２０３の記憶領域の使用効率が向上する。
【００７２】
次に、図８を参照して、本実施形態における暗号状態情報の拡張例について説明する。先ず、同図に示すファイルＦＬにおけるレコード＃１、レコード＃２、レコード＃３に格納されるデータの内容は、それぞれ、図４と同様である。
つまり、レコード＃１においては、先頭の１バイトに平文の状態を示す００ｈの値による暗号状態情報が格納され、２バイト目以降に平文による氏名のデータが格納される。
また、レコード＃２においては、先頭の１バイトに原暗号文の状態を示す０１ｈの値による暗号状態情報が格納され、２バイト目以降に原暗号文による住所のデータが格納される。
また、レコード＃３においては、先頭の１バイトに平文の状態を示す００ｈの値による暗号状態情報が格納され、２バイト目以降に平文によるカード番号のデータが格納される。
【００７３】
そのうえで、さらにレコード＃４において、先頭の１バイトに０２ｈの値による暗号状態情報が格納され、２バイト目以降において再暗号文による電話番号のデータが格納される。
暗号状態情報としての０２ｈは、暗号状態として再暗号文の状態であることを示す。また、再暗号文とは、発行装置から受信された原暗号文としての書込データを、原暗号文を暗号化したときと異なる暗号化処理により再び暗号化して得られる暗号文である。本実施形態において、原暗号文を暗号化したときと異なる暗号化処理は、例えば、原暗号文を暗号化したときと異なる鍵により暗号化することである。
また、０２ｈの値の暗号状態情報は、００ｈ、０１ｈの値の暗号状態情報と同様に、ファイル生成の際に、ファイル生成コマンドに含まれる暗号状態情報に基づいてレコード＃４の先頭に書き込まれたものである。
【００７４】
本実施形態のＩＣカードは、ファイルヘッダとレコード＃１〜＃３までについては、図７と同様にデータ書き込みを実行する。
そして、ＩＣカードは、同図に示すレコード＃４についてのデータ書込コマンドを受信した場合には、以下のようにデータ書き込みを行う。
ＩＣカードは、レコード＃４の先頭の１バイトに書き込まれた０２ｈの暗号状態情報を参照することによって、レコード＃４に対して再暗号文を書き込むべきことを認識する。
そこで、ＩＣカードは、受信されたデータ書込コマンドから取得した原暗号文による電話番号の書込データについて、一旦復号を行って平文とする。そのうえで、ＩＣカードは、平文とした書込データについて、原暗号文を暗号化したときとは異なる鍵を使用して、再び暗号化して暗号文とする。このように得られた暗号文が再暗号文である。
ＩＣカードは、上記のようにして再暗号文として生成した電話番号の書込データをレコード＃４の２バイト目以降を開始位置として書き込みを行う。
【００７５】
このようにして、暗号状態情報を拡張することによって、ファイルのレコードには、原暗号文によるレコードデータと、平文によるレコードデータとに加え、再暗号文によるレコードデータも格納することができる。
図８のように、暗号文として原暗号文と再暗号文とが併用される場合、原暗号文と再暗号文とについて、それぞれ異なるアクセス権を対応させることが可能である。
なお、図８の変形例として、ファイルのレコードに格納されるレコードデータの暗号状態については、原暗号文は使用せずに、平文と再暗号文による２つを使用するように構成してもよい。
【００７６】
［データ読出システムの構成例］
続いて、図９を参照して、第１実施形態におけるデータ読出システムの構成例について説明する。同図に示すように、本実施形態のデータ読出システムは、リーダライタ１００（データ読出装置の一例）とＩＣカード２００とを通信経由で接続して構成される。
【００７７】
リーダライタ１００は、ＩＣカード２００からデータの読み出しを行う。リーダライタ１００は、ファイル単位でのデータの読み出しを行う。リーダライタ１００はファイル単位によるデータの読み出しに際して、さらに、ファイルに格納されるレコード単位で、順次、レコードデータの読み出しを行う。
【００７８】
同図に示すリーダライタ１００は、通信部１０１と制御部１０２とを備える。
通信部１０１は、ＩＣカード２００と通信を実行する。通信部１０１によるＩＣカード２００との通信は接触式であってもよいし非接触式であってもよい。
【００７９】
制御部１０２は、リーダライタ１００における各種制御を実行する。制御部１０２としての機能は、例えばリーダライタ１００が備えるＣＰＵ（Central Processing Unit）がプログラムを実行することにより実現される。
本実施形態における制御部１０２は、ＩＣカード２００からのデータの読み出しに対応する機能部として、データ読出コマンド送信部１２１と、復号部１２２とを備える。
【００８０】
データ読出コマンド送信部１２１は、レコードデータの読み出しを要求するデータ読出コマンドをＩＣカード２００に送信する。
【００８１】
上記のように送信されたデータ読出コマンドを受信すると、ＩＣカード２００はデータ読出コマンドが指定するレコードに格納される暗号状態情報とレコードデータとを記憶媒体２０３から読み出してリーダライタ１００に送信する。送信された暗号状態情報とレコードデータは、リーダライタ１００の通信部１０１にて受信される。
【００８２】
復号部１２２は、データ読出コマンドに対する応答として記憶媒体２０３から読み出されたレコードデータと、レコードデータに対応付けられた暗号状態情報とをＩＣカード２００から受信するのに応じて、以下の処理を実行する。つまり、復号部１２２は、受信された暗号状態情報が示す暗号状態のレコードデータへのアクセス権を有する場合にはレコードデータの復号を行い、レコードデータへのアクセス権を有さない場合にはレコードデータの復号を行わない。
【００８３】
また、同図に示すＩＣカード２００は、通信部２０１、制御部２０２及び記憶媒体２０３を備える。
通信部２０１は、リーダライタ１００と通信を実行する。
制御部２０２は、ＩＣカード２００における各種制御を実行する。制御部２０２としての機能は、例えばＩＣカード２００が備えるＣＰＵが、記憶媒体２０３に記憶されたプログラムを実行することにより実現される。
本実施形態における制御部２０２は、リーダライタ１００から受信したデータ読出コマンドに応じた記憶媒体２０３からのデータ読み出しに対応する機能部として、データ読出部２２１とデータ送信部２２２とを備える。
【００８４】
データ読出部２２１は、リーダライタ１００から送信されたデータ読出コマンドの受信に応じて以下の処理を実行する。つまり、データ読出部２２１は、記憶媒体２０３から、受信されたデータ読出コマンドが要求するレコードデータと、レコードデータに対応付けられた暗号状態情報とを読み出す。
【００８５】
データ送信部２２２は、データ読出部２２１によって読み出されたレコードデータと暗号状態情報とをリーダライタ１００に対して送信する。
【００８６】
記憶媒体２０３は、制御部２０２が利用する各種の情報を記憶する。前述のように、本実施形態の記憶媒体２０３は、図１に示した領域の設定が行われたうえで、ユーザデータ領域ＡＲ３において図４、図８などに示した構造のファイルを記憶することができる。
なお、記憶媒体２０３が対応するハードウェアは、例えばＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）やフラッシュメモリなどであればよい。
【００８７】
［処理手順例］
図１０のフローチャートを参照して、本実施形態におけるリーダライタ１００とＩＣカード２００がデータ読み出しに関して実行する処理手順例について説明する。なお、同図においては、読み出し対象である１つのファイルが指定されたうえで、読み出し対象のファイルのデータ領域における１つのレコードに格納されたデータを読み出すための処理が示される。
【００８８】
また、同図に示す処理は、レコードデータの暗号状態として、図８に例示したように、００ｈによる平文の状態、０１ｈによる原暗号文の状態、０２ｈによる再暗号文の状態が定義されている場合を例に挙げる。
そのうえで、同図に示す処理を実行するリーダライタ１００は、以下のユーザに対応する場合を例に挙げる。つまり、リーダライタ１００は、０１ｈの値の暗号状態情報に対応する原暗号文の状態のレコードデータへのアクセス権は有するが、０２ｈの値の暗号状態情報に対応する再暗号文の状態のレコードデータへのアクセス権は有さないユーザに対応する。
【００８９】
また、同図に示す処理は、例えば、ファイルの読み出しに先だってＩＣカード２００からデータを読み出すことのできる正当なリーダライタ１００であるか否かについての認証処理が行われてもよい。そして、認証処理による認証が成立して、正当な権限を有するリーダライタ１００であるとＩＣカード２００側で認識された場合に、同図に示す処理が実行されればよい。
【００９０】
リーダライタ１００におけるデータ読出コマンド送信部１２１は、１つのレコードを指定してデータの読み出しを要求するデータ読出コマンドを、通信部１０１からＩＣカード２００に対して送信する（ステップＳ１０１）。
【００９１】
ステップＳ１０１によるデータ読出コマンドの送信に応じて、ＩＣカード２００からは送信したデータ読出コマンドが指定するレコードに格納されていた暗号状態情報とレコードデータとが送信される。
通信部１０１は、上記のようにＩＣカード２００から送信された暗号状態情報とレコードデータとを受信する（ステップＳ１０２）。
【００９２】
次に、復号部１２２は、ステップＳ１０２にて受信された暗号状態情報を参照し（ステップＳ１０３）、暗号状態情報の値について判定する（ステップＳ１０４）。
暗号状態の値が００ｈである場合（ステップＳ１０４：００ｈ）、受信されたレコードデータは平文の状態である。そこで、この場合の復号部１２２は、受信されたレコードデータについて特に復号を行うことなく、受信されたレコードデータをそのまま読出データとして取得する（ステップＳ１０５）。
【００９３】
また、暗号状態情報の値が０１ｈである場合（ステップＳ１０４：０１ｈ）、受信されたレコードデータは原暗号文の状態である。前述のように、この場合のリーダライタ１００は、原暗号文へのアクセス権を有しており、例えば記憶媒体２０３には原暗号文に対応する鍵が記憶されている。復号部１２２は、暗号状態情報の値が０１ｈである場合には、アクセスが可能であると判断する。
そこで、この場合の復号部１２２は、受信されたレコードデータについて、自己が有する原暗号文に対応する鍵により復号し、復号により得られたレコードデータを読出データとして取得する（ステップＳ１０６）。
【００９４】
これに対して、暗号状態情報の値が００ｈ、０１ｈ以外の値である場合（ステップＳ１０４：その他）、受信されたレコードデータは、原暗号文以外の形式の暗号文である。具体的に、この場合のレコードデータは、０２ｈの値の暗号状態情報が示す再暗号文である。この場合において、再暗号文は、原暗号文とは異なる暗号文である。そして、再暗号文は、原暗号文とは異なる鍵を用いて復号が行われる。
しかし、この場合のリーダライタ１００は、再暗号文のレコードデータへのアクセス権を有しておらず、従って、記憶媒体２０３には再暗号文を復号可能な鍵も記憶されていない。このため、復号部１２２は、受信された再暗号文としてのレコードデータを正常に復号することができないことから復号エラーであると判定する（ステップＳ１０７）。この場合、正常な読出データは得られない。
なお、リーダライタ１００に対応するユーザが再暗号文のレコードデータへのアクセス権を有している場合、復号部１２２は、ステップＳ１０７において、再暗号文を復号可能な鍵を用いてレコードデータを復号することができる。
【００９５】
また、ＩＣカード２００において通信部２０１は、ステップＳ１０１によりリーダライタ１００から送信されたデータ読出コマンドを受信する（ステップＳ２０１）。
データ読出コマンドが受信されるのに応じて、データ読出部２２１は、受信されたデータ読出コマンドによって指定されたファイルのレコードに格納される暗号状態情報とレコードデータとを記憶媒体２０３から読み出す（ステップＳ２０２）。
【００９６】
次に、データ送信部２２２は、ステップＳ２０２により記憶媒体２０３から読み出された暗号状態情報とレコードデータとを通信部２０１からリーダライタ１００に送信させる（ステップＳ２０３）。
【００９７】
このようにリーダライタ１００とＩＣカード２００とが処理を実行することによって、アクセス権の異なるデータが混在して格納されたファイルを対象として、リーダライタ１００が有するアクセス権に応じた適切なレコードデータの読み出しが行われる。つまり、リーダライタ１００は、アクセス権を有するレコードデータについては平文の状態で取得可能であるが、アクセス権を有さないレコードデータについては暗号文のままとされて平文の状態では取得できないように適切にアクセスが制限される。
【００９８】
＜第２実施形態＞
［データ読出システムの構成例］
続いて、第２実施形態について説明する。第２実施形態においては、データ読出コマンドが要求するレコードデータが暗号文である場合には、読み出し対象のレコードデータについての認証が成立していればＩＣカード２００側で暗号文の復号を行ったうえでリーダライタ１００に送信する。一方、読み出し対象のレコードデータについての認証が成立していなければ、ＩＣカード２００においては復号を行わずに、暗号文の状態のままでリーダライタ１００に送信するように構成される。
このように構成することにより、リーダライタ１００では、ファイルにおいてアクセス権を有するレコードデータについては平文の状態で取得できるが、アクセス権を有さないレコードデータについては暗号文の状態で取得される。つまり、ファイルにおいてアクセス権を有するレコードデータのみが正常に読み出されるように適切なアクセス制限が実現される。
【００９９】
図１１は、本実施形態におけるリーダライタ１００とＩＣカード２００との構成例を示している。同図において、図９と同一部分には同一符号を付して説明を省略する。
本実施形態のリーダライタ１００における制御部１０２は、データ読出コマンド送信部１２１、認証処理部１２３及びデータ取得部１２４を備える。
データ読出コマンド送信部１２１は、図９と同様に、ＩＣカード２００からファイルのデータを読み出すにあたり、レコード単位でデータの読み出しを要求するデータ読出コマンドをＩＣカード２００に送信する。
認証処理部１２３は、ＩＣカード２００との間で認証処理を実行する。認証処理部１２３が実行する認証処理は、ファイルに格納される特定の暗号状態のレコードデータへのアクセス権を有するか否かをＩＣカード２００側で判断するために実行される。
データ取得部１２４は、データ読出コマンドの送信に応じてＩＣカード２００から送信されるレコードデータを、通信部１０１経由で取得する。
【０１００】
また、同図に示されるＩＣカードにおいて制御部２０２は、データ読出部２２１、データ送信部２２２、認証処理部２２３及び復号部２２４を備える。
認証処理部２２３は、リーダライタ１００との間で認証処理を実行する。具体的に、認証処理部２２３は、リーダライタ１００に対応するユーザについて、特定の暗号状態の暗号文によるレコードデータへのアクセス権を有するか否かを判断するための認証処理を実行する。
【０１０１】
データ読出部２２１は、認証処理部２２３による認証の後において、図９の場合と同様に、リーダライタ１００から受信されたデータ読出コマンドが指定するファイルのレコードに格納された暗号状態情報とレコードデータとを読み出す。
【０１０２】
復号部２２４は、データ読出部２２１によって読み出された暗号状態情報が示す暗号状態のレコードデータへのアクセス権を有する場合には、レコードデータを復号して出力し、レコードデータへのアクセス権を有さない場合にはレコードデータを復号せずに出力する。
データ送信部２２２は、復号部２２４から出力されたレコードデータを通信部２０１からリーダライタ１００に対して送信させる。
【０１０３】
［処理手順例］
本実施形態のリーダライタ１００における認証処理部１２３とＩＣカード２００における認証処理部２２３とは、ＩＣカード２００からのファイルの読み出しに先立ち、所定のタイミングで、ファイルのレコードデータへのアクセス権に対応する認証処理を実行する。
【０１０４】
図１２のフローチャートは、本実施形態のリーダライタ１００とＩＣカード２００とが実行する処理手順例を示している。
リーダライタ１００における認証処理部１２３は、レコードデータへのアクセス権に対応する認証処理を要求するための認証コマンドをＩＣカード２００に対して送信する（ステップＳ３０１）。認証処理部１２３は、ステップＳ３０１により送信する認証コマンドに、認証キーを含める。
【０１０５】
ステップＳ３０１により送信された認証コマンドの送信に応答して、ＩＣカード２００は認証処理を実行し、認証処理の結果として認証が成立したか否かを示す認証応答をリーダライタ１００に対して送信する。
リーダライタ１００の通信部１０１は、上記のようにリーダライタ１００から送信された認証応答を受信する（ステップＳ３０２）。
認証処理部１２３は、ステップＳ３０２にて受信された認証応答により、ＩＣカード２００側で実行された認証処理の認証結果を認識する（ステップＳ３０３）。具体的に、認証処理部１２３は、ステップＳ３０３において認証が成立したか否かについて認識することができる。
【０１０６】
また、ＩＣカード２００において、通信部２０１は、は、ステップＳ３０１によりリーダライタ１００から送信された認証コマンドを受信する（ステップＳ４０１）。
認証処理部２２３は、ステップＳ４０１にて認証コマンドが受信されるのに応じて認証処理を実行する（ステップＳ４０２）。この場合の認証処理部２２３は、受信された認証コマンドに含まれていた認証キーが、特定の暗号状態のレコードデータに設定されたアクセス権に応じた正当なユーザのものであるか否かについて判定する。認証キーが正当なユーザのものであれば認証が成立し、認証キーが正当なユーザのものでなければ、認証は不成立となる。
【０１０７】
認証処理部２２３は、ステップＳ４０２による認証処理の結果として、認証が成立したか否かについて判定する（ステップＳ４０３）。
認証が成立した場合（ステップＳ４０３：ＹＥＳ）、認証が成立したユーザが有するアクセス権に対応する認証フラグの値について、認証が成立したことを示す１を設定する（ステップＳ４０４）。認証フラグは、記憶媒体２０３における所定の領域に記憶されればよい。
一方、認証が不成立であった場合（ステップＳ４０３：ＮＯ）、認証処理部２２３は、認証フラグの値について、認証が不成立であったことを示す０を設定する（ステップＳ４０５）。
【０１０８】
ステップＳ４０４あるいはステップＳ４０５の処理により、認証フラグに１あるいは０の値を設定した後、認証処理部２２３は、ステップＳ４０３にて判定された認証結果を示す認証応答をリーダライタ１００に対して送信する（ステップＳ４０６）。
ステップＳ４０６として、認証処理部２２３は、ステップＳ４０３にて認証が成立したと判定された場合には、認証が成立したことを示す認証応答を送信する。一方、認証が不成立であると判定された場合、認証処理部２２３は、認証が不成立であることを示す認証応答を送信する。
このようにして、ＩＣカード２００により、リーダライタ１００からの認証コマンドに応答して、レコードデータへのアクセス権に対応する認証処理が行われる。
【０１０９】
なお、図１２に示した認証処理は、ファイルに格納されるレコードデータの読み出しに先立って、一回実行されるものであってもよいし、レコードデータの読み出しごとに対応して毎回実行されるものであってもよい。
そして、図１２に示した認証処理が実行された後において、リーダライタ１００はＩＣカードから以下のようにレコードデータの読み出しを行う。
【０１１０】
図１３のフローチャートは、レコードデータの読み出しに対応してリーダライタ１００とＩＣカード２００とが実行する処理手順例を示している。
リーダライタ１００において、データ読出コマンド送信部１２１は、レコードを指定してデータの読み出しを要求するデータ読み出しコマンドを送信する（ステップＳ５０１）。
ステップＳ５０１により送信されたデータ読出コマンドに応答して、ＩＣカード２００は、記憶媒体２０３から読み出した読出データをリーダライタ１００に送信する。
リーダライタ１００において、データ取得部１２４は、ＩＣカード２００から送信された読出データを、通信部１０１を介して受信する（ステップＳ５０２）。
【０１１１】
続いて、ＩＣカード２００の処理について説明する。ＩＣカード２００において、データ読出部２２１は、ステップＳ５０１によりリーダライタ１００から送信されたデータ読出コマンドを、通信部２０１を介して受信する（ステップＳ６０１）。
ステップＳ６０１によりデータ読出コマンドを受信するのに応じて、データ読出部２２１は、受信されたデータ読出コマンドが指定するファイルのレコードに格納される暗号状態情報とレコードデータとを記憶媒体２０３から読み出す（ステップＳ６０２）。
【０１１２】
次に、復号部２２４は、ステップＳ６０２により読み出した暗号状態情報を参照し（ステップＳ６０３）、参照した暗号状態情報の値が００ｈであるか否かについて判定する（ステップＳ６０４）。
暗号状態情報の値が００ｈである場合（ステップＳ６０４：００ｈ）、ステップＳ６０２により読み出したレコードデータは、平文の状態である。そこで、この場合の復号部２２４は、ステップＳ６０２にて読み出したレコードデータについて特に復号を行うことなく、そのまま読出データとして出力する（ステップＳ６０５）。この場合のステップＳ６０７によっては、平文の状態による読出データが出力される。
【０１１３】
一方、暗号状態情報の値が００ｈ以外の値である場合（ステップＳ６０４：００ｈ以外）、暗号状態情報の値は、図８の暗号状態情報の定義例との対応では、０１ｈまたは０２ｈであって、ステップＳ６０２により読み出したレコードデータは、原暗号文または再暗号文である。
例えば、図８のように、暗号文として原暗号文と再暗号文とが定義されている場合、図１２による認証処理によっては、以下のように複数のパターンの認証が成立する。
１つは原暗号文と再暗号文とのいずれについてもアクセス権を有するユーザについて認証が成立するパターンである。もう１つは原暗号文へのアクセス権を有するが、再暗号文へのアクセス権を有さないユーザについて認証が成立するパターンである。さらにもう１つは、原暗号文へのアクセス権を有さないが、再暗号文へのアクセス権を有するユーザについて認証が成立するパターンである。
【０１１４】
そこで、この場合の復号部２２４は、ステップＳ６０２にて読み出されたレコードデータについて、先の図１２による認証処理によって認証が成立したユーザがアクセス権を有しているか否かについて判定する（ステップＳ６０６）。
アクセス権を有していない場合（ステップＳ６０６：ＮＯ）、復号部２２４は、ステップＳ６０２にて読み出したレコードデータについて特に復号を行うことなく、そのまま読出データとして出力する（ステップＳ６０５）。この場合のステップＳ６０５によっては、暗号文（原暗号文または再暗号文）の状態による読出データが取得される。
【０１１５】
これに対して、アクセス権を有している場合（ステップＳ６０６：ＹＥＳ）、復号部２２４は、ステップＳ６０２にて読み出したレコードデータを、暗号状態に対応する鍵で復号し、復号したレコードデータを読出データとして出力する（ステップＳ６０７）。
具体的に、復号部２２４は、レコードデータが原暗号文の状態であれば、原暗号文を復号可能な鍵を用いた復号アルゴリズム（第１復号アルゴリズムの一例）によりレコードデータを復号する。また、復号部２２４は、レコードデータが再暗号文の状態であれば、原暗号文を復号可能な鍵とは異なる、再暗号文を復号可能な鍵を用いた復号アルゴリズム（第２復号アルゴリズムの一例）によりレコードデータを復号する。そして、復号部２２４は、上記のように復号されたレコードデータを読出データとして出力する。
【０１１６】
データ送信部２２２は、ステップＳ６０５またはステップＳ６０７によって出力された読出データを通信部２０１からリーダライタ１００に送信させる（ステップＳ６０８）。
【０１１７】
上記の処理によれば、データ読出コマンドにより指定されたレコードに格納されるデータが平文の状態である場合には、平文による読出データがＩＣカード２００からリーダライタ１００に送信される。
また、データ読出コマンドにより指定されたレコードに格納されるデータが暗号文の状態である場合には、認証が成立したユーザにアクセス権が有れば、ＩＣカード２００側にて復号された平文の状態による読出データがリーダライタ１００に送信される。
一方、認証が成立したユーザにアクセス権が無ければ、復号されずに暗号文のままとされた暗号文の状態による読出データがリーダライタ１００に送信される。
【０１１８】
従って、リーダライタ１００は、アクセス権が設定されていないレコードデータと、ユーザがアクセス権を有するレコードデータとを平文の状態による読出データとして取得することができる。一方、リーダライタ１００は、ユーザがアクセス権を有さないレコードデータについては、暗号文の状態のままの読出データとして取得する。リーダライタ１００は、このように暗号文の状態で取得された読出データについては復号可能な鍵を有していないことから復号が行えない。復号できなければ、有意な読出データとして処理できないため、この場合には読出エラーとなる。
【０１１９】
このように、本実施形態においても、リーダライタ１００によって対応のユーザが有するアクセス権によりアクセス可能なレコードデータのみを正常に読み出せるように適切にアクセス制限が行われる。
【０１２０】
なお、図１３におけるＩＣカード２００の処理として、ステップＳ６０６にてアクセス権を有していないことが判定された場合には、暗号状態のままの読出データを送信するのに代えて、データ読出コマンドに対するエラー応答をリーダライタ１００に送信してもよい。
【０１２１】
＜第３実施形態＞
続いて、第３実施形態について説明する。先の第１実施形態及び第２実施形態においては、ファイルのデータ領域が、固定長のレコードにより形成されている場合を例に挙げた。
ファイルにおけるデータ領域としては、上記の固定長のレコードによる構造の他に、ＴＬＶ構造と呼ばれる、可変長のレコードによる構造であってもよい。第３実施形態は、ファイルにおけるデータ領域がＴＬＶ構造である場合に対応する構成である。
【０１２２】
図１４を参照してＴＬＶ構造について説明する。同図に示すように、ＴＬＶ構造における１つのレコードは、先頭から順にＴａｇ領域、Ｌｅｎｇｔｈ領域、Ｖａｌｕｅ領域を配列させた構造を有する。
Ｔａｇ領域には、レコードを識別する識別子（タグ）が格納される。
Ｌｅｎｇｔｈ領域には、続くＶａｌｕｅ領域のデータ長（サイズ）を示す情報が格納される。
Ｖａｌｕｅ領域には、Ｌｅｎｇｔｈ領域により示されるデータ長によるデータ（レコードデータ）が格納される。
そして、ファイルＦＬのデータ領域においては、上記のＴＬＶ構造によるレコードが、同じ図１４に示すように、先頭から詰められていくように格納される。このようにして、ＴＬＶ構造によるファイルが形成される。
【０１２３】
図１５には、ＴＬＶ構造によるファイルに対して図８と同様のデータが書き込まれた場合のデータマッピング例が示されている。
つまり、同図に示すファイルＦＬのデータ領域においては、ＴＬＶ構造のもとで、１番目のレコードのＶａｌｕｅ領域において、先頭の１バイトに００ｈの値の暗号状態情報が書き込まれ、続く２バイト目以降において平文による氏名のデータが書き込まれている。
また、２番目のレコードのＶａｌｕｅ領域において、先頭の１バイトに０１ｈの値の暗号状態情報が書き込まれ、続く２バイト目以降において原暗号文による住所のデータが書き込まれている。
また、３番目のレコードのＶａｌｕｅ領域において、先頭の１バイトに００ｈの値の暗号状態情報が書き込まれ、続く２バイト目以降において平文によるカード番号のデータが書き込まれている。
また、４番目のレコードのＶａｌｕｅ領域において、先頭の１バイトに０２ｈの値の暗号状態情報が書き込まれ、続く２バイト目以降において再暗号文による電話番号のデータが書き込まれている。
【０１２４】
このようにファイルのデータ領域がＴＬＶ構造である場合においても、データの読み出しの処理は、第１実施形態における図１０の処理、あるいは第２実施形態における図１３の処理と同様に実行されればよい。
従って、ファイルのデータ領域がＴＬＶ構造である場合にも、異なるアクセス権が設定されたレコードデータを１つのファイルに格納することが可能であり、記憶媒体２０３の容量を効率的に使用できる。そのうえで、アクセス権を有するレコードデータのみがＩＣカード２００から正常に読み出されるように適切にアクセス制限が行われる。
【０１２５】
なお、これまでの実施形態において、暗号状態情報は、対応のレコードデータが格納されるレコードに格納されていた。これに対して、各レコードデータに対応する暗号状態情報は、対応のレコードデータが格納されるファイルを管理する管理情報に含められてもよい。
具体的に、暗号状態情報は、レコードとの対応関係が示された状態でファイルヘッダに書き込まれてもよい。あるいは、暗号状態情報は、ファイルシステムにおいてファイルを管理するディレクトリ情報などの管理情報において、レコードとの対応関係が示された状態で書き込まれてもよい。
【０１２６】
なお、上述のリーダライタ１００またはＩＣカード２００の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述のリーダライタ１００またはＩＣカード２００としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２７】
１００  リーダライタ  、１０１  通信部  、１０２  制御部  、１２１  データ読出コマンド送信部  、１２２  復号部  、１２３  認証処理部  、１２４  データ取得部  、２００  ＩＣカード  、２０１  通信部  、２０２  制御部  、２０３  記憶媒体  、２２１  データ読出部  、２２２  データ送信部  、２２３  認証処理部  、２２３  認証処理部  、２２４  復号部
【図１】
2015222484.tif 000003
【図２】
2015222484.tif 000004
【図３】
2015222484.tif 000005
【図４】
2015222484.tif 000006
【図５】
2015222484.tif 000007
【図６】
2015222484.tif 000008
【図７】
2015222484.tif 000009
【図８】
2015222484.tif 000010
【図９】
2015222484.tif 000011
【図１０】
2015222484.tif 000012
【図１１】
2015222484.tif 000013
【図１２】
2015222484.tif 000014
【図１３】
2015222484.tif 000015
【図１４】
2015222484.tif 000016
【図１５】
2015222484.tif 000017