JPH11259289A - Ic card, ic card connecting device, ic card system and ic card control method - Google Patents

Ic card, ic card connecting device, ic card system and ic card control method

Info

Publication number
JPH11259289A
JPH11259289A JP10058268A JP5826898A JPH11259289A JP H11259289 A JPH11259289 A JP H11259289A JP 10058268 A JP10058268 A JP 10058268A JP 5826898 A JP5826898 A JP 5826898A JP H11259289 A JPH11259289 A JP H11259289A
Authority
JP
Japan
Prior art keywords
data
program
card
authentication data
original
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
JP10058268A
Other languages
Japanese (ja)
Other versions
JP3709702B2 (en
Inventor
Seiji Hirano
誠治 平野
Kenichi Yamaoka
憲一 山岡
Kazue Arai
和重 荒井
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.)
Toppan Inc
Original Assignee
Toppan Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toppan Printing Co Ltd filed Critical Toppan Printing Co Ltd
Priority to JP05826898A priority Critical patent/JP3709702B2/en
Publication of JPH11259289A publication Critical patent/JPH11259289A/en
Application granted granted Critical
Publication of JP3709702B2 publication Critical patent/JP3709702B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To easily and inexpensively facilitate a countermeasure even to the change of a program, and to ensure high security. SOLUTION: An IC card 2 generates certification data by operating a compression processing or an encipherment processing to stored program data so that it is not necessary to store the certification data in the IC card 2, and that it is possible to prevent the certification data from leaking to the outside, and that it is difficult to alter certification code data. Therefore, a program executing function for ensuring high security can be realized by making it extremely difficult to illegally execute the stored program data. Also, the storage of the program data is operated by using an easily updateable non-volatile memory such as an EEPROM 14 so that it is possible to easily and inexpensively facilitate a countermeasure even to the change of the program.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ICカード、IC
カード接続装置、ICカードシステム及びICカードの
制御方法に係り、特に書換可能なメモリを内蔵したIC
カードのセキュリティを確保することが可能なICカー
ド、ICカード接続装置、ICカードシステム及びIC
カードの制御方法に関する。
TECHNICAL FIELD The present invention relates to an IC card, an IC
The present invention relates to a card connection device, an IC card system, and an IC card control method, and particularly relates to an IC having a rewritable memory.
IC card, IC card connection device, IC card system, and IC capable of ensuring card security
The present invention relates to a method for controlling a card.

【0002】[0002]

【従来の技術】高いセキュリティを確保することが必要
なICカードにおいては、使用されるOS(Operating
System)は、規格や仕様書で固定化されており、マスク
ROMの形でICカードに収納されている。また、より
容易にカスタム品に対応すべくOSのプログラムをEE
PROMに格納するように構成したICカードも知られ
ている。
2. Description of the Related Art In an IC card requiring high security, an operating system (OS) is used.
System) is fixed by standards and specifications, and is stored in an IC card in the form of a mask ROM. In addition, the OS program is EE-compliant to more easily support custom products.
An IC card configured to be stored in a PROM is also known.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、プログ
ラムをマスクROMに格納する構成においては、プログ
ラム変更の度に新たにマスクROMを製造しなければな
らないため、マスクROMチップの製造時間及びコスト
がかかってしまうという問題点があった。
However, in a configuration in which a program is stored in a mask ROM, a new mask ROM must be manufactured every time the program is changed, which requires time and cost for manufacturing a mask ROM chip. There was a problem that it would.

【0004】一方、書き換え可能なEEPROMなどに
プログラムを格納するタイプのICカードにおいては、
プログラムの書き換えは容易であり、プログラム変更に
も柔軟に対応できるが、書き換えが容易なため高いセキ
ュリティを確保するのは困難となってしまうという問題
点があった。
On the other hand, in an IC card of a type in which a program is stored in a rewritable EEPROM or the like,
Although the rewriting of the program is easy and the program can be flexibly changed, there is a problem that it is difficult to secure high security because the rewriting is easy.

【0005】そこで、本発明の目的は、プログラムの変
更に対しても容易、かつ、低コストで対応することがで
き、しかも高いセキュリティを確保することが可能なI
Cカード、ICカード接続装置、ICカードシステム及
びICカードの制御方法を提供することを目的とする。
Accordingly, an object of the present invention is to provide a program which can easily and at low cost respond to a program change, and which can ensure high security.
It is an object to provide a C card, an IC card connection device, an IC card system, and a method for controlling an IC card.

【0006】[0006]

【課題を解決するための手段】上記課題を解決するた
め、請求項1記載の構成は、プログラムデータを更新可
能に格納するプログラム格納手段と、前記プログラムデ
ータに基づいて当該プログラムデータに固有の原認証デ
ータを生成し、格納する原認証データ生成格納手段と、
前記プログラム格納手段に格納されたプログラムデータ
のうち、外部より実行が指示されたプログラムに対応す
るプログラムデータについての前記原認証データに対し
所定の演算を施すことにより認証データを生成する認証
データ生成手段と、外部より入力される基準認証データ
と前記認証データとが一致するか否かを判別する判別手
段と、前記判別に基づいて、前記基準認証データと前記
認証データとが不一致した場合には、前記プログラムの
実行を禁止する実行禁止手段と、を備えたことを特徴と
している。
According to another aspect of the present invention, there is provided a computer-readable storage medium storing a program storing means for storing program data in an updatable manner, and a program specific to the program data based on the program data. An original authentication data generation storage unit for generating and storing authentication data;
Authentication data generating means for generating authentication data by performing a predetermined operation on the original authentication data for program data corresponding to a program instructed to be executed from the outside of the program data stored in the program storage means And a determining means for determining whether or not the reference authentication data input from the outside and the authentication data match, and, based on the determination, when the reference authentication data and the authentication data do not match, Execution inhibiting means for inhibiting execution of the program.

【0007】請求項2記載の構成は、請求項1記載の構
成において、前記原認証データ生成手段は、前記プログ
ラムデータを圧縮することにより前記原認証データを生
成することを特徴としている。請求項3記載の構成は、
請求項1または請求項2記載の構成において、前記認証
データ生成手段は、乱数データを発生させ、出力する乱
数発生手段と、前記乱数データ及び前記原認証データに
基づいて予め設定した所定の暗号化処理を行い前記認証
データを生成する暗号化手段と、を備えたことを特徴と
している。
A second aspect of the present invention is characterized in that, in the first aspect, the original authentication data generating means generates the original authentication data by compressing the program data. According to a third aspect of the present invention,
3. The configuration according to claim 1, wherein the authentication data generation unit generates and outputs random number data, and a predetermined encryption preset based on the random number data and the original authentication data. Encryption means for performing processing and generating the authentication data.

【0008】請求項4記載の構成は、請求項3記載の構
成において、前記暗号化手段は、暗号化に必要な鍵デー
タを複数記憶可能な鍵データ記憶手段と、外部より入力
された鍵指示データに対応する前記鍵データを用いて前
記暗号化処理を行う暗号化処理手段と、備えたことを特
徴としている。
According to a fourth aspect of the present invention, in the configuration of the third aspect, the encryption unit includes a key data storage unit capable of storing a plurality of key data required for encryption, and a key instruction input from outside. Encryption processing means for performing the encryption processing using the key data corresponding to the data.

【0009】請求項5記載の構成は、請求項1ないし請
求項4のいずれかに記載の構成において、前記プログラ
ム格納手段に外部より入力された前記プログラムデータ
が格納された段階では、当該プログラムデータを、対応
するプログラムの実行を許可しない非実行プログラムデ
ータとして設定する実行可能プログラム設定手段を備え
たことを特徴としている。
According to a fifth aspect of the present invention, in the configuration according to any one of the first to fourth aspects, when the program data input from the outside is stored in the program storage means, Is set as non-executable program data for which execution of the corresponding program is not permitted.

【0010】請求項6記載の構成は、請求項5記載の構
成において、前記実行可能プログラム設定手段は、前記
非実行プログラムデータについて前記原認証データが生
成された場合には、当該非実行プログラムデータを実行
可能プログラムデータとして設定することを特徴として
いる。
According to a sixth aspect of the present invention, in the configuration of the fifth aspect, the executable program setting means, when the original authentication data is generated for the non-executable program data, the non-executable program data Is set as executable program data.

【0011】請求項7記載の構成は、請求項1ないし請
求項6のいずれかに記載のICカードに接続されるIC
カード接続装置であって、前記プログラム格納手段に格
納されている前記プログラムデータのうち、実行させよ
うとするプログラムに対応する前記プログラムデータを
特定し、前記ICカードに対しその実行を指示するプロ
グラム実行指示手段と、前記特定したプログラムに対応
する前記原認証データを原基準認証データとして予め格
納する原基準認証データ格納手段と、前記原基準認証デ
ータに対し前記認証データ生成手段における前記所定の
演算と同一の演算を施すことにより前記基準認証データ
を生成する基準認証データ生成手段と、前記判別手段に
対し、前記基準認証データを出力する基準認証データ出
力手段と、を備えたことを特徴としている。
According to a seventh aspect of the present invention, an IC connected to the IC card according to any one of the first to sixth aspects is provided.
A card connection device, wherein, among the program data stored in the program storage means, the program data corresponding to a program to be executed is specified, and a program execution for instructing the IC card to execute the program data is specified. Instruction means, original reference authentication data storage means for previously storing the original authentication data corresponding to the specified program as original reference authentication data, and the predetermined operation in the authentication data generating means for the original reference authentication data. It is characterized by comprising reference authentication data generation means for generating the reference authentication data by performing the same operation, and reference authentication data output means for outputting the reference authentication data to the determination means.

【0012】請求項8記載の構成は、請求項4記載のI
Cカードに接続されるICカード接続装置であって、前
記プログラム格納手段に格納されている前記プログラム
データのうち、実行させようとするプログラムに対応す
る前記プログラムデータを特定し、前記ICカードに対
しその実行を指示するプログラム実行指示手段と、前記
特定したプログラムに対応する前記原認証データを原基
準認証データとして予め格納する原基準認証データ格納
手段と、前記鍵データを複数記憶する鍵データ記憶手段
と、前記暗号化手段に対し、前記鍵指示データを出力す
る鍵指示データ出力手段と、前記鍵指示データに対応す
る鍵データ、前記ICカードより入力された前記乱数デ
ータ及び前記原認証データに基づいて前記暗号化処理手
段と同一の処理を行い、前記基準認証データを生成する
基準認証データ生成手段と、前記判別手段に対し、前記
基準認証データを出力する基準認証データ出力手段と、
を備えたことを特徴としている。
[0012] The structure of claim 8 is the same as that of claim 4.
An IC card connection device connected to a C card, wherein, among the program data stored in the program storage means, the program data corresponding to a program to be executed is specified. Program execution instructing means for instructing the execution, original reference authentication data storage means for previously storing the original authentication data corresponding to the specified program as original reference authentication data, and key data storage means for storing a plurality of the key data A key instruction data output unit that outputs the key instruction data to the encryption unit; and a key data corresponding to the key instruction data, based on the random number data and the original authentication data input from the IC card. Performs the same processing as the encryption processing means to generate the reference authentication data. Means, to said determination means, a reference authentication data output means for outputting the reference authentication data,
It is characterized by having.

【0013】請求項9記載の構成は、請求項1ないし請
求項6のいずれかに記載のICカードと、請求項7記載
のICカード接続装置と、を備えたことを特徴としてい
る。請求項10記載の構成は、請求項4記載のICカー
ドと、請求項8記載のホスト装置と、を備えたことを特
徴としている。
According to a ninth aspect of the present invention, there is provided an IC card according to any one of the first to sixth aspects, and an IC card connection device according to the seventh aspect. According to a tenth aspect of the present invention, there is provided an IC card according to the fourth aspect, and a host device according to the eighth aspect.

【0014】請求項11記載の構成は、プログラムデー
タを更新可能に予め格納する格納手段を有するICカー
ドの制御方法において、格納されている前記プログラム
データに基づいて前記プログラムデータに固有の原認証
データを生成する原認証データ生成工程と、前記原認証
データに対し所定の演算を施すことにより認証データを
生成する認証データ生成工程と、入力された基準認証デ
ータと生成した前記認証データとが一致するか否かを判
別する判別工程と、前記判別に基づいて、前記基準認証
データと前記認証データとが一致した場合には、当該プ
ログラムデータに対応するプログラムの実行を許可する
実行許可工程と、を備えたことを特徴としている。
According to a eleventh aspect of the present invention, in the control method of an IC card having storage means for storing program data in an updatable manner in advance, original authentication data unique to the program data based on the stored program data. Generating authentication data, generating authentication data by performing a predetermined operation on the original authentication data, and matching the input reference authentication data with the generated authentication data. A determination step of determining whether or not, based on the determination, when the reference authentication data and the authentication data match, an execution permission step of permitting execution of a program corresponding to the program data, It is characterized by having.

【0015】[0015]

【発明の実施の形態】次に図面を参照して本発明の好適
な実施形態について説明する。 [1] ICカードシステムの概要構成 図1のICカードシステムの概要構成ブロック図を示
す。ICカードシステム1は、ICカード2と、ICカ
ード2に対するプログラムデータの書き換えや、ICカ
ード2の出力データに基づいて各種処理を行うICカー
ド接続装置3と、を備えて構成されている。
Preferred embodiments of the present invention will now be described with reference to the drawings. [1] Schematic Configuration of IC Card System A schematic configuration block diagram of the IC card system of FIG. 1 is shown. The IC card system 1 includes an IC card 2 and an IC card connection device 3 that rewrites program data for the IC card 2 and performs various processes based on output data of the IC card 2.

【0016】ICカード接続装置3は、ICカード2内
のデータの読出/書込を行うICカードリーダ/ライタ
3Aと、各種処理を行うICカード接続装置本体3B
と、各種情報の表示を行う表示装置3Cと、を備えて構
成されている。
The IC card connection device 3 includes an IC card reader / writer 3A for reading / writing data in the IC card 2, and an IC card connection device main body 3B for performing various processes.
And a display device 3C for displaying various information.

【0017】[2] ICカードの概要構成 図2にICカードの概要構成ブロック図を示す。ICカ
ード2は、ICカード2全体の制御を行うCPU11
と、暗号化処理に必要なべき乗剰余演算処理を行うこと
が可能なコプロセッサ12と、ブートプログラムや各種
固定データが記憶されたROM13と、電気的にデータ
の書換が可能で、プログラムデータ等を更新可能に記憶
するEEPROM14と、各種データを一時的に記憶す
るRAM15と、を備えて構成されている。
[2] Schematic Configuration of IC Card FIG. 2 shows a schematic configuration block diagram of the IC card. The IC card 2 includes a CPU 11 that controls the entire IC card 2.
And a coprocessor 12 capable of performing a power-residue operation necessary for the encryption processing, a ROM 13 storing a boot program and various fixed data, and electrically rewriting data, and storing program data and the like. It is configured to include an EEPROM 14 for storing updatable data and a RAM 15 for temporarily storing various data.

【0018】さらにICカード2には、外部より電源を
供給するための高電位側電源端子VCC及び低電位側電源
端子GND、ICカード接続装置3側よりリセット信号を
入力するためのリセット端子RST、ICカード接続装置
3との間でデータの送受信などを行うためのI/O端子
I/Oと、ICカード接続装置3よりシステムクロック信
号が入力されるクロック端子CLKと、が設けられてい
る。
Further, the IC card 2 has a high potential side power supply terminal VCC and a low potential side power supply terminal GND for supplying power from the outside, a reset terminal RST for inputting a reset signal from the IC card connection device 3 side, I / O terminal for transmitting / receiving data to / from the IC card connection device 3
An I / O and a clock terminal CLK to which a system clock signal is input from the IC card connection device 3 are provided.

【0019】[3] EEPROM内のファイル構造 ここで、図3及び図4を参照してEEPROM14内の
ファイル構造について説明する。EEPROM14は、
大別すると、システム管理領域21と、データ格納領域
22と、を備えて構成されている。
[3] File Structure in EEPROM Here, the file structure in the EEPROM 14 will be described with reference to FIGS. The EEPROM 14 is
When roughly classified, it is configured to include a system management area 21 and a data storage area 22.

【0020】[3.1] システム管理領域の構成 システム管理領域21は、実際のプログラムデータの格
納領域及び格納状態などについての各種情報に対応する
プログラム格納ファイル31が記憶されているプログラ
ム格納ファイル領域25と、暗号化処理に用いられる暗
号鍵についての各種情報に対応する鍵格納ファイル32
が記憶されている鍵格納ファイル領域26と、乱数発生
のための情報に対応する種ファイル33が記憶されてい
る種ファイル領域27と、を備えて構成されている。
[3.1] Configuration of System Management Area The system management area 21 is a program storage file area in which a program storage file 31 corresponding to various information on the actual program data storage area and storage status is stored. 25 and a key storage file 32 corresponding to various kinds of information about the encryption key used for the encryption process.
And a seed file area 27 in which a seed file 33 corresponding to information for generating random numbers is stored.

【0021】[3.1.1] プログラム格納ファイル
のフォーマット 図4(a)にプログラム格納ファイルのフォーマットを
示す。プログラム格納ファイル31は、プログラムデー
タに割り当てられたファイル番号に対応するファイル番
号データ35と、ファイル番号データ35に対応するプ
ログラムデータが実際に格納されている先頭アドレスを
表す格納先頭アドレスデータ36と、ファイル番号デー
タ35に対応するプログラムデータが実際に格納されて
いる最終アドレスを表す最終アドレスデータ37と、プ
ログラムデータに対し所定の圧縮処理を施すことにより
得られる圧縮データを格納アドレスを表す圧縮値格納ア
ドレスデータ38と、ファイル番号データ35に対応す
るプログラムデータが実行可能プログラムデータである
か否かを表す実行フラグ39と、を備えて構成されてい
る。
[3.1.1] Format of Program Storage File FIG. 4A shows the format of the program storage file. The program storage file 31 includes file number data 35 corresponding to the file number assigned to the program data, storage head address data 36 indicating the head address at which the program data corresponding to the file number data 35 is actually stored, The final address data 37 indicating the final address where the program data corresponding to the file number data 35 is actually stored, and the compressed data obtained by performing a predetermined compression process on the program data are stored in a compressed value indicating the storage address. It comprises address data 38 and an execution flag 39 indicating whether or not the program data corresponding to the file number data 35 is executable program data.

【0022】[3.1.2] 鍵格納ファイルのフォー
マット 図4(b)に鍵格納ファイルのフォーマットを示す。鍵
格納ファイル32は、暗号鍵データに割り当てられたフ
ァイル番号に対応するファイル番号データ41と、ファ
イル番号データ41に対応する暗号鍵データが実際に格
納されている先頭アドレスを表す格納先頭アドレスデー
タ42と、ファイル番号データ41に対応する暗号鍵デ
ータが実際に格納されている最終アドレスを表す格納最
終アドレスデータ43と、当該暗号鍵データのタイプを
表す鍵タイプデータ44と、を備えて構成されている。
[3.1.2] Format of Key Storage File FIG. 4B shows the format of the key storage file. The key storage file 32 includes file number data 41 corresponding to the file number assigned to the encryption key data, and storage start address data 42 indicating the start address where the encryption key data corresponding to the file number data 41 is actually stored. And storage type final address data 43 indicating the last address at which the encryption key data corresponding to the file number data 41 is actually stored, and key type data 44 indicating the type of the encryption key data. I have.

【0023】[3.2] データ格納領域の構成 データ格納領域22は、プログラム格納ファイル31に
対応するプログラムファイル45が格納されているプロ
グラムファイル領域46と、鍵格納ファイル32に対応
する暗号鍵データ47が格納されている暗号鍵データが
格納されている暗号鍵データ領域48と、を備えて構成
されている。プログラムファイル45は、実際のプログ
ラムに対応するプログラムデータ49及びプログラムデ
ータ49に対し所定の圧縮処理を施すことにより得られ
る圧縮値データ50を有して構成されている。
[3.2] Configuration of Data Storage Area The data storage area 22 includes a program file area 46 in which a program file 45 corresponding to the program storage file 31 is stored, and encryption key data corresponding to the key storage file 32. 47, and an encryption key data area 48 in which encryption key data storing 47 is stored. The program file 45 includes program data 49 corresponding to an actual program and compressed value data 50 obtained by performing a predetermined compression process on the program data 49.

【0024】[4] 動作説明 次に図5ないし図9を参照してICカード2のプログラ
ムデータ格納処理からICカードに格納したプログラム
データに基づく実行処理までの動作を、ICカード2の
処理動作を主体として説明する。
[4] Description of Operation Next, referring to FIGS. 5 to 9, the operation from the program data storage processing of the IC card 2 to the execution processing based on the program data stored in the IC card will be described. Will be mainly described.

【0025】図5にICカード2のメイン処理フローチ
ャートを示す。まず、ICカード2のCPU11は、I
/Oポートを介してICカード接続装置3からコマンド
データなどのデータを受信するための受信処理を行う
(ステップS1)。
FIG. 5 shows a main processing flowchart of the IC card 2. First, the CPU 11 of the IC card 2
A reception process for receiving data such as command data from the IC card connection device 3 via the / O port is performed (step S1).

【0026】次にCPU11は、受信処理において受信
したデータが連続データを含むか否かを判別する(ステ
ップS2)。ステップS2の判別において連続データを
含む場合には、CPU11は、後述するステップS9の
処理に移行する。
Next, the CPU 11 determines whether or not the data received in the receiving process includes continuous data (step S2). If the determination in step S2 includes continuous data, the CPU 11 shifts to the processing in step S9 described below.

【0027】ステップS2の判別において、連続データ
を含まない場合には、CPU11は受信したデータが実
行コマンドデータであるか否かを判別する(ステップS
3)。ここで、実行コマンドデータとは、EEPROM
14内に既に格納されており、かつ、既に実行可能状態
となっているプログラムデータのファイル番号を指定し
て、当該プログラムデータに対応するプログラムの実行
を行わせるための命令である。
If the determination in step S2 does not include the continuous data, the CPU 11 determines whether or not the received data is execution command data (step S2).
3). Here, the execution command data is an EEPROM
14 is a command for designating a file number of program data already stored in the storage device 14 and in an executable state, and executing a program corresponding to the program data.

【0028】ステップS3の判別において、受信したデ
ータが実行コマンドデータである場合には、後述する実
行コマンド処理を行い(ステップS4)、レスポンス処
理(ステップS5)及びICカード接続装置側に対する
送信処理を行って(ステップS6)、処理を終了する。
If it is determined in step S3 that the received data is execution command data, execution command processing described below is performed (step S4), and response processing (step S5) and transmission processing to the IC card connection device side are performed. Perform (Step S6) and end the process.

【0029】ステップS3の判別において受信したデー
タが実行コマンドデータではない場合には、CPU11
は、受信したデータが実行可能コマンドデータであるか
否かを判別する(ステップS7)。ここで、実行可能コ
マンドデータとは、EEPROM14内に既に格納され
ているが、いまだ実行可能状態となっていないプログラ
ムデータのファイル番号を指定して、当該プログラムデ
ータを実行可能状態にするための命令である。
If the data received in step S3 is not the execution command data, the CPU 11
Determines whether the received data is executable command data (step S7). Here, the executable command data is an instruction for designating a file number of program data which is already stored in the EEPROM 14 but is not yet in an executable state to make the program data in an executable state. It is.

【0030】ステップS7の判別において、受信したデ
ータが実行可能コマンドデータである場合には、後述す
る実行可能コマンド処理を行い(ステップS8)、レス
ポンス処理(ステップS5)及びICカード接続装置側
に対する送信処理を行って(ステップS6)、処理を終
了する。
If it is determined in step S7 that the received data is executable command data, an executable command process described later is performed (step S8), a response process (step S5), and transmission to the IC card connection device side is performed. The process is performed (step S6), and the process ends.

【0031】ステップS7の判別において受信したデー
タが実行可能コマンドデータではない場合には、CPU
11は、受信したデータが格納コマンドデータであるか
否かを判別する(ステップS9)。ここで、格納コマン
ドデータとは、EEPROM14に新しいプログラムデ
ータを格納させるための命令である。
If it is determined in step S7 that the received data is not executable command data, the CPU
No. 11 determines whether the received data is stored command data (step S9). Here, the storage command data is an instruction for causing the EEPROM 14 to store new program data.

【0032】ステップS9の判別において、受信したデ
ータが格納行コマンドデータである場合には、後述する
格納コマンド処理を行い(ステップS10)、レスポン
ス処理(ステップS5)及びICカード接続装置側に対
する送信処理を行って(ステップS6)、処理を終了す
る。
If it is determined in step S9 that the received data is the storage line command data, a storage command process described below is performed (step S10), a response process (step S5), and a transmission process to the IC card connection device side. Is performed (step S6), and the process ends.

【0033】ステップS9の判別において受信したデー
タが格納コマンドデータではない場合には、CPU11
は、受信したデータが乱数生成を要求する乱数コマンド
データであるか否かを判別する(ステップS11)。こ
こで、乱数コマンドデータとは、乱数を生成させ、IC
カード接続装置3に出力させるための命令である。
If it is determined in step S9 that the received data is not the stored command data, the CPU 11
Determines whether the received data is random number command data for requesting random number generation (step S11). Here, the random number command data means that a random number is generated and IC
This is a command for causing the card connection device 3 to output.

【0034】ステップS11の判別において、受信した
データが乱数コマンドデータである場合には、後述する
乱数生成コマンド処理を行い(ステップS12)、レス
ポンス処理(ステップS5)及びICカード接続装置側
に対する送信処理を行って(ステップS6)、処理を終
了する。
If it is determined in step S11 that the received data is random number command data, a random number generation command process described below is performed (step S12), a response process (step S5), and a transmission process to the IC card connection device side. Is performed (step S6), and the process ends.

【0035】ステップS11の判別において、受信した
データが乱数コマンドデータではない場合には、対応す
るコマンドデータが存在しない受信エラーであると判断
して、エラー告知などのエラー処理を行い、レスポンス
処理(ステップS5)及びICカード接続装置側に対す
る送信処理を行って(ステップS6)、処理を終了する
こととなる。
If it is determined in step S11 that the received data is not random number command data, it is determined that there is a reception error in which the corresponding command data does not exist, error processing such as error notification is performed, and response processing ( Step S5) and the transmission process to the IC card connection device side are performed (step S6), and the process ends.

【0036】[4.1] 格納コマンド処理 次に格納コマンド処理について図6及び図7を参照して
説明する。まず格納コマンド処理の説明に先立ち、図6
(a)を参照して格納コマンドデータのデータフォーマ
ットについて説明する。図6(a)において括弧内は対
応するデータのバイト数である。
[4.1] Stored Command Processing Next, the stored command processing will be described with reference to FIGS. 6 and 7. First, before explaining the storage command processing, FIG.
The data format of the stored command data will be described with reference to FIG. In FIG. 6A, the number in parentheses is the number of bytes of the corresponding data.

【0037】格納コマンドデータ51は、当該データが
格納コマンドデータ51であることを示す1[バイト]
の命令データ(instruction data)52と、格納しよう
とするプログラムデータを特定するための2[バイト]
のファイル番号データ53と、格納しようとするプログ
ラムデータの長さを表す長さデータ54と、連続データ
であり実際に格納しようとする1〜65535[バイ
ト]のプログラムデータ49と、を備えて構成されてい
る。
The storage command data 51 is 1 [byte] indicating that the data is the storage command data 51.
Instruction data (instruction data) 52 and 2 [bytes] for specifying program data to be stored
File number data 53, length data 54 representing the length of program data to be stored, and program data 49 of 1 to 65535 [bytes] which are continuous data and are actually to be stored. Have been.

【0038】図7に格納コマンド処理の処理フローチャ
ートを示す。CPU11は、ICカード接続装置3から
受信したデータが連続データであるか否か、すなわち、
プログラムデータ49であるか否かを判別する(ステッ
プS21)。ステップS21の判別において、受信した
データが連続データではない場合には(ステップS;N
o)、格納コマンドデータ51の先頭部分であるので、
ファイル番号データ53に対応するファイル番号に相当
するプログラムファイル領域46にプログラムデータを
49を格納可能か否か、すなわち、当該ファイル番号に
対応する領域が存在し、かつ、当該領域には既にプログ
ラムデータ49が格納されていないか否かを判別する
(ステップS22)。
FIG. 7 shows a processing flowchart of the storage command processing. The CPU 11 determines whether the data received from the IC card connection device 3 is continuous data,
It is determined whether the data is the program data 49 (step S21). If it is determined in step S21 that the received data is not continuous data (step S; N
o) Since it is the head of the stored command data 51,
Whether the program data 49 can be stored in the program file area 46 corresponding to the file number corresponding to the file number data 53, that is, whether the area corresponding to the file number exists and the program data already exists in the area It is determined whether 49 is not stored (step S22).

【0039】ステップS22の判別において、当該ファ
イル番号に対応する領域が存在せず、あるいは、当該領
域にはプログラムデータ49が既に格納されている場合
には(ステップS22;No)、対応するエラー処理を
行って処理を終了する。ステップS22の判別におい
て、当該ファイル番号に対応する領域が存在し、かつ、
当該領域にはプログラムデータ49が格納されていない
場合には、格納先頭アドレスを設定する(ステップS2
3)。
If it is determined in step S22 that the area corresponding to the file number does not exist or the program data 49 is already stored in the area (step S22; No), the corresponding error processing is performed. And terminate the processing. In the determination in step S22, an area corresponding to the file number exists, and
If the program data 49 is not stored in the area, a storage start address is set (step S2).
3).

【0040】そしてCPU11は、ICカード接続装置
3から受信したプログラムデータ49を格納するための
格納アドレスをセットし(ステップS24)、当該セッ
トした格納アドレスにプログラムデータ49をプログラ
ムファイル45の一部として格納し(ステップS2
5)、対応するプログラム格納ファイル31の実行フラ
グ39をオフ(=例えば、“0”)とする(ステップS
26)。
Then, the CPU 11 sets a storage address for storing the program data 49 received from the IC card connection device 3 (step S24), and stores the program data 49 in the set storage address as a part of the program file 45. Stored (step S2
5), the execution flag 39 of the corresponding program storage file 31 is turned off (= for example, “0”) (Step S)
26).

【0041】ステップS21の判別において、ICカー
ド接続装置3から受信したデータが連続データである場
合には(ステップS21;Yes)、当該受信したデー
タはプログラムデータ49を構成するデータであるの
で、受信したプログラムデータ49を構成するデータを
格納するための格納アドレスをセットし(ステップS2
4)、当該セットした格納アドレスにプログラムデータ
49を構成するデータを格納し(ステップS25)、対
応するプログラム格納ファイル31の実行フラグ39を
オフとする(ステップS26)。
If it is determined in step S21 that the data received from the IC card connection device 3 is continuous data (step S21; Yes), the received data is data constituting the program data 49. The storage address for storing the data constituting the programmed program data 49 is set (step S2).
4) The data constituting the program data 49 is stored at the set storage address (step S25), and the execution flag 39 of the corresponding program storage file 31 is turned off (step S26).

【0042】そして、全てのプログラムデータ49を構
成するデータを受信すると、対応するプログラム格納フ
ァイル31のファイル番号データ35、当該プログラム
データ49が実際に格納されているプログラムファイル
領域46の先頭アドレスを表す格納先頭アドレスデータ
36と、当該プログラムデータ49が実際に格納されて
いるプログラムファイル領域46における最終アドレス
を表す最終アドレスデータ37と、を更新するレスポン
ス処理を行い(ステップS5)、プログラムデータ49
を受信し、格納した旨をICカード接続装置3に通知す
る送信処理を行う(ステップS6)。
When the data constituting all the program data 49 is received, the file number data 35 of the corresponding program storage file 31 and the start address of the program file area 46 where the program data 49 is actually stored are displayed. A response process for updating the storage head address data 36 and the final address data 37 indicating the final address in the program file area 46 where the program data 49 is actually stored is performed (step S5), and the program data 49 is updated.
Is received, and a transmission process for notifying the IC card connection device 3 of the storage is performed (step S6).

【0043】以上のようにして、ICカード接続装置3
から送信されたプログラムデータ49は、EEPROM
14のプログラムファイル領域46に格納される。しか
しながら、この時点においては、格納されたプログラム
データ49に対応するプログラム格納ファイル31の実
行フラグ39はオフであるため、実行することはできな
い非実行可能プログラムとなっている。
As described above, the IC card connection device 3
The program data 49 transmitted from the
14 are stored in the program file area 46. However, at this point, since the execution flag 39 of the program storage file 31 corresponding to the stored program data 49 is off, the program is a non-executable program that cannot be executed.

【0044】[4.2] 実行可能コマンド処理 次に実行可能コマンド処理について図6及び図8を参照
して説明する。まず実行可能コマンド処理の説明に先立
ち、図6(b)を参照して実行可能コマンドデータのデ
ータフォーマットについて説明する。図6(b)におい
て括弧内は対応するデータのバイト数である。
[4.2] Executable Command Processing Next, the executable command processing will be described with reference to FIG. 6 and FIG. Before describing the executable command processing, the data format of the executable command data will be described with reference to FIG. In FIG. 6B, the number in parentheses is the number of bytes of the corresponding data.

【0045】実行可能コマンドデータ56は、当該デー
タが実行可能コマンドデータ56であることを示す1
[バイト]の命令データ57と、EEPROM14のプ
ログラムファイル領域46に格納されているプログラム
データ49のうち、実行可能状態にしようとするプログ
ラムデータ49を特定するための2[バイト]のファイ
ル番号データ58と、を備えて構成されている。
Executable command data 56 is 1 indicating that the data is executable command data 56.
[Byte] instruction data 57 and 2 [byte] file number data 58 for specifying the program data 49 to be made executable among the program data 49 stored in the program file area 46 of the EEPROM 14 And is provided.

【0046】図8に実行可能コマンド処理の処理フロー
チャートを示す。まず、CPU11は、ICカード接続
装置3から受信した実行可能コマンドデータ56のファ
イル番号データ58に対応するファイル番号に相当する
プログラム格納ファイル31に基づいて、プログラムフ
ァイル領域46内のプログラムファイル45を検索する
ためのプログラムファイルサーチを行い、ICカード接
続装置3から受信した実行可能コマンドデータ56に対
応するプログラムファイル領域46に処理対象であるプ
ログラムデータ49が既に格納されているか否かを判別
する(ステップS31)。
FIG. 8 shows a flowchart of the executable command processing. First, the CPU 11 searches the program file 45 in the program file area 46 based on the program storage file 31 corresponding to the file number corresponding to the file number data 58 of the executable command data 56 received from the IC card connection device 3. To determine whether or not the program data 49 to be processed has already been stored in the program file area 46 corresponding to the executable command data 56 received from the IC card connection device 3 (step S1). S31).

【0047】ステップS31の判別において、ファイル
番号に相当するプログラムファイル領域46にプログラ
ムデータ49が格納されていない場合、あるいは、既に
実行可能コマンド処理が終了したプログラムデータ49
が格納されている場合には(ステップS31;No)、
処理対象が存在しないので、対応するエラー処理を行っ
て(ステップS37)、処理を終了する。
If it is determined in step S31 that the program data 49 is not stored in the program file area 46 corresponding to the file number, or that the program data
Is stored (Step S31; No),
Since there is no processing target, corresponding error processing is performed (step S37), and the processing ends.

【0048】ステップS31の判別において、ファイル
番号に相当するプログラムファイル領域46に処理対象
であるプログラムデータ49が既に格納されている場合
には、プログラムデータを圧縮して得られるはずの圧縮
値データ50を格納するためのプログラムファイル領域
46における圧縮先頭アドレスを設定する(ステップS
32)。
If it is determined in step S31 that the program data 49 to be processed has already been stored in the program file area 46 corresponding to the file number, the compressed value data 50 which should be obtained by compressing the program data is obtained. Of the compression start address in the program file area 46 for storing the
32).

【0049】次に1アドレスずつプログラム圧縮を行い
(ステップS33)、現在の圧縮対象データのアドレス
が当該プログラムデータ49の最終アドレスか否か、す
なわち、現在の圧縮対象のデータが当該プログラムデー
タ49の最終データであるか否かを判別する(ステップ
S34)。
Next, program compression is performed one address at a time (step S33), and whether or not the current address of the data to be compressed is the last address of the program data 49, that is, if the current data to be compressed is It is determined whether or not the data is final data (step S34).

【0050】ステップS34の判別において、現在の圧
縮対象データのアドレスが当該プログラムデータ49の
最終アドレスではない場合には(ステップS34;N
o)、次のアドレスのデータの圧縮処理を行うべく処理
を再びステップS33に移行する。
If it is determined in step S34 that the current address of the data to be compressed is not the last address of the program data 49 (step S34; N
o) The process returns to step S33 to perform the compression process on the data at the next address.

【0051】ステップS34の判別において、現在の圧
縮対象データのアドレスが当該プログラムデータ49の
最終アドレスである場合には、得られた圧縮値データを
格納し、当該圧縮データの格納アドレスをプログラム格
納ファイル31の圧縮値格納アドレスデータ38として
設定し(ステップS35)、当該プログラム格納ファイ
ル31の実行フラグ39をオン(=例えば、“1”)と
する。
If it is determined in step S34 that the current address of the data to be compressed is the last address of the program data 49, the obtained compressed value data is stored, and the storage address of the compressed data is stored in the program storage file. It is set as the compressed value storage address data 38 of step 31 (step S35), and the execution flag 39 of the program storage file 31 is turned on (= for example, “1”).

【0052】以上の結果、当該プログラム格納ファイル
に対応するプログラムデータ49は実行可能プログラム
データとなり、後述するプログラム実行コマンド処理に
おいて、正規のプログラムデータであると認証されれ
ば、実行することが可能となる。
As a result, the program data 49 corresponding to the program storage file becomes executable program data. If the program data 49 is authenticated as legitimate program data in the program execution command processing described later, it can be executed. Become.

【0053】[4.3] 実行コマンド処理 次に実行コマンド処理について図6及び図9を参照して
説明する。まず実行コマンド処理の説明に先立ち、図6
(c)及び図6(d)を参照して実行コマンドデータ及
び乱数生成コマンドのデータフォーマットについて説明
する。図6(c)及び図6(d)において括弧内は対応
するデータのバイト数である。
[4.3] Execution Command Processing Next, execution command processing will be described with reference to FIGS. 6 and 9. Before explaining the execution command processing, FIG.
The data format of the execution command data and the random number generation command will be described with reference to (c) and FIG. 6 (c) and 6 (d), the numbers in parentheses indicate the number of bytes of the corresponding data.

【0054】実行コマンドデータ62は、図6(d)に
示すように、当該データがプログラムデータを実行させ
るための実行コマンドデータ62であることを示す1
[バイト]の命令データ63と、実行させようとするプ
ログラムデータを特定するための2[バイト]のファイ
ル番号データ64と、ファイル番号データ64で特定さ
れるプログラムデータ49の実行に必要な認証データを
生成するのに必要な暗号鍵の情報を含む鍵格納ファイル
32を特定するための鍵ファイル番号データ65と、後
述する基準認証データ67の長さを表す長さデータと、
8〜128[バイト]の基準認証データ67と、を備え
て構成されている。
As shown in FIG. 6D, the execution command data 62 indicates that the data is the execution command data 62 for executing the program data.
[Byte] instruction data 63, 2 [byte] file number data 64 for specifying program data to be executed, and authentication data required for executing the program data 49 specified by the file number data 64 Key file number data 65 for specifying a key storage file 32 including information on an encryption key necessary to generate a key, length data representing the length of reference authentication data 67 described later,
And standard authentication data 67 of 8 to 128 [bytes].

【0055】この場合において、基準認証データ67の
長さとしては、一般的に暗号化方式にDESを用いた場
合は64[バイト]、RASを用いた場合は1024
[バイト]が用いられる。乱数生成コマンドデータ59
は、図6(c)に示すように、当該データが乱数を発生
させるための乱数生成コマンドデータ59であることを
示す1[バイト]との命令データ60と、乱数を種ファ
イル33を利用してソフトウェア的に発生させるべく、
使用する種ファイルを特定するための2[バイト]の種
ファイル番号データ61とを備えて構成されている。
In this case, the length of the reference authentication data 67 is generally 64 [bytes] when DES is used for the encryption method and 1024 when RAS is used for the encryption method.
[Byte] is used. Random number generation command data 59
As shown in FIG. 6C, the command data 60 of 1 [byte] indicating that the data is the random number generation command data 59 for generating a random number and the random number is To generate software
It is provided with 2 [byte] seed file number data 61 for specifying a seed file to be used.

【0056】図9に実行コマンド処理の処理フローチャ
ートを示す。まず、ICカード接続装置3は、実行コマ
ンドデータ62の送信に先立って、乱数生成コマンドデ
ータ59をCPU11に送信する。この結果、CPU1
1は、種ファイル番号データ61に対応する種ファイル
33をEEPROM14の種ファイル領域27から読み
出し、乱数を生成して(ステップS12)、レスポンス
処理として乱数送信用データを生成し(ステップS5、
ICカード接続装置3に対して乱数データを送信する
(ステップS6)。
FIG. 9 shows a processing flowchart of the execution command processing. First, the IC card connection device 3 transmits random number generation command data 59 to the CPU 11 before transmitting the execution command data 62. As a result, CPU1
1 reads the seed file 33 corresponding to the seed file number data 61 from the seed file area 27 of the EEPROM 14, generates a random number (step S12), and generates random number transmission data as a response process (step S5,
The random number data is transmitted to the IC card connection device 3 (step S6).

【0057】次にICカード接続装置3は、実行コマン
ドデータ62をCPU11に送信する。これによりCP
U11は、受信した実行コマンドデータ62のファイル
番号データに対応するプログラム格納ファイル31を参
照し、実行フラグ39がオンになっているか否かを判別
する(ステップS41)。ステップS41の判別におい
て実行フラグ39がオフである場合には(ステップS4
1;No)、当該ファイル番号データに対応するプログ
ラムデータ49は非実行可能状態であるので、対応する
エラー処理を行って(ステップS49)、処理を終了す
る。
Next, the IC card connection device 3 transmits the execution command data 62 to the CPU 11. This allows CP
U11 refers to the program storage file 31 corresponding to the file number data of the received execution command data 62, and determines whether or not the execution flag 39 is turned on (step S41). If the execution flag 39 is off in the determination of step S41 (step S4
1; No), since the program data 49 corresponding to the file number data is in a non-executable state, a corresponding error process is performed (step S49), and the process ends.

【0058】ステップS41の判別において実行フラグ
39がオンである場合には(ステップS41;Ye
s)、EEPROM14内のプログラムファイル領域4
6をサーチし、対応するプログラムファイル45が存在
するか否かを判別する(ステップS42)。
If the execution flag 39 is ON in the determination in step S41 (step S41; Ye
s), the program file area 4 in the EEPROM 14
6 to determine whether the corresponding program file 45 exists (step S42).

【0059】ステップS42の判別において、対応する
プログラムファイル45が存在しない場合には(ステッ
プS42;No)、その旨を告知する等のエラー処理を
行い(ステップS49)、処理を終了する。ステップS
42の判別において、対応するプログラムファイル45
が存在する場合には(ステップS42;Yes)、プロ
グラム格納ファイル31の圧縮値格納アドレスデータ3
8を参照して格納されている圧縮値データ50を読み出
し(ステップS43)、読み出した圧縮値データ50に
生成した乱数データを結合することにより、原認証コー
ドデータを生成する(ステップS44)。結合の方法と
しては、単なる四則演算、排他論理和演算などの論理演
算などが考えられる。
If it is determined in step S42 that the corresponding program file 45 does not exist (step S42; No), error processing such as notification of the fact is performed (step S49), and the processing ends. Step S
42, the corresponding program file 45
Exists (step S42; Yes), the compressed value storage address data 3 of the program storage file 31
8, the stored compressed value data 50 is read (step S43), and the generated random number data is combined with the read compressed value data 50 to generate original authentication code data (step S44). As a method of the combination, a mere four arithmetic operation, a logical operation such as an exclusive OR operation, or the like can be considered.

【0060】この結果、圧縮値データ50が同一の場合
でも、原認証コードデータは異なるものとなり、原認証
コードデータを解析しても、圧縮値データ50を求める
ことは困難となる。次にCPU11は、実行コマンドデ
ータ62の鍵ファイル番号データ65に基づいて対応す
る鍵格納ファイル32をサーチし、サーチできたか否か
を判別する(ステップS45)。
As a result, even if the compressed value data 50 is the same, the original authentication code data is different, and it is difficult to obtain the compressed value data 50 even if the original authentication code data is analyzed. Next, the CPU 11 searches for the corresponding key storage file 32 based on the key file number data 65 of the execution command data 62, and determines whether or not the search was successful (step S45).

【0061】ステップS45の判別において、鍵ファイ
ル番号データ65に対応する鍵格納ファイルがサーチで
きなかった場合には(ステップS45;No)、後述す
る暗号化処理を行うことができないので、対応するエラ
ー処理(ステップS39)を行って処理を終了する。
If it is determined in step S45 that the key storage file corresponding to the key file number data 65 cannot be searched (step S45; No), an encryption process described later cannot be performed, and a corresponding error The process (Step S39) is performed, and the process ends.

【0062】ステップS45の判別において、鍵ファイ
ル番号データ65に対応する鍵格納ファイルをサーチで
きた場合には(ステップS;Yes)、格納先頭アドレ
スデータ42、格納最終アドレスデータ43及び鍵タイ
プデータに基づいて、暗号下記データ領域48から暗号
鍵データ47を読出して、当該暗号鍵データ47を用い
て原認証コードデータをコプロセッサ12により暗号化
処理し、認証コードデータを生成する(ステップS4
6)。
If it is determined in step S45 that the key storage file corresponding to the key file number data 65 can be searched (step S; Yes), the storage start address data 42, the storage end address data 43, and the key type data are added. Based on the encryption key data 47, the encryption key data 47 is read from the data area 48, and the original authentication code data is encrypted by the coprocessor 12 using the encryption key data 47 to generate authentication code data (step S4).
6).

【0063】より具体的には、RSA暗号アルゴリズム
を用いる場合、暗号鍵データ47に含まれている暗号鍵
N及び暗号鍵e(d)を用いてコプロセッサ12により
原認証コードデータ(=圧縮値データ+乱数データ)に
対し、べき乗剰余演算を行うことにより認証コードデー
タを得ることとなる。
More specifically, when the RSA encryption algorithm is used, the original authentication code data (= compressed value) is generated by the coprocessor 12 using the encryption key N and the encryption key e (d) included in the encryption key data 47. By performing a modular exponentiation operation on (data + random number data), authentication code data is obtained.

【0064】ところで、このICカード2側の認証コー
ドデータの生成に先だって、ICカード接続装置3は、
予めプログラムデータ49を圧縮することにより得られ
る圧縮値データ(以下、基準圧縮値データという。)を
求めておく。この基準圧縮値データは、ICカード2の
EEPROM14に格納されているプログラムデータが
改竄などがなされていない正規のプログラムデータであ
る場合には、圧縮値データ50に等しい。
By the way, prior to the generation of the authentication code data on the IC card 2 side, the IC card connection device 3
Compressed value data (hereinafter referred to as reference compressed value data) obtained by compressing the program data 49 is obtained in advance. This reference compressed value data is equal to the compressed value data 50 when the program data stored in the EEPROM 14 of the IC card 2 is legitimate program data that has not been tampered with.

【0065】そしてICカード接続装置3は、ICカー
ド2側から送信された乱数データを結合することにより
原基準認証コードデータを生成する。結合方法として
は、ICカード2側で行われる結合方法と同一の方法が
用いられる。さらにICカード接続装置3は、RSA暗
号アルゴリズムを用いる場合、送信しようとする実行コ
マンドデータ中の鍵ファイル番号データに対応する鍵フ
ァイルに相当する暗号鍵N及び暗号鍵e(d)を用いて
原基準認証コードデータ(=基準圧縮値データ+乱数デ
ータ)に対し、べき乗剰余演算を行うことにより基準認
証コードデータを得る。
Then, the IC card connection device 3 generates original reference authentication code data by combining the random number data transmitted from the IC card 2 side. As the connection method, the same method as the connection method performed on the IC card 2 side is used. Further, when using the RSA encryption algorithm, the IC card connection device 3 uses the encryption key N and the encryption key e (d) corresponding to the key file corresponding to the key file number data in the execution command data to be transmitted. By performing a modular exponentiation operation on the reference authentication code data (= reference compressed value data + random number data), reference authentication code data is obtained.

【0066】そしてICカード接続装置3は、基準認証
コードデータを実行コマンドデータ62の基準認証デー
タ67としてICカード2に送信している。これらの結
果、CPU11は、実行コマンドデータ62に含まれる
基準認証コードデータ67と生成した認証コードデータ
を比較することにより照合し、基準認証コードデータ6
7と生成した認証コードデータとが一致するか否かを判
別する(ステップS47)。
The IC card connection device 3 transmits the reference authentication code data to the IC card 2 as the reference authentication data 67 of the execution command data 62. As a result, the CPU 11 compares the reference authentication code data 67 included in the execution command data 62 with the generated authentication code data by comparing them, and
It is determined whether 7 and the generated authentication code data match (step S47).

【0067】そして、CPU11は、ステップS47の
判別において、基準認証コードデータ67と生成した認
証コードデータとが一致しない場合には、EEPROM
14に格納されているプログラムデータ49が改竄など
がなされた不正のものである可能性があるため、対応す
るエラー処理を行って(ステップS49)、処理を終了
し、プログラムの実行は行わない。
If it is determined in step S 47 that the reference authentication code data 67 does not match the generated authentication code data, the CPU 11
Since there is a possibility that the program data 49 stored in the server 14 is falsified and illegal, the corresponding error processing is performed (step S49), the processing is terminated, and the program is not executed.

【0068】また、ステップS47の判別において、基
準認証コードデータ67と生成した認証コードデータと
が一致した場合には、EEPROM14に格納されてい
るプログラムデータ49は正規のプログラムデータであ
るとして認証し、当該プログラムデータに対応するプロ
グラムを実行し(ステップS48)、送信データの生成
などのレスポンス処理(ステップS5)及び送信データ
のICカード接続装置3への送信(ステップS6)を行
って処理を終了する。
If it is determined in step S47 that the reference authentication code data 67 matches the generated authentication code data, the program data 49 stored in the EEPROM 14 is authenticated as valid program data. The program corresponding to the program data is executed (step S48), response processing such as generation of transmission data (step S5), and transmission of the transmission data to the IC card connection device 3 (step S6) are performed, and the processing ends. .

【0069】[5] 実施形態の変形例 以上の説明においては、ICカード接続装置3がICカ
ードに基準認証コードデータの送信を行う場合には、実
行コマンドデータに基準認証コードデータを含めて送信
していたが、ICカード2側から要求があった場合に別
のデータとして送信したりすることも可能である。
[5] Modification of Embodiment In the above description, when the IC card connection device 3 transmits the reference authentication code data to the IC card, the execution command data is transmitted including the reference authentication code data. However, when the IC card 2 requests, the data can be transmitted as another data.

【0070】また、原認証コードデータ(あるいは原基
準認証コードデータ)を生成するための圧縮方法として
は、MD4、MD5、SHA等の一般的に知られている
一方向ハッシュ関数を用いることが可能である。さら
に、原認証コードデータから認証コードデータ(あるい
は原基準認証コードデータから基準認証コードデータ)
を生成する場合の演算処理として暗号化処理を行ってい
たが、容易に認証コードデータ(あるいは基準認証コー
ドデータ)を生成できない処理であれば、いかなる演算
処理を適用することも可能である。
As a compression method for generating the original authentication code data (or the original reference authentication code data), a generally known one-way hash function such as MD4, MD5, SHA or the like can be used. It is. Furthermore, from the original authentication code data to the authentication code data (or from the original standard authentication code data to the standard authentication code data)
Although the encryption processing is performed as the arithmetic processing when generating the authentication code, any arithmetic processing can be applied as long as the authentication code data (or the reference authentication code data) cannot be easily generated.

【0071】また、暗号化処理としては、RSAに限ら
ず、DES、FEAL等の他の暗号化処理を用いること
が可能である。さらに上記説明においては、乱数生成を
ソフトウェア的に行っていたが、乱数発生ICなどのハ
ードウェアで構成された乱数発生器を用いて構成するこ
とも可能である。この場合においては、上記説明中の種
ファイルを用いる必要はない。
The encryption processing is not limited to RSA, and other encryption processing such as DES and FEAL can be used. Further, in the above description, the random number generation is performed by software, but it is also possible to use a random number generator configured by hardware such as a random number generation IC. In this case, it is not necessary to use the seed file described above.

【0072】以上の説明においては、プログラムデータ
を格納するメモリとしてEEPROMを用いたが、NV
RAM等のように不揮発性であり、容易にデータ更新可
能な記憶装置であれば構わない。
In the above description, the EEPROM is used as the memory for storing the program data.
Any storage device such as a RAM that is nonvolatile and can easily update data may be used.

【0073】[6] 実施形態の効果 以上の説明のように、プログラムデータを圧縮すること
により得られる圧縮値データと生成した乱数データを結
合して原認証データを生成し、さらに原認証データに暗
号化処理を行って、実際に認証を行うための認証データ
を生成しているので、認証データをICカード内に格納
しておく必要がないので、認証データが外部に漏れるこ
とがない。
[6] Effects of the Embodiment As described above, the original authentication data is generated by combining the compressed value data obtained by compressing the program data and the generated random number data, and is further converted to the original authentication data. Since the encryption processing is performed to generate the authentication data for actually performing the authentication, there is no need to store the authentication data in the IC card, so that the authentication data does not leak to the outside.

【0074】また、認証コードデータの生成に複雑な計
算が要求される暗号化処理を用いているので、認証コー
ドデータの改竄が困難であり、従って、格納したプログ
ラムデータを不正に実行させることが非常に困難となっ
て高度にセキュリティを確保したプログラム実行機能を
実現することができる。
Further, since an encryption process that requires a complicated calculation is used to generate the authentication code data, it is difficult to tamper with the authentication code data. Therefore, it is possible to illegally execute the stored program data. It becomes very difficult to implement a program execution function that ensures high security.

【0075】一方、正規のプログラムデータの書込で有
れば、セキュリティを確保した状態で実行可能にEEP
ROMに容易に書き込むことが可能であり、プログラム
の変更、改良などを低コストで容易、かつ、迅速に行う
ことが可能となる。
On the other hand, if it is writing of regular program data, it can be executed with security assured.
Since it is possible to easily write the data in the ROM, it is possible to easily and quickly change or improve the program at a low cost.

【0076】[0076]

【発明の効果】本発明によれば、ICカードは、格納し
ているプログラムデータに対して圧縮処理や暗号化処理
などの所定の処理、演算などを行うことにより実際に認
証を行うための認証データを生成しているので、認証デ
ータをICカード内に格納しておく必要がなく、認証デ
ータが外部に漏れることがないので、高いセキュリティ
を確保することが可能となる。
According to the present invention, the IC card performs authentication for actually performing authentication by performing predetermined processing such as compression processing and encryption processing and arithmetic processing on stored program data. Since the data is generated, it is not necessary to store the authentication data in the IC card, and the authentication data does not leak to the outside, so that high security can be ensured.

【0077】さらに、プログラムデータに対応するプロ
グラムを実行するために必要な認証コードデータの生成
に複雑な演算が要求される所定の演算処理を用いている
ので、認証コードデータの改竄が困難であり、従って、
格納したプログラムデータを不正に実行させることが非
常に困難となって高度にセキュリティを確保したプログ
ラム実行機能を実現することができる。
Further, since a predetermined operation requiring a complicated operation is used to generate the authentication code data required to execute the program corresponding to the program data, it is difficult to falsify the authentication code data. And therefore,
It is very difficult to illegally execute the stored program data, and a highly secure program execution function can be realized.

【0078】さらにまた、プログラムデータの格納に
は、EEPROMなどのようにプログラムデータを更新
可能に格納するプログラム格納手段を用いているので、
プログラムの変更に対しても容易、かつ、低コストで対
応することができる。
Furthermore, since the program data is stored using a program storage means such as an EEPROM which stores the program data in an updatable manner,
It is possible to cope with a change in the program easily and at low cost.

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

【図1】 実施形態のICカードシステムの概要構成図
である。
FIG. 1 is a schematic configuration diagram of an IC card system according to an embodiment.

【図2】 ICカードの概要構成図である。FIG. 2 is a schematic configuration diagram of an IC card.

【図3】 EEPROM内のデータ格納状態の説明図で
ある。
FIG. 3 is an explanatory diagram of a data storage state in an EEPROM.

【図4】 プログラム格納ファイル及び鍵格納ファイル
のデータフォーマットの説明図である。
FIG. 4 is an explanatory diagram of a data format of a program storage file and a key storage file.

【図5】 実施形態の概要処理フローチャートである。FIG. 5 is a schematic processing flowchart of the embodiment.

【図6】 各コマンドデータのデータフォーマットの説
明図である。
FIG. 6 is an explanatory diagram of a data format of each command data.

【図7】 格納コマンド処理の処理フローチャートであ
る。
FIG. 7 is a processing flowchart of a storage command process.

【図8】 実行可能コマンド処理の処理フローチャート
である。
FIG. 8 is a processing flowchart of executable command processing.

【図9】 実行コマンド処理の処理フローチャートであ
る。
FIG. 9 is a processing flowchart of an execution command process.

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

1 ICカードシステム 2 ICカード 3 ICカード接続装置 11 CPU 12 コプロセッサ 13 ROM 14 EEPROM 15 RAM 21 システム管理領域 22 データ格納領域 25 プログラム格納ファイル領域 26 鍵格納ファイル領域 27 種ファイル領域 31 プログラム格納ファイル 32 鍵格納ファイル 33 種ファイル 35 ファイル番号データ 36 格納先頭アドレスデータ 37 格納最終アドレスデータ 38 圧縮値格納アドレスデータ 39 実行フラグ 41 ファイル番号データ 42 格納先頭アドレスデータ 43 格納最終アドレスデータ 44 鍵タイプデータ 45 プログラムファイル 46 プログラムファイル領域 47 暗号鍵データ 48 暗号鍵データ領域 49 プログラムデータ 50 圧縮値データ 51 格納コマンドデータ 56 実行可能コマンドデータ 59 乱数生成コマンドデータ 60 実行コマンドデータ REFERENCE SIGNS LIST 1 IC card system 2 IC card 3 IC card connection device 11 CPU 12 coprocessor 13 ROM 14 EEPROM 15 RAM 21 system management area 22 data storage area 25 program storage file area 26 key storage file area 27 type file area 31 program storage file 32 Key storage file 33 kinds of files 35 File number data 36 Storage start address data 37 Storage end address data 38 Compressed value storage address data 39 Execution flag 41 File number data 42 Storage start address data 43 Storage end address data 44 Key type data 45 Program file 46 program file area 47 encryption key data 48 encryption key data area 49 program data 50 compressed value data 51 storage command Over data 56 executable command data 59 random number generation command data 60 executes the command data

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 プログラムデータを更新可能に格納する
プログラム格納手段と、 前記プログラムデータに基づいて当該プログラムデータ
に固有の原認証データを生成し、格納する原認証データ
生成格納手段と、 前記プログラム格納手段に格納されたプログラムデータ
のうち、外部より実行が指示されたプログラムに対応す
るプログラムデータについての前記原認証データに対し
所定の演算を施すことにより認証データを生成する認証
データ生成手段と、 外部より入力される基準認証データと前記認証データと
が一致するか否かを判別する判別手段と、 前記判別に基づいて、前記基準認証データと前記認証デ
ータとが不一致した場合には、前記プログラムの実行を
禁止する実行禁止手段と、 を備えたことを特徴とするICカード。
1. Program storage means for storing program data in an updatable manner, original authentication data generation storage means for generating and storing original authentication data unique to the program data based on the program data, and storing the program data Authentication data generating means for generating authentication data by performing a predetermined operation on the original authentication data for program data corresponding to a program instructed to be executed from the outside of the program data stored in the means; Determining means for determining whether or not the input standard authentication data and the authentication data match; and, based on the determination, when the standard authentication data does not match the authentication data, An IC card, comprising: execution prohibiting means for prohibiting execution.
【請求項2】 請求項1記載のICカードにおいて、 前記原認証データ生成手段は、前記プログラムデータを
圧縮することにより前記原認証データを生成することを
特徴とするICカード。
2. The IC card according to claim 1, wherein said original authentication data generating means generates said original authentication data by compressing said program data.
【請求項3】 請求項1または請求項2記載のICカー
ドにおいて、 前記認証データ生成手段は、乱数データを発生させ、出
力する乱数発生手段と、 前記乱数データ及び前記原認証データに基づいて予め設
定した所定の暗号化処理を行い前記認証データを生成す
る暗号化手段と、 を備えたことを特徴とするICカード。
3. The IC card according to claim 1, wherein the authentication data generating unit generates random number data and outputs the generated random number data, and the random number generating unit outputs the random number data based on the random number data and the original authentication data. An encryption means for performing a predetermined encryption process that has been set and generating the authentication data.
【請求項4】 請求項3記載のICカードにおいて、 前記暗号化手段は、暗号化に必要な鍵データを複数記憶
可能な鍵データ記憶手段と、 外部より入力された鍵指示データに対応する前記鍵デー
タを用いて前記暗号化処理を行う暗号化処理手段と、を
備えたことを特徴とするICカード。
4. The IC card according to claim 3, wherein said encrypting means is a key data storing means capable of storing a plurality of key data required for encryption, and said key data corresponding to key instruction data inputted from outside. An encryption processing means for performing the encryption processing using key data.
【請求項5】 請求項1ないし請求項4のいずれかに記
載のICカードにおいて、 前記プログラム格納手段に外部より入力された前記プロ
グラムデータが格納された段階では、当該プログラムデ
ータを、対応するプログラムの実行を許可しない非実行
プログラムデータとして設定する実行可能プログラム設
定手段を備えたことを特徴とするICカード。
5. The IC card according to claim 1, wherein, when the program data input from the outside is stored in the program storage means, the program data is stored in a corresponding program. An executable program setting means for setting as non-executable program data which does not permit execution of the program.
【請求項6】 請求項5記載のICカードにおいて、 前記実行可能プログラム設定手段は、前記非実行プログ
ラムデータについて前記原認証データが生成された場合
には、当該非実行プログラムデータを実行可能プログラ
ムデータとして設定することを特徴とするICカード。
6. The IC card according to claim 5, wherein when the original authentication data is generated for the non-executable program data, the executable program setting means executes the non-executable program data. An IC card characterized by being set as:
【請求項7】 請求項1ないし請求項6のいずれかに記
載のICカードに接続されるICカード接続装置であっ
て、 前記プログラム格納手段に格納されている前記プログラ
ムデータのうち、実行させようとするプログラムに対応
する前記プログラムデータを特定し、前記ICカードに
対しその実行を指示するプログラム実行指示手段と、 前記特定したプログラムに対応する前記原認証データを
原基準認証データとして予め格納する原基準認証データ
格納手段と、 前記原基準認証データに対し前記認証データ生成手段に
おける前記所定の演算と同一の演算を施すことにより前
記基準認証データを生成する基準認証データ生成手段
と、 前記判別手段に対し、前記基準認証データを出力する基
準認証データ出力手段と、 を備えたことを特徴とするICカード接続装置。
7. An IC card connection device connected to the IC card according to claim 1, wherein the program data is executed from among the program data stored in the program storage means. Program execution instructing means for specifying the program data corresponding to the program to be executed, and instructing the IC card to execute the program data; and an original storing the original authentication data corresponding to the specified program in advance as original reference authentication data. Reference authentication data storage means; reference authentication data generation means for generating the reference authentication data by performing the same operation as the predetermined operation in the authentication data generation means on the original reference authentication data; and And reference authentication data output means for outputting the reference authentication data. C card connection device.
【請求項8】 請求項4記載のICカードに接続される
ICカード接続装置であって、 前記プログラム格納手段に格納されている前記プログラ
ムデータのうち、実行させようとするプログラムに対応
する前記プログラムデータを特定し、前記ICカードに
対しその実行を指示するプログラム実行指示手段と、 前記特定したプログラムに対応する前記原認証データを
原基準認証データとして予め格納する原基準認証データ
格納手段と、 前記鍵データを複数記憶する鍵データ記憶手段と、 前記暗号化手段に対し、前記鍵指示データを出力する鍵
指示データ出力手段と、 前記鍵指示データに対応する鍵データ、前記ICカード
より入力された前記乱数データ及び前記原認証データに
基づいて前記暗号化処理手段と同一の処理を行い、前記
基準認証データを生成する基準認証データ生成手段と、 前記判別手段に対し、前記基準認証データを出力する基
準認証データ出力手段と、 を備えたことを特徴とするICカード接続装置。
8. An IC card connection device connected to the IC card according to claim 4, wherein the program corresponding to a program to be executed among the program data stored in the program storage means. Program execution instructing means for specifying data and instructing the IC card to execute the data; original reference authentication data storage means for storing the original authentication data corresponding to the specified program in advance as original reference authentication data; Key data storage means for storing a plurality of key data; key instruction data output means for outputting the key instruction data to the encryption means; key data corresponding to the key instruction data; input from the IC card The same processing as the encryption processing means is performed based on the random number data and the original authentication data, and the reference authentication A reference authentication data generation means for generating over data, to said discriminating means, IC card connecting device, characterized in that it and a reference authentication data output means for outputting the reference authentication data.
【請求項9】 請求項1ないし請求項6のいずれかに記
載のICカードと、 請求項7記載のICカード接続装置と、 を備えたことを特徴とするICカードシステム。
9. An IC card system comprising: the IC card according to claim 1; and the IC card connection device according to claim 7.
【請求項10】 請求項4記載のICカードと、 請求項8記載のICカード接続装置と、 を備えたことを特徴とするICカードシステム。10. An IC card system comprising: the IC card according to claim 4; and the IC card connection device according to claim 8. 【請求項11】 プログラムデータを更新可能に予め格
納する格納手段を有するICカードの制御方法におい
て、 格納されている前記プログラムデータに基づいて前記プ
ログラムデータに固有の原認証データを生成する原認証
データ生成工程と、 前記原認証データに対し所定の演算を施すことにより認
証データを生成する認証データ生成工程と、 入力された基準認証データと生成した前記認証データと
が一致するか否かを判別する判別工程と、 前記判別に基づいて、前記基準認証データと前記認証デ
ータとが一致した場合には、当該プログラムデータに対
応するプログラムの実行を許可する実行許可工程と、 を備えたことを特徴とするICカードの制御方法。
11. A method of controlling an IC card having storage means for storing program data in an updatable manner in advance, wherein original authentication data for generating original authentication data unique to the program data based on the stored program data. A generating step; an authentication data generating step of generating authentication data by performing a predetermined operation on the original authentication data; and determining whether or not the input reference authentication data matches the generated authentication data. A determination step; and, based on the determination, when the reference authentication data matches the authentication data, an execution permission step of permitting execution of a program corresponding to the program data. IC card control method.
JP05826898A 1998-03-10 1998-03-10 IC card, IC card connection device, IC card system, and program execution control method Expired - Fee Related JP3709702B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05826898A JP3709702B2 (en) 1998-03-10 1998-03-10 IC card, IC card connection device, IC card system, and program execution control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05826898A JP3709702B2 (en) 1998-03-10 1998-03-10 IC card, IC card connection device, IC card system, and program execution control method

Publications (2)

Publication Number Publication Date
JPH11259289A true JPH11259289A (en) 1999-09-24
JP3709702B2 JP3709702B2 (en) 2005-10-26

Family

ID=13079439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05826898A Expired - Fee Related JP3709702B2 (en) 1998-03-10 1998-03-10 IC card, IC card connection device, IC card system, and program execution control method

Country Status (1)

Country Link
JP (1) JP3709702B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100423506B1 (en) * 2001-07-26 2004-03-18 주식회사 쓰리비 시스템 method of preventing an illegal software copy on-line using an IC chip installed card
JP2008541219A (en) * 2005-05-06 2008-11-20 アイオセル カンパニー リミテッド Data structure of flash memory having system area having variable size capable of data update, USB memory device having flash memory, and method for controlling system area
JP2012027916A (en) * 2010-07-21 2012-02-09 Samsung Sds Co Ltd Device and method for providing soc (system-on-chip)-based anti-malware service

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100423506B1 (en) * 2001-07-26 2004-03-18 주식회사 쓰리비 시스템 method of preventing an illegal software copy on-line using an IC chip installed card
JP2008541219A (en) * 2005-05-06 2008-11-20 アイオセル カンパニー リミテッド Data structure of flash memory having system area having variable size capable of data update, USB memory device having flash memory, and method for controlling system area
JP2012027916A (en) * 2010-07-21 2012-02-09 Samsung Sds Co Ltd Device and method for providing soc (system-on-chip)-based anti-malware service
JP2014089741A (en) * 2010-07-21 2014-05-15 Samsung Sds Co Ltd Device and method for providing anti-malware service of system-on-chip board
US8973130B2 (en) 2010-07-21 2015-03-03 Samsung Sds Co., Ltd. Device and method for providing SOC-based anti-malware service, and interface method

Also Published As

Publication number Publication date
JP3709702B2 (en) 2005-10-26

Similar Documents

Publication Publication Date Title
JP6595822B2 (en) Information processing apparatus and control method thereof
US6223284B1 (en) Method and apparatus for remote ROM flashing and security management for a computer system
US7849331B2 (en) Program update method and server
JP3638770B2 (en) Storage device with test function
US20040059916A1 (en) Memory card
US20130151836A1 (en) Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method
WO2002052386A2 (en) Method and system for software integrity control using secure hardware assisting device
KR20090007123A (en) Secure boot method and semiconductor memory system for using the method
TW201706899A (en) Security device and method of providing security service to host therein, security apparatus and computer software product
CN109814934B (en) Data processing method, device, readable medium and system
US11366911B2 (en) Cryptography module and method for operating same
JP5759827B2 (en) MEMORY SYSTEM, INFORMATION PROCESSING DEVICE, MEMORY DEVICE, AND MEMORY SYSTEM OPERATION METHOD
JP3709702B2 (en) IC card, IC card connection device, IC card system, and program execution control method
JP2004503860A (en) Data processing method and apparatus for execution of protected instructions
JP2002014871A (en) Contents check method, contents update method and processor
JP7428049B2 (en) Devices, secure elements and device secure boot methods
CN115185562B (en) Application online upgrading method, system and storage medium based on dual cores
JP7341376B2 (en) Information processing device, information processing method, and information processing program
JPH11203124A (en) Software driving method
JP6287284B2 (en) IC chip and program encryption method
JP2007179468A (en) Recording method, recording device and ic card
CN117708897A (en) Method for protecting firmware data of embedded device and embedded device
CN117708896A (en) Method for protecting firmware data of embedded device and embedded device
TW202341162A (en) Secure programming of one-time-programmable (otp) memory
CN116204867A (en) Method for upgrading signature firmware, electronic equipment and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050509

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050801

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080819

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130819

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees