(57)【要約】【課題】コマンドを発行したアプリケーションを特定可能にして一つのデータファイルに対し別々のアプリケーションからアクセス処理が行なわれるのを防止する。【解決手段】カード型記憶装置１１と取引装置２１との間で取引が開始され、取引装置２１のアクセス対象のデータファイルが確定すると、カード型記憶装置１１において取引装置２１を特定可能にするための固有識別子を生成し、その固有識別子を該取引装置に通知し、当該取引の終了時まで、取引装置２１のカード型記憶装置１１に対するアクセスコマンドに固有識別子を付与し、カード型記憶装置１１において、取引装置２１からのアクセスコマンドに付与された固有識別子と当該取引のために生成した固有識別子とが一致する場合に取引装置２１からのアクセスコマンドに応じた処理を実行する。【選択図】図４
2008097652.tif 000002
【特許請求の範囲】
【請求項１】
データファイルを保持する記憶部をそなえてなるカード型記憶装置のためのセキュリティを管理する方法であって、
該カード型記憶装置と該カード型記憶装置に対してアクセスし取引を実行する取引装置との間で取引が開始され、該取引装置のアクセス対象の該データファイルが確定すると、該カード型記憶装置において該カード型記憶装置にアクセスを行なった該取引装置を特定可能にするための固有識別子を生成し、その固有識別子を該取引装置に通知し、
当該取引の終了時まで、該取引装置の該カード型記憶装置に対するアクセスコマンドに該固有識別子を付与し、
該カード型記憶装置において、該取引装置からのアクセスコマンドに付与された固有識別子と、当該取引のために生成した固有識別子とを比較し、これらの固有識別子が一致する場合に該取引装置からのアクセスコマンドに応じた処理を実行することを
特徴とする、カード型記憶装置用セキュリティ管理方法。
【請求項２】
該カード型記憶装置において当該取引のために生成した固有識別子を第１暗号キーにより暗号化してから、その暗号文固有識別子を該取引装置に通知し、
該取引装置において、該カード型記憶装置からの暗号文固有識別子を該第１暗号キーにより復号化することを特徴とする、請求項１記載のカード型記憶装置用セキュリティ管理方法。
【請求項３】
該第１暗号キーにより暗号化して得られた暗号文固有識別子とともに、暗号化前の平文固有識別子を該カード型記憶装置から該取引装置に通知し、
該取引装置において、該第１暗号キーにより該カード型記憶装置からの暗号文固有識別子を復号化し、復号化して得られた復号文固有識別子と該カード型記憶装置からの平文固有識別子とを比較し、これらの固有識別子が一致する場合に該カード型記憶装置に対するアクセス処理を続行することを特徴とする、請求項２記載のカード型記憶装置用セキュリティ管理方法。
【請求項４】
該取引装置において、該カード型記憶装置からの固有識別子を第２暗号キーにより暗号化してから、その暗号文固有識別子を、該取引装置の該カード型記憶装置に対するアクセスコマンドに付与し、
該カード型記憶装置において、該取引装置からのアクセスコマンドに付与された暗号文固有識別子を該第２暗号キーにより復号化してから、復号化して得られた復号文固有識別子と当該取引のために生成した固有識別子との比較を行なうことを特徴とする、請求項１〜３のいずれか一項に記載のカード型記憶装置用セキュリティ管理方法。
【請求項５】
該第２暗号キーにより暗号化して得られた暗号文固有識別子とともに、暗号化前の平文固有識別子を該取引装置から該カード型記憶装置に通知し、
該カード型記憶装置において、該第２暗号キーにより該カード型記憶装置からの暗号文固有識別子を復号化し、復号化して得られた復号文固有識別子と該取引装置からの平文固有識別子とを比較し、これらの固有識別子が一致する場合に処理を続行することを特徴とする、請求項４記載のカード型記憶装置用セキュリティ管理方法。
【請求項６】
該カード型記憶装置における固有識別子の比較結果が不一致である場合に、該取引装置からのアクセスコマンドに対する応答としてエラー通知を行なうことを特徴とする、請求項１または請求項５に記載のカード型記憶装置用セキュリティ管理方法。
【請求項７】
データファイルを保持するデータ領域と、該データ領域のデータファイルについての制御情報を保持するディレクトリ領域とを有する記憶部と、
該記憶部のディレクトリ領域における制御情報に基づいて該記憶部のデータ領域におけるデータファイルを管理する制御部とをそなえてなるカード型記憶装置において、
該制御部に、
外部装置との間で取引が開始され、該外部装置のアクセス対象の該データファイルが確定すると、該カード型記憶装置にアクセスを行なった該取引装置を特定可能にするための固有識別子を生成する固有識別子生成手段と、
該固有識別子生成手段により生成された固有識別子を該外部装置に通知する固有識別子通知手段と、
該外部装置からのアクセスコマンドに付与された固有識別子と、当該取引のために該固有識別子生成手段により生成した固有識別子とを比較する第１比較手段と、
該第１比較手段による比較の結果、これらの固有識別子が一致した場合に該外部装置からのアクセスコマンドが当該取引についてのものであると判断し、該外部装置からのアクセスコマンドに応じた処理を実行する第１判断手段とをそなえたことを
特徴とする、カード型記憶装置。
【請求項８】
該制御部に、該固有識別子生成手段により当該取引のために生成した固有識別子を第１暗号キーにより暗号化する暗号化手段をそなえ、
該固有識別子通知手段が、該暗号化手段により暗号化して得られた暗号文固有識別子を該外部装置に通知することを特徴とする、請求項７記載のカード型記憶装置。
【請求項９】
該固有識別子通知手段が、該暗号化手段により暗号化して得られた暗号文固有識別子とともに、暗号化前の平文固有識別子を該外部装置に通知することを特徴とする、請求項８記載のカード型記憶装置。
【請求項１０】
該制御部に、該外部装置からのアクセスコマンドに第２暗号キーにより暗号化して得られた暗号文固有識別子が付与されている場合に該暗号文固有識別子を該第２暗号キーにより復号化する復号化手段をそなえ、
該第１比較手段が、該復号化手段により復号化して得られた復号文固有識別子と、該固有識別子生成手段により当該取引のために生成した固有識別子との比較を行なうことを特徴とする、請求項７〜９のいずれか一項に記載のカード型記憶装置。
【請求項１１】
該制御部に、
該外部装置からのアクセスコマンドに、該第２暗号キーにより暗号化して得られた暗号文固有識別子とともに暗号化前の平文固有識別子が付与されている場合に、該復号化手段により復号化して得られた復号文固有識別子と該外部装置からの平文固有識別子とを比較する第２比較手段と、
該第２比較手段による比較の結果、これらの固有識別子が一致した場合に該外部装置からのアクセスコマンドが正当なものであると判断し、処理を続行する第２判断手段とをそなえたことを特徴とする、請求項１０記載のカード型記憶装置。
【請求項１２】
該制御部に、該第１比較手段による固有識別子の比較結果が不一致である場合に該外部装置からのアクセスコマンドに対する応答としてエラー通知を行なうエラー通知手段をそなえたことを特徴とする、請求項７記載のカード型記憶装置。
【請求項１３】
該制御部に、該第２比較手段による固有識別子の比較結果が不一致である場合に該外部装置からのアクセスコマンドに対する応答としてエラー通知を行なうエラー通知手段をそなえたことを特徴とする、請求項１１記載のカード型記憶装置。
【請求項１４】
データファイルを保持する記憶部をそなえてなるカード型記憶装置に対してアクセスし、該カード型記憶装置との取引を実行するカード型記憶装置用取引装置において、
該カード型記憶装置におけるアクセス対象の該データファイルが確定し該カード型記憶装置にアクセスを行なった該取引装置を特定可能にするための固有識別子を該カード型記憶装置から通知されると、当該取引の終了時まで、該固有識別子を付与したアクセスコマンドを該カード型記憶装置に通知する通知手段をそなえたことを
特徴とする、カード型記憶装置用取引装置。
【請求項１５】
該カード型記憶装置からの固有識別子が第１暗号キーにより暗号化されている場合に、該暗号文固有識別子を該第１暗号キーにより復号化する復号化手段をそなえたことを特徴とする、請求項１４記載のカード型記憶装置用取引装置。
【請求項１６】
該カード型記憶装置から、該暗号文固有識別子とともに暗号化前の平文固有識別子を通知された場合に、該復号化手段により復号化して得られた復号文固有識別子と該カード型記憶装置からの平文固有識別子とを比較する比較手段と、
該比較手段による比較の結果、これらの固有識別子が一致する場合に該カード型記憶装置が正当なものであると判断し、該カード型記憶装置に対するアクセス処理を続行する判断手段とをそなえたことを特徴とする、請求項１５記載のカード型記憶装置用取引装置。
【請求項１７】
該カード型記憶装置からの固有識別子を第２暗号キーにより暗号化する暗号化手段をそなえ、
該通知手段が、該暗号化手段により暗号化して得られた暗号文固有識別子をアクセスコマンドに付与して該カード型記憶装置に通知することを特徴とする、請求項１４〜１６のいずれかに記載のカード型記憶装置用取引装置。
【請求項１８】
該通知手段が、該暗号化手段により暗号化して得られた暗号文固有識別子とともに、暗号化前の平文固有識別子を該カード型記憶装置に通知することを特徴とする、請求項１７記載のカード型記憶装置用取引装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュレスカード，ＩＤカード，健康カード，自治体カード等として用いられる例えばＩＣカードのようなカード型記憶装置に適用されるもので、特に、カード型記憶装置に対するファイルアクセス時のセキュリティを管理・強化する方法と、その方法を実現するためのカード型記憶装置および取引装置とに関する。
【０００２】
近年、テレフォンカード等のプリペイドカードの偽造に代表されるようにカードの偽造犯罪やカードデータの捏造犯罪は増加する傾向にあり、カード単体に対しても、また、そのカードを用いるシステムにおいても、より高度で、より複雑なセキュリティ機能が要求されている。
【０００３】
特に、今後、普及が見込まれるＩＣカードなどのカード型記憶装置（以下、カード型記憶媒体と呼ぶ場合がある）では、その内部に磁気カードの１００倍以上のデータを保持しているため、情報漏洩や偽造・捏造を防止すべく、カード型記憶媒体単体に対しても、そのカード型記憶媒体を用いるシステムにおいても、セキュリティについて配慮することは極めて重要になっている。
【背景技術】
【０００４】
一般に、図１４，図１５に示すように、ＩＣカード（カード型記憶媒体）１００は、マイクロプロセッサユニット（ＭＰＵ）１０１とメモリ（ファイル領域；例えばＥＰＲＯＭ／ＥＥＰＲＯＭ）１０２とを内蔵され、端子部１０３を介して図示しない取引装置（外部装置）に接続されるようになっている。
【０００５】
ここで、メモリ１０２には、データファイルを保持するデータ領域と、このデータ領域のデータファイルについての制御情報（ポインタ等）を保持するディレクトリ領域とがそなえられ、ＭＰＵ１０１により、ディレクトリ領域における制御情報に基づいてメモリ１０２のデータ領域におけるデータファイルが管理される。
【０００６】
例えば、ＭＰＵ１０１は、外部の取引装置から端子部１０３を介してアクセスコマンドを受けると、そのアクセスコマンドに応じてメモリ１０２に対する読出処理（リードアクセス），書込処理（ライトアクセス），消去処理（イレーズアクセス），再書込処理（リライトアクセス）等を実行する。
なお、ＭＰＵ１０１内には、制御動作を行なうためのプログラムを保持するＲＯＭ１０１Ａのほか、制御動作を行なう際のワークエリアとして用いられるＲＡＭ１０１Ｂがそなえられている。また、ＩＳＯ型のＩＣカード１００の場合、その端子部１０３には、８個の接点（VCC,RST,CLS,RFU,GND,VPP,I/O,RFU)がそなえられている。
【０００７】
ところで、このようなＩＣカード１００においては、メモリ１０２に磁気カードの１００倍以上のデータが保持されており、そのデータの漏洩やそのデータに対する偽造・捏造を防止するために、一般に、アクセス資格（アプリケーションの資格）と、そのアクセス資格に対応したアクセス権とによりセキュリティチェックが行なわれている。
【０００８】
例えば、ＩＣカード１００のメモリ１０２に、アクセス資格およびアクセス権がセキュリティ基本情報として予め保持されている。アクセス資格は、例えば、カード発行者，カード所持者，アプリケーション提供者，サービス実行者，サービス提供者等で、外部の取引装置（アプリケーション）からＩＣカード１００に対してアクセスコマンドを発する者の資格を確認するためのものである。また、アクセス権（リード権，ライト権等）は、メモリ１０２に保持されるデータファイル毎に前記アクセス資格に応じて設定されるもので、各アクセス資格を有する者が各データファイルに対して行なうことのできるアクセス処理を規定している。
【０００９】
そして、図１６に示すように、ＩＣカード１００のメモリ１０２に格納されるデータファイルに対して、外部の取引装置（アプリケーションＡ）１１０からアクセスする際には、まず、セレクトコマンド（Select）により、ＩＣカード１００のメモリ１０２のデータファイルのうちアクセス対象となるデータファイルの選択・確定を行なってから、ベリファイコマンド（Verify）により、このデータファイルにアクセスするためのアクセス資格の認証を行なう。この認証処理は、取引装置１１０から送られる認証コードに基づいて行なわれる。この後、取引装置１１０からアクセスコマンド（Read Record/Write Record）を受けると、そのアクセスコマンドが、認証されたアクセス資格に対しアクセス権として予め許可されているアクセス種（読出，書込等）であるか否かの確認を行なっている。
【００１０】
上述のようなアクセス資格およびアクセス権によるセキュリティチェックについて、図１７を参照しながら、より具体的に説明する。ここで、図１７に示すように、ＩＣカード１００に、メモリ１０２内のあるデータファイルに対するリード権（アクセス権）として、サービス提供者，カード発行者，サービス実行者，カード所持者のそれぞれに“ＯＫ”，“ＯＫ”，“ＮＧ”，“ＮＧ”が設定されているものとする。つまり、サービス提供者，カード発行者については当該データファイルに対するリード処理を行なうことができる。
【００１１】
このようなリード権の設定状態で、図１７に示すように、サービス提供者のアクセス資格で動作するアプリケーションがリードコマンド（READ）を発行した場合、ＩＣカード１００において当該データファイルに対応するリードのアクセス権は、サービス提供者について“ＯＫ”と設定されているので、当該データファイルへのリードアクセスが許可されることになる。
【００１２】
一方、図１７に示すように、サービス実行者のアクセス資格で動作するアプリケーションがリードコマンドを発行した場合、当該データファイルに対応するリードのアクセス権は、サービス実行者について“ＮＧ”と設定されているので、当該データファイルへのリードアクセスはリジェクトされることになる。このような形で、ファイルアクセス時のセキュリティが確保されている。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したように、従来のＩＣカード（カード型記憶媒体）においては、その内部のデータファイルにアクセスする際のセキュリティを、アクセス資格とアクセス権との２点で確保しているが、これらのアクセス資格とアクセス権との関係の情報が外部に漏洩した場合、不正なアプリケーションは、容易にＩＣカード内のデータに対してアクセスすることが可能である。このため、万一、アクセス資格とアクセス権との関係の情報が外部に漏洩した場合や、不当にアクセス資格およびアクセス権の情報を入手された場合にも、不正なアプリケーションからのアクセスを防止できるようにして、ＩＣカードのファイルアクセス時のセキュリティ機能をより高めることが望まれている。
【００１４】
ところで、通常のＩＣカードシステムでは、ＩＣカードとアプリケーションとの取引時の対応関係が１対１であるが、ユーザニーズが益々多様化し高度化していくに伴い、１枚のＩＣカードを複数のアプリケーションが同時に使用するシステム形態も出現してきている。このようなシステムでは、現在のＩＣカードが有しているセキュリティ機能では不充分であり、ＩＣカード内でアプリケーションを管理し、複数アプリケーションの同時アクセスを考慮したセキュリティ機能が必要になってくる。
【００１５】
つまり、図１６により説明したように、従来のコマンド処理においては各コマンドが同一のアプリケーション（図１６ではアプリケーションＡ）から発行されることを前提としているため、また、アクセス資格およびアクセス権によるセキュリティチェックしか行なっていないため、コマンドを発行したアプリケーションを特定することができない。
【００１６】
従って、１枚のＩＣカードに対して複数のアプリケーションが同時にアクセス可能なシステムにおいては、図１８に示すように、アプリケーションＡからのセレクトコマンドおよびベリファイコマンドによりアクセス対象のデータファイルの選択／確定およびアクセス資格の認証を行なった後に、他のアプリケーションＢから当該データファイルに対してアクセスコマンドが発行されると、従来のＩＣカード１００内におけるコマンド処理では同一のアプリケーションからのアクセスコマンドと見なして当該アクセスコマンドを受け付けてしまうので、アプリケーションＢが当該データファイルに対してアクセス可能になり、不正なアクセスが行なわれるおそれがある。
【００１７】
上述した従来のＩＣカードについてのセキュリティ機能上の課題は、以下の２点にまとめることができる。
（ａ）現状のセキュリティ機能では、不正なアプリケーションがセキュリティ情報（アクセス資格，アクセス権）を不当に入手した場合、データファイルへの不当なアクセスが可能になってしまう。
【００１８】
（ｂ）１枚のＩＣカードに対して複数のアプリケーションが同時にアクセス可能なシステムでは、アクセス対象のデータファイルの確定処理後に、別のアプリケーションがそのデータファイルへの不当なアクセスを試みた場合、その不当なアクセスが可能になってしまう。
本発明は、このような課題に鑑み創案されたもので、１回の取引毎のセキュリティ管理を行ないファイルアクセス時のセキュリティ強度の向上をはかるとともに、コマンドを発行したアプリケーションを特定可能にして一つのデータファイルに対し別々のアプリケーションからアクセス処理が行なわれるのを防止した、カード型記憶装置用セキュリティ管理方法，カード型記憶装置およびカード型記憶装置用取引装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
図１は本発明の関連技術の原理ブロック図で、この図１に示すカード型記憶装置（以下の説明および図中では、カード型記憶媒体という）１Ａは、記憶部２Ａおよび制御部３Ａをそなえて構成されている。記憶部２Ａは、データファイルを保持するデータ領域と、このデータ領域のデータファイルについての制御情報を保持するディレクトリ領域とを有している。また、制御部３Ａは、記憶部２Ａのディレクトリ領域における制御情報に基づいて記憶部２Ａのデータ領域におけるデータファイルを管理するものである。
【００２０】
そして、本発明の関連技術では、記憶部２Ａのディレクトリ領域に、データファイルに対する１取引当たりのアクセス許容回数（１回の正当な取引で発生すると考えられるアクセスの回数）が予め設定されるほか、制御部３Ａに、計数手段４Ａ，比較手段５Ａおよびエラー判断手段６Ａがそなえられ、１回の取引毎のアクセス回数をチェックする構成になっている。
ここで、計数手段４Ａは、図示しない外部装置（取引装置）との間で取引が開始されると、その取引開始後にその取引のために該取引装置から該データファイルに対して発行されたアクセスコマンドによるアクセス回数を計数するものであり、比較手段（第１比較手段）５Ａは、計数手段４Ａにより計数されたアクセス回数と記憶部２Ａのディレクトリ領域に予め設定されたアクセス許容回数とを比較するものであり、エラー判断手段６Ａは、比較手段５Ａによる比較の結果、アクセス回数がアクセス許容回数を超えた場合にエラーが発生したものと判断し、その取引を中断させるものである。
【００２１】
図２は本発明の関連技術の原理ブロック図で、この図２に示すカード型記憶媒体１Ｂも、図１に示したものと同様の機能をもつ記憶部２Ｂおよび制御部３Ｂをそなえて構成されているが、ここでは、記憶部２Ｂのディレクトリ領域に、データファイルに対する１取引当たりのアクセス許容時間（１回の正当な取引処理に要する時間）が予め設定されるほか、制御部３Ｂに、計時手段４Ｂ，比較手段５Ｂおよびエラー判断手段６Ｂがそなえられ、アクセス回数に代えて１回の取引毎にアクセス時間をチェックする構成になっている。
【００２２】
ここで、計時手段４Ｂは、図示しない外部装置（取引装置）との間で取引が開始されると、その取引開始後の経過時間をデータファイルに対するアクセス時間として計時するものであり、比較手段（第２比較手段）５Ｂは、計時手段４Ｂにより計時されたアクセス時間と記憶部２Ｂのディレクトリ領域に予め設定されたアクセス許容時間とを比較するものであり、エラー判断手段６Ｂは、比較手段５Ｂによる比較の結果、アクセス時間がアクセス許容時間を超えた場合にエラーが発生したものと判断し、その取引を中断させるものである。
【００２３】
図３は本発明の関連技術の原理ブロック図で、この図３に示すカード型記憶媒体１Ｃも、図１に示したものと同様の記憶部２Ｃおよび制御部３Ｃをそなえて構成されているが、記憶部２Ｃのディレクトリ領域に、データファイルに対する１取引当たりのアクセス許容回数（１回の正当な取引で発生すると考えられるアクセスの回数）およびアクセス許容時間（１回の正当な取引処理に要する時間）が予め設定されるほか、制御部３Ｃには、前述したものと同様の機能をもつ計数手段４Ａ，計時手段４Ｂ，第１比較手段５Ａおよび第２比較手段５Ｂがそなえられるとともに、エラー判定手段６Ｃがそなえられ、１回の取引毎にアクセス回数およびアクセス時間の両方をチェックする構成になっている。
【００２４】
ここで、エラー判定手段６Ｃは、第１比較手段５Ａによる比較の結果、アクセス回数がアクセス許容回数を超えた場合、もしくは、第２比較手段５Ｂによる比較の結果、アクセス時間がアクセス許容時間を超えた場合にエラーが発生したものと判断し、その取引を中断させるものである。
なお、データファイルが記憶部２Ａ，２Ｃに複数保持されている場合、アクセス許容回数を各データファイル毎に記憶部２Ａ，２Ｃのディレクトリ領域に予め設定しておき、計数手段４Ａが、各データファイル毎にアクセス回数を計数するように構成してもよいし、アクセス許容回数をデータファイルに対するアクセスの種類毎に記憶部２Ａ，２Ｃのディレクトリ領域に予め設定しておき、計数手段４Ａが、各アクセスの種類毎にアクセス回数を計数するように構成してもよい。
【００２５】
また、各制御部３Ａ〜３Ｃに、エラー判断手段６Ａ〜６Ｃによりエラーが発生したものと判断した場合に外部装置へエラー通知を行なうエラー通知手段をそなえてもよい。
さらに、各制御部３Ａ〜３Ｃに、エラーの発生回数を累積する累積手段と、この累積手段によるエラー発生回数の累積結果と記憶部２Ａ〜２Ｃのディレクトリ領域に予め設定したエラー発生許容回数とを比較するエラー発生回数比較手段と、このエラー発生回数比較手段による比較の結果、エラー発生回数がエラー発生許容回数を超えた場合に非活性化状態に切り換える非活性化手段とをそなえてもよい。このとき、エラー発生回数比較手段による比較の結果、エラー発生回数がエラー発生許容回数を超えた場合に、前記エラー通知手段が外部装置へエラー通知を行なうように構成してもよい。
【００２６】
図４は本発明の原理ブロック図で、この図４において、１１はカード型記憶媒体で、このカード型記憶媒体１１も、図１により前述したものと同様の機能をもつ記憶部１２および制御部１３をそなえて構成されている。また、２１は取引装置で、カード型記憶媒体１１に対してアクセスし、カード型記憶媒体１１との取引を実行するものである。
【００２７】
そして、本発明において、カード型記憶媒体１１の制御部１３には、固有識別子生成手段１４，固有識別子通知手段１５，第１比較手段１６および第１判断手段１７がそなえられている。
ここで、固有識別子生成手段１４は、取引装置（外部装置）２１との間で取引が開始され、取引装置２１のアクセス対象のデータファイルが確定すると、カード型記憶媒体１１にアクセスを行なった取引装置２１を特定可能にするための固有識別子を生成するものであり、固有識別子通知手段１５は、固有識別子生成手段１４により生成された固有識別子を取引装置２１に通知するものである。
【００２８】
また、第１比較手段１６は、取引装置２１からのアクセスコマンドに付与された固有識別子と、その取引のために固有識別子生成手段１４により生成した固有識別子とを比較するものであり、第１判断手段１７は、第１比較手段１６による比較の結果、これらの固有識別子が一致した場合に取引装置２１からのアクセスコマンドがその取引についてのものであると判断し、取引装置２１からのアクセスコマンドに応じた処理を実行するものである。
【００２９】
一方、本発明の取引装置２１には、通知手段２２がそなえられている。この通知手段２２は、カード型記憶媒体１１におけるアクセス対象のデータファイルが確定しカード型記憶媒体１１にアクセスを行なった取引装置２１を特定可能にするための固有識別子をカード型記憶媒体１１から通知されると、その取引の終了時まで、固有識別子を付与したアクセスコマンドをカード型記憶媒体１１に通知するものである。
【００３０】
なお、カード型記憶媒体１１の制御部１３に、固有識別子生成手段１４によりその取引のために生成した固有識別子を第１暗号キーにより暗号化する暗号化手段をそなえ、固有識別子通知手段１５が、暗号化手段により暗号化して得られた暗号文固有識別子を取引装置２１に通知するように構成してもよい。この場合、取引装置２１に、暗号文固有識別子を第１暗号キーにより復号化する復号化手段をそなえる。
【００３１】
また、固有識別子通知手段１５が、暗号化手段により暗号化して得られた暗号文固有識別子とともに、暗号化前の平文固有識別子を取引装置２１に通知するように構成してもよい。この場合、取引装置２１に、復号化手段により復号化して得られた復号文固有識別子とカード型記憶媒体１１からの平文固有識別子とを比較する比較手段と、この比較手段による比較の結果、これらの固有識別子が一致する場合にカード型記憶媒体１１が正当なものであると判断し、カード型記憶媒体に対するアクセス処理を続行する判断手段とをそなえることができる。
【００３２】
さらに、取引装置２１に、カード型記憶媒体１１からの固有識別子を第２暗号キーにより暗号化する暗号化手段をそなえ、通知手段２２が、暗号化手段により暗号化して得られた暗号文固有識別子をアクセスコマンドに付与してカード型記憶媒体１１に通知するように構成してもよい。この場合、カード型記憶媒体１１の制御部１３に、暗号文固有識別子を第２暗号キーにより復号化する復号化手段をそなえ、第１比較手段１６が、復号化手段により復号化して得られた復号文固有識別子と、固有識別子生成手段１４によりその取引のために生成した固有識別子との比較を行なうように構成する。
【００３３】
そして、取引装置２１の通知手段２２は、暗号化手段により暗号化して得られた暗号文固有識別子とともに、暗号化前の平文固有識別子をカード型記憶媒体１１に通知してもよく、この場合、カード型記憶媒体１１の制御部１３に、復号化手段により復号化して得られた復号文固有識別子と外部装置からの平文固有識別子とを比較する第２比較手段と、この第２比較手段による比較の結果、これらの固有識別子が一致した場合に取引装置２１からのアクセスコマンドが正当なものであると判断し処理を続行する第２判断手段とをそなえることができる。
【００３４】
またさらに、カード型記憶媒体１１の制御部１３に、第１比較手段１５もしくは第２比較手段による固有識別子の比較結果が不一致である場合に取引装置２１からのアクセスコマンドに対する応答としてエラー通知を行なうエラー通知手段をそなえてもよい。
【００３５】
図１により上述した本発明の関連技術としてのカード型記憶媒体１Ａでは、取引装置（外部装置）との間で取引が開始されると、その取引開始以降、計数手段４Ａにより、取引装置からデータファイルに対するアクセス回数が計数され、比較手段５Ａにより、そのアクセス回数と予め設定されているアクセス許容回数とが比較される。
【００３６】
そして、比較手段５Ａによる比較の結果、アクセス回数がアクセス許容回数を超えた場合、エラー判断手段６Ａにより、エラーが発生したものと判断され、その取引が中断される。つまり、１回の取引毎のアクセス回数をチェックすることにより、カード型記憶媒体１Ａに対して必要回数以上のアクセスが行なわれたと判断した場合にその取引を中断させることができる。
【００３７】
また、図２により上述した本発明の関連技術としてのカード型記憶媒体１Ｂでは、前記アクセス回数に代えてアクセス時間をチェックするもので、取引装置（外部装置）との間で取引が開始されると、その取引開始以降、計時手段４Ｂにより、取引装置からデータファイルに対するアクセス時間が計時され、比較手段５Ｂにより、そのアクセス時間と予め設定されているアクセス許容時間とが比較される。
【００３８】
そして、比較手段５Ｂによる比較の結果、アクセス時間がアクセス許容時間を超えた場合、エラー判断手段６Ｂにより、エラーが発生したものと判断され、その取引が中断される。つまり、１回の取引毎のアクセス時間をチェックすることにより、カード型記憶媒体１Ｂに対して必要時間以上に亘って取引が行なわれていると判断した場合にその取引を中断させることができる。
【００３９】
さらに、図３により上述した本発明の関連技術としてのカード型記憶媒体１Ｃでは、アクセス回数およびアクセス時間の両方をチェックするもので、取引装置（外部装置）との間で取引が開始されると、その取引開始以降、計数手段４Ａにより取引装置からデータファイルに対するアクセス回数が計数されるとともに、計時手段４Ｂにより取引装置からデータファイルに対するアクセス時間が計時される。
【００４０】
そして、第１比較手段５Ａによりアクセス回数と予め設定されたアクセス許容回数とが比較されるとともに、第２比較手段５Ｂによりアクセス時間と予め設定されたアクセス許容時間とが比較され、第１比較手段５Ａによる比較の結果、アクセス回数がアクセス許容回数を超えた場合、もしくは、第２比較手段５Ｂによる比較の結果、アクセス時間がアクセス許容回数を超えた場合に、エラー判断手段６Ｃにより、エラーが発生したものと判断され、その取引が中断される。
【００４１】
つまり、１回の取引毎のアクセス回数およびアクセス時間をチェックすることにより、カード型記憶媒体１Ｃに対して必要回数以上のアクセスが行なわれたと判断した場合、および、カード型記憶媒体１Ｃに対して必要時間以上に亘って取引が行なわれていると判断した場合のいずれの場合にも、その取引を中断させることができる。
【００４２】
なお、データファイルが記憶部２Ａ，２Ｃに複数保持されている場合には、アクセス許容回数を各データファイル毎に予め設定し、データファイル毎にアクセス回数を計数することにより、データファイル毎にアクセス回数のチェックを行なうことができる。また、アクセス許容回数をアクセスの種類毎に予め設定し、アクセスの種類毎にアクセス回数を計数することにより、アクセスの種類毎にアクセス回数のチェックを行なうことができる。
【００４３】
また、エラーが発生したと判断した場合に、取引装置（外部装置）へエラー通知を行なうことにより、カード型記憶媒体１Ａ〜１Ｃに対してアクセスを行なった取引装置（外部装置）に、エラーが発生した旨を通知でき、取引装置側でエラー表示等やそれに準じた処理を行なうことができる
さらに、累積したエラー発生回数と予め設定したエラー発生許容回数とを比較し、エラー発生回数がエラー発生許容回数を超えた場合にカード型記憶媒体を非活性化状態（ロック状態）にすることにより、エラー発生回数によるチェックを行なうことができ、エラー発生回数が多いカード型記憶媒体については、そのカード型記憶媒体自体を非活性化に切り換え、以降、外部からのアクセスを一切受け付けないようにすることができる。
【００４４】
このとき、エラー発生回数がエラー発生許容回数を超えた場合に取引装置（外部装置）へエラー通知を行なうことにより、カード型記憶媒体１Ａ〜１Ｃに対してアクセスを行なった取引装置（外部装置）に、当該カード型記憶媒体１Ａ〜１Ｃが非活性化状態になった旨を通知でき、取引装置側でエラー表示等やそれに準じた処理を行なうことができる。
【００４５】
図４により上述した本発明のカード型記憶媒体１１および取引装置２１では、カード型記憶媒体１１と取引装置２１との間で取引が開始され、取引装置２１のアクセス対象のデータファイルが確定すると、カード型記憶媒体１１の固有識別子生成手段１４により、その取引のための固有識別子が生成され、その固有識別子が、固有識別子通知手段１５により取引装置２１に通知される。
【００４６】
固有識別子を通知された取引装置２１では、その取引を終了するまで、通知手段２２により、アクセスコマンドがその固有識別子を付与した状態でカード型記憶媒体１１に通知される。
そして、カード型記憶媒体１１では、第１比較手段１６により、取引装置２１からのアクセスコマンドに付与された固有識別子と、その取引のために生成した固有識別子とが比較され、第１比較手段１６による比較の結果、これらの固有識別子が一致する場合、第１判定手段１７により、取引装置２１からのアクセスコマンドがその取引についてのものであると判断され、取引装置２１からのアクセスコマンドに応じた処理が実行される。
【００４７】
つまり、データファイル確定時に生成された固有識別子は、データファイル確定処理を行なった取引装置のみが知り得るものであり、また、１回の取引の間、取引装置２１からのアクセスコマンドにその固有識別子が常に付与されることになるので、その固有識別子を参照することにより、カード型記憶媒体１１にアクセスを行なった取引装置２１を特定することができる。
【００４８】
なお、固有識別子を第１暗号キーにより暗号化してから、その暗号文固有識別子を固有識別子通知手段１５により取引装置２１に通知し、取引装置２１側で、カード型記憶媒体１１からの暗号文固有識別子を第１暗号キーにより復号化することにより、カード型記憶媒体１１から取引装置２１へ固有識別子を通知する間にその固有識別子がそのまま漏洩するのを防止できるほか、取引を終了するまでは、カード型記憶媒体１１と同じ第１暗号キーをもつ取引装置２１以外からのカード型記憶媒体１１に対するアクセスを禁止することができる。
【００４９】
また、第１暗号キーによる暗号文固有識別子とともに暗号化前の平文固有識別子をカード型記憶媒体１１から取引装置２１に通知し、取引装置２１側で、第１暗号キーによりカード型記憶媒体１１からの暗号文固有識別子を復号化し、復号化して得られた復号文固有識別子とカード型記憶媒体１１からの平文固有識別子とを比較することにより、取引装置２１に対して固有識別子を通知したカード型記憶媒体１１が正当なものであるか否かを判断でき、これらの固有識別子が一致する場合にのみ、取引装置２１からカード型記憶媒体１１に対するアクセス処理を続行して行なうことができる。
【００５０】
さらに、取引装置２１側で、カード型記憶媒体１１からの固有識別子を第２暗号キーにより暗号化してから、その暗号文固有識別子を、取引装置２１のカード型記憶媒体１１に対するアクセスコマンドに付与し、カード型記憶媒体１１側で、取引装置２１からの暗号文固有識別子を第２暗号キーにより復号化してから、その復号文固有識別子とその取引のために生成した固有識別子との比較を行なうことにより、取引装置２１からカード型記憶媒体１１へ固有識別子を通知する間にその固有識別子がそのまま漏洩するのを防止できるほか、取引を終了するまでは、カード型記憶媒体１１と同じ第２暗号キーをもつ取引装置２１以外からのカード型記憶媒体１１に対するアクセスを禁止することができる（請求項２０，２６，３３）。
【００５１】
そして、第２暗号キーによる暗号文固有識別子とともに暗号化前の平文固有識別子を取引装置２１からカード型記憶媒体１１に通知し、カード型記憶媒体１１側で、第２暗号キーによりカード型記憶媒体１１からの暗号文固有識別子を復号化し、復号化して得られた復号文固有識別子と取引装置２１からの平文固有識別子とを比較することにより、カード型記憶媒体１１に対して固有識別子を通知した取引装置２１からのアクセスコマンドが正当なものであるか否かを判断でき、これらの固有識別子が一致する場合にのみ、取引装置２１からのアクセスコマンドによるアクセス処理を続行して行なうことができる。
【００５２】
このとき、カード型記憶媒体１１における固有識別子の比較結果が不一致である場合に、取引装置２１からのアクセスコマンドに対する応答としてエラー通知を行なうことにより、カード型記憶媒体１１に対してアクセスを行なった取引装置２１に、エラーが発生した旨を通知でき、取引装置２１側でエラー表示等やそれに準じた処理を行なうことができる。
【発明の効果】
【００５３】
上述した本発明の関連技術としてのカード型記憶媒体用セキュリティ管理方法およびカード型記憶媒体によれば、本発明のカード型記憶装置用セキュリティ管理方法およびカード型記憶装置によれば、１取引毎のアクセス回数もしくはアクセス時間の少なくとも一方をチェックすることにより、カード型記憶装置に対して必要回数以上のアクセスが行なわれた場合、もしくは、カード型記憶装置に対して必要時間以上に亘って取引が行なわれた場合に、その取引を中断させることができるので、外部からカード型記憶装置に対する不正なアクセスを確実に防止することができ、ファイルアクセス時のセキュリティ強度が大幅に向上するという効果がある。
【００５４】
また、データファイル毎あるいはアクセスの種類毎にアクセス回数のチェックを行なうことにより、データファイル毎あるいはアクセスの種類毎にセキュリティ管理が行なわれる。
さらに、エラー発生回数がエラー発生許容回数を超えた場合にカード型記憶装置を非活性化状態にすることにより、エラー発生回数が多いカード型記憶装置については、外部からのアクセスを一切受け付けないようにすることができ、セキュリティ機能がさらに強化される。
【００５５】
そして、アクセス回数やアクセス時間のチェックによりエラーが発生した場合や、カード型記憶装置が非活性化された場合に、取引装置へエラー通知を行なうことにより、カード型記憶装置に対してアクセスを行なった取引装置側では、エラー表示等やそれに準じた処理を行なって、エラーに対して直ちに対処することができる。
【００５６】
また、本発明のカード型記憶装置用セキュリティ管理方法，カード型記憶装置およびカード型記憶装置用取引装置によれば、１回の取引の間、取引装置からのアクセスコマンドにはその取引について固有の識別子が常に付与されるので、その識別子を参照することにより、カード型記憶装置にアクセスを行なった取引装置を特定でき、一つのデータファイルに対し別々のアプリケーションからアクセス処理が行なわれるのを確実に防止することができ、セキュリティ強度が大幅に向上するという効果がある。
【００５７】
このとき、固有識別子を第１暗号キーにより暗号化してから、その暗号文固有識別子を取引装置に通知することにより、固有識別子がそのまま漏洩するのを防止できるほか、取引を終了するまで、第１暗号キーをもつ取引装置以外からのカード型記憶装置に対するアクセスを禁止でき、セキュリティ機能がさらに強化される。
【００５８】
また、第１暗号キーによる暗号文固有識別子とともに暗号化前の平文固有識別子をカード型記憶装置から取引装置に通知し、取引装置側で、復号化して得られた平文固有識別子とカード型記憶装置からの平文固有識別子とを比較することにより、取引装置に対して固有識別子を通知したカード型記憶装置が正当なものであるか否かを判断でき、セキュリティ機能がさらに強化される。
【００５９】
さらに、取引装置側で第２暗号キーにより暗号化した固有識別子をアクセスコマンドに付与してカード型記憶装置に通知することにより、固有識別子がそのまま漏洩するのを防止できるほか、取引を終了するまで、第２暗号キーをもつ取引装置以外からのカード型記憶装置に対するアクセスを禁止でき、セキュリティ機能がさらに強化される。
【００６０】
そして、第２暗号キーによる暗号文固有識別子とともに暗号化前の平文固有識別子を取引装置からカード型記憶装置に通知し、カード型記憶装置側で、復号化して得られた平文固有識別子と取引装置からの平文固有識別子とを比較することにより、取引装置からのアクセスコマンドが正当なものであるか否かを判断でき、セキュリティ機能がさらに強化される。
【００６１】
このとき、カード型記憶装置における固有識別子の比較結果が不一致である場合に、取引装置へエラー通知を行なうことにより、カード型記憶装置に対してアクセスを行なった取引装置側では、エラー表示等やそれに準じた処理を行なって、エラーに対して直ちに対処することができる。
【発明を実施するための最良の形態】
【００６２】
以下、図面を参照して本発明の実施の形態を説明する。
（ａ）第１実施例の説明
図５は本発明の第１実施例としてのカード型記憶媒体（カード型記憶装置）の構成を示すブロック図であり、この図５において、３０はＩＣカード（カード型記憶装置）で、このＩＣカード３０には、制御部としてのマイクロプロセッサユニット（ＭＰＵ）３１と、記憶部としてのメモリ（ファイル領域；例えばＥＰＲＯＭ／ＥＥＰＲＯＭ）３２とが内蔵されており、このＩＣカード３０は、図１４，図１５により前述した端子部（図５には図示せず）を介して図示しない外部装置（上位装置，取引装置，端末装置）に接続されるようになっている。
【００６３】
ここで、メモリ３２には、複数のデータファイル３２Ｃを保持するデータ領域３２Ａと、このデータ領域３２Ａの各データファイル３２Ｃについての制御情報（ポインタや後述するセキュリティ基本情報やセキュリティ付加情報等）を保持するディレクトリ領域３２Ｂとがそなえられている。
また、ＭＰＵ３１は、ディレクトリ領域３２Ｂにおける制御情報に基づいてメモリ３２のデータ領域３２Ａにおける各データファイル３２Ｃを管理するもので、外部装置からアクセスコマンドを受けると、そのアクセスコマンドに応じてメモリ３２のデータファイル３２Ｃに対する読出処理（リードアクセス），書込処理（ライトアクセス），消去処理（イレーズアクセス），再書込処理（リライトアクセス）等を実行するものである。
【００６４】
そして、本実施例のＭＰＵ３１は、制御動作を行なうためのプログラムを保持するＲＯＭ３３や、制御動作を行なう際のワークエリアとして用いられるＲＡＭ３４を有するほか、図５に示すような機能構成を有している。即ち、ＭＰＵ３１には、通信制御部３５，コマンド受付・振分部３６，コマンド処理部３７およびファイル管理部３８がそなえられている。
【００６５】
通信制御部３５は、外部装置からのコマンドの受信処理（伝送ブロックの受信処理）を行なうとともに、ＩＣカード３０からコマンドを受けた外部装置へのレスポンスの送信処理（伝送ブロックの作成処理）を行なうものである。
コマンド受付・振分部３６は、通信制御部３５により外部装置からのコマンドを受信すると、そのコマンドを受け付け、コマンドに応じた振分を行なうものである。
【００６６】
コマンド処理部３７は、コマンド受付・振分部３６によって振り分けられたコマンドを受け、そのコマンドに応じた処理を行なうもので、その構成および動作については後で詳述する。
ファイル管理部３８は、コマンド処理部３７とメモリ３２との間に配置され、物理アドレス変換を行なって、コマンド処理部３７とメモリ３２との間のインターフェイス部として機能するものである。
【００６７】
また、コマンド処理部３７は、パラメータチェック部４１，セキュリティ基本チェック部４２，セキュリティ付加チェック部４３およびファイルアクセス部４４として機能する部分を有して構成されている。
ここで、パラメータチェック部４１は、外部装置からのアクセスコマンドにおける各種パラメータについてのチェックを行なうものであり、セキュリティ基本チェック部４２は、パラメータチェック部４１によるチェックの結果、問題がなかった場合に、後述するように、従来と同様の手順によりセキュリティ基本情報に基づいてセキュリティ基本チェックを行なうものである。
【００６８】
セキュリティ付加チェック部４３は、セキュリティ基本チェック部４２によるチェックの結果、問題がなかった場合に、後述するように、セキュリティ付加情報に基づいてセキュリティ付加チェックを行なうものである。そして、ファイルアクセス部４４は、セキュリティ付加チェック部４３によるチェックの結果、問題がなかった場合に、外部装置からのアクセスコマンドに応じてメモリ３２に対するアクセス（ファイルアクセスブロック／チェイニングブロックの作成）を行なうものである。
【００６９】
ところで、本実施例のメモリ３２における論理構造は、図７に示すようになっている。即ち、ディレクトリ領域３２Ｂは、さらに、全てのデータファイル３２Ｃを管理するマスタディレクトリ領域３２Ｄと、各データファイル３２Ｃ毎にそなえられ各データファイル３２Ｃにおける複数のファイル３２Ｆを管理するサブディレクトリ領域３２Ｅとから構成されている。
【００７０】
マスタディレクトリ領域３２Ｄには、このマスタディレクトリ領域３２Ｄを管理する管理部と、各データファイル３２Ｃのアドレスを示すポインタとが格納されるほか、各ポインタとともに各データファイル３２Ｃについてのセキュリティ基本情報（アクセス資格毎のアクセス権）が格納されるほか、エラー発生許容回数がセキュリティ付加情報として格納されている。
【００７１】
また、各データファイル３２Ｃにおけるサブディレクトリ領域３２Ｅには、各データファイル３２Ｃにおけるファイル３２Ｆのアドレスを示すポインタが格納されるほか、各ポインタとともに各ファイル３２Ｆについてのセキュリティ付加情報が格納されている。
ここで、サブディレクトリ領域３２Ｅに格納されるセキュリティ付加情報としては、アクセス許容回数およびトランザクション許容時間が設定されており、例えば図６，図７に示すように、１回の正当なトランザクション（取引）で発生すると考えられるアクセスの回数が、当該ファイル３２Ｆに対するアクセス種別毎（例えばREAD,WRITE,ERASE,REWRITE等）に且つ各認証コード（アクセス資格）毎にアクセス許容回数として設定されるとともに、１回の正当なトランザクション処理に要する時間が、トランザクション許容時間（アクセス許容時間）として設定されている。
【００７２】
一方、マスタディレクトリ領域３２Ｄのセキュリティ基本情報は、前述したアクセス資格およびアクセス権であり、アクセス資格は、例えば、カード発行者，カード所持者，アプリケーション提供者，サービス実行者，サービス提供者等で、外部装置（アプリケーション）からＩＣカード３０に対してアクセスコマンドを発する者の資格を確認するためのものである。また、アクセス権（リード権，ライト権等）は、メモリ３２に保持されるデータファイル３２Ｃ毎に前記アクセス資格に応じて設定されるもので、各アクセス資格を有する者が各データファイル３２Ｃに対して行なうことのできるアクセス処理を規定している。なお、リード権，ライト権の他に、イレーズ権，リライト権などもある。
【００７３】
そして、セキュリティ基本チェック部４２は、従来と同様に、外部装置のアクセス対象のデータファイル３２Ｃ（ファイル３２Ｆ）が選択・確定された後にベリファイコマンド（図１６参照）を受けると、このデータファイル３２Ｃにアクセスするためのアクセス資格の認証を行なうものである。
さらに、このセキュリティ基本チェック部４２は、アクセス資格の認証後にアクセスコマンド（Read Record/Write Record等）を受けると、マスタディレクトリ領域３２Ｄにおける当該データファイル３２Ｃについてのセキュリティ基本情報に基づいて、そのアクセスコマンドが、認証されたアクセス資格に対しアクセス権として予め許可されているアクセス種（読出，書込等）であるか否かの確認を行なうものである。
【００７４】
また、セキュリティ付加チェック部４３は、セキュリティ基本チェック部４２により当該アクセスコマンドが認証されたアクセス資格に対しアクセス権として許可されているものであると確認された場合に、マスタディレクトリ領域３２Ｄおよびサブディレクトリ領域３２Ｅにおける当該データファイル３２Ｃ（ファイル３２Ｅ）についてのセキュリティ付加情報に基づいてセキュリティ付加チェックを行なうものである。
【００７５】
そして、本実施例のセキュリティ付加チェック部４３は、アクセス回数カウンタ（計数手段）５１，タイマ（計時手段）５２，第１比較部５３，第２比較部５４，エラー判断部５５，エラー通知部５６，エラー発生回数累積カウンタ（累積手段）５７，エラー発生回数比較部５８および非活性化指示部（非活性化手段）５９から構成されている。
【００７６】
ここで、アクセス回数カウンタ５１は、外部装置との間で取引が開始されると、当該取引開始後のアクセス回数を、アクセス対象のファイル３２Ｆ毎に且つアクセスの種類毎に計数するもので、そのカウント値の格納領域はＲＡＭ３４（ワークエリア）に確保されている。また、タイマ５２は、当該取引開始後のデータファイル３２Ｃ（ファイル３２Ｆ）に対するアクセス時間を計時するものである。
【００７７】
そして、第１比較部５３は、アクセス回数カウンタ５１により計数されたアクセス回数（ＲＡＭ３４のカウント値格納領域から読み出したもの）と、サブディレクトリ領域３２Ｅに予め設定されたアクセス許容回数（ファイル３２Ｆ，アクセス資格およびアクセス種別に対応するもの）とを比較するものである。また、第２比較部５４は、タイマ５２により計時されたアクセス時間と、サブディレクトリ領域３２Ｅに予め設定されたアクセス許容時間（データファイル３２Ｃに対応するもの）とを比較するものである。
【００７８】
エラー判断部５５は、第１比較部５３による比較の結果、アクセス回数がアクセス許容回数を超えた場合、もしくは、第２比較部５４による比較の結果、アクセス時間がアクセス許容時間を超えた場合にエラーが発生したものと判断して、当該取引を中断させるものであり、エラー通知部５６は、エラー判断部５５によりエラーが発生したものと判断した場合に外部装置へエラー通知を行なうものである。
【００７９】
さらに、エラー発生回数累積カウンタ５７は、エラー判断部５５によりエラーが発生したものと判断した場合に、そのエラー発生回数をカウントアップするもので、そのカウント値の格納領域はＲＡＭ３４（ワークエリア）に確保されている。また、エラー発生回数比較部５８は、エラー発生回数累積カウンタ５７により計数されたエラー発生回数（ＲＡＭ３４のカウント値格納領域から読み出したもの）と、マスタディレクトリ領域３２Ｄに予め設定されたエラー発生許容回数とを比較するものである。
【００８０】
そして、非活性化指示部５９は、エラー発生回数比較部５８による比較の結果、エラー発生回数がエラー発生許容回数を超えた場合に、このＩＣカード３０自体を非活性化状態（ロック状態）に切り換えるべく非活性化指示信号を出力するものである。
なお、非活性化状態になったＩＣカード３０を、再度、活性化状態にするためには、正規の手続きを踏まなければず、その正規の手続きを行なうまで、ＩＣカード３０は、外部からのアクセスを一切受け付けないようになっている。また、エラー通知部５６は、エラー発生回数比較部５８による比較の結果、エラー発生回数がエラー発生許容回数を超えた場合に、外部装置へエラー通知を行なうようになっている。
【００８１】
上述のように、本実施例では、各データファイル３２Ｃ（ファイル３２Ｆ）に対するセキュリティ基本情報（アクセス資格，アクセス権）に加え、セキュリティ付加情報が併せてメモリ３２のディレクトリ領域３２Ｂに格納されているが、そのセキュリティ付加情報は、ＩＣカード３０を用いたシステムの設計段階で、データファイル３２Ｃ（ファイル３２Ｆ）毎で且つアクセス種別毎のアクセス許容回数およびトランザクション処理許容時間として算出され、ＩＣカード３０の発行時にディレクトリ領域３２Ｂに設定される。セキュリティ付加情報は、正当なアプリケーション（取引装置）のみが満たすことができる条件である。
【００８２】
そして、セキュリティ付加情報のＩＣカード３０内への設定には、創成系コマンド（Createコマンド）が使用される。通常、創成系コマンドでは、パラメータ指定により、ＩＣカード３０内のメモリ３２に、データ領域３２Ａとこのデータ領域３２Ａを管理するディレクトリ領域３２Ｂとが確保されるとともに、ディレクトリ領域３２Ｂに、各データファイル３２Ｃ（ファイル３２Ｆ）へアクセスするためのポインタと、セキュリティ基本情報（アクセス資格，アクセス権）とが設定される。
【００８３】
本実施例では、さらに、セキュリティ付加情報の項目（パラメータ）として、エラー発生許容回数と、トランザクション処理許容時間と、認証コード（アクセス資格）毎のアクセスコマンド（Read,Write等）の許容回数とを追加し、ディレクトリ領域３２Ｂに、これらのセキュリティ付加情報を追加・設定する。
また、本実施例の創成系コマンドでは、アクセス回数カウンタ５１およびエラー発生回数累積カウンタ５７によるカウント値の格納領域をＲＡＭ３４に確保して初期値‘００’ｈを設定する。なお、このＲＡＭ３４におけるカウント値の格納領域は、ＩＣカード３０を外部装置（取引装置）におけるリーダ／ライタに挿入した際に行なわれるハードウエアリセットにより、初期値‘００’ｈにクリアされるようになっている。
【００８４】
なお、本実施例のＩＣカード３０においては、セキュリティ付加情報を設定しないことにより、トランザクション毎のファイルアクセス回数チェックやトランザクション処理時間チェックがＮＯＰ（No Operation）になり、従来と同様のセキュリティ基本情報のみによるセキュリティレベルにすることができる。
次に、上述のごとく構成された本実施例のＩＣカード３０について、ファイルアクセス時のセキュリティ概念を図８により説明する。なお、ここでは、図８に示すように、ＩＣカード３０に、メモリ３２内のあるファイル３２Ｆに対するリード権（アクセス権）として、サービス提供者，カード発行者，サービス実行者，カード所持者のそれぞれに“ＯＫ”，“ＯＫ”，“ＮＧ”，“ＮＧ”が設定されているものとする。つまり、サービス提供者，カード発行者については当該ファイル３２Ｆに対するリード処理を行なうことができる。
【００８５】
このようなリード権の設定状態で、図８に示すように、サービス実行者のアクセス資格で動作するアプリケーションがリードコマンドを発行した場合、当該ファイル３２Ｆに対応するリードのアクセス権は、サービス実行者について“ＮＧ”と設定されているので、セキュリティ基本チェック部４２の機能により、当該ファイル３２Ｆへのリードアクセスはリジェクトされることになる。
【００８６】
これに対し、図８に示すように、サービス提供者のアクセス資格で動作するアプリケーションがリードコマンド（READ）を発行した場合、ＩＣカード１００において当該データファイルに対応するリードのアクセス権は、サービス提供者について“ＯＫ”と設定されているので、セキュリティ基本チェック部４２の機能により、当該ファイル３２Ｆへのリードアクセスが可能であると判断される。
【００８７】
そして、従来の技術では上述のようにセキュリティ基本チェック部４２により“ＯＫ”であると判断されると、直ちに当該ファイル３２Ｆへのリードアクセスを許可していたが、本実施例では、次の段階として、セキュリティ付加チェック部４３により、アクセス回数およびトランザクション処理時間のチェックを行なっている。
【００８８】
図８において、矢印Ａ１は、セキュリティ付加チェック部４３によりセキュリティ付加情報に基づく条件が満たされたものと判断して当該ファイル３２Ｆへのリードアクセスを許可した例を示し、矢印Ａ２は、セキュリティ付加チェック部４３によりセキュリティ付加情報に基づく条件が満たされなかったものと判断して当該ファイル３２Ｆへのリードアクセスを許可しない例を示している。
【００８９】
本実施例では、セキュリティ付加チェック部４３のエラー判断部５５により、今回のリードコマンドが、第１比較部５３による比較結果（アクセス回数カウンタ５１によるカウント値とアクセス許容回数との比較結果）に基づいて、取引を開始してからリードアクセスの許容回数範囲内に到来したものであると判断された場合、当該ファイル３２Ｆへのリードアクセスが許可される。
【００９０】
一方、今回のリードコマンドが、取引を開始してからリードアクセスの許容回数範囲を超えて到来したものである場合には、エラー判断部５５によりエラーが発生したものと判断され、取引を中断し、エラー発生累積カウンタ５７によるカウント値をカウントアップし、以下の処理を行なう。
まず、エラー発生回数比較部５８により、エラー発生累積カウンタ５７のカウント値とエラー発生許容回数とを比較し、〔カウント値〕＜〔エラー発生許容回数〕であった場合には、エラー通知部５６により、外部からのコマンドに対するレスポンスとしてエラー通知のみを行なう。一方、〔カウント値〕≧〔エラー発生許容回数〕であった場合には、非活性化指示部５９により非活性化指示信号を出力して、このＩＣカード３０自体を非活性化状態（カードロック状態）にするとともに、エラー通知部５６により、外部からのコマンドに対するレスポンスとしてエラー通知を行なう。ＩＣカード３０を非活性化状態に切り換えることにより、このＩＣカード３０は正規の手続きにより非活性化状態を解除しない限り、以降、使用不能となる。
【００９１】
ところで、本実施例のＩＣカード３０において、セキュリティ付加情報としてトランザクション処理許容時間がサブディレクトリ領域３２Ｅに設定されている場合には、ＩＣカード３０がリーダ／ライタ（図示せず）に挿入されてハードウエアリセットが掛かった時点で、タイマ５２がクリアされて起動される。
そして、常時、セキュリティ付加チェック部４３の第２比較部５４によりタイマ５２による計時値とトランザクション処理許容時間とが比較され、トランザクション処理許容時間の範囲でトランザクションが終了すれば、ＩＣカード３０を排出して取引を正常に終了する。
【００９２】
しかし、タイマ５２による計時値がトランザクション処理許容時間を超えた場合には、その時点でエラー判断部５５によりエラーが発生したものと判断され、取引を中断し、エラー発生累積カウンタ５７によるカウント値をカウントアップし、アクセス回数がアクセス許容回数を超えた場合と同様の処理を行なう。
つまり、エラー発生回数比較部５８による比較の結果、〔カウント値〕＜〔エラー発生許容回数〕であった場合には、エラー通知部５６により、コマンドレスポンスとしてエラー通知のみを行なう一方、〔カウント値〕≧〔エラー発生許容回数〕であった場合には、非活性化指示部５９により、ＩＣカード３０自体を非活性化状態（カードロック状態）にするとともに、エラー通知部５６によりエラー通知を行なう。やはり、この場合も、ＩＣカード３０は正規の手続きにより非活性化状態を解除しない限り、以降、使用不能となる。
【００９３】
このように、本実施例では、セキュリティ基本情報に基づいてセキュリティ基本チェック部４２によるチェックが行なわれた後に、さらに、セキュリティ付加情報としてディレクトリ領域３２Ｂに設定された条件のチェックをセキュリティ付加チェック部４３により行なうことで、セキュリティを強化している。
ただし、ディレクトリ領域３２Ｂにセキュリティ付加情報が設定されていない場合には、従来と同様に、セキュリティ基本情報に基づいてセキュリティ基本チェック部４２によってチェックを行なうだけになる。
【００９４】
さて、次に、本実施例のＩＣカード３０におけるファイルアクセス時の処理動作（アクセス回数チェック動作）を、図９に示すフローチャート（ステップＳ１〜Ｓ１４）に従って説明する。
ＩＣカード３０が上位装置（リーダ／ライタ）に挿入されると、上位装置側からファイルオープン指令がＩＣカード３０へ送られ、まず、このＩＣカード３０がロック状態（非活性化状態）であるか否かを判断する（ステップＳ１）。
【００９５】
ロック状態であれば（ＹＥＳ判定）、上位装置へエラー通知を行なって取引を開始しない一方、ロック状態でなければ（ＮＯ判定）、上位装置からのアクセス対象であるファイルについてファイルオープン処理を行なう（ステップＳ２）。そして、セキュリティ付加情報としてトランザクション処理許容時間が設定されている場合には、ハードウエアリセットによりタイマ５２を起動させてから、正常に取引を開始する旨を上位装置へ通知する。
【００９６】
このようにしてファイルオープンが行なわれると、上位装置から認証コードがＩＣカード３０に通知され、メモリ３２からセキュリティ基本情報〔当該ファイルの認証コード（アクセス資格）〕を参照して（ステップＳ３）、セキュリティ基本チェック部４２により、その認証コードのチェック、つまり、上位装置が当該ファイルに対してアクセスする資格のある者であるか否かのチェックを行なう（ステップＳ４）。認証コードが当該ファイルに適したものであれば（ＹＥＳ判定）、その旨を上位装置に通知して次の処理（ファイルアクセス処理）へ移行する一方、認証コードが当該ファイルに適したものでなければ（ＮＯ判定）、上位装置へエラー通知を行なって取引を終了する。
【００９７】
認証コードチェック（アクセス資格チェック）の結果、認証コードが当該ファイルに適したものであれば、上位装置からファイルアクセスコマンドがＩＣカード３０に通知される。アクセスコマンドを受け付けると、ディレクトリ領域３２Ｂからアクセス対象のファイル３２Ｆをポインタに基づいてポイントするとともに、当該ファイル３２Ｆに対応するセキュリティ基本情報を参照し（ステップＳ５）、セキュリティ基本チェック部４２により、そのアクセス権のチェック、つまり、上位装置からのアクセスコマンドがその上位装置のアクセス資格について許可されているアクセス種であるか否かのチェックを行なう（ステップＳ６）。
【００９８】
そのアクセスコマンドの種類が当該ファイルについて許可されていなければ（ＮＯ判定）、上位装置へエラー通知を行なって取引を終了する一方、そのアクセスコマンドの種類が当該ファイルについて許可されていれば（ＹＥＳ判定）、アクセス回数カウンタ５１によるカウント値をカウントアップする（ステップＳ７）。
【００９９】
そして、メモリ３２からセキュリティ付加情報（当該ファイルについて設定されているアクセス資格，アクセス権に応じたアクセス許容回数）を参照するとともに、ＲＡＭ３４からアクセス回数カウンタ５１のカウント値を参照して（ステップＳ８）、第１比較部５３により、アクセス回数カウンタ５１のカウント値とアクセス許容回数とを比較する（ステップＳ９）。その比較の結果、〔カウント値〕≦〔アクセス許容回数〕であった場合（ＹＥＳ判定の場合）、そのアクセスコマンドによるファイルアクセスが、ファイルアクセス部４４により実行される（ステップＳ１４）。
【０１００】
第１比較部５３による比較の結果、〔カウント値〕＞〔アクセス許容回数〕であった場合（ＮＯ判定の場合）には、エラー判断部５５によりエラーが発生したものと判断され、そのアクセスコマンドによる取引を中断するとともに、エラー発生累積カウンタ５７によるカウント値をカウントアップする（ステップＳ１０）。
【０１０１】
この後、メモリ３２からセキュリティ付加情報（エラー発生許容回数）を参照するとともに、ＲＡＭ３４からエラー発生累積カウンタ５７のカウント値を参照して（ステップＳ１１）、エラー発生回数比較部５８により、エラー発生累積カウンタ５７のカウント値とエラー発生許容回数とを比較する（ステップＳ１２）。その比較の結果、〔カウント値〕＜〔エラー発生許容回数〕であった場合（ＹＥＳ判定の場合）には、エラー通知部５６により、外部からのコマンドに対するレスポンスとしてエラー通知のみを行なう。
【０１０２】
一方、エラー発生回数比較部５８による比較の結果、〔カウント値〕≧〔エラー発生許容回数〕であった場合（ＮＯ判定の場合）には、非活性化指示部５９により非活性化指示信号を出力して、このＩＣカード３０自体を非活性化状態（カードロック状態）にしてから（ステップＳ１２）、エラー通知部５６により、外部からのコマンドに対するレスポンスとしてエラー通知を行なう。
【０１０３】
なお、図９中には記載していないが、セキュリティ付加情報としてトランザクション処理許容時間がサブディレクトリ領域３２Ｅに設定されている場合には、前述したように、常時、セキュリティ付加チェック部４３の第２比較部５４によるタイマ５２の計時値とトランザクション処理許容時間との比較を並行して行なう。そして、トランザクション処理許容時間の範囲でトランザクションが終了すれば、取引を正常に終了する一方、タイマ５２の計時値がトランザクション処理許容時間を超えた時点で、エラー判断部５５によりエラーが発生したものと判断し、取引を中断して、前述したステップＳ７〜Ｓ１３の処理を行なう。
【０１０４】
以下に、より具体的な例について、図１０（ａ），（ｂ）を用いて説明する。なお、図１０（ａ）は、本実施例を適用した場合の正当なアプリケーションの動作を説明するためのコマンドシーケンス図であり、図１０（ｂ）は、本実施例を適用した場合の不当なアプリケーションの動作を説明するためのコマンドシーケンス図である。また、ここでは、セキュリティ付加情報として、トランザクション毎のアクセス回数チェックについて説明する。
【０１０５】
そして、図１０（ａ），（ｂ）に示すように、ＩＣカード３０内のファイル３２Ｆに残高およびその残高の有効期限がセットされているものとし、その有効期限内に残高分を使用しないと、その残高は無効になるというアプリケーションを考える。また、セキュリティ付加情報として、リードアクセス許容回数が１回、ライトアクセス許容回数が１回、エラー発生許容回数が１回と設定されているものとする。
【０１０６】
ここで、正当なアプリケーションＡで動作する上位装置による処理は、図１０（ａ）に示すように、リードアクセスコマンドによりＩＣカード３０から残高を読み込み、残高を更新してから、その残高を、ライトアクセスコマンドによりＩＣカード３０に書き込むという処理を行なっている。この場合、リードアクセス，ライトアクセスの各回数は１回であるので、正常に処理されることになる。
【０１０７】
一方、残高更新後に残高有効期限を不当に更新しようとする不当なアプリケーションＡ’で動作する上位装置による処理では、図１０（ｂ）に示すように、１回のトランザクションでリードアクセス，ライトアクセスをそれぞれ２回行なっており、セキュリティ付加情報として設定されているアクセス許容回数を超えてしまう。従って、残高有効期限に対する、リード／ライトの各アクセスはエラーとなり、取引は中断されてリジェクトされることになる。
【０１０８】
また、図１０（ｂ）に示す２回目の不正な書込み処理（残高有効期限の更新）により、エラー発生累積カウンタが２回となり、エラー発生許容回数をオーバすることになるため、この時点でＩＣカード３０が非活性化状態（カードロック状態）になり、以降の処理が全てリジェクトされることになる。例えば、このような非活性化状態で、再度、正常なアプリケーションを起動したとしても、処理が不可となる。
【０１０９】
このように、本発明の第１実施例によれば、ＩＣカード３０内のデータ領域３２Ａを管理しているディレクトリ領域３２Ｂに、従来のセキュリティ基本情報に加えて、アクセス資格，アクセス権，ファイル毎に設定されるアクセス許容回数をセキュリティ付加情報としてもつことにより、トランザクション毎に、そのセキュリティ付加情報を使用してファイルへのアクセス回数チェックをＩＣカード３０内で行なうことにより、セキュリティ管理が行なわれる。
【０１１０】
従って、万一、アクセス資格とアクセス権との関係の情報が外部に漏洩した場合や、不当にアクセス資格およびアクセス権の情報を入手された場合にも、不正なアプリケーションからのアクセスを確実に防止でき、ファイルアクセス時のセキュリティチェックが大幅に強化される。
また、アクセス許容回数とトランザクション処理許容時間の両方を監視することにより、１回のトランザクションで、ＩＣカード３０に対して必要回数以上のアクセスが行なわれた場合、および、ＩＣカード３０に対して必要時間以上に亘って取引が行なわれた場合に、その取引を中断させることができるので、さらにセキュリティを強化することができる。
【０１１１】
さらに、ＩＣカード３０における１回のトランザクション中のエラー発生回数がエラー発生許容回数を超えた場合に、ＩＣカード３０が非活性化状態にされるので、外部からのアクセスを一切受け付けないようにすることができ、セキュリティ機能がさらに強化される。
そして、上述した各種チェックによりエラーが発生した場合や、カード型記憶媒体が非活性化された場合には、上位装置（リーダ／ライタ，取引装置，端末装置）へエラーレスポンスによるエラー通知が行なわれ、ＩＣカード３０に対してアクセスを行なった上位装置側では、エラー表示等やそれに準じた処理を行ない、そのエラーに対して直ちに対処することができる。
【０１１２】
上述したような本実施例のＩＣカード３０を、ＩＣカード用リーダ／ライタを内蔵した端末装置、あるいは、独立したＩＣカード用リーダ／ライタに接続された端末装置や、このような端末装置の上位装置（ホスト）などを含んで構成されるシステムに用いることにより、そのシステム全体のセキュリティを強化することができる。
【０１１３】
以上のように、本実施例によれば、セキュリティ基本情報、即ち、アクセス資格とその資格に対応するアクセス権とのセキュリティ基本情報にアクセス許容回数等の付加情報を絡めることにより、ＩＣカード３０を用いたシステムのセキュリティの強度を高めることができ、高度なセキュリティが要求されるシステム（キャッシュカード，クレジットカード等）のセキュリティ強度向上に寄与するところが大きい。
【０１１４】
なお、上述した第１実施例では、アクセス許容回数とトランザクション処理許容時間の両方をセキュリティ付加情報として設定し、アクセス回数チェックとトランザクション処理時間チェックとを並行して行なう場合について説明したが、これらのアクセス回数チェックまたはトランザクション処理時間チェックのいずれか一方のみを行なうようにしてもよい。
【０１１５】
（ｂ）第２実施例の説明
図１１は本発明の第２実施例としてのカード型記憶媒体（カード型記憶装置）および取引装置の構成を示すブロック図であり、この図１１において、６０はＩＣカード（カード型記憶装置）で、このＩＣカード６０には、第１実施例のＩＣカード３０と同様に、制御部としてのマイクロプロセッサユニット（ＭＰＵ）６１と、記憶部としてのメモリ（ファイル領域；例えばＥＰＲＯＭ／ＥＥＰＲＯＭ）６２とが内蔵されており、このＩＣカード６０は、図１４，図１５により前述した端子部（図１１には図示せず）を介して、取引装置８０に接続されるようになっている。
【０１１６】
ここで、メモリ６２には、複数のデータファイル６２Ｃを保持するデータ領域６２Ａと、このデータ領域６２Ａの各データファイル６２Ｃについての制御情報を保持するディレクトリ領域６２Ｂとがそなえられている。
また、ＭＰＵ６１は、ディレクトリ領域６２Ｂにおける制御情報に基づいてメモリ６２のデータ領域６２Ａにおける各データファイル３２Ｃを管理するもので、外部装置からアクセスコマンドを受けると、そのアクセスコマンドに応じた処理を実行する機能を有している。
【０１１７】
そして、本実施例のＭＰＵ６１は、制御動作を行なうためのプログラムを保持するＲＯＭ６３や、制御動作を行なう際のワークエリアとして用いられるＲＡＭ６４を有するほか、図１１に示すような機能構成を有している。即ち、ＭＰＵ６１には、ノードＩＤ生成部（固有識別子生成手段）６５，暗号化部６６，ノードＩＤ通知部（固有識別子通知手段）６７，復号化部６８，第１比較部６９，第１判断部７０，第２比較部７１，第２判断部７２およびエラー通知部７３がそなえられている。
【０１１８】
ここで、ノードＩＤ生成部６５は、後述する取引装置（外部装置）８０との間で取引（トランザクション）が開始され、取引装置８０のアクセス対象のファイルが確定すると、今回のトランザクションのためのノードＩＤ（node identifier;固有識別子）を生成するものである。このノードＩＤ生成部６５によるノードＩＤの生成処理は特に規定しないが、例えば、疑似乱数等を発生させる関数（数を動的，ランダムに発生するもの）を用い、その疑似乱数等をノードＩＤとして使用する。
【０１１９】
暗号化部６６は、ノードＩＤ生成部６５により今回のトランザクションのために生成したノードＩＤを第１暗号キーにより暗号関数を用いて暗号化するものである。以後、暗号文をＥ（平文）として記述し、復号文をＤ（平文）として記述する場合がある。ここで、“Ｅ”は暗号化するという意味のエンサイファ(encipher)の頭文字であり、“Ｄ”は復号化するという意味のディサイファ(decipher)の頭文字である。
【０１２０】
ノードＩＤ通知部６７は、暗号化部６６により暗号化して得られた暗号文ノードＩＤを、暗号化前の平文ノードＩＤとともにファイル確定時のレスポンス情報として取引装置８０に通知するものである。つまり、本実施例では、ＩＣカード６０から取引装置８０に通知されるノードＩＤは、“平文＋Ｅ（平文）”の形式になっている。
【０１２１】
また、復号化部６８は、取引装置８０から、“平文＋Ｅ（平文）”の形式のノードＩＤをパラメータとして付与されたファイルアクセスコマンドを通知されると、第２暗号キーにより暗号関数を用いて、暗号文ノードＩＤ〔Ｅ（平文）〕を復号化して、ノードＩＤについての復号文Ｄ（平文）を得るためのものである。なお、この復号化部６８で用いられる第２暗号キーおよび暗号関数は、当該ＩＣカード６０もしくは後述の取引装置８０が正当なものであれば、その取引装置８０の暗号化部８４での暗号化に用いられる第２暗号キーおよび暗号関数と同一のものになる。
【０１２２】
第２比較部７１は、復号化部６８により復号化して得られた復号文ノードＩＤ〔Ｄ（平文）〕と取引装置８０からの平文ノードＩＤとを比較するものである。そして、第２判断部７２は、第２比較部７１による比較の結果、これらの復号文ノードＩＤと平文ノードＩＤとが一致した場合に取引装置８０からのアクセスコマンドが正当なものであると判断するもので、この第２判断部７２により取引装置８０からのアクセスコマンドが正当なものであると判断された場合には、第１比較部６９による次の処理へ移行するようになっている。
【０１２３】
第１比較部６９は、取引装置８０からのアクセスコマンドに付与されたノードＩＤ（平文ノードＩＤまたは復号文ノードＩＤのいずれか一方）と、今回のトランザクションのためにノードＩＤ生成部６５により生成したノードＩＤとを比較するものである。そして、第１判断部７０は、第１比較部６９による比較の結果、これらのノードＩＤが一致した場合に取引装置８０からのアクセスコマンドが当該トランザクションについてのものであると判断するもので、この第１判断部７０により取引装置８０からのアクセスコマンドが当該トランザクションについてのものであると判断された場合には、取引装置８０からのアクセスコマンドに応じた処理を実行するようになっている。
【０１２４】
さらに、エラー通知部７３は、第１比較部６９もしくは第２比較部７１によるノードＩＤの比較結果が不一致である場合、即ち、第１判断部７０により取引装置８０からのアクセスコマンドが当該トランザクションについてのものでないと判断された場合、もしくは、第２判断部７２により取引装置８０からのアクセスコマンドが不当なものであると判断された場合に、取引装置８０からのアクセスコマンドに対する応答としてエラー通知（エラーレスポンス通知）を行なうものである。
【０１２５】
一方、本実施例の取引装置８０は、ＩＣカード６０に対してアクセスし取引を実行するもので、この取引装置８０には、復号化部８１，比較部８２，判断部８３，暗号化部８４，通知部８５がそなえられている。
ここで、復号化部８１は、ＩＣカード６０とのトランザクションの開始時に、このＩＣカード６０から“平文＋Ｅ（平文）”の形式でノードＩＤを通知されると、第１暗号キーにより暗号関数を用いて、暗号文ノードＩＤ〔Ｅ（平文）〕を復号化して、ノードＩＤについての復号文Ｄ（平文）を得るためのものである。なお、この復号化部８１で用いられる第１暗号キーおよび暗号関数は、当該取引装置８０もしくは前述のＩＣカード６０が正当なものであれば、そのＩＣカード６０の暗号化部６７での暗号化に用いられる第１暗号キーおよび暗号関数と同一のものになる。
【０１２６】
また、比較部８２は、復号化部８１により復号化して得られた復号文ノードＩＤ〔Ｄ（平文）〕とＩＣカード６０からの平文ノードＩＤとを比較するものである。
そして、判断部８３は、比較部８２による比較の結果、これらの復号文ノードＩＤと平文ノードＩＤとが一致した場合にＩＣカード６０が当該取引装置８０にとって正当なものであると判断するもので、この判断部８３によりＩＣカード６０がが正当なものであると判断された場合には、暗号化部８４による次の処理へ移行するようになっている。
【０１２７】
暗号化部８４は、ＩＣカード６０からのノードＩＤ（平文ノードＩＤまたは復号文ノードＩＤのいずれか一方）を第２暗号キーにより暗号関数を用いて暗号化するものである。なお、この暗号化部８４で用いられる第２暗号キーおよび暗号関数は、前述した通り、当該取引装置８０もしくは前述のＩＣカード６０が正当なものであれば、そのＩＣカード６０の復号化部６８での復号化に用いられる第２暗号キーおよび暗号関数と同一のものになる。
【０１２８】
さらに、通知部８５は、今回のＩＣカード６０とのトランザクションを終了するまで、“平文＋Ｅ（平文）”の形式のノードＩＤを、パラメータとして付与したアクセスコマンドをＩＣカード６０に通知するものである。なお、通知部８５でアクセスコマンドに付与される暗号文ノードＩＤ〔Ｅ（平文）〕は、暗号化部８４によって暗号化されたものである。
【０１２９】
次に、上述のごとく構成された本実施例のＩＣカード６０および取引装置８０について、ファイルアクセス時の処理動作を、図１２に示すフローチャート（ステップＳ２１〜Ｓ３０）に従って説明する。
ＩＣカード６０が取引装置８０（リーダ／ライタ）に挿入されると、取引装置８０側からＩＣカード６０にファイルオープン指令等が通知され、例えば第１実施例で説明したようなセキュリティチェックを行なわれる。そのセキュリティチェックの結果がＯＫであれば、取引装置８０側からＩＣカード６０にファイル確定コマンドが通知され、ＩＣカード６０において、ファイル確定処理が行なわれる（ステップＳ２１）。
【０１３０】
そして、取引装置８０からＩＣカード６０へのファイル確定処理依頼を契機として、アクセス対象のファイルが確定されると、ＩＣカード６０のノードＩＤ生成部６５により、今回のトランザクションについてなノードＩＤが生成される（ステップＳ２２）。
ここで生成されたノードＩＤは、次にＩＣカード６０を取引装置等に挿入した際にハードウエアリセットが掛かるまでＩＣカード６０のメモリ６２内で保持される。そして、ハードウエアリセット時に、前回のノードＩＤをメモリ３２から消去することにより、トランザクション毎に固有（ユニーク）なノードＩＤとなる。
【０１３１】
ノードＩＤ生成部６５により生成されたノードＩＤは、ノードＩＤ通知部６７により取引装置８０に通知されるが、このとき、そのノードＩＤを平文のまま通知する平文形式をとってもよいし、また、そのノードＩＤを暗号化し暗号文として通知する暗号文形式をとってもよい。さらには、平文ノードＩＤと暗号文ノードＩＤとを両方とも通知する平文＋暗号文〔平文＋Ｅ（平文）〕の形式をとってもよい。
【０１３２】
図１２や、具体例について後述する図１３では、最もセキュリティレベルの高い最後の形式、つまり、“平文＋Ｅ（平文）”の形式のノードＩＤを、ＩＣカード６０と取引装置８０との間でやり取りする場合について説明する。
さて、第２本実施例では、図１２に示すように、ノードＩＤ生成部６５により生成されたノードＩＤは、暗号化部６６で、第１暗号キーにより暗号関数を用いて暗号化された後（ステップＳ２３）、ノードＩＤ通知部６７により、暗号化部６６により得られた暗号文ノードＩＤ〔Ｅ（平文）〕と、暗号化前の平文ノードＩＤとが取引装置８０へ通知される。
【０１３３】
そして、ノードＩＤを通知された取引装置８０では、まず、復号化部８１で、暗号文ノードＩＤ〔Ｅ（平文）〕が第１暗号キーにより暗号関数を用いて復号化され（ステップＳ２４）、比較部８２において、復号化部８１により得られた復号文ノードＩＤ〔Ｄ（平文）〕と、ＩＣカード６０から通知された平文ノードＩＤとが比較・照合される（ステップＳ２５）。
【０１３４】
その比較の結果、復号文ノードＩＤと平文ノードＩＤとが一致した場合、判断部８３により、ＩＣカード６０が取引装置８０にとって正当なものであると判断し、次の処理へ移行する。
一方、復号文ノードＩＤと平文ノードＩＤとが不一致であった場合には、判断部８３により、ＩＣカード６０から取引装置８０へノードＩＤを通知する際に何らかのデータ改ざんがあったか、あるいは、ＩＣカード６０における暗号キー，暗号関数と取引装置８０における暗号キー，暗号関数とが異なりＩＣカード６０がこの取引装置８０のアプリケーションの対象ではないと判断し、トランザクションを中断してから、ＩＣカード６０を排出する。
【０１３５】
そして、復号文ノードＩＤと平文ノードＩＤとが一致した場合、それ以降、取引装置８０からＩＣカード６０に対してファイルアクセスコマンドを発行する際には、ノードＩＤが、暗号化部８４で、第２暗号キーにより暗号関数を用いて暗号化され（ステップＳ２６）、暗号化部８４より得られた暗号文ノードＩＤ〔Ｅ（平文）〕と、暗号化前の平文ノードＩＤとが、ファイルアクセスコマンドにパラメータとして付与された状態で、通知部８５によりＩＣカード６０へ通知される。
【０１３６】
ファイルアクセスコマンドのパラメータとして、“平文＋Ｅ（平文）”の形式のノードＩＤを通知されたＩＣカード６０では、まず、復号化部６８で、暗号文ノードＩＤ〔Ｅ（平文）〕が第２暗号キーにより暗号関数を用いて復号化され（ステップＳ２７）、第２比較部７１において、復号化部６８により得られた復号文ノードＩＤ〔Ｄ（平文）〕と、取引装置８０から通知された平文ノードＩＤとが比較・照合される（ステップＳ２８）。
【０１３７】
その比較の結果、復号文ノードＩＤと平文ノードＩＤとが一致した場合、第２判断部７２により、取引装置８０からのアクセスコマンドが正当なものであると判断し、次に、第１比較部６９により、ノードＩＤ（復号文ノードＩＤもしくは平文ノードＩＤ）と、今回のトランザクションのためにノードＩＤ生成部６５により生成されメモリ６２に保持されているノードＩＤとが比較・照合される（ステップＳ２９）。
【０１３８】
その比較の結果、これらのノードＩＤが一致した場合には、第１判断部７０により、取引装置８０からのファイルアクセスコマンドが当該トランザクションについてのものである、つまり、ファイルアクセスコマンドを発行したアプリケーション（取引装置８０）はファイル確定処理を行なったアプリケーションと同一のものであるとしてアプリケーションを確定し、実際のファイルアクセス処理を行ない（ステップＳ３０）、その結果をレスポンスとして取引装置８０へ通知する。
【０１３９】
ここで、ファイルアクセスコマンドのパラメータで指定されたノードＩＤ（平文）と、ＩＣカード６０内で保持しているノードＩＤとが等しいということは、ＩＣカード６０内で生成したノードＩＤをアプリケーションが知っていることになり、そのノードＩＤは、ファイル確定処理を行なったアプリケーションだけが知り得るノードＩＤであるため、ファイルアクセスを行なうアプリケーションは正当であると判断することができる。
【０１４０】
一方、ステップＳ２８（第２比較部７１）による比較の結果、ノードＩＤが不一致であった場合には、第２判断部７２により、ＩＣカード６０から取引装置８０へノードＩＤを通知する際に何らかのデータ改ざんがあったか、あるいは、ＩＣカード６０における暗号キー，暗号関数と取引装置８０における暗号キー，暗号関数とが異なりＩＣカード６０が取引装置８０のアプリケーションの対象ではないと判断し、エラー通知部７３により、そのアクセスコマンドに対する応答としてエラー通知がなされる。
【０１４１】
また、ステップＳ２９（第１比較部６９）による比較の結果、ノードＩＤが不一致であった場合には、第１判断部７０により、アクセスコマンドを通知してきた取引装置８０（アプリケーション）はファイル確定処理を行なったものではないと判断し、エラー通知部７３により、そのアクセスコマンドに対する応答としてエラー通知がなされる。
【０１４２】
これにより、取引装置（上位装置）へエラーレスポンスによるエラー通知が行なわれ、ＩＣカード６０に対してアクセスを行なった取引装置８０側では、そのトランザクションを中断してから、エラー表示，ＩＣカード６０の排出等やそれに準じた処理を行ない、そのエラーに対して直ちに対処することができる。
以下に、より具体的な例について図１３を用いて説明する。ここでは、例えば医療機関において、診断情報の書込を行なうアプリケーションＡと、診断結果を決済するアプリケーションＢとが同一のＩＣカード６０に対して同時にアクセスを行なう場合を想定している。即ち、複数のアプリケーションが同一のＩＣカード６０に対して同時にアクセスできるシステム構成になっている。
【０１４３】
ここで、診断情報書込アプリケーションＡAはファイル診断情報ファイルＦAにアクセスし、医療費決済アプリケーションＡBは金額情報ファイルＦBにアクセスするものとする。このとき、ＩＣカード６０は複数のアプリケーションからのコマンドを受け付けるため、あるファイルに対するアクセスは、そのファイルに対して確定処理を行なったアプリケーションからのアクセスのみを受け付ける必要が出てくる。
【０１４４】
このため、本実施例のＩＣカード６０では、前述した通り、診断情報書込アプリケーションＡAから診断情報ファイルＦAに対してファイル確定コマンドを受け付けると（図１３の丸付き数字１参照）、そのコマンドに対して、ノードＩＤ＝“０１”を生成し、このノードＩＤはランダムに生成されるため、特に“０１”には限らない）、アプリケーションＡAに通知する。このノードＩＤ＝“０１”は、アプリケーションＡAのみが知ることができるＩＤである。
【０１４５】
また、このとき、アプリケーションＡAと共通の暗号キーＡでノードＩＤを暗号化し（図１３の丸付き数字２参照）、“平文＋ＥA（ノードＩＤ＝“０１”）”の形式で通知すると（図１３の丸付き数字３参照）、アプリケーションＡAのみがそのノードＩＤを復号化することができ、さらにセキュリティ強度を向上させることができる。
即ち、“平文＋ＥA（ノードＩＤ＝“０１”）”の形式のノードＩＤをＩＣカード６０から通知されたアプリケーションＡAでは、暗号キーＡにより暗号文ノードＩＤ〔ＥA（ノードＩＤ＝“０１”）〕を復号化して得られた復号化ノードＩＤ〔ＤA（ノードＩＤ＝“０１”）〕が、平文ノードＩＤと一致するか否かを判定する（図１３の丸付き数字４参照）。
【０１４６】
その判定の結果が一致した場合には、以降、アプリケーションＡAのアクセスコマンドは、このノードＩＤ＝“０１”を指定することにより、ＩＣカード６０ではファイルＦAに対するアクセスがファイル確定を行なったアプリケーションと同一であると見なすことができ、アクセスコマンドを受け付けることになる。
アプリケーションＡBに対しても、ファイルＦBで同様の処理（図１３の丸付き数字１〜５参照）を行なうことにより、ファイルＦBに対してアクセス可能となる。ただし、アプリケーションＡBとファイルＦBとの間の処理では、ノードＩＤとしてランダムに生成された例えば“０２”が用いられている。
【０１４７】
このような形で、ノードＩＤにより、アプリケーションの管理を行なうことにより、同一のアプリケーションに対して、複数のアプリケーションからのアクセス管理を行なうことが可能になる。
例えば、診断情報アプリケーションＡAが金額情報ファイルＦBに不正にアクセスを試みた場合、アプリケーションＡAでは、アプリケーションＦBに通知されたノードＩＤが不明であるため、ファイルＦBにはアクセスが不可能になり、金額情報ファイルＦBの残高情報等が不正に操作されるのを確実に防止することができる。
【０１４８】
このように、本発明の第２実施例によれば、ＩＣカード６０内でノードＩＤを動的に生成しアプリケーション（取引装置８０）に通知することにより、トランザクション毎に固有なノードＩＤを実現している。さらに、ノードＩＤを暗号化し、暗号キーをＩＣカード６０とその上位装置（取引装置８０）とで共通にもつことにより、ノードＩＤを通知するときのデータタッピング（tap:盗聴）を防止することが可能となる。
【０１４９】
また、このノードＩＤは正当なアプリケーションのみが知り得るＩＤであり、正当なアプリケーションのみが暗号化または復号化できることになる。不正なアプリケーションでは、暗号キー等の情報を知ることができないため、ノードＩＤの復号化や、ノードＩＤの暗号化を行なえないからである。
このようにして、コマンドを発行するアプリケーションを管理することにより、ＩＣカード６０にアクセスするアプリケーションを特定してセキュリティを強化することが可能になり、複数のアプリケーションが並行して動作するシステムにおいても、同一のＩＣカード６０の所定ファイルに対しあるアプリケーションがアクセスし取引を行なっている際に、異なる不当なアプリケーションが同時にアクセスしその所定ファイルに対して不正行為を行なうことを確実に防止できる。
【０１５０】
そして、上述した各種チェックによりエラーが発生した場合には、取引装置８０へエラーレスポンスによるエラー通知が行なわれ、ＩＣカード６０に対してアクセスを行なった取引装置８０側では、エラー表示等やそれに準じた処理を行ない、そのエラーに対して直ちに対処することができる。
また、上述したような本実施例のＩＣカード６０および取引装置８０を、ＩＣカード用リーダ／ライタを内蔵した端末装置、あるいは、独立したＩＣカード用リーダ／ライタに接続された端末装置や、このような端末装置の上位装置（ホスト）などを含んで構成されるシステムに用いることにより、そのシステム全体のセキュリティを強化することができる。
【０１５１】
以上のように、本実施例によれば、１枚のＩＣカード６０に対して、複数のアプリケーションがアクセスできるための充分なセキュリティを確保することができ、今後、想定されるユーザニーズの多様化等の要望に対応することができる。
さらに、従来のセキュリティ方式に比べて、セキュリティの強度を極めて高度化することができるため、単独のアプリケーションでアクセスする場合でも、充分なセキュリティが確保でき、高度なセキュリティが要求されるシステム（キャッシュカード，クレジットカード等）のセキュリティ強度向上に寄与するところが大きい。
【０１５２】
なお、上述した第２実施例では、ＩＣカード６０と取引装置８０との間で“平文＋Ｅ（平文）”の形式のノードＩＤを通知する場合について説明したが、平文形式のノードＩＤや、暗号文〔Ｅ（平文）のみ〕形式のノードＩＤを通知するようにしてもよい。
平文形式のノードＩＤを通知する場合、図１１において、暗号化部６６，復号化部６８，第２比較部７１，第２判断部７２，復号化部８１，比較部８２，判断部８３，暗号化部８４は不要になり、図１２において、ステップＳ２３，Ｓ２４，Ｓ２５，Ｓ２６，Ｓ２７，Ｓ２８の処理は省略されることになる。
【０１５３】
暗号文〔Ｅ（平文）のみ〕形式のノードＩＤを通知する場合、図１１において、第２比較部７１，第２判断部７２，比較部８２，判断部８３は不要になり、図１２において、ステップＳ２５，Ｓ２８の処理は省略される。ただし、取引装置８０側で、ＩＣカード６０から通知された暗号文ノードＩＤをそのままアクセスコマンドに付与する場合には、図１１において、復号化部８１，暗号化部８４も不要になり、図１２において、ステップＳ２４，Ｓ２６の処理も省略される。このとき、ＩＣカード６０側における復号化部６８は、第１暗号キーにより暗号関数を用いて暗号文ノードＩＤを復号化することになる。
【０１５４】
また、上述した第２実施例において、第１暗号キーと第２暗号キーとは同一のキーでもよく、また、ＩＣカード６０内の第１比較部７０によるノードＩＤの比較・照合は、ＩＣカード６０内に保持してあるノードＩＤを第２暗号キーで暗号化して行なってもよい。
さらに、上述した第１実施例により説明したセキュリティ基本情報およびセキュリティ付加情報に基づくセキュリティチェックを行なって、ファイル確定処理を行なった後に、第２実施例を行なうようにしてもよく、この場合、ＩＣカードに対するセキュリティ機能をさらに高めることができる。
【０１５５】
また、上述した第１および第２実施例では、カード型記憶装置がＩＣカードである場合について説明したが、本発明は、これに限定されるものではなく、光カードなどの他種のカード型記憶装置にも同様に適用され、上記実施例と同様の作用効果を得ることができる。
【図面の簡単な説明】
【０１５６】
【図１】本発明の関連技術としての原理ブロック図である。
【図２】本発明の関連技術としての原理ブロック図である。
【図３】本発明の関連技術としての原理ブロック図である。
【図４】本発明の原理ブロック図である。
【図５】本発明の第１実施例としてのカード型記憶媒体の構成を示すブロック図である。
【図６】第１実施例におけるセキュリティ付加情報について説明するための図である。
【図７】第１実施例における記憶部の論理構造およびセキュリティ情報について説明するための図である。
【図８】第１実施例の動作を説明するための図である。
【図９】第１実施例の動作を説明するためのフローチャートである。
【図１０】（ａ），（ｂ）はいずれも第１実施例の動作を具体的に説明すべくカード型記憶媒体と上位装置との間でのコマンドシーケンスを示す図である。
【図１１】本発明の第２実施例としてのカード型記憶媒体および取引装置の構成を示すブロック図である。
【図１２】第２実施例の動作を説明するためのフローチャートである。
【図１３】第２実施例の動作を具体的に説明すべく、カード型記憶媒体と取引装置との間での信号シーケンスを示す図である。
【図１４】一般的なＩＣカードの外観を示す平面図である。
【図１５】一般的なＩＣカードのハードウエア構成を示すブロック図である。
【図１６】従来のＩＣカードに対するファイルアクセス手順を説明するための図である。
【図１７】従来のＩＣカードに対するファイルアクセス時のセキュリティ概念を説明するための図である。
【図１８】従来のＩＣカードに対するファイルアクセス時に生じうる不正なアクセス状態を説明するための図である。
【符号の説明】
【０１５７】
１Ａ，１Ｂ，１Ｃ  カード型記憶媒体（カード型記憶装置）
２Ａ，２Ｂ，２Ｃ  記憶部
３Ａ，３Ｂ，３Ｃ  制御部
４Ａ  計数手段
４Ｂ  計時手段
５Ａ  第１比較手段
５Ｂ  第２比較手段
６Ａ，６Ｂ，６Ｃ  エラー判断手段
１１  カード型記憶媒体
１２  記憶部
１３  制御部
１４  固有識別子生成手段
１５  固有識別子通知手段
１６  第１比較手段
１７  第１判断手段
２１  取引装置（外部装置）
２２  通知手段
３０  ＩＣカード（カード型記憶装置）
３１  ＭＰＵ（制御部）
３２  メモリ（記憶部，ファイル領域）
３２Ａ  データ領域
３２Ｂ  ディレクトリ領域
３２Ｃ  データファイル
３２Ｄ  マスタディレクトリ領域
３２Ｅ  サブディレクトリ領域
３２Ｆ  ファイル
３３  ＲＯＭ
３４  ＲＡＭ
３５  通信制御部
３６  コマンド受付・振分部
３７  コマンド処理部
３８  ファイル管理部
４１  パラメータチェック部
４２  セキュリティ基本チェック部
４３  セキュリティ付加チェック部
４４  ファイルアクセス部
５１  アクセス回数カウンタ（計数手段）
５２  タイマ（計時手段）
５３  第１比較部
５４  第２比較部
５５  エラー判断部
５６  エラー通知部
５７  エラー発生回数累積カウンタ（累積手段）
５８  エラー発生回数比較部
５９  非活性化指示部（非活性化手段）
６０  ＩＣカード（カード型記憶媒体）
６１  ＭＰＵ（制御部）
６２  メモリ（記憶部，ファイル領域）
６２Ａ  データ領域
６２Ｂ  ディレクトリ領域
６２Ｃ  データファイル
６３  ＲＯＭ
６４  ＲＡＭ
６５  ノードＩＤ生成部（固有識別子生成手段）
６６  暗号化部
６７  ノードＩＤ通知部（固有識別子通知部）
６８  復号化部
６９  第１比較部
７０  第１判断部
７１  第２比較部
７２  第２判断部
７３  エラー通知部
８０  取引装置
８１  復号化部
８２  比較部
８３  判断部
８４  暗号化部
８５  通知部
【図１】
2008097652.tif 000003
【図２】
2008097652.tif 000004
【図３】
2008097652.tif 000005
【図４】
2008097652.tif 000006
【図５】
2008097652.tif 000007
【図６】
2008097652.tif 000008
【図７】
2008097652.tif 000009
【図８】
2008097652.tif 000010
【図９】
2008097652.tif 000011
【図１０】
2008097652.tif 000012
【図１１】
2008097652.tif 000013
【図１２】
2008097652.tif 000014
【図１３】
2008097652.tif 000015
【図１４】
2008097652.tif 000016
【図１５】
2008097652.tif 000017
【図１６】
2008097652.tif 000018
【図１７】
2008097652.tif 000019
【図１８】
2008097652.tif 000020