JPH07210640A - Inspection method for memory incorporated in ic card - Google Patents

Inspection method for memory incorporated in ic card

Info

Publication number
JPH07210640A
JPH07210640A JP6013228A JP1322894A JPH07210640A JP H07210640 A JPH07210640 A JP H07210640A JP 6013228 A JP6013228 A JP 6013228A JP 1322894 A JP1322894 A JP 1322894A JP H07210640 A JPH07210640 A JP H07210640A
Authority
JP
Japan
Prior art keywords
program
inspection
card
eeprom
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6013228A
Other languages
Japanese (ja)
Inventor
Masaki Wakamatsu
雅樹 若松
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP6013228A priority Critical patent/JPH07210640A/en
Publication of JPH07210640A publication Critical patent/JPH07210640A/en
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PURPOSE:To inspect an incorporated memory by storing a program for memory inspection in a ROM. CONSTITUTION:A first program for inspection is loaded in a second area of an EEPROM 15 as shown by a figure (a), and this program is used to inspect a first area. Next, a second program for inspection is loaded in the first area of the EEPROM 15 as shown by a figure (b), and this program is used to inspect the second area. After the end of inspection, contents of the EEPROM 15 are erased, and an inspection end code is written in a system area.

Description

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

【0001】[0001]

【産業上の利用分野】本発明はICカード、特に、CP
Uを内蔵し、メモリの検査機能を有するICカードに関
する。
BACKGROUND OF THE INVENTION The present invention relates to an IC card, especially a CP.
The present invention relates to an IC card having a built-in U and having a memory inspection function.

【0002】[0002]

【従来の技術】磁気カードに代わる新しい情報記録媒体
として、ICカードが注目を集めている。特に、CPU
を内蔵したICカードは、高度なセキュリティを有する
ため、種々の分野での利用が期待されている。一般にI
Cカードは、RAM,ROM,EEPROMといった3
種類のメモリを内蔵しており、いずれも内蔵CPUによ
ってアクセスされる。ROM内には、CPUが実行すべ
きプログラムが格納されており、EEPROM内には、
ユーザのための個人データなどが格納される。また、R
AMはCPUが命令を実行するときのワークエリアとし
て利用される。ICカードに対するデータの送受は、リ
ーダ/ライタ装置によって行われる。リーダ/ライタ装
置からICカードに対して所定の命令を与えると、この
命令はICカード内のCPUによって実行される。
2. Description of the Related Art IC cards have attracted attention as a new information recording medium replacing magnetic cards. Especially CPU
Since the IC card having a built-in card has a high degree of security, it is expected to be used in various fields. Generally I
C card has 3 such as RAM, ROM, EEPROM
It has built-in types of memory, both of which are accessed by the built-in CPU. A program to be executed by the CPU is stored in the ROM, and an EEPROM stores
Personal data and the like for the user are stored. Also, R
The AM is used as a work area when the CPU executes instructions. Transmission / reception of data to / from the IC card is performed by a reader / writer device. When a given command is given to the IC card from the reader / writer device, this command is executed by the CPU in the IC card.

【0003】ICカードは、銀行口座の管理、代金の決
済、など社会的・経済的に重要な機能を果たすデバイス
として流通するため、ICカードの製造業者は、出荷時
に厳重な検査を行っている。特に、個人データを記録す
るために用いられるEEPROMは、たとえ1バイトの
記憶領域にでも欠陥があると、重大な支障を来たすた
め、出荷時には厳重なメモリ検査を行う必要がある。C
PUを内蔵したICカードでは、通常、内蔵メモリはす
べて内蔵CPUによってのみアクセスされ、外部から直
接内蔵メモリをアクセスすることはできない。このた
め、従来の一般的なICカードでは、メモリ検査を行う
ための検査用プログラムをROMの中に用意しておき、
出荷時には、この検査用プログラムを内蔵CPUによっ
て実行させ、内蔵メモリの検査を行っている。
Since IC cards are distributed as devices that perform socially and economically important functions such as bank account management and payment settlement, IC card manufacturers perform strict inspection at the time of shipment. . In particular, the EEPROM used for recording personal data causes serious troubles even if the storage area of 1 byte is defective, and therefore a strict memory inspection is required at the time of shipment. C
In an IC card with a built-in PU, all of the built-in memory is normally accessed only by the built-in CPU, and the built-in memory cannot be directly accessed from outside. Therefore, in a conventional general IC card, a test program for performing a memory test is prepared in the ROM.
At the time of shipment, this inspection program is executed by the built-in CPU to inspect the built-in memory.

【0004】[0004]

【発明が解決しようとする課題】ICカードは、携帯可
能な非常に薄い媒体であるため、通常のOA機器などに
比べて内蔵メモリの容量が著しく制限される。これに反
して、ICカードに処理させるべき内容は複雑化する一
方であり、ROM内に書き込むべきアプリケーションプ
ログラムの容量は益々増える傾向にある。このため、R
OMの容量の一部を、メモリ検査用のプログラムを格納
するために割くと、ICカードに本来の処理機能を実行
させるために必要なアプリケーションプログラムの容量
が制限され、ICカードに十分な機能を与えることがで
きなくなる。
Since the IC card is an extremely thin medium that can be carried, the capacity of the built-in memory is significantly limited as compared with the ordinary OA equipment. On the contrary, the contents to be processed by the IC card are becoming more complicated, and the capacity of application programs to be written in the ROM tends to increase more and more. Therefore, R
If a part of the capacity of the OM is set aside for storing the memory inspection program, the capacity of the application program necessary for causing the IC card to execute the original processing function is limited, and the IC card is provided with a sufficient function. I will not be able to give.

【0005】また、ROM内にメモリ検査用のプログラ
ムを格納しておくと、万一、CPUが誤動作した場合
に、メモリ内のデータを誤って書き換えてしまうような
事故が発生する可能性がある。すなわち、メモリ検査用
プログラムは、検査対象となるメモリに対する書き込み
動作と読出し動作を行うルーチンを含んでいるため、C
PUが暴走したときなどに、このルーチンが誤って実行
されると、メモリに対する予期せぬ書き込み処理が行わ
れることになり、メモリ内のデータが破壊されてしまう
ことになる。特に、EEPROM内には、重要な個人デ
ータが記録されるため、万が一にも、データが誤って書
き換えられる事態が生じると重大な問題になる。また、
事故だけに限らず、不正利用者がこのROM内のメモリ
検査用プログラムを利用して、EEPROM内の個人デ
ータを不正に改変したりするおそれもあり、セキュリテ
ィの面でも問題である。
Further, if the memory inspection program is stored in the ROM, in the unlikely event that the CPU malfunctions, there is a possibility of accidentally rewriting the data in the memory. . That is, since the memory inspection program includes a routine for performing a writing operation and a reading operation for the memory to be inspected, C
If this routine is erroneously executed when the PU goes out of control, an unexpected write process to the memory will be performed, and the data in the memory will be destroyed. In particular, since important personal data is recorded in the EEPROM, in the unlikely event that the data is accidentally rewritten, it becomes a serious problem. Also,
Not only in the case of an accident, but there is also a risk that an unauthorized user may illegally modify the personal data in the EEPROM by using the memory inspection program in the ROM, which is also a security problem.

【0006】そこで本発明は、ROM内にメモリ検査用
のプログラムを格納することなしに、内蔵メモリの検査
を行うことができるICカード内蔵メモリの検査方法を
提供することを目的とする。
It is therefore an object of the present invention to provide an IC card built-in memory inspection method capable of inspecting the built-in memory without storing a memory inspection program in the ROM.

【0007】[0007]

【課題を解決するための手段】[Means for Solving the Problems]

(1) 本願第1の発明は、少なくともRAM,ROM,
EEPROMの3種類のメモリと、これらのメモリをア
クセスする機能をもったCPUと、を内蔵するICカー
ドについて、メモリの検査を行う方法において、EEP
ROM内に、メモリ検査用プログラムを書き込み、この
検査用プログラムを実行することによりメモリの検査を
行い、検査終了後に検査用プログラムを消去するように
したものである。
(1) At least a RAM, a ROM,
In a method of inspecting a memory for an IC card having three kinds of memories of EEPROM and a CPU having a function of accessing these memories,
A memory inspection program is written in the ROM, the memory inspection is performed by executing the inspection program, and the inspection program is erased after the inspection is completed.

【0008】(2) 本願第2の発明は、上述の第1の発
明に係る検査方法において、EEPROMの第1の領域
に対する検査を行う第1の検査用プログラムを、EEP
ROMの第2の領域に書き込む第1の段階と、第1の検
査用プログラムを実行して第1の領域に対する検査を行
う第2の段階と、EEPROMの第2の領域に対する検
査を行う第2の検査用プログラムを、EEPROMの第
1の領域に書き込む第3の段階と、第2の検査用プログ
ラムを実行して第2の領域に対する検査を行う第4の段
階と、EEPROM内に書き込んだ検査用プログラムを
消去する第5の段階と、を行うことにより、EEPRO
Mに対するメモリ検査を行うようにしたものである。
(2) A second invention of the present application is the inspection method according to the above-mentioned first invention, wherein a first inspection program for inspecting the first area of the EEPROM is
A first step of writing in the second area of the ROM, a second step of executing the first inspection program to inspect the first area, and a second step of inspecting the second area of the EEPROM. Of the inspection program written in the first area of the EEPROM, a fourth step of executing the second inspection program to inspect the second area, and the inspection written in the EEPROM. The fifth step of erasing the application program and
The memory inspection for M is performed.

【0009】(3) 本願第3の発明は、上述の第2の発
明に係る検査方法において、外部からICカードに対し
て、EEPROM内へプログラムコードの入力を行うこ
とを示すプログラムコード入力指示と、所定のプログラ
ムコードと、EEPROM内のアドレスと、が与えられ
たときに、与えられたプログラムコードを与えられたア
ドレスに格納する処理を行うプログラムコード入力処理
と、外部からICカードに対して、EEPROM内のプ
ログラムを実行することを示すプログラム実行指示と、
EEPROM内のアドレスと、が与えられたときに、与
えられたアドレスに格納されているプログラムを実行す
るプログラム実行処理と、を行うためのルーチンをRO
M内に格納しておき、外部からICカードに対して、プ
ログラムコード入力指示と、第1の検査用プログラムの
コードと、第2の領域の所定アドレスと、を与えること
により第1の段階を実行させ、外部からICカードに対
して、プログラム実行指示と、第2の領域の所定アドレ
スと、を与えることにより第2の段階を実行させ、外部
からICカードに対して、プログラムコード入力指示
と、第2の検査用プログラムのコードと、第1の領域の
所定アドレスと、を与えることにより第3の段階を実行
させ、外部からICカードに対して、プログラム実行指
示と、第1の領域の所定アドレスと、を与えることによ
り第4の段階を実行させるようにしたものである。
(3) The third invention of the present application is a program code input instruction indicating that a program code is inputted to the IC card from the outside in the inspection method according to the second invention. , When a given program code and an address in the EEPROM are given, a program code input process for storing the given program code at the given address, and an IC card from the outside, A program execution instruction indicating that the program in the EEPROM is executed,
A routine for executing an address in the EEPROM and a program execution process for executing the program stored at the given address when the RO is given
The first step is stored in M and externally given to the IC card a program code input instruction, a code of the first inspection program, and a predetermined address of the second area. The second step is executed by giving a program execution instruction and a predetermined address of the second area to the IC card from the outside, and a program code input instruction from the outside to the IC card. , The second inspection program code and the predetermined address of the first area are given to execute the third step, and the program execution instruction and the first area The fourth step is executed by giving a predetermined address and.

【0010】(4) 本願第4の発明は、上述の第3の発
明に係る検査方法において、EEPROM内の所定のア
ドレス場所に、検査完了情報を書き込むための特別な領
域を設け、ICカードに対してリセット命令が与えられ
たときに、上記特別な領域に検査完了情報が書き込まれ
ているか否かを判断し、検査完了情報が書き込まれてい
ない場合にのみ第1の段階から第5の段階までの処理が
実行されるようなルーチンを、ROM内に格納するよう
にしたものである。
(4) A fourth invention of the present application is the inspection method according to the above-mentioned third invention, wherein a special area for writing the inspection completion information is provided at a predetermined address location in the EEPROM to provide an IC card. On the other hand, when a reset command is given, it is determined whether the inspection completion information is written in the special area, and only when the inspection completion information is not written, the first to fifth steps are performed. A routine for executing the processes up to is stored in the ROM.

【0011】[0011]

【作 用】本発明に係るICカード内蔵メモリの検査方
法の特徴は、メモリ検査用プログラムを、従来のように
ROM内に常駐させておくのではなく、検査実行時にE
EPROM内に書き込む点にある。ICカード製造メー
カは、検査実行時に、検査用プログラムをEEPROM
内に書き込み、このプログラムを実行してメモリに対す
る検査を行った後、このプログラムを消去して出荷を行
えばよい。EEPROM内には、検査用プログラムは残
っていないため、従来のICカードと同様に、EEPR
OMをICカードの使用目的に応じたデータ領域として
使用することができる。しかも、ROM内には、検査用
プログラムは存在しないため、ROMに割り当てられた
メモリ容量を、ICカード本来の処理を実行させるため
のアプリケーションプログラムの格納に用いることがで
き、効率良いメモリ資源の利用を図ることができる。ま
た、CPUの誤動作によって、検査用プログラムが誤っ
て実行されてしまうおそれもなく、不正利用者によって
検査用プログラムを悪用されるおそれもない。
[Operation] The feature of the inspection method of the IC card built-in memory according to the present invention is that the memory inspection program is not resident in the ROM as in the conventional case, but it is
The point is to write in the EPROM. At the time of executing the inspection, the IC card manufacturer supplies the inspection program to the EEPROM.
The program may be written in the memory, the program may be executed to inspect the memory, and then the program may be erased before shipment. Since the inspection program does not remain in the EEPROM, the EEPROM is the same as the conventional IC card.
The OM can be used as a data area according to the purpose of use of the IC card. Moreover, since the inspection program does not exist in the ROM, the memory capacity allocated to the ROM can be used for storing the application program for executing the original processing of the IC card, and efficient use of memory resources Can be achieved. Further, there is no possibility that the inspection program will be erroneously executed due to the malfunction of the CPU, and there is no possibility that the inspection program will be misused by an unauthorized user.

【0012】本発明では、EEPROM内にロードした
検査用プログラムによって、EEPROM自身を検査す
る必要があるため、EEPROMを2つの領域に分割
し、検査は個々の領域ごとに別々に行われる。すなわ
ち、第1の領域の検査を行うときには、検査用プログラ
ムは第2の領域にロードされ、第2の領域の検査を行う
ときには、検査用プログラムは第1の領域にロードされ
る。本発明を適用するICカードでは、ROM内に、外
部から検査用プログラムをEEPROMにロードするた
めのプログラムコード入力処理ルーチンと、EEPRO
M内のプログラムを実行するプログラム実行処理ルーチ
ンと、が用意される。これらの各ルーチンを用いて、検
査用プログラムのロード処理と検査の実行処理とが行わ
れる。
According to the present invention, since the EEPROM itself needs to be inspected by the inspection program loaded in the EEPROM, the EEPROM is divided into two areas, and the inspection is performed separately for each area. That is, when the inspection of the first area is performed, the inspection program is loaded into the second area, and when the inspection of the second area is performed, the inspection program is loaded into the first area. In an IC card to which the present invention is applied, a program code input processing routine for loading an inspection program into an EEPROM from the outside, and an EEPROM
A program execution processing routine for executing the program in M is prepared. Using these respective routines, the inspection program loading process and the inspection execution process are performed.

【0013】[0013]

【実施例】以下、本発明を図示する実施例に基づいて説
明する。図1は、一般的なICカード10をリーダ/ラ
イタ装置20に接続した状態を示すブロック図である。
ICカード10内には、リーダ/ライタ装置20と接続
するためのI/O装置11と、CPU12と、RAM1
3と、ROM14と、EEPROM15と、が内蔵され
ている。CPU12は、I/O装置11を介してリーダ
/ライタ装置20から与えられる命令を受けとり、これ
を実行する。3種類のメモリのうち、RAM13は揮発
性のメモリであって、CPU12のワークエリアとして
利用される。ROM14およびEEPROM15は、い
ずれも不揮発性のメモリであるが、ROM14は読み出
し専用であるのに対し、EEPROM15は随時書き換
えを行うことができる。このため、通常は、ROM14
には、CPU12に実行させるプログラムが用意され、
EEPROM15には、ICカード10の用途に応じた
データが記録される。したがって、従来のICカードで
は、ROM14内にメモリ検査用プログラムが書き込ま
れていた。ICカード製造メーカは、このICカードを
出荷する前に、リーダ/ライタ装置20からCPU12
に対して所定のメモリ検査コマンドを与えることによ
り、メモリの検査を行うことができる。すなわち、メモ
リ検査コマンドを受けたCPU12は、ROM14内の
メモリ検査用プログラムを実行し、EEPROM15や
RAM13を検査し、その結果をリーダ/ライタ装置2
0に報告する処理を行う。
The present invention will be described below based on illustrated embodiments. FIG. 1 is a block diagram showing a state in which a general IC card 10 is connected to a reader / writer device 20.
In the IC card 10, an I / O device 11 for connecting to the reader / writer device 20, a CPU 12, and a RAM 1
3, ROM 14, and EEPROM 15 are built in. The CPU 12 receives an instruction given from the reader / writer device 20 via the I / O device 11 and executes it. Of the three types of memories, the RAM 13 is a volatile memory and is used as a work area for the CPU 12. The ROM 14 and the EEPROM 15 are both non-volatile memories, but the ROM 14 is read-only, whereas the EEPROM 15 can be rewritten at any time. Therefore, normally, the ROM 14
Has a program to be executed by the CPU 12,
In the EEPROM 15, data according to the use of the IC card 10 is recorded. Therefore, in the conventional IC card, the memory inspection program is written in the ROM 14. Before the IC card manufacturer ships the IC card, the reader / writer device 20 to the CPU 12
The memory can be inspected by giving a predetermined memory inspection command to. That is, the CPU 12 having received the memory inspection command executes the memory inspection program in the ROM 14, inspects the EEPROM 15 and the RAM 13, and outputs the result to the reader / writer device 2.
Perform processing to report to 0.

【0014】図2は、これら3種類のメモリに対するア
ドレス割当ての一例を示すメモリマップである。この例
では、ROM14に対して「0000〜0FFF」、R
AM13に対して「1000〜1FFF」、EEPRO
M15に対して「2000〜2FFF」なるアドレスが
割り当てられている(アドレス値はいずれも16進数表
示、以下、本明細書におけるアドレス値はすべて16進
数表示とする)。従来のICカードでは、前述のよう
に、ROM14内にメモリ検査用プログラムが用意され
ていたので、ROM14に割り当てられた「0000〜
0FFF」なる4kバイトのメモリ容量のうちの一部
は、このメモリ検査用プログラムによって占有されてし
まい、ICカードに本来の処理機能を与えるためのアプ
リケーションプログラムを格納する領域がそれだけ減っ
てしまうという問題があることは既に述べたとおりであ
る。本発明では、メモリ検査用プログラムは、EEPR
OM15内に書き込まれて実行され、実行後は消去され
る。ただし、EEPROM15内に書き込まれたメモリ
検査用プログラムを用いて、RAM13を検査する場合
は何ら問題はないが、EEPROM15自身を検査する
場合には何らかの工夫が必要である。メモリ検査用プロ
グラムは、検査対象となるメモリ領域に対する書き込み
処理と読出し処理とを含むため、メモリ検査用プログラ
ムは自分自身を書き換えてしまうおそれがあるからであ
る。そこで、本発明では、次のような工夫を行ってい
る。
FIG. 2 is a memory map showing an example of address allocation for these three types of memories. In this example, “0000 to 0FFF”, R for the ROM 14
"1000 to 1 FFF" for AM13, EEPRO
An address of "2000 to 2FFF" is assigned to M15 (all address values are displayed in hexadecimal notation, and hereinafter, all address values in this specification are expressed in hexadecimal notation). In the conventional IC card, as described above, since the memory inspection program is prepared in the ROM 14, "0000-0000" assigned to the ROM 14 is assigned.
A part of the memory capacity of 4 kbytes "0FFF" is occupied by the memory inspection program, and the area for storing the application program for giving the original processing function to the IC card is reduced accordingly. That is as described above. In the present invention, the memory inspection program is EEPR.
It is written and executed in the OM 15, and is erased after execution. However, when the RAM 13 is inspected by using the memory inspection program written in the EEPROM 15, there is no problem, but when inspecting the EEPROM 15 itself, some kind of device is required. This is because the memory inspection program includes a writing process and a reading process for the memory area to be inspected, and therefore the memory inspection program may rewrite itself. Therefore, in the present invention, the following measures are taken.

【0015】この実施例では、図3のメモリマップ(1
行は16バイト分のメモリ領域を示す)に示すように、
EEPROM15に割り当てられた「2000〜2FF
F」なるアドレス領域を、前半の第1の領域「2000
〜27FF」と後半の第2の領域「2800〜2FF
F」とに分けて取り扱う。しかも、第1の領域の先頭の
16バイトの領域(図3の1行目の領域)については、
特に「システム領域」と定義し、この領域については、
アプリケーションプログラムでの使用は禁止しておく。
この「システム領域」を設ける意味については、後述す
ることにする。
In this embodiment, the memory map (1
(The line shows the memory area for 16 bytes)
"2000 to 2FF" assigned to the EEPROM 15
The address area "F" is set to the first area "2000" in the first half.
~ 27FF "and the second area of the latter half" 2800-2FF "
It will be handled separately as "F". Moreover, regarding the 16-byte area at the beginning of the first area (the area on the first line in FIG. 3),
Especially, it is defined as "system area".
Use in application programs is prohibited.
The meaning of providing this "system area" will be described later.

【0016】本発明の検査方法は、次の5段階の処理か
ら構成される。 第1の段階:第1の領域に対する検査を行う第1の検
査用プログラムを、第2の領域に書き込む(図4(a) 参
照)。 第2の段階:第1の検査用プログラムを実行して、第
1の領域(図4(a) にハッチングを施した検査対象領
域)に対する検査を行う。 第3の段階:第2の領域に対する検査を行う第2の検
査用プログラムを、第1の領域に書き込む(図4(b) 参
照)。 第4の段階:第2の検査用プログラムを実行して、第
2の領域(図4(b) にハッチングを施した検査対象領
域)に対する検査を行う。 第5の段階:書き込んだ検査用プログラムを消去す
る。
The inspection method of the present invention comprises the following five steps of processing. First stage: The first inspection program for inspecting the first area is written in the second area (see FIG. 4 (a)). Second stage: The first inspection program is executed to inspect the first area (the area to be inspected hatched in FIG. 4A). Third step: A second inspection program for inspecting the second area is written in the first area (see FIG. 4 (b)). Fourth stage: The second inspection program is executed to inspect the second area (the area to be inspected hatched in FIG. 4B). Fifth step: Erase the written inspection program.

【0017】ここで、第1の検査用プログラムは、アド
レス領域「2000〜27FF」に対する検査を行うプ
ログラムであり、たとえば、2000番地から27FF
番地までのすべてに「FF」を書き込み、続いて、各番
地からデータを読出して正しく「FF」が書き込まれて
いたかを判定するような処理プログラムである。実際に
は、「FF」だけでなく、「00」を書き込んだり、そ
の他種々のデータの書き込みが行われる。また、書き込
みおよび読出しは、たとえば100回とか、繰り返して
行われる。第2の検査用プログラムも同様に、アドレス
領域「2800〜2FFF」に対する検査を行うプログ
ラムである。
Here, the first inspection program is a program for inspecting the address area "2000 to 27FF", for example, from address 2000 to 27FF.
The processing program is such that "FF" is written to all addresses up to, and then data is read from each address to determine whether "FF" has been correctly written. Actually, not only "FF" but also "00" is written and various other data is written. Writing and reading are repeated 100 times, for example. Similarly, the second inspection program is a program for inspecting the address areas “2800 to 2FFF”.

【0018】ところで、図1に示されているように、C
PU12を内蔵したICカード10では、RAM13,
ROM14,EEPROM15は、通常、CPU12に
よってのみアクセスされ、これらのメモリをリーダ/ラ
イタ装置20から直接アクセスすることはできない。こ
の特徴は、高度のセキュリティを確保する上で役に立
つ。したがって、上述の各段階の処理は、すべてCPU
12によって実行する必要がある。そこで、この実施例
では、CPU12に対するコマンドとして、次の2つの
コマンドを定義してある。
By the way, as shown in FIG.
In the IC card 10 incorporating the PU 12, the RAM 13,
The ROM 14 and the EEPROM 15 are usually accessed only by the CPU 12, and these memories cannot be directly accessed by the reader / writer device 20. This feature helps ensure a high degree of security. Therefore, the processing in each of the above steps is performed by the CPU
12 must be performed. Therefore, in this embodiment, the following two commands are defined as commands to the CPU 12.

【0019】第1のコマンドは、図5にフォーマットが
示されているコード入力コマンドである。このコマンド
は、外部(リーダ/ライタ装置20)から与えられたコ
ードを、EEPROM15内の所定のアドレスに入力
(ロード)するためのコマンドである。この実施例のI
Cカードでは、リーダ/ライタ装置20からICカード
10に与える種々のコマンドが定義されているが、いず
れのコマンドも1バイト目がコマンド種別を示すコード
になっている。図5に示すコード入力コマンドでは、そ
の種別を示す1バイト目は「01」である。結局、この
1バイト目の「01」は、このコマンドが、EEPRO
M15内へのコード入力を要求するコマンドであること
を示している。続く2,3バイト目には、入力すべきコ
ードの格納先頭アドレス(EEPROM15に割り当て
られたアドレス)が続き、次の4,5バイト目には、入
力すべきコードのコード長が続き、次の6バイト目以降
に入力すべきコード自身が続くことになる。
The first command is a code input command whose format is shown in FIG. This command is a command for inputting (loading) a code given from the outside (reader / writer device 20) to a predetermined address in the EEPROM 15. I of this example
In the C card, various commands given from the reader / writer device 20 to the IC card 10 are defined, but the first byte of each command is a code indicating the command type. In the code input command shown in FIG. 5, the first byte indicating the type is “01”. After all, this command is EEPRO for this first byte "01".
It indicates that this is a command requesting a code input into M15. The storage start address of the code to be input (the address assigned to the EEPROM 15) follows at the second and third bytes, and the code length of the code to be input follows at the next fourth and fifth bytes. The code itself to be input follows the sixth byte.

【0020】第2のコマンドは、図6にフォーマットが
示されているプログラム実行コマンドである。このコマ
ンドは、EEPROM15内にロードされたプログラム
を実行する指示を与えるコマンドである。このコマンド
についての種別は、1バイト目に示されている「02」
である。別言すれば、この1バイト目の「02」は、こ
のコマンドが、EEPROM15内にロードされたプロ
グラムの実行を要求するコマンドであることを示してい
る。続く2,3バイト目には、実行すべきプログラムの
開始アドレス(EEPROM15に割り当てられたアド
レス)が続く。
The second command is a program execution command whose format is shown in FIG. This command is a command that gives an instruction to execute the program loaded in the EEPROM 15. The type of this command is "02" shown in the first byte.
Is. In other words, the first byte “02” indicates that this command is a command requesting execution of the program loaded in the EEPROM 15. The start address of the program to be executed (the address assigned to the EEPROM 15) follows the second and third bytes.

【0021】もちろん、CPU12に対するコマンド
は、上述の2つのコマンドだけではなく、種々のコマン
ドが定義されているが、他の一般コマンドについては、
ここでは説明を省略する。なお、これらのコマンドが外
部(リーダ/ライタ装置20)から与えられたときに、
コマンドを解釈して実行するルーチンは、ROM14内
に格納されていることになる。
Of course, the command to the CPU 12 is not limited to the above-mentioned two commands, but various commands are defined.
The description is omitted here. When these commands are given from the outside (reader / writer device 20),
A routine for interpreting and executing the command is stored in the ROM 14.

【0022】さて、上述した2つのコマンドを解釈して
実行できるICカード10が用意できたら、リーダ/ラ
イタ装置20側では、図7に示すような5種類のコマン
ドを用意する。これらのコマンドのうち、コマンド1〜
3は、図5に示すコード入力コマンド(1バイト目のコ
マンド種別が「01」であるコマンド)であり、コマン
ド4,5は、図6に示すプログラム実行コマンド(1バ
イト目のコマンド種別が「02」であるコマンド)であ
る。以下、個々のコマンドの意味を説明しよう。
When the IC card 10 capable of interpreting and executing the above-mentioned two commands is prepared, the reader / writer device 20 prepares five kinds of commands as shown in FIG. Of these commands, commands 1-
3 is a code input command shown in FIG. 5 (command whose first byte command type is “01”), and commands 4 and 5 are program execution commands shown in FIG. 6 (first byte command type is “01”). 02 ”). The meaning of each command is explained below.

【0023】コマンド1は、第1の検査用プログラムコ
ードの入力を行うためのコマンドである。このコマンド
の2,3バイト目の「2800」は、格納先頭アドレス
が「2800」であることを示し、4,5バイト目の
「XXXX」は、後続するプログラムのコード長が「X
XXX」バイト(具体的な数値は示していない)である
ことを示している。そして、6バイト目以降に、「第1
の検査用プログラム」の実際のプログラムコードが記述
されている。したがって、リーダ/ライタ装置20から
ICカード10に対して、このコマンド1が与えられる
と、CPU12は、図4(a) に示すように、「第1の検
査用プログラム」をEEPROM15内の「2800」
番地からのアドレスに格納する処理を行うことになる。
Command 1 is a command for inputting the first inspection program code. "2800" of the second and third bytes of this command indicates that the storage start address is "2800", and "XXXX" of the fourth and fifth bytes indicates that the code length of the following program is "X".
XXX ”bytes (no specific numerical value is shown). Then, after the 6th byte, the "first
The actual program code of the "inspection program of" is described. Therefore, when this command 1 is given from the reader / writer device 20 to the IC card 10, the CPU 12 causes the "first inspection program" to be "2800" in the EEPROM 15 as shown in FIG. 4 (a). "
The process of storing at the address from the address will be performed.

【0024】コマンド2は、第2の検査用プログラムコ
ードの入力を行うためのコマンドである。このコマンド
の2,3バイト目の「2010」は、格納先頭アドレス
が「2010」であることを示し、4,5バイト目の
「XXXX」は、後続するプログラムのコード長が「X
XXX」バイト(具体的な数値は示していない)である
ことを示している。そして、6バイト目以降に、「第2
の検査用プログラム」の実際のプログラムコードが記述
されている。したがって、リーダ/ライタ装置20から
ICカード10に対して、このコマンド2が与えられる
と、CPU12は、図4(b) に示すように、「第2の検
査用プログラム」をEEPROM15内の「2010」
番地からのアドレスに格納する処理を行うことになる。
Command 2 is a command for inputting the second inspection program code. The second and third bytes “2010” of this command indicate that the storage start address is “2010”, and the fourth and fifth bytes “XXXX” indicate that the code length of the subsequent program is “X”.
XXX ”bytes (no specific numerical value is shown). Then, after the 6th byte, "second
The actual program code of the "inspection program of" is described. Therefore, when this command 2 is given from the reader / writer device 20 to the IC card 10, the CPU 12 causes the "second inspection program" to be stored in the "2010" in the EEPROM 15 as shown in FIG. 4B. "
The process of storing at the address from the address will be performed.

【0025】コマンド3は、「検査終了コード」の入力
を行うためのコマンドである。このコマンドの2,3バ
イト目の「2000」は、格納先頭アドレスが「200
0」であることを示し、4,5バイト目の「0001」
は、後続するコード長が1バイトであることを示してい
る。そして、6バイト目に、「検査終了コード」である
「5A」が記述されている。ここで、「5A」というコ
ード自身には特に意味はなく、1つのユニークな値とし
て「5A」を「検査終了コード」と取り決めただけのこ
とである。結局、リーダ/ライタ装置20からICカー
ド10に対して、このコマンド3が与えられると、CP
U12は、「検査終了コード」である「5A」をEEP
ROM15内の「2000」番地に書き込む処理を行う
ことになる。図3に示すように、アドレス「2000〜
200F」は、「システム領域」として予約された領域
であり、特にその先頭番地「2000」は、検査が終了
したか否かのフラグとして機能させるアドレスとなり、
ここでは、この2000番地のデータをFLGと呼ぶこ
とにする。この実施例では、FLG=「5A」の場合に
は、EEPROM15の検査は終了していることを意味
し、FLG≠「5A」の場合には、EEPROM15の
検査は終了していないことを意味する。
Command 3 is a command for inputting an "inspection end code". In the second and third bytes "2000" of this command, the storage start address is "200".
"0", and "0001" at the 4th and 5th bytes
Indicates that the following code length is 1 byte. Then, "5A" which is the "inspection end code" is described in the 6th byte. Here, the code "5A" itself has no special meaning, and "5A" is simply agreed as the "inspection end code" as one unique value. After all, when this command 3 is given from the reader / writer device 20 to the IC card 10, the CP
U12 EEPs "5A" which is the "inspection end code"
The process of writing to the address "2000" in the ROM 15 will be performed. As shown in FIG. 3, addresses “2000-
"200F" is an area reserved as a "system area", and especially the head address "2000" is an address which functions as a flag indicating whether or not the inspection is completed.
Here, the data at address 2000 will be referred to as FLG. In this embodiment, if FLG = “5A”, it means that the inspection of the EEPROM 15 is completed, and if FLG ≠ “5A”, it means that the inspection of the EEPROM 15 is not completed. .

【0026】コマンド4は、第1の検査用プログラムの
実行を行うためのコマンドである。このコマンドの2,
3バイト目の「2800」は、実行開始アドレスが「2
800」であることを示す。したがって、リーダ/ライ
タ装置20からICカード10に対して、このコマンド
4が与えられると、CPU12は、図4(a) に示すよう
に、「2800」番地にロードされている「第1の検査
用プログラム」を実行することになり、その結果、同図
にハッチングで示されている検査対象領域「2000〜
27FF」が検査されることになる。
Command 4 is a command for executing the first inspection program. 2, of this command
The execution start address of the second byte "2800" is "2800".
800 ”. Therefore, when this command 4 is given from the reader / writer device 20 to the IC card 10, the CPU 12 causes the "first inspection" loaded in the address "2800" as shown in FIG. 4 (a). Program "is executed, and as a result, the inspection target area" 2000- "indicated by hatching in FIG.
27FF ”will be inspected.

【0027】コマンド5は、第2の検査用プログラムの
実行を行うためのコマンドである。このコマンドの2,
3バイト目の「2010」は、実行開始アドレスが「2
010」であることを示す。したがって、リーダ/ライ
タ装置20からICカード10に対して、このコマンド
5が与えられると、CPU12は、図4(b) に示すよう
に、「2010」番地にロードされている「第2の検査
用プログラム」を実行することになり、その結果、同図
にハッチングで示されている検査対象領域「2800〜
2FFF」が検査されることになる。
Command 5 is a command for executing the second inspection program. 2, of this command
In the third byte “2010”, the execution start address is “2”.
010 ”. Therefore, when this command 5 is given from the reader / writer device 20 to the IC card 10, the CPU 12 causes the "second inspection" loaded at the address "2010" as shown in FIG. 4 (b). As a result, the inspection target area "2800-" indicated by hatching in FIG.
2FFF ”will be checked.

【0028】この実施例では、内蔵メモリの検査を、I
Cカードに対して最初にリセット命令を与えたときに実
行することができるように、ROM14内に図8に示す
ようなリセットルーチンを用意してある。すなわち、リ
ーダ/ライタ装置20からICカード10に対してリセ
ット命令が与えられると、CPU12は、図8の流れ図
に示すリセットルーチンを実行することになる。まず、
ステップS1において、FLG=「5A」であるか否か
の判断がなされる。前述したように、FLGは、EEP
ROM15内の「システム領域」である2000番地の
データであり、このデータは検査終了コードとして機能
する。ステップS1において、FLG=「5A」であっ
た場合には、検査は終了しているので、ステップS2に
おいて通常のリセット処理(従来のICカードにおける
リセットルーチンで実行される処理:たとえば、変数の
初期化などの処理)が行われた後、アプリケーションプ
ログラムルーチンが実行される。一方、ステップS1に
おいて、FLG≠「5A」であった場合には、検査はま
だ行われていないので、ステップS3以降の手順により
検査が行われる。
In this embodiment, the internal memory is tested by I
A reset routine as shown in FIG. 8 is prepared in the ROM 14 so that it can be executed when a reset command is first given to the C card. That is, when a reset command is given to the IC card 10 from the reader / writer device 20, the CPU 12 executes the reset routine shown in the flowchart of FIG. First,
In step S1, it is determined whether FLG = “5A”. As mentioned above, FLG is EEP
This is data at address 2000, which is the "system area" in the ROM 15, and this data functions as an inspection end code. If FLG = “5A” in step S1, the inspection has been completed, so in step S2 a normal reset process (process executed in a reset routine of a conventional IC card: for example, initializing a variable) is performed. Processing) is performed, and then the application program routine is executed. On the other hand, if FLG ≠ “5A” in step S1, the inspection has not yet been performed, so the inspection is performed by the procedure from step S3.

【0029】まず、ステップS3において、コマンド待
ちの状態になる。すなわち、リーダ/ライタ装置20側
から何らかのコマンドが与えられるまで待機状態とな
る。何らかのコマンドが与えられたら、まずステップS
4で、そのコマンドが「コード入力コマンド」であるか
否かが判断される(すなわち、与えられたコマンドの1
バイト目のコマンド種別が「01」か否かが判断され
る)。「コード入力コマンド」でない場合には、次のス
テップS5で、そのコマンドが「プログラム実行コマン
ド」であるか否かが判断される(すなわち、与えられた
コマンドの1バイト目のコマンド種別が「02」か否か
が判断される)。与えられたコマンドが「コード入力コ
マンド」でも「プログラム実行コマンド」でもなかった
場合には、ステップS6において、リーダ/ライタ装置
20側に異常コマンド受信レスポンスが送出され、再び
ステップS1からの処理を実行することになる。すなわ
ち、ステップS3以降の検査処理は、図7に示す5つの
コマンド1〜5のうちのいずれかが与えられることを前
提としているのである。
First, in step S3, a command waiting state is entered. That is, a standby state is provided until some command is given from the reader / writer device 20 side. If any command is given, first step S
At 4, it is determined whether the command is a "code input command" (ie 1 of the given command).
It is determined whether the command type at the byte is "01"). If it is not the "code input command", it is determined in the next step S5 whether or not the command is the "program execution command" (that is, the command type of the first byte of the given command is "02". It is determined whether or not). If the given command is neither a "code input command" nor a "program execution command", an abnormal command reception response is sent to the reader / writer device 20 side in step S6, and the process from step S1 is executed again. Will be done. That is, the inspection process after step S3 is based on the premise that any one of the five commands 1 to 5 shown in FIG. 7 is given.

【0030】さて、リーダ/ライタ装置20から与えら
れたコマンドが、「コード入力コマンド」であった場合
には、ステップS4からステップS7へ分岐し、EEP
ROM15内へのコード入力処理が実行される。前述し
たように、「コード入力コマンド」は図5に示すような
フォーマットを有するコマンドであり、このコマンドの
2,3バイト目に示されている格納先頭アドレスに後続
するアドレス場所に、このコマンドの6バイト目以降の
入力すべきコードが格納される。そして、次のステップ
S8において、再びFLG=「5A」か否かが判断さ
れ、FLG=「5A」であった場合には、ステップS9
において、FLG以外のEEPROM領域(2001〜
2FFF番地)に対して消去処理が実行された後、ステ
ップS1へ戻ることになる。一方、FLG≠「5A」で
あった場合には、ステップS8からステップS1へその
まま戻ることになる。
When the command given from the reader / writer device 20 is the "code input command", the process branches from step S4 to step S7, and the EEP is executed.
Code input processing to the ROM 15 is executed. As described above, the “code input command” is a command having a format as shown in FIG. 5, and this command is stored in the address location subsequent to the storage start address shown in the second and third bytes of this command. The code to be input after the 6th byte is stored. Then, in the next step S8, it is again determined whether FLG = “5A”. If FLG = “5A”, step S9
In the EEPROM area (2001 to 2001) other than FLG
After the erasing process is executed for the address 2FFF), the process returns to step S1. On the other hand, if FLG ≠ “5A”, the process directly returns from step S8 to step S1.

【0031】一方、リーダ/ライタ装置20から与えら
れたコマンドが、「プログラム実行コマンド」であった
場合には、ステップS5からステップS10へ分岐し、
EEPROM15内の指定プログラムが実行される。前
述したように、「プログラム実行コマンド」は図6に示
すようなフォーマットを有するコマンドであり、このコ
マンドの2,3バイト目に示されている実行開始アドレ
スから、プログラムが実行されることになる。このステ
ップS10の処理は、EEPROM15内のプログラム
をサブルーチンコールする形式で行われ、このEEPR
OM15内プログラムの実行が完了すると、ステップS
10からステップS1へと戻ることになる。
On the other hand, if the command given from the reader / writer device 20 is the "program execution command", the process branches from step S5 to step S10.
The designated program in the EEPROM 15 is executed. As described above, the “program execution command” is a command having the format shown in FIG. 6, and the program is executed from the execution start address shown in the second and third bytes of this command. . The process of step S10 is performed in the form of a subroutine call of the program in the EEPROM 15.
When the execution of the program in the OM15 is completed, step S
It returns from 10 to step S1.

【0032】このステップS10からサブルーチンコー
ルされるプログラムは、EEPROM15内にロードさ
れたメモリ検査用プログラムである。前述したように、
この実施例では、EEPROM15の第1の領域を検査
するための第1の検査用プログラムと、第2の領域を検
査するための第2の検査用プログラムと、が用意されて
いる。図9は、このうちの第1の検査用プログラムの処
理手順の一例を示す流れ図である。このプログラムで
は、まずステップS11において、アドレス「2000
〜27FF番地」にデータ「FF」が書き込まれる。続
くステップS12では、同じアドレス「2000〜27
FF番地」から1バイトずつデータが読み出され、それ
らが「FF」であるか否かが検査される。こうして、読
み出したデータがいずれも「FF」であった場合には、
ステップS13において正常と判断され、ステップS1
4において、リーダ/ライタ装置20に対する正常レス
ポンスが送出される。一方、読み出したデータに「F
F」以外のものが含まれていたら、ステップS13にお
いて異常と判断され、ステップS15において、リーダ
/ライタ装置20に対する異常レスポンスが送出され
る。なお、この図9に示す検査手順は、単純なモデルを
一例として示したものであり、実際には、「FF」以外
にも種々のデータの書き込み/読み出し検査が行われ、
また、書き込み/読み出しも複数回行われるのが一般的
である。
The program called as a subroutine from step S10 is a memory inspection program loaded in the EEPROM 15. As previously mentioned,
In this embodiment, a first inspection program for inspecting the first area of the EEPROM 15 and a second inspection program for inspecting the second area are prepared. FIG. 9 is a flow chart showing an example of the processing procedure of the first inspection program. In this program, first, in step S11, the address "2000
The data "FF" is written in "~ 27FF address". In the following step S12, the same address "2000-27
Data is read from the "FF address" byte by byte, and it is checked whether or not they are "FF". Thus, if all the read data are "FF",
In step S13, it is determined as normal, and step S1
In 4, the normal response to the reader / writer device 20 is sent. On the other hand, when the read data is "F
If anything other than "F" is included, it is determined to be abnormal in step S13, and an abnormal response is sent to the reader / writer device 20 in step S15. Note that the inspection procedure shown in FIG. 9 shows a simple model as an example. In practice, various data write / read inspections other than “FF” are performed.
In addition, writing / reading is generally performed a plurality of times.

【0033】以上述べたように、この実施例に示すIC
カード10は、本発明に係るメモリ検査を行う上で必要
な特有のルーチンをROM14内に含んでいる。すなわ
ち、図8に示すリセットルーチンと、図5に示す「コー
ド入力コマンド」を解釈して実行するルーチンと、図6
に示す「プログラム実行コマンド」を解釈して実行する
ルーチンである。しかしながら、これら特有のルーチン
は、比較的単純な処理ルーチンであり、これらのルーチ
ンを格納するために必要なメモリ容量は、メモリ検査を
行うためのルーチンを格納するために必要なメモリ容量
よりも少なくてすむ。
As described above, the IC shown in this embodiment
Card 10 contains in ROM 14 the specific routines required to perform the memory test of the present invention. That is, the reset routine shown in FIG. 8 and the routine for interpreting and executing the “code input command” shown in FIG.
It is a routine that interprets and executes the "program execution command" shown in. However, these specific routines are relatively simple processing routines, and the memory capacity required to store these routines is smaller than the memory capacity required to store the routines for performing the memory check. End

【0034】さて、最後に、上述のようなICカード1
0を用いたメモリ検査の手順を説明する。このメモリ検
査は、ICカード製造メーカにおいて出荷時に行われ
る。メーカは、出荷前に、ICカード10をリーダ/ラ
イタ装置20に図1に示すように接続し、リーダ/ライ
タ装置20からICカード10に対してリセット命令を
与える。CPU12は、このリセット命令を受けて、R
OM14内に用意された図8に示すリセットルーチンを
実行する。まず、ステップS1において、FLG=「5
A」か否かが判断される。EEPROM15の全アドレ
ス領域の初期状態は、通常「FF」あるいは「00」な
るデータが格納された状態になっているため、2000
番地に格納されているデータFLGは、「5A」ではな
い。そこで、ステップS3以降の検査処理が実行される
ことになる。ICカード10は、ステップS3において
コマンド待機状態になる。そこで、リーダ/ライタ装置
20からICカード10に対して、図7に示すコマンド
1を与えてやる。このコマンド1は、「コード入力コマ
ンド」であるから、ステップS4からステップS7へ分
岐し、「第1の検査用プログラム」が2800番地以降
にロードされた状態になる(図4(a) 参照)。次のステ
ップS8では、FLG≠「5A」と判断され、再びステ
ップS1に戻ることになる。
Finally, the IC card 1 as described above
A memory inspection procedure using 0 will be described. This memory inspection is performed at the time of shipment by the IC card manufacturer. Before shipment, the manufacturer connects the IC card 10 to the reader / writer device 20 as shown in FIG. 1 and gives a reset command to the IC card 10 from the reader / writer device 20. The CPU 12 receives this reset instruction and
The reset routine shown in FIG. 8 prepared in the OM 14 is executed. First, in step S1, FLG = “5
It is determined whether or not it is "A". Since the initial state of all address areas of the EEPROM 15 is a state in which data "FF" or "00" is normally stored,
The data FLG stored in the address is not "5A". Therefore, the inspection process after step S3 is executed. The IC card 10 enters a command standby state in step S3. Therefore, the reader / writer device 20 gives the command 1 shown in FIG. 7 to the IC card 10. Since this command 1 is a "code input command", it branches from step S4 to step S7, and the "first inspection program" is loaded at address 2800 and later (see FIG. 4 (a)). . In the next step S8, it is determined that FLG ≠ “5A”, and the process returns to step S1 again.

【0035】続いて、ステップS1からステップS3へ
と進み、再びコマンド待機状態となる。そこで、今度
は、リーダ/ライタ装置20からICカード10に対し
て、図7に示すコマンド4を与えてやる。このコマンド
4は、「プログラム実行コマンド」であるから、ステッ
プS5からステップS10へ分岐し、2800番地以降
にロードされている「第1の検査用プログラム」が実行
され、EEPROM15の第1の領域に対する検査が行
われることになる(図4(a) 参照)。この検査では、た
とえば図9の流れ図に示すような処理が実行され、リー
ダ/ライタ装置20に対して正常レスポンスの送出(ス
テップS14)か、異常レスポンスの送出(ステップS
15)がなされる。検査が完了すると、再びステップS
1に戻ることになる。
Then, the process proceeds from step S1 to step S3, and the command standby state is entered again. Therefore, this time, the command 4 shown in FIG. 7 is given from the reader / writer device 20 to the IC card 10. Since this command 4 is a “program execution command”, the process branches from step S5 to step S10, the “first inspection program” loaded at address 2800 and thereafter is executed, and the first area of the EEPROM 15 is written. The inspection will be performed (see Fig. 4 (a)). In this inspection, for example, the process shown in the flowchart of FIG. 9 is executed, and a normal response is sent to the reader / writer device 20 (step S14) or an abnormal response is sent (step S).
15) is done. Once the inspection is complete, step S again
I will return to 1.

【0036】次に再び、ステップS1からステップS3
へと進み、コマンド待機状態となる。そこで、次に、リ
ーダ/ライタ装置20からICカード10に対して、図
7に示すコマンド2を与えてやる。このコマンド2は、
「コード入力コマンド」であるから、ステップS4から
ステップS7へ分岐し、「第2の検査用プログラム」が
2010番地以降にロードされた状態になる(図4(b)
参照)。次のステップS8では、FLG≠「5A」と判
断され、再びステップS1に戻ることになる。
Then, again, from step S1 to step S3
And the command standby state is entered. Therefore, next, the command 2 shown in FIG. 7 is given from the reader / writer device 20 to the IC card 10. This command 2 is
Since this is a "code input command", the process branches from step S4 to step S7, and the "second inspection program" is loaded at address 2010 and thereafter (Fig. 4 (b)).
reference). In the next step S8, it is determined that FLG ≠ “5A”, and the process returns to step S1 again.

【0037】続いて、ステップS1からステップS3へ
と進み、再度コマンド待機状態となる。そこで、今度
は、リーダ/ライタ装置20からICカード10に対し
て、図7に示すコマンド5を与えてやる。このコマンド
5は、「プログラム実行コマンド」であるから、ステッ
プS5からステップS10へ分岐し、2010番地以降
にロードされている「第2の検査用プログラム」が実行
され、EEPROM15の第2の領域に対する検査が行
われることになる(図4(b) 参照)。検査が完了する
と、再びステップS1に戻ることになる。
Then, the process proceeds from step S1 to step S3, and the command standby state is entered again. Therefore, this time, the command 5 shown in FIG. 7 is given from the reader / writer device 20 to the IC card 10. Since this command 5 is a "program execution command", the process branches from step S5 to step S10, the "second inspection program" loaded at address 2010 and thereafter is executed, and the second area of the EEPROM 15 is written. The inspection will be conducted (see Fig. 4 (b)). When the inspection is completed, the process returns to step S1 again.

【0038】次に再び、ステップS1からステップS3
へと進み、コマンド待機状態となる。そこで、今度は、
リーダ/ライタ装置20からICカード10に対して、
図7に示すコマンド3を与えてやる。このコマンド3
は、「コード入力コマンド」であるから、ステップS4
からステップS7へ分岐し、「検査終了コード」として
のデータ「5A」が2000番地に書き込まれる。した
がって、次のステップS8では、FLG=「5A」と判
断され、ステップS9が実行される。このステップS9
は、FLG以外のEEPROM領域を消去する処理であ
る。すなわち、FLGに割り当てられている2000番
地以外の領域が消去されることになり、具体的には、ア
ドレス「2001〜2FFF番地」に、たとえばデータ
「FF」が書き込まれる。
Then, again, from step S1 to step S3
And the command standby state is entered. So this time,
From the reader / writer device 20 to the IC card 10,
Command 3 shown in FIG. 7 is given. This command 3
Is a "code input command", so step S4
To step S7, the data "5A" as the "inspection end code" is written at the address 2000. Therefore, in the next step S8, it is determined that FLG = “5A”, and step S9 is executed. This step S9
Is a process for erasing the EEPROM area other than FLG. That is, the area other than the address 2000 assigned to the FLG is erased, and specifically, for example, the data “FF” is written in the address “2001-2FFF address”.

【0039】ステップS9の消去処理が完了すると、再
びステップS1に戻るが、今度はFLG=「5A」と判
断され、ステップS2の通常のリセット処理が実行され
た後、アプリケーションプログラムルーチンが実行され
ることになる。これで、ICカード製造メーカにおける
出荷時のメモリ検査処理は完了する。2000番地のF
LGには、「検査終了コード」としてのデータ「5A」
が書き込まれた状態で残る。前述のように、EEPRO
M15のアドレス「2000〜200F番地」は、「シ
ステム領域」として定義されており、アプリケーション
プログラムでの使用が禁止されているため、以後、この
「検査終了コード」としてのデータ「5A」が書き換え
られることはない。なお、この実施例では、2000番
地以外の「システム領域(2001〜200F番地)」
についての利用態様は説明していないが、実際には、シ
ステム変数の格納などの用途に適宜利用することができ
る。
When the erasing process of step S9 is completed, the process returns to step S1 again, but this time, it is determined that FLG = “5A”, the normal reset process of step S2 is executed, and then the application program routine is executed. It will be. This completes the memory inspection process at the time of shipment by the IC card manufacturer. 2000 F
In LG, data “5A” as “inspection end code”
Remains in the written state. As mentioned above, EEPRO
The address "2000-200F" of M15 is defined as a "system area" and is prohibited from being used in an application program. Therefore, the data "5A" as the "inspection end code" is rewritten thereafter. Never. In this embodiment, "system area (addresses 2001 to 200F)" other than address 2000
However, in practice, it can be appropriately used for storage of system variables and the like.

【0040】さて、こうしてメモリ検査が行われたIC
カード10は、製造メーカからユーザ(たとえば、銀
行)へと納入される。ユーザは、このICカード10を
各顧客に発行する(たとえば、銀行の預金者に対してキ
ャッシュカードとして発行する)。このようにユーザや
その顧客によってICカード10が使用されている状態
においては、既に、EEPROM15内のメモリ検査プ
ログラムは消去されているため、たとえCPU12が誤
動作しても、誤ってメモリ検査プログラムが実行される
ことはなく、メモリ検査プログラムが不正利用されるこ
ともない。また、2000番地には、「検査終了コー
ド:5A」が書き込まれているため、リーダ/ライタ装
置20からICカード10に対してリセット命令を与え
た場合、図8の流れ図におけるステップS1で、FLG
=5Aなる判断がなされ、ステップS2における通常の
リセット処理が実行された後、アプリケーションプログ
ラムがスタートするため、従来のICカードと全く同じ
態様で使用することが可能である。
Now, the IC thus tested for memory
The card 10 is delivered from the manufacturer to a user (for example, a bank). The user issues this IC card 10 to each customer (for example, issues it to a bank depositor as a cash card). As described above, when the IC card 10 is being used by the user or the customer, the memory inspection program in the EEPROM 15 has already been erased. Therefore, even if the CPU 12 malfunctions, the memory inspection program is erroneously executed. The memory inspection program is not illegally used. Further, since the "inspection end code: 5A" is written in the address 2000, when the reader / writer device 20 gives a reset command to the IC card 10, in step S1 in the flowchart of FIG.
Since the application program is started after the judgment of 5A is made and the normal reset process in step S2 is executed, it is possible to use the IC card in the same manner as the conventional IC card.

【0041】以上、本発明を図示する実施例に基づいて
説明したが、本発明はこの実施例に限定されるものでは
なく、この他にも種々の態様で実施可能である。たとえ
ば、図5や図6に示したコマンドのフォーマットは、一
例として示したものであり、この他どのようなフォーマ
ットを定義してもかまわない。また、上述の実施例で
は、EEPROM15に対するメモリ検査のみを行って
いるが、RAM13に対するメモリ検査を同様に行うこ
とも可能である。
Although the present invention has been described above based on the illustrated embodiment, the present invention is not limited to this embodiment and can be implemented in various modes other than this. For example, the command formats shown in FIGS. 5 and 6 are shown as an example, and any other format may be defined. Further, in the above-described embodiment, only the memory inspection for the EEPROM 15 is performed, but the memory inspection for the RAM 13 can be similarly performed.

【0042】[0042]

【発明の効果】以上のとおり本発明に係るICカード内
蔵メモリの検査方法によれば、EEPROM内に、メモ
リ検査用プログラムを書き込み、この検査用プログラム
を実行することによりメモリの検査を行い、検査終了後
に検査用プログラムを消去するようにしたため、ROM
内にメモリ検査用のプログラムを格納することなしに、
内蔵メモリの検査を行うことができるようになる。
As described above, according to the method for inspecting a memory with a built-in IC card according to the present invention, the memory inspection program is written in the EEPROM, and the memory inspection is performed by executing the inspection program, and the inspection is performed. Since the inspection program is erased after the end, ROM
Without storing the program for memory inspection in
It becomes possible to inspect the built-in memory.

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

【図1】一般的なICカード10をリーダ/ライタ装置
20に接続した状態を示すブロック図である。
FIG. 1 is a block diagram showing a state in which a general IC card 10 is connected to a reader / writer device 20.

【図2】図1に示すICカード10に内蔵された3種類
のメモリに対するアドレス割当ての一例を示すメモリマ
ップである。
FIG. 2 is a memory map showing an example of address allocation for three types of memories built in the IC card 10 shown in FIG.

【図3】図2に示すEEPROM15のメモリマップの
詳細図である。
FIG. 3 is a detailed diagram of a memory map of the EEPROM 15 shown in FIG.

【図4】本発明に係るメモリの検査方法において、EE
PROM15の前半の第1の領域に対する検査(同図
(a) )と、後半の第2の領域に対する検査(同図(b) )
とを分けて行うことを示す図である。
FIG. 4 shows an EE in the memory inspection method according to the present invention.
Inspection of the first area of the first half of the PROM 15 (see FIG.
(a)) and inspection for the second area in the latter half ((b) in the same figure)
It is a figure which shows performing separately.

【図5】本発明に係るメモリの検査方法を実施するため
に定義されたコード入力コマンドのフォーマットを示す
図である。
FIG. 5 is a diagram showing a format of a code input command defined for implementing the memory inspection method according to the present invention.

【図6】本発明に係るメモリの検査方法を実施するため
に定義されたプログラム実行コマンドのフォーマットを
示す図である。
FIG. 6 is a diagram showing a format of a program execution command defined for implementing the memory inspection method according to the present invention.

【図7】本発明に係るメモリの検査方法を実施するため
に用意された5種類のコマンドを示す図である。
FIG. 7 is a diagram showing five types of commands prepared for carrying out the method for inspecting a memory according to the present invention.

【図8】本発明に係るメモリの検査方法を実施するため
に用意されたROM内のリセットルーチンを示す流れ図
である。
FIG. 8 is a flowchart showing a reset routine in a ROM prepared for carrying out the memory inspection method according to the present invention.

【図9】本発明に係るメモリの検査方法を実施するため
にEEPROM内にロードする検査用プログラムの一例
を示す流れ図である。
FIG. 9 is a flow chart showing an example of an inspection program loaded in the EEPROM for carrying out the memory inspection method according to the present invention.

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

10…ICカード 11…I/O装置 12…CPU 13…RAM 14…ROM 15…EEPROM 20…リーダ/ライタ装置 10 ... IC card 11 ... I / O device 12 ... CPU 13 ... RAM 14 ... ROM 15 ... EEPROM 20 ... Reader / writer device

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 少なくともRAM,ROM,EEPRO
Mの3種類のメモリと、これらのメモリをアクセスする
機能をもったCPUと、を内蔵するICカードについ
て、メモリの検査を行う方法において、 EEPROM内に、メモリ検査用プログラムを書き込
み、この検査用プログラムを実行することによりメモリ
の検査を行い、検査終了後に検査用プログラムを消去す
ることを特徴とするICカード内蔵メモリの検査方法。
1. At least RAM, ROM, EEPRO
In a method of inspecting a memory for an IC card having three types of memory M, and a CPU having a function of accessing these memories, a memory inspecting program is written in the EEPROM, and A method for inspecting a memory with a built-in IC card, comprising inspecting a memory by executing a program and erasing the inspection program after the inspection is completed.
【請求項2】 請求項1に記載の検査方法において、 EEPROMの第1の領域に対する検査を行う第1の検
査用プログラムを、EEPROMの第2の領域に書き込
む第1の段階と、 前記第1の検査用プログラムを実行して前記第1の領域
に対する検査を行う第2の段階と、 EEPROMの前記第2の領域に対する検査を行う第2
の検査用プログラムを、EEPROMの前記第1の領域
に書き込む第3の段階と、 前記第2の検査用プログラムを実行して前記第2の領域
に対する検査を行う第4の段階と、 前記EEPROM内に書き込んだ検査用プログラムを消
去する第5の段階と、 を行うことにより、EEPROMに対するメモリ検査を
行うことを特徴とするICカード内蔵メモリの検査方
法。
2. The inspection method according to claim 1, further comprising: a first step of writing a first inspection program for inspecting the first area of the EEPROM into a second area of the EEPROM; Second step of executing the inspection program of 1. to inspect the first area, and second step of inspecting the second area of the EEPROM.
In the EEPROM, a third step of writing the inspection program in the first area of the EEPROM, a fourth step of executing the second inspection program to inspect the second area, and A method of inspecting a memory built in an IC card, characterized by performing a fifth step of erasing the inspection program written in, and performing a memory inspection for the EEPROM.
【請求項3】 請求項2に記載の検査方法において、 外部からICカードに対して、EEPROM内へプログ
ラムコードの入力を行うことを示すプログラムコード入
力指示と、所定のプログラムコードと、EEPROM内
のアドレスと、が与えられたときに、与えられたプログ
ラムコードを与えられたアドレスに格納する処理を行う
プログラムコード入力処理と、 外部からICカードに対して、EEPROM内のプログ
ラムを実行することを示すプログラム実行指示と、EE
PROM内のアドレスと、が与えられたときに、与えら
れたアドレスに格納されているプログラムを実行するプ
ログラム実行処理と、 を行うためのルーチンをROM内に格納しておき、 外部からICカードに対して、前記プログラムコード入
力指示と、第1の検査用プログラムのコードと、第2の
領域の所定アドレスと、を与えることにより第1の段階
を実行させ、 外部からICカードに対して、前記プログラム実行指示
と、前記第2の領域の所定アドレスと、を与えることに
より第2の段階を実行させ、 外部からICカードに対して、前記プログラムコード入
力指示と、第2の検査用プログラムのコードと、第1の
領域の所定アドレスと、を与えることにより第3の段階
を実行させ、 外部からICカードに対して、前記プログラム実行指示
と、前記第1の領域の所定アドレスと、を与えることに
より第4の段階を実行させることを特徴とするICカー
ド内蔵メモリの検査方法。
3. The inspection method according to claim 2, wherein a program code input instruction indicating that a program code is input into the EEPROM from the outside to the IC card, a predetermined program code, and the program code in the EEPROM. Indicates that when an address is given, a program code input process for storing the given program code at the given address and executing the program in the EEPROM to the IC card from the outside Program execution instruction and EE
When the address in the PROM and the given address are given, the program execution process for executing the program stored at the given address and the routine for performing are stored in the ROM and externally stored in the IC card. On the other hand, the first step is executed by giving the program code input instruction, the code of the first inspection program, and the predetermined address of the second area. The second stage is executed by giving a program execution instruction and a predetermined address of the second area, and the program code input instruction and the code of the second inspection program are externally supplied to the IC card. And a predetermined address of the first area, the third step is executed, and the program is executed from the outside to the IC card. Shows a, the first predetermined address and, IC card built test method of the memory, characterized in that to perform the fourth stage by providing the region.
【請求項4】 請求項3に記載の検査方法において、 EEPROM内の所定のアドレス場所に、検査完了情報
を書き込むための特別な領域を設け、 ICカードに対してリセット命令が与えられたときに、
前記特別な領域に前記検査完了情報が書き込まれている
か否かを判断し、前記検査完了情報が書き込まれていな
い場合にのみ第1の段階から第5の段階までの処理が実
行されるようなルーチンを、ROM内に格納したことを
特徴とするICカード内蔵メモリの検査方法。
4. The inspection method according to claim 3, wherein a special area for writing inspection completion information is provided at a predetermined address location in the EEPROM, and when a reset command is given to the IC card. ,
It is determined whether the inspection completion information is written in the special area, and the processes from the first step to the fifth step are executed only when the inspection completion information is not written. A method for inspecting an IC card built-in memory, characterized in that a routine is stored in a ROM.
JP6013228A 1994-01-11 1994-01-11 Inspection method for memory incorporated in ic card Pending JPH07210640A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6013228A JPH07210640A (en) 1994-01-11 1994-01-11 Inspection method for memory incorporated in ic card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6013228A JPH07210640A (en) 1994-01-11 1994-01-11 Inspection method for memory incorporated in ic card

Publications (1)

Publication Number Publication Date
JPH07210640A true JPH07210640A (en) 1995-08-11

Family

ID=11827330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6013228A Pending JPH07210640A (en) 1994-01-11 1994-01-11 Inspection method for memory incorporated in ic card

Country Status (1)

Country Link
JP (1) JPH07210640A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176422A (en) * 2009-01-29 2010-08-12 Autonetworks Technologies Ltd Controller, control system and control method
JP2011008324A (en) * 2009-06-23 2011-01-13 Hioki Ee Corp Measurement data recording device and determination method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176422A (en) * 2009-01-29 2010-08-12 Autonetworks Technologies Ltd Controller, control system and control method
JP2011008324A (en) * 2009-06-23 2011-01-13 Hioki Ee Corp Measurement data recording device and determination method

Similar Documents

Publication Publication Date Title
US6453397B1 (en) Single chip microcomputer internally including a flash memory
JP3662946B2 (en) File management system and portable electronic device
US8417902B2 (en) One-time-programmable memory emulation
JP3445304B2 (en) File management device
JPH021090A (en) Ic card and method for writing its operation program
US5039850A (en) IC card
US5442165A (en) Secure IC card system with reusable prototype IC card
JP2575358B2 (en) IC card
JP3512252B2 (en) Information recording medium with built-in CPU
JP3471842B2 (en) Data management device, data storage device, and data management method
JP2651426B2 (en) IC card
JPH07210640A (en) Inspection method for memory incorporated in ic card
JP4219455B2 (en) IC card
JPH04157699A (en) Preliminary writing method for flash erasure-type e2 prom
JPH08287207A (en) Ic card
JP3487873B2 (en) IC card issuing process management method
JPH077339B2 (en) Testing methods for portable electronic devices
JP2002538532A (en) Access protection device for IC card applications
JP3057326B2 (en) IC card
JP2501050Y2 (en) IC card
JPH01147686A (en) Portable electronic device
JPH06309531A (en) Checking method for instruction format given to ic card
JP2008047042A (en) Portable electronic device and ic card
JPH0233690A (en) Method for issuing ic card
JPH01118933A (en) Single-chip microcomputer