JP5892818B2 - 携帯可能電子装置、及び携帯可能電子装置の制御プログラム - Google Patents

携帯可能電子装置、及び携帯可能電子装置の制御プログラム Download PDF

Info

Publication number
JP5892818B2
JP5892818B2 JP2012059000A JP2012059000A JP5892818B2 JP 5892818 B2 JP5892818 B2 JP 5892818B2 JP 2012059000 A JP2012059000 A JP 2012059000A JP 2012059000 A JP2012059000 A JP 2012059000A JP 5892818 B2 JP5892818 B2 JP 5892818B2
Authority
JP
Japan
Prior art keywords
tlv
card
data object
tlv data
data
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
JP2012059000A
Other languages
English (en)
Other versions
JP2013196010A (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 JP2012059000A priority Critical patent/JP5892818B2/ja
Publication of JP2013196010A publication Critical patent/JP2013196010A/ja
Application granted granted Critical
Publication of JP5892818B2 publication Critical patent/JP5892818B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、携帯可能電子装置、及び携帯可能電子装置の制御プログラムに関する。
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
ICカードは、例えば、国際標準規格ISO/IEC7816に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
ICカードは、ICカードを処理する処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ICカードは、種々の機能を実現することができる。
特開2007−206895号公報
ICカードは、例えば、アプリケーションなどに用いられるデータなどをTLVデータオブジェクトとして不揮発性メモリに記憶する。TLVデータオブジェクトは、タグ領域(Tag)、長さ領域(Length)、値領域(Value)の三種のデータを有する。Tagは、Valueに格納されているデータの種別を示す。Lengthは、Valueに格納されているデータの長さを示す。
また、TLVデータオブジェクトのValueに1つまたは複数のTLVデータオブジェクトが格納されている構造化TLVデータオブジェクト(Constructed TLV Data Object)が一般的に用いられている。
従来のICカードは、構造化TLVデータオブジェクト内の一部TLVデータオブジェクトを読み出す場合、構造化TLVデータオブジェクトのValueに格納されている全てのTLVデータオブジェクトを読み出す必要がある。この為、処理時間が嵩むという課題がある。
そこで、より高速に処理を行うことができる携帯可能電子装置、及び携帯可能電子装置の制御プログラムを提供することを目的とする。
一実施形態に係る携帯可能電子装置は、複数のTLVデータオブジェクトを含む構造化TLVデータオブジェクトを記憶する第1の記憶手段と、前記TLVデータオブジェクト毎にクラスを記憶する第2の記憶手段と、外部機器から送信されたコマンドを受信する受信手段と、前記受信手段により受信された前記コマンドを解析し、抽出条件、及びクラスを解析する解析手段と、前記コマンドから解析された前記クラスと、前記第2の記憶手段に記憶されている前記クラスとの関係が前記抽出条件を満たすTLVデータオブジェクトを前記第1の記憶手段から抽出する抽出手段と、前記抽出手段により抽出された前記TLVデータオブジェクトを用いて構造化TLVデータオブジェクトを再構成する再構成手段と、前記再構成手段により再構成された構造化TLVデータオブジェクトを前記外部機器に送信する送信手段と、を具備する。
図1は、一実施形態に係るICカード処理システムの構成例について説明するための図である。 図2は、一実施形態に係るICカードの構成例について説明するための図である。 図3は、一実施形態に係るICカードの処理の例について説明するための図である。 図4は、一実施形態に係るICカードの処理の例について説明するための図である。 図5は、一実施形態に係るICカードの処理の例について説明するための図である。 図6は、一実施形態に係るICカードの処理の例について説明するための図である。 図7は、一実施形態に係るICカードの処理の例について説明するための図である。 図8は、一実施形態に係るICカードの処理の例について説明するための図である。 図9は、一実施形態に係るICカードの処理の例について説明するための図である。 図10は、一実施形態に係るICカードの処理の例について説明するための図である。
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の制御プログラムについて詳細に説明する。
本実施形態に係る携帯可能電子装置(ICカード)20及びICカード20を処理する処理装置(端末装置)10は、例えば、接触通信、及び/または非接触通信の機能を備える。これにより、ICカード20及び端末装置10は、互いにデータの送受信を行うことができる。
図1は、一実施形態に係るICカード処理システム1の構成例を示す。
ICカード処理システム1は、ICカード20を処理する端末装置10と、ICカード20と、を備える。
端末装置10は、CPU11、ROM12、RAM13、不揮発性メモリ14、カードリーダライタ15、操作部17、ディスプレイ18、及び電源部19を備える。CPU11、ROM12、RAM13、不揮発性メモリ14、カードリーダライタ15、操作部17、及びディスプレイ18は、それぞれバスを介して互いに接続されている。
CPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM12又は不揮発性メモリ14に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、カードリーダライタ15を介してICカード20とコマンド及びレスポンスの送受信を行う。
ROM12は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。RAM13は、ワーキングメモリとして機能する揮発性のメモリである。RAM13は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM13は、カードリーダライタ15を介して外部の機器と送受信するデータを一時的に格納する。また、RAM13は、CPU11が実行するプログラムを一時的に格納する。
不揮発性メモリ14は、例えばEEPROM、FRAM(登録商標)などを備える。不揮発性メモリ14は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
カードリーダライタ15は、ICカード20と通信を行うためのインターフェース装置である。カードリーダライタ15は、接触通信、または非接触通信によりICカード20とデータの送受信を行う。
接触通信のインターフェースとして用いられる場合、カードリーダライタ15は、ICカード20が装着されるスロットと、ICカード20が備えるコンタクトパターンと接続される複数の接触端子を備える。
スロットにICカード20が装着される場合、カードリーダライタ15の複数の接触端子は、ICカード20のコンタクトパターンに接続される。これにより、端末装置10とICカード20とは電気的に接続される。カードリーダライタ15は、スロットに装着されるICカード20に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ15は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
カードリーダライタ15は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ15は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置10は、通信可能範囲に存在するICカード20に対してデータを非接触で送信することができる。
さらに、カードリーダライタ15のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ15は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置10は、ICカード20から送信された元のデータを取得することができる。
操作部17は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。操作部17は、生成した操作信号をCPUに入力する。これにより、CPU11は、操作者により入力された操作に基づいて処理を実行することができる。
ディスプレイ18は、CPU11、または図示されないグラフィックコントローラなどの表示処理モジュールから入力される映像を表示するための信号に基づいて種々の情報を表示する。
電源部19は、端末装置10の各部に電力を供給する。電源部19は、例えば、商用電源より電力を受け取り、所定の電圧に変換し、端末装置10の各部に供給する。
図2は、一実施形態に係るICカード20の構成例を示す。
図2に示すように、ICカード20は、例えば、矩形状の本体21と、本体21内に内蔵されたICモジュール22とを備える。ICモジュール22は、ICチップ23と、通信部24とを備える。ICチップ23と通信部24とは、互いに接続された状態でICモジュール22内に形成されている。
なお、本体21は、少なくとも通信部24が配設されるICモジュール22を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
ICチップ23は、通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、電源部31、及びロジック部32などを備える。通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、電源部31、及びロジック部32は、バスを介して互いに接続されている。
通信部24は、端末装置(外部機器)10のカードリーダライタ15と通信を行うためのインターフェースである。通信部24は、接触通信、または非接触通信により、端末装置10とデータの送受信を行う。
接触通信のインターフェースとして用いられる場合、通信部24は、カードリーダライタ15の接触端子と接続されるコンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりICモジュール22の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置10と接触可能に形成されている。
コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれ端子として機能する。通信部24は、コンタクトパターンを介してカードリーダライタ15とデータの送受信を行うことができる。
また、非接触通信のインターフェースとして用いられる場合、通信部24は、信号処理部とアンテナとを備える。
信号処理部は、端末装置10に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置10に送信するデータの変調(増幅)を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
アンテナは、例えば、ICモジュール22内に所定の形状で配設される金属線により構成される。ICカード20は、端末装置10に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ICカード20は、端末装置10に対してデータを送信することができる。また、ICカード20は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置10から送信されるデータを認識する。
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信部24は、2値の論理データを取得する。通信部24は、解析したデータをバスを介してCPU25に送信する。
CPU25は、ICカード20全体の制御を司る制御部として機能する。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置10から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、ROM26に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
RAM27は、ワーキングメモリとして機能する揮発性のメモリである。RAM27は、CPU25の処理中のデータなどを一時的に格納する。例えば、RAM27は、通信部24を介して端末装置10から受信したデータを一時的に格納する。またRAM27は、通信部24を介して端末装置10に送信するデータを一時的に格納する。またさらに、RAM27は、CPU25が実行するプログラムを一時的に格納する。
不揮発性メモリ28は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ28は、ICカード20の運用用途に応じて制御プログラム及び種々のデータを格納する。
たとえば、不揮発性メモリ28では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU25は、不揮発性メモリ28、または、ROM26に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
電源部31は、端末装置10の各部に電力を供給する。ICカード20が接触通信を行う構成を備える場合、電源部31は、通信部24のコンタクトパターンを介してカードリーダライタ15から供給される電力をICカード20の各部に供給する。
また、ICカード20が非接触通信を行う構成を備える場合、カードリーダライタ15のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部31は、動作クロックを生成する。電源部31は、発生させた電力及び動作クロックをICカード20の各部に電力を供給する。ICカード20の各部は、電力の供給を受けた場合、動作可能な状態になる。
ロジック部32は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部32は、端末装置10からのコマンドに基づいて、暗号化、復号、ハッシュ計算、及び乱数の生成などの処理を行う。例えば、端末装置10から相互認証コマンドを受信する場合、ロジック部32は、相互認証処理に係る演算処理を実行する。
ICカード20は、一次発行と二次発行とにより発行される。ICカード20を発行する発行装置は、一次発行において、ICカード20にコマンド(初期化コマンド)を送信することにより、ICカード20の不揮発性メモリ28の初期化を行う。これにより、端末装置10は、ICカード20の不揮発性メモリ28内にICカード20の使用目的、及び使用用途などに応じた鍵ファイルやデータファイル等を定義する。
発行装置は、例えば、ISO/IEC7816により規定されているファイル構造を不揮発性メモリ28内に創成する。上記の初期化が行われた不揮発性メモリ28は、Master File(MF)、Dedicated File(DF)、及びElementary File(EF)などを有する。
MFは、ファイル構造の根幹となるファイルである。DFは、MFの下位に創成される。DFは、アプリケーション及びアプリケーションに用いられるデータなどをグループ化して格納するファイルである。EFは、DFの下位に創成される。EFは、様々なデータを格納するためのファイルである。また、MFの直下にEFが置かれる場合もある。
EFには、Working Elementary File(WEF)とInternal Elementary File(IEF)などの種類がある。WEFは、作業用EFであり、個人情報などを格納する。IEFは、内部EFであり、例えば、セキュリティのための暗号鍵などのデータを記憶する。
二次発行では、EFに例えば顧客データなどの個別データが格納される。これにより、ICカード20が運用可能な状態になる。即ち、CPU25は、不揮発性メモリ28、または、ROM26に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
不揮発性メモリ28は、TLVデータオブジェクトとしてデータを記憶する記憶部28aを備えている。即ち、記憶部28aは、Tag Length Value(TLV)構造のデータをデータの本体として記憶している。即ち、記憶部28aは、データ種別(Tag)、データの長さ(Length)、及びデータ値(Value)を記憶する。
TLVデータオブジェクトのTagは、ICカード20のCPU25にTLVデータオブジェクトを識別させる為の情報である。Lengthは、TLVデータオブジェクトのValueのデータ長を示す情報である。Valueは、TLVデータオブジェクトのデータ本体である。
また、不揮発性メモリ28は、記憶部28aに記憶されているTLVデータオブジェクト毎の優先順位を示す優先順位情報を記憶する記憶部28bを備えている。なお、優先順位情報については後述する。
図3は、端末装置10からICカード20に送信されるコマンドの例を示す。
まず、ICカード20は、端末装置10のカードリーダライタ15から電力の供給を受けて動作可能な起動状態になる。
端末装置10がICカード20に送信するコマンドは、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」などのフィールドを有する。なお、コマンドのフォーマットは、ISO/IEC 7816−3で規定されているApplication Protocol Data Unit(APDU)に準拠している。
「CLA」は、コマンドの層別を示すclass byteである。「INS」は、コマンドの種別を示すinstruction byteである。「P1」及び「P2」は、「INS」に応じたパラメータを示すparameter byteである。
「Lc」は、「Data」のデータの長さ(バイト数)を示すlength field for cording number Ncである。「Data」は、当該コマンドのデータ本体を示すcommand data fieldである。「Le」は、当該コマンドに対するレスポンスのデータ長を示すlength field for cording number Neである。
即ち、「CLA」及び「INS」により、当該コマンドの種類が示される。ICカード20は、受信したコマンドの「CLA」及び「INS」の値を解析することにより、受信したコマンドの種類を認識する。
端末装置10は、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」の値を設定することにより、種々のコマンドを生成する。例えば、端末装置10は、「CLA」の値を「00」に設定し、「INS」の値を「B4」に設定することにより、ICカード20に構造化TLVデータオブジェクトを読み出す処理を行なわせる為のコマンドを生成することができる。なお、この場合、「P1」及び「P2」により、読み出し処理を行うEFを指定する。
また、端末装置10は、「Data」により読み出すTLVデータオブジェクトを抽出する為の抽出条件及び優先順位を指定する。例えば、端末装置10は、「Data」の先頭の1バイトにより、抽出条件を指定する。また、端末装置10は、「Data」の2バイト目で優先順位を指定する。
端末装置10は、「0」乃至「5」の数値に各抽出条件を対応付けてコマンドをICカード20に送信する。また、端末装置10は、優先順位の値を「0」乃至「255」の間で設定する。なお、「0」が最も先順位が高く、「255」が最も優先順位が低いものとする。
端末装置10は、優先順位と一致するTLVをICカード20に読み出させる場合、抽出条件を示す値として「0」を設定する。端末装置10は、優先順位と不一致であるTLVをICカード20に読み出させる場合、抽出条件を示す値として「1」を設定する。端末装置10は、優先順位以上であるTLVをICカード20に読み出させる場合、抽出条件を示す値として「2」を設定する。端末装置10は、優先順位以下であるTLVをICカード20に読み出させる場合、抽出条件を示す値として「3」を設定する。端末装置10は、優先順位より大きいTLVをICカード20に読み出させる場合、抽出条件を示す値として「4」を設定する。端末装置10は、優先順位より小さいTLVをICカード20に読み出させる場合、抽出条件を示す値として「5」を設定する。
ICカード20は、抽出条件を示す値が「0」である場合、コマンドで指定された優先順位と一致するTLVを読み出す。ICカード20は、抽出条件を示す値が「1」である場合、コマンドで指定された優先順位と不一致であるTLVを読み出す。ICカード20は、抽出条件を示す値が「2」である場合、コマンドで指定された優先順位以上であるTLVを読み出す。ICカード20は、抽出条件を示す値が「3」である場合、コマンドで指定された優先順位以下であるTLVを読み出す。ICカード20は、抽出条件を示す値が「4」である場合、コマンドで指定された優先順位より大きいTLVを読み出す。ICカード20は、抽出条件を示す値が「5」である場合、コマンドで指定された優先順位より小さいTLVを読み出す。
図4は、優先順位情報のデータ構造の例を示す。
PRIORITY_DATAは、ひとつのTLVデータオブジェクトに対して一つの優先順位を付与するためのデータである。優先情報テーブルは、2バイトのTAG領域(TAG)と、1バイトの優先順位領域(priority)とを備える。
TAG領域は、優先順位を付加する対象となるTAGを示す。例えば、TAGが1バイトである場合、TAG領域の2バイト目は「00」である。優先順位領域は、「0」乃至「255」の値を示す1バイトデータである。なお、「0」が最も先順位が高く、「255」が最も優先順位が低いものとする。
PRIORITY_TABLEは、データ全体を示す構造化TLV(以降、「親TLV」と称する)のTAGを示すデータと、データ部を構成する複数のTLVデータオブジェクト(以降、「子TLV」と称する)の優先順位を示すデータとを有する。
親TLVのTAGを示す領域(main Tag)は、2バイトで構成されている。main Tagの書式は、PRIORITY_DATA構造体のTAGメンバと同一である。
子TLVの優先順位を示すデータの領域は、前述のPRIORITY_DATA型の構造体を持つ。なお、配列の要素の数は、本ICカード20の用途に応じて任意で設定される。Tagが割り振られていない要素のTagには「0000」がセットされる。
PRIORITY_TABLE構造体は、配列構造により構成されている。配列の要素の数は、本ICカード20で扱われる構造化TLVデータオブジェクトの数プラス1である。なお、最終要素のTagには「0000」がセットされる。
図5は、構造化TLVデータオブジェクトの例を示す。
図5に示される構造化TLVデータオブジェクトは、旅券などのICカード20に保存されるバイオメトリック(生体認証)情報である。
親TLVのTAGは、本データがバイオメトリック情報であることを示す値である「7F61」である。親TLVは、TAGが「02」である子TLVと、TAGが「7F60」である子TLVとを有する。なお、TAGが「02」である子TLVは、顔画像格納数を示す。また、TAGが「7F60」である子TLVは、一つの顔画像のデータセットを示す。
TAGが「7F60」である子TLVは、データ部にTAGが「A1」であるTLVと、TAGが「5F2E」であるTLVとの2つのTLVデータオブジェクトを有する。TAGが「A1」であるTLVは、該当バイオメトリック情報の属性を示すヘッダ情報(バイオメトリックヘッダテンプレート)である。TAGが「5F2E」であるTLVは、該当のバイオメトリック情報の本体(バイオメトリックデータブロック)である。
TAGが「A1」であるTLVは、パトロンヘッダバージョン(TAG=80、L=2)、バイオメトリックタイプ(TAG=81、L=1)、バイオメトリックサブタイプ(TAG=82、L=1)、バイオメトリックデータの作成日(TAG=83、L=7)、有効期間(開始・終了日)(TAG=85、L=8)、バイオメトリック参照データを作成した製品所有者および製品タイプの結合(TAG=86、L=4)、バイオメトリック参照データの形式所有者(TAG=87、L=2)、及び形式所有者が指定するバイオメトリック参照データの形式タイプ(TAG=88、L=2)などの8個の子TLVを有する。
図6は、優先順位テーブルの例を示す。なお、優先順位テーブルの配列数はnとして説明するが、図5に示されたバイオメトリック情報のデータ抽出に用いられない配列内のデータは特に図示しない。
優先順位テーブル[0]は、図5に示すバイオメトリック情報の親TLV「7F61」をmainTAGとしている。子TLV「0200」と「7F60」とには、それぞれ優先順位「5」、「255」が割り当てられている。
優先順位テーブル[1]は、TLV「7F61」を親TLVとしている。子TLV「A100」には優先順位「255」、子TLV「5F2E」には優先順位「1」が割り当てられている。
優先順位テーブル[1]は、TLV「A100」を親TLVとしている。子TLV「8000」には優先順位「255」、子TLV「8100」には優先順位「2」、子TLV「8200」には優先順位「3」、子TLV「8300」には優先順位「10」、子TLV「8500」には優先順位「2」、子TLV「8600」には優先順位「20」、子TLV「8800」には優先順位「20」、がそれぞれ割り当てられている。また、最終データである優先順位テーブル[n]のmainTAGには「0000」が設定されている。
即ち、顔画像格納数に優先順位「5」、バイオメトリック情報テンプレートに優先順位「255」、バイオメトリックヘッダテンプレートに優先順位「255」、バイオメトリックデータブロックに優先順位「1」、パトロンヘッダバージョンに優先順位「255」、バイオメトリックタイプに優先順位「2」、バイオメトリックサブタイプに優先順位「3」、バイオメトリックデータの作成日に優先順位「10」、有効期間(開始・終了日)に優先順位「2」、バイオメトリック参照データを作成した製品所有者および製品タイプの結合に優先順位「20」、バイオメトリック参照データの形式所有者に優先順位「20」、形式所有者が指定するバイオメトリック参照データの形式タイプに優先順位「20」がそれぞれ設定されている。
なお、ICカード20は、端末装置10からのコマンドに応じて各TLVデータオブジェクトの優先順位を変更する構成であってもよい。端末装置10は、新たな優先順位、及び優先順位を変更するTLVデータオブジェクトを示す識別情報をコマンドに付加する。ICカード20は、受信したコマンドを解析し、新たな優先順位、及び優先順位を変更するTLVデータオブジェクトを示す識別情報を解析する。ICカード20は、識別情報が示すTLVデータオブジェクトの優先順位を新たな優先順位に変更する。
図7は、図5に示すバイオメトリックデータに具体的な値が当てはめられた例を示す。なお、顔画像データ本体は、レングスまでの定義し、データの実態を示すものではない。また、本実施形態では、オプションであるバイオメトリックサブタイプ(TAG=82)は実装されていない。
図8は、ICカード20の処理の例を示す。
まず、端末装置10は、抽出条件、優先順位、対象のEFなどを決定し、図3に示されるようなコマンドを生成する。端末装置10は、生成したコマンドをICカード20に送信する。
ICカード20は、端末装置10から送信されたコマンドを受信する。ICカード20は、受信したコマンドの解析を行い、コマンドにより指定されるEFを選択する。さらに、ICカード20は、記憶部28bに記憶されている優先順位情報を参照し、各優先順位テーブルを確認する。
まず、ICカード20は、優先順位テーブル[i]のiの値を0からnまで変化させながら親TLVのTAG値と優先順位テーブル[i]のmainTAGの値が一致するテーブルを検索する(ステップS11)。即ち、ICカード20は、TLV毎に親TLVのTAG値と優先順位テーブル[i]のmainTAGの値が一致するか否か確認する。ICカード20は、TAGが「0000」であるTLVが検出された場合、検索処理を終了する。
親TLVのTAG値と優先順位テーブル[i]のmainTAGの値が一致するテーブルが見つかった場合、ICカード20は、先頭の子TLVの先頭アドレスを取得する(ステップS12)。即ち、先頭の子TLVの先頭アドレスは、親TLVのデータ部の先頭アドレスである。
ICカード20は、子TLVのTAGの値が「0000」であるか否か判定する(ステップS13)。ICカード20は、子TLVのTAGの値が「0000」である場合、ステップS19に移行する。
また、ICカード20は、子TLVのTAGのと、優先順位テーブル[i]のdata[j](j=0,1,2...9)のTAGの値とが一致するか否か判定する(ステップS14)。一致しない場合、ステップS18に移行する。一致した場合、ICカード20は、子TLVが、コマンドにより指定された「抽出条件」及び「指定優先順位」を満たすか否か判定する(ステップS15)。即ち、ICカード20は、子TLVの優先順位と、コマンドで指定された優先順位との関係が、抽出条件を満たすか否か判定する。
抽出条件が満たされた場合、ICカード20は、子TLVをRAM27上の例えばテンポラリバッファに追加する(ステップS16)。また、抽出条件が満たされなかった場合、ICカード20は、TLVを親TLVとして本関数を再帰呼び出しする(ステップS17)。ICカード20は、ステップS18で、全てのデータを確認したか否か判定する(ステップS18)。即ち、ICカード20は、親TLV内の全ての子TLVについて抽出条件を確認したか否か判定する。全てのデータの確認がされていない場合、ICカード20は、jの値を1つインクリメントし、ステップS13にループする。
また、ICカード20は、ステップS19で、次の子TLVがあるか否か判定する(ステップS19)。次の子TLVがある場合、ICカード20は、次の子TLVの情報を取得し(ステップS20)、ステップS13に移行する。これにより、ICカード20は、次の親TLVを選択することができる。
また、ステップS19で次の子TLVがないと判定した場合、ICカード20は、抽出したTLV、即ち、テンポラリバッファに追加したTLVを用いて構造化TLVを再構成する(ステップS21)。ICカード20は、再構成した構造化TLVを端末装置10に返信し(ステップS22)、処理を終了する。
図9は、図8に示す構造化TLVデータオブジェクトを再構成する処理の例を示す。
再構成する構造化TLVデータオブジェクトのTAGをセットする(ステップS31)。なお、本例は、構造化TLVデータオブジェクトのTAGを「7F62」に設定する。
ICカード20は、端末装置10から送信されたコマンドの「Le」が「0」であるか否か判定する(ステップS32)。「Le」が「0」である場合、ICカード20は、テンポラリバッファのデータ長を再構成される構造化TLVデータオブジェクトのLengthとしてRAM27上の応答バッファに追加する(ステップS33)。さらにICカード20は、テンポラリバッファの全TLVデータオブジェクトを応答バッファに追加する(ステップS34)。
また、「Le」が「0」ではない場合、ICカード20は、内部変数を初期化する(ステップS35)。即ち、ICカード20は、再構成されたTLVのデータ長(all_length)を0に設定し、TAG、Lを含む現在処理中の子TLVの長さ(this_length)を0に設定し、再構成されるTLVのデータ長の最大値(max)をn−2−lに設定する。なお、このnは、Leが示す応答データ長である。また、このlは、Leのデータ長である。
ICカード20は、maxを再構成される構造化TLVデータオブジェクトのデータ長として応答バッファに追加する(ステップS36)。ICカード20は、テンポラリバッファのTLVデータオブジェクトを優先順位順に並べる(ステップS37)。
ICカード20は、テンポラリバッファの1つのTLVを選択し、選択したTLVのデータ長(TAG、Length含む)をthis_lengthに登録する(ステップS38)。
ICカード20は、all_lengthの値とthis_lengthの値の合計がmaxの値より大きいか否かを判定する(ステップS39)。all_lengthの値とthis_lengthの値の合計がmaxの値より大きいか場合、ICカード20は、構造化TLVデータオブジェクトの再構成を終了する。
all_lengthの値とthis_lengthの値の合計がmaxの値以下である場合、ICカード20は、all_lengthの値にthis_lengthの値を加算する(ステップS40)。さらに、ICカード20は、選択しているTLVデータオブジェクトを応答バッファに追加する(ステップS41)。
ICカード20は、テンポラリバッファ内の全てのTLVを選択したか否か判定する(ステップS42)。未選択のTLVが存在する場合、ICカード20は、ステップS38にループする。
全てのTLVを選択済みである場合、ICカード20は、all_lengthを再構成されるTLVデータオブジェクトのデータ部長としてLengthを生成し(ステップS43)、構造化TLVデータオブジェクトの再構成を終了する。
上記したような処理により、ICカード20は、図10に示すような構造化TLVデータオブジェクトを有するレスポンスを生成することができる。
図10は、図3に示されたコマンドにおいて、抽出条件が「2」であり、優先順位が「2」である場合のICカード20からのレスポンスの例を示す。
抽出条件が「2」であり、優先順位が「2」である場合、ICカード20は、優先順位が「2」以上であるTLVを抽出する。ICカード20は、図6に示す優先順位情報を参照し、上記の処理を行うことにより、TAGが「5F2E」であるバイオメトリックデータブロックと、TAGが「8100」であるバイオメトリックタイプと、TAGが「8500」である有効期限(開始・終了日)との3つを抽出する。ICカード20は、抽出したTLVを連結し、構造化TLVのValueに連結したTLVを設定することにより、構造化TLVデータオブジェクトを再構成することができる。
この構成によると、端末装置10は、ICカード20に記憶されている構造化TLVデータオブジェクト内の全ての子TLVを読み出すことなく条件に適合する子TLVを抽出することができる。これにより、処理時間などを抑えることができる。この場合、ICカード20は、構造化TLVデータオブジェクトの不要な部分を取り除いて構造化TLvデータオブジェクトを再構成する。この為、端末装置10は、不要なデータを含まない再構築されたTLVデータオブジェクトを受信することができる。
これにより、端末装置10におけるレスポンスの解析に要する時間、及びICカード20の構造化TLVデータオブジェクト内の不要な子TLVの読み出しに要する時間を短縮することができる。この結果、より高速に処理を行うことができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の制御プログラムを提供することができる。
なお、上記した実施形態では、ICカード20は、TLVデータオブジェクト毎に優先順位を設定する構成として説明したが、この構成に限定されない。ICカード20は、優先順位ではなくカテゴリまたはクラスなどをTLVデータオブジェクト毎に設定する構成であってもよい。
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
1…ICカード処理システム、10…端末装置、11…CPU、12…ROM、13…RAM、14…不揮発性メモリ、15…カードリーダライタ、17…操作部、18…ディスプレイ、19…電源部、20…ICカード、21…本体、22…ICモジュール、23…ICチップ、24…通信部、25…CPU、26…ROM、27…RAM、28…不揮発性メモリ、28a…記憶部、28b…記憶部、31…電源部、32…ロジック部、

Claims (7)

  1. 複数のTLVデータオブジェクトを含む構造化TLVデータオブジェクトを記憶する第1の記憶手段と、
    前記TLVデータオブジェクト毎にクラスを記憶する第2の記憶手段と、
    外部機器から送信されたコマンドを受信する受信手段と、
    前記受信手段により受信された前記コマンドを解析し、抽出条件、及びクラスを解析する解析手段と、
    前記コマンドから解析された前記クラスと、前記第2の記憶手段に記憶されている前記クラスとの関係が前記抽出条件を満たすTLVデータオブジェクトを前記第1の記憶手段から抽出する抽出手段と、
    前記抽出手段により抽出された前記TLVデータオブジェクトを用いて構造化TLVデータオブジェクトを再構成する再構成手段と、
    前記再構成手段により再構成された構造化TLVデータオブジェクトを前記外部機器に送信する送信手段と、
    を具備する携帯可能電子装置。
  2. 前記第2の記憶手段は、前記TLVデータオブジェクト毎に前記クラスとして優先順位を記憶し、
    前記解析手段は、前記受信手段により受信された前記コマンドを解析し、抽出条件、及び優先順位を解析し、
    前記抽出手段は、前記コマンドから解析された前記優先順位と、前記第2の記憶手段に記憶されている前記優先順位との関係が前記抽出条件を満たすTLVデータオブジェクトを前記第1の記憶手段から抽出する、
    請求項1に記載の携帯可能電子装置。
  3. 前記抽出条件は、一致、不一致、以上、以下、大なり、及び小なりのうちのいずれかを示す、請求項2に記載の携帯可能電子装置。
  4. 前記解析手段は、前記コマンドに応じて最大長を解析し、
    前記再構成手段は、前記抽出手段により抽出された前記TLVデータオブジェクトを優先順位順で並べ、再構成されたTLVデータオブジェクトが前記最大長以下になるように優先順位順で並べられた前記TLVデータオブジェクトから1つずつ選択して連結する、
    請求項2乃至3のいずれかに記載の携帯可能電子装置。
  5. 前記解析手段は、前記受信手段により受信された前記コマンドを解析し、新たな優先順位、及び優先順位を変更するTLVデータオブジェクトを示す識別情報を解析し、
    前記第2の記憶手段は、前記識別情報が示すTLVデータオブジェクトの優先順位を前記新たな優先順位に変更する、
    請求項2乃至4のいずれかに記載の携帯可能電子装置。
  6. 前記第1の記憶手段と、前記第2の記憶手段と、前記受信手段と、前記解析手段と、前記抽出手段と、前記再構成手段と、前記送信手段と、を備えるICモジュールと、
    前記ICモジュールが配設される本体と、
    を具備する請求項1に記載の携帯可能電子装置。
  7. 外部機器から入力されるコマンドに応じて処理を行うICカードにおいて実行される制御プログラムであって、前記ICカードを、
    複数のTLVデータオブジェクトを含む構造化TLVデータオブジェクトを記憶する第1の記憶手段と、
    前記TLVデータオブジェクト毎にクラスを記憶する第2の記憶手段と、
    外部機器から送信されたコマンドを受信する受信手段と、
    前記受信手段により受信された前記コマンドを解析し、抽出条件、及びクラスを解析する解析手段と、
    前記コマンドから解析された前記クラスと、前記第2の記憶手段に記憶されている前記クラスとの関係が前記抽出条件を満たすTLVデータオブジェクトを前記第1の記憶手段から抽出する抽出手段と、
    前記抽出手段により抽出された前記TLVデータオブジェクトを用いて構造化TLVデータオブジェクトを再構成する再構成手段と、
    前記再構成手段により再構成された構造化TLVデータオブジェクトを前記外部機器に送信する送信手段と、
    して動作させる制御プログラム。
JP2012059000A 2012-03-15 2012-03-15 携帯可能電子装置、及び携帯可能電子装置の制御プログラム Active JP5892818B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012059000A JP5892818B2 (ja) 2012-03-15 2012-03-15 携帯可能電子装置、及び携帯可能電子装置の制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012059000A JP5892818B2 (ja) 2012-03-15 2012-03-15 携帯可能電子装置、及び携帯可能電子装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2013196010A JP2013196010A (ja) 2013-09-30
JP5892818B2 true JP5892818B2 (ja) 2016-03-23

Family

ID=49394954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012059000A Active JP5892818B2 (ja) 2012-03-15 2012-03-15 携帯可能電子装置、及び携帯可能電子装置の制御プログラム

Country Status (1)

Country Link
JP (1) JP5892818B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101970152B1 (ko) * 2017-09-22 2019-04-17 코나아이 (주) 멀티 카드 및 이를 이용한 결제 방법
JP7327349B2 (ja) * 2020-10-23 2023-08-16 大日本印刷株式会社 Icカード,icカードのコマンド管理方法およびicカード用のマイクロコントローラ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3339937B2 (ja) * 1993-10-29 2002-10-28 富士通株式会社 データベース検索装置
JP2002183037A (ja) * 2000-12-15 2002-06-28 Toshiba Eng Co Ltd ホームページ作成支援システム
JP2002269108A (ja) * 2001-03-12 2002-09-20 Toshiba Corp インターネットによる不動産物件情報検索システム
JP2005165960A (ja) * 2003-12-05 2005-06-23 Nippon Telegr & Teleph Corp <Ntt> データ検索装置、システム、方法及びプログラム
JP2006260346A (ja) * 2005-03-18 2006-09-28 Hitachi Software Eng Co Ltd データベース検索装置及び方法
JP4891587B2 (ja) * 2005-09-30 2012-03-07 株式会社東芝 携帯可能電子装置、icカードおよびicモジュール
JP2009176034A (ja) * 2008-01-24 2009-08-06 Toshiba Corp 携帯可能電子装置、及び、データ管理方法
JP5433358B2 (ja) * 2009-09-17 2014-03-05 株式会社東芝 携帯可能電子装置
JP2012194698A (ja) * 2011-03-15 2012-10-11 Toshiba Corp 携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システム

Also Published As

Publication number Publication date
JP2013196010A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
US20130254904A1 (en) Ic card and ic card control method
US20140189223A1 (en) Ic card, portable electronic device, and method of controlling ic card
JP5892818B2 (ja) 携帯可能電子装置、及び携帯可能電子装置の制御プログラム
JP6009883B2 (ja) Icカード、携帯可能電子装置、及びカードリーダライタ
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
JP5490044B2 (ja) 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP2012194698A (ja) 携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システム
JP2013118473A (ja) Icカード、携帯可能電子装置、及びicカードの制御プログラム
JP5957577B2 (ja) Icカード、携帯可能電子装置、icカードの制御方法
JP6092342B2 (ja) 非接触式携帯可能電子装置、及び非接触式携帯可能電子装置の発行方法
US20150324411A1 (en) Data processing apparatus for ic card issuing, ic card issuing apparatus, ic card issuing system, data processing program for ic card issuing, ic card issuing program
US20140076970A1 (en) Ic card, portable electronic device and reader/writer for ic card
JP2016048575A (ja) 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP2014186385A (ja) Icカード、及びicカードの制御方法
JP5677195B2 (ja) 携帯可能電子装置、携帯可能電子装置の制御方法
JP5684051B2 (ja) 携帯可能電子装置、icカード、及び携帯可能電子装置の制御方法
JP6046068B2 (ja) 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP6009854B2 (ja) Icカード、携帯可能電子装置、及びicカードの制御プログラム
JP5726659B2 (ja) Icカード、icカードの処理装置、及びicカードの処理システム
JP2012198682A (ja) 携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システム
JP5875772B2 (ja) 携帯可能電子装置、携帯可能電子装置の制御方法、及び携帯可能電子装置の処理システム
JP5657440B2 (ja) 携帯可能電子装置、及び携帯可能電子装置の処理システム
JP5726700B2 (ja) Icカード、及びicカードの処理方法
JP2015170036A (ja) Icカード、icカードの制御方法、及び処理装置
JP2014063304A (ja) Icカード、及び携帯可能電子装置

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160223

R151 Written notification of patent or utility model registration

Ref document number: 5892818

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

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350