JP5197664B2 - Icカード、通信装置、コマンド処理方法、通信システム - Google Patents

Icカード、通信装置、コマンド処理方法、通信システム Download PDF

Info

Publication number
JP5197664B2
JP5197664B2 JP2010063322A JP2010063322A JP5197664B2 JP 5197664 B2 JP5197664 B2 JP 5197664B2 JP 2010063322 A JP2010063322 A JP 2010063322A JP 2010063322 A JP2010063322 A JP 2010063322A JP 5197664 B2 JP5197664 B2 JP 5197664B2
Authority
JP
Japan
Prior art keywords
response
command
received
execution
processes
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.)
Expired - Fee Related
Application number
JP2010063322A
Other languages
English (en)
Other versions
JP2011197959A (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 JP2010063322A priority Critical patent/JP5197664B2/ja
Priority to SG2011016003A priority patent/SG174684A1/en
Priority to EP11156915.8A priority patent/EP2367108A3/en
Priority to US13/043,651 priority patent/US20110227708A1/en
Publication of JP2011197959A publication Critical patent/JP2011197959A/ja
Application granted granted Critical
Publication of JP5197664B2 publication Critical patent/JP5197664B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow

Description

本発明は、例えば不揮発性メモリおよびCPUなどの制御素子を有するIC(集積回路)モジュールを内蔵した、いわゆるICカードと称される携帯可能電子装置等に関する。
近年、安全性に優れるICカード(接触式及び非接触式)の普及が目覚しい。このようなICカードは、電力供給が断たれてもデータを保持する事が可能な不揮発性メモリ、リーダライタと通信可能な通信I/F、各種動作を実行するCPUなどの制御素子、CPUの動作プログラム等を記憶するROM、及びデータを一時的に記憶するRAMを有する。
ICカードは、クレジットカード、定期券、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのIDカードとしても様々な分野で使われるようになっている。これは、従来の磁気カードに比べ、ICカードは、CPU、ROM、RAM、不揮発性メモリなどを有するICを備えることにより、様々な機能が実現可能となったこと、さらには偽造が難しいためセキュリティの面でも大きく向上したことが要因である。
ICカードは、リーダライタから送信されるコマンドに基づき動作する。例えば、ICカードは、リーダライタから送信されるコマンドを受信すると、受信コマンドに基づく処理を実行し、リーダライタに対してレスポンスを返信する。
例えば、非特許文献1は、RFM(Remote File Management)を開示しおり、一つのSecured Command APDUに複数のCommand APDUが含まれていること、及び複数のCommand APDUを順次実行する仕様を開示している。
さらに、以下のことが開示されている。
・カードは、Command APDUを順次実行する。
・カードは、Command APDUを実行した際、エラーが発生した場合は、コマンドの実行を中断する。
・カードは、Command APDUの実行数と、最後に実行したCommand APDUのSW(Status Word)をレスポンスとして返信する。なお、レスポンスデータある場合は、カードは、レスポンスデータを含むレスポンスを返信する。
また、非特許文献2は、上記「エラー」について開示している。つまり、上記「エラー」は、非非特許文献2に規定されているSWのうち、”Process aborted”であり、”Process completed”に分類されるSWは、エラーではない。つまり、Warning processingの場合も処理が継続される。
3GPP TS 23.048 ISO7816-4 Second edition (5.1.3「Status byte」)
上記したように、カードからのレスポンスは、最後に実行したCommand APDUのSWを含むが、途中の実行結果がNormal processingなのかWarning processingなのかを示す情報は含まない。よって、リーダライタは、カードからのレスポンスを受信しても、途中の実行結果がNormal processingなのかWarning processingなのか判断することができない。つまり、リーダライタは、カードからのレスポンスを受信しても、実際にコマンドを正常に実行できたか判別することが難しい。
本発明の目的は、より詳細なコマンド処理状態の判断を可能にする携帯可能電子装置及びコマンド処理方法を提供することにある。また、本発明の目的は、より詳細にコマンド処理状態を判断することが可能な通信装置を提供することにある。
本発明の一実施形態に係る携帯可能電子装置は、データを送受信する通信手段と、前記通信手段により受信された複数のコマンドに対応した複数の処理を実行し、実行状態に応じた応答を送信するコマンド処理手段と、を備え、前記コマンド処理手段は、前記複数の処理の正常実行に対応して、前記通信手段により第1の応答(例えばSW=61xx)を送信し、前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象(例えばエラー)の発生に対応して、前記通信手段により第2の応答(例えばSW=6200)を送信し、前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象(例えばWarning)の発生に対応して、前記通信手段により第3の応答(例えばSW=yyxx)を送信する。
本発明の一実施形態に係る通信装置は、データを送受信する通信手段と、前記通信手段により複数のコマンドを送信し、前記複数のコマンドに対応した複数の処理の実行状態に応じた応答(第1、第2、第3の応答のうちのいずれかの応答)を受信し、前記応答の内容に応じて(例えばSW=yyxxを受信した場合)前記複数の処理のうちの少なくとも一つの処理の実行状態を要求する実行状態要求コマンドを送信するコマンド送信手段と、を備えている。
本発明の一実施形態に係るコマンド処理方法は、複数のコマンドを受信し、前記複数のコマンドに対応した複数の処理を実行し、前記複数の処理の正常実行に対応して第1の応答を送信し、前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して第2の応答を送信し、前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して第3の応答を送信する。
本発明によれば、より詳細なコマンド処理状態の判断を可能にする携帯可能電子装置及びコマンド処理方法を提供できる。また、本発明によれば、より詳細にコマンド処理状態を判断することが可能な通信装置を提供できる。
本発明の一実施形態に係るICカードシステム(別称、スマートカードシステム)の概略構成を示すブロック図である。 本発明の一実施形態に係るカードリーダ/ライタの概略構成を示すブロック図である。 本発明の一実施形態に係るICカードの概略構成を示すブロック図である。 第2のコマンド処理の一例を示す図である。 第1のコマンド処理の一例を示す図である。 ENVELOPEコマンドの実行に第2のコマンド処理を適用したケースの一例を示すフローチャートである。 ENVELOPEコマンドの実行に第1のコマンド処理を適用したケースの一例を示すフローチャートである。 Secured Command APDU aの一例を示す図である。 Secured Command APDU bの一例を示す図である。 Secured Command APDU cの一例を示す図である。 Command APDU a-1及びCommand APDU a-2の実行に対応したSWの一例を示す図である。 Command APDU b-1、Command APDU b-2、及びCommand APDU b-3の実行に対応したSWの一例を示す図である。 Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nの実行に対応したSWの一例を示す図である。 Secured Command APDU aの実行に対応したレスポンスの一例を示す図である。 Secured Command APDU bの実行に対応したレスポンスの一例を示す図である。 Secured Command APDU cの実行に対応したレスポンスの一例を示す図である。 ENVELOPEコマンドのフォーマットの一例を示す図である。 SMS-TPDU TLVのフォーマットの一例を示す図である。 SMSの結合の一例を示す図である。 Secured_Data_Aの結合例を示す図である。 Secured_Data_Bの結合例を示す図である。 Secured_Data_Cの結合例を示す図である。 Secured_Data_A に格納されたSecured Command APDUの一例を示す図である。 図23に示すSecured Command APDUの実行結果の一例を示す図である。 図23に示すSecured Command APDUの実行に対応したICカードのレスポンスの一例を示す図である。
以下、図面を参照し、本発明の実施形態について説明する。
図1は、本発明の一実施形態に係るICカードシステム(別称、スマートカードシステム)の概略構成を示すブロック図である。図1に示すように、ICカードシステムは、端末1(通信装置)及びICカード2(携帯可能電子装置)により構成される。端末1は、制御部11、ディスプレイ12、キーボード13、カードリーダ/ライタ14、テンキー15を備えている。端末1はICカード2と通信可能に構成されており、端末1はICカード2に対してコマンド等のデータを送信したり、ICカード2からのレスポンス等のデータを受信したりする。
制御部11は、例えば、複数の通信方式及び複数のアプリケーションを選択的に実行することができる。ディスプレイ12は、ICカード2との通信結果及び認証結果等を表示する。キーボード13は、制御部11に対して文字及び数字等を入力する。テンキー15は、制御部11に対してPIN等を入力する。カードリーダ/ライタ14は、ICカード2と通信する。
なお、ICカード2は、接触式のカード、非接触式のカード、及び非接触式と接触式の両者をサポートするコンビ型のカードのいずれであってもよい。
図2は、本発明の一実施形態に係るカードリーダ/ライタ14の概略構成を示すブロック図である。図2に示すように、カードリーダ/ライタ14は、通信I/F142、CPU143、データメモリ(不揮発性メモリ)144、RAM145、ROM146を備えている。CPU143は、例えば通信制御手段として機能し、ICカード2に対するコマンド等の送信を制御したり、ICカード2からのレスポンスを検出したりする。さらに、CPU143は、ICカード2からのレスポンスに基づき、ICカード2に対してさらにコマンド等の送信を制御する。
図3は、本発明の一実施形態に係るICカードの概略構成を示すブロック図である。図3に示すように、ICカード2は、例えばプラスティックカードであり、ICチップ20(ICモジュール)及び通信I/F部21を備えている。ICチップ20は、制御素子により構成される制御部22、不揮発性メモリ(EEPROM、FRAM、FLASH等)25、RAM23、ROM24を備えている。例えば、ICチップ20と通信I/F部21とが一体的にICモジュール化されて、ICカード本体内(プラスティックカード内)に埋設される。なお、携帯可能電子装置の一例として、上記したようなICカード2について説明するが、本発明はこれに限定されるものではない。例えば、携帯可能電子装置は、SIM形状のICカードであってもよい。
例えば、ICカード2は、共通部とアプリケーション部により構成され、共通部は、ICチップ20及び通信I/F部21により構成され、アプリケーション部はICチップ20により構成される。例えば、制御部22の共通部は、ROM24に記憶されたICカードプログラム等に基づき動作し、端末1からのコマンド等の受信を制御したり、受信したコマンド等を解釈したり、端末1に対するレスポンス等の送信を制御したりする。また、制御部22のアプリケーション部は、コマンド処理手段として機能し、解釈されたコマンドを実行する。共通部とアプリケーション部の役割については後に詳しく説明する。
RAM23は、ワーキングメモリとして機能し、コマンドの実行に対応した実行結果等を記憶する。例えば、複数のコマンドが実行される場合、RAM23は、これら複数のコマンドの実行に対応した実行結果等を記憶する。また、不揮発性メモリ25は、RAMに記憶された実行結果等を記憶(バックアップ)する。ROM24は、制御部22により実行されるICカードプログラムを保持する。
次に、上記した端末1とICカード2による第1のコマンド処理について説明する。以下説明する第1のコマンド処理は、詳細なコマンド処理状態の判断を可能にする処理である。
例えば、端末1は、ICカード2に対して、複数のCommand APDU(例えばサブコマンド)を格納したSecured Command APDU(例えばメインコマンド)を送信する。これに対応して、ICカード2(共通部)は、端末1からのSecured Command APDUを受信し、ICカード2(アプリケーション部)は、このSecured Command APDUに格納されている複数のCommand APDUを実行する。つまり、ICカード2(アプリケーション部)は、複数のCommand APDUに対応した複数の処理を順に実行する。また、ICカード2(共通部)は、複数の処理の実行に対応した複数の実行状態を記憶する。
これら複数の処理を正常に実行することができた場合には、ICカード2(共通部)は、端末1に対して第1のレスポンス(以下説明するSW=61xx)を送信する。さらに、ICカード2(共通部)は、コマンドの実行数と複数のコマンドのうちの最後に実行した最終コマンドの実行状態(以下説明する最終SW)を含む実行状態レスポンスを送信する。
また、これら複数の処理のうちの一つの処理において、処理を中断することが定められた第1の事象(エラー)が発生した場合には、ICカード2(共通部)は、処理を中断して、端末1に対して第2のレスポンス(以下説明するSW=6200)を送信する。さらに、ICカード2(共通部)は、コマンドの実行数と、複数のコマンドのうちの最後に実行した最終コマンドの実行状態(以下説明する最終SW)を含む実行状態レスポンスを送信する。
また、これら複数の処理のうちの少なくとも一つの処理において、処理を中断しないことが定められた第2の事象(警告)の発生に対応して、ICカード2(共通部)は、処理を中断することなく、端末1に対して第3のレスポンス(以下説明するSW=yyxx)を送信する。さらに、ICカード2(共通部)は、コマンドの実行数と、複数のコマンドのうちの最後に実行した最終コマンドの実行状態(以下説明する最終SW)を含む実行状態レスポンスを送信する。
端末1は、第1、第2、第3のレスポンスのうちの第3のレスポンスを受信した場合、複数の処理のうちの少なくとも一つの処理において第2の事象(警告)が発生したことを検出することができる。これに対応して、端末1は、ICカード2に対して、上記した複数の処理のうちの少なくとも一つの処理の実行状態を要求する実行状態要求コマンド(専用のCommand APDU)を送信する。例えば、端末1が、第2の事象(警告)が発生しやすい所定コマンドを登録している場合、この所定コマンドの実行状態を要求する実行状態要求コマンドを送信することができる。
ICカード2(共通部)は、端末1からの実行状態要求コマンドを受信すると、端末1に対して、複数の実行状態のうちの少なくとも一つの実行状態を送信する。例えば、端末1が、全ての処理の実行状態を要求する実行状態要求コマンドを送信すれば、ICカード2(共通部)は、この実行状態要求コマンドの受信に対応して、端末1に対して全ての処理の実行状態を送信する。また、上記したように、端末1が、所定コマンドの実行状態を要求する実行状態要求コマンドを送信すれば、ICカード2(共通部)は、この実行状態要求コマンドの受信に対応して、端末1に対して所定コマンドの実行状態を送信する。
以上説明した第1のコマンド処理によれば、端末1は、より詳細にコマンド処理状態を検出することができる。例えば、ICカード内の処理においてWarning processingが発生していた場合に、端末1は、このWarning processingを検出することができる。
図4は、第2のコマンド処理の一例を示す図である。以下説明する第2のコマンド処理では、詳細なコマンド処理状態の判断は難しい。以下、Secured Command APDU a、Secured Command APDU b、及びSecured Command APDU cを実行する第2のコマンド処理の一例について説明する。
最初に、Secured Command APDU aの実行について説明する。図8に示すように、Secured Command APDU aは、Command APDU a-1、及びCommand APDU a-2を格納している。図11は、Command APDU a-1及びCommand APDU a-2の実行に対応したSWの一例を示す図である。
例えば、図4に示すように、端末1は、ICカード2に対して、Secured Command APDU a(1/1)を送信する。ICカード2(共通部)は、Secured Command APDU a(1/1)を受信し、受信したSecured Command APDU a(1/1)をRAM23等に格納し、Command APDU a-1、Command APDU a-2に対応した複数の処理を順次実行するように、ICカード2(アプリケーション部)へ指示しようとする。
例えば、アプリケーション部は、Command APDU a-1を実行し、エラーが発生した場合には、共通部に対してSW=6700を通知する。共通部は、SW=6700を受け取り(エラーの発生に対応して)、次のCommand APDU a-2の実行指示を出さずに、端末1に対して、エラーが発生したことを示すSW=6200を含むレスポンスを送信する。端末1は、ICカード2からのSW=6200を含むレスポンスを受信し、GET RESPONSEを送信する。ICカード2は、GET RESPONSEを受信し、コマンド実行数と最終SWを含むRP-Errorを送信する。上記したように、1コマンド目で、エラーが発生しているので(SW=6700)、共通部は、端末1に対して、実行コマンド数:01、最終SW:6700を含むRP-Error(図14参照)を送信する。
続いて、Secured Command APDU bの実行について説明する。図9に示すように、Secured Command APDU bは、Command APDU b-1、Command APDU b-2、及びCommand APDU b-3とを格納している。図12は、Command APDU b-1、Command APDU b-2、及びCommand APDU b-3の実行に対応したSWの一例を示す図である。
例えば、図4に示すように、端末1は、ICカード2に対して、Secured Command APDU b(1/2)を送信する。ICカード2(共通部)は、Secured Command APDU b(1/2)を受信し、受信したSecured Command APDU b(1/2)をRAM23等に格納し、端末1に対してSW=9000(正常実行)を含むレスポンスを送信し、Secured Command APDU b(2/2)を待つ。続いて、端末1は、ICカード2に対して、Secured Command APDU b(2/2)を送信する。ICカード2(共通部)は、Secured Command APDU b(2/2)を受信し、受信したSecured Command APDU b(2/2)をRAM23等に格納し、Secured Command APDU b(1/2)及びSecured Command APDU b(2/2)を結合し、Command APDU b-1、Command APDU b-2、Command APDU b-3に対応した複数の処理を順次実行するように、ICカード2(アプリケーション部)へ指示しようとする。
例えば、アプリケーション部が、Command APDU b-1に対応した処理を正常に実行すると、共通部に対してSW=9000(正常実行)を通知し、Command APDU b-2に対応した処理を正常に実行すると、共通部に対してSW=9000(正常実行)を通知し、Command APDU b-3に対応した処理を正常に実行すると、共通部に対してSW=9000(正常実行)を通知する。共通部は、これらの正常実行の通知を受け取り、端末1に対してSW=61xxを含むレスポンスを送信する。
端末1は、ICカード2からのSW=61xxを含むレスポンスを受信し、GET RESPONSEを送信する。ICカード2は、GET RESPONSEを受信し、コマンド実行数と最終SWを含むRP-Ackを送信する。上記したように、複数の処理はすべて正常に実行されているので(つまり最終処理は正常に実行されているので)、共通部は、端末1に対して、実行コマンド数:03、最終SW:9000を含むRP-Ack+9000(図15参照)を送信する。
続いて、Secured Command APDU cの実行について説明する。図10に示すように、Secured Command APDU cは、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nとを格納している。図13は、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nの実行に対応したSWの一例を示す図である。
例えば、図4に示すように、端末1は、ICカード2に対して、Secured Command APDU c(1/n)を送信する。ICカード2(共通部)は、Secured Command APDU c(1/n)を受信し、受信したSecured Command APDU c(1/n)をRAM23等に格納し、端末1に対してSW=9000(正常実行)を含むレスポンスを送信し、Secured Command APDU c(2/n)を待つ。続いて、端末1は、ICカード2に対して、Secured Command APDU c(2/n)を送信する。ICカード2(共通部)は、Secured Command APDU c(2/n)を受信し、受信したSecured Command APDU c(2/n)をRAM23等に格納し、端末1に対してSW=9000(正常実行)を含むレスポンスを送信し、Secured Command APDU c(3/n)を待つ。このようにして、ICカード2(共通部)が、Secured Command APDU c(n/n)を受信し、受信したSecured Command APDU c(n/n)をRAM23等に格納すると、Secured Command APDU c(1/n)、Secured Command APDU c(2/n)、…、Secured Command APDU c(n/n)を結合し、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nに対応した複数の処理を順次実行するように、ICカード2(アプリケーション部)へ指示しようとする。
これに対応して、例えば、図13に示すように、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nの実行に対応したSWが、SW=9000、6200、…、6283、9000となった場合について説明する。
まず、アプリケーション部は、Command APDU c-1を実行し、Command APDU c-1の実行結果がSW=9000(正常)となると、この実行結果を受けた共通部は、アプリケーション部に対してCommand APDU c-2の実行を指示し、アプリケーション部は、次のCommand APDU c-2を実行する。Command APDU c-2の実行結果がSW=6200となると、この実行結果を受けた共通部は、Command APDU c-2の実行結果をWarning processingに分類する。つまり、共通部は、Command APDU c-2の実行結果を、ISO-7816-4に規定されるProcess abortedではなく、Process completedに分類し、エラーと判断しない。よって、共通部は、アプリケーション部に対してCommand APDU c-3の実行を指示し、これに対応して、アプリケーション部は、次のコマンド(Command APDU c-3)を実行する。
アプリケーション部が、Command APDU c-(n-1)を実行した場合に、Command APDU c-(n-1)の実行結果がSW=6283となると、この実行結果を受けた共通部は、Command APDU c-(n-1)の実行結果もWarning processingに分類する。つまり、共通部は、Command APDU c-(n-1)の実行結果を、エラーと判断しない。よって、共通部は、アプリケーション部に対してCommand APDU c-nの実行を指示し、これに対応して、アプリケーション部は、次のコマンド(Command APDU c-n)を実行する。
アプリケーション部が、Command APDU c-nを実行した場合に、Command APDU c-nの実行結果がSW=9000となると、この実行結果を受けた共通部は、端末1に対してSW=61xxを含むレスポンスを送信する。端末1は、ICカード2からのSW=61xxを含むレスポンスを受信し、GET RESPONSEを送信する。ICカード2は、GET RESPONSEを受信し、コマンド実行数と最終SWを含むRP-Ackを送信する。上記したように、複数の処理は正常に実行されているので(つまり最終処理は正常に実行されているので)、共通部は、端末1に対して、実行コマンド数:n、最終SW:9000を含むRP-Ack+9000(図16参照)を送信する。
上記したように、第2のコマンド処理では、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nに対応した複数の処理において、SW=6200及びSW=6283という実行結果が得られたにも関わらず、ICカードは、正常実行を示すレスポンスを送信する。
再び、図5を参照して、第1のコマンド処理について説明する。図5は、第1のコマンド処理の一例を示す図である。以下、Secured Command APDU a、Secured Command APDU b、及びSecured Command APDU cを実行する第1のコマンド処理の一例について説明する。なお、第2のコマンド処理と共通する処理等については適宜説明を省略する。
例えば、最初に、Secured Command APDU a及びSecured Command APDU bが実行される。第2のコマンド処理におけるSecured Command APDU a及びSecured Command APDU bの実行と、第1のコマンド処理におけるSecured Command APDU a及びSecured Command APDU bの実行とは、実質的に略同じであり、説明は省略する。
続いて、Secured Command APDU cが実行される。例えば、図5に示すように、端末1は、ICカード2に対して、Secured Command APDU cを送信する。ICカード2(共通部)は、Secured Command APDU c(1/n)を受信し、受信したSecured Command APDU c(1/n)をRAM23等に格納し、端末1に対してSW=9000(正常実行)を含むレスポンスを送信し、Secured Command APDU c(2/n)を待つ。続いて、端末1は、ICカード2に対して、Secured Command APDU c(2/n)を送信する。ICカード2(共通部)は、Secured Command APDU c(2/n)を受信し、受信したSecured Command APDU c(2/n)をRAM23等に格納し、端末1に対してSW=9000(正常実行)を含むレスポンスを送信し、Secured Command APDU c(3/n)を待つ。このようにして、ICカード2(共通部)が、Secured Command APDU c(n/n)を受信し、受信したSecured Command APDU c(n/n)をRAM23等に格納すると、Secured Command APDU c(1/n)、Secured Command APDU c(2/n)、…、Secured Command APDU c(n/n)を結合し、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nに対応した複数の処理を順次実行するように、ICカード2(アプリケーション部)へ指示しようとする。
これに対応して、例えば、図13に示すように、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nの実行に対応したSWが、SW=9000、6200、…、6283、9000となった場合について説明する。
まず、アプリケーション部は、Command APDU c-1を実行し、Command APDU c-1の実行結果がSW=9000(正常)となると、この実行結果を受けた共通部は、実行結果をRAM23等へ格納し、アプリケーション部に対してCommand APDU c-2の実行を指示し、アプリケーション部は、次のCommand APDU c-2を実行する。Command APDU c-2の実行結果がSW=6200となると、この実行結果を受けた共通部は、実行結果をRAM23等へ格納し、Command APDU c-2の実行結果をWarning processingに分類する。つまり、共通部は、Command APDU c-2の実行結果を、ISO-7816-4に規定されるProcess abortedではなく、Process completedに分類し、エラーと判断しない。よって、共通部は、アプリケーション部に対してCommand APDU c-3の実行を指示し、これに対応して、アプリケーション部は、次のコマンド(Command APDU c-3)を実行する。
アプリケーション部が、Command APDU c-(n-1)を実行した場合に、Command APDU c-(n-1)の実行結果がSW=6283となると、この実行結果を受けた共通部は、実行結果をRAM23等へ格納し、Command APDU c-(n-1)の実行結果もWarning processingに分類する。つまり、共通部は、Command APDU c-(n-1)の実行結果を、エラーと判断しない。よって、共通部は、アプリケーション部に対してCommand APDU c-nの実行を指示し、これに対応して、アプリケーション部は、次のコマンド(Command APDU c-n)を実行する。
アプリケーション部が、Command APDU c-nを実行した場合に、Command APDU c-nの実行結果がSW=9000となると、この実行結果を受けた共通部は、実行結果をRAM23等へ格納する。共通部は、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nに対応した複数の処理の少なくとも一つの処理に対応した実行結果がWarning processingを示す実行結果であることに基づき、端末1に対してSW=yyxxを含むレスポンスを送信する。つまり、共通部は、複数の処理の実行結果の中にWarning processingが含まれていることに対応して、端末1に対してSW=yyxxを含むレスポンスを送信する。
端末1は、ICカード2からSW=yyxxを含むレスポンスを受信すると、例えば、ICカード2に対して、実行状態要求コマンド(例えばGET REASON コマンド)を送信する。ICカード2は、端末1から実行状態要求コマンドを受信すると、端末1に対して、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nに対応した複数の処理の実行状態(上記RAM23に格納した実行結果に相当)を含む実行状態レスポンスを送信する。或いは、ICカード2は、端末1から実行状態要求コマンドを受信すると、端末1に対して、Command APDU c-1、Command APDU c-2、…、Command APDU c-(n-1)、及びCommand APDU c-nのうちの所定のCommand APDUに対応した処理の実行状態を含む実行状態レスポンスを送信する。また、この実行状態レスポンスが、RP-Ackの取得を促すSWを含むこともできる。
端末1は、上記した実行状態レスポンスを受信すると、さらに、ICカード2に対して、GET RESPONSEコマンドを送信する。ICカード2は、GET RESPONSEコマンドの受信に対応して、端末1に対して、RP-Ackを送信する。
上記したように、第1のコマンド処理では、Command APDU cの実行時にSW=6200(第2の事象)及びSW=6283(第2の事象)という実行結果が得られた場合には、ICカード2は、端末1に対して、これら第2の事象の発生を通知する(SW=61xx)。端末1は、ICカード2からの第2の事象の発生通知を受信し、複数の処理の実行結果のうちの少なくとも一つの実行結果を要求する。ICカード2は、この要求に対応して、複数の処理の実行結果のうちの少なくとも一つの実行結果を通知する。例えば、端末1が、複数の処理の全ての実行結果を要求することにより、複数の処理の全ての実行結果を取得することができる。つまり、端末1は、複数の処理の全ての実行結果を把握することができる。また、端末1が、所定の処理の実行結果を要求することにより、所定の処理の実行結果を取得することができる。つまり、所定の処理の実行結果を重点的に監視することができる。
さらに、図6及び図7に示すフローチャートを参照して、ENVELOPEコマンドにより複数のコマンドを実行するケースについて説明する。図6は、ENVELOPEコマンドの実行に第2のコマンド処理を適用したケースの一例を示すフローチャートである。図7は、ENVELOPEコマンドの実行に第1のコマンド処理を適用したケースの一例を示すフローチャートである。
最初に、図6を参照し、第2のコマンド処理の一例について説明する。
図6に示すように、端末1は、ICカード2に対して、ENVELOPEコマンドを送信する(ST601)。ICカード2の共通部は、ENVELOPEコマンドを受信し(ST602)、ENVELOPEコマンドを解釈し(ST603)、Secured DataからCommand APDUを抽出する(ST604)。
ICカード2の共通部が、未実行のCommand APDUを検出した場合(ST605、YES)、ICカード2のアプリケーション部に対して、未実行のCommand APDUを引き渡す。アプリケーション部は、引き渡されたCommand APDUを実行し(ST606)、共通部に対して、実行結果としてのSWを送信する(ST607)。
共通部は、アプリケーション部からのSWを受信し、受信したSWがNormal processingかProcess abortedのどちらかに分類されるかチェックする(ST608)。アプリケーション部が、受信したSWをProcess abortedに分類した場合には(ST608、YES)、次のCommand APDU(未実行のCommand APDU)は実行せず、実行Command数と最終SWを格納する処理へ移行する(ST609)。アプリケーション部が、受信したSWをNormal Processingに分類した場合には(ST608、NO)、次のCommand APDU(未実行のCommand APDU)の抽出処理へ移行する(ST604)。
共通部が、未実行のCommand APDUを検出すると(ST605、YES)、アプリケーション部に対して、未実行のCommand APDUを引き渡し、アプリケーション部は、アプリケーション部は、引き渡されたCommand APDUを実行し(ST606)、共通部に対して、実行結果としてのSWを送信する(ST607)。共通部が、未実行のCommand APDUを検出しなければ、つまり、未実行のCommand APDUが無い場合には(ST605、NO)、実行Command数と最終SWを格納する処理へ移行する(ST609)。
最終SWが、Process abortedの場合(ST610、NO)、つまり、Command APDUの実行時にエラーが発生した場合には(ST610、NO)、共通部は、端末1に対して、SW=6200を含むレスポンスを送信する(ST611)。
最終SWが、Normal processingの場合(ST610、YES)、つまりCommand APDUが正常実行された場合には(ST610、YES)、共通部は、端末1に対して、SW=61xxを含むレスポンスを送信する(ST612)。
端末1は、SW=6200を含むレスポンス又はSW=61xxを含むレスポンスを受信すると(ST613)、ICカード2に対してGET RESPONSEを送信する(ST614)。ICカード2は、GET RESPONSEを受信し(ST615)、端末1に対してレスポンス(RP-Error/RP-Ack)を送信する(ST616)。端末1は、レスポンス(RP-Error/RP-Ack)を受信する(ST617)。
続いて、図7を参照し、第1のコマンド処理の一例について説明する。
図7に示すように、端末1は、ICカード2に対して、ENVELOPEコマンドを送信する(ST701)。ICカード2の共通部は、ENVELOPEコマンドを受信し(ST702)、ENVELOPEコマンドを解釈し(ST703)、Secured DataからCommand APDUを抽出する(ST704)。
ICカード2の共通部が、未実行のCommand APDUを検出した場合(ST705、YES)、ICカード2のアプリケーション部に対して、未実行のCommand APDUを引き渡す。アプリケーション部は、引き渡されたCommand APDUを実行し(ST706)、共通部に対して、実行結果としてのSWを送信する(ST707)。
共通部は、アプリケーション部からのSWを受信し、例えばRAM23にSWを格納し(ST708)、受信したSWがNormal processingかProcess abortedのどちらかに分類されるかチェックする(ST709)。アプリケーション部が、受信したSWをProcess abortedに分類した場合には(ST709、YES)、次のCommand APDU(未実行のCommand APDU)は実行せず、実行Command数と最終SWを格納する処理へ移行する(ST710)。アプリケーション部が、受信したSWをNormal Processingに分類した場合には(ST709、NO)、次のCommand APDU(未実行のCommand APDU)の抽出処理へ移行する(ST704)。
さらに、共通部が、未実行のCommand APDUを検出すると(ST705、YES)、アプリケーション部に対して、未実行のCommand APDUを引き渡し、アプリケーション部は、アプリケーション部は、引き渡されたCommand APDUを実行し(ST706)、共通部に対して、実行結果としてのSWを送信する(ST707)。共通部が、未実行のCommand APDUを検出しなければ、つまり、未実行のCommand APDUが無い場合には(ST705、NO)、実行Command数と最終SWを格納する処理へ移行する(ST710)。
Process abortedの発生が無く(Normal processingであって)、且つ全ての処理においてWarningの発生が無い場合(ST711、YES)、共通部は、端末1に対して、SW=61xxを含むレスポンスを送信する(ST714)。
Process abortedの発生は無いが(Normal processingであるが)、少なくとも一つの処理においてWarningの発生が有る場合(ST711、NO)(ST712、YES)、共通部は、端末1に対して、SW=yyxxを含むレスポンスを送信する(ST715)。なお、yyは、他の情報を示すものでなく、且つISOに準拠するものであればよい。
Process abortedの発生が有る場合(ST711、NO)(ST712、NO)、共通部は、端末1に対して、SW=6200含むレスポンスを送信する(ST713)。
端末1は、SW=6200を含むレスポンス又はSW=61xxを含むレスポンスを受信すると(ST716)(ST717、NO)、ICカード2に対してGET RESPONSEを送信する(ST722)。ICカード2は、GET RESPONSEを受信し(ST723)、端末1に対してレスポンス(RP-Error/RP-Ack)を送信する(ST724)。端末1は、レスポンス(RP-Error/RP-Ack)を受信する(ST725)。
端末1は、SW=yyxxを含むレスポンスを受信すると(ST716)(ST717、YES)、ICカード2に対してGET REASONを送信する(ST718)。ICカード2は、GET REASONを受信し(ST719)、端末1に対してレスポンス(RAM23に格納した全てのSW)を送信する(ST720)。端末1は、レスポンス(RAM23に格納した全てのSW)を受信する(ST721)。端末1は、レスポンス(RAM23に格納した全てのSW)を受信すると(ST721、YES)、ICカード2に対してGET RESPONSEを送信する(ST722)。ICカード2は、GET RESPONSEを受信し(ST723)、端末1に対してレスポンス(RP-Error/RP-Ack)を送信する(ST724)。端末1は、レスポンス(RP-Error/RP-Ack)を受信する(ST725)。
なお、端末1は、SW=yyxxを含むレスポンスを受信し、ICカード2に対して、所定のコマンドの実行状態を要求するGET REASONを送信することもできる。ICカード2は、所定のコマンドの実行状態を要求するGET REASONを受信し、端末1に対してレスポンス(RAM23に格納した所定のコマンドの実行状態を示すSW)を送信する。これにより、端末1は、所定のコマンドの実行状態を受信することができる。
上記説明したように、第1のコマンド処理により、端末1は、より詳細にコマンド処理状態を検出することができる。例えば、ICカード内の処理においてWarning processingが発生していた場合に、端末1は、このWarning processingを検出することができる。
次に、上記したENVELOPEコマンド等について説明する。
図17は、ENVELOPEコマンドのフォーマットの一例を示す図である。図17に示すように、ENVELOPEコマンドのデータ部は、BER-TLVフォーマットになっており、TLVのValue部に1つまたは複数のTLVが格納されている。なお、TLVは、Tag、Length、Valueを示す。
図18は、SMS-TPDU TLVのフォーマットの一例を示す図である。図18に示す、「IEDa」内の「Ref.No」は、分割されたSMS(ENVELOPE)が、同一Gr(グループ)か否かを判別するために使用する。「Max.No」は、SMSが分割されている場合、何分割されているか、その分割数を示す。「Seq.No」は、分割されているSMSのうち、何番目のSMSかを示す。「Secured Data」内には、ICカード2が実行すべきSecured Command APDUが格納されている。
図19は、SMSの結合の一例を示す図である。図19に示すような順で、ICカード2が、SMSを受信した場合について説明する。
ICカード2は、1), 2), 3)を受信すると、これらを結合し、Secured_Data_A(図20参照)を作成する。その後、Secured_Data_A に格納されている、Secured Command APDU(図20参照)を順次実行する。
同様に、ICカード2は、4), 5)を結合し、Secure_Data_B(図21参照)を作成し、Secured Command APDUを実行し、6)〜11)を結合し、Secure_Data_C(図22参照)を作成し、Secured Command APDUを実行する。
図24は、図23に示すSecured Command APDUの実行結果の一例を示す図である。図25は、図23に示すSecured Command APDUの実行に対応したICカード2のレスポンスの一例を示す図である。
まず、ICカード2(アプリケーション部)は、1つめのコマンドであるSELECTコマンドを実行する。このコマンドはカード内のファイルを選択するコマンドであるが、正常に実行し、アプリケーション部は、共通部に対して、SW=9000を通知する。
次に、アプリケーション部は、2つめのコマンドとして、CHANGE PINコマンドを実行する。このコマンドは、PINの値を変更するコマンドであるが、アプリケーション部が、PINの照合に失敗し、PIN値の書き換えに失敗したと想定する。この場合、アプリケーション部は、共通部に対して、SW=63C2を通知する。SW=63xxは、Warning Processingを示すSWであるため、共通部は、コマンドの実行を中断せず、次のコマンドの実行を指示する。
アプリケーション部は、3つめのコマンドとして、VERIFYコマンドを実行する。このコマンドは、PINを照合するコマンドであるが、アプリケーション部が、PINの照合に成功したと想定する。この場合、アプリケーション部は、共通部に対して、SW=9000を通知する。共通部は、次のコマンドの実行を指示する。
アプリケーション部は、最後に、UPDATE BINARYコマンドを実行する。UPDATE BINARYコマンドは、カード内のトランスペアレントファイルのデータを書き換えるコマンドである。アプリケーション部が、トランスペアレントファイルのデータの書き換えに成功したと想定すると、アプリケーション部は、共通部に対して、SW=9000を通知する。
以上のSELECTコマンド、CHANGE PINコマンド、VERIFYコマンド、及びUPDATE BINARYコマンドを第1のコマンド処理(図5、図7)に基づき実行した場合、ICカード2は、端末1に対して、SW=yyxxを送信するので、端末1は、Warning processingの発生を検出することができる。
以上のSELECTコマンド、CHANGE PINコマンド、VERIFYコマンド、及びUPDATE BINARYコマンドを第2のコマンド処理(図4、図6)に基づき実行した場合、ICカード2は、端末1に対して、SW=yyxxを送信しないので、端末1は、Warning processingの発生を検出することが難しい。つまり、ICカード2は、端末1に対して、コマンド実行数:4、最終SW:9000を含むレスポンスを送信するだけなので、端末1は、このレスポンスからは正常実行しか判定することができない。
上記したように、第2のコマンド処理を適用すると、ICカード2が、一つのSecured Command APDUに格納されている複数のCommand APDUを続けて実行した場合、端末1は、複数のCommand APDUの実行結果を正確に把握することが難しい。
これに対して、第1のコマンド処理を適用すると、ICカード2が、一つのSecured Command APDUに格納されている複数のCommand APDUを続けて実行し、例えば、コマンド連続実行途中でWarning processingの発生した場合、ICカード2は、端末1に対して、このWarning processingの発生を通知することができる。さらに、端末1は、Warning processingの発生を通知の受信に対応して、ICカード2に対して、専用のCommand APDUを送信することができる。ICカード2は、専用のCommand APDUを受信すると、端末1に対して、実行した全てのCommand APDUに対応するSWを返信する。端末1は、実行した全てのCommand APDUに対応するSWを受信することにより、複数のCommand APDUの実行結果を正確に把握することができる。
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
1…端末(通信装置)、2…ICカード(携帯可能電子装置)、11…制御部、12…ディスプレイ、13…キーボード、14…カードリーダ/ライタ、15…テンキー、20…ICチップ、21…通信I/F部、22…制御部、23…RAM、24…ROM、25…不揮発性メモリ

Claims (12)

  1. データを送受信する通信手段と、
    前記通信手段により受信された複数のコマンドに対応した複数の処理を実行し、前記複数の処理の実行に対応した複数の実行状態を記憶し、実行状態に応じた応答を送信するコマンド処理手段と、
    を備え、
    前記コマンド処理手段は、
    前記複数の処理の正常実行に対応して、前記通信手段により第1の応答を送信し、
    前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して、前記通信手段により第2の応答を送信し、
    前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して、前記通信手段により第3の応答を送信し、
    前記第3の応答を受信した通信装置から送信される、前記複数のコマンドに対応した前記複数の実行状態を要求する実行状態要求コマンドを前記通信手段により受信し、この受信された前記実行状態要求コマンドに対応して、前記複数の実行状態を送信し、
    前記複数の実行状態を受信した前記通信装置から送信される応答要求コマンドを前記通信手段により受信し、この受信された前記応答要求コマンドに対応して、エラーを送信する、
    ことを特徴とするICカード。
  2. 前記コマンド処理手段は、一つのメインコマンドに含まれた前記複数のコマンドに対応した前記複数の処理を順に実行し、実行状態に応じて前記第1、第2、及び第3の応答のうちの何れか一つを送信することを特徴とする請求項1に記載のICカード。
  3. 前記コマンド処理手段は、一つのメインコマンドに含まれた前記複数のコマンドに対応した複数の処理を順に実行し、前記複数のコマンドのうちの最後に実行した最終コマンドの実行状態を送信することを特徴とする請求項1に記載のICカード。
  4. 前記コマンド処理手段は、前記複数の処理のうちの一つの処理において処理を中断することが定められたエラーの発生に対応して、前記通信手段により前記第2の応答を送信し、前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた警告の発生に対応して、前記通信手段により前記第3の応答を送信することを特徴とする請求項1に記載のICカード。
  5. データを送受信する通信手段と、
    前記通信手段により受信された複数のコマンドに対応した複数の処理を実行し、前記複数の処理の実行に対応した複数の実行状態を記憶し、実行状態に応じた応答を送信するコマンド処理手段と、
    を備え、
    前記コマンド処理手段は、
    前記複数の処理の正常実行に対応して、前記通信手段により第1の応答を送信し、
    前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して、前記通信手段により第2の応答を送信し、
    前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して、前記通信手段により第3の応答を送信し、
    前記第3の応答を受信した通信装置から送信される、前記複数のコマンドのうちの所定コマンドに対応した所定実行状態を要求する実行状態要求コマンドを前記通信手段により受信し、この受信された前記実行状態要求コマンドに対応して、前記所定コマンドに対応した前記所定実行状態を送信し、
    前記所定実行状態を受信した前記通信装置から送信される応答要求コマンドを前記通信手段により受信し、この受信された前記応答要求コマンドに対応して、エラーを送信する、
    ことを特徴とするICカード。
  6. データを送受信する通信手段と、
    前記通信手段により複数のコマンドを送信し、前記複数のコマンドに対応した複数の処理の実行状態に応じた応答を受信し、前記応答の内容に応じて前記複数のコマンドに対応した複数の実行状態を要求する実行状態要求コマンドを送信するコマンド送信手段と、
    を備え、
    前記コマンド送信手段は、前記複数の処理の正常実行に対応して送信される第1の応答、前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して送信される第2の応答、及び前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して送信される第3の応答のうちの何れか一つの応答を受信し、前記第3の応答を受信した場合に、前記実行状態要求コマンドを送信し、前記実行状態要求コマンドの送信に対応して複数の実行状態を受信した場合に、応答要求コマンドを送信することを特徴とする通信装置。
  7. 前記コマンド送信手段は、前記複数のコマンドを含む一つのメインコマンドを送信することを特徴とする請求項6に記載の通信装置。
  8. データを送受信する通信手段と、
    前記通信手段により複数のコマンドを送信し、前記複数のコマンドに対応した複数の処理の実行状態に応じた応答を受信し、前記応答の内容に応じて前記複数のコマンドのうちの所定コマンドに対応した所定実行状態を要求する実行状態要求コマンドを送信するコマンド送信手段と、
    を備え、
    前記コマンド送信手段は、前記複数の処理の正常実行に対応して送信される第1の応答、前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して送信される第2の応答、及び前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して送信される第3の応答のうちの何れか一つの応答を受信し、前記第3の応答を受信した場合に、前記実行状態要求コマンドを送信し、前記実行状態要求コマンドの送信に対応して所定実行状態を受信した場合に、応答要求コマンドを送信することを特徴とする通信装置。
  9. 複数のコマンドを受信し、
    前記複数のコマンドに対応した複数の処理を実行し、前記複数の処理の実行に対応した複数の実行状態を記憶し、前記複数の処理の正常実行に対応して第1の応答を送信し、前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して第2の応答を送信し、前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して第3の応答を送信し、
    前記第3の応答を受信した通信装置から送信される、前記複数のコマンドに対応した前記複数の実行状態を要求する実行状態要求コマンドを受信し、この受信された前記実行状態要求コマンドに対応して、前記複数の実行状態を送信し、前記複数の実行状態を受信した前記通信装置から送信される応答要求コマンドを受信し、この受信された前記応答要求コマンドに対応して、エラーを送信することを特徴とするコマンド処理方法。
  10. 複数のコマンドを受信し、
    前記複数のコマンドに対応した複数の処理を実行し、前記複数の処理の実行に対応した複数の実行状態を記憶し、前記複数の処理の正常実行に対応して第1の応答を送信し、前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して第2の応答を送信し、前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して第3の応答を送信し、
    前記第3の応答を受信した通信装置から送信される、前記複数のコマンドのうちの所定コマンドに対応した所定実行状態を要求する実行状態要求コマンドを受信し、この受信された前記実行状態要求コマンドに対応して、前記所定コマンドに対応した前記所定実行状態を送信し、前記所定実行状態を受信した前記通信装置から送信される応答要求コマンドを受信し、この受信された前記応答要求コマンドに対応して、エラーを送信することを特徴とするコマンド処理方法。
  11. ICカードと通信装置により構成される通信システムであって、
    前記ICカードは、
    データを送受信する第1の通信手段と、
    前記第1の通信手段により受信された複数のコマンドに対応した複数の処理を実行し、前記複数の処理の実行に対応した複数の実行状態を記憶し、実行状態に応じた応答を送信するコマンド処理手段と、
    を備え、
    前記コマンド処理手段は、
    前記複数の処理の正常実行に対応して、前記第1の通信手段により第1の応答を送信し、
    前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して、前記第1の通信手段により第2の応答を送信し、
    前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して、前記第1の通信手段により第3の応答を送信し、
    前記第3の応答を受信した前記通信装置から送信される、前記複数のコマンドに対応した前記複数の実行状態を要求する実行状態要求コマンドを前記第1の通信手段により受信し、この受信された前記実行状態要求コマンドに対応して、前記複数の実行状態を送信し、前記複数の実行状態を受信した前記通信装置から送信される応答要求コマンドを前記第1の通信手段により受信し、この受信された前記応答要求コマンドに対応して、エラーを送信し、
    前記通信装置は、
    データを送受信する第2の通信手段と、
    前記第2の通信手段により複数のコマンドを送信し、前記複数のコマンドに対応した複数の処理の実行状態に応じた応答を受信し、前記応答の内容に応じて前記実行状態要求コマンドを送信するコマンド送信手段と、
    を備え、
    前記コマンド送信手段は、前記第1の応答、前記第2の応答、及び前記第3の応答のうちの何れか一つの応答を受信し、前記第3の応答を受信した場合に、前記実行状態要求コマンドを送信し、前記実行状態要求コマンドの送信に対応して前記複数の実行状態を受信した場合に、前記応答要求コマンドを送信することを特徴とする通信システム。
  12. ICカードと通信装置により構成される通信システムであって、
    前記ICカードは、
    データを送受信する第1の通信手段と、
    前記第1の通信手段により受信された複数のコマンドに対応した複数の処理を実行し、前記複数の処理の実行に対応した複数の実行状態を記憶し、実行状態に応じた応答を送信するコマンド処理手段と、
    を備え、
    前記コマンド処理手段は、
    前記複数の処理の正常実行に対応して、前記第1の通信手段により第1の応答を送信し、
    前記複数の処理のうちの一つの処理において処理を中断することが定められた第1の事象の発生に対応して、前記第1の通信手段により第2の応答を送信し、
    前記複数の処理のうちの少なくとも一つの処理において処理を中断しないことが定められた第2の事象の発生に対応して、前記第1の通信手段により第3の応答を送信し、
    前記第3の応答を受信した前記通信装置から送信される、前記複数のコマンドのうちの所定コマンドに対応した所定実行状態を要求する実行状態要求コマンドを前記第1の通信手段により受信し、この受信された前記実行状態要求コマンドに対応して、前記所定コマンドに対応した前記所定実行状態を送信し、前記所定実行状態を受信した前記通信装置から送信される応答要求コマンドを前記第1の通信手段により受信し、この受信された前記応答要求コマンドに対応して、エラーを送信し、
    前記通信装置は、
    データを送受信する第2の通信手段と、
    前記第2の通信手段により複数のコマンドを送信し、前記複数のコマンドに対応した複数の処理の実行状態に応じた応答を受信し、前記応答の内容に応じて前記実行状態要求コマンドを送信するコマンド送信手段と、
    を備え、
    前記コマンド送信手段は、前記第1の応答、前記第2の応答、及び前記第3の応答のうちの何れか一つの応答を受信し、前記第3の応答を受信した場合に、前記実行状態要求コマンドを送信し、前記実行状態要求コマンドの送信に対応して前記所定実行状態を受信した場合に、前記応答要求コマンドを送信することを特徴とする通信システム。
