JP3710671B2 - 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 - Google Patents
1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 Download PDFInfo
- Publication number
- JP3710671B2 JP3710671B2 JP2000071183A JP2000071183A JP3710671B2 JP 3710671 B2 JP3710671 B2 JP 3710671B2 JP 2000071183 A JP2000071183 A JP 2000071183A JP 2000071183 A JP2000071183 A JP 2000071183A JP 3710671 B2 JP3710671 B2 JP 3710671B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- address range
- setting
- address
- access permission
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/64—Distributing or queueing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0435—Details
- H04Q11/0471—Terminal access circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/06—Integrated circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/34—Microprocessors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/36—Memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/38—Displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13003—Constructional details of switching devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/1305—Software aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/1307—Call setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13072—Sequence circuits for call signaling, ACD systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13095—PIN / Access code, authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13103—Memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13106—Microprocessor, CPU
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13209—ISDN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13305—Transistors, semiconductors in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/1332—Logic circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13322—Integrated circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明は、プログラムメモリに複数のアプリケーションプログラムを搭載した1チップマイクロコンピュータ及びそれを用いたICカードに関し、特にメモリへのアクセスを制限し、アプリケーションプログラム間のデータのセキュリティ性を高めた1チップマイクロコンピュータ及びそれを用いたICカードに関するものである。
【0002】
【従来の技術】
大容量不揮発性メモリをプログラムメモリとして搭載した1チップマイクロコンピュータは、各種用途に適した複数のアプリケーションプログラムを予めプログラムメモリに書き込んでおき、それぞれのプログラムを選択し実行処理させることがある。
【0003】
1チップマイクロコンピュータに搭載されている内蔵メモリは、CPUによってアクセスされるため、同一CPUで動作するプログラムは、どのプログラムでもCPUのアクセス可能な範囲のデータに対してアクセスできる。この場合、複数のアプリケーションプログラムを搭載していると、一方のアプリケーションプログラムが他方のアプリケーションプログラムの命令コードやデータにアクセスすることができてしまい、他方のアプリケーションプログラムやデータを改ざんできたり、読み出すことが可能となり、セキュリティ性を損なうという問題を招来していた。
【0004】
上記問題の解決手段として、特開平8−55204号公報には、CPUにプログラムセグメントレジスタとプログラムカウンタとメモリ上のデータをアクセスするためのレジスタとを備え、これらの演算により実行、及び読み書きを行うアドレスを求めてメモリアクセスを制限する方法が開示されている。
【0005】
このメモリアクセス制限方法を適用したICカードは、図8に示すように、CPU101と、ROM102と、RAM103と、EEPROM104とで構成されており、CPU101の内部構成と機能に上記解決手段が存在している。
【0006】
そして、図9に示すように、このCPU101には、CPU101をリセット後、一度だけ値をリセットすることができるプログラムセグメントレジスタ(PSR)201と、メモリ上のデータをアクセスするためのデータアクセス用オフセットレジスタ(DR)202と、プログラムカウンタ(PC)203及びプログラムセグメントレジスタ201に基づいて実行アドレスを生成するアドレス加算手段205と、データアクセス用オフセットレジスタ202及びプログラムセグメントレジスタ201からデータを読み出して書き込みアドレスを生成するアドレス加算手段204と、実行アドレスの生成とデータ読み出しアドレス及びデータ書き込みアドレスの生成に共通のオフセットアドレス値を生成するアドレス乗算手段206を有している。
【0007】
なお、上記プログラムセグメントレジスタ201は、外部より受け取った目的のアプリケーションプログラムの識別番号を保存しておくために使用される。上記データアクセス用オフセットレジスタ202は、読み書きする際のアドレス値にオフセットを持たせるためのオフセット値を格納するために使用される。
【0008】
また、プログラムカウンタ203は、プログラムの実行命令のアドレスを指し示すものである。例えば、外部より受け取った目的のアプリケーションプログラムの識別番号が2の場合には、その数値2がプログラムセグメントレジスタ201に保存され、絶対オフセット値として実行するアドレスがプログラムセグメントレジスタの1000倍に設定されている場合には、プログラム実行アドレスを(2×1000)番地へ移行する。以降は、実行アドレスが(2×1000+プログラムカウンタ203の値)番地となるように、プログラムセグメントレジスタ201の値とプログラムカウンタ203の値とから実行すべきアドレスを指定する。
【0009】
また、データの読み書きアドレスについては、アドレス(2×1000+データアクセス用オフセットレジスタ202の値)番地を特定して実行するように、プログラムセグメントレジスタ201の値とデータアクセス用オフセットレジスタ202の値から読み書きするアドレスを求める。
【0010】
上記より、プログラムセグメントレジスタ201に格納された目的のアプリケーションプログラムの識別番号で指定されたアプリケーションプログラムを実行している間は、そのアプリケーションプログラムが格納されたアドレス範囲とRAM以外に対して、アクセスが不可能となる。
【0011】
したがって、プログラムメモリに複数のアプリケーションプログラムを搭載する場合に、一方のアプリケーションプログラムが他方のアプリケーションプログラムの命令コードやデータにアクセスすることを不可能とし、これにより、セキュリティ性を確保していた。
【0012】
【発明が解決しようとする課題】
しかしながら、上記従来のアドレス制限方法では、プログラムセグメントレジスタの設定は一度だけという制約から、CPUのリセット後、一つのアプリケーションプログラムのみ実行可能であり、引き続き他のアプリケーションプログラムを実行するためには、再度、CPUのリセットが必要である。また、アプリケーションプログラム間において通信ができない等、利便性に問題があった。
【0013】
例えば、複数のアプリケーションプログラムを搭載したICカードに応用した場合、ICカードをICカードシステム内のリーダライタから切り離した状態、つまり、電源を遮断するまで、他のアプリケーションプログラムが実行できない状態となる。
【0014】
このため、一連の複数のアプリケーションプログラムを実行させようとした場合、一つのアプリケーションプログラムの実行が終了するたびにICカードをリーダライタから切り離し、再度挿入し、ICカードの初期処理をその度に繰り返す必要が生じ、一連の処理時間が長大化するという問題と、ICカードを何度も抜き差しする手間が生じるという問題とがあった。
【0015】
また、現在実行中のアプリケーションプログラム内でサブルーチンコール等を行い、元のアドレスに戻したい場合は、一般的にリターンアドレスが一時的にRAMに格納されるが、この値が不具合で又は故意で別の値に書き変わると、アプリケーションプログラムが暴走したり、その他のアプリケーションプログラムをアクセスしてしまう要因となる可能性がある。結果として、CPUは、暴走してしまうことになるが、上記アクセス制限方法では、このような場合の対策が一切講じられていない。
【0016】
そこで、本発明は上記問題点に鑑みなされたものであり、その目的は、複数のアプリケーションプログラムが格納された1チップマイクロコンピュータにおいて、一方のアプリケーションプログラムが他方のアプリケーションプログラムの命令コードやデータにアクセスすることを不可能とし、セキュリティ性を確保した1チップマイクロコンピュータを提供することにある。
【0017】
本発明の他の目的は、複数のアプリケーションプログラムをリセット動作などを必要とせず連続的に実行できるようにして利便性を向上させることが可能な1チップマイクロコンピュータを提供することにある。
【0018】
本発明の更に他の目的は、アプリケーションプログラムがプログラムの不具合または故意に他のアプリケーションプログラムにアクセスすることがあっても、CPUは暴走することなくアクセス制限機能を有効にしたまま処理の継続が行える1チップマイクロコンピュータを提供することにある。
【0019】
【課題を解決するための手段】
本発明に係る1チップマイクロコンピュータは、アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定手段と、アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断手段と、上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定手段と、特定アドレス空間に格納されたシステムソフトウェアを実行しているときに、当該システムソフトウェアによって、上記アクセス許可アドレス範囲設定手段にアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定手段に、上記アクセス許可アドレス範囲設定手段に設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とするレジスタ書き込み制御回路と、上記判断手段の結果と上記アクセス許可設定手段の設定内容とに基づいて、メモリに対するアクセスを制御する制御手段とを備えている。
【0020】
本発明に係る1チップマイクロコンピュータのアクセス制御方法は、アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定ステップと、アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断ステップと、上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定ステップとを含み、特定アドレス空間に格納されたシステムソフトウェアを実行しているときに、当該システムソフトウェアによって、上記アクセス許可アドレス範囲設定ステップにおいてアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定ステップにおいて、上記アクセス許可アドレス範囲設定ステップで設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とすると共に、上記判断ステップの結果と上記アクセス許可設定ステップの設定内容とに基づいて、メモリに対するアクセスを制御する。
【0021】
上記の発明によれば、特定のアドレス空間に格納されたソフトウェアが実行されているときに、アクセス許可アドレス範囲設定手段及びアクセス許可設定手段の各設定手段に対して設定可能となる。
【0022】
上記特定のアドレス空間に格納されたソフトウェアが実行されていないときには、たとえ上記特定のアドレス空間から設定しても、アクセス許可アドレス範囲設定手段及びアクセス許可設定手段の各設定手段に対して設定することはできなくなる。
【0023】
上記特定のアドレス空間に格納されたソフトウェアが実行されているときに、上記特定のアドレス空間からアクセス許可アドレス範囲設定手段を介してアドレス範囲が設定できる。この場合、ソフトウェアの実行中に、該設定されたアドレス範囲内のアドレスに対してアクセスされているか否かが判断手段によって判断される。一方、上記特定のアドレス空間に格納されたソフトウェアが実行されていないときには、いくらデータが上記特定のアドレス空間からアクセス許可アドレス範囲設定手段に入力されていても、該データは該アクセス許可アドレス範囲設定手段に書き込まれることない。
【0024】
一方、上記特定のアドレス空間に格納されたソフトウェアが実行されているときに、上記特定のアドレス空間からアクセス許可設定手段を介して上記アドレス範囲外のアドレスのアクセスを許可するか否かが設定できる。一方、上記特定のアドレス空間に格納されたソフトウェアが実行されていないときには、いくらデータが上記特定のアドレス空間からアクセス許可設定手段に入力されていても、該データは該アクセス許可設定手段に書き込まれることない。
【0025】
上記判断手段の判断結果と、上記アクセス許可設定手段の設定内容とに基づいて、メモリに対するアクセスが制御手段によって制御される。すなわち、アドレス範囲が設定されていて、且つ、アドレス範囲外のアドレスのアクセスが許可されていないときには、メモリにおいて、該アドレス範囲内のアドレスに対してのみアクセス可能となる一方、該アドレス範囲外のアドレスに対してはアクセスはできない。
【0026】
このようにメモリに対するアクセスを制御することによって、実行中のプログラムが他のプログラムが格納されているアドレス空間に悪影響を及ぼすことを未然に回避できる。また、特定のアドレス空間からのみ、アクセス許可設定手段とアドレス範囲設定手段とに対して設定ができるため、これらの設定手段もアプリケーションプログラムから影響を受けない。つまり、特定アドレス空間からのみアクセス可能なアクセス許可手段、アクセス範囲設定手段に対しても影響を与えない。
【0027】
なお、アドレス範囲が設定されていて、且つ、アドレス範囲外のアドレスのアクセスが許可されているときには、該アドレス範囲外のアドレスに対してもアクセス可能となる。
【0028】
本発明に係る他の1チップマイクロコンピュータは、特定アドレス空間に格納されたシステムソフトウェアを実行していることを表すフラグをセットするモニタフラグと、アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定レジスタと、アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断手段と、上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定レジスタと、上記フラグがセットされているときに、上記特定アドレス空間に格納されたシステムソフトウェアによって、上記アクセス許可アドレス範囲設定レジスタにアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定レジスタに、上記アクセス許可範囲設定レジスタに設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とするレジスタ書き込み制御回路と、上記判断手段の結果と上記アクセス許可設定レジスタの設定内容とに基づいて、メモリに対するアクセスを制御する制御手段とを備えている。
【0029】
本発明に係る1チップマイクロコンピュータのアクセス制御方法は、特定アドレス空間に格納されたシステムソフトウェアを実行していることを表すフラグをセットするモニタフラグセットステップと、アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定ステップと、アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断ステップと、上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定ステップとを含み、上記フラグがセットされているときに、上記特定アドレス空間に格納されたソフトウェアによって、上記アクセス許可アドレス範囲設定ステップにおいてアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定ステップにおいて、上記アクセス許可アドレス範囲設定ステップで設定したアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とすると共に、上記判断手段の結果と上記アクセス許可設定レジスタの設定内容とに基づいて、メモリに対するアクセスを制御する。
【0030】
上記の発明によれば、特定のアドレス空間に格納されたソフトウェアが実行されているときにフラグがモニタフラグによってセットされる。フラグがセットされているときに、アクセス許可アドレス範囲設定レジスタ及びアクセス許可設定レジスタの各レジスタに対して設定可能となる。
【0031】
フラグがセットされていないときには、特定のアドレス空間に格納されたソフトウェアが実行されていないので、モニタフラグはフラグをセットしない。したがって、このとき、たとえ上記特定のアドレス空間から設定しても、アクセス許可アドレス範囲設定レジスタ及びアクセス許可設定レジスタの各レジスタに対する設定はできなくなる。
【0032】
上記フラグがセットされているときに、上記特定のアドレス空間からアクセス許可アドレス範囲設定レジスタを介してアドレス範囲が設定できる。この場合、ソフトウェアの実行中に、該設定されたアドレス範囲内のアドレスに対してアクセスされているか否かが判断手段によって判断される。一方、上記フラグがセットされていないときに、いくらデータが上記特定のアドレス空間からアクセス許可アドレス範囲設定レジスタに入力されていても、該データは該アクセス許可アドレス範囲設定レジスタに書き込まれることない。
【0033】
これに対して、上記フラグがセットされているときに、上記特定のアドレス空間からアクセス許可設定レジスタを介して上記アドレス範囲外のアドレスのアクセスを許可するか否かが設定できる。一方、上記フラグがセットされていないときには、いくらデータが上記特定のアドレス空間からアクセス許可設定レジスタに入力されていても、該データは該アクセス許可設定レジスタに書き込まれることない。
【0034】
上記判断手段の判断結果と、上記アクセス許可設定レジスタの設定内容とに基づいて、メモリに対するアクセスが制御手段によって制御される。すなわち、アドレス範囲が設定されていて、且つ、アドレス範囲外のアドレスのアクセスが許可されていないときには、メモリにおいて、該アドレス範囲内のアドレスに対してのみアクセス可能となる一方、該アドレス範囲外のアドレスに対してはアクセスはできない。
【0035】
このようにメモリに対するアクセスを制御することによって、実行中のプログラムが他のプログラムが格納されているアドレス空間に悪影響を及ぼすことを未然に回避できる。また、特定のアドレス空間からのみ、アクセス許可設定レジスタとアドレス範囲設定レジスタとに対して設定ができるため、これらのレジスタもアプリケーションプログラムから影響を受けない。つまり、特定アドレス空間からのみアクセス可能なアクセス許可レジスタ、アクセス範囲設定レジスタにも影響を与えない。
【0036】
なお、アドレス範囲が設定されていて、且つ、アドレス範囲外のアドレスのアクセスが許可されているときには、該アドレス範囲外のアドレスに対してもアクセス可能となる。
【0037】
上記1チップマイクロコンピュータにおいて、上記システムソフトウェアは、アプリケーションプログラムを実行する前に、該アプリケーションプログラムの格納されているアドレス範囲を上記アクセス許可アドレス範囲設定レジスタに設定すると共に、該アドレス範囲外のアドレスに対してアクセスを許可しないように上記アクセス許可レジスタを設定することが好ましい。
【0038】
この場合、アプリケーションプログラムが実行されるのに先立って、上記システムソフトウェアは、この実行しようとしているアプリケーションプログラムの格納されているアドレス範囲をアクセス許可アドレス範囲設定レジスタに設定する。つまり、実行中のシステムソフトウェアは、次に実行するアプリケーションプログラムのアドレス範囲が設定されるまで、該次に実行するアプリケーションプログラムをアクセスすることはない。
【0039】
以上のように、オペレーティングシステムなどのシステムソフトウェアからアプリケーションプログラム等の次に実行されるプログラムへ制御が移行される前に、アクセス可能とするアドレス範囲を設定できる。したがって、実行中のプログラムが次に実行されるプログラムに影響を与えることを未然に回避でき、信頼性が著しく向上する。
【0040】
上記1チップマイクロコンピュータにおいて、上記アドレス範囲外のアドレスのアクセスを不許可とする設定がアクセス許可設定レジスタになされており、上記アドレス範囲外のアドレスに対してアクセスしたことが判断手段によって判断されたとき、割り込み要求信号を生成してCPUへ送る割り込み要求信号生成手段を更に備え、所定の割り込み処理プログラムを実行することが好ましい。
【0041】
この場合、他のプログラムによって不正なアクセスがなされたとき、アドレス範囲外のアドレスに対してアクセスしたことが判断手段によって判断され、割り込み要求信号生成手段によって割り込み要求信号が生成されてCPUへ送られる。CPUは、この割り込み要求信号を受領すると、所定の割り込み処理プログラムが実行されるので、CPUが暴走することを未然に防ぐことができる。
【0042】
上記1チップマイクロコンピュータにおいて、上記割り込み処理プログラムは、システムプログラムまたはオペレーティングシステムに制御を移すプログラムであることが好ましい。この場合、割り込み要求信号生成手段によって割り込み要求信号が生成されてCPUへ送られると、割り込み処理プログラムが実行され、システムプログラムまたはオペレーティングシステムに制御が移される。これにより、CPUまたはアプリケーションプログラムの暴走を防ぐことが可能となる。
【0043】
上記1チップマイクロコンピュータにおいて、上記システムソフトウェアが管理する領域に設けられ、メモリへのアクセス制限を越えてアクセスが行われた場合にその旨の情報を記憶する再実行禁止情報記憶手段を更に備え、該情報に基づいて、上記制御手段は上記メモリを制御し、アクセス制限を越えて上記アクセスが再度行われないようにすることが好ましい。
【0044】
この場合、メモリへのアクセス制限を越えてアクセスが行われると、その旨の情報が再実行禁止情報記憶手段(例えば、フラグやレジスタ等)に記憶されることになる。上記制御手段は、この情報に基づいて上記メモリを制御し、アクセス制限を越えて上記アクセスが再度行われないようにする。これにより、一旦不正なアクセスが行われたプログラムに対しては、それ以降、その実行が禁止されるので、CPUは、暴走することなく処理を継続して行うことが可能となる。
【0045】
上記1チップマイクロコンピュータにおいて、上記メモリは、書き換え可能な不揮発性メモリであることが好ましい。この場合、後から追加したり、書き換えたりしたプログラム(例えば、アプリケーションプログラム)等が既存のプログラムに影響を与えることなく実行することができる。
【0046】
上記の1チップマイクロコンピュータは、ICカードに適用することが好ましい。この場合、複数のアプリケーションプログラムを内蔵したICカードにおいて、アプリケーションプログラム間のセキュリティ性を確実に確保することができる。また、複数のプログラムを格納するICカードを実現でき、それぞれのプログラムをリセットすることなく動的に切り換えることができるので、そのICカードをリーダライタに挿入した状態で多目的に利用できる。さらに、複数のプログラム及びデータ間の干渉を禁止できるため、不正なプログラムのアクセス防止やデータの保護等のセキュリティ性が確保できるので、個人情報等の機密データを格納するICカードに適している。
【0047】
【発明の実施の形態】
本発明の実施の一形態について図1乃至図7に基づいて説明すれば、以下のとおりである。
【0048】
本実施の形態においては、不揮発性メモリを搭載したICカード用1チップマイクロコンピュータに本発明を適用した場合について説明する。
【0049】
図2は、ICカード用1チップマイクロコンピュータのブロック図を示している。この1チップマイクロコンピュータは、システムプログラムやアプリケーションプログラムを実行するためのCPU301に加えて、システムプログラムやアプリケーションプログラムを格納するための不揮発性メモリ303(例えばフラッシュメモリやEEPROM等の書き換え可能なメモリ)、CPU301の作業用のRAM6、メモリ保護回路5、外部機器と通信を行うためのUART2、及びタイマ等周辺回路4を備えている。これらのブロックは、CPU1が入出力するアドレス線、データ線、データの読み出しや書き込み及びブロック活性化のための制御線などで接続されている。
【0050】
図1は、図2のブロック図のCPU301、メモリ保護回路5、不揮発性メモリ303について詳細に説明するブロック図である。
【0051】
この1チップマイクロコンピュータは、CPU301とこれに含まれるプログラムカウンタ(PC)302と、不揮発性メモリ303と、モニタフラグ304と、後述するアクセス許可アドレス範囲設定レジスタを含むアクセス許可領域検出回路306と、アクセス許可設定レジスタ307と、アクセス許可アドレス範囲設定レジスタ及びアクセス許可設定レジスタ307に対する書き込み信号の発生を制限するレジスタ書き込み制御回路305と、不揮発性メモリ303に対して読み出し信号の発生を制限するメモリ読み出し制御回路309と、不揮発性メモリ303に対して書き込み信号の発生を制限するメモリ書き込み制御回路310とを有する。
【0052】
モニタフラグ304には、CPU301から出力されるアドレスバス信号311と命令の第1サイクルを表す命令取り出し信号308(フェッチ)が入力される。ここでは、CPU301が不揮発性メモリ303の特定アドレス空間に格納されたオペレーティングシステムなどのシステムソフトウェアを実行しているか否かの判別が行われる。特定アドレス空間を実行しているとき、モニタフラグ304からは2値論理のハイレベル(以下、「1」と称す。)が出力される。一方、特定アドレス空間以外を実行しているとき、モニタフラグ304からは2値論理のローレベル(以下、「0」と称す。)が出力される。
【0053】
レジスタ書き込み制御回路305には、CPU301から出力される書き込み基準信号312(ライト)と、モニタフラグ304の出力であるモニタフラグ出力信号314が入力される。書き込み基準信号312は、CPU301が内蔵レジスタや内蔵メモリに書き込みアクセスしたときに出力される信号である。
【0054】
レジスタ書き込み制御回路305では、書き込み基準信号312をアクセス許可領域検出回路306内のアクセス許可アドレス範囲設定レジスタとアクセス許可設定レジスタ307に伝達するか否かの制御を行う。
【0055】
モニタフラグ304の内容が「1」のとき、つまり、上記特定アドレス空間から書き込み動作が発生したときは、書き込み基準信号312は、後述するレジスタ書き込み信号319として、アクセス許可領域検出回路306内のアクセス許可アドレス範囲設定レジスタ(図示しない)とアクセス許可設定レジスタ307とにそれぞれ伝達される。これにより、アクセス許可領域検出回路306内のアクセス許可アドレス範囲設定レジスタとアクセス許可設定レジスタ307への書き込みが可能になる。
【0056】
これに対して、モニタフラグ304の内容がデータ「0」のとき、つまり、特定アドレス空間以外から書き込み動作が発生したときは、書き込み基準信号312はアクセス許可領域検出回路306内のアクセス許可アドレス範囲設定レジスタとアクセス許可設定レジスタ307との何れに対しても伝達されない。これにより、アクセス許可領域検出回路306内のアクセス許可アドレス範囲設定レジスタとアクセス許可設定レジスタ307への書き込みは禁止される。
【0057】
図3は、図1のブロック図におけるアクセス許可領域検出回路306、アクセス許可設定レジスタ307、メモリ読み出し制御回路309、及びメモリ書き込み制御回路310との動作について、更に詳細に説明したブロック図である。
【0058】
アクセス許可領域検出回路306には、CPU301から出力されるアドレスバス信号311とデータバス信号320と、CPU301から出力される読み出し基準信号313(リード)と、レジスタ書き込み制御回路305の出力であるレジスタ書き込み信号319が入力される。
【0059】
アクセス許可領域検出回路306は、メモリに対して読み出し及び書き込みの制約を解除するアドレス領域を設定するアクセス許可アドレス範囲設定レジスタ401と、アドレス比較回路402とによって構成される。アドレス領域(アクセス許可アドレス範囲)は、例えば、アドレス領域のスタートアドレスとエンドアドレスとを格納するレジスタを用意して設定する。このレジスタは、レジスタ書き込み信号319によって書き込みが行われる。但し、モニタフラグ304によって、上記特定アドレス空間からのみ書き込みが可能である。
【0060】
このアクセス許可領域検出回路306においては、ICカードのアプリケーションプログラムを実行する前に、オペレーティングシステムによってアプリケーションプログラムが格納されているアドレスのスタートアドレスとエンドアドレスが上記アクセス許可アドレス範囲設定レジスタにセットされる。アプリケーションプログラム実行中に、CPU301から出力されるアドレスバス信号311とアクセス許可アドレス範囲設定レジスタ401の値とをアドレス比較回路402で比較することによって設定されたアドレス範囲をCPU301がアクセスしている間は、アドレス比較回路402からアクセス許可アドレス領域出力信号316に、「1」が出力される。また、同様にして、CPU301が、実行中のアプリケーションプログラム以外のアプリケーションプログラムが格納されている領域をアクセスした場合、アクセス許可アドレス領域出力信号316に、「0」が出力される。
【0061】
アクセス許可設定レジスタ307には、CPU301から出力されるアドレスバス信号311、データバス信号320、CPU301から出力される読み出し基準信号313、及びレジスタ書き込み制御回路305の出力であるレジスタ書き込み信号319が入力される。
【0062】
このアクセス許可設定レジスタ307は、アクセス許可領域検出回路306内のアクセス許可アドレス範囲設定レジスタ401に設定されたアドレス範囲外のアプリケーションプログラム領域に対して、読み出し又は書き込みのアクセスを許可するか否かを設定するレジスタである。このアクセス許可設定レジスタ307は、レジスタ書き込み信号319によって書き込みが行われる。但し、モニタフラグ304に基づいて、特定アドレス空間からのみ書き込み可能である。
【0063】
ICカードのアプリケーションプログラムを実行する前に、オペレーティングシステムによって、アクセス許可設定レジスタ307に「0」を設定したとき、アクセス許可信号317からは「0」が出力される。また、「1」を設定したとき、アクセス許可信号317からは「1」が出力される。
【0064】
上記のアクセス許可設定レジスタ307の設定内容が「0」のとき、アクセス許可領域検出回路306内のアクセス許可アドレス範囲設定レジスタ401で設定したアプリケーションプログラムアドレス範囲外は、読み出し、及び書き込みが不可能となる。このアクセス許可設定レジスタ307の内容が「1」のときは、全てのアプリケーションプログラムメモリ領域は読み出し又は書き込みが可能となる。
【0065】
メモリ読み出し制御回路309には、CPU301から出力される読み出し基準信号313、アドレス比較回路402から出力されるアクセス許可アドレス領域出力信号316、及びアクセス許可信号317が入力される。このメモリ読み出し制御回路309は、AND回路403とセレクタ回路405により構成される。ここでは、読み出し基準信号313を不揮発性メモリ303に伝達するか否かの制御を行う。
【0066】
アクセス許可信号317から「0」が出力されているとき、セレクタ回路405は、読み出し基準信号313とアクセス許可アドレス領域出力信号316をAND回路403に入力して得られる信号を選択して、メモリ303へ読み出し信号318を与える。すなわち、アクセス許可領域検出回路306で設定したメモリ領域以外は、読み出し信号318を出力しない。アクセス許可信号317から「1」が出力されているとき、セレクタ回路405は、読み出し基準信号313を選択して、不揮発性メモリ303へ読み出し信号318を与える。すなわち、アプリケーションプログラムメモリ領域であれば、読み出し制限がなくなる。
【0067】
メモリ書き込み制御回路310には、CPU301から出力される書き込み基準信号312、アクセス許可アドレス領域出力信号316、及びアクセス許可信号317が入力される。このメモリ書き込み制御回路310は、AND回路404とセレクタ回路406とによって構成される。ここでは、書き込み基準信号312を不揮発性メモリ303に伝達するか否かの制御が行われる。
【0068】
アクセス許可信号317から「0」が出力されているとき、セレクタ回路406は、書き込み基準信号312とアクセス許可アドレス領域出力信号316とをAND回路404に入力して得られる信号を選択して、不揮発性メモリ303へ書き込み信号315として出力する。即ち、アクセス許可領域検出回路306で設定したメモリ領域外(アドレス範囲外)は、書き込み信号を出力しない。アクセス許可信号317から「1」が出力されているとき、セレクタ回路406は、書き込み基準信号312を選択して、不揮発性メモリ303へ書き込み信号315として出力する。すなわち、アプリケーションプログラムメモリ領域であれば、書き込み制限がなくなる。
【0069】
図4は、本実施の形態に係るアプリケーションプログラム格納用の不揮発性メモリ303のメモリマップ図である。この不揮発性メモリ303には、n個のアプリケーションプログラムAP1〜APn(以下、単に、AP1〜APnと称す。)が格納されている。例えば、CPU301がオペレーティングシステムにおいて、AP1のスタートアドレスとエンドアドレスをアクセス許可領域検出回路306のアクセス許可アドレス範囲設定レジスタ401にセットし、アクセス許可設定レジスタ307に「0」をセットしてAP1を実行すると、AP1以外のアプリケーションプログラムメモリ領域は、アクセス不可となる。
【0070】
図5は、CPU301がAP1を実行する前にオペレーティングシステムが行う処理のフローチャートである。まず、ステップS1、ステップS2によって、AP1のスタートアドレスとエンドアドレスをアクセス許可領域検出回路306のアクセス許可アドレス範囲設定レジスタ401にセットする。
【0071】
次に、ステップS3によって、アクセス許可設定レジスタ307に「0」をセットする。次にステップS4によってAP1への分岐命令を実行して、AP1の実行が開始される。AP1の実行が終了して、他のアプリケーションプログラムを実行する場合は、そのアプリケーションプログラムに対してステップS1〜S4の動作を繰り返せばよい。これにより、異なるアプリケーションプログラムを他のアプリケーションプログラムに影響を与えることなく、連続的に実行することが可能となる。
【0072】
また、アプリケーションプログラムメモリに、オペレーティングシステムによってアプリケーションプログラムが新たに追加されたり、入れ替えられた場合にも、そのアプリケーションプログラムのスタートアドレスとエンドアドレスを取得すれば、上記ステップを実行することができる。
【0073】
図6は、1チップマイクロコンピュータにおいて、図2のブロック図のCPU301、メモリ保護回路5、不揮発性メモリ303について、詳細に記載したブロック図である。
【0074】
この1チップマイクロコンピュータは、CPU301とこれに含まれるプログラムカウンタ302、不揮発性メモリ303、モニタフラグ304、アクセス許可設定レジスタ307、アクセス許可アドレス範囲設定レジスタ401とアクセス許可設定レジスタ307に対する書き込み信号の発生を制限するレジスタ書き込み制御回路305、メモリに対して読み出し信号の発生を制限するメモリ読み出し制御回路309、メモリに対して書き込み信号の発生を制限するメモリ書き込み制御回路310、及び割り込み制御回路521とを備えている。
【0075】
図6のメモリ読み出し制御回路309、メモリ書き込み制御回路310、及び割り込み制御回路521以外のブロックの動作は、図1のブロック図における動作内容と同一である。
【0076】
メモリ読み出し制御回路309には、不揮発性メモリ303に対する不許可の読み出し動作が行われたことを示すメモリ読み出し違反検出信号522を出力する機能が追加されている。また、メモリ書き込み制御回路310には、不揮発性メモリ303に対する不許可の書き込み動作が行われたことを示すメモリ書き込み違反検出信号523を出力する機能が追加されている。
【0077】
割り込み制御回路521は、メモリ読み出し制御回路309より出力されるメモリ読み出し違反検出信号522と、メモリ書き込み制御回路310から出力されるメモリ書き込み違反検出信号523とを入力とし、CPU301に対して割り込み要求信号524を出力する。
【0078】
メモリ読み出し制御回路309に、「0」のアクセス許可信号317が入力されているとき、すなわち不揮発性メモリ303に対して読み出し及び書き込みの不許可が設定されているときに、アクセス許可アドレス領域検出回路306で許可したアドレス範囲外に対してCPU301が読み出し動作を行った場合、メモリ読み出し違反検出信号522が活性化される(アクティブになる)。
【0079】
メモリ書き込み制御回路310に、「0」のアクセス許可信号317が入力されているとき、すなわち不揮発性メモリ303に対して読み出し及び書き込みの不許可が設定されているときに、アクセス許可アドレス領域検出回路306で許可したアドレス領域外に対してCPU301が書き込み動作を行った場合、メモリ書き込み違反検出信号523が活性化される。
【0080】
それぞれのメモリアクセス違反検出信号は、割り込み制御回路521に入力されており、この回路からCPU301に対して割り込み要求信号524として伝達される。したがって、CPU301は、実行中のアプリケーションプログラムが、それ以外のプログラムメモリの領域に対して不正アクセスしたときに、割り込み処理を行うことが可能になる。
【0081】
不揮発性メモリ303への読み出しと書き込みとは同時に行われないので、割り込み制御回路521は、メモリ読み出し違反検出信号522及びメモリ書き込み違反検出信号523を入力とするOR回路と、CPU301の仕様に合わせてタイミングを制御する公知のタイミング制御回路(図示しない)とで構成でき、その出力で割り込み要求信号524を生成する。
【0082】
図7は、上記メモリアクセス違反を検出して割り込み要求信号524が発生した場合のCPU301とオペレーティングシステムが管理する割り込み処理の一例をフローチャートで表したものである。
【0083】
CPU301に割り込み要求信号524が入力されると、割り込み処理プログラムが起動される。まず、ステップS11において、アクセス違反を起こしたアプリケーションプログラム(AP)の使用した作業領域などの初期化を行う。次に、ステップS12においてアクセス違反を起こしたアプリケーションプログラム(AP)が再度実行されないように、オペレーティングシステムが管理する領域に用意された実行禁止を制御するフラグ又はレジスタをセットし、該アプリケーションプログラムが再度実行されることが禁止される。次に、ステップS13においてオペレーティングシステムへのリターンアドレス(復帰アドレス)をセットし、割り込み処理を終了して、オペレーティングシステムへ制御が移る。
【0084】
これにより、アプリケーションプログラムのアクセス違反が発生しても、CPU301が暴走することなく処理を継続することが可能となる。上記ステップS12においてフラグ又はレジスタが一旦セットされると、それ以降は、該アプリケーションプログラムが再度実行されることはない。つまり、フラグ又はレジスタがセットされていることが確認されると、該当するアプリケーションプログラムが再度実行されることはない。
【0085】
図示はしないが、以上に詳述した1チップマイクロコンピュータをICカードに搭載することによって、不揮発性メモリ303に複数のプログラムを格納でき、それぞれのプログラムを上述の従来技術のようにシステムをリセットすることなく動的に切り換えることができるので、そのICカードをリーダライタに挿入した状態で多目的に利用できる。さらに、複数のプログラム及びデータ間の干渉を禁止できるため、不正なプログラムのアクセス防止やデータの保護等のセキュリティが確保できるため、個人情報等の機密データを格納するICカードに適している。
【0086】
上述の説明では、説明の便宜上、各種レジスタや各種フラグを例に挙げて説明したが、本発明はこれに限定されるものではなく、同様の機能を有する記憶手段で代用してもよい。
【0087】
本発明に係る1チップマイクロコンピュータは、以上のように、内蔵メモリとしてプログラム用メモリ及び作業用メモリを含むものであって、プログラムの実行命令のアドレスを指し示すプログラムカウンタを含むCPUと、特定アドレス空間を実行していることを表すモニタフラグと、特定のアドレス空間からのみ設定が可能で、メモリに対して読み出しや書き込みのアクセス許可を設定するレジスタと、アクセスを許可するアドレス範囲を設定するレジスタと、内蔵メモリに対する読み出し信号、書き込み信号を制御する制御回路とを備えている。
【0088】
上記発明によれば、アプリケーションプログラム格納用メモリのうち、実行中のアプリケーションプログラムが格納されている領域以外は、アクセス不可となり、他のアプリケーションプログラムが格納された領域に悪影響を及ぼすことがない。つまり、実行中のアプリケーションプログラムは、他のアプリケーションプログラムが格納された領域に悪影響を及ぼさない。また、オペレーティングシステムなどのシステムプログラム(システムソフトウェア)が格納された特定領域からのみ、アクセス許可レジスタとアドレス範囲設定レジスタへ設定できるため、これらのレジスタもアプリケーションプログラムから影響を受けない。つまり、特定アドレス空間からのみアクセス可能なアクセス許可レジスタ、アクセス範囲設定レジスタにも影響を与えない。
【0089】
上記1チップマイクロコンピュータにおいて、特定領域からアクセス許可アドレス範囲設定レジスタやアクセス許可レジスタへデータを設定する手段を更に備えていることが好ましい。この場合、オペレーティングシステムからアプリケーションプログラムへ制御を移行する前に、アクセス可能とするアドレス範囲を設定でき、実行中のアプリケーションプログラムが他のアプリケーションプログラムへ影響を与えることがなくなる。
【0090】
上記1チップマイクロコンピュータにおいて、実行中のアプリケーションプログラムが格納されているメモリ以外をアクセスしたとき、CPUへ割り込み要求信号を発生する手段を更に設けていることが好ましい。この場合、アプリケーションプログラムによって不正なアクセスがなされたとき、これを割り込み要求信号としてCPUが検出できるため、CPUまたはアプリケーションプログラムの暴走を未然に防ぐことが可能となる。
【0091】
上記1チップマイクロコンピュータにおいて、実行中のアプリケーションプログラムが格納されているメモリ以外をアクセスしたときに、CPUまたはアプリケーションプログラムの暴走を防ぐCPUの割り込み処理プログラムを内蔵する構成が好ましい。この場合、アプリケーションプログラムによって不正なアクセスがなされたとき、割り込み処理プログラムを実行する(例えば、システムプログラムまたはオペレーティングシステムに制御を移す)ことによって、CPUまたはアプリケーションプログラムの暴走を防ぐことが可能となる。
【0092】
上記1チップマイクロコンピュータにおいて、プログラムメモリがフラッシュメモリやEEPROMなどの書き換え可能な不揮発性メモリであることが好ましい。この場合、アプリケーションプログラムを後から追加したり、書き換えたりしても、既存のアプリケーションプログラムに影響を与えることなく、プログラムを実行することができる。
【0093】
上記1チップマイクロコンピュータにおいて、内蔵メモリ内へのアクセス制限を越えてアクセスが行われた場合に、アクセスを行ったプログラムの実行の禁止を制御する、システムプログラムまたはオペレーティングシステムが管理する領域に用意されたフラグまたはレジスタを有することが好ましい。この場合、アプリケーションプログラムを後から追加したり、書き換えたりしても、既存のアプリケーションプログラムに影響を与えることなく、プログラムを実行することが可能となる。一旦不正なアクセスを行ったプログラムは、以降、その実行が禁止されるため、CPUが暴走することなく処理を継続することが可能となる。
【0094】
上記1チップマイクロコンピュータにおいて、プログラムメモリがフラッシュメモリやEEPROMなどの書き換え可能な不揮発性メモリで構成することが好ましい。この場合、後から追加したり、書き換えたアプリケーションプログラムが、既存のアプリケーションプログラムに影響を与えることなく、プログラムを実行できる。
【0095】
上記1チップマイクロコンピュータはICカード用に好適である。この場合、複数のアプリケーションプログラムを内蔵したICカードにおいて、アプリケーションプログラム間のセキュリティ性を確保することができる。また、複数のプログラムを格納するICカードを実現でき、それぞれのプログラムをリセットすることなく動的に切り換えることができるので、そのICカードをリーダライタに挿入した状態で多目的に利用できる。さらに、複数のプログラム及びデータ間の干渉を禁止できるため、不正なプログラムのアクセス防止やデータの保護等のセキュリティが確保できるので、個人情報等の機密データを格納するICカードに適している。
【0096】
【発明の効果】
本発明に係る1チップマイクロコンピュータは、アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定手段と、アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断手段と、上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定手段と、特定アドレス空間に格納されたシステムソフトウェアを実行しているときに、当該システムソフトウェアによって、上記アクセス許可アドレス範囲設定手段にアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定手段に、上記アクセス許可アドレス範囲設定手段に設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とするレジスタ書き込み制御回路と、上記判断手段の結果と上記アクセス許可設定手段の設定内容とに基づいて、メモリに対するアクセスを制御する制御手段とを備えている。
【0097】
上記の発明によれば、特定のアドレス空間に格納されたソフトウェアが実行されているときに、上記特定のアドレス空間からアクセス許可アドレス範囲設定手段を介してアドレス範囲が設定できる。この場合、ソフトウェアの実行中に、該設定されたアドレス範囲内のアドレスに対してアクセスされているか否かが判断手段によって判断される。一方、上記特定のアドレス空間に格納されたソフトウェアが実行されていないときには、いくらデータが上記特定のアドレス空間からアクセス許可アドレス範囲設定手段に入力されていても、該データは該アクセス許可アドレス範囲設定手段に書き込まれることない。
【0098】
一方、上記特定のアドレス空間に格納されたソフトウェアが実行されているときに、上記特定のアドレス空間からアクセス許可設定手段を介して上記アドレス範囲外のアドレスのアクセスを許可するか否かが設定できる。一方、上記特定のアドレス空間に格納されたソフトウェアが実行されていないときには、いくらデータが上記特定のアドレス空間からアクセス許可設定手段に入力されていても、該データは該アクセス許可設定手段に書き込まれることない。
【0099】
上記判断手段の判断結果と、上記アクセス許可設定手段の設定内容とに基づいて、メモリに対するアクセスが制御手段によって制御される。すなわち、アドレス範囲が設定されていて、且つ、アドレス範囲外のアドレスのアクセスが許可されていないときには、メモリにおいて、該アドレス範囲内のアドレスに対してのみアクセス可能となる一方、該アドレス範囲外のアドレスに対してはアクセスはできない。
【0100】
このようにメモリに対するアクセスを制御することによって、実行中のプログラムが他のプログラムが格納されているアドレス空間に悪影響を及ぼすことを未然に回避できる。また、特定のアドレス空間からのみ、アクセス許可設定手段とアドレス範囲設定手段とに対して設定ができるため、これらの設定手段もアプリケーションプログラムから影響を受けない。つまり、特定アドレス空間からのみアクセス可能なアクセス許可手段、アクセス範囲設定手段に対しても影響を与えないという効果を奏する。
【0101】
本発明に係る他の1チップマイクロコンピュータは、特定アドレス空間に格納されたシステムソフトウェアを実行していることを表すフラグをセットするモニタフラグと、アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定レジスタと、アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断手段と、上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定レジスタと、上記フラグがセットされているときに、上記特定アドレス空間に格納されたシステムソフトウェアによって、上記アクセス許可アドレス範囲設定レジスタにアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定レジスタに、上記アクセス許可範囲設定レジスタに設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とするレジスタ書き込み制御回路と、上記判断手段の結果と上記アクセス許可設定レジスタの設定内容とに基づいて、メモリに対するアクセスを制御する制御手段とを備えている。
【0102】
上記の発明によれば、特定のアドレス空間に格納されたソフトウェアが実行されているときにフラグがモニタフラグによってセットされる。フラグがセットされているときに、アクセス許可アドレス範囲設定レジスタ及びアクセス許可設定レジスタの各レジスタに対して設定可能となる。
【0103】
フラグがセットされていないときには、特定のアドレス空間に格納されたソフトウェアが実行されていないので、モニタフラグはフラグをセットしない。したがって、このとき、たとえ上記特定のアドレス空間から設定しても、アクセス許可アドレス範囲設定レジスタ及びアクセス許可設定レジスタの各レジスタに対する設定はできなくなる。
【0104】
上記フラグがセットされているときに、上記特定のアドレス空間からアクセス許可アドレス範囲設定レジスタを介して、アドレス範囲が設定できる。この場合、ソフトウェアの実行中に、該設定されたアドレス範囲内のアドレスに対してアクセスされているか否かが判断手段によって判断される。これに対して、上記フラグがセットされていないときに、いくらデータが上記特定のアドレス空間からアクセス許可アドレス範囲設定レジスタに入力されていても、該データは該アクセス許可アドレス範囲設定レジスタに書き込まれることない。
【0105】
一方、上記フラグがセットされているときに、上記特定のアドレス空間からアクセス許可設定レジスタを介して、上記アドレス範囲外のアドレスのアクセスを許可するか否かが設定できる。これに対して、上記フラグがセットされていないときには、いくらデータが上記特定のアドレス空間からアクセス許可設定レジスタに入力されていても、該データは該アクセス許可設定レジスタに書き込まれることない。
【0106】
上記判断手段の判断結果と、上記アクセス許可設定レジスタの設定内容とに基づいて、メモリに対するアクセスが制御手段によって制御される。すなわち、アドレス範囲が設定されていて、且つ、アドレス範囲外のアドレスのアクセスが許可されていないときには、メモリにおいて、該アドレス範囲内のアドレスに対してのみアクセス可能となる一方、該アドレス範囲外のアドレスに対してはアクセスはできない。
【0107】
このようにメモリに対するアクセスを制御することによって、実行中のプログラムが他のプログラムが格納されているアドレス空間に悪影響を及ぼすことを未然に回避できる。また、特定のアドレス空間からのみ、アクセス許可設定レジスタとアドレス範囲設定レジスタとに対して設定ができるため、これらのレジスタもアプリケーションプログラムから影響を受けない。つまり、特定アドレス空間からのみアクセス可能なアクセス許可レジスタ、アクセス範囲設定レジスタにも影響を与えない。また、アドレス範囲が設定されていて、且つ、アドレス範囲外のアドレスのアクセスが許可されているときには、該アドレス範囲外のアドレスに対してもアクセス可能となるという効果を併せて奏する。
【0108】
上記1チップマイクロコンピュータにおいて、上記システムソフトウェアは、アプリケーションプログラムを実行する前に、該アプリケーションプログラムの格納されているアドレス範囲を上記アクセス許可アドレス範囲設定レジスタに設定すると共に、該アドレス範囲外のアドレスに対してアクセスを許可しないように上記アクセス許可レジスタを設定することが好ましい。
【0109】
この場合、アプリケーションプログラムが実行されるのに先立って、上記システムソフトウェアは、この実行しようとしているアプリケーションプログラムの格納されているアドレス範囲をアクセス許可アドレス範囲設定レジスタに設定する。つまり、実行中のシステムソフトウェアは、次に実行するアプリケーションプログラムのアドレス範囲が設定されるまで、該次に実行するアプリケーションプログラムをアクセスすることはない。
【0110】
これにより、オペレーティングシステムなどのシステムソフトウェアからアプリケーションプログラム等の次に実行されるプログラムへ制御が移行される前に、アクセス可能とするアドレス範囲を設定できる。したがって、実行中のプログラムが次に実行されるプログラムに影響を与えることを未然に回避でき、信頼性が著しく向上するという効果を奏する。
【0111】
上記1チップマイクロコンピュータにおいて、上記アドレス範囲外のアドレスのアクセスを不許可とする設定がアクセス許可設定レジスタになされており、上記アドレス範囲外のアドレスに対してアクセスしたことが判断手段によって判断されたとき、割り込み要求信号を生成してCPUへ送る割り込み要求信号生成手段を更に備え、所定の割り込み処理プログラムを実行することが好ましい。
【0112】
この場合、他のプログラムによって不正なアクセスがなされたとき、アドレス範囲外のアドレスに対してアクセスしたことが判断手段によって判断され、割り込み要求信号生成手段によって割り込み要求信号が生成されてCPUへ送られる。CPUは、この割り込み要求信号を受領すると、所定の割り込み処理プログラムが実行されるので、CPUが暴走することを未然に防ぐことができるという効果を奏する。
【0113】
上記1チップマイクロコンピュータにおいて、上記割り込み処理プログラムは、システムプログラムまたはオペレーティングシステムに制御を移すプログラムであることが好ましい。
【0114】
この場合、割り込み要求信号生成手段によって割り込み要求信号が生成されてCPUへ送られると、割り込み処理プログラムが実行され、システムプログラムまたはオペレーティングシステムに制御が移される。これにより、CPUまたはアプリケーションプログラムの暴走を防ぐことが可能となるという効果を奏する。
【0115】
上記1チップマイクロコンピュータにおいて、上記システムソフトウェアが管理する領域に設けられ、メモリへのアクセス制限を越えてアクセスが行われた場合にその旨の情報を記憶する再実行禁止情報記憶手段を更に備え、該情報に基づいて、上記制御手段は上記メモリを制御し、アクセス制限を越えて上記アクセスが再度行われないようにすることが好ましい。
【0116】
この場合、メモリへのアクセス制限を越えてアクセスが行われると、その旨の情報が再実行禁止情報記憶手段(例えば、フラグやレジスタ等)に記憶されることになる。上記制御手段は、この情報に基づいて上記メモリを制御し、アクセス制限を越えて上記アクセスが再度行われないようにする。これにより、一旦不正なアクセスが行われたプログラムに対しては、それ以降、その実行が禁止されるので、CPUは、暴走することなく処理を継続して行うことが可能となるという効果を奏する。
【0117】
上記1チップマイクロコンピュータにおいて、上記メモリは、書き換え可能な不揮発性メモリであることが好ましい。
【0118】
この場合、後から追加したり、書き換えたりしたプログラム(例えば、アプリケーションプログラム)等が既存のプログラムに影響を与えることなく実行することができるという効果を奏する。
【0119】
上記の1チップマイクロコンピュータは、ICカードに適用することが好ましい。
【0120】
この場合、複数のアプリケーションプログラムを内蔵したICカードにおいて、アプリケーションプログラム間のセキュリティ性を確実に確保することができる。また、複数のプログラムを格納するICカードを実現でき、それぞれのプログラムをリセットすることなく動的に切り換えることができるので、そのICカードをリーダライタに挿入した状態で多目的に利用できる。さらに、複数のプログラム及びデータ間の干渉を禁止できるため、不正なプログラムのアクセス防止やデータの保護等のセキュリティ性が確保できるので、個人情報等の機密データを格納するICカードに適しているという効果を併せて奏する。
【図面の簡単な説明】
【図1】 本発明の1チップマイクロコンピュータの構成例を示すブロック図である。
【図2】 上記1チップマイクロコンピュータの具体例を示すブロック図である。
【図3】 アクセス許可領域検出回路とアクセス制御回路周辺の構成例を示すブロック図である。
【図4】 本発明に係る1チップマイクロコンピュータのアプリケーションプログラム用メモリのメモリマップ図である。
【図5】 上記アプリケーションプログラムの分岐時のフローチャートである。
【図6】 本発明の1チップマイクロコンピュータの構成例を示すブロック図である。
【図7】 メモリ不正アクセス時の割り込み処理フローチャートである。
【図8】 従来の1チップマイクロコンピュータの構成例を示すブロック図である。
【図9】 従来のCPUの構成機能図である。
【符号の説明】
301 CPU
302 プログラムカウンタ
303 不揮発性メモリ
304 モニタフラグ
305 レジスタ書き込み制御回路
306 アクセス許可領域検出回路
307 アクセス許可設定レジスタ
308 命令取り出し信号
309 メモリ読み出し制御回路
310 メモリ書き込み制御回路
311 アドレスバス信号
312 書き込み基準信号
313 読み出し基準信号
314 モニタフラグ出力信号
315 メモリ書き込み信号
316 アクセス許可アドレス範囲設定レジスタ出力信号
317 アクセス許可設定レジスタ出力信号
318 メモリ読み出し信号
319 レジスタ書き込み信号
320 データバス信号
401 アクセス許可アドレス範囲設定レジスタ
402 アドレス比較回路
403 AND回路
405 セレクタ回路
521 割り込み制御回路
522 メモリ読み出し違反検出信号
523 メモリ書き込み違反検出信号
524 割り込み要求信号
Claims (10)
- アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定手段と、
アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断手段と、
上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定手段と、
特定アドレス空間に格納されたシステムソフトウェアを実行しているときに、当該システムソフトウェアによって、上記アクセス許可アドレス範囲設定手段にアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定手段に、上記アクセス許可アドレス範囲設定手段に設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とするレジスタ書き込み制御回路と、
上記判断手段の結果と上記アクセス許可設定手段の設定内容とに基づいて、メモリに対するアクセスを制御する制御手段とを備えている1チップマイクロコンピュータ。 - 特定アドレス空間に格納されたシステムソフトウェアを実行していることを表すフラグをセットするモニタフラグと、
アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定レジスタと、
アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断手段と、
上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定レジスタと、
上記フラグがセットされているときに、上記特定アドレス空間に格納されたシステムソフトウェアによって、上記アクセス許可アドレス範囲設定レジスタにアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定レジスタに、上記アクセス許可範囲設定レジスタに設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とするレジスタ書き込み制御回路と、
上記判断手段の結果と上記アクセス許可設定レジスタの設定内容とに基づいて、メモリに対するアクセスを制御する制御手段とを備えている1チップマイクロコンピュータ。 - 上記システムソフトウェアは、アプリケーションプログラムを実行する前に、該アプリケーションプログラムの格納されているアドレス範囲を上記アクセス許可アドレス範囲設定レジスタに設定すると共に、該アドレス範囲外のアドレスに対してアクセスを許可しないように上記アクセス許可レジスタを設定することを特徴とする請求項2に記載の1チップマイクロコンピュータ。
- 上記アドレス範囲外のアドレスのアクセスを不許可とする設定がアクセス許可設定レジスタになされており、上記アドレス範囲外のアドレスに対してアクセスしたことが判断手段によって判断されたとき、割り込み要求信号を生成してCPUへ送る割り込み要求信号生成手段を更に備え、所定の割り込み処理プログラムを実行することを特徴とする請求項2又は3に記載の1チップマイクロコンピュータ。
- 上記割り込み処理プログラムは、システムプログラムまたはオペレーティングシステムに制御を移すプログラムであることを特徴とする請求項4に記載の1チップマイクロコンピュータ。
- 上記システムソフトウェアが管理する領域に設けられ、メモリへのアクセス制限を越えてアクセスが行われた場合にその旨の情報を記憶する再実行禁止情報記憶手段を更に備え、該情報に基づいて、上記制御手段は上記メモリを制御し、アクセス制限を越えて上記アクセスが再度行われないようにすることを特徴とする請求項3に記載の1チップマイクロコンピュータ。
- 上記メモリは、書き換え可能な不揮発性メモリであることを特徴とする請求項1、2、3、4、5、又は6に記載の1チップマイクロコンピュータ。
- 請求項1、2、3、4、5、6、又は7に記載の1チップマイクロコンピュータを用いたICカード。
- アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定ステップと、
アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断ステップと、
上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定ステップとを含み、
特定アドレス空間に格納されたシステムソフトウェアを実行しているときに、当該システムソフトウェアによって、上記アクセス許可アドレス範囲設定ステップにおいてアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定ステップにおいて、上記アクセス許可アドレス範囲設定ステップで設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とすると共に、
上記判断ステップの結果と上記アクセス許可設定ステップの設定内容とに基づいて、メモリに対するアクセスを制御する1チップマイクロコンピュータのアクセス制御方法。 - 特定アドレス空間に格納されたシステムソフトウェアを実行していることを表すフラグをセットするモニタフラグセットステップと、
アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定ステップと、
アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断ステップと、
上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定ステップとを含み、
上記フラグがセットされているときに、上記特定アドレス空間に格納されたソフトウェアによって、上記アクセス許可アドレス範囲設定ステップにおいてアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定ステップにおいて、上記アクセス許可アドレス範囲設定ステップで設定したアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とすると共に、
上記判断手段の結果と上記アクセス許可設定レジスタの設定内容とに基づいて、メモリに対するアクセスを制御する1チップマイクロコンピュータのアクセス制御方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000071183A JP3710671B2 (ja) | 2000-03-14 | 2000-03-14 | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 |
| TW090105402A TW514833B (en) | 2000-03-14 | 2001-03-08 | 1-chip microcomputer and IC card using same |
| EP01302145.6A EP1139223B1 (en) | 2000-03-14 | 2001-03-08 | 1-chip microcomputer and ic card using same |
| KR10-2001-0013174A KR100391080B1 (ko) | 2000-03-14 | 2001-03-14 | 1칩 마이크로컴퓨터 및 그것을 이용하는 ic 카드 |
| US09/805,199 US7213117B2 (en) | 2000-03-14 | 2001-03-14 | 1-chip microcomputer having controlled access to a memory and IC card using the 1-chip microcomputer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000071183A JP3710671B2 (ja) | 2000-03-14 | 2000-03-14 | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001256460A JP2001256460A (ja) | 2001-09-21 |
| JP3710671B2 true JP3710671B2 (ja) | 2005-10-26 |
Family
ID=18589805
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000071183A Expired - Lifetime JP3710671B2 (ja) | 2000-03-14 | 2000-03-14 | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7213117B2 (ja) |
| EP (1) | EP1139223B1 (ja) |
| JP (1) | JP3710671B2 (ja) |
| KR (1) | KR100391080B1 (ja) |
| TW (1) | TW514833B (ja) |
Families Citing this family (86)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode |
| US6934817B2 (en) | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
| US6976162B1 (en) | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
| US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution |
| US6907600B2 (en) | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
| US7818808B1 (en) | 2000-12-27 | 2010-10-19 | Intel Corporation | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
| US7035963B2 (en) | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
| US7225441B2 (en) | 2000-12-27 | 2007-05-29 | Intel Corporation | Mechanism for providing power management through virtualization |
| US7096497B2 (en) | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network |
| US7272831B2 (en) | 2001-03-30 | 2007-09-18 | Intel Corporation | Method and apparatus for constructing host processor soft devices independent of the host processor operating system |
| US7191440B2 (en) | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
| US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
| JP2003140972A (ja) | 2001-11-08 | 2003-05-16 | Nec Corp | プログラム実行装置及びプログラム実行方法並びにそれを用いた携帯端末及び情報提供システム |
| JP4393733B2 (ja) | 2001-11-27 | 2010-01-06 | 大日本印刷株式会社 | 携帯可能情報記録媒体 |
| US7103771B2 (en) | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
| JP3884963B2 (ja) * | 2002-01-23 | 2007-02-21 | 大日本印刷株式会社 | 共有アクセス監視機能を備えたicカード |
| US7480806B2 (en) | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal |
| US7631196B2 (en) | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
| US7028149B2 (en) * | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
| US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
| US7076669B2 (en) | 2002-04-15 | 2006-07-11 | Intel Corporation | Method and apparatus for communicating securely with a token |
| US7058807B2 (en) | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center |
| US7127548B2 (en) * | 2002-04-16 | 2006-10-24 | Intel Corporation | Control register access virtualization performance improvement in the virtual-machine architecture |
| US7139890B2 (en) * | 2002-04-30 | 2006-11-21 | Intel Corporation | Methods and arrangements to interface memory |
| JP2004056089A (ja) * | 2002-05-31 | 2004-02-19 | Sharp Corp | Icカード |
| US7142674B2 (en) | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange |
| US7392415B2 (en) | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection |
| US7124327B2 (en) * | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
| US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
| US7296267B2 (en) | 2002-07-12 | 2007-11-13 | Intel Corporation | System and method for binding virtual machines to hardware contexts |
| US7165181B2 (en) | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
| US7073042B2 (en) * | 2002-12-12 | 2006-07-04 | Intel Corporation | Reclaiming existing fields in address translation data structures to extend control over memory accesses |
| US7318235B2 (en) * | 2002-12-16 | 2008-01-08 | Intel Corporation | Attestation using both fixed token and portable token |
| US7900017B2 (en) | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
| US7076802B2 (en) | 2002-12-31 | 2006-07-11 | Intel Corporation | Trusted system clock |
| JP2005084721A (ja) * | 2003-09-04 | 2005-03-31 | Renesas Technology Corp | マイクロコンピュータ |
| US7287197B2 (en) * | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine |
| US8079034B2 (en) | 2003-09-15 | 2011-12-13 | Intel Corporation | Optimizing processor-managed resources based on the behavior of a virtual machine monitor |
| US7424709B2 (en) * | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
| US7739521B2 (en) | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
| US7610611B2 (en) | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder |
| US7366305B2 (en) | 2003-09-30 | 2008-04-29 | Intel Corporation | Platform and method for establishing trust without revealing identity |
| US7237051B2 (en) * | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
| US7177967B2 (en) | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
| US20050091595A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Group shared spaces |
| US7636844B2 (en) | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device |
| US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
| US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority |
| US20050133582A1 (en) * | 2003-12-22 | 2005-06-23 | Bajikar Sundeep M. | Method and apparatus for providing a trusted time stamp in an open platform |
| US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
| US7356735B2 (en) | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
| US7620949B2 (en) | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
| US7490070B2 (en) | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature |
| US7305592B2 (en) | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment |
| US7386688B2 (en) * | 2004-07-29 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Communication among partitioned devices |
| US7840962B2 (en) | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time |
| US8146078B2 (en) | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment |
| US8924728B2 (en) | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
| US8533777B2 (en) | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
| US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
| EP1713000A1 (en) * | 2005-04-11 | 2006-10-18 | Jaluna SA | Memory protection system |
| JP4698285B2 (ja) * | 2005-05-19 | 2011-06-08 | 富士通株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
| JP2007052481A (ja) * | 2005-08-15 | 2007-03-01 | Matsushita Electric Ind Co Ltd | Icカード用lsi |
| US7809957B2 (en) | 2005-09-29 | 2010-10-05 | Intel Corporation | Trusted platform module for generating sealed data |
| US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
| US7509441B1 (en) | 2006-06-30 | 2009-03-24 | Siliconsystems, Inc. | Systems and methods for segmenting and protecting a storage subsystem |
| US7447807B1 (en) * | 2006-06-30 | 2008-11-04 | Siliconsystems, Inc. | Systems and methods for storing data in segments of a storage subsystem |
| US7769964B2 (en) * | 2006-08-21 | 2010-08-03 | Intel Corporation | Technique to perform memory reference filtering |
| US8549236B2 (en) | 2006-12-15 | 2013-10-01 | Siliconsystems, Inc. | Storage subsystem with multiple non-volatile memory arrays to protect against data losses |
| EP2350907A1 (en) * | 2008-09-25 | 2011-08-03 | Nxp B.V. | System for managing access rights to an object of an object oriented programming language |
| JP2010128571A (ja) * | 2008-11-25 | 2010-06-10 | Dainippon Printing Co Ltd | 半導体装置、半導体装置の制御方法および半導体装置の制御プログラム |
| US8825940B1 (en) | 2008-12-02 | 2014-09-02 | Siliconsystems, Inc. | Architecture for optimizing execution of storage access commands |
| KR101022375B1 (ko) * | 2008-12-31 | 2011-03-22 | 주식회사 케이티 | 범용 ic 카드에서 시스템 파일의 보안을 강화하는 방법 및 장치 |
| US9176859B2 (en) * | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
| US10079048B2 (en) * | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
| JP4656347B2 (ja) | 2009-04-14 | 2011-03-23 | 日本電気株式会社 | コンピュータ・システム |
| JP5460133B2 (ja) * | 2009-06-09 | 2014-04-02 | ラピスセミコンダクタ株式会社 | マイクロコントローラ装置 |
| JP5787649B2 (ja) | 2010-10-26 | 2015-09-30 | 株式会社小糸製作所 | 車両用灯具の制御装置および車両用灯具システム |
| USRE49776E1 (en) | 2010-10-26 | 2024-01-02 | Koito Manufacturing Co., Ltd. | Vehicle lamp controller, vehicle lamp system, and vehicle lamp control method |
| KR101212553B1 (ko) * | 2012-05-11 | 2012-12-14 | 주식회사 안랩 | 악성 파일 검사 장치 및 방법 |
| US8943251B2 (en) | 2012-05-14 | 2015-01-27 | Infineon Technologies Austria Ag | System and method for processing device with differentiated execution mode |
| JP5942778B2 (ja) * | 2012-10-22 | 2016-06-29 | トヨタ自動車株式会社 | 情報処理装置 |
| JP5784656B2 (ja) * | 2013-02-22 | 2015-09-24 | 株式会社東芝 | マイクロプロセッサ |
| JP6323235B2 (ja) * | 2014-07-29 | 2018-05-16 | 株式会社デンソー | 電子制御装置 |
| JP2017175297A (ja) * | 2016-03-22 | 2017-09-28 | 富士ゼロックス株式会社 | 集積回路及び情報処理装置 |
| JP6955858B2 (ja) * | 2016-10-17 | 2021-10-27 | オークマ株式会社 | 制御装置 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5140772B2 (ja) * | 1971-07-26 | 1976-11-05 | ||
| JP3023425B2 (ja) | 1987-10-09 | 2000-03-21 | 株式会社日立製作所 | データ処理装置 |
| JPH01180656A (ja) | 1988-01-12 | 1989-07-18 | Fuji Electric Co Ltd | メモリ保護装置 |
| FR2683357A1 (fr) * | 1991-10-30 | 1993-05-07 | Philips Composants | Microcircuit pour carte a puce a memoire programmable protegee. |
| US5627987A (en) * | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
| JPH05210640A (ja) * | 1992-01-31 | 1993-08-20 | Hitachi Ltd | マルチプロセッサシステム |
| JP3141146B2 (ja) * | 1993-07-27 | 2001-03-05 | 三菱電機株式会社 | ワンチップマイクロコンピュータ |
| JPH0855204A (ja) | 1994-08-12 | 1996-02-27 | Dainippon Printing Co Ltd | Cpu付きicカード及びcpu付きicカードに於けるアクセス可能アドレス制限方法 |
| DE19508723A1 (de) * | 1995-03-10 | 1996-09-12 | Siemens Ag | Mehrbenutzerdatenverarbeitungsanlage mit Speicherschutz |
| JPH08272625A (ja) * | 1995-03-29 | 1996-10-18 | Toshiba Corp | マルチプログラム実行制御装置及び方法 |
| JPH09114743A (ja) * | 1995-10-16 | 1997-05-02 | Nec Corp | シングルチップ・マイクロコンピュータ |
| JP2822986B2 (ja) * | 1996-06-28 | 1998-11-11 | 日本電気株式会社 | Dma内蔵シングルチップマイクロコンピュータ |
| JPH10240623A (ja) | 1997-02-28 | 1998-09-11 | Nec Corp | 読み出し保護機能付きマイクロコンピュータ |
| JPH10247187A (ja) * | 1997-03-06 | 1998-09-14 | Nec Eng Ltd | 1チップマイクロコンピュータ |
| DE19804784A1 (de) * | 1998-02-06 | 1999-08-12 | Philips Patentverwaltung | Chipkarte mit integrierter Schaltung |
| JP2001257791A (ja) * | 2000-03-13 | 2001-09-21 | Jintetsuku:Kk | コールセンターにおける個人情報確認方法 |
-
2000
- 2000-03-14 JP JP2000071183A patent/JP3710671B2/ja not_active Expired - Lifetime
-
2001
- 2001-03-08 TW TW090105402A patent/TW514833B/zh not_active IP Right Cessation
- 2001-03-08 EP EP01302145.6A patent/EP1139223B1/en not_active Expired - Lifetime
- 2001-03-14 KR KR10-2001-0013174A patent/KR100391080B1/ko not_active Expired - Lifetime
- 2001-03-14 US US09/805,199 patent/US7213117B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP1139223A2 (en) | 2001-10-04 |
| US20010027511A1 (en) | 2001-10-04 |
| KR20010092333A (ko) | 2001-10-24 |
| US7213117B2 (en) | 2007-05-01 |
| TW514833B (en) | 2002-12-21 |
| EP1139223B1 (en) | 2016-05-11 |
| JP2001256460A (ja) | 2001-09-21 |
| KR100391080B1 (ko) | 2003-07-12 |
| EP1139223A3 (en) | 2005-12-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3710671B2 (ja) | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 | |
| JP3529800B2 (ja) | 携帯データキャリヤー用データ保護マイクロプロセッサー回路 | |
| JP6306578B2 (ja) | メモリ保護装置及び保護方法 | |
| US7444668B2 (en) | Method and apparatus for determining access permission | |
| EP1209563B1 (en) | Method and system for allowing code to be securely initialized in a computer | |
| KR100318150B1 (ko) | 플래시 메모리 탑재형 싱글 칩 마이크로 컴퓨터 | |
| US7822914B2 (en) | Data protection for non-volatile semiconductor memory using block protection flags | |
| JPH10228421A (ja) | メモリアクセス制御回路 | |
| US9626303B2 (en) | Data processing apparatus and address space protection method | |
| JPH09500469A (ja) | メモリカード及びその作動方法 | |
| US20040187019A1 (en) | Information processing apparatus | |
| US20050257016A1 (en) | Digital signal controller secure memory partitioning | |
| KR100505106B1 (ko) | 강화된 보안 기능을 갖춘 스마트 카드 | |
| JPH01219982A (ja) | Icカード | |
| EP1079340A2 (en) | Integrated circuit card protected from unauthorized access | |
| US7281103B2 (en) | Microcomputer with a security function for accessing a program storage memory | |
| RU2198424C2 (ru) | Микрокомпьютер | |
| US20020157085A1 (en) | Information processing apparatus | |
| JP2011150457A (ja) | 情報処理装置およびメモリアクセス制御方法 | |
| JP7247638B2 (ja) | 電子情報記憶媒体、icカード、改竄チェック方法、及びプログラム | |
| JPH11167525A (ja) | 不揮発性メモリ混載マイコン及びその不揮発性メモリ書換え方法並びに不揮発性メモリ混載マイコンの不揮発性メモリ書換えプログラムを記録した記録媒体 | |
| JP2004355383A (ja) | メモリ制御回路 | |
| JPH01261760A (ja) | コンピュータ装置 | |
| JP2004334385A (ja) | プログラム保護システム | |
| JP2008129697A (ja) | Icカードおよびメモリ間のデータ転送制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040621 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040706 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040906 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041214 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050214 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050426 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050623 |
|
| 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: 20050809 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050810 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3710671 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080819 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090819 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090819 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100819 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110819 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110819 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120819 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120819 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130819 Year of fee payment: 8 |
|
| 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 |
|
| EXPY | Cancellation because of completion of term |