(57)【要約】【課題】書き換え可能なメモリなどの記憶装置上に格納された情報処理装置の実行コードあるいはデータを確実に保護することができるようにする。【解決手段】設定アドレス範囲への書き込み動作かどうか否かをチェックし（Ｓ１０１）、設定アドレス範囲への書き込み動作であれば、書き込み処理を実行する（Ｓ１０２）。次いで、書き込みを通知するか否かについて判断し（Ｓ１０３）、通知する場合には書き込み動作があったことを通知し（Ｓ１０４）、通知しないのであれば通知しないまま終了する。設定アドレス範囲内への書き込み動作でなければ、設定アドレス範囲外に書き込む（Ｓ１０５）。このように処理すると、書き込み処理通知の許可の選択が可能となり、、ソフトウェア設定により割り込み信号の発行許可のＯＮ／ＯＦＦ、あるいはステータス表示許可のＯＮ／ＯＦＦを選択することにより特定のアドレス範囲に書き込み動作発生の通知をＣＰＵ１に知らせることができる。【選択図】図１
2006018500.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置において、
前記コードをロードしたメモリ領域に書き込み動作があると、書き込み動作があったことをＣＰＵに通知する手段と、
前記メモリ領域への書き込み動作があると、書き込み動作があったことを前記ＣＰＵに通知する際のアクセス監視開始を時間経過により自動的に設定する手段を備えていることを特徴とする情報処理装置。
【請求項２】
保護領域への書き込みがあった場合、その領域からの通常読み出しの禁止を設定する手段を備えていることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記保護領域の範囲を変更する手段を備えていることを特徴とする請求項１記載の情報処理装置。
【請求項４】
ＣＰＵの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、
前記メモリの前記実行コードをロードしたアドレス範囲への書き込み動作かどうか否かを判断する工程と、
前記判断により前記アドレス範囲への書き込み動作であれば、当該アドレス範囲に書き込む工程と、
前記判断により前記アドレス範囲への書き込み動作でなければ、前記アドレス範囲外に書き込む工程と、
前記書き込み処理を行ったことを前記ＣＰＵに通知するか否かについて判断する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項５】
ＣＰＵの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、
前記メモリの前記実行コードをロードしたアドレス範囲への書き込み動作かどうか否かを判断する工程と、
前記アドレス範囲への書き込み動作であれば、当該アドレス範囲に書き込む工程と、
前記判断により前記アドレス範囲への書き込み動作でなければ、前記アドレス範囲外に書き込む工程と、
前記アドレス範囲へ書き込んだとき、前記ＣＰＵに前記書き込みを実行した旨の通知を開始する時間を経過しているかどうか判断する工程と、
前記通知を開始する時間が経過していれば、前記ＣＰＵに書き込みを通知するか否かについて判断する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項６】
ＣＰＵの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、
前記メモリの前記実行コードをロードしたアドレス範囲からの読み出し動作であるかどうかを判断する工程と、
前記アドレス範囲からの読み出し動作でなければ、通常の読み出し処理を実行する工程と、
前記アドレス範囲からの読み出し動作であれば、さらに、禁止範囲へ書き込みがあったかどうかを判断する工程と、
前記禁止範囲へ書き込みがなければ、読み出し処理を実行する工程と、
前記禁止範囲へ書き込みがあれば、デバッグモードによる読み出しかどうかを判定する工程と、
デバッグモードによる読み出しであれば、読み出し処理を実行する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ＣＰＵの実行コードを書き換え可能なメモリ上でプログラム実行する情報処理装置、当該情報処理装置の制御方法に関する。
【背景技術】
【０００２】
情報処理装置の実行コードは通常ＲＯＭやＨＤＤのような不揮発性メモリに格納され、装置の電源が投入されると実行コードがＣＰＵにより順次呼び出されて処理を行っていく。不揮発性メモリでは電源を切断しても情報が保持される反面、読み出しなどの速度が一般的に遅いため、ＣＰＵの実行速度を上げる目的でよりアクセスの速いＲＡＭ等のデバイスに実行コードを移してＲＡＭ上で処理を行う場合がある。また不揮発性メモリの容量を少なくするため実行コードを圧縮して格納している場合もＲＡＭ上に実行コードを伸長して格納するなどの処理が行われる。
【０００３】
そのためソフトウェア不具合によりＲＡＭ実行コード部分が破壊されてしまった場合は以後の正常動作が困難になる場合がある。またウィルスソフトような悪意のあるコードにより実行プログラムの書き換えがあった場合、機器の動作不具合だけでなく機器内部の情報が不正に読み出されることも懸念される。
【０００４】
そこで、特許文献１には、バスに接続されたメモリの所定の記憶領域への書込みを制御するメモリアクセス保護装置が開示されている。この装置は、アクセス保護機能を内蔵していないデバイスがＲＡＭアクセスを行う場合にも、その保護を可能とするために、記憶保護設定手段にメモリ装置のプログラム領域などの所定の記憶保護領域に対するライトアクセスを許可する許可情報が設定されている場合には、メモリアクセス装置はメモリ装置の所定の記憶保護領域に書き込みを行うことができ、記憶保護設定手段にメモリ装置の所定の記憶保護領域に対するライトアクセスを禁止する禁止情報が設定されている場合には、メモリアクセス装置が、メモリ装置の所定の記憶保護領域をライトアクセスしようとした場合には、アクセス制御手段がメモリ装置へのアクセスを許可しないようにしたものである。
【特許文献１】特開平６−７５８６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように前記特許文献１に開示された発明では、バスに接続されたメモリに書き込み要求があった場合、前記予め設定された特定領域に対してメモリアクセス保護を行い、書き込みアクセスさせないように制御しているので、前記特定領域に記憶された情報については書き込みが行われることがなく、前記領域に書き込まれた情報は保護されるが、その他の領域に書き込まれた情報については保護されない。そのため、前記領域に書き込まれていない情報については、意図せず上書きされて消去される虞がある。
【０００６】
そこで、本発明の目的は、書き換え可能なメモリなどの記憶装置上に格納された情報処理装置の実行コードあるいはデータを確実に保護することができるようにすることにある。
【課題を解決するための手段】
【０００７】
前記目的を達成するため、第１の手段は、ＣＰＵの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置において、前記実行コードをロードしたメモリ領域に書き込み動作があると、書き込み動作があったことをＣＰＵに通知する手段と、前記メモリ領域への書き込み動作があると、書き込み動作があったことを前記ＣＰＵに通知する際のアクセス監視開始を時間経過により自動的に設定する手段を備えていることを特徴とする。
【０００８】
第２の手段は、第１の手段において、保護領域への書き込みがあった場合、その領域からの通常読み出しの禁止を設定する手段を備えていることを特徴とする。
【０００９】
第３の手段は、第１の手段において、前記保護領域の範囲を変更する手段を備えていることを特徴とする。
【００１０】
第４の手段は、ＣＰＵの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、前記メモリの前記実行コードをロードしたアドレス範囲への書き込み動作かどうか否かを判断する工程と、前記判断により前記アドレス範囲への書き込み動作であれば、当該アドレス範囲に書き込む工程と、前記判断により前記アドレス範囲への書き込み動作でなければ、前記アドレス範囲外に書き込む工程と、前記書き込み処理を行ったことを前記ＣＰＵに通知するか否かについて判断する工程とを含むことを特徴とする。
【００１１】
第５の手段は、ＣＰＵの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、前記メモリの前記実行コードをロードしたアドレス範囲への書き込み動作かどうか否かを判断する工程と、前記アドレス範囲への書き込み動作であれば、当該アドレス範囲に書き込む工程と、前記判断により前記アドレス範囲への書き込み動作でなければ、前記アドレス範囲外に書き込む工程と、前記アドレス範囲へ書き込んだとき、前記ＣＰＵに前記書き込みを実行した旨の通知を開始する時間を経過しているかどうか判断する工程と、前記通知を開始する時間が経過していれば、前記ＣＰＵに書き込みを通知するか否かについて判断する工程とを含むことを特徴とする。
【００１２】
第６の手段は、ＣＰＵの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、前記メモリの前記実行コードをロードしたアドレス範囲からの読み出し動作であるかどうかを判断する工程と、前記アドレス範囲からの読み出し動作でなければ、通常の読み出し処理を実行する工程と、前記アドレス範囲からの読み出し動作であれば、さらに、禁止範囲へ書き込みがあったかどうかを判断する工程と、前記禁止範囲へ書き込みがなければ、読み出し処理を実行する工程と、前記禁止範囲へ書き込みがあれば、デバッグモードによる読み出しかどうかを判定する工程と、デバッグモードによる読み出しであれば、読み出し処理を実行する工程とを含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、書き換え可能なメモリなどの記憶装置上に格納された情報処理装置の実行コードあるいはデータを確実に保護することが可能となり、セキュリティーの向上を図ることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について図面を参照して説明する。
【００１５】
図４は、本発明の第１の実施形態に係るメモリ制御装置の概略構成を示すブロック図である。
【００１６】
同図において、メモリ制御装置は、ＣＰＵ１、アクセス制御部２、ＲＯＭ３、ＲＡＭ４及びハードディスク装置（ＨＤＤ）５から基本的に構成されている。アクセス制御部２は、ＲＯＭアクセス制御部２１、ＲＡＭアクセス制御部２２、ＨＤＤアクセス制御部２３、ステータス表示部２４、第１の書き込み監視部２５及び第２の書き込み監視部２６を含む。ＲＯＭアクセス制御部２１はＲＯＭ３に対するアクセス制御を実行し、ＲＡＭアクセス制御部２２はＲＡＭ４に対するアクセス制御を実行し、ＨＤＤアクセス制御部２３はＨＤＤ５に対するアクセス制御を実行する。ＲＡＭアクセス制御部２２のＲＡＭ４に対するアクセス状態、及びＨＤＤアクセス制御部２３のＨＤＤ５に対するアクセス状態はそれぞれ第１の書き込み監視部２５及び第２の書き込み監視部２６でそれぞれ監視する。ステータス表示部２４は、第１及び第２の書き込み監視部２５，２６から書き込み検出信号を受信してその受信状態を表示する。また、ステータス表示部２４はＣＰＵに対して割り込み信号を出力することができる。
【００１７】
なお、ＣＰＵ１、アクセス制御部２、ＲＯＭ３、ＲＡＭ４及びハードディスク装置（ＨＤＤ）５はバスによって接続され、ＣＰＵ１からの指示によりＲＯＭ３、ＲＡＭ４及びＨＤＤ５へのアクセスが可能である。
【００１８】
ところで、特定のアドレス範囲に書き込み動作があったことをＣＰＵ１のような処理装置に通知する方法としては、書き込みを監視する装置あるいは素子から処理装置（ＣＰＵ）１に対して信号変化を入力し、割り込み処理要求を出力するという方法、割り込み信号線を使用しなくてもＣＰＵ１が一定時間毎に監視装置のステータス情報を読み出すポーリング処理を行う方法がある。
【００１９】
図１は本発明の第１の実施形態に係る通知処理の処理手順を示すフローチャートである。この処理は第１及び第２の書き込み監視部２５，２６で実行される。  
同図において、この処理では、まず、設定アドレス範囲への書き込み動作かどうか否かをチェックし（ステップＳ１０１）、設定アドレス範囲への書き込み動作であれば、書き込み処理を実行する（ステップＳ１０２）。次いで、書き込みをＣＰＵ１に通知するか否かについて判断し（ステップＳ１０３）、ＣＰＵ１に通知する場合には書き込み動作があったことを通知し（ステップＳ１０４）、通知しないのであれば通知しないまま終了する。
【００２０】
他方、ステップＳ１０１で設定アドレス範囲内への書き込み動作でなければ、設定アドレス範囲外に書き込んで（ステップＳ１０５）、この処理を終了する。
【００２１】
このように処理すると、書き込み処理通知を許可の選択が可能となり、ソフトウェア設定により割り込み信号の発行許可のＯＮ／ＯＦＦ、あるいはステータス表示許可のＯＮ／ＯＦＦを選択することにより特定のアドレス範囲に対する書き込み動作発生の通知をＣＰＵ１に知らせることが可能になる。
【００２２】
図２は、本発明の第２の実施形態に係る通知処理の処理手順を示すフローチャートである。この処理も書き込み監視部２５，２６で実行される。  
同図において、この処理では、まず、設定アドレス範囲への書き込み動作かどうか否かをチェックし（ステップＳ２０１）、設定アドレス範囲への書き込み動作であれば、書き込み処理を実行する（ステップＳ２０２）。次いで、通知開始遅延時間を経過しているかどうかをチェックし（ステップＳ２０３）、経過していれば、さらに、ＣＰＵ１に書き込みを通知するか否かについて判断し（ステップＳ１０３）、通知する場合には書き込み動作があったことを通知し（ステップＳ２０５）、通知しないのであれば通知しないまま終了する。
【００２３】
一方、ステップＳ２０３で遅延時間を経過していない場合、あるいは、書き込み通知を行わない場合には、そのまま終了する。
【００２４】
他方、ステップＳ２０２で設定アドレス範囲内への書き込み動作でなければ、設定アドレス範囲外に書き込んで（ステップＳ２０６）、この処理を終了する。
【００２５】
このように処理すると、ソフトウェアの処理なしに、装置の電源がＯＮになってから一定時間経過後、ハードウエアの処理のみで特定のアドレス範囲への書き込み動作発生通知を許可開始する。図２のフローチャートでは、装置の電源ＯＮからの時間になっているが、時間をカウント開始するトリガーになるイベントは特定のアドレス範囲への書き込みが発生した後や、図１のフローチャートに示したようにソフトウェアで通知許可設定後のように装置の電源ＯＮに限定されない。たとえば特定のアドレス範囲への書き込みが発生後、通知開始までの時間を０とすれば、一度書き込まれたアドレス範囲の内容を上書きなどで書き換えると、監視装置が書き換え通知を発行するといった処理も選択可能である。
【００２６】
また、図４に示したようにデータ書き換えを禁止する領域がＲＡＭ等のメモリの場合、書き込み監視部２５はメモリのアドレスと書き込みアクセスか否かを監視する。第２の書き込み監視部２６のように接続されたデバイスがＨＤＤ５等のように直接アドレスで領域を指定できない場合、セクタ情報やヘッドＮｏ．などのアドレスに変わる情報を監視し、指定範囲への書き込み動作をチェックする。
【００２７】
図３は、本発明の第３の実施形態に係る処理手順を示すフローチャートである。この処理手順では、図１のフローチャートの処理に加え、あらかじめ設定されたアドレス範囲に書き込みアクセスがあった場合、書き込みを行わない処理を選択可能としたものである。また、書き込みされた禁止領域のアドレス情報を保持し、その領域からの読み出しを行わない制御も選択可能とする。不正書き込みが行われた領域のデータを読み出すには、監視機能を停止させるなどの設定を行ったあと読み出しアクセスを行うなど、通常動作とは異なるデバッグモードのプログラムなどでアクセス可能とし、どこで不正な書き込みが行われたかの解析を容易にする。
【００２８】
そのため、この処理手順では、まず、設定アドレス範囲からの読み出し動作であるかどうかをチェックし（ステップＳ３０１）、設定アドレス範囲からの読み出し動作でなければ、通常の読み出し処理を実行し（ステップＳ３０２）、設定アドレス範囲からの読み出し動作であれば、さらに、禁止範囲へ書き込みがあったかどうかをチェックする（ステップＳ３０３）。もし、禁止範囲へ書き込みがなければ、読み出し処理を実行し（ステップＳ３０４）、書き込みがあれば、デバッグモードによる読み出しかどうかをチェックし（ステップＳ３０５）、デバッグモードによる読み出しでなければ、そのまま終了し、デバッグモードによる読み出しであれば、読み出し処理を実行して（Ｓ３０６）、処理を終える。
【００２９】
このように処理すると、図１あるいは図２のフローチャートに示した処理により保護領域範囲の書き換えが可能となる。また、図４に示したようにデータ書き換えを禁止する領域がＲＡＭ等のメモリの場合は開始アドレスと終了アドレス、あるいは開始アドレスと終了までのメモリ量などの情報を第１の書き込み監視部２５に保持してアクセス監視を実行する。同様に第２の書き込み監視部２６ではセクタ情報やヘッドＮｏ．などのアドレスに変わる情報を保持してアクセス監視を実行する。どちらの場合も設定の範囲を任意に変更可能とすることにより読み書き可能領域と読み出し専用領域範囲を任意に切り換えるようにする。
【００３０】
以上のよう第１の実施形態によれば、あらかじめ設定されたアドレス範囲に書き込みアクセスがあった場合、割り込み発生などの方法でＣＰＵに書き換え処理があったことを通知することにより書き換え可能なメモリ領域に置かれたコードやデータなどがソフトウェア処理の予期しないアクセスにより書き換えられたことを知ることができ、書き込み内容の信頼性を確認することが可能になる。これにより、不正なコードが実行されることを防止することが可能となり、セキュリティー機能の向上を図ることができる。
【００３１】
また、第２の実施形態によれば、書き込みそのものを禁止する手段を持つことによりメモリ上にある情報の信頼性を向上させることが可能になる。また単純に書き込み禁止とするのではなく、不正書き込みの領域を読み出し不可とするので、書き込まれたコード、データは保持して、プログラム上のどこで書き込み禁止領域へのアクセスが行われたかの解析が容易になる。
【００３２】
さらに、第３の実施形態によれば、メモリ内容書き換えを禁止とした保護領域の拡大縮小や範囲の移動を行い、扱うソフトウェアのコード量、データ量にあわせて必要分の書き込み専用領域を設定することが可能になり、書き換え可能領域が少なくなるような無駄を回避できる。
【図面の簡単な説明】
【００３３】
【図１】本発明の第１の実施形態に係る通知処理の処理手順を示すフローチャートである。
【図２】本発明の第２の実施形態に係る通知処理の処理手順を示すフローチャートである。
【図３】本発明の第３の実施形態に係る処理手順を示すフローチャートである。
【図４】本発明の第１の実施形態に係るメモリ制御装置の概略構成を示すブロック図である。
【符号の説明】
【００３４】
１  ＣＰＵ
２  アクセス制御部
３  ＲＯＭ
４  ＲＡＭ
５  ＨＤＤ
２１  ＲＡＭアクセス制御部
２２  ＲＯＭアクセス制御部
２３  ＨＤＤアクセス制御部
２４  ステータス表示部
２５  第１の書き込み監視部
２６  第２の書き込み監視部
【図１】
2006018500.tif 000003
【図２】
2006018500.tif 000004
【図３】
2006018500.tif 000005
【図４】
2006018500.tif 000006