JP2010063322A 2010-03-18 2010-03-18 Icカード、通信装置、コマンド処理方法、通信システム Expired - Fee Related JP5197664B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010063322A JP5197664B2 (ja) 2010-03-18 2010-03-18 Icカード、通信装置、コマンド処理方法、通信システム
SG2011016003A SG174684A1 (en) 2010-03-18 2011-03-03 Portable electronic device, communication device, and command processing method
EP11156915.8A EP2367108A3 (en) 2010-03-18 2011-03-04 Portable electronic device, communication device, and command processing method
US13/043,651 US20110227708A1 (en) 2010-03-18 2011-03-09 Portable electronic device, communication device, and command processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010063322A JP5197664B2 (ja) 2010-03-18 2010-03-18 Icカード、通信装置、コマンド処理方法、通信システム

Publications (2)

Publication Number Publication Date
JP2011197959A JP2011197959A (ja) 2011-10-06
JP5197664B2 true JP5197664B2 (ja) 2013-05-15

Family

ID=44170410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010063322A Expired - Fee Related JP5197664B2 (ja) 2010-03-18 2010-03-18 Icカード、通信装置、コマンド処理方法、通信システム

Country Status (4)

Country Link
US (1) US20110227708A1 (ja)
EP (1) EP2367108A3 (ja)
JP (1) JP5197664B2 (ja)
SG (1) SG174684A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013164686A (ja) * 2012-02-09 2013-08-22 Toshiba Corp Icカードおよび携帯可能電子装置
JP2013171394A (ja) * 2012-02-20 2013-09-02 Toshiba Corp Icカード、icカードの製造方法、icカードの発行方法、及び情報処理方法
US8949476B2 (en) 2013-03-19 2015-02-03 Qualcomm Incorporated Method and apparatus for providing an interface between a UICC and a processor in an access terminal that supports asynchronous command processing by the UICC
US9536590B1 (en) * 2014-09-03 2017-01-03 Marvell International Ltd. System and method of memory electrical repair

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2557838B2 (ja) * 1986-02-18 1996-11-27 株式会社東芝 Icカ−ド
JP2537199B2 (ja) * 1986-06-20 1996-09-25 株式会社東芝 Icカ―ド
JP2856393B2 (ja) * 1987-02-17 1999-02-10 株式会社東芝 携帯可能電子装置
FR2734927B1 (fr) * 1995-05-30 1997-07-04 Syseca Lecteur pour carte a puce intelligente
JP3657315B2 (ja) * 1995-07-17 2005-06-08 大日本印刷株式会社 携帯可能情報記録媒体およびそのアクセス方法
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
US7889052B2 (en) * 2001-07-10 2011-02-15 Xatra Fund Mx, Llc Authorizing payment subsequent to RF transactions
JP2005173935A (ja) * 2003-12-10 2005-06-30 Toshiba Corp 携帯可能電子装置と携帯可能電子装置処理システムと携帯可能電子装置の演算処理方法
US7428992B2 (en) * 2005-01-11 2008-09-30 Matsushita Electric Industrial Co., Ltd. Secure device and system for issuing IC cards
US20070033291A1 (en) * 2005-07-22 2007-02-08 Axalto Inc. System and method for support of legacy communications protocols in a smart card
JP2008107991A (ja) * 2006-10-24 2008-05-08 Dainippon Printing Co Ltd 情報処理媒体とそのプログラム、情報処理媒体のエラー処理方法、及び、情報処理システム
FR2908202B1 (fr) * 2006-11-07 2009-03-13 Oberthur Card Syst Sa Procede et dispositif de personnalisation d'une entite electronique portable
JP4896837B2 (ja) * 2007-08-20 2012-03-14 株式会社東芝 携帯可能電子装置および携帯可能電子装置の制御方法
JP2010009467A (ja) * 2008-06-30 2010-01-14 Toshiba Corp 情報記憶媒体、情報処理システム、及びコマンド方法

