[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7009844B2 - Update method and update program using electronic information storage medium, IC card, electronic information storage medium - Google Patents

Update method and update program using electronic information storage medium, IC card, electronic information storage medium Download PDF

Info

Publication number
JP7009844B2
JP7009844B2 JP2017169178A JP2017169178A JP7009844B2 JP 7009844 B2 JP7009844 B2 JP 7009844B2 JP 2017169178 A JP2017169178 A JP 2017169178A JP 2017169178 A JP2017169178 A JP 2017169178A JP 7009844 B2 JP7009844 B2 JP 7009844B2
Authority
JP
Japan
Prior art keywords
application
application program
deletion
new
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017169178A
Other languages
Japanese (ja)
Other versions
JP2019046211A (en
Inventor
宗志 深谷
直登 船津
満里子 野地
佑介 渡辺
勇利 穂浪
憲介 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017169178A priority Critical patent/JP7009844B2/en
Publication of JP2019046211A publication Critical patent/JP2019046211A/en
Application granted granted Critical
Publication of JP7009844B2 publication Critical patent/JP7009844B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

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

従来、ICチップなどの電子情報記憶媒体が組み込まれたICカードにおいて、ICチップのROMにICカードOS(Operating System)を記憶し、同じくICチップの不揮発性メモリに複数のアプリケーションを記憶するマルチアプリケーション型ICカードが普及し始めている。マルチアプリケーション型ICカードでは、不揮発性メモリにアプリケーションプログラムと、アプリケーションプログラムから生成されるアプリケーションインスタンス(これらを総称して「アプリケーション」という場合がある)を記憶することから、アプリケーションを追加したり削除したりすることが比較的容易である。 Conventionally, in an IC card incorporating an electronic information storage medium such as an IC chip, a multi-application that stores an IC card OS (Operating System) in the ROM of the IC chip and also stores a plurality of applications in the non-volatile memory of the IC chip. Type IC cards are becoming widespread. In the multi-application type IC card, the application program and the application instance generated from the application program (these may be collectively referred to as "application") are stored in the non-volatile memory, so that the application can be added or deleted. It is relatively easy to do.

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

ところが、特許文献1の技術では、更新対象部分を上書きプログラムで上書きするため、上書きプログラムのデータ量が更新対象部分のデータ量を上回っている場合に更新を行うことができない場合がある。 However, in the technique of Patent Document 1, since the update target portion is overwritten by the overwrite program, the update may not 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 for updating an application, there is also a method of temporarily deleting the application program and the application instance to be updated, loading the updated version of the application program, and generating the application instance from the application program. 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.

なお、以下、アプリケーションプログラムについてはELF(Executable Load File)、アプリケーションインスタンスについてはAPという場合がある。また、アップデート前とアップデート後のELF又はAPを明確に区別するためそれぞれ「旧」と「新」を付ける場合がある。例えば、ICチップに既に配置されているELFを旧ELF、アップデート後のELFを新ELFと記載し区別する場合がある。 Hereinafter, the application program may be referred to as ELF (Executable Load File), and the application instance may be referred to as AP. In addition, "old" and "new" may be added to clearly distinguish the ELF or AP before and after the update. For example, the ELF already placed on the IC chip may be described as an old ELF, and the updated ELF may be described as a new ELF to distinguish them.

特開2006-293706号公報Japanese Unexamined Patent Publication No. 2006-293706

ICチップにおいて、ELFに基づいて幾つかのAPが生成された状態で、これらのELF及びAPをアップデートする場合、上述したように、ICチップ上の旧ELFと旧APを一旦削除し、新ELFと新APをICチップ上へ配置する必要がある。これらの処理は外部機器との間で複数のコマンドとレスポンス(応答)をやり取りする必要があるため、ICチップにとって相対的に負荷の高い処理であり、多くの時間を要することは避けられない。 When updating these ELFs and APs in a state where some APs are generated based on the ELF in the IC chip, as described above, the old ELF and the old AP on the IC chip are temporarily deleted, and the new ELF is used. And the new AP needs to be placed on the IC chip. Since these processes need to exchange a plurality of commands and responses with an external device, they are relatively heavy processes for the IC chip, and it is inevitable that a lot of time is required.

そのため、一のアプリケーション(ELFと当該ELFから生成されるAP)のアップデート処理中に他のアプリケーションのロード処理やインストール処理が割り込む可能性がある。このとき、一のアプリケーションに関するOS管理情報(OSがELFやAPを管理する際に用いる情報であり、レジストリデータという場合もある)のうち特定のOS管理情報は、他のアプリケーションのロード処理やインストール処理の影響を受けることなく、アップデート処理後も適切に一のアプリケーション(新ELFと当該新ELFから生成される新AP)にそのまま引き継がれる必要がある。ここで、特定のOS管理情報とは、例えば、ICチップ内で一のELF又はAPについてのみ割り当てられる独占対象(例えば、AIDや特権など)が何れのELF又はAPに割り当てられているかを示す情報である。 Therefore, there is a possibility that the load process and the installation process of another application may be interrupted during the update process of one application (ELF and AP generated from the ELF). At this time, the specific OS management information among the OS management information related to one application (information used when the OS manages ELF and AP, and may be called registry data) is the loading process and installation of another application. It is necessary to properly inherit to one application (new ELF and new AP generated from the new ELF) even after the update process without being affected by the process. Here, the specific OS management information is, for example, information indicating which ELF or AP the exclusive target (for example, AID or privilege) assigned to only one ELF or AP in the IC chip is assigned. Is.

アプリケーションのアップデート処理が開始され、「旧ELF及び旧APの削除」が実行されたとき、単に旧ELF及び旧APを削除してしまうと、当該アップデート処理中に割り込んだ処理が、旧ELF及び旧APに割り当てられていた独占対象の割り当て要求をする可能性がある。OSはその要求に従って割り当てを実施すると、新ELFや新APが、独占対象を引き継げなくなるという問題が発生する。例えば、アップデートする際に、あるAPのAIDが旧APから新APに引き継げなかった場合、これまでそのAPと通信していた外部機器は、通信対象である新APに対して同じAIDを指定して通信を試みるため、APのアップデート後はそのAPと通信することができなくなってしまう。 When the application update process is started and "Delete old ELF and old AP" is executed, if the old ELF and old AP are simply deleted, the process interrupted during the update process will be the old ELF and old AP. There is a possibility of making an allocation request for the monopoly target assigned to the AP. If the OS allocates according to the request, there arises a problem that the new ELF and the new AP cannot take over the monopoly target. For example, when updating, if the AID of a certain AP cannot be inherited from the old AP to the new AP, the external device that has been communicating with that AP will specify the same AID for the new AP to be communicated. After updating the AP, it will not be possible to communicate with that AP.

そこで、本発明は、アプリケーションプログラム及びアプリケーションインスタンスのアップデート処理中に、アップデート対象にのみ割り当てられていた独占対象を、他のアプリケーションプログラム又はアプリケーションインスタンスに割り当てることなく、アップデート処理後も適切にアップデートしたアプリケーションプログラム又はアプリケーションインスタンスに引き継ぐことができる電子情報記憶媒体等を提供することを課題とする。 Therefore, the present invention is an application that appropriately updates even after the update process without allocating the exclusive target assigned only to the update target to another application program or application instance during the update process of the application program and the application instance. An object of the present invention is to provide an electronic information storage medium or the like that can be inherited by a program or an application instance.

上記課題を解決するために、請求項1に記載の発明は、アプリケーションプログラム及びアプリケーションインスタンスを記憶する記憶手段と、アップデート対象であるアプリケーションプログラム及びアプリケーションインスタンスを削除対象として削除する削除処理を実行する削除手段と、前記アップデート対象であるアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段と、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段と、前記削除処理、前記ロード処理又は前記インストール処理の実行中に、一のアプリケーションプログラム又はアプリケーションインスタンスにのみ割り当てられる独占対象であって、前記アップデート対象であるアプリケーションプログラム又はアプリケーションインスタンスに割り当てられた独占対象を、他のアプリケーションプログラム及びアプリケーションインスタンスに対して割り当てる要求を受け付けた場合に、当該要求を拒否する拒否手段と、を備えることを特徴とする。 In order to solve the above problem, the invention according to claim 1 is a storage means for storing an application program and an application instance, and a deletion process for deleting the application program and the application instance to be updated as a deletion target. Means, a load means for executing a load process for storing a new application program which is a new version of the application program to be updated in the storage means, and a load means stored in the storage means after the deletion process and the load process. An installation means that generates a new version of a new application instance based on the new application program and stores it in the storage means, and during execution of the deletion process, the load process, or the installation process. The exclusive target assigned only to the application program or application instance of the above, and the request to allocate the exclusive target assigned to the application program or application instance to be updated to other application programs and application instances is accepted. It is characterized in that it is provided with a refusal means for rejecting the request.

請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記独占対象は、前記記憶手段に記憶される何れかのアプリケーションプログラム又はアプリケーションインスタンスに必ず割り当てられなければならず、前記削除対象を削除する際に、当該削除対象を管理する管理アプリケーションプログラム又は管理アプリケーションインスタンスに前記独占対象を割り当てる割り当て手段と、前記管理アプリケーションプログラム又は前記管理アプリケーションインスタンスに割り当てた独占対象を、前記新アプリケーションプログラム又は前記新アプリケーションインスタンスに再割り当てする再割り当て手段と、を更に備えることを特徴とする。 The invention according to claim 2 is the electronic information storage medium according to claim 1, and the exclusive object must be assigned to any application program or application instance stored in the storage means. Instead, when deleting the deletion target, the allocation means for allocating the exclusive target to the management application program or the management application instance that manages the deletion target, and the exclusive target assigned to the management application program or the management application instance. It is further provided with a reassignment means for reassigning to the new application program or the new application instance.

請求項3に記載の発明は、請求項1又は2に記載の電子情報記憶媒体であって、前記削除処理、前記ロード処理又は前記インストール処理を実行中に、前記削除対象であるアプリケーションプログラム又はアプリケーションインスタンスを検索する要求を外部機器から受けた場合に、当該削除対象であるアプリケーションプログラム又はアプリケーションインスタンスは存在しない旨の応答を前記外部機器に行う応答手段を更に備えることを特徴とする。 The invention according to claim 3 is the electronic information storage medium according to claim 1 or 2, and is an application program or application to be deleted while the deletion process, the load process, or the installation process is being executed. When a request for searching an instance is received from an external device, the external device is further provided with a response means for giving a response to the effect that the application program or application instance to be deleted does not exist.

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

請求項5に記載の発明は、アプリケーションプログラム及びアプリケーションインスタンスを記憶する記憶手段を備える電子情報記憶媒体によるアップデート方法であって、アップデート対象であるアプリケーションプログラム及びアプリケーションインスタンスを削除対象として削除する削除処理を実行する削除工程と、前記アップデート対象であるアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード工程と、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール工程と、前記削除処理、前記ロード処理又は前記インストール処理の実行中に、一のアプリケーションプログラム又はアプリケーションインスタンスにのみ割り当てられる独占対象であって、前記アップデート対象であるアプリケーションプログラム又はアプリケーションインスタンスに割り当てられた独占対象を、他のアプリケーションプログラム及びアプリケーションインスタンスに対して割り当てる要求を受け付けた場合に、当該要求を拒否する拒否工程と、を含むことを特徴とする。 The invention according to claim 5 is an update method using an electronic information storage medium including a storage means for storing an application program and an application instance, and a deletion process for deleting the application program and the application instance to be updated as a deletion target. A deletion step to be executed, a load process to execute a load process for storing a new application program which is a new version of the application program to be updated in the storage means, and a storage means after the deletion process and the load process. An installation process for generating a new version of a new application instance based on the new application program stored in the storage unit and executing an installation process for storing the new application instance in the storage means, and during execution of the deletion process, the load process, or the installation process. In addition, a request to allocate the exclusive target assigned to the application program or application instance to be updated to other application programs and application instances, which is an exclusive target assigned to only one application program or application instance. It is characterized by including a refusal step of rejecting the request when it is accepted.

請求項6に記載の発明は、アプリケーションプログラム及びアプリケーションインスタンスを記憶する記憶手段を備える電子情報記憶媒体に含まれるコンピュータを、アップデート対象であるアプリケーションプログラム及びアプリケーションインスタンスを削除対象として削除する削除処理を実行する削除手段、前記アップデート対象であるアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段、前記削除処理、前記ロード処理又は前記インストール処理の実行中に、一のアプリケーションプログラム又はアプリケーションインスタンスにのみ割り当てられる独占対象であって、前記アップデート対象であるアプリケーションプログラム又はアプリケーションインスタンスに割り当てられた独占対象を、他のアプリケーションプログラム及びアプリケーションインスタンスに対して割り当てる要求を受け付けた場合に、当該要求を拒否する拒否手段、として機能させることを特徴とする。 The invention according to claim 6 executes a deletion process for deleting a computer included in an electronic information storage medium provided with a storage means for storing an application program and an application instance, for deleting the application program and the application instance to be updated. Deletion means to be deleted, load means for executing a load process for storing a new application program which is a new version of the application program to be updated in the storage means, storage in the storage means after the deletion process and the load process. During the execution of the installation means, the deletion process, the load process, or the installation process of generating a new version of a new application instance based on the new application program and storing the new application instance in the storage means. An exclusive target assigned only to an application program or application instance, and when a request to allocate the exclusive target assigned to the application program or application instance to be updated is accepted to another application program or application instance. , It is characterized in that it functions as a refusal means for rejecting the request.

本発明によれば、独占対象が割り当てられていたアプリケーションプログラム又はアプリケーションインスタンスをアップデートするためにアップデート対象を削除している場合において、他のアプリケーションプログラム及びアプリケーションインスタンスに対して当該独占対象を割り当てる要求を受け付けた場合にこれを拒否するため、アップデート処理後も適切にアップデートしたアプリケーションプログラム又はアプリケーションインスタンスに当該独占対象を引き継ぐことができる。 According to the present invention, when the update target is deleted in order to update the application program or application instance to which the exclusive target has been assigned, a request for assigning the exclusive target to another application program or application instance is requested. Since this is rejected when it is accepted, the exclusive target can be taken over by the application program or application instance that has been appropriately updated even after the update process.

本実施形態に係るICカード1に搭載されるICチップ1aのハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the IC chip 1a mounted on the IC card 1 which concerns on this embodiment. ICチップ1aの機能構成例を示すブロック図である。It is a block diagram which shows the functional structure example of IC chip 1a. ICチップ1aのレジストリデータ記憶領域200の構成例を示す図である。It is a figure which shows the configuration example of the registry data storage area 200 of the IC chip 1a. アップデート処理においてAIDや特権等の状態付与対象に付与される状態に関する説明を一覧にした表である。It is a table which listed the explanation about the state which is given to the state grant target such as AID and privilege in the update process. 本実施形態に係るアップデート処理の一例を示すシーケンス図である。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 save / deletion process by the IC chip 1a which concerns on this embodiment. 本実施形態に係るICチップ1aによるインストール・復元処理の一例を示すフローチャートである。It is a flowchart which shows an example of the installation / restoration process by the IC chip 1a which concerns on this embodiment. 本実施形態に係るICチップ1aによる特権付与判定処理の一例を示すフローチャートである。It is a flowchart which shows an example of privilege grant determination processing by 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 equipped with a multi-application IC chip having an application update function.

[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 showing a hardware configuration example of an IC chip 1a mounted on an IC card 1. The IC card 1 of the present embodiment is a dual interface type IC card having two communication functions of contact data communication and non-contact data communication. 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 having a built-in antenna coil and wirelessly communicating data 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 1a includes a CPU (Central Processing Unit) 10, a RAM (Random Access Memory) 11, a ROM (Read Only Memory) 12, a non-volatile memory 13, and an I / O circuit 14. It is composed. The CPU 10 is a processor (computer) that executes various programs stored in the ROM 12 or the non-volatile 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 provided with the reader / writer. In the case of the contact type IC chip 1a, the I / O circuit 14 is provided with, for example, eight terminals C1 to C8. For example, the C1 terminal is a power supply terminal (terminal that supplies power to the IC chip 1a), the C2 terminal is a reset terminal, the C3 terminal is a clock terminal, the C5 terminal is a ground terminal, and the C7 terminal communicates with an external device 2. It is a terminal of. On the other hand, in the case of the non-contact type IC chip 1a, the I / O circuit 14 is provided with, for example, an antenna and a modulation / demodulation circuit. Examples of the external device 2 include an IC card issuing machine, an ATM, a ticket gate, an authentication gate, and the like. Alternatively, when the IC chip 1a is incorporated in a communication device, the external device 2 corresponds to a control unit that has a function of the communication device.

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

ここで、アプリケーションの機能は、ELFに基づいてインストール処理することにより不揮発性メモリ13に生成されるAPをCPU10が実行することにより実現される。なお、APを実行することによりアプリケーションの機能が実現されることから、APをアプリケーションという場合もある。また、ELFは、後述するようにサーバから[LOAD]コマンドにより分割してICチップ1aに送信され、不揮発性メモリ13に記憶される。すなわち、不揮発性メモリ13には、ELF及びAPが記憶される。 Here, the function of the application is realized by the CPU 10 executing the AP generated in the non-volatile memory 13 by the installation process based on the ELF. Since the function of the application is realized by executing the AP, the AP may be referred to as an application. Further, the ELF is divided by the [LOAD] command from the server and transmitted to the IC chip 1a as described later, and is stored in the non-volatile memory 13. That is, ELF and AP are stored in the non-volatile 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 showing a functional configuration example of the IC chip 1a. In the IC chip 1a, there is always one or more security domains (Security Domain, hereinafter referred to as "SD") which are applications for managing the IC chip 1a itself and the applications in the IC chip 1a. SD includes ISD (Issuer Security Domain) and SSD (Supplementary Security Domains). Such SD mainly supports the following functions (1) to (9).

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

ISDは、上記(1)~(9)の機能をサポートすることで、ICチップ1a内のカードコンテント(ELF、AP等)に対して、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 realizes the management and security policy of the issuer of the IC card 1 for the card content (ELF, AP, etc.) in the IC chip 1a. .. On the other hand, SSD supports the functions (1) to (9) above to realize the management and security policy of a third party who provides services on the IC card for the card content in the IC card. .. Here, the third party who provides the service on the IC card means a person in a position other than the issuer of the IC card and the holder of the IC card (the user who is the target of issuing the IC card). Further, in the function of (9) above, the SCP has the confidentiality of the command data, the integrity of the command (and the guarantee of the command sequence), and the command data (for the communication path between the SD in the IC card and the external device). Provides additional integrity of sensitive data (eg, keys and PIN codes) in plain text.

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

ISD、SSD、Application1、2といったアプリケーションは、不具合が見つかった場合や機能を追加する場合にアップデートされる。ここで、アプリケーションのアップデートはELFとAPのアップデートが主な目的であるため、インスタンスデータとレジストリデータは、アップデートの前後で同一データとなるものが多い(暗号の危殆化などで、アルゴリズムや鍵長を変更する場合などは、異なるデータとなることもある)。そこで、本実施形態のICチップ1aは、アプリケーションのアップデートを行う際に、インスタンスデータとレジストリデータを退避させ、旧ELF及び旧APを削除した後に、新ELFをロードし、インストール処理により新ELFに基づいて新APの生成を行い、次いで、退避させておいたインスタンスデータとレジストリデータを復元するといった一連の処理(「アップデート処理」という)を行う。なお、インスタンスデータとレジストリデータを退避する場合、(A)実際にはデータを他の記憶領域に移動させずに、当該データにフラグを設け、当該フラグのオン/オフを切り替えることで退避中・非退避中を切り替える方法と、(B)実際にデータを他の記憶領域に移動させ、退避したデータを復元する際に当該データを登録し直す方法とがある。(A)、(B)の何れも退避させる方法であるが、本実施形態では(A)の退避方法を採用し、フラグとして、後述する更新フラグを設ける。 Applications such as ISD, SSD, Applications 1 and 2 are updated when a defect is found or a function is added. Here, since the main purpose of updating the application is to update the ELF and AP, the instance data and the registry data are often the same data before and after the update (algorithms and key lengths due to cryptographic compromise, etc.). If you change the data, the data may be different). Therefore, the IC chip 1a of the present embodiment saves the instance data and the registry data when updating the application, deletes the old ELF and the old AP, loads the new ELF, and installs the new ELF into the new ELF. Based on this, a new AP is generated, and then a series of processes (referred to as "update process") such as restoring the saved instance data and registry data are performed. When saving instance data and registry data, (A) the data is not actually moved to another storage area, but a flag is set for the data and the flag is being saved by switching on / off. There are a method of switching between non-save and (B) a method of actually moving the data to another storage area and re-registering the data when the saved data is restored. Both (A) and (B) are methods of evacuation, but in the present embodiment, the evacuation method of (A) is adopted, and an update flag described later is provided as a flag.

ここで、一のアプリケーションのアップデート処理中に、他のアプリケーションのアップデート処理が割り込むことがある。そして、他のアプリケーションのアップデート処理において、一のアプリケーションについて退避させたレジストリデータに含まれるAIDや特権等を、当該他のアプリケーションに対して割り当てる要求がなされることが想定される。このとき、一のアプリケーションのアップデート処理において、レジストリデータを退避させるだけでは、AIDや特権が他のアプリケーションに割り当てられてしまい、一のアプリケーションについてAIDや特権等を適切に引き継ぐことができなくなってしまうおそれがある。 Here, the update process of another application may be interrupted during the update process of one application. Then, in the update process of another application, it is assumed that a request is made to assign the AID, privileges, etc. included in the registry data saved for one application to the other application. At this time, in the update process of one application, if only the registry data is saved, the AID and privileges are assigned to other applications, and the AID and privileges cannot be properly inherited for one application. There is a risk.

そこで、以下では、アプリケーションのアップデート処理において、AIDや特権等を適切に引き継ぐための方法について説明する。図3は、不揮発性メモリ13上のレジストリデータ記憶領域200の構成例を示す図であり、図4は、アップデート処理においてAIDや特権等の状態付与対象に付与される状態に関する説明を一覧にした表である。 Therefore, in the following, a method for appropriately inheriting AID, privileges, etc. in the application update process will be described. FIG. 3 is a diagram showing a configuration example of the registry data storage area 200 on the non-volatile memory 13, and FIG. 4 is a list of explanations regarding the states given to the state grant targets such as AID and privilege in the update process. It is a table.

図3に示すように、不揮発性メモリ13における、OSが管理するレジストリデータ記憶領域200には、ELF管理情報210と、AP管理情報220が記憶される。 As shown in FIG. 3, the ELF management information 210 and the AP management information 220 are stored in the registry data storage area 200 managed by the OS in the non-volatile memory 13.

ELF管理情報210は、不揮発性メモリ13に記憶されている各ELFに関する管理情報(1行(レコード)が一のELFに関する管理情報に対応)の集合である。同様に、AP管理情報220は、不揮発性メモリ13に記憶されている各APに関する管理情報(1行(レコード)が一のAPに関する管理情報に対応)の集合である。 The ELF management information 210 is a set of management information (one line (record) corresponds to the management information regarding one ELF) stored in the non-volatile memory 13. Similarly, the AP management information 220 is a set of management information (one line (record) corresponds to the management information regarding one AP) stored in the non-volatile memory 13.

ELF管理情報210とAP管理情報220は、各レコードについてアップデート処理中であるか否かを示す更新中フラグ230を含む。更新中フラグ230の「1」(オン)はアップデート中であることを示し、「0」(オフ)はアップデート中でないことを示す。更新中フラグ230は、OSが保持する各機能(例えば、ELFのロード機能、APのインストール機能、ELF/APの削除機能、APの検索機能等)を実現する際に参照される。 The ELF management information 210 and the AP management information 220 include an updating flag 230 indicating whether or not an update process is being performed for each record. The “1” (on) of the updating flag 230 indicates that the update is in progress, and the “0” (off) indicates that the update is not in progress. The updating flag 230 is referred to when each function held by the OS (for example, ELF load function, AP installation function, ELF / AP deletion function, AP search function, etc.) is realized.

また、ELF管理情報210とAP管理情報220を構成する各レコードは、状態付与対象240と状態250の組み合わせを保持する。状態付与対象240とは、例えば、ELF又はAPに割り当てられているAIDや特権等であり、状態250とは、そのAIDや特権等について付与される状態である。以下、図4を用いて具体的に説明する。 Further, each record constituting the ELF management information 210 and the AP management information 220 holds a combination of the state assignment target 240 and the state 250. The state grant target 240 is, for example, an AID or privilege assigned to an ELF or AP, and the state 250 is a state to be granted with respect to the AID or privilege. Hereinafter, a specific description will be given with reference to FIG.

図4に示すように、アップデート処理の対象となっているELFやAPに割り当てられるAIDや特権等に付与される状態には「停止中」と「移譲中」がある。 As shown in FIG. 4, there are "suspended" and "transferred" in the states assigned to the AID, privilege, etc. assigned to the ELF or AP that is the target of the update process.

「停止中」が付与される状態付与対象240には、例えば、ELFのAID、APのAID及び登録済みのグローバルサービス名(これらを総称して「AID等」という場合がある)がある。状態250「停止中」が付与される停止付与対象240は、ICチップ1a内で一つのELF又はAPにのみ割り当てられる。ここで、「00000001」というAIDがICチップ1a内で一つのELF又はAPにのみ割り当てられる場合、当該ELF又はAPは「00000001」というAIDを独占することを意味することから、AID等は独占対象ということができる。 The state grant target 240 to which "stopped" is given includes, for example, an ELF AID, an AP AID, and a registered global service name (these may be collectively referred to as "AID or the like"). The stop grant target 240 to which the state 250 “stopped” is given is assigned to only one ELF or AP in the IC chip 1a. Here, when the AID "00000001" is assigned to only one ELF or AP in the IC chip 1a, it means that the ELF or AP monopolizes the AID "00000001", so that the AID or the like is an exclusive target. It can be said.

グローバルサービスは、ICチップ1a上の一のアプリケーションが自己のサービスをICチップ1a上の他のアプリケーションに対して提供する機能の総称であり、例えば、PIN(Personal Identification Number)照合サービスや暗号化サービスといったサービスが提供される。グローバルサービスを提供するアプリケーションについては、インストール時にInstall for installコマンドのパラメータ内に、提供するサービス毎にサービスID(serviceID)が記述される。PIN照合サービス及び暗号化サービスの2つのサービスを提供するアプリケーションであれば、例えば、PIN照合サービスのサービスIDとして「AABBh」、暗号化サービスのサービスIDとして「CCDDh」がパラメータ内に記述される。そして、OSはInstall for installコマンドを受信した際の処理の一環として、当該アプリケーションのレジストリエントリを生成し、AIDやサービスID(「AABBh」、「CCDDh」)を設定した後、これを管理する。一方、サービスを利用するアプリケーションは、OSに対して利用したいサービスのサービスIDと当該サービスを提供するアプリケーションのAIDを指定する。これに対してOSは、レジストリから指定されたAIDとサービスIDを検索して、対象のサービスを利用するアプリケーションに引き渡す(具体的には、Java(登録商標)言語のオブジェクト参照をOSからサービスを利用するアプリケーションへ引き渡す)ことで、サービスを利用可能とする。ここで、ICチップ1a上のアプリケーションの数が増えてくると、サービス毎にAIDとサービスIDを管理する必要があり煩雑となる。そこで、AIDを省略してサービスIDだけでサービスを指定する仕組みがICチップ1aには取り入れられている。このとき、予めサービスIDと特定のアプリケーションを対応付けて登録しておくことで、OSはサービスIDだけが指定された場合に当該アプリケーションのサービスを特定して提供することができる。状態付与対象240の一例である登録済みのグローバルサービス名は、予めアプリケーションと唯一対応付けて登録されるサービスIDのことである。 Global service is a general term for functions in which one application on IC chip 1a provides its own service to other applications on IC chip 1a. For example, PIN (Personal Identification Number) verification service and encryption service. Services such as are provided. For an application that provides a global service, a service ID (serviceID) is described for each service to be provided in the parameters of the Initial for installation command at the time of installation. In the case of an application that provides two services, a PIN verification service and an encryption service, for example, "AABBh" is described as the service ID of the PIN verification service, and "CCDDh" is described as the service ID of the encryption service in the parameters. Then, the OS generates a registry entry of the application as a part of the process when receiving the Installation for installation command, sets the AID and the service ID (“AABBh”, “CCDDh”), and then manages the registry entry. On the other hand, the application that uses the service specifies the service ID of the service to be used for the OS and the AID of the application that provides the service. On the other hand, the OS searches for the specified AID and service ID from the registry and hands it over to the application that uses the target service (specifically, the service is transferred from the OS to the object reference in the Java (registered trademark) language. The service can be used by handing it over to the application to be used). Here, as the number of applications on the IC chip 1a increases, it becomes necessary to manage the AID and the service ID for each service, which becomes complicated. Therefore, the IC chip 1a incorporates a mechanism in which the AID is omitted and the service is specified only by the service ID. At this time, by registering the service ID and the specific application in association with each other in advance, the OS can specify and provide the service of the application when only the service ID is specified. The registered global service name, which is an example of the status assignment target 240, is the only service ID registered in association with the application in advance.

OSは、状態250「停止中」を設定したで状態付与対象240(AID等)が割り当てられたELF又はAPについて、削除された場合と同様に存在しないものとして扱うが、そのAID等の割り当て要求を受け取った場合に、その要求を拒否する。以下、具体的に説明する。 The OS treats the ELF or AP to which the status grant target 240 (AID, etc.) is assigned when the status 250 "stopped" is set, as if it were deleted, but the allocation request for the AID, etc. If you receive, reject the request. Hereinafter, a specific description will be given.

(1)SELECTコマンド
SELECTコマンドは、AID及びロジカルチャネル番号を指定することにより、当該AIDで識別されるAPとの論理上の通信路(ロジカルチャネル)を、指定したロジカルチャネル番号で識別されるロジカルチャネルとすることを要求するコマンドである。OSは、外部機器2からSELECTコマンドを受信した場合において、当該SELECTコマンドで選択されたAPを識別するAIDが「停止中」である場合に、当該APは存在しないものとして扱う(次の候補を検索する)。OSは、SELECTコマンドの受信時に、コマンドのデータフィールドに記述されたAIDとOSが保持するアプリケーションレジストリ内の各AIDを順番(例えば、インストールした順(創成順))に比較する。このとき、コマンドデータフィールドに記述されるAIDはAIDの一部(例えば先頭の3バイトのみ)の場合があり、比較結果として一致する候補AIDが複数存在する場合がある。OSは、AIDが(部分)一致した場合、そのアプリケーションがロジカルチャネル上で選択可能な状態か(例えば、AIDが部分一致したアプリケーションのライフサイクルがロック状態か否か)を確認する。OSは、選択可能な状態であれば、アプリケーションの選択処理を実施し、選択不可能な状態であれば、次の候補であるアプリケーションについてAIDの比較(すなわち、検索)を行う。本実施形態では、OSは「選択可能な状態」の確認項目として「停止中」であるか否かを更に判定する。
(2)GET STATUSコマンド
GET STATUSコマンドは、ICチップ1a上の全AIDを検索するコマンドである。OSは、外部機器2からGET STATUSコマンドを受信した場合に、「停止中」であるAIDは存在しないものとして扱う。すなわち、GET STATUSコマンドに対するレスポンス(応答)内の検索結果に「停止中」であるAIDを含めない。
(3)INSTALL for LOAD/LOADコマンド
INSTALL for LOAD/LOADコマンドは、ICチップ1a上へELFをロードするコマンドである。なお、INSTALL for LOAD/LOADコマンドでは、ロードするELFについてAID等の割り当て要求を行うことができる。OSは、外部機器2から、AID等の割り当て要求を伴うINSTALL for LOAD/LOADコマンドを受信した場合において、割り当て要求がなされたAIDが「停止中」である場合に、当該AIDは割り当て済みであるとして扱い応答する(AIDが重複する旨を知らせるエラー応答を送信する)。
(4)INSTALL for installコマンド
INSTALL for installコマンドは、ロードしたELFのAIDを指定してAPを生成するコマンドである。OSは、外部機器2からINSTALL for installコマンドを受信した場合において、指定されたAIDが「停止中」である場合に、当該AIDで指定されたELFは存在しないものとして応答する(エラー応答を送信する)。また、INSTALL for installコマンドでは、生成するAPについてAID等の割り当て要求を行うことができ、OSは、外部機器2から、生成するAPに対するAID等の割り当て要求を伴うINSTALL for installコマンドを受信した場合において、割り当て要求がなされたAIDが「停止中」である場合に、当該AIDは割り当て済みであるとして扱い応答する(AIDが重複する旨を知らせるエラー応答を送信する)。
(5)グローバルサービス登録用API
グローバルサービスを提供するアプリケーションでは、インストール後、AIDを省略して容易にサービスを利用してもらえるように、GlobalPlatform(登録商標)仕様のAPI(グローバルサービス登録用API)であるregisterService(serviceID)を実行する場合がある。このメソッドはJava(登録商標)のインターフェースメソッドであり、インターフェイス型オブジェクト参照(これがアプリケーション指定に相当する)を指定して呼び出す。このとき、グローバルサービスを提供するアプリケーションのインストール時にOSがレジストリにサービスID(「AABBh」、「CCDDh」)を設定した場合であれば、serviceIDは、「AABBh」、「CCDDh」の何れかとなる。これにより、OS内でアプリケーションのAIDが省略されても使用可能なサービスが対応付けられる。一方、グローバルサービスを利用するアプリケーションは、通常であれば、getService(AID,serviceID)メソッドにより、サービスを実装したオブジェクト参照を取得しサービスを利用できる。上記例であれば、getService(AID1,AABB)やgetService(AID1,CCDD)により取得することができる。但し、事前にグローバルサービス登録用APIであるregisterService(AABB)が実行されていれば、AIDを指定せずに、getService(null,AABB)でも同様に利用することができる。ここで、複数のアプリケーションがそれぞれインストール時に同一のサービスIDのサービスをレジストリへ登録することはできるが、グローバルサービス登録用APIであるregisterService(serviceID)により登録できるアプリケーションは、ICチップ1a内の一のサービスIDに対して一のアプリケーションのみとなる。また、これらのルールや実現手段であるメソッド(API)はGlobalPlatform仕様にて定められている。OSは、グローバルサービス登録用APIであるregisterService(serviceID)が実行された場合において、状態付与対象240「登録済みグローバルサービス名」に対して状態250「停止中」が設定されている場合には、APIにより指定されたグローバルサービスが既に登録済みであるものとして扱い、実行条件を満たさないとしてグローバルサービス登録用APIの実行を失敗に終わらせる。
(1) SELECT command The SELECT command specifies an AID and a logical channel number, so that a logical communication path (logical channel) with an AP identified by the AID is identified by the specified logical channel number. It is a command that requests to be a channel. When the OS receives the SELECT command from the external device 2, if the AID that identifies the AP selected by the SELECT command is "stopped", the OS treats the AP as nonexistent (the following candidates are treated as nonexistent). Search for). When the OS receives the SELECT command, the AID described in the data field of the command and each AID in the application registry held by the OS are compared in order (for example, the order of installation (creation order)). At this time, the AID described in the command data field may be a part of the AID (for example, only the first 3 bytes), and there may be a plurality of matching candidate AIDs as a comparison result. When the AIDs are (partially) matched, the OS checks whether the application can be selected on the logical channel (for example, whether the life cycle of the application whose AIDs are partially matched is locked). If the OS is in a selectable state, the application selection process is performed, and if the selectable state is not possible, the OS performs AID comparison (that is, search) for the next candidate application. In the present embodiment, the OS further determines whether or not it is "stopped" as a confirmation item of the "selectable state".
(2) GET STATUS command The GET STATUS command is a command for searching all AIDs on the IC chip 1a. When the OS receives the GET STATUS command from the external device 2, the OS treats the "stopped" AID as nonexistent. That is, the search result in the response to the GET STATUS command does not include the AID that is "stopped".
(3) INSTALL for LOAD / LOAD command The INSTALL for LOAD / LOAD command is a command for loading an ELF onto the IC chip 1a. In addition, in the INSTALL for LOAD / LOAD command, it is possible to make an allocation request such as AID for the ELF to be loaded. When the OS receives an INSTALL for LOAD / LOAD command accompanied by an allocation request such as an AID from the external device 2, and the AID for which the allocation request is made is "stopped", the AID has already been assigned. (Send an error response notifying that the AIDs are duplicated).
(4) INSTALL for installation command The INSTALL for installation command is a command to specify the AID of the loaded ELF and generate an AP. When the OS receives the INSTALL for installation command from the external device 2, if the specified AID is "stopped", the OS responds as if the ELF specified by the AID does not exist (sends an error response). do). Further, in the INSTALL for installation command, an AID or the like allocation request can be made for the generated AP, and when the OS receives an INSTALL for installation command accompanied by an AID or the like allocation request for the generated AP from the external device 2. In, when the AID for which the allocation request is made is "stopped", the AID is treated as assigned and responds (sending an error response notifying that the AIDs are duplicated).
(5) API for global service registration
For applications that provide global services, execute registerService (serviceID), which is an API (API for global service registration) of Global Platform (registered trademark) specifications, so that you can easily use the service by omitting the AID after installation. May be done. This method is a Java (registered trademark) interface method, and is called by specifying an interface type object reference (which corresponds to the application specification). At this time, if the OS sets the service ID (“AABBh”, “CCDDh”) in the registry when installing the application that provides the global service, the serviceID is either “AABBh” or “CCDDh”. As a result, services that can be used even if the AID of the application is omitted in the OS are associated. On the other hand, an application that uses a global service can normally use the getService (AID, serviceID) method to acquire an object reference that implements the service and use the service. In the above example, it can be obtained by getService (AID1, AABB) or getService (AID1, CCDD). However, if registerService (AABB), which is an API for global service registration, is executed in advance, it can be used in the same way with getService (null, AABB) without specifying AID. Here, although multiple applications can register services with the same service ID in the registry at the time of installation, the application that can be registered by registerService (serviceID), which is an API for global service registration, is one of the IC chips 1a. Only one application for the service ID. In addition, these rules and methods (APIs) that are the means of implementation are defined in the Global Platform specifications. When registerService (serviceID), which is an API for global service registration, is executed, the OS is set to state 250 "stopped" for the state grant target 240 "registered global service name". The global service specified by the API is treated as if it has already been registered, and the execution of the API for global service registration ends in failure because the execution condition is not satisfied.

