(57)【要約】【課題】信頼性向上を図る。【解決手段】情報処理装置１０は、セキュアモードＳとノンセキュアモードＮＳとを切替えて動作する。セキュアＯＳ部２２は、セキュアモードＳで動作する。ノンセキュアＯＳ部２４は、ノンセキュアモードＮＳで動作する。取得部２２Ｄは、セキュアモードのときに、セキュアＯＳ部２２とノンセキュアＯＳ部２４で共有する共有キャッシュ領域１９Ａに対してノンセキュアＯＳ部２４が実行する初期化処理に関する初期化処理情報を自律的に取得する。有効化部２２Ｆは、初期化処理情報に基づいて、共有キャッシュ領域１９ＡをセキュアＯＳ部２２とノンセキュアＯＳ部２４とで共有して利用可能に有効化する。【選択図】図３
2020009144.tif 000002
【特許請求の範囲】
【請求項１】
セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置であって、
前記セキュアモードで動作するセキュアＯＳ部と、
前記ノンセキュアモードで動作するノンセキュアＯＳ部と、
前記セキュアモードのときに、前記セキュアＯＳ部と前記ノンセキュアＯＳ部とで共有する共有リソースに対して前記ノンセキュアＯＳ部が実行する初期化処理に関する初期化処理情報を自律的に取得する取得部と、
前記初期化処理情報に基づいて、前記共有リソースを前記セキュアＯＳ部と前記ノンセキュアＯＳ部とで共有して利用可能に有効化する有効化部と、
を有する、情報処理装置。
【請求項２】
前記セキュアＯＳ部は、
前記取得部と、前記有効化部と、を有する、
請求項１に記載の情報処理装置。
【請求項３】
前記セキュアＯＳ部は、
前記初期化処理情報によって示される、前記ノンセキュアＯＳ部による前記共有リソースに対する初期化処理の進行度合が、前記共有リソースの有効化条件を満たすか否かを判定する判定部を更に有し、
前記有効化部は、
前記有効化条件を満たすと判定した場合、前記共有リソースを有効化する、
請求項１に記載の情報処理装置。
【請求項４】
前記セキュアＯＳ部は、
前記共有リソースに対する設定項目と、前記設定項目に対する設定を前記セキュアＯＳ部および前記ノンセキュアＯＳ部の何れが担当するかを示す担当情報と、前記設定項目の設定値の設定場所と、前記設定項目に対する初期設定値と、を対応づけた設定管理情報を管理する管理部を更に有し、
前記取得部は、
前記共有リソースに対する１または複数の前記設定項目の内、前記ノンセキュアＯＳ部が担当する前記設定項目の設定場所に設定されている設定値を、前記初期化処理情報として取得し、
前記判定部は、
取得した前記初期化処理情報に示される、前記ノンセキュアＯＳ部が担当する前記設定項目の設定場所に設定されている設定値と、前記設定管理情報における前記ノンセキュアＯＳ部が担当する設定項目に対する初期設定値と、が一致する割合によって表される前記進行度合が、前記有効化条件を満たすか否かを判定する、
請求項３に記載の情報処理装置。
【請求項５】
前記判定部は、
前記進行度合が、前記設定管理情報における前記ノンセキュアＯＳ部が担当する全ての前記設定項目に対応する前記初期設定値が前記設定場所に設定済であることを示す場合、前記有効化条件を満たすと判定する、
請求項４に記載の情報処理装置。
【請求項６】
前記管理部は、
複数の共有リソースの各々に対応する前記設定管理情報を管理する、
請求項４または請求項５に記載の情報処理装置。
【請求項７】
前記管理部は、
前記共有リソースを備えるハードウェアの種類に対応する前記設定管理情報を管理する、
請求項４〜請求項６の何れか１項に記載の情報処理装置。
【請求項８】
前記判定部は、
前記ノンセキュアＯＳ部が担当する少なくとも１つの前記設定項目に対する前記ノンセキュアＯＳ部のセキュリティ機能が、前記設定項目ごとに予め設定された対応するセキュリティレベルを満たさない場合、前記共有リソースを有効化せず、前記ノンセキュアＯＳ部へ動作終了指示を通知する、
請求項４〜請求項７の何れか１項に記載の情報処理装置。
【請求項９】
前記取得部は、
前記ノンセキュアＯＳ部が実行する前記初期化処理を実行するための関数の記憶場所を示すシンボル情報を、前記初期化処理情報として取得し、
前記ノンセキュアＯＳ部は、
前記記憶場所に格納されている前記関数の実行可否を検証する検証部と、
前記関数を実行可と検証した場合、前記関数を実行する関数実行部と、
を備え、
前記有効化部は、
前記関数が実行された場合、前記共有リソースを有効化する、
請求項１に記載の情報処理装置。
【請求項１０】
前記検証部は、
前記記憶場所に格納されている前記関数の実行内容を検証することによって、前記関数の実行可否を検証する、
請求項９に記載の情報処理装置。
【請求項１１】
前記検証部は、
前記記憶場所に格納されている前記関数が正当な関数であるか否かを認証することによって、前記関数の実行可否を検証する、
請求項９に記載の情報処理装置。
【請求項１２】
前記取得部は、
前記ノンセキュアＯＳ部が実行する前記初期化処理を実行するための関数のパラメータの記憶場所を示すシンボル情報を、前記初期化処理情報として取得し、
前記ノンセキュアＯＳ部は、
前記記憶場所に格納されている前記パラメータを導入した前記関数の実行可否を検証する検証部と、
前記関数を実行可と検証した場合、前記関数を実行する関数実行部と、
を備え、
前記有効化部は、
前記関数が実行された場合、前記共有リソースを有効化する、
請求項１に記載の情報処理装置。
【請求項１３】
セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置を備えた移動体であって、
前記情報処理装置は、
前記セキュアモードで動作するセキュアＯＳ部と、
前記ノンセキュアモードで動作するノンセキュアＯＳ部と、
前記セキュアモードのときに、前記セキュアＯＳ部と前記ノンセキュアＯＳ部とで共有する共有リソースに対して前記ノンセキュアＯＳ部が実行する初期化処理に関する初期化処理情報を自律的に取得する取得部と、
前記初期化処理情報に基づいて、前記共有リソースを前記セキュアＯＳ部と前記ノンセキュアＯＳ部とで共有して利用可能に有効化する有効化部と、
を備える移動体。
【請求項１４】
セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置で実行する情報処理方法であって、
前記セキュアモードのときに、前記セキュアモードで動作するセキュアＯＳ部と前記ノンセキュアモードで動作するノンセキュアＯＳ部とで共有する共有リソースに対して前記ノンセキュアＯＳ部が実行する初期化処理に関する初期化処理情報を自律的に取得するステップと、
前記初期化処理情報に基づいて、前記共有リソースを前記セキュアＯＳ部と前記ノンセキュアＯＳ部とで共有して利用可能に有効化するステップと、
を含む情報処理方法。
【請求項１５】
セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置で実行するコンピュータに実行させるためのプログラムであって、
前記セキュアモードのときに、前記セキュアモードで動作するセキュアＯＳ部と前記ノンセキュアモードで動作するノンセキュアＯＳ部とで共有する共有リソースに対して前記ノンセキュアＯＳ部が実行する初期化処理に関する初期化処理情報を自律的に取得するステップと、
前記初期化処理情報に基づいて、前記共有リソースを前記セキュアＯＳ部と前記ノンセキュアＯＳ部とで共有して利用可能に有効化するステップと、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、移動体、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来より、情報処理装置の仮想化技術が知られている。仮想化技術を用いることにより単一の情報処理装置で複数のオペレーティングシステム（ＯＳ）を並行して実行させることができる。また、仮想化技術を用いてＯＳを切替える技術が開示されている。例えば、よりセキュリティ性の高いセキュアモードで動作するＯＳとセキュリティ性の低いノンセキュアモードで動作するＯＳとを切替えて処理を行う技術が知られている。
【０００３】
複数のＯＳの各々は、起動時には、各々の実行環境の初期化処理や使用するリソースに対する設定を実行する。具体的には、信頼性確保のため、セキュアモードで動作するセキュアＯＳが初期化処理を実行した後に、ノンセキュアモードで動作するノンセキュアＯＳが初期化処理を実行する。但し、セキュアＯＳとノンセキュアＯＳとで共有する共有リソースの有効化については、セキュアＯＳは、ノンセキュアＯＳ側が共有リソースを有効化可能な段階に到ったことを示す信号をノンセキュアＯＳから受付けるまで待機する必要があった。このため、従来では、共有リソースの有効化に関する処理を、セキュリティ性の低いノンセキュアＯＳから出力される信号に従って実行する必要があり、信頼性低下が発生する場合があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１４２７２２号公報
【特許文献２】特許第４８０６２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、信頼性の向上を図ることができる、情報処理装置、移動体、情報処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施の形態の情報処理装置は、セキュアモードとノンセキュアモードとを切替えて動作する情報処理装置であって、前記セキュアモードで動作するセキュアＯＳ部と、前記ノンセキュアモードで動作するノンセキュアＯＳ部と、を備える。取得部は、前記セキュアモードのときに、前記セキュアＯＳ部と前記ノンセキュアＯＳ部で共有する共有リソースに対して前記ノンセキュアＯＳ部が実行する初期化処理に関する初期化処理情報を自律的に取得する。有効化部は、前記初期化処理情報に基づいて、前記共有リソースを前記セキュアＯＳ部と前記ノンセキュアＯＳ部とで共有して利用可能に有効化する。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置のハードウェア構成例の図。
【図２】情報処理装置の機能構成の図。
【図３】情報処理装置の機能構成の図。
【図４】キャッシュ設定情報のデータ構成を示す模式図。
【図５】設定管理情報のデータ構成を示す模式図。
【図６】情報処理の手順の一例を示すフローチャート。
【図７】情報処理装置の機能構成の図。
【図８】情報処理の手順のフローチャート。
【図９】情報処理システムの模式図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、情報処理装置、移動体、情報処理方法、およびプログラムの一の実施形態を説明する。
【０００９】
（第１の実施の形態）
図１は、本実施の形態に係る情報処理装置１０のハードウェア構成例を示す図である。情報処理装置１０は、プロセッサ１１と、物理メモリ１２と、メモリアクセス制御部１３と、タイマ１４と、を備える。プロセッサ１１、メモリアクセス制御部１３、およびタイマ１４は、バス１５を介して接続されている。物理メモリ１２は、メモリアクセス制御部１３を介してバス１５に接続されている。
【００１０】
プロセッサ１１は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム（ソフトウェア）に従って、様々な制御を実行する。プロセッサ１１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサである。
【００１１】
物理メモリ１２は、各種データを記憶する。物理メモリ１２は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。
【００１２】
メモリアクセス制御部１３は、物理メモリ１２へのアクセスを制御する。タイマ１４は、時間カウントを行う機器である。
【００１３】
プロセッサ１１は、Ｓ−ＭＭＵ（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）１６と、ＮＳ−ＭＭＵ１７と、キャッシュ制御部１８と、キャッシュメモリ１９と、を含む。
【００１４】
Ｓ−ＭＭＵ１６は、セキュアモードで動作するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）による、共有リソースへのアクセスを制御する。ＮＳ−ＭＭＵ１７は、ノンセキュアモードで動作するＯＳによる、共有リソースへのアクセスを制御する。キャッシュ制御部１８は、キャッシュメモリ１９へのアクセスを制御する。セキュアモード、ノンセキュアモード、共有リソースの詳細は後述する。
【００１５】
図２は、本実施の形態の情報処理装置１０の機能構成の概要を示す図である。情報処理装置１０は、セキュアＯＳ部２２と、ノンセキュアＯＳ部２４と、モニタ部２６と、ハードウェア部２８と、を備える。
【００１６】
ハードウェア部２８は、情報処理装置１０におけるハードウェアに関する部分であり、プロセッサ１１、物理メモリ１２、およびタイマ１４などを含む。
【００１７】
本実施の形態では、プロセッサ１１は、複数のＯＳを実行する機能を有する。本実施の形態では、プロセッサ１１は、セキュアモードとノンセキュアモードと称される二つのモードで、プログラムを分離して実行可能である。すなわち、プロセッサ１１は、セキュアモードとノンセキュアモードとで、それぞれ別々のＯＳやアプリケーションを動作させることが可能である。すなわち、本実施の形態の情報処理装置１０は、セキュアモードとノンセキュアモードとを切替えて動作する。
【００１８】
セキュアモードは、脆弱性混入リスクを最小化したＯＳやアプリケーションを動作させるモードである。すなわち、セキュアモードは、セキュリティ性の高いＯＳやアプリケーションを動作させるモードである。以下、セキュアモードＳと称して説明する。ノンセキュアモードは、セキュアモードＳに比べて高機能で利用しやすい一方、コード規模が大きく脆弱性が生じやすいＯＳやアプリケーションを、動作させるモードである。すなわち、ノンセキュアモードは、セキュアモードＳに比べてセキュリティ性の低いＯＳやアプリケーションを動作させるモードである。以下、ノンセキュアモードＮＳと称して説明する。
【００１９】
本実施の形態の情報処理装置１０は、セキュアモードＳで動作するＯＳとして、セキュアＯＳ部２２を備える。セキュアＯＳ部２２は、プロセッサ１１がセキュアＯＳを実行することにより機能する。
【００２０】
また、情報処理装置１０は、ノンセキュアモードＮＳで動作するＯＳとして、ノンセキュアＯＳ部２４を備える。ノンセキュアＯＳ部２４は、プロセッサ１１がノンセキュアＯＳを実行することにより機能する。
【００２１】
モニタ部２６は、プロセッサ１１がモニタプログラムを実行することにより機能する。モニタ部２６は、セキュアモードＳまたはノンセキュアモードＮＳへモードを切替える。具体的には、モニタ部２６は、セキュアＯＳ部２２またはノンセキュアＯＳ部２４へ仮想マシンを提供し、セキュアＯＳ部２２またはノンセキュアＯＳ部２４を仮想マシン上で動作させる。すなわち、モニタ部２６は、セキュアＯＳ部２２およびノンセキュアＯＳ部２４の何れか一方が有効となるように切替えて機能させる。モニタ部２６は、セキュアＯＳ部２２またはノンセキュアＯＳ部２４からの呼出や、ハードウェア部２８等からの割込みにより、モードの切替えを実行する。
【００２２】
本実施の形態では、情報処理装置１０には、共有リソースが予め規定されている。共有リソースは、セキュアＯＳ部２２とノンセキュアＯＳ部２４で共有するリソースである。共有リソースは、例えば、共有キャッシュ領域や、共有物理メモリ領域や、共有アプリケーションなどである。すなわち、共有リソースは、ハードウェアであってもよいし、ソフトウェアであってもよい。本実施の形態では、共有リソースが、ハードウェアである場合を一例として説明する。また、本実施の形態では、共有リソースが、共有キャッシュ領域である場合を一例として説明する。共有キャッシュ領域は、例えば、Ｌ２キャッシュ（ｌｅｖｅｌ２  ｃａｃｈｅ）などである。
【００２３】
図３は、情報処理装置１０の機能構成の一例を示す図である。
【００２４】
情報処理装置１０は、セキュアＯＳ部２２と、ノンセキュアＯＳ部２４と、モニタ部２６と、ハードウェア部２８と、を備える。
【００２５】
ハードウェア部２８は、タイマ１４と、物理メモリ１２と、メモリアクセス制御部１３と、キャッシュ制御部１８と、キャッシュメモリ１９と、を備える。
【００２６】
キャッシュメモリ１９には、共有キャッシュ領域１９Ａが予め設けられている。共有キャッシュ領域１９Ａは、共有リソースの一例である。
【００２７】
キャッシュ制御部１８は、キャッシュメモリ１９へのアクセスを制御する。キャッシュ制御部１８は、キャッシュ設定情報１８Ａを記憶する。キャッシュ設定情報１８Ａは、共有キャッシュ領域１９Ａに対する設定項目の設定状況を管理するための情報である。キャッシュ設定情報１８Ａの詳細は、後述する。
【００２８】
次に、モニタ部２６について説明する。モニタ部２６は、切替部２６Ａと、タイマハンドラ部２６Ｂと、切替指示ハンドラ部２６Ｃと、を備える。
【００２９】
タイマハンドラ部２６Ｂは、タイマ１４から割込み信号を受付ける。本実施の形態では、タイマ１４は、所定時間ごとに、割込み信号をタイマハンドラ部２６Ｂへ通知する。
【００３０】
切替指示ハンドラ部２６Ｃは、モードの切替命令を切替部２６Ａへ送る。切替命令は、切替指示ハンドラ部２６Ｃから切替部２６Ａへ出力される命令であり、ノンセキュアモードＮＳからセキュアモードＳへ、または、セキュアモードＳからノンセキュアモードＮＳへ、の切替えを行うための命令である。
【００３１】
切替指示ハンドラ部２６Ｃは、切替指示を受付けたときに、モードの切替命令を切替部２６Ａへ送る。切替指示は、セキュアモニタコール（ＳＭＣ）と称される場合がある。切替指示ハンドラ部２６Ｃは、セキュアＯＳ部２２およびノンセキュアＯＳ部２４から、切替指示を受付ける。
【００３２】
切替指示は、例えば、第１切替指示や、第２切替指示である。第１切替指示は、ノンセキュアモードＮＳからセキュアモードＳへ切替える切替指示である。第２切替指示は、セキュアモードＳからノンセキュアモードＮＳへ切替える切替指示である。
【００３３】
切替指示ハンドラ部２６Ｃは、第１切替指示を受付けたときに、切替部２６Ａに第１切替命令を送る。第１切替命令は、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える切替命令である。切替部２６Ａは、第１切替命令を受け付けたときに、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える。モードがセキュアモードＳへ切替えられると、セキュアＯＳ部２２が動作可能となる。
【００３４】
また、切替指示ハンドラ部２６Ｃは、第２切替指示を受付けたときに、切替部２６Ａに第２切替命令を送る。第２切替命令は、セキュアモードＳからノンセキュアモードＮＳへモードを切替える切替命令である。切替部２６Ａは、第２切替命令を受付けたときに、セキュアモードＳからノンセキュアモードＮＳへモードを切替える。ノンセキュアモードＮＳへ切替えられると、ノンセキュアＯＳ部２４が動作可能となる。
【００３５】
なお、切替部２６ＡによるノンセキュアモードＮＳとセキュアモードＳとの切替えは、具体的には、ハードウェア部２８の有する少なくとも１ｂｉｔのフラグを書き換えることにより行われる。例えば、このフラグが“０”である場合、セキュアモードＳとなり、このフラグが“１”である場合、ノンセキュアモードＮＳとなる。
【００３６】
このため、切替部２６Ａは、第１切替命令を受付けたときに、上記フラグをノンセキュアモードＮＳを示す“１”からセキュアモードＳを示す“０”に書き換えることで、ノンセキュアモードＮＳからセキュアモードＳにモードを切替える。また、切替部２６Ａは、第２切替命令を受付けたときに、上記フラグをセキュアモードＳを示す“０”からノンセキュアモードＮＳを示す“１”に書き換えることで、セキュアモードＳからノンセキュアモードＮＳにモードを切替える。
【００３７】
なお、フラグが“１”である場合にセキュアモードＳとなり、このフラグが“０”である場合にノンセキュアモードＮＳとしてもよい。
【００３８】
なお、切替部２６Ａは、更に、タイマハンドラ部２６Ｂから切替命令を受付けてもよい。例えば、タイマハンドラ部２６Ｂは、タイマ１４から割込み信号を受付けると、セキュアモードＳへの第１切替命令を、切替部２６Ａへ送ってもよい。すなわち、切替部２６Ａは、更に、タイマ１４による割込み信号に応じて、モードの切替えを行ってもよい。
【００３９】
次に、セキュアＯＳ部２２およびノンセキュアＯＳ部２４について説明する。情報処理装置１０の起動時には、セキュアＯＳ部２２およびノンセキュアＯＳ部２４の各々が、実行環境の初期化や、使用するリソースの設定などの初期化処理を実行する。本実施の形態では、情報処理装置１０の起動時（すなわち初期化処理時）に機能する機能部について説明する。なお、情報処理装置１０の初期状態のモードは、セキュアモードＳであるものとして説明する。すなわち、情報処理装置１０では、まず、セキュアＯＳ部２２が初期化処理を実行する。
【００４０】
まず、セキュアＯＳ部２２について説明する。セキュアＯＳ部２２は、セキュアモードＳで動作するＯＳである。セキュアＯＳ部２２は、Ｓ−ＭＭＵ初期化部２２Ａと、管理部２２Ｂと、取得部２２Ｄと、判定部２２Ｅと、有効化部２２Ｆと、呼出部２２Ｇと、を備える。すなわち、Ｓ−ＭＭＵ初期化部２２Ａ、管理部２２Ｂ、設定管理情報２２Ｃ、取得部２２Ｄ、判定部２２Ｅ、有効化部２２Ｆ、および呼出部２２Ｇは、セキュアモードＳで動作する。
【００４１】
Ｓ−ＭＭＵ初期化部２２Ａは、Ｓ−ＭＭＵ１６(図１参照)を初期化する。詳細には、Ｓ−ＭＭＵ初期化部２２Ａは、情報処理装置１０の起動時に、Ｓ−ＭＭＵ１６を初期化する。上述したように、Ｓ−ＭＭＵ１６は、セキュアＯＳ部２２による共有リソースへのアクセスを制御する機能部である。
【００４２】
上述したように、本実施の形態では、共有リソースが共有キャッシュ領域１９Ａである場合を一例として説明する。このため、本実施の形態では、Ｓ−ＭＭＵ１６は、セキュアＯＳ部２２による共有キャッシュ領域１９Ａへのアクセスを制御する機能部である。Ｓ−ＭＭＵ１６は、共有キャッシュ領域１９Ａに対する１または複数の設定項目の各々に対して、様々な設定を行うことで、セキュアＯＳ部２２による共有キャッシュ領域１９Ａへのアクセスを制御する。
【００４３】
Ｓ−ＭＭＵ初期化部２２Ａは、共有キャッシュ領域１９Ａに対する１または複数の設定項目の内、Ｓ−ＭＭＵ１６（すなわち、セキュアＯＳ部２２）が設定を担当する設定項目に対して、初期設定値として予め定められた設定値を登録することで、Ｓ−ＭＭＵ１６を初期化する。初期設定値は、初期化処理時に設定されるべき設定値であり、設定項目ごとに予め値が定められている。なお、以下では、共有キャッシュ領域１９Ａに対する設定項目の数は、複数である場合を一例として説明する。
【００４４】
詳細には、Ｓ−ＭＭＵ初期化部２２Ａは、共有キャッシュ領域１９Ａに対する複数の設定項目の内、セキュアＯＳ部２２（Ｓ−ＭＭＵ１６）が担当する１または複数の設定項目の各々について、設定項目ごとに予め定められた設定場所に、初期設定値として予め定められた設定値を登録することで、Ｓ−ＭＭＵ１６を初期化する。
【００４５】
ここで、ハードウェア部２８のキャッシュ制御部１８は、キャッシュ設定情報１８Ａに対する複数の設定項目の各々に対して設定されている、設定値を管理する機能を更に有する。具体的には、ハードウェア部２８は、キャッシュ設定情報１８Ａを用いて、設定項目の各々に対して設定されている設定値を管理する。
【００４６】
図４は、キャッシュ設定情報１８Ａのデータ構成の一例を示す模式図である。キャッシュ設定情報１８Ａは、設定項目と、担当情報と、設定場所と、設定値と、を対応付けたデータベースである。なお、キャッシュ設定情報１８Ａのデータ形式は、データベースに限定されない。
【００４７】
設定項目は、共有リソースに対する設定項目を示す。上述したように、本実施の形態では、共有キャッシュ領域１９Ａに対する設定項目を示す。
【００４８】
担当情報は、対応する設定項目に対する設定を、セキュアＯＳ部２２およびノンセキュアＯＳ部２４の何れが担当するかを示す情報である。担当情報“Ｓ”は、対応する設定項目に対する設定を、設定をセキュアＯＳ部２２が担当することを示す。担当情報“ＮＳ”は、対応する設定項目に対する設定を、ノンセキュアＯＳ部２４が担当することを示す。
【００４９】
すなわち、共有キャッシュ領域１９Ａには、セキュアＯＳ部２２が担当する設定項目と、ノンセキュアＯＳ部２４が担当する設定項目と、が存在する。
【００５０】
設定場所は、対応する設定項目の設定値の格納場所を示す。設定場所は、例えば、物理メモリ１２やキャッシュメモリ１９における、特定の記憶領域の先頭アドレスなどによって表される。
【００５１】
キャッシュ設定情報１８Ａにおける設定値は、対応する設定項目の設定場所に、現在登録されている設定値を示す。
【００５２】
キャッシュ制御部１８は、所定時間ごとまたは予め定めたタイミング毎に、キャッシュ設定情報１８Ａに登録されている設定項目の各々に対応する設定場所にアクセスし、該設定場所に登録されている設定値を、キャッシュ設定情報１８Ａに登録する。このため、キャッシュ設定情報１８Ａには、キャッシュ設定情報１８Ａに規定されている設定項目の各々に対応する設定場所に、現在登録されている設定値が、登録される。
【００５３】
このため、Ｓ−ＭＭＵ初期化部２２ＡによるＳ−ＭＭＵ１６の初期化処理の終了時には、キャッシュ設定情報１８Ａにおける、担当情報“Ｓ”に対応する設定項目に対応する設定値として、初期設定値が登録された状態となる。
【００５４】
図３に戻り説明を続ける。なお、Ｓ−ＭＭＵ初期化部２２Ａは、Ｓ−ＭＭＵ１６の初期化処理の終了時に、Ｓ−ＭＭＵ１６の初期化処理の終了を示す信号をキャッシュ制御部１８へ通知してもよい。この場合、キャッシュ制御部１８は、該通知を受付けたときに、キャッシュ設定情報１８Ａにおける担当情報“Ｓ”に対応する設定場所の各々に設定されている設定値を読取り、キャッシュ設定情報１８Ａへ登録すればよい。
【００５５】
Ｓ−ＭＭＵ初期化部２２Ａは、Ｓ−ＭＭＵ１６の初期化が終了すると、ノンセキュアモードＮＳへ切替える第２切替命令を呼出部２２Ｇへ通知する。
【００５６】
呼出部２２Ｇは、Ｓ−ＭＭＵ初期化部２２Ａ、判定部２２Ｅ、または有効化部２２Ｆから第２切替命令を受付けたときに、ノンセキュアモードＮＳへ切替える第２切替指示を、切替指示ハンドラ部２６Ｃへ通知する。
【００５７】
上述したように、第２切替指示を受付けた切替指示ハンドラ部２６Ｃは、第２切替命令を切替部２６Ａへ通知する。第２切替命令を受付けた切替部２６Ａは、セキュアモードＳからノンセキュアモードＮＳへモードを切替える。そして、切替部２６Ａは、ノンセキュアモードＮＳへ切替えたことを示す信号を、ノンセキュアＯＳ部２４へ通知する。
【００５８】
セキュアＯＳ部２２における、管理部２２Ｂ、設定管理情報２２Ｃ、取得部２２Ｄ、判定部２２Ｅ、および有効化部２２Ｆの詳細は、後述する。
【００５９】
次に、ノンセキュアＯＳ部２４について説明する。ノンセキュアＯＳ部２４は、ノンセキュアモードＮＳで動作するＯＳである。本実施の形態では、ノンセキュアＯＳ部２４は、ＯＳ初期化部２４Ａと、モニタ呼出部２４Ｃと、を有する。
【００６０】
ＯＳ初期化部２４Ａは、ノンセキュアＯＳ部２４を初期化する。ＯＳ初期化部２４Ａは、情報処理装置１０の起動時において、セキュアモードＳからノンセキュアモードＮＳへモードが切替ったときに、ノンセキュアＯＳ部２４の初期化を実行する。
【００６１】
ＯＳ初期化部２４Ａは、ＮＳ−ＭＭＵ初期化部２４Ｂを含む。ＮＳ−ＭＭＵ初期化部２４Ｂは、ＮＳ−ＭＭＵ１７（図１参照)を初期化する。上述したように、ＮＳ−ＭＭＵ１７は、ノンセキュアＯＳ部２４による共有キャッシュ領域１９Ａへのアクセスを制御する機能部である。ＮＳ−ＭＭＵ１７は、共有キャッシュ領域１９Ａに対する複数の設定項目の各々に対して様々な設定を行うことで、ノンセキュアＯＳ部２４による共有キャッシュ領域１９Ａへのアクセスを制御する。
【００６２】
ＮＳ−ＭＭＵ初期化部２４Ｂは、共有キャッシュ領域１９Ａに対する複数の設定項目の内、ＮＳ−ＭＭＵ初期化部２４Ｂ（すなわち、ノンセキュアＯＳ部２４）が設定を担当する設定項目に対して、初期設定値として予め定められた設定値を登録することで、ＮＳ−ＭＭＵ１７を初期化する。
【００６３】
詳細には、ＮＳ−ＭＭＵ初期化部２４Ｂは、共有キャッシュ領域１９Ａに対する複数の設定項目の内、ノンセキュアＯＳ部２４（ＮＳ−ＭＭＵ１７）が設定を担当する設定項目に対して、設定項目ごとに予め定められた設定場所に、初期設定値として予め定められた設定値を登録することで、ＮＳ−ＭＭＵ１７を初期化する。
【００６４】
このため、ＮＳ−ＭＭＵ初期化部２４Ｂによる初期化処理の進行度合に応じて、ノンセキュアＯＳ部２４（ＮＳ−ＭＭＵ１７）が設定を担当する設定項目の設定場所には、初期設定値を示す設定値が順次登録されていく。
【００６５】
ここで、上述したように、ハードウェア部２８のキャッシュ制御部１８は、所定時間ごとまたは予め定めたタイミング毎に、キャッシュ設定情報１８Ａに登録されている各設定項目の各々に対応する設定場所にアクセスし、該設定場所に登録されている設定値を、キャッシュ設定情報１８Ａに登録する。
【００６６】
このため、キャッシュ設定情報１８Ａには、ＮＳ−ＭＭＵ初期化部２４ＢによるＮＳ−ＭＭＵ１７の初期化処理の進行度合に応じて、初期設定値として予め定められた設定値が順次登録されることとなる（図４参照）。
【００６７】
ＯＳ初期化部２４Ａは、ノンセキュアＯＳ部２４の初期化処理が終了すると、第１切替命令をモニタ呼出部２４Ｃへ通知する。第１切替命令を受付けたモニタ呼出部２４Ｃは、第１切替指示を切替指示ハンドラ部２６Ｃへ通知する。
【００６８】
なお、ＮＳ−ＭＭＵ初期化部２４ＢによるＮＳ−ＭＭＵ１７の初期化処理中に、切替部２６Ａが、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える場合がある。例えば、タイマ１４による割込み信号に応じて、切替部２６ＡがノンセキュアモードＮＳからセキュアモードＳへモードを切替える場合などである。
【００６９】
この場合、ＮＳ−ＭＭＵ初期化部２４Ｂによる初期化処理の途中、すなわち、初期設定値を未設定の設定項目が存在する場合であっても、ノンセキュアモードＮＳからセキュアモードＳへモードが切替えられる。
【００７０】
次に、セキュアＯＳ部２２の取得部２２Ｄ、判定部２２Ｅ、有効化部２２Ｆについて説明する。
【００７１】
取得部２２Ｄは、セキュアモードＳのときに、初期化処理情報を自律的に取得する。初期化処理情報とは、ノンセキュアＯＳ部２４（ＮＳ−ＭＭＵ初期化部２４Ｂ）が共有キャッシュ領域１９Ａに対して実行する初期化処理に関する情報である。自律的に取得する、とは、ノンセキュアＯＳ部２４から初期化終了に関する信号を受付ける等の何等かの受信信号をトリガとすることなく、取得部２２Ｄ側のタイミングで初期化処理情報を取得する事を意味する。
【００７２】
例えば、初期化処理情報は、ノンセキュアＯＳ部２４による共有キャッシュ領域１９Ａに対する初期化処理の進行度合を示す。本実施の形態では、取得部２２Ｄは、キャッシュ制御部１８から、初期化処理情報を自律的に取得する。
【００７３】
上述したように、キャッシュ設定情報１８Ａには、ＮＳ−ＭＭＵ初期化部２４ＢによるＮＳ−ＭＭＵ１７の初期化処理の進行度合に応じて、初期設定値として予め定められた設定値が順次登録される。また、キャッシュ設定情報１８Ａにおける、初期設定値が未設定の設定項目には、初期設定値とは異なる値の設定値が登録されている。
【００７４】
このため、取得部２２Ｄは、キャッシュ制御部１８のキャッシュ設定情報１８Ａから、担当情報“ＮＳ”に対応する設定項目の設定値を読取ることで、初期化処理の進行度合を示す初期化処理情報を自律的に取得する。言い換えると、取得部２２Ｄは、共有キャッシュ領域１９Ａに対する複数の設定項目の内、ノンセキュアＯＳ部２４が担当する設定項目の設定場所に設定されている設定値を、初期化処理情報として取得する。
【００７５】
次に、判定部２２Ｅについて説明する。判定部２２Ｅは、取得部２２Ｄで取得した初期化処理情報が、共有キャッシュ領域１９Ａ（共有リソース）の有効化条件を満たすか否かを判定する。有効化条件は、セキュアＯＳ部２２およびノンセキュアＯＳ部２４の双方が利用可能となるように、共有キャッシュ領域１９Ａを有効化する条件を示す。有効化条件は、予め定めればよい。
【００７６】
例えば、判定部２２Ｅは、ノンセキュアＯＳ部２４（ＮＳ−ＭＭＵ初期化部２４Ｂ）による共有キャッシュ領域１９Ａに対する初期化処理の進行度合が、有効化条件を満たすか否かを判定する。
【００７７】
本実施の形態では、判定部２２Ｅは、取得部２２Ｄから取得した初期化処理情報と、管理部２２Ｂで管理されている設定管理情報２２Ｃと、を用いて、有効化条件を満たすか否かを判断する。
【００７８】
管理部２２Ｂは、設定管理情報２２Ｃを管理する。設定管理情報２２Ｃは、共有リソースである共有キャッシュ領域１９Ａの設定項目の各々に対する、初期設定値の設定状況を管理するための情報である。
【００７９】
図５は、設定管理情報２２Ｃのデータ構成の一例を示す模式図である。設定管理情報２２Ｃは、設定項目と、担当情報と、設定場所と、初期設定値と、設定済情報と、を対応付けたデータベースである。なお、設定管理情報２２Ｃのデータ形式は、データベースに限定されない。なお、設定管理情報２２Ｃは、設定項目と、担当情報と、設定場所と、初期設定値と、を対応づけた情報であればよく、設定済情報を含まない形態であってもよい。本実施の形態では、設定管理情報２２Ｃは、設定済情報を含む形態を、一例として説明する。
【００８０】
上述したように、初期設定値は、初期化処理時に設定されるべき設定値であり、設定項目ごとに予め値が定められている。設定管理情報２２Ｃには、共有キャッシュ領域１９Ａに対する設定項目の各々に対応する、担当情報、設定情報、および初期設定値が予め登録されている。設定管理情報２２Ｃに登録されている初期設定値は、対応する設定項目に対して予め定められた、初期化処理時に設定されるべき設定値である。
【００８１】
設定済情報は、対応する設定項目が初期設定済であるか否かを示す情報である。本実施の形態では、設定済情報として、設定済を示す“済”、または設定未を示す“未”が登録される。設定済情報は、判定部２２Ｅによって更新される。
【００８２】
判定部２２Ｅは、共有キャッシュ領域１９Ａから取得した初期化処理情報としての設定値が、該設定値の設定項目に対応する初期設定値と同じ値である場合、該設定項目に対応する設定済情報に“済”を登録する。また、判定部２２Ｅは、共有キャッシュ領域１９Ａから取得した初期化処理情報としての設定値が、該設定値の設定項目に対応する初期設定値と異なる値である場合、該設定項目に対応する設定済情報に“未”を登録する。
【００８３】
このため、進行度合は、設定管理情報２２Ｃにおける、担当情報“ＮＳ”に対応する設定項目の内、設定済情報“済”を登録された設定項目の割合によって表される。言い換えると、進行度合は、取得部２２Ｄで取得した初期化処理情報に示される、ノンセキュアＯＳ部２４が担当する設定項目の設定場所に設定されている設定値と、設定管理情報２２ＣにおけるノンセキュアＯＳ部２４が担当する設定項目に対する初期設定値と、が一致する割合によって表される。
【００８４】
そして、判定部２２Ｅは、この割合によって表される進行度合が有効化条件を満たすか否かを判定する。本実施の形態では、判定部２２Ｅは、この割合によって表される進行度合が閾値以上である場合、有効化条件を満たすと判定する。この閾値は、設定管理情報２２Ｃに登録されている設定項目の内容などに応じて予め定めればよい。例えば、設定管理情報２２Ｃにおける、共有キャッシュ領域１９Ａの有効化に必要な設定内容を示す設定項目の割合が高いほど、より高い閾値（より１００％に近い閾値）を定めればよい。閾値は、具体的には、５０％、６０％、７０％、８０％、９０％、１００％などであるが、これらの値に限定されない。
【００８５】
すなわち、判定部２２Ｅは、取得部２２Ｄで取得した初期化処理情報によって示される進行度合が、設定管理情報２２Ｃにおける、ノンセキュアＯＳ部２４が担当する全ての設定項目に対応する初期設定値が設定場所に設定済であることを示す場合、有効化条件を満たすと判定する。
【００８６】
このため、判定部２２Ｅは、ＮＳ−ＭＭＵ初期化部２４Ｂによる初期化処理が終了済である場合に、有効化条件を満たすと判定する。
【００８７】
有効化部２２Ｆは、取得部２２Ｄで取得した初期化処理情報に基づいて、共有キャッシュ領域１９ＡをセキュアＯＳ部２２とノンセキュアＯＳ部２４とで共有して利用可能に有効化する。詳細には、判定部２２Ｅが初期化処理情報に基づいて有効化条件を満たすと判定したときに、有効化部２２Ｆは、共有キャッシュ領域１９Ａを有効化する。
【００８８】
具体的には、有効化部２２Ｆは、共有キャッシュ領域１９Ａの有効化命令をキャッシュ制御部１８へ通知する。有効化命令を受付けたキャッシュ制御部１８は、キャッシュメモリ１９の共有キャッシュ領域１９Ａを、セキュアＯＳ部２２とノンセキュアＯＳ部２４で共有して利用可能に有効化する。
【００８９】
有効化部２２Ｆは、共有キャッシュ領域１９Ａを有効化した後に、第２切替命令を呼出部２２Ｇへ通知してもよい。
【００９０】
次に、本実施の形態の情報処理装置１０が実行する情報処理の手順の一例を説明する。
【００９１】
図６は、情報処理装置１０が実行する情報処理の手順の一例を示す、フローチャートである。情報処理装置１０は、情報処理装置１０の起動時に、図６に示す情報処理の手順を実行する。
【００９２】
まず、Ｓ−ＭＭＵ初期化部２２Ａが、Ｓ−ＭＭＵ１６を初期化する（ステップＳ１００）。次に、セキュアＯＳ部２２の呼出部２２Ｇが、第２切替指示を切替指示ハンドラ部２６Ｃへ通知する。第２切替指示を受付けた切替指示ハンドラ部２６Ｃは、第２切替命令を切替部２６Ａへ通知する。
【００９３】
第２切替命令を受付けた切替部２６Ａは、セキュアモードＳからノンセキュアモードＮＳへモードを切替える（ステップＳ１０２）。
【００９４】
次に、ＮＳ−ＭＭＵ初期化部２４Ｂが、ＮＳ−ＭＭＵ１７の初期化処理を開始する（ステップＳ１０４）。
【００９５】
次に、切替部２６Ａが、切替指示ハンドラ部２６Ｃから、セキュアモードＳへ切替える第１切替命令を受付けたと判断するまで、否定判断を繰返す（ステップＳ１０６：Ｎｏ）。上述したように、切替指示ハンドラ部２６Ｃは、呼出部２２Ｇ、モニタ呼出部２４Ｃ、およびタイマハンドラ部２６Ｂの何れかから、セキュアモードＳへの第１切替指示を受付けたときに、第１切替命令を切替部２６Ａへ通知する。
【００９６】
ステップＳ１０６で肯定判断すると（ステップＳ１０６：Ｙｅｓ）、ステップＳ１０８へ進む。ステップＳ１０８では、切替部２６Ａが、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える（ステップＳ１０８）。
【００９７】
次に、取得部２２Ｄが、初期化処理情報をキャッシュ制御部１８から取得する（ステップＳ１１０）。
【００９８】
次に、判定部２２Ｅが、ステップＳ１１０で取得した初期化処理情報と、設定管理情報２２Ｃと、を用いて、共有キャッシュ領域１９Ａの有効化条件を満たすか否かを判断する（ステップＳ１１２）。
【００９９】
有効化条件を満たさないと判断した場合（ステップＳ１１２：Ｎｏ）、上記ステップＳ１０２へ戻る。一方、有効化条件を満たすと判断した場合（ステップＳ１１２：Ｙｅｓ）、ステップＳ１１４へ進む。
【０１００】
ステップＳ１１４では、有効化部２２Ｆが、共有キャッシュ領域１９Ａを有効化する（ステップＳ１１４）。そして、本ルーチンを終了する。
【０１０１】
以上説明したように、本実施の形態の情報処理装置１０は、セキュアモードＳとノンセキュアモードＮＳとを切替えて動作する。情報処理装置１０は、セキュアＯＳ部２２と、ノンセキュアＯＳ部２４と、を備える。セキュアＯＳ部２２は、セキュアモードＳで動作する。ノンセキュアＯＳ部２４は、ノンセキュアモードＮＳで動作する。取得部２２Ｄは、セキュアモードＳのときに、セキュアＯＳ部２２とノンセキュアＯＳ部２４で共有する共有キャッシュ領域１９Ａ（共有リソース）に対してノンセキュアＯＳ部２４が実行する初期化処理に関する初期化処理情報を自律的に取得する。有効化部２２Ｆは、初期化処理情報に基づいて、共有キャッシュ領域１９Ａ（共有リソース）をセキュアＯＳ部２２とノンセキュアＯＳ部２４とで共有して利用可能に有効化する。
【０１０２】
このように、本実施の形態では、情報処理装置１０は、取得部２２ＤがセキュアモードＳのときに自律的に取得した初期化処理情報に基づいて、共有リソース（共有キャッシュ領域１９Ａ）を有効化する。このため、セキュアＯＳ部２２は、共有リソースの有効化に関する処理を、セキュリティ性の低いノンセキュアＯＳ部２４からセキュアＯＳ部２２へ出力される信号に従って実行する必要が無い。すなわち、情報処理装置１０は、セキュアＯＳ部２２に比べて脆弱性が生じやすくセキュリティ性の低いノンセキュアＯＳ部２４からの信号を待つことなく、セキュアモードＳのときに自律的に取得した初期化処理情報に基づいて、共有リソースを有効化することができる。
【０１０３】
従って、本実施の形態の情報処理装置１０は、信頼性向上を図ることができる。
【０１０４】
また、本実施の形態の情報処理装置１０は、共有キャッシュ領域１９Ａを有効にする処理を、セキュアＯＳ部２２側で完結することができる。このため、ノンセキュアＯＳ部２４からセキュアＯＳ部２２へ、共有キャッシュ領域１９Ａの有効化に関する信号の送信機能を設ける必要がない。よって、本実施の形態の情報処理装置１０は、上記効果に加えて、簡易な構成で、信頼性向上を図ることができる。
【０１０５】
なお、本実施の形態では、セキュアＯＳ部２２が取得部２２Ｄを備える形態を一例として説明した。しかし、取得部２２Ｄは、セキュアモードＳのときに上記初期化処理情報を自律的に取得すればよく、セキュアＯＳ部２２に設けられた形態に限定されない。例えば、セキュアＯＳ部２２は、ハードウェア部２８に設けられていてもよい。
【０１０６】
また、共有リソースが、セキュアＯＳ部２２に上記初期化処理情報を通知してもよい。すなわち、取得部２２Ｄは、共有リソース（すなわちキャッシュ制御部１８）から通知された初期化処理情報を、取得してもよい。
【０１０７】
この場合、例えば、ノンセキュアＯＳ部２４が共有リソースであるキャッシュ設定情報１８Ａにアクセスしたときに、キャッシュ制御部１８が割込みを発生させ、モニタ部２６の切替指示ハンドラ部２６Ｃへ通知すればよい。そして、切替指示ハンドラ部２６Ｃは、該割込みを受付けると、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える第１切替命令を切替部２６Ａへ通知すればよい。これにより、切替部２６Ａは、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える。これらの処理により、共有リソースが、セキュアＯＳ部２２に初期化処理情報を通知することができる。
【０１０８】
（変形例１）
なお、本実施の形態では、管理部２２Ｂは、共有キャッシュ領域１９Ａに対する設定管理情報２２Ｃを管理する場合を一例として説明した。しかし、情報処理装置１０が、セキュアＯＳ部２２とノンセキュアＯＳ部２４とで共有する複数の共有リソースを用いる場合がある。この場合、管理部２２Ｂは、複数の共有リソースの各々に対応する設定管理情報２２Ｃを管理すればよい、また、このとき、キャッシュ制御部１８は、複数の共有リソースの各々に対応するキャッシュ設定情報１８Ａを管理すればよい。
【０１０９】
そして、セキュアＯＳ部２２では、共有リソースごとに、対応する設定管理情報２２Ｃおよびキャッシュ設定情報１８Ａを選択し、上記処理を行えばよい。
【０１１０】
（変形例２）
また、管理部２２Ｂは、共有リソースを備えるハードウェアの種類に応じて、設定管理情報２２Ｃを管理してもよい。この場合、管理部２２Ｂは、共有リソースを備えるハードウェアの種類ごとに、設定管理情報２２Ｃを管理すればよい。同様に、キャッシュ制御部１８は、共有リソースを備えるハードウェアの種類ごとに、キャッシュ設定情報１８Ａを管理してもよい。
【０１１１】
そして、セキュアＯＳ部２２では、共有リソースを備えるハードウェアの種類に応じた、設定管理情報２２Ｃおよびキャッシュ設定情報１８Ａを選択し、上記処理を行えばよい。
【０１１２】
（変形例３）
なお、ノンセキュアＯＳ部２４が担当する少なくとも１つの設定項目に対する、ノンセキュアＯＳ部２４のセキュリティ機能が、設定項目ごとに予め設定された対応するセキュリティレベルを満たさない場合がある。この場合、判定部２２Ｅは、共有キャッシュ領域１９Ａの有効化を行わず、ノンセキュアＯＳ部２４へ動作終了指示を通知してもよい。なお、設定項目に対応するセキュリティレベルは、例えば、設定管理情報２２Ｃに予め登録すればよい。動作終了指示は、例えば、シャットダウン指示である。セキュリティレベルを満たすか否かの判定は、公知方法を用いて行えばよい。
【０１１３】
（第２の実施の形態）
本実施の形態では、セキュアＯＳ部２２側で、ＮＳ−ＭＭＵ初期化部２４Ｂによる初期化処理を実行する形態を説明する。
【０１１４】
図７は、本実施の形態の情報処理装置１０Ａの機能構成の一例を示す図である。なお、第１の実施の形態の情報処理装置１０と同じ機能には、同じ符号を付与し、詳細な説明を省略する。
【０１１５】
情報処理装置１０Ａは、セキュアＯＳ部２３と、ノンセキュアＯＳ部２５と、モニタ部２６と、ハードウェア部２８と、を備える。
【０１１６】
モニタ部２６およびハードウェア部２８は、第１の実施の形態の情報処理装置１０と同様である。また、情報処理装置１０Ａのハードウェア構成および機能構成の概要は、第１の実施の形態の情報処理装置１０と同様である（図１および図２参照）。
【０１１７】
すなわち、情報処理装置１０Ａは、セキュアＯＳ部２２およびノンセキュアＯＳ部２４に代えて、セキュアＯＳ部２３およびノンセキュアＯＳ部２５を備えた点以外は、第１の実施の形態の情報処理装置１０と同様の構成である。
【０１１８】
ノンセキュアＯＳ部２５は、ノンセキュアＯＳ部２４と同様に、ノンセキュアモードＮＳで動作するＯＳである。ノンセキュアＯＳ部２５は、ＯＳ初期化部２５Ａおよびモニタ呼出部２５Ｃを備える。
【０１１９】
ＯＳ初期化部２５Ａは、ノンセキュアＯＳ部２５を初期化する。ＯＳ初期化部２５Ａは、情報処理装置１０Ａの起動時において、セキュアモードＳからノンセキュアモードＮＳへモードが切替ったときに、ノンセキュアＯＳ部２５の初期化を実行する。
【０１２０】
ＯＳ初期化部２５Ａは、第１の実施の形態のＯＳ初期化部２４Ａと同様である。但し、ＯＳ初期化部２５Ａは、ＮＳ−ＭＭＵ初期化部２４Ｂを含まない構成である。すなわち、ＯＳ初期化部２５Ａは、ＮＳ−ＭＭＵ１７（図１参照)を初期化するＮＳ−ＭＭＵ初期化部２４Ｂを含まない。言い換えると、ＯＳ初期化部２５Ａは、ＮＳ−ＭＭＵ１７の初期化処理以外の、ノンセキュアＯＳ部２５の初期化を行う。
【０１２１】
ＯＳ初期化部２５Ａは、ノンセキュアＯＳ部２５の初期化が終了すると、セキュアモードＳへ切替える第１切替命令をモニタ呼出部２５Ｃへ通知する。第１切替命令を受付けたモニタ呼出部２４Ｃは、ノンセキュアモードＮＳからセキュアモードＳへモードを切替える第１切替指示を、切替指示ハンドラ部２６Ｃへ通知する。
【０１２２】
次に、セキュアＯＳ部２３について説明する。セキュアＯＳ部２３は、セキュアモードＳで動作するＯＳである。セキュアＯＳ部２３は、Ｓ−ＭＭＵ初期化部２２Ａと、管理部２２Ｂと、取得部２３Ｄと、検証部２３Ｅと、有効化部２３Ｆと、呼出部２３Ｇと、関数実行部２３Ｈと、を備える。すなわち、Ｓ−ＭＭＵ初期化部２２Ａ、管理部２２Ｂ、取得部２３Ｄ、検証部２３Ｅ、有効化部２３Ｆ、呼出部２３Ｇ、および関数実行部２３Ｈは、セキュアモードＳで動作する。
【０１２３】
Ｓ−ＭＭＵ初期化部２２Ａは、Ｓ−ＭＭＵ１６(図１参照)を初期化する。Ｓ−ＭＭＵ初期化部２２Ａは、第１の実施の形態と同様である。
【０１２４】
管理部２２Ｂは、シンボル情報２３Ｃを管理する。シンボル情報２３Ｃは、ノンセキュアＯＳ部２５が共有キャッシュ領域１９Ａに対して実行する初期化処理、を実行するための関数の記憶場所を示す情報である。
【０１２５】
初期化処理は、第１の実施の形態で説明したように、ＮＳ−ＭＭＵ初期化部２４Ｂ（第１の実施の形態参照）が実行する初期化処理である。すなわち、初期化処理は、共有キャッシュ領域１９Ａに対する複数の設定項目の内、ノンセキュアＯＳ部２５が設定を担当する設定項目に対して、初期設定値として予め定められた設定値を登録する処理である。
【０１２６】
なお、管理部２２Ｂは、ノンセキュアＯＳ部２５に設けられていてもよい。
【０１２７】
取得部２３Ｄは、初期化処理情報を自律的に取得する。初期化処理情報は、第１の実施の形態で説明したように、初期化処理に関する情報である。
【０１２８】
本実施の形態では、取得部２３Ｄは、シンボル情報２３Ｃを、初期化処理情報として取得する。
【０１２９】
検証部２３Ｅは、取得部２３Ｄで取得したシンボル情報２３Ｃに示される記憶場所から、該記憶場所に格納されている関数を読取る。そして、検証部２３Ｅは、読取った関数の実行可否を検証する。
【０１３０】
例えば、検証部２３Ｅは、シンボル情報２３Ｃに示される記憶場所に格納されている関数の実行内容を検証することによって、該関数の実行可否を検証する。
【０１３１】
また、例えば、検証部２３Ｅは、シンボル情報２３Ｃに示される記憶場所に格納されている関数が、正当な関数であるか否かを認証することによって、該関数の実行可否を検証する。正当な関数である、とは、共有キャッシュ領域１９Ａに対して実行する初期化処理を実行するための関数であり、改竄されていない関数であることを示す。
【０１３２】
検証部２３Ｅが、関数を実行可と検証した場合、関数実行部２３Ｈは、該関数を実行する。検証部２３Ｅが該関数を実行することによって、共有キャッシュ領域１９Ａに対する複数の設定項目の内、ノンセキュアＯＳ部２５が設定を担当する設定項目の記憶場所に、初期設定値として予め定められた設定値が登録される。
【０１３３】
そして、有効化部２３Ｆは、関数実行部２３Ｈによって関数が実行された場合、共有キャッシュ領域１９Ａを有効化する。
【０１３４】
呼出部２３Ｇは、第１の実施の形態の呼出部２２Ｇと同様である。本実施の形態では、呼出部２３Ｇは、有効化部２２Ｆから第２切替命令を受付ける。そして、検証部２３Ｅは、第２切替命令を受付けたときに、ノンセキュアモードＮＳへ切替える第２切替指示を、切替指示ハンドラ部２６Ｃへ通知する。
【０１３５】
次に、本実施の形態の情報処理装置１０Ａが実行する情報処理の手順の一例を説明する。
【０１３６】
図８は、情報処理装置１０Ａが実行する情報処理の手順の一例を示す、フローチャートである。情報処理装置１０Ａは、情報処理装置１０Ａの起動時に、図８に示す情報処理の手順を実行する。
【０１３７】
まず、Ｓ−ＭＭＵ初期化部２２Ａが、Ｓ−ＭＭＵ１６を初期化する（ステップＳ２００）。
【０１３８】
次に、取得部２３Ｄが、初期化処理情報として、シンボル情報２３Ｃを管理部２３Ｂから取得する（ステップＳ２０２）。
【０１３９】
次に、検証部２３Ｅが、ステップＳ２０２で取得したシンボル情報２３Ｃに示される記憶場所から、該記憶場所に格納されている関数を読取る（ステップＳ２０４）。そして検証部２３Ｅは、読取った関数の実行可否を検証する（ステップＳ２０６）。
【０１４０】
ステップＳ２０６の検証により、実行可と検証された場合（ステップＳ２０８：Ｙｅｓ）、ステップＳ２１０へ進む。実行不可と検証された場合（ステップＳ２０８：Ｎｏ）、本ルーチンを終了する。
【０１４１】
ステップＳ２１０では、関数実行部２３Ｈが、ステップＳ２０６で検証した関数を実行する（ステップＳ２１０）。ステップＳ２１０の処理によって、共有キャッシュ領域１９Ａに対する複数の設定項目の内、ノンセキュアＯＳ部２５が設定を担当する設定項目の記憶場所に、初期設定値として予め定められた設定値が登録される。
【０１４２】
次に、呼出部２３Ｇが、共有キャッシュ領域１９Ａを有効化する（ステップＳ２１２）。
【０１４３】
次に、切替部２６Ａが、セキュアモードＳからノンセキュアモードＮＳへモードを切替える（ステップＳ２１４）。次に、ＯＳ初期化部２５Ａが、ノンセキュアＯＳ部２５の初期化処理を実行する（ステップＳ２１６）。そして、本ルーチンを終了する。
【０１４４】
以上説明したように、本実施の形態の情報処理装置１０Ａは、取得部２３Ｄと、検証部２３Ｅと、関数実行部２３Ｈと、有効化部２３Ｆと、を備える。取得部２３Ｄは、ノンセキュアＯＳ部２５が実行する初期化処理を実行するための関数の記憶場所を示すシンボル情報２３Ｃを、初期化処理情報として取得する。検証部２３Ｅは、シンボル情報２３Ｃに示される記憶場所に格納されている関数の実行可否を検証する。関数実行部２３Ｈは、該関数を実行可と検証した場合、該関数を実行する。そして、有効化部２３Ｆは、関数が実行された場合、共有キャッシュ領域１９Ａ（共有リソース）を有効化する。
【０１４５】
このように、本実施の形態では、セキュアＯＳ部２３は、自律的に取得した初期化処理情報に基づいて、共有リソース（共有キャッシュ領域１９Ａ）を有効化する。このため、セキュアＯＳ部２３は、共有リソースの有効化に関する処理を、セキュリティ性の低いノンセキュアＯＳ部２５からセキュアＯＳ部２３へ出力される信号に従って実行する必要が無い。すなわち、セキュアＯＳ部２３は、ノンセキュアＯＳ部２５からの信号を待つことなく、共有リソースを有効化することができる。
【０１４６】
従って、本実施の形態の情報処理装置１０Ａは、信頼性向上を図ることができる。
【０１４７】
（変形例４）
なお、上記第２の実施の形態では、管理部２２Ｂは、シンボル情報２３Ｃを管理する形態を説明した。そして、シンボル情報２３Ｃは、ノンセキュアＯＳ部２５が共有キャッシュ領域１９Ａに対して実行する初期化処理、を実行するための関数の記憶場所を示す情報である場合を説明した。
【０１４８】
しかし、シンボル情報２３Ｃは、該関数のパラメータを示す情報であってもよい。この場合、取得部２３Ｄは、該関数のパラメータを示すシンボル情報２３Ｃを、初期化処理情報として取得することとなる。
【０１４９】
この場合、検証部２３Ｅは、取得部２３Ｄで取得したシンボル情報２３Ｃに示される記憶場所から、該記憶場所に格納されている関数のパラメータを読取る。そして、検証部２３Ｅは、読取ったパラメータを導入した関数の実行可否を検証すればよい。
【０１５０】
そして、上記第２の実施の形態と同様に、有効化部２３Ｆは、関数実行部２３Ｈによって関数が実行された場合、共有キャッシュ領域１９Ａを有効化すればよい。
【０１５１】
また、上記変形例１で説明したように、情報処理装置１０Ａは、セキュアＯＳ部２２とノンセキュアＯＳ部２４とで、複数の共有リソースを共有してもよい。この場合、情報処理装置１０Ａは、複数の共有リソースの各々に対応する、上記関数または上記関数のパラメータの記憶場所を示す情報を、シンボル情報２３Ｃとして用いればよい。
【０１５２】
そして、取得部２３Ｄは、初期化対象の共有リソースに対応する上記関数または上記関数のパラメータの記憶場所を示すシンボル情報２３Ｃを初期化処理情報として取得し、有効化部２３Ｆが、初期化対象の共有キャッシュ領域１９Ａを有効化すればよい。
【０１５３】
また、上記変形例２と同様に、情報処理装置１０Ａは、共有リソースを備えるハードウェアの種類ごとに、上記関数を管理してもよい。この場合、情報処理装置１０Ａは、共有リソースを備えるハードウェアの種類に対応する、上記関数または上記関数のパラメータの記憶場所を示す情報を、シンボル情報２３Ｃとして用いればよい。
【０１５４】
（変形例５）
なお、上記実施の形態の情報処理装置１０および情報処理装置１０Ａは、様々なシステムに適用可能である。例えば、上記実施の形態の情報処理装置１０および情報処理装置１０Ａは、移動体の一例である自動車に搭載される車載ネットワークシステムに適用できる。
【０１５５】
例えば、上記実施の形態の情報処理装置１０および情報処理装置１０Ａは、車載ネットワークシステムに含まれる車載ゲートウェイ装置（以下、「ＧＷ」と略称する）に適用可能である。
【０１５６】
図９は、情報処理システム１の概要を示す模式図である。情報処理システム１は、例えば、車両２に搭載されている。
【０１５７】
情報処理システム１は、情報処理装置１０と、複数のノード６０と、を備える。なお、情報処理システム１は、情報処理装置１０に代えて、情報処理装置１０Ａを備えた構成であってもよい。
【０１５８】
情報処理装置１０と複数のノード６０とは、ネットワークＮＷを介して接続されている。図９に示す例では、情報処理システム１は、ネットワークＮＷとして、複数のサブネットワーク（サブネットワークＮＷ１、サブネットワークＮＷ２）を含む。これらの複数のサブネットワークの各々には、ノード６０が接続されている。また、これらの複数のサブネットワークは、情報処理装置１０に接続されている。
【０１５９】
また、情報処理装置１０には、Ｖ２Ｘ通信モジュール６４および通信モジュール６６が接続されている。通信モジュール６６は、外部ネットワーク６８を介して外部装置と通信するためのモジュールである。Ｖ２Ｘ通信モジュール６４は、通信インフラを介さずに、他の車両２との間で直接無線通信を行うためのモジュールである。直接無線通信には、例えば、車車間・路車間通信（Ｖ２Ｘ：Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ）を用いる。なお、Ｖ２Ｘ通信は、Ｃ２Ｘ（Ｃａｒ−ｔｏ−Ｘ）通信と称される場合もある。
【０１６０】
図９には、情報処理装置１０を、ＧＷとして構成した場合を、一例として示した。本実施の形態では、情報処理装置１０は、本来のゲートウェイとしての機能に加えて、上述した処理を実行すればよい。本来のゲートウェイとしての機能は、例えば、情報処理システム１内のサブネットワーク（例えば、サブネットワークＮＷ１、サブネットワークＮＷ２）間の通信の中継およびフィルタリングや、情報処理システム１と車外の外部ネットワーク６８との間の通信の中継およびフィルタリングや、他の車両２との直接の通信の中継およびフィルタリングなどである。
【０１６１】
ノード６０は、情報処理装置１０を介して他のノード６０との間で、データを通信する電子機器である。ノード６０は、例えば、ＥＣＵ（電子制御装置：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）や、各種センサや、アクチュエータなどである。ＥＣＵは、車両２における各種制御を行う電子機器である。
【０１６２】
情報処理システム１の通信規格は限定されない。情報処理システム１の通信規格は、例えば、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＦｌｅｘＲａｙ（登録商標）などである。
【０１６３】
このように、上記実施の形態の情報処理装置１０および情報処理装置１０Ａを、車両２等の移動体に搭載された情報処理システム１に適用してもよい。
【０１６４】
この場合、情報処理装置１０は、車両２のエンジン起動時に、上述した図６に示す情報処理を実行すればよい。情報処理装置１０Ａを搭載した場合についても同様に、情報処理装置１０Ａは、車両２のエンジン起動時に、上述した図９に示す情報処理を実行すればよい。
【０１６５】
（補足説明）
なお、上記実施の形態の情報処理装置１０および情報処理装置１０Ａで実行される上記各処理を実行するためのプログラムは、ＨＤＤ（ハードディスクドライブ）に記憶されていてもよい。また、上記実施の形態の上記実施の形態の情報処理装置１０および情報処理装置１０Ａで実行される上記各処理を実行するためのプログラムは、ＲＯＭに予め組み込まれて提供されていてもよい。
【０１６６】
また、上記実施の形態の情報処理装置１０および情報処理装置１０Ａで実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅｃｏｒｄａｂｌｅ）、メモリカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態の情報処理装置１０および情報処理装置１０Ａで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態の情報処理装置１０および情報処理装置１０Ａで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【０１６７】
以上、本発明の実施の形態および変形例を説明したが、これらの実施の形態および変形例は例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１６８】
１０、１０Ａ  情報処理装置
１９Ａ  共有キャッシュ領域
２２、２３  セキュアＯＳ部
２２Ｄ  取得部
２２Ｅ  判定部
２２Ｆ  有効化部
２３Ｄ  取得部
２３Ｅ  検証部
２３Ｆ  有効化部
２３Ｈ  関数実行部
２４、２５  ノンセキュアＯＳ部
【図１】
2020009144.tif 000003
【図２】
2020009144.tif 000004
【図３】
2020009144.tif 000005
【図４】
2020009144.tif 000006
【図５】
2020009144.tif 000007
【図６】
2020009144.tif 000008
【図７】
2020009144.tif 000009
【図８】
2020009144.tif 000010
【図９】
2020009144.tif 000011