Also Published As

Publication number Publication date
EP2367108A2 (en) 2011-09-21
JP2011197959A (ja) 2011-10-06
US20110227708A1 (en) 2011-09-22
SG174684A1 (en) 2011-10-28
EP2367108A3 (en) 2014-05-21

Similar Documents

Publication Publication Date Title
US8424770B2 (en) Method and device for customizing a portable electronic entity
US9183400B2 (en) IC card and IC card control method
JP5197664B2 (ja) Icカード、通信装置、コマンド処理方法、通信システム
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
EP2759961A1 (en) Ic card, portable electronic device, and ic card control method
JP2012194918A (ja) 通信媒体、icカード、及び通信方法
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
JP2017126125A (ja) Icカード、携帯可能電子装置及び処理装置
JP5444138B2 (ja) 通信システム、通信方法及び携帯可能電子装置
JP2011065471A (ja) 携帯可能電子装置、icカード、携帯可能電子装置の処理システムおよび携帯可能電子装置の制御方法
JP5306079B2 (ja) Icカード、icカード処理装置、及びicカード処理システム
JP2011150597A (ja) 通信装置、通信媒体、及び通信方法
JP2014059806A (ja) Icカード、携帯可能電子装置、及びicカード処理装置
EP2642411B1 (en) IC card and command processing method for IC card
JP2014063340A (ja) Icカード、携帯可能電子装置、及び情報処理方法
JP5367236B2 (ja) 携帯可能電子装置およびicカード
JP2008276572A (ja) 非接触式icカード
JP2004185419A (ja) 携帯可能電子媒体と、その携帯可能電子媒体の発行システム、処理方法及び発行方法
JP2013164686A (ja) Icカードおよび携帯可能電子装置
JP2013191117A (ja) Icチップ、atr応答処理プログラム、及びatr応答方法
JP5787692B2 (ja) Icカード、携帯可能電子装置、及びicカードの制御方法
JP6111742B2 (ja) 近接型icカードシステム、及び近接型icカード
EP2299414B1 (en) Portable electronic apparatus, control method for portable electronic apparatus, and IC card
JP2013171394A (ja) Icカード、icカードの製造方法、icカードの発行方法、及び情報処理方法
JP2009075968A (ja) 情報記憶媒体及び動作制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121203

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: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5197664

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees