JP2019028602A - Electronic information storage medium, ic card, update method by electronic information storage medium and update program - Google Patents

Electronic information storage medium, ic card, update method by electronic information storage medium and update program Download PDF

Info

Publication number
JP2019028602A
JP2019028602A JP2017145562A JP2017145562A JP2019028602A JP 2019028602 A JP2019028602 A JP 2019028602A JP 2017145562 A JP2017145562 A JP 2017145562A JP 2017145562 A JP2017145562 A JP 2017145562A JP 2019028602 A JP2019028602 A JP 2019028602A
Authority
JP
Japan
Prior art keywords
instance
application
data
instance data
saving
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.)
Pending
Application number
JP2017145562A
Other languages
Japanese (ja)
Inventor
佑介 渡辺
Yusuke Watanabe
佑介 渡辺
深谷 宗志
Muneyuki Fukaya
宗志 深谷
直登 船津
Naoto Funatsu
直登 船津
満里子 野地
Mariko Noji
満里子 野地
憲介 高橋
Kensuke Takahashi
憲介 高橋
勇利 穂浪
Yuri Honami
勇利 穂浪
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 JP2017145562A priority Critical patent/JP2019028602A/en
Publication of JP2019028602A publication Critical patent/JP2019028602A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide an electronic information storage medium and the like by which an external device can grasp data necessary to be registered additionally other than held data easily when holding data that do not need to be changed before update and after update without deletion and processing of restoration of the held data is conducted after update of an application.SOLUTION: Instance data that do not need to be changed before update and after update is held without deletion. and when the held instance data is restored after update of an application, a list of instance data lacking in the held instance data among instance data necessary for new application instance is generated, then information regarding the list is outputted to an external device.SELECTED DRAWING: Figure 5

Description

IC(Integrated Circuit)チップ等の電子情報記憶媒体の技術分野に関する。   The present invention relates to the technical field of electronic information storage media such as IC (Integrated Circuit) chips.

従来、ICチップが組み込まれたICカードにおいて、ICチップのROMにICカードOS(Operating System)を記憶し、同じくICチップの不揮発性メモリに複数のアプリケーションを記憶するマルチアプリケーション型ICカードが普及し始めている。マルチアプリケーション型ICカードでは、不揮発性メモリにアプリケーションを記憶することから、アプリケーションを追加したり削除したりすることが比較的容易である。   Conventionally, in an IC card in which an IC chip is incorporated, a multi-application type IC card in which an IC card OS (Operating System) is stored in a ROM of the IC chip and a plurality of applications are also stored in a nonvolatile memory of the IC chip is widely used. I'm starting. In a multi-application type IC card, since an application is stored in a nonvolatile memory, it is relatively easy to add or delete an application.

また、ICチップに搭載されたアプリケーションに何らかの不具合が見つかった場合にそれに対処することを目的として、又は、アプリケーションに機能を追加することを目的としてアプリケーションをアップデート(アップグレード)することがある。特許文献1には、アプリケーションのアップデート(更新)機能を備えたマルチアプリケーションICチップに関する技術が開示されている。具体的には、ICチップがプログラムコードにおける更新対象部分を特定するためのアドレス(例えば、ページ番号)と、当該更新対象部分に上書きするプログラムコードをサーバから受け取り、受け取ったアドレスで特定される部分を受け取ったプログラムコードで上書きする技術が開示されている。   Further, there is a case where an application is updated (upgraded) for the purpose of dealing with a case where a defect is found in the application mounted on the IC chip or for the purpose of adding a function to the application. Patent Document 1 discloses a technique related to a multi-application IC chip having an application update function. Specifically, an address (for example, a page number) for the IC chip to specify an update target part in the program code and a program code for overwriting the update target part are received from the server, and the part specified by the received address A technique for overwriting the program code with the received program code is disclosed.

特開2006−293706号公報JP 2006-293706 A

ところが、特許文献1の技術では、更新対象部分を上書きプログラムで上書きするため、上書きプログラムのデータ量が更新対象部分のデータ量を上回っている場合に更新を行うことができない場合がある。   However, in the technique of Patent Document 1, since the update target portion is overwritten by the overwrite program, there are cases where the update cannot be performed when the data amount of the overwrite program exceeds the data amount of the update target portion.

一方で、アプリケーションをアップデートする他の手法として、プログラムと当該プログラムで使用するデータの全てを一旦削除して、アップデート版のアプリケーションをクリーンインストールするという方法もある。この方法の場合、アップデート前のプログラムのデータ量よりもアップデート後のプログラムのデータ量が大きい場合であってもアップデートが可能となる。   On the other hand, as another method of updating the application, there is a method of deleting the program and all the data used in the program and then performing a clean installation of the updated version of the application. In the case of this method, the update is possible even when the data amount of the program after the update is larger than the data amount of the program before the update.

しかしながら、アプリケーションに関する全てのデータを削除してから、クリーンインストールする場合、アップデート前とアップデート後で変更する必要のないデータについても新たにダウンロードする必要があり、通信コストが増大するという問題がある。   However, when performing a clean installation after deleting all the data related to the application, it is necessary to newly download data that does not need to be changed before and after the update, resulting in an increase in communication cost.

そこで、アップデート前とアップデート後で変更する必要のないデータは削除せずにICチップ内に保持しておき、アプリケーションのアップデート後に保持しておいたデータを関連付ける対策が考えられる。ところが、アップデート後のアプリケーションに、保持しておいたデータ以外にも追加で必要なデータが存在する場合には、そのままではアプリケーションを正常に動作させることができないため、追加で必要なデータを追加する必要がある。この場合、アップデートをサポートするサーバ等の外部機器は、追加で必要なデータを順次、登録コマンドによりICカードに登録していくこととなるが、その途中でICカードへの電源供給が断たれるなどして登録のための一連の処理が中断した場合、何れのデータまで登録したかを外部機器側で逐次管理しておくか、登録したデータを個別に読み出して確認するしかない。   In view of this, data that does not need to be changed before and after the update can be stored in the IC chip without being deleted, and a measure for associating the data stored after the application update can be considered. However, if the updated application contains additional necessary data in addition to the stored data, the application cannot be operated normally as it is, so the additional necessary data is added. There is a need. In this case, an external device such as a server that supports the update sequentially registers additional necessary data in the IC card by a registration command, but the power supply to the IC card is cut off in the middle. For example, when a series of processing for registration is interrupted, it is only possible to sequentially manage what data has been registered on the external device side or to read and confirm the registered data individually.

そこで、本発明は、アップデート前とアップデート後で変更する必要のないデータを削除せずに保持しておき、アプリケーションのアップデート後に当該保持しておいたデータを復元する処理を行う場合において、保持していたデータ以外に追加で登録する必要のあるデータを外部機器が容易に把握することができる電子情報記憶媒体等を提供することを課題とする。   Therefore, the present invention retains data that does not need to be changed before and after the update without deleting it, and retains it when performing the process of restoring the retained data after updating the application. It is an object of the present invention to provide an electronic information storage medium or the like that allows an external device to easily grasp data that needs to be additionally registered in addition to the previously stored data.

上記課題を解決するために、請求項1に記載の発明は、アプリケーションプログラムと、アプリケーションインスタンスと、前記アプリケーションインスタンスが使用するインスタンスデータと、を記憶する記憶手段と、前記記憶手段に記憶されているインスタンスデータを当該記憶手段の別の記憶領域に退避する退避処理を実行する退避手段と、前記退避処理の後に、前記記憶手段に記憶されているアプリケーションプログラムとアプリケーションインスタンスとを削除する削除処理を実行する削除手段と、前記アプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段と、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段と、前記ロード処理の後に、前記退避手段が退避させたインスタンスデータを前記新アプリケーションインスタンスが使用可能な位置に記憶させる復元処理を実行する復元手段と、新アプリケーションインスタンスに必要なインスタンスデータのうち、前記退避させたインスタンスデータに不足しているインスタンスデータのリストを作成するリスト作成手段と、前記リストの情報を外部機器に出力する出力手段と、を備えることを特徴とする。   In order to solve the above-mentioned problem, the invention according to claim 1 is stored in the storage unit, a storage unit that stores an application program, an application instance, and instance data used by the application instance. A save unit that executes save processing for saving the instance data to another storage area of the storage unit, and a deletion process that deletes the application program and application instance stored in the storage unit are executed after the save process. Deleting means, a load means for executing a load process for storing a new application program, which is a new version of the application program, in the storage means, and stored in the storage means after the deletion process and the load process New An installation unit that executes an installation process for generating a new application instance of a new version based on an application program and storing the new application instance in the storage unit; and the instance data saved by the saving unit after the loading process is stored in the new application instance A restoring means for executing a restoring process for storing the data in a usable location, and a list creating means for creating a list of instance data that is insufficient in the saved instance data among the instance data required for the new application instance; Output means for outputting the information of the list to an external device.