一方、「移譲中」が付与される対象である状態付与対象240には、例えば、Card Reset特権、Final Application特権及びImplicit selection parameter(これらを総称して「特権等」という場合がある)がある。状態250「移譲中」が付与される停止付与対象240は、ICチップ1a内に唯一且つ必ず存在しなければならず、且つ、ICチップ1a内で一つのELF又はAPにのみ割り当てられる。ここで、特権等がICチップ1a内で一つのELF又はAPにのみ割り当てられる場合、当該特権等を独占することを意味することから、特権等は独占対象ということができる。 On the other hand, the state grant target 240 to which "transferring" is granted includes, for example, a Card Reset privilege, a Final Application privilege, and an Privilege selection parameter (these may be collectively referred to as "privilege, etc."). .. The stop grant target 240 to which the state 250 "in transfer" is granted must be unique and always exist in the IC chip 1a, and is assigned to only one ELF or AP in the IC chip 1a. Here, when the privilege or the like is assigned to only one ELF or AP in the IC chip 1a, it means that the privilege or the like is monopolized, so that the privilege or the like can be said to be an exclusive target.

Card Reset特権は、ICチップ1aへの電源投入時にリセット信号を受け付けたときに出力するATR(Answer-To-Reset)の内容を変更することが許される特権であり、ICチップ1a内において一つのAPに対して付与される。ATRの内容としては、ICチップ1aの通信プロトコルや通信速度を示す情報、ICチップ1aに記憶されているアプリケーションの識別情報等が挙げられる。 The Card Reset privilege is a privilege that allows the contents of the ATR (Answer-To-Reset) output when a reset signal is received when the power is turned on to the IC chip 1a to be changed, and is one in the IC chip 1a. Granted to AP. Examples of the contents of the ATR include information indicating the communication protocol and communication speed of the IC chip 1a, application identification information stored in the IC chip 1a, and the like.

Final Application特権は、ICチップ1a(又はICカード1)がロックされ、ユーザが使用できなくなったときにも唯一動作することが許される特権であり、ICチップ1a内において一つのAPに対して付与される。ICチップ1a(又はICカード1)がロックされる場合とは、例えば、ICチップ1a(又はICカード1)の使用期限が切れた場合や、ICチップ1a(又はICカード1)自身がセキュリティの脅威を検知して自ら機能を停止させる場合などである。Final Application特権が付与されるAPとしては、ロックになった理由を外部機器2に出力するAPが挙げられる。例えば、ICカード1がクレジットカードの場合、ロックが掛かってしまうとそのクレジットカードでは決済はできなくなるが、ロックになった理由を含む管理情報を外部機器2に出力するAPにFinal Application特権が付与されていれば、そのカードがロックした理由を把握することができる。 The Final Application privilege is a privilege that is only allowed to operate even when the IC chip 1a (or IC card 1) is locked and cannot be used by the user, and is granted to one AP in the IC chip 1a. Will be done. When the IC chip 1a (or IC card 1) is locked, for example, when the expiration date of the IC chip 1a (or IC card 1) has expired, or when the IC chip 1a (or IC card 1) itself has security. For example, when a threat is detected and the function is stopped by itself. Examples of the AP to which the Final Application privilege is granted include an AP that outputs the reason for the lock to the external device 2. For example, if the IC card 1 is a credit card, if the lock is applied, payment cannot be made with that credit card, but the AP that outputs management information including the reason for the lock to the external device 2 is given the Final Application privilege. If so, you can figure out why the card was locked.

