JP6499052B2 - IC card, IC module, and program - Google Patents
IC card, IC module, and program Download PDFInfo
- Publication number
- JP6499052B2 JP6499052B2 JP2015198439A JP2015198439A JP6499052B2 JP 6499052 B2 JP6499052 B2 JP 6499052B2 JP 2015198439 A JP2015198439 A JP 2015198439A JP 2015198439 A JP2015198439 A JP 2015198439A JP 6499052 B2 JP6499052 B2 JP 6499052B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage unit
- stored
- identifier
- dgi
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
本発明の実施形態は、ICカード、ICモジュール、及びプログラムに関する。 Embodiments described herein relate generally to an IC card, an IC module, and a program.
近年、IC(Integrated Circuit)チップを内蔵したICカードが広く使用されている。ICカードでは、用途に対応したICカードの動作に必要な情報を、書き込み要求のコマンドを含む発行コマンドを用いてICチップ内の不揮発性メモリに書き込む発行工程が実行される。しかしながら、従来のICカードでは、例えば、書き込んだ情報を確認する際に、発行コマンドとは異なる読み出しコマンドなどを使用する必要があり、発行装置が対応するコマンドの種類が多くなる場合があった。 In recent years, IC cards incorporating IC (Integrated Circuit) chips have been widely used. In the IC card, an issue process is executed in which information necessary for the operation of the IC card corresponding to the application is written into the nonvolatile memory in the IC chip using an issue command including a write request command. However, in the conventional IC card, for example, when the written information is confirmed, it is necessary to use a read command different from the issued command, and there are cases where the types of commands supported by the issuing device increase.
本発明が解決しようとする課題は、発行工程に使用するコマンドの種類を低減することができるICカード、ICモジュール、及びプログラムを提供することである。 The problem to be solved by the present invention is to provide an IC card, an IC module, and a program capable of reducing the types of commands used in the issuing process.
実施形態のICカードは、データ記憶部と、受信部と、データ識別子記憶部と、処理部と、送信部とを持つ。データ記憶部は、データを記憶する。受信部は、前記データ記憶部に記憶させるデータと、前記データを識別するデータ識別子とを含む書き込み要求を、外部装置から受信する。データ識別子記憶部は、前記データ記憶部に記憶されているデータに対応する前記データ識別子に関連する情報を記憶する。処理部は、前記データ識別子記憶部が記憶する前記データ識別子に関連する情報に基づいて、前記受信部によって受信した前記データ識別子に対応するデータが前記データ記憶部に記憶されているか否かを判定し、前記データ識別子に対応するデータが前記データ記憶部に記憶されていない場合に、前記書き込み要求に含まれるデータを前記データ記憶部に記憶させ、前記データ識別子に対応するデータが前記データ記憶部に記憶されている場合に、前記書き込み要求に含まれるデータと、前記データ記憶部に記憶されている前記データ識別子に対応するデータとが一致するか否かを判定する。送信部は、前記処理部によって判定された前記一致するか否かの判定結果を示す情報を含む応答を前記外部装置に送信する。 The IC card according to the embodiment includes a data storage unit, a reception unit, a data identifier storage unit, a processing unit, and a transmission unit. The data storage unit stores data. The receiving unit receives a write request including data to be stored in the data storage unit and a data identifier for identifying the data from an external device. The data identifier storage unit stores information related to the data identifier corresponding to the data stored in the data storage unit. The processing unit determines whether data corresponding to the data identifier received by the receiving unit is stored in the data storage unit based on information related to the data identifier stored in the data identifier storage unit When the data corresponding to the data identifier is not stored in the data storage unit, the data included in the write request is stored in the data storage unit, and the data corresponding to the data identifier is stored in the data storage unit. Is stored in the data request, it is determined whether the data included in the write request matches the data corresponding to the data identifier stored in the data storage unit. The transmission unit transmits a response including information indicating a determination result of whether or not the determination is made by the processing unit to the external device.
以下、実施形態のICカード、ICモジュール、及びプログラムを、図面を参照して説明する。 Hereinafter, an IC card, an IC module, and a program according to embodiments will be described with reference to the drawings.
(第1の実施形態)
図1は、第1の実施形態のICカード1の一例を示す外観図である。
図1に示すように、ICカード1は、ICモジュール10を備える。ICモジュール10は、ICカード1が接触式ICカードの場合は、コンタクト部3と、ICチップ100とを備える。なお、ICカード1が非接触式ICカードの場合は、ICモジュール10は、アンテナ部とICチップ100とを備える。ICカード1は、例えば、プラスチックのカード基材PT(カード本体の一例)に、ICモジュール10を実装して形成されている。すなわち、ICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材PTとを備えている。また、ICカード1は、コンタクト部3を介して外部装置2と通信可能である。
(First embodiment)
FIG. 1 is an external view showing an example of an
As shown in FIG. 1, the
ICカード1は、例えば、外部装置2が送信したコマンド(処理要求)を、コンタクト部3を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を外部装置2にコンタクト部3を介して送信する。
ここで、外部装置2は、ICカード1と通信する上位装置であり、例えば、リーダ/ライタ装置、発行装置などである。
For example, the
Here, the external device 2 is a higher-level device that communicates with the
ICモジュール10は、コンタクト部3と、ICチップ100とを備え、例えば、テープ上にICモジュール10が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のICモジュール10をCOTという場合がある。
The
コンタクト部3は、ICカード1が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを外部装置2から供給を受ける端子、及び、外部装置2と通信するためのシリアルデ―タ入出力端子(SIO端子)を有する。
ICチップ100は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
The contact part 3 has terminals for various signals necessary for the operation of the
The
次に、図2を参照して、本実施形態のICカード1のハードウェア構成について説明する。
図2は、本実施形態のICカード1のハードウェア構成例を示す図である。
図2に示すように、ICカード1は、コンタクト部3と、ICチップ100とを備えたICモジュール10を備えている。そして、ICチップ100は、UART(Universal Asynchronous Receiver Transmitter)4と、CPU(Central Processing Unit)5と、ROM(Read Only Memory)6と、RAM(Random Access Memory)7と、EEPROM(Electrically Erasable Programmable ROM)8とを備えている。
Next, the hardware configuration of the
FIG. 2 is a diagram illustrating a hardware configuration example of the
As shown in FIG. 2, the
UART4(通信部の一例)は、ICカード1と外部装置2との間の通信(コマンド/レスポンスの送受信)を行う。UART4は、例えば、EEPROM8に個人情報や内部制御用情報、等を設定する発行処理を要求する発行コマンド(発行処理要求)などの各種コマンドを外部装置2から受信する。また、UART4は、各種コマンドに応じた処理の実行結果であるレスポンスを外部装置2に送信する。
The UART 4 (an example of a communication unit) performs communication (transmission / reception of commands / responses) between the
CPU5は、ROM6又はEEPROM8に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU5は、例えば、コンタクト部3を介して、UART4が受信したコマンドに応じたコマンド処理を実行する。また、CPU5は、実行したコマンド処理のレスポンスをUART4に送信させる。
The
ROM6は、例えば、マスクROMなどの不揮発性メモリであり、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
RAM7は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。RAM7は、受信バッファ71と、送信バッファ72とを備えている。
受信バッファ71は、UART4が受信したコマンドなどのデータを記憶する。また、送信バッファ72は、UART4が送信するレスポンスなどのデータを記憶する。
The
The
The reception buffer 71 stores data such as commands received by the UART 4. Further, the transmission buffer 72 stores data such as a response transmitted by the UART 4.
EEPROM8は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM8は、ICカード1が利用する各種データを記憶する。EEPROM8は、例えば、使用者氏名、使用者ID、カードID、各種鍵情報、内部制御用情報などをICカード1の用途に応じて記憶する。
The EEPROM 8 is, for example, an electrically rewritable nonvolatile memory. The EEPROM 8 stores various data used by the
次に、図3を参照して、本実施形態によるICカード1の機能構成例について説明する。
図3は、本実施形態のICカード1の機能構成例を示すブロック図である。
図3に示すように、ICカード1は、UART4と、制御部50と、DGIテーブル記憶部60と、過去受信DGI記憶部70と、データ記憶部80と、ファイル管理情報記憶部81とを備えている。
ここで、図3に示されるICカード1の各部は、図2に示されるICカード1のハードウェアを用いて実現される。
Next, a functional configuration example of the
FIG. 3 is a block diagram showing a functional configuration example of the
As shown in FIG. 3, the
Here, each part of the
過去受信DGI記憶部70は、例えば、RAM7により構成され、データ記憶部80に既に記憶されているデータに対応するDGI(Data Grouping Identifier)を記憶する。ここで、DGIとは、データ記憶部80に記憶させるデータを識別するデータ識別子のことである。また、過去受信DGI記憶部70は、データ記憶部80に既に記憶されているデータに対応するDGIに関連する情報を記憶するデータ識別子記憶部の一例である。DGIに関連する情報には、DGIが含まれる。過去受信DGI記憶部70は、例えば、データ記憶部80にデータを書き込む(記憶させる)STORE DATAコマンド(書き込み要求)が既に実行されたDGIを、図4に示すように記憶する。なお、STORE DATAコマンドは、発行コマンドの一例であり、詳細は後述する。
The past received
図4は、本実施形態の過去受信DGI記憶部70が記憶するデータ例を示す図である。
図4に示すように、過去受信DGI記憶部70は、「過去受信DGI」を記憶する。ここで、「過去受信DGI」は、既に実行したSTORE DATAコマンドに含まれていたDGIであり、例えば、UART4を介して過去に受信したDGIである。すなわち、過去受信DGI記憶部70は、過去に受信したDGIのリストを記憶する。
図4に示す例では、過去受信DGI記憶部70は、「過去受信DGI」として、“0x0101”、“0x0201”、・・・を記憶する。すなわち、DGIが“0x0101”、“0x0201”、・・・であるデータに対して、既にSTORE DATAコマンドが実行された状態であり、当該過去受信DGIに対応するデータが、データ記憶部80に既に記憶されていることを示している。ここで、データ冒頭の“0x”は、16進法(ヘキサデシマル)の表記であることを示している。
FIG. 4 is a diagram illustrating an example of data stored in the past reception
As illustrated in FIG. 4, the past received
In the example illustrated in FIG. 4, the past received
図3の説明に戻り、データ記憶部80は、例えば、EEPROM8により構成され、ICカード1の用途に応じた各種データを記憶する。データ記憶部80は、ICカード1の発行によって、アプリケーションに対応したDF(Dedicated File)と、アプリケーションにおいて利用される各種データ及び内部制御用のデータを記憶するEF(Elementary File)とが構築(確保)される。データ記憶部80の各EFには、例えば、発行工程において、STORE DATAコマンドによって、データが記憶される。
Returning to the description of FIG. 3, the
DGIテーブル記憶部60は、例えば、ROM6により構成され、図5に示すように、「DGI」と、「ファイル識別子」とを対応付けたDGIテーブルを記憶する。なお、「ファイル識別子」は、データ記憶部80に記憶されるファイル(例えば、EF)を識別する識別情報である。
図5は、本実施形態のDGIテーブル記憶部60が記憶するデータ例を示す図である。
図5が示す例では、「DGI」が“0x0101”に対応するデータが、「ファイル識別子」が“0x0001”のEFに記憶されることを示している。また、「DGI」が“0x0201”に対応するデータが、「ファイル識別子」が“0x0002”のEFに記憶されることを示している。また、「DGI」が“0x0301”に対応するデータが、「ファイル識別子」が“0x0003”のEFに記憶されることを示している。
The DGI
FIG. 5 is a diagram illustrating an example of data stored in the DGI
The example shown in FIG. 5 indicates that data corresponding to “DGI” “0x0101” is stored in the EF having “file identifier” “0x0001”. In addition, data corresponding to “0x0201” in “DGI” is stored in the EF having “0x0002” in “file identifier”. In addition, data corresponding to “DGI” “0x0301” is stored in the EF having “file identifier” “0x0003”.
再び図3に戻り、ファイル管理情報記憶部81は、例えば、EEPROM8により構成され、図6に示すように、「ファイル識別子」と、「ファイル格納先のEEPROM8の先頭アドレス」とを対応付けて記憶する。すなわち、ファイル管理情報記憶部81は、EFと、当該EFに対応するEEPROM8の先頭アドレスとを対応付けて記憶する。なお、ファイル管理情報記憶部81には、例えば、EFが作成(構築)された際に、作成されたEFに対する「ファイル識別子」と、「ファイル格納先のEEPROM8の先頭アドレス」とが、追加されて記憶される。 Returning to FIG. 3 again, the file management information storage unit 81 includes, for example, the EEPROM 8 and stores “file identifier” and “first address of the file storage destination EEPROM 8” in association with each other as shown in FIG. To do. That is, the file management information storage unit 81 stores the EF and the start address of the EEPROM 8 corresponding to the EF in association with each other. For example, when the EF is created (constructed), the “file identifier” for the created EF and the “first address of the EEPROM 8 as the file storage destination” are added to the file management information storage unit 81. Is memorized.
図6は、本実施形態のファイル管理情報記憶部81が記憶するデータ例を示す図である。
図6に示す例では、「ファイル識別子」が“0x0001”であるEFは、「ファイル格納先のEEPROM8の先頭アドレス」が“0x805000”であることを示している。また、「ファイル識別子」が“0x0002”であるEFは、「ファイル格納先のEEPROM8の先頭アドレス」が“0x804F00”であることを示している。
FIG. 6 is a diagram illustrating an example of data stored in the file management information storage unit 81 of the present embodiment.
In the example shown in FIG. 6, an EF with a “file identifier” of “0x0001” indicates that the “start address of the file storage destination EEPROM 8” is “0x805000”. An EF with a “file identifier” of “0x0002” indicates that the “head address of the file storage destination EEPROM 8” is “0x804F00”.
再び図3に戻り、制御部50は、例えば、CPU5と、RAM7と、ROM6又はEEPROM8とにより実現され、ICカード1を統括的に制御する。制御部50は、例えば、外部装置2からICカード1に送信された各種コマンドを、UART4を介して受信し、受信したコマンドの処理(コマンド処理)を実行する。また、制御部50は、例えば、実行したコマンド処理の結果を含むレスポンスを、UART4を介して外部装置2に出力する。また、制御部50は、受信処理部51と、コマンド処理部52と、送信処理部53とを備えている。
Returning to FIG. 3 again, the
受信処理部51(受信部の一例)は、UART4が外部装置2から受信したコマンドを受信バッファ71に記憶させる。受信処理部51は、例えば、データ記憶部80に記憶させるデータと、当該データを識別するDGIとを含むSTORE DATAコマンドを、UART4を介して受信する。ここで、図7を参照して、STORE DATAコマンドのデータ構成例について説明する。
The reception processing unit 51 (an example of a reception unit) stores a command received by the
図7は、STORE DATAコマンドのデータ構成例を示す図である。
この図に示すように、STORE DATAコマンド(書き込み要求の一例)は、コマンドヘッダと、コマンドボディとを有している。コマンドヘッダは、「CLA」(クラスバイト)、「INS」(命令バイト)、「P1」(パラメータ1)、及び「P2」(パラメータ2)を有している。なお、「CLA」、「INS」、「P1」、及び「P2」のぞれぞれは、1バイトで構成されている。また、コマンドボディは、「Lc」(データ長)、及び「DATA」(データ)を有している。なお、「Lc」は、1バイトで構成され、「DATA」は、「Lc」によって指定されたデータ長(例えば、mバイト)のデータである。
FIG. 7 is a diagram illustrating a data configuration example of the STORE DATA command.
As shown in this figure, a STORE DATA command (an example of a write request) has a command header and a command body. The command header has “CLA” (class byte), “INS” (instruction byte), “P1” (parameter 1), and “P2” (parameter 2). Each of “CLA”, “INS”, “P1”, and “P2” is composed of 1 byte. The command body has “Lc” (data length) and “DATA” (data). “Lc” is composed of 1 byte, and “DATA” is data having a data length (for example, m bytes) designated by “Lc”.
また、STORE DATAコマンドの「DATA」は、「DGI」と、「DGI長」と、「DGI DATA」とを含んでいる。なお、「DGI」は、2バイトで構成され、「DGI長」は、1バイトで構成される。また、「DGI DATA」は、「DGI長」によって指定されたデータ長(例えば、nバイト)のデータである。
例えば、図7に示す例では、STORE DATAコマンドは、「DGI」が“0x0101”のEFに対して、「DGI DATA」が“0x1122334455”の5バイトのデータを記憶させる(書き込む)処理要求をICカード1に行うことを示している。このように、STORE DATAコマンドには、データ記憶部80に記憶させるデータ(「DGI DATA」)と、データ識別子(「DGI」)とを含んでいる。
Further, “DATA” of the STORE DATA command includes “DGI”, “DGI length”, and “DGI DATA”. “DGI” is composed of 2 bytes, and “DGI length” is composed of 1 byte. “DGI DATA” is data having a data length (for example, n bytes) designated by “DGI length”.
For example, in the example shown in FIG. 7, the STORE DATA command is a processing request for storing (writing) a 5-byte data of “DGI DATA” “0x12123345455” with respect to an EF of “DGI” “0x0101”. This shows what to do with
再び図3に戻り、コマンド処理部52(処理部の一例)は、受信処理部51によって受信したコマンドに応じて、各種コマンド処理を実行する。コマンド処理部52は、例えば、受信バッファ71に記憶されているコマンドを取得し、コマンドに応じて、各種コマンド処理を実行する。コマンド処理部52は、例えば、STORE DATAコマンドを取得した場合に、過去受信DGI記憶部70が記憶する「過去受信DGI」(DGIに関連する情報の一例)に基づいて、受信処理部51によって受信したDGIに対応するデータがデータ記憶部80に既に記憶されているか否かを判定する。
Returning to FIG. 3 again, the command processing unit 52 (an example of a processing unit) executes various command processes in accordance with the command received by the
例えば、コマンド処理部52は、STORE DATAコマンドに含まれるDGIが、過去受信DGI記憶部70に記憶されているか否かに基づいて、当該DGIに対応するデータがデータ記憶部80に既に記憶されているか否かを判定する。すなわち、コマンド処理部52は、例えば、過去受信DGI記憶部70に記憶されている過去受信DGIを検索し、受信したSTORE DATAコマンドに含まれるDGIと一致する過去受信DGIがあるか否かを判定する。コマンド処理部52は、受信したSTORE DATAコマンドに含まれるDGIが、過去受信DGI記憶部70に記憶されている場合に、当該DGIに対応するデータがデータ記憶部80に既に記憶されていると判定する。また、コマンド処理部52は、受信したSTORE DATAコマンドに含まれるDGIが、過去受信DGI記憶部70に記憶されていない場合に、当該DGIに対応するデータがデータ記憶部80に記憶されていないと判定する。
For example, based on whether or not the DGI included in the STORE DATA command is stored in the past received
コマンド処理部52は、受信したDGIに対応するデータがデータ記憶部80に記憶されていない場合に、STORE DATAコマンドに含まれるデータをデータ記憶部80に記憶させる(書き込む)。すなわち、コマンド処理部52は、データ記憶部80のDGIに対応するEFに受信したデータを記憶させる。この場合、コマンド処理部52は、例えば、DGIテーブル記憶部60を参照して、DGIに対応するEFのファイル識別子をDGIテーブル記憶部60から取得する。また、コマンド処理部52は、ファイル管理情報記憶部81を参照し、取得したファイル識別子に対応するEEPROM8の先頭アドレスをファイル管理情報記憶部81から取得する。コマンド処理部52は、取得したEEPROM8の先頭アドレスから順に、受信したデータを記憶させる。すなわち、コマンド処理部52は、データ記憶部80のDGIに対応するデータ領域(EF)に、受信したデータを記憶させる。
また、コマンド処理部52は、STORE DATAコマンドに含まれるデータをデータ記憶部80に記憶させる場合に、STORE DATAコマンドに含まれるDGIに関する情報を過去受信DGI記憶部70に記憶させる。コマンド処理部52は、例えば、受信したDGIを、図4に示すように、過去受信DGIのリストに追加する。
When the data corresponding to the received DGI is not stored in the
Further, when the data included in the STORE DATA command is stored in the
また、コマンド処理部52は、受信したDGIに対応するデータがデータ記憶部80に既に記憶されている場合に、STORE DATAコマンドに含まれるデータと、データ記憶部80に記憶されている当該DGIに対応するデータとが一致するか否かを判定する。この場合、コマンド処理部52は、上述した書き込みの場合と同様に、DGIテーブル記憶部60からDGIに対応するEFのファイル識別子を取得し、ファイル管理情報記憶部81から取得したファイル識別子に対応するEEPROM8の先頭アドレスを取得する。コマンド処理部52は、取得したEEPROM8の先頭アドレスから読み出したデータと、STORE DATAコマンドに含まれるデータとが一致するか否かを判定する。すなわち、コマンド処理部52は、受信したデータと、データ記憶部80のDGIに対応するデータ領域(EF)に記憶されているデータとが一致するか否かを判定する。
In addition, when data corresponding to the received DGI is already stored in the
また、コマンド処理部52は、上述したSTORE DATAコマンドの処理結果であるレスポンス(応答)を、例えば、送信バッファ72に記憶させる。すなわち、受信したデータをデータ記憶部80に記憶させる場合には、コマンド処理部52は、データの書き込みが完了したことを示す情報を含むレスポンスを生成し、生成したレスポンスを送信バッファ72に記憶させる。また、受信したデータをデータ記憶部80に記憶しているデータと比較する場合には、コマンド処理部52は、STORE DATAコマンドに含まれるデータと、データ記憶部80に記憶されている当該DGIに対応するデータとが一致するか否かの判定結果を示す情報を含むレスポンスを生成する。そして、コマンド処理部52は、生成したレスポンスを送信バッファ72に記憶させる。
Further, the
送信処理部53(送信部の一例)は、コマンド処理部52が実行したコマンド処理の結果を含むレスポンスを、UART4を介して外部装置2に出力する。送信処理部53は、例えば、送信バッファ72に記憶されているレスポンスのデータをUART4に送信し、UART4に外部装置2に向けて送信させる。送信処理部53は、例えば、STORE DATAコマンドにおいて、受信したデータをデータ記憶部80に記憶しているデータと比較した場合には、当該判定結果を示す情報を含むレスポンスを、UART4を介して送信する。すなわち、送信処理部53は、コマンド処理部52によって判定された、上述の一致するか否かの判定結果を示す情報を含むレスポンスを、UART4を介して外部装置2に送信する。また、送信処理部53は、例えば、STORE DATAコマンドにおいて、データを書き込む場合には、データの書き込みが完了したことを示す情報を含むレスポンスを、UART4を介して外部装置2に送信する。
The transmission processing unit 53 (an example of a transmission unit) outputs a response including the result of the command processing executed by the
次に、図8を参照して、本実施形態のICカード1の動作について説明する。
図8は、本実施形態のICカード1のSTORE DATAコマンド処理の一例を示すフローチャートである。
図8に示すように、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1が活性化された状態において、ICカード1は、コマンドを受信したか否かを判定する(ステップS101)。すなわち、ICカード1の受信処理部51は、UART4を介して、外部装置2からコマンドを受信したか否かを判定する。受信処理部51は、コマンドを受信した場合(ステップS101:YES)に、受信したコマンドを受信バッファ71に記憶させて、処理をステップS102に進める。また、受信処理部51は、コマンドを受信していない場合(ステップS101:NO)に、処理をステップS101に戻し、ステップS101の処理を繰り返す。
Next, the operation of the
FIG. 8 is a flowchart showing an example of the STORE DATA command processing of the
As shown in FIG. 8, in a state where the external device 2 and the
ステップS102において、ICカード1のコマンド処理部52は、コマンドを取得する。すなわち、コマンド処理部52は、受信バッファ71に記憶されているコマンドを取得する。
In step S102, the
次に、コマンド処理部52は、受信したコマンドがSTORE DATAコマンドであるか否かを判定する(ステップS103)。コマンド処理部52は、受信バッファ71から取得したコマンドのうちの「CLA」及び「INS」に基づいて、受信したコマンドがSTORE DATAコマンドであるか否かを判定する。コマンド処理部52は、受信したコマンドがSTORE DATAコマンドである場合(ステップS103:YES)に、処理をステップS104に進める。また、コマンド処理部52は、受信したコマンドがSTORE DATAコマンドでない場合(ステップS103:NO)に、処理をステップS110に進める。
Next, the
ステップS104において、コマンド処理部52は、受信したDGIが、過去受信DGI記憶部70に記憶されているか否かを判定する。すなわち、コマンド処理部52は、例えば、過去受信DGI記憶部70に記憶されている過去受信DGIを検索し、受信したSTORE DATAコマンドに含まれるDGIと一致する過去受信DGIがあるか否かを判定する。なお、以下の説明において、受信したDGIのことを「受信DGI」ということがある。コマンド処理部52は、受信DGIが、過去受信DGI記憶部70に記憶されている場合(ステップS104:YES)に、当該DGIに対応する「DGI DATA」(図7参照)が既にデータ記憶部80に記憶されていると判定し、処理をステップS108に進める。また、コマンド処理部52は、受信DGIが、過去受信DGI記憶部70に記憶されていない場合(ステップS104:NO)に、当該DGIに対応する「DGI DATA」がまだデータ記憶部80に記憶されていないと判定し、処理をステップS105に進める。
In step S104, the
ステップS105において、コマンド処理部52は、STORE DATAコマンドに含まれる「DGI DATA」(図7参照)をEEPROM8に書き込む。すなわち、コマンド処理部52は、「DGI DATA」を、受信DGIに対応するデータ記憶部80のEFに記憶させる。具体的には、コマンド処理部52は、DGIテーブル記憶部60を参照して、受信DGIに対応するEFのファイル識別子をDGIテーブル記憶部60から取得する。次に、コマンド処理部52は、ファイル管理情報記憶部81を参照し、取得したファイル識別子に対応するEEPROM8の先頭アドレスをファイル管理情報記憶部81から取得する。そして、コマンド処理部52は、取得したEEPROM8の先頭アドレスから順に、受信したデータ(「DGI DATA」)を記憶させる。
In step S <b> 105, the
次に、コマンド処理部52は、受信DGIを過去受信DGI記憶部70に記憶させる(ステップS106)。
次に、ICカード1は、レスポンスを外部装置2に送信する(ステップS107)。すなわち、コマンド処理部52は、データの書き込みが完了したことを示す情報を含むレスポンスを生成し、送信バッファ72に記憶させる。ICカード1の送信処理部53は、送信バッファ72に記憶されている当該レスポンスを、UART4を介して外部装置2に送信する。ステップS107の処理後に、送信処理部53は、処理をステップS101に戻す。
Next, the
Next, the
また、ステップS108において、コマンド処理部52は、STORE DATAコマンドに含まれる「DGI DATA」(図7参照)と、EEPROM8に記憶されているデータとを比較する。すなわち、コマンド処理部52は、「DGI DATA」と、受信DGIに対応するデータ記憶部80のEFに記憶されているデータとを比較し、両データが一致するか否かを判定する。具体的には、コマンド処理部52は、DGIテーブル記憶部60を参照して、受信DGIに対応するEFのファイル識別子をDGIテーブル記憶部60から取得する。次に、コマンド処理部52は、ファイル管理情報記憶部81を参照し、取得したファイル識別子に対応するEEPROM8の先頭アドレスをファイル管理情報記憶部81から取得する。そして、コマンド処理部52は、取得したEEPROM8の先頭アドレスから順に読み出したデータと、受信したデータ(「DGI DATA」)とを比較して、両データが一致するか否かを判定する。
In step S <b> 108, the
次に、ICカード1は、比較結果を示す情報を含むレスポンスを外部装置2に送信する(ステップS109)。すなわち、コマンド処理部52は、上述した比較結果(両データが一致するか否かの判定結果)を示す情報を含むレスポンスを生成し、送信バッファ72に記憶させる。送信処理部53は、送信バッファ72に記憶されている当該レスポンスを、UART4を介して外部装置2に送信する。ステップS109の処理後に、送信処理部53は、処理をステップS101に戻す。
Next, the
また、ステップS110おいて、コマンド処理部52は、他のコマンド処理を実行する。ここで、他のコマンド処理とは、STORE DATAコマンド以外の「CLA」及び「INS」に対応するコマンドの処理を示す。
In step S110, the
次に、ICカード1は、レスポンスを外部装置2に送信する(ステップS111)。すなわち、コマンド処理部52は、コマンド処理の結果を含むレスポンスを生成し、送信バッファ72に記憶させる。送信処理部53は、送信バッファ72に記憶されている当該レスポンスを、UART4を介して外部装置2に送信する。ステップS111の処理後に、送信処理部53は、処理をステップS101に戻す。
Next, the
上述したフローチャートにおいて、ステップS101が、データ記憶部80に記憶させるデータと、データを識別するDGIとを含むSTORE DATAコマンドを、UART4を介して受信する受信ステップに対応する。また、ステップS104が、判定ステップに対応する。判定ステップにおいて、コマンド処理部52は、過去受信DGI記憶部70が記憶するDGIに関連する情報に基づいて、受信ステップによって受信したDGIに対応するデータがデータ記憶部80に既に記憶されているか否かを判定する。また、ステップS105、ステップS106、及びステップS108が、処理ステップに対応する。処理ステップにおいて、コマンド処理部52は、DGIに対応するデータがデータ記憶部80に既に記憶されていない場合に、STORE DATAコマンドに含まれるデータをデータ記憶部80に記憶させる。また、コマンド処理部52は、DGIに対応するデータがデータ記憶部80に既に記憶されている場合に、STORE DATAコマンドに含まれるデータと、データ記憶部80に記憶されているDGIに対応するデータとが一致するか否かを判定する。また、ステップS109が、処理ステップによって判定された一致するか否かの判定結果を示す情報を含む応答を、UART4を介して外部装置2に送信する送信ステップに対応する。
In the flowchart described above, step S101 corresponds to a reception step of receiving via the UART 4 a STORE DATA command including data to be stored in the
なお、外部装置2は、発行工程において、ICカード1に対して、まず、DGI及び書き込むデータを含むSTORE DATAコマンドを送信して、データ記憶部80の当該DGIに対応するEFに、データを記憶させる。そして、外部装置2は、次に、同一のDGI及びデータを含むSTORE DATAコマンドを送信して、前回のSTORE DATAコマンドにおいて、データの書き込みが正常に実行されたか否かを確認する。
In the issuing process, the external device 2 first transmits a STORE DATA command including DGI and data to be written to the
以上説明したように、本実施形態によるICカード1は、データ記憶部80と、受信処理部51(受信部)と、過去受信DGI記憶部70(データ識別子記憶部)と、コマンド処理部52(処理部)と、送信処理部53(送信部)とを備えている。データ記憶部80は、データを記憶する。受信処理部51は、データ記憶部80に記憶させるデータと、データを識別するデータ識別子(例えば、DGI)とを含む書き込み要求(例えば、STORE DATAコマンド)を、外部装置2から受信する。また、過去受信DGI記憶部70は、データ記憶部80に記憶されているデータに対応するDGIに関連する情報(例えば、過去受信DGI)を記憶する。コマンド処理部52は、過去受信DGI記憶部70が記憶する過去受信DGIに基づいて、受信処理部51によって受信したDGIに対応するデータがデータ記憶部80に記憶されているか否かを判定する。コマンド処理部52は、DGIに対応するデータがデータ記憶部80に記憶されていない場合に、STORE DATAコマンドに含まれるデータをデータ記憶部80に記憶させる。また、コマンド処理部52は、受信処理部51によって受信したDGIに対応するデータがデータ記憶部80に記憶されている場合に、STORE DATAコマンドに含まれるデータと、データ記憶部80に記憶されている受信DGIに対応するデータとが一致するか否かを判定する。そして、送信処理部53は、コマンド処理部52によって判定された一致するか否かの判定結果を示す情報を含むレスポンス(応答)を、外部装置2に送信する。
As described above, the
これにより、本実施形態によるICカード1は、同一の書き込み要求(例えば、STORE DATAコマンド)によって、データの書き込みと、書き込んだデータの確認との2種類の処理を実行する。そのため、本実施形態によるICカード1は、書き込んだデータを確認する際に、発行コマンドとは異なる読み出しコマンドなどを使用する必要がなく、外部装置2が対応するコマンドの種類を低減することができる。すなわち、本実施形態によるICカード1は、発行工程に使用するコマンドの種類を低減することができる。
As a result, the
また、本実施形態によるICカード1では、コマンド処理部52が、例えば、STORE DATAコマンドに含まれるデータと、データ記憶部80に記憶されている受信DGIに対応するデータとが一致するか否かを判定する。そのため、本実施形態によるICカード1は、鍵情報やパスワードなどの秘密情報が正常に書き込まれたか否かを検査する際に、ICカード1の外部に、秘密情報を読み出す必要がない。よって、本実施形態によるICカード1は、セキュリティを低下させずに、書き込んだデータを確認することができる。
In the
また、本実施形態では、コマンド処理部52は、STORE DATAコマンドに含まれるデータをデータ記憶部80に記憶させる場合に、STORE DATAコマンドに含まれるDGIに関する情報(例えば、受信DGI)を過去受信DGI記憶部70に記憶させる。
これにより、本実施形態によるICカード1は、例えば、過去受信DGI記憶部70を検索するという簡易な手段により、受信したDGIに対応するデータがデータ記憶部80に記憶されているか否かを判定することができる。
Further, in the present embodiment, when the
Thereby, the
また、本実施形態では、DGIに関連する情報には、DGIが含まれる。すなわち、過去受信DGI記憶部70は、DGIを、DGIに関連する情報として記憶する。コマンド処理部52は、STORE DATAコマンドに含まれるDGIが、過去受信DGI記憶部70に記憶されているか否かに基づいて、DGIに対応するデータがデータ記憶部80に記憶されているか否かを判定する。
これにより、本実施形態によるICカード1は、DGIが過去受信DGI記憶部70に記憶されているか否かというより簡易な手段により、受信したDGIに対応するデータがデータ記憶部80に記憶されているか否かを判定することができる。
In the present embodiment, the information related to DGI includes DGI. That is, the past received
Thereby, in the
また、本実施形態では、過去受信DGI記憶部70は、揮発性メモリ(例えば、RAM7)である。
これにより、本実施形態によるICカード1は、リセットすることにより、過去受信DGI記憶部70に記憶している過去受信DGIを消去することができる。よって、本実施形態によるICカード1は、発行工程に使用する過去受信DGIを消去できるので、発行工程の影響を残さずに、アプリケーションに利用することができる。
In the present embodiment, the past received
Thereby, the
また、本実施形態によれるICモジュール10は、上述したUART4(通信部)と、受信処理部51(受信部)と、過去受信DGI記憶部70(データ識別子記憶部)と、コマンド処理部52(処理部)と、送信処理部53(送信部)とを備えている。
これにより、本実施形態によれるICモジュール10は、ICカード1と同様の効果を奏する。
The
Thereby, the
(第2の実施形態)
次に、図面を参照して、第2の実施形態のICカードについて説明する。
第2の実施形態では、上述した過去受信DGI記憶部70を用いずに、受信したDGIに対応するデータがデータ記憶部80に既に記憶されているか否かを判定する一例について説明する。なお、本実施形態では、DGIに関連する情報は、DGIに対応するデータ領域に既にデータが記憶されているか否かを示す情報である。
(Second Embodiment)
Next, an IC card according to the second embodiment will be described with reference to the drawings.
In the second embodiment, an example will be described in which it is determined whether data corresponding to the received DGI is already stored in the
図9は、第2の実施形態のICカード1aの機能構成例を示すブロック図である。
図9に示すように、ICカード1aは、UART4と、制御部50aと、DGIテーブル記憶部60と、データ記憶部80と、ファイル管理情報記憶部81aとを備えている。
なお、本実施形態のICカード1aの外観図及びハード構成は、図1及び図2に示す第1の実施形態と同様であるのでその説明を省略する。また、図9において、図3に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
FIG. 9 is a block diagram illustrating a functional configuration example of the
As shown in FIG. 9, the
The external view and hardware configuration of the
ファイル管理情報記憶部81a(データ識別子記憶部の一例)は、例えば、EEPROM8により構成され、図10に示すように、「ファイル識別子」と、「ファイル格納先のEEPROM8の先頭アドレス」と、「書き込み済みフラグ」とを対応付けて記憶する。ここで、「書き込み済みフラグ」は、DGIに対応するEF(データ領域)に既にデータが記憶されているか否かを示す情報である。例えば、「書き込み済みフラグ」が“1”である場合に、当該EFにデータが書き込み済みであり、「書き込み済みフラグ」が“0”である場合に、当該EFにデータが未書き込みである。このように、ファイル管理情報記憶部81aは、EFと、当該EFに対応するEEPROM8の先頭アドレスとを対応付けて記憶するとともに、既にデータが記憶されているか否かを示す情報を記憶する。すなわち、ファイル管理情報記憶部81aは、DGIに対応するEFに既にデータが記憶されているか否かを示す情報を、DGIに関連する情報として記憶する。なお、ファイル管理情報記憶部81aには、例えば、EFが作成(構築)された際に、作成されたEFに対する「ファイル識別子」と、「ファイル格納先のEEPROM8の先頭アドレス」と“0”の「書き込み済みフラグ」とが、追加されて記憶される。 The file management information storage unit 81a (an example of a data identifier storage unit) is composed of, for example, the EEPROM 8, and as shown in FIG. 10, “file identifier”, “start address of the file storage destination EEPROM 8”, and “write "Completed flag" is stored in association with each other. Here, the “written flag” is information indicating whether data is already stored in the EF (data area) corresponding to the DGI. For example, when the “written flag” is “1”, the data has been written to the EF, and when the “written flag” is “0”, the data has not been written to the EF. As described above, the file management information storage unit 81a stores the EF and the start address of the EEPROM 8 corresponding to the EF in association with each other, and also stores information indicating whether data is already stored. That is, the file management information storage unit 81a stores information indicating whether or not data is already stored in the EF corresponding to the DGI as information related to the DGI. In the file management information storage unit 81a, for example, when the EF is created (constructed), the “file identifier” for the created EF, “the top address of the EEPROM 8 as the file storage destination”, and “0” are stored. A “written flag” is added and stored.
図10は、本実施形態のファイル管理情報記憶部81aが記憶するデータ例を示す図である。
図10に示す例では、「ファイル識別子」が“0x0001”であるEFは、「ファイル格納先のEEPROM8の先頭アドレス」が“0x805000”であることを示している。また、この「ファイル識別子」が“0x0001”であるEFは、「書き込み済みフラグ」が“1”であり、既にデータが書き込み済みである(STORE DATAコマンドが既に実行されている)ことお示している。また、「ファイル識別子」が“0x0003”であるEFは、「ファイル格納先のEEPROM8の先頭アドレス」が“0x804A50”であることを示している。また、この「ファイル識別子」が“0x0003”であるEFは、「書き込み済みフラグ」が“0”であり、まだデータが書き込まれていない(STORE DATAコマンドがまだ実行されていない)ことお示している。
FIG. 10 is a diagram illustrating an example of data stored in the file management information storage unit 81a of the present embodiment.
In the example shown in FIG. 10, the EF whose “file identifier” is “0x0001” indicates that the “start address of the file storage destination EEPROM 8” is “0x805000”. In addition, the EF whose “file identifier” is “0x0001” indicates that the “written flag” is “1” and the data has already been written (STORE DATA command has already been executed). Yes. An EF with a “file identifier” of “0x0003” indicates that the “first address of the file storage destination EEPROM 8” is “0x804A50”. In addition, the EF whose “file identifier” is “0x0003” indicates that the “written flag” is “0” and data has not been written yet (STORE DATA command has not yet been executed). Yes.
図9に戻り、制御部50aは、例えば、CPU5と、RAM7と、ROM6又はEEPROM8とにより実現され、ICカード1aを統括的に制御する。制御部50aは、例えば、受信処理部51と、コマンド処理部52aと、送信処理部53とを備えている。
コマンド処理部52a(処理部の一例)は、基本的な機能は、第1の実施形態のコマンド処理部52と同様であるが、STORE DATAコマンドが既に実行されているか否かの判定方法が異なる。コマンド処理部52aは、コマンド処理部52は、DGIに対応するEFに既にデータが記憶されているか否かを示す情報(例えば、「書き込み済みフラグ」)に基づいて、DGIに対するSTORE DATAコマンドが既に実行されているか否かを判定する。
Returning to FIG. 9, the
The basic function of the
例えば、コマンド処理部52aは、まず、DGIテーブル記憶部60を参照して、受信DGIに対応するEFのファイル識別子をDGIテーブル記憶部60から取得する。次に、コマンド処理部52aは、ファイル管理情報記憶部81aを参照し、取得したファイル識別子に対応する書き込み済みフラグをファイル管理情報記憶部81aから取得する。コマンド処理部52aは、取得した書き込み済みフラグが“1”である場合に、対応するデータがデータ記憶部80に既に記憶されていると判定する。また、コマンド処理部52aは、取得した書き込み済みフラグが“0”である場合に、STORE DATAコマンドがまだ実行されていないと判定する。このように、コマンド処理部52aは、受信したDGIを用いてファイル管理情報記憶部81aを参照して得られる、DGIに対応するデータ領域(EF)に既にデータが記憶されているか否かを示す情報(書き込み済みフラグ)に基づいて、DGIに対応するデータがデータ記憶部80に既に記憶されているか否かを判定する。
For example, the
また、コマンド処理部52aは、受信したDGIに対応するデータがデータ記憶部80に既に記憶されていない場合に、STORE DATAコマンドに含まれるデータをデータ記憶部80に記憶させる(書き込む)とともに、ファイル管理情報記憶部81aの上述した書き込み済みフラグを“1”に変更する。このように、コマンド処理部52aは、STORE DATAコマンドに含まれるデータをデータ記憶部80に記憶させる場合に、STORE DATAコマンドに含まれるDGIに関する情報(例えば、書き込み済みフラグの“1”)をファイル管理情報記憶部81aに記憶させる。
The
次に、図11を参照して、本実施形態のICカード1aの動作について説明する。
図11は、本実施形態のICカード1aのSTORE DATAコマンド処理の一例を示すフローチャートである。
図11において、ステップS201からステップS203までの処理は、図8に示すステップS101からステップS103までの処理と同様であるので、ここではその説明を省略する。
Next, the operation of the
FIG. 11 is a flowchart showing an example of the STORE DATA command processing of the
In FIG. 11, the process from step S201 to step S203 is the same as the process from step S101 to step S103 shown in FIG.
ステップS204において、コマンド処理部52aは、受信したDGIに対応する書き込み済みフラグが“1”であるか否かを判定する。すなわち、コマンド処理部52aは、例えば、DGIテーブル記憶部60を参照して、受信DGIに対応するEFのファイル識別子をDGIテーブル記憶部60から取得する。コマンド処理部52aは、ファイル管理情報記憶部81aを参照し、取得したファイル識別子に対応する書き込み済みフラグが“1”であるか否かを判定する。コマンド処理部52aは、受信したDGIに対応する書き込み済みフラグが“1”である場合(ステップS204:YES)に、当該DGIに対応するデータがデータ記憶部80に既に記憶されていると判定し、処理をステップS208に進める。また、コマンド処理部52aは、受信したDGIに対応する書き込み済みフラグが“0”である場合(ステップS204:NO)に、当該DGIに対応するデータがデータ記憶部80にまだ記憶されていないと判定し、処理をステップS205に進める。
In step S204, the
続くステップS205の処理、及びステップS207からステップS211までの処理は、図8に示すステップS105の処理、及びステップS107からステップS111までの処理と同様であるので、ここではその説明を省略する。
ステップS206において、コマンド処理部52aは、ファイル管理情報記憶部81a内の受信したDGIに対応する書き込み済みフラグに“1”を記憶させる。すなわち、コマンド処理部52aは、受信したDGIに対応する書き込み済みフラグを“1”に変更する。
The subsequent processing in step S205 and the processing from step S207 to step S211 are the same as the processing in step S105 and the processing from step S107 to step S111 shown in FIG.
In step S206, the
以上説明したように、本実施形態によるICカード1aは、UART4(通信部)と、受信処理部51(受信部)と、ファイル管理情報記憶部81a(データ識別子記憶部)と、コマンド処理部52a(処理部)と、送信処理部53(送信部)とを備えている。
これにより、本実施形態によるICカード1aは、第1の実施形態と同様に、書き込んだデータを確認する際に、発行コマンドとは異なる読み出しコマンドなどを使用する必要がなく、外部装置2が対応するコマンドの種類を低減することができる。すなわち、本実施形態によるICカード1aは、第1の実施形態と同様に、発行工程に使用するコマンドの種類を低減することができる。
As described above, the
As a result, the
また、本実施形態では、DGIに関連する情報には、DGIに対応するデータ領域(例えば、EF)に既にデータが記憶されているか否かを示す情報(例えば、書き込み済みフラグ)が含まれる。すなわち、ファイル管理情報記憶部81aは、DGIに対応するデータ領域(例えば、EF)に既にデータが記憶されているか否かを示す情報(例えば、書き込み済みフラグ)を、DGIに関連する情報として記憶する。コマンド処理部52aは、受信したDGIを用いてファイル管理情報記憶部81aを参照して得られる、DGIに対応するデータ領域(例えば、EF)に既にデータが記憶されているか否かを示す情報(例えば、書き込み済みフラグ)に基づいて、DGIに対応するデータがデータ記憶部80に既に記憶されているか否かを判定する。
これにより、本実施形態によるICカード1aは、DGIに対応するデータ領域(例えば、EF)に既にデータが記憶されているか否かを示す情報(例えば、書き込み済みフラグ)により簡易な手段により、DGIに対応するデータがデータ記憶部80に既に記憶されているか否かを判定することができる。
In the present embodiment, the information related to DGI includes information (for example, a written flag) indicating whether data is already stored in a data area (for example, EF) corresponding to DGI. That is, the file management information storage unit 81a stores information (for example, a written flag) indicating whether or not data is already stored in a data area (for example, EF) corresponding to DGI as information related to DGI. To do. The
As a result, the
また、本実施形態では、ファイル管理情報記憶部81a(データ識別子記憶部)は、電気的に書き換え可能な不揮発性メモリ(例えば、EEPROM8)である。
これにより、本実施形態によるICカード1aは、リセットされてもDGIに関連する情報が消えないため、発行工程の途中でリセットを行う場合や、発行工程を複数の工程に分割する場合などに対応することができる。
In the present embodiment, the file management information storage unit 81a (data identifier storage unit) is an electrically rewritable nonvolatile memory (for example, EEPROM 8).
As a result, the
上記の第1の実施形態では過去受信DGI記憶部70は、RAM7により構成される例を説明したが、電気的に書き換え可能な不揮発性メモリ(例えば、EEPROM8)によって構成されるようにしてもよい。これにより、ICカード1は、第2の実施形態と同様に、リセットされても過去受信DGIが消えないため、発行工程の途中でリセットを行う場合や、発行工程を複数の工程に分割する場合などに対応することができる。
In the first embodiment, the past reception
また、上記の各実施形態において、書き込み要求(書き込みコマンド)の一例として、STORE DATAコマンドにおける例を説明したが、他の書き込み要求(書き込みコマンド)に対して適用してもよい。
また、上記の各実施形態において、ICカード1(1a)は、コンタクト部3を介して外部装置2と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置2と通信するように構成してもよい。
In each of the above embodiments, the example of the STORE DATA command has been described as an example of the write request (write command). However, the present embodiment may be applied to other write requests (write commands).
In each of the above embodiments, the IC card 1 (1a) has been described as communicating with the external device 2 via the contact unit 3. You may comprise so that it may communicate.
また、上記の各実施形態において、ICカード1(1a)は、書き換え可能な不揮発性メモリとして、EEPROM8を備える構成としたが、これに限定されるものではない。例えば、ICカード1(1a)は、EEPROM8の代わりに、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory:強誘電体メモリ)などを備えてもよい。 In each of the above embodiments, the IC card 1 (1a) is configured to include the EEPROM 8 as a rewritable nonvolatile memory, but the present invention is not limited to this. For example, the IC card 1 (1a) may include a flash memory, a FeRAM (Ferroelectric Random Access Memory), etc. instead of the EEPROM 8.
以上説明した少なくともひとつの実施形態によれば、データ記憶部80に記憶させるデータと、データを識別するDGIとを含むSTORE DATAコマンドを、外部装置2から受信する受信処理部51と、データ記憶部80に記憶されているデータに対応するDGIに関連する情報を記憶する過去受信DGI記憶部70と、過去受信DGI記憶部70が記憶するDGIに関連する情報に基づいて、受信したDGIに対応するデータがデータ記憶部80に記憶されているか否かを判定し、DGIに対応するデータがデータ記憶部80に記憶されていない場合に、STORE DATAコマンドに含まれるデータをデータ記憶部80に記憶させ、DGIに対応するデータがデータ記憶部80に記憶されている場合に、STORE DATAコマンドに含まれるデータと、データ記憶部80に記憶されているDGIに対応するデータとが一致するか否かを判定するコマンド処理部52と、コマンド処理部52によって判定された一致するか否かの判定結果を示す情報を含むレスポンスを、外部装置2に送信する送信処理部53とを持つことにより、発行工程に使用するコマンドの種類を低減することができる。
According to at least one embodiment described above, the
上記実施形態は、以下のように表現することができる。
コンタクト部を介して外部装置と通信する通信部と、
データ記憶部に記憶させるデータと、前記データを識別するデータ識別子とを含む書き込み要求を、前記通信部を介して受信する受信部と、
前記データ記憶部に記憶されているデータに対応する前記データ識別子を記憶するデータ識別子記憶部と、
前記受信部によって受信した前記データ識別子に対する前記書き込み要求に含まれる前記データ識別子が、前記データ識別子記憶部に記憶されていない場合に、前記書き込み要求に含まれるデータを前記データ記憶部に記憶させ、前記データ識別子が前記データ識別子記憶部に記憶されている場合に、前記書き込み要求に含まれるデータと、前記データ記憶部に記憶されている前記データ識別子に対応するデータとが一致するか否かを判定する処理部と、
前記処理部によって判定された前記一致するか否かの判定結果を示す情報を含む応答を、前記通信部を介して前記外部装置に送信する送信部と
を備えるICカード。
The above embodiment can be expressed as follows.
A communication unit that communicates with an external device via a contact unit;
A receiving unit for receiving a write request including data to be stored in a data storage unit and a data identifier for identifying the data via the communication unit;
A data identifier storage unit for storing the data identifier corresponding to the data stored in the data storage unit;
When the data identifier included in the write request for the data identifier received by the reception unit is not stored in the data identifier storage unit, the data included in the write request is stored in the data storage unit, If the data identifier is stored in the data identifier storage unit, whether or not the data included in the write request matches the data corresponding to the data identifier stored in the data storage unit A processing unit for determining;
An IC card comprising: a transmission unit that transmits a response including information indicating the determination result of whether or not they are determined determined by the processing unit to the external device via the communication unit.
なお、実施形態におけるICカード1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したICカード1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
In addition, the program for realizing the function of each component included in the IC card 1 (1a) in the embodiment is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system, By executing, the processing in each configuration included in the IC card 1 (1a) described above may be performed. Here, “loading and executing a program recorded on a recording medium into a computer system” includes installing the program in the computer system. The “computer system” here includes an OS and hardware such as peripheral devices.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalents thereof.
1,1a…ICカード、2…外部装置、3…コンタクト部、4…UART、5…CPU、6…ROM、7…RAM、8…EEPROM、10‥ICモジュール、50,50a…制御部、51…受信処理部、52,52a…コマンド処理部、53…送信処理部、60…DGIテーブル記憶部、70…過去受信DGI記憶部、71…受信バッファ、72…送信バッファ、80…データ記憶部、81,81a…ファイル管理情報記憶部、100…ICチップ、PT…カード基材
DESCRIPTION OF
Claims (9)
前記データ記憶部に記憶させるデータと、前記データを識別するデータ識別子とを含む書き込み要求を、外部装置から受信する受信部と、
前記データ記憶部に記憶されているデータに対応する前記データ識別子に関連する情報を記憶するデータ識別子記憶部と、
前記データ識別子記憶部が記憶する前記データ識別子に関連する情報に基づいて、前記受信部によって受信した前記データ識別子に対応するデータが前記データ記憶部に記憶されているか否かを判定し、前記データ識別子に対応するデータが前記データ記憶部に記憶されていない場合に、前記書き込み要求に含まれるデータを前記データ記憶部に記憶させ、前記データ識別子に対応するデータが前記データ記憶部に記憶されている場合に、前記書き込み要求に含まれるデータと、前記データ記憶部に記憶されている前記データ識別子に対応するデータとが一致するか否かを判定する処理部と、
前記処理部によって判定された前記一致するか否かの判定結果を示す情報を含む応答を前記外部装置に送信する送信部と
を備えるICカード。 A data storage unit for storing data;
A receiving unit for receiving a write request including data to be stored in the data storage unit and a data identifier for identifying the data from an external device;
A data identifier storage unit for storing information related to the data identifier corresponding to the data stored in the data storage unit;
Based on information related to the data identifier stored in the data identifier storage unit, it is determined whether data corresponding to the data identifier received by the receiving unit is stored in the data storage unit, and the data When data corresponding to an identifier is not stored in the data storage unit, data included in the write request is stored in the data storage unit, and data corresponding to the data identifier is stored in the data storage unit. A processing unit that determines whether data included in the write request matches data corresponding to the data identifier stored in the data storage unit,
An IC card comprising: a transmission unit configured to transmit a response including information indicating the determination result of whether or not they match determined by the processing unit to the external device.
請求項1に記載のICカード。 The IC according to claim 1, wherein when the data included in the write request is stored in the data storage unit, the processing unit stores information on the data identifier included in the write request in the data identifier storage unit. card.
前記処理部は、
前記書き込み要求に含まれる前記データ識別子が、前記データ識別子記憶部に記憶されているか否かに基づいて、前記データ識別子に対応するデータが前記データ記憶部に記憶されているか否かを判定する
請求項1又は請求項2に記載のICカード。 The data identifier storage unit stores the data identifier as information related to the data identifier,
The processor is
And determining whether data corresponding to the data identifier is stored in the data storage unit based on whether the data identifier included in the write request is stored in the data identifier storage unit. The IC card according to claim 1 or 2.
前記処理部は、受信した前記データ識別子を用いて前記データ識別子記憶部を参照して得られる、前記データ識別子に対応する前記データ記憶部のデータ領域に既にデータが記憶されているか否かを示す情報に基づいて、前記データ識別子に対応するデータが前記データ記憶部に記憶されているか否かを判定する
請求項1又は請求項2に記載のICカード。 The data identifier storage unit stores information indicating whether data is already stored in a data area of the data storage unit corresponding to the data identifier as information related to the data identifier,
The processing unit indicates whether data is already stored in a data area of the data storage unit corresponding to the data identifier obtained by referring to the data identifier storage unit using the received data identifier The IC card according to claim 1, wherein it is determined based on the information whether data corresponding to the data identifier is stored in the data storage unit.
請求項1乃至請求項4のいずれか一項に記載のICカード。 The IC card according to any one of claims 1 to 4, wherein the data identifier storage unit is a volatile memory.
請求項1乃至請求項4のいずれか一項に記載のICカード。 The IC card according to any one of claims 1 to 4, wherein the data identifier storage unit is an electrically rewritable nonvolatile memory.
前記データ記憶部に記憶させるデータと、前記データを識別するデータ識別子とを含む書き込み要求を、外部装置から受信する受信部と、
前記データ記憶部に記憶されているデータに対応する前記データ識別子に関連する情報を記憶するデータ識別子記憶部と、
前記データ識別子記憶部が記憶する前記データ識別子に関連する情報に基づいて、前記受信部によって受信した前記データ識別子に対応するデータが前記データ記憶部に記憶されているか否かを判定し、前記データ識別子に対応するデータが前記データ記憶部に記憶されていない場合に、前記書き込み要求に含まれるデータを前記データ記憶部に記憶させ、前記データ識別子に対応するデータが前記データ記憶部に記憶されている場合に、前記書き込み要求に含まれるデータと、前記データ記憶部に記憶されている前記データ識別子に対応するデータとが一致するか否かを判定する処理部と、
前記処理部によって判定された前記一致するか否かの判定結果を示す情報を含む応答を前記外部装置に送信する送信部と
を備えるICモジュール。 A data storage unit for storing data;
A receiving unit for receiving a write request including data to be stored in the data storage unit and a data identifier for identifying the data from an external device;
A data identifier storage unit for storing information related to the data identifier corresponding to the data stored in the data storage unit;
Based on information related to the data identifier stored in the data identifier storage unit, it is determined whether data corresponding to the data identifier received by the receiving unit is stored in the data storage unit, and the data When data corresponding to an identifier is not stored in the data storage unit, data included in the write request is stored in the data storage unit, and data corresponding to the data identifier is stored in the data storage unit. A processing unit that determines whether data included in the write request matches data corresponding to the data identifier stored in the data storage unit,
An IC module comprising: a transmission unit that transmits a response including information indicating the determination result of whether or not they match determined by the processing unit to the external device.
前記ICモジュールが埋め込まれたカード本体と
を備えるICカード。 An IC module according to claim 7;
An IC card comprising: a card body in which the IC module is embedded.
データ記憶部に記憶させるデータと、前記データを識別するデータ識別子とを含む書き込み要求を、外部装置から受信する受信ステップと、
前記データ識別子記憶部が記憶する前記データ識別子に関連する情報に基づいて、前記受信ステップによって受信した前記データ識別子に対応するデータが前記データ記憶部に記憶されているか否かを判定する判定ステップと、
前記データ識別子に対応するデータが前記データ記憶部に記憶されていない場合に、前記書き込み要求に含まれるデータを前記データ記憶部に記憶させ、前記データ識別子に対応するデータが前記データ記憶部に記憶されている場合に、前記書き込み要求に含まれるデータと、前記データ記憶部に記憶されている前記データ識別子に対応するデータとが一致するか否かを判定する処理ステップと、
前記処理ステップによって判定された前記一致するか否かの判定結果を示す情報を含む応答を前記外部装置に送信する送信ステップと
を実行させるためのプログラム。 A data storage unit that stores data; and a data identifier storage unit that stores information related to the data identifier corresponding to the data stored in the data storage unit, the data identifier identifying the data To the computer that the IC card has,
A reception step of receiving a write request including data to be stored in the data storage unit and a data identifier for identifying the data from an external device;
A determination step for determining whether data corresponding to the data identifier received by the reception step is stored in the data storage unit based on information related to the data identifier stored in the data identifier storage unit; ,
When data corresponding to the data identifier is not stored in the data storage unit, data included in the write request is stored in the data storage unit, and data corresponding to the data identifier is stored in the data storage unit A process step for determining whether or not the data included in the write request and the data corresponding to the data identifier stored in the data storage unit match,
A program for executing a transmission step of transmitting a response including information indicating the determination result of whether or not they are determined determined by the processing step to the external device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015198439A JP6499052B2 (en) | 2015-10-06 | 2015-10-06 | IC card, IC module, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015198439A JP6499052B2 (en) | 2015-10-06 | 2015-10-06 | IC card, IC module, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017072932A JP2017072932A (en) | 2017-04-13 |
JP6499052B2 true JP6499052B2 (en) | 2019-04-10 |
Family
ID=58537710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015198439A Active JP6499052B2 (en) | 2015-10-06 | 2015-10-06 | IC card, IC module, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6499052B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7468757B1 (en) | 2023-06-29 | 2024-04-16 | 大日本印刷株式会社 | ELECTRONIC INFORMATION STORAGE MEDIUM, IC CHIP, IC CARD, RESPONSE TRANSMISSION METHOD, AND PROGRAM |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03175596A (en) * | 1989-12-04 | 1991-07-30 | Toshiba Corp | Portable electronic equipment |
JP5454933B2 (en) * | 2009-09-11 | 2014-03-26 | 株式会社東芝 | Portable electronic device, IC card, and control method for portable electronic device |
-
2015
- 2015-10-06 JP JP2015198439A patent/JP6499052B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017072932A (en) | 2017-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7775423B2 (en) | Portable electronic device and control method of portable electronic device | |
JP5976458B2 (en) | IC card and portable electronic device | |
KR101783526B1 (en) | Ic card, electronic device and portable electronic device | |
JP6499052B2 (en) | IC card, IC module, and program | |
JP7020969B2 (en) | Portable electronic devices and IC cards | |
JP2020013212A (en) | Portable electronic device, IC card, and issuing device | |
JP2016212779A (en) | Portable electronic device and IC card | |
JP2008299416A (en) | Portable electronic device, file access method in portable electronic device, and ic card | |
JP7005934B2 (en) | Electronic information storage medium, IC card, data transmission method, data writing method, data transmission program and data writing program | |
US10068168B2 (en) | IC card and IC module | |
JP4950730B2 (en) | Portable electronic device, file access method and IC card in portable electronic device | |
JP5932588B2 (en) | IC card, portable electronic device, and IC card processing device | |
JP7559916B1 (en) | ELECTRONIC INFORMATION STORAGE MEDIUM, IC CHIP, IC CARD, ELEMENT DATA STORAGE METHOD, AND PROGRAM | |
JP4533665B2 (en) | Portable electronic device | |
JP7439847B2 (en) | Electronic information storage medium, key data setting method, and program | |
JP7468757B1 (en) | ELECTRONIC INFORMATION STORAGE MEDIUM, IC CHIP, IC CARD, RESPONSE TRANSMISSION METHOD, AND PROGRAM | |
JP6556489B2 (en) | IC card, IC module, issuing device, issuing method, and issuing program | |
JP2014059806A (en) | Ic card, portable electronic device, and ic card processor | |
US20200057732A1 (en) | Ic card and method of controlling ic card | |
JP2019160189A (en) | Portable electronic device and IC card | |
JP6039036B2 (en) | IC card, portable electronic device, and control method of IC card | |
JP2019160190A (en) | Portable electronic device and IC card | |
JP2006293706A (en) | Multi-application ic card with application updating function | |
JP2016126441A (en) | Portable electronic device | |
JP2014063302A (en) | Ic card and portable electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170912 Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170912 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181114 |
|
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: 20190212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190314 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6499052 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |