JP2008146343A - Ic card, and method for calling update program - Google Patents
Ic card, and method for calling update program Download PDFInfo
- Publication number
- JP2008146343A JP2008146343A JP2006332617A JP2006332617A JP2008146343A JP 2008146343 A JP2008146343 A JP 2008146343A JP 2006332617 A JP2006332617 A JP 2006332617A JP 2006332617 A JP2006332617 A JP 2006332617A JP 2008146343 A JP2008146343 A JP 2008146343A
- Authority
- JP
- Japan
- Prior art keywords
- function
- program
- application
- identification information
- management table
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、クレジットカードサイズのカード媒体にICチップが実装されたICカードに関し、更に詳しくは、不揮発性メモリに実装された関数のプログラムを差し替える技術に関する。 The present invention relates to an IC card in which an IC chip is mounted on a credit card size card medium, and more particularly to a technique for replacing a function program mounted in a nonvolatile memory.
クレジットカードサイズのカード媒体にICチップが実装されたICカードは、ICチップに実装されるオペレーティングシステム(OS: Operating System)によって大きく2つに分類される。マルチアプリケーションOSが実装されたマルチアプリケーション型ICカードと、NativeOSとも称される専用OSが実装された専用ICカードである。 An IC card in which an IC chip is mounted on a credit card size card medium is roughly classified into two types according to an operating system (OS) mounted on the IC chip. A multi-application IC card on which a multi-application OS is mounted, and a dedicated IC card on which a dedicated OS, also referred to as Native OS, is mounted.
マルチアプリケーション型ICカードは、Java(登録商標)、MULTOS(登録商標)で代表されるプラットフォーム型のOSをROMに実装し、電気的に書換え可能な不揮発性メモリ(例えば、EEPROM)に、アプリケーションを実装する。 A multi-application type IC card has a platform type OS represented by Java (registered trademark) and MULTOS (registered trademark) mounted in ROM, and the application is stored in an electrically rewritable nonvolatile memory (for example, EEPROM). Implement.
アプリケーションをEEPROMに実装することで、ICカード発行後に、アプリケーションの追加/削除が可能になるメリットがあるが、EEPROMの容量が大きくなるため、ICチップが高価格になるデメリットがある。 By mounting the application on the EEPROM, there is a merit that the application can be added / deleted after the IC card is issued. However, since the capacity of the EEPROM becomes large, there is a demerit that the IC chip is expensive.
これに対し、専用ICカードでは、OS及びアプリケーションのコードとが一体化された専用OSがROMに実装され、データのみがEEPROMに記憶される。専用ICカードでは、専用OSがROMに実装されるため、ICカード発行後に、アプリケーションの追加/削除はできなくなるデメリットはあるが、大容量のEEPROMは必要ないため、ICチップを低価格にできるメリットがある。 On the other hand, in the dedicated IC card, a dedicated OS in which the OS and application code are integrated is mounted on the ROM, and only data is stored in the EEPROM. With a dedicated IC card, a dedicated OS is mounted in the ROM, so there is a demerit that applications cannot be added / deleted after the IC card is issued, but a large-capacity EEPROM is not required, so the IC chip can be made inexpensive. There is.
このようなICカードにおいてもパーソナルコンピュータと同様に、ICカードに実装されたプログラムに不具合(例えば、暗号化アルゴリズムの脆弱性)が見つかったときや、プログラムのバージョンアップの必要が生じたときなど、ICカード発行後にプログラムの修正が必要となる場合がある。 In such an IC card, as in the case of a personal computer, when a problem is found in the program installed on the IC card (for example, the vulnerability of the encryption algorithm), or when a program needs to be upgraded, It may be necessary to modify the program after issuing the IC card.
マルチアプリケーション型ICカードにおいては、修正を必要とするプログラムがアプリケーションであれば、修正したアプリケーションをEEPROMにロードすることで対処できる。 In the multi-application type IC card, if the program that requires correction is an application, it can be dealt with by loading the corrected application into the EEPROM.
これに対し、専用ICカードにおいては、ROMに実装されたプログラムは修正不可能であるため、修正したプログラムを実装したICチップを再製造することで対処したり、ICチップを再製造しない場合は、特許文献1で開示されている技術を用い、ROMに実装されたプログラムの一部を差し替えるための更新プログラムをEEPROMに追加することで対処する。
しかしながら、複数のアプリケーションから呼出される関数がROMに実装され、そのうちの一つのアプリケーションについてのみ関数の処理を変更したい場合は、修正を必要としない他のアプリケーションへ影響を考慮して更新プログラムを作成しなければならず、更新プログラムの作成に手間が掛かるばかりか、更新プログラムの容量も大きくなってしまう問題があった。 However, if a function called from multiple applications is implemented in ROM and you want to change the function processing for only one of those applications, create an update program considering the effect on other applications that do not require modification. As a result, there is a problem that not only is it time-consuming to create the update program, but also the capacity of the update program increases.
そこで、本発明は、ROMに実装された関数のプログラムに不具合などがあり、更新プログラムをEEPROMに実装するとき、関数の処理の変更を必要としないアプリケーションに対しては、EEPROMに実装される更新プログラムの影響を無くすことができるICカード、更新プログラムの呼出し方法を提供することを目的とする。 Therefore, according to the present invention, there is a problem in the function program installed in the ROM, and when the update program is installed in the EEPROM, the update implemented in the EEPROM is not applied to an application that does not require the function processing to be changed. An object of the present invention is to provide an IC card and an update program calling method that can eliminate the influence of the program.
上述した課題を解決する第1の発明は、オペレーティングシステム(OS)とアプリケーションが一体化された専用OSが書換え不可能な第1の不揮発性メモリに実装され、前記第1の不揮発性メモリに実装された関数のプログラムを差し替える更新プログラムを、電気的に書換え可能な第2の不揮発性メモリに実装できるICカードであって、前記ICカードは、前記更新プログラムと、前記更新プログラムごとに、前記更新プログラムの対象となる前記関数のプログラムの識別情報に関連付けて、前記更新プログラムの呼出しが許可された前記アプリケーションの識別情報と、前記更新プログラムを呼出すときに用いる呼び出しアドレスとが記述された関数管理テーブルを記憶する領域を前記第2の不揮発性メモリに備え、前記専用OSは、前記アプリケーションから呼出された前記関数のプログラムの識別情報が前記関数管理テーブルに記述されているときは、前記関数のプログラムを呼出し要求した前記アプリケーションの識別情報と、前記関数のプログラムの識別情報に関連付けて記述されている前記アプリケーションの識別情報が一致するか確認し、一致した場合のみ前記更新プログラムを呼出すことを特徴とする。 In a first invention for solving the above-described problem, a dedicated OS in which an operating system (OS) and an application are integrated is mounted on a non-rewritable first nonvolatile memory, and is mounted on the first nonvolatile memory. An IC card capable of mounting an update program for replacing a program of a function on a second electrically rewritable non-volatile memory, wherein the IC card is updated for each of the update program and the update program. A function management table in which the identification information of the application permitted to call the update program and the call address used when calling the update program are described in association with the program identification information of the function to be programmed In the second nonvolatile memory, and the dedicated OS When the identification information of the function program called from the application is described in the function management table, the identification information of the application calling the function program and the identification information of the function program The identification information of the application described in association is confirmed to match, and the update program is called only when they match.
第1の発明によれば、複数の前記アプリケーションから呼出される前記関数のプログラムが前記第1の不揮発性メモリに実装され、そのうちの一つの前記アプリケーションについてのみ関数の処理を変更する場合であっても、前記第2の不揮発性メモリに記憶される前記第1の関数管理テーブルに、前記更新プログラムが適用される前記アプリケーションの識別情報のみを記述しておけば、前記更新プログラムが適用されない前記アプリケーションに対して、前記第2の不揮発性メモリに実装される前記更新プログラムの影響を無くすことができる。 According to the first invention, a program of the function called from a plurality of the applications is mounted in the first nonvolatile memory, and the function processing is changed only for one of the applications. If only the identification information of the application to which the update program is applied is described in the first function management table stored in the second nonvolatile memory, the application to which the update program is not applied On the other hand, the influence of the update program mounted on the second nonvolatile memory can be eliminated.
更に、第2の発明は、第1の発明に記載のICカードにおいて、前記ICカードは、前記第1の不揮発性メモリに実装された前記関数のプログラムごとに、前記関数のプログラムの識別情報に関連付けて、前記関数のプログラムの呼出しが許可された前記アプリケーションの識別情報と、前記関数のプログラムを呼出すときに用いる呼び出しアドレスとが記述された第2の関数管理テーブルを前記第1の不揮発性メモリに備え、前記アプリケーションから呼出された前記関数のプログラムの識別情報が第1の前記関数管理テーブルに記述されていないときは、前記第2の関数管理テーブルを用いて前記関数のプログラムを呼出すことを特徴とする。 Further, the second invention is the IC card according to the first invention, wherein the IC card includes, for each function program mounted in the first nonvolatile memory, identification information of the function program. In association with the first nonvolatile memory, a second function management table in which identification information of the application permitted to call the function program and a call address used when calling the function program is described. And when the function program identification information called from the application is not described in the first function management table, the function program is called using the second function management table. Features.
第2の発明によれば、前記更新プログラムが適用されない前記アプリケーションに対しては、前記第1の不揮発性メモリに記憶された前記関数のプログラムを呼出すことが可能になる。 According to the second invention, it is possible to call the function program stored in the first nonvolatile memory for the application to which the update program is not applied.
更に、第3の発明は、オペレーティングシステム(OS)とアプリケーションが一体化された専用OSが書換え不可能な第1の不揮発性メモリに実装されたICカードにおいて、電気的に書換え可能な第2の不揮発性メモリに記憶され、前記第1の不揮発性メモリに実装された関数のプログラムを差し替える更新プログラムの呼出し管理方法であって、前記更新プログラムと、前記更新プログラムごとに、前記更新プログラムの対象となる前記関数のプログラムを識別する情報である関数識別情報に関連付けて、前記更新プログラムの呼出しが許可された前記アプリケーションを特定するアプリケーション識別情報と、前記更新プログラムを呼出すときに用いる呼び出しアドレスとが記述された関数管理テーブルを前記第2の不揮発性メモリに記憶させ、前記アプリケーションから呼出された前記関数のプログラムの識別情報が前記関数管理テーブルに記述されているときは、前記関数のプログラムを呼出し要求した前記アプリケーションの識別情報と、前記関数のプログラムの識別情報に関連付けて記述されている前記アプリケーションの識別情報が一致するか確認し、一致した場合のみ、前記更新プログラムを呼出すことを特徴とする。 Furthermore, a third aspect of the invention relates to an electrically rewritable second IC card mounted on a non-rewritable first non-volatile memory with a dedicated OS in which an operating system (OS) and an application are integrated. An update program call management method for replacing a function program stored in a non-volatile memory and implemented in the first non-volatile memory, the update program, and for each update program, a target of the update program In association with function identification information that is information for identifying the program of the function, application identification information that identifies the application that is permitted to call the update program, and a call address that is used when calling the update program are described. The function management table stored in the second nonvolatile memory When the function management table describes the identification information of the function program that is stored and called from the application, the identification information of the application that called the function program and the identification of the function program. Whether the identification information of the application described in association with the information matches is confirmed, and the update program is called only when they match.
更に、第4の発明は、第3の発明に記載の更新プログラムの呼出し管理方法において、前記第1の不揮発性メモリに実装された前記関数のプログラムごとに、前記関数のプログラムの識別情報に関連付けて、前記関数のプログラムの呼出しが許可された前記アプリケーションの識別情報と、前記関数のプログラムを呼出すときに用いる呼び出しアドレスとが記述された第2の関数管理テーブルが前記ICカードの前記第1の不揮発性メモリに記憶され、前記アプリケーションから呼出された前記関数のプログラムの識別情報が第1の前記関数管理テーブルに記述されていないときは、前記第2の関数管理テーブルを用いて前記関数のプログラムを呼出すことを特徴とする。 Furthermore, a fourth invention relates to the update program call management method according to the third invention, wherein each function program implemented in the first nonvolatile memory is associated with identification information of the function program. A second function management table in which identification information of the application permitted to call the function program and a call address used when calling the function program are stored in the IC card. When the function program identification information stored in the non-volatile memory and called from the application is not described in the first function management table, the function program is stored using the second function management table. It is characterized by calling.
上述した第3の発明〜第4の発明によれば、上述した第1の発明〜第2の発明と同様の効果が得られる。 According to the third to fourth inventions described above, the same effects as the first to second inventions described above can be obtained.
上述した本発明によれば、ROMに実装された関数のプログラムに不具合などがあり、更新プログラムをEEPROMに実装するとき、関数の処理の変更を必要としないアプリケーションに対しては、EEPROMに実装される更新プログラムの影響を無くすことができるICカード、更新プログラムの呼出し方法を提供できる。 According to the present invention described above, there is a problem in the function program installed in the ROM, and when the update program is installed in the EEPROM, it is installed in the EEPROM for an application that does not need to change the function processing. An IC card that can eliminate the influence of the update program and a method for calling the update program can be provided.
ここから、本発明が適用された専用ICカード(以下、ICカードと略す)について、図を参照しながら詳細に説明する。 A dedicated IC card (hereinafter abbreviated as IC card) to which the present invention is applied will be described in detail with reference to the drawings.
図1は、本発明が適用されたICカード1の外観図である。図1で示したように、ICカード1は、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードで、ICカード1には、ICチップ2がモールドされたICモジュール1aが実装されている。
FIG. 1 is an external view of an
図1においては、ICカード1を接触ICカードとして図示しているが、本発明は何らICカード1の通信方式に依存するものではなく、無線でデータ通信する非接触ICカード、または、接触データ通信と非接触データ通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。
In FIG. 1, the
加えて、ICカード1の形状は問わず、ICカード1はキャッシュカードと同様の形状でなく、ICモジュール1aの近辺を短冊状に切り取った形状をしているSIM(Subscriber Identity Module)であってもよい。
In addition, regardless of the shape of the
図2は、ICカードに埋め込まれるICチップ2のハードウェア構成図である。ICチップ2には、演算機能およびICチップ2が具備するデバイスを制御する機能を備えた中央演算装置20(CPU:Central Processing Unit)、揮発性メモリとしてランダムアクセスメモリ23(RAM:Random Access Memory)、読み出し専用の不揮発性メモリ21(ROM:Read Only Memory、)、電気的に書換え可能な不揮発性メモリとしてEEPROM22(EEPROM:Electrically Erasable Programmable Read-Only Memoryの略)、および、外部の端末装置とデータ通信するためのI/O回路24が、BUS25に接続されている。
FIG. 2 is a hardware configuration diagram of the
本発明は、ICカード1に実装されるICチップ2の仕様をなんら限定するものではなく、ICカード1の用途に適した仕様のICチップ2を選択することができる。例えばROM21およびEEPROM22の容量については限定しないし、書換え可能な不揮発性メモリはフラッシュメモリ等のメモリであっても構わない。またICチップ2は、暗号演算回路やタイマー回路など、図示していない他の回路を備えていても構わない。
The present invention does not limit the specifications of the
図3は、ICチップ2のメモリに記憶されるプログラムとデータを説明する図である。上述しているように、ICカード1は専用ICカードであるため、OSとアプリケーション3bが一体化された専用OS3aがROM21に実装され、専用OS3aに含まれるアプリケーション3bそれぞれを識別するために、アプリケーション3bを特定する情報であるアプリケーション識別子(Application Identifier)が、アプリケーション3bに付与されている。
FIG. 3 is a diagram for explaining programs and data stored in the memory of the
ROM21に実装される専用OS3aには、OS自身やアプリケーション3bから呼出される関数のプログラムの集合である関数群30を含むカーネル3を備え、更に、カーネル3は、アプリケーション3bから関数のプログラムの呼出しを管理するために関数管理テーブル31を備える。
The
本発明では、図3に図示したように、EEPROM22には、データを記憶するデータ領域22bに加え、更新プログラム32を記憶するための更新プログラム領域22aが設けられ、更新プログラム32をEEPROM22に実装したとき、更新プログラム32と共に、EEPROM22の更新プログラム領域22aに更新プログラム32用の関数管理テーブル31も実装される。
In the present invention, as shown in FIG. 3, the EEPROM 22 is provided with an
今後、ROM21とEEPROM22に実装される関数管理テーブル31を明確に区別したいときは、関数管理テーブル31の後に実装されているメモリを括弧で括り表記する。すなわち、ROM21に実装されている関数管理テーブル31を関数管理テーブル31(ROM)と記述し、EEPROM22に実装されている関数管理テーブル31を関数管理テーブル31(EEPROM)と記述する。
In the future, when it is desired to clearly distinguish the function management table 31 mounted on the
図4は、関数管理テーブル31(ROM)の構造を説明する図である。関数管理テーブル31(ROM)は、関数群30に含まれる関数のプログラムの呼出しを管理するための情報が記述された管理レコード310で構成されている。
FIG. 4 is a diagram for explaining the structure of the function management table 31 (ROM). The function management table 31 (ROM) is composed of
管理レコード310は可変長のデータレコードで、関数群30に含まれるそれぞれの関数のプログラムには、それぞれの関数のプログラムを識別するための情報である関数識別情報が付与され、管理レコード310には、関数識別情報に関連付けて、関数識別情報で特定される関数のプログラムを呼出すことが許可されるアプリケーション3bのアプリケーション識別子と、関数識別情報で特定される関数のプログラムを呼出すときのアドレスである呼出しアドレスとが、TLV(type/length/value)形式で表記されている。
The
なお、管理レコード310に含まれるアプリケーション識別子は一つとは限らず、複数のアプリケーション3bから呼出される関数のプログラムに対応する管理レコード310には、複数のアプリケーション識別子が含まれる。
Note that the application identifier included in the
ROM21に実装されている関数群30に含まれる関数のプログラムを修正するとき、関数のプログラムを差し替えるためのプログラムである更新プログラム32がEEPROM22に記憶され、更新プログラム32をEEPROM22に記憶するときに、更新プログラム32と共に、更新プログラム32の呼出しを管理するための関数管理テーブル31がEEPROM22に記憶される。
When a function program included in the
関数管理テーブル31(EEPROM)の構造は、図4で図示した関数管理テーブル31(ROM)の構造と同じであるが、関数管理テーブル31(EEPROM)の管理レコード310には、差し替え対象となる関数のプログラムの関数識別情報に関連付けて、更新プログラム32の呼出しが許可されたアプリケーション3bのアプリケーション識別子と、更新プログラム32を呼出すときのアドレスとが記述される。
The structure of the function management table 31 (EEPROM) is the same as the structure of the function management table 31 (ROM) illustrated in FIG. 4, but the function management table 31 (EEPROM) has a
なお、EEPROM22に更新プログラム32が記憶されるごとに、関数管理テーブル31(EEPROM)へ管理コード310が追加されるため、管理コード310が追加された順がわかるように、本実施の形態では、関数管理テーブル31(EEPROM)は可変長順編成のファイル構造としている。
In this embodiment, since the
カーネル3は、アプリケーション3bから関数群30に含まれる関数のプログラムが呼出されたとき、関数管理テーブル31を参照し、関数のプログラムの呼出しを管理する。ここから、カーネル3が関数のプログラムの呼出しを管理する内容について説明する。図5は、カーネル3が差し替えプログラム33の呼出しを管理する動作を示したフロー図である。
When a function program included in the
カーネル3がアプリケーション3bから関数のプログラムの呼出し要求を受けたとき(ステップS1)、少なくとも、ICチップ2のレジスタに格納されて、アプリケーション3bからカーネル3に呼出す関数のプログラムの関数識別番号が引渡され、更に、カーネル3は、実行中のアプリケーション3bのアプリケーション識別子を取得することで、関数のプログラムの呼出し要求をしたアプリケーション3bのアプリケーション識別子を取得する。
When the
カーネル3は、関数のプログラムの呼出し要求を受けると、EEPROM22に関数管理テーブル31(EEPROM)が記憶されているか確認する(ステップS2)。
When the
関数管理テーブル31(EEPROM)がある場合は、ステップS3に進み、管理レコード310を検索する関数管理テーブル31を関数管理テーブル31(EEPROM)に設定し、関数管理テーブル31(EEPORM)がない場合は、ステップS7に進み、管理レコード310を検索する関数管理テーブル31を関数管理テーブル31(ROM)に設定する(ステップS4)。
If there is a function management table 31 (EEPROM), the process proceeds to step S3, where the function management table 31 for searching the
上述しているように、更新プログラム32がEEPROM22に記憶されている場合、EEPROM22に記憶された関数管理テーブル31(EEPROM)が優先され、更新プログラム32を優先的に実行させることで、ROM21の関数群30に含まれる関数のプログラムを差し替えることができる。
As described above, when the
ステップS3で、管理テーブル310を検索する関数管理テーブル31を関数管理テーブル31(EEPROM)に設定した後、カーネル3は、関数管理テーブル31(EEPROM)の中から、ステップS1で引渡された関数識別情報を含む管理レコード310を検索する。(ステップS4)。
After setting the function management table 31 for searching the management table 310 in the function management table 31 (EEPROM) in step S3, the
関数管理テーブル31(EEPROM)の中から管理レコード310を検索するときは、新しく登録された順に検索し、カーネル3は、ステップS1でカーネル3に引渡された関数識別情報を含む管理レコード310を検索するごとに、関数のプログラムを呼出したアプリケーション3bに、関数識別情報で特定される関数のプログラムの呼出しが許可されているか確認する(ステップS5)。
When searching for the
カーネル3は、ステップS1でカーネル3に引渡されたアプリケーション識別子と検索した管理レコードに含まれるアプリケーション識別子を比較することで、関数のプログラムを呼出したアプリケーション3bに、関数識別情報で特定される関数の呼出しが許可されているか確認する。
The
関数のプログラムの呼出しがアプリケーション3bで許可されているときは、カーネル3は、検索した管理レコード310に記述されている呼び出しアドレスを用いて、関数識別情報で特定される関数を呼出す(ステップS6)。
When calling of the function program is permitted by the
ステップS3において、管理レコード310を検索する関数管理テーブル31は、関数管理テーブル31(EEPROM)に設定されているため、このステップS6で、カーネル3が呼出すプログラムは、EEPROM22に記憶されている更新プログラム32になる。
In step S3, the function management table 31 for retrieving the
また、ステップS5で、検索した管理レコード310で特定される関数の呼出しが、関数のプログラムの呼出し要求をしたアプリケーション3bで許可されていないときは、ステップS4に戻り、カーネル3は、関数管理テーブル31(EEPROM)の検索していない管理レコード310を対象とし、ステップS1でカーネル3に引渡された関数識別番号が一致する管理レコード310を検索する。
In step S5, when the function call specified by the retrieved
ステップS4において、関数管理テーブル31(EEPROM)に含まれるすべての管理レコード310を検索しても、引渡された関数識別情報で特定される関数のプログラムが呼出せなかった場合、すなわち、関数識別番号が一致する管理レコード310が検索できなかった場合、或いは、関数識別番号が一致してもアプリケーション識別子が一致しない管理レコード310しか検索できなった場合は、ステップS7に進み、カーネル3は、管理レコード310の検索対象となる関数管理テーブル31を関数管理テーブル31(ROM)に設定する。
In step S4, even if all the management records 310 included in the function management table 31 (EEPROM) are searched, the function program specified by the delivered function identification information cannot be called, that is, the function identification number. If the
ステップS7で、管理テーブル310を検索する関数管理テーブル31を関数管理テーブル31(ROM)に設定した後、カーネル3は、関数管理テーブル31(ROM)の中から、ステップS1でカーネル3に引渡された関数のプログラムの関数識別情報を含む管理レコード310が関数管理テーブル31(ROM)を検索する。(ステップS8)。
After setting the function management table 31 for searching the management table 310 in the function management table 31 (ROM) in step S7, the
関数管理テーブル31(ROM)に含まれる管理レコード310を検索し、カーネル3は、ステップS1でカーネル3に引渡された関数識別情報を含む管理レコード310を検索するごとに、関数のプログラムを呼出したアプリケーション3bに、関数識別情報で特定される関数のプログラムの呼出しが許可されているか確認する(ステップS9)。
The
カーネル3は、ステップS1でカーネル3に引渡されたアプリケーション識別子と検索した管理レコードに含まれるアプリケーション識別子を比較することで、関数のプログラムを呼出したアプリケーション3bに、関数識別情報で特定される関数のプログラムの呼出しが許可されているか確認する。
The
関数のプログラムの呼出しがアプリケーション3bで許可されているとき、カーネル3は、検索した管理レコード310に記述されている呼び出しアドレスを用いて、関数識別情報で特定される関数のプログラムを呼出す(ステップS10)。
When calling of the function program is permitted by the
ステップS7において、管理レコード310を検索する関数管理テーブル31は、関数管理テーブル31(ROM)に設定されているため、このステップS10で、カーネル3が呼出すプログラムは、ROM21に記憶されている更新プログラム32になる。
In step S7, the function management table 31 for retrieving the
このように、本発明に係るICカード1が、図4に図示したような関数管理テーブル31を備え、関数管理テーブル31に基づいて、アプリケーション3bからの関数のプログラムの呼出しを管理することで、ROM21に実装された関数のプログラムごとに修正することが可能になる。
As described above, the
更に、関数管理テーブル31をEEPROM22に記憶し、関数管理テーブル31(EEPROM)に更新プログラム32を呼出すことが許可されているアプリケーション3bのアプリケーション識別子を記述することで、更新プログラム32の対象とならないアプリケーション3bに対して、更新プログラムの影響を無くすことができる。
Further, the function management table 31 is stored in the
具体的な例を挙げて、上述した内容を詳細に説明する。図6は、関数管理テーブル31の一例を示した図で、図6(a)は関数管理テーブル31(ROM)の一例である関数管理テーブル31aで、図6(b)は関数管理テーブル31(EEPROM)の一例である関数管理テーブル31bである。 The above-described content will be described in detail with a specific example. 6 is a diagram showing an example of the function management table 31. FIG. 6A is a function management table 31a which is an example of the function management table 31 (ROM), and FIG. It is a function management table 31b which is an example of an EEPROM).
図6(a)に図示したように、関数管理テーブル31aには、3つの管理レコード310aが記述され、それぞれの関数識別情報は「01」及び「02」である。
As shown in FIG. 6A, three
関数識別情報が「01」である管理レコード310aに基づけば、関数識別情報が「01」である関数のプログラムの呼出しが許可されているアプリケーション3bのアプリケーション識別子は「App1」、「App2」および「App3」で、呼出しアドレスは「アドレスR1」である。
Based on the
また、関数識別情報が「02」である管理レコード310aに基づけば、関数識別情報が「02」である関数のプログラムの呼出しが許可されているアプリケーション3bのアプリケーション識別子は「App1」、「App2」および「App3」で、呼出しアドレスは「アドレスR2」である。
Further, based on the
図6(b)に図示したように、関数管理テーブル31bには、2つの管理レコード310bが記述され、2つの管理レコード310の関数識別情報は共に「01」である。
As shown in FIG. 6B, two
登録された順が古い管理レコード310bに基づけば、更新プログラム32の呼出しが許可されているアプリケーション3bのアプリケーション識別子は「App1」、「App2」および「App3」で、呼出しアドレスは「アドレスE1」である。
If the registration order is based on the
登録された順が新しい管理レコード310に基づけば、更新プログラム32の呼出しが許可されているアプリケーション3bのアプリケーション識別子は「App2」のみで、呼出しアドレスは「アドレスE2」である。
If the registered order is based on the
図6(b)に図示した関数管理テーブル31bによれば、ICカード1のEEPROM22には、関数識別番号が「01」である関数のプログラムの更新プログラム32が二つ記憶されており、登録された順が古い更新プログラム32は、アプリケーション識別子が「App1」、「App2」および「App3」であるアプリケーション3bから呼び出しが許可され、登録された順が新しい更新プログラム32は、アプリケーション識別子が「App2」であるアプリケーション3bのみから呼び出しが許可されている。
According to the function management table 31b illustrated in FIG. 6B, the
図5で図示したフローに基づけば、関数管理テーブル31bがEEPROM22に記憶されているため、管理レコード310を検索する関数管理テーブル31は、図6(b)に図示した関数管理テーブル31bに設定される。
Since the function management table 31b is stored in the
そして、関数識別番号が「01」である関数のプログラムがアプリケーション3bから呼出されると、カーネル3は、関数のプログラムを呼出したアプリケーション3bのアプリケーション識別子を確認する。
When the function program with the function identification number “01” is called from the
カーネル3は、登録された順に管理レコード310bを検索するため、関数のプログラムを呼出したアプリケーション3bのアプリケーション識別子が「02」であれば、登録された順が新しい管理レコード310bが選択され、「アドレスE2」を用いて更新プログラム32が呼出される。また、アプリケーション識別子が「01」或いは「03」であれば、登録された順が古い管理レコード310bが選択され、「アドレスE1」を用いて更新プログラム32が呼出される。
Since the
なお、関数識別番号が「02」である関数のプログラムがアプリケーション3bから呼出された場合、関数識別番号が「02」である管理レコード310bが、図6(b)に図示した関数管理テーブル31bにないため、図6(a)に図示した関数管理テーブル31aの中から、関数識別番号が「02」である管理レコード310aが検索され、関数識別番号が「02」である管理レコード310a用いて、ROM21に実装された関数のプログラムが呼出される。
When the function program having the function identification number “02” is called from the
1 ICカード
2 ICチップ
21 ROM,22 EEPROM
3 カーネル
3a 専用OS
3b アプリケーション
30 関数群
31 関数管理テーブル、310 管理レコード
32 更新プログラム
1
3 OS dedicated to
Claims (4)
4. The update program calling method according to claim 3, wherein the function program is allowed to be called in association with identification information of the function program for each function program installed in the first nonvolatile memory. The second function management table in which the identification information of the application and the call address used when calling the function program is described is stored in the first nonvolatile memory of the IC card, When the identification information of the called function program is not described in the first function management table, the function program is called using the second function management table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006332617A JP2008146343A (en) | 2006-12-08 | 2006-12-08 | Ic card, and method for calling update program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006332617A JP2008146343A (en) | 2006-12-08 | 2006-12-08 | Ic card, and method for calling update program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008146343A true JP2008146343A (en) | 2008-06-26 |
Family
ID=39606457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006332617A Withdrawn JP2008146343A (en) | 2006-12-08 | 2006-12-08 | Ic card, and method for calling update program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008146343A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010055549A (en) * | 2008-08-29 | 2010-03-11 | Dainippon Printing Co Ltd | Ic chip, data reading method, data reading program and recording medium or the like |
EP2228734A1 (en) * | 2009-03-10 | 2010-09-15 | Kabushiki Kaisha Toshiba | Portable electronic device and access control method in portable electronic device |
-
2006
- 2006-12-08 JP JP2006332617A patent/JP2008146343A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010055549A (en) * | 2008-08-29 | 2010-03-11 | Dainippon Printing Co Ltd | Ic chip, data reading method, data reading program and recording medium or the like |
EP2228734A1 (en) * | 2009-03-10 | 2010-09-15 | Kabushiki Kaisha Toshiba | Portable electronic device and access control method in portable electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100531192B1 (en) | Non-volatile memory control method | |
US7681191B2 (en) | Firmware version managing method of computer system and information processing device | |
KR20040076589A (en) | Memory card | |
JP5843674B2 (en) | IC card, portable electronic device, and control method of IC card | |
JP2006190278A (en) | Method, computer system and program for allowing or disallowing firmware upgrade | |
JP2010146410A (en) | Portable electronic device | |
JP2008146343A (en) | Ic card, and method for calling update program | |
JP2010113549A (en) | Ic card and method for execution of patch code | |
JP7284002B2 (en) | Semiconductor device, control method and program | |
JP5301018B2 (en) | Portable electronic device | |
JP2019049876A (en) | Electronic information storage medium, ic card, table management method with electronic information storage medium, and table management program | |
CN112905498A (en) | Processing method, processing device, electronic equipment and storage medium | |
JP7284003B2 (en) | Semiconductor device, IC card, control method and program | |
US7684992B2 (en) | Remote application correction | |
JP7468765B1 (en) | ELECTRONIC INFORMATION STORAGE MEDIUM, IC CHIP, IC CARD, ALL-IN-ONE DATA UPDATE METHOD, AND PROGRAM | |
JPWO2018100633A1 (en) | Control device and program update method | |
JP4580660B2 (en) | Multi-application IC card and application program with application installed in ROM | |
EP1600900A1 (en) | Mobile electronic device | |
JP7010084B2 (en) | Token device used for IC payment | |
JP2019028602A (en) | Electronic information storage medium, ic card, update method by electronic information storage medium and update program | |
EP4145271A1 (en) | Methods and terminal for updating converted applet file, and java card device | |
JP5708228B2 (en) | IC card and IC card refresh method | |
JP2012133656A (en) | Portable electronic apparatus and ic card | |
JP5786702B2 (en) | Security token, instruction execution method in security token, and computer program | |
JP7068603B2 (en) | Update method and update program using electronic information storage medium, IC card, electronic information storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100302 |