(57)【要約】【課題】汎用ＰＣの環境にて高度なセキュリティ機能を有するシステム環境を構築可能とする。【解決手段】可搬型記憶媒体５０から第１のアプリケーション８の正当性をチェックするチェックプログラム１４をメモリ２０３に読み出して起動し、前記チェックプログラム１４により第１のアプリケーション８のハッシュ値と可搬型記憶媒体５０が格納していた正ハッシュ値との比較処理と、第１のアプリケーション８の正当性が確認できた場合の起動とを実行し、前記第１のアプリケーション８により第２のアプリケーション７のハッシュ値と正ハッシュ値との比較処理と、正当性が確認できた場合の第２のアプリケーション７の起動とを実行し、前記第２のアプリケーション７により、リモートサーバ３００への操作情報の送信と操作情報に対応した映像情報のリモートサーバ３００からの受信および出力とを実行する情報処理装置２００を構成する。【選択図】図２
2008176506.tif 000002
【特許請求の範囲】
【請求項１】
リモートサーバと接続してシンクライアントシステムを構成する情報処理装置であって、
可搬型記憶媒体との接続用インターフェイスを備え、
前記接続用インターフェイスに接続された可搬型記憶媒体から、当該情報処理装置が備える第１のアプリケーションの正当性をチェックするチェックプログラムをメモリに読み出して、当該チェックプログラムを起動し、
前記起動したチェックプログラムにより、前記第１のアプリケーションのハッシュ値の計算と、前記可搬型記憶媒体からの前記第１のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第１のアプリケーションの正当性が確認できた場合の当該第１のアプリケーションの起動とを実行し、
前記起動した第１のアプリケーションにより、当該情報処理装置が備える第２のアプリケーションのハッシュ値の計算と、当該情報処理装置とネットワーク接続した外部装置または前記可搬型記憶媒体からの前記第２のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第２のアプリケーションの正当性が確認できた場合の当該第２のアプリケーションの起動とを実行し、
前記起動した第２のアプリケーションにより、前記リモートサーバへの当該情報処理装置での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバからの受信および出力とを実行する、
ことを特徴とする情報処理装置。
【請求項２】
当該情報処理装置は、
データ書換可能で不揮発性の記憶装置と、
外部装置との間でデータ入出力を行うＩ／Ｏ装置とを備えるコンピュータ装置であり、
前記第２のアプリケーションが、前記記憶装置へのデータ書込の制御機能と、前記Ｉ／Ｏ装置でのデータ入出力の制御機能とを有して、前記記憶装置に備わることで、シンクライアント端末として機能するものである、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のアプリケーションは、情報処理装置とネットワークで接続される管理サーバの記憶装置にて管理されているものであり、
前記起動した第１のアプリケーションにより、前記管理サーバへの前記第２のアプリケーションに関する変更有無確認を行い、当該変更有無確認で変更が判明した前記第２のアプリケーションまたは当該第２のアプリケーションを構成する機能モジュールを、前記管理サーバよりダウンロードして前記記憶装置に格納する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記管理サーバが、
前記第２のアプリケーションまたは当該第２のアプリケーションを構成する機能モジュールの少なくともいずれかについて、変更が生じた前後でそのハッシュ値計算を行って、当該計算により得られる変更前後の正ハッシュ値を前記第２のアプリケーションまたは前記機能モジュール毎に自身の記憶装置に格納するものであり、
当該情報処理装置は、
前記起動した第１のアプリケーションにより、前記記憶装置に既に備えている前記第２のアプリケーションまたは当該第２のアプリケーションを構成する機能モジュールのハッシュ値の計算と、前記管理サーバからの前記第２のアプリケーションまたは前記機能モジュールの変更前後の正ハッシュ値の読み出しと、前記ハッシュ値と変更前後の正ハッシュ値との比較処理と、前記比較処理により前記ハッシュ値と前記変更前の正ハッシュ値との一致が確認された場合の、変更後の第２のアプリケーションまたは機能モジュールの管理サーバからのダウンロードと、を実行することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
当該情報処理装置は、
前記起動した第１のアプリケーションにより、前記記憶装置に既に備えている前記第２のアプリケーションまたは当該第２のアプリケーションを構成する機能モジュールのハッシュ値の計算と、前記管理サーバからの前記第２のアプリケーションまたは前記機能モジュールの変更前後の正ハッシュ値の読み出しと、前記ハッシュ値と変更前後の正ハッシュ値との比較処理と、前記比較処理により前記ハッシュ値と前記変更後の正ハッシュ値との一致が確認されて前記第２のアプリケーションまたは機能モジュールの正当性が確認できた場合の当該第２のアプリケーションの起動と、を実行することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
リモートサーバと接続してシンクライアントシステムを構成する情報処理装置が、
可搬型記憶媒体との接続用インターフェイスを備え、
前記接続用インターフェイスに接続された可搬型記憶媒体から、当該情報処理装置が備える第１のアプリケーションの正当性をチェックするチェックプログラムをメモリに読み出して、当該チェックプログラムを起動する処理と、
前記起動したチェックプログラムにより、前記第１のアプリケーションのハッシュ値の計算と、前記可搬型記憶媒体からの前記第１のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第１のアプリケーションの正当性が確認できた場合の当該第１のアプリケーションの起動とを実行する処理と、
前記起動した第１のアプリケーションにより、当該情報処理装置が備える第２のアプリケーションのハッシュ値の計算と、当該情報処理装置とネットワーク接続した外部装置または前記可搬型記憶媒体からの前記第２のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第２のアプリケーションの正当性が確認できた場合の当該第２のアプリケーションの起動とを実行する処理と、
前記起動した第２のアプリケーションにより、前記リモートサーバへの当該情報処理装置での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバからの受信および出力とを実行する処理と、
を行う情報処理方法。
【請求項７】
リモートサーバと接続してシンクライアントシステムを構成する情報処理装置に、
可搬型記憶媒体との接続用インターフェイスに接続された可搬型記憶媒体から、当該情報処理装置が備える第１のアプリケーションの正当性をチェックするチェックプログラムをメモリに読み出して、当該チェックプログラムを起動するステップと、
前記起動したチェックプログラムにより、前記第１のアプリケーションのハッシュ値の計算と、前記可搬型記憶媒体からの前記第１のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第１のアプリケーションの正当性が確認できた場合の当該第１のアプリケーションの起動とを実行するステップと、
前記起動した第１のアプリケーションにより、当該情報処理装置が備える第２のアプリケーションのハッシュ値の計算と、当該情報処理装置とネットワーク接続した外部装置または前記可搬型記憶媒体からの前記第２のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第２のアプリケーションの正当性が確認できた場合の当該第２のアプリケーションの起動とを実行するステップと、
前記起動した第２のアプリケーションにより、前記リモートサーバへの当該情報処理装置での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバからの受信および出力とを実行するステップと、
を実行させるプログラム。
【請求項８】
シンクライアントシステムをリモートサーバと共に構成する情報処理装置に接続される管理サーバであって、
前記情報処理装置においてシンクライアント端末としての機能を実現するアプリケーションを、その変更履歴に対応付けて記憶装置に格納し、
前記アプリケーションまたは当該アプリケーションを構成する機能モジュールの少なくともいずれかについて、変更が生じた前後でそのハッシュ値計算を行って、当該計算により得られる変更前後の正ハッシュ値を前記アプリケーションまたは前記機能モジュール毎に記憶装置に格納し、
前記情報処理装置より、前記アプリケーションまたは機能モジュールに関する変更有無確認を受信し、前記記憶装置における前記アプリケーションまたは機能モジュールの変更履歴を確認して、変更が判明したアプリケーションまたは機能モジュールの情報を、前記情報処理装置に送信する、
ことを特徴とする管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、および管理サーバに関するものであり、具体的には、高度なセキュリティ機能を有するシンクライアント端末を仮想マシン（仮想セキュアＰＣ）上で実現するための技術に関する。また、前記仮想マシンのセキュリティレベルを柔軟に調整可能な技術に関する。
【背景技術】
【０００２】
昨今の情報化社会において電子データの盗難や流出は、企業の機密情報や顧客情報、個人情報等の漏洩に直結する可能性がある。そこで、こうした情報漏洩を防止できる高度なセキュアシステムの構築が急務となっている。従来、セキュリティ要求が高いシステムの構築において、システムのセキュリティレベルを高めに設定し、さらに各種セキュリティ対策ソフトウェアを導入することで前記要求をクリアしていた。
【０００３】
また、キーボートやマウス等の入力装置以外の、ＵＳＢポート等のＩ／Ｏ装置などを使って情報を入出力することを禁止した専用ＰＣ（ハードディスクレス）を採用し、この専用ＰＣをリモートサーバに接続させてシンクライアントシステムを構築する方法も採用されている。前記専用ＰＣは、認証用デバイスによる本人認証と、操作場所を選ばずリモートサーバにアクセスして自分のデスクトップ環境を常時確保し、しかも専用ＰＣ内にデータを格納しないといった作業環境を実現する。これにより、前記専用ＰＣが盗難や紛失に遭ってもデータ流出の可能性がなく、外部にデータを取り出せないので機密情報等が外部に流出することもなく、優れたセキュリティ性を維持できる。
【０００４】
従来のセキュリティ技術としては、例えば、被認証者の生体的な特徴を入力し照合するローカル認証を行うローカル認証手段、および、暗号を利用した高セキュリティなリモート認証手段を有する可搬型のデバイスを利用して、ネットワークを介した遠隔認証を行う認証システムであって、前記リモート認証手段は、前記ローカル認証が成功した場合、前記遠隔認証に必要な認証情報を生成し、前記遠隔認証を行う認証装置は、前記ネットワークを介して送られてくる認証情報に基づき、前記ローカル認証により前記被認証者の真正性が確認されたことを認識することを特徴とする認証システム（特許文献１参照）などが提案されている。
【特許文献１】特開２００１−３１２４７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、各種セキュリティ対策ソフトウェアをシステムに導入するといった従来手法では、使用者が故意または不注意によりセキュリティ設定を変更したり、システム入れ替えによりセキュリティ制限が迂回されたりして、そのセキュリティ機能が形骸化される惧れがあった。また、従来のシンクライアントシステムを構築するとした場合、専用ＰＣのセキュリティ設定を変更することは非常に困難であるため、高度なセキュアシステムを構築することが可能であるが、一般業務等と併用できない前記専用ＰＣが必要である。従って、前記専用ＰＣの導入費用がかかるうえ、従来型ＰＣ（ハードディスク有り）でしか行えない業務が存在する場合、前記専用ＰＣと従来型ＰＣとを並行使用する必要が生じてしまう。他方、専用ＰＣのセキュリティ制限やシステム機能はそのハードウェアに依存するため、専用ＰＣ自体を変更する以外に、セキュリティ制限やシステム機能を変更することが殆ど不可能である。
【０００６】
そこで本発明は上記課題を鑑みてなされたものであり、汎用ＰＣの環境にて高度なセキュリティ機能を有するシステム環境を構築可能とする技術の提供を主たる目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明の情報処理装置は、リモートサーバと接続してシンクライアントシステムを構成する情報処理装置であって、可搬型記憶媒体との接続用インターフェイスを備え、前記接続用インターフェイスに接続された可搬型記憶媒体から、当該情報処理装置が備える第１のアプリケーションの正当性をチェックするチェックプログラムをメモリに読み出して、当該チェックプログラムを起動し、前記起動したチェックプログラムにより、前記第１のアプリケーションのハッシュ値の計算と、前記可搬型記憶媒体からの前記第１のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第１のアプリケーションの正当性が確認できた場合の当該第１のアプリケーションの起動とを実行し、前記起動した第１のアプリケーションにより、当該情報処理装置が備える第２のアプリケーションのハッシュ値の計算と、当該情報処理装置とネットワーク接続した外部装置または前記可搬型記憶媒体からの前記第２のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第２のアプリケーションの正当性が確認できた場合の当該第２のアプリケーションの起動とを実行し、前記起動した第２のアプリケーションにより、前記リモートサーバへの当該情報処理装置での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバからの受信および出力とを実行する、ことを特徴とする。
【０００８】
また、前記情報処理装置は、データ書換可能で不揮発性の記憶装置と、外部装置との間でデータ入出力を行うＩ／Ｏ装置とを備えるコンピュータ装置であり、前記第２のアプリケーションが、前記記憶装置へのデータ書込の制御機能と、前記Ｉ／Ｏ装置でのデータ入出力の制御機能とを有して、前記記憶装置に備わることで、シンクライアント端末として機能するものである、こととしてもよい。
【０００９】
また、前記情報処理装置における前記第２のアプリケーションは、情報処理装置とネットワークで接続される管理サーバの記憶装置にて管理されているものであり、前記起動した第１のアプリケーションにより、前記管理サーバへの前記第２のアプリケーションに関する変更有無確認を行い、当該変更有無確認で変更が判明した前記第２のアプリケーションまたは当該第２のアプリケーションを構成する機能モジュールを、前記管理サーバよりダウンロードして前記記憶装置に格納する、こととしてもよい。
【００１０】
また、前記管理サーバが、前記第２のアプリケーションまたは当該第２のアプリケーションを構成する機能モジュールの少なくともいずれかについて、変更が生じた前後でそのハッシュ値計算を行って、当該計算により得られる変更前後の正ハッシュ値を前記第２のアプリケーションまたは前記機能モジュール毎に自身の記憶装置に格納するものである時、前記情報処理装置は、前記起動した第１のアプリケーションにより、前記記憶装置に既に備えている前記第２のアプリケーションまたは当該第２のアプリケーションを構成する機能モジュールのハッシュ値の計算と、前記管理サーバからの前記第２のアプリケーションまたは前記機能モジュールの変更前後の正ハッシュ値の読み出しと、前記ハッシュ値と変更前後の正ハッシュ値との比較処理と、前記比較処理により前記ハッシュ値と前記変更前の正ハッシュ値との一致が確認された場合の、変更後の第２のアプリケーションまたは機能モジュールの管理サーバからのダウンロードと、を実行することとしてもよい。
【００１１】
また、前記情報処理装置は、前記起動した第１のアプリケーションにより、前記記憶装置に既に備えている前記第２のアプリケーションまたは当該第２のアプリケーションを構成する機能モジュールのハッシュ値の計算と、前記管理サーバからの前記第２のアプリケーションまたは前記機能モジュールの変更前後の正ハッシュ値の読み出しと、前記ハッシュ値と変更前後の正ハッシュ値との比較処理と、前記比較処理により前記ハッシュ値と前記変更後の正ハッシュ値との一致が確認されて前記第２のアプリケーションまたは機能モジュールの正当性が確認できた場合の当該第２のアプリケーションの起動と、を実行することとしてもよい。
【００１２】
また、本発明の情報処理方法は、リモートサーバと接続してシンクライアントシステムを構成する情報処理装置が、可搬型記憶媒体との接続用インターフェイスを備え、前記接続用インターフェイスに接続された可搬型記憶媒体から、当該情報処理装置が備える第１のアプリケーションの正当性をチェックするチェックプログラムをメモリに読み出して、当該チェックプログラムを起動する処理と、前記起動したチェックプログラムにより、前記第１のアプリケーションのハッシュ値の計算と、前記可搬型記憶媒体からの前記第１のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第１のアプリケーションの正当性が確認できた場合の当該第１のアプリケーションの起動とを実行する処理と、前記起動した第１のアプリケーションにより、当該情報処理装置が備える第２のアプリケーションのハッシュ値の計算と、当該情報処理装置とネットワーク接続した外部装置または前記可搬型記憶媒体からの前記第２のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第２のアプリケーションの正当性が確認できた場合の当該第２のアプリケーションの起動とを実行する処理と、前記起動した第２のアプリケーションにより、前記リモートサーバへの当該情報処理装置での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバからの受信および出力とを実行する処理と、を行うものである。
【００１３】
また、本発明のプログラムは、リモートサーバと接続してシンクライアントシステムを構成する情報処理装置に、可搬型記憶媒体との接続用インターフェイスに接続された可搬型記憶媒体から、当該情報処理装置が備える第１のアプリケーションの正当性をチェックするチェックプログラムをメモリに読み出して、当該チェックプログラムを起動するステップと、前記起動したチェックプログラムにより、前記第１のアプリケーションのハッシュ値の計算と、前記可搬型記憶媒体からの前記第１のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第１のアプリケーションの正当性が確認できた場合の当該第１のアプリケーションの起動とを実行するステップと、前記起動した第１のアプリケーションにより、当該情報処理装置が備える第２のアプリケーションのハッシュ値の計算と、当該情報処理装置とネットワーク接続した外部装置または前記可搬型記憶媒体からの前記第２のアプリケーションの正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記第２のアプリケーションの正当性が確認できた場合の当該第２のアプリケーションの起動とを実行するステップと、前記起動した第２のアプリケーションにより、前記リモートサーバへの当該情報処理装置での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバからの受信および出力とを実行するステップと、を実行させるプログラムである。
【００１４】
また、本発明の管理サーバは、シンクライアントシステムをリモートサーバと共に構成する情報処理装置に接続されるサーバであって、前記情報処理装置においてシンクライアント端末としての機能を実現するアプリケーションを、その変更履歴に対応付けて記憶装置に格納し、前記アプリケーションまたは当該アプリケーションを構成する機能モジュールの少なくともいずれかについて、変更が生じた前後でそのハッシュ値計算を行って、当該計算により得られる変更前後の正ハッシュ値を前記アプリケーションまたは前記機能モジュール毎に記憶装置に格納し、前記情報処理装置より、前記アプリケーションまたは機能モジュールに関する変更有無確認を受信し、前記記憶装置における前記アプリケーションまたは機能モジュールの変更履歴を確認して、変更が判明したアプリケーションまたは機能モジュールの情報を、前記情報処理装置に送信する、ことを特徴とする。
【００１５】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１６】
本発明によれば、汎用ＰＣの環境にて高度なセキュリティ機能を有するシステム環境が構築可能となる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の管理サーバ１００を含むシンクライアントシステムの構成図であり、図２は、本実施形態の情報処理装置たるローカルマシン２００およびリモートサーバ３００を含むシンクライアントシステムの構成図である。図１、２に示すシンクライアントシステム１０は、ネットワーク１４０を介して互いに接続された、複数の情報処理装置たるローカルマシン２００、リモートサーバ３００、前記ローカルマシン用のアプリケーションや機能モジュール等の管理を行う管理サーバ１００を有するシステムである。
【００１８】
なお、前記リモートサーバ３００は、ローカルマシン２００との間にＶＰＮ（Virtual Private Network）を構築し、このＶＰＮを介して、ローカルマシン２００から送られてきた入力情報（入力装置の操作内容）を受信し処理すると共に、処理結果を示す映像情報（表示装置のデスクトップ画面）をローカルマシン２００に送信することとなる。リモートサーバ３００は、通常は入出力装置をローカル接続しないで使用するサーバ装置である。
【００１９】
−−−管理サーバ１００−−−
次に、本実施形態におけるシンクライアントシステム１０を構成する各装置について各々説明する。図１に示す前記管理サーバ１００は、本発明の情報処理方法を前記ローカルマシン２００と共に実行すべくハードディスクドライブ１０１などに格納されたプログラムデータベースが含むプログラム１０２をＲＡＭ１０３に読み出し、演算装置たるＣＰＵ１０４により実行する。
【００２０】
また、前記管理サーバ１００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス１０５、ディスプレイなどの出力インターフェイス１０６、ならびに、ローカルマシン２００などとの間のデータ授受を担うＮＩＣ（Network Interface Card）１０７などを有している。
【００２１】
前記管理サーバ１００は、前記ＮＩＣ１０７により、前記ローカルマシン２００らと例えばインターネットやＬＡＮなどのネットワーク１４０を介して接続し、データ授受を実行する。また、管理サーバ１００は、フラッシュＲＯＭ１０８と、ディスプレイを接続するためのビデオカード１３０と、上記各部１０１〜１３０を接続するバスを中継するブリッジ１０９と、電源１２０とを有する。
【００２２】
なお、前記フラッシュＲＯＭ１０８には、ＢＩＯＳ１３５が記憶されている。ＣＰＵ１０４は、電源１２０の投入後、先ずフラッシュＲＯＭ１０８にアクセスしてＢＩＯＳ１３５を実行することにより、管理サーバ１００のシステム構成を認識する。また、ハードディスクドライブ１０１には、各機能部やテーブル類の他に、ＯＳ１１５が記憶されている。このＯＳ１１５は、ＣＰＵ１０４が管理サーバ１００の各部１０１〜１３０を統括的に制御して、後述する各機能部を実行するためのプログラムである。ＣＰＵ１０４は、ＢＩＯＳ１３５に従い、ハードディスクドライブ１０１からＯＳ１１５をＲＡＭ１０３にロードして実行する。これにより、ＣＰＵ１０４は、管理サーバ１００の各部を統括的に制御する。
【００２３】
続いて、前記管理サーバ１００が、例えばプログラム１０２に基づき構成・保持する機能部につき説明を行う。なお、前記管理サーバ１００は、前記ローカルマシン２００で仮想セキュアＰＣを構成する機能モジュール類や、ローカルマシン利用者が用いる可搬型記憶媒体５０の格納情報（例：認証用情報）、ならびに機能モジュール類のハッシュ値などセキュリティ情報を保存するセキュリティ管理テーブル１２５をハードディスクドライブ１０１などの適宜な記憶装置に有しているものとする。
【００２４】
前記管理サーバ１００は、前記ローカルマシン２００においてシンクライアント端末としての機能を実現するアプリケーションを、その変更履歴に対応付けてセキュリティ管理テーブル１２５（記憶装置）に格納する、履歴管理部１１０を備える。なお、前記アプリケーションは、前記ローカルマシン２００が備えるべき前記第２のアプリケーションを構成する機能モジュール２１の群である。以下、本実施形態においては、前記第２のアプリケーションを、仮想マシンアプリ７と称する（詳細は後述する）。ここで前記履歴管理部１１０は、入力インターフェイス１０５を介して管理担当者等から受け付けた、機能モジュール２１の変更指示に応じて、該当機能モジュール２１の更新処理とこの更新処理に伴う変更有情報の設定（“変更有り”に対応するデータやフラグを該当機能モジュール２１のレコードに設定）を行う。
【００２５】
また、前記管理サーバ１００は、前記仮想マシンアプリ７または当該仮想マシンアプリ７を構成する機能モジュール２１の少なくともいずれかについて、変更が生じた前後でそのハッシュ値計算を行って、当該計算により得られる変更前後の正ハッシュ値を前記仮想マシンアプリ７または前記機能モジュール２１毎に前記セキュリティ管理テーブル１２５（記憶装置）に格納する、正ハッシュ値算定部１１１を備える。これにより、機能モジュール２１に変更が生じた際に、変更前の機能モジュール２１についてのハッシュ値も、変更後の機能モジュール２１についてのハッシュ値も確保することができる（後に、ローカルマシン２００の第１のアプリケーションが実行する機能モジュール２１についてのハッシュ値照合処理で利用する）。
【００２６】
また、前記管理サーバ１００は、前記ローカルマシン２００より、前記仮想マシンアプリ７または機能モジュール２１に関する変更有無確認のリクエストを受信し、前記セキュリティ管理テーブル１２５における前記仮想マシンアプリ７または機能モジュール２１の変更履歴を確認して、変更が判明した仮想マシンアプリ７または機能モジュール２１の情報を、前記ローカルマシン２００に送信する、変更判定部１１２を備える。
【００２７】
−−−ローカルマシン２００（情報処理装置）−−−
一方、図２に示す前記ローカルマシン２００は、ネットワーク１４０を介してリモートサーバ３００を利用する装置であって、本発明を実現する機能を備えるべくハードディスクドライブ２０１などにおけるプログラムデータベースに格納されたプログラム２０２をＲＡＭ２０３に読み出し、演算装置たるＣＰＵ２０４により実行する。
【００２８】
また、前記ローカルマシン２００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス２０５、ディスプレイなどの出力インターフェイス２０６、ならびに、管理サーバ１００やリモートサーバ３００などとの間のデータ授受を担うＮＩＣ２０７などを有している。
【００２９】
前記ローカルマシン２００は、前記ＮＩＣ２０７により、前記管理サーバ１００やリモートサーバ３００らと例えばインターネットやＬＡＮ、シリアル・インターフェイス通信線などのネットワーク１４０を介して接続し、データ授受を実行する。
【００３０】
こうしたローカルマシン２００は、データ書換可能で不揮発性の記憶装置であるハードディスクドライブや、ＩＣカードリーダ、ＵＳＢメモリ、プリンタなど各種の外部装置との接続用インターフェイス（Ｉ／Ｏ装置）を備えた通常の汎用ＰＣを想定しており、いわゆるＨＤＤレスタイプで外部装置とのインターフェイスを基本的に有しないシンクライアントＰＣではない。
【００３１】
しかしながら、こうした汎用ＰＣに前記第２のアプリケーションたる仮想マシンアプリ７をインストールすることで、当該仮想マシンアプリ７が、前記ハードディスクドライブへのデータ書込の制御や前記接続用インターフェイスを介したデータ入出力の制御を実行し、前記汎用ＰＣを仮想的にセキュアＰＣへと変化させる。このため、前記仮想マシンアプリ７は、前記ハードディスクドライブ２０１へのデータ書込処理を行うプログラムの制御と、前記接続用インターフェイスでのデータ入出力を制御するプログラムの制御とを行って、ハードディスクドライブ２０１へのデータ書込が通常は不可とする処理と、外部装置へのデータ吐き出し等が通常は不可とする処理とを行う。
【００３２】
これにより、汎用ＰＣであったローカルマシン２００は、（アプリケーションによるセキュアＰＣ化、という意味で“仮想的に”）プリンタ、外付けドライブ、外付けメモリ等をローカル接続およびネットワーク接続できないような構成となる。つまり、ローカルマシン２００は、リモートサーバ３００にローカル接続あるいはネットワーク接続されているプリンタ、外付けドライブ、外付けメモリ等のみを使用できるように通常は構成する。このようにすることで、ローカルマシン２００の盗難等による情報漏えいの可能性を低減している。
【００３３】
こうしたローカルマシン２００は、可搬型記憶媒体５０など各種ＵＳＢデバイスを接続するためのＵＳＢポート２３０（前記可搬型記憶媒体５０のインターフェイス形態に合わせて他のインターフェイスでも勿論よい）、キーボードおよびマウスを接続するためのＩ/Ｏコネクタ２３５、ディスプレイを接続するためのビデオカード２４０、これらの各部２０１〜２９７と接続するバスを中継するブリッジ２０９、フラッシュＲＯＭ２０８、電源２２０を有する。前記ＣＰＵ２０４は、電源２２０の投入後、先ずフラッシュＲＯＭ２０８にアクセスしてＢＩＯＳ２３５を実行することにより、ローカルマシン２００のシステム構成を認識する。
【００３４】
ハードディスクドライブ２０１におけるＯＳ２３６は、ＣＰＵ２０４がローカルマシン２００の各部２０１〜２９７を統括的に制御して、後述する各機能部に対応するプログラムを実行するためのプログラムである。ＣＰＵ２０４は、ＢＩＯＳ２３５に従い、ハードディスクドライブ２０１からＯＳ２３６をＲＡＭ２０３にロードして実行する。
【００３５】
続いて、前ローカルマシン２００が、例えばプログラム２０２に基づき前記ハードディスクドライブ２０１にて構成・保持する機能部につき説明を行う。
【００３６】
前記ローカルマシン２００は、前記接続用インターフェイスたるＵＳＢポート２３０に接続された可搬型記憶媒体５０から、当該ローカルマシン２００が備える第１のアプリケーションの正当性をチェックするチェックプログラムをＲＡＭ２０３に読み出して、当該チェックプログラムを起動する、ローダー９を備える。以下、本実施形態においては、前記第１のアプリケーションを仮想マシン管理アプリ８、前記チェックプログラムを仮想マシン管理チェックアプリ１４、と称する。
【００３７】
また、前記ローカルマシン２００のＲＡＭ２０３に読み出されて起動した仮想マシン管理チェックアプリ１４は、前記仮想マシン管理アプリ８のハッシュ値の計算と、前記可搬型記憶媒体５０からの前記仮想マシン管理アプリ８の正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記仮想マシン管理アプリ８の正当性が確認できた場合の当該仮想マシン管理アプリ８の起動とを実行する。
【００３８】
したがって、この仮想マシン管理チェックアプリ１４は、ハッシュ関数２８０と、当該ハッシュ関数２８０に前記仮想マシン管理アプリ８を適用してハッシュ値を計算するアルゴリズム２８１と、前記可搬型記憶媒体５０とデータ通信を行ってその格納情報（正ハッシュ値）を読み取る通信制御機能２８２と、ハッシュ値同士の比較処理を行って仮想マシン管理アプリ８の正当性認証を行う認証管理機能２８３と、前記仮想マシン管理アプリ８に起動指示を通知してその起動制御を行う起動制御機能２８４とを備えている。
【００３９】
また、前記仮想マシン管理チェックアプリ１４により起動した仮想マシン管理アプリ８は、当該ローカルマシン２００が備える前記仮想マシンアプリ７（を構成する各機能モジュール２１）のハッシュ値の計算と、当該ローカルマシン２００とネットワーク接続した外部装置たる前記管理サーバ１００（または前記可搬型記憶媒体５０）からの前記仮想マシンアプリ７（を構成する機能モジュール２１）の正ハッシュ値の読み出しと、前記ハッシュ値と正ハッシュ値との比較処理と、前記比較処理により前記仮想マシンアプリ７の正当性が確認できた場合の当該仮想マシンアプリ７の起動とを実行する。
【００４０】
したがって、この仮想マシン管理アプリ８は、ハッシュ関数２８５と、当該ハッシュ関数２８５に前記仮想マシンアプリ７（を構成する各機能モジュール２１）を適用してハッシュ値を計算するアルゴリズム２８６と、前記管理サーバ１００とデータ通信を行ってその格納情報（仮想マシンアプリ７の機能モジュール２１の正ハッシュ値）を読み取る通信制御機能２８７と、ハッシュ値同士の比較処理を行って仮想マシンアプリ７の正当性認証を行う認証管理機能２８８と、前記仮想マシンアプリ７に起動指示を通知してその起動制御を行う起動制御機能２８９とを備えている。
【００４１】
また、前記起動した仮想マシン管理アプリ８は、前記管理サーバ１００への前記仮想マシンアプリ７（の機能モジュール２１）に関する変更有無確認の要請を行い、当該変更有無確認で変更が判明した前記仮想マシンアプリ７の機能モジュール２１を、前記管理サーバ１００よりダウンロードして前記ハードディスクドライブ２０１（記憶装置）に格納する。そのため、こうした処理を実現すべく仮想マシン管理アプリ８は機能２９０を備えている。
【００４２】
また、前記起動した仮想マシン管理アプリ８は、前記ハードディスクドライブ２０１に既に備えている前記機能モジュール２１のハッシュ値の計算と、前記管理サーバ１００からの前記機能モジュール２１の変更前後の正ハッシュ値の読み出しと、前記ハッシュ値と変更前後の正ハッシュ値との比較処理と、前記比較処理により前記ハッシュ値と前記変更前の正ハッシュ値との一致が確認された場合の、変更後の機能モジュール２１の管理サーバ１００からのダウンロードと、を実行する。そのため、こうした処理を実現すべく仮想マシン管理アプリ８は機能２９１を備えている。
【００４３】
また、前記起動した仮想マシン管理アプリ８は、前記ハードディスクドライブ２０１に既に備えている前記機能モジュール２１のハッシュ値の計算と、前記管理サーバ１００からの前記機能モジュール２１の変更前後の正ハッシュ値の読み出しと、前記ハッシュ値と変更前後の正ハッシュ値との比較処理と、前記比較処理により前記ハッシュ値と前記変更後の正ハッシュ値との一致が確認されて前記機能モジュール２１の正当性が確認できた場合の当該仮想マシンアプリ７ないし機能モジュール２１の起動とを実行する。そのため、こうした処理を実現すべく仮想マシン管理アプリ８は機能２９２を備えている。
【００４４】
また、前記仮想マシン管理アプリ８により起動した仮想マシンアプリ７は、前記リモートサーバ３００への当該ローカルマシン２００での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバ３００からの受信および出力とを実行する。
【００４５】
このため、前記仮想マシンアプリ７は、前記リモートサーバ３００への当該ローカルマシン２００での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバ３００からの受信を実行する機能モジュール２９３と、前リモートサーバ３００から受信した映像情報を出力インターフェイス２０６に表示する機能モジュール２９４と、ローカルマシン２００における前記ハードディスクドライブ２０１へのデータ書込の制御を行う機能モジュール２９５と、前記ＵＳＢポート２３０などＩ／Ｏ装置でのデータ入出力の制御を行う機能モジュール２９６とを少なくとも有している。
【００４６】
なお、前記機能モジュール２９３、２９４は、リモートクライアントプログラムと呼ばれるものである。このリモートクライアントプログラムは、ローカルマシン２００が遠隔からリモートサーバ３００のデスクトップにアクセスするためのプログラムであり、例えばＶＮＣのクライアント（ビューワ）プログラムである。ＣＰＵ２０４は、ＯＳ２３６に従い、ハードディスクドライブ２０１からリモートクライアントプログラムたる前記機能モジュール２９３、２９４をＲＡＭ２０３にロードして実行する。これにより、ＣＰＵ２０４は、Ｉ/Ｏコネクタ２３５の入力情報（キーボードおよびマウスの操作内容）を、例えばＶＰＮなどのネットワーク１４０を介してリモートサーバ３００に送信すると共に、ＶＰＮ等のネットワーク１４０を介して当該リモートサーバ３００から送られてきた映像情報（ディスプレイのデスクトップ画面）をビデオカード２４０に接続されたディスプレイなどの出力インターフェイス２０６等に出力する。
【００４７】
また、こうしたローカルマシン２００（仮想マシンアプリ７）とリモートサーバ３００との間でのデータ通信は暗号化される必要がある。したがって、前記仮想マシンアプリ７は、暗号化通信モジュール２９７を備えている。この暗号化通信モジュール２９７は、前記リモートクライアントプログラムたる機能モジュール２９３、２９４より通知されたアドレスを持つリモートサーバ３００との間に、ＶＰＮなどのセキュアな通信ネットワークを構築するための通信プログラムである。例えば、ＩＰｓｅｃを用いた通信プログラムを想定できる。ＣＰＵ２０４は、ＯＳ２３６に従い、ハードディスクドライブ２０１から暗号化通信モジュール２９７をＲＡＭ２０３にロードして実行する。これにより、ＣＰＵ２０４は、ＮＩＣ２０７を介して自ローカルマシン２００（に実現された仮想セキュアＰＣ）に割当てされたリモートサーバ３００へ通信開始要求を送信して、当該リモートサーバ３００との間にＶＰＮ等のネットワークを構築し、このＶＰＮ等を介して当該リモートサーバ３００と通信する。
【００４８】
こうした仮想マシンアプリ７は、ローカルマシン２００のハードディスクドライブ２０１に備わることで、汎用ＰＣである前記ローカルマシン２００をシンクライアント端末たらしめるものである。なお、本実施形態では、前記仮想マシンアプリ７により仮想的にシンクライアント端末化されたＰＣなる意味合いで、前記ローカルマシン２００における前記仮想マシンアプリ７と前記仮想マシン管理アプリ８とローダー９とからなる一体のアプリケーション群を、仮想セキュアＰＣ６と称する。
【００４９】
−−−可搬型記憶媒体５０−−−
なお、図２における前記可搬型記憶媒体５０について説明しておく。前記可搬型記憶媒体５０は、一例としてＵＳＢインターフェイスを有する、ＩＣカードリーダを想定し、前記ローカルマシン２００にはＵＳＢポート２３０を介して接続されるものである。前記可搬型記憶媒体５０としてのＩＣカードリーダに挿入されるＩＣカード６０は、ＩＣチップのメモリにおいて、使用者の正当性を証明するための使用者パスワードが保存されている。また、ＩＣカードリーダ５０は適宜なメモリ５１を備えており、前記第１のアプリケーションのチェックプログラムと、前記第１のアプリケーションのハッシュ値とを、書きかけ不可のファイル形式で保存している。或いは、前記使用者パスワード、前記第１のアプリケーションのチェックプログラム、前記第１のアプリケーションのハッシュ値をメモリに格納した、ＵＳＢメモリを可搬型記憶媒体５０として想定してもよい。
【００５０】
−−−リモートサーバ３００−−−
一方、図２に示す前記リモートサーバ３００は、管理サーバ１００の利用割当処理により、ローカルマシン２００からのネットワークを介した利用を受付ける装置であって、シンクライアント環境を前記ローカルマシン２００に提供する機能を備えるべくＨＤＤ（ハードディスクドライブ）３０１などに格納されたプログラムデータベースの含むプログラム３０２をＲＡＭ３０３に読み出し、演算装置たるＣＰＵ３０４により実行する。
【００５１】
また、前記リモートサーバ３００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス３０５、ディスプレイなどの出力インターフェイス３０６、ならびに、管理サーバ１００やローカルマシン２００などとの間のデータ授受を担うＮＩＣ３０７などを有している。
【００５２】
前記リモートサーバ３００は、前記ＮＩＣ３０７により、前記管理サーバ１００やローカルマシン２００らと例えばインターネットやＬＡＮなどのネットワーク１４０を介して接続し、データ授受を実行する。また、リモートサーバ３００は、他にも、フラッシュＲＯＭ（Read Only Memory）３０８と、デスクトップの映像情報を生成するビデオカード３３０と、これらの各部３０１〜３３０とバスとを中継するブリッジ３０９と、電源３２０とを有する。
【００５３】
前記フラッシュＲＯＭ３０８には、ＢＩＯＳ（Basic Input/Output System）３３５が記憶されている。前記ＣＰＵ３０４は、電源３２０の投入後、先ずフラッシュＲＯＭ３０８にアクセスしてＢＩＯＳ３３５を実行することにより、リモートサーバ３００のシステム構成を認識する。
【００５４】
こうしたリモートサーバ３００は、前記ローカルマシン２００との接続確立処理（一般的なシンクライアントシステムでの処理と同様）が実行されるに伴い、前記ローカルマシン２００から操作情報を受信して、当該操作情報が示す操作内容に従って情報処理を行い、その結果を示す映像情報を当該ローカルマシン２００に送信する。
【００５５】
また、リモートサーバ３００は、前記ハードディスクドライブ３０１において、リモートサーバプログラム３７０、暗号化通信プログラム３７１、ＯＳ（Operating System）３３６を記憶している。前記ＯＳ３３６は、ＣＰＵ３０４がリモートサーバ３００の各部３０１〜３３０を統括的に制御して、前記機能部３１０等の各機能部を実現する各プログラムを実行するためのプログラムである。ＣＰＵ３０４は、ＢＩＯＳ３３５に従い、ＨＤＤ３０１からＯＳ３３６をＲＡＭ３０３にロードして実行する。これにより、ＣＰＵ３０４は、リモートサーバ３００の各部３０１〜３３０を統括的に制御する。
【００５６】
また、リモートサーバプログラム３７０は、リモートサーバ３００のデスクトップをローカルマシン２００から遠隔操作を可能とするためのプログラムであり、例えばＡＴ＆Ｔケンブリッジ研究所で開発されたＶＮＣ（Virtual Network Computing）のサーバプログラムである。ＣＰＵ３０４は、ＯＳ３３６に従い、ハードディスクドライブ３０１からリモートサーバプログラム３７０をＲＡＭ３０３にロードして実行する。これにより、ＣＰＵ３０４は、ＶＰＮ等のネットワーク１４０を介してローカルマシン２００から送られてきた入力情報（キーボードおよびマウスの操作内容）を受信し処理すると共に、処理結果を示す映像情報（ディスプレイのデスクトップ画面）を、ＶＰＮ等のネットワーク１４０を介してローカルマシン２００に送信する。
【００５７】
また、これまで示した情報処理装置たるローカルマシン２００における各機能部２８０〜２９７や、前記管理サーバ１００における各機能部１１０〜１１２は、メモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの適宜な記憶装置に格納したプログラムとして実現してもよいし、ハードウェアとして実現するとしてもよい。各機能部がプログラムとして実現されている場合、前記各ＣＰＵがプログラム実行に合わせて記憶装置より該当プログラムを各ＲＡＭに読み出して、これを実行することとなる。
【００５８】
また、前記ネットワーク１４０に関しては、インターネット、ＬＡＮの他、ＡＴＭ回線や専用回線、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網、シリアル・インターフェイス通信線など様々なネットワークを採用することも出来る。また、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）など仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。なお、前記シリアル・インターフェイスは、単一の信号線を用いて１ビットずつ順次データを送るシリアル伝送で、外部機器と接続するためのインターフェイスを指し、通信方式としてはＲＳ−２３２Ｃ、ＲＳ−４２２、ＩｒＤＡ、ＵＳＢ、ＩＥＥＥ１３９４、ファイバ・チャネルなどが想定できる。
【００５９】
−−−テーブル構造−−−
次に、本実施形態における管理サーバ１００が利用可能なテーブルの構造について説明する。図３は本実施形態における、（ａ）セキュリティ管理テーブル１２５、（ｂ）機能モジュールテーブル１２６の各データ構造例を示す図である。
【００６０】
前記セキュリティ管理テーブル１２５は、前記機能モジュール２１のハッシュ値（変更前後のもの両方）や変更履歴などセキュリティ情報を格納するテーブルである。こうしたセキュリティ管理テーブル１２５は、例えば機能モジュール名をキーとして、変更前ハッシュ値（図中“ハッシュ（現）”）、変更後ハッシュ値（図中“ハッシュ（新）”）、変更のフラグといった情報を関連づけたレコードの集合体となっている。
【００６１】
また、前記機能モジュールテーブル１２６は、前記仮想マシンアプリ７を構成する機能モジュール２１を格納するテーブルである。こうした機能モジュールテーブル１２６は、例えば機能モジュール名に機能モジュールのファイルを対応付けたレコードの集合体となっている。
【００６２】
−−−処理フロー例１−−−
以下、本実施形態における情報処理方法の実際手順について、図に基づき説明する。なお、以下で説明する情報処理方法に対応する各種動作は、前記情報処理装置たるローカルマシン２００のＲＡＭ２０３に読み出して実行するプログラムによって実現される。また前記各種動作のうち管理サーバ１００についてのものは、前記管理サーバ１００のＲＡＭ１０３に読み出して実行するプログラムによって実現される。そして、これらのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００６３】
図４は本実施形態における情報処理方法の処理フロー例１を示す図である。ここでは、本実施形態の情報処理方法における主たる処理流れについて説明する。まず、前記ローカルマシン２００において前記仮想セキュアＰＣ６が起動されているものとする。この時、この仮想セキュアＰＣ６が備える前記ローダー９は、前記仮想セキュアＰＣ６の起動にあわせて起動される（ｓ５０）。そしてこのローダー９は、前記接続用インターフェイスたるＵＳＢポート２３０に接続された可搬型記憶媒体５０から、当該ローカルマシン２００が備える前記仮想マシン管理アプリ８の正当性をチェックする仮想マシン管理チェックアプリ１４をＲＡＭ２０３に読み出して起動する（ｓ１００）。
【００６４】
続いて、前記ローカルマシン２００のＲＡＭ２０３に読み出されて起動した仮想マシン管理チェックアプリ１４は、ローカルマシン２００のハードディスクドライブ２０１に格納されている前記仮想マシン管理アプリ８のファイルを読み出して、これを前記ハッシュ関数２８０に前記アルゴリズム２８１の下で適用し、ハッシュ値計算を行う（ｓ１０１）。更に、前記通信制御機能２８２により、前記可搬型記憶媒体５０から、前記仮想マシン管理アプリ８の正ハッシュ値の読み出しを行う（ｓ１０２）。この正ハッシュ値は、前記可搬型記憶媒体５０に書換不可の形態で格納されているデータであり、例えば、前記管理サーバ１００が予め算出し、この可搬型記憶媒体５０に格納処理を行ったものである。
【００６５】
前記仮想マシン管理チェックアプリ１４の認証管理機能２８３は、こうして得られた前記仮想マシン管理アプリ８のハッシュ値と、前記正ハッシュ値との比較処理を実行し（ｓ１０３）、ハッシュ値同士の一致する場合のみ、前記仮想マシン管理アプリ８が正当なものであると確認し（ｓ１０４：ＯＫ）、前記起動制御機能２８４に起動指示を伝達する。  前記起動制御機能２８４は、前記起動指示を受けて当該仮想マシン管理アプリ８の起動を実行する（ｓ１０５）。他方、前記ステップｓ１０４において、前記ハッシュ値同士が一致しない場合、前記仮想マシン管理アプリ８が正当なものでないと確認し（ｓ１０４：ＮＧ）、当該仮想マシン管理アプリ８の起動を実行せず処理を終了する。
【００６６】
前記ステップｓ１０５において、前記仮想マシン管理チェックアプリ１４により起動した仮想マシン管理アプリ８は、当該ローカルマシン２００が備える前記仮想マシンアプリ７（を構成する各機能モジュール２１）のファイルをハードディスクドライブ２０１より読み出して、これを前記ハッシュ関数２８５に前記アルゴリズム２８６の下で適用し、ハッシュ値計算を実行する（ｓ１０６）。
【００６７】
また、前記通信制御機能２８７により当該ローカルマシン２００とネットワーク接続した外部装置たる前記管理サーバ１００からの前記仮想マシンアプリ７（を構成する機能モジュール２１）の正ハッシュ値の読み出しを実行する（ｓ１０７）。
【００６８】
前記仮想マシン管理アプリ８の認証管理機能２８８は、こうして得られた前記仮想マシンアプリ７のハッシュ値と、前記正ハッシュ値との比較処理を実行し（ｓ１０８）、ハッシュ値同士の一致する場合のみ、前記仮想マシンアプリ７が正当なものであると認識する（ｓ１０９：ＯＫ）。こうして仮想マシンアプリ７の正当性が確認された場合、仮想マシン管理アプリ８の前記機能２９０は、前記管理サーバ１００への前記仮想マシンアプリ７（の機能モジュール２１）に関する変更有無確認の要請を行う（ｓ１１０）。この変更有無確認の要請は、前記管理サーバ１００のセキュリティ管理テーブル１２５における変更フラグの有無を問う検索リクエストとなる。管理サーバ１００の変更判定部１１２は、前記検索リクエストに応じてセキュリティ管理テーブル１２５における変更フラグ“Ｔｒｕｅ”の機能モジュールを検索し、その情報を返信する（ｓ１１１）。
【００６９】
前記仮想マシン管理アプリ８の前記機能２９０が、前記セキュリティ管理テーブル１２５において変更フラグがたっており、つまり前記機能モジュール２１に変更が生じている旨の回答を、管理サーバ１００（の変更判定部１１２）から受信したならば（ｓ１１２）、変更が判明した仮想マシンアプリ７の機能モジュール２１を、前記管理サーバ１００よりダウンロードして前記ハードディスクドライブ２０１（記憶装置）に格納する（ｓ１１３）。こうして、仮想マシンアプリ７の機能モジュールが更新される。
【００７０】
仮想マシンアプリ７（の機能モジュール）に改竄がなく、またそれを構成する機能モジュール２１の変更が無いか更新処理を完了したならば、前記仮想マシン管理アプリ８の認証管理機能２８８は、前記起動制御機能２８９に起動指示を伝達する。
【００７１】
前記起動制御機能２８９は、前記起動指示を受けて、当該仮想マシンアプリ７の起動を実行する（ｓ１１４）。なお、前記ステップｓ１０７において、前記ハッシュ値同士が一致しない場合、前記仮想マシンアプリ７が正当なものでないと確認し（ｓ１０９：ＮＧ）、当該仮想マシンアプリ７の起動を実行せず処理を終了する。
【００７２】
前記仮想マシン管理アプリ８により起動した仮想マシンアプリ７は、前記リモートサーバ３００への当該ローカルマシン２００での操作情報の送信と、前記操作情報に対応した映像情報の前記リモートサーバ３００からの受信および出力とを実行する（ｓ１１５）。以上、本実施形態の情報処理方法における主たる処理流れについて説明した。
【００７３】
−−−処理フロー例２−−−
次に、仮想セキュアＰＣ６のセキュリティレベルを調整する処理について説明する。図５は、本実施形態における情報処理方法の処理フロー例２を示す図である。仮想セキュアＰＣ６のセキュリティレベルを調整する場合、管理サーバ１００側で、前記機能モジュールテーブル１２６における、仮想マシンアプリ７とローカルマシン２００との間のデータ入出力を管理する機能モジュールを変更することで実現できる。
【００７４】
前記管理サーバ１００は、前記管理サーバ１００を扱う担当者が管理サーバ１００の管理画面上で指示した、仮想マシンアプリ７に関する、新しいセキュリティ制限に対応する機能モジュールを元の機能モジュールに上書きする指示を取得する（ｓ２００）。
【００７５】
図の例では、ＵＳＢポート２３０へのデータ出力を許可する指示を、管理画面１０００にて受け付けて、この管理画面１０００での指示データを受けた管理サーバ１００が、ＵＳＢポート２３０へのデータ出力を許容する新規な機能モジュール（予めハードディスクドライブ１０１に保持）を、前記機能モジュールテーブル１２６に格納する。これにより、以前から格納されていた前記ＵＳＢポート２３０におけるデータ入出力を制御する機能モジュールは、前記新規な機能モジュールに更新される（ｓ２０１）。
【００７６】
また同時に、前記管理サーバ１００は、前記セキュリティ管理テーブル１２５において、既存のハッシュ（新）で既存のハッシュ（現）を更新すると共に、新しい機能モジュールのハッシュ値でハッシュ（新）を更新し（ｓ２０２）、該当レコードに変更フラグ“True”をセットする（ｓ２０３）。
【００７７】
−−−処理フロー例３−−−
次に、上記処理フロー例２のように、機能モジュールの更新が管理サーバ１００側でなされた場合の、仮想セキュアＰＣ６（ローカルマシン２００）側での処理を説明する。図６は、本実施形態における情報処理方法の処理フロー例３を示す図である。
【００７８】
前記処理フロー例１におけるステップｓ１０７のように、仮想マシンアプリ７の正当性が確認された場合、仮想マシン管理アプリ８の前記機能２９０は、前記管理サーバ１００への前記仮想マシンアプリ７（の機能モジュール２１）に関する変更有無確認の要請を行うこととなる（ｓ３００）。
【００７９】
前記管理サーバ１００の変更判定部１１２では、前記変更有無確認の要請を受信し、セキュリティ管理テーブル１２５における変更フラグをチェックする（ｓ３０１）。そしてこのチェック処理にて、変更フラグ“True”が特定されたならば、対応する機能モジュールの情報を前記仮想マシン管理アプリ８に通知する（ｓ３０２）。
【００８０】
他方、仮想マシン管理アプリ８は、前記管理サーバ１００の変更判定部１１２から通知を受けて（ｓ３０３：はい）、該当機能モジュールを前記機能モジュールテーブル１２６からダウンロードし（ｓ３０４）、自身の仮想マシンアプリ７の機能モジュールを前記ハードディスクドライブ２０１において更新する（ｓ３０５）。
【００８１】
また、前記変更があった機能モジュールについてローカルマシン２００の仮想マシンアプリ７への前記ダウンロードがなされたならば、管理サーバ１００側では、セキュリティ管理テーブル１２５上のハッシュ(現)をハッシュ(新)で更新し（ｓ３０６）、変更フラグをリセットして“False”とし、次回セキュアＰＣ６の起動に備える（ｓ３０７）。
【００８２】
−−−機能モジュール等の正当性保障の考え方−−−
図７は、本実施形態におけるハッシュ値比較による正当性保障の概念を説明する図である。本実施形態においては、従来の専用セキュリティＰＣに比較してセキュリティレベルが相対的に低いローカルマシン２００に、仮想マシン管理アプリ８、仮想マシンアプリ７、ローダー９を置いて、外部へのデータの入出力制御を確実に行うため、専用のセキュリティＰＣと変わらない優れたセキュリティ性を確保する。また、書換え不可能な可搬型記憶媒体５０に、変更頻度があまり無い仮想マシン管理チェックアプリ１４、仮想マシン管理アプリ８の正ハッシュ値７４、利用者パスワード７２らをファイル形式で保存する。そのため、前記仮想マシン管理チェックアプリ１４や仮想マシン管理アプリ８の正ハッシュ値７４の正当性が保証されている。また、セキュアな環境を確保した管理サーバ１００において、前記仮想マシン管理チェックアプリ１４と比較して相対的に変更頻度が高い、仮想マシンアプリ７の機能モジュールのハッシュ値７５を保存しており、該当ハッシュ値の正当性が保証されている。
【００８３】
つまり、前記認証管理機能２８３、２８８らが処理に使用するデータは、その正当性が予め保障されていることが前提である。その上で、前記可搬型記憶媒体５０に格納されている仮想マシン管理チェックアプリ１４（正当性保障済み）が、ローカルマシン２００の保持する仮想マシン管理アプリ８（正当性未保障）のハッシュ値を計算し、このハッシュ値と、前記可搬型記憶媒体５０に格納されている正ハッシュ値７４（正当性保障済み）とを比較することで、まずは仮想マシン管理アプリ８の正当性を検証する。
【００８４】
この検証結果を踏まえて起動された前記仮想マシン管理アプリ８は、次に、ローカルマシン２００が保持する仮想マシンアプリ７（正当性未保障）のハッシュ値を計算し、このハッシュ値と、管理サーバ１００に問い合わせて得た正ハッシュ値７５（正当性保障済み）とを比較することで、仮想マシンアプリ７の正当性を検証する。
【００８５】
上記の仕組みより、書換不可能で正当性保障済みのハッシュ値７４、７５に基づいた多重的な正当性検証を実行できる。こうして、仮想セキュアＰＣ６の全構成モジュールの正当性を保証することを実現する。なお、半導体集積度が向上すれば、仮想マシン管理チェックアプリ１４、仮想マシン管理アプリ８の正ハッシュ値７４、パスワードなどの個人認証情報のみならず、前記仮想マシンアプリ７の機能モジュール（本実施形態では管理サーバ１００で管理）、およびその正ハッシュ値７５（管理サーバ１００で管理）を、可搬型記憶媒体５０に全て保存することが可能であるから、上記検証処理に用いるデータの起源を、全て可搬型記憶媒体５０の格納情報とする適用例を想定しても良い。
【００８６】
本発明によれば、セキュリティレベルを維持するため、シンクライアント端末たる前記情報処理装置の使用者がセキュリティレベルを変更することは防止できる一方で、シンクライアントシステムの管理者は、必要に応じて前記管理サーバにおいて前記第２のアプリケーションの機能モジュール（例：プリンタやＵＳＢメモリなどへのデータ入出力制御用のモジュール）を変更することで、当該機能モジュールに設定されているセキュリティ内容に応じた前記情報処理装置を含むシンクライアントシステムのセキュリティレベル制御が可能である。前記情報処理装置は、前記機能モジュールをダウンロードして例えば外部装置とのアクセス制限を変える。こうして、セキュリティレベルを適宜維持しながら、システムの管理環境等に合わせてセキュリティ制限を調整することが可能なのである。
【００８７】
また、改竄不可能のデバイス（可搬型記憶媒体）の備えるチェック用のアプリケーションにて、情報処理装置に備えるアプリケーションや機能モジュールの正当性を多重にチェックすることより、情報処理装置が使用するアプリケーション自体の正当性を高度に保証する。
【００８８】
したがって、汎用ＰＣの環境にて高度なセキュリティ機能を有するシステム環境が構築可能となる。
【００８９】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００９０】
【図１】本実施形態の管理サーバを含むシンクライアントシステムの構成図である。
【図２】本実施形態の情報処理装置たるローカルマシンとリモートサーバとを含むシンクライアントシステムの構成図である。
【図３】本実施形態における、（ａ）セキュリティ管理テーブル、（ｂ）機能モジュールテーブルの各データ構造例を示す図である。
【図４】本実施形態における情報処理方法の処理フロー例１を示す図である。
【図５】本実施形態における情報処理方法の処理フロー例２を示す図である。
【図６】本実施形態における情報処理方法の処理フロー例３を示す図である。
【図７】本実施形態におけるハッシュ値比較による正当性保障の概念を説明する図である。
【符号の説明】
【００９１】
６…仮想セキュアＰＣ
７…仮想マシンアプリ（第２のアプリケーション）
８…仮想マシン管理アプリ（第１のアプリケーション）
９…ローダー
１４…仮想マシン管理チェックアプリ（チェックプログラム）
２１…機能モジュール
５０…可搬型記憶媒体
１００…管理サーバ
１０１、２０１、３０１…ＨＤＤ（Hard Disk Drive）
１０２、２０２、３０２…プログラム
１０３、２０３、３０３…ＲＡＭ（Random Access Memory）
１０４、２０４、３０４…ＣＰＵ（Central Processing Unit）
１０５、２０５、３０５…入力インターフェイス
１０６、２０６、３０６…出力インターフェイス
１０７、２０７、３０７…通信装置、ＮＩＣ（Network Interface Card）
１０８、２０８、３０８…フラッシュＲＯＭ
１０９、２０９、３０９…ブリッジ
１１０…履歴管理部
１１１…正ハッシュ値算定部
１１２…変更判定部
１２５…セキュリティ管理テーブル
１２６…機能モジュールテーブル
１３０、２４０、３３０…ビデオカード
１３５、２３５、３３５…ＢＩＯＳ
１４０…ネットワーク
２００…情報処理装置（ローカルマシン）
２３０…ＵＳＢポート
２３５…Ｉ／Ｏコネクタ
２８０、２８５…ハッシュ関数
２８１、２８６…ハッシュ値を計算するアルゴリズム
２８２、２８７…通信制御機能
２８３、２８８…認証管理機能
２８４、２８９…起動制御機能
２９３、２９４…リモートクライアントプログラム
２９７…暗号化通信モジュール
３００…リモートサーバ
【図１】
2008176506.tif 000003
【図２】
2008176506.tif 000004
【図３】
2008176506.tif 000005
【図４】
2008176506.tif 000006
【図５】
2008176506.tif 000007
【図６】
2008176506.tif 000008
【図７】
2008176506.tif 000009