(57)【要約】【課題】機器の起動をより高速に行うとともに、起動した際に外部機器の認証を行うこと。【解決手段】情報処理装置が、前記情報処理装置の電源がオンになった際、外部機器の認証を行うよりも前の段階における、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得するステップと、前記スナップショットを前記情報処理装置の補助記憶装置に記憶させた後、前記外部機器の認証を行う第１の認証ステップと、前記情報処理装置の電源が再度オンになった際、前記スナップショットを用いて、前記外部機器の認証を行う第２の認証ステップと、を含む処理を実行する。【選択図】図４
2019003286.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が、
前記情報処理装置の電源がオンになった際、外部機器の認証を行うよりも前の段階における、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得するステップと、
前記スナップショットを前記情報処理装置の補助記憶装置に記憶させた後、前記外部機器の認証を行う第１の認証ステップと、
前記情報処理装置の電源が再度オンになった際、前記スナップショットを用いて、前記情報処理装置を起動させ、前記外部機器の認証を行う第２の認証ステップと、
を含む処理を実行する情報処理方法。
【請求項２】
前記第１の認証ステップでは、前記情報処理装置の電源がオンになった際、前記取得するステップが完了するまでの間、前記外部機器の認証を行う処理の開始を待機する、
請求項１に記載の情報処理方法。
【請求項３】
前記スナップショットを取得するステップでは、前記外部機器の認証を行う機器認証プログラムの初期化処理が完了した後、前記機器認証プログラムのデータを含むスナップショットを取得する、
請求項１または２に記載の情報処理方法。
【請求項４】
前記第１の認証ステップ、または前記第２の認証ステップにより前記外部機器の認証を行った際のデータに基づいて鍵を生成し、当該鍵を用いて、前記外部機器の認証を行うためのデータを暗号化または符号する第３の認証ステップをさらに含む、
請求項１乃至３のいずれか一項に記載の情報処理方法。
【請求項５】
前記第２の認証ステップでは、前記情報処理装置の電源が再度オンになった際、前記スナップショットに含まれるデータのうち、前記外部機器の認証に必要なデータを優先して読み込み、前記外部機器の認証を行い、
前記第２の認証ステップを実行した後に、前記スナップショットに含まれる他のデータを読み込み、前記他のデータを用いた処理を行うステップをさらに含む、
請求項１乃至４のいずれか一項に記載の情報処理方法。
【請求項６】
前記情報処理装置にインストールされている所定のプログラムを更新する際、前記補助記憶装置に記憶されている前記スナップショットを削除するステップをさらに含み、
前記スナップショットを取得するステップでは、前記情報処理装置の電源がオンになった際、前記補助記憶装置に前記スナップショットが記憶されていない場合、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得する、
請求項１乃至５のいずれか一項に記載の情報処理方法。
【請求項７】
情報処理装置であって、
前記情報処理装置の電源がオンになった際、外部機器の認証を行うよりも前の段階における、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得する取得部と、
前記スナップショットを前記情報処理装置の補助記憶装置に記憶させた後、前記外部機器の認証を行う第１の認証部と、
前記情報処理装置の電源が再度オンになった際、前記スナップショットを用いて、前記外部機器の認証を行う第２の認証部と、
を有する情報処理装置。
【請求項８】
情報処理装置に、
前記情報処理装置の電源がオンになった際、外部機器の認証を行うよりも前の段階における、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得するステップと、
前記スナップショットを前記情報処理装置の補助記憶装置に記憶させた後、前記外部機器の認証を行う第１の認証ステップと、
前記情報処理装置の電源が再度オンになった際、前記スナップショットを用いて、前記外部機器の認証を行う第２の認証ステップと、
を含む処理を実行させるプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、オペレーティングシステム（ＯＳ）、及びアプリケーションプルグラムの読み込み、及び初期化処理が完了した後のＣＰＵのレジスタやメモリのイメージ（データ）をスナップショットとして不揮発性の補助記憶装置に保存しておき、以降の起動の際、当該イメージを使用して起動する技術が知られている。この技術によれば、初期化処理等にかかる時間を省略できるため、機器の起動をより高速に行うことができる。この技術は、スナップショット起動等とも称されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−００４０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一の機器が他の機器から認証を受ける必要があり、かつ、当該一の機器と当該他の機器とが、同様なタイミングで再度の起動を行う場合であるとする。
【０００５】
この場合、当該一の機器において、従来技術のようにスナップショット起動により再度起動し、当該他の機器は通常通り初期化処理等を実行して再度起動すると、当該一の機器は、前回起動した際の認証が完了した状態であり、当該他の機器は、今回の起動において当該一の機器を認証していない状態となる。そのため、機器の認証処理が正常に行われない場合があるという問題がある。
【０００６】
そこで、一側面では、機器の起動をより高速に行うとともに、起動した際に外部機器の認証を行うことができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１態様は、情報処理装置が、前記情報処理装置の電源がオンになった際、外部機器の認証を行うよりも前の段階における、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得するステップと、前記スナップショットを前記情報処理装置の補助記憶装置に記憶させた後、前記外部機器の認証を行う第１の認証ステップと、前記情報処理装置の電源が再度オンになった際、前記スナップショットを用いて、前記外部機器の認証を行う第２の認証ステップと、を含む処理を実行する。
【０００８】
当該第１態様によれば、外部機器の認証を行うよりも前の段階におけるスナップショットを用いて起動するため、機器の起動をより高速に行うとともに、起動した際に外部機器の認証を行うことができる。
【０００９】
また、本発明の第２態様は、前記第１の認証ステップにおいて、前記情報処理装置の電源がオンになった際、前記取得するステップが完了するまでの間、前記外部機器の認証を行う処理の開始を待機する。
【００１０】
当該第２態様によれば、外部機器の認証を行うプログラム以外の各プログラムの初期化処理等が一定程度完了した段階において、外部機器の認証を行っていない状態でのスナップショットを取得することができる。
【００１１】
また、本発明の第３態様は、前記スナップショットを取得するステップにおいて、前記外部機器の認証を行う機器認証プログラムの初期化処理が完了した後、前記機器認証プログラムのデータを含むスナップショットを取得する。
【００１２】
当該第３態様によれば、機器認証プログラムも、スナップショットによる起動の対象とするため、外部機器の認証を行う処理をより高速化することができる。
【００１３】
また、本発明の第４態様は、前記第１の認証ステップ、または前記第２の認証ステップにより前記外部機器の認証を行った際のデータに基づいて鍵を生成し、当該鍵を用いて、前記外部機器の認証を行うためのデータを暗号化または符号する第３の認証ステップをさらに含む。
【００１４】
当該第４態様によれば、外部機器の認証後に、所定のタイミングで再度当該外部機器の認証を行うことにより、認証成功後に、外部機器を他の機器に入れ替えられた場合に、認証失敗とすることができる。また、以前に認証が成功した際のデータに基づく鍵を用いるため、例えば、鍵の長さを短くする等により、認証処理を簡素化することができる。また、スナップショット起動において初回の認証に成功可能であるため、当該第４態様のように、以前に外部機器の認証を行った際のデータに基づいて生成した鍵を利用して再度認証することが可能となる。
【００１５】
また、本発明の第５態様は、前記第２の認証ステップにおいて、前記情報処理装置の電源が再度オンになった際、前記スナップショットに含まれるデータのうち、前記外部機器の認証に必要なデータを優先して読み込み、前記外部機器の認証を行い、前記第２の認証ステップを実行した後、前記スナップショットに含まれる他のデータを読み込み、前記他のデータを用いた処理を行うステップをさらに含む。
【００１６】
当該第５態様によれば、スナップショットをロードしている間に、外部機器の認証を並行して実行できるため、機器の起動をより高速に行うことができる。
【００１７】
また、本発明の第６態様は、前記情報処理装置にインストールされている所定のプログラムを更新する際、前記補助記憶装置に記憶されている前記スナップショットを削除するステップをさらに含み、前記スナップショットを取得するステップは、前記情報処理装置の電源がオンになった際、前記補助記憶装置に前記スナップショットが記憶されていない場合、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得する。
【００１８】
当該第６態様によれば、例えば、ソフトウェアのアップデートをした際に、当該アップデートが反映されたスナップショットを再度取得することができる。
【００１９】
また、本発明の第７態様は、情報処理装置において、前記情報処理装置の電源がオンになった際、外部機器の認証を行うよりも前の段階における、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得する取得部と、前記スナップショットを前記情報処理装置の補助記憶装置に記憶させた後、前記外部機器の認証を行う第１の認証部と、前記情報処理装置の電源が再度オンになった際、前記スナップショットを用いて、前記外部機器の認証を行う第２の認証部と、を有する。
【００２０】
当該第７態様によれば、外部機器の認証を行うよりも前の段階におけるスナップショットを用いて起動するため、機器の起動をより高速に行うとともに、起動した際に外部機器の認証を行うことができる。
【００２１】
また、本発明の第８態様は、プログラムにより、情報処理装置に、前記情報処理装置の電源がオンになった際、外部機器の認証を行うよりも前の段階における、前記情報処理装置の主記憶装置に記憶されているデータのスナップショットを取得するステップと、前記スナップショットを前記情報処理装置の補助記憶装置に記憶させた後、前記外部機器の認証を行う第１の認証ステップと、前記情報処理装置の電源が再度オンになった際、前記スナップショットを用いて、前記外部機器の認証を行う第２の認証ステップと、を含む処理を実行させる。
【００２２】
当該第８態様によれば、外部機器の認証を行うよりも前の段階におけるスナップショットを用いて起動するため、機器の起動をより高速に行うとともに、起動した際に外部機器の認証を行うことができる。
【発明の効果】
【００２３】
一側面によれば、機器の起動をより高速に行うとともに、起動した際に外部機器の認証を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】実施形態に係る情報処理システムの構成例を示す図である。
【図２】実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図３】第１の実施形態に係る情報処理装置の機能ブロック図の一例を示す図である。
【図４】第１の実施形態に係る情報処理システムの初回起動時の処理の一例を示すシーケンス図である。
【図５】第１の実施形態に係る情報処理システムの初回起動時の処理の一例を示すシーケンス図である。
【図６】実施形態に係る情報処理システムの初回の機器認証処理の一例を示すシーケンス図である。
【図７】実施形態に係る情報処理システムの再度の機器認証処理の一例を示すシーケンス図である。
【図８】第１の実施形態に係る情報処理システムの再度の起動時の処理の一例を示すシーケンス図である。
【図９】第１の実施形態に係る情報処理システムの再度の起動時の処理の一例を示すシーケンス図である。
【図１０】第２の実施形態に係る情報処理システムの初回起動時の処理の一例を示すシーケンス図である。
【図１１】第２の実施形態に係る情報処理システムの再度の起動時の処理の一例を示すシーケンス図である。
【図１２】第３の実施形態に係る情報処理システムの再度の起動時の処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００２５】
以下、図面に基づいて本発明の実施形態を説明する。
【００２６】
＜システム構成＞
図１は、実施形態に係る情報処理システム１の構成例を示す図である。図１において、情報処理システム１は、情報処理装置１０−１、及び１０−２（以下で、それぞれを区別する必要がない場合は、単に「情報処理装置１０」と称する。）を有する。なお、情報処理装置１０は２つに限定されず、例えば、情報処理装置１０−１に複数の他の情報処理装置１０が接続されてもよい。
【００２７】
なお、以下では、情報処理システム１として、車両に搭載され、走行経路の案内等を行うナビゲーションシステム（カーナビ）を例として説明する。
【００２８】
情報処理装置１０−１は、例えば、ナビゲーションシステムを構成する車載機であり、ＤＶＤ（Digital Versatile Disc）、ＣＤ（Compact Disc）、テレビ、ラジオの再生や、近距離無線通信を用いて携帯電話と接続する機能を有する。
【００２９】
情報処理装置１０−２は、例えば、ナビゲーションシステムを構成する車載機であり、ユーザから指定された目的地までの走行経路の案内等を行う機能を有する。
【００３０】
情報処理装置１０−１と、情報処理装置１０−２とは、例えば、ＵＳＢ（Universal Serial Bus）、イーサネット（登録商標）、ＣＡＮ（Controller Area Network）、ＤＶＩ（Digital Visual Interface）等のバス５０１により接続される。
【００３１】
なお、ナビゲーションシステムを複数の機器で構成することにより、車両の形状のデザインに比較的影響を与えないようにすることができるとともに、システム全体の開発量を比較的低減することができる。
【００３２】
＜ハードウェア構成＞
図２は、実施形態に係る情報処理装置１０のハードウェア構成例を示す図である。図２の情報処理装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５等を有する。
【００３３】
情報処理装置１０での処理を実現する情報処理プログラムは、例えば、記録媒体１０１によって提供される。情報処理プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、情報処理プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、情報処理プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされた情報処理プログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００３４】
メモリ装置１０３は、例えば、ＲＡＭ（Random access memory）であり、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って情報処理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００３５】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００３６】
［第１の実施形態］
＜機能構成＞
次に、図３を参照し、第１の実施形態に係る情報処理装置１０の機能構成について説明する。図３は、第１の実施形態に係る情報処理装置１０の機能ブロック図の一例を示す図である。情報処理装置１０は、起動部１２、取得部１３、初回認証部１４、スナップショット起動部１５、再認証部１６、更新部１７、通信部１８、及び実行部１９を有する。これら各部は、情報処理装置１０にインストールされた１以上のプログラムが、情報処理装置１０のＣＰＵ１０４に実行させる処理により実現される機能を表す。
【００３７】
起動部１２は、情報処理装置１０の起動、及び終了（シャットダウン）の制御を行う。起動部１２は、情報処理装置１０の電源がオンになった際、スナップショットを用いずに情報処理装置１０を起動させる。また、起動部１２は、情報処理装置１０の電源がオフになった際、情報処理装置１０を終了させる。
【００３８】
取得部１３は、情報処理装置１０の電源がオンになった際、他の情報処理装置１０（「外部機器」の一例。）の認証を行うよりも前の段階における、情報処理装置１０の主記憶装置である、ＣＰＵ１０４のレジスタ、及びメモリ装置１０３等に記憶されているデータのスナップショットを取得する。そして、取得部１３は、取得したスナップショットを、記憶部１１のスナップショットデータ１１２に記憶させる。
【００３９】
初回認証部１４は、情報処理装置１０の初回の起動時、取得部１３により取得されたスナップショットが、記憶部１１に記憶された後、他の情報処理装置１０の認証を行う。また、初回認証部１４は、情報処理装置１０の再度の起動時、記憶部１１に記憶されているスナップショットデータ１１２を用いて、他の情報処理装置１０の認証を行う。なお、初回認証部１４は、情報処理装置１０にインストールされた所定のプログラムである、機器認証プログラムにより実現される。
【００４０】
スナップショット起動部１５は、記憶部１１に記憶されているスナップショットデータ１１２を用いて、情報処理装置１０の起動を行う。なお、スナップショット起動部１５は、情報処理装置１０にインストールされた所定のプログラムである、高速起動プログラムにより実現される。
【００４１】
再認証部１６は、以前に他の情報処理装置１０の認証を行った際のデータであるセッションデータ１１３に基づいて生成されたセッション鍵を用いて暗号化または符号を行い、他の情報処理装置１０の認証を行う。
【００４２】
更新部１７は、情報処理装置１０にインストールされている所定のプログラムを更新する際、記憶部１１に記憶されているスナップショットデータ１１２を削除する
通信部１８は、他の情報処理装置１０や、外部のサーバ等との通信を行う。
【００４３】
実行部１９は、情報処理装置１０にインストールされた所定のアプリケーションプログラム等を実行する。
【００４４】
また、情報処理装置１０は、記憶部１１を有する。記憶部１１は、例えば、補助記憶装置１０２等を用いて実現される。記憶部１１は、鍵データ１１１、スナップショットデータ１１２、及びセッションデータ１１３等を記憶する。
【００４５】
＜処理＞
≪初回起動時（一方のみがスナップショットを保存）≫
次に、図４を参照して、第１の実施形態に係る情報処理システム１の初回起動時の処理について説明する。図４は、第１の実施形態に係る情報処理システム１の初回起動時の処理の一例を示すシーケンス図である。なお、以下の処理は、例えば、情報処理システム１の電源が初めてオンされた際、及び情報処理装置１０のプログラムがバージョンアップ等により更新された後、初めて起動された際に実行される。
【００４６】
以下では、情報処理装置１０−１はスナップショットを保存し、情報処理装置１０−２は通常通り起動する例について説明する。
【００４７】
ステップＳ１−１、ステップＳ１−２において、情報処理装置１０−１、及び情報処理装置１０−２の電源がオンにされる。
【００４８】
続いて、情報処理装置１０−１、及び情報処理装置１０−２の起動部１２は、オペレーティングシステム（ＯＳ、Operating System）のロード（読み込み）、初期化、及び実行を行う（ステップＳ２−１、ステップＳ２−２）。なお、ＯＳのロードは、例えば、ＣＰＵ１０４のブートローダ等により実行されてもよい。
【００４９】
続いて、情報処理装置１０−１、及び情報処理装置１０−２の起動部１２は、機器間認証プログラムのロード、及び初期化を行う（ステップＳ３−１、ステップＳ３−２）。
【００５０】
続いて、情報処理装置１０−１の起動部１２は、情報処理装置１０−１における他の各アプリケーションプログラムのロード、及び初期化を行う（ステップＳ４）。
【００５１】
続いて、情報処理装置１０−１の取得部１３は、スナップショットを取得し、記憶部１１のスナップショットデータ１１２に保存する（ステップＳ５）。ここで、情報処理装置１０−１は、例えば、高速起動プログラムにより、スナップショットが既に保存されているか否かを判断し、保存されていない場合、初回の起動であると判定し、ＣＰＵ１０４のレジスタやメモリ装置１０３のイメージをスナップショットとして不揮発性の補助記憶装置１０２に保存する。これにより、例えば、車載機器のように、起動していない間の消費電力を極力小さくするために、電源オフされた際に完全に電力の供給を停止する機器において、再度起動した際に、スナップショットとして保存されたイメージを読み出すことができる。
【００５２】
続いて、情報処理装置１０−１、及び情報処理装置１０−２の初回認証部１４は、機器間認証プログラムを実行し、初回の機器認証処理を行う（ステップＳ６−１、ステップＳ６−２）。ここで、情報処理装置１０−１、及び情報処理装置１０−２は、相互に機器認証を行う。なお、情報処理装置１０−１、及び情報処理装置１０−２のいずれか一方のみが、他方を機器認証してもよい。これにより、機器間の接続ミスや不正接続を防止できる。
【００５３】
また、情報処理装置１０−１の初回認証部１４は、ステップＳ５のスナップショットを保存する処理が完了するまでの間、機器間認証プログラムによる情報処理装置１０−２との間の認証処理を待機する。これにより、他の各アプリケーションプログラムの初期化処理が一定程度完了した段階（タイミング）におけるスナップショットにおいて、認証処理の途中のデータ、及び認証処理が完了した後のデータが確実に含まれないようにすることができる。
【００５４】
続いて、情報処理装置１０−１の実行部１９は、情報処理装置１０−１における他の各アプリケーションプログラムの実行を行う（ステップＳ７）。
【００５５】
一方、情報処理装置１０−２の起動部１２は、情報処理装置１０−２における他の各アプリケーションプログラムのロード、初期化、及び実行を行う（ステップＳ８）。
【００５６】
なお、情報処理装置１０−１のステップＳ７の処理と、情報処理装置１０−２のステップＳ８の処理は、並行して行われる。ステップＳ６、及びステップＳ７の処理により、情報処理装置１０−１、及び情報処理装置１０−２は、ユーザの操作等に応じて、音楽の再生や経路案内等の処理を実行する。
【００５７】
続いて、情報処理装置１０−１、及び情報処理装置１０−２の再認証部１６は、機器間認証プログラムを実行し、再度の機器認証処理を行う（ステップＳ９−１、ステップＳ９−２）。ここで、情報処理装置１０−１、及び情報処理装置１０−２の再認証部１６は、電源がオフされるまでの間、例えば、周期的なタイミング、または、他の情報処理装置と接続するためのケーブルが挿されたことを検出したタイミング等において、再度の機器認証処理を繰り返し行う。これにより、機器認証に成功した後、他の機器に取り換えられた場合に、取り換えられた機器の認証を行うことができる。
【００５８】
続いて、情報処理装置１０−１、及び情報処理装置１０−２の起動部１２は、例えば、車両における電源オフの操作に応じて、実行部１９等による処理を終了させ、電源をオフにする（ステップＳ１０−１、ステップＳ１０−２）。
【００５９】
≪初回起動時（双方がそれぞれスナップショットを保存）≫
次に、図５を参照して、第１の実施形態に係る情報処理システム１の初回起動時の処理について説明する。図５は、第１の実施形態に係る情報処理システム１の初回起動時の処理の一例を示すシーケンス図である。
【００６０】
以下では、情報処理装置１０−１、及び情報処理装置１０−２の双方が、それぞれ、スナップショットを保存する例について説明する。
【００６１】
この場合、情報処理装置１０−２の処理手順は、図４に示す情報処理装置１０−１の処理手順と同様である。すなわち、情報処理装置１０−１におけるステップＳ４−１、ステップＳ５−１、及びステップＳ７−１の処理と、情報処理装置１０−２におけるステップＳ４−２、ステップＳ５−２、及びステップＳ７−１の処理は、図４に示すステップＳ４、ステップＳ５、及びステップＳ７の処理とそれぞれ同様である。
【００６２】
（初回の機器認証処理）
次に、図６を参照して、ステップＳ６−１、ステップＳ６−２における初回認証部１４による初回の機器認証処理について説明する。図６は、実施形態に係る情報処理システム１の初回の機器認証処理の一例を示すシーケンス図である。
【００６３】
以下では、情報処理装置１０−１が、情報処理装置１０−２を認証する場合について説明する。情報処理装置１０−１と情報処理装置１０−２とにおいて、相互に機器認証を行う場合は、以下の処理が相互に行われる。
【００６４】
ステップＳ１０１において、情報処理装置１０−１の初回認証部１４は、ランダムな値を生成する。
【００６５】
続いて、情報処理装置１０−１の初回認証部１４は、生成したランダムな値と、共通鍵のＩＤ（番号）を、情報処理装置１０−２に送信する（ステップＳ１０２）。ここで、ランダムな値と、共通鍵のＩＤは、初回の機器認証処理を行う毎に、異なる値が用いられる。
【００６６】
続いて、情報処理装置１０−２の初回認証部１４は、鍵データ１１１を参照し、受信した共通鍵のＩＤに応じた共通鍵を用いて、受信したランダムな値を暗号化することにより、暗号文を生成する（ステップＳ１０３）。なお、鍵データ１１１には、ＩＤに対応付けて、共通鍵のデータが予め記憶されている。
【００６７】
続いて、情報処理装置１０−２の初回認証部１４は、初回の機器認証処理における所定のデータであるセッションデータ１１３を用いてセッション鍵を生成し、保持する（ステップＳ１０４）。
【００６８】
続いて、情報処理装置１０−２の初回認証部１４は、生成した暗号文、及びセッション鍵を情報処理装置１０−１に送信する（ステップＳ１０５）。ここで、情報処理装置１０−２の初回認証部１４は、例えば、受信した共通鍵のＩＤに応じた共通鍵を用いてセッション鍵を暗号化した後、送信する。
【００６９】
続いて、情報処理装置１０−１の初回認証部１４は、ステップＳ１０２で送信した共通鍵のＩＤに応じた共通鍵を用いて、受信した暗号文を復号する（ステップＳ１０６）。
【００７０】
続いて、情報処理装置１０−１の初回認証部１４は、復号した暗号文に含まれるランダムな値と、ステップＳ１０２で送信したランダムな値とが一致するか否かを判定する（ステップＳ１０７）。そして、情報処理装置１０−１の初回認証部１４は、一致すれば、機器認証成功と判定する。情報処理装置１０−１の初回認証部１４は、一致しなければ、機器認証失敗と判定し、情報処理装置１０−１の通信部１８に、情報処理装置１０−２との通信を切断させる。
【００７１】
続いて、情報処理装置１０−１の初回認証部１４は、セッション鍵を復号し、保持する（ステップＳ１０８）。
【００７２】
（再度の機器認証処理）
次に、図７を参照して、ステップＳ９−１、ステップＳ９−２における再認証部１６による再度の機器認証処理について説明する。図７は、実施形態に係る情報処理システム１の再度の機器認証処理の一例を示すシーケンス図である。
【００７３】
以下では、情報処理装置１０−１が、情報処理装置１０−２を認証する場合について説明する。情報処理装置１０−１と情報処理装置１０−２とにおいて、相互に機器認証を行う場合は、以下の処理が相互に行われる。
【００７４】
ステップＳ２０１において、情報処理装置１０−１の再認証部１６は、ランダムな値を生成する。
【００７５】
続いて、情報処理装置１０−１の再認証部１６は、生成したランダムな値を、情報処理装置１０−２に送信する（ステップＳ２０２）。
【００７６】
続いて、情報処理装置１０−２の再認証部１６は、セッション鍵を用いて、受信したランダムな値を暗号化する（ステップＳ２０３）。
【００７７】
続いて、情報処理装置１０−２の再認証部１６は、暗号化したランダムな値を含む暗号文を情報処理装置１０−１に送信する（ステップＳ２０４）。
【００７８】
続いて、情報処理装置１０−１の再認証部１６は、セッション鍵を用いて、受信した暗号文を復号する（ステップＳ２０５）。
【００７９】
続いて、情報処理装置１０−１の再認証部１６は、復号した暗号文に含まれるランダムな値と、ステップＳ２０２で送信したランダムな値とが一致するか否かを判定する（ステップＳ２０６）。そして、情報処理装置１０−１の再認証部１６は、一致すれば、機器認証成功と判定する。情報処理装置１０−１の再認証部１６は、一致しなければ、機器認証失敗と判定し、情報処理装置１０−１の通信部１８に、情報処理装置１０−２との通信を切断させる。
【００８０】
このように、再度の機器認証処理では、前回の機器認証が成功していた場合のデータを用いて生成された鍵であり、例えば、鍵の長さが比較的短いセッション鍵を用いて認証を行うため、初回の機器認証処理と比較してより高速に機器認証処理を行うことができる。
【００８１】
なお、初回の機器認証処理、及び再度の機器認証処理は、上述した共通鍵を用いる代わりに、公開鍵等、公知の機器認証の手法を用いるようにしてもよい。
【００８２】
≪再度起動時（一方のみがスナップショット起動）≫
次に、図８を参照して、第１の実施形態に係る情報処理システム１の再度の起動時の処理について説明する。図８は、第１の実施形態に係る情報処理システム１の再度の起動時の処理の一例を示すシーケンス図である。
【００８３】
以下では、情報処理装置１０−１はスナップショットを用いて起動し、情報処理装置１０−２は通常通り起動する例について説明する。
【００８４】
ステップＳ２０−１、ステップＳ２０−２において、情報処理装置１０−１、及び情報処理装置１０−２の電源がオンにされる。
【００８５】
続いて、情報処理装置１０−１のスナップショット起動部１５は、スナップショットを用いて起動するための高速起動プログラムをロードし、実行する（ステップＳ２１）。ここで、高速起動プログラムは、例えば、情報処理装置１０−１のＢＩＯＳ（Basic Input Output System）上で実行される。
【００８６】
続いて、情報処理装置１０−１のスナップショット起動部１５は、高速起動プログラムにより、図４のステップＳ５で保存したスナップショットデータ１１２をロードする（ステップＳ２２）。ここで、情報処理装置１０−１は、例えば、高速起動プログラムにより、スナップショットデータ１１２が既に保存されているか否かを判断し、保存されている場合、再度の起動であると判定し、スナップショットをロードする。
【００８７】
一方、情報処理装置１０−２の起動部１２は、オペレーティングシステム（ＯＳ、Operating System）のロード（読み込み）、初期化、及び実行を行う（ステップＳ２３）。
【００８８】
続いて、情報処理装置１０−２の起動部１２は、機器間認証プログラムのロード、及び初期化を行う（ステップＳ２４）。
【００８９】
なお、情報処理装置１０−１のステップＳ２１、ステップＳ２２の処理と、情報処理装置１０−２のステップＳ２３、ステップＳ２４の処理は、並行して行われる。
【００９０】
また、情報処理装置１０−１のスナップショット起動部１５は、ステップＳ２５−１の初回の機器認証処理と、ステップＳ２６の他の各アプリケーションプログラムを実行する処理を、並行して実行させる。ここで、情報処理装置１０−１のスナップショット起動部１５は、再度起動時の場合、ＯＳにおいて、機器間認証プログラムのタスクの優先度を、他の各アプリケーションプログラムのタスクの優先度よりも高く設定してもよい。これにより、取得部１３によりスナップショットが保存された後に実行される、他の各アプリケーションプログラムの初期化処理よりも、初回の機器認証処理を優先して実行させるため、初回の機器認証処理が完了するまでの時間が比較的長い場合に、情報処理システム１全体の起動が完了するまでの時間を短縮できる。
【００９１】
以降のステップＳ２５−１、２５−２乃至ステップＳ２９−１、２９−２の処理は、図４のステップＳ６−１、６−２乃至ステップＳ１０−１、１０−２の処理とそれぞれ同様である。
【００９２】
≪再度起動時（双方がそれぞれスナップショット起動）≫
次に、図９を参照して、第１の実施形態に係る情報処理システム１の再度の起動時の処理について説明する。図９は、第１の実施形態に係る情報処理システム１の再度の起動時の処理の一例を示すシーケンス図である。
【００９３】
以下では、情報処理装置１０−１、及び情報処理装置１０−２の双方が、それぞれ、スナップショットを用いて起動する例について説明する。
【００９４】
この場合、情報処理装置１０−１、及び情報処理装置１０−２の処理手順は、図８に示す情報処理装置１０−１の処理手順とそれぞれ同様である。すなわち、情報処理装置１０−１、及び情報処理装置１０−２におけるステップＳ５００乃至５０６の処理は、図８に示すステップＳ２０−１、ステップＳ２１、ステップＳ２２、ステップＳ２５−１、ステップＳ２６、ステップＳ２８−１、ステップＳ２９−１の処理とそれぞれ同様である。
【００９５】
第１の実施形態によれば、例えば、機器認証処理を専用の別チップで行うことにより、機器認証処理に関するデータをスナップショットの対象外とする場合と比較して、専用の別チップを不要とすることができる。また、機器認証プログラムの初期化処理が完了した後のイメージをスナップショットに含めることができるため、機器認証処理をより高速化できる。
【００９６】
［第２の実施形態］
第１の実施形態では、機器認証プログラムをロードし、初期化した後のイメージをスナップショットに含めて保存する例について説明した。
【００９７】
第２の実施形態では、機器認証プログラムに関するイメージはスナップショットに含めないようにする例について説明する。なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。以下では、第１の実施形態と共通する部分については説明を省略し、異なる部分についてのみ説明する。第２の実施形態によれば、例えば、機器認証プログラムのロードや、初期化の処理が十分に高速であれば、第１の実施形態と同様の効果を奏する。
【００９８】
＜処理＞
≪初回起動時（スナップショット保存）≫
次に、図１０を参照して、第２の実施形態に係る情報処理システム１の初回起動時の処理について説明する。図１０は、第２の実施形態に係る情報処理システム１の初回起動時の処理の一例を示すシーケンス図である。
【００９９】
電源オンからＯＳが実行されるまでのステップＳ３０−１、３０−２乃至ステップＳ３１−１、３１−２の処理は、図４のステップＳ１−１、１−２乃至ステップＳ２−１、２−２の処理とそれぞれ同様である。
【０１００】
続いて、情報処理装置１０−１の起動部１２は、情報処理装置１０−１における他の各アプリケーションプログラムのロード、及び初期化を行う（ステップＳ３２）。
【０１０１】
続いて、情報処理装置１０−１の取得部１３は、スナップショットを保存する（ステップＳ３３）。
【０１０２】
続いて、情報処理装置１０−１の起動部１２は、機器間認証プログラムのロード、及び初期化を行う（ステップＳ３４）。
【０１０３】
一方、情報処理装置１０−２の起動部１２は、機器間認証プログラムのロード、及び初期化を行う（ステップＳ３５）。
【０１０４】
以降のステップＳ３６−１、３６−２乃至ステップＳ４０−１、４０−２の処理は、図４のステップＳ６−１、６−２乃至ステップＳ１０−１、１０−２の処理とそれぞれ同様である。
【０１０５】
≪再度起動時（スナップショット起動）≫
次に、図１１を参照して、第２の実施形態に係る情報処理システム１の再度の起動時の処理について説明する。図１１は、第２の実施形態に係る情報処理システム１の再度の起動時の処理の一例を示すシーケンス図である。
【０１０６】
電源オンからスナップショットをロードするまでのステップＳ５０−１、５０−２乃至ステップＳ５２の処理は、図８のステップＳ２０−１、２０−２乃至ステップＳ２２の処理とそれぞれ同様である。
【０１０７】
続いて、情報処理装置１０−１の起動部１２は、機器間認証プログラムのロード、及び初期化を行う（ステップＳ５３）。
【０１０８】
以降のステップＳ５４乃至ステップＳ６０−１、６０−２の処理は、図８のステップＳ２３乃至ステップＳ２９−１、２９−２の処理とそれぞれ同様である。
【０１０９】
［第３の実施形態］
第１の実施形態では、スナップショットのロードが完了した後、初回の機器認証処理を実行する例について説明した。
【０１１０】
第３の実施形態では、スナップショットをロードしている間において、機器認証プログラムに関するイメージのロードが完了したタイミングで、初回の機器認証処理を実行する例について説明する。なお、第３の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。以下では、第１の実施形態と共通する部分については説明を省略し、異なる部分についてのみ説明する。
【０１１１】
第３の実施形態によれば、例えば、スナップショットに含まれる他の各アプリケーションプログラムに関するイメージをロードする処理と、他の情報処理装置１０との初回の機器認証処理を並行して実行できる。また、当該他の情報処理装置１０における、電源オンから初回の機器認証処理が開始されるまでの待機時間が短縮される。そのため、より高速に起動できる。
【０１１２】
＜処理＞
≪再度起動時（スナップショット起動）≫
次に、図１２を参照して、第３の実施形態に係る情報処理システム１の再度の起動時の処理について説明する。図１２は、第３の実施形態に係る情報処理システム１の再度の起動時の処理の一例を示すシーケンス図である。
【０１１３】
電源オンから高速起動プログラムを実行するまでのステップＳ７０−１、７０−２乃至ステップＳ７１の処理は、図８のステップＳ２０−１、２０−２乃至ステップＳ２１の処理とそれぞれ同様である。
【０１１４】
続いて、情報処理装置１０−１のスナップショット起動部１５は、高速起動プログラムにより、図４のステップＳ５で保存したスナップショットのうち、ＯＳ、及び機器認証プログラムに関するイメージを優先的にロードする（ステップＳ７２）。
ここで、例えば、取得部１３が、予め、ＯＳ、及び機器認証プログラムに関するイメージであるスナップショットデータ１１２Ａと、他の各アプリケーションプログラムに関するイメージであるスナップショットデータ１１２Ｂを分離して記憶部１１に記憶させておいてもよい。そして、スナップショット起動部１５は、スナップショットデータ１１２Ａを先に読み込み、機器認証プログラムを実行させ、情報処理装置１０−２との初回の機器認証処理を実行させてもよい。
【０１１５】
以降のステップＳ７３乃至ステップＳ７５−１、７５−２の処理は、図８のステップＳ２３乃至ステップＳ２５−１、２５−２の処理とそれぞれ同様である。
【０１１６】
続いて、情報処理装置１０−１のスナップショット起動部１５は、高速起動プログラムにより、図４のステップＳ５で保存したスナップショットのうち、他の各アプリケーションプログラムに関するイメージをロードする（ステップＳ７６）。なお、情報処理装置１０−１のスナップショット起動部１５は、ステップＳ７５−１の初回の機器認証処理と、ステップＳ７６の他の各アプリケーションプログラムに関するイメージをロードする処理を、並行して実行させてもよい。これにより、再度起動時における起動完了までの時間がされに短縮される。
【０１１７】
以降のステップＳ７７乃至ステップＳ８０−１、８０−２の処理は、図８のステップＳ２６乃至ステップＳ２９−１、２９−２の処理とそれぞれ同様である。
【０１１８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１１９】
情報処理装置１０の各機能部は、例えば１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【符号の説明】
【０１２０】
１  情報処理システム
１０  情報処理装置
１１  記憶部
１１１  鍵データ
１１２  スナップショットデータ
１１３  セッションデータ
１２  起動部
１３  取得部
１４  初回認証部（「第１の認証部」の一例。）
１５  スナップショット起動部
１６  再認証部（「第２の認証部」の一例。）
１７  更新部
１８  通信部
１９  実行部
【図１】
2019003286.tif 000003
【図２】
2019003286.tif 000004
【図３】
2019003286.tif 000005
【図４】
2019003286.tif 000006
【図５】
2019003286.tif 000007
【図６】
2019003286.tif 000008
【図７】
2019003286.tif 000009
【図８】
2019003286.tif 000010
【図９】
2019003286.tif 000011
【図１０】
2019003286.tif 000012
【図１１】
2019003286.tif 000013
【図１２】
2019003286.tif 000014