Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5971687B2 - Icカード、携帯可能電子装置及びicカードのコマンド処理方法 - Google Patents
[go: Go Back, main page]

JP5971687B2 - Icカード、携帯可能電子装置及びicカードのコマンド処理方法 - Google Patents

Icカード、携帯可能電子装置及びicカードのコマンド処理方法 Download PDF

Info

Publication number
JP5971687B2
JP5971687B2 JP2012062490A JP2012062490A JP5971687B2 JP 5971687 B2 JP5971687 B2 JP 5971687B2 JP 2012062490 A JP2012062490 A JP 2012062490A JP 2012062490 A JP2012062490 A JP 2012062490A JP 5971687 B2 JP5971687 B2 JP 5971687B2
Authority
JP
Japan
Prior art keywords
data
logical channel
command
information indicating
storage means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012062490A
Other languages
English (en)
Other versions
JP2013196346A (ja
Inventor
裕子 小林
裕子 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012062490A priority Critical patent/JP5971687B2/ja
Priority to US13/795,477 priority patent/US9672390B2/en
Priority to EP13158933.5A priority patent/EP2642411B1/en
Publication of JP2013196346A publication Critical patent/JP2013196346A/ja
Application granted granted Critical
Publication of JP5971687B2 publication Critical patent/JP5971687B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Storage Device Security (AREA)

Description

本発明の実施形態は、ICカード、携帯可能電子装置及びICカードのコマンド処理方法に関する。
従来、ICカードでは、複数のチャネルごとに継続的な処理を行う論理チャネル機能を有するものある。論理チャネル機能をサポートするICカードは、別の論理チャネルで使用中の共有不可のファイルにアクセスするコマンドを受信した場合、当該ファイルへのアクセスができないため、コマンド処理の異常終了を応答する。従来、ICカードは、別の論理チャネルで使用中の共有不可のファイルへのアクセスを伴うコマンドを実行したい場合、当該コマンドの処理が成功するまでリトライを繰り返す。
ISO/IEC 7816−4
この発明の実施形態では、コマンドに対する応答においてアクセス不可となったファイルの状態を通知できるICカード、携帯可能電子装置及びICカードのコマンド処理方法を提供することを目的とする。
実施形態によれば、ICカードは、通信手段と、制御手段と、データ記憶手段と、コマンド処理手段と、応答手段とを有する。通信手段は、外部装置とデータ通信を行う。制御手段と、通信手段によるデータ通信を複数の論理チャネルから選択する論理チャネルを用いて実行する。データ記憶手段と、外部装置からのコマンドによってアクセス対象となるデータ単位でデータを記憶する。コマンド処理手段と、通信手段により受信したコマンドが指定するデータへのアクセスを当該コマンドで指定する論理チャネルで実行する。応答手段と、コマンドが指定するデータが当該コマンドの論理チャネル以外の論理チャネルで使用中のためにアクセス不可となった場合、当該コマンドのレスポンスメッセージに別の論理チャネルで使用中のためにアクセス不可となった旨を示す情報を付加して出力する。
図1は、本実施形態に係るICカードと通信を行うICカード処理装置の構成例を示す図である。 図2は、本実施形態に係るICカードの構成例を示すブロック図である。 図3は、データメモリに格納されるファイルの構造例を示す図である。 図4は、DFに付加されたFCIの構成例を示す図である。 図5は、EFに付加されたFCIの構成例を示す図である。 図6は、各ファイル(EF)の使用状況を示す使用状況テーブルの例を示す図である。 図7は、各論理チャネルにおける各EFへのアクセスの成功/不成功を示すアクセス情報を格納するアクセス状況テーブルの例を示す図である。 図8は、コマンドに対する応答としてのレスポンスメッセージの構成例を示す図である。 図9は、リードコマンドに対するレスポンスメッセージの第1の例である。 図10は、リードコマンドに対するレスポンスメッセージの第2の例である。 図11は、リードコマンドに対するレスポンスメッセージの第3の例である。 図12は、ICカード処理装置から順次与えられる複数のコマンドに対する処理内容を説明するためのシーケンス図である。 図13(a)は、使用状況テーブルの状態の例を示す図である。図13(b)は、アクセス状況テーブルの状態の例を示す図である。 図14(a)は、使用状況テーブルの状態の例を示す図である。図13乃至図19(b)は、アクセス状況テーブルの状態の例を示す図である。 図15(a)は、使用状況テーブルの状態の例を示す図である。図15(b)は、アクセス状況テーブルの状態の例を示す図である。 図16(a)は、使用状況テーブルの状態の例を示す図である。図16(b)は、アクセス状況テーブルの状態の例を示す図である。 図17(a)は、使用状況テーブルの状態の例を示す図である。図17(b)は、アクセス状況テーブルの状態の例を示す図である。 図18(a)は、使用状況テーブルの状態の例を示す図である。図13乃至図19(b)は、アクセス状況テーブルの状態の例を示す図である。 図19(a)は、使用状況テーブルの状態の例を示す図である。図19(b)は、アクセス状況テーブルの状態の例を示す図である。 図20は、ICカードがコマンドを受信した場合の処理の流れを説明するためのフローチャートである。
以下、この発明の実施の形態について図面を参照して説明する。
図1は、本実施の形態に係るICカード(携帯可能電子装置)2、および、ICカード2との通信機能を有する外部装置としてのICカード処理装置1の構成例を概略的に示すブロック図である。
まず、上記ICカード処理装置1の構成について説明する。
ICカード処理装置1は、図1に示すように、端末装置11、カードリーダライタ12、キーボード13、ディスプレイ14、および、プリンタ15などを有する。
端末装置11は、ICカード処理装置1全体の動作を制御するものである。端末装置11は、CPU、種々のメモリ及び各種インターフェースなどにより構成される。たとえば、端末装置11は、パーソナルコンピュータ(PC)により構成される。
端末装置11は、カードリーダライタ12によりICカード2へコマンドを送信する機能、ICカード2から受信したデータを基に種々の処理を行う機能などを有している。たとえば、端末装置11は、カードリーダライタ12を介してICカード2にデータの書き込みコマンドを送信することによりICカード2内の不揮発性メモリにデータを書き込む制御を行う。また、端末装置11は、ICカード2に読み取りコマンドを送信することによりICカード2からデータを読み出す制御を行う。
カードリーダライタ12は、ICカード2との通信を行うためのインターフェース装置である。カードリーダライタ12は、ICカード2の通信方式に応じたインターフェースにより構成される。たとえば、ICカード2が接触型のICカードである場合、カードリーダライタ12は、ICカード2のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。また、上記ICカード2が非接触型のICカードである場合、カードリーダライタ12は、ICカード2との無線通信を行うためのアンテナおよび通信制御などにより構成される。カードリーダライタ12では、ICカード2に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ12は、端末装置11による制御に基づいて上記ICカード2の活性化(起動)、種々のコマンドの送信、及び送信したコマンドに対する応答の受信などを行なう。
キーボード13は、当該ICカード処理装置1の操作員が操作する操作部として機能し、操作員により種々の操作指示やデータなどが入力される。ディスプレイ14は、端末装置11の制御により種々の情報を表示する表示装置である。プリンタ15は、処理結果などの各種データを印刷出力するためのものである。
次に、ICカード2の構成例について説明する。
ICカード2は、ICカード処理装置1などの上位機器からの電力供給を受けて活性化される(動作可能な状態になる)。例えば、ICカード2が接触型の通信によりICカード処理装置1と接続される場合、つまり、ICカード2が接触型のICカードである場合、ICカード2は、通信インターフェースとしてのコンタクト部を介してICカード処理装置1からの動作電源及び動作クロックの供給を受けて活性化される。
また、ICカード2が非接触型の通信方式によりICカード処理装置1と接続される場合、つまり、ICカード2が非接触型のICカードである場合、ICカード2は、通信インターフェースとしてのアンテナ及び変復調回路などを介してICカード処理装置1からの電波を受信し、その電波から図示しない電源部により動作用の電力及び動作クロックを生成して活性化する。
図2は、本実施の形態に係るICカード2のハードウエア構成例を概略的に示すブロック図である。
ICカード2は、プラスチックなどで形成されたカード状の筐体(本体)B内にモジュールMが内蔵されている。モジュールMは、1つまたは複数のICチップCと通信用の外部インターフェース(通信インターフェース)とが接続された状態で一体的に形成され、本体B内に埋設されている。また、ICカード2のモジュールMは、図2に示すように、制御素子21、データメモリ22、ワーキングメモリ23、プログラムメモリ24、および、通信部25などを有してしている。
制御素子21は、当該ICカード2全体の制御を司るものである。制御素子21は、プログラムメモリ24あるいはデータメモリ22に記憶されている制御プログラムおよび制御データに基づいて動作することにより、種々の機能を実現する。たとえば、制御素子21は、オペレーティングシステムのプログラムを実行することにより、当該ICカード2の基本的な動作制御を行う。また、制御素子21は、当該ICカード2の利用目的に応じたアプリケーションプログラムを実行することにより、当該ICカード2の運用形態に応じた種々の動作制御を行う。
また、制御素子21は、複数の論理チャネルを用いて通信制御およびコマンド処理を実行する機能を有する。論理チャネルは、外部との物理的な通信インターフェースを用いた通信制御において論理的に定義されるチャネルである。制御素子21は、複数の論理チャネルのうち選択される各論理チャネルごとに通信制御およびコマンド処理などの処理を実行できる。なお、論理チャネルの機能は、ICカードの標準規格の1つであるISO/IEC 7816−4で規定されるもので実現できる。
データメモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)あるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。データメモリ22には、当該ICカード2の運用用途に応じた制御プログラムあるいは種々のデータが書込まれる。データメモリ22には、当該ICカード2の規格に応じた種々のファイルが定義され、それらのファイルに種々のデータが書き込まれる。上記データメモリ22に格納されるファイルの例については、後述する。
ワーキングメモリ23は、RAMなどの揮発性のメモリである。また、ワーキングメモリ(RAM)23は、制御素子21が処理中のデータなどを一時保管するバッファとして機能する。ワーキングメモリ23には、各ファイルへのアクセス状況、通信チャネルの使用状況、および、処理状況などを示す種々のテーブルが設けられる。ワーキングメモリ23に設けられるテーブルの例については、後述する。
プログラムメモリ24は、予め制御用のプログラムや制御データなどが記憶されているマスクROMなどの不揮発性のメモリである。プログラムメモリ(ROM)24には、当該ICカードの製造段階で制御プログラムあるいは制御データなどが記憶された状態でICカード2内に組み込まれる。つまり、プログラムメモリ24に記憶されている制御プログラムあるいは制御データは、当該ICカードの基本的な動作を司るものであり、予め当該ICカード2の仕様に応じて組み込まれる。
通信部25は、ICカード処理装置1のカードリーダライタ12との通信を行うためのインターフェースである。当該ICカード2が接触型のICカードとして実現される場合、通信部25は、ICカード処理装置1のカードリーダライタ12と物理的かつ電気的に接触して信号の送受信を行うための通信制御部とコンタクト部とにより構成される。また、当該ICカード2が非接触型のICカードとして実現される場合、通信部25は、ICカード処理装置1のカードリーダライタ12との無線通信を行うための変復調回路などの通信制御部および電波を送受信するためのアンテナなどにより構成される。
次に、データメモリ22に格納されるファイルについて説明する。
図3は、データメモリ22に格納されるファイルの構造例を示す図である。
図3に示すように、データメモリ22には、MF(Master File)31、DF(Dedicated File)32およびEF(Elementary File)33〜36などからなる階層構造を有する複数のファイル群が定義され、DF及びEFに対応するFCI(File Control Information)42〜46が設けられている。なお、図3に示すようなファイル構造は、ICカードの国際的な標準規格であるISO/IEC 7816−4で規定されている。
図3に示す例では、最上階層のマスターファイル(MF)31の次の階層には、DF32が存在する。たとえば、1つのDFは、当該ICカード2が具備する1つのアプリケーションを実現するためのデータが格納される。複数のアプリケーションによって複数の機能を実現しているCカードは、各アプリケーションに対応する複数のDFをデータメモリ22内に設けるようにして良い。
また、図3に示す例では、DF32の配下としてDF32の次の階層に、第1のEF(EF#1)33、第2のEF(EF#2)34、第3のEF(EF#3)35、および第4のEF(EF#4)36が存在している。上記各EF33〜36は、各種のデータを格納するためのデータファイルである。上記各EF33〜36には、所定のデータ構造のうち何れかのデータ構造でデータが格納される。たとえば、EF33〜36は、識別子(タグ(Tag))、長さ情報(レングス(Length))、および、データ部(バリュー(Value))が順に連結されるTLV構造のオブジェクトデータが格納されるファイルであっても良いし、バイナリーデータを記憶するファイルであっても良い。
また、DF32、および、各EF33〜36には、それぞれFCI42〜46が付加される。FCI42〜46は、それぞれ対応するファイル(DF32、EF33〜36)に関する制御情報である。たとえば、FCI42〜46には、対応するファイルにおけるセキュリティ条件などの情報が格納される。なお、FCIについても、ICカードの標準規格の1つであるISO/IEC 7816−4で規定されているもので良い。
次に、FCI42〜46の例について説明する。
図4は、DF32に付加されたFCI42の構成例を示す図である。
図4に示す構成例において、FCI42は、たとえば、FCP(File Control Parameter)テンプレート形式でFCI情報が格納され、「File descriptor byte」にて、対応するファイルとしてのDFが共有可能(Shareable file)である事を示している。すなわち、図4は、ファイルの共有を許可するFCIの構成例を示すものである。
図5は、EF33に付加されたFCI43の構成例を示す図である。
図5に示す構成例においても、FCI43は、FCP(File Control Parameter)テンプレート形式でFCI情報が格納され、「File descriptor byte」にて、対応するファイルとしてのEFが共有不可(Not shareable file)である事を示している。すなわち、図5は、ファイルの共有を不可とするFCIの構成例を示すものである。
次に、各ファイルの使用状況あるいは各論理チャネルにおけるファイルへのアクセス状況を示すテーブルについて説明する。
まず、ICカード2内の各ファイルに対する使用状況を示す使用状況テーブル26の構成例について説明する。
図6は、各ファイル(EF)の使用状況を示す使用状況テーブル26の例を示す図である。図6に示すような使用状況テーブル26は、たとえば、RAM(ワーキングメモリ)23内に設定される。また、使用状況テーブル26は、ICカード2内において、制御素子21がアクセス可能な書換え可能なメモリに設ければよく、例えば、データメモリ22に設けても良い。
使用状況テーブル26では、各EFについて、使用中であるか、未使用であるかを示す情報を記憶する。また、使用状況テーブル26は、使用されているEFについては、当該EFを使用している論理チャネルを示す情報を記憶する。たとえば、使用状況テーブル26は、各EFを示すEFID(ファイル識別情報)に対応づけて、各EFの使用状況を示すステータス(Status)の値を記憶する。
図6に示す例では、「Status=0x00〜0x13」である場合、当該EFは、使用中であることを示し、さらに、当該EFは、「Status」の値が示すチャネル番号の論理チャネルで使用されていることを示す。また、「Status=0xFF」である場合、当該EFは、未使用であることを示す。なお、「Status=others」は、RFUを示す。
また、使用状況テーブル26は、各EFのEFIDを格納し、各EFIDに対するステータス(Status)の初期値として、未使用を示す値「0xFF」を格納する。この状態の使用状況テーブル26には、何れかの論理チャネルで使用されたEFに対して、使用した論理チャネルを示す情報をステータスとして書き込まれるようにすれば良い。たとえば、図6に示すように、論理チャネル「#1」でEFIDが「0x0001」の第1のEF33が使用された場合、第1のEF33のステータス(Status)の値は、論理チャネル「1」で使用中であることを示す「0x01」に書き換えられる。
次に、各論理チャネルに対する各ファイルへのアクセス状況を示すアクセス情報を格納するアクセス状況テーブルの構成例について説明する。
図7は、各論理チャネルにおける各EFへのアクセスの成功/不成功を示すアクセス情報を格納するアクセス状況テーブル27の例を示す図である。
図7に示すようなアクセス状況テーブル27は、たとえば、RAM(ワーキングメモリ)23内に設けられる。また、アクセス状況テーブル27は、ICカード2内において、制御素子21がアクセス可能な書換え可能なメモリに設ければ良く、例えば、データメモリ22に設けても良い。
アクセス状況テーブル27は、各論理チャネルにおいて、アクセスが成功したファイル(EF)、あるいは、アクセスが失敗したファイル(EF)を示す情報とステータスとをアクセス情報として記憶する。アクセス状況テーブル27では、アクセスが失敗したファイルについては、当該ファイルを使用している論理チャネルを示す情報(論理チャネル番号)をステータス(Status)の値として記憶する。
図7に示す例では、「Status=0x00〜0x13」である場合、当該論理チャネルでは、EFIDで示すEFにはアクセスできなかった(アクセス不可であった)ことを示し、さらに、当該EFを使用している論理チャネルを示す情報(論理チャネル番号)を示す。また、「Status=0xFF」である場合、当該論理チャネルにおいては、EFIDで示すEFにアクセスが成功したことを示す。ただし、「EFID=0xFFFF」かつ「Status=0xFF」である場合、当該論理チャネルは、未使用である(使用中のEFが無い)ことを示す。
次に、本実施形態に係るICカード2の動作について説明する。
ICカード2は、論理チャネルごとに処理を実行する機能を有する。すなわち、ICカード2は、外部装置としてのICカード処理装置からのコマンドを受信し、指定されている論理チャネルでの処理として受信したコマンドで要求される処理を実行する。指定EFへのアクセスを伴う処理を要求するコマンド(例えば、リードコマンド、アップデートコマンドなど)を受信した場合、ICカード2は、コマンドで指定されたEFが共有不可でかつ他の論理チャネルで使用中であれば、当該指定EFへのアクセスを不可とし、指定されたEFが他の論理チャネルで使用中のためにアクセスを不可とする旨の情報を付加した応答を出力する。
さらに、コマンドで指定されたEFが他の論理チャネルで使用中であるためにアクセス不可となった場合(他の論理チャネルで使用中のためにアクセスを不可とする旨を応答した場合)、ICカード2は、それ以降の処理において、同一論理チャネルを介した別のコマンド(例えば、別のEFへのアクセスを要求するコマンド)の処理に対するレスポンスメッセージ(以下、単にレスポンスとも称する)に、前述のアクセス不可となったEFの使用状況を示す情報(たとえば、アクセス不可となったEFが他の論理チャネルで未だ使用中であるか未使用となったかを示す情報)を付加して応答する。
図8は、コマンドに対する応答としてのレスポンスメッセージの構成例を示す図である。
図8では、本実施形態を適用したICカード2が出力するレスポンスメッセージの例として、リードコマンドに対するレスポンスメッセージのデータ形式の構成例を示している。なお、レスポンスメッセージのデータ形式は、ICカードに用いられる規格によって規定されるもので良い。たとえば、レスポンスメッセージのデータ形式は、ISO/IEC 7816−3(ISO/IEC 7816−3 12.1 Application protocol data unit)とISO/IEC 7816−4(ISO/IEC 7816−4 5.1 Command−response pairs)とで規定されているAPDU(Application Protocol Data Unit)に準拠するもの良い。上述の規格において、レスポンスデータメッセージは、データ部(Data filed)、および、ステータス部(SW1−SW2:Status bytes)で構成される。
図8に示す例において、レスポンスメッセージのデータ形式(レスポンスデータ)は、データ部(Response data filed)とステータス部(Response trailer)とにより構成される。なお、図8は、リードコマンドに対するレスポンスメッセージの構成例を示している。
レスポンスメッセージのデータ部(Response data filed)は、「Data1」、「Data2」および「Data3」を有する。「Data1」には、例えば、コマンドの実行結果(例えば、リードコマンドの処理として読み出したデータ)を格納する。「Data2」には指定されたEFの識別子(EF ID)を格納する。「Data3」には、指定EFのステータス(指定EFを使用している論理チャネル番号、或いは、未使用)を格納する。たとえば、指定されたEFが使用中である場合、「Data3=0x00〜0x13」として、当該EFを使用している論理チャネル番号をData3の値に設定する。また、EFが未使用である場合、「Data3=0xFF」とセットされる。なお、「Data3=others」はRFUである。
また、レスポンスのステータス部(Response trailer)は、SW1およびSW2として、コマンドの実行結果などを表す情報を格納する。
たとえば、「SW1−SW2=0x9000」である場合、コマンドが正常終了したことを示す(コマンドがリードコマンドであれば、読出し正常終了を示す)。
また、本実施形態においては、「SW1−SW2=0x9001」である場合、当該コマンドが正常終了(読出し正常終了)で、かつ、当該コマンド以前にアクセス不可となったEFとそのEFの使用状況を示す情報をデータ部に格納したことを示す。つまり、「SW1−SW2=0x9001」である場合、コマンドが正常終了で、「Response data filed」の最後の3byte(レスポンスメッセージのデータ部)に、当該コマンドの実行以前に実行されたコマンドで既に別の論理チャネルを介して使用されていたためにアクセスできなかったファイルの識別子とそのファイルの現在の状態とを示す情報を格納したことを示す。
また、「SW1−SW2=0x69FF」である場合、指定されたEFが他の論理チャネルで使用中のためにアクセス不可となってコマンドが異常終了となったことを示す。さらに、レスポンスメッセージのステータス部が「SW1−SW2=0x69FF」である場合、当該レスポンスメッセージのデータ部には、アクセス不可となったEFとそのEFを使用中の論理チャネルを示す情報とをデータ部に格納する。たとえば、リードコマンドのレスポンスのステータス部が「SW1−SW2=0x69FF」である場合、当該レスポンスのデータ部には、当該リードコマンドで指定されたEFがアクセス不可であった事と当該指定EFを使用している別の論理チャネルを示す情報とを付加する。
図9乃至11は、リードコマンドに対するレスポンスメッセージの例である。
図9は、レスポンスメッセージの第1の具体例を示す図である。図9は、リードコマンドで指定されたEF(EFID:0x0001)が共有不可で、かつ、別の論理チャネルで使用中の場合のレスポンスメッセージの例を示している。
図9に示すレスポンスメッセージでは、「Data2=0x0001」であり、「Data3=0x01」がEFID:0x0001であり、「SW1−SW2=0x69FF」である。従って、上述した定義によれば、図9に示すレスポンスメッセージは、コマンドがアクセス対象とするEFIDが「0x0001」のEFが共有不可で、かつ、別の論理チャネル「#1」で使用中であるため、コマンドが実行できなかった(指定のEFにアクセス不可であった)ことを意味する。なお、図9に示す例では、リードコマンドが実行されなかったため、読出したデータが格納されるべき「Data1」はデータ無しとなる。
図10は、レスポンスメッセージの第2の具体例を示す図である。図10は、リードコマンドで指定されたEFIDが0x0001以外のEFに対するコマンド処理が成功した場合のレスポンスメッセージの例を示している。さらに、図10に示すレスポンスメッセージは、コマンドの実行結果を示す情報に、別の論理チャネルで使用中であったEFの現在の状況を示す情報が付加されている。図10に示す例では、別の論理チャネルで使用中であったEFが、現在も別の論理チャネルで使用中であることを示す内容となっている。
図10に示すレスポンスメッセージでは、「Data1」には指定のEF(EFIDが0x0001以外のEF)から読み出したデータが格納され、「Data2=0x0001」であり、「Data3=0x01」であり、「SW1−SW2=0x69FF」である。従って、上述した定義によれば、図10に示すレスポンスメッセージは、「SW1−SW2=0x9001」であるため、当該コマンド自体は正常終了であることと、当該コマンド以前にアクセス不可となったEF(EFID:0x0001)が論理チャネル#1で使用中であることとを示している。
図11は、レスポンスメッセージの第3の具体例を示す図である。図11は、リードコマンドで指定されたEFIDが0x0001以外のEFに対するコマンド処理が成功した場合のレスポンスメッセージの例を示している。図11に示すレスポンスメッセージは、コマンドの実行結果を示す情報に、別の論理チャネルで使用中であったEFの現在の状況を示す情報が付加されている。図11に示す例は、別の論理チャネルで使用中であったEFが、現在は未使用となっていることを示す内容となっている。
すなわち、図11に示す例では、「Data1」には指定のEF(EFIDが0x0001以外のEF)から読み出したデータが格納されるとともに、「Data2=0x0001」であり、「Data3=0xFF」であり、「SW1−SW2=0x9001」である。従って、上述した定義によれば、図11に示すレスポンスメッセージは、「SW1−SW2=0x9001」であるため、当該コマンド自体は正常終了であることと、当該コマンド以前にアクセス不可となったEF(EFID:0x0001)が未使用となっていることとを示している。
次に、使用状況テーブル26及びアクセス状況テーブル27の状態の遷移と各テーブルの状態に応じたレスポンスメッセージの例について説明する。
図12は、ICカード処理装置1から順次与えられる複数のコマンドに対する処理内容を説明するためのシーケンス図である。図12は、論理チャネル#1でEF#1を使用した後、別の論理チャネル#2でEF#1へのアクセスが成功するまでの事例を示すシーケンス図となっている。また、図13乃至図19は、図12に示す処理の各過程における使用状況テーブル26の状態、および、アクセス状況テーブル27の状態の例を示す図である。
なお、図12に示す処理において、DF、EF#1〜EF#4は図3に記載のDF32、第1〜第4のEF33〜36に対応し、DF32のFCI41は図4に示すように共有可能であり、第1のEF(EF#1)のFCI43は図5に示すように共有不可であるものとする。
まず、ICカード2では、使用状況テーブル26およびアクセス状況テーブル27が初期状態であるものとする。図13(a)は、使用状況テーブル26が初期状態となっている例を示すものであり、図13(b)は、アクセス状況テーブル27が初期状態となっている例を示す。この状態において、ICカード処理装置1がICカード2に対して論理チャネル#1を使用してEF#1を指定するリードコマンドを送信するものとする。
ICカード2は、通信部25により論理チャネル#1を使用してEF#1を読み出すことを要求するリードコマンドを受信する(ステップS11)。ICカード2の制御素子21は、受信したリードコマンドに従って論理チャネル#1を使用してEF#1からデータを読み出すことが可能であるか否かを判断する。論理チャネル#1でEF#1にアクセス可能である場合、制御素子21は、EF#1からデータを読み出すコマンド処理を実行する(ステップS12)。なお、このコマンド処理は、テーブル26を更新した後に実行するようにしても良い。
また、制御素子21は、EF#1へアクセスするコマンド処理に伴って、使用状況テーブル26を更新する。つまり、制御素子21は、使用状況テーブル26におけるEF#1のステータス値を論理チャネル#1で使用中であることを示す値に更新する(ステップS13)。図14(a)は、使用状況テーブル26において、EF#1(EFID=0x0001)のステータス値が論理チャネル#1で使用中であることを示す値(0x01)に更新され、図14(b)は、アクセス状況テーブル27が初期状態のままとなっている例を示す。
リードコマンドに対する処理が正常終了すると、制御素子21は、コマンド処理結果を示すレスポンスを当該コマンドの送信元であるICカード処理装置1へ送信する(ステップS14)。ここで、論理チャネル#1でのEF#1からのデータの読出が正常終了したものとすると、制御素子21は、読み出したデータをデータ部にセットし、かつ、正常終了を示すステータスをステータス部にセットしたレスポンスメッセージをICカード処理装置1へ送信する。
次に、ICカード処理装置1がICカード2に対して論理チャネル#2を使用してEF#1を指定したリードコマンドを送信するものとする。このリードコマンドを通信部25により受信すると(ステップS21)、ICカード2の制御素子21は、受信したリードコマンドに従って論理チャネル#2を使用してEF#1からデータを読み出すことが可能であるか否かを判断する。ここでは、論理チャネル#1でEF#1を使用中であるため、制御素子21は、当該コマンドに対するコマンド処理として、論理チャネル#2でのEF#1へのアクセスが不可であるものと判断する(ステップS22)。
この場合、制御素子21は、アクセス状況テーブル27における論理チャネル#2に対するアクセス情報を、EF#1が論理チャネル#1で使用中であることを示す情報に更新する(ステップ23)。図15(a)は、使用状況テーブル26が図14(a)に示す状態のままであることを示し、図15(b)は、アクセス状況テーブル27において、論理チャネル#2に対するEFIDがEF#1のEFID(0x0001)に更新され、かつ、ステータスが論理チャネル#1で使用中であることを示す情報(0x01)に更新されている状態を示す。
リードコマンドで指定されたEFが別の論理チャネルで使用中のためアクセスできなった場合、制御素子21は、コマンドが異常終了である事を示す情報と指定されたEFを使用している論理チャネルを示す情報とを含むレスポンスメッセージをICカード処理装置1へ送信する(ステップS24)。たとえば、制御素子21は、コマンドが異常終了である事と指定されたEF#1が論理チャネル#1が使用中である事とを示す図9に示すようなレスポンスメッセージを作成し、ICカード処理装置1へ送信する。
次に、ICカード処理装置1がICカード2に対して論理チャネル#2を使用してEF#2を指定したリードコマンドを送信するものとする。このリードコマンドを通信部25により受信すると(ステップS31)、ICカード2の制御素子21は、受信したリードコマンドに従って論理チャネル#2を使用してEF#2からデータを読み出すことが可能であるか否かを判断する。ここではEF#2が未使用であるため、制御素子21は、論理チャネル#2でのEF#2からデータを読み出すコマンド処理を実行する(ステップS32)。このコマンド処理は、テーブル26を更新した後に実行するようにしても良い。
また、制御素子21は、EF#1へアクセスするコマンド処理に伴って、使用状況テーブル26を更新する。つまり、制御素子21は、使用状況テーブル26におけるEF#2のステータス値を論理チャネル#2で使用中であることを示す値に更新する(ステップS13)。図16(a)は、図15(a)に示す使用状況テーブル26に対して、EF#2(EFID=0x0002)のステータス値を論理チャネル#2で使用中であることを示す値(0x02)に更新した状態を示す。また、図16(b)は、アクセス状況テーブル27が図15(b)に示す状態のままであることを示している。
リードコマンドに対する処理が正常終了すると、制御素子21は、アクセス状況テーブル27を確認し、他の論理チャネルでの使用によりアクセスが不可となったEFが存在するか否かを判断する。他の論理チャネル(論理チャネル#2以外のチャネル)での使用によりアクセスが不可となったEFが存在する場合、制御素子21は、コマンドが正常終了である事を示す情報と、他の論理チャネルでの使用によりアクセスが不可となったEFの現在の状況を示す情報とを含むレスポンスメッセージをICカード処理装置1へ送信する(ステップS34)。たとえば、制御素子21は、図16(b)に示すアクセス状況テーブルを参照して、以前にアクセスが不可となったEF#1が現在も論理チャネル#1で使用中である事を確認する。この場合、制御素子21は、コマンドが正常終了である事と、以前にアクセス不可となったEF#1が現在も論理チャネル#1で使用中である事とを示す図10に示すようなレスポンスメッセージを作成し、ICカード処理装置1へ送信する。
次に、ICカード処理装置1がICカード2に対して論理チャネル#1を使用してEF#4を指定したリードコマンドを送信するものとする。このリードコマンドを通信部25により受信すると(ステップS41)、ICカード2の制御素子21は、受信したリードコマンドに従って論理チャネル#1を使用してEF#4からデータを読み出すことが可能であるか否かを判断する。ここではEF#4が未使用であるため、制御素子21は、論理チャネル#1でのEF#4からデータを読み出すコマンド処理を実行する(ステップS42)。このコマンド処理は、テーブル26を更新した後に実行するようにしても良い。
また、制御素子21は、EF#4へアクセスするのに伴って、使用状況テーブル26を更新する。つまり、制御素子21は、使用状況テーブル26におけるEF#4のステータス値を論理チャネル#1で使用中であることを示す値に更新するとともに、論理チャネル#1で使用中であったEF#1のステータス値を未使用状態にする(ステップS33)。これは、論理チャネル#1が使用するEFがEF#4に変更されるのに伴って、EF#1が解放させることを意味している。図17(a)は、図16(a)に示す使用状況テーブル26に対して、EF#4(EFID=0x0004)のステータス値を論理チャネル#1で使用中であることを示す値(0x01)に更新し、かつ、EF#1(EFID=0x0001)のステータス値を未使用(0xFF)に更新した状態を示す。また、図17(b)は、アクセス状況テーブル27が図16(b)に示す状態のままであることを示している。
リードコマンドに対する処理が正常終了すると、制御素子21は、アクセス状況テーブル27を確認し、他の論理チャネル(論理チャネル#1以外のチャネル)での使用によりアクセスが不可となったEFが存在するか否かを判断する。ここでは、図17(b)に示すように、他の論理チャネル(論理チャネル#1以外のチャネル)での使用によりアクセスが不可となっているEFが存在しないため、制御素子21は、コマンドが正常終了である事を示すレスポンスメッセージをICカード処理装置1へ送信する(ステップS44)。
次に、ICカード処理装置1がICカード2に対して論理チャネル#2を使用してEF#3を指定したリードコマンドを送信するものとする。このリードコマンドを通信部25により受信すると(ステップS51)、ICカード2の制御素子21は、受信したリードコマンドに従って論理チャネル#2を使用してEF#3からデータを読み出すことが可能であるか否かを判断する。ここではEF#3が未使用であるため、制御素子21は、論理チャネル#2でEF#3からデータを読み出すコマンド処理を実行する(ステップS52)。このコマンド処理は、テーブル27を更新した後に実行するようにしても良い。
また、制御素子21は、EF#3へアクセスするのに伴って、使用状況テーブル26を更新する。ここでは、制御素子21は、使用状況テーブル26におけるEF#3のステータス値を論理チャネル#2で使用中であることを示す値に更新するとともに、論理チャネル#2で使用中であったEF#2のステータス値を未使用状態(0xFF)にする(ステップS53)。これは、論理チャネル#2が使用するEFがEF#4に変更されるのに伴って、EF#2が論理チャネル#2から解放されることを意味している。図18(a)は、図17(a)に示す使用状況テーブル26に対して、EF#3(EFID=0x0003)のステータス値を論理チャネル#2で使用中であることを示す値(0x02)に更新し、かつ、EF#2(EFID=0x0002)のステータス値を未使用(0xFF)に更新した状態を示す。また、図18(b)は、アクセス状況テーブル27が図17(b)に示す状態のままであることを示している。
リードコマンドに対する処理が正常終了すると、制御素子21は、アクセス状況テーブル27を確認し、他の論理チャネル(論理チャネル#2以外のチャネル)での使用によりアクセスが不可となったEFが存在するか否かを判断する。他の論理チャネル(論理チャネル#2以外のチャネル)での使用によりアクセスが不可となったEFが存在する場合、制御素子21は、コマンドが正常終了である事を示す情報と、他の論理チャネルでの使用によりアクセスが不可となったEFの現在の状況を示す情報とを含むレスポンスメッセージをICカード処理装置1へ送信する(ステップS54)。
ここでは、図18(b)に示すように、論理チャネル#1での使用によりアクセスが不可となったEFとしてEF#1が存在する。制御素子21は、図18(b)に示すアクセス状況テーブルに示される以前にアクセスが不可となったEF#1について、現在の使用状況を図18(a)に示す使用状況テーブル26を参照して確認する。図18(a)に示す例では、EF#1は現在の状況が未使用となっている。このため、制御素子21は、コマンドが正常終了である事と、以前にアクセス不可となったEF#1が現在は未使用(アクセス可の状態)である事とを示す図11に示すようなレスポンスメッセージを作成し、ICカード処理装置1へ送信する。
次に、ICカード処理装置1がICカード2に対して論理チャネル#2を使用してEF#1を指定したリードコマンドを送信するものとする。このリードコマンドを通信部25により受信すると(ステップS61)、ICカード2の制御素子21は、受信したリードコマンドに従って論理チャネル#2を使用してEF#1からデータを読み出すことが可能であるか否かを判断する。ここではEF#1が未使用であるため、制御素子21は、論理チャネル#2でEF#1からデータを読み出すコマンド処理を実行する(ステップS62)。このコマンド処理は、テーブル26、27を更新した後に実行するようにしても良い。
制御素子21は、論理チャネル#2でEF#1へアクセスするのに伴って、使用状況テーブル26及びアクセス状況テーブル27を更新する(ステップS63、S64)。すなわち、制御素子21は、論理チャネル#2でEF#1へアクセスするのに伴って、使用状況テーブル26を更新する(ステップS63)。ここでは、制御素子21は、使用状況テーブル26におけるEF#1のステータス値を論理チャネル#2で使用中であることを示す値(0x02)に更新するとともに、論理チャネル#2で使用中であったEF#3のステータス値を未使用状態(0xFF)にする。これは、論理チャネル#2が使用するEFがEF#1に変更されるのに伴って、EF#3が論理チャネル#2から解放されることを意味している。図19(a)は、図18(a)に示す使用状況テーブル26に対して、EF#1(EFID=0x0001)のステータス値を論理チャネル#2で使用中であることを示す値(0x02)に更新し、かつ、EF#3(EFID=0x0003)のステータス値を未使用(0xFF)に更新した状態を示す。
また、制御素子21は、論理チャネル#2でEF#1へアクセスするのに伴ってアクセス状況テーブル27を更新する(ステップS64)。つまり、制御素子21は、図18(b)に示すアクセス状況テーブル27では論理チャネル#2に対するアクセス情報としてEF#1が格納されている。このため、論理チャネル#2でのEF#1へのアクセスが成功した場合、アクセス状況テーブル27は、論理チャネル#2に対するアクセス情報として格納されているEF#1へのアクセスが成功した事を示す情報に更新する。図19(b)は、図18(a)に示すアクセス状況テーブル27において存在していた論理チャネル#2に対するアクセス情報をEF#1のEFIDとアクセス成功を示すステータスとに書き換える。また、アクセス状況テーブル27において存在していた論理チャネル#2に対するEF#1に関する情報は削除するようにしても良い。これにより、アクセス状況テーブル27には、論理チャネル#2においてアクセス不可となったままのEFが存在しなくなる。
リードコマンドに対する処理が正常終了すると、制御素子21は、アクセス状況テーブル27を確認し、他の論理チャネル(論理チャネル#2以外のチャネル)での使用によりアクセスが不可となったEFが存在するか否かを判断する。ここでは、図19(b)に示すように、他の論理チャネル(論理チャネル#2以外のチャネル)での使用によりアクセスが不可となっているEFが存在しないため、制御素子21は、コマンドが正常終了である事を示すレスポンスメッセージをICカード処理装置1へ送信する(ステップS65)。
次に、ICカード2がコマンドを受信した場合の処理の流れについて説明する。
図20は、ICカード2がコマンドを受信した場合の処理の流れを説明するためのフローチャートである。
まず、ICカード2がICカード処理装置1からコマンドを受信したものとする。ここでは、コマンドは、指定の論理チャネルを使用して指定するEFへのアクセスを要求するコマンドであるものとする。たとえば、リードコマンド、あるいはアップデートコマンドなどが想定される。
通信部25によりコマンドを受信すると、制御素子21は、使用状況テーブル26から受信したコマンドが指定するEF(当該コマンドがアクセス対象とするEF)のステータスを確認する(ステップS71)。なお、当該受信コマンドでは、使用する論理チャネルの論理チャネル番号が指定されているものとする。
受信したコマンドが指定するEF(以下、指定EFとも称する)のステータスが未使用である場合(ステップS72、YES)、制御素子21は、使用状況テーブル26において、当該指定EFのステータスを当該コマンドが使用する論理チャネル(以下、指定チャネルとも称する)の論理チャネル番号に更新する(ステップS73)。これにより、当該指定EFは、当該指定チャネルの論理チャネル番号で使用中に設定される。さらに、制御素子21は、使用状況テーブル26において、当該指定EF以外で当該指定チャネルがステータスに設定されているEFのステータスを未使用に更新する(ステップS74)。これにより、使用状況テーブル26において、当該指定チャネルで使用中のEFは、当該コマンドの指定EFに更新される。
さらに、制御素子21は、アクセス状況テーブル27において、指定チャネルに対するアクセス情報として、EFIDを当該指定EFのEFIDに更新し、ステータスをアクセス成功を示す情報に更新する(ステップS75)。使用状況テーブル26およびアクセス状況テーブル27の更新が完了すると、制御素子21は、当該受信コマンドに対応するコマンド処理を実行する(ステップS76)。たとえば、受信コマンドがリードコマンドであれば、制御素子21は、指定EFのデータを読み出して、レスポンスメッセージのデータ部における「Data1」として格納する。なお、レスポンスメッセージは、たとえば、RAM23上で作成される。
コマンド処理が終了すると、制御素子21は、アクセス状況テーブル27における指定チャネルのEFIDとステータスとを確認する(ステップS77)。当該指定チャネルに対するステータスがアクセス成功である場合(ステップS78、YES)、制御素子21は、当該コマンドのレスポンスメッセージのデータ部に当該指定チャネルでアクセス不可となったEFがないことを示すデータをセットする(ステップS79)。たとえば、制御素子21は、データ部における「Data2」には該当するファイルなしを示す「0xFFFF」をセットし、「Data3」には未使用を示す「0xFF」をセットする。
さらに、制御素子21は、上記のようにデータ部をセットしたレスポンスメッセージのステータス部に正常終了を示すステータスをセットする(ステップS80)。たとえば、制御素子21は、正常終了を示すステータスとして「0x9000」をセットする。レスポンスメッセージが完成すると、制御素子21は、作成したレスポンスメッセージをコマンドの送信元であるICカード処理装置1へ送信する(ステップS81)。
また、アクセス状況テーブル27の確認結果として当該指定チャネルに対するステータスがアクセス成功でないことを確認した場合(ステップS78、NO)、制御素子21は、当該コマンドのレスポンスメッセージのデータ部に当該指定チャネルでアクセス不可となったEFを示す情報とアクセス不可となったEFの現在の使用状況を示す情報とをセットする(ステップS82)。たとえば、制御素子21は、レスポンスメッセージのデータ部における「Data2」にはアクセス状況テーブル27に記憶されている当該指定チャネルに対応するEFID(アクセス不可となったEFのEFID)をセットし、「Data3」には使用状況テーブル26に記憶されている当該EFのステータスをセットする。
さらに、制御素子21は、上記のようにデータ部をセットしたレスポンスメッセージのステータス部にコマンドの正常終了とアクセス不可となったEFの情報を付加した事とを示すステータスをセットする(ステップS83)。たとえば、制御素子21は、正常終了とアクセス不可となったEFの情報の付加とを示すステータスとして「0x9001」をセットする。このようなレスポンスメッセージが完成すると、制御素子21は、作成したレスポンスメッセージをコマンドの送信元であるICカード処理装置1へ送信する(ステップS81)。
また、受信したコマンドの指定EFのステータスが未使用でない場合(ステップS72、NO)、制御素子21は、指定EFのステータスが当該コマンドで使用される論理チャネル(指定チャネル)の論理チャネル番号であるか否かを判断する(ステップS84)。指定EFのスタータスが指定チャネルの論理チャネル番号である場合、つまり、指定EFを使用中の論理チャネルが指定チャネルと一致する場合(ステップS84、YES)、制御素子21は、ステップS76へ進み、コマンド処理を実行する。
また、指定EFのスタータスが指定チャネルの論理チャネル番号でない場合、つまり、指定EFを使用中の論理チャネルが当該コマンドの指定チャネルと一致しない場合(ステップS84、NO)、制御素子21は、アクセス状況テーブル27における当該指定チャネルのステータスを確認する(ステップS85)。当該指定チャネルに対するステータスがアクセス成功である場合(ステップS86、YES)、制御素子21は、アクセス状況テーブル27において、指定チャネルに対するアクセス情報におけるEFIDを当該指定EFのEFIDに更新し、ステータスを当該指定EFを使用中の論理チャネルを示す情報(論理チャネル番号)に更新する(ステップS87)。
アクセス状況テーブルを更新した場合、あるいは、当該指定チャネルに対するステータスが既にアクセス成功でない場合(ステップS86、NO)、制御素子21は、当該コマンドのレスポンスメッセージのデータ部にアクセス不可となったEF(指定EF)を示す情報とアクセス不可となったEFの現在の使用状況(使用中の論理チャネル)を示す情報とをセットする(ステップS88)。たとえば、制御素子21は、レスポンスメッセージのデータ部における「Data2」にはアクセス不可となったEFのEFIDをセットし、「Data3」には使用状況テーブル26に記憶されている当該EFのステータス(使用中の論理チャネル番号)をセットする。
さらに、制御素子21は、上記のようにデータ部をセットしたレスポンスメッセージのステータス部にコマンドの異常終了とアクセス不可となったEFの情報を付加した事とを示すステータスをセットする(ステップS89)。たとえば、制御素子21は、正常終了とアクセス不可となったEFの情報の付加とを示すステータスとして「0x69FF」をセットする。このようなレスポンスメッセージが完成すると、制御素子21は、作成したレスポンスメッセージをコマンドの送信元であるICカード処理装置1へ送信する(ステップS81)。
上述したように、本実施形態では、外部から指示された命令を解釈して実行し、その結果を応答するICカードが、外部装置との物理的な通信インターフェースによる通信制御を論理的な複数の通信チャネルを介して実行できる機能を装備する。ICカードは、1つの論理チャネルを介したファイルアクセスに対する応答において当該ファイルが別論理チャネルで使用中であることをコマンドに対するレスポンスメッセージのステータスバイトで示す。さらに、ICカードは、ファイルが別論理チャネルで使用中である事をレスポンスメッセージのステータスバイトで示された以降、前述のファイルに同一論理チャネルを介してアクセスするまで、同一論理チャネルを介したコマンド実行のレスポンスメッセージに前述のファイルの使用状態を付加する。
また、レスポンスメッセージには、複数ファイルの使用状態をレスポンスに付加できるようにしても良い。
さらには、ファイル単位だけではなく、ファイル内に格納されるデータ単位である、データオブジェクト単位、あるいは、レコード単位で、論理チャネルの使用状況を管理するようにしても良い。この場合、データオブジェクト単位、あるいは、レコード単位で、論理チャネルの使用状況をレスポンスメッセージに付加するようにしても良い。
上記実施形態によれば、ファイルアクセスを伴うコマンドに対する応答において、ファイルが別論理チャネルで使用中である通知することができ、ある論理チャネルを使ったあるコマンドでアクセス対象のファイルが既に別の論理チャネルで使用中であるためにアクセス不可となった場合には、アクセス不可となった論理チャネルを介して実行される以降のコマンドに対するレスポンスメッセージにアクセス不可となったファイルの使用状態を付加できる。この結果として、別の論理チャネルで使用中のためにアクセス不可となったファイルの使用状況を随時認識することができ、当該ファイルへのアクセスのためにリトライを繰り返す必要がなく、効率よくコマンド処理を実行できる。
すなわち、上記実施形態によれば、別の論理チャネルで使用中のためにアクセス不可となったファイルの使用状態をその後の各コマンドのレスポンスメッセージに付加できるため、ファイルのアクセスに失敗した場合であっても成功するまでリトライを繰り返す必要がなく、全体の処理時間が向上できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…ICカード処理装置(外部装置)、2…ICカード(携帯可能電子装置)、11…制御部、12…ディスプレイ、13…キーボード、14…カードリーダライタ、15…認証情報入力部、B…本体、M…ICモジュール、21…制御素子、22…データメモリ(EEPROM)、23…ワーキングメモリ(RAM)、24…プログラムメモリ(ROM)、25…通信部。

Claims (11)

  1. 外部装置とデータ通信を行う通信手段と、
    前記通信手段によるデータ通信を複数の論理チャネルから選択する論理チャネルを用いて実行する制御手段と、
    前記外部装置からのコマンドによってアクセス対象となるデータ単位でデータを記憶するデータ記憶手段と、
    前記通信手段により受信したコマンドが指定するデータへのアクセスを当該コマンドで指定する論理チャネルで実行するコマンド処理手段と、
    前記データ記憶手段に記憶した各データに対する各論理チャネルからの使用状況を記憶し、各データに対応づけて、使用している論理チャネルを示す情報を記憶する第1の記憶手段と、
    前記第1の記憶手段に記憶された情報を参照し、前記コマンドが指定するデータが当該コマンドの第1の論理チャネル以外の第2の論理チャネルで使用中のためにアクセス不可となった場合、当該コマンドのレスポンスメッセージに第2の論理チャネルで使用中のためにアクセス不可となった旨を示す情報を付加して出力する応答手段と、
    を有し、
    前記コマンド処理手段は、第1のデータへのアクセスを所定の論理チャネルで実行して前記第1のデータが前記所定の論理チャネルで使用中であることを示す第1の情報を前記第1の記憶手段に記憶させ、続いて第2のデータへのアクセスを前記所定の論理チャネルで実行して前記第2のデータが前記所定の論理チャネルで使用中であることを示す第2の情報を前記第1の記憶手段に記憶させ前記第1の情報を前記第1のデータが未使用であることを示す第3の情報へ更新するICカード。
  2. 前記応答手段は、前記コマンド処理手段によるコマンドの実行結果を示すレスポンスメッセージに、当該コマンドの論理チャネルでアクセス不可となったデータの使用状況を示す情報を付加して出力する、
    前記請求項1に記載のICカード。
  3. さらに、前記論理チャネルごとにアクセス不可となったデータを示す情報を記憶する第2の記憶手段を有し、
    前記応答手段は、前記第2の記憶手段に記憶した情報により当該コマンドの論理チャネルでアクセス不可となったデータを特定し、前記第1の記憶手段に記憶した情報により前記特定したアクセス不可となったデータの使用状況を示す情報を決定する、
    前記請求項2に記載のICカード。
  4. 前記第1の記憶手段は、各データに対応づけて、使用している論理チャネルを示す情報、あるいは、未使用を示す情報の何れかを記憶する、
    前記請求項3に記載のICカード。
  5. 前記第2の記憶手段は、各論理チャネルに対応づけて、アクセス不可となったデータを示す情報と当該データを使用中の論理チャネルを示す情報とを記憶する、
    前記請求項3又は4の何れかに記載のICカード。
  6. 前記第2の記憶手段は、当該論理チャネルでアクセス不可となっていたデータへのアクセスが成功した場合、前記アクセス不可となったデータを示す情報を当該データへのアクセス成功を示す情報に書き換える、
    前記請求項3乃至5の何れか1項に記載のICカード。
  7. 前記レスポンスメッセージは、データ部とステータス部とを有し、
    前記応答手段は、前記第2の記憶手段に記憶するアクセス不可となったデータの使用状況を示す情報を前記レスポンスメッセージのデータ部に付加する、
    前記請求項3乃至6の何れか1項に記載のICカード。
  8. 前記応答手段は、前記アクセス不可となったデータの使用状況を示す情報を前記データ部に付加する場合、前記ステータス部にはコマンドの処理結果とともに前記データの使用状況を示す情報を付加した事を示すステータスを格納する、
    前記請求項7に記載のICカード。
  9. 外部装置とデータ通信を行う通信手段と、前記通信手段によるデータ通信を複数の論理チャネルから選択する論理チャネルを用いて実行する制御手段と、前記外部装置からのコマンドによってアクセス対象となるデータ単位でデータを記憶するデータ記憶手段と、前記通信手段により受信したコマンドが指定するデータへのアクセスを当該コマンドで指定する論理チャネルで実行するコマンド処理手段と、前記データ記憶手段に記憶した各データに対する各論理チャネルからの使用状況を記憶し、各データに対応づけて、使用している論理チャネルを示す情報を記憶する第1の記憶手段と、前記第1の記憶手段に記憶された情報を参照し、前記コマンドが指定するデータが当該コマンドの第1の論理チャネル以外の第2の論理チャネルで使用中のためにアクセス不可となった場合、当該コマンドのレスポンスメッセージに第2の論理チャネルで使用中のためにアクセス不可となった旨を示す情報を付加して出力する応答手段と、を有するモジュールと、
    前記モジュールを具備する本体と、
    を有し、前記コマンド処理手段は、第1のデータへのアクセスを所定の論理チャネルで実行して前記第1のデータが前記所定の論理チャネルで使用中であることを示す第1の情報を前記第1の記憶手段に記憶させ、続いて第2のデータへのアクセスを前記所定の論理チャネルで実行して前記第2のデータが前記所定の論理チャネルで使用中であることを示す第2の情報を前記第1の記憶手段に記憶させ前記第1の情報を前記第1のデータが未使用であることを示す第3の情報へ更新するICカード。
  10. 外部装置とデータ通信を行う通信手段と、
    前記通信手段によるデータ通信を複数の論理チャネルから選択する論理チャネルを用いて実行する制御手段と、
    前記外部装置からのコマンドによってアクセス対象となるデータ単位でデータを記憶するデータ記憶手段と、
    前記通信手段により受信したコマンドが指定するデータへのアクセスを当該コマンドで指定する論理チャネルで実行するコマンド処理手段と、
    前記データ記憶手段に記憶した各データに対する各論理チャネルからの使用状況を記憶し、各データに対応づけて、使用している論理チャネルを示す情報を記憶する第1の記憶手段と、
    前記第1の記憶手段に記憶された情報を参照し、前記コマンドが指定するデータが当該コマンドの第1の論理チャネル以外の第2の論理チャネルで使用中のためにアクセス不可となった場合、当該コマンドのレスポンスメッセージに第2の論理チャネルで使用中のためにアクセス不可となった旨を示す情報を付加して出力する応答手段と、
    を有し、
    前記コマンド処理手段は、第1のデータへのアクセスを所定の論理チャネルで実行して前記第1のデータが前記所定の論理チャネルで使用中であることを示す第1の情報を前記第1の記憶手段に記憶させ、続いて第2のデータへのアクセスを前記所定の論理チャネルで実行して前記第2のデータが前記所定の論理チャネルで使用中であることを示す第2の情報を前記第1の記憶手段に記憶させ前記第1の情報を前記第1のデータが未使用であることを示す第3の情報へ更新する携帯可能電子装置。
  11. 外部装置とデータ通信を行う通信手段と、前記外部装置からのコマンドによってアクセス対象となるデータ単位でデータを記憶するデータ記憶手段と、外部装置とのデータ通信を複数の論理チャネルから選択する論理チャネルを用いて実行する制御手段と、前記データ記憶手段に記憶した各データに対する各論理チャネルからの使用状況を記憶し、各データに対応づけて、使用している論理チャネルを示す情報を記憶する第1の記憶手段とを有するICカードのコマンド処理方法であって、
    前記通信手段により受信したコマンドが指定するデータへのアクセスを当該コマンドで指定する論理チャネルで実行する処理において、第1のデータへのアクセスを所定の論理チャネルで実行して前記第1のデータが前記所定の論理チャネルで使用中であることを示す第1の情報を前記第1の記憶手段に記憶させ、続いて第2のデータへのアクセスを前記所定の論理チャネルで実行して前記第2のデータが前記所定の論理チャネルで使用中であることを示す第2の情報を前記第1の記憶手段に記憶させ前記第1の情報を前記第1のデータが未使用であることを示す第3の情報へ更新し、
    前記第1の記憶手段に記憶された情報を参照し、前記コマンドが指定するデータが当該コマンドの第1の論理チャネル以外の第2の論理チャネルで使用中のためにアクセス不可となった場合、当該コマンドのレスポンスメッセージに第2の論理チャネルで使用中のためにアクセス不可となった旨を示す情報を付加して出力する、
    ICカードのコマンド処理方法。
JP2012062490A 2012-03-19 2012-03-19 Icカード、携帯可能電子装置及びicカードのコマンド処理方法 Active JP5971687B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012062490A JP5971687B2 (ja) 2012-03-19 2012-03-19 Icカード、携帯可能電子装置及びicカードのコマンド処理方法
US13/795,477 US9672390B2 (en) 2012-03-19 2013-03-12 IC card and command processing method for IC card
EP13158933.5A EP2642411B1 (en) 2012-03-19 2013-03-13 IC card and command processing method for IC card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012062490A JP5971687B2 (ja) 2012-03-19 2012-03-19 Icカード、携帯可能電子装置及びicカードのコマンド処理方法

Publications (2)

Publication Number Publication Date
JP2013196346A JP2013196346A (ja) 2013-09-30
JP5971687B2 true JP5971687B2 (ja) 2016-08-17

Family

ID=48044536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012062490A Active JP5971687B2 (ja) 2012-03-19 2012-03-19 Icカード、携帯可能電子装置及びicカードのコマンド処理方法

Country Status (3)

Country Link
US (1) US9672390B2 (ja)
EP (1) EP2642411B1 (ja)
JP (1) JP5971687B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251810B1 (ko) * 2014-09-30 2021-05-13 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치에 대한 제어 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4896842B2 (ja) * 2007-09-20 2012-03-14 株式会社東芝 携帯可能電子装置
JP5454933B2 (ja) * 2009-09-11 2014-03-26 株式会社東芝 携帯可能電子装置、icカード、および携帯可能電子装置の制御方法

Also Published As

Publication number Publication date
EP2642411A1 (en) 2013-09-25
US20130241706A1 (en) 2013-09-19
JP2013196346A (ja) 2013-09-30
US9672390B2 (en) 2017-06-06
EP2642411B1 (en) 2021-11-17

Similar Documents

Publication Publication Date Title
US9183400B2 (en) IC card and IC card control method
US8931705B2 (en) IC card, mobile electronic device and data processing method in IC card
US7775423B2 (en) Portable electronic device and control method of portable electronic device
JP5259513B2 (ja) 携帯可能電子装置、icカードおよび携帯可能電子装置の制御方法
JP5259540B2 (ja) 携帯可能電子装置、icカード、携帯可能電子装置の処理システムおよび携帯可能電子装置の制御方法
JP5971687B2 (ja) Icカード、携帯可能電子装置及びicカードのコマンド処理方法
US20100235393A1 (en) Portable electronic device and access control method in portable electronic device
JP2012208910A (ja) 携帯可能電子装置、及び携帯可能電子装置の処理システム
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
JP5932588B2 (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP6946027B2 (ja) Icカード、携帯可能電子装置、プログラム、処理装置及び処理システム
JP6092342B2 (ja) 非接触式携帯可能電子装置、及び非接触式携帯可能電子装置の発行方法
JP6039036B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法
JP5957347B2 (ja) Icカード、および携帯可能電子装置
EP2990946B1 (en) Ic card, portable electronic device, and ic card processing device
JP5214291B2 (ja) Icカードおよびicカードの制御方法
JP2011022840A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
JP2018194995A (ja) 電子情報記憶媒体、icカード、データ送信方法、データ書き込み方法、データ送信プログラム及びデータ書き込みプログラム
JP5038918B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2016081117A (ja) Icカード、携帯可能電子装置、及び、icカード製造方法
JP5726700B2 (ja) Icカード、及びicカードの処理方法
JP5726659B2 (ja) Icカード、icカードの処理装置、及びicカードの処理システム
JP2009176034A (ja) 携帯可能電子装置、及び、データ管理方法
JP2013191117A (ja) Icチップ、atr応答処理プログラム、及びatr応答方法
JP2010218451A (ja) 携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160426

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160706

R151 Written notification of patent or utility model registration

Ref document number: 5971687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350