JPH09185691A - System and method for inspecting program in ic card - Google Patents

System and method for inspecting program in ic card

Info

Publication number
JPH09185691A
JPH09185691A JP8000944A JP94496A JPH09185691A JP H09185691 A JPH09185691 A JP H09185691A JP 8000944 A JP8000944 A JP 8000944A JP 94496 A JP94496 A JP 94496A JP H09185691 A JPH09185691 A JP H09185691A
Authority
JP
Japan
Prior art keywords
card
program
inspection
function
calculation
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.)
Granted
Application number
JP8000944A
Other languages
Japanese (ja)
Other versions
JP3375111B2 (en
Inventor
Toshiatsu Iegi
俊温 家木
Takeshi Yabumoto
剛 薮本
Toshihiko Morimoto
俊彦 森本
Kimihiro 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.)
N T T DATA TSUSHIN KK
NTT Data Corp
Original Assignee
N T T DATA TSUSHIN KK
NTT Data Communications Systems 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 N T T DATA TSUSHIN KK, NTT Data Communications Systems Corp filed Critical N T T DATA TSUSHIN KK
Priority to JP00094496A priority Critical patent/JP3375111B2/en
Publication of JPH09185691A publication Critical patent/JPH09185691A/en
Application granted granted Critical
Publication of JP3375111B2 publication Critical patent/JP3375111B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To inspect the normality of program in an IC card without reading the program outside. SOLUTION: In addition to an IC card 10 of an inspecting object, a normal IC card 1 and a terminal 7 for inspection are prepared. The proper program to be built in the IC card 10 of inspecting object is built in the normal IC card 1. This proper program contains a hash function and a calculation program for outputting the calculated result by performing calculation while substituting any relevant program into this hash function. The terminal 7 for inspection has functions for executing this calculation by transmitting a parameter for hash function arbitrarily selected by an inspecting person to both the regular IC card 1 and the inspecting object card 10, receiving the calculated result and comparing the calculated results of both the cards. When both the card are coincident as a result of this comparison, the program of inspecting object IC card 10 is judged proper.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ICカード内のプ
ログラムの正当性を検査する方式及び方法に関するもの
である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system and method for checking the validity of a program in an IC card.

【0002】[0002]

【従来の技術】従来、ICカード内に書込まれたプログ
ラムを、ICカード発行者や各種電子商取引のサービス
提供者が承認した正規のものか否かを検査する方法とし
て、特願平3―147086号に係る方法や特願昭63
―56743号に係る方法が知られている。
2. Description of the Related Art Conventionally, as a method for inspecting whether a program written in an IC card is a legitimate one approved by an IC card issuer or a service provider of various electronic commerce, Japanese Patent Application No. Method relating to No. 147086 and Japanese Patent Application No. Sho 63
A method related to No. 56743 is known.

【0003】特願平3―147086号に係る検査方法
は、ICカード内に処理プログラムと共に設けた、プロ
グラムチェックコード(サムコード)を計算する手段に
より、処理プログラムの実行前にサムコードの正当性の
チェックを行うものである。なお、チェックの結果、サ
ムコードが正当であれば処理プログラムが実行される。
The inspection method according to Japanese Patent Application No. 3-147086 checks the validity of the thumb code before executing the processing program by means of calculating a program check code (sum code) provided in the IC card together with the processing program. Is to do. As a result of the check, if the thumb code is valid, the processing program is executed.

【0004】特願昭63―56743号に係る検査方法
は、ICカード内に設けた、内蔵(処理)プログラムと
外部からの正当プログラムとを比較する手段により、両
プログラムの一致/不一致をチェックするものである。
なお、チェックの結果、不一致があれば、その旨が外部
に通知され、プログラム化けの存在が報知される。
In the inspection method according to Japanese Patent Application No. 63-56743, the match / mismatch of both programs is checked by means of a built-in (processing) program provided in the IC card and a valid program from the outside. It is a thing.
If there is a mismatch as a result of the check, the fact is notified to the outside, and the existence of the garbled program is notified.

【0005】[0005]

【発明が解決しようとする課題】一般に、ICカード
は、その内部に格納されている諸情報がICカードに内
蔵されているプログラムによって保護されるために、セ
キュリティが高いと言われている。
Generally, it is said that an IC card has high security because various information stored therein is protected by a program built in the IC card.

【0006】ところで、上述した2つの検査方法は、い
ずれもICカード内における正規の処理プログラムのプ
ログラム化けを検査するためのものであるから、プログ
ラム化けではなくICカードに書込まれた処理プログラ
ム自身が不正プログラムであったとき、それを検知する
のが困難な場合が生ずる。
By the way, since the above-mentioned two inspection methods are for inspecting the garbled program of the legitimate processing program in the IC card, the processing program itself written in the IC card is not the garbled program. When is a malicious program, it may be difficult to detect it.

【0007】例えば、特願昭63―56743号に係る
検査方法では、ICカードに書込まれた不正プログラム
が、実際にはICカード内の比較手段によって正当プロ
グラムと不一致であると判定されても、一致している
(正規のプログラムである)という通知を発する機能を
有していれば、不正プログラムであることは検知されな
い。そのため、仮にICカード製造者が、ICカード発
行者等との間の信頼関係を裏切ってICカードに正規の
プログラムの代わりに上記機能を有する不正プログラム
を書込んだり、或いは正規のプログラムに上記の不正プ
ログラムを追加して書込んでもこれを知り得る手段がな
い。
[0007] For example, in the inspection method according to Japanese Patent Application No. 63-56743, even if the illegal program written in the IC card is actually judged to be inconsistent with the legitimate program by the comparing means in the IC card. As long as it has the function of issuing a notification that the two match (it is a legitimate program), it cannot be detected as an unauthorized program. Therefore, if an IC card manufacturer betrays a trust relationship with an IC card issuer or the like and writes an unauthorized program having the above function in the IC card instead of the regular program, or writes the above-mentioned illegal program in the regular program. There is no way to know this even if additional malicious programs are written.

【0008】また、不正を試みようとする第三者が、I
Cカード製造者から特殊なコマンド(不正コマンド)を
入手して、これをICカードリーダ/ライタ等を備える
端末を通じてICカードに発行し、ICカード内の情報
(暗号・認証用の鍵、プリペイド度数、電子マネーの残
高金額等)を改ざんしてもこれを知り得る手段がない。
[0008] Also, a third party who attempts fraud may
Obtain a special command (illegal command) from the C card manufacturer, issue this to the IC card through a terminal equipped with an IC card reader / writer, etc., and then use the information (encryption / authentication key, prepaid frequency) in the IC card. There is no means to know this even if the electronic money balance amount is tampered with.

【0009】更には、上記の第三者が、ICカード製造
業者から入手した不正コマンドをICカードに発行して
暗号・認証用の鍵等のICカード内の秘密情報を読出
し、ICカードを偽造したり不正な電子マネーを取得し
ても、これを知り得る手段がない。
Further, the above-mentioned third party issues an illegal command obtained from the IC card manufacturer to the IC card to read secret information in the IC card such as a key for encryption / authentication and forge the IC card. There is no way to know this, even if you do or get fraudulent electronic money.

【0010】そこで、このような不具合に対処するため
に、ICカード内の処理プログラムを全て読出すことに
より、ICカード内に書込まれた処理プログラムを検査
する方法が検討された。しかし、この方法では、当事者
のみならず第三者にまでもICカード内の処理プログラ
ムを知らせる結果となってしまうから、ICカードのセ
キュリティが低下することとなるために問題が多く、実
用的でない。
Therefore, in order to deal with such a problem, a method of inspecting the processing program written in the IC card by reading all the processing programs in the IC card has been studied. However, in this method, not only the parties but also the third party are notified of the processing program in the IC card, so that the security of the IC card is deteriorated, which causes many problems and is not practical. .

【0011】従って本発明の目的は、ICカードに書込
まれたプログラムの正当性を、該プログラムを外部に読
出すことなく検査することが可能なICカード内プログ
ラムの検査方式及び方法を提供することにある。
Therefore, an object of the present invention is to provide an inspection method and method for a program in an IC card, which can inspect the validity of the program written in the IC card without reading the program to the outside. Especially.

【0012】[0012]

【課題を解決するための手段】本発明の方式及び方法で
は、検査対象のICカードの他に、正規のプログラムを
内蔵した正当ICカードが用意される。個々のICカー
ドには、所定の検査用関数と、前記関数に自カード内の
前記プログラムを入力して計算を行なう計算手段とが内
蔵されている。この検査用関数および計算手段は、望ま
しくは、各ICカードのプログラム自体に組込まれてい
る。また、それらICカードの他に、それらICカード
に対し上記計算手段による計算の実行を命じるための装
置と、それらICカードからの計算結果を受信して両者
を照合するための装置とが設けられる。これらの装置
は、例えば1台のコンピュータによって実現できる。
According to the method and method of the present invention, a legitimate IC card containing a legitimate program is prepared in addition to the IC card to be inspected. Each IC card has a built-in predetermined inspection function and calculation means for inputting the program in the own card to the function to perform calculation. This inspection function and calculation means are preferably incorporated in the program itself of each IC card. In addition to the IC cards, a device for instructing the IC cards to execute the calculation by the calculating means and a device for receiving the calculation results from the IC cards and collating the two are provided. . These devices can be realized by, for example, one computer.

