JP6915338B2 - Icカード - Google Patents

Icカード Download PDF

Info

Publication number
JP6915338B2
JP6915338B2 JP2017060433A JP2017060433A JP6915338B2 JP 6915338 B2 JP6915338 B2 JP 6915338B2 JP 2017060433 A JP2017060433 A JP 2017060433A JP 2017060433 A JP2017060433 A JP 2017060433A JP 6915338 B2 JP6915338 B2 JP 6915338B2
Authority
JP
Japan
Prior art keywords
card
card content
command
content
reference 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
JP2017060433A
Other languages
English (en)
Other versions
JP2018163529A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017060433A priority Critical patent/JP6915338B2/ja
Publication of JP2018163529A publication Critical patent/JP2018163529A/ja
Application granted granted Critical
Publication of JP6915338B2 publication Critical patent/JP6915338B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は,ICチップ(半導体集積回路)を実装したカード媒体であるICカードに関する。
モバイル端末が備えるNFC(Near Field Communication)チップを経由して,モバイル端末に装着されているICカード(UIMと称されることもある)にインストールされたアプリケーションにアクセス可能にするNFC対応が進んでいる。NFCに対応したICカードには複数のカードコンテント(例えば,アプリケーションインスタンスや実行可能ファイルなど)が実装され,金融関係を中心に設立したGP(Global Platform)では,カードコンテントのインストールにTSM(Trusted Service Manager)サーバを利用することが規定されている。
TSMサーバは,新たなサービスをICカードに追加する際,ICカードに実装されているカードコンテントそれぞれが有する出力対象のデータをリスト形式で出力するコマンドを利用して,モバイル端末のキャリア網経由で,ICカードに実装されたカードコンテントそれぞれが有する出力対象のデータのリストをICカードから取得する。
例えば,GPが制定した非特許文献1の規格に準拠したICカードは,ICカードに実装されているカードコンテントそれぞれが有する出力対象のデータをリスト形式で出力するコマンドとしてGet Status Commandをサポートする。非特許文献1の規格に準拠したICカードでは,ICカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力する順序は任意ではなく, 非特許文献1に関連する非特許文献2に係る規格では,カードコンテントのインストール順に,ICカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力することが要求されている。
Global Platform Card Specification Version 2.2 March 2006 Mapping Guidelines of Existing GP v2.1.1 Implementation on v2.2.1
ICカードのNVM(Non-volatile memory)にカードコンテントをインストール順で配置できれば,カードコンテントのインストール順に,ICカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力することは容易に実施可能である。しかし,UIMに実装されているカードコンテントが削除された後,NVMから削除されたカードコンテントが配置されていた領域内に新たなカードコンテントがインストールされると,カードコンテントはインストール順でNVMに配置されないため,カードコンテントのインストール順に,ICカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力するには何らかの工夫が必要になる
そこで,本発明は,カードコンテントがインストール順でNVMに配置されていない状態であっても,カードコンテントのインストール順に,ICカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力できるICカードを提供することを目的とする。
上述した課題を解決する本発明は,カードコンテンツのインストール順を示すインデックス番号とカードコンテンツにアクセスするための情報を含むリファレンス情報記憶したリファレンステーブルと,前記リファレンス情報が記憶されている前記リファレンステーブルの要素番号をカードコンテントのインストール順に記述したインデックステーブルを,NVMにインストールされたカードコンテントの種別ごとに有し,カードコンテントがNVMにインストールされると,インストールされたカードコンテントに割り振る前記インデックス番号を決定し,決定した前記インデックス番号を含む前記リファレンス情報を,インストールされたカードコンテントの種別に対応する前記リファレンステーブルに追加する処理と,インストールされたカードコンテントの種別に対応する前記インデックステーブルの末尾に,前記リファレンス情報を追加した前記リファレンステーブルの要素の要素番号を追加する処理を実行し,カードコンテントが削除されると,NVMから削除されたカードコンテントの前記リファレンス情報を,削除されたカードコンテントの種別に対応する前記リファレンステーブルから削除する処理と,前記リファレンス情報を削除した前記リファレンステーブルの要素の要素番号を,削除されたカードコンテントの種別に対応する前記インデックステーブルから削除した後,前記リファレンステーブルの要素番号を削除することで空要素になった前記インデックステーブルの要素を詰める処理を実行するカードコンテントマネージャと,前記インデックステーブルに記憶された要素番号に対応する前記リファレンステーブルの要素から前記リファレンス情報を取得し,この前記リファレンス情報を利用してカードコンテントにアクセスして出力対象のデータを取得する処理を,前記インデックステーブルの先頭の要素から順次実行することで,カードコンテンツのインストール順に,カードコンテントに係る出力対象のデータを並べたリスト形式のデータを生成し,前記リスト形式のデータを出力するリスト出力コマンドを備えことを特徴とするICカードである。
本発明に係るICカードによれば,カードコンテントの削除やカードコンテントのインストールが実行されると,カードコンテントマネージャが,カードコンテントの削除やカードコンテントのインストールの実行結果に基づいて,リファレンステーブルとインデックステーブルを更新するので,カードコンテントの削除やカードコンテントのインストールが実行された後であっても,インデックステーブルでは,リファレンス情報を記憶しているリファレンステーブルの要素番号がインストール順で並ぶことになる。よって,リスト出力コマンドが,インデックステーブルの先頭から順に,インデックステーブルに記憶されているリファレンステーブルの要素番号を用い,カードコンテントが有する出力対象のデータを取得して出力すれば,カードコンテントがインストール順でNVMに配置されていない状態であっても,カードコンテントのインストール順に,ICカードに実装されているカードコンテントそれぞれが有する出力対象のデータが出力されることになる。
本実施形態に係るICカードのハードウェア構成を説明する図。 本実施形態に係るICカードのブロック図。 リファレンステーブルを説明する図。 インデックステーブルを説明する図。 ICカードの動作を説明する図。 カードコンテントを削除するときの動作を説明する図。 カードコンテントを追加するときの動作を説明する図。 カードコンテントそれぞれが有する出力対象のデータをリスト形式で出力するときの動作を説明する図。 リファレンステーブルを更新する処理の内容を説明する図。 インデックステーブルを更新する処理の内容を説明する図。
ここから,本発明の好適な実施形態を記載する。なお,以下の記載は本発明の技術的範囲を束縛するものでなく,理解を助けるために記述するものである。
図1は,本実施形態に係るICカード1のハードウェア構成を説明する図である。本実施形態に係るICカード1は,プラスチックなどのカード基材にICチップ2を埋め込んだカード媒体である。図1では,コンタクト端子2aを介して外部のホスト装置と物理的に接触して通信する接触型としてICカード1を図示しているが,ICカード1は,リーダライタと非接触で通信する非接触型であってもよい。また,図1では,ICカード1の外形は,ISO/IEC 7816のID−1型であるが, ETSI TS 102 221等で規格化されている小型の形態(Plug-in UICC,Mini-UICC,4FF)でもよい。
図1に図示したように,ICカード1に埋め込まれるICチップ2は,データの入出力を行うI/O24,各種演算を行うCPU(Central Processing Unit)20,一時的にデータを記憶する際に用いるメモリであるRAM(Random Access Memory)22,ICカード1が備えるコマンドのプログラムなどを記憶するROM(Read-Only Memory)21に加え,データを記憶する電気的に書き換え可能なメモリであるNVM23を備える。
図2は,本実施形態に係るICカード1のブロック図である。図2で図示したように,本実施形態に係るICカード1は,ICカード1のCPU20を動作させるコンピュータプログラムとして,インストールコマンド13,削除コマンド12,リスト出力コマンド11およびカードコンテントマネージャ10をROM21に記憶する。インストールコマンド13は,NVM23にカードコンテント17をインストールする処理を実行するコマンドで,削除コマンド12は,NVM23からカードコンテント17を削除する処理を実行するコマンドである。リスト出力コマンド11は,NVM23にインストールされたカードコンテント17それぞれが有する出力対象のデータをリスト形式で出力する処理を実行するコマンドで,本実施形態に係るリスト出力コマンド11は,カードコンテンツのインストール順に,カードコンテント17それぞれが有する出力対象のデータを出力する。カードコンテントマネージャ10は,NVM23にインストールされたカードコンテント17に係る情報を管理する処理を少なくとも実行する。なお,インストールコマンド13,削除コマンド12およびリスト出力コマンド11を記憶させるメモリはNVM23でもよい。
本実施形態に係るICカード1のNVM23には,カードコンテント17として,複数の実行可能ファイル17a(以下,「ELF17a」と記す。「ELF17a」は,Executable Load Fileの略。)と複数のアプリケーションインスタンス17b(以下,「AP」と記す。「AP」は,Application instanceの略。)がインストールされている。一つのELF17aは,AP17bが利用するためのプログラムとなる少なくとも一つの実行可能モジュールを含み,AP17bは,ELF17aに含まれる一つの実行可能モジュールと,アプリケーションデータから構成されている。
図2において,[]で括って記載している番号は,カードコンテント17がNVM23にインストールされた順番を示すインデックス番号で,これ以降,カードコンテント17に割り振られているインデックス番号を[]で括って記載する。ICカード1のNVM23には,カードコンテント17として,ELF17aとAP17bがインストールされるため,ELF17aにはELF17a用のインデックス番号が割り振られ,AP17bにはAP17b用のインデックス番号が割り振られる。
図2に従えば,ICカード1は,ELF17aとして,最初にNVM23にインストールされたELF17aであるELF17a[1],4番目にNVM23にインストールされたELF17aであるELF17a[4],および,5番目にNVM23にインストールされたELF17aであるELF17a[5]の3つがNVM23にインストールされている。なお,2番目にNVM23にインストールされたELF17a[2],および,3番目にNVM23にインストールされたELF17a[3]はNVM23から削除されており,図2では図示されていない。また,図2に従えば,ICカード1は,AP17bとして,最初にNVM23にインストールされたAP17bであるAP17b[1],3番目にNVM23にインストールされたAP17bであるAP17b[3],4番目にNVM23にインストールされたAP17bであるAP17b[4],および,6番目にNVM23にインストールされたAP17bであるAP17b[6]の4つがNVM23にインストールされている。なお,2番目にNVM23にインストールされたAP17b[2],および,5番目にNVM23にインストールされたAP17b[5]はNVM23から削除されており,図2では図示されていない。
また,本実施形態に係るICカード1は,カードコンテント17の管理に用いるレジストリ14をNVM23に記憶し,このレジストリ14は,カードコンテント17にアクセスするときに参照されるリファレンステーブル15と,カードコンテント17のインストール順に,ICカードに実装されているカードコンテント17それぞれが有する出力対象のデータを出力するときに参照されるインデックステーブル16を,カードコンテント17の種別ごとに有する。
ICカード1が有するレジストリ14に含まれるリファレンステーブル15について説明する。図3は,リファレンステーブル15を説明する図である。
図3(a)はリファレンステーブル15の構成を説明する図で,リファレンステーブル15は,NVM23にインストールしたカードコンテンツのインデックス番号とカードコンテンツのエントリー情報を含むリファレンス情報を要素の値として記憶する配列型のテーブルで,リファレンステーブル15には,NVM23にインストールしたカードコンテント17ごとにリファレンス情報が記憶される。リファレンス情報に含まれるインデックス番号は,カードコンテント17がNVM23にインストールされた順番を示すデータである。リファレンス情報に含まれるエントリー情報は,NVM23にインストールしたカードコンテント17にアクセスするための情報で,例えば,NVM23にインストールしたカードコンテント17の先頭アドレスである。なお,本実施形態に係るICカード1は,カードコンテント17して,ELF17aとAP17bをNVM23に記憶するため,本実施形態に係るICカード1のレジストリ14には,ELF用リファレンステーブル15aとAP用リファレンステーブル15bが含まれている。
カードコンテント17の削除やカードコンテント17のインストールが実行されたとき,リファレンステーブル15はカードコンテントマネージャ10によって更新される。カードコンテント17の削除が実行されると,カードコンテントマネージャ10は,削除されたカードコンテント17のリファレンス情報をリファレンステーブル15から削除する。また,カードコンテント17のインストールが実行されると,カードコンテントマネージャ10は,インストールされたカードコンテント17のリファレンス情報をリファレンステーブル15に追加する。
図3(b)は,図2に基づくELF用リファレンステーブル15aを説明する図である。図2では,ELF17a[1],ELF17a[4]およびELF17a[5]がICカード1のNVM23にインストールされているため,図4(b)で図示したELF用リファレンステーブル15aには,ELF17a[1],ELF17a[4]およびELF17a[5]それぞれのリファレンス情報が記憶されている。図3(b)では,ELF17a[1]に係るリファレンス情報は最初の要素(要素番号が「1」の要素)に記憶され,ELF17a[5]に係るリファレンス情報は2番目の要素(要素番号が「2」の要素)に記憶され,そして,ELF17a[4]に係るリファレンス情報は4番目の要素(要素番号が「4」の要素)に記憶されている。
図3(b)において,ELF17aのリファレンス情報がELF17aのインストール順に並んでおらず,また,ELF17aのリファレンス情報が書き込まれている要素の間に空要素が存在するのは,新たなELF17aをNVM23にインストールすると,カードコンテントマネージャ10によって,ELF17aのリファレンス情報が書き込まれていない最初の要素に,新たにインストールされたELF17aのリファレンス情報が書き込まれるためである。
図3(c)は,図2に基づくAP用リファレンステーブル15bを説明する図である。図2では,AP17b[1],AP17b[3],AP17b[4]およびAP17b[6]がICカード1のNVM23にインストールされているため,図3(c)で図示したAP用リファレンステーブル15bには,AP17b[1],AP17b[3],AP17b[4]およびAP17b[6]それぞれのリファレンス情報が記憶されている。図3(c)では,AP17b[1]に係るリファレンス情報は最初の要素(要素番号が「1」の要素)に記憶され,AP17b[4]に係るリファレンス情報は2番目の要素(要素番号が「2」の要素)に記憶され,AP17b[3]に係るリファレンス情報は3番目の要素(要素番号が「3」の要素)に記憶され,そして,AP17b[6]に係るリファレンス情報は5番目の要素(要素番号が「5」の要素)に記憶されている。
ELF用リファレンステーブル15aと同様に,図3(c)において,AP17bのリファレンス情報がAP17bのインストール順に並んでおらず,また,AP17bのリファレンス情報が書き込まれている要素の間に空要素が存在するのは,新たなAP17bをNVM23にインストールすると,カードコンテントマネージャ10によって,AP17bのリファレンス情報が書き込まれていない最初の要素に,新たにインストールされたAP17bのリファレンス情報が書き込まれるためである。
ICカード1が有するレジストリ14に含まれるインデックステーブル16について説明する。図4は,インデックステーブル16を説明する図である。
図4(a)はインデックステーブル16の構成を説明する図で,インデックステーブル16は,リファレンス情報を記憶しているリファレンステーブル15の要素番号を要素の値として記憶する配列型のテーブルで,インデックステーブル16には,先頭から順に,リファレンス情報を記憶しているリファレンステーブル15の要素番号がカードコンテント17のインストール順で記述される。
カードコンテント17の削除やカードコンテント17のインストールが実行されたとき,インデックステーブル16はカードコンテントマネージャ10によって更新される。カードコンテント17の削除が実行されると,カードコンテントマネージャ10は,削除したコンテンツのリファレンス情報を記憶していたリファレンステーブル15の要素の要素番号をインデックステーブル16から削除した後,リファレンステーブル15の要素番号を削除することで空要素になったインデックステーブル16の要素を詰める処理を実行する。また,カードコンテント17のインストールが実行されると,カードコンテントマネージャ10は,インストールしたカードコンテント17のリファレンス情報を記憶させたリファレンステーブル15の要素番号を,インデックステーブル16の末尾(リファレンステーブル15の要素番号を記憶していない先頭の要素になる)に追加する。カードコンテント17の削除やカードコンテント17のインストールが実行されると,カードコンテントマネージャ10がこのようにインデックステーブル16を更新することで,カードコンテント17の削除やカードコンテント17のインストールが実行された後であっても,インデックステーブル16では,カードコンテント17のリファレンス情報を記憶しているリファレンステーブル15の要素番号がカードコンテント17のインストール順で並ぶことになる。よって,インデックステーブル16の先頭から順に,インデックステーブル16に記憶されているリファレンステーブルの要素番号を用いてカードコンテント17が有する出力対象のデータを取得して出力すれば,カードコンテント17がインストール順でNVM23に配置されていない状態であっても,カードコンテント17のインストール順に,ICカード1に実装されているカードコンテント17それぞれが有する出力対象のデータを出力できる。
図4(b)は,ELF用インデックステーブル16aを説明する図である。図3(b)で図示したELF用リファレンステーブル15aには,ELF17a[1]のリファレンス情報が最初の要素に,ELF17a[5]のリファレンス情報が2番目の要素に,そして,ELF17a[4]のリファレンス情報が4番目の要素に記憶されているため,図4(b)で図示したELF用インデックステーブル16aでは1行目から3行目までに,リファレンス情報を記憶しているELF用インデックステーブル16aの要素番号がELF17aのインストール順に記憶され,ELF用インデックステーブル16aの内容は「1,4,2」になっている。
図4(c)は,AP用インデックステーブル16bを説明する図である。図3(c)で図示したAP用リファレンステーブル15bには,AP17b[1]のリファレンス情報が最初の要素に,AP17b[4]のリファレンス情報が2番目の要素に,AP17b[3]のリファレンス情報が3番目の要素に,そして,AP17b[6]のリファレンス情報が5番目の要素記憶されているため,図4(c)で図示したAP用インデックステーブル16bでは1行目から4行目までに,リファレンス情報を記憶しているAP用リファレンステーブル15bの要素番号がAP17bのインストール順に記憶され,AP用リファレンステーブル15bの内容は「1,3,2,5」になっている。
ICカード1が備えるコマンドについて説明する。ICカード1が備えるインストールコマンド13は,カードコンテント17をNVM23にインストールするためのコマンドである。非特許文献1の規格では,カードコンテント17をNVM23にインストールするコマンドとして,ELF17aをNVM23にインストールするためのコマンドと,AP17bをNVM23にインストールするためのコマンドが定義されている。また,ICカード1が備える削除コマンド12は,カードコンテント17をNVM23から削除するためのコマンドである。また,ICカード1が備えるリスト出力コマンド11は,カードコンテント17のインストール順に,ICカードに実装されているカードコンテント17それぞれが有する出力対象のデータを出力するコマンドである。
ICカード1が備えるカードコンテントマネージャ10について説明する。ICカード1が備えるカードコンテントマネージャ10は,ICカード1に実装されたオペレーティングシステムが有する機能の一つで,NVM23にインストールされたカードコンテント17に係る情報を管理する処理として,カードコンテント17の追加またはカードコンテント17の削除が実行されると,これらの内容に基づいて,リファレンステーブル15およびインデックステーブル16を更新する処理を実行する。なお,本実施形態において,削除コマンド12とインストールコマンド13が,リファレンステーブル15とインデックステーブル16を更新せず,カードコンテントマネージャ10がリファレンステーブル15とインデックステーブル16を更新するように構成しているのは,ICカード1に実装されているICチップ2が有するリソース(例えば,NVM23)は,オペレーティングシステムによって管理されるからである。
図5は,ICカード1の動作を説明する図,図6は,カードコンテント17を削除するときの動作を説明する図,図7は,カードコンテント17をインストールするときの動作を説明する図,図8は,カードコンテント17それぞれが有する出力対象のデータをリスト形式で出力するときの動作を説明する図,図9は,リファレンステーブル15を更新する処理の内容を説明する図,図10は,インデックステーブル16を更新する処理の内容を説明する図である。
ICカード1は,図外の端末装置からコマンドAPDUを受信すると(S1),ICカード1が受信したコマンドAPDUを解析して,ICカード1が受信したコマンドAPDUに対応するコマンドを特定し(S2),ICカード1が受信したコマンドAPDUに対応するコマンドを実行して(S3),図5の手順は終了する。なお,図5で図示した処理を実行するプログラムは,ICカード1に実装されたオペレーティングシステムになる。
本実施形態に係るICカード1は,図2で図示した以外の複数のコマンドを備えることになるが,ここでは,ICカード1が受信したコマンドAPDUに対応するコマンドが,図2で図示した3つのコマンド,すなわち,インストールコマンド13,削除コマンド12およびリスト出力コマンド11の場合についてのみ説明する。
図6を参照して,カードコンテント17を削除するときの動作を説明する。図5のS2において,ICカード1が受信したコマンドAPDUに対応するコマンドが削除コマンド12の場合,図5のS3において,ICカード1は,ICカード1が受信したコマンドAPDUに対応するコマンドとして削除コマンド12を実行する(S10)。
削除コマンド12は,削除コマンド12のコマンドAPDUで指定されたカードコンテント17をNVM23から削除する(S11)。カードコンテント17をNVM23から削除する具体的な処理の内容は任意であるが,例えば,カードコンテント17をNVM23から削除する処理として,削除コマンド12のコマンドAPDUで指定されたカードコンテント17が配置されているNVM23の領域すべてを初期値に書き換える処理が実行される。
削除コマンド12は,削除コマンド12のコマンドAPDUで指定されたカードコンテント17をNVM23から削除すると,カードコンテントマネージャ10を呼び出し,カードコンテントマネージャ10は,削除コマンド12がNVM23から削除したカードコンテント17の種別に対応するリファレンステーブル15から,削除コマンド12がNVM23から削除したカードコンテント17のリファレンス情報を削除することで,NVM23から削除したカードコンテント17の種別に対応するリファレンステーブル15を更新する(S12)。
次に,カードコンテントマネージャ10は,削除コマンド12がNVM23から削除したカードコンテント17の種別に対応するインデックステーブル16から,削除コマンド12がNVM23から削除したカードコンテント17のリファレンス情報を記憶していたリファレンステーブル15の要素の要素番号を削除した後,リファレンステーブル15の要素番号を削除することで空要素になったインデックステーブル16の要素を詰める処理を実行することで,削除コマンド12がNVM23から削除したカードコンテント17の種別に対応するインデックステーブル16を更新する(S13)。
次に,カードコンテントマネージャ10はインデックステーブル16を更新すると,削除コマンド12に処理を戻し,削除コマンド12は,削除コマンド12のレスポンスを図外の端末装置へ送信し(S14),図6の手順は終了する。
図9(a)は,ELF17aを削除する前のELF用リファレンステーブル15aで,図9(a)で図示したELF用リファレンステーブル15aには,ELF17a[1]のリファレンス情報が最初の要素に,ELF17a[2]のリファレンス情報が2番目の要素に,ELF17a[3]のリファレンス情報が3番目の要素に,そして,ELF17a[4]のリファレンス情報が4番目の要素にそれぞれ書き込まれている。
図9(b)は,ELF17aを削除した後のELF用リファレンステーブル15aである。カードコンテントマネージャ10は,ELF17a[2]がNVM23から削除されると,2番目の要素に書き込まれているELF17a[2]のリファレンス情報を削除し,更に,ELF17a[3]がNVM23から削除されると,3番目の要素に書き込まれているELF17a[3]のリファレンス情報を削除することで,図9(a)で図示したELF用リファレンステーブル15aは,図9(b)で図示しELF用リファレンステーブル15aに更新される。
図10(a)は,ELF17aを削除する前のELF用インデックステーブル16aである。図10(a)で図示したELF用インデックステーブル16aには,ELF17a[1]のリファレンス情報が記憶されているリファレンステーブル15の要素番号(ここでは,「1」)が最初の要素に,ELF17a[2]のリファレンス情報が記憶されているリファレンステーブル15の要素番号(ここでは,「2」)が2番目の要素に,ELF17a[3]のリファレンス情報が記憶されているリファレンステーブル15の要素番号(ここでは,「3」)が3番目の要素に,そして,ELF17a[4]のリファレンス情報が記憶されているリファレンステーブル15の要素番号(ここでは,「4」)が4番目の要素に書き込まれている。
図10(b)は,ELF17aを削除した後のELF用インデックステーブル16aである。カードコンテントマネージャ10は,NVM23から削除されたELF17a[2]のリファレンス情報をELF用インデックステーブル16aから削除すると,NVM23から削除されたELF17a[2]のリファレンス情報を記憶していたELF用リファレンステーブル15aの要素番号(ここでは,「2」になる)をELF用インデックステーブル16aから削除した後,削除したELF用リファレンステーブル15aの要素番号を記憶し空要素になったELF用インデックステーブル16aの要素(ここでは,要素番号が「2」の要素)を詰める処理を行い,2番目の要素以降に記憶されているELF用リファレンステーブル15aの要素番号(ここでは,「3」,「4」)それぞれをここでは上方向にシフトさせる。更に,カードコンテントマネージャ10は,NVM23から削除されたELF17a[3]のリファレンス情報をELF用インデックステーブル16aから削除すると,NVM23から削除されたELF17a[3]のリファレンス情報を記憶していたELF用リファレンステーブル15aの要素番号(ここでは,「3」になる)をELF用インデックステーブル16aから削除した後,ELF用リファレンステーブル15aの要素番号を削除したELF用インデックステーブル16aの要素(ここでは,要素番号が「3」の要素)を詰める処理を行い,3番目の要素以降に記憶されているELF用リファレンステーブル15aの要素番号(ここでは「4」)をシフトさせることで,図10(a)で図示したELF用インデックステーブル16aは,図10(b)で図示したELF用インデックステーブル16aに更新され,その内容は「1,4」になる。
図7を参照して,カードコンテント17をインストールするときの動作を説明する。図5のS2において,ICカード1が受信したコマンドAPDUに対応するコマンドがインストールコマンド13の場合,図5のS3において,ICカード1は,ICカード1が受信したコマンドAPDUに対応するコマンドとしてインストールコマンド13を実行する(S20)。
インストールコマンド13は,インストールコマンド13のコマンドAPDUに含まれるデータをNVM23に書き込むことで,カードコンテント17をNVM23にインストールする(S21)。なお,インストールコマンド13は,インストールコマンド13のコマンドAPDUに含まれるデータをNVM23に書き込む領域は,この時点で他のカードコンテント17が書き込まれていない領域になる。
インストールコマンド13は,インストールコマンド13のコマンドAPDUで指定されたカードコンテント17をNVM23から削除すると,カードコンテントマネージャ10を呼び出し,カードコンテントマネージャ10は,インストールされたカードコンテント17に割り振るインストール番号を決定する(S22)。インストールされたカードコンテント17に割り振るインストール番号を決定する手法は任意であるが,本実施形態に係るカードコンテントマネージャ10は,カードコンテント17がNVM23にインストールされた順番を示すインデックス番号をカウンタするためのカウンタをカードコンテント17の種別ごとに有し,インストールコマンド13から呼び出されると,インストールコマンド13がNVM23にインストールしたカードコンテント17の種別に対応するカウンタを一つだけカウントアップし,インストールコマンド13がNVM23にインストールしたカードコンテント17のインデックス番号として,カウントアップ後のカウンタの値を取得する。
次に,カードコンテントマネージャ10は,S22で決定したインデックス番号,NVM23にインストールしたカードコンテント17のエントリー情報(例えば,先頭アドレス)を含むリファレンス情報を生成する(S23)。
次に,カードコンテントマネージャ10は,インストールコマンド13がNVM23にインストールしたカードコンテント17の種別に対応するリファレンステーブル15からリファレンス情報が書き込まれていない要素を検索し,リファレンス情報が書き込まれていない最初の要素に,S23で生成したリファレンス情報を書き込むことで,インストールコマンド13NVM23にインストールしたカードコンテント17の種別に対応するリファレンステーブル15を更新する(S24)。
カードコンテントマネージャ10は,インストールコマンド13がNVM23にインストールしたカードコンテント17の種別に対応するリファレンステーブル15を更新すると,NVM23にインストールしたカードコンテント17の種別に対応するインデックステーブル16から,リファレンステーブル15の要素番号を記憶していない要素を検索し,リファレンステーブル15の要素番号を記憶していない先頭の要素に,S24において,カードコンテント17のリファレンス情報を記憶させたリファレンステーブル15の要素番号を記憶させることで,インストールしたカードコンテント17のリファレンス情報を記憶させたリファレンステーブル15の要素番号をインデックステーブル16の末尾に追加し,NVM23にインストールしたカードコンテント17の種別に対応するインデックステーブル16を更新する(S25)。
カードコンテントマネージャ10は,インストールコマンド13がNVM23にインストールしたカードコンテント17の種別に対応するインデックステーブル16を更新すると,インストールコマンド13に処理を戻し,インストールコマンド13は,I/O24を利用して,インストールコマンド13のレスポンスを図外の端末装置へ送信し(S26),図7の手順は終了する。
図9(c)は,ELF17aをインストールした後のELF用リファレンステーブル15aである。カードコンテントマネージャ10は,ELF17a[5]がNVM23にインストールされると,ELF用リファレンステーブル15aからリファレンス情報が書き込まれていない要素を検索し,リファレンス情報が書き込まれていない最初の要素(ここでは,2番目の要素)に,NVM23にインストールしたELF17a[5]のリファレンス情報を書き込むことで,図9(b)で図示したELF用リファレンステーブル15aは,図9(c)で図示したELF用リファレンステーブル15aに更新される。
図10(c)は,ELF17aをインストールした後のELF用インデックステーブル16aである。カードコンテントマネージャ10は,NVM23にインストールしたELF17a[5]のリファレンス情報をELF用リファレンステーブル15aに追加すると,NVM23にインストールしたELF17a[5]のリファレンス情報を追加したELF用リファレンステーブル15aの要素番号を,リファレンステーブル15の要素番号(ここでは,「2」になる)を記憶していないELF用インデックステーブル16aの最初の要素(ここでは,3番目の要素)に追加することで,図10(b)で図示したELF用インデックステーブル16aは,図10(c)で図示したELF用インデックステーブル16aに更新され,その内容は「1,4,2」になる。
図8を参照して,カードコンテント17それぞれが有する出力対象のデータをリスト形式で出力するときの動作を説明する。図5のS2において,ICカード1が受信したコマンドAPDUに対応するコマンドがリスト出力コマンド11の場合,ICカード1は,図5のS3において,ICカード1が受信したコマンドAPDUに対応するコマンドとしてリスト出力コマンド11を実行する。
リスト出力コマンド11は,ICカード1のNMV23に実装されているカードコンテント17それぞれが有する出力対象のデータを,カードコンテント17のインストール順に並べたリスト形式のデータをRAM22に生成する処理(S30)を実行する。
リスト形式のデータをRAM22に生成する処理(S30)において,リスト出力コマンド11は,インデックステーブル16の最初から順次実行するループ処理(S300)を実行する。ループ処理(S300)において,リスト出力コマンド11は,ループ回数に対応したインデックステーブル16の要素に記憶されているリファレンステーブル15の要素番号を取得する(S301)。例えば,ループ回数が1回目の場合,インデックステーブル16の最初の要素に記憶されているリファレンステーブル15の要素番号を取得し,ループ回数が2回目の場合,インデックステーブル16の2番目の要素に記憶されているリファレンステーブル15の要素番号を取得する。次に,リスト出力コマンド11は,インデックステーブル16から取得したリファレンステーブル15の要素番号に対応する要素に記憶されているリファレンス情報を取得し(S302),リファレンステーブル15から取得したリファレンス情報に含まれるエントリー情報を参照して,カードコンテント17にアクセスする(S303)。そして,リスト出力コマンド11は,アクセスしたカードコンテント17から出力対象のデータを取得してRAM22に格納する(S304)。なお,ループ処理(S300)は,ループ回数に対応したインデックステーブル16の行にリファレンステーブル15の要素番号が記憶されていない場合に終了する。
リファレンス情報が記憶されているリファレンステーブル15の要素番号がカードコンテント17のインストール順で記述されているため,図10で示したループ処理(S30)をリスト出力コマンド11が実行することで,ICチップ2のRAM22には,カードコンテント17が有する出力対象のデータをカードコンテント17のインストール順に並べたリスト形式のデータが生成される。
リスト出力コマンド11は,ループ処理(S30)を実行して,カードコンテント17が有する出力対象のデータをカードコンテント17のインストール順に並べたリスト形式のデータをRAM22に生成すると,I/O24を利用して,リスト出力コマンド11のレスポンスとして,RAM22に形成したリスト形式のデータを先頭から出力して(S31),図10の手順は終了する。例えば,出力対象のデータをライフサイクルに係るデータとしたとき,図4(b)で図示したELF用インデックステーブル16aに基づけば,ELF17a[1]のライフサイクルに係るデータ,ELF17a[4]のライフサイクルに係るデータ,そして,ELF17a[]のライフサイクルに係るデータが順に出力されることになる。
1 ICカード
10 カードコンテントマネージャ
11 リスト出力コマンド
12 削除コマンド
13 インストールコマンド
15 リファレンステーブル
15a ELF用リファレンステーブル
15b AP用リファレンステーブル
16 インデックステーブル
16a ELF用インデックステーブル
16b AP用インデックステーブル
17 カードコンテント
17a ELF(Executable Load File)
17b AP(Application instance)
23 NVM

