説明

コンピュータシステム、情報保護方法およびプログラム

【課題】保護したいメモリの秘匿性を向上させ、また、メモリの置き換え等による不正アクセスを抑止する。
【解決手段】コンピュータシステム所定のメモリ領域に、保護すべき情報が保持されているか否かを示す状態情報AAと、前記メモリ領域へのアクセス可否を示すアクセス可否情報BBと、を記憶するメモリと、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報AAの書き換えを行うとともに、システム起動時に、前記メモリ領域に保護すべき情報が書き込まれていない状態にある場合に、前記メモリ領域へのアクセスを許可するよう前記アクセス可否情報BBを書き換え、その他の場合、前記アクセス可否情報BBをアクセス禁止状態に書き換えるアクセス制御部と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステム、情報保護方法およびプログラムに関し、特に、そのメモリに保持された情報を保護する機能を備えたコンピュータシステム、情報保護方法およびプログラムに関する。
【背景技術】
【0002】
データやアプリケーションプログラムを格納するのに、EEPROM(Electrically Erasable Programmable Read−Only Memory)またはROM(Read−Only Memory)が用いられる。特に、マイクロプロセッサの場合、データやアプリケーションプログラムを格納するのに、そのほとんどでEEPROMが用いられている。
【0003】
このようなマイクロプロセッサでは、動作確認をするためのテストモードに入るような仕様となっているものが多い。
【0004】
上記テストモードでは、外部装置から、EEPROMやROMに格納されているすべてのデータのアクセスが可能となってしまう。また、テストモードの起動操作の代わりに、マイクロプロセッサをテストモードに入るようにプログラムすることによって、EEPROMやROMに格納されているデータやアプリケーションプログラムを読み取られてしまう可能性もある。
【0005】
そこで、上記EEPROMやROMのデータ保護のために、EEPROM内にセキュリティビットを用意する構成が知られている。
【0006】
このセキュリティビットは、アクティブ状態とノンアクティブ状態を示す指標となるものであり、アクティブ状態の時はデータアクセスを禁止し、ノンアクティブ状態の時はデータアクセスを許可することができる。
【0007】
特許文献1には、不揮発性EEPROM、ROMおよびブートストラップROM、CPU等で構成され、上記セキュリティビット(SEC)に加えて、セキュリティバイト(VALSEC)を用いるメモリ・システムが開示されている。
【0008】
具体的には、特許文献1のメモリ・システムは、SECがアクティブ状態の時は、同文献の図1のEEPROMへのアクセス制限を行う。さらに、特許文献1のメモリ・システムは、SECとVALSECの両者がアクティブ状態の時は、EEPROMに加えて、ROM、ブートストラップROMへのアクセス制限を行う。
【0009】
特許文献1によれば、上記のようにSECおよびVALSECを用いて、EEPROM、ROMおよびブートストラップROMへのアクセス制限を行うことにより、不正アクセス者によるブートストラッププログラムによるテストモードの動作を禁止し、ROM内のプログラム等のデータ秘匿性を高めることができるとされている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平3−71356号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、上記特許文献1のメモリ・システムでは、無許可の者がテスト・モードを利用することを排除するため、EEPROMやブートストラップROMへのアクセス制限を行うことを決定するセキュリティビット(SEC)を、外部からEEPROMへ予め書き込んでおかねばならない(同公報の第4頁左下欄には「セキュリティ・ビットSECは通常、最初のマイクロプロセッサ装置のテスト後、使用者により稼動状態にプログラムされており」と記載)という問題点がある。
【0012】
また、上記特許文献1のメモリ・システムでは、セキュリティビット(SEC)が書かれていないEEPROMに置き換えられることにより、ブートストラップ・モードに入ることを許し、ひいては、ROM、ブートストラップROMへのアクセスが可能となってしまうという問題点もある。
【課題を解決するための手段】
【0013】
本発明の第1の視点によれば、所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するメモリと、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報の書き換えを行うとともに、システム起動時に、前記メモリ領域に保護すべき情報が書き込まれていない状態にある場合に、前記メモリ領域へのアクセスを許可するよう前記アクセス可否情報を書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換えるアクセス制御部と、を有するコンピュータシステムが提供される。
【0014】
本発明の第2の視点によれば、所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するコンピュータにおける情報保護方法であって、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報の書き換えを行うステップと、システム起動時に、前記状態情報が、前記メモリ領域に保護すべき情報が書き込まれていない状態を示す場合に、前記アクセス可否情報をアクセス許可状態に書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換えるステップと、を含む情報保護方法が提供される。
【0015】
本発明の第3の視点によれば、所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するコンピュータに実行させるプログラムであって、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報を書き換える処理と、システム起動時に、前記状態情報が、前記メモリ領域に保護すべき情報が書き込まれていない状態を示す場合に、前記アクセス可否情報をアクセス許可状態に書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換える処理と、を前記コンピュータに実行させるプログラムが提供される。
【発明の効果】
【0016】
本発明によれば、保護対象のメモリ領域の秘匿性を向上させ、また、メモリの置き換え等による前記保護対象のメモリ領域へのアクセスを抑止することが可能になる。その理由は、アクセス可否情報を人為的に書き換えるのではなく、保護すべき情報が書き込まれている場合に自動的にアクセス可否情報を書き換えるよう構成したことにある。
【図面の簡単な説明】
【0017】
【図1】本発明の第1の実施形態の構成を表したブロック図である。
【図2】本発明の第1の実施形態の動作を表したフローチャートである。
【図3】本発明の変形実施形態の構成を表したブロック図である。
【図4】本発明の変形実施形態の動作を表したフローチャートである。
【発明を実施するための形態】
【0018】
はじめに本発明の概要について説明する。本発明は、所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報(図1のAA)と、前記メモリ領域へのアクセス可否を示すアクセス可否情報(図1のBB)と、を記憶するメモリと、前記状態情報(図1のAA)およびアクセス可否情報(図1のBB)の書き換えを行って前記メモリに対するアクセス制御を行うアクセス制御部(図1のCPU)と、を含んで構成される。
【0019】
アクセス制御部(図1のCPU)は、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて状態情報(図1のAA)の書き換えを行う。さらに、アクセス制御部(図1のCPU)は、システム起動時に、状態情報(図1のAA)を参照して、前記メモリ領域に保護すべき情報が書き込まれていない状態にある場合に、前記メモリ領域へのアクセスを許可するよう前記アクセス可否情報を書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換える。以後、システムが起動している間は、前記アクセス可否情報に従って前記メモリ領域へのアクセスを制御する。
【0020】
以上のように、人為的にアクセス可否情報を書き換えるのではなく、前記状態情報の値に応じてアクセス制御部(図1のCPU)が書き換えることとしたため、例えば、不正なアクセスを試みる者が、外部からアクセス可否情報の書き換えを行ったり、メモリの置き換えを行ったとしても、アクセス制御部(図1のCPU)がアクセス可否情報を正当な値に戻してしまうため、当該メモリにプログラム等を書き込んだ者が意図しないアクセス(不正アクセス)を抑止することが可能になる。
【0021】
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図1は、本発明をマイクロプロセッサで実現した第1の実施形態の構成を示すブロック図である。
【0022】
図1を参照すると、アクセス制御部として機能するCPU(Central Processing Unit)11と、EEPROM(Electrically Erasable Programmable Read−Only Memory)12とを有する構成が示されている。
【0023】
EEPROM12は、各種プログラムを格納するROM(Read−Only Memory)13と、ブートストラッププログラムを格納するブートストラップROM14と、各種データを記憶するデータ格納部15とを含んで構成される。なお、上記ROM13およびブートストラップROM14の「ROM」は、一旦書き込んだ後は原則として書き換えを行わない読み出し専用メモリとして使用しているためにROMと称しているのであり、電気的に書き換えることができないという意味ではない。
【0024】
本実施形態では、保護すべき情報は、ROM13に格納されたプログラムデータであるものとする。また、ROM13には、プログラムデータが保持されているか否かを示す状態情報AAを保持する領域が設けられている。状態情報AAがアクティブ状態“1”のとき、ROM13にプログラムデータが格納されているものとし、状態情報AAが非アクティブ状態“0”のとき、ROM13にプログラムデータが格納されていないことを示すものとする。
【0025】
また、EEPROM12内のデータ格納部15には、アクセス可否情報BBを保持する領域が設けられている。アクセス可否情報BBがアクティブ状態“1”のとき、EEPROM12(ROM13、ブートストラップROM14、データ格納部15)へのアクセスが禁止され、アクセス可否情報BBが非アクティブ状態“0”のとき、EEPROM12(ROM13、ブートストラップROM14、データ格納部15)へのアクセスが許可されていることを示すものとする。本実施形態のアクセス可否情報BBは、特許文献1のセキュリティビットと異なり、外部から変更できない仕様としている。
【0026】
CPU11は、ROM13へのプログラムデータの書き込みまたは削除に応じて、状態情報AAの書き換えを行う。また、CPU11は、システム起動時に、前記状態情報AAを参照し、その値に従って、後記のように、アクセス可否情報BBを更新し、更新したアクセス可否情報に基づいてプログラムデータへのアクセス制御を行う。
【0027】
続いて、本実施形態の動作について、図2のフローチャートを参照して詳細に説明する。図2を参照すると、CPU11は、チップセットの動作を開始する時に、最初にEEPROM12のアクセス可否情報BBを確認する(ステップS001)。
【0028】
前記確認の結果、アクセス可否情報BBがアクティブ状態のとき、CPU11は、EEPROM12(ROM13、ブートストラップROM14、データ格納部15)へのアクセスを禁止する(ステップS001のYes)。
【0029】
一方、アクセス可否情報BBが非アクティブ状態のときは、CPU11は、ROM13の状態情報AAを読み出して、状態情報AAがアクティブ状態であるか否かを確認する(ステップS002)。
【0030】
前記確認の結果、状態情報AAがアクティブ状態のとき(ステップS002のYes)、CPU11は、アクセス可否情報BBをアクティブ状態に変更する(ステップS004)。即ち、ROM13にプログラムデータが格納されているとき、以後、当該プログラムデータへのアクセスを禁止するように、アクセス可否情報BBが更新される。
【0031】
一方、状態情報AAが非アクティブ状態のとき(ステップS002のNo)、CPU11は、アクセス可否情報BBを非アクティブ状態に維持する(ステップS003)。即ち、ROM13にプログラムデータが格納されていない場合は、プログラムデータを書き込み、テスト等を実行可能な状態に保持される。
【0032】
前記アクセス可否情報BBの書き換え判定および必要な場合にはその書き換えを行うと、CPU11は、アクセス可否情報BBを読み出して、その値に応じてEEPROM12(ROM13、ブートストラップROM14、データ格納部15)へのアクセス可否を決定する。
【0033】
以上のように、アクセス可否情報BBは、状態情報AAと同期するよう書き換えられる。
【0034】
このように、一度でもROM13へプログラムデータを書き込んだままチップセットの動作を終了させた場合、次のチップセット動作開始時にEEPROM12内のアクセス可否情報BBは、アクティブ状態となりそれを保持し続ける。
【0035】
これにより、EEPROM12(ROM13、ブートストラップROM14、データ格納部15)へのアクセスは不可能となり、テストモードに入ることが出来なくなるから、ROM13内のプログラム秘匿性は高まることとなる。
【0036】
一方、ROM13へプログラムを書き込まないでチップセットの動作を終了させた場合は、次のチップセットの動作開始時にEEPROM12内のアクセス可否情報BBはノンアクティブ状態に維持されるため、EEPROM12(ROM13、ブートストラップROM14、データ格納部15)へのアクセスは可能であり、テストモードに入ってシステムの動作テストを行うことが可能となる。
【0037】
このように本実施形態によれば、ROM13へプログラムを書き込んで、プログラム動作試験を行った後に、ROM13内のプログラムを消去してチップセット動作を終了すれば、次のチップセット動作開始時には、EEPROM12のアクセス可否情報BBはノンアクティブ状態となる。これにより、例えば、メーカでのROM動作試験と、さらに、顧客でのROMプログラム書き込み後の秘匿性保護とを同時に可能とする。
【0038】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、マイクロプロセッサにて実現した例を挙げて説明したが、その他一般のコンピュータシステムにおいても同様に適用することが可能である。
【0039】
また例えば、上記した実施形態では、CPU11からEEPROM12(ROM13、ブートストラップROM14、データ格納部15)への信号制御(EEPROM12にアクセスする出力信号の送出)を制限することにより、アクセスを抑止するものとして説明したが、図3に示すように、EEPROM12の試験用配線17を導通または遮断する遮断回路16を有する構成として、CPU11に、遮断回路16への遮断信号の送出または導通信号の送出を停止させ、試験用配線を遮断させる構成も採用可能である。
【0040】
例えば、上記した実施形態では、アクセス可否情報BBは、EEPROM12内のデータ格納部15に保持されるものとして説明したが、図4に示すようなフローとすることで、SDRAM(Synchronous Dynamic Random Access Memory)のような揮発性メモリにアクセス可否情報BBを保持する構成も採用可能である。
【0041】
具体的には、図4に示すようにCPU11は、先にROM13の状態情報AAを読み出して(ステップS002)、状態情報AAがアクティブ状態であるか否かによりSDRAMにアクセス可否情報BBを書き込み(ステップS003、ステップS004)、その後すぐにアクセス可否情報BBを読み出して(ステップS005)、アクセス可否情報がBBがアクティブ状態であるか否かによりブートストラップROM14やSDRAMへのアクセス可否を決定するようにする。
【0042】
例えば、一度でもROM13へプログラムデータを書き込んだままチップセットの動作を終了させた場合、保護情報AAがアクティブ状態に更新される。このため、次のチップセット動作開始時にSDRAM内のアクセス可否情報はアクティブ状態に書き換えるため、ブートストラップROM14、SDRAMのアクセスは不可能となり、テストモードに入ることが出来なくなる。これにより、ROM13内のプログラム秘匿性は高まることとなる。
【0043】
先の第1の実施形態と同様に、ROM13へプログラムを書き込まないでチップセットの動作を終了させた場合は、次のチップセットの動作開始時にSDRAM内のセキュリティビットはノンアクティブ状態にセットされるので、ブートストラップROM14、SDRAMのアクセスは可能であり、テストモードに入ってシステムの動作テストを行うことが可能となる。
【0044】
このように、本発明によれば、アクセス可否情報BBを保持するメモリが揮発性メモリであっても有効にアクセス制御を行うことが可能である。
【0045】
さらに、上記した実施形態では、アクセス可否情報BBは、1ビットの情報であるものとして説明したが、複数のビットとしてもかまわない。例えば、テストモードを起動する度にアクセス可否情報BBを加算してゆき、アクセス可否情報BBの値が所定値に至るまで保護情報AAに拘らず、アクセスを許容するといった変形実施も可能である。
【0046】
同様に、保護情報AAを複数のビットとしてもかまわない。例えば、保持される情報の種別(重要性)、サイズ、データ更新回数等に応じて値を加算してゆき、保護情報AAの値が所定値に至るまでは、アクセス可否情報BBを非アクティブ状態に書き換え、所定値に至った後は、アクセス可否情報BBをアクティブ状態に書き換えるといった変形実施が可能である。
【符号の説明】
【0047】
10 マイクロプロセッサ
11 CPU(Central Processing Unit)
12 EEPROM(Electrically Erasable Programmable Read−Only Memory)
13 ROM(Read−Only Memory)
14 ブートストラップROM
15 データ格納部
16 遮断回路
17 試験用配線

