(57)【要約】組み込みメモリと、アプリケーションコードを実行するための組み込みプロセッサと、保護した保護バスを介して上記組み込みメモリに結合し、また、保護されない無保護バスを介して前記組み込みプロセッサに結合した機能的ハードウェア素子とを備えた回路を有する半導体装置において、この機能的ハードウェア素子は、保護バスを保護するように構成し、また、アプリケーションコードを実行する前にロック手段の少なくとも一部を広域的にロックする少なくとも１個のロックビットを備えるロック手段を有するものとする。
2008524740.tif 000002
【特許請求の範囲】
【請求項１】
組み込みメモリ（１１０）と、アプリケーションコードを実行するための組み込みプロセッサ（１５０）と、保護バス（１２５）を介して前記組み込みメモリ（１１０）に結合し、また、無保護バス（１１５）を介して前記組み込みプロセッサ（１５０）に結合した機能的ハードウェア素子（１０５）とを備えた回路を有する半導体装置（１００）において、
前記機能的ハードウェア素子（１０５）は、前記保護バス（１２５）を保護するよう構成し、また、前記アプリケーションコードを実行する前にロック手段（２３５）の少なくとも一部を広域的にロックする少なくとも１個のロックビット（２１１）を備える前記ロック手段（２３５）を有する構成としたことを特徴とする半導体装置。
【請求項２】
請求項１に記載の半導体装置において、前記ロック手段（２３５）は前記組み込みメモリ（１１０）の領域を保護するよう構成したことを特徴とする半導体装置。
【請求項３】
請求項１に記載の半導体装置において、前記ロック手段（２３５）は、ロックレジスタ（２１０）を備え、少なくとも１個のロックビット（２１１）は前記ロックレジスタ（２１０）の少なくとも一部を広域的にロックするよう構成したことを特徴とする半導体装置。
【請求項４】
請求項１に記載の半導体装置において、
前記機能的ハードウェア素子（２３５）は、
前記保護バス（１２５）に対するアクセス情報およびアクセス条件を格納するためのコンフィギュレーションレジスタ（２２０）を備えたコンフィギュレーション手段（２２０）と、
前記コンフィギュレーションレジスタのうち少なくとも１個へのアクセスを選択的に許可または拒絶するよう前記コンフィギュレーションレジスタ（２２０）のうちの前記少なくとも１個と関連付けしたロックレジスタ（２１０）と
を有することを特徴とする半導体装置。
【請求項５】
請求項４に記載の半導体装置において、起動状態にあるロックレジスタ（２１０）は、前記関連付けした前記コンフィギュレーションレジスタ（２２０）の少なくとも１個が読み出し専用に構成することを指示し、停止状態にあるロックレジスタ（２１０）は、前記関連付けした前記コンフィギュレーションレジスタ（２２０）の少なくとも１個が読み出しおよび書き込みの両方を行う構成にすることを指示するものとしたことを特徴とする半導体装置。
【請求項６】
請求項４に記載の半導体装置において、前記コンフィギュレーションレジスタ（２２０）は、保護された組み込みメモリ（１１０）の領域を規定するよう構成することを特徴とする半導体装置。
【請求項７】
請求項１に記載の半導体装置において、前記ロックビット（２１１）を設定した後に、前記ロック手段（２３５）のロックされていない部分は、前記無保護バス（２１５）から、依然としてアクセスできるようにしたことを特徴とする半導体装置。
【請求項８】
請求項４に記載の半導体装置において、機能的ハードウェア素子（１０５）は、前記コンフィギュレーション手段（２２０）に結合した条件照合手段（２３０）であって、前記保護バス（２２５）へのアクセスの要求を、前記コンフィギュレーション手段（２２０）に格納したアクセス条件と比較し、またこの比較の結果に従って前記アクセス要求を許可または拒絶するよう前記ロック手段（２３５）に信号（２０４）を供給するための、該条件照合手段（２３０）を有する構成としたことを特徴とする半導体装置。
【請求項９】
請求項８に記載の半導体装置において、前記条件照合手段（２３０）からアクセス拒絶信号（２０４）を受信したときは、前記保護バス（２２５）へのアクセスを停止するように前記ロック手段（２３５）を構成したことを特徴とする半導体装置。
【請求項１０】
請求項８に記載の半導体装置において、前記アクセス要求が無効のときは、前記条件照合手段（２３０）は、前記無保護バス２１５に対してダミーデータを送信する構成としたことを特徴とする半導体装置。
【請求項１１】
請求項８に記載の半導体装置において、悪意のあるアプリケーションコードに対して防御機構を始動させるよう、前記条件照合手段（２３０）は、前記組み込みプロセッサ（１５０）に対して違反信号（２０４）を送信する構成としたことを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正アクセスからデバイス（装置）を保護するために半導体装置に組み込んだ機能的ハードウェア素子に関する。
【背景技術】
【０００２】
最新の半導体装置（例えば集積回路）は、多数の機能を備えるので、とくにデータ処理用の回路においては、特定のデバイスの機能を、不正アクセスから保護することが必要である。これは、全ての機能、回路および情報を伝達するバスがデバイスの内部にあるからである。メモリ、または半導体装置に取り付けられた他の周辺デバイスへのアクセスは、一般に、キー（鍵）の形式で保護を行うセキュリティ装置を経由する。
【０００３】
例えば、米国特許出願公開第２００２／００５９５１８号明細書は、電子システムの複数の機能に対する安全で制御されたアクセスを確実にするための方法と装置とを開示し、それらの個々の機能は、その機能に関連付けした対応キーを有する。この方法は、所望の機能に対応するキーを選択するステップと、選択したキーの検証を含む認証プロセスを実施するステップと、認証プロセスの結果に従って所望の機能へのアクセスを許可または拒絶するステップとを有する。
【０００４】
さらにまた、暗号化および暗号解読ルーチンなどの異なる機能や、固有の特徴を取得するための携帯電話用コードなどは、異なるアクセスポリシーを有することがある。組み込みプロセッサを有する多くのデバイスにおいて、組み込みメモリ内のプログラムコードまたは情報データは、組み込みプロセッサ上で動作する任意のアプリケーション、例えばＪＡＶＡプログラム等、によって読み出すことができる。組み込みメモリは、好ましくないアクセスから保護されなければならない重要情報を含むことがある。
【０００５】
キーの使用は、悪意のあるコードによってハッキングをされる可能性があるという欠点を有する。その結果、そのような不正アクセスを想定していない外部デバイスは、保護された機能へのアクセスを完遂する可能性があり、デバイスセキュリティを危うくする。
【０００６】
【特許文献１】米国特許出願公開第２００２／００５９５１８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、装置のセキュリティを改善することである。
【課題を解決するための手段】
【０００８】
本発明によれば、この課題は、特許請求の範囲の独立請求項１に記載の半導体装置によって達成される。
【０００９】
本発明半導体装置は、組み込みメモリと、アプリケーションコードを実行するための組み込みプロセッサと、保護された保護バスを介して組み込みメモリに結合し、また、保護されていない無保護バスを介して組み込みプロセッサに結合した機能的ハードウェア素子とを備えた回路を有し、この機能的ハードウェア素子は、保護バスを保護するよう構成し、また、アプリケーションコードを実行する前にロック手段の少なくとも一部を広域的にロックする少なくとも１個のロックビットを備えるロック手段を有する。
【発明を実施するための最良の形態】
【００１０】
本発明の他の実施形態において、ロック手段は組み込みメモリの領域を保護するよう構成される。
【００１１】
機能的ハードウェア素子は、保護バスへの不正アクセスを抑止するファイアウォールの役割を担い、それ故、好ましくは、保護を必要とする組み込みメモリの領域へのアクセスを制限することができる。この場合、機能的ハードウェア素子は、好ましくはロック手段を利用して、組み込みメモリのそのような領域をロックすることによって、不正アクセスを防止する。組み込みプロセッサの任意のアプリケーションコードが初期化される前に、別のロックビットによって、このロック手段自体をロックすることができる。少なくとも１つのロックビットは、ロック手段の少なくとも一部を広域的（一括的）にロックするように構成し、実質的にそのロック手段の少なくとも一部の状態をフリーズさせる。一度ロックされると、組み込みプロセッサ上で何らかのコードが動作している限り、ロックビットの状態は変更することができない。従って、プロセッサ上で動作しているプログラムコードは、ロック手段の状態を変更することができない。組み込みメモリなどのような保護バスに接続されたデバイスのために、保護バスに設けられた保護によって、この種のデバイスにアクセスしようとする無保護バス上の任意のデバイスは、これに影響を及ぼすことができない。特に、組み込みプロセッサで動作する悪意のあるコードは、組み込みメモリのロックされた領域に直接アクセスすることはできない。
【００１２】
さらに、他の実施形態においては、ロック手段は、ロックレジスタを備え、少なくとも１つのロックビットはロックレジスタの少なくとも一部を広域（一括）的にロックするよう構成する。
【００１３】
また、他の実施形態では、機能的ハードウェア素子は、保護バスのアクセス情報およびアクセス条件を格納するためのコンフィギュレーションレジスタを備えたコンフィギュレーション手段と、コンフィギュレーションレジスタのうち少なくとも１個へのアクセスを選択的に許可または拒絶するようコンフィギュレーションレジスタのうちの少なくとも１個に関連付けしたロックレジスタとを有する。
【００１４】
ロック手段は、好ましくは、少なくとも１個のロックレジスタを備える。少なくとも１個のロックビットを、ロックレジスタの少なくとも一部を広域的にロックするよう構成し、これらのレジスタを無保護バスからは、もはや操作できないようにする。コンフィギュレーション手段は、好ましくは、保護バス上に存在するデバイス、特に、組み込みメモリの領域の保護レベルを規定するために使用するコンフィギュレーションレジスタの集合を備える。保護バス、特にこの保護バス上に存在するデバイスへのアクセスを許可し、または、拒絶するための条件は、コンフィギュレーションレジスタに格納する。ロックレジスタは、好ましくは、１個以上のコンフィギュレーションレジスタと関連付けし、アプリケーションコードが動作している組み込みプロセッサなど、無保護バス上に存在するデバイスからその関連付けしたコンフィギュレーションレジスタへのアクセスを選択的に許可、または、拒絶する。
【００１５】
さらに他の実施形態においては、起動状態にあるロックレジスタは、関連付けしたコンフィギュレーションレジスタの少なくとも１個が読み出し専用に構成することを指示し、停止状態にあるロックレジスタは、前記関連付けしたコンフィギュレーションレジスタの少なくとも１個が読み出しおよび書き込みの両方を行う構成にすることを指示するものとする。
【００１６】
ロックレジスタは、好ましくは、ロックレジスタの起動状態、停止状態に応じて、コンフィギュレーションレジスタの保護を設定する。ロックレジスタの状態に従い、対応するコンフィギュレーションレジスタへのアクセスを許可または拒絶することができる。好ましくは、ロックレジスタが停止状態にあるときに、対応するコンフィギュレーションレジスタは、無保護バス上のデバイスにより、読み出しまたは書き込みを可能にし、ロックレジスタが起動状態にある場合には、対応するコンフィギュレーションレジスタは無保護バスからの読み出しのみが可能となるようにする。
【００１７】
さらに別の実施形態では、コンフィギュレーションレジスタは、保護された組み込みメモリの領域を規定するよう構成する。
【００１８】
コンフィギュレーションレジスタは、例えば、組み込みメモリの開始アドレスおよび終了アドレスを格納することによって、好ましくは組み込みメモリの保護領域を規定する。
【００１９】
ハードウェアファイアウォールを備える他の実施形態においては、ロックビットを設定した後に、ロック手段のロックされていない部分は、無保護バスから、なおアクセスすることができるようにする。
【００２０】
先に述べたように、ロックビットは好ましくはロックレジスタの少なくとも一部を広域的にロックするよう構成し、これらのレジスタは保護バスへ、特に組み込みメモリの保護された部分へアクセスをしようとするいかなる悪意のあるコードによっても操作することができない。ロックビットを設定する際には保護されていなかった保護バス上のデバイスおよび組み込みメモリは、アクセスを求めている無保護バス上のデバイスの利用が依然として可能である。
【００２１】
好ましい実施形態においては、機能的ハードウェア素子は、コンフィギュレーション手段に結合した条件照合手段であって、保護バスへのアクセスの要求をコンフィギュレーション手段に格納したアクセス条件と比較して、またこの比較の結果に従ってアクセス要求を許可、または拒絶するようロック手段に信号を供給するための該条件照合手段を有する構成とする。
【００２２】
条件照合手段は、コンフィギュレーション手段に結合する。この条件照合手段は、コンフィギュレーション手段においてプログラムされ格納されるアクセス条件を、保護バスへのアクセスの要求と比較する。条件照合手段は、通常は任意のアクセス要求を確認するため絶えず無保護バスを調べる。条件照合手段は、アクセス要求を検出した後に比較を行い、比較の結果に従って、保護バスへのアクセス要求の許可または拒絶に関連した信号をロック手段に供給する。
【００２３】
さらに他の実施形態においては、条件照合手段からアクセス拒絶信号を受信したときは、保護バスへのアクセスを停止するようにロック手段を構成する。
【００２４】
他の実施形態では、アクセス要求が無効のときは、条件照合手段は、無保護バスに対してダミーデータを送信するよう構成する。
【００２５】
条件照合手段が、保護バスへのアクセスを停止する必要があると決定するときは、ロック手段は、保護バスからの読み込み、または、保護バスへの書き出しアクセスを遮断するよう構成することができる。好ましくは、無効な読み込みアクセス要求がなされるときに、条件照合手段が無保護バスへのダミーデータを送信する。
【００２６】
他の実施形態では、条件照合手段は、悪意のあるアプリケーションコードに対して防御機構を始動させるよう、組み込みプロセッサに対して違反信号を送信するように構成する。
【００２７】
好ましくは、条件照合手段は、無効な要求がなされたことを無保護バスに通知することができる。例えば、割り込み信号、エラー信号または中止信号などの違反信号を組み込みプロセッサに送信し、プロセッサ上で動作する恐れがある悪意を有するコードに対して、防御機構を始動させることができる。
【実施例】
【００２８】
本発明のこれらおよび他の態様を、以下に記載される実施例を参照して明らかとし、また、詳細に説明する。
【００２９】
図面は、本発明の実施例を図解し、上述の記載とともに本発明の原理を説明するのに供する。
【００３０】
これら実施例は、本発明を限定するものではなく、むしろ、例示するものであって、当業者は添付した特許請求の範囲から逸脱することなく他の実施例を設計することもできることに留意されたい。特許請求の範囲において、いかなる参照符号も、特許請求の範囲を限定するものではない。本発明は、いくつかの個別の素子を備えたハードウェアによって実施できる。
【００３１】
ファイアウォールを用いて、システムまたは装置（デバイス）に対する攻撃から保護する。攻撃はシステム上で動作しているソフトウェアまたはアプリケーションコードからも受けることがある。オペレーティングシステムのソフトウェアは、システム上で動作する外部コードからの攻撃を完全に防ぐことはできない。このため、本発明は、保護した保護バスと、特に保護バスに接続したデバイス、中でも組み込みメモリ、へのアクセスを防御することのできるハードウェアファイアウォールを提案する。機能的ハードウェア素子は、例えば、集積回路などの半導体装置内に組み込む。この機能的ハードウェア素子は、組み込みメモリおよび組み込みプロセッサに、および／または、好ましくはこの半導体装置に取り付けた周辺機器にも、保護バスおよび保護されない無保護バスを介して結合する。
【００３２】
図１は、ファイアウォールの役割を行う機能的ハードウェア素子１０５を備えた線図的な構成図である。半導体装置１００は、機能的ハードウェア素子１０５を備え、これは、以下に「ハードウェアファイアウォール」とも称する。ハードウェアファイアウォール１０５は、組み込みプロセッサ１５０に、また、好ましくはバスマスタ装置１４０にも、無保護バス１１５を介して結合する。同様に、ハードウェアファイアウォール１０５は、例えばＲＡＭやＲＯＭなどの組み込みメモリ１１０に、また、好ましくは外部メモリインタフェース１２０およびシステム周辺機器１３０にも、保護バス１２５を介して結合する。外部メモリインタフェース１２０は、好ましくは、ハードウェアファイアウォール１０５と外部メモリ１６０とを保護バス１２５を介して接続する。
【００３３】
ハードウェアファイアウォール１０５で定義される保護機構は、複数の異なる保護レベルに対処でき、これら保護レベルは保護されるデバイスに対するアクセスを要求するアプリケーションコードの挙動に基づいて定義することができる。
【００３４】
図１は、ハードウェアファイアウォール１０５を組み込みプロセッサ１５０と組み込みメモリ１１０との間に実装することを示している。ハードウェアファイアウォール１０５は、保護バス１２５を保護するために使用することができ、それによって、組み込みメモリ１１０の特定の領域が組み込みプロセッサ１５０で動作するアプリケーションコードによってアクセスされないように保護する。ハードウェアファイアウォール１０５は、保護すべき組み込みメモリ１１０の各領域へのアクセスレベルを定義するためにプログラムすることも可能であり、これについては図２につき詳細に後述する。組み込みメモリ１１０の異なる領域、または、保護バス１２５上の異なる他のデバイスに対して、異なるアクセスレベルを定義できる。
【００３５】
保護の各レベルは、保護バス１２５へのアクセスや組み込みメモリ１１０へのアクセス等、デバイスへのアクセスを要求するアプリケーションコードの挙動に依存して、ハードウェアファイアウォール１０５によって定義できる。例えば、次のような保護レベルを想定することができる。
a-  アクセスを全く許容しない：ハードウェアファイアウォール１０５は、ロックビット２１１（図２）がセットされているときシステムが始動中にロックされた保護バス１２５上に存在する装置へのいかなるアクセスも防止する。例えば、始動中には、システムセキュリティのチェックまたは重要パラメータの初期化が行われる必要があり、その始動後はこれらのルーチンへのアクセスは防御すべきである。
b-  コードフェッチ（取り出し）アクセスのみ：システム固有のルーチン、例えば、暗号化または暗号解読ルーチンは、アプリケーションコードが使用するものであって、保護されたメモリ１１０に格納されるが、保護領域の外部で利用可能でなければならない。コードフェッチを用いて、ルーチンを、組み込みプロセッサ１５０に置くことができる。
c-  管理者アクセス：例えば、システムクロックを設定したり、または、動作中の特定のシステムパラメータを変更したりするために、オペレーティングシステムは、オペレーティングシステム自体が伴うルーチンなど、ハードウェアファイアウォールの背後にある無保護バス１１５上に存在する信頼できるデバイスに管理者アクセス権限を与えることができる。
d-  書き込みアクセス禁止：例えば、組み込みメモリ１１０または周辺レジスタなどの保護領域のデータに対して書き込みアクセスを防御することは重要であろう。しかし、読み込みアクセスは依然として必要であろう。
e-  フルアクセス：例えば、重要でないルーチンや組み込みメモリ１１０内に格納されるデータなど、無保護バス１１５から保護バス１２５上に存在する特定の内容に対する全面的なアクセスを可能とする。
【００３６】
ハードウェアファイアウォール回路１０５は、組み込みプロセッサ１５０に内蔵させることができる。しかし、この保護機構は、アクセスが組み込みプロセッサ１５０自体から送られるときのみ機能する。孤立型（スタンドアロン）のハードウェアファイアウォール１０５は、保護バス１２５が他のデバイス、例えばバスマスタ１４０などからアクセスされることを防止することができるという利点を有する。さらに、組み込みプロセッサ１５０に内蔵した組み込みメモリ１１０の場合保護設定を無効にすることができる。本発明は、さらに、デバイス上で稼動しているソフトウェアのデバッグ中に意図しないアクセスが不正コードに許可されたか否かを検知するのにも使用できる。ハードウェアファイアウォール１０５を使用する他の用途としては、定義されたアクセス条件に基づいてマルチバス環境下の保護バス１２５を介してこのファイアウォールに接続したデバイスへのアクセスを制限する用途がある。
【００３７】
図２は、ハードウェアファイアウォール２０５の実施例の線図的説明図である。ハードウェアファイアウォール２０５は、ロック手段２３５、コンフィギュレーション（環境設定）手段２２０および条件照合手段２３０を備える。ロック手段２３５は、ロックレジスタ２１０、データロック手段２４０およびアクセスロック手段２５０を備える。条件照合手段２３０は、ロックレジスタ２１０およびコンフィギュレーション手段２２０に、アドレスバス２０２および制御バス２０３を介して結合する。データバス２０１も、ロックレジスタ２１０およびコンフィギュレーションレジスタ２２０を、ロック手段２３５のデータロック手段２４０に結合する。さらに、アドレスバス２０２は、アクセスロック手段２５０に結合し、このアクセスロック手段２５０はロック手段２３５の一部をなす。
【００３８】
少なくとも１個のロックビット２１１を使用して、アプリケーションコードが実行される前に、ロックレジスタ２１０の少なくとも一部を広域的にロックする。
ハードウェアファイアウォール２０５は保護バス２２５に取り付け、この保護バス２２５は組み込みメモリ１１０、ならびに好ましくは外部メモリインタフェース１２０および周辺装置１３０にも接続する。ハードウェアファイアウォール２０５に取り付けた無保護バス２１５は、組み込みプロセッサ１５０、および好ましくはバスマスタ１４０に接続する。
【００３９】
コンフィギュレーション手段２２０は、保護バス２２５にアクセスするためのアクセス関連情報およびアクセス条件を格納するために使用されるコンフィギュレーションレジスタを備える。コンフィギュレーション手段２２０で規定されるコンフィギュレーションレジスタは、好ましくは、集合としてグループ分けされる。ここで、各集合は、例えば、組み込みメモリ１１０における開始アドレスおよび終了アドレスを使用して、組み込みメモリ１１０の保護領域を規定する。
【００４０】
ロックレジスタ２１０は、好ましくは、コンフィギュレーションレジスタ２２０のうちの少なくとも１個に関連付けする。ロックレジスタ２１０は、関連付けした少なくとも１個のコンフィギュレーションレジスタ２２０へのアクセスを選択的に許可または拒絶するよう構成する。例えば、ロックレジスタ２１０が停止状態のときには、関連付けしたコンフィギュレーションレジスタ２２０に対して、読み出しまたは書き込みが可能である。ロックレジスタ２１０が起動状態のときは、これに関連付けした構成レジスタ２２０に対して、読み出しのみを行うことができる。
【００４１】
ロックレジスタ２１０に関連付けした少なくとも１個のロックビット２１１は、この関連付けしたロックレジスタ２１０自体をロックすることができる。ロックビット２１１が停止状態のときは、ロックレジスタ２１０を無制限に読み出し、または、書き込みをすることができる。しかし、ロックビット２１１が起動状態のときには、ロックレジスタ２１０へのアクセスが防御される。このように、すでに起動状態にあるロックレジスタ２１０に対して、これに関連付けしたコンフィギュレーションレジスタ２２０において既に規定した保護を変更することができない。
【００４２】
同様に、ロックビット２１１を設定した後に、ロックしたコンフィギュレーションレジスタ２２０により指示された保護バス２２５上に存在するデバイスへのアクセスが禁止される。その時点で、いかなるロックレジスタ２１０にも関係付けされていないコンフィギュレーションレジスタ２２０、または、ロックされていないロックレジスタ２１０に関係付けされたコンフィギュレーションレジスタ２２０のみが、依然として無保護バス２１５からアクセスすることができる。
【００４３】
この結果、ロックビット２１１を設定した後に、新たな保護が規定されるのは、コンフィギュレーションレジスタ２２０で保護が既に規定され、かつロックレジスタ２１０がそのコンフィギュレーションレジスタ２２０関係付けされ、このロックレジスタがその後ロックされ、保護状態を無保護バス２１５から変更することはできなくなったときである。このようにして、保護されるデバイスまたはメモリ領域は、保護バス２２５からの権限のないアクセスから保護される。
【００４４】
条件照合手段２３０は、絶えず無保護バス２１５に対して、被保護バス２２５へのアクセス要求の有無を検査する。この条件照合手段２３０はまた、保護バス２２５上の異なるデバイスの保護レベルを規定するロックされたコンフィギュレーションレジスタ２２０に格納されたアクセス条件を調べる。条件照合手段２３０は、無保護バス２１５におけるアクセス要求をコンフィギュレーション手段２２０に格納されているアクセス条件と照合する。要求されたアクセスを許可するべきではないと決定すると、条件照合手段２３０は、アクセスロック手段２５０およびデータロック手段２４０に対して、比較の結果得られる条件に従い読み出しおよび／または書き込みアクセスを許可および／または拒絶する信号を送信する。条件照合手段２３０は、好ましくは、システムが使用するインジケータであって、このシステム内でアクセス条件違反がいつ起きたかを知るためのインジケータをなす。アクセス条件違反が発生したとき、条件照合手段２３０は、防御機構を始動させるために組み込みプロセッサに、違反信号２０４、例えば、割り込み信号、エラー信号または中止信号などを送信するよう構成する。
【００４５】
アクセスロック手段２５０は、絶えず条件照合手段２３０と交信し合う。アクセスロック手段２５０が無保護バス２１５から要求された保護バス２２５へのアクセスを抑止するのは、条件照合手段２３０がアクセス拒絶信号をアクセスロック手段２５０に送信するときである。
【００４６】
さらに、このロック手段は、条件照合手段２３０と交信しあうデータロック手段２４０を備える。無保護バス２１５から無効なアクセス要求があるとき、条件照合手段２３０は、データロック手段２４０に対して、無保護バス２１５のデータラインにダミーデータを送信するように指示することができる。
【００４７】
ハードウェアファイアウォール２０５は、デバイスのセキュリティに妥協して低下させることなく、条件が完全にプログラム可能でかつ融通性が高いという利点を有する。他の利点は、ハードウェアファイアウォール２０５は、外部メモリ１６０に含まれるアプリケーションが、保護バス２２５および組み込みメモリ１１０の特定のカスタマイズ領域を保護するように規定することができる点である。このシステムの更なる利点は、デバッグ用ソフトウェアの用途に使用できることであり、この場合、ハードウェアファイアウォール２０５は、システム内の各種デバイスを保護することによって、システムを意図しないアクセスから保護することができる。
【００４８】
本発明を上述の実施につき説明したが、同じ目的を達成するために他の実施例を代替案として使用することができることは明白である。したがって、本発明の特許請求の範囲は、上述の実施例に限定するものではなく、同様に他の装置に適用することも可能である。
【００４９】
さらに、特許請求の範囲を含む明細書中の動詞「備える」およびその活用形の使用は、所定の特徴、数、手段または構成要素の存在を特定するものであるが、１つ以上の他の特徴、整数、手段、構成要素または、それらの集合の存在や付加を除外するものではないことに留意すべである。さらに、請求項中の要素の前に付加した不定冠詞「ａ」または「ａｎ」は、そのような要素が複数存在することを除外するものではないことに留意すべきである。さらに、いかなる参照符号も、特許請求の範囲を制限するものではない。本発明はハードウェアおよびソフトウェアの両方によって実装することができ、同じハードウェアの項目は、いくつかの「手段」を表すことができる。さらにまた、本発明は、個々のおよび全ての新規な特徴または特徴の組み合わせにある。
【００５０】
本発明は、以下の通りに要約することができる。組み込みメモリと、アプリケーションコードを実行するための組み込みプロセッサと、保護バスを介して上記組み込みメモリに結合し、また、無保護バスを介して前記組み込みプロセッサに結合した機能的ハードウェア素子とを備えた回路を有する半導体装置において、この機能的ハードウェア素子は、保護バスを保護するよう構成し、また、アプリケーションコードを実行する前にロック手段の少なくとも一部を広域的にロックするロックビットを備えるロック手段を有する。
【図面の簡単な説明】
【００５１】
【図１】ハードウェアファイアウォールを備える集積回路の構成を線図的に示す説明図である。
【図２】集積回路に組み込んだ本発明で提案するファイアウォールの構成を線図的に示す説明図である。
【図１】
2008524740.tif 000003
【図２】
2008524740.tif 000004
【国際調査報告】
2008524740.tif 000005
2008524740.tif 000006
2008524740.tif 000007