Implicit selectionとは、OSが明示的なSELECTコマンドを受け付けなくても、予めAPとロジカルチャネル番号を対応付けて設定しておき、当該ロジカルチャネル番号で識別されるロジカルチャネルをクローズからオープンに切り替えるManage Channelコマンド(コマンドヘッダ内にOPEN又はCLOSEを指定することにより、ロジカルチャネルのOPENとCLOSEを制御するコマンド)を受け付けた場合に、当該ロジカルチャネル上で、予め設定されたAPとの通信を可能とする機能である。そして、OSは、Implicit selection parameterを用いて、予めAPとロジカルチャネル番号を対応付けて設定する。このとき、Implicit selection parameterで指定することのできるAPはICチップ1a上で一つだけである。 Impact selection is a Manage that switches the logical channel identified by the logical channel number from closed to open by setting the AP and the logical channel number in advance in association with each other even if the OS does not accept an explicit SELECT command. When a Channel command (a command that controls OPEN and CLOSE of a logical channel by specifying OPEN or CLOSE in the command header) is accepted, communication with a preset AP is possible on the logical channel. It is a function to do. Then, the OS is set in advance by associating the AP with the logical channel number by using the Impact selection parameter. At this time, only one AP can be specified by the Impact selection parameter on the IC chip 1a.

OSは、状態250「移譲中」を設定した状態付与対象240(特権等)については、アップデート処理中は特権等をISDへ移譲し、アップデート処理完了後には特権等を元に戻す。また、OSは、特権等をISDへ移譲している際に、別のアプリケーションのインストール処理において当該特権等の付与要求があっても拒否する。 The OS transfers the privilege, etc. to the ISD during the update process for the state grant target 240 (privilege, etc.) for which the state 250 “transferring” is set, and restores the privilege, etc. after the update process is completed. Further, the OS rejects even if there is a request for granting the privilege or the like in the installation process of another application when the privilege or the like is transferred to the ISD.

なお、OSは、状態250を参照しなくとも、更新フラグ230が「1」(オン)である場合には、ELF又はAPのAID等は「停止中」であり、特権等は「移譲中」であると判断することもできる。 Even if the OS does not refer to the state 250, when the update flag 230 is "1" (on), the ELF or AP AID or the like is "stopped", and the privilege or the like is "transferred". It can also be determined that.

[3.アップデート処理]
以下、図5-図7を用いて、ICチップ1aにおけるアプリケーションのアップデート処理の動作例について説明する。図5は、アップデート処理の一例を示すシーケンス図であり、図6は、ICチップ1aによる退避・削除処理の一例を示すフローチャートであり、図7は、ICチップ1aによるインストール・復元処理の一例を示すフローチャートである。
[3. Update process]
Hereinafter, an operation example of the application update process in the IC chip 1a will be described with reference to FIGS. 5 to 7. FIG. 5 is a sequence diagram showing an example of an update process, FIG. 6 is a flowchart showing an example of a save / delete process by the IC chip 1a, and FIG. 7 is an example of an installation / restore process by the IC chip 1a. It is a flowchart which shows.

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