Claims (1)

  1. カードコンテンツのインストール順を示すインデックス番号とカードコンテンツにアクセスするための情報を含むリファレンス情報記憶したリファレンステーブルと,前記リファレンス情報が記憶されている前記リファレンステーブルの要素番号をカードコンテントのインストール順に記述したインデックステーブルを,NVMにインストールされたカードコンテントの種別ごとに有し,カードコンテントがNVMにインストールされると,インストールされたカードコンテントに割り振る前記インデックス番号を決定し,決定した前記インデックス番号を含む前記リファレンス情報を,インストールされたカードコンテントの種別に対応する前記リファレンステーブルに追加する処理と,インストールされたカードコンテントの種別に対応する前記インデックステーブルの末尾に,前記リファレンス情報を追加した前記リファレンステーブルの要素の要素番号を追加する処理を実行し,カードコンテントが削除されると,NVMから削除されたカードコンテントの前記リファレンス情報を,削除されたカードコンテントの種別に対応する前記リファレンステーブルから削除する処理と,前記リファレンス情報を削除した前記リファレンステーブルの要素の要素番号を,削除されたカードコンテントの種別に対応する前記インデックステーブルから削除した後,前記リファレンステーブルの要素番号を削除することで空要素になった前記インデックステーブルの要素を詰める処理を実行するカードコンテントマネージャと,前記インデックステーブルに記憶された要素番号に対応する前記リファレンステーブルの要素から前記リファレンス情報を取得し,この前記リファレンス情報を利用してカードコンテントにアクセスして出力対象のデータを取得する処理を,前記インデックステーブルの先頭の要素から順次実行することで,カードコンテンツのインストール順に,カードコンテントに係る出力対象のデータを並べたリスト形式のデータを生成し,前記リスト形式のデータを出力するリスト出力コマンドを備えた,
    ことを特徴とするICカード。
JP2017060433A 2017-03-27 2017-03-27 Icカード Active JP6915338B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017060433A JP6915338B2 (ja) 2017-03-27 2017-03-27 Icカード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017060433A JP6915338B2 (ja) 2017-03-27 2017-03-27 Icカード

Publications (2)

Publication Number Publication Date
JP2018163529A JP2018163529A (ja) 2018-10-18
JP6915338B2 true JP6915338B2 (ja) 2021-08-04

Family

ID=63860147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017060433A Active JP6915338B2 (ja) 2017-03-27 2017-03-27 Icカード

Country Status (1)

Country Link
JP (1) JP6915338B2 (ja)

Also Published As

Publication number Publication date
JP2018163529A (ja) 2018-10-18

Similar Documents

Publication Publication Date Title
JP5910297B2 (ja) 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム
CN112099800A (zh) 代码数据的处理方法、装置和服务器
CN111124288B (zh) 一种vpd存储管理方法、装置、设备及可读存储介质
CN108228077B (zh) 存储区的管理方法、运行方法、装置、设备、可读介质
CN104461621A (zh) 一种更新属性信息的方法及装置
CN112612833B (zh) 规则包更新方法、装置、设备及存储介质
CN113033221A (zh) 智能卡发卡方法、计算机装置及计算机可读存储介质
JP6915338B2 (ja) Icカード
CN111694580B (zh) 存储设备升级及初始化的方法、装置、电子设备
JP6194714B2 (ja) ユニバーサルicカードおよびセキュリティ属性の照合方法
CN114020278B (zh) 数据处理方法、装置、设备及存储介质
EP3023925B1 (en) Secure element with applications
JP2010211516A (ja) 携帯可能電子装置および携帯可能電子装置におけるアクセス制御方法
US9930521B2 (en) Method for updating preferred roaming list of UIM card
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
JP2019191804A (ja) セキュアエレメント発行システム,セキュアエレメント,発行データ生成装置および発行装置
JP7468765B1 (ja) 電子情報記憶媒体、icチップ、icカード、データ一括更新方法、及びプログラム
JP7563536B1 (ja) Icカード、半導体チップ、内部状態復元方法およびコンピュータプログラム
CN113434468B (zh) 文件存储方法、装置、设备及可读存储介质
CN109669628B (zh) 基于flash设备的数据存储管理方法及装置
JP6823289B2 (ja) Icカードおよびコンピュータプログラム
JP5708228B2 (ja) Icカード及びicカードのリフレッシュ方法
JP2014182467A (ja) 情報記憶媒体、データ選択処理プログラム、及びデータ選択処理方法
JP2005234898A (ja) Romにアプリケーションを実装したマルチアプリケーションicカードおよびプログラム
JP2008146343A (ja) Icカード、および、更新プログラムの呼出し方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210628

R150 Certificate of patent or registration of utility model

Ref document number: 6915338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150