(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-17
(45)【発行日】2022-03-28
(54)【発明の名称】情報処理装置、情報処理装置の制御方法及びプログラム
(51)【国際特許分類】
G06F 9/4401 20180101AFI20220318BHJP
G06F 21/62 20130101ALI20220318BHJP
【FI】
G06F9/4401
G06F21/62 309
(21)【出願番号】P 2019550058
(86)(22)【出願日】2017-10-31
(86)【国際出願番号】 JP2017039418
(87)【国際公開番号】W WO2019087309
(87)【国際公開日】2019-05-09
【審査請求日】2020-04-30
【前置審査】
(73)【特許権者】
【識別番号】309036221
【氏名又は名称】三菱重工機械システム株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】亀尾 成寿
(72)【発明者】
【氏名】中本 大道
(72)【発明者】
【氏名】中山 博之
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2005/0044433(US,A1)
【文献】特開昭59-173847(JP,A)
【文献】特開昭61-051251(JP,A)
【文献】特開2008-204459(JP,A)
【文献】特開2008-299611(JP,A)
【文献】特開2010-113615(JP,A)
【文献】特開2013-005314(JP,A)
【文献】特表2013-507715(JP,A)
【文献】鈴木朋夫、株式会社ウチダ人材開発センタ,Get!CompTIA Security+ セキュリティ社会の必修科目(試験番号:SY0-401),初版,日本,株式会社ウチダ人材開発センタ,2015年10月01日,p.44-45,ISBN978-4-7981-4180-0
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/4401
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路と、
前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部と、
乱数を生成して乱数記録メモリに記録する乱数生成部と、
を備え、
前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にし、前記乱数記録メモリに記録された前記乱数を復号用データとして読み出して前記復号処理を行
い、
前記復号用データは、電源が投入された直後の初期状態において、前記メインメモリに記録されている情報である
情報処理装置。
【請求項2】
前記データバス上に設けられ、当該データバスを通じて伝送される情報に対する暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路と、
前記メインメモリに格納される情報を前記外部記憶装置に書き込む書込処理部と、
を備え、
前記書込処理部は、前記メインメモリに格納される情報として当該メインメモリのスナップショットイメージを書き込む場合に、前記暗号化回路の暗号化処理を有効にし、前記乱数記録メモリに記録された前記乱数を暗号化用データとして読み出して前記暗号化処理を行う
請求項1に記載の情報処理装置。
【請求項3】
前記復号回路は、
前記復号処理を行うための論理演算素子と、
入力される制御信号に応じて、前記データバスを通じて伝送される情報が前記論理演算素子を経由するか否かを選択可能な選択素子と、
を備える請求項1又は請求項2に記載の情報処理装置。
【請求項4】
メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路を備える情報処理装置の制御方法であって、
前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出ステップと、
乱数を生成して乱数記録メモリに記録するステップと、
を有し、
前記読出ステップにおいて、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にし、前記乱数記録メモリに記録された前記乱数を復号用データとして読み出して、前記データバスを通じて伝送される情報に対する復号処理を行
い、
前記復号用データは、電源が投入された直後の初期状態において、前記メインメモリに記録されている情報である
情報処理装置の制御方法。
【請求項5】
メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路を備える情報処理装置を、
前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部、
乱数を生成して乱数記録メモリに記録する乱数生成部、
として機能させ、
前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にし、前記乱数記録メモリに記録された前記乱数を復号用データとして読み出して、前記データバスを通じて伝送される情報に対する復号処理を行
い、
前記復号用データは、電源が投入された直後の初期状態において、前記メインメモリに記録されている情報である
プログラム。
【請求項6】
メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路と、
前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部と、
復号用データが記録された復号用データ記録メモリと、
を備え、
前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にし、
前記復号回路は、前記復号用データ記録メモリから読み出された前記復号用データに基づいて、前記データバスを通じて伝送される情報に対する復号処理を行い、
前記復号用データは、電源が投入された直後の初期状態において、前記メインメモリに記録されている情報である
情報処理装置。
【請求項7】
前記データバス上に設けられ、当該データバスを通じて伝送される情報に対する暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路と、
前記メインメモリに格納される情報を前記外部記憶装置に書き込む書込処理部と、
を備え、
前記書込処理部は、前記メインメモリに格納される情報として当該メインメモリのスナップショットイメージを書き込む場合に、前記暗号化回路の暗号化処理を有効にする
請求項
6に記載の情報処理装置。
【請求項8】
前記暗号化回路は、前記復号用データ記録メモリから読み出された前記復号用データを暗号化用データとして使用して、前記データバスを通じて伝送される情報に対する暗号化処理を行う
請求項
7に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
カーナビゲーションシステムやゲーム機などのさまざまな情報処理装置では、その起動操作(電源投入操作)が行われた直後から、当該情報処理装置の機能を利用したいという要求がある。
【0003】
特許文献1には、電源が切断される直前の揮発性メモリの記憶状態、周辺デバイスのレジスタ値、及び、プロセッサのレジスタ値を表すデータを不揮発性メモリに格納するとともに、電源の再投入時において、不揮発性メモリに格納したデータを用いて電源切断前の状態を再現することで、情報処理装置の高速起動を実現する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
高速起動を行う目的で不揮発性メモリに格納したデータ(揮発性メモリのスナップショットイメージ)は、通常、暗号化されていないため、第三者に容易に盗み取られるリスクがある。その対策として、揮発性メモリのスナップショットイメージを暗号化したうえで不揮発性メモリに格納することが考えられる。
しかしながら、このようにした場合、電源の再投入時においては、暗号化されたスナップショットイメージを復号した後、揮発性メモリ等に展開する必要が生じる。そうすると、スナップショットイメージを復号するための処理時間を要することとなり、高速起動の効果が損なわれ得る。
【0006】
上記課題に鑑みて、本発明は、高速起動を可能とし、かつ、セキュリティ性能を高めることができる情報処理装置、情報処理装置の制御方法及びプログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の第1の態様によれば、情報処理装置(1)は、メインメモリ(101)と外部記憶装置(11)とを接続するデータバス(DB)上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか無効にするかを切り替え可能な復号回路(12b)と、前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部(1002)と、を備える。また、前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする。
このようにすることで、電源の投入直後、スナップショットイメージをメインメモリに読み出す際には、暗号化されたスナップショットイメージが外部記憶装置からメインメモリに向けてデータバス上を伝送される過程で、ハードウェアとして構成された復号回路によって高速に復号される。したがって、高速起動の効果を損なうことなく暗号化されたスナップショットイメージを読み出すことができる。
【0008】
また、本発明の第2の態様によれば、上述の情報処理装置は、前記データバス上に設けられ、当該データバスを通じて伝送される情報に対する暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路(12a)と、前記メインメモリに格納される情報を前記外部記憶装置に書き込む書込処理部と、を備える。また、前記書込処理部は、前記メインメモリに格納される情報として当該メインメモリのスナップショットイメージを書き込む場合に、前記暗号化回路の暗号化処理を有効にする。
このようにすることで、電源を切断する直前、スナップショットイメージを外部記憶装置11に書き込む際には、平文のスナップショットイメージがメインメモリ側装置10から外部記憶装置11に向けてデータバスDB上を伝送される過程で、ハードウェアとして構成された暗号化回路12aによって高速に暗号化される。したがって、電源切断時において外部記憶装置11に書き込むべきスナップショットイメージの暗号化を高速化することができる。
【0009】
また、本発明の第3の態様によれば、前記復号回路は、前記復号処理を行うための論理演算素子(121b)と、入力される制御信号に応じて、前記データバスを通じて伝送される情報が前記論理演算素子を経由するか否かを選択可能な選択素子(120b)と、を備える。
このようにすることで、ハードウェアとして、復号処理を有効にするか、無効にするかを切り替え可能な復号回路を、極めて簡素な構成で実現することができる。
【0010】
また、本発明の第4の態様によれば、上述の情報処理装置は、復号用データが記録された復号用データ記録メモリ(13)を更に備える。また、前記復号回路は、前記復号用データ記録メモリから読み出された前記復号用データに基づいて、前記データバスを通じて伝送される情報に対する復号処理を行う。
このようにすることで、復号回路は、専用のメモリ(復号用データ記録メモリ)から直接読み出される復号用データを用いて高速に復号を行うことができる。
【0011】
また、本発明の第5の態様によれば、前記復号用データは、電源が投入された直後の初期状態において、前記メインメモリに記録されている情報である。
このようにすることで、初期状態からメインメモリに記録されている情報(PUF情報)に基づいてスナップショットイメージの暗号化を図ることができる。これにより、情報処理装置1のセキュリティ性能を一層高めることができる。
【0012】
また、本発明の第6の態様によれば、情報処理装置の制御方法は、メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路を備える情報処理装置の制御方法であって、前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出ステップを有する。また、前記読出ステップにおいて、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする。
【0013】
また、本発明の第7の態様によれば、プログラムは、メインメモリと外部記憶装置とを接続するデータバス上に設けられ、当該データバスを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路を備える情報処理装置を、前記外部記憶装置に書き込まれた情報を前記メインメモリに読み出す読出処理部として機能させる。また、前記読出処理部は、前記外部記憶装置に書き込まれた情報として前記メインメモリのスナップショットイメージを読み出す場合に、前記復号回路の復号処理を有効にする。
【発明の効果】
【0014】
上述の情報処理装置、情報処理装置の制御方法及びプログラムによれば、高速起動を可能とし、かつ、セキュリティ性能を高めることができる。
【図面の簡単な説明】
【0015】
【
図1】第1の実施形態に係る情報処理装置のハードウェア構成を模式的に示す図である。
【
図2】第1の実施形態に係るCPUの機能構成を示す図である。
【
図3】第1の実施形態に係る情報処理装置の機能構成及び各種情報の流れを示す図である。
【
図4】第1の実施形態に係る情報処理装置の第1の処理フローを示す図である。
【
図5】第1の実施形態に係る情報処理装置の第1の処理フローに係る動作を説明するための図である。
【
図6】第1の実施形態に係る情報処理装置の第2の処理フローを示す図である。
【
図7】第1の実施形態に係る情報処理装置の第2の処理フローに係る動作を詳細に説明するための図である。
【
図8】第1の実施形態に係る情報処理装置の第2の処理フローに係る動作を詳細に説明するための図である。
【
図9】第2の実施形態に係るCPUの機能構成を示す図である。
【
図10】第2の実施形態に係る情報処理装置の第2の処理フローを示す図である。
【発明を実施するための形態】
【0016】
<第1の実施形態>
以下、
図1~
図8を参照しながら、第1の実施形態に係る情報処理装置について詳細に説明する。
【0017】
(情報処理装置のハードウェア構成)
図1は、第1の実施形態に係る情報処理装置のハードウェア構成を模式的に示す図である。
図1に示すように、情報処理装置1は、CPU100と、メインメモリ101と、外部記憶装置11と、暗号化回路12aと、復号回路12bと、乱数記録メモリ(復号用データ記録メモリ)13と、を備えている。また、CPU100、メインメモリ101、外部記憶装置11は、データバスDBによってそれぞれ接続されている。
【0018】
CPU100は、情報処理装置1全体の動作を司るプロセッサであって、予め用意されたプログラムに従って命令を逐次実行することで種々の機能を発揮する。CPU100は、プログラムに基づいてメインメモリ101に読み出された各種命令、データにアクセスしながら演算処理を実行する。
メインメモリ101は、CPU100からの高速なアクセスを可能とする揮発性メモリであって主記憶装置とも呼ばれる。メインメモリ101は、例えば、DRAM(Dynamic Random Access Memory)等である。
外部記憶装置11は、大容量の不揮発性メモリであって補助記憶装置とも呼ばれる。外部記憶装置11は、例えば、ハードディスクドライブ(Hard Disk Drive;HDD)、ソリッドステートドライブ(Solid State Drive;SSD)等である。
なお、本実施形態に係る外部記憶装置11は、情報処理装置1に内蔵される態様として説明するが(
図1参照)、他の実施形態においては、情報処理装置1に外付けされる態様であってもよい。
以下の説明において、CPU100とメインメモリ101とを総称してメインメモリ側装置10とも表記する。
【0019】
データバスDBは、CPU100とメインメモリ101との間、及び、CPU100と外部記憶装置11との間でデータ(演算の対象とする数値、その演算結果など)のやり取りを行うための信号線である。
なお、図示を省略しているが、情報処理装置1は、データバスDBの他に、アドレスバス、コントロールバスを備えている。アドレスバス、コントロールバスは、データバスDBと同様に、CPU100、メインメモリ101及び外部記憶装置11を接続する信号線である。アドレスバスは、メインメモリ101及び外部記憶装置11における、書き込み、読み出しの目的とするデータの格納場所(アドレス)を指定するための信号線である。また、コントロールバスは、アドレスバスで指定された格納場所について、データの読み出しを行うのか、書き込みを行うかを指定するための信号線である。
【0020】
暗号化回路12aは、データバスDB上に設けられ、当該データバスDBを通じて伝送される情報に対する暗号化処理を行う論理回路である。暗号化回路12aは、別途入力される制御信号に応じて、暗号化処理を有効にするか、無効にするかを切り替え可能とされる。
復号回路12bは、データバスDB上に設けられ、当該データバスDBを通じて伝送される情報に対する復号処理を行う論理回路である。復号回路12bは、別途入力される制御信号に応じて、復号処理を有効にするか、無効にするかを切り替え可能とされる。
【0021】
乱数記録メモリ13は、CPU100が生成した乱数が記録される記憶装置である。ここで、CPU100が生成する乱数は、暗号化回路12aが暗号化処理を行う際に用いられる暗号化用データとなり、また、復号回路12bが復号処理を行う際に用いられる復号用データとなる。本実施形態においては、暗号化用データ及び復号データは、同一の乱数とされる。
本実施形態に係る乱数記録メモリ13は、フラッシュメモリ等の書き換え可能な不揮発性メモリとされる。
【0022】
(CPUの機能構成)
図2は、第1の実施形態に係るCPUの機能構成を示す図である。
図2に示すように、CPU100は、予め用意されたプログラムに従って動作することで、書込処理部1001、読出処理部1002、及び、乱数生成部1003としての機能を発揮する。
【0023】
書込処理部1001は、メインメモリ101に格納される情報を外部記憶装置11に書き込む処理を行う。
読出処理部1002は、外部記憶装置11に書き込まれた情報をメインメモリ101に読み出す処理を行う。ここで、情報処理装置1の電源投入直後においては、CPU100は、最初に、予め定められた起動用のプログラム(ブートローダ)を読み出す。電源投入直後のCPU100は、ここで読み出された起動用のプログラム(ブートローダ)に従って動作することで、外部記憶装置11に格納されているデータ(後述するスナップショットイメージ)をメインメモリ101に読み出す読出処理部1002として機能する。
乱数生成部1003は、乱数を発生させるとともに、その乱数を乱数記録メモリ13に格納する処理を行う。
【0024】
(情報処理装置の機能構成及び各種情報の流れ)
図3は、第1の実施形態に係る情報処理装置の機能構成及び各種情報の流れを示す図である。
図3に示すように、情報処理装置1は、メインメモリ側装置10と、外部記憶装置11との間で各種情報(データ、アドレス及び制御信号)のやり取りを行う。
まず、
図3を参照しながら、暗号化回路12a及び復号回路12bのハードウェア構成について説明する。
【0025】
図3に示すように、暗号化回路12aは、マルチプレクサ120a(選択素子)と、論理演算素子121aとを有してなる。
マルチプレクサ120aは、2個の入力ポート[1]、[2]のうち、何れか一方に入力される情報を出力ポート[4]から出力する。具体的には、選択ポート[3]に入力される制御信号WR_muxが“L”(Low)であった場合、マルチプレクサ120aは、入力ポート[1]に入力される情報を出力ポート[4]から出力する。また、選択ポート[3]に入力される制御信号WR_muxが“H”(High)であった場合、マルチプレクサ120aは、入力ポート[2]に入力される情報を出力ポート[4]から出力する。
論理演算素子121aは、入力される2つの情報の排他的論理和(XOR)を演算する論理演算素子である。
【0026】
マルチプレクサ120aの入力ポート[1]、及び、論理演算素子121aには、書込データWR_dataが入力される。書込データWR_dataは、データバスDBを通じてメインメモリ側装置10から外部記憶装置11に向けて伝送される情報であって、CPU100(書込処理部1001)が外部記憶装置11に書き込むべき情報として出力する情報である。
論理演算素子121aには、更に、乱数記録メモリ13に記録されている暗号化用データXOR_dataが入力される。暗号化用データXOR_dataは、暗号化回路12aにおける暗号化処理に用いられる情報であり、具体的には、論理演算素子121aにおいて、書込データWR_dataとともに排他的論理和演算(XOR)の対象となる情報である。
マルチプレクサ120aの入力ポート[2]には、論理演算素子121aによる、書込データWR_dataと暗号化用データXOR_dataとの排他的論理和の演算結果が入力される。
マルチプレクサ120aの出力ポート[4]からは、記憶装置書込データStorage_WR_dataが出力される。記憶装置書込データStorage_WR_dataは、外部記憶装置11に実際に書き込まれる情報である。マルチプレクサ120aの選択ポート[3]に入力される制御信号WR_muxが“L”であった場合、記憶装置書込データStorage_WR_dataは、書込データWR_dataそのものとなる。即ち、制御信号WR_muxが“L”であった場合、暗号化回路12aの暗号化処理が無効化される。他方、マルチプレクサ120aの選択ポート[3]に入力される制御信号WR_muxが“H”であった場合、記憶装置書込データStorage_WR_dataは、論理演算素子121aによる排他的論理和の演算結果となる。即ち、制御信号WR_muxが“H”であった場合、暗号化回路12aの暗号化処理が有効化される。
【0027】
また、
図3に示すように復号回路12bは、マルチプレクサ120b(選択素子)と、論理演算素子121bとを有してなる。
マルチプレクサ120bは、2個の入力ポート[1]、[2]のうち、何れか一方に入力される情報を出力ポート[4]から出力する。具体的には、選択ポート[3]に、入力される制御信号RD_muxが“H”(High)であった場合、マルチプレクサ120bは、入力ポート[2]に入力される情報を出力ポート[4]から出力する。また、選択ポート[3]に、入力される制御信号RD_muxが“L”(Low)であった場合、マルチプレクサ120bは、入力ポート[1]に入力される情報を出力ポート[4]から出力する。
論理演算素子121bは、入力される2つの情報の排他的論理和(XOR)を演算する論理演算素子である。
【0028】
マルチプレクサ120bの入力ポート[1]、及び、論理演算素子121bには、記憶装置読出データStorage_RD_dataが入力される。記憶装置読出データStorage_RD_dataは、データバスDBを通じて外部記憶装置11からメインメモリ側装置10に向けて伝送される情報であって、CPU100(読出処理部1002)がメインメモリ101に読み出すべき情報として出力する情報である。
論理演算素子121bには、更に、乱数記録メモリ13に記録されている復号用データXOR_dataが入力される(本実施形態に係る復号用データは、暗号化用データと同一の情報であるため、暗号化用データと同一の符号(XOR_data)を付して説明する)。復号用データXOR_dataは、復号回路12bにおける復号処理に用いられる情報であり、具体的には、論理演算素子121bにおいて、記憶装置読出データStorage_RD_dataとともに排他的論理和(XOR)の演算対象となる情報である。
マルチプレクサ120bの入力ポート[2]には、論理演算素子121bによる、記憶装置読出データStorage_RD_dataと復号用データXOR_dataとの排他的論理和の演算結果が入力される。
マルチプレクサ120bの出力ポート[4]からは、読出データRD_dataが出力される。読出データRD_dataは、メインメモリ101に実際に読み出される(展開される)情報である。マルチプレクサ120bの選択ポート[3]に入力される制御信号RD_muxが“L”であった場合、読出データRD_dataは、記憶装置読出データStorage_RD_dataそのものとなる。即ち、制御信号RD_muxが“L”であった場合、復号回路12bの復号処理が無効化される。他方、マルチプレクサ120bの選択ポート[3]に入力される制御信号RD_muxが“H”であった場合、読出データRD_dataは、論理演算素子121bによる排他的論理和の演算結果となる。即ち、制御信号RD_muxが“H”であった場合、復号回路12bの復号処理が有効化される。
【0029】
図3において、アドレス情報Addressは、アドレスバスを通じてメインメモリ側装置10から外部記憶装置11に伝送される情報であって、外部記憶装置11に対する書き込み、読み出しの対象とするデータの格納場所(アドレス)を指定する情報である。
書込制御信号WR#は、コントロールバスを通じてメインメモリ側装置10から外部記憶装置11に伝送される情報であって、外部記憶装置11のアドレス情報Addressで指定される格納場所について、記憶装置書込データStorage_WR_dataを書き込むことを指示する信号である。
読出制御信号RD#は、コントロールバスを通じてメインメモリ側装置10から外部記憶装置11に伝送される情報であって、外部記憶装置11のアドレス情報Addressで指定される格納場所に格納されている記憶装置読出データStorage_RD_dataを読み出すことを指示する信号である。
【0030】
次に、メインメモリ側装置10から乱数記憶メモリ13に出力される各種情報について説明する。
乱数記録メモリアドレス情報Data_addressは、CPU100(乱数生成部1003)が生成した乱数(乱数Random_data)を格納すべき格納場所を指定する情報である。
乱数Random_dataは、CPU100(乱数生成部1003)が生成した乱数である。
乱数記録メモリ書込制御信号WR#_randomは、乱数記録メモリ13の乱数記録メモリアドレス情報Data_addressで指定される格納場所に、乱数Random_dataを書き込むことを指示する信号である。
【0031】
(情報処理装置の第1の処理フロー)
図4は、第1の実施形態に係る情報処理装置の第1の処理フローを示す図である。
また、
図5は、第1の実施形態に係る情報処理装置の第1の処理フローに係る動作を詳細に説明するための図である。
【0032】
図4に示す第1の処理フローは、電源切断後の高速起動を可能とするために、通常の動作中に、予め乱数(暗号化用データ、復号用データ)を乱数記録メモリ13に記録する処理の流れを示している。
【0033】
図4に示すように、CPU100の乱数生成部1003は、情報処理装置1の通常の動作中において、乱数Random_dataを生成する(ステップS01)。
次に、乱数生成部1003は、生成した乱数Random_dataを、乱数記録メモリ13の指定アドレスに記録する(ステップS02)。
例えば、
図5に示すように、乱数生成部1003は、“A0000”なる乱数記録メモリアドレス情報Data_addressと、“X0001”なる乱数Random_dataとを出力する。そして、乱数生成部1003は、乱数記録メモリ書込制御信号WR#_randomを“H”から“L”に遷移させることで、乱数“X0001”が乱数記録メモリ13のアドレス“A0000”に書き込こまれる。
乱数生成部1003は、乱数記録メモリ13の別のアドレス(例えば、“A0001”)についても同様に、生成した別の乱数Random_data(例えば、“X0010”)を書き込んで行く。
このようにして乱数記録メモリ13に記録された乱数Random_dataは、メインメモリ101のスナップショットイメージの書き込み時、読み出し時において、それぞれ、暗号化用データXOR_data、復号用データXOR_dataとして乱数記録メモリ13から読み出される。
【0034】
(情報処理装置の第2の処理フロー)
図6は、第1の実施形態に係る情報処理装置の第2の処理フローを示す図である。
また、
図7、
図8は、第1の実施形態に係る情報処理装置の第2の処理フローに係る動作を詳細に説明するための図である。
【0035】
図6に示す第2の処理フローは、電源が投入され、再度、電源が切断されるまでの、情報処理装置1の一連の処理の流れを示している。
【0036】
まず、電源オフの状態にある情報処理装置1は、使用者の操作等によって電源が投入される(ステップS11)。
電源が投入されると、CPU100は、予め定められた記憶領域(
図1に図示しない専用のROM、フラッシュメモリ等)にアクセスし、ブートローダとして動作するための起動用のプログラムを読み出す(ステップS12)。
ブートローダとして動作するCPU100の読出処理部1002は、復号回路12bのマルチプレクサ120bに対して入力する制御信号RD_muxを“H”とする(ステップS13)。
次に、読出処理部1002は、メインメモリ101のスナップショットイメージを外部記憶装置11から読み出す(ステップS14)。スナップショットイメージとは、情報処理装置1の電源が切断される直前におけるメインメモリ101の全記憶領域(または一部の記憶領域)におけるデータの格納状態を示す情報である。後述するように、スナップショットイメージは、情報処理装置1の電源が切られる直前に、CPU100(読出処理部1002)によって外部記憶装置11の定められた記憶領域に書き込まれる。
【0037】
上述のステップS14の処理について、
図7を参照しながら詳細に説明する。
【0038】
図6のステップS14において読出処理部1002が行うスナップショットイメージの読み出し処理は、
図7の期間B1に示される通りである。
即ち、読出処理部1002は、マルチプレクサ120bの制御信号RD_muxを“H”に維持した状態で、外部記憶装置11に対し、スナップショットイメージが書き込まれているアドレス(例えば、“A1000”なるアドレス)を示すアドレス情報Addressを出力する。なお、外部記憶装置11のうち、メインメモリ101のスナップショットイメージが書き込まれるアドレスは予め定められている。また、起動用のプログラム(ブートローダ)には、スナップショットイメージを読み出すために指定すべき外部記憶装置11のアドレスが予め記述されている。
ここで、
図7の期間B1に示すように、外部記憶装置11の“A1000”なるアドレスには、“D1010”なる記憶装置読出データStorage_RD_data(スナップショットイメージ)が書き込まれている。また、乱数記録メモリ13の“A1000”なるアドレス(外部記憶装置11のアドレス“A1000”に対応するアドレス)には、“X0010”なる復号用データXOR_dataが書き込まれている。この場合において、読出処理部1002が読出制御信号RD#を“H”から“L”に遷移させると、外部記憶装置11から“D1010”なる記憶装置読出データStorage_RD_dataが出力され、乱数記録メモリ13から“X0010”なる復号用データXOR_dataが出力される。その結果、復号回路12bの論理演算素子121bは、直ちに、これらの情報についての排他的論理和を演算し、その結果を出力する。
図7の期間B1に示すように、マルチプレクサ120bに入力される制御信号RD_muxは“H”であるから、マルチプレクサ120bから出力される読出データRD_dataは、記憶装置読出データStorage_RD_data(D1010)と復号用データXOR_data(X0010)との排他的論理和(D1000)となる。つまり、メインメモリ側装置10には、暗号化されたスナップショットイメージ(D1010)について復号回路12bによる復号がなされたスナップショットイメージ(D1000)が入力される。
【0039】
図6に戻り、読出処理部1002は、メインメモリ101にスナップショットイメージを読み出して、電源が切断される直前の状態を復元することで高速起動を完了する。高速起動が完了すると、CPU100は、OS及びアプリケーションプログラムに基づく通常の動作が可能となる。OS、アプリケーションプログラムに基づく通常の動作が可能となった段階で、CPU100は、制御信号WR_mux及び制御信号RD_muxの両方を“L”とする(ステップS15)。
ステップS15を完了すると、CPU100は、情報処理装置1としての本来の機能を発揮すべく、OS及びアプリケーションプログラムに基づいて、外部記憶装置11に対する通常のデータの読み出し、及び、書き込みを行う(ステップS16)。
【0040】
上述のステップS16の処理について、
図7及び
図8を参照しながら詳細に説明する。
【0041】
図6のステップS16において読出処理部1002が行う通常のデータの読み出し処理は、
図7の期間A1に示される通りである。
即ち、読出処理部1002は、マルチプレクサ120bの制御信号RD_muxを“L”に維持した状態で、外部記憶装置11に対し、通常のデータが書き込まれているアドレス(例えば、“A0000”なるアドレス)を示すアドレス情報Addressを出力する。
ここで、
図7の期間A1に示すように、外部記憶装置11の“A0000”なるアドレスには、“D0000”なる記憶装置読出データStorage_RD_data(通常のデータ)が書き込まれている。また、乱数記録メモリ13の“A0000”なるアドレス(外部記憶装置11のアドレス“A0000”に対応するアドレス)には、“X0001”なる復号用データXOR_dataが書き込まれている。この場合において、読出処理部1002が読出制御信号RD#を“H”から“L”に遷移させると、外部記憶装置11から“D0000”なる記憶装置読出データStorage_RD_dataが出力され、乱数記録メモリ13から“X0001”なる復号用データXOR_dataが出力される。そうすると、復号回路12bの論理演算素子121bは、直ちに、これらの情報についての排他的論理和を演算し、その結果を出力する。しかし、期間A1においてマルチプレクサ120bに入力される制御信号RD_muxは“L”であるから、マルチプレクサ120bから出力される読出データRD_dataは、論理演算素子121bを介さずに出力される記憶装置読出データStorage_RD_data(D0000)そのものとなる。つまり、この場合、メインメモリ側装置10には、外部記憶装置11から出力された通常のデータ(D0000)そのものが入力される。
【0042】
他方、
図6のステップS16において書込処理部1001が行う通常のデータの書き込み処理は、
図8の期間A2に示される通りである。
即ち、書込処理部1001は、マルチプレクサ120aの制御信号WR_muxを“L”に維持した状態で、外部記憶装置11に対し、通常のデータを書き込もうとするアドレス(例えば、“A0000”なるアドレス)を示すアドレス情報Addressを出力する。
ここで、
図8の期間A2に示すように、外部記憶装置11の“A0000”なるアドレスには、メインメモリ側装置10から出力される“D0000”なる書込データWR_data(通常のデータ)が書き込まれようとしている。また、乱数記録メモリ13の“A0000”なるアドレス(外部記憶装置11のアドレス“A0000”に対応するアドレス)には、“X0001”なる暗号化用データXOR_dataが書き込まれている。この場合において、書込処理部1001が書込制御信号WR#を“H”から“L”に遷移させると、メインメモリ側装置10から“D0000”なる書込データWR_dataが出力され、乱数記録メモリ13から“X0001”なる暗号化用データXOR_dataが出力される。そうすると、暗号化回路12aの論理演算素子121aは、直ちに、これらの情報についての排他的論理和を演算し、その結果を出力する。しかし、期間A2においてマルチプレクサ120aに入力される制御信号WR_muxは“L”であるから、マルチプレクサ120aから出力される記憶装置書込データStorage_WR_dataは、論理演算素子121aを介さずに出力される書込データWR_data(D0000)そのものとなる。つまり、外部記憶装置11には、メインメモリ側装置10から出力された通常のデータ(D0000)そのものが入力される。
【0043】
このように、起動が完了したCPU100は、ステップS15で制御信号WR_mux及び制御信号RD_muxの両方を“L”とすることで、ステップS16の通常の処理においては、外部記憶装置11との間で、暗号化処理、復号処理を介さない、通常のデータの書き込み及び読み出しを行うことができる。
【0044】
CPU100は、情報処理装置1に対し電源切断指示(例えば、使用者による電源OFFボタンの押下等)が入力されたか否かを判定する(ステップS17)。電源切断指示が入力されていない場合(ステップS17:NO)、CPU100は、情報処理装置1としての通常の処理において、外部記憶装置11に対する通常のデータの読み出し及び書き込みを行う。他方、電源切断指示が入力された場合(ステップS17:YES)、CPU100は、実際に電源を切断する前に、以下の通り、メインメモリ101のスナップショットイメージを外部記憶装置11に書き込んで退避する処理を行う。
【0045】
具体的には、書込処理部1001は、まず、暗号化回路12aのマルチプレクサ120aに対して入力する制御信号WR_muxを“H”とする(ステップS18)。
そして、書込処理部1001は、メインメモリ101のスナップショットイメージを外部記憶装置11に書き込む(ステップS19)。
スナップショットイメージの書き込みが完了すると、CPU100は、電源を切断する(ステップS20)。
【0046】
上述のステップS19の処理について、
図8を参照しながら詳細に説明する。
【0047】
図6のステップS19において書込処理部1001が行うスナップショットイメージの読み出し処理は、
図8の期間B2に示される通りである。
即ち、書込処理部1001は、マルチプレクサ120aの制御信号WR_muxを“H”に維持した状態で、外部記憶装置11に対し、スナップショットイメージを書き込もうとするアドレス(例えば、“A1000”なるアドレス)を示すアドレス情報Addressを出力する。なお、上述したように、外部記憶装置11のうち、メインメモリ101のスナップショットイメージが書き込まれるアドレスは予め定められている。
ここで、
図8の期間B2に示すように、外部記憶装置11の“A1000”なるアドレスには、“D1000”なる書込データWR_data(スナップショットイメージ)が書き込まれようとしている。また、乱数記録メモリ13の“A1000”なるアドレス(外部記憶装置11のアドレス“A1000”に対応するアドレス)には、“X0010”なる暗号化用データXOR_dataが書き込まれている。この場合において、書込処理部1001が書込制御信号WR#を“H”から“L”に遷移させると、メインメモリ側装置10から“D1000”なる書込データWR_dataが出力され、乱数記録メモリ13から“X0010”なる暗号化用データXOR_dataが出力される。その結果、暗号化回路12aの論理演算素子121aは、直ちに、これらの情報についての排他的論理和を演算し、その結果を出力する。
図8の期間B2に示すように、マルチプレクサ120aに入力される制御信号WR_muxは“H”であるから、マルチプレクサ120aから出力される記憶装置書込データStorage_WR_dataは、書込データWR_data(D1000)と暗号化用データXOR_data(X0010)との排他的論理和(D1010)となる。つまり、外部記憶装置11には、平文の(暗号化されていない)スナップショットイメージ(D1000)について暗号化回路12aによる暗号化がなされたスナップショットイメージ(D1010)が入力される。
【0048】
(作用・効果)
以上のとおり、第1の実施形態に係る情報処理装置1は、メインメモリ101と外部記憶装置11とを接続するデータバスDB上に設けられ、当該データバスDBを通じて伝送される情報に対する復号処理を有効にするか、無効にするかを切り替え可能な復号回路12bと、外部記憶装置11に書き込まれた情報をメインメモリ101に読み出す読出処理部1002(CPU100)と、を備えている。そして、読出処理部1002は、外部記憶装置11に書き込まれた情報としてメインメモリ101のスナップショットイメージを読み出す場合に、復号回路12bの復号処理を有効にする。
このようにすることで、電源の投入直後、スナップショットイメージをメインメモリ101に読み出す際には、暗号化されたスナップショットイメージが外部記憶装置11からメインメモリ側装置10に向けてデータバスDB上を伝送される過程で、ハードウェアとして構成された復号回路12bによって高速に復号される。
また、OS及びアプリケーションプログラムが起動した後、外部記憶装置11から通常のデータが読み出される際には、復号回路12bによる復号処理が無効化されたうえで、当該通常のデータが外部記憶装置11からメインメモリ側装置10に向けてデータバスDB上を伝送されることとなる。
したがって、第1の実施形態に係る情報処理装置1によれば、高速起動の効果を損なうことなく暗号化されたスナップショットイメージを読み出すことができるので、高速起動を可能とし、かつ、セキュリティ性能を高めることができる。
【0049】
また、第1の実施形態に係る情報処理装置1は、データバスDB上に設けられ、当該データバスDBを通じて伝送される情報に対する暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路12aと、メインメモリ101に格納される情報を外部記憶装置11に書き込む書込処理部1001(CPU100)と、を備えている。そして、書込処理部1001は、メインメモリ101に格納される情報としてメインメモリ101のスナップショットイメージを書き込む場合に、暗号化回路12aの暗号化処理を有効にする。
このようにすることで、情報処理装置1は、電源を切断する直前、スナップショットイメージを外部記憶装置11に書き込む際には、平文のスナップショットイメージがメインメモリ側装置10から外部記憶装置11に向けてデータバスDB上を伝送される過程で、ハードウェアとして構成された暗号化回路12aによって高速に暗号化される。
また、OS及びアプリケーションプログラムが起動した後、外部記憶装置11へ通常のデータを書き込む際には、暗号化回路12aによる暗号化処理が無効化されたうえで、当該通常のデータがメインメモリ側装置10から外部記憶装置11に向けてデータバスDB上を伝送されることとなる。
したがって、第1の実施形態に係る情報処理装置1によれば、電源切断時において外部記憶装置11に書き込むべきスナップショットイメージの暗号化を高速化することができる。
【0050】
また、復号回路12bは、復号処理を行うための論理演算素子121bと、入力される制御信号RD_muxに応じて、データバスDBを通じて伝送される情報が論理演算素子121bを経由するか否かを選択可能なマルチプレクサ120b(選択素子)と、を有してなる。
このようにすることで、ハードウェアとして、復号処理を有効にするか、無効にするかを切り替え可能な復号回路12bを、極めて簡素な構成で実現することができる。
同様に、暗号化回路12aは、暗号化処理を行うための論理演算素子121aと、入力される制御信号WR_muxに応じて、データバスDBを通じて伝送される情報が論理演算素子121aを経由するか否かを選択可能なマルチプレクサ120a(選択素子)と、を有してなる。
このようにすることで、ハードウェアとして、暗号化処理を有効にするか、無効にするかを切り替え可能な暗号化回路12aを、極めて簡素な構成で実現することができる。
【0051】
また、第1の実施形態に係る情報処理装置1は、復号用データXOR_dataが記録された乱数記録メモリ13(復号用データ記録メモリ)を更に備える。そして、復号回路12bは、乱数記録メモリ13から読み出された復号用データXOR_dataに基づいて、データバスDBを通じて伝送される情報に対する復号処理を行う。
このようにすることで、復号回路12bは、専用のメモリ(乱数記録メモリ13)から直接読み出される復号用データXOR_dataを用いて高速に復号を行うことができる。
また、第1の実施形態に係る情報処理装置1は、暗号化用データXOR_dataが記録された乱数記録メモリ13(暗号化用データ記録メモリ)を更に備える。そして、暗号化回路12aは、乱数記録メモリ13から読み出された暗号化用データXOR_dataに基づいて、データバスDBを通じて伝送される情報に対する暗号化処理を行う。また、本実施形態においては、暗号化用データXOR_dataは、復号用データXOR_dataと同一とされる。
このようにすることで、暗号化回路12aは、専用のメモリ(乱数記録メモリ13)から直接読み出される暗号化用データXOR_dataを用いて高速に暗号化を行うことができる。
【0052】
なお、第1の実施形態に係る情報処理装置1は、更に、以下の特徴を有してもよい。
即ち、電源投入(
図9に示すステップS11)の直後、情報処理装置1のCPU100は、まず、ブートローダとして動作するための起動用のプログラムを読み出すこと(ステップS12)を説明した。しかし、電源投入直後においてCPU100のレジスタ等が初期化されていない段階では、制御信号RD_muxが“H”として出力される場合がある。この場合、上記起動用のプログラム(ブートローダ)が、データバスDB上に設けられた復号回路12bを経由して、当該復号回路12bによる復号処理を施されたうえでメインメモリ101に読み出されることが想定される。そうすると、上記起動用のプログラムが意図しない復号処理(変換処理)によって破壊され、正常に起動しなくなることが考えられる。
そこで、ブートローダとして動作するための起動用のプログラムが展開される記憶領域(以下、「ブートローダ用記憶領域」と表記。)を、メインメモリ101とは別に用意し、かつ、当該ブートローダ用記録記憶領域には、復号回路12bが設けられていない別途のデータバスDBが接続される態様としてもよい。これにより、上記起動用のプログラムは、復号回路12bが設けられていないデータバスDBを経由して、そのままの状態でブートローダ用記憶領域に格納される。
また、他の実施形態においては、ブートローダとして動作するための起動用のプログラムが格納されるメインメモリ101上のアドレスを予め規定しておくとともに、アドレス情報Addressを入力する別途の専用回路(アドレスデコーダ)を具備する態様であってもよい。この場合、上記専用回路は、アドレスバスを通じて入力されるアドレス情報Addressが上記予め規定されたアドレスであることを検知した場合に、強制的に、マルチプレクサ120bに入力される制御信号RD_muxを“L”とする。このようにすることで、上記起動用のプログラムがメインメモリ101に展開される場合には、常に、制御信号RD_muxが“L”となることが保障されるので、当該プログラムは、そのままの状態でメインメモリ101に格納される。
【0053】
以上、第1の実施形態に係る情報処理装置1について詳細に説明したが、情報処理装置1の具体的な態様は、上述のものに限定されることはなく、要旨を逸脱しない範囲内において種々の設計変更等を加えることは可能である。
【0054】
例えば、暗号化回路12a及び復号回路12bは、排他的論理和を演算する論理演算素子121a、121bを具備する態様で説明したが、他の実施形態においてはこの態様に限定されない。
即ち、他の実施形態に係る暗号化回路12a、復号回路12bは、ハードウェアとしてデータバスDB上に構成され、目的とする暗号化処理及び復号処理を実現可能な構成であれば、排他的論理和以外の演算を行う論理演算素子、又は、複数種類の論理演算素子の組み合わせで構成されてもよい。
【0055】
また、他の実施形態における情報処理装置1は、ハードウェアとして構成される暗号化回路12aを具備しない態様であってもよい。
即ち、他の実施形態に係る情報処理装置1は、電源の切断直前においてメインメモリ101のスナップショットイメージを外部記憶装置11に書き込む際、CPU100の処理(ソフトウェア処理)で暗号化するとともに、当該暗号化されたスナップショットイメージを外部記憶装置11に書き込む態様であってもよい。
【0056】
<第2の実施形態>
次に、
図9、
図10を参照しながら、第2の実施形態に係る情報処理装置について詳細に説明する。
【0057】
(CPUの機能構成)
図9は、第2の実施形態に係るCPUの機能構成を示す図である。
なお、第2の実施形態に係る情報処理装置1のハードウェア構成については、第1の実施形態(
図1)と同様であるため、図示を省略する。
【0058】
図9に示すように、第2の実施形態に係るCPU100は、PUF情報記録処理部1003aとしての機能を発揮する。
PUF情報記録処理部1003aは、メインメモリ101のPUF(physical unclonable function)情報を取得して、乱数記録メモリ13に記録する処理を行う。ここで、「PUF情報」とは、電源が投入された直後の初期状態(初期化がなされる前の状態)においてメインメモリ101に記録されている情報であって、メインメモリ101を構成するトランジスタ等の電気特性のわずかな個体差に基づいて生じる情報である。したがって、PUF情報は、メインメモリ101ごとに異なる情報となる。
【0059】
(情報処理装置の第2の処理フロー)
図10は、第2の実施形態に係る情報処理装置の第2の処理フローを示す図である。
第2の実施形態に係る情報処理装置1の第2の処理フローは、ステップS13aを有する点で第1の実施形態と異なる。
即ち、CPU100のPUF情報記録処理部1003a(
図9)は、スナップショットイメージをメインメモリ101に読み出す(ステップS14)前に、電源投入(ステップS11)直後のメインメモリ101からPUF情報を読み出す。そして、PUF情報記録処理部1003aは、読み出したPUF情報を乱数記録メモリ13に記録する(ステップS13a)。
【0060】
PUF情報記録処理部1003aによるステップS13aの処理を経て、乱数記録メモリ13には、メインメモリ101のPUF情報が記録されている。続いて、読出処理部1002は、第1の実施形態と同様に、外部記憶装置11に書き込まれているスナップショットイメージをメインメモリ101に読み出す処理を行う(ステップS14)。ここで、復号回路12bの論理演算素子121bには、ステップS13aで乱数記録メモリ13に記録されたPUF情報(復号用データXOR_data)が入力される。これにより、メインメモリ101には、PUF情報に基づいて復号されたスナップショットイメージが読み出される。
【0061】
また、電源切断指示を受け付けた場合(ステップS17)、書込処理部1001は、第1の実施形態と同様に、メインメモリ101のスナップショットイメージを外部記憶装置11に書き込む処理を行う(ステップS19)。ここで、暗号化回路12aの論理演算素子121aには、ステップS13aで乱数記録メモリ13に記録されたPUF情報(暗号化用データXOR_data)が入力される。これにより、外部記憶装置11には、PUF情報に基づいて暗号化されたスナップショットイメージが書き込まれる。
【0062】
(作用・効果)
以上の通り、第2の実施形態に係る情報処理装置1によれば、復号用データ及び暗号化用データは、情報処理装置1の電源が投入された直後の初期状態において、メインメモリ101に記録されているPUF情報とされる。
このようにすることで、初期状態からメインメモリに記録されている情報(PUF情報)に基づいてスナップショットイメージの暗号化を図ることができる。これにより、情報処理装置1のセキュリティ性能を一層高めることができる。
【0063】
なお、第2の実施形態においては、電源投入直後のメインメモリ101からPUF情報が読み出されるため、情報処理装置1の電源が切れている間、復号用データとしてのPUF情報を保持しておく必要はない。したがって、第2の実施形態においては、乱数記録メモリ13は、不揮発性メモリである必要はない。
【0064】
また、上述の各実施形態においては、上述した情報処理装置1の各種処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。また、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0065】
上記プログラムは、上述した機能の一部を実現するためのものであってもよい。更に、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、情報処理装置1は、上述の各種機能を全て具備する1台のコンピュータで構成されていても良いし、その機能の一部ずつを具備し、互いに通信可能に接続された複数のコンピュータで構成されていてもよい。
【0066】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上述の各実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの変形例は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【産業上の利用可能性】
【0067】
上述の情報処理装置、情報処理装置の制御方法及びプログラムによれば、高速起動を可能とし、かつ、セキュリティ性能を高めることができる。
【符号の説明】
【0068】
1 情報処理装置
10 メインメモリ側装置
100 CPU
1001 書込処理部
1002 読出処理部
1003 乱数生成部
1003a PUF情報記録処理部
101 メインメモリ
11 外部記憶装置
12a 暗号化回路
12b 復号回路
120a、120b マルチプレクサ
121a、121b 論理演算素子
13 乱数記録メモリ
DB データバス