JP2004185536A - マイクロコンピュータとその試験方法 - Google Patents
マイクロコンピュータとその試験方法 Download PDFInfo
- Publication number
- JP2004185536A JP2004185536A JP2002354726A JP2002354726A JP2004185536A JP 2004185536 A JP2004185536 A JP 2004185536A JP 2002354726 A JP2002354726 A JP 2002354726A JP 2002354726 A JP2002354726 A JP 2002354726A JP 2004185536 A JP2004185536 A JP 2004185536A
- Authority
- JP
- Japan
- Prior art keywords
- test
- memory
- program
- circuit
- microcomputer
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 115
- 238000001514 detection method Methods 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 21
- 238000010998 test method Methods 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 102220637010 Actin-like protein 7A_S10T_mutation Human genes 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 102200048773 rs2224391 Human genes 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical compound C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31719—Security aspects, e.g. preventing unauthorised access during test
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
- Tests Of Electronic Circuits (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】外部端子CLK,RST,SIOから与えられる信号で試験モード信号TMがアクティブにされると、CPU1によってROM3に格納された各種の自己試験プログラムが読み出されて実行される。試験プログラムでセキュリティ回路7の試験になると、セキュリティ試験信号STがアクティブとなり、更に所定のアドレスADRがアクセスされると、試験用回路10のAND14の出力信号によってセレクタ12がレジスタ11側に切り替えられる。レジスタ11には、例えば不正命令が設定されており、この不正命令がCPU1に与えられる。CPU1が不正命令を実行した時に、不正アクセス検出信号ILが出力されるか否かによってセキュリティ回路7の良否を判別する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、ICカードのようにセキュリティ機能を有するマイクロコンピュータ、特にそのセキュリティ機能を試験するための試験回路を備えたマイクロコンピュータとその試験方法に関するものである。
【0002】
【従来の技術】
【0003】
【特許文献1】
特開平06−324972号公報
【特許文献2】
特開平08−272695号公報
【0004】
一般にLSI(大規模集積回路)は、シリコンウエハ上に微細な加工をしたりチップをパッケージに組み立てる製造過程において、ある確率で製造欠陥による動作不良品が発生する。従って、製造時に、出来上がったLSIに電源と信号を印加し、期待どおりの動作をするか否かの試験を行って不良品を除去する。このため、可制御性・可観測性を向上させる目的で、LSIの論理設計時にスキャン機能等の試験回路を予め組み込んでおく試験容易化設計が行われている。
【0005】
ここで、可制御性とは、LSI内部の任意の信号を任意のレベル(“H”または“L”)に設定できることであり、可観測性とは、このLSI内部の任意の信号のレベルを検出できることである。すべての信号のレベルをLSIの外部に出力して直接検出することは不可能なので、スキャン機能では、内部信号のレベルの変化を特定の端子の出力パターンの変化として出力させるような構成が採用されている。
【0006】
しかし、可制御性・可観測性を高くすることは、内部信号を制御・検出できるということであり、セキュリティに関連するLSIでは、そのセキュリティのレベルを下げることになる。パスワードや秘密鍵のように他人に知られてはならないデータを読み出されてしまうおそれがあるからである。
【0007】
特に、ICカード用のマイクロコンピュータでは、ISO7816の規格で、端子形状と信号の電気的特性が規定され、外部接続用の端子は、電源(VDD,GND)、クロック(CLK)、リセット(RST)、及び半二重通信用の直列データ(SIO)の5端子のみに限定されている。このようなマイクロコンピュータは、セキュリティ用途であることと、外部接続用の端子数が少ないことから、試験に関して種々の制約がある。
【0008】
更に、外部からアプリケーション・プログラムをダウンロードして実行できる高機能なセキュリティ向けのマイクロコンピュータでは、不正なプログラムがダウンロードされてパスワードや秘密鍵のデータを読み書きするような処理から保護するために、アプリケーション・プログラムにおける特定命令の実行や、特定領域へのアクセス及び分岐等を禁止するような高度のセキュリティ機能が必要である。
【0009】
図2は、上記の機能を備えた従来のマイクロコンピュータの一例を示す構成図である。
【0010】
このマイクロコンピュータは、CPU(中央演算処理装置)1、ROM(不揮発性メモリ)2,3、RAM(随時読み書き可能メモリ)4、周辺回路5、バス(またはブリッジ)6、セキュリティ回路7、試験用回路8、及び試験モード検出回路9を備えている。
【0011】
CPU1は、ROM2,3等のメモリに格納された命令を逐次実行するものである。ROM2は、このマイクロコンピュータの主要な動作を決めるOS(オペレーティング・システム)等のプログラムを格納したメモリである。ROM3は、チップの製造試験用のプログラム、セキュリティ用の最小限のライブラリ、ファンクションコール用のサブルーチン等を格納したメモリである。
【0012】
RAM4は、データを格納したりプログラムを一時的に格納するためのメモリで、電気的に書き換え可能な不揮発性メモリも含まれる。周辺回路5は、暗号処理や外部との通信を行うための回路である。バス6は、CPU1とその他のROM2,3等の回路との接続部分で、トライステートバスやORバスといったバス接続やブロック間の論理やタイミングを調整するブリッジ回路が用いられる。
【0013】
セキュリティ回路7は、CPU1が読み出したアドレスや命令を逐次監視し、実行や読み書きが許可されていないプログラム領域やデータ領域へのアクセスがあった場合に、CPU1に対して不正アクセク検出信号ILを出力して、適切な処理を行わせるための回路である。
【0014】
試験用回路8は、チップ上に設けられて外部には接続されていない複数の試験信号入力端子8aと、試験モード信号TMで切り替え制御されるセレクタ8bを有している。試験用回路8は、製造試験時に試験装置のプローブを介して試験信号入力端子8aからCPU1に試験用の命令を与え、任意の命令系列を実行させて、アプリケーション・プログラムを正しく実行できるか否か、或いは周辺回路5が正しく動作するか否かを試験する回路である。
【0015】
試験モード検出回路9は、端子CLK,RST,SIOに与えられる特定シーケンスの信号パターンを検出して、このマイクロコンピュータが試験モードに設定されたことを示すために、試験用回路8に対する試験モード信号TMをアクティブにするものである。
【0016】
次に動作を説明する。
【0017】
このようなマイクロコンピュータにおいて製造時に行われる試験動作では、端子CLK,RST,SIOに試験モードを設定するための特定の信号パターンが与えられる。これにより、試験モード検出回路9から出力される試験モード信号TMがアクティブにされ、試験用回路8の試験信号入力端子8aがCPU1に接続される。更に、外部の試験装置から試験信号入力端子8aに試験用の命令を与え、CPU1に任意の命令系列を実行させてユーザアプリケーションを正しく実行できるか否か、或いは周辺回路5が正しく動作するか否かを試験する。
【0018】
一方、通常動作時には、CPU1から出力されたアドレスADRは、セキュリティ回路7によって常に監視され、アクセスが許可された領域内か否かの判別が行われる。実行が許可された領域であれば、ROM2,3等のメモリから読み出された命令は、CPU1によってそのまま実行される。実行が禁止された領域であれば、セキュリティ回路7から不正アクセク検出信号ILが出力され、CPU1によってプログラムの実行の中断や、アクセスの無効化等の処理が行われる。
【0019】
【発明が解決しようとする課題】
しかしながら、従来のマイクロコンピュータでは、次のような課題があった。
【0020】
(a) 試験用回路8は、外部の試験装置から試験用の命令を与えるための試験信号入力端子8aを有している。この試験信号入力端子8aは、外部の入出力ピンには接続されていないが、チップ上に試験用のパッドとして形成されているため、悪意ある第3者によって、そのパッドを介してデータを読み出したり、不正なプログラムをダウンロードする等のセキュリティの侵害が行われる危険性がある。
【0021】
(b) 不正アクセク検出信号ILの配線パターンが電源のGNDやVDDとショートしていたり、セキュリティ回路7からこの不正アクセク検出信号ILを出力するトランジスタの動作不良で、不正アクセク検出信号ILが正しく出力されていないことを検出することができない。この理由は、次のとおりである。
【0022】
ROM3に格納した試験プログラムに基づいてCPU1がセキュリティ機能を自己試験し、不良の有無を端子CLK,RST,SIOから出力する必要がある。これには、例えばRAM4に格納されたユーザアプリケーションによって、例外状態(不正な命令実行を検出した状態)を起こさせてそれが検出できるか、及び適正な動作時に例外状態が発生しないかを、分岐先のプログラムを実行することなく、試験用プログラムの実行の流れや読み出しデータの変化として、CPU1で検出しなければならない。ここで、分岐先プログラムを実行することができないのは、ROM2にはOSが格納されており、どのアドレスにどの命令が格納されているかを特定できないため、もし実行するとその後のCPU1の動作も特定できず、試験用プログラムへ復帰することができないからである。従って、このような処理を行うことは、図2のマイクロコンピュータの構成では不可能であった。
【0023】
【課題を解決するための手段】
前記課題を解決するために、本発明は、セキュリティ機能を有するマイクロコンピュータを、通常動作用のプログラムが格納された第1のメモリと、機能試験用のプログラムが格納された第2のメモリと、外部端子から与えられる信号を監視して試験モードが指定されたことを検出する試験モード検出回路と、前記試験モードが指定されていないときには前記第1のメモリにアクセスして前記通常動作用のプログラムを実行し、該試験モードが指定されたときには前記第2のメモリにアクセスして前記機能試験用のプログラムを実行するCPUと、前記第1及び第2のメモリに対するアクセスアドレス及びデータを監視し、許可されていない不正なアクセスがあったときに前記CPUに対して特定の動作を実行させるメモリ管理ユニットと、前記試験モード時に前記CPUからセキュリティ試験信号が出力され、かつ特定のメモリ領域がアクセスされたときに、予め設定された特定の命令を該CPUに与える試験回路とで構成している。
【0024】
本発明によれば、以上のようにマイクロコンピュータを構成したので、機能試験において次のような作用が行われる。
【0025】
外部端子の信号で試験モードが入力されて試験モード検出回路で検出されると、CPUによって第2のメモリのプログラムが読み出され、機能試験が実行される。機能試験の内で、セキュリティ試験信号が出力され、更に特定のメモリ領域がアクセスされると、試験回路から予め設定された特定の命令がCPUに与えられる。従って、例えば、この特定の命令を不正なアクセスを行うような命令にしておけば、その命令を実行した時点でメモリ管理ユニットからCPUに特定の動作をさせるような制御が行われるはずである。もしも、特定の動作が行われなければ、メモリ管理ユニットが故障していることが判明する。
【0026】
【発明の実施の形態】
図1は、本発明の実施形態を示すマイクロコンピュータの構成図であり、図2中の要素と共通の要素には共通の符号が付されている。
【0027】
このマイクロコンピュータは、セキュリティ機能を有するもので、図2と同様のCPU1、ROM2,3、RAM4、周辺回路5、バス(またはブリッジ)6、セキュリティ回路7、及び試験モード検出回路9と、図2とは異なる試験用回路10を備えている。
【0028】
CPU1は、ROM2,3等のメモリに格納された命令を逐次実行するものである。ROM2は、このマイクロコンピュータの主要な動作を決めるOS等のプログラムを格納した読み出し専用のメモリであり、ROM3は、チップの製造試験用のプログラム、セキュリティ用の最小限のライブラリ、ファンクションコール用のサブルーチン等を格納した読み出し専用のメモリである。
【0029】
RAM4は、データを格納したりプログラムを一時的に格納するためのメモリで、電気的に書き換え可能な不揮発性メモリも含まれる。周辺回路5は、暗号処理や外部との通信を行うための回路である。バス6は、CPU1とその他のROM2,3等との接続部分で、トライステートバスやORバスといったバス接続やブロック間の論理やタイミングを調整するブリッジ回路が用いられる。
【0030】
セキュリティ回路7は、メモリ管理ユニットとも呼ばれ、CPU1が読み出したアドレスや命令を逐次監視し、実行や読み書きが許可されていないプログラム領域やデータ領域へのアクセスがあった場合に、CPU1に対して不正アクセク検出信号ILを出力して、適切な処理を行わせるための回路である。
【0031】
試験モード検出回路9は、端子CLK,RST,SIOから与えられる特定シーケンスの信号パターンによって、LSIが試験モードに設定されたことを検出し、CPU1に対する試験モード信号TMをアクティブにするものである。通常の動作中に誤って試験モードに移行することがないように、端子CLK,RST,SIOには、通常の動作では起こり得ない信号パターンを与えるようにしている。例えば、リセット(RES=“L”)期間中に、端子CLKのクロックに同期して特定の信号パターンを端子SIOに与え、LSIのプログラムでその信号パターンを識別して試験状態に移行するような方法が採用されている。
【0032】
試験用回路10は、製造試験時にCPU1に試験用の命令を実行させ、アプリケーション・プログラムを正しく実行できるか否か、周辺回路5が正しく動作するか否か等を試験するための回路である。
【0033】
この試験用回路10は、レジスタ11、セレクタ12、アドレスデコーダ13、及びAND(論理積ゲート)14を有している。レジスタ11は、特定の命令コードを格納するものであり、セレクタ12は、メモリ2〜4から読み出されてバス6を介して出力された読み出しデータRDTとレジスタ11に格納された特定の命令を選択してCPU1に出力するものである。
【0034】
アドレスデコーダ13は、バス6から出力されるアドレスADRを解読して、ROM2が選択されたときにその出力信号をアクティブにするものである。AND14は、CPU1から与えられるセキュリティ試験信号STとアドレスデコーダ13の出力信号が共にアクティブになったときに、セレクタ11をレジスタ12側に切り替えるための切替信号を出力するものである。
【0035】
図3及び図4は、図1の動作を示すフローチャート(その1、及びその2)である。以下、これらの図3及び図4を参照しつつ、図1の試験時の動作を説明する。
【0036】
図3には、RAM4に格納されたアプリケーション・プログラムから、分岐を禁止したROM2上の領域へ分岐した際に、このROM2上での命令実行を許可してしまう故障の有無を試験するプログラムの処理手順が示されている。ここでは、アプリケーション・プログラムが格納されたRAM4のアドレスAPPから、OSが格納されたROM2のアドレスSYSへの分岐を許可した場合を想定している。
【0037】
まず、端子CLK,RST,SIOに、試験モードを設定するための信号パターンを印加する。これにより、試験モード検出回路9から出力される試験モード信号TMがアクティブとなり、CPU1によってROM3に格納された試験プログラムの実行が開始される。
【0038】
図3のステップS1において、CPU1から出力されるセキュリティ試験信号STをアクティブにする。
【0039】
ステップS2において、RAM4のアプリケーション・プログラム内のアドレスAPPに、OS内のアドレスSYSへの分岐命令の命令コードを書き込む。これにより、CPU1がアドレスAPPの命令を実行すると、アプリケーション・プログラムからOSへの分岐処理が実現できるようになる。
【0040】
ステップS3において、アプリケーション・プログラム内のアドレスAPPでのプログラムの実行を禁止するように、セキュリティ回路7を設定する。
【0041】
ステップS4において、スタックに試験プログラム中の故障判定ルーチン1の先頭アドレスJDG1をプッシュする。
【0042】
ステップS5において、アドレスAPPへ分岐する。具体的には、試験プログラムからアドレスAPPへの分岐命令を実行する。これにより、CPU1のプログラム・カウンタに値APPが転送され、次の命令フェッチはアドレスAPPから行われる。
【0043】
ステップS6において、アドレスAPPにはOS内のアドレスSYSへの分岐命令が格納されているので、CPU1は続いてアドレスSYSへの分岐命令を実行する。アドレスSYSの命令フェッチが検出されると、試験用回路10中のセレクタ12は、レジスタ11側に切り替えられる。これにより、レジスタ11に格納されている特定の命令、例えばサブルーチン復帰命令がCPU1へ与えられる。CPU1は、そのサブルーチン復帰命令をフェッチし、そのフェッチしたサブルーチン復帰命令を実行する。
【0044】
ステップS7では、サブルーチン復帰命令の実行結果による例外状態の発生の有無が判定される。もしも、セキュリティ回路7またはその出力系統に故障があると、例外状態が発生しないのでステップS8へ進む。また、セキュリティ回路7が正常に動作していれば、例外状態が発生してステップS9へ進む。
【0045】
ステップS8では、セキュリティ回路7の故障のために例外状態が発生しないので、サブルーチン復帰命令が実行され、スタックに格納された故障判定ルーチンJDG1がポップされてCPU1の命令実行が移行する。ステップS8の後、ステップS10へ進む。
【0046】
一方、ステップS9では、正常な動作として例外条件が発生し、予め定められた例外処理ルーチンへ分岐する。例外処理ルーチンでは、割り込みフラグを立てて例外状態の発生を記憶し、この例外処理ルーチンからの復帰命令を実行する。ステップS9の後、ステップS10へ進む。
【0047】
ステップS10において、スタックには故障判定ルーチン1の先頭アドレスJDG1が格納されているので、CPU1の命令実行は、この故障判定ルーチン1へ分岐する。
【0048】
ステップS11において、故障判定ルーチン1は、割り込みフラグの状態に応じて、故障の有無の判定結果を端子SIOを通して外部に出力する。即ち、割り込みフラグが立っていれば故障がない旨の信号を出力し、割り込みフラグが立っていなければ故障がある旨の信号を出力する。これにより、セキュリティ回路7の故障の有無を知ることができる。
【0049】
図4には、RAM4に格納されたアプリケーション・プログラムから、分岐を許可したROM2上の領域へ分岐した際に、ROM2上での命令実行を禁止してしまう故障の有無を試験するプログラムの処理手順が示されている。ここでは、図3と同様に、アプリケーション・プログラムが格納されたRAM4のアドレスAPPから、OSが格納されたROM2のアドレスSYSへの分岐を許可した場合を想定しており、この図3中のステップと処理内容が同一のステップには、同一の符号が付されている。
【0050】
図4の処理では、図3中のステップS3,S4,S7〜S11に代えて、それぞれ若干処理内容の異なるステップS3A,S4A,S7A〜S11Aを有している。
【0051】
ステップS3Aでは、アプリケーション・プログラム内のアドレスAPPでのプログラムの実行を許可するように、セキュリティ回路7を設定する。
【0052】
ステップS4Aでは、スタックに試験プログラム中の故障判定ルーチン2の先頭アドレスJDG2をプッシュする。
【0053】
ステップS7Aでは、サブルーチン復帰命令の実行結果による例外状態の発生の有無が判定される。セキュリティ回路7が正常に動作していれば、例外状態が発生しないのでステップS8Aへ進む。もしも、セキュリティ回路7またはその出力系統に故障があれば、例外状態が発生してステップS9Aへ進む。
【0054】
ステップS8Aでは、正常な動作として例外状態が発生しないので、サブルーチン復帰命令が実行され、スタックに格納された故障判定ルーチンJDG2がポップされてCPU1の命令実行が移行する。ステップS8Aの後、ステップS10Aへ進む。
【0055】
一方、ステップS9Aでは、故障のために例外状態が発生し、予め定められた例外処理ルーチンへ分岐する。例外処理ルーチンでは、割り込みフラグを立てて例外状態の発生を記憶し、この例外処理ルーチンからの復帰命令を実行する。ステップS9Aの後、ステップS10Aへ進む。
【0056】
ステップS10Aにおいて、スタックには故障判定ルーチン2の先頭アドレスJDG2が格納されているので、CPU1の命令実行は、この故障判定ルーチン2へ分岐する。
【0057】
ステップS11Aにおいて、故障判定ルーチン2は、割り込みフラグの状態に応じて、故障の有無の判定結果を端子SIOを通して外部に出力する。即ち、割り込みフラグが立っていれば故障がある旨の信号を出力し、割り込みフラグが立っていなければ故障がない旨の信号を出力する。その他の処理は、図3と同様である。
【0058】
このように、本実施形態のマイクロコンピュータは、次のような利点がある。
【0059】
(1) 端子CLK,RST,SIO,VDD,GND以外に、試験のための外部接続用端子や、チップ上の試験用パッドを必要としないので、悪意ある第3者によって、セキュリティの侵害が行われる危険性が少ない。
【0060】
(2) 故障の有無で分岐先アドレスが異なるように構成しているので、セキュリティ回路7の試験を、不正アクセス検出信号ILが“L”に固定された場合と、“H”に固定された場合の2通りの故障モードに対して行うことができる。
【0061】
(3) (2)の試験において、ROM2上にあるOS内部のプログラムを実行することなく、RAM4上にあるアプリケーション・プログラムの領域からROM2への分岐の許可/禁止の試験ができる。従って、OSの内容を知らなくても試験用のプログラムを作成することができる。
【0062】
(4) CPU1やメモリ2〜4は、従来どおりのものを用いることができるので、この発明を実施するために、既存の回路を変更する工数を最小限に抑えることができる。
【0063】
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。
【0064】
図5(a)〜(d)は、図1のマイクロコンピュータの変形例を示す図であり、いずれも上記実施形態と同様の利点を有している。
【0065】
図5(a)のマイクロコンピュータは、バスとCPUの間に試験用回路を設けるのではなく、メモリ(ROM)の内部にセキュリティ回路の試験のためのセレクタを設け、通常動作時にはこのメモリから読み出されたデータを出力し、セキュリティ試験が指定されたときにはレジスタに格納された特定の命令を出力するように構成している。
【0066】
図5(b)のマイクロコンピュータは、CPUの内部に例外処理回路を設け、セキュリティ試験が指定され、かつ試験対象のメモリが選択されている時に、セキュリティ回路が不正アクセスを検出した場合に、例外状態を発生させるか特殊な動作モードへの移行を行うようにしている。
【0067】
図5(c)のマイクロコンピュータは、セキュリティ試験が指定され、かつ試験対象のメモリが選択されている時に、このメモリから読み出された命令のビットパターンに対し、“1”にしたいビットをORゲートによって、“0”にしたいビットをANDゲートによって、置換を実現するものである。この回路では、通常動作時には、メモリから読み出されたデータが、ANDやORを介してそのままCPUに与えられるようになっている。
【0068】
図5(d)のマイクロコンピュータは、セキュリティ試験が指定されたときに、メモリに対する制御信号がアクティブになることを禁止すると共に、トライステートバッファを用いて、レジスタからバスに特定の命令コードを出力するように構成している。
【0069】
【発明の効果】
以上詳細に説明したように、本発明によれば、試験モード時にCPUからセキュリティ試験信号が出力され、かつ特定のメモリ領域がアクセスされたときに、予め設定された特定の命令をこのCPUに与える試験回路を有している。従って、第2のメモリに機能試験用のプログラムを予め格納しておくことで所定の機能試験が可能になり、試験用のパッドを設ける必要がなくなってセキュリティが向上する。更に、特定の命令として不正なアクセスを起こさせるような命令を設定しておけば、メモリ管理ユニットの動作確認も可能になるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施形態を示すマイクロコンピュータの構成図である。
【図2】従来のマイクロコンピュータの一例を示す構成図である。
【図3】図1の動作を示すフローチャート(その1)である。
【図4】図1の動作を示すフローチャート(その2)である。
【図5】図1のマイクロコンピュータの変形例を示す図である。
【符号の説明】
1 CPU
2,3 ROM
4 RAM
5 周辺回路
6 バス
7 セキュリティ回路
9 試験モード検出回路
10 試験用回路
11 レジスタ
12 セレクタ
13 アドレスデコーダ
14 AND
Claims (4)
- 通常動作用のプログラムが格納された第1のメモリと、
機能試験用のプログラムが格納された第2のメモリと、
外部端子から与えられる信号を監視して試験モードが指定されたことを検出する試験モード検出回路と、
前記試験モードが指定されていないときには前記第1のメモリにアクセスして前記通常動作用のプログラムを実行し、該試験モードが指定されたときには前記第2のメモリにアクセスして前記機能試験用のプログラムを実行する中央演算処理装置と、
前記第1及び第2のメモリに対するアクセスアドレス及びデータを監視し、許可されていない不正なアクセスがあったときに前記中央演算処理装置に対して特定の動作を実行させるメモリ管理ユニットと、
前記試験モード時に前記中央演算処理装置からセキュリティ試験信号が出力され、かつ特定のメモリ領域がアクセスされたときに、予め設定された特定の命令を該中央演算処理装置に与える試験回路とを、
備えたことを特徴とするマイクロコンピュータ。 - 前記試験回路から前記中央演算処理装置に与える特定の命令は、前記メモリ管理ユニットで不正なアクセスとして検出される命令であることを特徴とする請求項1記載のマイクロコンピュータ。
- 通常動作用のプログラムが格納された第1のメモリと、機能試験用のプログラムが格納された第2のメモリと、外部端子から与えられる信号を監視して試験モードが指定されたことを検出する試験モード検出回路と、前記試験モードが指定されていないときには前記第1のメモリにアクセスして前記通常動作用のプログラムを実行し、該試験モードが指定されたときには前記第2のメモリにアクセスして前記機能試験用のプログラムを実行する中央演算処理装置と、前記第1及び第2のメモリに対するアクセスアドレス及びデータを監視し、許可されていない不正なアクセスがあったときに前記中央演算処理装置に対して特定の動作を実行させるメモリ管理ユニットとを備えたマイクロコンピュータにおいて、
前記中央処理装置は、前記機能試験用のプログラムによってセキュリティ試験が実行されており、かつ前記前記メモリ管理ユニットから前記特定の動作の実行が指示されたときに、所定の例外処理を行う例外処理回路を有することを特徴とするマイクロコンピュータ。 - プログラムを格納するメモリと、前記メモリに格納されたプログラムを実行する中央演算処理装置と、前記メモリに対するアクセスを監視して不正なアクセスを検出したときに前記中央演算処理装置に対して割り込み信号を出力するメモリ管理ユニットとを有するマイクロコンピュータの試験方法であって、
前記メモリの第1のアドレスに第2のアドレスへの分岐命令を書き込む処理と、
前記メモリ管理ユニットに対して、前記第2のアドレスの実行を不正なアクセスとして設定する処理と、
前記第1のアドレスに分岐する処理と、
前記第1のアドレスに書き込まれた分岐命令の実行の結果、前記メモリ管理ユニットから前記割り込み信号が出力されたか否かによって故障の有無を判定する処理とを、
順次実行することを特徴とするマイクロコンピュータの試験方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002354726A JP4182740B2 (ja) | 2002-12-06 | 2002-12-06 | マイクロコンピュータ |
US10/688,897 US7415730B2 (en) | 2002-12-06 | 2003-10-21 | Microcomputer and test method therefore |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002354726A JP4182740B2 (ja) | 2002-12-06 | 2002-12-06 | マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004185536A true JP2004185536A (ja) | 2004-07-02 |
JP4182740B2 JP4182740B2 (ja) | 2008-11-19 |
Family
ID=32463363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002354726A Expired - Fee Related JP4182740B2 (ja) | 2002-12-06 | 2002-12-06 | マイクロコンピュータ |
Country Status (2)
Country | Link |
---|---|
US (1) | US7415730B2 (ja) |
JP (1) | JP4182740B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012032829A1 (ja) * | 2010-09-08 | 2012-03-15 | 三菱重工業株式会社 | 異常検査装置、中央処理演算装置、及び異常検査方法 |
JP2013109393A (ja) * | 2011-11-17 | 2013-06-06 | Toyota Motor Corp | 情報処理装置およびメモリ保護装置の動作確認方法 |
US9092373B2 (en) | 2006-01-16 | 2015-07-28 | Lapis Semiconductor Co., Ltd. | Microcomputer with bootable flash memory |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475806B1 (en) * | 2005-02-24 | 2009-01-13 | Savr Communications, Inc. | Method and system of universal RFID communication |
JP2007249323A (ja) * | 2006-03-14 | 2007-09-27 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
US7958396B2 (en) * | 2006-05-19 | 2011-06-07 | Microsoft Corporation | Watchdog processors in multicore systems |
JP4309949B1 (ja) * | 2008-05-28 | 2009-08-05 | 株式会社東芝 | 半導体集積装置及び半導体集積装置のテスト方法 |
FR2938671B1 (fr) * | 2008-11-17 | 2011-06-03 | Sagem Defense Securite | Equipement avionique securise et procede de securisation associe |
JP5963647B2 (ja) * | 2012-01-30 | 2016-08-03 | エスアイアイ・セミコンダクタ株式会社 | 半導体記憶回路を備えた半導体装置 |
CN103810076B (zh) * | 2012-11-15 | 2017-09-29 | 国家电网公司 | 数据复制的监控方法及装置 |
CN103744766B (zh) * | 2013-12-30 | 2016-08-24 | 飞天诚信科技股份有限公司 | 一种监控系统的工作方法 |
CN104657250B (zh) * | 2014-12-16 | 2018-07-06 | 无锡华云数据技术服务有限公司 | 一种对云主机进行性能监控的监控系统及其监控方法 |
CN107045469B (zh) * | 2017-03-28 | 2018-03-30 | 北京精一强远科技有限公司 | 一种智能语音报警系统和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4519032A (en) * | 1982-06-09 | 1985-05-21 | At&T Bell Laboratories | Memory management arrangement for microprocessor systems |
JPH02224140A (ja) * | 1989-02-27 | 1990-09-06 | Nippon Motoroola Kk | 割込試験装置 |
JPH0484348A (ja) * | 1990-07-27 | 1992-03-17 | Nec Corp | Romデータ保護方式 |
US5287519A (en) | 1992-09-17 | 1994-02-15 | International Business Machines Corp. | LAN station personal computer system with controlled data access for normal and unauthorized users and method |
JPH06236447A (ja) * | 1993-02-09 | 1994-08-23 | Mitsubishi Electric Corp | Icカード用マイクロコンピュータ |
JPH08137824A (ja) * | 1994-11-15 | 1996-05-31 | Mitsubishi Semiconductor Software Kk | セルフテスト機能内蔵シングルチップマイコン |
US5574786A (en) | 1995-02-06 | 1996-11-12 | International Business Machines Corporation | Securing trusted personal computer system against unauthorized movement |
JP3461234B2 (ja) * | 1996-01-22 | 2003-10-27 | 株式会社東芝 | データ保護回路 |
-
2002
- 2002-12-06 JP JP2002354726A patent/JP4182740B2/ja not_active Expired - Fee Related
-
2003
- 2003-10-21 US US10/688,897 patent/US7415730B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092373B2 (en) | 2006-01-16 | 2015-07-28 | Lapis Semiconductor Co., Ltd. | Microcomputer with bootable flash memory |
WO2012032829A1 (ja) * | 2010-09-08 | 2012-03-15 | 三菱重工業株式会社 | 異常検査装置、中央処理演算装置、及び異常検査方法 |
JP2012058975A (ja) * | 2010-09-08 | 2012-03-22 | Mitsubishi Heavy Ind Ltd | 異常検査装置、中央処理演算装置、及び異常検査方法 |
KR101453184B1 (ko) | 2010-09-08 | 2014-10-22 | 미츠비시 쥬고교 가부시키가이샤 | 중앙 처리 연산 장치 및 이상 검사 방법 |
US8966320B2 (en) | 2010-09-08 | 2015-02-24 | Mitsubishi Heavy Industries, Ltd. | Fault inspection unit, central processing unit, and fault inspection method |
JP2013109393A (ja) * | 2011-11-17 | 2013-06-06 | Toyota Motor Corp | 情報処理装置およびメモリ保護装置の動作確認方法 |
Also Published As
Publication number | Publication date |
---|---|
US20040111655A1 (en) | 2004-06-10 |
US7415730B2 (en) | 2008-08-19 |
JP4182740B2 (ja) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7117352B1 (en) | Debug port disable mechanism | |
US7266848B2 (en) | Integrated circuit security and method therefor | |
JP6433198B2 (ja) | 安全なブートromパッチのためのシステム及び方法 | |
US6968420B1 (en) | Use of EEPROM for storage of security objects in secure systems | |
JP2010086523A (ja) | セキュアメモリインターフェース | |
EP0702297B1 (en) | A data processor with breakpoint circuit | |
JP4182740B2 (ja) | マイクロコンピュータ | |
US7274283B2 (en) | Method and apparatus for resisting hardware hacking through internal register interface | |
US20080148343A1 (en) | Debugging security mechanism for soc asic | |
JPH0719231B2 (ja) | 改良されたアクセス安全装置を備える集積回路 | |
JPH10513589A (ja) | メモリ用テスト・モード動作を入力し実行するための装置 | |
JP2000122931A (ja) | デジタル集積回路 | |
KR950012515B1 (ko) | 데이타처리장치 | |
US7228440B1 (en) | Scan and boundary scan disable mechanism on secure device | |
US7337366B2 (en) | Microcomputer, a method for protecting memory and a method for performing debugging | |
JP2004117029A (ja) | 半導体集積回路とその試験方法 | |
US20020018380A1 (en) | Semiconductor circuit | |
US9779242B2 (en) | Programmable secure bios mechanism in a trusted computing system | |
EP0701210A2 (en) | Data processor having data bus and instruction fetch bus provided separately from each other | |
US7254716B1 (en) | Security supervisor governing allowed transactions on a system bus | |
US9779243B2 (en) | Fuse-enabled secure BIOS mechanism in a trusted computing system | |
US7254720B1 (en) | Precise exit logic for removal of security overlay of instruction space | |
JP2008152421A (ja) | 半導体集積回路 | |
JP2001527669A (ja) | 集積回路および該集積回路のテスト方法 | |
US7340575B2 (en) | Method and a circuit for controlling access to the content of a memory integrated with a microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050826 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071029 |
|
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: 20080812 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080825 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4182740 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130912 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |