JP2001034715A - System and method for verifying program for ic card at execution and ic card - Google Patents

System and method for verifying program for ic card at execution and ic card

Info

Publication number
JP2001034715A
JP2001034715A JP11208383A JP20838399A JP2001034715A JP 2001034715 A JP2001034715 A JP 2001034715A JP 11208383 A JP11208383 A JP 11208383A JP 20838399 A JP20838399 A JP 20838399A JP 2001034715 A JP2001034715 A JP 2001034715A
Authority
JP
Japan
Prior art keywords
card
file
program
class file
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11208383A
Other languages
Japanese (ja)
Inventor
Masaya Kato
雅也 加藤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11208383A priority Critical patent/JP2001034715A/en
Publication of JP2001034715A publication Critical patent/JP2001034715A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To remove the partial function of verification at execution from installed functions on an IC card whose memory resources, etc., are insufficient by sufficiently verifying an application program with a legitimate tool chain outside the IC card about the verification of the application program for the IC card at the execution. SOLUTION: A run time checker 16 and a coverage checker 18 performing the verification of an application program at execution are provided, a class file 2 (13) is inputted, and the checker 16 performs verification at execution together with appropriate test data 15. Whether a Class file has undergone a reasonable routine is decided by checking a signature added when the Class file is generated, and a Cap file 21 is generated from a Class file 3 (19) of after verification at execution. A loader 22 loads the Cap file 21 into an IC card.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ICカード用のア
プリケーションプログラムの開発及びそのダウンロード
機構に於て、ICカード外での検証を行うことによりI
Cカード内へ実装するチェックルーチン等の軽減を図る
技術の改善に係わるICカード用プログラム実行時検証
システム及びICカード用プログラム実行時検証方法に
関する。
BACKGROUND OF THE INVENTION The present invention relates to the development of an application program for an IC card and the verification of the IC card by performing verification outside the IC card in a download mechanism.
The present invention relates to an IC card program execution time verification system and an IC card program execution time verification method related to improvement of technology for reducing a check routine and the like mounted in a C card.

【0002】[0002]

【従来の技術】従来、例えばJavaCard2.0の
仕様では、システムは、 (1)アプレット(アプリケーションプログラム)がダウ
ンロード可能なICカードである。 (2)ICカード上ではヴァーチャルマシンが、マシン
独立であるバイトコードを解釈して実行する。 (3)実行時にエラーチェックを行う。 (4)アプリケーションプログラムの開発には専用のツ
ールを用いてICカードヘダウンロード可能な状態へと
変換する。
2. Description of the Related Art Conventionally, for example, according to the specification of JavaCard 2.0, a system is (1) an IC card from which an applet (application program) can be downloaded. (2) On the IC card, the virtual machine interprets and executes the machine-independent bytecode. (3) Perform an error check at the time of execution. (4) To develop an application program, use a dedicated tool to convert the application program into a downloadable state to an IC card.

【0003】このようなシステムはICカード上のイン
タプリタによるシステムと、そのシステム上ヘアプリケ
ーションプログラムをダウンロード可能にすることを主
目的とするツールによって構成されているものである。
[0003] Such a system is constituted by a system using an interpreter on an IC card and a tool whose main purpose is to enable application programs to be downloaded to the system.

【0004】図3は、従来のJavaCardへアプリ
ケーションプログラムをダウンロード可能な状態へと変
換するシステムを概念的に示すものである。このシステ
ムでは、コンパイラ、ICカードヘダウンロード可能な
JavaCard仕様の範囲に納まっているかどうかを
チェックするポストプロセッサ32、ダウンロード可能
な形式へと変換するコンバータ34及び実際にICカー
ドヘとダウンロードを行うローダ36によって構成され
ている。
FIG. 3 conceptually shows a conventional system for converting an application program into a downloadable JavaCard. In this system, a compiler, a post-processor 32 for checking whether the contents are within the range of the JavaCard specification that can be downloaded to an IC card, a converter 34 for converting to a downloadable format, and a loader 36 for actually downloading to an IC card are provided. It is configured.

【0005】このシステムによるアプリケーションプロ
グラムをダウンロード可能な状態へと変換する処理は、
以下の通りである。
The process of converting an application program into a downloadable state by this system is as follows.
It is as follows.

【0006】先ず、Javaコンパイラの出力である、
JavaClassファイル31をポストプロセッサ3
2で、JavaCard仕様の範囲内のClassファ
イル31になっているかどうか検査し、Classファ
イル31の正当性等も確認し、Classファイル2
(33)を生成する。
First, the output of the Java compiler is:
Post the JavaClass file 31 to the post processor 3
In step 2, it is checked whether the class file 31 is within the range of the JavaCard specification, and the validity of the class file 31 is also checked.
(33) is generated.

【0007】次に、コンバータ34によって、Clas
sファイル2(33)をICカードにダウンロード可能
な形式(Capファイル35と呼ぶ)に変換し、ローダ
36はこのCapファイル35を図示しないICカード
にダウンロードするという手順にて処理が行われていた
ものであった。
[0007] Next, by the converter 34, Clas
The s-file 2 (33) is converted into a format that can be downloaded to an IC card (referred to as a Cap file 35), and the loader 36 performs the process by downloading the Cap file 35 to an IC card (not shown). Was something.

【0008】この処理では、Classファイル31の
正当性等はポストプロセッサ32にて確認されるもの
の、アプリケーションプログラムの実行時の検証等は全
てICカード上で行っていた。
In this process, the validity and the like of the class file 31 are confirmed by the post processor 32, but the verification and the like at the time of execution of the application program are all performed on the IC card.

【0009】ICカード上では、実行時チェックを行う
ことで暴走等を避けるマシンに依存しないインタプリタ
(ヴァーチャルマシンと称す)でプログラムを実行す
る。
On an IC card, a program is executed by an interpreter (referred to as a virtual machine) which does not depend on a machine to avoid runaway by performing a check at the time of execution.

【0010】このように、上述従来のシステムでは、I
Cカード上ヘダウンロード可能なように変換し、ダウン
ロードすることと、ICカード上でマシンに依存しない
インタプリタが動作することが主な目的であり、協調し
てICカード上のシステムを軽減するといった機能につ
いては、格段考慮されておらず、又設けられてもいない
ものであった。
As described above, in the conventional system described above, I
The main purpose is to convert and download so that it can be downloaded to the C card, and to operate a machine-independent interpreter on the IC card, and to cooperate to reduce the system on the IC card. Has not been taken into consideration or provided.

【0011】[0011]

【発明が解決しようとする課題】上述したように従来の
ものにあっては、ツールチェーンの正当性を保証する機
能が存在しておらず、又アプリケーションプログラムの
実行時検証は、ICカード上で実際に行うことを想定し
ており、通常ICカードを実装するパソコン等の計算機
より性能が劣るCPUを実装しメモリストレージ及び計
算資源の乏しいICカード上に、実行時検証を行うシス
テムを全て実装する必要があり、アプリケーションプロ
グラムの為のエリア不足や、計算速度が遅くなるという
問題があった。
As described above, in the conventional device, there is no function for guaranteeing the validity of the tool chain, and the execution verification of the application program is performed on the IC card. It is assumed that it is actually performed, and a CPU that is inferior in performance to a computer such as a personal computer that normally mounts an IC card is mounted, and a system for performing runtime verification is mounted on an IC card with little memory storage and computational resources However, there is a problem that the area is insufficient for the application program and the calculation speed is reduced.

【0012】そこで、本発明は上記事情を考慮して成さ
れたもので、上記不具合を解消し、ICカード外に設け
られた正統なツールチェーンで充分にアプリケーション
を検証することにより、アプリケーションプログラムの
実行時検証の一部の機能をICカード上の実装から取り
除けることを可能としたICカード用プログラム実行時
検証システム及びICカード用プログラム実行時検証方
法を提供することを目的とする。
Therefore, the present invention has been made in consideration of the above circumstances, and solves the above-mentioned disadvantages and sufficiently verifies the application with a legitimate tool chain provided outside the IC card, thereby enabling the application program to be implemented. An object of the present invention is to provide an IC card program execution time verification system and an IC card program execution time verification method that can remove some functions of the execution time verification from the mounting on the IC card.

【0013】[0013]

【課題を解決するための手段】本発明は上記目的を達成
する為、ICカード用プログラムを当該ICカードで実
行した時に正しく動作することを検証するICカード用
プログラム実行時検証システムに於いて、上記ICカー
ド用プログラムのコントロールフロー解析を行い情報フ
ァイルを作成して上記ICカード用プログラムのソース
ファイルをコンパイルした第1のクラスファイルに正当
な処理ルーチンを経ていることを証明するシグネチャ情
報を付加した第2のクラスファイルを生成するコントロ
ールフロー解析手段と、この第2のクラスファイルを上
記情報ファイルと実行時検証をする為のテストデータに
基づき実行し実行時ログを生成するファイル実行手段
と、上記実行時ログと上記情報ファイルを参照し上記I
Cカード用プログラムの全てのパスを通っているか否か
を判定して全てのパスを通っている場合上記第2のクラ
スファイルにシグネチャ情報を付加した第3のクラスフ
ァイルを作成する実行時検証手段と、この第3のクラス
ファイルのシグネチャ情報に基づき正当な処理ルーチン
を経ている場合上記第3のクラスファイルを上記ICカ
ードにダウンロード可能なCAPファイルに変換するフ
ァイル変換手段と、このCAPファイルを上記ICカー
ドにロードするプログラムロード手段とを備えたことを
特徴とする。
SUMMARY OF THE INVENTION In order to achieve the above object, the present invention provides an IC card program execution verification system for verifying that an IC card program operates correctly when the IC card program is executed on the IC card. A control flow analysis of the IC card program is performed to create an information file, and signature information for proving that the IC card program has passed a valid processing routine is added to a first class file obtained by compiling the source file of the IC card program. Control flow analysis means for generating a second class file; file execution means for executing the second class file based on the information file and test data for performing runtime verification to generate a runtime log; Refer to the runtime log and the information file and
Execution time verification means for determining whether or not all the paths of the C card program have been passed and, when all the paths have been passed, creating a third class file in which signature information is added to the second class file File conversion means for converting the third class file into a CAP file that can be downloaded to the IC card if the processing has passed a legitimate processing routine based on the signature information of the third class file; Program loading means for loading into an IC card.

【0014】このような構成によれば、EEPROMや
メモリの制限の厳しいICカード上からICカード用ア
プリケーションプログラムの実行時チェックのルーチン
を省略することで、実装を軽減でき、これにより、アプ
リケーション領域等を大きくとることが可能となる。
According to such a configuration, it is possible to reduce the implementation by omitting the routine for checking at the time of execution of the application program for the IC card from the EEPROM or the IC card where the memory is severely restricted. Can be increased.

【0015】又、ICカード用アプリケーションプログ
ラムの実行時検証を含めた各種チェックを実行システム
外で行うことにより、実行システムとの整合性をチェッ
クすることが可能となり、実行時にシステムの不整合な
どでの実行時エラーを防止することが可能となる。
Further, by performing various checks including the execution verification of the IC card application program outside the execution system, it is possible to check the consistency with the execution system. Can be prevented from being executed at the time of execution.

【0016】更に、シグネチャ情報をチェックすること
によりむ、ICカードにダウンロードするファイルが正
当なルーチンを経ているか否かを検証することができ、
正当なルーチンを経ていないファイルのダウンロードを
防止することができるものでもある。
Further, by checking the signature information, it is possible to verify whether the file downloaded to the IC card has passed a valid routine,
It can also prevent the downloading of files that have not gone through legitimate routines.

【0017】また、上記目的を達成するために本発明の
ICカードは、ICカード外でICカード用プログラム
を検証し、検証が正しく行われたことを示すシグネチャ
情報が付加されたクラスファイルに基づきICカード内
にダウンロードし、カード内にチェックルーチンを持た
ないようにしたことを特徴とする。
In order to achieve the above object, an IC card according to the present invention verifies an IC card program outside the IC card, based on a class file to which signature information indicating that the verification has been correctly performed is added. It is characterized in that it is downloaded into an IC card and does not have a check routine in the card.

【0018】本発明によれば、ICカード用プログラム
をICカード外で検証して、正当性が確認されてからダ
ウンロードするようにしたことから、カード内にチェッ
クルーチンを持つことがないICカードを得ることがで
きる。
According to the present invention, since the IC card program is verified outside the IC card and downloaded after its validity is confirmed, an IC card having no check routine in the card can be used. Obtainable.

【0019】[0019]

【発明の実施の形態】以下、本発明の一実施形態を図を
参照して説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings.

【0020】図1は、本実施形態に係わるプログラム実
行時検証システムを概念的に示すものである。
FIG. 1 conceptually shows a program execution verification system according to this embodiment.

【0021】本システムでは、従来のJavaCard
仕様のICカード用アプレット(アプリケーション・プ
ログラム)開発システムに、アプリケーションプログラ
ムの実行時の検証を行うランタイムチェッカ16と、カ
バレッジチェッカ18を追加し、classファイル2
(13)を入力として、適切なテストデータ15と共に
ランタイムチェッカ16で実行時検証を行うものであ
る。特に図示はしないが、本実施形態のプログラム実行
時検証システムは、パーソナルコンピュータ(PC)等
の計算機上にて行われ、各ファイルやポストプロセッサ
等は、上記PC等の計算機上に設けられている。
In this system, the conventional JavaCard
A run-time checker 16 for verifying the application program at the time of execution and a coverage checker 18 are added to the IC card applet (application program) development system of the specification.
With (13) as input, runtime verification is performed by the runtime checker 16 together with appropriate test data 15. Although not specifically shown, the program execution verification system of the present embodiment is performed on a computer such as a personal computer (PC), and each file, postprocessor, and the like are provided on the computer such as the PC. .

【0022】さて、classファイル11は、Jav
aのソースファイルをコンパイルして、ポストプロセッ
サ12にて実行可能なファイルとしたものである。
By the way, the class file 11 is a Java file.
The source file a is compiled into a file executable by the post processor 12.

【0023】ポストプロセッサ12は、JavaCar
d用のアプリケーションプログラムのコントロールフロ
ー解析を行い、情報ファイル14を生成するものであ
る。又、classファイル11に、正当なルーチンを
通過していることを証明する為の情報であるシグネチャ
を付加する機能を有する。
The post-processor 12 is a Java Car
The control flow analysis of the application program for d is performed, and the information file 14 is generated. In addition, a function is added to the class file 11 to add a signature, which is information for proving that the file has passed a valid routine.

【0024】ここで、シグネチャは、正当なルーチンを
通過していることの証明として、実行時検証の各ステッ
プで生成されるファイルに付加されるものである。そし
て、このシグネチャが正しく入っていないものは、正当
なルーチンを経ていない為、ICカードにはインストー
ルされないものである。
Here, the signature is added to the file generated in each step of the runtime verification as proof that the signature has passed a valid routine. If the signature is not entered correctly, it is not installed in the IC card because it has not passed through a valid routine.

【0025】classファイル2(13)は、cla
ssファイル11に上記シグネチャが付加されたファイ
ルである。
The class file 2 (13) is a
This is a file in which the signature is added to the ss file 11.

【0026】ランタイムチェッカ16は、実行時検証を
行う為のテストデータ15に基づいてclassファイ
ル2(13)を実行する。この時、実行時依存のチェッ
ク項目のチェックも行い、同時に情報ファイル14を参
照し、実行時ログ17を生成するものである。ここで、
この実行時依存のチェック項目は、ICカード上のシス
テムで必要なチェック項目である。従って、チェック項
目の内容、種類等を検証することで、ICカードに対応
しないプログラムのダウンロードを排除することができ
るものである。
The run-time checker 16 executes the class file 2 (13) based on the test data 15 for performing runtime verification. At this time, the execution time dependent check items are also checked, and at the same time, the execution time log 17 is generated by referring to the information file 14. here,
The execution-time-dependent check items are check items necessary for the system on the IC card. Therefore, by verifying the contents, types, and the like of the check items, it is possible to eliminate download of a program that does not support the IC card.

【0027】ガバレッジチェッカ18は、実行時ログ1
7、情報ファイル14を参照して、アプリケーションプ
ログラムの全てのパスを通過しているか否かをチェック
するものである。又、ガバレッジチェッカ18は、全て
のパスを通過したことを確認後、classファイル2
(13)にシグネチャを付加しclassファイル3
(19)を生成するものでもある。
The coverage checker 18 executes the execution log 1
7. Check the information file 14 to see if it has passed all the paths of the application program. Further, the coverage checker 18 checks that all the paths have passed, and then checks the class file 2
(13) with signature added to class file 3
(19) is also generated.

【0028】コンバータ20は、classファイル3
(19)を図示しないICカードにダウンロード可能な
形式であるcapファイル21に変換する。又、シグネ
チャに基づき正当な処理ルーチンを経ているか否かも判
定し、正当な処理ルーチンを経ているものに関してのみ
capファイル21に変換するものである。
The converter 20 converts the class file 3
(19) is converted into a cap file 21 which can be downloaded to an IC card (not shown). Further, it is also determined whether or not the processing has passed through a valid processing routine based on the signature, and only those which have passed through the valid processing routine are converted into the cap file 21.

【0029】ローダ22は、capファイル21を図示
しないICカードにダウンロードする機能を有する。
The loader 22 has a function of downloading the cap file 21 to an IC card (not shown).

【0030】上記構成につき、図2に示す本システムに
よる実行時検証処理動作のフローチャートを参照して、
実行時検証処理動作/作用を説明する。
With respect to the above configuration, referring to the flowchart of the runtime verification processing operation by the present system shown in FIG. 2,
The operation / action at the time of execution verification will be described.

【0031】ポストプロセッサ12は、classファ
イル11のコントロールフロー解析を行い(ステップS
201)、情報ファイル14(ステップS202)を生
成する。又、classファイル11に、正当な処理ル
ーチンを経ていることを証明するシグネチャを付加し、
クラスファイル2(13)を生成する。
The post processor 12 analyzes the control flow of the class file 11 (Step S).
201), and generate the information file 14 (step S202). In addition, a signature for certifying that a valid processing routine has been passed is added to the class file 11,
Generate a class file 2 (13).

【0032】ランタイムチェッカ16は、ポストプロセ
ッサ12により生成したクラスファイル2(13)を、
テストデータ15を元に実行する(ステップS20
3)。この時、実行時依存のチェック項目のチェックも
行い、同時にステップS202で生成した情報ファイル
14を参照し、実行時ログ17を生成する(ステップS
204)。
The runtime checker 16 converts the class file 2 (13) generated by the post processor 12 into
Execute based on test data 15 (step S20)
3). At this time, the runtime dependent check items are also checked, and at the same time, the runtime log 17 is generated by referring to the information file 14 generated in step S202 (step S202).
204).

【0033】カバレッジチェッカ18は、実行時ログ1
7、情報ファイル14を参照し、アプリケーション・プ
ログラムの全てのパスを通っているかどうかチェックす
る(ステップS205)。
The coverage checker 18 executes the execution log 1
7. Referring to the information file 14, it is checked whether all the paths of the application program have been passed (step S205).

【0034】全てパスしていることを確認した場合(ス
テップS205のYes)、カバレッジチェッカ18
は、Classファイル2(13)をもとにシグネチャ
を付加しClassファイル3(19)を生成する(ス
テップS206)。全てパスしていない場合(ステップ
S205のNo)、実行時検証チェックは中止される
(ステップS207)。
If it is confirmed that all the data passes (Yes in step S205), the coverage checker 18
Generates a Class file 3 (19) by adding a signature based on the Class file 2 (13) (step S206). If not all passed (No in step S205), the runtime verification check is stopped (step S207).

【0035】次に、コンバータ20が、クラスファイル
3(19)のシグネチャに基づき正当な処理ルーチンを
経ている場合、クラスファイル3(19)をCapファ
イル21ヘと変換する(ステップS208)。そして、
ローダ22が、Capファイル21をICカードヘとロ
ードする(ステップS209)。これで、実行時検証処
理動作は終了する。
Next, if the converter 20 has passed a valid processing routine based on the signature of the class file 3 (19), the converter 20 converts the class file 3 (19) into a Cap file 21 (step S208). And
The loader 22 loads the Cap file 21 onto the IC card (Step S209). This completes the runtime verification processing operation.

【0036】[0036]

【発明の効果】以上詳記したように本発明によれば、E
EPROMやメモリの制限の厳しいICカード上からI
Cカード用アプリケーションプログラムの実行時チェッ
クのルーチンを省略することにより、実装を軽減でき、
これにより、アプリケーション領域等を大きくとること
が可能となる。又、ICカード用アプリケーションプロ
グラムの実行時検証を含めた、各種チェックを実行シス
テム外で行うことで、実行システムとの整合性をチェッ
クすることが可能となり、実行時にシステムの不整合な
どでの実行時エラーを防止することが可能となる。更
に、シグネチャをチェックすることで、不正に改竄され
たものや、実行時検証を充分していないものはダウンロ
ードせず、不正なコードを含まず、充分に検証されたア
プリケーションのみダウンロード可能となり、不正なア
プリケーションによって、ICカードの機密が破壊、漏
洩する等の被害を受けたり、バグ付きのアプリケーショ
ンのダウンロードによる暴走等を防止することが可能に
なるものである。そして、ICカード上のシステムの実
行時検証ルーチンの実装の量等が変化した場合に、IC
カード外部でする実行時検査項目も変化するが、対応す
る実行時検査項目を行っているアプリケーションしかダ
ウンロードができないことが保証される。又、ICカー
ド上のシステムの実装が変化した場合に、実行システム
外部でする実行時検査項目も変化するが、対応する実行
時検査項目を行っているアプリケーションしかダウンロ
ードができないことが保証されるものでもある。
As described above in detail, according to the present invention, E
From an IC card with strict EPROM and memory restrictions
By omitting the execution check routine of the C card application program, the implementation can be reduced.
This makes it possible to increase the application area and the like. Also, by performing various checks outside the execution system, including verification at the time of execution of the application program for the IC card, it is possible to check the consistency with the execution system, and to execute the execution due to inconsistency of the system at the time of execution. Time errors can be prevented. In addition, by checking signatures, unauthorized tampering and those that have not been sufficiently verified at runtime will not be downloaded, and only fully verified applications that do not contain malicious code and can be downloaded can be downloaded. With such an application, it is possible to prevent damage to the IC card, such as destruction or leakage, or to prevent runaway due to downloading of an application with a bug. When the amount of implementation of the runtime verification routine of the system on the IC card changes, the IC
The run-time inspection items performed outside the card also change, but it is guaranteed that only the application that performs the corresponding run-time inspection item can be downloaded. Also, when the implementation of the system on the IC card changes, the run-time inspection items outside the execution system also change, but it is guaranteed that only the application that performs the corresponding run-time inspection item can be downloaded. But also.

【0037】また、本発明によれば、ICカード用プロ
グラムをICカード外で検証して、正当性が確認されて
からダウンロードするようにしたことから、カード内に
チェックルーチンを持つことがないICカードを得るこ
とができる。
Further, according to the present invention, since the IC card program is verified outside the IC card and downloaded after its validity is confirmed, the IC card does not have a check routine. You can get a card.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態に係わるICカード用実行
時検証システムの概念図。
FIG. 1 is a conceptual diagram of a runtime verification system for an IC card according to an embodiment of the present invention.

【図2】同実施形態に係わるICカード用実行時検証シ
ステムの実行時処理動作の流れを示すフローチャート。
FIG. 2 is an exemplary flowchart showing the flow of a runtime processing operation of the runtime verification system for an IC card according to the embodiment;

【図3】従来のアプリケーションプログラムにおけるロ
ーダ機能の概念図。
FIG. 3 is a conceptual diagram of a loader function in a conventional application program.

【符号の説明】[Explanation of symbols]

11…Classファイル、12…ポストプロセッサ、
13…Classファイル2、14…情報ファイル、1
5…テストデータ、16…ランタイムチェッカ、17…
実行ログ、18…カバレッジチェッカ、19…Clas
sファイル3、20…コンバータ、21…Capファイ
ル、22…ローダ。
11: Class file, 12: Post processor,
13 Class file 2, 14 Information file, 1
5: test data, 16: runtime checker, 17:
Execution log, 18 ... Coverage checker, 19 ... Clas
s file 3, 20 ... converter, 21 ... Cap file, 22 ... loader.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 ICカード用プログラムを当該ICカー
ド上にて実行する際に正しく動作することを検証するI
Cカード用プログラム実行時検証システムに於いて、 上記ICカード用プログラムのコントロールフロー解析
を行って情報ファイルを作成し、上記ICカード用プロ
グラムのソースファイルをコンパイルした第1のクラス
ファイルに正当な処理ルーチンを経ていることを証明す
るシグネチャ情報を付加した第2のクラスファイルを生
成するコントロールフロー解析手段と、 このコントロールフロー解析手段の第2のクラスファイ
ルを上記情報ファイルと実行時検証をする為のテストデ
ータに基づき実行し、実行時ログを生成するファイル実
行手段と、このファイル実行手段の実行時ログと上記情
報ファイルを参照して、上記ICカード用プログラムの
全てのパスを通過しているか否かを判定し、全てのパス
を通過している場合、上記第2のクラスファイルにシグ
ネチャ情報を付加した第3のクラスファイルを作成する
実行時検証手段と、 この実行時検証手段により作成された第3のクラスファ
イルのシグネチャ情報に基づき、正当な処理ルーチンを
経ている場合、上記第3のクラスファイルを上記ICカ
ードにダウンロード可能なCAPファイルに変換するフ
ァイル変換手段と、 このファイル変換手段に於けるCAPファイルを上記I
Cカードにロードするプログラムロード手段とを備えた
ことを特徴とするICカード用プログラム実行時検証シ
ステム。
An IC that verifies that the IC card program operates correctly when the IC card program is executed on the IC card.
In the C-card program execution verification system, the control flow analysis of the IC card program is performed to create an information file, and the source file of the IC card program is compiled into a first class file that is legally processed. Control flow analysis means for generating a second class file to which signature information for proving that the routine has been passed, and a second class file of the control flow analysis means for performing runtime verification with the information file A file execution unit that executes based on the test data and generates an execution log; and, by referring to the execution log of the file execution unit and the information file, whether or not all the paths of the IC card program have been passed. And if all the paths have been passed, the second A runtime verification means for generating a third class file in which signature information is added to the class file; and a valid processing routine based on the signature information of the third class file generated by the runtime verification means. File converting means for converting the third class file into a CAP file which can be downloaded to the IC card;
A program execution verification system for an IC card, comprising: a program loading means for loading a C card.
【請求項2】 ICカード用プログラムを当該ICカー
ドで実行した際に正しく動作することを検証するICカ
ード用プログラム実行時検証システムに於いて、 上記ICカード用プログラムのコントロールフロー解析
を行って情報ファイルを作成し、上記ICカード用プロ
グラムのソースファイルをコンパイルした第1のクラス
ファイルに正当な処理ルーチンを経ていることを証明す
るシグネチャ情報を付加した第2のクラスファイルを生
成し、 この第2のクラスファイルを上記情報ファイルと実行時
検証をする為のテストデータに基づき実行し実行時ログ
を生成し、 この実行時ログと上記情報ファイルを参照して上記IC
カード用プログラムの全てのパスを通過しているか否か
を判定して上記第2のクラスファイルにシグネチャ情報
を付加した第3のクラスファイルを作成し、 この第3のクラスファイルのシグネチャ情報に基づき正
当な処理ルーチンを経ている場合、上記第3のクラスフ
ァイルを上記ICカードにダウンロード可能なCAPフ
ァイルに変換し、 このCAPファイルを上記ICカードにロードすること
を特徴とするICカード用プログラム実行時検証方法。
2. An IC card program execution verification system for verifying that an IC card program operates correctly when the IC card program is executed by the IC card. A file is created, and a second class file in which signature information for proving that the IC card program has undergone a valid processing routine is added to the first class file obtained by compiling the source file of the IC card program. The above-mentioned class file is executed based on the above-mentioned information file and the test data for performing the run-time verification to generate a run-time log.
It is determined whether or not all the paths of the card program have been passed, and a third class file is created by adding signature information to the second class file. Based on the signature information of the third class file, When the program passes through a valid processing routine, the third class file is converted into a CAP file that can be downloaded to the IC card, and the CAP file is loaded onto the IC card. Method of verification.
【請求項3】 ICカード外でICカード用プログラム
を検証し、検証が正しく行われたことを示すシグネチャ
情報が付加されたクラスファイルに基づきICカード内
にダウンロードし、カード内にチェックルーチンを持た
ないようにしたことを特徴とするICカード。
3. A program for verifying an IC card program outside the IC card, downloading the program to the IC card based on a class file to which signature information indicating that the verification has been correctly performed, and having a check routine in the card. An IC card characterized in that it is not provided.
JP11208383A 1999-07-23 1999-07-23 System and method for verifying program for ic card at execution and ic card Pending JP2001034715A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11208383A JP2001034715A (en) 1999-07-23 1999-07-23 System and method for verifying program for ic card at execution and ic card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11208383A JP2001034715A (en) 1999-07-23 1999-07-23 System and method for verifying program for ic card at execution and ic card

Publications (1)

Publication Number Publication Date
JP2001034715A true JP2001034715A (en) 2001-02-09

Family

ID=16555368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11208383A Pending JP2001034715A (en) 1999-07-23 1999-07-23 System and method for verifying program for ic card at execution and ic card

Country Status (1)

Country Link
JP (1) JP2001034715A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100789917B1 (en) 2005-12-01 2008-01-02 한국전자통신연구원 Apparatus and method for testing performance of RFID middleware
KR101062307B1 (en) 2008-07-10 2011-09-05 주식회사 비즈모델라인 System for Managing Application for IC Card

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100789917B1 (en) 2005-12-01 2008-01-02 한국전자통신연구원 Apparatus and method for testing performance of RFID middleware
KR101062307B1 (en) 2008-07-10 2011-09-05 주식회사 비즈모델라인 System for Managing Application for IC Card

Similar Documents

Publication Publication Date Title
Ming et al. {TaintPipe}: Pipelined symbolic taint analysis
Erlingsson The inlined reference monitor approach to security policy enforcement
Leroy Java bytecode verification: an overview
Fournet et al. Stack inspection: Theory and variants
Gu et al. Remote attestation on program execution
Shao Certified software
CN107526625B (en) Java intelligent contract security detection method based on bytecode inspection
US7941792B2 (en) System and method for compiling program code ahead of time
US8020141B2 (en) Operating-system process construction
Adelstein et al. Malicious code detection for open firmware
Johnson et al. WaVe: a verifiably secure WebAssembly sandboxing runtime
Avvenuti et al. Java bytecode verification for secure information flow
Michael et al. Mswasm: Soundly enforcing memory-safe execution of unsafe code
CN111984263B (en) Method, device, equipment and medium for running second system application on first system
Antonino et al. Specification is law: Safe creation and upgrade of ethereum smart contracts
Barthe et al. Verified translation validation of static analyses
Bernardeschi et al. Checking secure information flow in java bytecode by code transformation and standard bytecode verification
JP2001034715A (en) System and method for verifying program for ic card at execution and ic card
Hammer et al. Static path conditions for java
Welch et al. Using reflection as a mechanism for enforcing security policies on compiled code
US8458790B2 (en) Defending smart cards against attacks by redundant processing
Pupo et al. Deriving static security testing from runtime security protection for web applications
EP1669854A2 (en) Inter-process interference elimination
US20240119656A1 (en) Method of Operating Shared GPU Resource and a Shared GPU Device
Mohamed et al. Understanding the Security of Linux eBPF Subsystem