(57)【要約】【課題】ＴＰＭを具備しない情報処理装置にトラステッドブートを実現させること。【解決手段】アプリケーションの動作環境を提供するプラットフォームを有した本体装置と着脱自在に接続される接続手段と、前記接続手段に接続された前記本体装置の起動時に、前記プラットフォームから当該プラットフォームを一意に特定可能なハッシュ値を算出する算出手段と、信頼性が確保された前記プラットフォームのハッシュ値を記憶する記憶手段と、前記算出手段が算出したハッシュ値と前記記憶手段に記憶されたハッシュ値とを比較し、両ハッシュ値が一致するか否かを判定する真正性判定手段と、前記真正性判定手段が不一致と判定した場合に、前記本体装置の使用を制限する制御手段と、を備える。【選択図】図１
2012008641.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの動作環境を提供するプラットフォームを有した本体装置と着脱自在に接続される接続手段と、
前記接続手段に接続された前記本体装置の起動時に、前記プラットフォームから当該プラットフォームを一意に特定可能なハッシュ値を算出する算出手段と、
信頼性が確保された前記プラットフォームのハッシュ値を記憶する記憶手段と、
前記算出手段が算出したハッシュ値と前記記憶手段に記憶されたハッシュ値とを比較し、両ハッシュ値が一致するか否かを判定する真正性判定手段と、
前記真正性判定手段が不一致と判定した場合に、前記本体装置の使用を制限する制御手段と、
を備えたことを特徴とするセキュリティデバイス。
【請求項２】
前記本体装置を操作する操作者の認証情報と、予め定められた正規操作者の認証情報とを比較し、前記操作者が前記正規操作者か否かを判定する認証手段を更に備え、
前記制御手段は、前記認証手段が非正規操作者と判定した場合に、前記本体装置の起動を制限することを特徴とする請求項１に記載のセキュリティデバイス。
【請求項３】
前記算出手段が算出したハッシュ値を、信頼性が確保されたハッシュ値として前記記憶手段に登録する登録手段とを更に備え、
前記登録手段は、前記認証手段が正規操作者と判定した場合に、前記登録手段の動作を許可することを特徴とする請求項２に記載のセキュリティデバイス。
【請求項４】
所定のデータを暗号化／復号化するための暗号鍵を生成する暗号鍵生成手段と、
前記暗号鍵生成手段が生成した暗号鍵を前記本体装置に保持させる暗号鍵共有手段と、
を更に備え、
前記制御手段は、前記真正性判定手段が一致と判定した場合に、前記暗号鍵共有手段の動作を許可することを特徴とする請求項２又は３に記載のセキュリティデバイス。
【請求項５】
前記暗号鍵生成手段が生成した暗号鍵を外部記憶装置にバックアップするバックアップ手段を更に備え、
前記制御手段は、前記認証手段が正規操作者と判定した場合に、前記バックアップ手段の動作を許可することを特徴とする請求項４に記載のセキュリティデバイス。
【請求項６】
前記外部記憶装置にバックアップされた暗号鍵を、当該暗号鍵がバックアップされる直前の状態にリカバリするリカバリ手段を更に備え、
前記制御手段は、前記認証手段が正規操作者と判定した場合に、前記リカバリ手段の動作を許可することを特徴とする請求項５に記載のセキュリティデバイス。
【請求項７】
前記記憶手段は、前記暗号鍵生成手段が生成した暗号鍵を記憶し、
前記リカバリ手段は、前記記憶手段に記憶された暗号鍵を用いて前記所定のデータを復号し、前記外部記憶装置にバックアップされた暗号鍵を前記記憶手段に上書きした後、この暗号鍵を用いて前記所定のデータの暗号化を行い、
前記暗号鍵共有手段は、前記記憶手段に記憶された暗号鍵を前記本体装置に保持させることを特徴とする請求項６に記載のセキュリティデバイス。
【請求項８】
前記本体装置の起動時に、当該本体装置からの前回の取り外しが予め定められた正規の操作方法で行われたか否かを判定する取外判定手段を更に備え、
前記制御手段は、前記取外判定手段が非正規の操作方法で行われたと判定した場合に、前記本体装置の使用を制限することを特徴とする請求項１〜７の何れか一項に記載のセキュリティデバイス。
【請求項９】
前記プラットフォームは、前記本体装置のハードウェア構成と、前記アプリケーションを含むソフトウェア構成とを含むことを特徴とする請求項１〜８の何れか一項に記載のセキュリティデバイス。
【請求項１０】
前記ソフトウェア構成に含まれた特定のプログラムのバージョンアップを行うバージョンアップ手段を更に備え、
前記算出手段は、前記バージョンアップ手段によるバージョンアップ直後のプログラムのハッシュ値を算出し、
前記登録手段は、前記算出手段が算出した前記バージョンアップ直後のプログラムのハッシュ値を、前記記憶手段に登録することを特徴とする請求項９に記載のセキュリティデバイス。
【請求項１１】
前記本体装置のソフトウェア構成に含まれた特定のプログラムのバージョンを検出するバージョン検出手段と、
前記バージョン検出手段が検出したバージョンよりも新しい、最新のバージョンのプログラムが外部記憶装置に存在するか否かを判定するバージョン判定手段と、
前記バージョン判定手段が最新のバージョンのプログラムが存在すると判定した場合に、当該プログラムの起動を前記本体装置に指示する起動アプリケーション制御手段と、
を更に備え、
前記制御手段は、前記真正性判定手段が全てのハッシュ値の組について一致と判定した場合に、前記起動アプリケーション制御手段の動作を許可することを特徴とする請求項９に記載のセキュリティデバイス。
【請求項１２】
アプリケーションの動作環境を提供するプラットフォームを有した情報処理装置であって、
請求項１〜１１の何れか一項に記載のセキュリティデバイスが着脱自在に接続される接続手段と、
自己の装置の起動時に、前記接続手段に接続された前記セキュリティデバイスの制御に従い、前記アプリケーションの動作環境を実現する起動制御手段と、
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、セキュリティデバイス及び情報処理装置に関するものである。
【背景技術】
【０００２】
従来、コンピュータが具備するプラットフォーム（ハードウェア構成及びソフトウェア構成）の信頼性を確保するため、ＴＰＭ（Trusted  Platform  Module）と呼ばれるセキュリティチップが用いられている。係るＴＰＭは、情報処理装置本体のマザーボード上に搭載されており、該情報処理装置の起動時に自己の装置のプラットフォームの真正性を確認し、真正性（改変のない状態）を確認した場合にのみ起動を行う“トラステッドブート”という仕組みを実現させる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の技術では、装置本体の製造時にＴＰＭを本体基板上に実装する必要があるため、ＴＰＭが未実装の情報処理装置ではトラステッドブートを実現することが困難であった。
【課題を解決するための手段】
【０００４】
実施の形態のセキュリティデバイスは、接続手段と、算出手段と、記憶手段と、真正性判定手段と、制御手段とを備える。接続手段は、アプリケーションの動作環境を提供するプラットフォームを有した本体装置と着脱自在に接続される。算出手段は、接続手段に接続された本体装置の起動時に、プラットフォームから当該プラットフォームを一意に特定可能なハッシュ値を算出する。記憶手段は、信頼性が確保されたプラットフォームのハッシュ値を記憶する。真正性判定手段は、算出手段が算出したハッシュ値と前記記憶手段に記憶されたハッシュ値とを比較し、両ハッシュ値が一致するか否かを判定する。制御手段は、真正性判定手段が不一致と判定した場合に、本体装置の使用を制限する。
【図面の簡単な説明】
【０００５】
【図１】図１は、第１の実施形態に係る情報処理システムの構成を模式的に示すブロック図である。
【図２】図２は、図１に示した情報処理装置の起動時における情報処理システムの動作を示すフローチャートである。
【図３】図３は、図２のＰＣＲ情報設定処理の手順を示すフローチャートである。
【図４】図４は、図２の真正性確認処理の手順を示すフローチャートである。
【図５】図５は、図１のセキュリティデバイスが実行する暗号鍵リカバリ処理の手順を示すフローチャートである。
【図６】図６は、図１に示したセキュリティデバイスの取り外し時における、情報処理システムの動作を示すフローチャートである。
【図７】図７は、第２の実施形態に係る情報処理システムの構成を模式的に示すブロック図である。
【図８】図８は、図７のセキュリティデバイスが実行するソフトウェア更新処理の手順を示すフローチャートである。
【図９】図９は、第３の実施形態に係る情報処理システムの構成を模式的に示すブロック図である。
【図１０】図１０は、図９のセキュリティデバイスが実行する起動アプリケーション制御処理の手順を示すフローチャートである。
【発明を実施するための形態】
【０００６】
［第１の実施形態］
図１は、第１の実施形態に係る情報処理システム１の構成を模式的に示すブロック図である。同図に示すように、情報処理システム１は、情報処理装置１０と、セキュリティデバイス２０とを有している。
【０００７】
情報処理装置１０は、ＰＣやＰＯＳ端末等の情報処理装置であって、制御部１１、ＢＩＯＳ（Basic  Input/Output  System）１２、ＨＤＤ（Hard  Disk  Drive）１３、ＵＳＢインタフェース１４及びＬＡＮインタフェース１５等を備えている。
【０００８】
制御部１１は、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）及びＲＡＭ（Random  Access  Memory）等で構成され、情報処理装置１０の各部の動作を統括的に制御する。
【０００９】
具体的に、制御部１１は、情報処理装置１０の起動時において、ＢＩＯＳ１２に記憶されたプログラムを実行することで、情報処理装置１０に搭載された各部を動作可能な状態とする。また、制御部１１は、ＢＩＯＳ１２を実行した後、セキュリティデバイス２０から送信されるコマンドに従い、ＨＤＤ１３に記憶されたＯＳ１３１を起動することで、アプリケーション１３２が動作可能な環境を提供する。また、制御部１１は、セキュリティデバイス２０から送信される暗号鍵をＲＡＭ（図示せず）に保持することで、この暗号鍵を用いて所定のデータ（コマンド、ファイル、フォルダ等）の暗号化／復号化を実行する。
【００１０】
ＢＩＯＳ１２は、情報処理装置１０を構成する各部を制御するためのプログラムを記憶している。ＨＤＤ１３は、情報処理装置１０の補助記憶装置であって、情報処理装置１０の基本ソフトウェアとなるＯＳ１３１や、所定の業務処理を実現させるためのプログラムであるアプリケーション１３２を記憶している。なお、ＨＤＤ１３内のデータが、後述する暗号鍵により暗号化されている形態としてもよい。
【００１１】
ＵＳＢインタフェース１４は、ＵＳＢ機器を着脱自在に接続するためのインタフェースであって、ＵＳＢ機器と制御部１１との間の通信を制御する。なお、本実施形態では、図１に示すように、ＵＳＢインタフェース１４にセキュリティデバイス２０が接続された状態で使用される。
【００１２】
ＬＡＮインタフェース１５は、インターネットやイントラネット等のネットワークＮに接続するためのインタフェースであり、このネットワークＮに接続された外部装置３０と制御部１１との間の通信を制御する。
【００１３】
セキュリティデバイス２０は、情報処理装置１０のＵＳＢインタフェース１４に接続される耐タンパ性を有した外付けデバイスであって、本体装置となる情報処理装置１０の起動を制御する。図１に示すように、セキュリティデバイス２０は、制御部２１、ＴＰＭ２２、認証処理部２３、ＵＳＢインタフェース２４及び外部メモリ接続部２５等を備えている。
【００１４】
制御部２１は、ＣＰＵ、ＲＯＭ及びＲＡＭ等により構成され、セキュリティデバイス２０の各部の動作を統括的に制御する。具体的に、制御部２１は、ＴＰＭ２２及び認証処理部２３と協働し、情報処理装置１０のプラットフォームの真正性確認に係る各種の処理（図２〜図６参照）を実行する。ここで“プラットフォーム”とは、アプリケーション１３２の動作環境を提供するための情報処理装置１０の基盤であって、情報処理装置１０のハードウェア構成と、ＢＩＯＳ１２、ＯＳ１３１及びアプリケーション１３２等のソフトウェア構成とを組み合わせたものを意味する。
【００１５】
また、制御部２１は、セキュリティデバイス２０の前回の取り外しが正規の操作で行われたか否かを記録するための正規操作フラグを、不揮発性で且つ書き込み可能な記録媒体である記憶領域２１１に保持している。ここで、正規の操作とは、情報処理装置１０の正規操作者がセキュリティデバイス２０を取り外すための所定の操作を行うことを意味する。
【００１６】
ＴＰＭ２２は、耐タンパ性を有するセキュリティチップであって、コンピュータプラットフォームの真正性確認に係る各種の機能を有する。
【００１７】
具体的に、ＴＰＭ２２は、情報処理装置１０を構成する機器や当該情報処理装置１０に接続された機器（以下、総称して構成機器という）について、各構成機器を識別可能な製品名や製造番号等を示す固有情報からハッシュ値を算出する。ここで算出されたハッシュ値は固有の値となるため、情報処理装置１０のハードウェア構成を一意に特定することが可能となる。なお、ハッシュ値は、固有情報毎に算出する形態としてもよいし、複数の固有情報から一のハッシュ値を算出する形態としてもよい。また、セキュリティデバイス２０自身も情報処理装置１０の構成機器となるが、セキュリティデバイス２０自身の固有情報を含める形態としてもよいし、含めない形態としてもよい。
【００１８】
また、ＴＰＭ２２は、情報処理装置１０の制御部１１がプログラムとして実行するＢＩＯＳ１２、ＯＳ１３１及びアプリケーション１３２の各々について、そのプログラムのファイルイメージからハッシュ値を算出する。ここで算出されたハッシュ値は、固有の値となるためＢＩＯＳ１２、ＯＳ１３１及びアプリケーション１３２の各々を一意に特定することが可能となる。
【００１９】
また、ＴＰＭ２２は、照合用となるハッシュ値の設定時（例えば、情報処理装置１０への初回接続時等）において、情報処理装置１０のハードウェア構成及びソフトウェア構成（ＢＩＯＳ１２、ＯＳ１３１、アプリケーション１３２）について算出した各ハッシュ値を、記憶領域２２１に記憶する。ここで、記憶領域２２１は、書き換え可能な不揮発性の記憶媒体であって、ＰＣＲ（Platform  Configuration  Register）に相当する。以下、記憶領域２２１に記憶した、ハードウェア構成及びソフトウェア構成のハッシュ値を総称して“ＰＣＲ情報”という。
【００２０】
また、ＴＰＭ２２は、各種データの暗号化／復号化に係る暗号鍵を生成する機能を有し、生成した暗号鍵を記憶領域２２１に記憶する。具体的に、暗号鍵は、セキュリティデバイス２０と情報処理装置１０との間で授受するコマンドを暗号化／復号化するために用いる。なお、暗号鍵の暗号方式及び生成方法は特に問わないものとするが、例えば、記憶領域２２１に記憶されたＰＣＲ情報を用いて、暗号鍵を生成する形態としてもよい。
【００２１】
情報処理装置１０の起動時において、ＴＰＭ２２は制御部２１の制御の下、情報処理装置１０のハードウェア構成及びソフトウェア構成についてのハッシュ値をそれぞれ算出すると、記憶領域２２１に記憶された対応する構成のハッシュ値と夫々比較し、両ハッシュ値が一致するか否かを判定する。ここで、ＴＰＭ２２がハードウェア構成及びソフトウェア構成の全てについて一致を確認すると、制御部２１は、記憶領域２２１に記憶された暗号鍵を情報処理装置１０に送信することで、この暗号鍵を情報処理装置１０に保持させる。また、ＴＰＭ２２がハッシュ値の不一致を確認すると、制御部２１は、情報処理装置１０の使用を制限するための所定のエラー処理を実行する。
【００２２】
ここで、エラー処理は情報処理装置１０の使用を制限するためのものであり、その制限方法は種々の形態が挙げられる。例えば、情報処理装置１０の起動処理をロックすることで、情報処理装置１０が立ち上がらないよう制御する形態としてもよい。また、情報処理装置１０及びＴＰＭ２２が保持する後述する暗号鍵を消去することで、暗号化されたデータへのアクセスを制限する形態としてもよい。また、情報処理装置１０のＨＤＤ１３に記憶されたアプリケーション１３２を削除するよう制御することで、該アプリケーション１３２の使用を制限する形態としてもよい。
【００２３】
認証処理部２３は、制御部２１と協働することで、セキュリティデバイス２０の操作者が、予め定められた正規の操作者か否かを認証する。具体的に、認証処理部２３は、初回設定時に登録された正規操作者の認証情報を照合用認証情報として、不揮発性の記憶媒体である記憶領域２３１に記憶し、次回以降入力される認証情報をこの照合用認証情報と照合することで、正規操作者か否かを判定する。認証情報の不一致により、認証処理部２３がセキュリティデバイス２０の操作者が正規操作者でないと判定すると、制御部２１は上述したエラー処理を実行する。
【００２４】
なお、認証処理部２３の認証方式は特に問わず、公知の技術を用いることができる。例えば、図示しないテンキーやキーボードを介して入力されるユーザＩＤ及びパスワードの組を、認証情報として用いるパスワード認証方式としてもよい。また、操作者の指紋や顔画像、虹彩等の生体情報の読み取りを行う生体情報読取装置を別途備えることで、この生体情報を認証情報として用いるバイオメトリクス認証方式としてもよい。また、ＲＦＩＤリーダ装置を別途備え、このＲＦＩＤリーダ装置で読み取り可能なＲＦＩＤカードを操作者に配布しておくことで、このＲＦＩＤカードに記憶された情報を認証情報として用いる方式としてもよい。
【００２５】
ＵＳＢインタフェース２４は、情報処理装置１０と着脱自在に接続するためのインタフェースであって、情報処理装置１０と制御部２１との間の通信を制御する。また、ＵＳＢインタフェース２４は、情報処理装置１０から供給される電源を、セキュリティデバイス２０の各部に供給する。
【００２６】
外部メモリ接続部２５は、ＵＳＢメモリやフラッシュメモリ等の外部メモリＭを接続するためのインタフェースである。外部メモリ接続部２５は、例えば、ＵＳＢインタフェース２４と同様のＵＳＢインタフェースや、フラッシュメモリ等を接続するためのメモリスロットを用いることができる。制御部２１は、ＴＰＭ２２及び認証処理部２３と協働することで、外部メモリ接続部２５に接続された外部メモリＭに対し、ＴＰＭ２２が生成した暗号鍵を書き込むバックアップ処理や、外部メモリＭに記憶された暗号鍵をＴＰＭ２２の記憶領域２２１に書き戻すリカバリ処理を実行する。
【００２７】
次に、図２〜図６を参照して、情報処理システム１の動作について説明する。ここで、図２は、情報処理装置１０の起動時における情報処理システム１の動作を示すフローチャートである。なお、本処理の前提として、セキュリティデバイス２０は、情報処理装置１０に接続されているものとする。
【００２８】
まず、情報処理装置１０の電源がオンとされ、この情報処理装置１０の各部に電源が供給されると、制御部１１は情報処理装置１０の起動を開始する（ステップＳ１１）。また、情報処理装置１０の電源オンに伴い、ＵＳＢインタフェース１４を通じて供給される電源により、セキュリティデバイス２０が起動する（ステップＳ２１）。
【００２９】
セキュリティデバイス２０が起動すると、制御部２１は、まず記憶領域２１１に保持された正規操作フラグの状態を確認し、その値が“１”であるかを判定する（ステップＳ２２）。ここで、正規操作フラグが“１”の場合、後述するように、セキュリティデバイス２０が正規の操作で情報処理装置１０から取り外されたことを意味する。また、正規操作フラグが“０”の場合、後述するように、セキュリティデバイス２０が非正規の操作で情報処理装置１０から取り外されたことを意味する。
【００３０】
ステップＳ２２において、正規操作フラグが“０”と判定した場合（ステップＳ２２；Ｎｏ）、制御部２１は、自己のセキュリティデバイス２０が非正規の操作で情報処理装置１０から取り外されたと判断する。この場合、制御部２１は、上述したエラー処理を実行し（ステップＳ３６）、本処理を終了する。
【００３１】
また、ステップＳ２２において、正規操作フラグが“１”と判定した場合（ステップＳ２２；Ｙｅｓ）、制御部２１は、認証処理部２３の動作を制御し、情報処理装置１０の操作者から入力される認証情報の受付を開始させる。
【００３２】
認証処理部２３は、認証情報の入力を受け付けると（ステップＳ２３）、記憶領域２３１に照合用認証情報が記憶されているか否かを判定する（ステップＳ２４）。ここで、記憶領域２３１に記憶されていないと判定した場合（ステップＳ２４；Ｎｏ）、認証処理部２３は、ステップＳ２３で入力を受け付けた認証情報を照合用認証情報として記憶領域２３１に記憶し（ステップＳ２５）、ステップＳ２８に移行する。
【００３３】
また、照合用認証情報が記憶されていると判定した場合（ステップＳ２４；Ｙｅｓ）、認証処理部２３は、ステップＳ２３で入力を受け付けた認証情報と、記憶領域２３１に記憶された照合用認証情報とを比較し（ステップＳ２６）、両認証情報が一致するか否かを判定する（ステップＳ２７）。ここで、認証処理部２３が不一致と判定した場合（ステップＳ２７；Ｎｏ）、制御部２１は、非正規の操作者が操作していると判断する。そして、制御部２１は、上述したエラー処理を実行し（ステップＳ３６）、本処理を終了する。
【００３４】
また、ステップＳ２７において、認証処理部２３が一致すると判定した場合（ステップＳ２７；Ｙｅｓ）、制御部２１は、正規操作者が操作していると判断し、ステップＳ２８に移行する。
【００３５】
一方、情報処理装置１０では、制御部１１が、ＢＩＯＳ１２を起動し（ステップＳ１２）、この起動が完了すると情報処理装置１０の各部は動作可能な状態となる。これにより、ＵＳＢインタフェース１４とＵＳＢインタフェース２４との間の通信が確立する。なお、続くＯＳ１３１の起動は、セキュリティデバイス２０からのコマンドに応じて行うことになるため、制御部１１は、ＯＳ１３１の起動を保留する。
【００３６】
セキュリティデバイス２０側では、制御部２１が、ＵＳＢインタフェース間の通信確立を検出すると（ステップＳ２８）、ＴＰＭ２２と協働することで以下の処理を実行する。まず、制御部２１は、ＴＰＭ２２の記憶領域２２１にＰＣＲ情報が記憶されているか否かを判定する（ステップＳ２９）。ここで、ＰＣＲ情報が記憶されていないと判定した場合（ステップＳ２９；Ｎｏ）、制御部２１は、初回設定と判断し、ステップＳ３０のＰＣＲ情報登録処理を実行する。以下、図３を参照して、ステップＳ３０のＰＣＲ情報登録処理について説明する。
【００３７】
図３は、ＰＣＲ情報設定処理の手順を示すフローチャートである。まず、制御部２１は、ＵＳＢインタフェース２４を介して、情報処理装置１０を構成する各構成機器の固有情報を検出すると（ステップＳ３０１１）、この検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ３０１２）。そして、制御部２１は、ステップＳ３０１２で算出されたハッシュ値を、ハードウェア構成のハッシュ値としてＴＰＭ２２の記憶領域２２１に記憶する（ステップＳ３０１３）。
【００３８】
続いて、制御部２１は、ＵＳＢインタフェース２４を介して、情報処理装置１０が保持するＢＩＯＳ１２のファイルイメージを検出すると（ステップＳ３０１４）、この検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ３０１５）。そして、制御部２１は、ステップＳ３０１５で算出されたハッシュ値を、ＢＩＯＳ１２のハッシュ値としてＴＰＭ２２の記憶領域２２１に記憶する（ステップＳ３０１６）。
【００３９】
続いて、制御部２１は、ＵＳＢインタフェース２４を介して、情報処理装置１０のＨＤＤ１３に記憶されたＯＳ１３１のファイルイメージを検出すると（ステップＳ３０１７）、この検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ３０１８）。そして、制御部２１は、ステップＳ３０１８で算出されたハッシュ値を、ＯＳ１３１のハッシュ値としてＴＰＭ２２の記憶領域２２１に記憶する（ステップＳ３０１９）。
【００４０】
続いて、制御部２１は、ＵＳＢインタフェース２４を介して、情報処理装置１０のＨＤＤ１３に記憶されたアプリケーション１３２のファイルイメージを検出すると（ステップＳ３０２０）、この検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ３０２１）。そして、制御部２１は、ステップＳ３０２１で算出されたハッシュ値を、アプリケーション１３２のハッシュ値としてＴＰＭ２２の記憶領域２２１に記憶する（ステップＳ３０２２）。
【００４１】
次いで、制御部２１はＴＰＭ２２と協働し、暗号鍵を生成すると（ステップＳ３０２３）、この暗号鍵を記憶領域２２１に記憶する（ステップＳ３０２４）。制御部２１は、外部メモリ接続部２５に外部メモリＭが接続されているか否かを判定し、接続されていないと判定した場合（ステップＳ３０２５；Ｎｏ）、ステップＳ３２に直ちに移行する。また、外部メモリ接続部２５に外部メモリＭが接続されていると判定した場合（ステップＳ３０２５；Ｙｅｓ）、制御部２１はＴＰＭ２２と協働し、ステップＳ３０２３で生成された暗号鍵を外部メモリＭに記憶（バックアップ）した後（ステップＳ３０２６）、ステップＳ３２に移行する。
【００４２】
図２に戻り、制御部２１は、ＴＰＭ２２の記憶領域２２１にＰＣＲ情報が記憶されていると判定すると（ステップＳ２９；Ｙｅｓ）、ステップＳ３１の真正性確認処理を実行する。以下、図４を参照して、ステップＳ３１の真正性確認処理について説明する。
【００４３】
図４は、真正性確認処理の手順を示すフローチャートである。まず、制御部２１は、ＵＳＢインタフェース２４を介して、情報処理装置１０を構成する各構成機器の固有情報を検出すると（ステップＳ３１１１）、この検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ３１１２）。
【００４４】
ＴＰＭ２２は、ステップＳ３０１２で算出したハッシュ値と、記憶領域２２１に記憶されたハードウェア構成のハッシュ値とを比較し（ステップＳ３１１３）、両ハッシュ値が一致するか否かを判定する（ステップＳ３１１４）。
【００４５】
ここで、ＴＰＭ２２が不一致と判定すると（ステップＳ３１１４；Ｎｏ）、制御部２１は、情報処理装置１０の構成機器が改変されたと判断する。そして、制御部２１は、上述したエラー処理を実行し（ステップＳ３６）、本処理を終了する。また、ＴＰＭ２２が一致と判定すると（ステップＳ３１１４；Ｙｅｓ）、制御部２１は、ＵＳＢインタフェース２４を介して、情報処理装置１０が保持するＢＩＯＳ１２のファイルイメージを検出する（ステップＳ３１１５）。次いで、制御部２１は、検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ３１１６）。
【００４６】
ＴＰＭ２２は、ステップＳ３１１６で算出したハッシュ値と、記憶領域２２１に記憶されたＢＩＯＳ１２のハッシュ値とを比較し（ステップＳ３１１７）、両ハッシュ値が一致するか否かを判定する（ステップＳ３１１８）。
【００４７】
ここで、ＴＰＭ２２が不一致と判定すると（ステップＳ３１１８；Ｎｏ）、制御部２１は、情報処理装置１０のＢＩＯＳ１２が改変されたと判断する。そして、制御部２１は、上述したエラー処理を実行し（ステップＳ３６）、本処理を終了する。また、ＴＰＭ２２が一致と判定すると（ステップＳ３１１８；Ｙｅｓ）、制御部２１は、ＵＳＢインタフェース２４を介して、情報処理装置１０のＨＤＤ１３に記憶されたＯＳ１３１のファイルイメージを検出する（ステップＳ３１１９）。次いで、制御部２１は、検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ３１２０）。
【００４８】
ＴＰＭ２２は、ステップＳ３１２０で算出したハッシュ値と、記憶領域２２１に記憶されたＯＳ１３１のハッシュ値とを比較し（ステップＳ３１２１）、両ハッシュ値が一致するか否かを判定する（ステップＳ３１２２）。
【００４９】
ここで、ＴＰＭ２２が不一致と判定すると（ステップＳ３１２２；Ｎｏ）、制御部２１は、情報処理装置１０のＯＳ１３１が改変されたと判断する。そして、制御部２１は、上述したエラー処理を実行し（ステップＳ３６）、本処理を終了する。また、ＴＰＭ２２が一致と判定すると（ステップＳ３１２２；Ｙｅｓ）、制御部２１は、ＵＳＢインタフェース２４を介して、情報処理装置１０のＨＤＤ１３に記憶されたアプリケーション１３２のファイルイメージを検出する（ステップＳ３１２３）。次いで、制御部２１は、検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ３１２４）。
【００５０】
ＴＰＭ２２は、ステップＳ３１２４で算出したハッシュ値と、記憶領域２２１に記憶されたアプリケーション１３２のハッシュ値とを比較し（ステップＳ３１２５）、両ハッシュ値が一致するか否かを判定する（ステップＳ３１２６）。
【００５１】
ここで、ＴＰＭ２２が不一致と判定すると（ステップＳ３１２６；Ｎｏ）、制御部２１は、情報処理装置１０のアプリケーション１３２が改変されたと判断する。そして、制御部２１は、上述したエラー処理を実行し（ステップＳ３６）、本処理を終了する。また、ＴＰＭ２２が一致と判定すると（ステップＳ３１２６；Ｙｅｓ）、ステップＳ３２に移行する。
【００５２】
図２に戻り、制御部２１はＴＰＭ２２と協働し、ＴＰＭ２２の記憶領域２２１に記憶された暗号鍵を、ＵＳＢインタフェース２４を介して情報処理装置１０に送信する（ステップＳ３２）。情報処理装置１０では、ＵＳＢインタフェース１４を介して制御部１１が暗号鍵を受け付けると、この暗号鍵をＲＡＭ（図示せず）に保持する（ステップＳ１３）。これにより、制御部１１は、ＲＡＭに保持した暗号鍵を用いることで、所定のデータの暗号化／復号化を行うことが可能となる。
【００５３】
セキュリティデバイス２０では、情報処理装置１０に暗号鍵を提供すると、制御部２１はＴＰＭ２２と協働することで、ＯＳ１３１の起動を指示するコマンドを記憶領域２２１の暗号鍵を用いて暗号化し、この暗号化済みのコマンドを情報処理装置１０へ送信する（ステップＳ３３）。続いて、制御部２１は、予め定められた暗号化対象のデータを、記憶領域２２１の暗号鍵を用いて暗号化する（ステップＳ３４）。そして、制御部２１は、正規操作フラグを“０”に設定することで、自己の装置が正規の操作で取り外されたか否かを検出可能な状態とし（ステップＳ３５）、処理を終了する。
【００５４】
なお、ステップＳ３４において、暗号化対象となるデータは特に問わないものとする。例えば、各種判定処理の判定結果や、セキュリティデバイス２０や情報処理装置１０が行う処理内容等の履歴（ログデータ）を暗号化対象としてもよい。なお、この場合、ログデータの格納先は記憶領域２１１や外部メモリＭであってもよい。
【００５５】
一方、情報処理装置１０では、制御部１１が暗号化済みのコマンドを受け付けると、このコマンドをＲＡＭに保持した暗号鍵を用いて復号する（ステップＳ１４）。次いで、制御部１１は、復号したコマンドの指示内容に従い、ＨＤＤ１３に記憶されたＯＳ１３１の起動を開始し（ステップＳ１５）、処理を終了する。このＯＳ１３１の起動により、アプリケーション１３２の動作環境が提供される。
【００５６】
このように、セキュリティデバイス２０では、情報処理装置１０の起動時に、情報処理装置１０が具備するハードウェア構成及びソフトウェア構成の真正性を確認し、真正性が保持されていると判断した場合のみ、情報処理装置１０の起動を許可するよう制御する。これにより、情報処理装置１０のプラットフォーム（ハードウェア構成ソフトウェア構成）が所定の構成から改変されていた場合に、情報処理装置１０が不用意に起動してしまうことを防止することができるため、情報処理装置１０のセキュリティを向上させることができる。
【００５７】
なお、情報処理装置１０では、セキュリティデバイス２０とのコマンド授受のために暗号鍵を用いる形態としたが、これに限らず、この暗号鍵によりＨＤＤ１３自体が暗号化されている形態としてもよい。この場合、セキュリティデバイス２０の制御部２１は、記憶領域２２１に記憶された暗号鍵を用いることで、ＨＤＤ１３に記憶されたファイルイメージを検出することになる。
【００５８】
次に、図５を参照して、セキュリティデバイス２０が行う暗号鍵のリカバリ動作について説明する。図５は、セキュリティデバイス２０が実行する暗号鍵リカバリ処理の手順を示すフローチャートである。なお、本処理の前提として、セキュリティデバイス２０は情報処理装置１０に接続された状態にあり、情報処理装置１０のＯＳ１３１の起動が完了した状態にあるものとする。
【００５９】
まず、制御部２１は、情報処理装置１０からのコマンドや、図示しない操作ボタン等を介し、暗号鍵のリカバリを行う旨の指示を受け付けると（ステップＳ４１）、認証処理部２３の動作を制御し、情報処理装置１０の操作者から入力される認証情報の受付を開始させる。
【００６０】
認証処理部２３は、認証情報の入力を受け付けると（ステップＳ４２）、記憶領域２３１に記憶された照合用認証情報と比較し（ステップＳ４３）、両認証情報が一致するか否かを判定する（ステップＳ４４）。ここで、認証処理部２３が不一致と判定した場合（ステップＳ４４；Ｎｏ）、制御部２１は、非正規の操作者が操作していると判断する。そして、制御部２１は、上述したエラー処理を実行し（ステップＳ４５）、本処理を終了する。
【００６１】
また、ステップＳ４４において、認証処理部２３が一致すると判定した場合（ステップＳ４４；Ｙｅｓ）、制御部２１は、正規操作者が操作していると判断し、ステップＳ４６以降の処理をＴＰＭ２２と協働して実行する。
【００６２】
ステップＳ４６において、制御部２１は、記憶領域２２１に記憶された暗号鍵を用いることで、暗号化対象とされた所定のデータを復号する（ステップＳ４６）。次いで、制御部２１は、外部メモリＭに記憶された暗号鍵を読み出し、記憶領域２２１に記憶（上書き）することで、暗号鍵のリカバリを行う（ステップＳ４７）。
【００６３】
続いて、制御部２１は、記憶領域２２１に記憶した新たな暗号鍵を用いることで、暗号化対象とされた所定のデータを暗号化する（ステップＳ４８）。そして、制御部２１は、記憶領域２２１に記憶した新たな暗号鍵を情報処理装置１０に送信することで、情報処理装置１０に保持させた後（ステップＳ４９）、本処理を終了する。
【００６４】
このように、セキュリティデバイス２０では、暗号鍵のリカバリに際し、情報処理装置１０の操作者が正規操作者か否かを判定し、正規操作者と場合に暗号鍵のリカバリ動作を許可するため、非正規操作者に暗号鍵が書き換えられてしまうことを防止することができる。また、リカバリ前の暗号鍵で暗号化されていたデータを該暗号鍵で復号化した後、リカバリ後の暗号鍵で再度暗号化を行うため、該データを引き続き利用することができる。
【００６５】
次に、図６を参照して、セキュリティデバイス２０を情報処理装置１０から取り外す際の動作について説明する。図６は、セキュリティデバイス２０の取り外し時における、情報処理システム１の動作を示すフローチャートである。なお、本処理の前提として、セキュリティデバイス２０は情報処理装置１０に接続された状態にあり、情報処理装置１０のＯＳ１３１の起動が完了した状態にあるものとする。
【００６６】
まず、情報処理装置１０において、情報処理装置１０の操作者から図示しないキーボードやポインティングデバイスを介し、セキュリティデバイス２０の取り外しが指示されると、制御部１１はこの指示内容を受け付ける（ステップＳ５１）。次いで、制御部１１は、セキュリティデバイス２０の取り外しを指示するコマンドを、セキュリティデバイス２０との間で共有された暗号鍵を用いて暗号化すると（ステップＳ５２）、ＵＳＢインタフェース１４を介してセキュリティデバイス２０に送信する（ステップＳ５３）。
【００６７】
一方、セキュリティデバイス２０では、情報処理装置１０から暗号化されたコマンドを受信すると、制御部２１はＴＰＭ２２と協働し、このコマンドを記憶領域２２１に記憶された暗号鍵を用いて復号する（ステップＳ６１）。続いて、制御部２１は、復号したコマンドの指示内容に従い、自己の装置の取り外しが指示されたことを認識すると、認証処理部２３の動作を制御し、情報処理装置１０の操作者から入力される認証情報の受付を開始させる。
【００６８】
認証処理部２３は、認証情報の入力を受け付けると（ステップＳ６２）、記憶領域２３１に記憶された照合用認証情報と比較し（ステップＳ６３）、両認証情報が一致するか否かを判定する（ステップＳ６４）。ここで、認証処理部２３が不一致と判定した場合（ステップＳ６４；Ｎｏ）、制御部２１は、非正規の操作者が操作していると判断する。そして、制御部２１は、情報処理装置１０の使用を制限するため、上述したエラー処理を実行し（ステップＳ６５）、本処理を終了する。
【００６９】
また、ステップＳ６４において、認証処理部２３が一致すると判定した場合（ステップＳ６４；Ｙｅｓ）、制御部２１は、正規操作者から正規の操作手順で取り外しが指示されたと判断し、正規操作フラグを“１”に設定することで、セキュリティデバイス２０の取り外しが正規の操作で行われたことを記録する（ステップＳ６６）。そして、制御部２１は、セキュリティデバイス２０の各部を制御し、自己の装置を取り外し可能な状態に移行させると（ステップＳ６７）、本処理を終了する。
【００７０】
このように、セキュリティデバイス２０では、正規操作フラグを用いることで、情報処理装置１０からの前回の取り外しが正規の操作で行われたか否かを識別する。例えば、セキュリティデバイス２０がいきなり取り外された場合や、非正規操作者がセキュリティデバイス２０の取り外しを試みた場合等、非正規の操作でセキュリティデバイス２０の取り外しが行われると、正規操作フラグは“０”のまま保持されることになる。この場合、セキュリティデバイス２０は、情報処理装置１０への次回接続時に、図２で説明したステップＳ２２の判定結果によりステップＳ３６のエラー処理を実行し、情報処理装置１０の起動を制限する。これにより、セキュリティデバイス２０が不用意に取り外されてしまうことを防止することができる。
【００７１】
なお、情報処理装置１０側においても、セキュリティデバイス２０の取り外しが行われた場合には、情報処理装置１０の終了やロック、暗号鍵の消去等、情報処理装置１０を使用することができない状態に移行させることが好ましい。
【００７２】
以上のように、本実施形態によれば、セキュリティデバイス２０を用いることで、このセキュリティデバイス２０が接続された本体装置（情報処理装置１０）の真正性を確認し、この確認結果に応じて情報処理装置１０の起動を制限することができる。そのため、情報処理装置１０本体にセキュリティチップ（ＴＰＭ）が未実装の場合であっても、セキュリティデバイス２０を接続することで、情報処理装置１０のトラステッドブートを実現することができる。
【００７３】
なお、本実施形態では、セキュリティデバイス２０において、制御部２１及びＴＰＭ２２のそれぞれを独立した機能部として説明したが、これに限らず、制御部２１がＴＰＭ２２の機能を一体的に有する形態としてもよい。
【００７４】
また、本実施形態では、制御部２１及び認証処理部２３の各々が記憶領域を有する形態としたが、これに限らず、制御部２１及び認証処理部２３の各々が書込／読取可能な記憶媒体をセキュリティデバイス２０内に設ける形態としてもよい。
【００７５】
また、本実施形態では、外部メモリ接続部２５に接続された外部メモリＭに暗号鍵をバックアップする形態としたが、これに限らず、情報処理装置１０を制御することで、この情報処理装置１０のＬＡＮインタフェース１５に接続された外部装置３０にバックアップする形態としてもよい。
【００７６】
また、本実施形態では、外部メモリ接続部２５に接続された外部メモリＭが保持する暗号鍵を記憶領域２２１にリカバリする形態としたが、これに限らず、情報処理装置１０を制御することで、この情報処理装置１０のＬＡＮインタフェース１５に接続された外部装置３０が保持する暗号鍵を記憶領域２２１にリカバリする形態としてもよい。
【００７７】
［第２の実施形態］
次に、第２の実施形態について説明する。上述した第１の実施形態では、情報処理装置１０のソフトウェア構成（ＢＩＯＳ１２、ＯＳ１３１、アプリケーション１３２）のハッシュ値と、ＴＰＭ２２の記憶領域２２１に記憶されたＰＣＲ情報との同一性を判定することで、該ソフトウェア構成の真正性を確認することを説明した。本実施形態では、情報処理装置１０に記憶されたソフトウェア（プログラム）のバージョンアップを行うのに好適な形態について説明する。なお、第１の実施形態と同様の構成要素については、同一の符号を付与し、その説明を省略する。
【００７８】
図７は、第２の実施形態に係る情報処理システム２の構成を模式的に示すブロック図である。同図に示すように、情報処理システム２は、情報処理装置１０と、セキュリティデバイス４０とを有している。
【００７９】
セキュリティデバイス４０は、制御部４１、ＴＰＭ２２、認証処理部２３、ＵＳＢインタフェース２４及び外部メモリ接続部２５等を備えている。また、本実施形態では、外部メモリ接続部２５に外部メモリＭが接続され、この外部メモリＭに特定のアプリケーションをバージョンアップさせるためのアップデータＭ１が記憶されている。なお、アップデータＭ１には、適用対象となるアプリケーションの名称等を示す固有情報と、適用後のバージョンを示す版情報とが付帯されているものとする。
【００８０】
制御部４１は、ＣＰＵ、ＲＯＭ及びＲＡＭ等から構成され、上述した制御部２１と同様の機能によりセキュリティデバイス４０の各部の動作を統括的に制御する。また、制御部４１は、本実施形態に固有の機能として、情報処理装置１０に記憶されたアプリケーション１３２のバージョンアップを行う。
【００８１】
具体的に、制御部４１は、情報処理装置１０のＨＤＤ１３に記憶されたアプリケーション１３２の固有情報とバージョンを示す版情報を、自動又は操作者からの指示に応じて取得する。また、制御部４１は、アプリケーション１３２の固有情報及び版情報と、外部メモリＭに記憶されたアップデータＭ１の固有情報及び版情報と比較し、アプリケーション１３２の固有情報と同一で且つ、版情報がこのアプリケーション１３２よりも新しいバージョンのアップデータＭ１が存在するか否かを判定する。この判定の結果、該当するアップデータＭ１の存在を確認した場合、制御部４１は、このアップデータＭ１とともに、対応するアプリケーション１３２のバージョンアップを指示するコマンドを情報処理装置１０へ送信する。これにより、情報処理装置１０の制御部１１は、送信されたアップデータＭ１を用いることで、このアップデータＭ１に対応するアプリケーション１３２のバージョンアップを行う。
【００８２】
また、制御部４１は、アップデータＭ１によるバージョンアップ後、アプリケーション１３２のファイルイメージを検出すると、その検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる。そして、制御部４１は、ＴＰＭ２２により算出されたハッシュ値を、バージョンアップ後のアプリケーション１３２のハッシュ値として、ＴＰＭ２２の記憶領域２２１に記憶させる。
【００８３】
以下、図８を参照して、本実施形態の情報処理システム２の動作について説明する。ここで、図８は、セキュリティデバイス４０が実行するソフトウェア更新処理の手順を示すフローチャートである。なお、本処理の前提として、セキュリティデバイス４０は情報処理装置１０に接続された状態にあり、情報処理装置１０のＯＳ１３１の起動が完了した状態にあるものとする。また、外部メモリ接続部２５には、アップデータＭ１を保持する外部メモリＭが接続されているものとする。
【００８４】
まず、制御部４１は、ＵＳＢインタフェース２４を介し、情報処理装置１０のＨＤＤ１３に記憶されたアプリケーション１３２の固有情報及び版情報を取得する（ステップＳ７１）。次いで、制御部４１は、ステップＳ７１で取得した固有情報及び版情報と、外部メモリＭに記憶されたアップデータＭ１の固有情報及び版情報とを比較する（ステップＳ７２）。
【００８５】
ここで、制御部４１は、外部メモリＭの中に、アプリケーション１３２の固有情報と同一で且つ、このアプリケーション１３２よりも新しいバージョンの版情報を有したアップデータＭ１が存在するか否かを判定する（ステップＳ７３）。ここで、外部メモリＭに記憶されたアップデータＭ１の中に、上記の条件に該当するものが存在しないと判定すると（ステップＳ７３；Ｎｏ）、制御部４１は本処理を直ちに終了する。
【００８６】
また、ステップＳ７３において、制御部４１は、上記の条件に該当するアップデータＭ１が存在すると判定すると（ステップＳ７３；Ｙｅｓ）、このアップデータＭ１とともに、このアップデータＭ１に対応するアプリケーション１３２のバージョンアップを指示するコマンド（暗号化済み）を、情報処理装置１０へ送信する（ステップＳ７４）。なお、ここではコマンドのみ暗号化する形態としたが、アップデータＭ１も暗号化する形態としてもよい。
【００８７】
情報処理装置１０では、セキュリティデバイス４０からアップデータＭ１と、バージョンアップを指示するコマンドを受け付けると、制御部１１は、ＲＡＭに保持した暗号鍵を用いてコマンドを復号する。そして、制御部１１は、このコマンドの指示内容に従い、アップデータＭ１を用いて、このアップデータＭ１に対応するアプリケーション１３２のバージョンアップを行う。
【００８８】
次いで、制御部４１は、ＵＳＢインタフェース２４を介して、情報処理装置１０のＨＤＤ１３に記憶されたアプリケーション１３２のファイルイメージを検出すると（ステップＳ７５）、検出結果をＴＰＭ２２に出力することでハッシュ値を算出させる（ステップＳ７６）。そして、制御部２１は、ステップＳ７６で算出されたハッシュ値を、アップデート後のアプリケーション１３２のハッシュ値として、ＴＰＭ２２の記憶領域２２１に記憶し（ステップＳ７７）、本処理を終了する。
【００８９】
また、ステップＳ７３において、外部メモリＭに記憶されたアップデータＭ１の中に、上記の条件に該当するものが存在しないと判定すると（ステップＳ７３；Ｎｏ）、制御部４１は、本処理を直ちに終了する。
【００９０】
このように、本実施形態のセキュリティデバイス４０によれば、情報処理装置１０のアプリケーション１３２を容易にバージョンアップすることができるため、利便性を向上させることができる。
【００９１】
なお、本実施形態では、情報処理装置１０が具備するソフトウェア構成のうち、アプリケーション１３２のみをバージョンアップの対象としたが、これに限らず、ＢＩＯＳ１２やＯＳ１３１をバージョンアップさせるアップデータＭ１を用いることで、このＢＩＯＳ１２やＯＳ１３１をバージョンアップさせる形態としてもよい。
【００９２】
また、本実施形態では、外部メモリＭにアップデータＭ１を保持する形態としたが、これに限らない。例えば、情報処理装置１０のＨＤＤ１３や、ＵＳＢインタフェース１４に接続された他のＵＳＢメモリ等の他の記憶装置、ＬＡＮインタフェース１５に接続された記憶装置（例えば、外部装置３０）にアップデータＭ１が保持されている形態としてもよい。この場合、セキュリティデバイス４０の制御部４１は、ＵＳＢインタフェース２４を介し、情報処理装置１０に接続された記憶装置からアップデータＭ１を用いて、各種プログラムのバージョンアップを行うよう制御するものとする。
【００９３】
［第３の実施形態］
次に、第３の実施形態について説明する。上述した第２の実施形態では、アップデータＭ１を用いてアプリケーション１３２をバージョンアップすることで、最新バージョンのアプリケーション１３２を実行可能とする形態を説明した。本実施形態では、バージョンアップ後のアプリケーション１３２に相当する最新バージョンのアプリケーション（以下、最新アプリケーションという）を別途用意し、この最新アプリケーションを実行させる形態について説明する。なお、第１の実施形態と同様の構成要素については、同一の符号を付与し、その説明を省略する。
【００９４】
図９は、第３の実施形態に係る情報処理システム３の構成を模式的に示すブロック図である。同図に示すように、情報処理システム３は、情報処理装置１０と、セキュリティデバイス５０とを有している。
【００９５】
セキュリティデバイス５０は、制御部５１、ＴＰＭ２２、認証処理部２３、ＵＳＢインタフェース２４及び外部メモリ接続部２５等を備えている。また、本実施形態では、外部メモリ接続部２５に外部メモリＭが接続され、この外部メモリＭに最新アプリケーションＭ２が記憶されている。なお、最新アプリケーションＭ２には、その固有情報と版情報とが付帯されているものとする。
【００９６】
制御部５１は、ＣＰＵ、ＲＯＭ及びＲＡＭ等から構成され、上述した制御部２１と同様の機能によりセキュリティデバイス５０の各部の動作を統括的に制御する。また、制御部５１は、本実施形態に固有の機能として、情報処理装置１０に記憶されたアプリケーション１３２の版情報が、アプリケーション１３２の版情報が最新アプリケーションＭ２よりも古い場合、この最新アプリケーションＭ２を起動するよう情報処理装置１０を制御する。
【００９７】
具体的に、制御部５１は、情報処理装置１０の制御部１１が、ＨＤＤ１３に記憶されたアプリケーション１３２を起動させる際に、このアプリケーション１３２の固有情報及び版情報を取得し、外部メモリＭに記憶された最新アプリケーションＭ２の固有情報及び版情報と比較する。ここで、制御部５１は、アプリケーション１３２の固有情報と同一で且つ、このアプリケーション１３２よりも版情報が新しいバージョンの最新アプリケーションＭ２が存在するか否かを判定する。この判定の結果、該当する最新アプリケーションＭ２が存在した場合、制御部５１は、この最新アプリケーションＭ２の実行を指示するコマンドを情報処理装置１０へ送信することで、アプリケーション１３２の代わりに、外部メモリＭに記憶された最新アプリケーションＭ２の実行を、情報処理装置１０の制御部１１に指示する。
【００９８】
以下、図１０を参照して、情報処理システム３の動作について説明する。ここで、図１０は、セキュリティデバイス５０が実行する起動アプリケーション制御処理の手順を示すフローチャートある。なお、本処理の前提として、セキュリティデバイス５０は情報処理装置１０に接続された状態にあり、情報処理装置１０のＯＳ１３１の起動が完了した状態にあるものとする。また、情報処理装置１０では、制御部１１により、アプリケーション１３２の起動準備が行われた状態にあるものとする。
【００９９】
まず、制御部５１は、ＵＳＢインタフェース２４を介し、起動の対象とされたアプリケーション１３２の固有情報及び版情報を取得する（ステップＳ８１）。次いで、制御部５１は、ステップＳ８１で取得した固有情報及び版情報と、外部メモリＭに記憶された最新アプリケーションＭ２の固有情報及び版情報とを比較し（ステップＳ８２）、アプリケーション１３２の固有情報と同一で、且つ、このアプリケーション１３２の版情報よりも新しいバージョンの最新アプリケーションＭ２が存在するか否かを判定する（ステップＳ８３）。
【０１００】
ここで、該当する最新アプリケーションＭ２が存在すると判定した場合（ステップＳ８３；Ｙｅｓ）、制御部５１は、該当する最新アプリケーションＭ２の起動を指示するコマンドを記憶領域２２１に記憶された暗号鍵で暗号化すると、このコマンドを情報処理装置１０へ送信し（ステップＳ８４）、本処理を終了する。この場合、情報処理装置１０の制御部１１は、ステップＳ８４で送信されたコマンドの指示内容に従い、セキュリティデバイス５０の外部メモリＭに記憶された最新アプリケーションＭ２を実行する。
【０１０１】
また、ステップＳ８３において、条件に該当する最新アプリケーションＭ２が存在しないと判定した場合（ステップＳ８３；Ｎｏ）、制御部５１は、ＨＤＤ１３に記憶されたアプリケーション１３２の実行（起動）を指示するコマンドを記憶領域２２１に記憶された暗号鍵で暗号化すると、このコマンドを情報処理装置１０へ送信し（ステップＳ８５）、本処理を終了する。この場合、情報処理装置１０の制御部１１は、ステップＳ８５で送信されたコマンドの指示内容に従い、ＨＤＤ１３に記憶されたアプリケーション１３２を実行する。
【０１０２】
以上のように、本実施形態のセキュリティデバイス５０によれば、情報処理装置１０のＨＤＤ１３に記憶されたアプリケーション１３２のバージョンが最新のものでない場合に、このアプリケーション１３２の真正性を確認した上で当該アプリケーション１３２の最新アプリケーションＭ２を情報処理装置１０に実行させる。これにより、情報処理装置１０のソフトウェア構成（アプリケーション１３２）を変えずに、最新のアプリケーションを実行させることができるため、情報処理装置１０のソフトウェア構成を変更できない場合や、アプリケーションのバージョンを一時的に変更する場合等の利便性を向上させることができる。
【０１０３】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加等が可能である。
【符号の説明】
【０１０４】
１  情報処理システム
１０  情報処理装置
１１  制御部
１２  ＢＩＯＳ
１３  ＨＤＤ
１３１  ＯＳ
１３２  アプリケーション
１４  ＵＳＢインタフェース
１５  ＬＡＮインタフェース
２０  セキュリティデバイス
２１  制御部
２１１  記憶領域
２２  ＴＰＭ
２２１  記憶領域
２３  認証処理部
２３１  記憶領域
２４  ＵＳＢインタフェース
２５  外部メモリ接続部
３０  外部装置
４０  セキュリティデバイス
４１  制御部
５０  セキュリティデバイス
５１  制御部
Ｍ  外部メモリ
Ｍ１  アップデータ
Ｍ２  最新アプリケーション
Ｎ  ネットワーク
【先行技術文献】
【特許文献】
【０１０５】
【特許文献１】特許第３７７７１７０号
【図１】
2012008641.tif 000003
【図２】
2012008641.tif 000004
【図３】
2012008641.tif 000005
【図４】
2012008641.tif 000006
【図５】
2012008641.tif 000007
【図６】
2012008641.tif 000008
【図７】
2012008641.tif 000009
【図８】
2012008641.tif 000010
【図９】
2012008641.tif 000011
【図１０】
2012008641.tif 000012