請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記復元処理の何れかの処理を実行中に、外部機器から前記アプリケーションインスタンスを選択するコマンドを受信した場合に、エラーレスポンスを返信するエラー返信手段を更に備えることを特徴とする。   A second aspect of the present invention is the electronic information storage medium according to the first aspect, wherein the save process, the delete process, the load process, the install process, or the restore process is being executed. In addition, an error return means for returning an error response when receiving a command for selecting the application instance from an external device is further provided.

請求項3に記載の発明は、請求項1又は2に記載の電子情報記憶媒体であって、前記出力手段は、前記外部機器から、新アプリケーションインスタンスに必要なインスタンスデータのうち、前記退避させたインスタンスデータに不足しているインスタンスデータが無いかを確認するコマンドを受信した場合に、前記リストの情報を当該外部機器に出力することを特徴とする。   The invention according to claim 3 is the electronic information storage medium according to claim 1 or 2, wherein the output means saves the instance data necessary for a new application instance from the external device. When receiving a command for confirming whether there is insufficient instance data in the instance data, the information of the list is output to the external device.

請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の電子情報記憶媒体を備えるICカードである。   A fourth aspect of the present invention is an IC card including the electronic information storage medium according to any one of the first to third aspects.

請求項5に記載の発明は、アプリケーションプログラムと、アプリケーションインスタンスと、前記アプリケーションインスタンスが使用するインスタンスデータと、を記憶する記憶手段を備える電子情報記憶媒体によるアップデート方法であって、前記記憶手段に記憶されているインスタンスデータを当該記憶手段の別の記憶領域に退避する退避処理を実行する退避工程と、前記退避処理の後に、前記記憶手段に記憶されているアプリケーションプログラムとアプリケーションインスタンスとを削除する削除処理を実行する削除工程と、前記アプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード工程と、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール工程と、前記ロード処理の後に、前記退避工程で退避させたインスタンスデータを前記新アプリケーションインスタンスが使用可能な位置に記憶させる復元処理を実行する復元工程と、新アプリケーションインスタンスに必要なインスタンスデータのうち、前記退避させたインスタンスデータに不足しているインスタンスデータのリストを作成するリスト作成工程と、前記リストの情報を外部機器に出力する出力工程と、を含むことを特徴とする。   The invention according to claim 5 is an update method using an electronic information storage medium comprising storage means for storing an application program, an application instance, and instance data used by the application instance, and stored in the storage means A evacuation process for executing evacuation processing for evacuating stored instance data to another storage area of the storage unit, and deletion for deleting an application program and an application instance stored in the storage unit after the evacuation process A deletion step for executing a process; a load step for executing a load process for storing a new application program which is a new version of the application program in the storage means; An installation process for generating a new version of a new application instance based on a new application program stored in the means and storing the new application instance in the storage means; and after the loading process, the saving process saves A restoration process for executing a restoration process for storing instance data in a location where the new application instance can be used, and a list of instance data that is insufficient in the saved instance data among the instance data necessary for the new application instance And a list creating step for creating the list, and an output step for outputting the information of the list to an external device.

請求項6に記載の発明は、アプリケーションプログラムと、アプリケーションインスタンスと、前記アプリケーションインスタンスが使用するインスタンスデータと、を記憶する記憶手段を備える電子情報記憶媒体に含まれるコンピュータを、前記記憶手段に記憶されているインスタンスデータを当該記憶手段の別の記憶領域に退避する退避処理を実行する退避手段、前記退避処理の後に、前記記憶手段に記憶されているアプリケーションプログラムとアプリケーションインスタンスとを削除する削除処理を実行する削除手段、前記アプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段、前記ロード処理の後に、前記退避手段が退避させたインスタンスデータを前記新アプリケーションインスタンスが使用可能な位置に記憶させる復元処理を実行する復元手段、新アプリケーションインスタンスに必要なインスタンスデータのうち、前記退避させたインスタンスデータに不足しているインスタンスデータのリストを作成するリスト作成手段、前記リストの情報を外部機器に出力する出力手段、として機能させることを特徴とする。   According to a sixth aspect of the present invention, a computer included in an electronic information storage medium including storage means for storing an application program, an application instance, and instance data used by the application instance is stored in the storage means. Saving means for executing saving processing for saving the stored instance data to another storage area of the storage means, and deletion processing for deleting the application program and application instance stored in the storage means after the saving processing. Deletion means to be executed, load means for executing a load process for storing a new application program that is a new version of the application program in the storage means, and storage in the storage means after the deletion process and the load process An installation unit for executing an installation process for generating a new application instance of a new version based on the new application program being stored and storing the new application instance in the storage unit, and the instance data saved by the save unit after the load process Restoration means for executing restoration processing to be stored in a location where the new application instance can be used, and creation of a list for creating a list of instance data that is missing from the saved instance data among the instance data required for the new application instance And an output means for outputting the list information to an external device.

本発明によれば、アップデート前とアップデート後で変更する必要のないインスタンスデータを削除せずに保持しておき、アプリケーションのアップデート後に当該保持しておいたインスタンスデータを復元する場合において、新アプリケーションインスタンスに必要なインスタンスデータのうち、保持していたインスタンスデータに不足しているインスタンスデータのリストを作成し、当該リストの情報を外部機器に出力することから、外部機器は保持していたデータ以外に追加で必要なインスタンスデータを容易に把握することができる。   According to the present invention, when the instance data that does not need to be changed before and after the update is retained without being deleted, and the retained instance data is restored after the application is updated, the new application instance Create a list of instance data that is missing from the instance data that is necessary for the existing instance data, and output the information in the list to the external device. Additional instance data required can be easily grasped.

本実施形態に係るICカード1に搭載されるICチップ1aのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of IC chip 1a mounted in the IC card 1 which concerns on this embodiment. ICチップ1aの機能構成例を示すブロック図である。It is a block diagram which shows the function structural example of IC chip 1a. 本実施形態に係るアップデート処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the update process which concerns on this embodiment. 本実施形態に係るICチップ1aによる退避・削除処理の一例を示すフローチャートである。It is a flowchart which shows an example of the saving / deleting process by the IC chip 1a according to the present embodiment. 本実施形態に係るICチップ1aによるインストール・復元処理の一例を示すフローチャートである。It is a flowchart which shows an example of the installation / restoration process by IC chip 1a which concerns on this embodiment. 本実施形態に係る復元リスト501と必要リスト502の一例を示す図である。It is a figure showing an example of restoration list 501 and necessity list 502 concerning this embodiment. 本実施形態に係るICチップ1aによる不測リスト出力処理の一例を示すフローチャートである。It is a flowchart which shows an example of the unexpected list output process by the IC chip 1a which concerns on this embodiment.

以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、アプリケーションのアップデート機能を有するマルチアプリケーションICチップを搭載するICカードに対して本発明を適用した場合の実施の形態である。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to an IC card on which a multi-application IC chip having an application update function is mounted.