【0013】検査時には、検査対象ICカードと正当I
Cカードの各々に対して上記関数による計算が命じら
れ、各ICカードは各々の関数に各々のプログラムを入
力して計算を実行する。次に、その計算結果が各ICカ
ードから外部へ読み出され、両計算結果が比較される。
その結果、両計算結果が一致していれば、検査対象IC
カード内のプログラムは正当なものと判断される。
At the time of inspection, the IC card to be inspected and the legal I
The calculation by the above-mentioned function is instructed to each of the C cards, and each IC card inputs each program into each function to execute the calculation. Next, the calculation result is read out from each IC card and both calculation results are compared.
As a result, if both calculation results match, the IC to be inspected
The program on the card is judged to be valid.

【0014】上記関数としては、計算結果が元のプログ
ラムよりも圧縮され、且つ、パラメータが異なると計算
結果も相違するような性質をもった一方向性関数が望ま
しい。更には、同一の計算結果が生じるような異なるプ
ログラムを導くことが出来るだけ困難である関数が望ま
しい。こうした性質をもつ関数として、例えばハッシュ
関数が挙げられるが、これに限らず適当な暗号関数など
を用いてもよい。
As the above-mentioned function, a one-way function having a property that the calculation result is compressed more than the original program and the calculation result is different when the parameters are different is desirable. Furthermore, a function that is as difficult as possible to derive different programs that produce the same calculation result is desirable. As a function having such a property, for example, a hash function can be cited, but the function is not limited to this, and an appropriate cryptographic function may be used.

【0015】関数のパラメータは、固定ではなく可変で
あることが望ましい。特に、検査者が任意に選択して検
査の際にICカードに入力できることが望ましい。これ
により、正規のプログラムと同じ計算結果が生じる不正
プログラムを前もって用意してICカード内に忍ばせて
おくことが、事実上不可能となる。
It is desirable that the parameters of the function are variable rather than fixed. In particular, it is desirable that the inspector can arbitrarily select and input it to the IC card at the time of inspection. As a result, it is virtually impossible to prepare an unauthorized program that produces the same calculation result as the regular program in advance and keep it in the IC card.

【0016】[0016]

【実施の形態】まず、本発明の原理的な背景について詳
細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First, the background behind the principle of the present invention will be described in detail.

【0017】本発明では、ICカードに、ICカード内
の処理プログラム全体又はプログラムメモリ(通常、マ
スクROM)の全内容を或る関数に入力して、その計算
結果を出力する計算機能を、通常、プログラムによって
持たせる。この計算機能は、ICカードが外部から特定
の検査要求コマンドを受信したとき、上記関数を用いた
計算を実行し、その計算結果を検査要求コマンドの送信
元に返信する。
In the present invention, a calculation function for inputting the entire processing program in the IC card or the entire contents of the program memory (usually a mask ROM) to a certain function in the IC card and outputting the calculation result is generally used. , Have by program. When the IC card receives a specific inspection request command from the outside, this calculation function executes the calculation using the above function and returns the calculation result to the sender of the inspection request command.

【0018】また、検査対象となるICカードに内蔵さ
れているべき正規の処理プログラムを内蔵したICカー
ド(以下、正当ICカードという)が特別に用意され
る。さらに、この正当ICカードから出力される計算結
果と検査対象のICカードから出力される計算結果とを
照合するための照合装置が、ICカード外部に設けられ
る。この照合装置は、例えば上記検査要求コマンドの送
信元である検査装置が、これを兼ねる。
An IC card (hereinafter referred to as a legitimate IC card) containing a legitimate processing program which should be contained in the IC card to be inspected is specially prepared. Further, a collation device for collating the calculation result output from the legitimate IC card with the calculation result output from the IC card to be inspected is provided outside the IC card. For this collation device, for example, the inspection device that is the transmission source of the inspection request command also serves as this.

【0019】ここで、上述した関数として適切な種類の
関数を用いることにより、検査対象のICカードに内蔵
されているプログラムが正規のプログラムと異なった場
合、夫々のICカードから送信される計算結果も異なる
こととなるために、検査対象のICカードに内蔵されて
いるプログラムが不正プログラムであることが検知でき
る。上述した関数としては、以下の性質を有する一方向
性関数であることが望ましい。
Here, by using an appropriate kind of function as the above-mentioned function, when the program contained in the IC card to be inspected is different from the regular program, the calculation result transmitted from each IC card. Therefore, it is possible to detect that the program contained in the IC card to be inspected is an unauthorized program. The above function is preferably a one-way function having the following properties.

【0020】ある程度計算結果が圧縮でき、計算結果
があまり長くならない。
The calculation result can be compressed to some extent, and the calculation result does not become too long.

【0021】一方向性関数であるために、逆方向の計
算ができず、従って元のプログラムが分からない。
Since it is a one-way function, it cannot be calculated in the reverse direction, and therefore the original program is unknown.

【0022】同じ計算結果を生じるような、元のプロ
グラムと異なるプログラムを見つけるのが極めて困難で
ある。
It is extremely difficult to find a program different from the original program that produces the same calculation result.

【0023】関数の鍵(パラメータ)を変えると、計
算結果が全く異なる。
When the function key (parameter) is changed, the calculation result is completely different.

【0024】このような性質を持つ関数としては、例え
ばハッシュ関数(ハッシュ関数の詳細については、「現
代暗号理論」、昭和61年9月1日、電子通信学会発行
の224頁を参照されたい。)があり、これを用いるの
が望ましいが、他の関数を用いても良い。
As a function having such a property, for example, see the hash function (for details of the hash function, see "Modern Cryptography", page 224, published by the Institute of Electronics and Communication Engineers, September 1, 1986). ), It is desirable to use this, but other functions may be used.

【0025】また、計算に用いる関数の鍵(パラメー
タ)は、検査者(又は、上述した検査装置)が任意に定
めて検査対象のICカードに外部から与えるようにす
る。つまり、鍵は検査者の任意で自由に変更できるよう
になっている。このように鍵を可変とすることにより、
正規のプログラムに対する計算結果が一定でなくなるた
め、検査対象のICカードに、正規のプログラムと同じ
計算結果を出力する機能を備えた「不正プログラム」を
予め内蔵させておくことが不可能になり、結果として、
不正行為を確実に検出でき、ひいては未然防止にもつな
がる。もし、鍵が固定であると、正規プログラムに対す
る計算結果が一定となるため、これと同じ計算結果を出
力する機能を備えた「不正プログラム」を検査対象のI
Cカードに予め内蔵させておくことが可能である(但
し、相当に困難ではある)。
Further, the key (parameter) of the function used for the calculation is arbitrarily determined by the inspector (or the above-mentioned inspection apparatus) and given to the IC card to be inspected from the outside. That is, the key can be freely changed by the inspector. By making the key variable like this,
Since the calculation result for the regular program is not constant, it becomes impossible to pre-store the "illegal program" having the function of outputting the same calculation result as the regular program in the IC card to be inspected. as a result,
It is possible to detect fraudulent activity reliably, and eventually prevent it. If the key is fixed, the calculation result for the regular program will be constant, so an "illegal program" that has the function of outputting the same calculation result as the inspection target I
It can be built in the C card beforehand (however, it is considerably difficult).

【0026】次に、本発明の実施の形態を、図面により
詳細に説明する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0027】図1は、本発明の検査方式の一実施形態に
おける検査用端末を示す。
FIG. 1 shows an inspection terminal in one embodiment of the inspection system of the present invention.

【0028】検査用端末は、図示のように、パーソナル
コンピュータ(以下、PCと略記する)7と、このPC
7に接続されたICカードリーダ/ライタ(以下、IC
カードR/Wという)3とを含む。ICカードR/W3
は、検査対象のICカード10や予め用意された正当I
Cカード1にPC7がアクセスするためのインターフェ
ースを提供するものである。
The inspection terminal is, as shown in the figure, a personal computer (hereinafter abbreviated as PC) 7 and this PC.
IC card reader / writer (hereinafter referred to as IC
Card R / W) 3. IC card R / W3
Is an IC card 10 to be inspected or a legal I prepared in advance.
It provides an interface for the PC 7 to access the C card 1.

【0029】PC7には、計算結果照合プログラム5が
インストールされている。PC7は、この照合プログラ
ムを実行することにより、ICカードR/W3を介して
正当ICカード1及び検査対象のICカード10にそれ
ぞれ前述した鍵を与えてハッシュ関数による計算を行わ
せ、そして、それらのICカード1、10から出力され
た計算結果を受取り比較し、両者が一致したときにの
み、ICカード10に正規のプログラムが内蔵されてい
ると判断する。
The calculation result matching program 5 is installed in the PC 7. By executing this collation program, the PC 7 gives the above-mentioned keys to the legitimate IC card 1 and the IC card 10 to be inspected via the IC card R / W 3, and causes the calculation by the hash function to be performed. The calculation results output from the IC cards 1 and 10 are received and compared, and it is determined that the regular program is incorporated in the IC card 10 only when both match.

【0030】図2は、正当ICカード1の構成を示す。
検査対象のICカード10もこれと全く同じ構成であ
る。
FIG. 2 shows the structure of the legitimate IC card 1.
The IC card 10 to be inspected has exactly the same configuration.

【0031】正当ICカード1は、図示のように、矩形
カード状のカード本体11と、このカード本体11に組
込まれたICモジュール25を備える。ICモジュール
25は、CPU13、ハッシュ関数15を含む検査用計
算プログラム17が組込まれた全体の処理プログラム1
9が格納されたプログラムメモリ(マスクROM)2
1、及び業務処理に必要な各種のデータを記憶するため
のデータメモリ23を有する。
As shown, the legitimate IC card 1 is provided with a rectangular card-shaped card body 11 and an IC module 25 incorporated in the card body 11. The IC module 25 is a whole processing program 1 in which the inspection calculation program 17 including the CPU 13 and the hash function 15 is incorporated.
Program memory (mask ROM) 2 in which 9 is stored
1 and a data memory 23 for storing various data necessary for business processing.

【0032】次に、計算結果照合プログラム5の実行に
よる検査用端末の処理動作を、図3のフローチャートを
参照して説明する。
Next, the processing operation of the inspection terminal by executing the calculation result collation program 5 will be described with reference to the flowchart of FIG.

【0033】計算結果照合プログラム5の起動後、ま
ず、検査者が正当ICカード1をICカードR/W3に
挿入すると、ICカードR/W3が正当ICカード1に
必要な駆動電圧及び駆動指令信号を印加し、それにより
ICカード1が活性化(つまり、起動)する(ステップ
S101)。
After the calculation result collation program 5 is started, first, the inspector inserts the legitimate IC card 1 into the IC card R / W3, and the IC card R / W3 drives the legitimate IC card 1 with the necessary drive voltage and drive command signal. Is applied, and thereby the IC card 1 is activated (that is, activated) (step S101).

【0034】次に、検査者がハッシュ関数用のパラメー
タ(鍵)として任意の値(これを、鍵値という)を選定
して、この鍵値をPC7に入力する(ステップS10
2)。PC7は、入力された鍵値を検査依頼コマンドに
セットして、この検査依頼コマンドを正当ICカード1
に送信する(ステップS103)。ここで、検査依頼コ
マンドとは、正当ICカード1に対し、当該カード1内
の処理プログラムに関する正当性の検査要求が出されて
いることを認識させるための一種のデータである。
Next, the inspector selects an arbitrary value (this is called a key value) as a parameter (key) for the hash function, and inputs this key value into the PC 7 (step S10).
2). The PC 7 sets the input key value in the inspection request command, and the inspection request command is sent to the valid IC card 1
(Step S103). Here, the inspection request command is a kind of data for making the legitimate IC card 1 recognize that the legitimacy inspection request regarding the processing program in the card 1 is issued.

【0035】正当ICカード1は、上記検査依頼コマン
ドを受信すると、このコマンド内の鍵値とプログラムメ
モリ21内の全プログラム19とをハッシュ関数15に
セットして、ハッシュ関数15の計算を実行する。この
ハッシュ関数の計算として、例えばDES暗号を用いた
場合、ここでDES暗号をy=f(x、k)で表し、k
を鍵値、xを入力情報、yを計算結果とすると、プログ
ラムメモリ21内の全プログラム19を平文と見做して
入力情報xにセットし、検査依頼コマンドから受信した
鍵値をkにセットして、上記関数y=f(x、k)をC
BCモードで計算する。これにより、全プログラム19
に対するハッシュ関数の計算結果yが得られることにな
る。なお、DES暗号やCBCモードの詳細について
は、例えば、「現代暗号理論」(昭和61年9月1日、
電子通信学会発行)を参照されたい。
Upon receipt of the inspection request command, the legitimate IC card 1 sets the key value in this command and all the programs 19 in the program memory 21 in the hash function 15 and executes the calculation of the hash function 15. . For example, when DES encryption is used as the calculation of this hash function, the DES encryption is represented by y = f (x, k), and k
Is the key value, x is the input information, and y is the calculation result, all programs 19 in the program memory 21 are regarded as plain text and set to the input information x, and the key value received from the inspection request command is set to k. Then, the above function y = f (x, k) is converted into C
Calculate in BC mode. As a result, all programs 19
The calculation result y of the hash function for is obtained. For details of DES encryption and CBC mode, see, for example, "Modern Cryptography" (September 1, 1986,
Published by The Institute of Electronics and Communication Engineers).

【0036】正当ICカード1は、上記の計算結果をP
C7に返信する。PC7は、この計算結果を受信して内
蔵メモリに記憶する(ステップS104)。
The legitimate IC card 1 uses the above calculation result as P
Reply to C7. The PC 7 receives the calculation result and stores it in the built-in memory (step S104).

【0037】次に、検査者は、PC7の内蔵メモリに計
算結果を残したまま、正当ICカード1を非活性化して
ICカードR/W3から抜取り、代りに、検査対象のI
Cカード10をICカードR/W3に挿入してこれを活
性化する(ステップS105)。
Next, the inspector deactivates the legitimate IC card 1 and removes it from the IC card R / W 3 while leaving the calculation result in the built-in memory of the PC 7, and instead, I
The C card 10 is inserted into the IC card R / W3 and activated (step S105).

【0038】続いて、検査者は、先程選択した鍵値と同
一の鍵値を選択してPC7に入力する(ステップS10
6)。PC7は、この同一の鍵値を検査依頼コマンドに
セットしてICカード10に送信する(ステップS10
7)。
Subsequently, the inspector selects the same key value as the key value selected above and inputs it to the PC 7 (step S10).
6). The PC 7 sets this same key value in the inspection request command and sends it to the IC card 10 (step S10).
7).

【0039】ICカード10は上記検査依頼コマンドを
受信すると、そのコマンド内の鍵値と当該カード10の
プログラムメモリ21内の全プログラム19とを、当該
プログラム19内のハッシュ関数に入力して計算を実行
し、その計算結果をPC7に返信する。PC7はこの計
算結果を受信すると内蔵メモリに格納する(ステップS
108)。
When the IC card 10 receives the inspection request command, it inputs the key value in the command and all the programs 19 in the program memory 21 of the card 10 into the hash function in the program 19 for calculation. It executes and returns the calculation result to the PC 7. Upon receipt of this calculation result, the PC 7 stores it in the internal memory (step S
108).

【0040】次に、PC7は、内蔵メモリから正当IC
カード1からの計算結果と検査対象ICカード10から
の計算結果とを読み出して、両者を照合する(ステップ
S109)。その結果、二つの計算結果が同一であれば
(ステップS110)、検査対象ICカード10内のプ
ログラムは正規プログラムであると認識し(ステップS
111)、他方、相違していれば不正プログラムである
と認識して(ステップS112)、その認識結果を出力
する。
Next, the PC 7 reads the valid IC from the built-in memory.
The calculation result from the card 1 and the calculation result from the IC card to be inspected 10 are read out and the two are compared (step S109). As a result, if the two calculation results are the same (step S110), the program in the inspection target IC card 10 is recognized as a regular program (step S110).
111), on the other hand, if they are different, it is recognized as an unauthorized program (step S112), and the recognition result is output.

【0041】以上説明したように、本発明の一実施形態
によれば、既述のような性質を有するハッシュ関数を用
いて検査を行うこととしたので、正規プログラム以外の
プログラムに対して、正規プログラムに対する計算結果
と同一の計算結果を得ることは非常に困難である。その
ため、ICカードに不正プログラムを内蔵させた場合、
高い精度でこれを検知することが可能である。よって、
外部からのコマンドに従ってICカード内の諸情報を不
正に読んだり改ざんしたりするように動作する不正プロ
グラムを、ICカード内に忍び込ませることは非常に困
難となり、ICカードを用いた電子取引の安全性が向上
する。
As described above, according to the embodiment of the present invention, since the hash function having the above-mentioned property is used for the inspection, it is possible to check the normal program with respect to the normal program. It is very difficult to get the same calculation result as the calculation result for the program. Therefore, if an unauthorized program is built into the IC card,
It is possible to detect this with high accuracy. Therefore,
It is very difficult to sneak an illegal program that operates to illegally read or tamper various information in the IC card according to a command from the outside into the IC card, and it is very safe for electronic transactions using the IC card. The property is improved.

【0042】また、上記実施形態では更に、関数の鍵値
を検査者の任意で可変としているので、正規プログラム
と同一の計算結果を生じるような不正プログラムを作る
ことは事実上不可能となり、安全性が一層向上する。
尚、鍵値としては、検査端末側のプログラムが複数種の
値を予め用意しておいて(特別に推定し易い値は除外す
る)、その中から検査者が選定したりするようにすれば
使い勝手が良い。
Further, in the above-mentioned embodiment, the key value of the function is made variable by the examiner's discretion, so that it is practically impossible to make an illegal program that produces the same calculation result as the regular program, which is safe. The property is further improved.
As a key value, if a program on the inspection terminal side prepares a plurality of kinds of values in advance (excluding values that are particularly easy to estimate), the inspector can select from among them. Easy to use.

【0043】なお、上述した内容は、あくまで本発明の
一実施形態に関するものであって、本発明が、上記内容
にのみ限定されることを意味するものでないのは勿論で
ある。
It should be noted that the above description is only related to one embodiment of the present invention, and the present invention is not meant to be limited to the above description.

【0044】例えば、計算用の関数としてハッシュ関数
以外の関数、例えば適当な暗号関数を用いても差支えな
い。
For example, a function other than the hash function, for example, an appropriate cryptographic function may be used as the calculation function.

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

【図1】本発明の一実施形態における検査用端末の構成
を示すブロック図。
FIG. 1 is a block diagram showing a configuration of an inspection terminal according to an embodiment of the present invention.

【図2】同実施形態におけるICカードの構成を示すブ
ロック図。
FIG. 2 is a block diagram showing a configuration of an IC card according to the same embodiment.

【図3】同実施形態の検査用端末の処理動作を示すフロ
ーチャート。
FIG. 3 is a flowchart showing a processing operation of the inspection terminal of the embodiment.

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

1 正当ICカード 3 ICカードリーダ/ライタ 5 ハッシュ関数の計算結果照合プログラム 7 パーソナルコンピュータ 10 検査対象のICカード 11 カード本体 13 CPU 15 ハッシュ関数 17 検査用計算プログラム 19 処理プログラムの全体 21 プログラムメモリ 23 メモリ 25 ICモジュール 1 Legitimate IC card 3 IC card reader / writer 5 Hash function calculation result collation program 7 Personal computer 10 IC card to be inspected 11 Card body 13 CPU 15 Hash function 17 Inspection calculation program 19 Overall processing program 21 Program memory 23 Memory 25 IC module

───────────────────────────────────────────────────── フロントページの続き (72)発明者 加藤 公博 東京都江東区豊洲三丁目3番3号 エヌ・ ティ・ティ・データ通信株式会社内 ─────────────────────────────────────────────────── ─── Continued front page (72) Inventor Kimihiro Kato 3-3-3 Toyosu, Koto-ku, Tokyo NTT Data Communications Corp.

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 ICカード内のプログラムが正規のプロ
グラムか否かを検査する方式において、 正規か否か不明なプログラムを内蔵した検査対象ICカ
ードと、正規のプログラムを内蔵した正当ICカードと
を備え、 前記検査対象ICカードと前記正当ICカードの各々
が、所定の検査用関数と、前記関数に自カード内の前記
プログラムを入力して計算を行なう計算手段とを有し、 更に、 前記検査対象ICカードと前記正当ICカードの各々に
対し、上記計算手段による計算の実行を命じる検査命令
手段と、 前記検査対象ICカードと前記正当ICカードの各々か
ら前記計算手段の計算結果を受信し、それら両カードか
らの計算結果を照合して、前記検査対象ICカード内の
プログラムが正規か否かを判断する照合手段とを備えた
ことを特徴とするICカード内プログラムの検査方式。
1. A method for inspecting whether or not a program in an IC card is a legitimate program, wherein an IC card to be inspected that has a program whose authenticity is unknown and a legitimate IC card that has a legitimate program in it are provided. Each of the IC card to be inspected and the legitimate IC card has a predetermined inspection function and a calculation means for inputting the program in the own card to the function to perform calculation; Inspection command means for instructing each of the target IC card and the legitimate IC card to execute calculation by the calculation means; and receiving the calculation result of the calculation means from each of the inspection target IC card and the legitimate IC card, It is provided with a collating means for collating the calculation results from the both cards and determining whether the program in the IC card to be inspected is authentic or not. Inspection system of the IC card in the program to be.
【請求項2】 請求項1記載のICカード内プログラム
の検査方式において、 前記関数のパラメータが可変であることを特徴とするI
Cカード内プログラムの検査方式。
2. The IC card program inspection method according to claim 1, wherein the parameter of the function is variable.
C card program inspection method.
【請求項3】 請求項2記載のICカード内プログラム
の検査方式において、 前記検査命令手段が、前記計算手段の実行を命じる際、
前記パラメータを指定することを特徴とするICカード
内プログラムの検査方式。
3. The IC card program inspection method according to claim 2, wherein the inspection instruction unit commands execution of the calculation unit,
A method for inspecting a program in an IC card, characterized in that the parameters are designated.
【請求項4】 請求項2記載のICカード内プログラム
の検査方式において、 前記関数が、 A. 前記計算結果が、前記関数に入力されたプログラ
ムよりもデータ量において圧縮され、且つ B. 前記パラメータが異なると前記計算結果が相違す
る、という性質をもつ一方向性関数であることを特徴と
するICカード内プログラムの検査方式。
4. The IC card program inspection method according to claim 2, wherein the function is: The calculation result is compressed in a data amount more than the program input to the function, and B. A method of inspecting a program in an IC card, which is a one-way function having a property that the calculation result differs if the parameters differ.
【請求項5】 請求項4記載のICカード内プログラム
の検査方式において、 前記関数は、ハッシュ関数又は暗号関数であることを特
徴とするICカード内プログラムの検査方式。
5. The inspection method for the program in the IC card according to claim 4, wherein the function is a hash function or a cryptographic function.
【請求項6】 請求項1記載のICカード内プログラム
の検査方式において、 前記検査対象ICカードと前記正当ICカードの各々に
おいて、前記プログラムが前記検査用関数及び前記計算
手段を含むことを特徴とするICカード内プログラムの
検査方式。
6. The IC card program inspection method according to claim 1, wherein in each of the inspection target IC card and the legitimate IC card, the program includes the inspection function and the calculation means. IC card program inspection method.
【請求項7】 ICカード内のプログラムが正規のプロ
グラムか否かを検査する方法において、 正規か否か不明なプログラムを内蔵した検査対象ICカ
ードと、正規のプログラムを内蔵した正当ICカードで
あって、各々、所定の検査用関数と、前記関数に自カー
ド内の前記プログラムを入力して計算を行なう計算手段
とを有した2枚のICカードを用意する過程と、 前記検査対象ICカードと前記正当ICカードの各々に
対し、前記計算手段による計算の実行を命じる過程と、 前記正当ICカードと前記検査対象ICカードの各々か
ら前記計算手段の計算結果を受信し、それら両カードか
らの計算結果を照合して、前記検査対象ICカード内の
プログラムが正規か否かを判断する過程と、を備えたこ
とを特徴とするICカード内プログラムの検査方法。
7. A method of inspecting whether or not a program in an IC card is a legitimate program, which comprises an IC card to be inspected that has a program whose authenticity is unknown and a legitimate IC card that has a legitimate program in it. A process of preparing two IC cards each having a predetermined inspection function and a calculating means for performing calculation by inputting the program in the own card to the function, and the inspection target IC card, A process of instructing each of the valid IC cards to execute calculation by the calculating means, and receiving the calculation result of the calculating means from each of the valid IC card and the IC card to be inspected, and calculating from both of the cards. A program in an IC card, which comprises a process of collating results and determining whether the program in the IC card to be inspected is authentic or not. Inspection method.
JP00094496A 1996-01-08 1996-01-08 Inspection method and method of program in IC card Expired - Lifetime JP3375111B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00094496A JP3375111B2 (en) 1996-01-08 1996-01-08 Inspection method and method of program in IC card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00094496A JP3375111B2 (en) 1996-01-08 1996-01-08 Inspection method and method of program in IC card

Publications (2)

Publication Number Publication Date
JPH09185691A true JPH09185691A (en) 1997-07-15
JP3375111B2 JP3375111B2 (en) 2003-02-10

Family

ID=11487794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00094496A Expired - Lifetime JP3375111B2 (en) 1996-01-08 1996-01-08 Inspection method and method of program in IC card

Country Status (1)

Country Link
JP (1) JP3375111B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350717A (en) * 2000-06-07 2001-12-21 Nippon Telegr & Teleph Corp <Ntt> Information display system, gateway device and information display device
WO2007094165A1 (en) * 2006-02-15 2007-08-23 Nec Corporation Id system and program, and id method
JP2012243133A (en) * 2011-05-20 2012-12-10 Toshiba Corp Portable electronic device and control method of portable electronic device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350717A (en) * 2000-06-07 2001-12-21 Nippon Telegr & Teleph Corp <Ntt> Information display system, gateway device and information display device
WO2007094165A1 (en) * 2006-02-15 2007-08-23 Nec Corporation Id system and program, and id method
JPWO2007094165A1 (en) * 2006-02-15 2009-07-02 日本電気株式会社 Identification system and program, and identification method
US9112705B2 (en) 2006-02-15 2015-08-18 Nec Corporation ID system and program, and ID method
US10142114B2 (en) 2006-02-15 2018-11-27 Nec Corporation ID system and program, and ID method
JP2012243133A (en) * 2011-05-20 2012-12-10 Toshiba Corp Portable electronic device and control method of portable electronic device

Also Published As

Publication number Publication date
JP3375111B2 (en) 2003-02-10

Similar Documents

Publication Publication Date Title
US6829711B1 (en) Personal website for electronic commerce on a smart java card with multiple security check points
Smid et al. Data encryption standard: past and future
KR100745625B1 (en) Biometric authentication apparatus, terminal device and automatic transaction machine
Murdoch et al. Security protocols and evidence: Where many payment systems fail
US20060214006A1 (en) Tamper resistant device and file generation method
AU8545398A (en) Method for managing a secure terminal
JP2010515321A (en) Method and system for enhancing the security of electronic signature generation with a chip card
GB2368951A (en) User authentication
JPH10187826A (en) Forged card use preventing method, card reader/writer and forged card use preventing system
US20080126811A1 (en) Method for authorized-user verification and related apparatus
JP2000215280A (en) Identity certification system
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
JP3375111B2 (en) Inspection method and method of program in IC card
Le et al. Building an Application that reads Secure Information Stored on the Chip of the Citizen Identity Card in Vietnam
US20090037744A1 (en) Biometric pin block
JPH0822517A (en) Forgery preventing system for hybrid card
US20080133924A1 (en) Method for Checking Electronic Authorizaiton Inspection Information, Tester and Computer Program
EP2091028A1 (en) Method of detecting non-authentic microprocessor cards, corresponding microprocessor card, card-reading terminal and programs
Langenstein et al. The Use of Formal Methods for Trusted Digital Signature Devices.
CN100395771C (en) Microcircuit card whereof the performances can be modified after customization
US20230245125A1 (en) Identity verification using a virtual credential
RU2736507C1 (en) Method and system for creating and using trusted digital image of document and digital image of document created by this method
US8171456B2 (en) Method for auditing compliance of an electronic platform and/or a computer program present on said platform, and device and computer program corresponding thereto
CN109165937B (en) Method and terminal for realizing transaction flow
KR20030033218A (en) Chip card capable of controlling memory access of a microprocessor according to its state

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071129

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081129

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091129

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091129

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101129

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111129

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121129

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121129

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131129

Year of fee payment: 11

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term