JP6428003B2 - Writing apparatus, writing method, writing processing program, and information storage medium - Google Patents
Writing apparatus, writing method, writing processing program, and information storage medium Download PDFInfo
- Publication number
- JP6428003B2 JP6428003B2 JP2014141436A JP2014141436A JP6428003B2 JP 6428003 B2 JP6428003 B2 JP 6428003B2 JP 2014141436 A JP2014141436 A JP 2014141436A JP 2014141436 A JP2014141436 A JP 2014141436A JP 6428003 B2 JP6428003 B2 JP 6428003B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- code
- memory
- storage medium
- information storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明は、所定のプログラムを構成する複数の実行コードを実行可能なICチップ等の情報記憶媒体が備えるメモリに前記プログラムを書き込ませる装置等の技術に関する。 The present invention relates to a technique such as an apparatus for writing a program in a memory provided in an information storage medium such as an IC chip capable of executing a plurality of execution codes constituting a predetermined program.
従来から、例えばICカードに搭載されるICチップでは、Java(登録商標)Cardに対応しているものが多い。Java(登録商標)といったプログラム言語は、ハードウェアの依存性を吸収するために、C言語のようにコンパイルによってソースコードからネイティブコード(機械語)に変換されるものと異なり、コンパイラによって中間言語と呼ばれる実行形式である中間コード(バイトコード)に変換される。中間コードとは、算術や分岐といった命令を含んだデータ列である。この中間コードは、仮想マシン(Virtual Machine
)により解釈及び実行される。このような仮想マシンを備えるICチップでは、仮想マシンの命令解釈部を、各命令(中間コード)の実装(実行コード)の先頭番地(つまり、メモリにおける先頭アドレス)の配列で実現していることが多い。また、現存するICチップの多くがプログラム(命令解釈部を含む実行コード)をROMに記録している(半導体製造工程中に実行コードの配置が確定する)が、最近では、ROM容量を減らし、フラッシュメモリ等の不揮発性メモリを大容量化したICチップも多く、前述のようなプログラムを不揮発メモリに記録するICチップが増えている(半導体ベンダから出荷された後に実行コードとその配置が確定する)。
Conventionally, for example, many IC chips mounted on an IC card are compatible with Java (registered trademark) Card. A programming language such as Java (registered trademark) is different from a language that is converted from source code to native code (machine language) by compiling, such as C language, in order to absorb hardware dependency. It is converted into an intermediate code (byte code) which is an execution format called. The intermediate code is a data string including instructions such as arithmetic and branch. This intermediate code is a virtual machine (Virtual Machine
) Is interpreted and executed. In an IC chip having such a virtual machine, the instruction interpreting unit of the virtual machine is realized by an array of the start address (that is, the start address in the memory) of the implementation (execution code) of each instruction (intermediate code). There are many. In addition, many existing IC chips record programs (executable codes including instruction interpreting units) in ROM (the arrangement of executable codes is determined during the semiconductor manufacturing process). Recently, however, the ROM capacity has been reduced, Many IC chips have a large capacity nonvolatile memory such as a flash memory, and an increasing number of IC chips record the above-described programs in the nonvolatile memory (the execution code and its arrangement are determined after shipping from a semiconductor vendor). ).
ところで、ICチップの消費電力や放射電磁界などの変化を解析することで、ICチップ内部の処理や内部にしかない秘密情報を推測する攻撃手法として、SCA(Side Channel Analysis)が広く知られている。中でも、入手しやすいサンプルカードのサイドチャネル情報を解析してその特徴を事前に学習しておき、同じICチップを採用した流通カード(例えば、クレジットカード)などから秘密情報を類推する攻撃手法が注目されている。これは、学習(攻撃準備)に用いたサンプルカードと流通カードのそれぞれから得られるサイドチャネル情報が酷似していることに起因する。このようなSCAの対策に関連する技術として、暗号処理動作の間に予測不能な電力量を計算することで電力消費の測定にノイズを導入する暗号処理装置が知られている(例えば、特許文献1参照)。 By the way, SCA (Side Channel Analysis) is widely known as an attack technique for inferring secret information that is only inside the IC chip by analyzing changes in the power consumption and radiated electromagnetic field of the IC chip. . Of particular note is an attack method that analyzes side channel information of readily available sample cards, learns their characteristics in advance, and infers secret information from distribution cards (for example, credit cards) that use the same IC chip. Has been. This is because the side channel information obtained from each of the sample card and the distribution card used for learning (attack preparation) is very similar. As a technique related to such SCA countermeasures, there is known a cryptographic processing apparatus that introduces noise in power consumption measurement by calculating an unpredictable amount of power during cryptographic processing operations (for example, Patent Documents). 1).
しかしながら、特許文献1に記載された暗号処理装置では、処理が複雑化し、回路規模が増大してしまうという問題がある。また、特許文献1に記載された暗号処理装置では、SCAの対策に対して、ICチップ等の情報記憶媒体に書き込まれるプログラム自体の保護に着目されていない。
However, the cryptographic processing device described in
本発明は、SCAの対策に対して、ICチップ等の情報記憶媒体に書き込まれるプログラムの保護を、処理が複雑化しない構成で効率良く行うことが可能な書込装置、書込方法、書込処理プログラム、及び情報記憶媒体を提供することを課題とする。 The present invention provides a writing device, a writing method, and a writing method that can efficiently protect a program written in an information storage medium such as an IC chip with a configuration that does not complicate the processing as a countermeasure against SCA. It is an object to provide a processing program and an information storage medium.
上記課題を解決するために、請求項1に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体に情報を書き込む書込装置であって、前記複数の実行コードの前記情報記憶媒体のメモリにおける配列であってデフォルト設定された配列を並び替える並替手段と、前記並替手段により前記配列が並び替えられた前記複数の実行コードを前記情報記憶媒体のメモリに書き込ませる書き込み制御手段と、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記並替手段により前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成手段と、前記生成手段により生成された参照テーブルを前記情報記憶媒体へ送信する送信手段と、を備えることを特徴とする。
In order to solve the above problem, the invention according to
請求項2に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体であって、前記複数の実行コードのうち少なくとも何れか一つの実行コードが少なくとも2重化された前記複数の実行コードをメモリに記憶した前記情報記憶媒体に情報を書き込む書込装置であって、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する前記中間コードと、当該実行コードが記憶された前記メモリにおけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する生成手段と、前記生成手段により生成された参照テーブルを前記情報記憶媒体へ送信する送信手段と、を備えることを特徴とする。 The invention according to claim 2 is an information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program, and at least of the plurality of execution codes A writing device for writing information to the information storage medium in which a plurality of execution codes in which any one execution code is duplicated is stored in a memory, the intermediate code identifying the execution code, A reference table showing a correspondence relationship with address information indicating an address in the memory in which an execution code is written, for each execution code, and the at least duplicated execution code is selected from these execution codes the intermediate code that identifies one of executable code that, the notes which the execution code is stored Characterized in that it comprises generation means for generating a reference table showing the correspondence between the address information indicating an address, and transmission means for transmitting a reference table generated by the generation unit to the information storage medium in.
請求項3に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体であって、メモリと、前記複数の実行コードの前記メモリにおける配列であってデフォルト設定された配列が並び替えられた前記複数の実行コードを書込装置から取得して前記メモリに書き込む書込手段と、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成手段と、を備えることを特徴とする。
The invention according to
請求項4に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体であって、前記複数の実行コードを記憶するメモリと、前記メモリに記憶されている前記複数の実行コードの当該メモリにおける配列を並び替える並替手段と、前記並替手段により前記配列が並び替えられた前記複数の実行コードを前記メモリに書き込む書込手段と、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成手段と、を備えることを特徴とする。 According to a fourth aspect of the present invention, there is provided an information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program, and stores the plurality of execution codes A memory, rearrangement means for rearranging the arrangement of the plurality of execution codes stored in the memory in the memory, and writing the plurality of execution codes in which the arrangement is rearranged by the rearrangement means; A reference table for each execution code showing a correspondence relationship between a writing means, the intermediate code for identifying the execution code, and address information indicating an address in the memory in which the execution code is written, wherein the array is Generating means for generating the reference table indicating the correspondence relationship after being rearranged.
請求項5に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体であって、前記複数の実行コードのうち少なくとも何れか一つの実行コードが少なくとも2重化された前記複数の実行コードを記憶するメモリと、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する前記中間コードと、当該実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する生成手段と、を備えることを特徴とする。 The invention according to claim 5 is an information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program, and at least of the plurality of execution codes A memory for storing the plurality of execution codes in which any one execution code is duplicated; the intermediate code for identifying the execution code; and address information indicating an address in the memory in which the execution code is written; A reference table for each of the execution codes, and for the at least duplicated execution code, the intermediate code for identifying any one execution code selected from these execution codes ; Correspondence with address information indicating an address in the memory in which the execution code is written Characterized in that it comprises a generation means for generating a reference table showing the.
請求項6に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体に情報を書き込むコンピュータにより実行される情報記憶媒体の書込方法であって、前記複数の実行コードの前記情報記憶媒体のメモリにおける配列であってデフォルト設定された配列を並び替える並替ステップと、前記並替ステップにより前記配列が並び替えられた前記複数の実行コードを前記情報記憶媒体のメモリに書き込ませる書き込み制御ステップと、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記並替ステップにより前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成ステップと、前記生成ステップにより生成された参照テーブルを前記情報記憶媒体へ送信するステップと、を含むことを特徴とする。 The invention according to claim 6 is an information storage medium executed by a computer that writes information in an information storage medium including a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program And a rearrangement step of rearranging the default arrangement of the plurality of execution codes in the memory of the information storage medium, and the arrangement is rearranged by the rearrangement step. A correspondence relationship between a write control step for writing the plurality of execution codes to the memory of the information storage medium, the intermediate code for identifying the execution code, and address information indicating an address in the memory to which the execution code is written. A reference table for each execution code, wherein the reordering step Characterized in that it comprises a generation step of generating the reference table indicating the correspondence relationship after the array is sorted, and transmitting the lookup table generated by the generation step to the information storage medium, the .
請求項7に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体であって、前記複数の実行コードのうち少なくとも何れか一つの実行コードが少なくとも2重化された前記複数の実行コードをメモリに記憶した前記情報記憶媒体に情報を書き込むコンピュータにより実行される書込方法であって、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する前記中間コードと、当該実行コードが記憶された前記メモリにおけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する生成ステップと、前記生成ステップにより生成された参照テーブルを前記情報記憶媒体へ送信する送信ステップと、を含むことを特徴とする。 The invention according to claim 7 is an information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program, and at least of the plurality of execution codes a method of writing one of the execution code is executed by a computer to write information to the plurality of execution codes at least doubled in the information storage medium which stores in a memory, said identifying the execution code A reference table for each execution code showing a correspondence relationship between an intermediate code and address information indicating an address in the memory in which the execution code is written, and the execution code for the at least duplex execution code the intermediate code that identifies any one of the execution code that is selected from among, the real A generation step of generating a reference table indicating a correspondence relationship with address information indicating an address in the memory in which a code is stored; and a transmission step of transmitting the reference table generated by the generation step to the information storage medium. It is characterized by including.
請求項8に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体に情報を書き込むコンピュータを、前記複数の実行コードの前記情報記憶媒体のメモリにおける配列であってデフォルト設定された配列を並び替える並替手段と、前記並替手段により前記配列が並び替えられた前記複数の実行コードを前記情報記憶媒体のメモリに書き込ませる書き込み制御手段と、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記並替手段により前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成手段と、前記生成手段により生成された参照テーブルを前記情報記憶媒体へ送信する送信手段として機能させることを特徴とする。 According to an eighth aspect of the present invention, there is provided a computer for writing information in an information storage medium including a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program. Rearrangement means for rearranging the default arrangement in the memory of the information storage medium, and the plurality of execution codes in which the arrangement is rearranged by the rearrangement means in the memory of the information storage medium A reference table for each execution code showing a correspondence relationship between write control means for writing, the intermediate code for identifying the execution code, and address information indicating an address in the memory in which the execution code is written, The reference table showing the correspondence after the arrangement is rearranged by the rearranging means Generating means for generating, and wherein the lookup table generated by the generating means is caused to function as transmission means for transmitting to said information storage medium.
請求項9に記載の発明は、所定のプログラムを構成する複数の実行コードのそれぞれに対応する中間コードを解釈及び実行する仮想マシンを備える情報記憶媒体であって、前記複数の実行コードのうち少なくとも何れか一つの実行コードが少なくとも2重化された前記複数の実行コードをメモリに記憶した前記情報記憶媒体に情報を書き込むコンピュータを、前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する前記中間コードと、当該実行コードが記憶された前記メモリにおけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する生成手段と、前記生成手段により生成された参照テーブルを前記情報記憶媒体へ送信する送信手段として機能させることを特徴とする。 The invention according to claim 9 is an information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program, and at least of the plurality of execution codes The intermediate code for identifying the execution code and the execution code are written in a computer for writing information to the information storage medium in which the plurality of execution codes in which any one execution code is duplicated is stored in a memory. A reference table showing a correspondence relationship with address information indicating an address in the memory for each execution code, wherein the at least duplicated execution code is selected from these execution codes. One of said intermediate code identifying the execution code, the memory where the execution code is stored A generating means for generating a reference table showing the correspondence between the address information indicating the definitive address, and wherein the lookup table generated by the generating means is caused to function as transmission means for transmitting to said information storage medium.
本発明によれば、ICチップ等の情報記憶媒体に書き込まれるプログラムの保護を、処理が複雑化しない構成で効率良く行うことができる。 According to the present invention, it is possible to efficiently protect a program written in an information storage medium such as an IC chip with a configuration that does not complicate the processing.
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、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 issuing system. In this specification, “issue” means writing predetermined information (program, data, etc.) in an information storage medium such as an IC chip.
先ず、図1を参照して、本実施形態に係るICカード発行システムの構成及び機能概要について説明する。図1は、ICカード発行システムSの概要構成例を示す図である。図1に示すように、ICカード発行システムSは、発行対象のICカード1と、ICカード発行機2とを備える。
First, with reference to FIG. 1, the configuration and functional overview of an IC card issuing system according to the present embodiment will be described. FIG. 1 is a diagram showing a schematic configuration example of the IC card issuing system S. As shown in FIG. 1, the IC card issuing system S includes an
ICカード1には、図1に示すように、ICチップ1aが搭載されている。なお、ICカード1は、キャッシュカード、クレジットカード、社員カード等として使用される。或いは、ICカード1は、スマートフォンや携帯電話機等の通信機器に組み込まれる。ICチップ1aは本発明における情報記憶媒体を構成するが、このICチップ1aは通信機器の回路基板上に直接組み込んで構成するようにしてもよい。
An IC chip 1a is mounted on the
ICチップ1aは、CPU(Central Processing Unit)10、RAM(Random AccessMemory)11、ROM(Read Only Memory)12、不揮発性メモリ13、及びI/O回路14を備えて構成され、所定のプログラムを構成する複数の実行コードを実行可能になっている。不揮発性メモリ13には、例えばフラッシュメモリが適用される。不揮発性メモリ13は、「Electrically Erasable Programmable Read-Only Memory」であっても構わない。I/O回路14は、ICカード発行機2とのインターフェイスを担う。I/O回路14には、例えばISO/IEC7816によって定められたC1〜C8の8個の端子が設けられている。例えば、C1端子は電源端子、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子はICカード発行機2などの外部端末とのデータ通信を行う端子である。
The IC chip 1a includes a CPU (Central Processing Unit) 10, a RAM (Random Access Memory) 11, a ROM (Read Only Memory) 12, a
CPU10は、ROM12、不揮発性メモリ13またはRAM11に記憶された各種プログラムを実行する演算装置である。各種プログラムには、OS(Operating System)、仮想マシン、およびアプリケーションプログラムが含まれ、アプリケーションプログラムは後述のように仮想マシンを介して実行される。OS、及び仮想マシンは、複数の実行コード(実行コード群)で記述される。OSは、ICチップ1aの動作を直接コントロールするソフトウェアである。仮想マシンは、Java(登録商標)等のプログラム言語で記述されるアプリケーションプログラムのソースコードをコンパイルすることで得られる中間コードを解釈、実行する。本実施形態のアプリケーションプログラムは、例えば、ICカード1の発行処理後にICチップ1aにインストールされるアプリケーションプログラムである。このようなアプリケーションプログラムは、ソースコードと実行コードとの間に位置する複数の中間コードによって構成され、不揮発性メモリ13における所定のアドレスに書き込まれる。中間コードは、これに対応する実行コードを識別する識別情報(インデックス)である。例えば、中間コード“03”は、実行コード“ADD”(加算)を示す。また、中間コード“04”は、実行コード“MOV”(データ書き込み)を示す。また、中間コード“05”は、実行コード“SUB”(減算)を示す。仮想マシンは、中間コードの解釈及び実行にあたり、中間コードと、実行コードが書き込まれる不揮発性メモリ13におけるアドレス(例えば、実行コードの先頭アドレス)を示すアドレス情報との対応関係を実行コードごとに示す参照テーブルを参照する。これにより特定されたアドレスに記憶されている実行コードがCPU10により実行されることになる。つまり、この参照テーブルは、不揮発性メモリ13に書き込まれた実行コードが実行される際に参照される。この参照テーブルは、ICカード発行機1が生成する場合と、ICチップ1aが生成する場合とがある。
The CPU 10 is an arithmetic device that executes various programs stored in the
ICカード発行機2は、CPU、RAM、及び不揮発性メモリ等から構成される制御部21、ハードディスクドライブ等から構成される記憶部22、及びICカード1との間でリーダライタを介して通信を行うための通信部23等を備えて構成される。ICカード発行機2は、本発明の書込装置の一例である。記憶部22には、OS、及び本発明の書込処理プログラムが記憶される。制御部21は、本発明の書込処理プログラムを実行することにより、本発明における並替手段、書き込み制御手段、生成手段、及び送信手段として機能し、ICカード1の製造工程中に、ICカード1を発行する発行処理を行うようになっている。記憶部22には、ICカード1に書き込ませるプログラムが記憶されている。
The IC card issuer 2 communicates with the control unit 21 including a CPU, RAM, and nonvolatile memory, the
図2(A),(B)は、ICカード発行機2における制御部21の処理例を示すフローチャートである。図2(A)は、実施例1の処理を示し、図2(B)は、実施例2の処理を示す。なお、図2(A),(B)に示す処理は、ICカード1の製造工程中の発行処理時に実行される。
FIGS. 2A and 2B are flowcharts showing a processing example of the control unit 21 in the IC card issuing machine 2. FIG. 2A shows the processing of the first embodiment, and FIG. 2B shows the processing of the second embodiment. The processes shown in FIGS. 2A and 2B are executed at the time of issuing process during the manufacturing process of the
(実施例1)
実施例1は、ROM12の記憶容量が少なく、不揮発性メモリ13の記憶容量が多いICカード1に適用する場合に有効な実施例である。実施例1の処理では、図2(A)に示すように、制御部21は、ICチップ1aの不揮発性メモリ13に書き込ませるプログラムを記憶部22から取得する(ステップS1)。
(Example 1)
The first embodiment is an effective embodiment when applied to the
次いで、制御部21は、取得したプログラムを構成する複数の実行コードの不揮発性メモリ13における配列であってデフォルト設定された配列(実装配列)を、例えば乱数またはICチップ1aに固有の情報に基づいて並び替える(ステップS2)。例えば、ICチップ1aが解釈及び実行するコード(例えば、コンパイラやリンカにより生成された文字や数値の塊で中間コードの実装の境目を識別できる状態)を入力とし、乱数、製造履歴、ICチップ1aの識別情報などを基に中間コードに対応する実行コードの配列が並び替えられる。これにより、製造工程中の発行処理時に、中間コードの実装(実行コード)の配列が、同一の用途に利用される(同一のプログラムを含むデータが書き込まれる)ICチップ1aごとに変更される。なお、同一の用途に利用される全てのICチップ1aで個別化できるように、ICチップ1aの識別情報や製造履歴を基に個別化することが望ましいが、サンプルカードと流通カード(市場で使用されるカード)とで2通りだけを区別してもよい。
Next, the control unit 21 uses an array (a mounting array), which is an array in the
次いで、制御部21は、ステップS2において配列が並べ替えられた後の上記対応関係を示す参照テーブルを生成する(ステップS3)。つまり、ステップS2における並び替えに沿って参照テーブルが生成される。 Subsequently, the control part 21 produces | generates the reference table which shows the said correspondence after the arrangement | sequence was rearranged in step S2 (step S3). That is, the reference table is generated along the rearrangement in step S2.
次いで、制御部21は、ステップS2で配列が並び替えられた複数の実行コードを含むプログラムと、ステップS3で生成された参照テーブルとをICチップ1aへ送信し、当該複数の実行コードを不揮発性メモリ13に書き込ませる(ステップS4)。こうして不揮発性メモリ13に参照テーブル及びプログラムが記憶されたICチップ1aを搭載するICカード1が、流通カードとして生成されることになる。
Next, the control unit 21 transmits a program including a plurality of execution codes whose arrangement is rearranged in step S2 and the reference table generated in step S3 to the IC chip 1a, and the plurality of execution codes are nonvolatile. Write to the memory 13 (step S4). Thus, the
図3(A)は、サンプルカードと、実施例1の処理で発行されたICカード1の参照テーブル及び実装配列を示す図である。図3(A)に示すように、双方の参照テーブルにおける中間コードの並び順は同一であるが、中間コードに対応付けられているアドレス情報(この例では、実行コードの先頭アドレス)が異なっている。つまり、サンプルカードと、実施例1の処理で発行されたICカード1とで、不揮発性メモリ13に書き込まれた実行コードの配列が異なっている。これにより、参照テーブルが参照されて実行コードが不揮発性メモリ13から読み出されるときの消費電力の出方を変えることができる。例えば、同じ実行コード“ADD”でも、8000番地と8026番地に配置されている場合では番地のハミング重み(二進数で1を示すビットの数であり、8000は1で8026は4となる)が異なるため、アドレスバスに起因する消費電力に差が生じる。つまり、同じ実行コード“ADD”を実行しているにもかかわらず、ICチップごとに消費電力値を異ならせることができる。そのため、SCAにおいて学習に使われた使ったサンプルカードと、実施例1の処理で発行されたICカード1のそれぞれのサイドチャネル情報の相関を減らすことができる。また、実施例1の構成によれば、ICチップ1a内部の処理には特別な追加要素がなく、従来どおりの「中間コードに対応した実装の先頭番地を記録した参照テーブルを参照する」だけでよい。つまり、ICカード発行機2側で対処することで上記効果を得ることができる。
FIG. 3A is a diagram illustrating a sample card and a reference table and mounting arrangement of the
なお、実施例1の変形例として、上記参照コードの生成は、ICチップ1a側で行われるように構成してもよい。この場合、ICチップ1aは、複数の実行コードの不揮発性メモリ13における配列であってデフォルト設定された配列が、例えば乱数またはICチップ1aに固有の情報に基づいて並び替えられた複数の実行コードを含むプログラムをICカード発行機2から取得して不揮発性メモリ13に書き込む。そして、ICチップ1aは、ICカード発行機2により当該実行コードの配列が並び替えられた後の上記対応関係を示す参照テーブルを生成する。
As a modification of the first embodiment, the reference code may be generated on the IC chip 1a side. In this case, the IC chip 1a includes a plurality of execution codes in which the arrangement of the plurality of execution codes in the
また、実施例1の変形例として、実行コードの配列の並び替えもICチップ1a側で行われるように構成してもよい。この場合、ICチップ1aは、例えばコンパイル時に確定した順番で実行コードを不揮発性メモリ13の例えばバックアップ領域に書き込む。次いで、ICチップ1aは、不揮発性メモリ13に記憶されている複数の実行コードの当該不揮発性メモリ13における配列を、例えば乱数またはICチップ1aに固有の情報に基づいて並び替える。次いで、ICチップ1aは、配列が並び替えられた複数の実行コードを不揮発性メモリ13の例えばバックアップ領域から正規の領域に並び替えた配列で書き込む(つまり、移し替える)。そして、ICチップ1aは、ICチップ1aにより当該実行コードの配列が並び替えられた後の上記対応関係を示す参照テーブルを生成する。
As a modification of the first embodiment, the arrangement of the execution code array may be rearranged on the IC chip 1a side. In this case, the IC chip 1 a writes the execution codes in, for example, the backup area of the
(実施例2)
実施例2は、不揮発性メモリ13の記憶容量が少なく、特に、ICカード発行機2では実装の並びを変えられないROMに実行コードを記憶するICカード1に適用する場合に有効な実施例である。この場合、ICチップ1aのROM12には、複数の実行コードのうち少なくとも何れか一つの実行コードが少なくとも2重化(3重化以上であってもよい)された複数の実行コードが記憶されているものとする。実施例2の処理では、図2(B)に示すように、制御部21は、上述した参照テーブルにおいて、少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する中間コードと、当該実行コードが記憶されたROM12におけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する(ステップS11)。ここで、少なくとも2重化された実行コードのうち、どの実行コードを選択するかは、例えば乱数によって決められる。そして、制御部21は、ステップS11で生成された参照テーブルをICチップ1aへ送信する(ステップS12)。
(Example 2)
The second embodiment is effective in the case where the
図3(B)は、サンプルカードと、実施例2の処理で発行されたICカード1の参照テーブル及び実装配列を示す図である。図3(B)に示すように、双方の参照テーブルにおける中間コードの並び順は同一であるが、中間コードに対応付けられているアドレス情報(この例では、実行コードの先頭アドレス)が異なっている。つまり、サンプルカードと、実施例2の処理で発行されたICカード1とで、2重化された実行コードのうち、選択された実行コードが異なっている。これにより、実施例1と同様、参照テーブルが参照されて実行コードがROM12から読み出されるときの消費電力の出方を変えることができる。また、実施例2の構成によれば、ICチップ1a内部の処理には特別な追加要素がなく、従来どおりの「中間コードに対応した実装の先頭番地を記録した参照テーブルを参照する」だけでよい。つまり、ICカード発行機2側で対処することで上記効果を得ることができる。また、実装の並びを変えられないROMに実行コードを記憶する場合であっても、実行コードがROMから読み出されるときの消費電力の出方をICカード1ごと変えることができる。
FIG. 3B is a diagram illustrating a sample card and a reference table and mounting arrangement of the
なお、実施例2の変形例として、上記参照コードの生成は、ICチップ1a側で行われるように構成してもよい。この場合、ICチップ1aは、上述した参照テーブルにおいて、少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する中間コードと、当該実行コードが記憶されたROM12におけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する。また、このように同じ処理がされる実行コードを少なくとも2重化する場合において、実行コードの順番や利用されるレジスタを変更するように構成してもよい。図3(C)は、2重化された実行コード“ADD”(01と02)の内容の一例を示す図である。図3(C)に示すADD01では、先ず0003番地のデータをレジスタR0に移し、その後に0058番地のデータをレジスタR1に移し、その後に、レジスタR0とR1のデータを加算させる手順になっている。一方、図3(C)に示すADD02では、先ず0058番地のデータをレジスタR1に移し、その後に0003番地のデータをレジスタR0に移し、その後に、レジスタR0とR1のデータを加算させる手順になっている。このようにADD01とADD02の処理結果は同一となるが、アドレスからの読み出し順序を異ならせることで、実行コードがROM12から読み出されるときの消費電力の出方の傾向を更に変えることができる。
As a modification of the second embodiment, the reference code may be generated on the IC chip 1a side. In this case, the IC chip 1a includes an intermediate code for identifying any one execution code selected from these execution codes in the reference table described above, and the execution code. A reference table indicating a correspondence relationship with address information indicating an address in the
以上説明したように、上記実施形態によれば、ICチップ1aに書き込まれる複数の実行コードの配列を並び替えたり、或いは、当該実行コードを少なくとも2重化して何れかの実行コードを選択させるように構成したので、当該実行コードが不揮発性メモリ13から読み出されるときの消費電力の出方を変えさせることができ、ICチップ1aに書き込まれるプログラムの保護を、処理が複雑化しない構成で効率良く行うことができる。
As described above, according to the above-described embodiment, the arrangement of a plurality of execution codes written in the IC chip 1a is rearranged, or at least two execution codes are selected to select any execution code. Therefore, it is possible to change the way in which power is consumed when the execution code is read from the
1 ICカード
2 ICカード発行機
1a ICチップ
10 CPU
11 RAM
12 ROM
13 不揮発性メモリ
14 I/O回路
1 IC card 2 IC card issuing machine 1a IC chip 10 CPU
11 RAM
12 ROM
13 Non-volatile memory 14 I / O circuit
Claims (9)
前記複数の実行コードの前記情報記憶媒体のメモリにおける配列であってデフォルト設定された配列を並び替える並替手段と、
前記並替手段により前記配列が並び替えられた前記複数の実行コードを前記情報記憶媒体のメモリに書き込ませる書き込み制御手段と、
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記並替手段により前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成手段と、
前記生成手段により生成された参照テーブルを前記情報記憶媒体へ送信する送信手段と、
を備えることを特徴とする書込装置。 A writing device for writing information to an information storage medium including a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program,
Rearrangement means for rearranging the default arrangement of the plurality of execution codes in the memory of the information storage medium;
Write control means for writing the plurality of execution codes in which the arrangement is rearranged by the rearranging means to a memory of the information storage medium;
A reference table showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, for each execution code, and the array is arranged by the rearranging unit. Generating means for generating the reference table indicating the correspondence after the rearrangement;
Transmitting means for transmitting the reference table generated by the generating means to the information storage medium;
A writing device comprising:
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する前記中間コードと、当該実行コードが記憶された前記メモリにおけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する生成手段と、
前記生成手段により生成された参照テーブルを前記情報記憶媒体へ送信する送信手段と、
を備えることを特徴とする書込装置。 An information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program, wherein at least one execution code of the plurality of execution codes is at least 2 A writing device for writing information to the information storage medium in which the plurality of execution codes that have been duplicated are stored in a memory,
A reference table for each execution code showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, wherein the execution code is at least duplicated For the code, a reference table indicating a correspondence relationship between the intermediate code for identifying any one execution code selected from these execution codes and address information indicating an address in the memory in which the execution code is stored Generating means for generating
Transmitting means for transmitting the reference table generated by the generating means to the information storage medium;
A writing device comprising:
メモリと、
前記複数の実行コードの前記メモリにおける配列であってデフォルト設定された配列が並び替えられた前記複数の実行コードを書込装置から取得して前記メモリに書き込む書込手段と、
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成手段と、
を備えることを特徴とする情報記憶媒体。 An information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program,
Memory,
A writing means for acquiring the plurality of execution codes from the writing device and writing the plurality of execution codes in the memory, wherein the plurality of execution codes are arranged in the memory and the default arrangement is rearranged;
A reference table for each execution code showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, and after the array is rearranged Generating means for generating the reference table indicating the correspondence relationship of:
An information storage medium comprising:
前記複数の実行コードを記憶するメモリと、
前記メモリに記憶されている前記複数の実行コードの当該メモリにおける配列を並び替える並替手段と、
前記並替手段により前記配列が並び替えられた前記複数の実行コードを前記メモリに書き込む書込手段と、
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成手段と、
を備えることを特徴とする情報記憶媒体。 An information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program,
A memory for storing the plurality of execution codes;
Rearrangement means for rearranging an array in the memory of the plurality of execution codes stored in the memory;
Writing means for writing the plurality of executable codes in which the arrangement is rearranged by the rearranging means to the memory;
A reference table for each execution code showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, and after the array is rearranged Generating means for generating the reference table indicating the correspondence relationship of:
An information storage medium comprising:
前記複数の実行コードのうち少なくとも何れか一つの実行コードが少なくとも2重化された前記複数の実行コードを記憶するメモリと、
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する前記中間コードと、当該実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する生成手段と、
を備えることを特徴とする情報記憶媒体。 An information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program,
A memory for storing the plurality of execution codes in which at least any one of the plurality of execution codes is duplicated;
A reference table for each execution code showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, wherein the execution code is at least duplicated For the code, a reference table showing a correspondence relationship between the intermediate code for identifying any one of the execution codes and the address information indicating the address in the memory in which the execution code is written. Generating means for generating;
An information storage medium comprising:
前記複数の実行コードの前記情報記憶媒体のメモリにおける配列であってデフォルト設定された配列を並び替える並替ステップと、
前記並替ステップにより前記配列が並び替えられた前記複数の実行コードを前記情報記憶媒体のメモリに書き込ませる書き込み制御ステップと、
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記並替ステップにより前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成ステップと、
前記生成ステップにより生成された参照テーブルを前記情報記憶媒体へ送信するステップと、
を含むことを特徴とする書込方法。 An information storage medium writing method executed by a computer that writes information to an information storage medium including a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program,
A rearrangement step of rearranging the default arrangement of the plurality of execution codes in the memory of the information storage medium;
A write control step for writing the plurality of execution codes in which the arrangement is rearranged in the rearrangement step into a memory of the information storage medium;
A reference table for each execution code showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, and the array is arranged by the rearrangement step. A generation step of generating the reference table indicating the correspondence after the rearrangement;
Transmitting the reference table generated by the generating step to the information storage medium;
A writing method comprising:
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する前記中間コードと、当該実行コードが記憶された前記メモリにおけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する生成ステップと、
前記生成ステップにより生成された参照テーブルを前記情報記憶媒体へ送信する送信ステップと、
を含むことを特徴とする書込方法。 An information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program, wherein at least one execution code of the plurality of execution codes is at least 2 A writing method executed by a computer that writes information to the information storage medium in which the plurality of execution codes that have been overlapped are stored in a memory,
A reference table for each execution code showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, wherein the execution code is at least duplicated For the code, a reference table indicating a correspondence relationship between the intermediate code for identifying any one execution code selected from these execution codes and address information indicating an address in the memory in which the execution code is stored A generation step for generating
A transmission step of transmitting the reference table generated by the generation step to the information storage medium;
A writing method comprising:
前記複数の実行コードの前記情報記憶媒体のメモリにおける配列であってデフォルト設定された配列を並び替える並替手段と、
前記並替手段により前記配列が並び替えられた前記複数の実行コードを前記情報記憶媒体のメモリに書き込ませる書き込み制御手段と、
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記並替手段により前記配列が並び替えられた後の前記対応関係を示す前記参照テーブルを生成する生成手段と、
前記生成手段により生成された参照テーブルを前記情報記憶媒体へ送信する送信手段として機能させることを特徴とする書込処理プログラム。 A computer for writing information to an information storage medium including a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program;
Rearrangement means for rearranging the default arrangement of the plurality of execution codes in the memory of the information storage medium;
Write control means for writing the plurality of execution codes in which the arrangement is rearranged by the rearranging means to a memory of the information storage medium ;
A reference table showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, for each execution code, and the array is arranged by the rearranging unit. Generating means for generating the reference table indicating the correspondence after the rearrangement;
A writing processing program that functions as a transmission unit that transmits the reference table generated by the generation unit to the information storage medium .
前記実行コードを識別する前記中間コードと、前記実行コードが書き込まれる前記メモリにおけるアドレスを示すアドレス情報との対応関係を前記実行コードごとに示す参照テーブルであって、前記少なくとも2重化された実行コードについてはこれらの実行コードのうちから選択される何れか一つの実行コードを識別する前記中間コードと、当該実行コードが記憶された前記メモリにおけるアドレスを示すアドレス情報との対応関係を示す参照テーブルを生成する生成手段と、
前記生成手段により生成された参照テーブルを前記情報記憶媒体へ送信する送信手段として機能させることを特徴とする書込処理プログラム。 An information storage medium comprising a virtual machine that interprets and executes an intermediate code corresponding to each of a plurality of execution codes constituting a predetermined program, wherein at least one execution code of the plurality of execution codes is at least 2 A computer for writing information to the information storage medium in which the multiple execution codes are stored in a memory;
A reference table for each execution code showing a correspondence relationship between the intermediate code for identifying the execution code and address information indicating an address in the memory in which the execution code is written, wherein the execution code is at least duplicated For the code, a reference table indicating a correspondence relationship between the intermediate code for identifying any one execution code selected from these execution codes and address information indicating an address in the memory in which the execution code is stored Generating means for generating
A writing processing program that functions as a transmission unit that transmits the reference table generated by the generation unit to the information storage medium.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014141436A JP6428003B2 (en) | 2013-07-17 | 2014-07-09 | Writing apparatus, writing method, writing processing program, and information storage medium |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013148805 | 2013-07-17 | ||
| JP2013148805 | 2013-07-17 | ||
| JP2014141436A JP6428003B2 (en) | 2013-07-17 | 2014-07-09 | Writing apparatus, writing method, writing processing program, and information storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015038723A JP2015038723A (en) | 2015-02-26 |
| JP6428003B2 true JP6428003B2 (en) | 2018-11-28 |
Family
ID=52631750
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014141436A Active JP6428003B2 (en) | 2013-07-17 | 2014-07-09 | Writing apparatus, writing method, writing processing program, and information storage medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6428003B2 (en) |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2537200B2 (en) * | 1986-06-26 | 1996-09-25 | 株式会社東芝 | Portable electronic devices |
| JPH0250787A (en) * | 1988-08-12 | 1990-02-20 | Hitachi Maxell Ltd | Ic card and its program rewriting system |
| US5276903A (en) * | 1988-08-12 | 1994-01-04 | Hatachi Maxell, Ltd. | Method for rewriting partial program data in an IC card and apparatus therefor |
| JP4502359B2 (en) * | 2003-08-22 | 2010-07-14 | 株式会社ハイパーテック | Encryption program decryption method and encryption program decryption program |
| JP4568489B2 (en) * | 2003-09-11 | 2010-10-27 | 富士通株式会社 | Program protection method, program protection program, and program protection apparatus |
| US7584364B2 (en) * | 2005-05-09 | 2009-09-01 | Microsoft Corporation | Overlapped code obfuscation |
-
2014
- 2014-07-09 JP JP2014141436A patent/JP6428003B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015038723A (en) | 2015-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR20030071461A (en) | Memory card | |
| US8417902B2 (en) | One-time-programmable memory emulation | |
| FI20045376A7 (en) | Loyalty card and related devices | |
| US9129137B2 (en) | Method, computer program and device for providing security for intermediate programming code for its execution by a virtual machine | |
| CN102623069A (en) | Random excitation flash model verification method | |
| US20050209716A1 (en) | Method and system for writing nv memories in a controller architecture, corresponding computer program product and computer-readable storage medium | |
| JP3771904B2 (en) | Microprocessor circuit with auxiliary register bank | |
| JP6428003B2 (en) | Writing apparatus, writing method, writing processing program, and information storage medium | |
| JP6248518B2 (en) | Information storage medium, information writing method, and writing processing program | |
| CN111694580A (en) | Method and device for upgrading and initializing storage device and electronic device | |
| CN101840520B (en) | Intelligent card and method for accessing flash memory of intelligent card | |
| ES3037615T3 (en) | A method for generating an executable file from a parent executable file to produce a derived customer item | |
| EP3268858A1 (en) | A method for generating an embedded system derivable into a plurality of personalized embedded systems | |
| EP4020297B1 (en) | Method for managing a volatile memory and java card device | |
| JP7438432B1 (en) | Electronic information storage medium, IC chip, IC card, record writing method, and program | |
| US9916281B2 (en) | Processing system with a secure set of executable instructions and/or addressing scheme | |
| JP6119345B2 (en) | IC chip, IC card, verification processing method, and verification processing program | |
| JP5957347B2 (en) | IC card and portable electronic device | |
| JP2008500601A (en) | Semiconductor memory card | |
| Torr et al. | Multos and multos application development | |
| CN102077170A (en) | Method of interruption of meta language program code execution | |
| CN107402887A (en) | counter in flash memory | |
| JP6287284B2 (en) | IC chip and program encryption method | |
| JP6758910B2 (en) | IC card | |
| Asgari et al. | Classification of Smart Card Operating Systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170529 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180222 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180306 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180427 |
|
| 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: 20181002 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181015 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6428003 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |