[go: up one dir, main page]

JP3710671B2 - 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 - Google Patents

1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 Download PDF

Info

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
Application number
JP2000071183A
Other languages
English (en)
Other versions
JP2001256460A (ja
Inventor
正樹 若林
竜一 小川
和宏 八重川
進 栗岡
謙次 大野
忠雄 竹田
啓樹 首藤
正浩 吉沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
Sharp Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Sharp Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000071183A priority Critical patent/JP3710671B2/ja
Priority to TW090105402A priority patent/TW514833B/zh
Priority to EP01302145.6A priority patent/EP1139223B1/en
Priority to KR10-2001-0013174A priority patent/KR100391080B1/ko
Priority to US09/805,199 priority patent/US7213117B2/en
Publication of JP2001256460A publication Critical patent/JP2001256460A/ja
Application granted granted Critical
Publication of JP3710671B2 publication Critical patent/JP3710671B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0435Details
    • H04Q11/0471Terminal access circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/06Integrated circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/36Memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/38Displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13003Constructional details of switching devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1305Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1307Call setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13072Sequence circuits for call signaling, ACD systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13095PIN / Access code, authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13106Microprocessor, CPU
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13209ISDN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13305Transistors, semiconductors in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1332Logic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13322Integrated 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

【0001】
【発明の属する技術分野】
本発明は、プログラムメモリに複数のアプリケーションプログラムを搭載した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チップマイクロコンピュータ。
  3. 上記システムソフトウェアは、アプリケーションプログラムを実行する前に、該アプリケーションプログラムの格納されているアドレス範囲を上記アクセス許可アドレス範囲設定レジスタに設定すると共に、該アドレス範囲外のアドレスに対してアクセスを許可しないように上記アクセス許可レジスタを設定することを特徴とする請求項2に記載の1チップマイクロコンピュータ。
  4. 上記アドレス範囲外のアドレスのアクセスを不許可とする設定がアクセス許可設定レジスタになされており、上記アドレス範囲外のアドレスに対してアクセスしたことが判断手段によって判断されたとき、割り込み要求信号を生成してCPUへ送る割り込み要求信号生成手段を更に備え、所定の割り込み処理プログラムを実行することを特徴とする請求項2又は3に記載の1チップマイクロコンピュータ。
  5. 上記割り込み処理プログラムは、システムプログラムまたはオペレーティングシステムに制御を移すプログラムであることを特徴とする請求項4に記載の1チップマイクロコンピュータ。
  6. 上記システムソフトウェアが管理する領域に設けられ、メモリへのアクセス制限を越えてアクセスが行われた場合にその旨の情報を記憶する再実行禁止情報記憶手段を更に備え、該情報に基づいて、上記制御手段は上記メモリを制御し、アクセス制限を越えて上記アクセスが再度行われないようにすることを特徴とする請求項3に記載の1チップマイクロコンピュータ。
  7. 上記メモリは、書き換え可能な不揮発性メモリであることを特徴とする請求項1、2、3、4、5、又は6に記載の1チップマイクロコンピュータ。
  8. 請求項1、2、3、4、5、6、又は7に記載の1チップマイクロコンピュータを用いたICカード。
  9. アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定ステップと、
    アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断ステップと、
    上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定ステップとを含み、
    特定アドレス空間に格納されたシステムソフトウェアを実行しているときに、当該システムソフトウェアによって、上記アクセス許可アドレス範囲設定ステップにおいてアクセスを許可するアドレス範囲設定すること、および、上記アクセス許可設定ステップにおいて、上記アクセス許可アドレス範囲設定ステップで設定したアクセスを許可するアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とすると共に、
    上記判断ステップの結果と上記アクセス許可設定ステップの設定内容とに基づいて、メモリに対するアクセスを制御する1チップマイクロコンピュータのアクセス制御方法。
  10. 特定アドレス空間に格納されたシステムソフトウェアを実行していることを表すフラグをセットするモニタフラグセットステップと、
    アクセスを許可するアドレス範囲を設定するアクセス許可アドレス範囲設定ステップと、
    アプリケーションプログラムの実行中に、設定された上記アドレス範囲内でアクセスされているか否かを判断する判断ステップと、
    上記アドレス範囲以外のアドレスのアクセスを許可するか否かを設定するアクセス許可設定ステップとを含み、
    上記フラグがセットされているときに、上記特定アドレス空間に格納されたソフトウェアによって、上記アクセス許可アドレス範囲設定ステップにおいてアクセスを許可するアドレス範囲を設定すること、および、上記アクセス許可設定ステップにおいて、上記アクセス許可アドレス範囲設定ステップで設定したアドレス範囲以外のアドレスのアクセスを許可するか否かの設定を行うことを可能とすると共に、
    上記判断手段の結果と上記アクセス許可設定レジスタの設定内容とに基づいて、メモリに対するアクセスを制御する1チップマイクロコンピュータのアクセス制御方法。
JP2000071183A 2000-03-14 2000-03-14 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 Expired - Lifetime JP3710671B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 コールセンターにおける個人情報確認方法

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