まず、サーバは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 the ISD, which 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 that identifies an application that is a destination of a communication path, and a logical channel number that identifies a communication path (logical channel) with the application. On the other hand, the IC chip 1a executes a process for forming a communication path in response to a command, and transmits an OK response (step S2). However, if the processing 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 path (logical channel) identified by the logical channel number is formed, and thereafter, the server includes the logical channel number in the command, and the server passes through the communication path identified by the logical channel number. Can communicate with ISD.

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

相互認証処理は、プロトコルで決められたアルゴリズムに従い、暗号演算の元となる鍵を互いが知っているという前提の下、サーバと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 each other knows the key that is the source of the cryptographic operation according to the algorithm determined by the protocol. Specifically, the server sends the [INITIALIZE UPDATE] command and the [EXTERNAL AUTHENTICATE] command, which are commands for mutual authentication, to the IC chip 1a (steps S3 and S5), and the IC chip 1a responds to each command. It is performed by executing the process and transmitting an OK response when the process is completed normally (step S4, step S6). In FIG. 3, 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 the 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 the save / delete process (step S8). The save / delete process will be described later. When the IC chip 1a normally completes the save / delete process, it 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 sends a [LOAD (0)] command to the IC chip 1a (step S10). The [LOAD] command is a command for transmitting the application program of the new point application by dividing it into n pieces. The [LOAD (0)] command is a command for transmitting the first part of the n divisions and storing them 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 non-volatile memory 13, and when the process ends normally, sends an OK response to the server (step S11). Similarly, the server sends the [LOAD (1)] command, the [LOAD (2)] command, ..., and the [LOAD (n-1)] command to send the remaining part of the split. Each time, the IC chip 1a performs a process of storing a part of the application program included in the [LOAD] command in the non-volatile memory 13, and when the process ends normally, sends an OK response to the server. 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 non-volatile memory 13 of the IC chip 1a. It will be memorized (load completed). The processes of steps S10 to S13 may be collectively referred to as "load process". The load process may be performed after the completion of mutual authentication and before the processes of steps S7 to S9.

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

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

まず、ICチップ1aのOS(を実行するCPU10)は、ポイントアプリに関するインスタンスデータを退避する(ステップS101)。このとき、OSはインスタンスデータに対応するフラグをオンにすることにより退避させる。 First, the OS (CPU 10 that executes the IC chip 1a) saves the instance data related to the point application (step S101). At this time, the OS saves the data by turning on the flag corresponding to the instance data.

次に、OSはポイントアプリに関するレジストリデータを退避する(ステップS102)。このとき、OSはレジストリデータに対応する更新フラグ230をオンにすることにより退避させる。なお、ステップS101の処理及びステップS102の処理を総称して「退避処理」という場合がある。 Next, the OS saves the registry data related to the point application (step S102). At this time, the OS saves by turning on the update flag 230 corresponding to the registry data. The process of step S101 and the process of step S102 may be collectively referred to as "evacuation process".

次に、OSは退避したレジストリデータについて、状態付与対象240に対応する状態250を変更し、特権等を移譲する(ステップS103)。具体的には、OSは、アップデート処理の対象となっているポイントアプリのELF及びAPのAID等について状態250を「停止中」に変更し、ポイントアプリに特権等が付与されている場合には、その特権毎に状態250を「移譲中」に変更する。また、OSは、状態250を「移譲中」に変更した特権等については、当該特権等をISDに移譲する。 Next, the OS changes the state 250 corresponding to the state grant target 240 with respect to the saved registry data, and transfers privileges and the like (step S103). Specifically, the OS changes the state 250 to "stopped" for the ELF and AP AID of the point application that is the target of the update process, and if the point application is granted privileges or the like. , Change state 250 to "Transferring" for each privilege. In addition, the OS transfers the privilege, etc. that changed the state 250 to "transferring" to ISD.

次に、OSはポイントアプリのAPを削除する(ステップS104)。 Next, the OS deletes the AP of the point application (step S104).

次に、OSはポイントアプリのELFを削除し(ステップS105)、退避・削除処理を終了する。なお、ステップS104の処理及びステップS105の処理を総称して「削除処理」という場合がある。 Next, the OS deletes the ELF of the point application (step S105), and ends the save / delete process. The process of step S104 and the process of step S105 may be collectively referred to as "deletion process".

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

まず、ICチップ1aのOS(を実行するCPU10)は、図5のステップS10~ステップS12の[LOAD]コマンドに基づいて記憶したポイントアプリの新しいバージョンのELFのインストール処理を行い(すなわち、新しいバージョンのAPを生成し)、不揮発性メモリ13に記憶させる(ステップS201)。 First, the OS (CPU 10 for executing the IC chip 1a) performs the installation process of the ELF of the new version of the point application stored based on the [LOAD] command in steps S10 to S12 of FIG. 5 (that is, the new version). AP is generated) and stored in the non-volatile memory 13 (step S201).

次に、OSは、図6のステップS101の処理で退避したインスタンスデータを復元する(ステップS202)。具体的には、OSは、退避させたインスタンスデータに対応するフラグをオフにすることにより復元させる。 Next, the OS restores the instance data saved in the process of step S101 of FIG. 6 (step S202). Specifically, the OS restores the data by turning off the flag corresponding to the saved instance data.

次に、OSは、図6のステップS102の処理で退避したレジストリデータを復元する(ステップS203)。具体的には、OSが、退避させたレジストリデータに対応する更新フラグ230をオフにすることにより復元させる。なお、ステップS202の処理及びステップS203の処理を総称して「関連付け処理」という場合がある。 Next, the OS restores the registry data saved in the process of step S102 in FIG. 6 (step S203). Specifically, the OS restores the data by turning off the update flag 230 corresponding to the saved registry data. The process of step S202 and the process of step S203 may be collectively referred to as "association process".

次に、OSは、図6のステップS103の処理で変更した状態250を元に戻す(ステップS204)。具体的には、OSは、アップデート処理の対象となっているポイントアプリのELF及びAPのAID等について「停止中」を解除し、ポイントアプリに特権等が付与されている場合には、その特権について「移譲中」を解除する。また、OSは、状態250を「移譲中」に変更した特権等については、当該特権等をISDからポイントアプリに再移譲する。OSは、ステップS204の処理を終えると、インストール・復元処理を終了する。 Next, the OS restores the state 250 changed in the process of step S103 of FIG. 6 (step S204). Specifically, the OS cancels "stopped" for the ELF and AP AID of the point application that is the target of the update process, and if the point application is granted privileges, the privileges are given. Cancel "Transferring". In addition, the OS re-transfers the privilege, etc. that changed the state 250 to "transferring" from the ISD to the point application. When the OS finishes the process of step S204, the OS finishes the installation / restoration process.

[6.特権付与判定処理]
次に、図8を用いて、状態250が「移譲中」の特権等の付与要求を伴うINSTALL for installコマンドを受信したことに基づくインストール処理における、特権を付与するか否かの特権付与判定処理について説明する。図8では、特権等がFinal Application特権である場合について説明する。なお、Card Reset特権及びImplicit selection parameterについても同様の判定処理を行うことができる。
[6. Privilege grant judgment processing]
Next, using FIG. 8, the privilege grant determination process of whether or not to grant the privilege in the installation process based on the reception of the INSTALL for instant command accompanied by the privilege grant request such as the privilege of "transferring" in the state 250. Will be explained. FIG. 8 describes a case where the privilege or the like is a Final Application privilege. It should be noted that the same determination processing can be performed for the Card Reset privilege and the Privilege selection parameter.

まず、OSは、Final Application特権の付与要求を伴うINSTALL for installコマンドを受信すると、Final Application特権が付与されているAPを検索する(ステップS301)。 First, when the OS receives the INSTALL for installation command accompanied by the request for granting the Final Application privilege, the OS searches for the AP to which the Final Application privilege is granted (step S301).

