JP3234959B2 - Microcomputer and card incorporating the same - Google Patents
Microcomputer and card incorporating the sameInfo
- Publication number
- JP3234959B2 JP3234959B2 JP02063093A JP2063093A JP3234959B2 JP 3234959 B2 JP3234959 B2 JP 3234959B2 JP 02063093 A JP02063093 A JP 02063093A JP 2063093 A JP2063093 A JP 2063093A JP 3234959 B2 JP3234959 B2 JP 3234959B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instruction decoder
- rom
- loss
- code
- 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.)
- Expired - Fee Related
Links
- 230000004044 response Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 13
- 230000005856 abnormality Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Microcomputers (AREA)
Description
【0001】[0001]
【産業上の利用分野】この発明は、マイクロコンピュー
タおよびこれを内蔵するカードに関し、詳しくは、内蔵
されているデータについて機密保持機能を有する1チッ
プのマイクロコンピュータにおいて、前記データについ
てのセキュリティを向上させることができるようなマイ
クロコンピュータに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microcomputer and a card containing the same, and more particularly, to a one-chip microcomputer having a function of maintaining the security of the built-in data, the security of the data is improved. Related to a microcomputer.
【0002】[0002]
【従来の技術】ICカードで代表される個人認証カード
は、通常1チップのマイクロコンピュータを搭載してお
り、多機能,高機能であるという長所がある。特に、I
Cカードは、最近では社員用IDカード等の用途に実用
化されつつある。この場合には、タイムカード代わりや
社員食堂での料金清算といった比較的限られた範囲内で
の使用であるため、セキュリティ等の管理が容易であ
り、前述の長所が有効に利用されている。2. Description of the Related Art A personal authentication card represented by an IC card usually has a one-chip microcomputer, and has the advantage of being multifunctional and highly functional. In particular, I
The C card has recently been put to practical use for an employee ID card or the like. In this case, since it is used within a relatively limited range, such as a time card replacement or a fee settlement in an employee cafeteria, security and other management are easy, and the above-mentioned advantages are effectively used.
【0003】このようなICカードやその他の各種制御
機器に採用されている従来の1チップのマイクロコンピ
ュータの基本的な構成を図2に示す。図2で、1はRO
M製のインストラクションデコーダ(ID−ROM)、
2はインストラクションコードを記憶するROM(PR
OG−ROM)、3はプログラムカウンタ(PC)、4
は演算回路(ALU)である。また、PROG−ROM
2にはインストラクションコードの一連の集まりとして
表現されるアプリケーションプログラム(アプリ)2a
が記憶されている。なお、通常は他にレジスタやRAM
等も含まれるが、説明を明瞭なものとするためそれらに
ついての説明は割愛する。FIG. 2 shows a basic configuration of a conventional one-chip microcomputer employed in such an IC card and other various control devices. In FIG. 2, 1 is RO
M-made instruction decoder (ID-ROM),
2 is a ROM (PR) for storing instruction codes.
OG-ROM), 3 is a program counter (PC), 4
Is an arithmetic circuit (ALU). Also, PROG-ROM
2 includes an application program (app) 2a expressed as a series of instruction codes.
Is stored. Usually, other than registers and RAM
And the like are included, but descriptions thereof are omitted to make the description clear.
【0004】このような構成の下で、アプリケーション
プログラム2aの実行は、主に以下の手順で行われる。
先ず、プログラムカウンタ3が指すアドレスAにおける
PROG−ROM2内のインストラクションコードBが
読み出される。次に、このインストラクションコードB
を受けて、インストラクションデコーダ1は、その記憶
内容に従ってそれをデコードし、プログラムカウンタ3
への制御信号Cや演算回路4への制御信号D等を発生す
る。制御信号Dを受けて、演算回路4は加算やシフト等
の演算を行い、その演算結果はレジスタ(図示せず)等
に保持される。制御信号Cを受けてプログラムカウンタ
3は、アドレスAの値をインクリメントしたりジャンプ
先のアドレスに変えたりする。Under such a configuration, the execution of the application program 2a is mainly performed according to the following procedure.
First, the instruction code B in the PROG-ROM 2 at the address A indicated by the program counter 3 is read. Next, this instruction code B
In response, the instruction decoder 1 decodes it according to the stored contents, and
, A control signal D to the arithmetic circuit 4, and the like. In response to the control signal D, the arithmetic circuit 4 performs arithmetic operations such as addition and shift, and the arithmetic result is held in a register (not shown) or the like. Upon receiving the control signal C, the program counter 3 increments the value of the address A or changes the value of the address A to a jump destination address.
【0005】このようにして、次々にアプリケーション
プログラム2aの一連のインストラクションコードがイ
ンストラクションデコーダ1を介して処理されることに
より、アプリケーションプログラム2aが実行される。
それにより、例えばICカードとしての諸機能が果たさ
れることになる。このようにICカードは、1チップの
マイクロコンピュータを搭載しており、アプリケーショ
ンプログラムに従って各種の機能を実現する。[0005] In this way, a series of instruction codes of the application program 2a are processed one after another via the instruction decoder 1, whereby the application program 2a is executed.
Thereby, for example, various functions as an IC card are performed. As described above, the IC card has a one-chip microcomputer mounted thereon and realizes various functions according to an application program.
【0006】しかし、現在までのところ、コストやセキ
ュリティ等の問題から、期待された程十分に普及するに
は至っていない。これらの問題のうちコストについて
は、他のIC等と同様に一旦普及し始めれば量産効果に
より急速に低下するものと見られ、需要量と供給量とが
価格に関係する経済原則による解決手段が期待される。However, up to now, due to problems such as cost and security, it has not been widely used as expected. Among these problems, the cost is expected to decrease rapidly due to the effect of mass production once it starts to spread, as with other ICs, etc., and a solution based on economic principles, where demand and supply are related to price, is considered. Be expected.
【0007】[0007]
【発明が解決しようとする課題】ところが、セキュリテ
ィについては、そのようなことが期待できず、純粋に技
術的に解決せざるを得ない。特に、ICカード普及の突
破口になると目されている銀行の通帳代わりのICカー
ドでは、セキュリティに対する要求に一段と厳しいもの
がある。例えば、従来の社員カード用のセキュリティの
手段である、ソフトウエアによる交信データの暗号化や
IDのチェックを行う程度のセキュリティ手段では、不
十分である。なぜなら、インストラクションデコーダの
構成や記憶内容からそのアーキテクチャに応じてマイク
ロコンピュータが所有する命令群、いわゆるインストラ
クションセットが理解され、アプリケーションプログラ
ム2aのコードが読出されてプログラムの内容が解読さ
れる可能性があるからである。However, such security cannot be expected, and it must be solved purely technically. In particular, in the case of an IC card used as a passbook of a bank, which is expected to be a breakthrough of the spread of the IC card, the demand for security is more severe. For example, is the security of the means for a conventional employee card, in the security measures of the extent to check the encryption and ID of the communication data by software is inadequate. This is because there is a possibility that the instruction group owned by the microcomputer, a so-called instruction set, is understood from the configuration and the stored contents of the instruction decoder according to the architecture, and the code of the application program 2a is read to decode the program contents. Because.
【0008】そこで、ICカードの普及のために、ひい
ては1チップマイクロコンピュータのコスト低減化及び
一層の普及のためにも、ハードウエア的手段による確実
なセキュリティの手段を実現する要請がある。[0008] Therefore, there is a demand for realizing secure security means by hardware means in order to spread IC cards, and further reduce the cost of one-chip microcomputers and further spread them.
【0009】この発明の目的は、このような従来技術の
問題点を解決するものであって、わずかな回路の追加に
より、確実なセキュリティ機能を発揮できる1チップの
マイクロコンピュータを提供することにある。この発明
の他の目的は、機密保持機能が必要とされるマイクロコ
ンピュータを内蔵する個人認証カード等においてそのセ
キュリティを向上させることができるカードを提供する
ことにある。An object of the present invention is to solve such a problem of the prior art, and to provide a one-chip microcomputer which can exert a reliable security function by adding a small number of circuits. . Another object of the present invention is to provide a personal authentication card or the like having a built-in microcomputer which requires a confidentiality protection function and which can improve the security.
【0010】[0010]
【課題を解決するための手段】このような目的を達成す
るこの発明のマイクロコンピュータの構成は、インスト
ラクションデコーダの内容を喪失あるいは無効(以下こ
の明細書およびクレームでは喪失という)させるための
喪失指令コードを含む、各種のインストラクションコー
ドを記憶するROMと、前記ROMから読み出されたイ
ンストラクションコードをデコードして、前記喪失指令
コードに応じて発生する喪失制御信号を含め、複数の制
御信号を発生するPROM製のインストラクションデコ
ーダと、前記喪失制御信号を受けて前記インストラクシ
ョンデコーダに所定値を書込む(又は消去する)書込み
制御回路と、を1チップに内蔵し、マイクロコンピュー
タとしての動作時および動作中のいずれかに所定のセキ
ュリティ実行条件が成立したときに前記ROMの前記喪
失指令コードをアクセスして前記インストラクションデ
コーダに送出するものである。SUMMARY OF THE INVENTION A microcomputer according to the present invention which achieves the above object has a loss command code for losing or invalidating the contents of an instruction decoder (hereinafter referred to as a loss in this specification and claims). A ROM that stores various instruction codes, and a PROM that decodes the instruction code read from the ROM and generates a plurality of control signals including a loss control signal generated in response to the loss command code. A built-in instruction decoder and a write control circuit for writing (or erasing) a predetermined value in the instruction decoder in response to the loss control signal are incorporated in a single chip, and are operated during or as a microcomputer. Crab prescribed security execution conditions By accessing the loss command code of the ROM when satisfied is intended to be sent to the instruction decoder.
【0011】[0011]
【作用】このような構成のこの発明のマイクロコンピュ
ータでは、ソフトウエア的に又ハードウエア的に正常で
はない制御等を受けたときに前記セキュリティ実行条件
を成立させることで喪失制御信号として、例えば、喪失
開始信号を発生しうる。例えば、このマイクロコンピュ
ータが複数回の暗証番号の間違いやテストプログラム等
のチェック手段により異常を検出すると喪失開始信号を
発生させるインストラクションを実行する。すると、イ
ンストラクションデコーダから喪失開始信号が発生さ
れ、これを受けてインストラクションデコーダに対して
書込み制御回路が所定の情報を書込み又はその内容の消
去を行う。According to the microcomputer of the present invention having the above-described structure, when the security execution condition is satisfied when the software or the hardware is not controlled normally, for example, the loss control signal is obtained as follows. A loss start signal may be generated. For example, the microcomputer executes an instruction to generate a loss start signal when the microcomputer detects an error in a plurality of passwords or an abnormality by checking means such as a test program. Then, a loss start signal is generated from the instruction decoder, and in response to this, the write control circuit writes predetermined information to or erases the contents of the instruction decoder.
【0012】ここでは、書込み制御回路からの書込み,
消去の対象であるインストラクションデコーダはPRO
M化されているので、インストラクションデコーダへの
上書き又はその記憶内容の消去によりその内容を喪失さ
せることが可能である。Here, writing from the writing control circuit,
The instruction decoder to be erased is PRO
Since it is M, the contents can be lost by overwriting the instruction decoder or erasing the stored contents.
【0013】このようにしてインストラクションデコー
ダの記憶内容が失われるとインストラクションセット
(狭義の意味でマイクロコンピュータのアーキテクチ
ャ)が理解できないので、例えアプリケーションプログ
ラムのコードが読出されても、アプリケーションプログ
ラムの内容,意味,構造,機能等の解読は不可能であ
る。しかも、インストラクションデコーダがPROMで
あることからこれへの書込みがIC完成後に行えるの
で、例えICメーカーであっても、解読は不可能であ
る。If the stored contents of the instruction decoder are lost in this manner, the instruction set (the architecture of the microcomputer in a narrow sense) cannot be understood. Therefore, even if the code of the application program is read, the contents and the meaning of the application program are read. It is impossible to decipher the structure, function, etc. In addition, since the instruction decoder is a PROM, writing to the PROM can be performed after completion of the IC, so that even an IC maker cannot decode the instruction.
【0014】したがって、この構成の1チップのマイク
ロコンピュータを用いると、ハードウエア的手段による
確実なセキュリティを実現することができる。また、回
路規模に関しては、アプリケーションプログラムを記憶
するROMが、各種の機能を実現するために、チップ面
積のかなりの領域を占める。一方、インストラクション
デコーダは、インストラクションコードからアドレス部
等を除いた通常数ビットの部分をデコードすればよいの
で、チップ内でのそれの占有面積の比率はわずかなもの
である。よって、インストラクションデコーダがROM
からPROMに代えられてその部分の面積が増大して
も、チップ全体としての増加の影響は、わずかなものに
抑えられる。Therefore, by using a one-chip microcomputer having this configuration, it is possible to realize reliable security by means of hardware. Regarding the circuit scale, the ROM storing the application program occupies a considerable area of the chip area for realizing various functions. On the other hand, the instruction decoder only has to decode a part of normal bits of the instruction code excluding the address part and the like, so that the ratio of the occupied area in the chip is small. Therefore, the instruction decoder is ROM
Therefore, even if the area of the portion is increased instead of the PROM, the influence of the increase in the whole chip is suppressed to a small one.
【0015】さらに、書込み制御回路は、インストラク
ションデコーダの内容を喪失させる機能を有するが、こ
の書込み制御回路も、IC完成後にデータの書込みを行
うために設けられるインストラクションデコーダ用の本
来の書込み制御回路を兼用することが可能であるし、ま
た、PROMとしてフラッシュメモリ等を用いれば簡易
な消去回路でも十分である。したがって、全体としての
回路規模の増加はわずかなものであり、他の機能を犠牲
にする程のものではない。Further, the write control circuit has a function of losing the contents of the instruction decoder. This write control circuit also has an original write control circuit for the instruction decoder provided for writing data after completion of the IC. A simple erasing circuit is sufficient if a flash memory or the like is used as the PROM. Therefore, the increase in the circuit scale as a whole is insignificant and is not enough to sacrifice other functions.
【0016】[0016]
【実施例】図1のブロック図を参照しながら一実施例に
ついて説明する。ここで、2はインストラクションコー
ドを記憶するROM(PROG−ROM)、3はプログ
ラムカウンタ(PC)、4は演算回路(ALU)であ
る。さらに、11はインストラクションデコーダ(ID
−PROM)、12はフリップフロップ、13は書込み
制御回路、14はインクリメント回路(インクリメン
タ)、15はアドレスカウンタである。An embodiment will be described with reference to the block diagram of FIG. Here, 2 is a ROM (PROG-ROM) for storing instruction codes, 3 is a program counter (PC), and 4 is an arithmetic circuit (ALU). Further, 11 is an instruction decoder (ID)
-PROM), 12 is a flip-flop, 13 is a write control circuit, 14 is an increment circuit (incrementer), and 15 is an address counter.
【0017】また、PROG−ROM2は、EEPRO
MあるいはEPROMで構成され、これには、インスト
ラクションコードの一連の集まりとして表現されるアプ
リケーションプログラム(アプリ)2a、異常状態を検
出するためのチェックプログラム(テスト)10が記憶
されている。なお、通常は他にレジスタやRAM,バス
ライン,インターフェイス等も含まれるが、この発明の
説明とは直接関連しないので、説明を明瞭なものとする
ためそれらについての説明は割愛する。The PROG-ROM 2 has an EEPROM
An M or EPROM, which stores an application program (application) 2a expressed as a series of instruction codes and a check program (test) 10 for detecting an abnormal state. It is to be noted that, although other registers, a RAM, a bus line, an interface, and the like are usually included, they are not directly related to the description of the present invention, and thus description thereof will be omitted for clarity.
【0018】チェックプログラム10は、その大部分は
従来からの、例えばID番号等と秘密登録番号との照合
(スクランブルを掛けた照合も含め)などによりチェッ
クをするチェックプログラム等からなる。これによりソ
フトウエア的に異常検出が行われ、その結果異常がなけ
れば、アプリケーションプログラム2aが実行され、異
常が検出されれば、喪失開始信号を発生させるインスト
ラクションが実行される。また、ICの外部端子を介し
てハードウエアに異常な信号等が印加された場合にも、
プログラムや回路の構成等が解読されつつある恐れがあ
るので、これを、例えば、電圧検出回路等を用いた異常
検出回路により検出することで、同様に喪失開始信号を
発生させるインストラクションを実行する。すなわち、
このチェックプログラム10は、セキュリティ実行条件
の成立の有無を判定する判定プログラムの具体例であ
る。なお、このインストラクションの実行は異常検出の
回数を複数回カウントした後に行うとよい。Most of the check program 10 comprises a conventional check program for checking by collation (including scrambled collation) between an ID number or the like and a secret registration number, for example. As a result, an abnormality is detected by software. If no abnormality is detected, the application program 2a is executed. If an abnormality is detected, an instruction for generating a loss start signal is executed. Also, when an abnormal signal or the like is applied to the hardware via the external terminal of the IC,
Since there is a possibility that the configuration of the program or the circuit is being decoded, this is detected by, for example, an abnormality detection circuit using a voltage detection circuit or the like, and similarly, an instruction for generating a loss start signal is executed. That is,
The check program 10 is a specific example of a determination program for determining whether a security execution condition is satisfied. The instruction may be executed after counting the number of times of abnormality detection a plurality of times.
【0019】このようなことから、チェックプログラム
10は、基本的には従来のプログラムに対して特定のイ
ンストラクションを実行するように追加改造されるだけ
で十分なので、PROG−ROM2のサイズに影響を与
えることはほとんどない。書込み制御回路13は、内部
にレジスタを有していて、外部からの書込み制御信号E
を受けてこれに従って、このICの外部端子からバス1
6を経由して前記の内部のレジスタに書込みアドレスデ
ータと書込みデータが設定される。これらのデータは、
信号F1 ,F2 として書込み制御回路13からアドレス
カウンタ15とインストラクションデコーダ11にそれ
ぞれ送出される。その結果、アドレスカウンタ15がア
ドレスGを発生し、アドレスGが示す、インストラクシ
ョンデコーダ11のPROMのアドレスに、インストラ
クションセットに対応する記憶内容が書込まれる。ま
た、書込み制御回路13は、フリップフロップ12から
Q出力を受けたときに、インクリメンタ14を制御し
て、インストラクションデコーダ11の各アドレスに
“1”又は“0”のうちのいずれか一方のデータをアド
レスカウンタ15を更新しながら順次書き込んでいく。
なお、フリップフロップ12は、インストラクションデ
コーダ11からの喪失開始信号によりセットされる。ま
た、書込み制御回路13は、EEPROMにデータを書
込むための昇圧回路が設けられていてもよい。As described above, the check program 10 basically affects the size of the PROG-ROM 2 because it is sufficient to add and modify the conventional program to execute a specific instruction. Few things. The write control circuit 13 has a register inside and has an external write control signal E.
In response to this, the bus 1
6, write address data and write data are set in the internal register. These data are
The write control circuit 13 sends the signals F1 and F2 to the address counter 15 and the instruction decoder 11, respectively. As a result, the address counter 15 generates the address G, and the stored content corresponding to the instruction set is written into the address of the PROM of the instruction decoder 11 indicated by the address G. When receiving the Q output from the flip-flop 12, the write control circuit 13 controls the incrementer 14 so that one address of “1” or “0” is stored in each address of the instruction decoder 11. Are sequentially written while updating the address counter 15.
The flip-flop 12 is set by a loss start signal from the instruction decoder 11. Further, the write control circuit 13 may be provided with a booster circuit for writing data to the EEPROM.
【0020】これにより、インストラクションデコーダ
の記憶内容がIC完成後に書き込めるので、全てがRO
Mの場合とは異なり、このICを製造したICメーカー
であっても、プログラムを開発したときのインストラク
ションセットとID−ROMの内容との対応表がなけれ
ばアプリケーションプログラム2a等の内容を解読する
ことは不可能である。As a result, the contents stored in the instruction decoder can be written after completion of the IC.
Unlike the case of M, even if the IC maker that manufactured this IC does not have a correspondence table between the instruction set at the time of developing the program and the contents of the ID-ROM, the contents of the application program 2a or the like can be decoded. Is impossible.
【0021】このような構成の下で、アプリケーション
プログラム2aやチェックプログラム10の実行は、定
常状態では以下の手順で行われる。先ず、プログラムカ
ウンタ3に、あるアドレスAが設定され、プログラムカ
ウンタ3が指すアドレスAにおけるPROG−ROM2
内のインストラクションコードBが読み出される。Under such a configuration, the execution of the application program 2a and the check program 10 is performed in the steady state in the following procedure. First, a certain address A is set in the program counter 3, and the PROG-ROM 2 at the address A indicated by the program counter 3 is set.
Is read out.
【0022】次に、このインストラクションコードBを
受けて、インストラクションデコーダ11は、その記憶
内容に従ってそれをデコードし、例えばプログラムカウ
ンタ3への制御信号Cや演算回路4への制御信号D等を
発生する。制御信号Dを受けて、演算回路4は加算やシ
フト等の演算を行い、その演算結果がレジスタ(図示せ
ず)等に保持される。制御信号Cを受けて、プログラム
カウンタ3はアドレスAの値をインクリメントしたりジ
ャンプ先のアドレスに変えたりする。Next, in response to the instruction code B, the instruction decoder 11 decodes the instruction code according to the stored contents and generates, for example, a control signal C to the program counter 3 and a control signal D to the arithmetic circuit 4. . In response to the control signal D, the arithmetic circuit 4 performs arithmetic such as addition and shift, and the arithmetic result is held in a register (not shown) or the like. Upon receiving the control signal C, the program counter 3 increments the value of the address A or changes the value to the jump destination address.
【0023】このようにして、次々にアプリケーション
プログラム2aやチェックプログラム10の一連のイン
ストラクションコードがインストラクションデコーダ1
1を介して処理される。そして、その処理の一連のもの
としてアプリケーションプログラム2aやチェックプロ
グラム10が実行されて、例えばICカードとして、あ
るいはコントローラとしての諸機能が果たされる。な
お、チェックプログラム10がアプリケーションプログ
ラムの実行の条件になるときには、先に述べたようにそ
れに先行してチェックプログラム10が実行される。In this manner, a series of instruction codes of the application program 2a and the check program 10 are successively transferred to the instruction decoder 1
1 is processed. Then, the application program 2a and the check program 10 are executed as a series of the processes, and various functions as, for example, an IC card or a controller are performed. When the check program 10 becomes a condition for executing the application program, the check program 10 is executed prior to the condition as described above.
【0024】以上が正常な状態での動作であるが、一
方、チェックプログラム10により何らかの異常が検出
され、それが例えば3回発生すると、チェックプログラ
ム10が喪失開始信号を発生させるインストラクション
コードHを発生する。なお、異常検出のカウントは、メ
モリ(図示せず)に設けたソフトカウンタによる。この
インストラクションコードHは、インストラクションコ
ードBの1つとしてインストラクションデコーダ11に
よりデコードされる。そして、これをデコードした結果
として、喪失開始信号Iが発生する。The above is the operation in the normal state. On the other hand, if any abnormality is detected by the check program 10 and it occurs, for example, three times, the check program 10 generates an instruction code H for generating a loss start signal. I do. The abnormality detection is counted by a soft counter provided in a memory (not shown). The instruction code H is decoded by the instruction decoder 11 as one of the instruction codes B. As a result of decoding this, a loss start signal I is generated.
【0025】喪失開始信号Iの発生事象はフリップフロ
ップ12により保持され、上書き制御信号Jがフリップ
フロップ12から発生してこれが書込み制御回路13へ
送出される。そして、書込み制御回路13は、インクリ
メント回路14を介してアドレスカウンタ15からのア
ドレスGを次々に更新しながらインストラクションデコ
ーダ11のPROMに“1”または“0”を書き込んで
いく。The occurrence event of the loss start signal I is held by the flip-flop 12, and the overwrite control signal J is generated from the flip-flop 12 and sent to the write control circuit 13. Then, the write control circuit 13 writes “1” or “0” into the PROM of the instruction decoder 11 while updating the address G from the address counter 15 via the increment circuit 14 one after another.
【0026】この上書きの過程で、インストラクション
デコーダ11の一部の記憶内容が失われるのでプログラ
ム2a,10がもはや正常に実行されなくなるが、フリ
ップフロップ12により上書き制御信号Jが書込み制御
回路13へ送出され続けるので独立に書込み制御回路1
3が作動して書込み制御回路13によりインストラクシ
ョンデコーダ11の最後のアドレスまで書込みが行われ
ていく。これによりインストラクションデコーダ11の
記憶内容は完全に失われる。アドレスカウンタ15のア
ドレスがインストラクションデコーダ11の最後のアド
レスを越えたときにアドレスカウンタ15からの信号R
によりフリップフロップ12はリセットされ、書込み制
御回路13はその動作を停止する。In the process of overwriting, a part of the stored contents of the instruction decoder 11 is lost, so that the programs 2a and 10 can no longer be executed normally, but the flip-flop 12 sends the overwriting control signal J to the writing control circuit 13. The write control circuit 1
3 operates and the write control circuit 13 performs writing up to the last address of the instruction decoder 11. As a result, the contents stored in the instruction decoder 11 are completely lost. When the address of the address counter 15 exceeds the last address of the instruction decoder 11, a signal R from the address counter 15 is output.
Resets the flip-flop 12, and the write control circuit 13 stops its operation.
【0027】これにより、ハードウエア的な手段によっ
てもインストラクションセットを得ることができない状
態になる。したがって、インストラクションセットが得
られないので、例えアプリケーションプログラムのコー
ドが読出されても、アプリケーションプログラムの内
容,意味,構造,機能等の解読は不可能である。Thus, the instruction set cannot be obtained even by hardware means. Therefore, since an instruction set cannot be obtained, even if the code of the application program is read, it is impossible to decode the contents, meaning, structure, function, etc. of the application program.
【0028】なお、記憶内容が失われたインストラクシ
ョンデコーダ11の内容は、正当な権限を持つ者が書込
み制御回路13の所定の端子に外部から書込み制御信号
Eを加え、このマイクロコンピュータの所定のI/O端
子に書込みデータと書込みアドレスとを入力することで
正しいインストラクションセットを書込むことによりそ
の内容を容易に回復できる。It should be noted that the contents of the instruction decoder 11 whose contents have been lost are written by a person having a proper authority to a predetermined terminal of the write control circuit 13 by applying a write control signal E from the outside, and a predetermined I / O of the microcomputer. By inputting write data and a write address to the / O terminal, a correct instruction set is written, so that the contents can be easily recovered.
【0029】また、このセキュリティ機能のために追加
された要素を図1では破線で明示しているが、チェック
プログラム10については、上述の如くわずかな増加で
あり、フリップフロップ12,インクリメント回路14
も現在のICの集積度からはわずかな規模の回路であ
る。さらに、前記したように、インストラクションデコ
ーダの内容を無効にするための書込み制御回路13やア
ドレスカウンタ15は、インストラクションデコーダ用
の本来の書込み制御回路等を兼用している。また、イン
ストラクションデコーダ11のサイズはPROG−RO
M2に比較して遥かに小さいので、インストラクション
デコーダ11がROMからPROMになったことによる
回路規模の増大もわずかである。したがって、チップ全
体としての回路規模の増加は、わずかなものに抑えられ
る。Although elements added for this security function are clearly indicated by broken lines in FIG. 1, the check program 10 is slightly increased as described above, and the flip-flop 12 and the increment circuit 14
Is a circuit of a slight scale from the current degree of integration of ICs. Further, as described above, the write control circuit 13 and the address counter 15 for invalidating the contents of the instruction decoder also serve as the original write control circuit for the instruction decoder. The size of the instruction decoder 11 is PROG-RO
Since it is much smaller than M2, the increase in circuit scale due to the change from the ROM to the PROM in the instruction decoder 11 is small. Therefore, an increase in the circuit scale of the entire chip can be suppressed to a small amount.
【0030】なお、インストラクションデコーダ11用
のPROMとして例えばフラッシュメモリ等を用いれば
1動作で記憶内容を消去できるので、フリップフロップ
12やインクリメント回路14は、さらに書込み制御回
路13の構成によってはアドレスカウンタ15も、省略
可能である。If, for example, a flash memory or the like is used as the PROM for the instruction decoder 11, the stored contents can be erased by one operation. Therefore, the flip-flop 12 and the increment circuit 14 may be replaced by an address counter 15 depending on the configuration of the write control circuit 13. Can also be omitted.
【0031】以上説明してきたが、ここでは、インスト
ラクションデコーダに、EEPROM,EPROMを使
用する例を挙げているが、インストラクションデコーダ
としては、“1”あるい“0”の書込みが一度でもでき
るROMであれば、書込み制御回路により“1”または
“0”の書込みによりその内容が破壊できるので、どの
ようなPROMであってもよい。As described above, an example in which an EEPROM and an EPROM are used as the instruction decoder is described here. However, the instruction decoder is a ROM that can write "1" or "0" even once. If it is, the contents can be destroyed by writing "1" or "0" by the write control circuit, so that any PROM may be used.
【0032】[0032]
【発明の効果】以上の説明から理解できるように、この
発明の構成のマイクロコンピュータにあっては、インス
トラクションデコーダをPROM化することで、わずか
な回路の追加により、ハードウエア的手段による確実な
セキュリティ機能を発揮する1チップのマイクロコンピ
ュータの構成を実現することができる。その結果、IC
カードの普及、1チップマイクロコンピュータのコスト
低減化等に貢献することができる。As can be understood from the above description, in the microcomputer having the configuration of the present invention, the instruction decoder is formed as a PROM, and a small number of circuits are added, thereby ensuring the security by hardware means. A configuration of a one-chip microcomputer exhibiting functions can be realized. As a result, IC
This can contribute to the spread of cards and cost reduction of one-chip microcomputers.
【図1】図1は、この発明の1チップのマイクロコンピ
ュータの一実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of a one-chip microcomputer according to the present invention.
【図2】図2は、従来の1チップのマイクロコンピュー
タのブロック図である。FIG. 2 is a block diagram of a conventional one-chip microcomputer.
1…インストラクションデコーダ(ID−ROM)、 2…インストラクションコードを記憶するROM(PR
OG−ROM)、 2a…アプリケーションプログラム(アプリ)、 3…プログラムカウンタ(PC)、4…演算回路(AL
U)、 10…チェックプログラム(テスト)、 11…インストラクションデコーダ(ID−PRO
M)、 12…フリップフロップ、13…書込み制御回路、 14…インクリメント回路(インクリメンタ)、15…
アドレスカウンタ。1. Instruction decoder (ID-ROM) 2. ROM storing instruction code (PR
OG-ROM), 2a: application program (app), 3: program counter (PC), 4: arithmetic circuit (AL)
U), 10: check program (test), 11: instruction decoder (ID-PRO)
M), 12: flip-flop, 13: write control circuit, 14: increment circuit (incrementer), 15 ...
Address counter.
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/78 510 G06F 12/14 G06K 17/00 G06K 19/073 ──────────────────────────────────────────────────続 き Continued on the front page (58) Fields surveyed (Int. Cl. 7 , DB name) G06F 15/78 510 G06F 12/14 G06K 17/00 G06K 19/073
Claims (3)
させるための喪失指令コードを含む、各種のインストラ
クションコードを記憶するROMと、 前記ROMから読み出されたインストラクションコード
をデコードして、前記喪失指令コードに応じて発生する
喪失制御信号を含め、複数の制御信号を発生するPRO
Mのインストラクションデコーダと、 前記喪失制御信号を受けて前記インストラクションデコ
ーダに所定値を書込むか、その内容の消去のいずれかを
行う書込み制御回路と、 を1チップに内蔵し、 マイクロコンピュータとしての動作時および動作中のい
ずれかに所定のセキュリティ実行条件が成立したときに
前記ROMの前記喪失指令コードをアクセスして前記イ
ンストラクションデコーダに送出するマイクロコンピュ
ータ。1. A ROM for storing various instruction codes including a loss command code for losing the contents of an instruction decoder, and an instruction code read from the ROM is decoded to respond to the loss command code. PRO that generates multiple control signals, including loss control signals that occur
An M instruction decoder, and a write control circuit for writing a predetermined value to the instruction decoder in response to the loss control signal or for erasing the contents of the instruction decoder. A microcomputer that accesses the lost instruction code in the ROM and sends it to the instruction decoder when a predetermined security execution condition is satisfied either during time or during operation.
行条件が成立するか否かを判定する判定プログラムを有
し、前記セキュリティ実行条件が成立したときに前記喪
失指令コードを発生する請求項1記載のマイクロコンピ
ュータ。2. The system according to claim 1, further comprising a determination program in said ROM for determining whether or not said security execution condition is satisfied, wherein said loss command code is generated when said security execution condition is satisfied. Microcomputer.
させるための喪失指令コードを含む、各種のインストラ
クションコードを記憶するROMと、 前記ROMから読み出されたインストラクションコード
をデコードして、前記喪失指令コードに応じて発生する
喪失制御信号を含め、複数の制御信号を発生するPRO
Mのインストラクションデコーダと、 前記喪失制御信号を受けて前記インストラクションデコ
ーダに所定値を書込むか、その内容の消去のいずれかを
行う書込み制御回路と、 を有するICを内蔵するカードであって、 前記ICが所定の処理を実行する動作時およびその動作
中のいずれかにおいて所定のセキュリティ実行条件が成
立したときに前記ROMの前記喪失指令コードをアクセ
スして前記インストラクションデコーダに送出するカー
ド。3. A ROM for storing various instruction codes including a loss instruction code for losing the contents of an instruction decoder, and an instruction code read from the ROM is decoded to respond to the loss instruction code. PRO that generates multiple control signals, including loss control signals that occur
A card having an M instruction decoder, and a write control circuit for writing a predetermined value to the instruction decoder in response to the loss control signal or for erasing the content thereof, A card which accesses the lost instruction code of the ROM and sends it to the instruction decoder when a predetermined security execution condition is satisfied during an operation in which an IC executes a predetermined process or during the operation.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02063093A JP3234959B2 (en) | 1992-01-14 | 1993-01-13 | Microcomputer and card incorporating the same |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2461392 | 1992-01-14 | ||
| JP4-24613 | 1992-01-14 | ||
| JP02063093A JP3234959B2 (en) | 1992-01-14 | 1993-01-13 | Microcomputer and card incorporating the same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05282472A JPH05282472A (en) | 1993-10-29 |
| JP3234959B2 true JP3234959B2 (en) | 2001-12-04 |
Family
ID=26357606
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP02063093A Expired - Fee Related JP3234959B2 (en) | 1992-01-14 | 1993-01-13 | Microcomputer and card incorporating the same |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3234959B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4212068B2 (en) * | 1997-05-19 | 2009-01-21 | ローム株式会社 | IC card and IC chip module |
| JP2002245023A (en) * | 2001-02-16 | 2002-08-30 | Mitsubishi Electric Corp | Microcomputer |
| JP5069406B2 (en) * | 2004-07-23 | 2012-11-07 | テキサス インスツルメンツ インコーポレイテッド | System and method for identifying and preventing security breaches in computer systems |
| JP2007148644A (en) * | 2005-11-25 | 2007-06-14 | Sharp Corp | Data storage device, IC card, and data storage method |
-
1993
- 1993-01-13 JP JP02063093A patent/JP3234959B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH05282472A (en) | 1993-10-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5237616A (en) | Secure computer system having privileged and unprivileged memories | |
| US4246638A (en) | Method and apparatus for controlling usage of a programmable computing machine | |
| US5860099A (en) | Stored program system with protected memory and secure signature extraction | |
| JP3493047B2 (en) | memory card | |
| JPS6325393B2 (en) | ||
| US7409251B2 (en) | Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium | |
| US8195946B2 (en) | Protection of data of a memory associated with a microprocessor | |
| KR100505106B1 (en) | Smart card with enhanced security | |
| JP2006522968A (en) | Control execution of programs for virtual machines on portable data carriers | |
| JP2003521034A (en) | Microprocessor system and method of operating the same | |
| US7330979B1 (en) | Method for protecting the processing of sensitive information in a monolithic security module, and associate security module | |
| JP3125070B2 (en) | IC card | |
| US20040186947A1 (en) | Access control system for nonvolatile memory | |
| US20020166034A1 (en) | Protection circuit for preventing unauthorized access to the memory device of a processor | |
| JP3234959B2 (en) | Microcomputer and card incorporating the same | |
| EP1295200A2 (en) | Data processing method and device for protected execution of instructions | |
| JP2008546122A (en) | Mechanism for evaluating token-enabled computer systems | |
| JPH08110937A (en) | Portable data carrier | |
| JPH05266681A (en) | Eeprom | |
| GB2263348A (en) | Securing program code. | |
| US7806319B2 (en) | System and method for protection of data contained in an integrated circuit | |
| KR100232086B1 (en) | Security memory card | |
| US20190212930A1 (en) | Data storage chip and data access method | |
| JPH0475137A (en) | data processing equipment | |
| JP2929696B2 (en) | Single chip microcomputer |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100928 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |