(57)【要約】  情報処理装置（１）は、メインメモリ（１０１）と外部記憶装置（１１）とを接続するデータバス（ＤＢ）上に設けられ、当該データバス（ＤＢ）を通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路（１２ｂ）と、外部記憶装置（１１）に書き込まれた情報をメインメモリ（１０１）に読み出すＣＰＵ（１００）と、を備える。ＣＰＵ（１００）は、外部記憶装置（１１）に書き込まれた情報としてメインメモリ１０１のスナップショットイメージを読み出す場合に、復号回路１２ｂの復号処理を有効にする。
2019087309.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路と、
前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部と、
を備え、
前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする
情報処理装置。
【請求項２】
前記データバス上に設けられ、当該データバスを通じて伝送される情報に対する暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路と、
前記メインメモリに格納される情報を前記外部記憶装置に書き込む書込処理部と、
を備え、
前記書込処理部は、前記メインメモリに格納される情報として当該メインメモリのスナップショットイメージを書き込む場合に、前記暗号化回路の暗号化処理を有効にする
請求項１に記載の情報処理装置。
【請求項３】
前記復号回路は、
前記復号処理を行うための論理演算素子と、
入力される制御信号に応じて、前記データバスを通じて伝送される情報が前記論理演算素子を経由するか否かを選択可能な選択素子と、
を備える請求項１又は請求項２に記載の情報処理装置。
【請求項４】
復号用データが記録された復号用データ記録メモリを更に備え、
前記復号回路は、前記復号用データ記録メモリから読み出された前記復号用データに基づいて、前記データバスを通じて伝送される情報に対する復号処理を行う
請求項１から請求項３の何れか一項に記載の情報処理装置。
【請求項５】
前記復号用データは、電源が投入された直後の初期状態において、前記メインメモリに記録されている情報である
請求項４に記載の情報処理装置。
【請求項６】
メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路を備える情報処理装置の制御方法であって、
前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出ステップを有し、
前記読出ステップにおいて、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする
情報処理装置の制御方法。
【請求項７】
メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路を備える情報処理装置を、
前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部として機能させ、
前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
カーナビゲーションシステムやゲーム機などのさまざまな情報処理装置では、その起動操作（電源投入操作）が行われた直後から、当該情報処理装置の機能を利用したいという要求がある。【０００３】
特許文献１には、電源が切断される直前の揮発性メモリの記憶状態、周辺デバイスのレジスタ値、及び、プロセッサのレジスタ値を表すデータを不揮発性メモリに格納するとともに、電源の再投入時において、不揮発性メモリに格納したデータを用いて電源切断前の状態を再現することで、情報処理装置の高速起動を実現する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１５６２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
高速起動を行う目的で不揮発性メモリに格納したデータ（揮発性メモリのスナップショットイメージ）は、通常、暗号化されていないため、第三者に容易に盗み取られるリスクがある。その対策として、揮発性メモリのスナップショットイメージを暗号化したうえで不揮発性メモリに格納することが考えられる。
しかしながら、このようにした場合、電源の再投入時においては、暗号化されたスナップショットイメージを復号した後、揮発性メモリ等に展開する必要が生じる。そうすると、スナップショットイメージを復号するための処理時間を要することとなり、高速起動の効果が損なわれ得る。【０００６】
上記課題に鑑みて、本発明は、高速起動を可能とし、かつ、セキュリティ性能を高めることができる情報処理装置、情報処理装置の制御方法及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、情報処理装置（１）は、メインメモリ（１０１）と外部記憶装置（１１）とを接続するデータバス（ＤＢ）上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか無効にするかを切り替え可能な復号回路（１２ｂ）と、前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部（１００２）と、を備える。また、前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする。
このようにすることで、電源の投入直後、スナップショットイメージをメインメモリに読み出す際には、暗号化されたスナップショットイメージが外部記憶装置からメインメモリに向けてデータバス上を伝送される過程で、ハードウェアとして構成された復号回路によって高速に復号される。したがって、高速起動の効果を損なうことなく暗号化されたスナップショットイメージを読み出すことができる。【０００８】
また、本発明の第２の態様によれば、上述の情報処理装置は、前記データバス上に設けられ、当該データバスを通じて伝送される情報に対する暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路（１２ａ）と、前記メインメモリに格納される情報を前記外部記憶装置に書き込む書込処理部と、を備える。また、前記書込処理部は、前記メインメモリに格納される情報として当該メインメモリのスナップショットイメージを書き込む場合に、前記暗号化回路の暗号化処理を有効にする。
このようにすることで、電源を切断する直前、スナップショットイメージを外部記憶装置１１に書き込む際には、平文のスナップショットイメージがメインメモリ側装置１０から外部記憶装置１１に向けてデータバスＤＢ上を伝送される過程で、ハードウェアとして構成された暗号化回路１２ａによって高速に暗号化される。したがって、電源切断時において外部記憶装置１１に書き込むべきスナップショットイメージの暗号化を高速化することができる。【０００９】
また、本発明の第３の態様によれば、前記復号回路は、前記復号処理を行うための論理演算素子（１２１ｂ）と、入力される制御信号に応じて、前記データバスを通じて伝送される情報が前記論理演算素子を経由するか否かを選択可能な選択素子（１２０ｂ）と、を備える。
このようにすることで、ハードウェアとして、復号処理を有効にするか、無効にするかを切り替え可能な復号回路を、極めて簡素な構成で実現することができる。【００１０】
また、本発明の第４の態様によれば、上述の情報処理装置は、復号用データが記録された復号用データ記録メモリ（１３）を更に備える。また、前記復号回路は、前記復号用データ記録メモリから読み出された前記復号用データに基づいて、前記データバスを通じて伝送される情報に対する復号処理を行う。
このようにすることで、復号回路は、専用のメモリ（復号用データ記録メモリ）から直接読み出される復号用データを用いて高速に復号を行うことができる。【００１１】
また、本発明の第５の態様によれば、前記復号用データは、電源が投入された直後の初期状態において、前記メインメモリに記録されている情報である。
このようにすることで、初期状態からメインメモリに記録されている情報（ＰＵＦ情報）に基づいてスナップショットイメージの暗号化を図ることができる。これにより、情報処理装置１のセキュリティ性能を一層高めることができる。【００１２】
また、本発明の第６の態様によれば、情報処理装置の制御方法は、メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路を備える情報処理装置の制御方法であって、前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出ステップを有する。また、前記読出ステップにおいて、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする。【００１３】
また、本発明の第７の態様によれば、プログラムは、メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路を備える情報処理装置を、前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部として機能させる。また、前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする。
【発明の効果】
【００１４】
上述の情報処理装置、情報処理装置の制御方法及びプログラムによれば、高速起動を可能とし、かつ、セキュリティ性能を高めることができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係る情報処理装置のハードウェア構成を模式的に示す図である。
【図２】第１の実施形態に係るＣＰＵの機能構成を示す図である。
【図３】第１の実施形態に係る情報処理装置の機能構成及び各種情報の流れを示す図である。
【図４】第１の実施形態に係る情報処理装置の第１の処理フローを示す図である。
【図５】第１の実施形態に係る情報処理装置の第１の処理フローに係る動作を説明するための図である。
【図６】第１の実施形態に係る情報処理装置の第２の処理フローを示す図である。
【図７】第１の実施形態に係る情報処理装置の第２の処理フローに係る動作を詳細に説明するための図である。
【図８】第１の実施形態に係る情報処理装置の第２の処理フローに係る動作を詳細に説明するための図である。
【図９】第２の実施形態に係るＣＰＵの機能構成を示す図である。
【図１０】第２の実施形態に係る情報処理装置の第２の処理フローを示す図である。
【発明を実施するための形態】
【００１６】
＜第１の実施形態＞
以下、図１〜図８を参照しながら、第１の実施形態に係る情報処理装置について詳細に説明する。
【００１７】
（情報処理装置のハードウェア構成）
図１は、第１の実施形態に係る情報処理装置のハードウェア構成を模式的に示す図である。
図１に示すように、情報処理装置１は、ＣＰＵ１００と、メインメモリ１０１と、外部記憶装置１１と、暗号化回路１２ａと、復号回路１２ｂと、乱数記録メモリ（復号用データ記録メモリ）１３と、を備えている。また、ＣＰＵ１００、メインメモリ１０１、外部記憶装置１１は、データバスＤＢによってそれぞれ接続されている。
【００１８】
ＣＰＵ１００は、情報処理装置１全体の動作を司るプロセッサであって、予め用意されたプログラムに従って命令を逐次実行することで種々の機能を発揮する。ＣＰＵ１００は、プログラムに基づいてメインメモリ１０１に読み出された各種命令、データにアクセスしながら演算処理を実行する。
メインメモリ１０１は、ＣＰＵ１００からの高速なアクセスを可能とする揮発性メモリであって主記憶装置とも呼ばれる。メインメモリ１０１は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）等である。
外部記憶装置１１は、大容量の不揮発性メモリであって補助記憶装置とも呼ばれる。外部記憶装置１１は、例えば、ハードディスクドライブ（Hard Disk Drive；ＨＤＤ）、ソリッドステートドライブ（Solid State Drive；ＳＳＤ）等である。
なお、本実施形態に係る外部記憶装置１１は、情報処理装置１に内蔵される態様として説明するが（図１参照）、他の実施形態においては、情報処理装置１に外付けされる態様であってもよい。
以下の説明において、ＣＰＵ１００とメインメモリ１０１とを総称してメインメモリ側装置１０とも表記する。
【００１９】
データバスＤＢは、ＣＰＵ１００とメインメモリ１０１との間、及び、ＣＰＵ１００と外部記憶装置１１との間でデータ（演算の対象とする数値、その演算結果など）のやり取りを行うための信号線である。
なお、図示を省略しているが、情報処理装置１は、データバスＤＢの他に、アドレスバス、コントロールバスを備えている。アドレスバス、コントロールバスは、データバスＤＢと同様に、ＣＰＵ１００、メインメモリ１０１及び外部記憶装置１１を接続する信号線である。アドレスバスは、メインメモリ１０１及び外部記憶装置１１における、書き込み、読み出しの目的とするデータの格納場所（アドレス）を指定するための信号線である。また、コントロールバスは、アドレスバスで指定された格納場所について、データの読み出しを行うのか、書き込みを行うかを指定するための信号線である。
【００２０】
暗号化回路１２ａは、データバスＤＢ上に設けられ、当該データバスＤＢを通じて伝送される情報に対する暗号化処理を行う論理回路である。暗号化回路１２ａは、別途入力される制御信号に応じて、暗号化処理を有効にするか、無効にするかを切り替え可能とされる。
復号回路１２ｂは、データバスＤＢ上に設けられ、当該データバスＤＢを通じて伝送される情報に対する復号処理を行う論理回路である。復号回路１２ｂは、別途入力される制御信号に応じて、復号処理を有効にするか、無効にするかを切り替え可能とされる。
【００２１】
乱数記録メモリ１３は、ＣＰＵ１００が生成した乱数が記録される記憶装置である。ここで、ＣＰＵ１００が生成する乱数は、暗号化回路１２ａが暗号化処理を行う際に用いられる暗号化用データとなり、また、復号回路１２ｂが復号処理を行う際に用いられる復号用データとなる。本実施形態においては、暗号化用データ及び復号データは、同一の乱数とされる。
本実施形態に係る乱数記録メモリ１３は、フラッシュメモリ等の書き換え可能な不揮発性メモリとされる。
【００２２】
（ＣＰＵの機能構成）
図２は、第１の実施形態に係るＣＰＵの機能構成を示す図である。
図２に示すように、ＣＰＵ１００は、予め用意されたプログラムに従って動作することで、書込処理部１００１、読出処理部１００２、及び、乱数生成部１００３としての機能を発揮する。
【００２３】
書込処理部１００１は、メインメモリ１０１に格納される情報を外部記憶装置１１に書き込む処理を行う。
読出処理部１００２は、外部記憶装置１１に書き込まれた情報をメインメモリ１０１に読み出す処理を行う。ここで、情報処理装置１の電源投入直後においては、ＣＰＵ１００は、最初に、予め定められた起動用のプログラム（ブートローダ）を読み出す。電源投入直後のＣＰＵ１００は、ここで読み出された起動用のプログラム（ブートローダ）に従って動作することで、外部記憶装置１１に格納されているデータ（後述するスナップショットイメージ）をメインメモリ１０１に読み出す読出処理部１００２として機能する。
乱数生成部１００３は、乱数を発生させるとともに、その乱数を乱数記録メモリ１３に格納する処理を行う。
【００２４】
（情報処理装置の機能構成及び各種情報の流れ）
図３は、第１の実施形態に係る情報処理装置の機能構成及び各種情報の流れを示す図である。
図３に示すように、情報処理装置１は、メインメモリ側装置１０と、外部記憶装置１１との間で各種情報（データ、アドレス及び制御信号）のやり取りを行う。
まず、図３を参照しながら、暗号化回路１２ａ及び復号回路１２ｂのハードウェア構成について説明する。
【００２５】
図３に示すように、暗号化回路１２ａは、マルチプレクサ１２０ａ（選択素子）と、論理演算素子１２１ａとを有してなる。
マルチプレクサ１２０ａは、２個の入力ポート［１］、［２］のうち、何れか一方に入力される情報を出力ポート［４］から出力する。具体的には、選択ポート［３］に入力される制御信号ＷＲ＿ｍｕｘが“Ｌ”（Ｌｏｗ）であった場合、マルチプレクサ１２０ａは、入力ポート［１］に入力される情報を出力ポート［４］から出力する。また、選択ポート［３］に入力される制御信号ＷＲ＿ｍｕｘが“Ｈ”（Ｈｉｇｈ）であった場合、マルチプレクサ１２０ａは、入力ポート［２］に入力される情報を出力ポート［４］から出力する。
論理演算素子１２１ａは、入力される２つの情報の排他的論理和（ＸＯＲ）を演算する論理演算素子である。
【００２６】
マルチプレクサ１２０ａの入力ポート［１］、及び、論理演算素子１２１ａには、書込データＷＲ＿ｄａｔａが入力される。書込データＷＲ＿ｄａｔａは、データバスＤＢを通じてメインメモリ側装置１０から外部記憶装置１１に向けて伝送される情報であって、ＣＰＵ１００（書込処理部１００１）が外部記憶装置１１に書き込むべき情報として出力する情報である。
論理演算素子１２１ａには、更に、乱数記録メモリ１３に記録されている暗号化用データＸＯＲ＿ｄａｔａが入力される。暗号化用データＸＯＲ＿ｄａｔａは、暗号化回路１２ａにおける暗号化処理に用いられる情報であり、具体的には、論理演算素子１２１ａにおいて、書込データＷＲ＿ｄａｔａとともに排他的論理和演算（ＸＯＲ）の対象となる情報である。
マルチプレクサ１２０ａの入力ポート［２］には、論理演算素子１２１ａによる、書込データＷＲ＿ｄａｔａと暗号化用データＸＯＲ＿ｄａｔａとの排他的論理和の演算結果が入力される。
マルチプレクサ１２０ａの出力ポート［４］からは、記憶装置書込データＳｔｏｒａｇｅ＿ＷＲ＿ｄａｔａが出力される。記憶装置書込データＳｔｏｒａｇｅ＿ＷＲ＿ｄａｔａは、外部記憶装置１１に実際に書き込まれる情報である。マルチプレクサ１２０ａの選択ポート［３］に入力される制御信号ＷＲ＿ｍｕｘが“Ｌ”であった場合、記憶装置書込データＳｔｏｒａｇｅ＿ＷＲ＿ｄａｔａは、書込データＷＲ＿ｄａｔａそのものとなる。即ち、制御信号ＷＲ＿ｍｕｘが“Ｌ”であった場合、暗号化回路１２ａの暗号化処理が無効化される。他方、マルチプレクサ１２０ａの選択ポート［３］に入力される制御信号ＷＲ＿ｍｕｘが“Ｈ”であった場合、記憶装置書込データＳｔｏｒａｇｅ＿ＷＲ＿ｄａｔａは、論理演算素子１２１ａによる排他的論理和の演算結果となる。即ち、制御信号ＷＲ＿ｍｕｘが“Ｈ”であった場合、暗号化回路１２ａの暗号化処理が有効化される。
【００２７】
また、図３に示すように復号回路１２ｂは、マルチプレクサ１２０ｂ（選択素子）と、論理演算素子１２１ｂとを有してなる。
マルチプレクサ１２０ｂは、２個の入力ポート［１］、［２］のうち、何れか一方に入力される情報を出力ポート［４］から出力する。具体的には、選択ポート［３］に、入力される制御信号ＲＤ＿ｍｕｘが“Ｈ”（Ｈｉｇｈ）であった場合、マルチプレクサ１２０ｂは、入力ポート［２］に入力される情報を出力ポート［４］から出力する。また、選択ポート［３］に、入力される制御信号ＲＤ＿ｍｕｘが“Ｌ”（Ｌｏｗ）であった場合、マルチプレクサ１２０ｂは、入力ポート［１］に入力される情報を出力ポート［４］から出力する。
論理演算素子１２１ｂは、入力される２つの情報の排他的論理和（ＸＯＲ）を演算する論理演算素子である。
【００２８】
マルチプレクサ１２０ｂの入力ポート［１］、及び、論理演算素子１２１ｂには、記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａが入力される。記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａは、データバスＤＢを通じて外部記憶装置１１からメインメモリ側装置１０に向けて伝送される情報であって、ＣＰＵ１００（読出処理部１００２）がメインメモリ１０１に読み出すべき情報として出力する情報である。
論理演算素子１２１ｂには、更に、乱数記録メモリ１３に記録されている復号用データＸＯＲ＿ｄａｔａが入力される（本実施形態に係る復号用データは、暗号化用データと同一の情報であるため、暗号化用データと同一の符号（ＸＯＲ＿ｄａｔａ）を付して説明する）。復号用データＸＯＲ＿ｄａｔａは、復号回路１２ｂにおける復号処理に用いられる情報であり、具体的には、論理演算素子１２１ｂにおいて、記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａとともに排他的論理和（ＸＯＲ）の演算対象となる情報である。
マルチプレクサ１２０ｂの入力ポート［２］には、論理演算素子１２１ｂによる、記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａと復号用データＸＯＲ＿ｄａｔａとの排他的論理和の演算結果が入力される。
マルチプレクサ１２０ｂの出力ポート［４］からは、読出データＲＤ＿ｄａｔａが出力される。読出データＲＤ＿ｄａｔａは、メインメモリ１０１に実際に読み出される（展開される）情報である。マルチプレクサ１２０ｂの選択ポート［３］に入力される制御信号ＲＤ＿ｍｕｘが“Ｌ”であった場合、読出データＲＤ＿ｄａｔａは、記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａそのものとなる。即ち、制御信号ＲＤ＿ｍｕｘが“Ｌ”であった場合、復号回路１２ｂの復号処理が無効化される。他方、マルチプレクサ１２０ｂの選択ポート［３］に入力される制御信号ＲＤ＿ｍｕｘが“Ｈ”であった場合、読出データＲＤ＿ｄａｔａは、論理演算素子１２１ｂによる排他的論理和の演算結果となる。即ち、制御信号ＲＤ＿ｍｕｘが“Ｈ”であった場合、復号回路１２ｂの復号処理が有効化される。
【００２９】
図３において、アドレス情報Ａｄｄｒｅｓｓは、アドレスバスを通じてメインメモリ側装置１０から外部記憶装置１１に伝送される情報であって、外部記憶装置１１に対する書き込み、読み出しの対象とするデータの格納場所（アドレス）を指定する情報である。
書込制御信号ＷＲ＃は、コントロールバスを通じてメインメモリ側装置１０から外部記憶装置１１に伝送される情報であって、外部記憶装置１１のアドレス情報Ａｄｄｒｅｓｓで指定される格納場所について、記憶装置書込データＳｔｏｒａｇｅ＿ＷＲ＿ｄａｔａを書き込むことを指示する信号である。
読出制御信号ＲＤ＃は、コントロールバスを通じてメインメモリ側装置１０から外部記憶装置１１に伝送される情報であって、外部記憶装置１１のアドレス情報Ａｄｄｒｅｓｓで指定される格納場所に格納されている記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａを読み出すことを指示する信号である。
【００３０】
次に、メインメモリ側装置１０から乱数記憶メモリ１３に出力される各種情報について説明する。
乱数記録メモリアドレス情報Ｄａｔａ＿ａｄｄｒｅｓｓは、ＣＰＵ１００（乱数生成部１００３）が生成した乱数（乱数Ｒａｎｄｏｍ＿ｄａｔａ）を格納すべき格納場所を指定する情報である。
乱数Ｒａｎｄｏｍ＿ｄａｔａは、ＣＰＵ１００（乱数生成部１００３）が生成した乱数である。
乱数記録メモリ書込制御信号ＷＲ＃＿ｒａｎｄｏｍは、乱数記録メモリ１３の乱数記録メモリアドレス情報Ｄａｔａ＿ａｄｄｒｅｓｓで指定される格納場所に、乱数Ｒａｎｄｏｍ＿ｄａｔａを書き込むことを指示する信号である。
【００３１】
（情報処理装置の第１の処理フロー）
図４は、第１の実施形態に係る情報処理装置の第１の処理フローを示す図である。
また、図５は、第１の実施形態に係る情報処理装置の第１の処理フローに係る動作を詳細に説明するための図である。
【００３２】
図４に示す第１の処理フローは、電源切断後の高速起動を可能とするために、通常の動作中に、予め乱数（暗号化用データ、復号用データ）を乱数記録メモリ１３に記録する処理の流れを示している。
【００３３】
図４に示すように、ＣＰＵ１００の乱数生成部１００３は、情報処理装置１の通常の動作中において、乱数Ｒａｎｄｏｍ＿ｄａｔａを生成する（ステップＳ０１）。
次に、乱数生成部１００３は、生成した乱数Ｒａｎｄｏｍ＿ｄａｔａを、乱数記録メモリ１３の指定アドレスに記録する（ステップＳ０２）。
例えば、図５に示すように、乱数生成部１００３は、“Ａ００００”なる乱数記録メモリアドレス情報Ｄａｔａ＿ａｄｄｒｅｓｓと、“Ｘ０００１”なる乱数Ｒａｎｄｏｍ＿ｄａｔａとを出力する。そして、乱数生成部１００３は、乱数記録メモリ書込制御信号ＷＲ＃＿ｒａｎｄｏｍを“Ｈ”から“Ｌ”に遷移させることで、乱数“Ｘ０００１”が乱数記録メモリ１３のアドレス“Ａ００００”に書き込こまれる。
乱数生成部１００３は、乱数記録メモリ１３の別のアドレス（例えば、“Ａ０００１”）についても同様に、生成した別の乱数Ｒａｎｄｏｍ＿ｄａｔａ（例えば、“Ｘ００１０”）を書き込んで行く。
このようにして乱数記録メモリ１３に記録された乱数Ｒａｎｄｏｍ＿ｄａｔａは、メインメモリ１０１のスナップショットイメージの書き込み時、読み出し時において、それぞれ、暗号化用データＸＯＲ＿ｄａｔａ、復号用データＸＯＲ＿ｄａｔａとして乱数記録メモリ１３から読み出される。
【００３４】
（情報処理装置の第２の処理フロー）
図６は、第１の実施形態に係る情報処理装置の第２の処理フローを示す図である。
また、図７、図８は、第１の実施形態に係る情報処理装置の第２の処理フローに係る動作を詳細に説明するための図である。
【００３５】
図６に示す第２の処理フローは、電源が投入され、再度、電源が切断されるまでの、情報処理装置１の一連の処理の流れを示している。
【００３６】
まず、電源オフの状態にある情報処理装置１は、使用者の操作等によって電源が投入される（ステップＳ１１）。
電源が投入されると、ＣＰＵ１００は、予め定められた記憶領域（図１に図示しない専用のＲＯＭ、フラッシュメモリ等）にアクセスし、ブートローダとして動作するための起動用のプログラムを読み出す（ステップＳ１２）。
ブートローダとして動作するＣＰＵ１００の読出処理部１００２は、復号回路１２ｂのマルチプレクサ１２０ｂに対して入力する制御信号ＲＤ＿ｍｕｘを“Ｈ”とする（ステップＳ１３）。
次に、読出処理部１００２は、メインメモリ１０１のスナップショットイメージを外部記憶装置１１から読み出す（ステップＳ１４）。スナップショットイメージとは、情報処理装置１の電源が切断される直前におけるメインメモリ１０１の全記憶領域（または一部の記憶領域）におけるデータの格納状態を示す情報である。後述するように、スナップショットイメージは、情報処理装置１の電源が切られる直前に、ＣＰＵ１００（読出処理部１００２）によって外部記憶装置１１の定められた記憶領域に書き込まれる。
【００３７】
上述のステップＳ１４の処理について、図７を参照しながら詳細に説明する。
【００３８】
図６のステップＳ１４において読出処理部１００２が行うスナップショットイメージの読み出し処理は、図７の期間Ｂ１に示される通りである。
即ち、読出処理部１００２は、マルチプレクサ１２０ｂの制御信号ＲＤ＿ｍｕｘを“Ｈ”に維持した状態で、外部記憶装置１１に対し、スナップショットイメージが書き込まれているアドレス（例えば、“Ａ１０００”なるアドレス）を示すアドレス情報Ａｄｄｒｅｓｓを出力する。なお、外部記憶装置１１のうち、メインメモリ１０１のスナップショットイメージが書き込まれるアドレスは予め定められている。また、起動用のプログラム（ブートローダ）には、スナップショットイメージを読み出すために指定すべき外部記憶装置１１のアドレスが予め記述されている。
ここで、図７の期間Ｂ１に示すように、外部記憶装置１１の“Ａ１０００”なるアドレスには、“Ｄ１０１０”なる記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａ（スナップショットイメージ）が書き込まれている。また、乱数記録メモリ１３の“Ａ１０００”なるアドレス（外部記憶装置１１のアドレス“Ａ１０００”に対応するアドレス）には、“Ｘ００１０”なる復号用データＸＯＲ＿ｄａｔａが書き込まれている。この場合において、読出処理部１００２が読出制御信号ＲＤ＃を“Ｈ”から“Ｌ”に遷移させると、外部記憶装置１１から“Ｄ１０１０”なる記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａが出力され、乱数記録メモリ１３から“Ｘ００１０”なる復号用データＸＯＲ＿ｄａｔａが出力される。その結果、復号回路１２ｂの論理演算素子１２１ｂは、直ちに、これらの情報についての排他的論理和を演算し、その結果を出力する。図７の期間Ｂ１に示すように、マルチプレクサ１２０ｂに入力される制御信号ＲＤ＿ｍｕｘは“Ｈ”であるから、マルチプレクサ１２０ｂから出力される読出データＲＤ＿ｄａｔａは、記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａ（Ｄ１０１０）と復号用データＸＯＲ＿ｄａｔａ（Ｘ００１０）との排他的論理和（Ｄ１０００）となる。つまり、メインメモリ側装置１０には、暗号化されたスナップショットイメージ（Ｄ１０１０）について復号回路１２ｂによる復号がなされたスナップショットイメージ（Ｄ１０００）が入力される。
【００３９】
図６に戻り、読出処理部１００２は、メインメモリ１０１にスナップショットイメージを読み出して、電源が切断される直前の状態を復元することで高速起動を完了する。高速起動が完了すると、ＣＰＵ１００は、ＯＳ及びアプリケーションプログラムに基づく通常の動作が可能となる。ＯＳ、アプリケーションプログラムに基づく通常の動作が可能となった段階で、ＣＰＵ１００は、制御信号ＷＲ＿ｍｕｘ及び制御信号ＲＤ＿ｍｕｘの両方を“Ｌ”とする（ステップＳ１５）。
ステップＳ１５を完了すると、ＣＰＵ１００は、情報処理装置１としての本来の機能を発揮すべく、ＯＳ及びアプリケーションプログラムに基づいて、外部記憶装置１１に対する通常のデータの読み出し、及び、書き込みを行う（ステップＳ１６）。
【００４０】
上述のステップＳ１６の処理について、図７及び図８を参照しながら詳細に説明する。
【００４１】
図６のステップＳ１６において読出処理部１００２が行う通常のデータの読み出し処理は、図７の期間Ａ１に示される通りである。
即ち、読出処理部１００２は、マルチプレクサ１２０ｂの制御信号ＲＤ＿ｍｕｘを“Ｌ”に維持した状態で、外部記憶装置１１に対し、通常のデータが書き込まれているアドレス（例えば、“Ａ００００”なるアドレス）を示すアドレス情報Ａｄｄｒｅｓｓを出力する。
ここで、図７の期間Ａ１に示すように、外部記憶装置１１の“Ａ００００”なるアドレスには、“Ｄ００００”なる記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａ（通常のデータ）が書き込まれている。また、乱数記録メモリ１３の“Ａ００００”なるアドレス（外部記憶装置１１のアドレス“Ａ００００”に対応するアドレス）には、“Ｘ０００１”なる復号用データＸＯＲ＿ｄａｔａが書き込まれている。この場合において、読出処理部１００２が読出制御信号ＲＤ＃を“Ｈ”から“Ｌ”に遷移させると、外部記憶装置１１から“Ｄ００００”なる記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａが出力され、乱数記録メモリ１３から“Ｘ０００１”なる復号用データＸＯＲ＿ｄａｔａが出力される。そうすると、復号回路１２ｂの論理演算素子１２１ｂは、直ちに、これらの情報についての排他的論理和を演算し、その結果を出力する。しかし、期間Ａ１においてマルチプレクサ１２０ｂに入力される制御信号ＲＤ＿ｍｕｘは“Ｌ”であるから、マルチプレクサ１２０ｂから出力される読出データＲＤ＿ｄａｔａは、論理演算素子１２１ｂを介さずに出力される記憶装置読出データＳｔｏｒａｇｅ＿ＲＤ＿ｄａｔａ（Ｄ００００）そのものとなる。つまり、この場合、メインメモリ側装置１０には、外部記憶装置１１から出力された通常のデータ（Ｄ００００）そのものが入力される。
【００４２】
他方、図６のステップＳ１６において書込処理部１００１が行う通常のデータの書き込み処理は、図８の期間Ａ２に示される通りである。
即ち、書込処理部１００１は、マルチプレクサ１２０ａの制御信号ＷＲ＿ｍｕｘを“Ｌ”に維持した状態で、外部記憶装置１１に対し、通常のデータを書き込もうとするアドレス（例えば、“Ａ００００”なるアドレス）を示すアドレス情報Ａｄｄｒｅｓｓを出力する。
ここで、図８の期間Ａ２に示すように、外部記憶装置１１の“Ａ００００”なるアドレスには、メインメモリ側装置１０から出力される“Ｄ００００”なる書込データＷＲ＿ｄａｔａ（通常のデータ）が書き込まれようとしている。また、乱数記録メモリ１３の“Ａ００００”なるアドレス（外部記憶装置１１のアドレス“Ａ００００”に対応するアドレス）には、“Ｘ０００１”なる暗号化用データＸＯＲ＿ｄａｔａが書き込まれている。この場合において、書込処理部１００１が書込制御信号ＷＲ＃を“Ｈ”から“Ｌ”に遷移させると、メインメモリ側装置１０から“Ｄ００００”なる書込データＷＲ＿ｄａｔａが出力され、乱数記録メモリ１３から“Ｘ０００１”なる暗号化用データＸＯＲ＿ｄａｔａが出力される。そうすると、暗号化回路１２ａの論理演算素子１２１ａは、直ちに、これらの情報についての排他的論理和を演算し、その結果を出力する。しかし、期間Ａ２においてマルチプレクサ１２０ａに入力される制御信号ＷＲ＿ｍｕｘは“Ｌ”であるから、マルチプレクサ１２０ａから出力される記憶装置書込データＳｔｏｒａｇｅ＿ＷＲ＿ｄａｔａは、論理演算素子１２１ａを介さずに出力される書込データＷＲ＿ｄａｔａ（Ｄ００００）そのものとなる。つまり、外部記憶装置１１には、メインメモリ側装置１０から出力された通常のデータ（Ｄ００００）そのものが入力される。
【００４３】
このように、起動が完了したＣＰＵ１００は、ステップＳ１５で制御信号ＷＲ＿ｍｕｘ及び制御信号ＲＤ＿ｍｕｘの両方を“Ｌ”とすることで、ステップＳ１６の通常の処理においては、外部記憶装置１１との間で、暗号化処理、復号処理を介さない、通常のデータの書き込み及び読み出しを行うことができる。
【００４４】
ＣＰＵ１００は、情報処理装置１に対し電源切断指示（例えば、使用者による電源ＯＦＦボタンの押下等）が入力されたか否かを判定する（ステップＳ１７）。電源切断指示が入力されていない場合（ステップＳ１７：ＮＯ）、ＣＰＵ１００は、情報処理装置１としての通常の処理において、外部記憶装置１１に対する通常のデータの読み出し及び書き込みを行う。他方、電源切断指示が入力された場合（ステップＳ１７：ＹＥＳ）、ＣＰＵ１００は、実際に電源を切断する前に、以下の通り、メインメモリ１０１のスナップショットイメージを外部記憶装置１１に書き込んで退避する処理を行う。
【００４５】
具体的には、書込処理部１００１は、まず、暗号化回路１２ａのマルチプレクサ１２０ａに対して入力する制御信号ＷＲ＿ｍｕｘを“Ｈ”とする（ステップＳ１８）。
そして、書込処理部１００１は、メインメモリ１０１のスナップショットイメージを外部記憶装置１１に書き込む（ステップＳ１９）。
スナップショットイメージの書き込みが完了すると、ＣＰＵ１００は、電源を切断する（ステップＳ２０）。
【００４６】
上述のステップＳ１９の処理について、図８を参照しながら詳細に説明する。
【００４７】
図６のステップＳ１９において書込処理部１００１が行うスナップショットイメージの読み出し処理は、図８の期間Ｂ２に示される通りである。
即ち、書込処理部１００１は、マルチプレクサ１２０ａの制御信号ＷＲ＿ｍｕｘを“Ｈ”に維持した状態で、外部記憶装置１１に対し、スナップショットイメージを書き込もうとするアドレス（例えば、“Ａ１０００”なるアドレス）を示すアドレス情報Ａｄｄｒｅｓｓを出力する。なお、上述したように、外部記憶装置１１のうち、メインメモリ１０１のスナップショットイメージが書き込まれるアドレスは予め定められている。
ここで、図８の期間Ｂ２に示すように、外部記憶装置１１の“Ａ１０００”なるアドレスには、“Ｄ１０００”なる書込データＷＲ＿ｄａｔａ（スナップショットイメージ）が書き込まれようとしている。また、乱数記録メモリ１３の“Ａ１０００”なるアドレス（外部記憶装置１１のアドレス“Ａ１０００”に対応するアドレス）には、“Ｘ００１０”なる暗号化用データＸＯＲ＿ｄａｔａが書き込まれている。この場合において、書込処理部１００１が書込制御信号ＷＲ＃を“Ｈ”から“Ｌ”に遷移させると、メインメモリ側装置１０から“Ｄ１０００”なる書込データＷＲ＿ｄａｔａが出力され、乱数記録メモリ１３から“Ｘ００１０”なる暗号化用データＸＯＲ＿ｄａｔａが出力される。その結果、暗号化回路１２ａの論理演算素子１２１ａは、直ちに、これらの情報についての排他的論理和を演算し、その結果を出力する。図８の期間Ｂ２に示すように、マルチプレクサ１２０ａに入力される制御信号ＷＲ＿ｍｕｘは“Ｈ”であるから、マルチプレクサ１２０ａから出力される記憶装置書込データＳｔｏｒａｇｅ＿ＷＲ＿ｄａｔａは、書込データＷＲ＿ｄａｔａ（Ｄ１０００）と暗号化用データＸＯＲ＿ｄａｔａ（Ｘ００１０）との排他的論理和（Ｄ１０１０）となる。つまり、外部記憶装置１１には、平文の（暗号化されていない）スナップショットイメージ（Ｄ１０００）について暗号化回路１２ａによる暗号化がなされたスナップショットイメージ（Ｄ１０１０）が入力される。
【００４８】
（作用・効果）
以上のとおり、第１の実施形態に係る情報処理装置１は、メインメモリ１０１と外部記憶装置１１とを接続するデータバスＤＢ上に設けられ、当該データバスＤＢを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路１２ｂと、外部記憶装置１１に書き込まれた情報をメインメモリ１０１に読み出す読出処理部１００２（ＣＰＵ１００）と、を備えている。そして、読出処理部１００２は、外部記憶装置１１に書き込まれた情報としてメインメモリ１０１のスナップショットイメージを読み出す場合に、復号回路１２ｂの復号処理を有効にする。
このようにすることで、電源の投入直後、スナップショットイメージをメインメモリ１０１に読み出す際には、暗号化されたスナップショットイメージが外部記憶装置１１からメインメモリ側装置１０に向けてデータバスＤＢ上を伝送される過程で、ハードウェアとして構成された復号回路１２ｂによって高速に復号される。
また、ＯＳ及びアプリケーションプログラムが起動した後、外部記憶装置１１から通常のデータが読み出される際には、復号回路１２ｂによる復号処理が無効化されたうえで、当該通常のデータが外部記憶装置１１からメインメモリ側装置１０に向けてデータバスＤＢ上を伝送されることとなる。
したがって、第１の実施形態に係る情報処理装置１によれば、高速起動の効果を損なうことなく暗号化されたスナップショットイメージを読み出すことができるので、高速起動を可能とし、かつ、セキュリティ性能を高めることができる。
【００４９】
また、第１の実施形態に係る情報処理装置１は、データバスＤＢ上に設けられ、当該データバスＤＢを通じて伝送される情報に対する暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路１２ａと、メインメモリ１０１に格納される情報を外部記憶装置１１に書き込む書込処理部１００１（ＣＰＵ１００）と、を備えている。そして、書込処理部１００１は、メインメモリ１０１に格納される情報としてメインメモリ１０１のスナップショットイメージを書き込む場合に、暗号化回路１２ａの暗号化処理を有効にする。
このようにすることで、情報処理装置１は、電源を切断する直前、スナップショットイメージを外部記憶装置１１に書き込む際には、平文のスナップショットイメージがメインメモリ側装置１０から外部記憶装置１１に向けてデータバスＤＢ上を伝送される過程で、ハードウェアとして構成された暗号化回路１２ａによって高速に暗号化される。
また、ＯＳ及びアプリケーションプログラムが起動した後、外部記憶装置１１へ通常のデータを書き込む際には、暗号化回路１２ａによる暗号化処理が無効化されたうえで、当該通常のデータがメインメモリ側装置１０から外部記憶装置１１に向けてデータバスＤＢ上を伝送されることとなる。
したがって、第１の実施形態に係る情報処理装置１によれば、電源切断時において外部記憶装置１１に書き込むべきスナップショットイメージの暗号化を高速化することができる。
【００５０】
また、復号回路１２ｂは、復号処理を行うための論理演算素子１２１ｂと、入力される制御信号ＲＤ＿ｍｕｘに応じて、データバスＤＢを通じて伝送される情報が論理演算素子１２１ｂを経由するか否かを選択可能なマルチプレクサ１２０ｂ（選択素子）と、を有してなる。
このようにすることで、ハードウェアとして、復号処理を有効にするか、無効にするかを切り替え可能な復号回路１２ｂを、極めて簡素な構成で実現することができる。
同様に、暗号化回路１２ａは、暗号化処理を行うための論理演算素子１２１ａと、入力される制御信号ＷＲ＿ｍｕｘに応じて、データバスＤＢを通じて伝送される情報が論理演算素子１２１ａを経由するか否かを選択可能なマルチプレクサ１２０ａ（選択素子）と、を有してなる。
このようにすることで、ハードウェアとして、暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路１２ａを、極めて簡素な構成で実現することができる。
【００５１】
また、第１の実施形態に係る情報処理装置１は、復号用データＸＯＲ＿ｄａｔａが記録された乱数記録メモリ１３（復号用データ記録メモリ）を更に備える。そして、復号回路１２ｂは、乱数記録メモリ１３から読み出された復号用データＸＯＲ＿ｄａｔａに基づいて、データバスＤＢを通じて伝送される情報に対する復号処理を行う。
このようにすることで、復号回路１２ｂは、専用のメモリ（乱数記録メモリ１３）から直接読み出される復号用データＸＯＲ＿ｄａｔａを用いて高速に復号を行うことができる。
また、第１の実施形態に係る情報処理装置１は、暗号化用データＸＯＲ＿ｄａｔａが記録された乱数記録メモリ１３（暗号化用データ記録メモリ）を更に備える。そして、暗号化回路１２ａは、乱数記録メモリ１３から読み出された暗号化用データＸＯＲ＿ｄａｔａに基づいて、データバスＤＢを通じて伝送される情報に対する暗号化処理を行う。また、本実施形態においては、暗号化用データＸＯＲ＿ｄａｔａは、復号用データＸＯＲ＿ｄａｔａと同一とされる。
このようにすることで、暗号化回路１２ａは、専用のメモリ（乱数記録メモリ１３）から直接読み出される暗号化用データＸＯＲ＿ｄａｔａを用いて高速に暗号化を行うことができる。
【００５２】
なお、第１の実施形態に係る情報処理装置１は、更に、以下の特徴を有してもよい。
即ち、電源投入（図９に示すステップＳ１１）の直後、情報処理装置１のＣＰＵ１００は、まず、ブートローダとして動作するための起動用のプログラムを読み出すこと（ステップＳ１２）を説明した。しかし、電源投入直後においてＣＰＵ１００のレジスタ等が初期化されていない段階では、制御信号ＲＤ＿ｍｕｘが“Ｈ”として出力される場合がある。この場合、上記起動用のプログラム（ブートローダ）が、データバスＤＢ上に設けられた復号回路１２ｂを経由して、当該復号回路１２ｂによる復号処理を施されたうえでメインメモリ１０１に読み出されることが想定される。そうすると、上記起動用のプログラムが意図しない復号処理（変換処理）によって破壊され、正常に起動しなくなることが考えられる。
そこで、ブートローダとして動作するための起動用のプログラムが展開される記憶領域（以下、「ブートローダ用記憶領域」と表記。）を、メインメモリ１０１とは別に用意し、かつ、当該ブートローダ用記録記憶領域には、復号回路１２ｂが設けられていない別途のデータバスＤＢが接続される態様としてもよい。これにより、上記起動用のプログラムは、復号回路１２ｂが設けられていないデータバスＤＢを経由して、そのままの状態でブートローダ用記憶領域に格納される。
また、他の実施形態においては、ブートローダとして動作するための起動用のプログラムが格納されるメインメモリ１０１上のアドレスを予め規定しておくとともに、アドレス情報Ａｄｄｒｅｓｓを入力する別途の専用回路（アドレスデコーダ）を具備する態様であってもよい。この場合、上記専用回路は、アドレスバスを通じて入力されるアドレス情報Ａｄｄｒｅｓｓが上記予め規定されたアドレスであることを検知した場合に、強制的に、マルチプレクサ１２０ｂに入力される制御信号ＲＤ＿ｍｕｘを“Ｌ”とする。このようにすることで、上記起動用のプログラムがメインメモリ１０１に展開される場合には、常に、制御信号ＲＤ＿ｍｕｘが“Ｌ”となることが保障されるので、当該プログラムは、そのままの状態でメインメモリ１０１に格納される。
【００５３】
以上、第１の実施形態に係る情報処理装置１について詳細に説明したが、情報処理装置１の具体的な態様は、上述のものに限定されることはなく、要旨を逸脱しない範囲内において種々の設計変更等を加えることは可能である。
【００５４】
例えば、暗号化回路１２ａ及び復号回路１２ｂは、排他的論理和を演算する論理演算素子１２１ａ、１２１ｂを具備する態様で説明したが、他の実施形態においてはこの態様に限定されない。
即ち、他の実施形態に係る暗号化回路１２ａ、復号回路１２ｂは、ハードウェアとしてデータバスＤＢ上に構成され、目的とする暗号化処理及び復号処理を実現可能な構成であれば、排他的論理和以外の演算を行う論理演算素子、又は、複数種類の論理演算素子の組み合わせで構成されてもよい。
【００５５】
また、他の実施形態における情報処理装置１は、ハードウェアとして構成される暗号化回路１２ａを具備しない態様であってもよい。
即ち、他の実施形態に係る情報処理装置１は、電源の切断直前においてメインメモリ１０１のスナップショットイメージを外部記憶装置１１に書き込む際、ＣＰＵ１００の処理（ソフトウェア処理）で暗号化するとともに、当該暗号化されたスナップショットイメージを外部記憶装置１１に書き込む態様であってもよい。
【００５６】
＜第２の実施形態＞
次に、図９、図１０を参照しながら、第２の実施形態に係る情報処理装置について詳細に説明する。
【００５７】
（ＣＰＵの機能構成）
図９は、第２の実施形態に係るＣＰＵの機能構成を示す図である。
なお、第２の実施形態に係る情報処理装置１のハードウェア構成については、第１の実施形態（図１）と同様であるため、図示を省略する。
【００５８】
図９に示すように、第２の実施形態に係るＣＰＵ１００は、ＰＵＦ情報記録処理部１００３ａとしての機能を発揮する。
ＰＵＦ情報記録処理部１００３ａは、メインメモリ１０１のＰＵＦ（physical unclonable function）情報を取得して、乱数記録メモリ１３に記録する処理を行う。ここで、「ＰＵＦ情報」とは、電源が投入された直後の初期状態（初期化がなされる前の状態）においてメインメモリ１０１に記録されている情報であって、メインメモリ１０１を構成するトランジスタ等の電気特性のわずかな個体差に基づいて生じる情報である。したがって、ＰＵＦ情報は、メインメモリ１０１ごとに異なる情報となる。
【００５９】
（情報処理装置の第２の処理フロー）
図１０は、第２の実施形態に係る情報処理装置の第２の処理フローを示す図である。
第２の実施形態に係る情報処理装置１の第２の処理フローは、ステップＳ１３ａを有する点で第１の実施形態と異なる。
即ち、ＣＰＵ１００のＰＵＦ情報記録処理部１００３ａ（図９）は、スナップショットイメージをメインメモリ１０１に読み出す（ステップＳ１４）前に、電源投入（ステップＳ１１）直後のメインメモリ１０１からＰＵＦ情報を読み出す。そして、ＰＵＦ情報記録処理部１００３ａは、読み出したＰＵＦ情報を乱数記録メモリ１３に記録する（ステップＳ１３ａ）。
【００６０】
ＰＵＦ情報記録処理部１００３ａによるステップＳ１３ａの処理を経て、乱数記録メモリ１３には、メインメモリ１０１のＰＵＦ情報が記録されている。続いて、読出処理部１００２は、第１の実施形態と同様に、外部記憶装置１１に書き込まれているスナップショットイメージをメインメモリ１０１に読み出す処理を行う（ステップＳ１４）。ここで、復号回路１２ｂの論理演算素子１２１ｂには、ステップＳ１３ａで乱数記録メモリ１３に記録されたＰＵＦ情報（復号用データＸＯＲ＿ｄａｔａ）が入力される。これにより、メインメモリ１０１には、ＰＵＦ情報に基づいて復号されたスナップショットイメージが読み出される。
【００６１】
また、電源切断指示を受け付けた場合（ステップＳ１７）、書込処理部１００１は、第１の実施形態と同様に、メインメモリ１０１のスナップショットイメージを外部記憶装置１１に書き込む処理を行う（ステップＳ１９）。ここで、暗号化回路１２ａの論理演算素子１２１ａには、ステップＳ１３ａで乱数記録メモリ１３に記録されたＰＵＦ情報（暗号化用データＸＯＲ＿ｄａｔａ）が入力される。これにより、外部記憶装置１１には、ＰＵＦ情報に基づいて暗号化されたスナップショットイメージが書き込まれる。
【００６２】
（作用・効果）
以上の通り、第２の実施形態に係る情報処理装置１によれば、復号用データ及び暗号化用データは、情報処理装置１の電源が投入された直後の初期状態において、メインメモリ１０１に記録されているＰＵＦ情報とされる。
このようにすることで、初期状態からメインメモリに記録されている情報（ＰＵＦ情報）に基づいてスナップショットイメージの暗号化を図ることができる。これにより、情報処理装置１のセキュリティ性能を一層高めることができる。
【００６３】
なお、第２の実施形態においては、電源投入直後のメインメモリ１０１からＰＵＦ情報が読み出されるため、情報処理装置１の電源が切れている間、復号用データとしてのＰＵＦ情報を保持しておく必要はない。したがって、第２の実施形態においては、乱数記録メモリ１３は、不揮発性メモリである必要はない。
【００６４】
また、上述の各実施形態においては、上述した情報処理装置１の各種処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。また、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００６５】
上記プログラムは、上述した機能の一部を実現するためのものであってもよい。更に、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
また、情報処理装置１は、上述の各種機能を全て具備する１台のコンピュータで構成されていても良いし、その機能の一部ずつを具備し、互いに通信可能に接続された複数のコンピュータで構成されていてもよい。
【００６６】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上述の各実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの変形例は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【産業上の利用可能性】
【００６７】
上述の情報処理装置、情報処理装置の制御方法及びプログラムによれば、高速起動を可能とし、かつ、セキュリティ性能を高めることができる。
【符号の説明】
【００６８】
１  情報処理装置
１０  メインメモリ側装置
１００  ＣＰＵ
１００１  書込処理部
１００２  読出処理部
１００３  乱数生成部
１００３ａ  ＰＵＦ情報記録処理部
１０１  メインメモリ
１１  外部記憶装置
１２ａ  暗号化回路
１２ｂ  復号回路
１２０ａ、１２０ｂ  マルチプレクサ
１２１ａ、１２１ｂ  論理演算素子
１３  乱数記録メモリ
ＤＢ  データバス
【図１】
2019087309.tif 000003
【図２】
2019087309.tif 000004
【図３】
2019087309.tif 000005
【図４】
2019087309.tif 000006
【図５】
2019087309.tif 000007
【図６】
2019087309.tif 000008
【図７】
2019087309.tif 000009
【図８】
2019087309.tif 000010
【図９】
2019087309.tif 000011
【図１０】
2019087309.tif 000012
【国際調査報告】
2019087309.tif 000013
2019087309.tif 000014
2019087309.tif 000015
2019087309.tif 000016