(57)【要約】【課題】アプリケーション情報の漏洩を防止できるとともに、アプリケーションを記憶する装置に正しく接続できない場合にもＯＳの起動を阻止することができるようにする。【解決手段】  外部装置が記憶するアプリケーションを外部装置から取得するアプリケーション取得手段と、アプリケーション取得手段が外部装置に正常に接続してアプリケーションを取得した場合に、当該アプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定手段と、測定手段が測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合手段と、照合手段が照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動手段とを備える。【選択図】図１
2011128659.tif 000002
【特許請求の範囲】
【請求項１】
外部装置が記憶するアプリケーションを前記外部装置から取得するアプリケーション取得手段と、
前記アプリケーション取得手段が前記外部装置に正常に接続してアプリケーションを取得した場合に、当該アプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定手段と、
前記測定手段が測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合手段と、
前記照合手段が照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動手段と
を備えたことを特徴とするＯＳ起動可否判定装置。
【請求項２】
測定手段は、アプリケーションを動作させるＯＳを起動する前に、当該ＯＳの正常性を測定し、
照合手段は、前記測定手段が測定したＯＳの正常性と、予め記憶する正常なＯＳを示す情報とを照合し、
ＯＳ起動手段は、アプリケーションが正常であると判断し、ＯＳが正常であると判断した場合に、ＯＳを起動する
請求項１記載のＯＳ起動可否判定装置。
【請求項３】
装置で動作させるアプリケーションを示す情報と、予め記憶する正常なアプリケーションを示す情報と、予め記憶する正常なＯＳを示す情報とを暗号鍵を用いて暗号化し、暗号鍵に対応する復号鍵を記憶するセキュリティチップを備えた
請求項１または請求項２記載のＯＳ起動可否判定装置。
【請求項４】
測定手段は、アプリケーションおよびＯＳの正常性を判断するために、ソフトウェアイメージまたはそのハッシュ値を測定する
請求項１から請求項３のうちのいずれか１項に記載のＯＳ起動可否判定装置。
【請求項５】
測定手段は、アプリケーションおよびＯＳの正常性を判断するために、ソフトウェアの破損を調べるための値を測定する
請求項１から請求項３のうちのいずれか１項に記載のＯＳ起動可否判定装置。
【請求項６】
アプリケーションを記憶する外部装置と、
前記外部装置が記憶するアプリケーションの正常性に応じてＯＳを起動するＯＳ起動可否判定装置とを備え、
前記ＯＳ起動可否判定装置は、
前記外部装置が記憶するアプリケーションを前記外部装置から取得するアプリケーション取得手段と、
前記アプリケーション取得手段が前記外部装置に正常に接続してアプリケーションを取得した場合に、当該アプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定手段と、
前記測定手段が測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合手段と、
前記照合手段が照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動手段と
を備えたことを特徴とするＯＳ起動可否判定システム。
【請求項７】
測定手段は、アプリケーションを動作させるＯＳを起動する前に、当該ＯＳの正常性を測定し、
照合手段は、前記測定手段が測定したＯＳの正常性と、予め記憶する正常なＯＳを示す情報とを照合し、
ＯＳ起動手段は、アプリケーションが正常であると判断し、ＯＳが正常であると判断した場合に、ＯＳを起動する
請求項６記載のＯＳ起動可否判定システム。
【請求項８】
外部装置が記憶するアプリケーションを前記外部装置から取得するアプリケーション取得ステップと、
前記アプリケーション取得ステップで前記外部装置に正常に接続してアプリケーションを取得した場合に、当該アプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定ステップと、
前記測定ステップで測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合ステップと、
前記照合ステップで照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動ステップと
を含むことを特徴とするＯＳ起動可否判定方法。
【請求項９】
測定ステップで、アプリケーションを動作させるＯＳを起動する前に、当該ＯＳの正常性を測定し、
照合ステップで、前記測定ステップで測定したＯＳの正常性と、予め記憶する正常なＯＳを示す情報とを照合し、
ＯＳ起動ステップで、アプリケーションが正常であると判断し、ＯＳが正常であると判断した場合に、ＯＳを起動する
請求項８記載のＯＳ起動可否判定方法。
【請求項１０】
コンピュータに、
外部装置が記憶するアプリケーションを前記外部装置から取得するアプリケーション取得処理と、
前記アプリケーション取得処理で前記外部装置に正常に接続してアプリケーションを取得した場合に、当該アプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定処理と、
前記測定処理で測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合処理と、
前記照合処理で照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動処理と
を実行させるためのＯＳ起動可否判定プログラム。
【請求項１１】
コンピュータに、
測定処理で、アプリケーションを動作させるＯＳを起動する前に、当該ＯＳの正常性を測定する処理を実行させ、
照合処理で、前記測定処理で測定したＯＳの正常性と、予め記憶する正常なＯＳを示す情報とを照合する処理を実行させ、
ＯＳ起動処理で、アプリケーションが正常であると判断し、ＯＳが正常であると判断した場合に、ＯＳを起動するする処理を実行させる
請求項１０記載のＯＳ起動可否判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＯＳの起動の可否を判定するＯＳ起動可否判定装置、ＯＳ起動可否判定システム、ＯＳ起動可否判定方法およびＯＳ起動可否判定プログラムに関する。
【背景技術】
【０００２】
屋外に設置された機器は、盗難、改造、解析等の攻撃を受ける危険があるため、施錠等により厳重に保護する等の対策が取られている。しかし、機器が攻撃を受けることにより、機器が盗難にあって別の場所で使用される可能性や、内部のアプリケーションの情報が解析される可能性や、改ざんされたアプリケーションを実行される可能性がある。
【０００３】
これに対して、アプリケーションの改ざんを検出した時に機器の起動を阻止する技術が、特許文献１に記載されている。特許文献１に記載されているシステムは、起動時に被検査ファイルリストを読み込み、正しいアプリケーションの情報と実際のアプリケーションの情報とを比較することで、被検査ファイルリストに記載されたアプリケーションの完全性を検証している。そして、検査の結果、ファイルの改竄が無い場合にはＯＳを起動している。これにより、ＯＳの起動前にファイルの改竄を検査することが可能となる。
【０００４】
【特許文献１】特開平１０−３３３９０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載された方式は、１つの装置で構成され、装置で使う情報が全て同一の装置内に保管されているため、機器が盗難にあって別の場所で使用される危険や、機器の内部が解析され、機器内で使用されているアプリケーション等の情報が漏洩する危険がある。また、アプリケーションを記憶する装置が別の装置である場合は考慮されていない。そのため、アプリケーションを記憶する装置に正しく接続できない場合については考慮されていない。さらに、被検査ファイルリストや正しいアプリケーションの情報を、書き換え不能な領域に保存しているため、ファイルの更新が困難である。
【０００６】
そこで、本発明は、アプリケーション情報の漏洩を防止できるとともに、アプリケーションを記憶する装置に正しく接続できない場合にもＯＳの起動を阻止することができるＯＳ起動可否判定装置、ＯＳ起動可否判定システム、ＯＳ起動可否判定方法およびＯＳ起動可否判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によるＯＳ起動可否判定装置は、外部装置が記憶するアプリケーションを外部装置から取得するアプリケーション取得手段と、アプリケーション取得手段が取得したアプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定手段と、測定手段が測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合手段と、照合手段が照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動手段とを備えたことを特徴とする。
【０００８】
本発明によるＯＳ起動可否判定システムは、アプリケーションを記憶する外部装置と、外部装置が記憶するアプリケーションの正常性に応じてＯＳを起動するＯＳ起動可否判定装置とを備え、ＯＳ起動可否判定装置は、外部装置が記憶するアプリケーションを外部装置から取得するアプリケーション取得手段と、アプリケーション取得手段が取得したアプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定手段と、測定手段が測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合手段と、照合手段が照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動手段とを備えたことを特徴とする。
【０００９】
本発明によるＯＳ起動可否判定方法は、外部装置が記憶するアプリケーションを外部装置から取得するアプリケーション取得ステップと、アプリケーション取得ステップで取得したアプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定ステップと、測定ステップで測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合ステップと、照合ステップで照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動ステップとを含むことを特徴とする。
【００１０】
本発明によるＯＳ起動可否判定プログラムは、コンピュータに、外部装置が記憶するアプリケーションを外部装置から取得するアプリケーション取得処理と、アプリケーション取得処理で取得したアプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定処理と、測定処理で測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合処理と、照合処理で照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動処理とを実行させることを特徴とする。
【００１１】
本発明によるＯＳ起動可否判定システムの好ましい一態様は、例えば、起動時に、装置で使用するアプリケーションを起動時に外部装置より取得し、取得したアプリケーションの完全性を検証する装置を備え、ＯＳを起動する前にアプリケーションの完全性を検証し、アプリケーションの改ざんや破損を確認した場合にはＯＳを起動しない動作をすることを特徴とする。このような構成を採用することにより、本発明の目的を達成することができる。
【発明の効果】
【００１２】
本発明によれば、アプリケーション情報の漏洩を防止できるとともに、アプリケーションを記憶する装置に正しく接続できない場合にもＯＳの起動を阻止することができる。
【発明を実施するための最良の形態】
【００１３】
まず、本発明の概要について図面を参照して説明する。図１は、本発明によるＯＳ起動可否判定装置の最小の構成例を示すブロック図である。図１に例示するＯＳ起動可否判定装置１は、アプリケーション取得手段１０５と、測定手段１２１と、照合手段１２２と、ＯＳ起動手段１０３とを備える。
【００１４】
アプリケーション取得手段１０５は、外部装置が記憶するアプリケーションを外部装置から取得する。
【００１５】
測定手段１２１は、アプリケーション取得手段１０５が外部装置に正常に接続してアプリケーションを取得した場合に、当該アプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する。
【００１６】
照合手段１２２は、測定手段１２１が測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する。
【００１７】
ＯＳ起動手段１０３は、照合手段１２２が照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動する。
【００１８】
図１に示すように構成すれば、アプリケーション情報の漏洩を防止できるとともに、アプリケーションを記憶する装置に正しく接続できない場合にもＯＳの起動を阻止することができる。
【００１９】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。図２は、第１の実施形態のＯＳ起動可否判定システムの構成例を示すブロック図である。図２に示すＯＳ起動可否判定システムは、装置（ＯＳ起動可否判定装置）１と、装置（外部装置）２とを備える。装置１と装置２とは、例えば、ネットワークを介して通信可能に接続されている。
【００２０】
装置２は、装置１の外部に設置される外部装置であって、記憶部（図示せず。）にアプリケーション部２１を記憶する。アプリケーション部２１は、装置１に搭載されるＣＰＵが実行するアプリケーションソフトウェアで実現される。
【００２１】
装置１は、ＢＩＯＳ部１０と、記憶装置１１と、検証装置１２と、揮発性記憶装置１３とを含む。
【００２２】
ＢＩＯＳ部１０は、装置２からアプリケーション部２１を受信し、検証装置１２がアプリケーション部２１を検証した結果に応じて、後述するＯＳ部１１１を起動する。ＢＩＯＳ部１０は、例えば、アプリケーション部２１を記憶する装置２に正しく接続できなかった場合や、装置２以外の外部装置に接続した場合には、ＯＳ部１１１を起動しない。ＢＩＯＳ部１０は、検証要求手段１０１と、ＯＳ起動判定手段１０２と、ＯＳ起動手段１０３と、通信手段１０４とを有する。
【００２３】
検証要求手段１０１は、電源による起動時に検証装置１２に検証要求を出力する。例えば、検証要求手段１０１は、ＢＩＯＳ部１０が起動し、アプリケーション部２１を記憶する装置２に正しく接続してアプリケーション部２１を正常に受信した場合に、アプリケーション部２１の検証を要求する検証要求を検証装置１２に送信する。
【００２４】
ＯＳ起動判定手段１０２は、ＯＳ部１１１の起動の可否を決定する。すなわち、ＯＳ起動判定手段１０２は、検証装置１２がアプリケーション部２１を検証した結果に基づいて、アプリケーション部２１が正常であるか否かを判断する。
【００２５】
ＯＳ起動手段１０３は、ＯＳ部１１１を起動する。例えば、ＯＳ起動手段１０３は、ＯＳ起動判定手段１０２がアプリケーション部２１が正常であると判断した場合に、ＯＳ部１１１を起動する。
【００２６】
通信手段１０４は、装置２との通信を行う。例えば、装置１は、装置２から通信手段１０４を介してアプリケーション部２１を受信する。
【００２７】
記憶装置１１は、ＯＳ部１１１と、アプリケーションリスト１１２と、アプリケーション検証用の参照値１１３とを記憶する。
【００２８】
ＯＳ部１１１は、装置１に搭載されるＣＰＵ（図示せず。）が実行する基本ソフトウェアで実現され、アプリケーション部２１を実行する。
【００２９】
アプリケーションリスト１１２は、装置１が使用するアプリケーション（アプリケーション部２１）を示す情報である。
【００３０】
アプリケーション検証用の参照値１１３は、検証装置１２がアプリケーション部２１を検証する時に用いる値である。アプリケーション検証用の参照値１１３は、装置１の管理者が正常であると判断する状態のアプリケーションの固有の値である。すなわち、アプリケーション検証用の参照値１１３は、アプリケーション部２１が正常であるか否かを判断するための情報であって、正常なアプリケーション２１を示す情報である。アプリケーション検証用の参照値１１３は、例えば、正常なアプリケーションが取りうる値の範囲や、閾値等で実現される。
【００３１】
検証装置１２は、測定手段１２１と、照合手段１２２とを含み、アプリケーション部２１が正常であるか否かを検証する。
【００３２】
測定手段１２１は、アプリケーションやＯＳのようなソフトウェアのイメージやハッシュ値、ＣＲＣ等のソフトウェアの破損を調べるための値等の、ソフトウェア固有の値を測定する。例えば、測定手段１２１は、アプリケーション部２１の正常性を示す固有の値を測定する。以下、「アプリケーション部２１の正常性を示す固有の値」を「アプリケーション部２１の固有の値」と表記し、「アプリケーション部２１の正常性を示す固有の値を測定する」ことを「アプリケーション部２１の正常性を測定する」と表記する場合がある。
【００３３】
照合手段１２２は、測定手段１２１が測定したアプリケーション部２１の正常性と、記憶装置１１が記憶するアプリケーション検証用の参照値１１３（正常なアプリケーションの正常性）とを照合する。
【００３４】
揮発性記憶装置１３は、電源の供給が絶たれると保存されている情報が消去される記憶装置である。揮発性記憶装置１３は、装置２から受信したアプリケーション部２１を記憶する。
【００３５】
次に、図２および図３を参照して第１の実施形態の動作について説明する。図３は、第１の実施形態におけるＯＳ起動可否判定システムの動作を示すフローチャートである。
【００３６】
まず、装置１の電源が入れられると、ＢＩＯＳ部１０が起動する（ステップＳ１０１）。
【００３７】
次に、ＢＩＯＳ部１０は、装置１が使用するアプリケーションのリスト１１２を取得する（ステップＳ１０２）。ＢＩＯＳ部１０は、アプリケーションリスト１１２に記載されている情報が示すアプリケーション部２１を装置２に要求し（ステップＳ１０３）、要求したアプリケーション部２１を装置２から取得（受信）して揮発性記憶装置１３に保存する（ステップＳ１０４）。
【００３８】
なお、ＢＩＯＳ部１０は、アプリケーション部２１を記憶する装置２に正しく接続できなかった場合や、装置２以外の外部装置に接続した場合には、例えば、ＯＳ部１１１を起動せずに装置１の電源を切断する。
【００３９】
次に、ＢＩＯＳ部１０は、アプリケーション部２１を記憶する装置２に正しく接続してアプリケーション部２１を正常に受信した場合に、取得したアプリケーション部２１の検証を要求する検証要求を、検証装置１２に送信する（ステップＳ１０５）。
【００４０】
次に、検証装置１２は、アプリケーション部２１の固有の値を測定し（ステップＳ１０６）、記憶装置１１からアプリケーション検証用の参照値１１３を取得する（ステップＳ１０７）。検証装置１２は、アプリケーション部２１の固有の値と、アプリケーション検証用の参照値１１３とを照合する（ステップＳ１０８）。
【００４１】
次に、検証装置１２は、照合結果をＢＩＯＳ部１０に送信する（ステップＳ１０９）。ＢＩＯＳ部１０は、照合結果に基づいて、アプリケーション部２１が正常であるか否かを判断する（ステップＳ１１０）。アプリケーション部２１が正常でないと判断した場合（ＮＯ）、ＢＩＯＳ部１０は、装置１の電源を切断する（ステップＳ１１１）。
【００４２】
アプリケーション部２１が正常であると判断した場合（ＹＥＳ）、ＢＩＯＳ部１０は、記憶装置１１のＯＳ部１１１を起動する（ステップＳ１１２）。
【００４３】
次に、ＯＳ部１１１は、アプリケーション部２１を起動し、アプリケーション部２１はアプリケーションを実行する（ステップＳ１１３）。
【００４４】
以上に説明したように、第１の実施形態によれば、ＯＳ部を起動する前に、装置が使用するアプリケーションを外部装置から受信し、アプリケーションの改ざんの有無を検証するというように構成されている。そのため、アプリケーションを取得できない場合や、改ざんされたアプリケーションを実行しようとした場合だけでなく、装置が使用するアプリケーションを記憶する正しい外部装置に接続されなかった場合や、取得したアプリケーションが正しい状態になかった場合に、ＯＳの起動を阻止し、ＯＳが起動されることによって受ける攻撃を防止することができる。
【００４５】
また、揮発性記憶装置上にアプリケーションを展開して使用するため、機器（装置）が盗難されたとしても、装置１の電源が切れればアプリケーションの情報は消去されるため、アプリケーションの情報が装置の外に漏れることを防止することができる。
【００４６】
また、アプリケーション情報を外部装置が記憶することから、装置の内部情報が解析された場合にも、アプリケーション情報の漏洩を防止することができる。
【００４７】
実施形態２．
次に、本発明の第２の実施形態を図面を参照して説明する。図４は、第２の実施形態のＯＳ起動可否判定システムの構成例を示すブロック図である。
【００４８】
図４を参照すると、第２の実施形態における記憶装置１１は、図２に示す第１の実施形態における記憶装置１１には設けられていないＯＳ検証用の参照値１１４を記憶する。ＯＳ検証用の参照値１１４は、装置１の管理者が正常であると判断する状態にあるＯＳの固有の値である。
【００４９】
次に、図４および図５を参照して第２の実施形態の動作について説明する。図５は、第２の実施形態におけるＯＳ起動可否判定システムの動作を示すフローチャートである。
【００５０】
まず、装置１の電源が入れられると、ＢＩＯＳ部１０が起動する（ステップＳ２０１）。
【００５１】
次に、ＢＩＯＳ部１０は、装置１が使用するアプリケーションのリスト１１２を取得する（ステップＳ２０２）。ＢＩＯＳ部１０は、アプリケーションリスト１１２に記載されている情報が示すアプリケーション部２１を装置２に要求し（ステップＳ２０３）、要求したアプリケーション部２１を装置２から受信して揮発性記憶装置１３に保存する（ステップＳ２０４）。
【００５２】
次に、ＢＩＯＳ部１０は、アプリケーション部２１およびＯＳ部１１１の検証を要求する検証要求を、検証装置１２に送信する（ステップＳ２０５）。
【００５３】
次に、検証装置１２は、アプリケーション部２１の固有の値を測定し（ステップＳ２０６）、記憶装置１１からアプリケーション検証用の参照値１１３を取得する（ステップＳ２０７）。検証装置１２は、アプリケーション部２１の固有の値と、アプリケーション検証用の参照値１１３とを照合する（ステップＳ２０８）。
【００５４】
検証装置１２は、照合結果に基づいて、アプリケーション部２１が正常であるか否かを判断する（ステップＳ２０９）。検証装置１２は、アプリケーション部２１が正常でないと判断した場合（ＮＯ）、ＢＩＯＳ部１０にＮＧ（異常）を示す情報を送信し、ＢＩＯＳ部１０は、装置１の電源を切断する（ステップＳ２１０）。
【００５５】
検証結果（照合結果）により、アプリケーション部２１が正常であると判断した場合（ＹＥＳ）、検証装置１２は、ＯＳ部１１１の固有の値を測定し（ステップＳ２１１）、記憶装置１１からＯＳ検証用の参照値１１４を取得する（ステップＳ２１２）。検証装置１２は、ＯＳ部１１１の固有の値と、ＯＳ検証用の参照値１１４とを照合する（ステップＳ２１３）。
【００５６】
次に、検証装置１２は、検証結果（照合結果）をＢＩＯＳ部１０に送信する（ステップＳ２１４）。ＢＩＯＳ部１０は、照合結果に基づいて、ＯＳ部１１１が正常であるか否かを判断する（ステップＳ２１５）。ＢＩＯＳ部１０は、ＯＳ部１１１が正常でないと判断した場合（ＮＯ）、装置１の電源を切断する（ステップＳ２１６）。
【００５７】
検証結果（照合結果）により、ＯＳ部１１１が正常であると判断した場合（ＹＥＳ）、ＢＩＯＳ部１０は、記憶装置１１のＯＳ部１１１を起動する（ステップＳ２１７）。
【００５８】
次に、ＯＳ部１１１は、アプリケーション部２１を起動し、アプリケーション部２１はアプリケーションを実行する（ステップＳ２１８）。
【００５９】
以上に説明したように、第２の実施形態によれば、アプリケーションが改ざんされていた場合に加えて、ＯＳ部が改ざんされていた場合にＯＳの起動を阻止することができる。アプリケーション部の検証と比較してＯＳ部の検証には時間がかかるため、アプリケーション部の検証をＯＳ部の検証より先に行うことで、ＯＳ部またはアプリケーション部の改ざん時に効率的にＯＳの起動を阻止することができる。これは、アプリケーションが改ざんされていた場合は、時間のかかるＯＳ部の検証をせずに、アプリケーション部の検証で装置の起動の可否を判断できるためである。一方、ＯＳが改ざんされていた場合は、アプリケーション部の検証時間は無駄になるが、アプリケーション部の検証時間は十分小さいため、影響が少ない。
【００６０】
実施形態３．
次に、本発明の第３の実施形態を図面を参照して説明する。図６は、第３の実施形態のＯＳ起動可否判定システムの構成例を示すブロック図である。
【００６１】
図６を参照すると、第３の実施形態における装置１は、内部に、図４に示す第２の実施形態における装置１には設けられていないセキュリティチップ１４を備える。
【００６２】
第３の実施形態では、アプリケーションリスト１１２と、アプリケーション検証用の参照値１１３と、ＯＳ検証用の参照値１１４とは、公開鍵を用いて暗号化されている。セキュリティチップ１４は、暗号化されたアプリケーションリスト１１２、アプリケーション検証用の参照値１１３およびＯＳ検証用の参照値１１４を復号するための秘密鍵を記憶する。
【００６３】
また、第３の実施形態における装置２は、更新情報を記憶している。更新情報は、例えば、アプリケーションリスト１１２、アプリケーション検証用の参照値１１３およびＯＳ検証用の参照値１１４が更新されているか否かを示す情報である。装置２は、アプリケーションリスト１１２、アプリケーション検証用の参照値１１３およびＯＳ検証用の参照値１１４が更新されている場合、更新されていることを示す更新情報を記憶するとともに、更新後のアプリケーションリスト１１２、アプリケーション検証用の参照値１１３およびＯＳ検証用の参照値１１４を記憶する。装置２が記憶する更新後のアプリケーションリスト１１２、アプリケーション検証用の参照値１１３およびＯＳ検証用の参照値１１４は、例えば、あらかじめ公開鍵を用いて暗号化されている。
【００６４】
次に、図６及び図７を参照して第３の実施形態の動作について説明する。図７は、第３の実施形態におけるＯＳ起動可否判定システムの動作を示すフローチャートである。
【００６５】
まず、装置１の電源が入れられると、ＢＩＯＳ部１０が起動する（ステップＳ３０１）。
【００６６】
次に、ＢＩＯＳ部１０は、装置２から更新情報を取得（受信）し（ステップＳ３０２）、アプリケーションリスト１１２、アプリケーション検証用の参照値１１３およびＯＳ検証用の参照値１１４の更新の有無を調べる（ステップＳ３０３）。
【００６７】
更新がある場合（ＹＥＳ）、ＢＩＯＳ部１０は、アプリケーションリスト１１２やアプリケーション検証用の参照値１１３等の各種情報を更新する（ステップＳ３０４）。例えば、ＢＩＯＳ部１０は、暗号化された更新後の情報を装置２から受信し、記憶装置１１に記憶させる。
【００６８】
次に、ＢＩＯＳ部１０は、装置１が使用するアプリケーションのリスト１１２を取得し、セキュリティチップ１４内の秘密鍵を用いて復号する（ステップＳ３０５）。次に、ＢＩＯＳ部１０は、アプリケーションリスト１１２に記載されている情報が示すアプリケーション部２１を装置２に要求し（ステップＳ３０６）、要求したアプリケーション部２１を装置２から受信して揮発性記憶装置１３に保存する（ステップＳ３０７）。
【００６９】
次に、ＢＩＯＳ部１０は、検証装置１２に、アプリケーション部２１およびＯＳ部１１１の検証を要求する検証要求を送信する（ステップＳ３０８）。
【００７０】
次に、検証装置１２は、アプリケーション部２１の固有の値を測定し（ステップＳ３０９）、記憶装置１１からアプリケーション検証用の参照値１１３を取得して、セキュリティチップ１４内の鍵を用いて復号する（ステップＳ３１０）。検証装置１２は、アプリケーション部２１の固有の値と、復号したアプリケーション検証用の参照値１１３とを照合する（ステップＳ３１１）。
【００７１】
検証装置１２は、照合結果に基づいて、アプリケーション部２１が正常であるか否かを判断する（ステップＳ３１２）。検証装置１２は、アプリケーション部２１が正常でないと判断した場合（ＮＯ）、ＢＩＯＳ部１０にＮＧ（異常）を示す情報を送信し、ＢＩＯＳ部１０は、装置１の電源を切断する（ステップＳ３１３）。
【００７２】
検証結果（照合結果）により、アプリケーション部２１が正常であると判断した場合（ＹＥＳ）、検証装置１２は、ＯＳ部１１１の固有の値を測定し（ステップＳ３１４）、記憶装置１１からＯＳ検証用の参照値１１４を取得して、セキュリティチップ１４内の鍵で復号する（ステップＳ３１５）。検証装置１２は、ＯＳ部１１１の固有の値と、復号したＯＳ検証用の参照値１１４とを照合する（ステップＳ３１６）。
【００７３】
次に、検証装置１２は、検証結果（照合結果）をＢＩＯＳ部１０に送信する（ステップＳ３１７）。ＢＩＯＳ部１０は、照合結果に基づいて、ＯＳ部１１１が正常であるか否かを判断する（ステップＳ３１８）。ＢＩＯＳ部１０はＯＳ部１１１が正常でないと判断した場合（ＮＯ）、装置１の電源を切断する（ステップＳ３１９）。
【００７４】
検証結果（照合結果）により、ＯＳ部１１１が正常であると判断した場合（ＹＥＳ）、ＢＩＯＳ部１０は、記憶装置１１のＯＳ部１１１を起動する（ステップＳ３２０）。
【００７５】
次に、ＯＳ部１１１は、アプリケーション部２１を起動し、アプリケーション部２１はアプリケーションを実行する（ステップＳ３２１）。
【００７６】
第３の実施形態によれば、第１の形態や第２の形態に加えて、アプリケーションやＯＳを検証する際の参照情報を暗号化して保護するため、装置内の情報が漏洩、改ざんされることを阻止することができる。また、特許文献１に記されている方法では、アプリケーションやＯＳを検証する際の参照情報を更新するには、装置１のＲＯＭを書き換えるなど、直接変更する必要があったが、第３の実施形態においては、例えば、セキュリティチップの管理者が装置２から装置１にアクセスし、装置１のセキュリティチップ内の鍵を使用することで、装置１で使用するアプリケーションの情報を遠隔操作により更新することができる。
【００７７】
なお、上記に示した実施形態では、以下の（１）〜（Ｘ）に示すような特徴的構成を備えたＯＳ起動可否判定装置が示されている。
【００７８】
（１）外部装置（例えば、装置２で実現される）が記憶するアプリケーション（例えば、アプリケーション部２１で実現される）を外部装置から取得するアプリケーション取得手段（例えば、アプリケーション取得手段１０５、ＢＩＯＳ部１０で実現される）と、アプリケーション取得手段が外部装置に正常に接続してアプリケーションを取得した場合に、当該アプリケーションを動作させるＯＳを起動する前に、当該アプリケーションの正常性を測定する測定手段（例えば、測定手段１２１で実現される）と、測定手段が測定したアプリケーションの正常性と、予め記憶する正常なアプリケーションを示す情報とを照合する照合手段（例えば、照合手段１２２で実現される）と、照合手段が照合した結果に基づいてアプリケーションが正常であると判断した場合に、ＯＳを起動するＯＳ起動手段（例えば、ＯＳ起動手段１０３で実現される）とを備えたことを特徴とするＯＳ起動可否判定装置（例えば、装置１で実現される）。
【００７９】
（２）測定手段は、アプリケーションを動作させるＯＳを起動する前に、当該ＯＳの正常性を測定し、照合手段は、測定手段が測定したＯＳの正常性と、予め記憶する正常なＯＳを示す情報とを照合し、ＯＳ起動手段は、アプリケーションが正常であると判断し、ＯＳが正常であると判断した場合に、ＯＳを起動するＯＳ起動可否判定装置。そのように構成されたＯＳ起動可否判定装置は、アプリケーションが改ざんされていた場合に加えて、ＯＳ部が改ざんされていた場合にもＯＳの起動を阻止することができる。
【００８０】
（３）装置で動作させるアプリケーションを示す情報と、予め記憶する正常なアプリケーションを示す情報と、予め記憶する正常なＯＳを示す情報とを暗号鍵を用いて暗号化し、暗号鍵に対応する復号鍵を記憶するセキュリティチップ（例えば、セキュリティチップ１４で実現される）を備えたＯＳ起動可否判定装置。そのように構成されたＯＳ起動可否判定装置は、装置内の情報が漏洩、改ざんされることを阻止することができる。
【００８１】
（４）測定手段は、アプリケーションおよびＯＳの正常性を判断するために、ソフトウェアイメージまたはそのハッシュ値を測定するＯＳ起動可否判定装置。
【００８２】
（５）測定手段は、アプリケーションおよびＯＳの正常性を判断するために、ソフトウェアの破損を調べるための値を測定するＯＳ起動可否判定装置。
【産業上の利用可能性】
【００８３】
本発明は、屋外機器や組込機器といった起動するアプリケーションがある程度固定されている機器の情報を保護する用途に効果的に適用できる。
【図面の簡単な説明】
【００８４】
【図１】本発明によるＯＳ起動可否判定装置の最小の構成例を示すブロック図である。
【図２】第１の実施形態のＯＳ起動可否判定システムの構成例を示すブロック図である。
【図３】第１の実施形態におけるＯＳ起動可否判定システムの動作を示すフローチャートである。
【図４】第２の実施形態のＯＳ起動可否判定システムの構成例を示すブロック図である。
【図５】第２の実施形態におけるＯＳ起動可否判定システムの動作を示すフローチャートである。
【図６】第３の実施形態のＯＳ起動可否判定システムの構成例を示すブロック図である。
【図７】第３の実施形態におけるＯＳ起動可否判定システムの動作を示すフローチャートである。
【符号の説明】
【００８５】
１      ＯＳ起動可否判定装置
１０３  ＯＳ起動手段
１０５  アプリケーション取得手段
１２１  測定手段
１２２  照合手段
【図１】
2011128659.tif 000003
【図２】
2011128659.tif 000004
【図３】
2011128659.tif 000005
【図４】
2011128659.tif 000006
【図５】
2011128659.tif 000007
【図６】
2011128659.tif 000008
【図７】
2011128659.tif 000009