(57)【要約】【課題】  本発明の目的は、装置の起動時のみでなく稼動中においても、外部データの改ざん検出を実施することにより、高い安全性を実現する外部データ改ざん検出装置、および外部データ改ざん検出方法を提供することである。【解決手段】  本発明の外部データ改ざん検出装置は、装置の起動時のみではなく、装置の稼動中においても、随時外部記憶部に格納される外部データの改ざん検出を実施することのできる構成要件を備えている。特に、装置稼動中の改ざん検出においては、定期的なタイミングで外部データの改ざん検出を実施すると検出時期を推測されてしまう恐れが有るため、ランダムなタイミングで外部データを読み込んで当該外部データのＨＡＳＨ値を演算し、自身に予め保管しているＨＡＳＨ値との比較を実施する。【選択図】  図５
2007066021.tif 000002
【特許請求の範囲】
【請求項１】
外部データを取得するためのデータ取得部と、
前記外部データのＨＡＳＨ値である正規ＨＡＳＨ値を予め保存した記憶部と、
ＨＡＳＨ値照合部と
を具備した外部データ改ざん検出装置であって、
前記外部データ改ざん検出装置の起動時および稼働時に、前記データ取得部は前記外部データを取得し、前記ＨＡＳＨ値照合部は、取得された前記外部データのＨＡＳＨ値を取得ＨＡＳＨ値として算出し、前記正規ＨＡＳＨ値と前記取得ＨＡＳＨ値とを照合し、
前記照合の結果が一致を示さない場合、前記外部データに改ざんが検出されたとして前記外部データ改ざん検出装置に規定の動作制限が行われる
外部データ改ざん検出装置。
【請求項２】
請求項１に記載の外部データ改ざん検出装置において、
前記稼働時の前記データ取得部による前記外部データの取得、およびそれに伴う前記ＨＡＳＨ値照合部による前記正規ＨＡＳＨ値と前記取得ＨＡＳＨ値との照合を、乱数に基づいた不規則なタイミングで行う
外部データ改ざん検出装置。
【請求項３】
請求項２に記載の外部データ改ざん検出装置において、
さらに、シフトレジスタを有した乱数生成器を備え、
前記乱数生成器により前記乱数が生成される
外部データ改ざん検出装置。
【請求項４】
請求項３に記載の外部データ改ざん検出装置において、
前記乱数生成器は、第１のクロック信号と、前記第１のクロックに同期しない第２のクロック信号とに基づいて前記乱数を生成する
外部データ改ざん検出装置。
【請求項５】
請求項４に記載の外部データ改ざん検出装置において、
前記乱数生成器は、前記第１のクロック信号としてシステムクロック信号を用い、前記第２のクロック信号としてクロックを間引きした前記システムクロック信号を用いて前記乱数を生成する
外部データ改ざん検出装置。
【請求項６】
請求項１から５までの少なくとも一項に記載の外部データ改ざん検出装置において、
さらに、頻度設定回路を備え、
前記頻度設定回路は、前記稼働時の前記データ取得部による前記外部データの取得、およびそれに伴う前記ＨＡＳＨ値照合部による前記正規ＨＡＳＨ値と前記取得ＨＡＳＨ値との照合の頻度を任意に設定する
外部データ改ざん検出装置。
【請求項７】
請求項１から６までの少なくとも一項に記載の外部データ改ざん検出装置において、
さらに、照合制御回路を備え、
前記照合制御回路は、前記稼働時の前記データ取得部による前記外部データの取得、およびそれに伴う前記ＨＡＳＨ値照合部による前記正規ＨＡＳＨ値と前記取得ＨＡＳＨ値との照合の実施を行うか否かの設定を行う
外部データ改ざん検出装置。
【請求項８】
請求項１から７までの少なくとも一項に記載の外部データ改ざん検出装置において、
前記外部データ改ざん検出装置は、マイクロコンピュータに搭載されて機能するためのインタフェース部を備え、
前記外部データ改ざん検出装置が前記マイクロコンピュータに搭載される場合、
前記マイクロコンピュータのマイクロコンピュータＣＰＵおよびマイクロコンピュータ記憶部が、前記インタフェース部を介して前記外部データ改ざん検出装置の前記データ取得部、前記記憶部および前記ＨＡＳＨ値照合部となる外部データ改ざん検出装置。
【請求項９】
外部データを取得するためのデータ取得部と、前記外部データのＨＡＳＨ値である正規ＨＡＳＨ値を予め保存した記憶部と、ＨＡＳＨ値照合部とを具備した外部データ改ざん検出装置の外部データ改ざん検出方法であって、
前記外部データ改ざん検出装置の起動時および稼働時に、
前記外部データを取得する外部データ取得ステップと、
前記外部データ取得ステップにより取得された前記外部データのＨＡＳＨ値を取得ＨＡＳＨ値として算出し、前記正規ＨＡＳＨ値と前記取得ＨＡＳＨ値とを照合するＨＡＳＨ値照合ステップと、
前記照合の結果が一致を示さない場合、前記外部データに改ざんが検出されたとして前記外部データ改ざん検出装置に規定の動作制限を行う動作制限ステップと
を備える外部データ改ざん検出方法。
【請求項１０】
請求項９に記載の外部データ改ざん検出方法において、
前記稼働時の前記外部データ取得ステップと、ＨＡＳＨ値照合ステップとを、乱数に基づいた不規則なタイミングで行う
外部データ改ざん検出方法。
【請求項１１】
請求項９または１０に記載の外部データ改ざん検出方法において、
さらに、前記稼働時の前記外部データ取得ステップと、ＨＡＳＨ値照合ステップと実施する頻度を任意に設定する頻度設定ステップを備える
外部データ改ざん検出方法。
【請求項１２】
請求項９から１１までの少なくとも一項に記載の外部データ改ざん検出方法において、
さらに、前記稼働時の前記外部データ取得ステップと、ＨＡＳＨ値照合ステップの実施を行うか否かの設定を行う照合制御ステップを備える
外部データ改ざん検出方法。
【請求項１３】
請求項９から１２までのいづれか一項に記載の外部データ改ざん検出方法を実施するための、コンピュータ読み込み可能な外部データ改ざん検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動時および稼働時に、外部データを読み込んでＨＡＳＨ値を算出し、自身で保存している当該外部データのＨＡＳＨ値と照合することによって、自身に接続されている外部データの改ざんを検出する外部データ改ざん検出装置、および外部データ改ざん検出方法に関する。
【背景技術】
【０００２】
半導体装置では、内蔵されている記憶部に格納されたアプリケーションプログラムを読み込んで実行する。しかし、外部記憶部を接続し、外部記憶部に格納されたアプリケーションプログラムを読み出して命令を実行する形態を有する半導体装置も多数存在している。これは、全てのアプリケーションプログラムを内蔵されている記憶部に保管するよりも、アプリケーションプログラムの修正や、アップデートが容易になるからである。全てのアプリケーションプログラムを内蔵された記憶部に保管する場合は、記憶容量の大きな記憶部を内蔵することが必要となる。このため、装置全体の価格、サイズを考えた場合、外付けの記憶部を使用する方が内蔵型の記憶部を備えるよりも有利となる。
【０００３】
一方、外付けの記憶部として使用されるフラッシュメモリなどは、ハッカーなどが容易にデータを改ざんすることが可能であり、改ざんされたコードを実行した場合、半導体装置内の秘密データの漏洩や、装置の誤動作に直結する。
【０００４】
このため、外付けの記憶部を使用する半導体装置において、外付けの記憶部に格納されている外部データのデータ改ざん検出を実施することが強く求められている。
【０００５】
上記した技術に関連して、特開２００４−９６６６６号公報に開示されている「暗号化部を有する半導体装置、外部インタフェースを有する半導体装置、およびコンテンツ再生方法」では、外部データの改ざん検出手法を備えた半導体装置が提案されている。当該公報の図１、図１０、図１１及び、１３ページ［００７５］、１４ページ［００７６］の説明を参照すると、ブート処理において、外部メモリ１００に暗号化されて格納されるアプリケーションプログラムを、外部Ｉ／Ｆ５０が有するプログラム処理部５１のプログラム復号用暗号エンジン５４を介して復号し、ＨＡＳＨ演算部７０に取込み、ＨＡＳＨ値を演算する。そして、この演算したＨＡＳＨ値と、セキュアメモリ１０の通常領域１３にあらかじめ格納されていたＨＡＳＨ値とが比較されて、アプリケーションプログラムが改ざんされていないかどうかのチェックが実施される。ＨＡＳＨ値が一致する場合には、外部メモリ１００に格納されていたアプリケーションプログラムに処理を遷移し、アプリケーションが実行される。一方、ＨＡＳＨ値が一致しない場合は、何らかの不正が行われたものと推定して不正アクセス時の処理が実行される。
【０００６】
【特許文献１】特開２００４−９６６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示されている装置では、図１のフローチャートに示すように、装置を起動すると（ステップＳ０１）、ブート処理により、外部メモリに格納されていたアプリケーションプログラムが読み込まれて（ステップＳ０２）、読み込まれたアプリケーションプログラムのＨＡＳＨ値が算出される（ステップＳ０３）。そして、算出されたＨＡＳＨ値と、あらかじめ装置の内部記憶部に格納されていたＨＡＳＨ値と比較することにより（ステップＳ０４）、アプリケーションプログラムが改ざんされていないかのチェックを実施される。そして、改ざんが検出されなかった場合には、通常の動作が行われる（ステップＳ０５）。改ざんが検出された場合には、装置の動作を制限する等の改ざん検出後動作が行われる（ステップＳ０６）。
【０００８】
しかし、起動処理時のみＨＡＳＨ値の比較を行って、外部データの改ざんをチェックする方法では、その後のシステム稼働時に外付けメモリのデータが改ざんされても、それを検出することは不可能である。例として、装置の稼働時における外部データの改ざんとして、以下のものが知られている。
【０００９】
（１）装置の稼動中に、外付けメモリ自体が、他のメモリに差し替えられる。
【００１０】
（２）正常な外付けメモリと不正コードを書かれた外付けメモリとを準備し、それぞれのメモリに接続される信号線をスイッチで切り替えられる様にする。起動時のチェック時には、正常な外付けメモリが選択される側にスイッチを切り替え、チェック終了後は、不正コードが書かれたメモリ側にスイッチを切り替える。
【００１１】
また、起動時に外付けメモリから読み込んだアプリケーションプログラムを内蔵のメモリなどに保持し、その保持しているプログラムを実行する場合、上記の装置が稼動している間に外部メモリのコードが改ざんされても装置自身に影響は無い。但し、その場合には、外付けメモリから実行されるアプリケーションプログラムのサイズと同等の記憶容量を有する内蔵メモリを備えることが必要となり、装置サイズの増大につながる。
【００１２】
このように、装置の起動時のみでなく稼働時においても、装置のサイズを大きくすること無く、外部データの改ざんを検出することが可能な装置およびその検出方法の開発が望まれている。
【課題を解決するための手段】
【００１３】
以下に、［発明を実施するための最良の形態］で使用する括弧付き符号を用いて、課題を解決するための手段を説明する。これらの符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１４】
本発明の外部データ改ざん検出装置（１０）は、外部データを取得するためのデータ取得部（１３）と、外部データのＨＡＳＨ値である正規ＨＡＳＨ値を予め保存した記憶部（１２）と、ＨＡＳＨ値照合部（１１、１２ａ）とを備えた外部データ改ざん検出装置であって、外部データ改ざん検出装置の起動時および稼働時に、データ取得部は外部データを取得し、ＨＡＳＨ値照合部は、取得された外部データのＨＡＳＨ値を取得ＨＡＳＨ値として算出し、正規ＨＡＳＨ値と取得ＨＡＳＨ値とを照合し、照合の結果が一致を示さない場合、外部データに改ざんが検出されたとして外部データ改ざん検出装置に規定の動作制限が行われる。
【発明の効果】
【００１５】
本発明により、装置の起動時のみでなく稼動中においても、外部データの改ざん検出を実施することの出来る外部データ改ざん検出装置、および外部データ改ざん検出方法を提供することができる。
【００１６】
これにより、外部記憶部に接続して外部データを使用する装置の安全性が飛躍的に向上するとともに、装置内部に大容量の記憶部を備える必要がなく、装置の小型化が実現する。
【発明を実施するための最良の形態】
【００１７】
添付図面を参照して、本発明による外部データ改ざん検出装置、および外部データ改ざん検出方法を実施するための最良の形態を以下に説明する。
【００１８】
本発明の外部データ改ざん検出装置は、装置の起動時のみではなく、装置の稼動中においても、随時外部記憶部に格納される外部データの改ざん検出を実施することのできる構成要件を備えている。特に、装置稼動中の改ざん検出においては、定期的なタイミングで外部データの改ざん検出を実施すると、検出時期を推測されてしまう恐れが有るため、ランダムなタイミングで外部データを読み込んで当該外部データのＨＡＳＨ値を演算し、自身に予め保管しているＨＡＳＨ値との比較を実施する。本発明では、外部データを自身に内蔵される記憶部に取り込んで保存しないため、外部記憶部と同じ容量の記憶部を内蔵する必要がなく、装置の安全性を確保しつつ、装置全体の構成を小型化することができる。
【００１９】
（実施の形態１）
本発明の実施の形態１に係わる外部データ改ざん検出装置の概略構成を図２に示す。本実施の形態に係わる外部データ改ざん検出装置１０は、その一部機能を備えた半導体チップが、マイクロコンピュータに搭載されることにより、外部データ改ざん検出装置全体としての機能を有するものである。当該一部機能を備えた半導体チップがマイクロコンピュータに搭載される場合、予めマイクロコンピュータに備わり、外部からのデータを取得するための外部Ｉ／Ｆ部、ＣＰＵ、ＲＡＭやＲＯＭといった記憶部、および割り込み制御回路などは、そのまま本実施の形態に係わる外部データ改ざん検出装置におけるそれぞれの機能として使用される。
【００２０】
本実施の形態に係わる外部データ改ざん検出装置１０は、外部Ｉ／Ｆ１４を介して外部メモリ１００に接続される。そして、外部メモリ１００に格納されているアプリケーションプログラム等を読み込んで実行することにより、任意のアプリケーション機能が実現される。
【００２１】
本実施の形態に係わる外部データ改ざん検出装置１０は、外部Ｉ／Ｆ１４を介して外部メモリ１００に格納されている外部データを取得するためのデータ取得部１３と、外部データ改ざん検出プログラム１２ａ、ユーザプログラム１２ｂおよび当該外部データのＨＡＳＨ値である正規ＨＡＳＨ値を予め保存した記憶部１２と、記憶部１２に予め格納されている当該外部データ改ざん検出プログラム１２ａおよび正規ＨＡＳＨ値を読み込むことにより、ＨＡＳＨ値照合部としての機能を実現するＣＰＵ１１と、ネットワークやキーボド等を介して装置への指示等を入力するための（入力）ポート２０と、本実施の形態に係わる装置１０によって処理された処理結果を、ネットワークやディスプレイ等に出力するための（出力）ポート２１とを備えている。記憶部１２は、ＣＰＵ１１の内蔵メモリとしてＣＰＵ１１に含まれる形態としても良い。
【００２２】
また、本実施の形態の外部データ改ざん検出装置１０は、ＣＰＵ１１を動作させるためのシステムクロックとは非同期関係のクロックを生成するＲｉｎｇ−ＯＳＣ１５と、乱数生成器１６とを備えている。図３に、乱数生成器１６の概略構成を示す。本実施の形態における乱数生成器１６は、リニアフィードバックシフトレジスタを２６個並列に接続して構成される２６ｂｉｔｓのポリノミナルカウンタ３４と、ポリノミナルカウンタ３４に、システムクロック１１ａおよびＲｉｎｇ−ＯＳＣクロック１５ａをモジュレーションして入力するクロックモジュレーション３３とを備えている。ポリノミナルカウンタ３４は、入力されるフィードバックデータとクロックモジュレーション３３からのクロック信号とに基づいて擬似乱数を生成し、バスライン２２に送信する。しかし、ポリノミナルカウンタ３４により構成される乱数生成器は、あくまで擬似乱数生成器であるため、生成する乱数の予測がつきやすいと言う欠点がある。よって、本実施の形態においては、以下に記載の構成を有することにより、予測されにくい乱数を生成する乱数生成器１６を実現する。
【００２３】
（ａ）使用する乱数のビット長より、大きなカウンタ構成とする。
【００２４】
本実施の形態においては、使用する乱数のビット長は、最大５ｂｉｔであるが、２６ｂｉｔ長のカウンタ構成とする。
【００２５】
（ｂ）一定のシフトクロックを使用しない。
【００２６】
通常のカウンタの場合は、シフトクロックとしてシステムクロックを使用するが、その場合は、シフトタイミングおよびシフト回数が推測されやすくなり、生成する乱数の予測が容易になりやすい。これに対して、本実施の形態においては、システムクロックとシステムクロックに同期しないＲｉｎｇ−ＯＳＣ１５のクロックにモジュレーションをかけたものをシフトクロックとして使用する。
【００２７】
また、本実施の形態の外部データ改ざん検出装置１０は、上記の乱数を使用して割込み信号を生成する頻度設定レジスタ＆割込み信号生成回路１７と、頻度設定レジスタ＆割込み信号生成回路１７により生成された割込み信号により、ＣＰＵ１１の割込み動作を制御する割込み制御回路１８と、ＣＰＵ１１が実施する命令と、その命令が実行されているアドレスを監視するための命令監視回路１９とを備えている。
【００２８】
頻度設定レジスタ＆割込み信号生成回路１７の概略構成を図４に示す。頻度設定レジスタ＆割込み信号生成回路１７は、５ｂｉｔのデータが入力される５ｂｉｔデータ入力部４１と、頻度設定レジスタ４２と、比較器４３とを備えている。５ｂｉｔデータ入力部４１には、乱数生成器１６で生成された２６ｂｉｔの乱数のうち、５ｂｉｔの乱数データが入力される。頻度設定レジスタ４２には、予め、５ｂｉｔ、４ｂｉｔ、３ｂｉｔの任意の値が設定されている。そして、比較器４３に、頻度設定レジスタ４２からの値と、５ｂｉｔデータ入力部４１からのデータとが入力される。比較器４３では、頻度設定レジスタ４２からの値と、５ｂｉｔデータ入力部４１からのデータとが比較される。比較されるｂｉｔ長（５ｂｉｔ、４ｂｉｔ、３ｂｉｔ）は、ユーザプログラム１２ｂに基づいて選択可能である。ｂｉｔ長が小さくなるほど、比較器での一致の頻度は高くなる。比較器４３により一致を検出した場合に、割込み信号４４が、割込み制御回路１８へ出力される。頻度設定レジスタ＆割込み信号生成回路１７の頻度設定レジスタ４２に設定される値の設定により、割込み制御回路１８から出力される割り込み制御信号の頻度を変化させ、外部データの改ざん検出の頻度を任意に制御することができる。また、本実施の形態では、割込み制御回路１８の設定により、装置稼動中の外部データの改ざん検出を実施するか否かの設定をすることができる。割込み制御回路１８の設定により、当該装置において行われる処理が重要である場合、あるいは処理のタイミングがクリティカルとなる場合においては、（入力）ポート２０を介して入力される指示により、装置稼動中における外部データ改ざん検出の処理が停止される。
【００２９】
外部Ｉ／Ｆ１４と、ＣＰＵ１１と、記憶部１２と、外部データ取得部１３と、Ｒｉｎｇ−ＯＳＣ１５と、乱数生成器１６と、頻度設定レジスタ＆割込み信号生成回路１７と、割込み制御回路１８と、命令監視回路１９と、（入力）ポート２０と、（出力）ポート２１とは、それぞれバスライン２２で接続されている。
【００３０】
（実施の形態１の動作原理）
図５に基づいて、本実施の形態に係わる動作原理を説明する。本実施の形態に係わる外部データ改ざん検出装置１０が起動すると、ＣＰＵ１１が、記憶部１２に予め格納されている外部データ改ざん検出プログラム１２ａとユーザプログラム１２ｂとを読み込んで実行する。外部データ改ざん検出プログラム１２ａが実行されると、本実施の形態に係わる外部データ改ざん検出装置１０においては、起動時における外部データ改ざん検出処理（ステップＳ１０）、および稼働中における外部データ改ざん検出処理（ステップＳ３０）の実施が設定される。
【００３１】
まず、本実施の形態に係わる外部データ改ざん検出装置１０起動時における外部データ改ざん検出の動作フローについて説明する。（入力）ポート２０を介した指示により本実施の形態が起動すると（ステップＳ１０ａ）、外部データ取得部１３により、外部Ｉ／Ｆ１４を介して外部メモリ１００に格納されている外部データが、一時的に読み込まれて圧縮された後格納される（ステップＳ１０ｂ）。そして、この読み込まれた外部データのＨＡＳＨ値が算出される（ステップＳ１０ｃ）。そして、算出された外部データのＨＡＳＨ値と、記憶部１２に予め格納されていた当該外部データの正しいＨＡＳＨ値とが比較される（ステップＳ１０ｄ）。ステップＳ１０ｄにおける比較の結果、双方の値が一致を示した場合には、読み込んだアプリケーションプログラムに基づいて、通常の動作が実行される（ステップＳ２０）。一方、ステップＳ１０ｄにおける比較の結果、双方の値が一致を示さない場合には、外部データの改ざんが検出されたとして、改ざん検出後動作が実行される（ステップＳ５０）。ステップＳ５０における改ざん検出後動作においては、例えば装置全体の動作の停止、あるいは割り込み処理が行われた後に、当該外部データの改ざんが、記憶部１２に格納されている当該外部データの正しいＨＡＳＨ値に基づいて照会される。
【００３２】
本実施の形態においては、ステップＳ２０の通常動作中（稼動中）においても、起動時における外部データ改ざん検出処理（ステップＳ１０）と同様の、外部データ改ざん検出処理（ステップＳ３０）がランダムなタイミングで実施される。稼働中における外部データ改ざん検出処理（ステップＳ３０）の実施においては、ランダムなタイミングで割り込み制御回路１８により割り込みの実施が行われる（ステップＳ３０ａ）。この割り込みのタイミングは、ユーザプログラム１２ｂに基づいて、頻度設定レジスタ＆割込み信号生成回路１７の頻度設定レジスタの値が設定されることにより、そのタイミングの頻度が変更される。
【００３３】
また、本実施の形態においては、同様に、ユーザプログラム１２ｂに基づく割込み制御回路１８の設定により、稼働中における外部データ改ざん検出処理（ステップＳ３０）を行うか否かの設定をすることが出来る。
【００３４】
割込み制御回路１８により、稼動中の装置にランダムな割り込みが発生すると（ステップＳ３０ａ）、起動時と同様に、外部データ取得部１３により、外部Ｉ／Ｆ１４を介して外部メモリ１００に格納されている外部データが、一時的に読み込まれて圧縮された後格納される（ステップＳ３０ｂ）。そして、この読み込まれた外部データのＨＡＳＨ値が算出される（ステップＳ３０ｃ）。そして、算出された外部データのＨＡＳＨ値と、記憶部１２に予め格納されていた当該外部データの正しいＨＡＳＨ値とが比較される（ステップＳ３０ｄ）。ステップＳ３０ｄにおける比較の結果、双方の値が一致を示した場合には、読み込んだアプリケーションプログラムに基づいて、通常の動作が実行される（ステップＳ４０）。一方、ステップＳ３０ｄにおける比較の結果、双方の値が一致を示さない場合には、外部データの改ざんが検出されたとして、改ざん検出後動作が実行される（ステップＳ５０）。
【００３５】
上記してきたように，本実施の形態においては、装置の起動時のみではなく、稼動時にもランダムなタイミングで外付けメモリ１００のデータ改ざん検出を実施することにより、安全性の飛躍的な向上を実現した。また、本実施の形態においては、外付けメモリ１００に格納されているプログラムを自身の内部に保管するためのメモリなどのエリアを確保する必要も無い。つまり、本実施の形態において、システム稼動時に外付けメモリの改ざん検出を実施するタイミングをランダムに行うことは、一定のタイミングにて実施する場合と比較すると、ハッカーにとってデータ改ざん検出を実施するタイミングを類推することが困難となる。
【００３６】
検出タイミングのランダム度が高くなればなる程、検出のタイミングを類推することが困難となり、本実施の形態においては、Ｒｉｎｇ−ＯＳＣ１５と、乱数生成器１６とを備えることにより、高いランダム度を有する乱数の生成を実現している。
【００３７】
また、装置の稼動中に改ざん検出動作を実施することは、本来のアプリケーションのパフォーマンスを低下させることが考えられる。よって、本実施の形態においては、頻度設定レジスタ＆割込み信号生成回路１７にて、改ざん検出動作を実施する頻度を、使用されるアプリケーションセットにあわせて、設定することができる。さらに、装置の動作状況により（重要な処理や、タイミングがクリティカルな処理など）、外付けメモリの改ざん検出動作を実施させたくない場合は、割込み制御回路１８にて、本割込み信号をマスクすることにより、検出動作をスキップさせることが可能な構成を実現している。
【００３８】
本実施の形態においては、上記の検出頻度の切替機能と、スキップ可能な機能により、装置の正常な動作を阻害することなく、最適なタイミング（ランダムなタイミング）での検出動作を実施させることが可能となる。ただし、本設定は、安全性を考慮し、内蔵される記憶部１２に格納されるユーザプログラム１２ｂに基づいた命令実行でのみ設定可能である。仮に、外付けメモリ１００から命令が実行された場合には、命令監視回路１９にて、その命令の実行アドレスが外付けメモリ１００と検知され、任意の動作に設定される不正命令検出後動作に移行する。
【００３９】
図６に、同一の動作環境で動作させた時の、従来技術の外部データ改ざん検出装置と、本発明の実施の形態に係わる外部データ改ざん検出装置との相対的なセキュリティ性の高さ（外付けメモリが改ざんされるリスクの低さ）を示す。ここで、図中に示される記号Ａ、Ｂ、Ｃ、Ｄは、それぞれ以下の動作条件を示す。
【００４０】
（Ａ）外付けメモリの改ざん検出を起動時及び、稼動時のランダムなタイミングで実施した場合。（本発明の実施の形態）
（Ｂ）外付けメモリの改ざん検出を起動時及び、稼動時の一定のタイミングで実施した場合。
【００４１】
（Ｃ）外付けメモリの改ざん検出を起動時に実施した場合。（従来技術）
（Ｄ）外付けメモリの改ざん検出手段を持たない場合。
【００４２】
図６に示されるように、本発明の実施の形態においては、外部メモリ１００に格納されるデータを使用するに際して、極めて高い安全性を実現することができる。
【００４３】
（実施の形態２）
本発明の実施の形態２の基本的な構成要件、および動作原理は、実施の形態１におけるそれと同様である。但し、本実施の形態においては、図示せぬ乱数生成器に実施の形態１に備わるそれとの差異がある。つまり、実施の形態１においては、乱数生成回路１６の乱数性を高めるために、Ｒｉｎｇ−ＯＳＣ１５を使用しているが、本実施の形態においては、Ｒｉｎｇ−ＯＳＣ１５により生成されるクロック信号１５ａの代わりに、システムクロック信号１１ａのクロックを一部間引きしたクロック信号を使用する。
【００４４】
本実施の形態においては、乱数生成器により生成される乱数の乱数度は維持する一方で、実施の形態１におけるＲｉｎｇ−ＯＳＣ１５を内蔵する場合と比較すると、マイクロコンピュータ等に搭載する際の、その一部機能を備えた半導体チップのサイズをさらに小型化することができる。
【００４５】
以上説明したように、本発明の外部データ改ざん検出装置では、
（a）外部メモリなどに格納されている外部データを使用する際の、安全性の向上。
【００４６】
（ｂ）外部データを使用する際の安全性を確保し、装置の処理パフォーマンス低下を抑える。
【００４７】
（ｃ）外部データを使用する際の安全性を確保し、正常動作を阻害しない。
【００４８】
（ｄ）外部データを使用する際の安全性を確保し、チップサイズの増大を抑える。
【００４９】
を実現することができる。
【図面の簡単な説明】
【００５０】
【図１】従来技術による外付けメモリの改ざん検出の動作フローを示す図である。
【図２】実施の形態１に係わる外部データ改ざん検出装置の概略構成を示す図である。
【図３】実施の形態１に係わる外部データ改ざん検出装置に備わる乱数生成器の概略構成を示す図である。
【図４】実施の形態１に係わる外部データ改ざん検出装置に備わる頻度設定レジスタ＆割込み信号生成回路の概略構成を示す図である。
【図５】実施の形態１に係わる外部データ改ざん検出フローの概略構成を示す図である。
【図６】本発明の実施の形態により実現される安全性の相対レベルを示す図である。
【符号の説明】
【００５１】
１０…外部データ改ざん検出装置（マイクロコンピュータ搭載時）
１１…ＣＰＵ
１１ａ…システムクロック
１２…記憶部
１２ａ…外部データ改ざん検出プログラム
１２ｂ…ユーザプログラム
１３…外部データ取得部
１４…外部Ｉ／Ｆ
１５…Ｒｉｎｇ−ＯＳＣ
１５ａ…Ｒｉｎｇ−ＯＳＣクロック
１６…乱数生成器
１７…頻度設定レジスタ＆割込み信号生成回路
１８…割込み制御回路
１９…命令監視回路
２０…（入力）ポート
２１…（出力）ポート
２２…バスライン
３３…クロックモジュレーション
３４…２６ｂｉｔｓリニアフィードバックシフトレジスタ（ＬＦＳＲ）
４１…５ｂｉｔデータ入力部
４２…頻度設定レジスタ
４３…比較器
４４…割込み信号
１００…外部メモリ
【図１】
2007066021.tif 000003
【図２】
2007066021.tif 000004
【図３】
2007066021.tif 000005
【図４】
2007066021.tif 000006
【図５】
2007066021.tif 000007
【図６】
2007066021.tif 000008