(57)【要約】【課題】保護したいメモリの秘匿性を向上させ、また、メモリの置き換え等による不正アクセスを抑止する。【解決手段】コンピュータシステム所定のメモリ領域に、保護すべき情報が保持されているか否かを示す状態情報ＡＡと、前記メモリ領域へのアクセス可否を示すアクセス可否情報ＢＢと、を記憶するメモリと、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報ＡＡの書き換えを行うとともに、システム起動時に、前記メモリ領域に保護すべき情報が書き込まれていない状態にある場合に、前記メモリ領域へのアクセスを許可するよう前記アクセス可否情報ＢＢを書き換え、その他の場合、前記アクセス可否情報ＢＢをアクセス禁止状態に書き換えるアクセス制御部と、を有する。【選択図】図１
2010282499.tif 000002
【特許請求の範囲】
【請求項１】
所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するメモリと、
前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報の書き換えを行うとともに、システム起動時に、前記メモリ領域に保護すべき情報が書き込まれていない状態にある場合に、前記メモリ領域へのアクセスを許可するよう前記アクセス可否情報を書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換えるアクセス制御部と、を有するコンピュータシステム。
【請求項２】
前記アクセス制御部は、メモリ領域にアクセスする出力信号の制限または試験用配線の遮断のいずれかによって前記メモリ領域へのアクセス制限を行う請求項１のコンピュータシステム。
【請求項３】
前記メモリは不揮発性メモリであり、
前記アクセス制御部は、システム起動時に最初に、前記アクセス可否情報を確認し、アクセス禁止状態であれば、前記メモリ領域へのデータアクセスを禁止する請求項１または２のコンピュータシステム。
【請求項４】
前記アクセス可否情報がアクセス禁止状態である場合、前記アクセス制御部は、さらに、自装置が備えるＲＯＭおよびブートストラップＲＯＭへのデータアクセスを禁止する請求項１から３いずれか一のコンピュータシステム。
【請求項５】
所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するコンピュータにおける情報保護方法であって、
前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報の書き換えを行うステップと、
システム起動時に、前記状態情報が、前記メモリ領域に保護すべき情報が書き込まれていない状態を示す場合に、前記アクセス可否情報をアクセス許可状態に書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換えるステップと、
を含む情報保護方法。
【請求項６】
所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するコンピュータに実行させるプログラムであって、
前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報を書き換える処理と、
システム起動時に、前記状態情報が、前記メモリ領域に保護すべき情報が書き込まれていない状態を示す場合に、前記アクセス可否情報をアクセス許可状態に書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換える処理と、
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、情報保護方法およびプログラムに関し、特に、そのメモリに保持された情報を保護する機能を備えたコンピュータシステム、情報保護方法およびプログラムに関する。
【背景技術】
【０００２】
データやアプリケーションプログラムを格納するのに、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）が用いられる。特に、マイクロプロセッサの場合、データやアプリケーションプログラムを格納するのに、そのほとんどでＥＥＰＲＯＭが用いられている。
【０００３】
このようなマイクロプロセッサでは、動作確認をするためのテストモードに入るような仕様となっているものが多い。
【０００４】
上記テストモードでは、外部装置から、ＥＥＰＲＯＭやＲＯＭに格納されているすべてのデータのアクセスが可能となってしまう。また、テストモードの起動操作の代わりに、マイクロプロセッサをテストモードに入るようにプログラムすることによって、ＥＥＰＲＯＭやＲＯＭに格納されているデータやアプリケーションプログラムを読み取られてしまう可能性もある。
【０００５】
そこで、上記ＥＥＰＲＯＭやＲＯＭのデータ保護のために、ＥＥＰＲＯＭ内にセキュリティビットを用意する構成が知られている。
【０００６】
このセキュリティビットは、アクティブ状態とノンアクティブ状態を示す指標となるものであり、アクティブ状態の時はデータアクセスを禁止し、ノンアクティブ状態の時はデータアクセスを許可することができる。
【０００７】
特許文献１には、不揮発性ＥＥＰＲＯＭ、ＲＯＭおよびブートストラップＲＯＭ、ＣＰＵ等で構成され、上記セキュリティビット（ＳＥＣ）に加えて、セキュリティバイト（ＶＡＬＳＥＣ）を用いるメモリ・システムが開示されている。
【０００８】
具体的には、特許文献１のメモリ・システムは、ＳＥＣがアクティブ状態の時は、同文献の図１のＥＥＰＲＯＭへのアクセス制限を行う。さらに、特許文献１のメモリ・システムは、ＳＥＣとＶＡＬＳＥＣの両者がアクティブ状態の時は、ＥＥＰＲＯＭに加えて、ＲＯＭ、ブートストラップＲＯＭへのアクセス制限を行う。
【０００９】
特許文献１によれば、上記のようにＳＥＣおよびＶＡＬＳＥＣを用いて、ＥＥＰＲＯＭ、ＲＯＭおよびブートストラップＲＯＭへのアクセス制限を行うことにより、不正アクセス者によるブートストラッププログラムによるテストモードの動作を禁止し、ＲＯＭ内のプログラム等のデータ秘匿性を高めることができるとされている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平３−７１３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記特許文献１のメモリ・システムでは、無許可の者がテスト・モードを利用することを排除するため、ＥＥＰＲＯＭやブートストラップＲＯＭへのアクセス制限を行うことを決定するセキュリティビット（ＳＥＣ）を、外部からＥＥＰＲＯＭへ予め書き込んでおかねばならない（同公報の第４頁左下欄には「セキュリティ・ビットＳＥＣは通常、最初のマイクロプロセッサ装置のテスト後、使用者により稼動状態にプログラムされており」と記載）という問題点がある。
【００１２】
また、上記特許文献１のメモリ・システムでは、セキュリティビット（ＳＥＣ）が書かれていないＥＥＰＲＯＭに置き換えられることにより、ブートストラップ・モードに入ることを許し、ひいては、ＲＯＭ、ブートストラップＲＯＭへのアクセスが可能となってしまうという問題点もある。
【課題を解決するための手段】
【００１３】
本発明の第１の視点によれば、所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するメモリと、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報の書き換えを行うとともに、システム起動時に、前記メモリ領域に保護すべき情報が書き込まれていない状態にある場合に、前記メモリ領域へのアクセスを許可するよう前記アクセス可否情報を書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換えるアクセス制御部と、を有するコンピュータシステムが提供される。
【００１４】
本発明の第２の視点によれば、所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するコンピュータにおける情報保護方法であって、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報の書き換えを行うステップと、システム起動時に、前記状態情報が、前記メモリ領域に保護すべき情報が書き込まれていない状態を示す場合に、前記アクセス可否情報をアクセス許可状態に書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換えるステップと、を含む情報保護方法が提供される。
【００１５】
本発明の第３の視点によれば、所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報と、前記メモリ領域へのアクセス可否を示すアクセス可否情報と、を記憶するコンピュータに実行させるプログラムであって、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて前記状態情報を書き換える処理と、システム起動時に、前記状態情報が、前記メモリ領域に保護すべき情報が書き込まれていない状態を示す場合に、前記アクセス可否情報をアクセス許可状態に書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換える処理と、を前記コンピュータに実行させるプログラムが提供される。
【発明の効果】
【００１６】
本発明によれば、保護対象のメモリ領域の秘匿性を向上させ、また、メモリの置き換え等による前記保護対象のメモリ領域へのアクセスを抑止することが可能になる。その理由は、アクセス可否情報を人為的に書き換えるのではなく、保護すべき情報が書き込まれている場合に自動的にアクセス可否情報を書き換えるよう構成したことにある。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態の構成を表したブロック図である。
【図２】本発明の第１の実施形態の動作を表したフローチャートである。
【図３】本発明の変形実施形態の構成を表したブロック図である。
【図４】本発明の変形実施形態の動作を表したフローチャートである。
【発明を実施するための形態】
【００１８】
はじめに本発明の概要について説明する。本発明は、所定のメモリ領域に保護すべき情報が保持されているか否かを示す状態情報（図１のＡＡ）と、前記メモリ領域へのアクセス可否を示すアクセス可否情報（図１のＢＢ）と、を記憶するメモリと、前記状態情報（図１のＡＡ）およびアクセス可否情報（図１のＢＢ）の書き換えを行って前記メモリに対するアクセス制御を行うアクセス制御部（図１のＣＰＵ）と、を含んで構成される。
【００１９】
アクセス制御部（図１のＣＰＵ）は、前記メモリ領域への保護すべき情報の書き込みまたは削除に応じて状態情報（図１のＡＡ）の書き換えを行う。さらに、アクセス制御部（図１のＣＰＵ）は、システム起動時に、状態情報（図１のＡＡ）を参照して、前記メモリ領域に保護すべき情報が書き込まれていない状態にある場合に、前記メモリ領域へのアクセスを許可するよう前記アクセス可否情報を書き換え、その他の場合、前記アクセス可否情報をアクセス禁止状態に書き換える。以後、システムが起動している間は、前記アクセス可否情報に従って前記メモリ領域へのアクセスを制御する。
【００２０】
以上のように、人為的にアクセス可否情報を書き換えるのではなく、前記状態情報の値に応じてアクセス制御部（図１のＣＰＵ）が書き換えることとしたため、例えば、不正なアクセスを試みる者が、外部からアクセス可否情報の書き換えを行ったり、メモリの置き換えを行ったとしても、アクセス制御部（図１のＣＰＵ）がアクセス可否情報を正当な値に戻してしまうため、当該メモリにプログラム等を書き込んだ者が意図しないアクセス（不正アクセス）を抑止することが可能になる。
【００２１】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明をマイクロプロセッサで実現した第１の実施形態の構成を示すブロック図である。
【００２２】
図１を参照すると、アクセス制御部として機能するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２とを有する構成が示されている。
【００２３】
ＥＥＰＲＯＭ１２は、各種プログラムを格納するＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３と、ブートストラッププログラムを格納するブートストラップＲＯＭ１４と、各種データを記憶するデータ格納部１５とを含んで構成される。なお、上記ＲＯＭ１３およびブートストラップＲＯＭ１４の「ＲＯＭ」は、一旦書き込んだ後は原則として書き換えを行わない読み出し専用メモリとして使用しているためにＲＯＭと称しているのであり、電気的に書き換えることができないという意味ではない。
【００２４】
本実施形態では、保護すべき情報は、ＲＯＭ１３に格納されたプログラムデータであるものとする。また、ＲＯＭ１３には、プログラムデータが保持されているか否かを示す状態情報ＡＡを保持する領域が設けられている。状態情報ＡＡがアクティブ状態“１”のとき、ＲＯＭ１３にプログラムデータが格納されているものとし、状態情報ＡＡが非アクティブ状態“０”のとき、ＲＯＭ１３にプログラムデータが格納されていないことを示すものとする。
【００２５】
また、ＥＥＰＲＯＭ１２内のデータ格納部１５には、アクセス可否情報ＢＢを保持する領域が設けられている。アクセス可否情報ＢＢがアクティブ状態“１”のとき、ＥＥＰＲＯＭ１２（ＲＯＭ１３、ブートストラップＲＯＭ１４、データ格納部１５）へのアクセスが禁止され、アクセス可否情報ＢＢが非アクティブ状態“０”のとき、ＥＥＰＲＯＭ１２（ＲＯＭ１３、ブートストラップＲＯＭ１４、データ格納部１５）へのアクセスが許可されていることを示すものとする。本実施形態のアクセス可否情報ＢＢは、特許文献１のセキュリティビットと異なり、外部から変更できない仕様としている。
【００２６】
ＣＰＵ１１は、ＲＯＭ１３へのプログラムデータの書き込みまたは削除に応じて、状態情報ＡＡの書き換えを行う。また、ＣＰＵ１１は、システム起動時に、前記状態情報ＡＡを参照し、その値に従って、後記のように、アクセス可否情報ＢＢを更新し、更新したアクセス可否情報に基づいてプログラムデータへのアクセス制御を行う。
【００２７】
続いて、本実施形態の動作について、図２のフローチャートを参照して詳細に説明する。図２を参照すると、ＣＰＵ１１は、チップセットの動作を開始する時に、最初にＥＥＰＲＯＭ１２のアクセス可否情報ＢＢを確認する（ステップＳ００１）。
【００２８】
前記確認の結果、アクセス可否情報ＢＢがアクティブ状態のとき、ＣＰＵ１１は、ＥＥＰＲＯＭ１２（ＲＯＭ１３、ブートストラップＲＯＭ１４、データ格納部１５）へのアクセスを禁止する（ステップＳ００１のＹｅｓ）。
【００２９】
一方、アクセス可否情報ＢＢが非アクティブ状態のときは、ＣＰＵ１１は、ＲＯＭ１３の状態情報ＡＡを読み出して、状態情報ＡＡがアクティブ状態であるか否かを確認する（ステップＳ００２）。
【００３０】
前記確認の結果、状態情報ＡＡがアクティブ状態のとき（ステップＳ００２のＹｅｓ）、ＣＰＵ１１は、アクセス可否情報ＢＢをアクティブ状態に変更する（ステップＳ００４）。即ち、ＲＯＭ１３にプログラムデータが格納されているとき、以後、当該プログラムデータへのアクセスを禁止するように、アクセス可否情報ＢＢが更新される。
【００３１】
一方、状態情報ＡＡが非アクティブ状態のとき（ステップＳ００２のＮｏ）、ＣＰＵ１１は、アクセス可否情報ＢＢを非アクティブ状態に維持する（ステップＳ００３）。即ち、ＲＯＭ１３にプログラムデータが格納されていない場合は、プログラムデータを書き込み、テスト等を実行可能な状態に保持される。
【００３２】
前記アクセス可否情報ＢＢの書き換え判定および必要な場合にはその書き換えを行うと、ＣＰＵ１１は、アクセス可否情報ＢＢを読み出して、その値に応じてＥＥＰＲＯＭ１２（ＲＯＭ１３、ブートストラップＲＯＭ１４、データ格納部１５）へのアクセス可否を決定する。
【００３３】
以上のように、アクセス可否情報ＢＢは、状態情報ＡＡと同期するよう書き換えられる。
【００３４】
このように、一度でもＲＯＭ１３へプログラムデータを書き込んだままチップセットの動作を終了させた場合、次のチップセット動作開始時にＥＥＰＲＯＭ１２内のアクセス可否情報ＢＢは、アクティブ状態となりそれを保持し続ける。
【００３５】
これにより、ＥＥＰＲＯＭ１２（ＲＯＭ１３、ブートストラップＲＯＭ１４、データ格納部１５）へのアクセスは不可能となり、テストモードに入ることが出来なくなるから、ＲＯＭ１３内のプログラム秘匿性は高まることとなる。
【００３６】
一方、ＲＯＭ１３へプログラムを書き込まないでチップセットの動作を終了させた場合は、次のチップセットの動作開始時にＥＥＰＲＯＭ１２内のアクセス可否情報ＢＢはノンアクティブ状態に維持されるため、ＥＥＰＲＯＭ１２（ＲＯＭ１３、ブートストラップＲＯＭ１４、データ格納部１５）へのアクセスは可能であり、テストモードに入ってシステムの動作テストを行うことが可能となる。
【００３７】
このように本実施形態によれば、ＲＯＭ１３へプログラムを書き込んで、プログラム動作試験を行った後に、ＲＯＭ１３内のプログラムを消去してチップセット動作を終了すれば、次のチップセット動作開始時には、ＥＥＰＲＯＭ１２のアクセス可否情報ＢＢはノンアクティブ状態となる。これにより、例えば、メーカでのＲＯＭ動作試験と、さらに、顧客でのＲＯＭプログラム書き込み後の秘匿性保護とを同時に可能とする。
【００３８】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、マイクロプロセッサにて実現した例を挙げて説明したが、その他一般のコンピュータシステムにおいても同様に適用することが可能である。
【００３９】
また例えば、上記した実施形態では、ＣＰＵ１１からＥＥＰＲＯＭ１２（ＲＯＭ１３、ブートストラップＲＯＭ１４、データ格納部１５）への信号制御（ＥＥＰＲＯＭ１２にアクセスする出力信号の送出）を制限することにより、アクセスを抑止するものとして説明したが、図３に示すように、ＥＥＰＲＯＭ１２の試験用配線１７を導通または遮断する遮断回路１６を有する構成として、ＣＰＵ１１に、遮断回路１６への遮断信号の送出または導通信号の送出を停止させ、試験用配線を遮断させる構成も採用可能である。
【００４０】
例えば、上記した実施形態では、アクセス可否情報ＢＢは、ＥＥＰＲＯＭ１２内のデータ格納部１５に保持されるものとして説明したが、図４に示すようなフローとすることで、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性メモリにアクセス可否情報ＢＢを保持する構成も採用可能である。
【００４１】
具体的には、図４に示すようにＣＰＵ１１は、先にＲＯＭ１３の状態情報ＡＡを読み出して（ステップＳ００２）、状態情報ＡＡがアクティブ状態であるか否かによりＳＤＲＡＭにアクセス可否情報ＢＢを書き込み（ステップＳ００３、ステップＳ００４）、その後すぐにアクセス可否情報ＢＢを読み出して（ステップＳ００５）、アクセス可否情報がＢＢがアクティブ状態であるか否かによりブートストラップＲＯＭ１４やＳＤＲＡＭへのアクセス可否を決定するようにする。
【００４２】
例えば、一度でもＲＯＭ１３へプログラムデータを書き込んだままチップセットの動作を終了させた場合、保護情報ＡＡがアクティブ状態に更新される。このため、次のチップセット動作開始時にＳＤＲＡＭ内のアクセス可否情報はアクティブ状態に書き換えるため、ブートストラップＲＯＭ１４、ＳＤＲＡＭのアクセスは不可能となり、テストモードに入ることが出来なくなる。これにより、ＲＯＭ１３内のプログラム秘匿性は高まることとなる。
【００４３】
先の第１の実施形態と同様に、ＲＯＭ１３へプログラムを書き込まないでチップセットの動作を終了させた場合は、次のチップセットの動作開始時にＳＤＲＡＭ内のセキュリティビットはノンアクティブ状態にセットされるので、ブートストラップＲＯＭ１４、ＳＤＲＡＭのアクセスは可能であり、テストモードに入ってシステムの動作テストを行うことが可能となる。
【００４４】
このように、本発明によれば、アクセス可否情報ＢＢを保持するメモリが揮発性メモリであっても有効にアクセス制御を行うことが可能である。
【００４５】
さらに、上記した実施形態では、アクセス可否情報ＢＢは、１ビットの情報であるものとして説明したが、複数のビットとしてもかまわない。例えば、テストモードを起動する度にアクセス可否情報ＢＢを加算してゆき、アクセス可否情報ＢＢの値が所定値に至るまで保護情報ＡＡに拘らず、アクセスを許容するといった変形実施も可能である。
【００４６】
同様に、保護情報ＡＡを複数のビットとしてもかまわない。例えば、保持される情報の種別（重要性）、サイズ、データ更新回数等に応じて値を加算してゆき、保護情報ＡＡの値が所定値に至るまでは、アクセス可否情報ＢＢを非アクティブ状態に書き換え、所定値に至った後は、アクセス可否情報ＢＢをアクティブ状態に書き換えるといった変形実施が可能である。
【符号の説明】
【００４７】
１０  マイクロプロセッサ
１１  ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
１２  ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）
１３  ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）
１４  ブートストラップＲＯＭ
１５  データ格納部
１６  遮断回路
１７  試験用配線
【図１】
2010282499.tif 000003
【図２】
2010282499.tif 000004
【図３】
2010282499.tif 000005
【図４】
2010282499.tif 000006