[1.ICチップ1aの構成]
まず、図1を参照して、ICカード1に搭載されるICチップ1aの構成について説明する。図1は、ICカード1に搭載されるICチップ1aのハードウェア構成例を示す図である。本実施形態のICカード1は、接触によるデータ通信と非接触によるデータ通信の2つの通信機能を兼ね備えたデュアルインターフェース型ICカードである。但し、ICカード1の種類はデュアルインターフェース型ICカードに限定されず、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにICチップ1aがエンベットされた接触型ICカードであってもよいし、また、アンテナコイルを内蔵し無線でリーダ・ライタとデータ通信する非接触型ICカードであってもよい。
[1. Configuration of IC chip 1a]
First, the configuration of the IC chip 1a mounted on the IC card 1 will be described with reference to FIG. FIG. 1 is a diagram illustrating a hardware configuration example of an IC chip 1 a mounted on the IC card 1. The IC card 1 of the present embodiment is a dual interface type IC card that has two communication functions of data communication by contact and data communication by non-contact. However, the type of the IC card 1 is not limited to the dual interface type IC card, and may be a contact type IC card in which the IC chip 1a is embedded in a plastic card having the same size as a cash card or a credit card. Further, it may be a non-contact type IC card that incorporates an antenna coil and wirelessly communicates with a reader / writer.

図1に示すように、ICチップ1aは、CPU(Central Processing Unit)10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、不揮発性メモリ13、及びI/O回路14を備えて構成される。CPU10は、ROM12又は不揮発性メモリ13に記憶された各種プログラムを実行するプロセッサ(コンピュータ)である。なお、I/O回路14は、外部機器2とのインターフェイスを担う。これにより、ICチップ1aは、リーダ・ライタを備える外部機器2との間で接触又は非接触で通信を行うことができる。接触式のICチップ1aの場合、I/O回路14には、例えば、C1〜C8の8個の端子が備えられている。例えば、C1端子は電源端子(ICチップ1aへ電源供給する端子)、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部機器2との間で通信を行うための端子である。一方、非接触式のICチップ1aの場合、I/O回路14には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部機器2の例としては、ICカード発行機、ATM、改札機、認証用ゲート等が挙げられる。或いは、ICチップ1aが通信機器に組み込まれる場合、外部機器2には通信機器の機能を担う制御部が該当する。   As shown in FIG. 1, the IC chip 1 a includes a CPU (Central Processing Unit) 10, a RAM (Random Access Memory) 11, a ROM (Read Only Memory) 12, a nonvolatile memory 13, and an I / O circuit 14. Composed. The CPU 10 is a processor (computer) that executes various programs stored in the ROM 12 or the nonvolatile memory 13. The I / O circuit 14 serves as an interface with the external device 2. As a result, the IC chip 1a can communicate with or without contact with the external device 2 including the reader / writer. In the case of the contact type IC chip 1a, the I / O circuit 14 includes, for example, eight terminals C1 to C8. For example, the C1 terminal communicates with the power supply terminal (terminal for supplying power to the IC chip 1a), the C2 terminal with the reset terminal, the C3 terminal with the clock terminal, the C5 terminal with the ground terminal, and the C7 terminal with the external device 2. Terminal. On the other hand, in the case of the non-contact type IC chip 1a, the I / O circuit 14 includes, for example, an antenna and a modulation / demodulation circuit. Examples of the external device 2 include an IC card issuing machine, ATM, ticket gate, and authentication gate. Alternatively, when the IC chip 1a is incorporated in a communication device, the external device 2 corresponds to a control unit responsible for the function of the communication device.

不揮発性メモリ13には、例えばフラッシュメモリ、強誘電体メモリ又は「Electrically Erasable Programmable Read-Only Memory」を適用することができる。不揮発性メモリ13は、ICカードOS(以下、「OS」という場合がある)や各種アプリケーション及びこれらが使用するデータを記憶する。   For example, a flash memory, a ferroelectric memory, or “Electrically Erasable Programmable Read-Only Memory” can be applied to the nonvolatile memory 13. The nonvolatile memory 13 stores an IC card OS (hereinafter also referred to as “OS”), various applications, and data used by these.

ここで、アプリケーションの機能は、アプリケーションプログラムをインストール処理することにより不揮発性メモリ13に生成されるアプリケーションインスタンスをCPU10が実行することにより実現される。なお、アプリケーションインスタンスを実行することによりアプリケーションの機能が実現されることから、アプリケーションインスタンスをアプリケーションという場合もある。また、アプリケーションプログラムは、後述するようにサーバから[LOAD]コマンドにより分割してICチップ1aに送信され、不揮発性メモリ13に記憶される。すなわち、不揮発性メモリ13には、アプリケーションプログラム及びアプリケーションインスタンスが記憶される。   Here, the function of the application is realized by the CPU 10 executing an application instance generated in the nonvolatile memory 13 by installing the application program. Note that an application instance may be referred to as an application because an application function is realized by executing the application instance. As will be described later, the application program is divided by the [LOAD] command from the server, transmitted to the IC chip 1a, and stored in the nonvolatile memory 13. That is, the application program and application instance are stored in the nonvolatile memory 13.

[2.ICチップ1aの機能構成]
図2は、ICチップ1aの機能構成例を示すブロック図である。ICチップ1a内には、ICチップ1a自身及びICチップ1a内のアプリケーションを管理するためのアプリケーションであるセキュリティドメイン(Security Domain、以下、「SD」という)が、必ず1つ以上存在する。SDには、ISD(Issuer Security Domain)とSSD(Supplementary Security Domains)がある。このようなSDは、主に、以下の(1)〜(9)の機能をサポートする。
[2. Functional configuration of IC chip 1a]
FIG. 2 is a block diagram illustrating a functional configuration example of the IC chip 1a. In the IC chip 1a, there is always at least one security domain (Security Domain, hereinafter referred to as “SD”) that is an application for managing the IC chip 1a itself and the applications in the IC chip 1a. SD includes ISSD (Issuer Security Domain) and SSD (Supplementary Security Domains). Such SD mainly supports the following functions (1) to (9).

(1)ICカードのライフサイクル管理
(2)アプリケーションプログラムのライフサイクル管理
(3)アプリケーションインスタンスのライフサイクル管理
(4)アプリケーションプログラムのロード
(5)アプリケーションインスタンスの生成(インストール)
(6)アプリケーションプログラムまたはアプリケーションインスタンスの削除
(7)アプリケーション向けインスタンスデータ(発行データ)の書き込み
(8)データの読出し
(9)セキュアチャンネルプロトコル(Secure Channel Protocol、以下、「SCP」という)に従ったセキュアな通信路の確保
(1) IC card life cycle management
(2) Application program life cycle management
(3) Application instance lifecycle management
(4) Loading application programs
(5) Application instance generation (installation)
(6) Deleting application programs or application instances
(7) Writing application instance data (issued data)
(8) Reading data
(9) Secure communication channel according to Secure Channel Protocol (hereinafter referred to as “SCP”)

ISDは、上記(1)〜(9)の機能をサポートすることで、ICチップ1a内のカードコンテント(アプリケーションプログラム、アプリケーションインスタンス等)に対して、ICカード1の発行者の管理及びセキュリティポリシーを実現する。一方、SSDは、上記(1)〜(9)の機能をサポートすることで、ICカード内のカードコンテントに対して、ICカード上でサービスを提供する第三者の管理及びセキュリティポリシーを実現する。ここで、ICカード上でサービスを提供する第三者とは、ICカードの発行者及びICカードの保持者(ICカードの発行対象である利用者)以外の立場としての者をいう。また、上記(9)の機能において、SCPは、ICカード内のSDと外部機器間の通信路に対して、コマンドデータの機密性、コマンドの完全性(及びコマンドシークエンスの保証)、コマンドデータ(平文)内のセンシティブデータ(例えば、鍵やPINコード)のさらなる機密性を提供する。   By supporting the functions (1) to (9) above, the ISD can manage the issuer of the IC card 1 and the security policy for the card content (application program, application instance, etc.) in the IC chip 1a. Realize. On the other hand, the SSD realizes the management and security policy of a third party that provides services on the IC card for the card content in the IC card by supporting the functions (1) to (9) above. . Here, the third party providing the service on the IC card means a person other than the IC card issuer and the IC card holder (the user who is the target of the IC card issue). In the function (9) above, the SCP allows command data confidentiality, command integrity (and guarantee of command sequence), command data (for the communication path between the SD in the IC card and the external device) Provide more confidentiality of sensitive data (eg, keys and PIN codes) in plaintext.

図2に示すように、ICチップ1aには、OSがインストールされており、更に、上述したISD、SSD、各種サービスを提供するApplication1、2といったアプリケーションがインストールされている(インスタンスが不揮発性メモリ13に記憶されている)。また、ISD、SSD、Application1、2といったアプリケーションインスタンスがそれぞれ使用・管理するインスタンスデータ(例えば、認証用の鍵値、ポイントデータ、ユーザIDなと)が不揮発性メモリ13上の各アプリケーションインスタンスに割り当てられた領域に記憶される。また、不揮発性メモリ13上のOSに割り当てられた領域には、OSが管理する、各アプリケーションインスタンスに紐付いたレジストリデータ(例えば、AIDや特権など)が記憶される。   As shown in FIG. 2, the OS is installed in the IC chip 1 a, and further, applications such as the above-described ISD, SSD, and applications 1 and 2 that provide various services are installed (the instance is a nonvolatile memory 13). Remembered). In addition, instance data (for example, key value for authentication, point data, and user ID) used and managed by application instances such as ISD, SSD, and Application 1 and 2 are assigned to each application instance on the nonvolatile memory 13. It is stored in the area. In addition, registry data (for example, AID and privileges) managed by the OS and associated with each application instance is stored in an area allocated to the OS on the nonvolatile memory 13.

ISD、SSD、Application1、2といったアプリケーションは、不具合が見つかった場合や機能が追加される場合にアップデートされる。ここで、アプリケーションのアップデートはアプリケーションプログラムとアプリケーションインスタンスのアップデートが主な目的であるため、インスタンスデータとレジストリデータ(インスタンスデータとレジストリデータを総称して「アプリケーションデータ」という場合がある)は、アップデートの前後で同一データとなるものが多い(暗号の危殆化などで、アルゴリズムや鍵長を変更する場合などは、異なるデータとなることもある)。そこで、本実施形態のICチップ1aは、アプリケーションのアップデートを行う際に、アプリケーションデータをOSに割り当てられた不揮発性メモリ13上の一時領域に退避させ、アプリケーションプログラム及びアプリケーションインスタンスを削除した後に、新しいバージョンのアプリケーションプログラムをロードし、インストール処理により新しいバージョンのアプリケーションインスタンスの生成を行い、次いで、退避させておいたアプリケーションデータを復元するといった処理を行う。以下、アプリケーションのアップデートを行う際の処理(アップデート処理)について具体的に説明する。   Applications such as ISD, SSD, and Applications 1 and 2 are updated when a defect is found or a function is added. Here, because the main purpose of application updates is to update application programs and application instances, instance data and registry data (in some cases, instance data and registry data are collectively referred to as “application data”) Many data will be the same before and after (if the algorithm or key length is changed due to compromised encryption, etc., the data may be different). Therefore, when updating the application, the IC chip 1a of the present embodiment saves the application data in a temporary area on the nonvolatile memory 13 assigned to the OS, deletes the application program and the application instance, and then creates a new one. A version of the application program is loaded, a new version of the application instance is generated by the installation process, and then the saved application data is restored. Hereinafter, a process (update process) when updating the application will be described in detail.

[3.アップデート処理]
以下、図3−図6を用いて、ICチップ1aのアップデート処理の動作例について説明する。図3は、アップデート処理の一例を示すシーケンス図であり、図4は、ICチップ1aによる退避・削除処理の一例を示すフローチャートであり、図5は、ICチップ1aによるインストール・復元処理の一例を示すフローチャートであり、図6は、インスタンスデータの不測チェックを説明するための図である。
[3. Update process]
Hereinafter, an operation example of the update process of the IC chip 1a will be described with reference to FIGS. FIG. 3 is a sequence diagram illustrating an example of an update process, FIG. 4 is a flowchart illustrating an example of a save / delete process performed by the IC chip 1a, and FIG. 5 illustrates an example of an install / restore process performed by the IC chip 1a. FIG. 6 is a diagram for explaining an unexpected check of instance data.

図3は、アプリケーションであるポイントアプリケーション(提携している施設等でのポイント加算・利用を可能とするアプリケーション。以下、「ポイントアプリ」という)をアップデートする場合のICチップ1aとサーバ(ポイントアプリの提供者のサーバ)のコマンド・レスポンスの流れを示している。   FIG. 3 shows an IC chip 1a and a server (point application) for updating a point application (an application that enables point addition / use at affiliated facilities, etc .; hereinafter referred to as “point application”). The flow of command and response of the provider server) is shown.

まず、サーバはICチップ1aに対してICチップ1a内のポイントアプリを管理するSDであるISDとの通信路を形成するために[SELECT ISD]コマンドを送信する(ステップS1)。[SELECT]コマンドは、通信路の相手先となるアプリケーションを識別するIDであるAIDと、当該アプリケーションとの通信路(ロジカルチャネル)を識別するロジカルチャネル番号を含む。これに対して、ICチップ1aはコマンドに応じて通信路を形成するための処理を実行し、OK応答を送信する(ステップS2)。但し、コマンドに応じた処理を正常終了できなかった場合にはエラーが発生したことを示すレスポンスをサーバに送信する(以下、ステップS4、S6、S9、S11、S13、S16について同様)。これにより、ロジカルチャネル番号で識別される通信路(ロジカルチャネル)が形成され、以降、サーバはコマンドに当該ロジカルチャネル番号を含ませることにより、当該ロジカルチャネル番号で識別される通信路を介して、ISDと通信を行うことができる。   First, the server transmits a [SELECT ISD] command to the IC chip 1a in order to form a communication path with an ISD that is an SD that manages the point application in the IC chip 1a (step S1). The [SELECT] command includes an AID that is an ID for identifying an application that is a communication path partner, and a logical channel number that identifies a communication path (logical channel) with the application. In response to this, the IC chip 1a executes a process for forming a communication path in response to the command and transmits an OK response (step S2). However, if the process according to the command cannot be completed normally, a response indicating that an error has occurred is transmitted to the server (hereinafter, the same applies to steps S4, S6, S9, S11, S13, and S16). As a result, a communication channel (logical channel) identified by the logical channel number is formed, and thereafter, the server includes the logical channel number in the command, thereby allowing the command to be passed through the communication channel identified by the logical channel number. Can communicate with ISD.

次いで、サーバは、通信路の機密性を高めるためにそれまでに形成した通信路(ロジカルチャネル)をセキュアな通信路にするセキュア処理(SCPでコマンドを保護するための相互認証処理)を実行する。   Next, the server executes secure processing (mutual authentication processing for protecting commands by SCP) that makes the communication channel (logical channel) formed so far secure to improve the confidentiality of the communication channel. .

相互認証処理は、プロトコルで決められたアルゴリズムに従い、暗号演算の元となる鍵を互いが知っているという前提の下、サーバとICチップ1aが互いを認証する処理である。具体的には、サーバが相互認証用のコマンドである[INITIALIZE UPDATE]コマンド及び[EXTERNAL AUTHENTICATE]コマンドをICチップ1aに送信し(ステップS3、ステップS5)、ICチップ1aがそれぞれのコマンドに応じた処理を実行し、正常に処理を完了するとOK応答を送信する(ステップS4、ステップS6)ことにより行われる。図3では、ステップS6の処理によりOK応答を送信することにより相互認証は完了したことになる。   The mutual authentication process is a process in which the server and the IC chip 1a authenticate each other on the premise that they know each other the key that is the source of the cryptographic operation according to the algorithm determined by the protocol. Specifically, the server transmits an [INITIALIZE UPDATE] command and an [EXTERNAL AUTHENTICATE] command, which are mutual authentication commands, to the IC chip 1a (steps S3 and S5), and the IC chip 1a responds to each command. The process is executed, and when the process is completed normally, an OK response is transmitted (steps S4 and S6). In FIG. 3, the mutual authentication is completed by transmitting an OK response by the process of step S6.

次いで、サーバは、ICチップ1aに対して退避・削除処理を実行させるための[退避・削除処理]コマンドを送信する(ステップS7)。退避・削除処理は、アプリケーションをアップデートするための処理の一部である。これに対して、ICチップ1aは退避・削除処理を実行する(ステップS8)。なお、退避・削除処理については後述する。ICチップ1aは退避・削除処理を正常終了すると、OK応答を送信する(ステップS9)。   Next, the server transmits a [save / delete process] command for causing the IC chip 1a to execute a save / delete process (step S7). The save / delete process is a part of the process for updating the application. On the other hand, the IC chip 1a executes a save / delete process (step S8). The save / delete process will be described later. When the saving / deleting process ends normally, the IC chip 1a transmits an OK response (step S9).

次いで、サーバは、ICチップ1aに対して[LOAD(0)]コマンドを送信する(ステップS10)。[LOAD]コマンドは、新しいポイントアプリのアプリケーションプログラムをn個に分割して送信するコマンドである。[LOAD(0)]コマンドはn個に分割したうちの最初の部分を送信し、ICチップ1aに記憶させるためのコマンドである。ICチップ1aは[LOAD]コマンドに含まれるアプリケーションプログラムの一部を不揮発性メモリ13に記憶させる処理を行い、処理を正常終了すると、OK応答をサーバに送信する(ステップS11)。以下、同様に、サーバは分割した残りの部分を送信するために[LOAD(1)]コマンド、[LOAD(2)]コマンド、・・・、[LOAD(n-1)]コマンドを送信し、その都度、ICチップ1aは[LOAD]コマンドに含まれるアプリケーションプログラムの一部を不揮発性メモリ13に記憶させる処理を行い、処理を正常終了すると、OK応答をサーバに送信する。[LOAD(n-1)]コマンドの送信(ステップS12)、及び、これに対するOK応答の送信(ステップS13)がなされると、新しいポイントアプリのアプリケーションプログラム全体がICチップ1aの不揮発性メモリ13に記憶されたことになる(ロード完了)。なお、ステップS10〜ステップS13の処理を総称して「ロード処理」という場合がある。なお、ロード処理は、相互認証の完了後、ステップS7〜ステップS9の処理の前に行っても良い。   Next, the server transmits a [LOAD (0)] command to the IC chip 1a (step S10). The [LOAD] command is a command for dividing the application program of the new point application into n pieces and transmitting it. The [LOAD (0)] command is a command for transmitting the first part of the n divided parts and storing it in the IC chip 1a. The IC chip 1a performs a process of storing a part of the application program included in the [LOAD] command in the nonvolatile memory 13, and transmits an OK response to the server when the process ends normally (step S11). Similarly, the server sends the [LOAD (1)] command, [LOAD (2)] command,..., [LOAD (n-1)] command to send the remaining part of the division, Each time, the IC chip 1a performs a process of storing a part of the application program included in the [LOAD] command in the nonvolatile memory 13, and transmits an OK response to the server when the process ends normally. When the [LOAD (n-1)] command is transmitted (step S12) and the OK response is transmitted (step S13), the entire application program of the new point application is stored in the nonvolatile memory 13 of the IC chip 1a. It is memorized (load complete). Note that the processing in steps S10 to S13 may be collectively referred to as “load processing”. Note that the loading process may be performed after the mutual authentication is completed and before the processes in steps S7 to S9.

次いで、サーバは、ICチップ1aに対してインストール・復元処理を実行させるための[インストール・復元処理]コマンドを送信する(ステップS14)。インストール・復元処理は、アプリケーションをアップデートするための処理の一部である。これに対して、ICチップ1aはインストール・復元処理を実行する(ステップS15)。なお、インストール・復元処理については後述する。ICチップ1aはインストール・復元処理を正常終了すると、OK応答を送信し(ステップS16)、アプリケーションアップデート処理を終了する。   Next, the server transmits an [install / restore process] command for executing the install / restore process to the IC chip 1a (step S14). The installation / restoration process is a part of the process for updating the application. On the other hand, the IC chip 1a executes an installation / restoration process (step S15). The installation / restoration process will be described later. When the IC chip 1a completes the installation / restoration process normally, an OK response is transmitted (step S16), and the application update process ends.

[4.退避・削除処理]
次に、図4を用いて、ICチップ1aによる退避・削除処理について説明する。退避・削除処理は、サーバからの[退避・削除処理]コマンドに応じて実行される処理である。
[4. Backup / deletion process]
Next, saving / deleting processing by the IC chip 1a will be described with reference to FIG. The save / delete process is a process executed in response to a [save / delete process] command from the server.

まず、ICチップ1aのOS(を実行するCPU10)は、ポイントアプリに関するインスタンスデータをOSに割り当てられた一時領域に退避する(ステップS101)。このとき、OSはポイントアプリからインスタンスデータを受け取り、一時領域に記憶させる。   First, the OS of the IC chip 1a (which executes the CPU 10) saves the instance data related to the point application in a temporary area assigned to the OS (step S101). At this time, the OS receives the instance data from the point application and stores it in the temporary area.

次に、OSはポイントアプリに関するレジストリデータをOSに割り当てられた一時領域に退避する(ステップS102)。なお、ステップS101の処理及びステップS102の処理を総称して「退避処理」という場合がある。   Next, the OS saves the registry data related to the point application in a temporary area assigned to the OS (step S102). Note that the processing in step S101 and the processing in step S102 may be collectively referred to as “evacuation processing”.

次に、OSはポイントアプリのアプリケーションインスタンスを削除する(ステップS103)。   Next, the OS deletes the application instance of the point application (step S103).

次に、OSはポイントアプリのアプリケーションプログラムを削除し(ステップS104)、退避・削除処理を終了する。なお、ステップS103の処理及びステップS104の処理を総称して「削除処理」という場合がある。   Next, the OS deletes the application program of the point application (step S104), and ends the saving / deleting process. Note that the processing in step S103 and the processing in step S104 may be collectively referred to as “deletion processing”.

[5.インストール・復元処理]
次に、図5を用いて、ICチップ1aによるインストール・復元処理について説明する。インストール・復元処理は、サーバからの[インストール・復元処理]コマンドに応じて実行される処理である。
[5. Installation / Restore Processing]
Next, installation / restoration processing by the IC chip 1a will be described with reference to FIG. The install / restore process is a process executed in response to an [install / restore process] command from the server.

まず、ICチップ1aのOS(を実行するCPU10)は、図3のステップS10〜ステップS12の[LOAD]コマンドに基づいて記憶したポイントアプリの新しいバージョンのアプリケーションプログラムのインストール処理を行い(すなわち、新しいバージョンのアプリケーションインスタンスを生成し)、不揮発性メモリ13に記憶させる(ステップS201)。   First, the OS of the IC chip 1a (the CPU 10 that executes) performs installation processing of a new version of the application program stored in the point application based on the [LOAD] command in steps S10 to S12 in FIG. A version application instance is generated) and stored in the nonvolatile memory 13 (step S201).

次に、OSは、図4のステップS101の処理で退避したインスタンスデータを復元する(ステップS202)。具体的には、OSは、新しいバージョンのアプリケーションインスタンスにインスタンスデータを受け渡し、当該アプリケーションインスタンス(を実行するCPU10)が、受け取ったインスタンスデータを自らに割り当てられた不揮発性メモリ13上の領域に記憶させることにより、インスタンスデータを復元する。すなわち、退避したインスタンスデータをアプリケーションインスタンスが使用できるように関連付ける。このとき、アプリケーションインスタンスは、図6に示すように、復元したインスタンスデータのリストである復元リスト501を取得する。復元リスト501は復元した各インスタンスデータを識別するためのデータ識別子が記述されている。データ識別子には、例えば、インスタンスデータがTLV形式のデータである場合であれば、TAG情報や、TAG情報とLENGTH情報の組み合わせを採用することができる。但し、これらの情報だけでユニークにならない場合には、更に別の情報を付加したものとするか、新たな識別子を用いる。復元リスト501は、OSが生成したものをOSからアプリケーションインスタンスとともに受け取ってもよいし、OSから受け取ったアプリケーションインスタンスに基づいてアプリケーションインスタンスが作成してもよい。   Next, the OS restores the instance data saved in step S101 of FIG. 4 (step S202). Specifically, the OS delivers instance data to a new version of the application instance, and the application instance (the CPU 10 that executes the application instance) stores the received instance data in an area on the nonvolatile memory 13 assigned to the OS. Thus, the instance data is restored. That is, the saved instance data is associated with the application instance so that it can be used. At this time, as shown in FIG. 6, the application instance acquires a restoration list 501 that is a list of restored instance data. The restoration list 501 describes a data identifier for identifying each restored instance data. For example, if the instance data is TLV format data, TAG information or a combination of TAG information and LENGTH information can be adopted as the data identifier. However, if the information is not unique, additional information is added or a new identifier is used. The restoration list 501 may be received by the OS together with the application instance generated by the OS, or may be created by the application instance based on the application instance received from the OS.

次に、OSは、図4のステップS102の処理で退避したレジストリデータを復元する(ステップS203)。具体的には、OSが、退避したレジストリデータを新しいポイントアプリと関連付けてOSが使用できるように関連付ける処理を実行する。なお、ステップS202の処理及びステップS203の処理を総称して「関連付け処理」という場合がある。   Next, the OS restores the registry data saved in step S102 of FIG. 4 (step S203). Specifically, the OS executes processing for associating the saved registry data with the new point application so that the OS can use it. Note that the processing in step S202 and the processing in step S203 may be collectively referred to as “association processing”.

次に、ポイントアプリの新しいバージョンのアプリケーションインスタンス(を実行するCPU10)は、ステップS202の処理で復元したインスタンスデータ(図4のステップS101の処理で退避したインスタンスデータ)に、新しいバージョンのアプリケーションインスタンスにとって必要なインスタンスデータが不足していないかチェックする(ステップS204)。例えば、新しいバージョンのアプリケーションインスタンス内に当該アプリケーションインスタンスにとって必要なインスタンスデータのリストである必要リスト502(図6参照)を記述することとしておき、アプリケーションインスタンスは、必要リスト502とステップS202の処理で取得した復元リスト501を比較することにより、不足しているインスタンスデータがないかチェックする。なお、必要リスト502と復元リスト501に記述される項目を共通化しておくことが好適である。図6の例では、データ識別子が「789012」、「890123」、「901234」であるインスタンスデータが不足していることとなる。   Next, the new version of the application instance of the point application (the CPU 10 executing the application) is added to the instance data restored in step S202 (instance data saved in step S101 of FIG. 4) for the new version of the application instance. It is checked whether necessary instance data is insufficient (step S204). For example, a necessary list 502 (see FIG. 6) that is a list of instance data necessary for the application instance is described in a new version of the application instance, and the application instance is acquired by the necessary list 502 and the process of step S202. By comparing the restored lists 501, it is checked whether there is any missing instance data. It is preferable to share items described in the necessary list 502 and the restoration list 501. In the example of FIG. 6, the instance data having data identifiers “789012,” “890123,” and “901234” are insufficient.

次に、アプリケーションインスタンスは、ステップS204のチェックの結果、不足しているインスタンスデータがあるか否かを判定する(ステップS205)。このとき、アプリケーションインスタンスは、不足しているインスタンスデータはないと判定した場合には(ステップS205:NO)、インストール・復元処理を終了する。一方、アプリケーションインスタンスは、不足しているインスタンスデータがあると判定した場合には(ステップS205:YES)、不足しているインスタンスデータのリストである不足リスト503(図6参照)を作成し(ステップS206)、インストール・復元処理を終了する。不足リスト503には、例えば、必要リスト502に記述されているデータ識別子など、不足しているインスタンスデータを識別可能な識別情報が含まれる。   Next, the application instance determines whether there is insufficient instance data as a result of the check in step S204 (step S205). At this time, if the application instance determines that there is no insufficient instance data (step S205: NO), the installation / restoration process ends. On the other hand, when it is determined that there is insufficient instance data (step S205: YES), the application instance creates a shortage list 503 (see FIG. 6), which is a list of lacking instance data (step S205). S206), the installation / restoration process is terminated. The deficiency list 503 includes identification information that can identify deficient instance data, such as a data identifier described in the necessary list 502, for example.

[6.不足リスト出力処理]
次に、図7を用いて、ICチップ1aによる不足リスト出力処理について説明する。図7は、ICチップ1aによる不足リスト出力処理の一例を示すフローチャートである。不足リスト出力処理は、図5のステップS206の処理により不足リストが作成された後に実行される処理である。
[6. Missing list output process]
Next, the shortage list output process by the IC chip 1a will be described with reference to FIG. FIG. 7 is a flowchart showing an example of the shortage list output process by the IC chip 1a. The shortage list output process is a process executed after the shortage list is created by the process of step S206 in FIG.

ICチップ1aのアプリケーションインスタンス(を実行するCPU10)は、サーバ等の外部機器2から不足データ確認コマンド(「確認コマンド」の一例)を受信したか否かを判定する(ステップS301)。そして、アプリケーションインスタンスは、不足データ確認コマンドを受信するまで待機しており(ステップS301:NO)、不足データ確認コマンドを受信したと判定した場合には(ステップS301:YES)、図5のステップS206の処理により作成した不足リスト503の情報を不足データ確認コマンドの送信元に出力する(ステップS302)。具体的には、外部機器2が不足しているインスタンスデータを特定できるように、不足しているインスタンスデータのTLVにおけるTAG情報やLENGTH情報、その他不足しているインスタンスデータを識別可能な識別情報を出力する。アプリケーションインスタンスは、ステップS302の処理を終了すると、ステップS301の処理に移行する。   The application instance of the IC chip 1a (which executes the CPU 10) determines whether or not an insufficient data confirmation command (an example of a “confirmation command”) has been received from the external device 2 such as a server (step S301). Then, the application instance stands by until it receives the missing data confirmation command (step S301: NO), and when it is determined that the missing data confirmation command has been received (step S301: YES), step S206 in FIG. The information of the shortage list 503 created by the process is output to the transmission source of the shortage data confirmation command (step S302). Specifically, the identification information that can identify the missing instance data such as TAG information and LENGTH information in the TLV of the missing instance data so that the external device 2 can identify the missing instance data. Output. When the application instance finishes the process of step S302, the application instance proceeds to the process of step S301.

以上のように、本実施形態のICチップ1a(「電子情報記憶媒体」の一例)は、不揮発性メモリ13(「記憶手段」の一例)が、アプリケーションプログラムと、アプリケーションインスタンスと、アプリケーションインスタンスが使用するインスタンスデータと、を記憶し、CPU10(「退避手段」、「削除手段」、「ロード手段」、「インストール手段」、「復元手段」、「リスト作成手段」、「出力手段」の一例)が、不揮発性メモリ13に記憶されているインスタンスデータを不揮発性メモリ13のOSの一時領域(「別の記憶領域」の一例)に退避する退避処理を実行し、退避処理の後に、不揮発性メモリ13に記憶されているアプリケーションプログラムとアプリケーションインスタンスとを削除する削除処理を実行し、アプリケーションプログラムの新バージョンであるアプリケーションプログラム(「新アプリケーションプログラム」の一例)を不揮発性メモリ13に記憶させるロード処理を実行し、削除処理及びロード処理の後に、不揮発性メモリ13に記憶されているアプリケーションプログラムに基づいて新バージョンのアプリケーションインスタンス(「新アプリケーションインスタンス」の一例)を生成して不揮発性メモリ13に記憶させるインストール処理を実行し、ロード処理の後に、退避させたインスタンスデータを新バージョンのアプリケーションインスタンスが使用可能な位置に記憶させる復元処理を実行し、不足リスト503(「新バージョンのアプリケーションインスタンスに必要なインスタンスデータのうち、退避させたインスタンスデータに不足しているインスタンスデータのリスト」の一例)を作成し、不足リスト503の情報をサーバ等(「外部機器」の一例)に出力する。   As described above, the IC chip 1a (an example of the “electronic information storage medium”) of the present embodiment is used by the nonvolatile memory 13 (an example of the “storage unit”) by the application program, the application instance, and the application instance. The CPU 10 (an example of “save means”, “delete means”, “load means”, “install means”, “restoration means”, “list creation means”, “output means”). , A save process for saving the instance data stored in the nonvolatile memory 13 to a temporary area (an example of “another storage area”) of the OS of the nonvolatile memory 13 is executed, and after the save process, the nonvolatile memory 13 Delete the application program and application instance stored in the An application program that is a new version of the application program (an example of a “new application program”) is stored in the non-volatile memory 13 and the application stored in the non-volatile memory 13 after the deletion process and the load process is executed. A new version of the application instance (an example of “new application instance”) is generated based on the program and is stored in the non-volatile memory 13. After the load process, the saved instance data is stored in the new version of the application. The restoration process for storing the instance in a usable location is executed, and the shortage list 503 (“the saved instance of the instance data necessary for the new version application instance is saved. Create an example) of the list "of instance data that are missing in Sudeta, and outputs the information of the shortage list 503 to the server, or the like (an example of the" external device ").

したがって、本実施形態のICチップ1aによれば、アップデート前とアップデート後で変更する必要のないインスタンスデータを削除せずに保持しておき、アプリケーションのアップデート後に当該保持しておいたインスタンスデータを復元する場合において、不足リスト503を作成し、不足リスト503の情報をサーバ等に出力することから、サーバ等は保持していたデータ以外に追加で必要なインスタンスデータを容易に把握することができる。   Therefore, according to the IC chip 1a of the present embodiment, the instance data that does not need to be changed before and after the update is retained without being deleted, and the retained instance data is restored after the application is updated. In this case, since the shortage list 503 is created and the information of the shortage list 503 is output to the server or the like, the server or the like can easily grasp additional necessary instance data in addition to the held data.

[7.変形例]
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は上記実施形態や他の変形例と適宜組み合わせることができる。
[7. Modified example]
Next, a modification of the above embodiment will be described. Note that the modifications described below can be combined with the above-described embodiment and other modifications as appropriate.

[7.1.変形例1]
上記実施形態では、外部機器2(サーバ等)から不足データ確認コマンドを受信した場合に(ステップS301:YES)、不足リスト503の情報を不足データ確認コマンドの送信元に出力する(ステップS302)こととしたが、これに代えて又は加えて、ステップS206の処理で不足リスト503を作成した場合には、図3のステップS16の処理で、ステップS14の処理で受信した[インストール・復元処理]コマンドのレスポンス又はその一部として、不足リスト503の情報を送信することとしてもよい。
[7.1. Modification 1]
In the above embodiment, when a lack data confirmation command is received from the external device 2 (server or the like) (step S301: YES), the information of the lack list 503 is output to the transmission source of the lack data confirmation command (step S302). However, instead of or in addition to this, when the shortage list 503 is created in the process of step S206, the [install / restore process] command received in the process of step S14 in the process of step S16 of FIG. The information of the shortage list 503 may be transmitted as a response or a part thereof.

[7.2.変形例2]
上記実施形態では、外部機器2(サーバ等)から不足データ確認コマンドを受信した場合に(ステップS301:YES)、不足リスト503の情報を不足データ確認コマンドの送信元に出力する(ステップS302)こととしたが、これに代えて又は加えて、ステップS206の処理で不足リスト503を作成した場合には、アプリケーションインスタンスは自らがデータ不足状態であるか否かを示す不足状態情報を保持することとする。そして、外部機器2(サーバ等)は、当該アプリケーションインスタンスに処理をさせる場合に、データ不足状態であるかを確認する状態確認コマンドを出力することとし、アプリケーションインスタンスは不足状態情報を参照してデータ不足状態であると判定した場合に、状態確認コマンドのレスポンスとして不足リスト503の情報を送信することとしてもよい。
[7.3.変形例3]
[7.2. Modification 2]
In the above embodiment, when a lack data confirmation command is received from the external device 2 (server or the like) (step S301: YES), the information of the lack list 503 is output to the transmission source of the lack data confirmation command (step S302). However, instead of or in addition to this, when the shortage list 503 is created in the process of step S206, the application instance holds shortage state information indicating whether or not it is in a data shortage state. To do. Then, when the external device 2 (server or the like) causes the application instance to perform processing, it outputs a state confirmation command for confirming whether the data instance is in a data shortage state. When it is determined that there is a shortage state, the shortage list 503 information may be transmitted as a response to the state confirmation command.
[7.3. Modification 3]

OS(を実行するCPU10は)、アップデート中(例えば、図3のステップS7〜ステップS16の処理の実行中)にアップデート対象のアプリケーション(アプリケーションインスタンス)が外部機器2から[SELECT]コマンドにより選択された場合には、ICチップ1aは、外部機器2に対してエラーを示すレスポンス(ステータスワード)を返送することとしてもよい。これにより、外部機器2は、当該アプリケーションを選択できないことを把握することができる。   The OS (the CPU 10 that executes the program) is being updated (for example, during the execution of the processes in steps S7 to S16 in FIG. 3), and the update target application (application instance) is selected from the external device 2 by the [SELECT] command. In this case, the IC chip 1a may return a response (status word) indicating an error to the external device 2. Thereby, the external device 2 can grasp that the application cannot be selected.

1 ICカード
1a ICチップ
10 CPU
11 RAM
12 ROM
13 不揮発性メモリ
14 I/O回路
2 外部機器
1 IC card 1a IC chip 10 CPU
11 RAM
12 ROM
13 Nonvolatile Memory 14 I / O Circuit 2 External Device

Claims (6)

アプリケーションプログラムと、アプリケーションインスタンスと、前記アプリケーションインスタンスが使用するインスタンスデータと、を記憶する記憶手段と、
前記記憶手段に記憶されているインスタンスデータを当該記憶手段の別の記憶領域に退避する退避処理を実行する退避手段と、
前記退避処理の後に、前記記憶手段に記憶されているアプリケーションプログラムとアプリケーションインスタンスとを削除する削除処理を実行する削除手段と、
前記アプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段と、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段と、
前記ロード処理の後に、前記退避手段が退避させたインスタンスデータを前記新アプリケーションインスタンスが使用可能な位置に記憶させる復元処理を実行する復元手段と、
新アプリケーションインスタンスに必要なインスタンスデータのうち、前記退避させたインスタンスデータに不足しているインスタンスデータのリストを作成するリスト作成手段と、
前記リストの情報を外部機器に出力する出力手段と、
を備えることを特徴とする電子情報記憶媒体。
Storage means for storing an application program, an application instance, and instance data used by the application instance;
Saving means for executing saving processing for saving the instance data stored in the storage means to another storage area of the storage means;
A deletion unit that executes a deletion process for deleting the application program and the application instance stored in the storage unit after the saving process;
Load means for executing a load process for storing a new application program which is a new version of the application program in the storage means;
An installation unit for executing an installation process for generating a new application instance of a new version based on a new application program stored in the storage unit and storing the new application instance in the storage unit after the deletion process and the load process;
A restoring means for executing a restoring process for storing the instance data saved by the saving means in a location where the new application instance can be used after the loading process;
List creation means for creating a list of instance data that is insufficient in the saved instance data among the instance data necessary for the new application instance,
Output means for outputting the information of the list to an external device;
An electronic information storage medium comprising:
請求項1に記載の電子情報記憶媒体であって、
前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記復元処理の何れかの処理を実行中に、外部機器から前記アプリケーションインスタンスを選択するコマンドを受信した場合に、エラーレスポンスを返信するエラー返信手段を更に備えることを特徴とする電子情報記憶媒体。
The electronic information storage medium according to claim 1,
An error response is returned when a command for selecting the application instance is received from an external device during execution of the save process, the delete process, the load process, the install process, or the restore process An electronic information storage medium further comprising error return means.
請求項1又は2に記載の電子情報記憶媒体であって、
前記出力手段は、前記外部機器から、新アプリケーションインスタンスに必要なインスタンスデータのうち、前記退避させたインスタンスデータに不足しているインスタンスデータが無いかを確認する確認コマンドを受信した場合に、前記リストの情報を当該外部機器に出力することを特徴とする電子情報記憶媒体。
The electronic information storage medium according to claim 1 or 2,
When the output means receives a confirmation command for confirming whether there is insufficient instance data in the saved instance data among the instance data necessary for the new application instance, from the external device, the list The information is output to the external device.
請求項1乃至3の何れか一項に記載の電子情報記憶媒体を備えるICカード。   An IC card comprising the electronic information storage medium according to any one of claims 1 to 3. アプリケーションプログラムと、アプリケーションインスタンスと、前記アプリケーションインスタンスが使用するインスタンスデータと、を記憶する記憶手段を備える電子情報記憶媒体によるアップデート方法であって、
前記記憶手段に記憶されているインスタンスデータを当該記憶手段の別の記憶領域に退避する退避処理を実行する退避cと、
前記退避処理の後に、前記記憶手段に記憶されているアプリケーションプログラムとアプリケーションインスタンスとを削除する削除処理を実行する削除工程と、
前記アプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード工程と、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール工程と、
前記ロード処理の後に、前記退避工程で退避させたインスタンスデータを前記新アプリケーションインスタンスが使用可能な位置に記憶させる復元処理を実行する復元工程と、
新アプリケーションインスタンスに必要なインスタンスデータのうち、前記退避させたインスタンスデータに不足しているインスタンスデータのリストを作成するリスト作成工程と、
前記リストの情報を外部機器に出力する出力工程と、
を含むことを特徴とする電子情報記憶媒体によるアップデート方法。
An update method using an electronic information storage medium comprising storage means for storing an application program, an application instance, and instance data used by the application instance,
Saving c for executing saving processing for saving the instance data stored in the storage means to another storage area of the storage means;
A deletion step of executing a deletion process for deleting the application program and the application instance stored in the storage unit after the saving process;
A load step of executing a load process for storing a new application program which is a new version of the application program in the storage unit;
After the deletion process and the load process, an installation step of executing an installation process for generating a new version of a new application instance based on a new application program stored in the storage unit and storing the new application instance in the storage unit;
After the loading process, a restoration process for executing a restoration process for storing the instance data saved in the saving process in a location where the new application instance can be used;
A list creation process for creating a list of instance data that is insufficient in the saved instance data among the instance data necessary for the new application instance,
An output step of outputting the information of the list to an external device;
An update method using an electronic information storage medium.
アプリケーションプログラムと、アプリケーションインスタンスと、前記アプリケーションインスタンスが使用するインスタンスデータと、を記憶する記憶手段を備える電子情報記憶媒体に含まれるコンピュータを、
前記記憶手段に記憶されているインスタンスデータを当該記憶手段の別の記憶領域に退避する退避処理を実行する退避手段、
前記退避処理の後に、前記記憶手段に記憶されているアプリケーションプログラムとアプリケーションインスタンスとを削除する削除処理を実行する削除手段、
前記アプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段、
前記ロード処理の後に、前記退避手段が退避させたインスタンスデータを前記新アプリケーションインスタンスが使用可能な位置に記憶させる復元処理を実行する復元手段、
新アプリケーションインスタンスに必要なインスタンスデータのうち、前記退避させたインスタンスデータに不足しているインスタンスデータのリストを作成するリスト作成手段、
前記リストの情報を外部機器に出力する出力手段、
として機能させることを特徴とするアップデートプログラム。
A computer included in an electronic information storage medium comprising storage means for storing an application program, an application instance, and instance data used by the application instance;
A saving unit for executing a saving process for saving the instance data stored in the storage unit to another storage area of the storage unit;
A deletion unit that executes a deletion process for deleting the application program and the application instance stored in the storage unit after the saving process;
Load means for executing a load process for storing a new application program which is a new version of the application program in the storage means;
An installation means for executing an installation process for generating a new application instance of a new version based on a new application program stored in the storage means and storing the new application instance in the storage means after the deletion process and the load process;
A restoring means for executing a restoring process for storing the instance data saved by the saving means in a location where the new application instance can be used after the loading process;
List creation means for creating a list of instance data that is insufficient in the saved instance data among the instance data necessary for the new application instance,
Output means for outputting information of the list to an external device;
An update program characterized by functioning as
JP2017145562A 2017-07-27 2017-07-27 Electronic information storage medium, ic card, update method by electronic information storage medium and update program Pending JP2019028602A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017145562A JP2019028602A (en) 2017-07-27 2017-07-27 Electronic information storage medium, ic card, update method by electronic information storage medium and update program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017145562A JP2019028602A (en) 2017-07-27 2017-07-27 Electronic information storage medium, ic card, update method by electronic information storage medium and update program

Publications (1)

Publication Number Publication Date
JP2019028602A true JP2019028602A (en) 2019-02-21

Family

ID=65476268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017145562A Pending JP2019028602A (en) 2017-07-27 2017-07-27 Electronic information storage medium, ic card, update method by electronic information storage medium and update program

Country Status (1)

Country Link
JP (1) JP2019028602A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200279A (en) * 1993-12-28 1995-08-04 Toshiba Corp Object management system and network management system
US20060086785A1 (en) * 2004-10-21 2006-04-27 Kabushiki Kaisha Toshiba Portable electronic apparatus and method of updating application in portable electronic apparatus
US20140167976A1 (en) * 2012-12-17 2014-06-19 Itron, Inc. Virtual metering with partitioned metrology

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200279A (en) * 1993-12-28 1995-08-04 Toshiba Corp Object management system and network management system
US20060086785A1 (en) * 2004-10-21 2006-04-27 Kabushiki Kaisha Toshiba Portable electronic apparatus and method of updating application in portable electronic apparatus
JP2006119901A (en) * 2004-10-21 2006-05-11 Toshiba Corp Portable electronic apparatus and application updating method for the portable electronic apparatus
US20140167976A1 (en) * 2012-12-17 2014-06-19 Itron, Inc. Virtual metering with partitioned metrology
JP2016508256A (en) * 2012-12-17 2016-03-17 アイトロン インコーポレイテッド Virtual metric using segmented measurements

Similar Documents

Publication Publication Date Title
US8811971B2 (en) Mobile communication device and method for disabling applications
US8391837B2 (en) Method, system and trusted service manager for securely transmitting an application to a mobile phone
JP5329884B2 (en) Portable electronic device and data processing method in portable electronic device
US20060086785A1 (en) Portable electronic apparatus and method of updating application in portable electronic apparatus
JP6585072B2 (en) Safe reading of data into non-volatile memory or secure elements
KR101783526B1 (en) Ic card, electronic device and portable electronic device
JP6426411B2 (en) IC card and portable electronic device
JP2019028602A (en) Electronic information storage medium, ic card, update method by electronic information storage medium and update program
CN103309758B (en) A kind of mthods, systems and devices blocking application and download
KR20230019032A (en) Pre-personalized secure element and embedded personalization
JP2018136835A (en) IC card and IC card issuing system, IC card issuing method
JP7202543B2 (en) eUICC and eUICC provisioning methods
JP7068603B2 (en) Update method and update program using electronic information storage medium, IC card, electronic information storage medium
JP6915437B2 (en) Update method and update program using electronic information storage medium, IC card, electronic information storage medium
JP2006338311A (en) Computer system for processing device loaded with multiple applications, device and computer program
JP2011013831A (en) Portable electronic apparatus, and data processing method in the portable electronic apparatus
JP7009844B2 (en) Update method and update program using electronic information storage medium, IC card, electronic information storage medium
JP7322923B2 (en) Secure element, transaction control method and device
JP6780462B2 (en) Electronic information storage medium, secure processing execution method, and secure processing execution program
JP2018061193A (en) Electronic information storage medium, IC card, support information update method, and support information update program
JP6287284B2 (en) IC chip and program encryption method
JP2008152411A (en) Information processor, information processing method and program
JP2014182467A (en) Information storage medium, data selection processing program and data selection processing method
US20100200650A1 (en) Mobile communication device and method for recovering mifare memory
JP2019128905A (en) Electronic information storage medium, ic card, method for processing information with electronic information storage medium, and os

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210303

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210914