JP7468765B1 - 電子情報記憶媒体、icチップ、icカード、データ一括更新方法、及びプログラム - Google Patents

電子情報記憶媒体、icチップ、icカード、データ一括更新方法、及びプログラム Download PDF

Info

Publication number
JP7468765B1
JP7468765B1 JP2023178671A JP2023178671A JP7468765B1 JP 7468765 B1 JP7468765 B1 JP 7468765B1 JP 2023178671 A JP2023178671 A JP 2023178671A JP 2023178671 A JP2023178671 A JP 2023178671A JP 7468765 B1 JP7468765 B1 JP 7468765B1
Authority
JP
Japan
Prior art keywords
data
tag value
records
assigned
command
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
JP2023178671A
Other languages
English (en)
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 JP2023178671A priority Critical patent/JP7468765B1/ja
Application granted granted Critical
Publication of JP7468765B1 publication Critical patent/JP7468765B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

Figure 0007468765000001
【課題】複数のレコードのそれぞれに格納されたデータを一括更新することが可能な電子情報記憶媒体、ICチップ、ICカード、データ一括更新方法、及びプログラムを提供する。
【解決手段】ICチップ1は、上述した対応付け情報を登録する一括更新テーブルを保持しておき、外部装置2から、更新データ及び当該更新データに付与された一括更新対象Tagを含む一括更新コマンドを受信すると、当該一括更新コマンドに含まれる一括更新対象Tag、及び一括更新テーブルに登録されている対応付け情報に基づいて、複数のレコードのそれぞれにおいて同一のTagが付与されたデータを特定し、当該特定された各データを、当該一括更新コマンドに含まれる更新データにより更新する。
【選択図】図10

Description

本発明は、データを格納するレコードを複数記憶可能なIC(Integrated Circuit)チップ等の技術分野に関する。
従来、例えば特許文献1に開示されるように、レコードに格納されるTLV形式のデータをICチップに書き込むために、ICチップの発行者(製造者)の発行端末から複数の書き込みコマンドをICチップに順次送信するようになっている。
特許第6556489号公報
ところで、ICチップ内の複数のレコードに同一のTagを持つデータが格納されることがある。この場合において、これらのレコードに格納される同一のTagを持つデータを変更(更新)したい場合、当該データを格納するレコードの数分の更新コマンドを発行端末からICチップに送信する必要があるため、それぞれのデータを更新するために時間がかかるという問題があった。
そこで、本発明は、このような点などに鑑みてなされたものであり、複数のレコードのそれぞれに格納されたデータを一括更新することが可能な電子情報記憶媒体、ICチップ、ICカード、データ一括更新方法、及びプログラムを提供することを課題の一例とする。
上記課題を解決するために、請求項1に記載の発明は、タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納される電子情報記憶媒体であって、前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持する保持手段と、外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信する受信手段と、前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定する特定手段と、前記特定手段により特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新する更新手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体において、何れかの2つ以上の前記レコードのそれぞれには、さらに、同一の第2のタグ値であって、前記第1のタグ値とは異なる当該第2のタグ値が付与されたデータが格納されており、前記管理テーブルは、さらに、前記第2のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第2のタグ値とを対応付けた対応付け情報を登録しており、前記受信手段は、前記更新データ及び当該データに付与された前記第1のタグ値または前記第2のタグ値を含む第2のコマンドを受信し、前記特定手段は、前記第2のコマンドに含まれる前記第1のタグ値または前記第2のタグ値、及び前記管理テーブルにおける前記対応付け情報を全て参照することを特徴とする。
請求項3に記載の発明は、請求項1に記載の電子情報記憶媒体において、何れかの2つ以上の前記レコードのそれぞれには、さらに、同一の第2のタグ値であって、前記第1のタグ値とは異なる当該第2のタグ値が付与されたデータが格納されており、前記管理テーブルは、さらに、前記第2のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第2のタグ値とを対応付けた対応付け情報を登録しており、前記保持手段は、前記管理テーブルにおいて前記第1のタグ値に対応する前記対応付け情報を登録する領域と、前記第2のタグ値に対応する前記対応付け情報を登録する領域とを予め分けて管理し、前記受信手段は、前記更新データ及び当該データに付与された前記第1のタグ値または前記第2のタグ値を含む第2のコマンドを受信し、前記特定手段は、前記第2のコマンドに含まれる前記第1のタグ値または前記第2のタグ値に対応する前記領域を特定し、前記第2のコマンドに含まれる前記第1のタグ値または前記第2のタグ値、及び前記特定した領域における前記対応付け情報を参照することを特徴とする。
請求項4に記載の発明は、請求項1に記載の電子情報記憶媒体において、何れかの2つ以上の前記レコードのそれぞれには、さらに、同一の第2のタグ値であって、前記第1のタグ値とは異なる当該第2のタグ値が付与されたデータが格納されており、前記受信手段は、前記外部装置から、前記第2のタグ値が付与されたデータが格納される前記レコードの識別子と、当該第2のタグ値とを対応付けた対応付け情報を含む第3のコマンドを受信し、前記第3のコマンドに含まれる前記識別子及び前記第2のタグ値に基づいて、前記レコードにおける前記データの格納位置を算出し、当該第2のタグ値が付与されたデータが格納される前記レコードの識別子及び前記算出した前記格納位置と、当該第2のタグ値とを対応付けた対応付け情報を前記管理テーブルに追加登録する登録手段を更に備えることを特徴とする。
請求項5に記載の発明は、請求項4に記載の電子情報記憶媒体において、前記コマンドに含まれる前記第2のタグ値に対応する領域であって前記管理テーブルにおける当該領域を特定し、当該第2のタグ値が付与されたデータが格納される前記レコードの識別子及び前記算出した前記格納位置と、当該第2のタグ値とを対応付けた対応付け情報を前記特定した領域に追加登録する登録手段を更に備えることを特徴とする。
請求項6に記載の発明は、タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納されるICチップであって、前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持する保持手段と、外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信する受信手段と、前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定する特定手段と、前記特定手段により特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新する更新手段と、を備えることを特徴とする。
請求項7に記載の発明は、タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納されるICカードであって、前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持する保持手段と、外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信する受信手段と、前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定する特定手段と、前記特定手段により特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新する更新手段と、を備えることを特徴とする。
請求項8に記載の発明は、タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納される電子情報記憶媒体により実行されるデータ一括更新方法であって、前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持するステップと、外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信するステップと、前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定するステップと、前記特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新するステップと、を含むことを特徴とする。
請求項9に記載の発明は、タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納される電子情報記憶媒体に含まれるコンピュータに、前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持するステップと、外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信するステップと、前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定するステップと、前記特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新するステップと、を実行させることを特徴とする。
本発明によれば、複数のレコードのそれぞれに格納されたデータを一括更新することができる。
ICチップ1のハードウェア構成例を示す図である。 レコード記憶領域におけるレコード例を示す概念図である。 レコードを書き込むためのWRITE RECORDコマンドフォーマット例を示す図である。 一括更新テーブル例1を示す図である。 一括更新テーブル例2を示す図である。 WRITE BINARYコマンドフォーマット例を示す図である。 一括更新テーブルを書き込むためのWRITE BINARYコマンド内のバイト列の具体例を示す図である。 一括更新対象のデータを一括更新するためのPUT DATAコマンドフォーマット例を示す図である。 レコード記憶領域における更新後のレコード例を示す概念図である。 実施例1においてICチップ1のCPU15により実行される一括更新処理の一例を示すフローチャートである。 実施例2においてICチップ1のCPU15により実行される一括更新処理の一例を示すフローチャートである。 レコード記憶領域にレコードが追加された場合のレコード例を示す概念図である。 対応付け情報を追加登録するためのWRITE BINARYコマンド内のバイト列の具体例を示す図である。 対応付け情報が追加登録された一括更新テーブル例3を示す図である。 対応付け情報が追加登録された一括更新テーブル例4を示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。
[1.ICチップ1の構成及び機能]
先ず、図1を参照して、本実施形態に係るICチップ1の構成及び機能について説明する。ICチップ1は、本発明の電子情報記憶媒体の一例である。ICチップ1は、例えば、クレジットカード、キャッシュカード、またはマイナンバーカードなどのICカード、または、スマートフォンなどのモバイルデバイスに搭載される。スマートフォンなどのモバイルデバイスの場合、ICチップ1は、モバイルデバイスに着脱可能な小型ICカードに搭載されてもよいし、eUICC(Embedded Universal Integrated Circuit Card)としてモバイルデバイスから容易に取り外しや取り換えができないように組み込み基板上に搭載されてもよい。
図1は、ICチップ1のハードウェア構成例を示す図である。ICチップ1は、図1に示すように、I/O回路11、RAM(Random Access Memory)12、NVM(Nonvolatile Memory)13、ROM(Read Only Memory)14、CPU(Central Processing Unit)15(コンピュータの一例)、及び暗号演算等を行うコプロセッサ16等を備える。I/O回路11は、外部装置2との間のインターフェースを担う。なお、ICチップ1と外部装置2との間の通信は、非接触通信であってもよいし、接触通信であってもよい。非接触通信の場合、例えばICカードまたはモバイルデバイスに搭載されたアンテナ(図示せず)を介してICチップ1と外部装置2との通信が行われる。なお、外部装置2の例として、ICチップ1の出荷前の工場における発行端末、ICチップ1の出荷後の店舗等における店舗端末(例えば、決済端末)が挙げられる。
NVM13には、例えばフラッシュメモリが適用される。なお、NVM13は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。NVM13またはROM14には、OS(Operating System)及びアプリケーション等のプログラム(本発明のプログラムを含む)等が記憶される。アプリケーションの例として、取引対象の決済のために利用される決済用アプリケーションや、設備等を動作させるために利用される認証用アプリケーションなどが挙げられる。また、NVM13には、複数のレコード(レコードデータともいう)を書き込む(記憶する)ためのレコード記憶領域、及び一括更新テーブル(管理テーブルの一例)を書き込むためのテーブル記憶領域を有する。
ここで、レコードは、TLV(Tag, Length, Value)形式で構成されるデータを1つ以上格納する。Tag(タグ値)はデータの識別子(タグID)を表し、Length(レングス値)はデータのサイズ(データ長)を表し、Valueは(バリュー値)データの中身(内容)を表す。つまり、レコードに格納されるデータは、Tagが付与されたデータ(換言すると、Tagを持つデータ)ということができる。このようなデータの例として、アプリケーションの利用者の個人情報、アプリケーションの動作を決定するような設定データ、暗号演算や復号演算に必要な鍵データ、及び証明書データなどが挙げられる。
また、レコードは、アプリケーションにより使用されるファイル(例えば、EF(Elementary File))に論理的に纏められる(換言すると、格納される)。1つのファイルには、複数のレコードを格納することができる。各ファイルには、ファイルの識別子(ファイルID)であるSFI(Short File Identifier)が付与される。各レコードには、レコード番号(つまり、ファイルにおける論理的な番号)が付与される。SFI及びレコード番号は、レコードの識別子の一例である。SFI及びレコード番号を指定することでレコードを一意に特定することができる。
図2は、レコード記憶領域におけるレコード例を示す概念図である。図2の例では、3つのレコードを示しており、それぞれのレコードは、SFI及びレコード番号により特定されるようになっている。また、図2の例では、レコード番号“01(h:hexadecimal)”~“03(h)”のレコードのうち、レコード番号“01(h)”,“03(h)”のレコードのそれぞれには同一のTag“DF02(h)”(第1のタグ値の一例)が付与されたデータ(Value“11(h)”)が格納されている。また、図2の例では、レコード番号“01(h)”~“03(h)”のレコードのそれぞれには同一のTag“DF03(h)”(第2のタグ値の一例)が付与されたデータ(Value“01(h)”も同一)が格納されている。図2に示す各レコードは、例えばISO/IEC 7816に規定されたWRITE RECORD、APPEND RECORD、またはSTORE DATAコマンド等のコマンドAPDU(Application Protocol Data Unit)によりレコード記憶領域に書き込まれる。
図3は、レコードを書き込むためのWRITE RECORDコマンドフォーマット例を示す図である。図3に示すWRITE RECORDコマンドは、コマンドクラスを示すCLA(1バイト)、コマンドコードを示すINS(1バイト)、コマンドパラメータを示すP1(1バイト)及びP2(1バイト)からなるヘッダ部と、Lc(1または3バイト)及びData(可変バイト)からなるボディ部とにより構成される。ここで、INSにはWRITE RECORDコマンドを示す値“D2(h)”が格納され、P1には書き込み対象のレコードのレコード番号が格納され、P2には当該レコードが格納されるファイルのSFIが格納される。また、Lcには書き込み対象のレコードのデータ長が格納され、Dataには当該レコードが格納される。
図2に示す3つのレコードをレコード記憶領域に書き込むためには、外部装置2からICチップ1へ、少なくとも3回、WRITE RECORDコマンドを送信する必要がある。図3において、レコードデータの一部、例えばTag“DF02(h)”が付与されたデータ(Value“11(h)”)を変更(例えば、Value“12(h)”に変更)する場合、従来は、例えばISO/IEC 7816に規定されたUPDATE RECORD コマンド(更新コマンド)を、外部装置2からICチップ1へ、少なくとも3回が送信していた。なお、この場合、変更されないデータ(例えば、Tag“DF01(h)”が付与されたデータ)についてもUPDATE RECORD コマンドのDataに格納される。
本実施形態においては、従来のようにUPDATE RECORDコマンドを複数回送信することなく、一度の一括更新コマンドの実行により、複数のレコードのそれぞれに格納された同一のTagを持つデータを連動して一括更新させるために、ICチップ1内に一括更新テーブルが保持される。一括更新テーブルは、一括更新対象のデータが各レコード内のどの位置に格納されているかを示すものである。例えば、一括更新テーブルは、例えばOSにより管理されるファイル(例えば、EF)に格納されてテーブル記憶領域に記憶されるとよい。
図4は、一括更新テーブル例1を示す図である。図4に示す一括更新テーブルには、一括更新対象のデータに付与されたTag(以下、適宜、「一括更新対象Tag」という)、SFI、レコード番号、及びレコードオフセット(レコードにおけるデータの格納位置)を対応付けた対応付け情報が一括更新対象のデータの数(この例では、5つ)分だけ登録されている。ここで、SFI及びレコード番号は、Tagが付与されたデータが格納されるレコードの識別子の一例である。図4の例では、一括更新テーブルの1行目(番目)及び4行目がTag“DF02(h)”に対応する対応付け情報であり、一括更新テーブルの2行目、3行目及び5行目がTag“DF03(h)”に対応する対応付け情報である。つまり、図4に示す一括更新テーブルにおいて、Tag“DF02(h)”に対応する対応付け情報とTag“DF03(h)”に対応する対応付け情報とが混在している。
図5は、一括更新テーブル例2を示す図である。図5に示す一括更新テーブルにおいては、Tag“DF02(h)”に対応する対応付け情報を登録する領域R1と、Tag“DF03(h)”に対応する対応付け情報を登録する領域R2とが予め分けられて管理されている。例えば、領域R1及び領域R2は、テーブル記憶領域において物理アドレスが異なるように、例えばテーブル作成用プログラムのインストール時に予め一定範囲割り当てられる。これは、Tag“DF02(h)”に対応する対応付け情報を登録する一括更新テーブルT1と、Tag“DF03(h)”に対応する対応付け情報を登録する一括更新テーブルT2とが分けられるということができる。なお、一括更新テーブルT1と一括更新テーブルT2とは別々のファイル(つまり、SFIが異なるファイル)に格納されるとよい。
一括更新テーブルは、例えば発行処理において書き込み対象のレコードが全てICチップ1に書き込まれた後に、例えばISO/IEC 7816に規定されたWRITE BINARY、またはSTORE DATAコマンド等によりテーブル記憶領域に書き込まれる。図6は、一括更新テーブルを書き込むためのWRITE BINARYコマンドフォーマット例を示す図である。図6に示すように、WRITE BINARYコマンドにおいて、INSにはWRITE BINARYコマンドを示す値“D0(h)”が格納され、P1には書き込み対象の一括更新テーブルが格納されるファイルのSFIが格納される。P2には一括更新テーブルのオフセット(格納位置)が格納される。また、Lcには書き込み対象の一括更新テーブルの要素のデータ長が格納され、Dataには当該一括更新テーブルの要素が格納される。一括更新テーブルの要素には、一括更新対象Tag、SFI、及びレコード番号が該当する。
図7は、一括更新テーブルを書き込むためのWRITE BINARYコマンド内のバイト列の具体例を示す図である。図7に示すWRITE BINARYコマンド内のDataには、図2に示すレコードに格納された一括更新対象のデータが持つTag(2バイト)、当該レコードが格納されるファイルのSFI(1バイト)、及び当該レコードのレコード番号(1バイト)が5要素分格納されている。なお、一括更新テーブルの要素の一つであるレコードオフセットは、WRITE BINARYコマンド内のDataには格納されなくてよい。なぜなら、レコードオフセットは、WRITE BINARYコマンド内のDataに格納された要素と、レコード記憶領域におけるレコード内のTagに基づいてWRITE BINARYコマンドを受信したICチップ1内で算出できるからである。そして、WRITE BINARYコマンド内のDataに格納された要素と、算出されたレコードオフセットとから図2に示すような対応付け情報が一括更新対象のデータの数分作成され、当該作成された対応付け情報を登録する一括更新テーブルがテーブル記憶領域に書き込まれる。なお、一括更新テーブルは、WRITE BINARYコマンドのP1内のSFIが付与されたファイルに格納されるとよい。
CPU15(コンピュータの一例)は、NVM13に記憶されたOS及びアプリケーションを実行することで、本発明における保持手段、受信手段、特定手段、更新手段、及び登録手段等として機能する。より具体的には、CPU15は、書き込み対象の複数のレコードが全てICチップ1に書き込まれた後に、外部装置2(例えば、発行端末)から、一括更新テーブルを書き込むためのWRITE BINARYコマンドを、I/O回路11を介して受信すると、上述したように対応付け情報を複数作成し、当該作成された複数の対応付け情報を登録する一括更新テーブルをテーブル記憶領域に書き込んで保持する。
そして、CPU15は、外部装置2(例えば、店舗端末)から、更新データ及び当該更新データに付与された一括更新対象Tagを含む一括更新コマンド(第1のコマンドの一例)を、I/O回路11を介して受信する。ここで、一括更新コマンドには、例えばISO/IEC 7816に規定されたPUT DATAコマンドを適用することができる。図8は、一括更新対象のデータを一括更新するためのPUT DATAコマンドフォーマット例を示す図である。図8に示すように、PUT DATAコマンドにおいて、INSにはPUT DATAコマンドを示す値“DA(h)”が格納され、P1P2には一括更新対象Tag(例えば、DF02(h))が格納される。また、Lcには更新データのデータ長が格納され、Dataには当該更新データ(例えば、Value“12(h)”)が格納される。
CPU15は、一括更新コマンドを受信すると、当該一括更新コマンドに含まれる一括更新対象Tag(例えば、DF02(h))、及び一括更新テーブルに登録されている対応付け情報に基づいて、複数のレコードのそれぞれにおいて同一のTag(例えば、DF02(h))が付与されたデータを特定し、当該特定された各データを、当該一括更新コマンドに含まれる更新データにより更新する。このように、一度の一括更新コマンドの実行により、複数のレコードのそれぞれに格納された同一のTagを持つデータを連動して一括更新することができる。
図9は、レコード記憶領域における更新後のレコード例を示す概念図である。図9の例では、一括更新コマンド(一括更新対象Tag“DF02(h)”を含む)の実行により、図2に示すレコード番号“01(h)”,“03(h)”のレコードのそれぞれにおいて同一のTag“DF02(h)”を持つデータ(Value“11(h)”)が更新データ(Value“12(h)”)に変更されている。なお、図2に示すレコード番号“01(h)”~“03(h)”のレコードのそれぞれにおいて同一のTag“DF03(h)”を持つデータ(Value“01(h)”)を更新するためには、更新データ(例えば、Value“02(h)”)及び一括更新対象Tag“DF03(h)”を含む一括更新コマンド(第2のコマンドの一例)がICチップ1へ送信されればよい。
[2.ICチップ1の一括更新動作]
次に、本実施形態に係るICチップ1の一括更新動作について実施例1と実施例2に分けて説明する。なお、以下に説明する実施例1及び実施例2は、例えば工場において発行端末により複数のレコード及び一括更新テーブルが書き込まれたICチップ1の出荷後の実施例である。
(実施例1)
先ず、図10を参照して、実施例1におけるICチップ1の一括更新動作について説明する。図10は、実施例1においてICチップ1のCPU15により実行される一括更新処理の一例を示すフローチャートである。実施例1では、CPU15がOSまたはアプリケーションにしたがって一括更新処理を実行している間に図4に示す一括更新テーブルを用いる。なお、図10に示す処理は、外部装置2(例えば、店舗端末)から、一括更新対象のデータを一括更新するためのPUT DATAコマンドが受信されたときに開始される。
図10に示す処理が開始されると、CPU15は、PUT DATAコマンドのP1P2から一括更新対象Tag(例えば、DF03(h))を取得し、且つPUT DATAコマンドのDataから更新データ(例えば、Value“02(h)”)を取得する(ステップS1)。次いで、CPU15は、テーブル記憶領域に記憶された一括更新テーブルを特定する(ステップS2)。次いで、CPU15は、ステップS2で特定された一括更新テーブルから参照対象となる対応付け情報を1つ選定する(ステップS3)。例えば、図4に示す一括更新テーブルから、先ずは1行目の対応付け情報が参照対象として選定される。
次いで、CPU15は、ステップS3で選定された対応付け情報を参照して当該対応付け情報中のTagが、ステップS1で取得された一括更新対象Tag(例えば、DF03(h))と一致するか否かを判定する(ステップS4)。対応付け情報中のTagが一括更新対象Tag(例えば、DF03(h))と一致すると判定された場合(ステップS4:YES)、処理はステップS5へ進む。一方、対応付け情報中のTagが一括更新対象Tag(例えば、DF03(h))と一致しないと判定された場合(ステップS4:NO)、処理はステップS6へ進む。図4の例では、1行目の対応付け情報中のTagはDF02(h)であるので、一括更新対象Tag(例えば、DF03(h))と一致しないと判定される。
ステップS5では、CPU15は、ステップS3で選定された対応付け情報中のSFI、レコード番号、及びレコードオフセットに基づいて、一括更新対象Tagを持つデータ(例えば、Value“01(h)”)をレコードから特定し、当該特定されたデータを、ステップS1で取得された更新データ(例えば、Value“02(h)”)により更新(例えば、上書き)し、処理をステップS6へ進める。
ステップS6では、CPU15は、ステップS2で特定された一括更新テーブルから対応付け情報を全て選定した(つまり、全て参照した)か否かを判定する。一括更新テーブルから対応付け情報を全て選定していないと判定された場合(ステップS6:NO)、処理はステップS3へ戻り、未だ選定されていない対応付け情報が選定され、ステップS4の処理が実行される。こうして、例えば、図4に示す一括更新テーブルにおける対応付け情報の1行目~5行目まで順次参照されることになる。一方、一括更新テーブルから対応付け情報を全て選定したと判定された(ステップS6:YES)、処理はステップS7へ進む。
ステップS7では、CPU15は、PUT DATAコマンドに対するレスポンスをI/O回路11を介して外部装置2へ送信し、図10に示す処理を終了する。かかるレスポンスは、レスポンスAPDUであり、例えば正常終了を示すステータスワード(SW1,SW2)を含む。
(実施例2)
次に、図11を参照して、実施例2におけるICチップ1の一括更新動作について説明する。図11は、実施例2においてICチップ1のCPU15により実行される一括更新処理の一例を示すフローチャートである。実施例2では、CPU15がOSまたはアプリケーションにしたがって一括更新処理を実行している間に図5に示す一括更新テーブルを用いる。なお、図11に示す処理は、外部装置2(例えば、店舗端末)から、一括更新対象のデータを一括更新するためのPUT DATAコマンドが受信されたときに開始される。
図11に示す処理が開始されると、CPU15は、PUT DATAコマンドのP1P2から一括更新対象Tag(例えば、DF03(h))を取得し、且つPUT DATAコマンドのDataから更新データ(例えば、Value“02(h)”)を取得する(ステップS11)。次いで、CPU15は、テーブル記憶領域に記憶された一括更新テーブルにおいて、ステップS1で取得された一括更新対象Tag(例えば、DF03(h))に対応する対応付け情報を登録する領域(例えば、R2)を特定する(ステップS12)。
次いで、CPU15は、ステップS2で特定された領域(例えば、R2)から参照対象となる対応付け情報を1つ選定する(ステップS13)。例えば、図5に示す領域R2(換言すると、一括更新テーブルT2)から、先ずは1行目の対応付け情報が参照対象として選定される。次いで、CPU15は、ステップS13で選定された対応付け情報中のSFI、レコード番号、及びレコードオフセットに基づいて、一括更新対象Tagを持つデータ(例えば、Value“01(h)”)をレコードから特定し、当該特定されたデータを、ステップS11で取得された更新データ(例えば、Value“02(h)”)により更新する(ステップS14)。
次いで、CPU15は、ステップS12で特定された領域から対応付け情報を全て選定したか否かを判定する(ステップS15)。上記特定された領域から対応付け情報を全て選定していないと判定された場合(ステップS15:NO)、処理はステップS13へ戻り、未だ選定されていない対応付け情報が選定され、ステップS14の処理が実行される。こうして、例えば、図5に示す領域R2における対応付け情報の1行目~3行目まで順次参照されることになる。一方、上記特定された領域から対応付け情報を全て選定したと判定された(ステップS15:YES)、処理はステップS16へ進む。
ステップS16では、CPU15は、PUT DATAコマンドに対するレスポンスをI/O回路11を介して外部装置2へ送信し、図11に示す処理を終了する。このように、実施例2によれば、一括更新テーブルにおける対応付け情報を全て参照(確認)する必要が無いため、実施例1より高速にデータの一括更新を行うことができる。
以上説明したように、上記実施形態によれば、ICチップ1は、上述した対応付け情報を登録する一括更新テーブルを保持しておき、外部装置2から、更新データ及び当該更新データに付与された一括更新対象Tagを含む一括更新コマンドを受信すると、当該一括更新コマンドに含まれる一括更新対象Tag、及び一括更新テーブルに登録されている対応付け情報に基づいて、複数のレコードのそれぞれにおいて同一のTagが付与されたデータを特定し、当該特定された各データを、当該一括更新コマンドに含まれる更新データにより更新するように構成したので、一括更新対象Tagを持つデータを格納するレコードの数分の更新コマンドをICチップ1に送信することなく、複数のレコードのそれぞれに格納された当該データを一括更新することができる。
(変形例)
次に、図12~図15を参照して、上記実施形態の変形例について説明する。変形例では、例えば工場において発行端末により複数のレコード及び一括更新テーブルがICチップ1に書き込まれた後、ICチップ1に書き込み済のデータと同一のTag(例えば、DF03(h))を持つデータ(一括更新対象のデータ)を格納するレコードが追加して書き込まれた場合を想定する。図12は、レコード記憶領域にレコードが追加された場合のレコード例を示す概念図である。図12の例では、書き込み済の3つのレコードに加えて追加されたレコードを示しており、追加されたレコードは、SFI“02(h)”及びレコード番号“04(h)”により特定されるようになっている。また、図12の例では、追加されたレコードには一括更新対象のデータが格納されている(この例では、一括更新対象のデータは、Tag“DF03(h)”が付与されたデータ(Value“01(h)”)である)。
図12に示すように追加されたレコードに格納されるデータ(Value“01(h)”)に付与されたTag“DF03(h)”を含む対応付け情報は、例えばISO/IEC 7816に規定されたWRITE BINARY(第3のコマンドの一例)等により一括更新テーブルに追加登録することができる。図13は、対応付け情報を追加登録するためのWRITE BINARYコマンド内のバイト列の具体例を示す図である。図13に示すWRITE BINARYコマンド内のDataには、一括更新テーブルの追加要素が格納される。図13の例では、一括更新テーブルの追加要素は、一括更新対象Tag“DF03(h)”、SFI“02(h)”及びレコード番号“04(h)”である。
ICチップ1のCPU15は、外部装置2(例えば、発行端末)から、対応付け情報を追加登録するためのWRITE BINARYコマンドを、I/O回路11を介して受信すると、WRITE BINARYコマンドに含まれるTag“DF03(h)”、SFI“02(h)”及びレコード番号“04(h)”に基づいて、SFI“02(h)”及びレコード番号“04(h)”により特定されたレコードに格納された一括更新対象のデータ(Value“11(h)”)のレコードオフセットを算出する。当該一括更新対象のデータのレコードオフセットは、当該一括更新対象のデータの当該レコードの先頭からのバイト数であり、図12の例では、“07(h)”である。
そして、ICチップ1のCPU15は、WRITE BINARYコマンドに含まれるTag“DF03(h)”、SFI“02(h)”及びレコード番号“04(h)”と上記算出されたレコードオフセット“08(h)”を対応付けた対応付け情報を、例えば図4に示す一括更新テーブルに追加登録する。図14は、対応付け情報が追加登録された一括更新テーブル例3を示す図である。図14の例では、Tag“DF03(h)”、SFI“02(h)”、レコード番号“04(h)”、及びレコードオフセット“07(h)”を含む対応付け情報が一括更新テーブルの6行(最終行)目に追加されている。
或いは、ICチップ1のCPU15は、WRITE BINARYコマンドに含まれるTag“DF03(h)”に対応する対応付け情報を登録する領域(例えば、R2)を、例えば図5に示す一括更新テーブルから特定してもよい。この場合、CPU15は、WRITE BINARYコマンドに含まれるTag“DF03(h)”、SFI“02(h)”及びレコード番号“04(h)”と上記算出されたレコードオフセット“07(h)”を対応付けた対応付け情報を上記特定した領域(例えば、R2)に追加登録(順不同で登録)する。図15は、対応付け情報が追加登録された一括更新テーブル例4を示す図である。図15の例では、Tag“DF03(h)”、SFI“02(h)”、レコード番号“04(h)”、及びレコードオフセット“07(h)”を含む対応付け情報が、一括更新テーブルにおける領域R2の4行(最終行)目に追加されている。
以上説明したように、変形例によれば、ICチップ1に書き込み済のデータと同一のTagを持つデータが追加してICチップ1に書き込まれた場合においても、当該追加されたデータが持つTagに対応する対応付け情報を、より効率良く一括更新テーブルに追加登録することができる。
1 ICチップ
11 I/O回路
12 RAM(
13 NVM
14 ROM
15 CPU
16 コプロセッサ

Claims (9)

  1. タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納される電子情報記憶媒体であって、
    前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持する保持手段と、
    外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信する受信手段と、
    前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定する特定手段と、
    前記特定手段により特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新する更新手段と、
    を備えることを特徴とする電子情報記憶媒体。
  2. 何れかの2つ以上の前記レコードのそれぞれには、さらに、同一の第2のタグ値であって、前記第1のタグ値とは異なる当該第2のタグ値が付与されたデータが格納されており、
    前記管理テーブルは、さらに、前記第2のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第2のタグ値とを対応付けた対応付け情報を登録しており、
    前記受信手段は、前記更新データ及び当該データに付与された前記第1のタグ値または前記第2のタグ値を含む第2のコマンドを受信し、
    前記特定手段は、前記第2のコマンドに含まれる前記第1のタグ値または前記第2のタグ値、及び前記管理テーブルにおける前記対応付け情報を全て参照することを特徴とする請求項1に記載の電子情報記憶媒体。
  3. 何れかの2つ以上の前記レコードのそれぞれには、さらに、同一の第2のタグ値であって、前記第1のタグ値とは異なる当該第2のタグ値が付与されたデータが格納されており、
    前記管理テーブルは、さらに、前記第2のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第2のタグ値とを対応付けた対応付け情報を登録しており、
    前記保持手段は、前記管理テーブルにおいて前記第1のタグ値に対応する前記対応付け情報を登録する領域と、前記第2のタグ値に対応する前記対応付け情報を登録する領域とを予め分けて管理し、
    前記受信手段は、前記更新データ及び当該データに付与された前記第1のタグ値または前記第2のタグ値を含む第2のコマンドを受信し、
    前記特定手段は、前記第2のコマンドに含まれる前記第1のタグ値または前記第2のタグ値に対応する前記領域を特定し、前記第2のコマンドに含まれる前記第1のタグ値または前記第2のタグ値、及び前記特定した領域における前記対応付け情報を参照することを特徴とする請求項1に記載の電子情報記憶媒体。
  4. 何れかの2つ以上の前記レコードのそれぞれには、さらに、同一の第2のタグ値であって、前記第1のタグ値とは異なる当該第2のタグ値が付与されたデータが格納されており、
    前記受信手段は、前記外部装置から、前記第2のタグ値が付与されたデータが格納される前記レコードの識別子と、当該第2のタグ値とを対応付けた対応付け情報を含む第3のコマンドを受信し、
    前記第3のコマンドに含まれる前記識別子及び前記第2のタグ値に基づいて、前記レコードにおける前記データの格納位置を算出し、当該第2のタグ値が付与されたデータが格納される前記レコードの識別子及び前記算出した前記格納位置と、当該第2のタグ値とを対応付けた対応付け情報を前記管理テーブルに追加登録する登録手段を更に備えることを特徴とする請求項1に記載の電子情報記憶媒体。
  5. 前記コマンドに含まれる前記第2のタグ値に対応する領域であって前記管理テーブルにおける当該領域を特定し、当該第2のタグ値が付与されたデータが格納される前記レコードの識別子及び前記算出した前記格納位置と、当該第2のタグ値とを対応付けた対応付け情報を前記特定した領域に追加登録する登録手段を更に備えることを特徴とする請求項4に記載の電子情報記憶媒体。
  6. タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納されるICチップであって、
    前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持する保持手段と、
    外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信する受信手段と、
    前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定する特定手段と、
    前記特定手段により特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新する更新手段と、
    を備えることを特徴とするICチップ。
  7. タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納されるICカードであって、
    前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持する保持手段と、
    外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信する受信手段と、
    前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定する特定手段と、
    前記特定手段により特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新する更新手段と、
    を備えることを特徴とするICカード。
  8. タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納される電子情報記憶媒体により実行されるデータ一括更新方法であって、
    前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持するステップと、
    外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信するステップと、
    前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定するステップと、
    前記特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新するステップと、
    を含むことを特徴とするデータ一括更新方法。
  9. タグ値が付与されたデータを格納するレコードを複数記憶し、何れか2つ以上の前記レコードのそれぞれには同一の第1のタグ値が付与されたデータが格納される電子情報記憶媒体に含まれるコンピュータに、
    前記第1のタグ値が付与されたデータが格納される前記レコードのそれぞれの識別子及び当該レコードのそれぞれにおける当該データの格納位置と、当該第1のタグ値とを対応付けた対応付け情報を登録する管理テーブルを保持するステップと、
    外部装置から、更新データ及び当該更新データに付与された前記第1のタグ値を含む第1のコマンドを受信するステップと、
    前記第1のコマンドに含まれる前記第1のタグ値、及び前記管理テーブルに登録されている前記対応付け情報に基づいて、前記レコードのそれぞれにおいて前記第1のタグ値が付与されたデータを特定するステップと、
    前記特定された各前記データを、前記第1のコマンドに含まれる前記更新データにより更新するステップと、
    を実行させることを特徴とするプログラム。
JP2023178671A 2023-10-17 2023-10-17 電子情報記憶媒体、icチップ、icカード、データ一括更新方法、及びプログラム Active JP7468765B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023178671A JP7468765B1 (ja) 2023-10-17 2023-10-17 電子情報記憶媒体、icチップ、icカード、データ一括更新方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023178671A JP7468765B1 (ja) 2023-10-17 2023-10-17 電子情報記憶媒体、icチップ、icカード、データ一括更新方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP7468765B1 true JP7468765B1 (ja) 2024-04-16

Family

ID=90667744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023178671A Active JP7468765B1 (ja) 2023-10-17 2023-10-17 電子情報記憶媒体、icチップ、icカード、データ一括更新方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7468765B1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080218354A1 (en) 2007-03-09 2008-09-11 Lorentz Robert D Non-networked rfid system
JP2022503755A (ja) 2018-10-02 2022-01-12 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー 非接触カードの暗号化認証のためのシステムおよび方法
JP2023152141A (ja) 2022-04-01 2023-10-16 オムロン株式会社 Rfidシステム、リーダライタ、サーバ、および表示方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080218354A1 (en) 2007-03-09 2008-09-11 Lorentz Robert D Non-networked rfid system
JP2022503755A (ja) 2018-10-02 2022-01-12 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー 非接触カードの暗号化認証のためのシステムおよび方法
JP2023152141A (ja) 2022-04-01 2023-10-16 オムロン株式会社 Rfidシステム、リーダライタ、サーバ、および表示方法

Similar Documents

Publication Publication Date Title
US8244762B2 (en) Method for configuring an IC card in order to receive personalization commands
US8112662B2 (en) Portable electronic apparatus, processing apparatus for portable electronic apparatus, and data processing method in portable electronic apparatus
JP7468765B1 (ja) 電子情報記憶媒体、icチップ、icカード、データ一括更新方法、及びプログラム
US6301622B1 (en) Computer system having identification data and method for transferring identification data to computer
JP5301018B2 (ja) 携帯可能電子装置
EP3023925B1 (en) Secure element with applications
JP7468757B1 (ja) 電子情報記憶媒体、icチップ、icカード、レスポンス送信方法、及びプログラム
JP7438432B1 (ja) 電子情報記憶媒体、icチップ、icカード、レコード書き込み方法、及びプログラム
JP7005934B2 (ja) 電子情報記憶媒体、icカード、データ送信方法、データ書き込み方法、データ送信プログラム及びデータ書き込みプログラム
US7346730B2 (en) Mobile electronic device
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
JP4836707B2 (ja) 携帯可能電子装置およびicカード
JP7439847B2 (ja) 電子情報記憶媒体、鍵データ設定方法、及びプログラム
JP7322923B2 (ja) セキュアエレメント,トランザクション制御方法およびデバイス
JP7010084B2 (ja) Ic決済で用いるトークンデバイス
JP2008146343A (ja) Icカード、および、更新プログラムの呼出し方法
JP5998767B2 (ja) Icカードシステムおよびicカード
JP7284003B2 (ja) 半導体装置、icカード、制御方法およびプログラム
JP7487837B1 (ja) 電子情報記憶媒体、icチップ、icカード、鍵データ格納方法、及びプログラム
JP7501764B1 (ja) 電子情報記憶媒体、icチップ、icカード、データ送受信方法、及びプログラム
JP7040053B2 (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体による情報処理方法及びos
JP6823289B2 (ja) Icカードおよびコンピュータプログラム
JP2005301657A (ja) 複数のコマンドテーブルを書き換え可能なメモリに記憶したicカードおよびコマンドの実行方法
JP6915338B2 (ja) Icカード
JP4774681B2 (ja) 共通コマンドアプリケーションを実装したマルチアプリケーション型icカード

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231204

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20231204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240318

R150 Certificate of patent or registration of utility model

Ref document number: 7468765

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150