JP7366765B2 - Icカード、icカード処理システム、及びicカード処理装置の制御プログラム - Google Patents

Icカード、icカード処理システム、及びicカード処理装置の制御プログラム Download PDF

Info

Publication number
JP7366765B2
JP7366765B2 JP2020006640A JP2020006640A JP7366765B2 JP 7366765 B2 JP7366765 B2 JP 7366765B2 JP 2020006640 A JP2020006640 A JP 2020006640A JP 2020006640 A JP2020006640 A JP 2020006640A JP 7366765 B2 JP7366765 B2 JP 7366765B2
Authority
JP
Japan
Prior art keywords
card
extended format
processor
command
support information
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
JP2020006640A
Other languages
English (en)
Other versions
JP2021114146A (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
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions 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, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2020006640A priority Critical patent/JP7366765B2/ja
Priority to EP21745105.3A priority patent/EP4095752A4/en
Priority to PCT/JP2021/001318 priority patent/WO2021149622A1/ja
Publication of JP2021114146A publication Critical patent/JP2021114146A/ja
Priority to US17/867,971 priority patent/US20220350975A1/en
Application granted granted Critical
Publication of JP7366765B2 publication Critical patent/JP7366765B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10198Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves setting parameters for the interrogator, e.g. programming parameters and operating modes
    • G06K7/10227Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves setting parameters for the interrogator, e.g. programming parameters and operating modes loading programming parameters or programs into the interrogator, e.g. for configuring the interrogator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0719Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips at least one of the integrated circuit chips comprising an arrangement for application selection, e.g. an acceleration sensor or a set of radio buttons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/07749Constructional details, e.g. mounting of circuits in the carrier the record carrier being capable of non-contact communication, e.g. constructional details of the antenna of a non-contact smart card
    • G06K19/07766Constructional details, e.g. mounting of circuits in the carrier the record carrier being capable of non-contact communication, e.g. constructional details of the antenna of a non-contact smart card comprising at least a second communication arrangement in addition to a first non-contact communication arrangement
    • G06K19/07769Constructional details, e.g. mounting of circuits in the carrier the record carrier being capable of non-contact communication, e.g. constructional details of the antenna of a non-contact smart card comprising at least a second communication arrangement in addition to a first non-contact communication arrangement the further communication means being a galvanic interface, e.g. hybrid or mixed smart cards having a contact and a non-contact interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0004Hybrid readers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0873Details of the card reader
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data

Description

本発明の実施形態は、ICカード、ICカード処理システム、及びICカード処理装置の制御プログラムに関する。
プロセッサ、不揮発性メモリ、及びRAM(Random Access Memory)を有するICチップと、通信インタフェースと、を備えるICカード(携帯可能電子装置)が実用化されている。
ICカードは、上位装置との間で、ISO/IEC7816でフォーマットが規定されたコマンド及びレスポンスを送受信することにより、種々の処理を実行する。また、ISO/IEC7816では、通常のフォーマットよりも長いデータを送受信することができるフォーマット(拡張フォーマットと称する)も規定されている。ICカードは、拡張フォーマットをサポートしている場合とサポートしていない場合とがある。さらに、ICカードは、一部のコマンドの拡張フォーマットをサポートし、他のコマンドの拡張フォーマットをサポートしていない場合がある。
しかしながら、ISO/IEC7816及びISO/IEC14443では、ICカードから上位装置に拡張フォーマットがサポートされているか否かの情報しか送信されない。即ち、上位装置は、ICカードにおいて一部のコマンドの拡張フォーマットがサポートされている場合であっても、どのコマンドの拡張フォーマットがサポートされているか判断することができないという課題がある。
特開2003-288561公報
本発明は、利便性の高いICカード、ICカード処理システム、及びICカード処理装置の制御プログラムを提供することを目的とする。
一実施形態に係るICカードは、通信インタフェースと、プロセッサと、を具備する。通信インタフェースは、ICカード処理装置と通信を行う。プロセッサは、コマンド毎に、拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を前記ICカード処理装置に送信する。
図1は、一実施形態に係るICカード処理システムの構成例について説明するための説明図である。 図2は、一実施形態に係る拡張フォーマットサポート情報の例について説明する為の説明図である。 図3は、第1の実施形態に係るICカード処理システムの動作の例について説明する為の説明図である。 図4は、第2の実施形態に係るICカード処理システムの動作の例について説明する為の説明図である。 図5は、第3の実施形態に係る拡張フォーマットサポート情報の例について説明する為の説明図である。 図6は、第4の実施形態に係る拡張フォーマットサポート情報の例について説明する為の説明図である。
以下、実施形態について、図面を参照して説明する。
図1は、ICカード処理システム1の例について説明する為の説明図である。
ICカード処理システム1は、上位装置11(ICカード処理装置)及びICカード12(携帯可能電子装置)などを備える。上位装置11と、ICカード12とは、互いに接触または非接触で通信可能に構成されている。なお、ICカード処理システム1は、図1で示された構成の他に必要に応じた構成を具備したり、ICカード処理システム1から特定の構成が除外されたりしてもよい。
まず、上位装置11の構成について説明する。
上位装置11は、ICカード12を処理するICカード処理装置である。上位装置11は、ICカード処理システム1全体を制御する。上位装置11は、ICカード12に対して電力を供給することでICカード12を活性化させる。また、上位装置11は、ICカード12に種々のコマンドを送信することで、ICカード12に種々の動作を実行させる。
上位装置11は、コントローラ21、第1のカードリーダライタ22、第2のカードリーダライタ23、ディスプレイ24、及び操作インタフェース25などを備える。
コントローラ21は、上位装置11の種々の動作を制御する。コントローラ21は、プロセッサ26及びメモリ27を備える。
プロセッサ26は、演算処理を実行する演算素子(例えばCPU)を備える。プロセッサ26は、メモリ27に格納されているプログラムを実行することにより、種々の動作を実行する。
メモリ27は、プログラム及びプログラムで用いられるデータなどを記憶する。メモリ27は、例えば、第1のカードリーダライタ22のドライバ、第2のカードリーダライタ23のドライバ、ディスプレイ24に表示させる画像の生成を行う為のプログラム、及び操作インタフェース25による操作入力の解釈を行う為のプログラムを備える。また、メモリ27は、ICカード12との間でコマンドの送信、及びレスポンスの受信を行う為のプログラムを備える。即ち、メモリ27は、ICカード12を処理するICカード処理装置用の制御プログラムを記憶する。
第1のカードリーダライタ22は、ICカード12と接触通信を行う為のインタフェースである。第1のカードリーダライタ22は、ICカード12のコンタクトパターンと物理的且つ電気的に接続される複数の接触端子とICカード12が挿入されるスロットとを備える。第1のカードリーダライタ22は、接触端子及びコンタクトパターンを介して、ICカード12との間でデータの送受信を行う。また、第1のカードリーダライタ22は、接触端子及びコンタクトパターンを介して、ICカード12に電力及びクロックの供給を行う。
第2のカードリーダライタ23は、ICカード12と非接触通信を行う為のインタフェースである。第2のカードリーダライタ23は、アンテナ(コイル)と、変復調回路とを備える。第2のカードリーダライタ23は、送信するデータに応じた信号を変復調回路により変調し、アンテナに流すことにより、アンテナからデータに応じた電波を出力させる。また、第2のカードリーダライタ23は、ICカードからの電波をアンテナにより受信し、受信した信号を変復調回路により復調し、元のデータを取得する。また、第2のカードリーダライタ23は、アンテナからの電波によって、ICカード12に電力を供給する。
ディスプレイ24は、コントローラ21または図示されないグラフィックコントローラから供給される表示用のデータ(画面データ)に基づいて画面を表示する。
操作インタフェース25は、操作に基づき操作信号を生成する構成である。操作インタフェース25は、例えば、マウス、トラックボール、キーボード、トラックパッド、タッチセンサなどの操作部材の操作に基づく操作信号を受信または生成し、コントローラ21に供給する。
なお、図1の例では、上位装置11が第1のカードリーダライタ22及び第2のカードリーダライタ23の両方を備える構成として説明したが、上位装置11は、少なくとも第1のカードリーダライタ22と第2のカードリーダライタ23とのいずれかを備えていればよい。また、上位装置11は、第1のカードリーダライタ22または第2のカードリーダライタ23が接続される通信インタフェースを備える構成であってもよい。
次に、ICカード12の構成について説明する。
ICカード12は、上位装置11から供給された電力により活性化する。ICカード12は、上位装置11からコマンドを受信し、受信したコマンドに応じて種々の処理を実行する。また、ICカード12は、処理に応じてレスポンスを生成し、レスポンスを上位装置11に送信する。
ICカード12は、プラスチックなどで形成されたカード状の本体31を有する。ICカード12は、本体31内にICモジュール32を備える。ICモジュール32は、ICチップ33、接触通信インタフェース34、及び非接触通信インタフェース35を備える。即ち、ICカード12は、上位装置11と接触通信を行う為の接触通信インタフェース34と、非接触通信を行う為の非接触通信インタフェース35とを有するデュアルインタフェースカードである。また、ICチップ33は、プロセッサ36、不揮発性メモリ37、及びRAM38を備える。なお、ICカード12は、図1で示された構成の他に必要な追加されてもよいし、ICカード12は、図1で示された構成の一部が除外されもよい。例えば、ICカード12は、接触通信インタフェース34と、非接触通信インタフェース35とのいずれかを少なくとも有する構成であればよい。
プロセッサ36は、演算処理を実行する演算素子(例えばCPU)を備える。プロセッサ36は、不揮発性メモリ37に格納されているプログラムを実行することにより、種々の動作を実行する。
不揮発性メモリ37は、プログラム及びプログラムで用いられるデータなどを記憶する不揮発性のメモリ(Non-Volatile Memory)である。不揮発性メモリ37に記憶されているプログラムは、例えば、OS(オペレーティングシステム)、及び、ICカード12の運用形態に応じた種々の処理を行う為のアプリケーションである。アプリケーションは、例えば、カードissuer(カードの発行者)が管理するICカード用のアプリケーションである。OSは、プロセッサ36にICカード12内の各部の制御及び情報処理を実現させるためのプログラムである。不揮発性メモリ37のプログラム及び制御データは、予めICカード12の仕様などに応じて組み込まれる。なお、ICカード12は、OS及びアプリケーションなどのプログラムを記憶したROMを備える構成であってもよい。
不揮発性メモリ37内には、ISO/IEC7816により規定されているファイル構造が構成されている。例えば、不揮発性メモリ37内には、Master File(MF)、Dedicated File(DF)、及びElementary File(EF)などが記憶されている。なお、不揮発性メモリ37内には、GlobalPlatformの仕様に基づくファイル構造が構成されていてもよい。即ち、ICカード12は、JavaCardであってもよい。
MFは、ファイル構造の根幹となるファイルである。
DFは、MFの下位に創成される。DFは、アプリケーション及びアプリケーションに用いられるデータなどをグループ化して格納するファイルである。
EFは、DFの下位に創成される。EFは、様々なデータを格納するためのファイルである。また、MFの直下にEFが置かれる場合もある。
RAM38は、データを一時的に格納する揮発性のメモリである。RAM38には、プロセッサ36が処理中のデータ、不揮発性メモリ37から読み出されたプログラムなどが一時的に格納される。例えば、RAM38は、計算用バッファ、受信用バッファ、及び送信用バッファとして機能する。計算用バッファは、プロセッサ36が実行する種々の演算処理の結果などを一時的に保持する為の領域である。受信用バッファは、上位装置11から受信したコマンド(コマンドデータ)などを一時的に保持する為の領域である。送信用バッファは、上位装置11に送信するレスポンス(レスポンスデータ)などを一時的に保持する為の領域である。
なお、プロセッサ36がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路としてICチップ33に組みこまれていてもよい。この場合、プロセッサ36は、ハードウエア回路により実行される機能を制御する。
接触通信インタフェース34は、上位装置11と接触通信を行う為の接触通信手段である。例えば、接触通信インタフェース34は、ICチップ33の端子と接続され、ICカード12の表面に露出したコンタクトパターンを備える。コンタクトパターンは、第1のカードリーダライタ22のスロットにICカード12が挿入された場合に、接触端子と物理的且つ電気的に接続されるように構成されている。接触通信インタフェース34は、上位装置11とICチップ33との間における電力供給、データの送受信を中継する。
非接触通信インタフェース35は、上位装置11と非接触通信を行う為の非接触通信手段である。例えば、非接触通信インタフェース35は、アンテナ(コイル)と、変復調回路と、電源回路とを備える。非接触通信インタフェース35は、送信するデータに応じた信号を変復調回路により変調し、アンテナに流すことにより、アンテナからデータに応じた電波を出力させる。また、非接触通信インタフェース35は、上位装置11の第2のカードリーダライタ23からの電波をアンテナにより受信し、受信した信号を変復調回路により復調し、元のデータを取得する。また、非接触通信インタフェース35は、上位装置11の第2のカードリーダライタ23からの電波によってアンテナに生じた誘起電流を電源回路により整流及び平滑し、所定の電源電圧をICチップ33に供給する。
次に、上位装置11及びICカード12における拡張フォーマットの扱いについて説明する。
上位装置11からICカード12に送信されるコマンドは、ISO/IEC7816によりフォーマットが規定されており、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」などのフィールドを有する。なお、コマンドの種類によって、「Lc」、「Data」、及び「Le」が省略されてもよい。
「CLA」は、コマンドの種別を示す情報である。「INS」は、コマンドの種別を示す情報である。「CLA」及び「INS」により、当該コマンドの種類が示される。
「P1」及び「P2」は、「INS」に応じたパラメータを示す情報である。「P1」及び「P2」は、例えばコマンドオプション指定を示す。例えば、「P1」及び「P2」は、処理対象のファイルのIDなどを示す。
「Lc」は、「Data」のデータの長さ(バイト数)を示す情報である。
「Data」は、当該コマンドのデータ本体を示す情報である。「Data」は、例えば、当該コマンドに基づくコマンド処理で使用されるデータなどを格納する。
「Le」は、当該コマンドに対するレスポンスのデータ長(最大長)を示す情報である。
ICカード12から上位装置11に送信されるレスポンスは、ISO/IEC7816によりフォーマットが規定されており、「Data」、「SW1」、及び「SW2」などのフィールドを有する。なお、レスポンスの種類によって、「Data」が省略されてもよい。
「Data」は、当該レスポンスのデータ本体を示す情報である。「Data」は、例えば、コマンドに基づく処理結果(例えば読み出されたデータなど)が格納される。レスポンスの「Data」の長さは、コマンドの「Le」によって決定される。
「SW1」及び「SW2」は、ICカード12における処理結果を示す情報(ステータスバイト)である。例えば、「SW1」及び「SW2」により、正常終了、種々のエラーなどが上位装置11に伝えられる。
通常フォーマットでは、コマンドの「Lc」及び「Le」は、それぞれ1バイトで構成される。コマンドの「Data」の長さの最大値は、「Lc」により表現可能な長さである256バイトとなる。また、レスポンスの「Data」の長さの最大値は、「Le」により表現可能な長さである256バイトとなる。
これに対し、拡張フォーマットでは、コマンドの「Lc」及び「Le」を1バイトより長いバイト数で構成することができる。このような拡張フォーマットをサポートしているICカード12は、より長い「Data」を有するコマンド及びレスポンスの送受信を行うことができる。
ICカード12は、全てのコマンドについて拡張フォーマットをサポートしている構成、拡張フォーマットをサポートしていない(未サポート)である構成、及び一部のコマンドについて拡張フォーマットをサポートしている構成のいずれかで構成される。一部のコマンドについて拡張フォーマットをサポートしている構成とは、拡張フォーマットをサポートしているコマンドと、拡張フォーマットをサポートしていないコマンドと、が混在していることを示す。
ICカード12は、複数種類のコマンドを含むコマンド群毎に、拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を予め不揮発性メモリ37に記憶している。ICカード12は、拡張フォーマットサポート情報を上位装置11に送信することにより、拡張フォーマットがサポートされているコマンドを、上位装置11に伝える。
図2は、拡張フォーマットサポート情報の例について具体的に説明する為の説明図である。
ICカード12の不揮発性メモリ37は、ICカード12のカード操作方法を主体としたカードの特徴に関する情報を記憶する記憶領域を備える。カードの特徴に関する情報は、例えば、ISO/IEC7816により規定されたヒストリカルバイトである。ヒストリカルバイトは、「発行者情報」、「カードサービスデータ」、及び「カード機能」などの情報を含む。さらに、本例におけるヒストリカルバイトは、「拡張フォーマットサポート情報」をさらに含む。
図2の例では、ヒストリカルバイトは、例えば、MFの下位の所定のEF41(例えば・EF ATR/INFO)に予め格納されている。なお、ヒストリカルバイトは、例えば、DFの下位のEFに格納されていてもよい。ヒストリカルバイトは、EF以外の形態で不揮発性メモリ37に記憶されていてもよい。例えば、ヒストリカルバイトは、ヒストリカルバイトであることを示すタグが付加された状態で不揮発性メモリ37のいずれかの記憶領域に記憶されていればよい。
また、拡張フォーマットサポート情報は、ヒストリカルバイトに含まれるのではなく、個別に他のEFに格納される構成であってもよい。またさらに、拡張フォーマットサポート情報は、拡張フォーマットサポート情報であることを示すタグが付加された状態で不揮発性メモリ37のいずれかの記憶領域に記憶されていればよい。
拡張フォーマットサポート情報は、複数種類のコマンドを含むコマンド群毎に、拡張フォーマットがサポートされているか否かを示す情報である。拡張フォーマットサポート情報は、例えば1バイトで表現される値(ZZ)として構成される。拡張フォーマットサポート情報の値(ZZ)は、ICカード12の発行時、またはアプリケーションの更新時に、ICカード12の仕様に応じて設定される。
図2に示されるように、拡張フォーマットサポート情報は、例えば、「未サポート(ZZ=00)」、「全コマンドをサポート(ZZ=01)」、「読出系コマンドをサポート(ZZ=02)」、「書込系コマンドをサポート(ZZ=03)」、「認証系コマンドをサポート(ZZ=04)」、及び「その他のコマンドをサポート(ZZ=05)」のいずれかを、ZZの値で示す。
読出系コマンドは、例えば、ISO/IEC7816により規定された「READ BINARY」、「READ RECORD(S)」、及び「GET DATA」を含むコマンド群(コマンドグループ)である。即ち、拡張フォーマットサポート情報が「ZZ=02」である場合、ICカード12が、「READ BINARY」、「READ RECORD(S)」、及び「GET DATA」などのコマンド群において拡張フォーマットを使用することができることを示す。
書込系コマンドは、例えば、ISO/IEC7816により規定された「UPDATE BINARY」、「WRITE RECORD」、「APPEND RECORD」、及び「PUT DATA」を含むコマンド群(コマンドグループ)である。即ち、拡張フォーマットサポート情報が「ZZ=03」である場合、ICカード12が、「UPDATE BINARY」、「WRITE RECORD」、「APPEND RECORD」、及び「PUT DATA」などのコマンド群において拡張フォーマットを使用することができることを示す。
認証系コマンドは、例えば、ISO/IEC7816により規定された「INTERNAL AUTHENTICATE」、及び「EXTERNAL AUTHENTICATE」を含むコマンド群(コマンドグループ)である。即ち、拡張フォーマットサポート情報が「ZZ=04」である場合、ICカード12が、「INTERNAL AUTHENTICATE」、及び「EXTERNAL AUTHENTICATE」などのコマンド群において拡張フォーマットを使用することができることを示す。
その他のコマンドは、例えば、ISO/IEC7816により規定された「SELECT FILE」などを含むコマンド群(コマンドグループ)である。即ち、拡張フォーマットサポート情報が「ZZ=05」である場合、ICカード12が、「SELECT FILE」などのコマンド群において拡張フォーマットを使用することができることを示す。
また、上位装置11は、拡張フォーマットサポート情報の解析用の情報を予めメモリ27などに記憶して有している。拡張フォーマットサポート情報の解析用の情報は、例えば、拡張フォーマットサポート情報の値(ZZ)と、どのコマンド群の拡張フォーマットがサポートされているかを示す情報と、が対応付けられた情報である。具体的には、上位装置11は、「未サポート(ZZ=00)」、「全コマンドをサポート(ZZ=01)」、「読出系コマンドをサポート(ZZ=02)」、「書込系コマンドをサポート(ZZ=03)」、「認証系コマンドをサポート(ZZ=04)」、及び「その他のコマンドをサポート(ZZ=05)」などの情報を予めメモリ27などに記憶して有している。
上位装置11のプロセッサ26は、ICカード12から拡張フォーマットサポート情報を受信した場合、拡張フォーマットサポート情報の値(ZZ)に基づいて、どのコマンド群の拡張フォーマットがサポートされているかを判断する。
例えば、拡張フォーマットサポート情報の値が「ZZ=00」である場合、プロセッサ26は、ICカード12における拡張フォーマットのサポートが「未サポート」であると判断する。この場合、上位装置11のプロセッサ26は、拡張フォーマットを用いずに、ICカード12にコマンドを送信する。
例えば、拡張フォーマットサポート情報の値が「ZZ=01」である場合、プロセッサ26は、ICカード12における拡張フォーマットのサポートが「全コマンドをサポート」であると判断する。この場合、上位装置11のプロセッサ26は、拡張フォーマットを必要に応じて用いて、ICカード12にコマンドを送信する。
例えば、拡張フォーマットサポート情報の値が「ZZ=02」である場合、プロセッサ26は、ICカード12における拡張フォーマットのサポートが「読出系コマンドをサポート」であると判断する。この場合、上位装置11のプロセッサ26は、拡張フォーマットを必要に応じて用いて、ICカード12に読出系コマンドを送信する。
例えば、拡張フォーマットサポート情報の値が「ZZ=03」である場合、プロセッサ26は、ICカード12における拡張フォーマットのサポートが「書込系コマンドをサポート」であると判断する。この場合、上位装置11のプロセッサ26は、拡張フォーマットを必要に応じて用いて、ICカード12に書込系コマンドを送信する。
例えば、拡張フォーマットサポート情報の値が「ZZ=04」である場合、プロセッサ26は、ICカード12における拡張フォーマットのサポートが「認証系コマンドをサポート」であると判断する。この場合、上位装置11のプロセッサ26は、拡張フォーマットを必要に応じて用いて、ICカード12に認証系コマンドを送信する。
例えば、拡張フォーマットサポート情報の値が「ZZ=05」である場合、プロセッサ26は、ICカード12における拡張フォーマットのサポートが「その他のコマンドをサポート」であると判断する。この場合、上位装置11のプロセッサ26は、拡張フォーマットを必要に応じて用いて、ICカード12にその他のコマンドを送信する。
次に、ICカード12が拡張フォーマットサポート情報を上位装置11に送信する処理について説明する。
(第1の実施形態)
図3は、第1の実施形態におけるICカード12の活性化及び初期応答などの動作について説明する為のシーケンス図である。ここでは、接触通信を例に挙げて説明する。また、本例では、ICカード12は、読出系コマンドの拡張フォーマットをサポートした構成(即ち、拡張フォーマットサポート情報の値が「ZZ=02」)であると仮定して説明する。
接触通信では、上位装置11は、第1のカードリーダライタ22によりICカード12に直流電源電圧を供給する(ステップS11)。
ICカード12は、接触通信インタフェース34を介して上位装置11から供給された直流電源電圧により活性化(起動)する(ステップS12)。
ICカード12のプロセッサ36は、起動すると、ISO/IEC7816の規定に基づき、初期応答を行う。例えば、プロセッサ36は、不揮発性メモリ37から拡張フォーマットサポート情報を読み出す(ステップS13)。プロセッサ36は、読み出した拡張フォーマットサポート情報を上位装置11に送信する(ステップS14)。
具体的には、プロセッサ36は、初期応答を行う為のヒストリカルバイトを不揮発性メモリ37から読み出す。不揮発性メモリ37から読み出したヒストリカルバイトには、拡張フォーマットサポート情報が含まれている。プロセッサ36は、ISO/IEC7816-3によりフレームフォーマットが規定されたATR(Answer-to-Reset)を生成する。プロセッサ36は、ATRにヒストリカルバイトを付加する。プロセッサ36は、ATRを上位装置11に送信する。即ち、プロセッサ36は、上位装置11との間で初期設定を行う際に、初期応答に付加した拡張フォーマットサポート情報を上位装置11に送信する。
上位装置11のプロセッサ26は、ICカード12からATRを受信すると、ATRを解析し、ICカード12との間における通信の種々の設定を行い、ICカード12との通信路を確立する。また、上位装置11のプロセッサ26は、ATRのヒストリカルバイトに含まれている拡張フォーマットサポート情報の値(ZZ)を確認する。上位装置11のプロセッサ26は、拡張フォーマットサポート情報の値(ZZ)に基づいて、ICカード12においてどのコマンド群が拡張フォーマットをサポートしているかを判断する(ステップS15)。これ以降、上位装置11のプロセッサ26は、ICカード12で拡張フォーマットがサポートされているコマンドについて、必要に応じて拡張フォーマットを用いる。
例えば、上位装置11のプロセッサ26は、ICカード12に送信するコマンドまたはレスポンスの内容に応じて、拡張フォーマットを用いるか否か判断する。具体的には、上位装置11のプロセッサ26は、ICカード12に送信するコマンドまたはレスポンスの「Data」が、通常フォーマットでは収まらず、且つ拡張フォーマットがサポートされている場合、拡張フォーマットを用いると判断する。また、上位装置11のプロセッサ26は、拡張フォーマットがサポートされている場合、常に拡張フォーマットを用いてコマンドを送信する構成であってもよい。
なお、本例では、ICカード12からの拡張フォーマットサポート情報の値が「ZZ=02」であると仮定して説明する。この場合、上位装置11は、ICカード12に対して読出系コマンドを送信する際に、拡張フォーマットを用いることができる。
上位装置11のプロセッサ26は、通信路確立後、ICカード12にセレクトコマンドを送信する(ステップS16)。
ICカード12のプロセッサ36は、上位装置11からのセレクトコマンドに応じてアプリケーションを選択し、実行する(ステップS17)。ICカード12のプロセッサ36は、セレクトコマンドで指定されたDFのアプリケーションを実行する。
ICカード12のプロセッサ36は、セレクトコマンドの処理結果に基づいてレスポンスを生成し、上位装置11に送信する(ステップS18)。
上位装置11のプロセッサ26は、ICカード12からのレスポンスに基づいて、ICカード12におけるコマンド処理の結果を認識する(ステップS19)。
次に、拡張フォーマットがサポートされている読出系コマンドをICカード12に送信する場合、上位装置11のプロセッサ26は、拡張フォーマットの読出系コマンド(例えばREAD BINARY)をICカード12に送信する(ステップS20)。具体的には、上位装置11のプロセッサ26は、「Le」を構成するバイト数が通常フォーマットよりも長いコマンドをICカード12に送信する。
ICカード12のプロセッサ36は、上位装置11からのREAD BINARYコマンドに応じて処理を実行する(ステップS21)。例えば、ICカード12のプロセッサ36は、READ BINARYコマンドで指定された不揮発性メモリ37上の記憶領域を読み出し、読み出したデータを「Data」に設定したレスポンスを生成する。
ICカード12のプロセッサ36は、生成したレスポンスを上位装置11に送信する(ステップS22)。
上位装置11のプロセッサ26は、ICカード12からのレスポンスに基づいて、ICカード12におけるコマンド処理の結果を認識する(ステップS23)。
拡張フォーマットがサポートされていない書込系コマンドをICカード12に送信する場合、上位装置11のプロセッサ26は、通常フォーマットの書込系コマンド(例えばUPDATE BINARY)をICカード12に送信する(ステップS24)。
ICカード12のプロセッサ36は、上位装置11からのUPDATE BINARYコマンドに応じて処理を実行する(ステップS25)。例えば、ICカード12のプロセッサ36は、UPDATE BINARYコマンドで指定された不揮発性メモリ37上の記憶領域に、UPDATE BINARYコマンドの「Data」に設定されたデータを書き込み、処理結果に応じてレスポンスを生成する。
ICカード12のプロセッサ36は、生成したレスポンスを上位装置11に送信する(ステップS26)。
なお、接触通信の例について説明したが、ICカード12は、非接触通信でも同様に拡張フォーマットサポート情報を上位装置11に送信することができる。非接触通信では、ICカード12は、例えば、初期設定において上位装置11に、ヒストリカルバイトが付加された初期応答であるATS(Answer-to-Select)を送信する。ATSは、ISO/IEC14443により規定されている。即ち、ICカード12のプロセッサ36は、ATSに拡張フォーマットサポート情報を付加して送信することにより、上位装置11に拡張フォーマットサポート情報を供給することができる。
上記したように、ICカード12のプロセッサ36は、初期設定時に、不揮発性メモリ37から、複数種類のコマンドを含むコマンド群毎に拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を読み出す。ICカード12のプロセッサ36は、上位装置11に送信する情報に、拡張フォーマットサポート情報を付加する。例えば、ICカード12のプロセッサ36は、上位装置11に送信する初期応答(ATRまたはATS)に、拡張フォーマットサポート情報を付加する。これにより、ICカード12のプロセッサ36は、拡張フォーマットがサポートされているコマンドのグループを上位装置11に知らせることができる。この結果、上位装置11のプロセッサ26は、ICカード12において一部のコマンドが拡張フォーマットをサポートしている場合に、拡張フォーマットがサポートされているコマンドのグループを認識することができる。
また、上記したように、上位装置11のプロセッサ26は、複数種類のコマンドを含むコマンド群毎に、拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報をICカード12から受け取る。プロセッサ26は、拡張フォーマットサポート情報に基づいて、拡張フォーマットがサポートされているコマンド群を認識する。さらに、プロセッサ26は、送信するコマンドを拡張フォーマットにより構成するか、通常フォーマットにより構成するかを切り替える。これにより、上位装置11は、必要に応じて拡張フォーマットを用いたコマンドをICカード12に送信することができる。これにより、コマンドレスポンスを効率かすることができる。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、初期応答ではなく、上位装置11からの読出系コマンドに応じて、拡張フォーマットサポート情報を上位装置11に送信する点が第1の実施形態と異なる。なお、第1の実施形態と同じ構成には、同じ参照符号を付し、重複する説明を省略する。
図4は、第2の実施形態におけるICカード12の活性化及び初期応答などの動作について説明する為のシーケンス図である。ここでは、接触通信を例に挙げて説明する。また、本例では、ICカード12は、書込系コマンドの拡張フォーマットをサポートした構成(即ち、拡張フォーマットサポート情報の値が「ZZ=03」)であると仮定して説明する。
上位装置11は、第1のカードリーダライタ22によりICカード12に直流電源電圧を供給する(ステップS31)。
ICカード12は、接触通信インタフェース34を介して上位装置11から供給された直流電源電圧により活性化(起動)する(ステップS32)。
ICカード12のプロセッサ36は、起動すると、ISO/IEC7816の規定に基づき、初期応答を行う(ステップS33)。具体的には、プロセッサ36は、ATRを上位装置11に送信する。
上位装置11のプロセッサ26は、ICカード12からATRを受信すると、ATRを解析し、ICカード12との間における通信の種々の設定を行い、ICカード12との通信路を確立する(ステップS34)。
上位装置11のプロセッサ26は、通信路確立後、ICカード12にセレクトコマンドを送信する(ステップS35)。
ICカード12のプロセッサ36は、上位装置11からのセレクトコマンドに応じてアプリケーションを選択し、実行する(ステップS36)。ICカード12のプロセッサ36は、セレクトコマンドで指定されたDFのアプリケーションを実行する。
ICカード12のプロセッサ36は、セレクトコマンドの処理結果に基づいてレスポンスを生成し、上位装置11に送信する(ステップS37)。
上位装置11のプロセッサ26は、ICカード12からのレスポンスに基づいて、ICカード12におけるコマンド処理の結果を認識する(ステップS38)。
次に、上位装置11は、ICカード12との間で拡張フォーマットを有効にする為に、ICカード12から拡張フォーマットサポート情報を取得する為のコマンドをICカード12に送信する。例えば、上位装置11のプロセッサ26は、ICカード12の不揮発性メモリ37上の拡張フォーマットサポート情報が記憶されている記憶領域を指定した読出系コマンド(例えばREAD BINARY)をICカード12に送信する(ステップS39)。なお、拡張フォーマットサポート情報が記憶されている記憶領域を指定した読出系コマンドは、「READ BINARY」、「READ RECORD(S)」、及び「GET DATA」など、どのような読出系コマンドであってもよい。
ICカード12のプロセッサ36は、上位装置11からのREAD BINARYコマンドに応じて処理を実行する(ステップS40)。例えば、ICカード12のプロセッサ36は、READ BINARYコマンドで指定された不揮発性メモリ37上の記憶領域から、拡張フォーマットサポート情報を読み出し、読み出したデータを「Data」に設定したレスポンスを生成する。
ICカード12のプロセッサ36は、生成したレスポンスを上位装置11に送信する(ステップS41)。
上位装置11のプロセッサ26は、ICカード12からのレスポンスに含まれている拡張フォーマットサポート情報の値(ZZ)を確認する。上位装置11のプロセッサ26は、拡張フォーマットサポート情報の値(ZZ)に基づいて、ICカード12においてどのコマンド群が拡張フォーマットをサポートしているかを判断する(ステップS42)。これ以降、上位装置11のプロセッサ26は、ICカード12で拡張フォーマットがサポートされているコマンドについて、必要に応じて拡張フォーマットを用いる。
なお、本例では、ICカード12からの拡張フォーマットサポート情報の値が「ZZ=03」であると仮定して説明する。この場合、上位装置11は、ICカード12に対して書込系コマンドを送信する際に、拡張フォーマットを用いることができる。
拡張フォーマットがサポートされている書込系コマンドをICカード12に送信する場合、上位装置11のプロセッサ26は、拡張フォーマットの書込系コマンド(例えばUPDATE BINARY)をICカード12に送信する(ステップS43)。具体的には、上位装置11のプロセッサ26は、「Lc」を構成するバイト数が通常フォーマットよりも長いコマンドをICカード12に送信する。
ICカード12のプロセッサ36は、上位装置11からのUPDATE BINARYコマンドに応じて処理を実行する(ステップS44)。例えば、ICカード12のプロセッサ36は、UPDATE BINARYコマンドで指定された不揮発性メモリ37上の記憶領域に、UPDATE BINARYコマンドの「Data」に設定されたデータを書き込み、処理結果に応じてレスポンスを生成する。
ICカード12のプロセッサ36は、生成したレスポンスを上位装置11に送信する(ステップS45)。
上記したように、ICカード12のプロセッサ36は、読出系コマンドに応じて、不揮発性メモリ37から、複数種類のコマンドを含むコマンド群毎に拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を読み出す。ICカード12のプロセッサ36は、読出系コマンドに対するレスポンスに拡張フォーマットサポート情報を付加し、上位装置11に送信する。これにより、ICカード12のプロセッサ36は、拡張フォーマットがサポートされているコマンドのグループを上位装置11に知らせることができる。この結果、上位装置11のプロセッサ26は、ICカード12において一部のコマンドが拡張フォーマットをサポートしている場合に、拡張フォーマットがサポートされているコマンドのグループを認識することができる。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、上位装置11からのセレクトコマンドに応じて、拡張フォーマットサポート情報を上位装置11に送信する点が第1の実施形態及び第2の実施形態と異なる。なお、第1の実施形態及び第2の実施形態と同じ構成には、同じ参照符号を付し、重複する説明を省略する。
第3の実施形態におけるICカード12及び上位装置11は、第2の実施形態の図4のステップS31乃至ステップS34と同様の処理を行うことにより、通信路を確立する。
上位装置11のプロセッサ26は、通信路確立後、ICカード12にセレクトコマンドを送信する。
ICカード12のプロセッサ36は、上位装置11からのセレクトコマンドに応じてアプリケーションを選択し、実行する。ICカード12のプロセッサ36は、セレクトコマンドで指定されたDFのアプリケーションを実行する。
さらに、ICカード12のプロセッサ36は、上位装置11からのセレクトコマンドに応じて、不揮発性メモリ37から拡張フォーマットサポート情報を読み出す。プロセッサ36は、セレクトコマンドの処理結果と、読み出した拡張フォーマットサポート情報とに基づいて、レスポンスを生成し、上位装置11に送信する。即ち、プロセッサ36は、セレクトコマンドの処理結果に基づいて「SW1」及び「SW2」の値を設定し、読み出した拡張フォーマットサポート情報を「Data」に設定したレスポンスを、上位装置11に送信する。
上位装置11のプロセッサ26は、ICカード12からのレスポンスに基づいて、ICカード12におけるコマンド処理の結果を認識する。さらに、上位装置11のプロセッサ26は、ICカード12からのレスポンスに含まれている拡張フォーマットサポート情報の値(ZZ)を確認する。上位装置11のプロセッサ26は、拡張フォーマットサポート情報の値(ZZ)に基づいて、ICカード12においてどのコマンド群が拡張フォーマットをサポートしているかを判断する。これ以降、上位装置11のプロセッサ26は、ICカード12で拡張フォーマットがサポートされているコマンドについて、必要に応じて拡張フォーマットを用いる。
上記したように、ICカード12のプロセッサ36は、セレクトコマンドに応じて、不揮発性メモリ37から、複数種類のコマンドを含むコマンド群毎に拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を読み出す。ICカード12のプロセッサ36は、セレクトコマンドに対するレスポンスに拡張フォーマットサポート情報を付加し、上位装置11に送信する。これにより、ICカード12のプロセッサ36は、拡張フォーマットがサポートされているコマンドのグループを上位装置11に知らせることができる。この結果、上位装置11のプロセッサ26は、ICカード12において一部のコマンドが拡張フォーマットをサポートしている場合に、拡張フォーマットがサポートされているコマンドのグループを認識することができる。
(第3の実施形態)
第1の実施形態では、拡張フォーマットサポート情報は、「未サポート(ZZ=00)」、「全コマンドをサポート(ZZ=01)」、「読出系コマンドをサポート(ZZ=02)」、「書込系コマンドをサポート(ZZ=03)」、「認証系コマンドをサポート(ZZ=04)」、及び「その他のコマンドをサポート(ZZ=05)」のいずれかを、ZZの値で示すと説明したが、この構成に限定されない。拡張フォーマットサポート情報は、ZZの値ではなく、ZZの値を構成するビットイメージ(ビット列)によって、拡張フォーマットがサポートされているコマンドを示す構成であってもよい。
図5は、第3の実施形態に係る拡張フォーマットサポート情報の例について説明する為の説明図である。図5の例では、拡張フォーマットサポート情報は、「未サポート(ZZ=00)」、「読出系コマンドをサポート(ZZ=01)」、「書込系コマンドをサポート(ZZ=02)」、「認証系コマンドをサポート(ZZ=04)」、「その他のコマンドをサポート(ZZ=08)」、及び「全コマンドをサポート(ZZ=0F)」をZZの値によって示す。
ZZ=00は、ビット列で表現すると「00000000」である。
ZZ=01は、ビット列で表現すると「00000001」である。
ZZ=02は、ビット列で表現すると「00000010」である。
ZZ=04は、ビット列で表現すると「00000100」である。
ZZ=08は、ビット列で表現すると「00001000」である。
ZZ=0Fは、ビット列で表現すると「00001111」である。
即ち、8ビットの中の第1ビットは、読出系コマンドをサポートしているか否かを示す。
また、8ビットの中の第2ビットは、書込系コマンドをサポートしているか否かを示す。
また、8ビットの中の第3ビットは、認証系コマンドをサポートしているか否かを示す。
また、8ビットの中の第4ビットは、その他のコマンドをサポートしているか否かを示す。
即ち、第4ビット~第1ビットが「0」である場合、「未サポート」であることを示す。また、第4ビット~第1ビットが「1」である場合、「全コマンドをサポート」であることを示す。
また、上記の構成において、ICカード12のプロセッサ36は、サポートされているコマンド群に応じて、ZZのビット列を設定して上位装置11に送信する。これにより、ICカード12は、複数のコマンド群において拡張フォーマットがサポートされていることを上位装置11に知らせることができる。
例えば、ICカード12において、読出系コマンドと書込系コマンドとがサポートされている場合、ICカード12のプロセッサ36は、ZZのビット列を「00000011」に設定し、上位装置11に送信する。この場合も、ICカード12のプロセッサ36は、上位装置11に送信する初期応答、またはコマンドに対するレスポンスに、拡張フォーマットサポート情報を付加する。
上位装置11のプロセッサ26は、上記のように構成された拡張フォーマットサポート情報の解析用の情報を予めメモリ27などに記憶して有している。上位装置11は、拡張フォーマットサポート情報の解析用の情報を用いて、ICカード12から受け取ったビット列が「00000011」である拡張フォーマットサポート情報を解析する。これにより、上位装置11は、ICカード12において、読出系コマンドと書込系コマンドとがサポートされていることを認識することができる。
上記したように、ICカード12のプロセッサ36は、拡張フォーマットサポート情報の値でサポートされているコマンド群を示すのではなく、拡張フォーマットサポート情報を構成するビット列によって、サポートされている複数のコマンド群を上位装置11に知らせる構成であってもよい。またさらに、ICカード12のプロセッサ36は、拡張フォーマットサポート情報を構成するビット列によって、サポートされている複数のコマンド群を上位装置11に知らせることができる。
(第4の実施形態)
第1の実施形態では、ICカード12は、複数種類のコマンドを含むコマンド群(コマンドグループ)毎に拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を不揮発性メモリ37に記憶している構成であると説明した。しかしながら、ICカード12は、この構成に限定されない。ICカード12は、コマンドの種類毎(即ち、異なるコマンド毎)に拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を不揮発性メモリ37に記憶している構成であってもよい。また、この場合、拡張フォーマットサポート情報は、1バイトではなくより長いバイト数のデータにより構成されていてもよい。
図6は、第4の実施形態に係る拡張フォーマットサポート情報の例について説明する為の説明図である。図6の例では、拡張フォーマットサポート情報は、2バイト(16ビット)のデータにより構成されている。また、拡張フォーマットサポート情報のZZの値に、それぞれ拡張フォーマットがサポートされているコマンドが対応付けられている。
具体的には、「未サポート(ZZ=0000)」、「READ BINARYをサポート(ZZ=0001)」、「UPDATE BINARYをサポート(ZZ=0002)」、「GET DATAをサポート(ZZ=0004)」、「PUT DATAをサポート(ZZ=0008)」、「READ RECORD(S)をサポート(ZZ=0010)」、「WRITE RECORDをサポート(ZZ=0020)」、「UPDATE RECORDをサポート(ZZ=0040)」、「INTERNAL AUTHENTICATEをサポート(ZZ=0080)」、「EXTERNAL AUTHENTICATEをサポート(ZZ=0100)」をそれぞれZZの値によって示す。
上記の構成において、ICカード12のプロセッサ36は、サポートされているコマンド群に応じて、ZZの値を設定して上位装置11に送信する。この場合も、ICカード12のプロセッサ36は、上位装置11に送信する初期応答、またはコマンドに対するレスポンスに、拡張フォーマットサポート情報を付加する。これにより、ICカード12は、拡張フォーマットがサポートされているコマンドを上位装置11に知らせることができる。
上位装置11は、上記のように構成された拡張フォーマットサポート情報の解析用の情報を予めメモリ27などに記憶して有している。上位装置11は、拡張フォーマットサポート情報の解析用の情報を用いて、ICカード12から受け取ったZZの値に応じて、ICカード12が拡張フォーマットをサポートしているコマンドを認識することができる。
またさらに、第4の実施形態と同様に、ICカード12のプロセッサ36は、拡張フォーマットサポート情報のZZを構成するビット列によって、拡張フォーマットがサポートされている複数のコマンドを上位装置11に知らせる構成であってもよい。
この場合も、ICカード12のプロセッサ36は、上位装置11に送信する初期応答、またはコマンドに対するレスポンスに、拡張フォーマットサポート情報を付加する。これにより、ICカード12のプロセッサ36は、拡張フォーマットがサポートされているコマンドの種類を上位装置11に知らせることができる。
また、上記の実施形態では、拡張フォーマットサポート情報は、「読出系コマンド」、「書込系コマンド」、「認証系コマンド」、及び「その他のコマンド」などに分類されたコマンド群毎に、拡張フォーマットがサポートされているか否かを示す情報であると説明したが、この構成に限定されない。コマンド群の分類は、上記の例に限定されるものではなく、任意で設定し得るものである。また例えば、コマンド群の分類は、アプリケーション上で定義されていてもよい。
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…ICカード処理システム、11…上位装置、12…ICカード、21…コントローラ、22…カードリーダライタ、23…カードリーダライタ、24…ディスプレイ、25…操作インタフェース、26…プロセッサ、27…メモリ、31…本体、32…ICモジュール、33…ICチップ、34…接触通信インタフェース、35…非接触通信インタフェース、36…プロセッサ、37…不揮発性メモリ、38…RAM。

Claims (11)

  1. ICカード処理装置と通信を行う通信インタフェースと、
    コマンド毎に、拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を前記ICカード処理装置に送信するプロセッサと、
    を具備するICカード。
  2. 前記プロセッサは、複数種類のコマンドを含むコマンド群毎に、拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を前記ICカード処理装置に送信する請求項1に記載のICカード。
  3. 前記コマンド群は、読出系コマンド群、書込系コマンド群、認証系コマンド群、及びその他のコマンド群である請求項2に記載のICカード。
  4. 前記読出系コマンド群は、READ BINARY、READ RECORD(S)、及びGET DATAを少なくとも含み、
    前記書込系コマンド群は、UPDATE BINARY、WRITE RECORD、APPEND RECORD、及びPUT DATAを少なくとも含み、
    前記認証系コマンド群は、INTERNAL AUTHENTICATE、及びEXTERNAL AUTHENTICATEを少なくとも含む請求項3に記載のICカード。
  5. 前記拡張フォーマットサポート情報は、全コマンドの拡張フォーマットがサポートされているか、全コマンドの拡張フォーマットがサポートされていないか、をさらに示す請求項1に記載のICカード。
  6. 前記拡張フォーマットサポート情報を予め記憶する不揮発性メモリをさらに具備し、
    前記プロセッサは、前記不揮発性メモリから前記拡張フォーマットサポート情報を読み出し、前記通信インタフェースにより前記ICカード処理装置に送信する情報に、前記拡張フォーマットサポート情報を付加し、送信する請求項1に記載のICカード。
  7. 前記プロセッサは、前記ICカード処理装置との間で初期設定を行う際に前記ICカード処理装置に送信する初期応答に前記拡張フォーマットサポート情報を付加する請求項6に記載のICカード。
  8. 前記プロセッサは、前記ICカード処理装置からの読出系コマンドに応じて、前記不揮発性メモリから前記拡張フォーマットサポート情報を読み出し、前記読出系コマンドに対するレスポンスに読み出した前記拡張フォーマットサポート情報を付加する請求項6に記載のICカード。
  9. 前記プロセッサは、
    前記ICカード処理装置からのセレクトコマンドに応じてアプリケーションを選択し、
    前記不揮発性メモリから前記拡張フォーマットサポート情報を読み出し、
    前記セレクトコマンドに対するレスポンスに読み出した前記拡張フォーマットサポート情報を付加する請求項6に記載のICカード。
  10. ICカードと、前記ICカードを処理するICカード処理装置と、を具備するICカード処理システムであって、
    前記ICカードは、
    前記ICカード処理装置と通信を行う通信インタフェースと、
    コマンド毎に、拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を前記ICカード処理装置に送信するプロセッサと、
    を具備し、
    前記ICカード処理装置は、
    前記ICカードと通信を行うカードリーダライタ(通信インタフェース)と、
    前記ICカードからの前記拡張フォーマットサポート情報に基づいて、コマンド毎に、拡張フォーマットを用いるか否かを切り替えるプロセッサと、
    を具備する、
    ICカード処理システム。
  11. ICカードと通信を行う通信インタフェースと、プロセッサと、を具備し、前記ICカードを処理するICカード処理装置において実行されるICカード処理装置の制御プログラムであって、
    前記制御プログラムは、前記プロセッサに、
    コマンド毎に、拡張フォーマットがサポートされているか否かを示す拡張フォーマットサポート情報を前記ICカードから受け取り、前記拡張フォーマットサポート情報に基づいて、コマンド毎に、拡張フォーマットを用いるか否かを切り替えること、
    を実行させるICカード処理装置の制御プログラム。
JP2020006640A 2020-01-20 2020-01-20 Icカード、icカード処理システム、及びicカード処理装置の制御プログラム Active JP7366765B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020006640A JP7366765B2 (ja) 2020-01-20 2020-01-20 Icカード、icカード処理システム、及びicカード処理装置の制御プログラム
EP21745105.3A EP4095752A4 (en) 2020-01-20 2021-01-15 IC CARD, IC CARD PROCESSING SYSTEM, CONTROL PROGRAM FOR IC CARD PROCESSING DEVICE, AND COMPUTER READABLE STORAGE MEDIUM
PCT/JP2021/001318 WO2021149622A1 (ja) 2020-01-20 2021-01-15 Icカード、icカード処理システム、icカード処理装置の制御プログラム、及びコンピュータ可読記憶媒体
US17/867,971 US20220350975A1 (en) 2020-01-20 2022-07-19 Ic card, ic card processing system, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020006640A JP7366765B2 (ja) 2020-01-20 2020-01-20 Icカード、icカード処理システム、及びicカード処理装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2021114146A JP2021114146A (ja) 2021-08-05
JP7366765B2 true JP7366765B2 (ja) 2023-10-23

Family

ID=76992349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006640A Active JP7366765B2 (ja) 2020-01-20 2020-01-20 Icカード、icカード処理システム、及びicカード処理装置の制御プログラム

Country Status (4)

Country Link
US (1) US20220350975A1 (ja)
EP (1) EP4095752A4 (ja)
JP (1) JP7366765B2 (ja)
WO (1) WO2021149622A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236200A (ja) 2005-02-28 2006-09-07 Toshiba Corp カード状記憶装置とそのホスト装置
JP2012178132A (ja) 2011-02-04 2012-09-13 Toshiba Corp メモリシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003003694A2 (en) * 2001-06-26 2003-01-09 Versada Networks, Inc. Detecting and transporting dynamic presence information over a wireless and wireline communications network
JP2003288561A (ja) 2002-03-28 2003-10-10 Toppan Printing Co Ltd Icカード
CN101227671B (zh) * 2007-12-28 2010-08-18 北京握奇数据系统有限公司 与移动终端交互管理数据库的方法及智能卡
JP5258490B2 (ja) * 2008-10-02 2013-08-07 ルネサスエレクトロニクス株式会社 半導体集積回路及びそれを用いたicカード
JP2020119298A (ja) * 2019-01-24 2020-08-06 キオクシア株式会社 メモリシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236200A (ja) 2005-02-28 2006-09-07 Toshiba Corp カード状記憶装置とそのホスト装置
JP2012178132A (ja) 2011-02-04 2012-09-13 Toshiba Corp メモリシステム

Also Published As

Publication number Publication date
EP4095752A1 (en) 2022-11-30
JP2021114146A (ja) 2021-08-05
WO2021149622A1 (ja) 2021-07-29
EP4095752A4 (en) 2024-01-10
US20220350975A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
US6375082B1 (en) Portable electronic device with contacting and noncontacting interfaces
US20120067947A1 (en) Ic card, mobile electronic device and data processing method in ic card
US20100240318A1 (en) Mobile electronic device and control method of mobile electronic device
EP2500845A2 (en) Portable electronic apparatus
JP5795921B2 (ja) Icカード、携帯可能電子装置、icカードの制御方法
JP7366765B2 (ja) Icカード、icカード処理システム、及びicカード処理装置の制御プログラム
KR100273614B1 (ko) 아이씨 카드
US8665070B2 (en) Mobile electronic device
JP2007087168A (ja) 複合携帯可能電子装置および複合icカード
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
JP7433886B2 (ja) Icカード及びicカードの制御プログラム
JP4590201B2 (ja) データキャリア及びデータキャリアのプログラム
JP6092342B2 (ja) 非接触式携帯可能電子装置、及び非接触式携帯可能電子装置の発行方法
JP5111963B2 (ja) 携帯可能電子装置及びデータ管理方法
US20160314388A1 (en) Data processing device for ic card issuance and ic card issuance data generation method
JP2007257543A (ja) 複合携帯可能電子装置および複合icカード
JP5957577B2 (ja) Icカード、携帯可能電子装置、icカードの制御方法
JP2013125400A (ja) Icカード、携帯可能電子装置、及びicカードの制御プログラム
JP7468598B1 (ja) 電子情報記憶媒体、icチップ、非接触型icカード、処理方法、及びプログラム
JP5481464B2 (ja) 通信媒体及び通信媒体処理装置
JP5875772B2 (ja) 携帯可能電子装置、携帯可能電子装置の制御方法、及び携帯可能電子装置の処理システム
JP5684059B2 (ja) Icカード、及びicカードの制御方法
JP2004206575A (ja) 携帯可能電子媒体及び携帯可能電子媒体に用いられる通信方法
JP2012252655A (ja) 携帯可能電子装置、icカード、及び携帯可能電子装置の制御方法
JP2014063263A (ja) Icカード、携帯可能電子装置、及びicカードのリーダライタ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220908

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20230105

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231011

R150 Certificate of patent or registration of utility model

Ref document number: 7366765

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150