(57)【特許請求の範囲】
【請求項１】
ユーザにより個別に設定可能なユーザプログラムからなるセキュリティ解除プログラムを記憶情報に含み、外部に設けられたエミュレータによる不正アクセスから保護する情報を記憶するメモリと、
前記エミュレータに接続されて、前記エミュレータと情報処理装置との間でデバッグに必要な信号の入出力制御を行い、前記情報処理装置のデバッグをサポートするオンチップデバッグ回路と、
電源投入時に前記情報処理装置をリセットするパワーオンリセット信号を受けて、前記オンチップデバッグ回路の機能を無効化してセキュリティを設定し、前記エミュレータによる前記メモリの記憶情報の読み出しを禁止し、前記セキュリティ解除プログラム中のセキュリティ判定ルーチンにより、セキュリティ解除可能と判断された場合には、セキュリティ指定ビットと、このセキュリティ指定ビットのリセットをイネーブルとするイネーブルコードとを受けて、前記オンチップデバッグ回路の機能を有効化してセキュリティを解除し、前記エミュレータによる前記メモリの記憶情報の読み出しを可能にするセキュリティ回路と
を有することを特徴とする情報処理装置。
【請求項２】
前記セキュリティ指定ビットは、電源投入時にセットされて前記オンチップデバッグ回路の機能が無効化されセキュリティが設定されている状態、又は前記メモリに記憶されたセキュリティ解除プログラムによりリセットされて前記オンチップデバッグ回路の機能が有効化されセキュリティが解除されている状態を有する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記セキュリティ回路は、前記オンチップデバッグ回路を無効化する際に、一部機能を有効化してなる
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
デバッグ対象の情報処理装置の電源投入時に前記情報処理装置をリセットするパワーオンリセット信号により、前記情報処理装置と外部に設けられたエミュレータとの間でデバッグに必要な信号の入出力制御を行い前記情報処理装置のデバッグをサポートするオンチップデバッグ回路の機能を無効化してセキュリティを設定し、前記エミュレータによる前記情報処理装置のメモリに記憶された記憶情報の読み出しを禁止する第１のステップと、
ユーザにより個別に設定可能なユーザプログラムからなるセキュリティ解除プログラムを実行し、前記セキュリティ解除プログラム中のセキュリティ判定ルーチンにより、前記設定されたセキュリティを解除するか否かを判定する第２のステップと、
前記第２のステップによりセキュリティの解除が判定された場合には、前記オンチップデバッグ回路の機能を有効化して、前記メモリに記憶された記憶情報の読み出しを可能とし前記エミュレータによる前記情報処理装置のデバッグを可能にする第３のステップと
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部に設けられたオンチップデバッグＩＣＥに接続されてデバッグをサポートするオンチップデバッグ回路を備え、オンチップデバッグＩＣＥによるデバッグ時に内蔵ＲＯＭのデータを不正アクセスから保護する情報処理装置および情報処理方法に関する。
【０００２】
【従来の技術】
従来、図３に示すように、オンチップデバッグ回路１００を備えたマイコン１０１等の情報処理装置においては、外部にオンチップデバッグＩＣＥ（インサーキットエミュレータ）１０２を接続することにより、オンチップデバッグＩＣＥ１０２を用いてブレーク、トレース、モニタなどのエミュレータ機能が使用できるようになる。これにより、マイコン１０１内の機能の参照やプログラムの実行軌跡を解析でき、プログラムの開発、デバッグや故障解析が可能となる。
【０００３】
しかし、このオンチップデバッグＩＣＥ１０２を使用することにより、例えばマイコン１０１の内蔵ＲＯＭ１０３に記憶されていた情報がマイコン１０１の外部に容易に読み出すことが可能となっていた。これにより、特定のユーザ以外の不特定のユーザであってもマイコン１０１内のプログラムの参照や解析が可能になっていた。
【０００４】
【発明が解決しようとする課題】
以上説明したように、デバッグをサポートするオンチップデバッグ回路を備えた従来の情報処理装置にあっては、外部に用意されたオンチップデバッグＩＣＥをオンチップデバッグ回路に接続することにより、誰でも情報処理装置内の情報を容易に外部に取り出すことが可能となっていた。このため、装置内のＲＯＭに記憶されたプログラム等の情報を不正アクセスから保護することが困難になるといった不具合を招いていた。
【０００５】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、ＲＯＭに記憶された情報を、外部に設けられたデバッグツールによる不正アクセスから保護することができる情報処理装置および情報処理方法を提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、課題を解決する第１の手段は、ユーザにより個別に設定可能なユーザプログラムからなるセキュリティ解除プログラムを記憶情報に含み、外部に設けられたエミュレータによる不正アクセスから保護する情報を記憶するメモリと、前記エミュレータに接続されて、前記エミュレータと情報処理装置との間でデバッグに必要な信号の入出力制御を行い、前記情報処理装置のデバッグをサポートするオンチップデバッグ回路と、電源投入時に前記情報処理装置をリセットするパワーオンリセット信号を受けて、前記オンチップデバッグ回路の機能を無効化してセキュリティを設定し、前記エミュレータによる前記メモリの記憶情報の読み出しを禁止し、前記セキュリティ解除プログラム中のセキュリティ判定ルーチンにより、セキュリティ解除可能と判断された場合には、セキュリティ指定ビットと、このセキュリティ指定ビットのリセットをイネーブルとするイネーブルコードとを受けて、前記オンチップデバッグ回路の機能を有効化してセキュリティを解除し、前記エミュレータによる前記メモリの記憶情報の読み出しを可能にするセキュリティ回路とを有することを特徴とする。
【０００７】
第２の手段は、デバッグ対象の情報処理装置の電源投入時に前記情報処理装置をリセットするパワーオンリセット信号により、前記情報処理装置と外部に設けられたエミュレータとの間でデバッグに必要な信号の入出力制御を行い前記情報処理装置のデバッグをサポートするオンチップデバッグ回路の機能を無効化してセキュリティを設定し、前記エミュレータによる前記情報処理装置のメモリに記憶された記憶情報の読み出しを禁止する第１のステップと、ユーザにより個別に設定可能なユーザプログラムからなるセキュリティ解除プログラムを実行し、前記セキュリティ解除プログラム中のセキュリティ判定ルーチンにより、前記設定されたセキュリティを解除するか否かを判定する第２のステップと、前記第２のステップによりセキュリティの解除が判定された場合には、前記オンチップデバッグ回路の機能を有効化して、前記メモリに記憶された記憶情報の読み出しを可能とし前記エミュレータによる前記情報処理装置のデバッグを可能にする第３のステップとを有することを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を用いて本発明の実施形態を説明する。
【００１２】
図１はこの発明の一実施形態に係る情報処理装置の要部構成を示す図であり、図２はデバッグの手順を示すフローチャートである。
【００１３】
図１において、この実施形態の情報処理装置のマイコンは、ＣＰＵ１、図示しないＲＯＭや周辺回路に加えて、前述したと同様のオンチップデバッグ回路２、セキュリティ回路３、制御回路４を備えて構成されている。
【００１４】
セキュリティ回路３は、電源投入時にマイコンをリセットするパワーオンリセット信号とセキュリティ指定ビットを入力とする論理和（ＯＲ）ゲート５と、セキュリティ指定ビットの反転とセキュリティ指定ビットのリセットをイネーブルとするイネーブルコードを入力とする論理積（ＡＮＤ）ゲート６と、ＯＲゲート５の出力をセット（Ｓ）入力としＡＮＤゲート６の出力をリセット（Ｒ）入力とし出力（Ｑ）をセキュリティ信号として制御回路４に与えるレジスタ（ＲＳフリップフロップ）７を備え、パワーオンリセット信号を受けてオンチップデバッグ回路２の機能を無効化してセキュリティを設定し、エミュレータによるメモリの記憶情報の読み出し、特にオンチップデバッグＩＣＥ（インサーキットエミュレータ）によるＲＯＭの記憶情報の読み出しを禁止し、リセットされたセキュリティ指定ビットかつイネーブルコードを受けて、オンチップデバッグ回路２の機能を有効化してセキュリティを解除し、オンチップデバッグＩＣＥによるＲＯＭの記憶情報の読み出しを可能にする。
【００１５】
制御回路４は、セキュリティ回路３から与えられるセキュリティ信号の反転と、オンチップデバッグＩＣＥから与えられてマイコンをデバッグするのに必要となる信号のデバッグ制御信号を入力するＡＮＤゲート８と、セキュリティ信号とオンチップデバッグ回路２から与えられるデバッグ結果を入力としデバッグ情報出力をオンチップデバッグＩＣＥに出力するＯＲゲート９を備え、セキュリティ信号がセキュリティ回路３から与えられてセキュリティが設定されている場合には、デバッグ制御信号の入力ならびにデバッグ情報の出力を禁止する。
【００１６】
次に、この実施形態では、以下のような方式でマイコン内のオンチップデバッグ回路２の動作を制御する。
【００１７】
セキュリティ用のセキュリティ指定ビットをＩ／Ｏレジスタに設ける。このセキュリティ指定ビットは、パワーオン時に“１”（セキュリティ有効）にセットされ、オンチップデバッグ回路２は、パワーオンリセットによってオンチップデバッグ回路２の機能が無効となるように初期化される。外部に接続されるオンチップデバッグＩＣＥからのデバッグ用リセット信号、デバッグ用割込み信号、デバッグ用制御プログラム入力のデバッグに必要となる信号は無効となる。オンチップデバッグ回路２からオンチップデバッグＩＣＥへ出力されるデバッグ情報信号やオンチップデバッグＩＣＥとの同期クロックなども固定信号レベルとなり禁止される。
【００１８】
セキュリティの解除は、ユーザによって作成されてＲＯＭに格納されたユーザプログラムのセキュリティ解除プログラムにより行われ、セキュリティ指定ビットに“０”を書き込むとともにユーザＩ／Ｏレジスタのセキュリティクリアレジスタにイネーブルコードを書き込む。このように、セキュリティの解除は、二重設定により暴走による誤解除を防ぐことができる。
【００１９】
セキュリティの設定（ＯＮ）／解除（ＯＦＦ）のステータスは、以下に示すようにして検知される。セキュリティＯＮ（セキュリティ有効）の状態検知は、セキュリティ指定ビットを読み出すと、“１”が読み出される。また、オンチップデバッグ回路２からオンチップデバッグＩＣＥへ出力されるデバッグ情報出力がすべて固定信号レベルとなっている。セキュリティＯＦＦ（セキュリティ解除）の状態検知は、セキュリティ指定ビットを読み出すと、“０”が読み出される。また、オンチップデバッグ回路２からオンチップデバッグＩＣＥへデバッグ情報出力と、オンチップデバッグＩＣＥとの同期クロックが出力される。
【００２０】
オンチップデバッグＩＣＥへの制限事項として、セキュリティ機能が解除されるまで、オンチップデバッグＩＣＥは使用できない。マイコン内のオンチップデバッグ回路２はオンチップデバッグＩＣＥからのデバッグ用リセットやブレーク要求に無反応であり、オンチップデバッグＩＣＥに対するデバッグ情報出力も常に固定レベルとなる。この制限は、パワーオン時のみ起こり、セキュリティ解除後は、ユーザリセットやオンチップデバッグＩＣＥからのリセットによって再びセキュリティＯＮ（有効）になることはない。
【００２１】
次に、想定されるユーザの使用例を図２のフローチャートを参照して説明する。
【００２２】
プログラム開発やメンテナンスのためにオンチップデバッグＩＣＥを使用するユーザー（正規ユーザー）の場合に、オンチップデバッグＩＣＥをマイコンに接続し、ターゲットシステムのマイコンとオンチップデバッグＩＣＥを立ち上げた時、オンチップデバッグＩＣＥはデバッグ用リセットをマイコンに要求するが（図２（ステップＳ１））、オンチップデバッグ回路２はパワーオンリセットにより禁止されているため、このリセットは受け付けられない（図２（ステップＳ２））。また、デバッグ情報出力が固定レベルとなっていることからエラーメッセージをオンチップデバッグＩＣＥは出力する。もしくは、マイコンからの反応がないため、オンチップデバッグＩＣＥも無反応状態となる。
【００２３】
次に、ターゲットシステムとターゲットプログラムによりセキュリティが解除されオンチップデバッグが許可される場合に、ユーザがそれぞれ独自に作成したターゲットプログラム中のセキュリティ判定ルーチンにより、セキュリティ解除許可と判断された場合には（図２（ステップＳ３，Ｓ４））、マイコンのセキュリティＩ／Ｏレジスタへの書き込みルーチンの実行が同じくユーザプログラムにより行われ、オンチップデバッグ回路２は許可状態になる。この判定ルーチンでは、ターゲットシステムのスイッチの状態など、外部からの信号も使用される場合がある。オンチップデバッグ回路２の許可により、デバッグ情報やオンチップデバッグＩＣＥとの同期クロックが出力される（図２（ステップＳ５））。
【００２４】
マイコンは、オンチップデバッグＩＣＥからのリセットによりデバッグ用リセットが発生する。これにより、オンチップデバッグＩＣＥの動作も可能となり、この後はオンチップデバッグＩＣＥが立ち上がり、モニタプログラムが動作し、ユーザプログラムの実行が要求される（図２（ステップＳ６，Ｓ７））。この後、リセットが発生してもセキュリティはオフでオンチップデバッグは許可のままとなる。パワーオフとなるまでオンチップデバッグＩＣＥが使用可能となる。
【００２５】
一方、オンチップデバッグＩＣＥを使用して、内蔵ＲＯＭの内容を不正にアクセスしようとするユーザー（不正規ユーザー）の場合には、オンチップデバッグＩＣＥを接続し、ターゲットとオンチップデバッグＩＣＥを立ち上げる。この時、オンチップデバッグＩＣＥはデバッグ用リセットをマイコンに要求するが（図２（ステップＳ１））、オンチップデバッグ回路２はパワーオンリセットにより禁止されているため、このリセットは受け付けられない。また、デバッグ情報出力が固定レベルとなっていることからエラーメッセージをオンチップデバッグＩＣＥは出力する。もしくはマイコンからのレスポンスがないため、オンチップデバッグＩＣＥも無反応状態となる。
【００２６】
次に、セキュリティがＯＮ（有効）のままターゲットプログラムを実行する。しかし、不正規ユーザーはセキュリティ解除の方法がわからないため、正規ユーザーが独自に作成したターゲットプログラム中のセキュリティ判定ルーチンにより、セキュリティ許可とはならない。したがって、ユーザープログラムは実行可能であるが、オンチップデバッグＩＣＥはエラー出力、もしくは無反応状態が続く。
【００２７】
このように、上記実施形態にあっては、マイコン内のＲＯＭに書かれたプログラム情報が不正にアクセスしようとするユーザに開示されず守秘が保たれる。また、セキュリティ解除プログラムをユーザーが自由に書けるため、セキュリティ解除の方法が無限となり、守秘性が高い。さらに、セキュリティ制御にパワーオンリセットを利用することにより、一度セキュリティが解除された後は、マイコンの電源を落とすまで、制限無くオンチップデバッグＩＣＥを使用できる。
【００２８】
次に、この発明の他の実施形態について説明する。
【００２９】
この実施形態の特徴とするところは、上記実施形態のセキュリティ解除判定ルーチンにおいて、予めマイコン内に設定したコードと、外部入力やオンチップデバッグＩＣＥからの入力を比較して判定するパスワード方式としてセキュリティの解除プログラムを作成せず、図１に示すセキュリティ回路３に代えて、パワーオンリセット信号によりオンチップデバッグ回路２の機能を無効化し、オンチップデバッグＩＣＥによるＲＯＭの記憶情報の読み出しを禁止し、予め登録されたコードと外部から与えられたパスワードを照合して両者が一致した場合には、オンチップデバッグ回路２の機能を有効化し、オンチップデバッグＩＣＥによるＲＯＭの記憶情報の読み出しを可能にする、パスワード判定回路を含むセキュリティ解除回路を組み込む構成を採用したことにある。このような実施形態にあっても、上記実施形態と同様な効果を得ることができる。
【００３０】
次に、この発明の他の実施形態について説明する。
【００３１】
この実施形態の特徴とするところは、前述した図１に示す実施形態でのセキュリティ有効時に、オンチップデバッグ機能のすべてを禁止するのではなく、一部のデバッグ機能を許可する、例えばユーザアプリケーションにおいて使用するデバッグ機能があれば、その部分のみ常時許可するようにしたことにある。
【００３２】
一方、オンチップデバッグＩＣＥから暗号化されて情報処理装置に与えられるデバッグに必要な信号を復号化し、情報処理装置のデバッグ結果を暗号化してオンチップデバッグＩＣＥに出力する暗号化回路を設け、セキュリティ有効時に、デバッグ情報を暗号化してオンチップデバッグＩＣＥへ出力し、オンチップデバッグＩＣＥ側でその暗号の解読を制御し、正規ユーザーのみ暗号を解読してデバッグできるようにしてもよい。このような実施形態にあっても、上記実施形態と同様な効果を得ることができる。
【００３３】
【発明の効果】
以上説明したように、この発明によれば、パワーオンリセットにより情報処理装置内に実装されているオンチップデバッグ回路を無効化しセキュリティを設定し、オンチップデバッグＩＣＥによる内蔵ＲＯＭのアクセスを禁止し、ユーザプログラムにより設定制御されるセキュリティ指定ビットに基づいてセキュリティが解除されるようにしたので、ＲＯＭに記憶された情報を、外部に設けられたデバッグツールによる不正アクセスから保護することが可能となる。また、セキュリティの解除方法は、ユーザが自由に設定できるため、セキュリティの解除方法が無限となり、守秘性が高くなる。さらに、セキュリティの制御にパワーオンリセットを利用することにより、一度セキュリティが解除された後は、電源がオフされるまでオンチップデバッグＩＣＥを制限なく使用することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係る情報処理装置の要部構成を示す図である。
【図２】図１に示す実施形態の動作手順を示すフローチャートである。
【図３】ターゲットシステムをデバッグする従来のシステムを示す図である。
【符号の説明】
１  ＣＰＵ
２  オンチップデバッグ回路
３  セキュリティ回路
４  制御回路
５，６，８，９  論理ゲート
７  レジスタ
【図１】
0004260984.tif 000002
【図２】
0004260984.tif 000003
【図３】
0004260984.tif 000004