次に、OSは、Final Application特権が付与されているAPがISDであるか否かを判定する(ステップS302)。OSは、Final Application特権が付与されているAPがISDでないと判定した場合には(ステップS302:NO)、INSTALL for installコマンドの送信元に対して、インストールが失敗したことを示すエラー応答を送信し(ステップS303)、特権付与判定処理を終了する。一方、OSは、Final Application特権が付与されているAPがISDであると判定した場合には(ステップS302:YES)、他のアプリケーションのアップデート処理中であるか否かを判定する(ステップS304)。具体的には、何れかの更新フラグ230がオンとなっている場合にはアップデート処理中であると判定する。 Next, the OS determines whether or not the AP to which the Final Application privilege is granted is an ISD (step S302). When the OS determines that the AP to which the Final Application privilege is granted is not ISD (step S302: NO), the OS sends an error response indicating that the installation has failed to the source of the INSTALL for installation command. (Step S303), and the privilege grant determination process is terminated. On the other hand, when the OS determines that the AP to which the Final Application privilege is granted is ISD (step S302: YES), the OS determines whether or not another application is being updated (step S304). .. Specifically, when any of the update flags 230 is turned on, it is determined that the update process is in progress.

OSは、他のアプリケーションのアップデート処理中ではないと判定した場合には(ステップS304:NO)、Final Application特権の付与要求を伴うINSTALL for installコマンドにより生成されるAPに対して、Final Application特権を付与し(ステップS306)、特権付与判定処理を終了する。一方、OSは、他のアプリケーションのアップデート処理中であると判定した場合には(ステップS304:YES)、次いで、AP管理情報220を参照して、アップデート処理中であるAPについて、Final Application特権(状態付与対象240)の状態250が「移譲中」であるか否かを判定する(ステップS305)。 When the OS determines that the update process of another application is not in progress (step S304: NO), the OS assigns the Final Application privilege to the AP generated by the INSTALL for installation command accompanied by the request for granting the Final Application privilege. Grant (step S306), and end the privilege grant determination process. On the other hand, when the OS determines that the update process of another application is in progress (step S304: YES), the OS then refers to the AP management information 220 and has a Final Application privilege (Final Application privilege) for the AP in the update process. It is determined whether or not the state 250 of the state granting target 240) is “in transfer” (step S305).

OSは、アップデート処理中であるAPについて、Final Application特権(状態付与対象240)の状態250が「移譲中」ではないと判定した場合には(ステップS305:NO)、Final Application特権の付与要求を伴うINSTALL for installコマンドにより生成されるAPに対して、Final Application特権を付与し(ステップS306)、特権付与判定処理を終了する。一方、OSは、アップデート処理中であるAPについて、Final Application特権(状態付与対象240)の状態250が「移譲中」であると判定した場合には(ステップS305:YES)、INSTALL for installコマンドの送信元に対して、インストールが失敗したことを示すエラー応答を送信し(ステップS303)、特権付与判定処理を終了する。 When the OS determines that the state 250 of the Final Application privilege (state grant target 240) is not "transferring" for the AP in the update process (step S305: NO), the OS requests the grant of the Final Installation privilege. The Final Application privilege is granted to the AP generated by the accompanying INSTALL for installation command (step S306), and the privilege grant determination process is terminated. On the other hand, when the OS determines that the state 250 of the Final Application privilege (state grant target 240) is "transferring" for the AP being updated (step S305: YES), the INSTALL for installation command is issued. An error response indicating that the installation has failed is transmitted to the source (step S303), and the privilege grant determination process is terminated.

以上のように、本実施形態のICチップ1a(「電子情報記憶媒体」の一例)は、不揮発性メモリ13(「記憶手段」の一例)は、ELF及びAPを記憶し、CPU10(「削除手段」、「ロード手段」、「インストール手段」、「拒否手段」の一例)は、アップデート対象であるELF及びAPを削除対象として削除する削除処理を実行し、アップデート対象であるELFの新バージョンである新ELFを不揮発性メモリ13に記憶させるロード処理を実行し、削除処理及びロード処理の後に、不揮発性メモリ13に記憶されている新ELFに基づいて新バージョンの新APを生成して不揮発性メモリ13に記憶させるインストール処理を実行し、削除処理、ロード処理又はインストール処理の実行中に、一のELF又はAPにのみ割り当てられる独占対象であって、アップデート対象であるELF又はAPに割り当てられた独占対象を、他のELF及びAPに対して割り当てる要求を受け付けた場合に、当該要求を拒否する。 As described above, in the IC chip 1a (an example of the "electronic information storage medium") of the present embodiment, the non-volatile memory 13 (an example of the "storage means") stores ELF and AP, and the CPU 10 ("deletion means"). , "Loading means", "Installing means", "Rejecting means") is a new version of the ELF that is the update target by executing the deletion process that deletes the ELF and AP that are the update targets. A load process for storing the new ELF in the non-volatile memory 13 is executed, and after the deletion process and the load process, a new version of the new AP is generated based on the new ELF stored in the non-volatile memory 13 to generate the non-volatile memory. The installation process stored in 13 is executed, and during the execution of the deletion process, load process, or installation process, the exclusive target assigned to only one ELF or AP and the exclusive target assigned to the ELF or AP to be updated. When a request for assigning an object to other ELFs and APs is accepted, the request is rejected.

したがって、本実施形態のICチップ1aによれば、独占対象が割り当てられていたELF又はAPをアップデートするためにアップデート対象を削除している場合において、他のELF及びAPに対して当該独占対象を割り当てる要求を受け付けた場合にこれを拒否するため、アップデート処理後も適切にアップデートしたELF又はAPに当該独占対象を引き継ぐことができる。 Therefore, according to the IC chip 1a of the present embodiment, when the update target is deleted in order to update the ELF or AP to which the monopoly target has been assigned, the monopoly target is assigned to other ELFs and APs. Since the request for allocation is rejected when it is accepted, the monopoly target can be taken over by the ELF or AP that has been appropriately updated even after the update process.

また、本実施形態のICチップ1aにおいて特権等(「独占対象」の一例)は、不揮発性メモリ13に記憶される何れかのELF又はAPに必ず割り当てられなければならず、CPU10(「割り当て手段」、「再割り当て手段」の一例)は、削除対象を削除する際に、当該削除対象を管理するISD(「管理アプリケーションプログラム又は管理アプリケーションインスタンス」の一例)に特権等を割り当て、ISDに割り当てた特権等を、新ELF又は新APに再割り当てする。これにより、特権等が割り当てられているELF又はAPをアップデートする場合において当該ELF又はAPを削除する際に、特権等が何れのELF又はAPにも割り当てられない状態となることを防ぐことができる。 Further, in the IC chip 1a of the present embodiment, the privilege or the like (an example of the “exclusive object”) must be assigned to any ELF or AP stored in the non-volatile memory 13, and the CPU 10 (“assignment means”). , An example of "reassignment means") assigns privileges, etc. to the ISD that manages the deletion target (an example of "management application program or management application instance") and assigns it to the ISD. Reassign privileges, etc. to the new ELF or new AP. As a result, when updating an ELF or AP to which a privilege or the like is assigned, it is possible to prevent the privilege or the like from being unassigned to any ELF or AP when the ELF or AP is deleted. ..

また、ICチップ1aのCPU10(「応答手段」の一例)は、削除処理、ロード処理又はインストール処理を実行中に、削除対象であるELF又はAPを検索する要求をサーバ(「外部機器」の一例)から受けた場合に、当該削除対象であるELF又はAPは存在しない旨の応答をサーバに行う。 Further, the CPU 10 of the IC chip 1a (an example of "response means") makes a request to search for an ELF or AP to be deleted while executing a deletion process, a load process, or an installation process, as an example of a server (an example of an "external device"). ), The server is replied that the ELF or AP to be deleted does not exist.

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 Non-volatile memory 14 I / O circuit 2 External device

Claims (6)

アプリケーションプログラム及びアプリケーションインスタンスを記憶する記憶手段と、
アップデート対象であるアプリケーションプログラム及びアプリケーションインスタンスを削除対象として削除する削除処理を実行する削除手段と、
前記アップデート対象であるアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段と、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段と、
前記削除処理、前記ロード処理又は前記インストール処理の実行中に、一のアプリケーションプログラム又はアプリケーションインスタンスにのみ割り当てられる独占対象であって、前記アップデート対象であるアプリケーションプログラム又はアプリケーションインスタンスに割り当てられた独占対象を、他のアプリケーションプログラム及びアプリケーションインスタンスに対して割り当てる要求を受け付けた場合に、当該要求を拒否する拒否手段と、
を備えることを特徴とする電子情報記憶媒体。
A storage means for storing application programs and application instances,
A deletion means that executes a deletion process that deletes the application program and application instance that are the update targets as the deletion target, and
A load means for executing a load process for storing a new application program, which is a new version of the application program to be updated, in the storage means, and a load means.
After the deletion process and the load process, an installation means for executing an installation process of generating a new version of a new application instance based on the new application program stored in the storage means and storing the new application instance in the storage means.
An exclusive target assigned to only one application program or application instance during the execution of the deletion process, the load process, or the installation process, and the exclusive target assigned to the application program or application instance to be updated. When a request to be assigned to another application program or application instance is accepted, a denial means for rejecting the request and
An electronic information storage medium characterized by comprising.
請求項1に記載の電子情報記憶媒体であって、
前記独占対象は、前記記憶手段に記憶される何れかのアプリケーションプログラム又はアプリケーションインスタンスに必ず割り当てられなければならず、
前記削除対象を削除する際に、当該削除対象を管理する管理アプリケーションプログラム又は管理アプリケーションインスタンスに前記独占対象を割り当てる割り当て手段と、
前記管理アプリケーションプログラム又は前記管理アプリケーションインスタンスに割り当てた独占対象を、前記新アプリケーションプログラム又は前記新アプリケーションインスタンスに再割り当てする再割り当て手段と、
を更に備えることを特徴とする電子情報記憶媒体。
The electronic information storage medium according to claim 1.
The monopoly must always be assigned to any application program or application instance stored in the storage means.
When the deletion target is deleted, the allocation means for assigning the exclusive target to the management application program or management application instance that manages the deletion target, and
A reassignment means for reallocating the monopoly target assigned to the management application program or the management application instance to the new application program or the new application instance.
An electronic information storage medium characterized by further comprising.
請求項1又は2に記載の電子情報記憶媒体であって、
前記削除処理、前記ロード処理又は前記インストール処理を実行中に、前記削除対象であるアプリケーションプログラム又はアプリケーションインスタンスを検索する要求を外部機器から受けた場合に、当該削除対象であるアプリケーションプログラム又はアプリケーションインスタンスは存在しない旨の応答を前記外部機器に行う応答手段を更に備えることを特徴とする電子情報記憶媒体。
The electronic information storage medium according to claim 1 or 2.
When a request to search for the application program or application instance to be deleted is received from an external device during the deletion process, the load process, or the installation process, the application program or application instance to be deleted is subjected to the deletion process. An electronic information storage medium further comprising a response means for making a response to the effect that it does not exist to the external device.
請求項1乃至3の何れか一項に記載の電子情報記憶媒体を備えるICカード。 An IC card including the electronic information storage medium according to any one of claims 1 to 3. アプリケーションプログラム及びアプリケーションインスタンスを記憶する記憶手段を備える電子情報記憶媒体によるアップデート方法であって、
アップデート対象であるアプリケーションプログラム及びアプリケーションインスタンスを削除対象として削除する削除処理を実行する削除工程と、
前記アップデート対象であるアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード工程と、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール工程と、
前記削除処理、前記ロード処理又は前記インストール処理の実行中に、一のアプリケーションプログラム又はアプリケーションインスタンスにのみ割り当てられる独占対象であって、前記アップデート対象であるアプリケーションプログラム又はアプリケーションインスタンスに割り当てられた独占対象を、他のアプリケーションプログラム及びアプリケーションインスタンスに対して割り当てる要求を受け付けた場合に、当該要求を拒否する拒否工程と、
を含むことを特徴とする電子情報記憶媒体によるアップデート方法。
An update method using an electronic information storage medium provided with a storage means for storing an application program and an application instance.
A deletion process that executes a deletion process that deletes the application program and application instance that are the update targets as deletion targets, and
A loading process for executing a loading process for storing a new application program, which is a new version of the application program to be updated, in the storage means, and a loading process.
After the deletion process and the load process, an installation process of generating a new version of a new application instance based on the new application program stored in the storage means and storing the new application instance in the storage means is executed.
An exclusive target assigned to only one application program or application instance during the execution of the deletion process, the load process, or the installation process, and the exclusive target assigned to the application program or application instance to be updated. , A refusal process that rejects a request to be assigned to another application program or application instance,
An update method using an electronic information storage medium, which comprises.
アプリケーションプログラム及びアプリケーションインスタンスを記憶する記憶手段を備える電子情報記憶媒体に含まれるコンピュータを、
アップデート対象であるアプリケーションプログラム及びアプリケーションインスタンスを削除対象として削除する削除処理を実行する削除手段、
前記アップデート対象であるアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段、
前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段、
前記削除処理、前記ロード処理又は前記インストール処理の実行中に、一のアプリケーションプログラム又はアプリケーションインスタンスにのみ割り当てられる独占対象であって、前記アップデート対象であるアプリケーションプログラム又はアプリケーションインスタンスに割り当てられた独占対象を、他のアプリケーションプログラム及びアプリケーションインスタンスに対して割り当てる要求を受け付けた場合に、当該要求を拒否する拒否手段、
として機能させることを特徴とするアップデートプログラム。
A computer included in an electronic information storage medium provided with storage means for storing application programs and application instances.
A deletion means that executes a deletion process that deletes the application program and application instance that are the update targets as the deletion target.
A loading means for executing a loading process for storing a new application program, which is a new version of the application program to be updated, in the storage means.
An installation means for executing an installation process of generating a new version of a new application instance 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.
An exclusive target assigned to only one application program or application instance during the execution of the deletion process, the load process, or the installation process, and the exclusive target assigned to the application program or application instance to be updated. , Rejection means to reject a request to be assigned to another application program or application instance,
An update program characterized by functioning as.
JP2017169178A 2017-09-04 2017-09-04 Update method and update program using electronic information storage medium, IC card, electronic information storage medium Active JP7009844B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017169178A JP7009844B2 (en) 2017-09-04 2017-09-04 Update method and update program using electronic information storage medium, IC card, electronic information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017169178A JP7009844B2 (en) 2017-09-04 2017-09-04 Update method and update program using electronic information storage medium, IC card, electronic information storage medium

Publications (2)

Publication Number Publication Date
JP2019046211A JP2019046211A (en) 2019-03-22
JP7009844B2 true JP7009844B2 (en) 2022-01-26

Family

ID=65815719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017169178A Active JP7009844B2 (en) 2017-09-04 2017-09-04 Update method and update program using electronic information storage medium, IC card, electronic information storage medium

Country Status (1)

Country Link
JP (1) JP7009844B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172808A (en) 1998-12-01 2000-06-23 Toshiba Corp Ic card and application managing method
JP2005025441A (en) 2003-07-01 2005-01-27 Dainippon Printing Co Ltd Method for updating application program of ic card
JP2006113747A (en) 2004-10-13 2006-04-27 Toshiba Corp Portable electronic device
JP2006119901A (en) 2004-10-21 2006-05-11 Toshiba Corp Portable electronic apparatus and application updating method for the portable electronic apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172808A (en) 1998-12-01 2000-06-23 Toshiba Corp Ic card and application managing method
JP2005025441A (en) 2003-07-01 2005-01-27 Dainippon Printing Co Ltd Method for updating application program of ic card
JP2006113747A (en) 2004-10-13 2006-04-27 Toshiba Corp Portable electronic device
JP2006119901A (en) 2004-10-21 2006-05-11 Toshiba Corp Portable electronic apparatus and application updating method for the portable electronic apparatus

Also Published As

Publication number Publication date
JP2019046211A (en) 2019-03-22

Similar Documents

Publication Publication Date Title
JP5443659B2 (en) Local trusted service manager for contactless smart cards
US8215547B2 (en) Data communicating apparatus and method for managing memory of data communicating apparatus
JP5524425B2 (en) Writing application data to the secure element
US8811971B2 (en) Mobile communication device and method for disabling applications
US6481632B2 (en) Delegated management of smart card applications
JP4717381B2 (en) Mobile device and access control method
EP1004992A2 (en) A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
EP2183728A2 (en) Method, system and trusted service manager for securely transmitting an application to a mobile phone
WO1998043212A1 (en) A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US7516479B2 (en) Data communicating apparatus and method for managing memory of data communicating apparatus
JP7009844B2 (en) Update method and update program using electronic information storage medium, IC card, electronic information storage medium
JP2019028602A (en) Electronic information storage medium, ic card, update method by electronic information storage medium and update program
CN111310243A (en) Operating system in intelligent IC card with many owner security territories
JP6915437B2 (en) Update method and update program using electronic information storage medium, IC card, electronic information storage medium
JP7334718B2 (en) Secure element, privilege allocation management method in secure element, and IC chip
JP4638135B2 (en) Information storage medium
JP6780462B2 (en) Electronic information storage medium, secure processing execution method, and secure processing execution program
JP7068603B2 (en) Update method and update program using electronic information storage medium, IC card, electronic information storage medium
US20100200650A1 (en) Mobile communication device and method for recovering mifare memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211227

R150 Certificate of patent or registration of utility model

Ref document number: 7009844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150