(57)【要約】【課題】  データの機密性の保護と、デバッグの容易性に優れた情報処理装置を提供する。【解決手段】  機密性が要求されるモジュール（１５０）と、上記モジュールへのアクセスを可能とする内部バスと（１６０）を含むとき、外部からの観測を受けないセキュア状態であるか否かを判定する判定回路（１３１）と、上記判定回路の判定結果に基づいて、上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路（１５１）とを設ける。機密性が要求されるモジュールが上記内部バスから切り離されることで、上記モジュールの機密性が保護される。また、機密性が要求されない他のモジュールについては上記内部バスを介してアクセス可能とすることで、デバッグが可能とされる。【選択図】        図１
2006318334.tif 000002
【特許請求の範囲】
【請求項１】
内部バスと、
上記内部バスを介してアクセスされるモジュールと、を含む情報処理装置であって、
外部からの観測を受けない状態をセキュア状態とし、外部からの観測を受ける状態を非セキュア状態とするとき、
セキュア状態であるか非セキュア状態であるかを判定する判定回路と、
上記判定回路の判定結果に基づいて、上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路と、を含むことを特徴とする情報処理装置。
【請求項２】
内部バスと、
上記内部バスを介してアクセスされるモジュールと、を含む情報処理装置であって、
外部からの観測を受けない状態をセキュア状態とし、外部からの観測を受ける状態を非セキュア状態とするとき、
セキュア状態であるか非セキュア状態であるかを判定する判定回路と、
上記モジュールの内部状態をスキャン可能なスキャン経路と、
上記判定回路の判定結果に基づいて、上記モジュールを上記スキャン経路から切り離すためのスキャン経路遮断回路と、を含むことを特徴とする情報処理装置。
【請求項３】
上記判定回路の判定結果に基づいて、上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路を更に含む請求項２記載の情報処理装置。
【請求項４】
上記情報処理装置は、内部動作のデバッグを可能とするデバッグ機能コントローラと、
上記デバッグ機能コントローラにおけるデバッグ機能の有効又は無効を指定可能な外部端子と、を含み、上記判定回路は、上記外部端子の論理状態に基づいて、セキュア状態と非セキュア状態との判定を行う請求項３記載の情報処理装置。
【請求項５】
上記情報処理装置は、上記内部バスを介して上記モジュールにアクセス可能な中央処理装置を含み、上記判定回路は、上記中央処理装置の動作状態を示す内部信号に基づいて、セキュア状態と非セキュア状態との判定を行う請求項３記載の情報処理装置。
【請求項６】
上記判定回路は、上記デバッグ機能コントローラによって遷移指示信号がアサートされた場合に、非セキュア状態からセキュア状態に遷移する請求項４記載の情報処理装置。
【請求項７】
暗証キーを入力するためのコマンドを格納するための第１レジスタと、
上記コマンドに基づいて入力された暗証キーを格納するための第２レジスタと、を含み、上記第１レジスタ内のコマンドと、上記第２レジスタ内の暗証キーとが整合する場合に、上記デバッグ機能コントローラによって遷移指示信号がアサートされる請求項６記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、特にそれにおける機密保護やデバッグ機能に関し、例えばマイクロプロセッサに適用して有効な技術に関する。
【背景技術】
【０００２】
情報処理装置の一例とされるマイクロプロセッサは、例えば携帯機器などに用いられるものに代表されるように、機器の利便性向上の要求から、ハードウェア、ソフトウェアの複雑化が進んでいる。一方、今日の携帯機器では個人情報や課金情報など、より高い機密性や安全性が求められるデータを取り扱う機会が増加している。
【０００３】
ハードウェア、ソフトウェアの複雑化に伴い、開発効率向上を目的として、プロセッサ内部動作のデバッグ機能が年々高度化している。今日のプロセッサでは、これらの機能を利用し、半導体集積回路（半導体集積回路）の一部の外部ピンに信号を接続することによって、プロセッサ内部動作を容易、かつ広範に操作、解析することが可能であり、今日のソフトウェア開発には必須の機能となっている。
【０００４】
このようなデバッグ機能は、その接続の容易性から、製品として機器に搭載された半導体集積回路においても利用可能である。しかし、先に示した通り今日の携帯機器ではデータの機密性が求められており、高度なデバッグ機能が、逆にデータの機密性を阻害する一因となっている。これらの相反する課題を解決するための技術として、機密保護コンピュータ環境を設定するための方法及びコンピュータシステムが知られている（例えば特許文献１参照）。
【０００５】
【特許文献１】特開２００２−３５８１３７号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
例えば上記特許文献１に記載された技術のように、マイクロプロセッサ内部に機密情報が存在するか否かを示すラッチを設け、機密情報が存在している状態の時には、マイクロプロセッサ内部のデバッグ機構と、外部からの制御装置であるインサーキット・エミュレータ装置の接続を遮断することによって、機密情報の保護を実現することができる。しかしながら、マイクロプロセッサのリセット直後から上記ラッチの状態設定が完了するまでの短期間において、エミュレータ装置からの機密情報抜き取り、もしくは上記ラッチの状態設定自体の無効化などの操作が行われる可能がある。また、機密情報が存在している状態に設定された後に一切のデバッグ機能の利用が不可能とされると、マイクロプロセッサのデバッグの容易性が阻害される。
【０００７】
本発明の目的は、データの機密性の保護と、デバッグの容易性に優れた情報処理装置を提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
〔１〕すなわち、内部バスと、上記内部バスを介してアクセスされるモジュールと、を含む情報処理装置において、外部からの観測を受けない状態をセキュア状態とし、外部からの観測を受ける状態を非セキュア状態とするとき、セキュア状態であるか非セキュア状態であるかを判定する判定回路と、上記判定回路の判定結果に基づいて、上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路とを設ける。
【００１１】
上記の手段によれば、判定回路は、セキュア状態であるか非セキュア状態であるかを判定し、バスアクセス遮断回路は、上記判定回路の判定結果に基づいて上記モジュールを上記内部バスから切り離す。機密性が要求されるモジュールが上記内部バスから切り離されることで、上記モジュールの機密性が保護される。また、機密性が要求されない他のモジュールについては上記内部バスを介してアクセス可能とすることで、デバッグが可能とされる。このことが、データの機密性の保護とデバッグの容易性に優れた情報処理装置を提供を達成する。
【００１２】
〔２〕内部バスと、上記内部バスを介してアクセスされるモジュールと、を含む情報処理装置において、外部からの観測を受けない状態をセキュア状態とし、外部からの観測を受ける状態を非セキュア状態とするとき、セキュア状態であるか非セキュア状態であるかを判定する判定回路と、上記モジュールの内部状態をスキャン可能なスキャン経路と、上記判定回路の判定結果に基づいて、上記モジュールを上記スキャン経路から切り離すためのスキャン経路遮断回路とを設ける。
【００１３】
上記の手段によれば、スキャン経路遮断回路は、上記判定回路の判定結果に基づいて、上記モジュールを上記スキャン経路から切り離す。機密性が要求されるモジュールが上記スキャン経路から切り離されることで、上記モジュールの機密性が保護される。また、機密性が要求されない他のモジュールについては上記スキャン経路によるスキャンが可能とされることで、デバッグが可能とされる。このことが、データの機密性の保護とデバッグの容易性に優れた情報処理装置を提供を達成する。
【００１４】
〔３〕上記〔２〕において、上記判定回路の判定結果に基づいて上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路を設けることができる。
【００１５】
〔４〕上記〔３〕において、上記情報処理装置は、内部動作のデバッグを可能とするデバッグ機能コントローラと、
上記デバッグ機能コントローラにおけるデバッグ機能の有効又は無効を指定可能な外部端子と、を含み、上記判定回路は、上記外部端子の論理状態に基づいて、セキュア状態と非セキュア状態との判定を行うように構成することができる。
【００１６】
〔５〕上記〔３〕において、上記情報処理装置は、上記内部バスを介して上記モジュールにアクセス可能な中央処理装置を含み、上記判定回路は、上記中央処理装置の動作状態を示す内部信号に基づいて、セキュア状態と非セキュア状態との判定を行うように構成することができる。
【００１７】
〔６〕上記〔４〕において、上記判定回路は、上記デバッグ機能コントローラによって遷移指示信号がアサートされた場合に、非セキュア状態からセキュア状態に遷移するように構成することができる。
【００１８】
〔７〕上記〔６〕において、暗証キーを入力するためのコマンドを格納するための第１レジスタと、上記コマンドに基づいて入力された暗証キーを格納するための第２レジスタと、を含み、上記第１レジスタ内のコマンドと、上記第２レジスタ内の暗証キーとが整合する場合に、上記デバッグ機能コントローラによって遷移指示信号がアサートされるように構成することができる。
【発明の効果】
【００１９】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２０】
すなわち、データの機密性の保護又はデバッグの容易性に優れた情報処理装置を提供することができる。
【発明を実施するための最良の形態】
【００２１】
図２には、本発明にかかる情報処理装置の一例であるマイクロプロセッサの全体的な構成例が示される。図２に示されるマイクロプロセッサ１００は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコンなどの一つの半導体基板に形成される。
【００２２】
中央処理装置（ＣＰＵ）１４０が設けられ、この中央処理装置１４０は、予め設定されたプログラムに従って所定の演算処理を行う。ＭＰＥＧ画像圧縮アクセラレータ（ＭＰＥＧ）１８１が設けられ、このＭＰＥＧ画像圧縮アクセラレータ１８１は、ＭＰＥＧ（Motion Picture Experts Group）画像の圧縮処理を行う。ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１８２が設けられ、このダイレクトメモリアクセスコントローラ１８２は、上記ＣＰＵ１４０の介在無しにＳＲＡＭ（スタティックランダムアクセスメモリ）１８７との間でデータのやり取りを可能とする。デバッグテストコントローラ（ＤＢＧＣＮＴ）１１０が設けられ、このデバッグテストコントローラ１１０は、ＪＴＡＧ（ＩＥＥＥ  １１４９．１、“ＩＥＥＥ  Ｓｔａｎｄａｒｄ  Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ  ａｎｄ  Ｂｏｕｎｄａｒｙ−Ｓｃａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ”）バス３１１を介して外部との間で所定の信号のやり取りを可能とし、マイクロプロセッサ１００の内部動作のデバッグ動作を制御する。暗号アクセラレータ（ＣＲＹＰＴＯ）１５０が設けられ、この暗号アクセラレータ１５０は、暗号／認証処理を行う。ここで、この暗号アクセラレータ（ＣＲＹＰＴＯ）１５０は、機密性を要求される情報を保持する機能モジュールの一例とされる。バスアクセス遮断回路（ＢＲＥＡＫ）１５１が設けられ、このバスアクセス遮断回路（ＢＲＥＡＫ）１５１は、上記暗号アクセラレータ１５０を内部バス１６０切り離すことによって内部バス１６０を経由してのアクセスを禁止する。割り込みコントローラ（ＩＮＴＣ）１８３が設けられ、この割り込みコントローラ１８３は、所定の割り込み優先順位に従って、上記ＣＰＵ１４０に対する割り込み処理を行う。システムコントローラ（ＳＹＳＣ）１８４が設けられ、このシステムコントローラ１８４は、マイクロプロセッサ１００内の各種機能モジュールの動作を制御する。セキュリティ状態コントローラ（ＳＥＣＣ）１３０が設けられ、このセキュリティ状態コントローラ１３０は、現在の状態が、外部からの観測を受けないセキュア状態であるのか、外部からの観測を受ける非セキュア状態であるのかを判定し、それに基づいて上記バスアクセス遮断回路１５１などの動作を制御する。バスステートコントローラ（ＢＳＣ）１８５が設けられ、このバスステートコントローラ１８５は、メモリバス１８６を介して結合されたＳＲＡＭ１８７がアクセスされる際のバスステートを制御する。システムリセットコントローラ（ＲＳＴＣＮＴ）１２０が設けられ、このシステムリセットコントローラ１２０は、マイクロプロセッサ１００における各部へのリセット信号３２２の出力を決定する。
【００２３】
図１には、上記マイクロプロセッサ１００における主要部の詳細な構成が示される。
【００２４】
デバッグ機能コントローラ１１０は、外部から取り込まれたデバッグ機能有効化信号３１０によって有効化され、ＪＴＡＧバス３１１からのコマンド入力によって動作する。その動作は、スキャン経路２００によるマイクロプロセッサ内状態の出力、または入力によるマイクロプロセッサ内状態の指定、また、内部バス１６０を経由して、ＣＰＵ１４０などへのアクセスを行う。システムリセットコントローラ１２０は、外部からの入力であるリセット信号３２０や、ＣＰＵ１４０からの内部的なリセット要求信号３２１の入力に基づいて、マイクロプロセッサ全域へのリセット信号３２２の出力を決定している。
【００２５】
セキュリティ状態コントローラ１３０は、セキュア状態であるか非セキュア状態であるかを判定する判定回路（ＪＵＤＧ）１３１と、その判定結果を保持可能なレジスタ１３２とを含み、現在の状態がセキュアであるか否かを示すセキュア状態信号３５０を出力する。ここで、セキュア状態とは、外部からの観測を受けない状態を意味する。逆に非セキュア状態とは、外部からの観測を受ける状態を指す。ここで上記判定回路１３１は、デバッグ機能有効化信号３１０、外部端子Ｔ２を介して取り込まれるリセット信号３２０、内部リセット要求信号３２１、外部端子Ｔ３を介して取り込まれるセキュリティ機能有効化信号３３０、デバッグ機能コントローラ１１０からのセキュア状態への遷移を指示するセキュア状態遷移指示信号３４０などの各種信号に基づいて、セキュア状態であるか否かを判定する。特に、上記デバッグ機能コントローラ１１０におけるデバッグ機能の有効又は無効を指定可能なデバッグ機能有効化信号３１０を取り込むための外部端子Ｔ１の論理状態によってセキュア状態か否かの判定が行われる。デバッグ機能有効化信号３１０によりデバッグ機能が有効とされる場合には非セキュア状態と判定される。また、上記判定回路１３１は、上記ＣＰＵ１４０の動作状態を示す内部信号、例えば内部リセット要求信号３２１が有効とされる場合にも非セキュア状態と判定される。上記判定回路１３１での判定結果はセキュア状態レジスタ１３２に保持される。このセキュア状態レジスタ１３２の値は、バスアクセス遮断回路１５１や、スキャン経路遮断回路２１０、２２０に供給される。
【００２６】
図３には、上記判定回路１３１の状態遷移が示される。
【００２７】
４０１〜４０５はマイクロプロセッサ内の状態を表している。４０３はマイクロプロセッサ内のセキュア状態である。４０１はパワーオフ状態（Ｐｏｗｅｒ  Ｏｆｆ）であり、電源の供給と外部からのリセット信号３２０のアサートによって、５０１の遷移が発生し、リセット中であることを示すリセット中状態（Ｐｏｗｅｒ−Ｏｎ  Ｒｅｓｅｔｔｉｎｇ）４０２に遷移する。
【００２８】
リセット中状態４０２において、リセット信号３２０がネゲートされると、遷移５１１、もしくは５１２を経て、セキュア状態４０３、もしくは非セキュア状態である４０４に遷移する。遷移５１１が発生するか、遷移５１２が発生するかは、リセット信号３２０がネゲートされた時点でのデバッグ機能有効化信号３１０や、セキュリティ機能有効化信号３３０の論理状態によって決定される。デバッグ機能有効化信号３１０がネゲートされ、かつ、セキュリティ機能有効化信号３３０がアサートされた状態、すなわち、デバッグ機能が無効とされ、かつ、セキュリティ機能が有効とされた状態でのみ、リセット中状態４０２からセキュア状態４０３への遷移５１１が発生する。
【００２９】
セキュア状態（Ｓｅｃｕｒｅ）４０３、非セキュア状態（  Ｎｏｎ  Ｓｅｃｕｒｅ）４０４、及びリセット状態（Ｉｎｔｅｒｎａｌ  Ｒｅｓｅｔｔｉｎｇ）４０５において、リセット信号３２０がアサートされた場合には、それぞれ、遷移５２１、５２２、５２３によって、リセット中状態４０２に遷移する。
【００３０】
セキュア状態４０３、非セキュア状態４０４においては、ＣＰＵ１４０がプログラムの実行中であり、そのプログラムからの自発的な要求、もしくはプログラムが意図しない動作によって発生した、ＣＰＵ１４０内の異常状態によって発生する要求によって、内部リセット要求信号３２１がアサートされる。その場合には、遷移５３１，５３２によって、内部リセット要求によるリセット状態４０５に遷移する。
【００３１】
状態４０５からは、リセットの解除によって遷移５３３が発生し、非セキュア状態４０４にのみ到達し得る。これは、前述の通り、内部リセット要求によるリセット状態４０５の発生が、プログラムの意図しない動作に起因することがあるためであり、不正なプログラムによるセキュアリソース１５０のアクセスを未然に防ぐ意味がある。
【００３２】
また、状態４０４からは、デバッグ機能コントローラからの遷移指示信号であるセキュア状態遷移指示信号３４０の通知を受けた場合に、遷移５４１が発生して、状態４０３に遷移する。
【００３３】
以上によって決定されたセキュア状態レジスタ１３２によって、バスアクセス遮断回路１５１や、スキャン経路遮断回路２１０、２２０の動作が決定される。バスアクセス遮断回路１５１は、セキュア状態レジスタ１３２の内容によって、セキュア状態であれば、マイクロプロセッサ内バスである１６０からのバスアクセスを通過させて、セキュアリソース１５０の情報参照を可能にし、逆に非セキュア状態ならば、バスアクセス遮断回路１５１を介してバスアクセスを遮断することによってセキュアリソース１５０の情報を保護する。
【００３４】
また、判定回路１３１によりセキュア状態と判定された場合には、図１におけるスキャン経路遮断回路２１０，２２０内のスイッチがノード２１１、２２１側に接続されて、セキュアリソース１６０を含めたスキャン経路が構成される。この状態で、スキャン経路２００によりテストパターン信号のスキャンイン、スキャンアウトが可能とされる。
【００３５】
一方、判定回路１３１により非セキュア状態と判定された場合には、スキャン経路遮断回路２１０，２２０内のスイッチはノード２１２，２２２側に接続される。つまり、暗号アクセラレータ１５０は、スキャン経路遮断回路２１０，２２０によってスキャン経路２００から切り離され、それによって、暗号アクセラレータ１５０内の情報がスキャン経路２００を介して流出することが阻止される（機密保護）。この場合、スキャン経路遮断回路２１０，２２０内のスイッチはノード２１２，２２２側に接続されることから、スキャン経路２００は、暗号アクセラレータ１５０をバイパスする形となっており、暗号アクセラレータ１５０以外については、スキャン経路２００によるスキャンイン、スキャンアウトが可能とされる。
【００３６】
次に、暗号アクセラレータ１５０が、ＣＰＵ１４０などから内部バス１６０を介してアクセスされた場合の動作について説明する。
【００３７】
図４には、セキュア状態レジスタ１３２のフラグ設定によってセキュア状態が示された状態、すなわち、バスアクセス遮断回路１５１によって暗号アクセラレータ１５０が内部バス１６０に結合されている状態のタイミングチャートが示される。
【００３８】
図４において、６００、６０１は、バス１６０の動作クロック期間（サイクル期間）を示す。６１０、６１１、６１２はそれぞれ暗号アクセラレータ１５０に対するバスアクセス要求、コマンド、アドレス信号を示しており、６１３に示すアドレス値は暗号アクセラレータ１５０に割り当てられたアドレスとされる。また、６２０、６２１、６２２はそれぞれ暗号アクセラレータ１５０からのバスアクセス受理応答、アクセス許可／不許可応答、データである。バスアクセス遮断回路１５１によって暗号アクセラレータ１５０が内部バス１６０に結合されている状態では、サイクル期間６００で出力された読み出しコマンドに対し、サイクル期間６０１において、アクセス許可状態（ＯＫ）が示され、そしてその読み出しデータ６２３が内部バス１６０に出力される。
【００３９】
図５には、セキュア状態レジスタ１３２のフラグ設定によって非セキュア状態が示された状態、すなわち、バスアクセス遮断回路１５１によって暗号アクセラレータ１５０が内部バス１６０から切り離された状態のタイミングチャートが示される。
【００４０】
図５において、７００、７０１は、バス１６０の動作クロック期間（サイクル期間）を示し、６１０、６１１、６１２、６２０、６２１、６２２の信号、及び６１３のアドレス値は、図４に示される場合と同様である。
【００４１】
バスアクセス遮断回路１５１によって暗号アクセラレータ１５０が内部バス１６０から切り離された場合には、サイクル期間７００から出された読み出しコマンドに対し、サイクル期間７０１において、アクセスが不許可（ＮＧ）であることのみが内部バス１６０に出力され、暗号アクセラレータ１５０内のデータは内部バス１６０に出力されない。
【００４２】
図６には、デバッグ機能コントローラ１１０がセキュア状態遷移指示信号３４０をアサートするまでの動作が示される。図中のＴＣＫ、ＴＲＳＴ＊（＊はローアクティブを示す）、ＴＭＳ、ＴＤＩは、ＪＴＡＧバス３１１に含まれる信号である。ＴＡＰ−ＳＴＡＴＥは、ＪＴＡＧに準拠したデバッグ機能コントローラ１１０内のステートマシンの状態を示しており、ＳＤＩＲ、ＳＤＤＲはデバッグ機能コントローラ１１０内のレジスタである。また、８００から８２０はＴＣＫ信号に同期したクロックサイクル期間を示す。
【００４３】
サイクル８００において、ＴＡＰ−ＳＴＡＴＥのリセット信号であるＴＲＳＴ＊が解除となり、サイクル８０１以降、ＴＭＳ、ＴＤＩ信号の入力にしたがってＴＡＰ−ＳＴＡＴＥ及び内部レジスタの値が設定される。
【００４４】
サイクル８０５から８０８にかけて、セキュア状態遷移指示信号を出力するための暗証キーを入力するためのコマンド８３０をＴＤＩから入力し、サイクル８１０にてＳＤＩＲレジスタにそのコマンドが格納される。また、暗証キー８３１をサイクル８１３からサイクル８１６にかけてＴＤＩから入力し、サイクル８１９にてＳＤＤＲレジスタにその暗証キー８３１が格納される。
【００４５】
セキュア状態遷移指示信号３４０は、サイクル８１９まではネゲート状態であるが、サイクル８１９においてＳＤＩＲとＳＤＤＲにそれぞれ格納されたコマンド８３０と、暗証キー８３１のデータとが整合することを以って、サイクル８２０にてアサート状態となる。尚、コマンド８３０と、暗証キー８３１のデータとが整合しない場合、セキュア状態遷移指示信号３４０はアサートされない。
【００４６】
上記の例によれば、以下の作用効果を得ることができる。
【００４７】
（１）セキュア状態判定回路１３１は、セキュア状態であるか非セキュア状態であるかを判定し、バスアクセス遮断回路１５１は、上記セキュア状態判定回路１３１の判定結果に基づいて暗号アクセラレータ１５０を内部バス１６０から切り離す。機密性が要求される暗号アクセラレータ１５０のみが上記内部バス１６０から切り離されることで、上記暗号アクセラレータ１５０の機密性が保護される。また、機密性が要求されない他の機能モジュールについては上記内部バス１６０を介してアクセス可能とすることで、デバッグが可能とされる。これによって、データの機密性の保護とデバッグの容易性の双方を達成することができる。
【００４８】
（２）スキャン経路遮断回路２１０，２２０は、上記セキュア状態判定回路１３１の判定結果に基づいて、上記暗号アクセラレータ１５０を上記スキャン経路２００から切り離す。機密性が要求される上記暗号アクセラレータ１５０が上記スキャン経路２００から切り離されることで、上記暗号アクセラレータ１５０の機密性が保護される。また、機密性が要求されない他の機能モジュールについては上記スキャン経路２００によるスキャンが可能とされることで、デバッグが可能とされる。これによって、データの機密性の保護とデバッグの容易性の双方を達成することができる。
【００４９】
（３）図１に示される構成では、上記（１），（２）の双方の作用効果を奏するため、データの機密性の保護とデバッグの容易性がさらに向上される。
【００５０】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００５１】
例えば、図６におけるセキュア状態遷移指示信号出力のための入力条件を、単純な暗証キー入力ではなく、公開鍵暗号などを用いたプロトコルに変更することができる。
【００５２】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロプロセッサに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種情報処理装置に広く適用することができる。
【００５３】
本発明は、少なくとも機密性が要求されるモジュールを含むことを条件に適用することができる。
【図面の簡単な説明】
【００５４】
【図１】本発明にかかる半導体集積回路の一例であるマイクロプロセッサにおける主要部の構成例ブロック図である。
【図２】上記マイクロプロセッサの全体的な構成例ブロック図である。
【図３】上記マイクロプロセッサに含まれる判定回路の状態遷移説明図である。
【図４】上記マイクロプロセッサにおける主要動作のタイミング図である。
【図５】上記マイクロプロセッサにおける主要動作のタイミング図である。
【図６】上記マイクロプロセッサにおける主要動作のタイミング図である。
【符号の説明】
【００５５】
１００  マイクロプロセッサ
１１０  デバッグ機能コントローラ
１２０  システムリセットコントローラ
１３０  セキュリティ状態コントローラ
１３１  セキュア状態判定回路
１３２  セキュア状態レジスタ
１４０  ＣＰＵ
１５０  暗号アクセラレータ
１５１  バスアクセス遮断回路
１６０  内部バス
２００  スキャン経路
２１０、２２０  スキャン経路遮断回路
３１０  デバッグ機能有効化信号
３１１  ＪＴＡＧバス
３２０  リセット信号
３２１  内部リセット要求信号
３３０  セキュリティ機能有効化信号
【図１】
2006318334.tif 000003
【図２】
2006318334.tif 000004
【図３】
2006318334.tif 000005
【図４】
2006318334.tif 000006
【図５】
2006318334.tif 000007
【図６】
2006318334.tif 000008