【特許請求の範囲】
【請求項1】
所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するメモリと、
前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報の書き換えを行うとともに、システム起動時に、前記メモリ領域に保護すべき情報が書き込まれていない状態にある場合に、前記メモリ領域へのアクセスを許可するよう前記アクセス可否情報を書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換えるアクセス制御部と、を有するコンピュータシステム。
【請求項2】
前記アクセス制御部は、メモリ領域にアクセスする出力信号の制限または試験用配線の遮断のいずれかによって前記メモリ領域へのアクセス制限を行う請求項1のコンピュータシステム。
【請求項3】
前記メモリは不揮発性メモリであり、
前記アクセス制御部は、システム起動時に最初に、前記アクセス可否情報を確認し、アクセス禁止状態であれば、前記メモリ領域へのデータアクセスを禁止する請求項1または2のコンピュータシステム。
【請求項4】
前記アクセス可否情報がアクセス禁止状態である場合、前記アクセス制御部は、さらに、自装置が備えるROMおよびブートストラップROMへのデータアクセスを禁止する請求項1から3いずれか一のコンピュータシステム。
【請求項5】
所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するコンピュータにおける情報保護方法であって、
前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報の書き換えを行うステップと、
システム起動時に、前記状態情報が、前記メモリ領域に保護すべき情報が書き込まれていない状態を示す場合に、前記アクセス可否情報をアクセス許可状態に書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換えるステップと、
を含む情報保護方法。
【請求項6】
所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するコンピュータに実行させるプログラムであって、
前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報を書き換える処理と、
システム起動時に、前記状態情報が、前記メモリ領域に保護すべき情報が書き込まれていない状態を示す場合に、前記アクセス可否情報をアクセス許可状態に書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換える処理と、
を前記コンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−282499(P2010−282499A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2009−136500(P2009−136500)
【出願日】平成21年6月5日(2009.6.5)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】