(57)【要約】  プロジェクト管理部１１は仮想マシン２４−１〜２４−Ｎのユーザを認証し、ユーザの所属するプロジェクトを特定する。鍵管理部１２はプロジェクト管理部１１で特定されたプロジェクトに予め割り当てられた暗号鍵を、仮想化部２３−１〜２３−Ｎの暗号処理部２３２−１〜２３２−Ｎに配布する。仮想マシン２４−１〜２４−Ｎとデバイス２２−１〜２２−Ｎとの間で発生する入出力データを受けて、仮想化部２３−１〜２３−Ｎの入出力監視部２３１−１〜２３１−Ｎは当該データを暗号処理部２３２−１〜２３２−Ｎに引きわたす。暗号処理部２３２−１〜２３２−Ｎは配付された暗号鍵を用いて、出力（書込み）データに対して暗号化、入力（読込み）データに対して復号を行う。
2008146639.tif 000002
【特許請求の範囲】
【請求項１】
仮想的な計算機環境を提供する仮想マシンを備えたコンピュータとそのコンピュータと情報通信可能なプロジェクト管理サーバとを含む情報共有システムであって、
前記コンピュータは、仮想化手段を有し、
前記仮想化手段は、
前記仮想マシンとデバイスとの間の入出力データを監視する入出力監視手段と、
前記入出力監視手段の監視結果を基に前記入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理手段と
を含み、
前記プロジェクト管理サーバは、
前記コンピュータからの認証情報を基に、業務プロジェクトのメンバ管理、及び、認証を行うプロジェクト管理手段と、
前記業務プロジェクトに固有の暗号鍵を生成・更新・管理する鍵管理手段と
を有し、
前記鍵管理手段で管理する暗号鍵を前記コンピュータに供給する
ことを特徴とする情報共有システム。
【請求項２】
前記仮想化手段は、さらに、
前記仮想マシンの属性情報を格納する仮想マシン管理手段と、
前記仮想マシンの属性情報を含むメタデータを生成し、かつ、前記メタデータと前記暗号処理手段にて暗号化された暗号化データとを連結してカプセル化データを生成するメタデータ生成手段と、
前記入出力監視手段にて前記入出力データが前記デバイスから前記仮想マシンへの入力と検出された時に、前記カプセル化データ中の前記メタデータと前記仮想マシンの属性情報とを比較して、前記カプセル化データ中の前記暗号化データを復号するか、もしくは、前記カプセル化データをそのままデバイスから読取られたデータとして転送するかを決定するメタデータ検証手段と
を含むことを特徴とする
請求の範囲１に記載の情報共有システム。
【請求項３】
前記仮想化手段は、
前記カプセル化データ中のメタデータに応じて前記カプセル化データにアクセスすべき仮想マシンを選択してアクセスを指示するエージェント通信手段と、
異なる仮想マシンで動作するアプリケーションのウィンドウイメージ及びユーザ入力デバイスからの入力信号を相互に転送するアプリケーションエージェント手段と
を含むことを特徴とする
請求の範囲２に記載の情報共有システム。
【請求項４】
前記コンピュータからの認証情報を基に業務プロジェクトのメンバ管理及び認証を行うプロジェクト管理手段と、
前記業務プロジェクトに固有の暗号鍵を生成・更新・管理する鍵管理手段と
を含むプロジェクト管理サーバを有することを特徴とする
請求の範囲１から請求の範囲３のいずれか１項に記載の情報共有システム。
【請求項５】
仮想的な計算機環境を提供する仮想マシンを備えたコンピュータを含むシステムに用いる情報共有方法であって、
前記仮想マシンとデバイスとの間の入出力データを監視する入出力監視処理と、
前記入出力監視処理の監視結果を基に前記入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理と
を実行することを特徴とする
情報共有方法。
【請求項６】
前記仮想マシンの属性情報を格納する仮想マシン管理処理と、
前記仮想マシンの属性情報を含むメタデータを生成し、かつ、前記メタデータを前記暗号処理にて暗号化されたデータと連結してカプセル化データを生成するメタデータ生成処理と、
前記入出力監視処理にて前記入出力データが前記デバイスから前記仮想マシンへの入力と検出された時に前記カプセル化データ中のメタデータと前記仮想マシンの属性情報とを比較して前記カプセル化データ中の暗号化データを復号するかもしくは前記カプセル化データをそのままデバイスから読取られたデータとして転送するかを決定するメタデータ検証処理と
を実行することを特徴とする
請求の範囲５に記載の情報共有方法。
【請求項７】
前記カプセル化データ中のメタデータに応じて前記カプセル化データにアクセスすべき仮想マシンを選択してアクセスを指示するエージェント通信処理と、異なる仮想マシンで動作するアプリケーションのウィンドウイメージ及びユーザ入力デバイスからの入力信号を相互に転送するアプリケーションエージェント処理と
を実行することを特徴とする
請求の範囲６に記載の情報共有方法。
【請求項８】
コンピュータからの認証情報を基に、業務プロジェクトのメンバ管理及び認証を行うプロジェクト管理処理と、
前記業務プロジェクトに固有の暗号鍵を生成・更新・管理する鍵管理処理と
を実行することを特徴とする
請求の範囲５から請求の範囲７のいずれか１項に記載の情報共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報共有システム、コンピュータ、プロジェクト管理サーバ及びそれらに用いる情報共有方法並びにそのプログラムに関し、特に業務プロジェクトにおける安全な情報共有を実現する情報共有システムに関する。
【背景技術】
【０００２】
ソフトウェア開発等の業務プロジェクトでは、プロジェクトメンバ同士の情報共有のために、一般にＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、Ｗｅｂ、電子メール、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅｃｏｒｄａｂｌｅ）／ＤＶＤ−Ｒ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ−Ｒｅｃｏｒｄａｂｌｅ）等の情報共有手段が用いられている。【０００３】
しかしながら、近年のコンプライアンス・情報保護に対する意識の向上から、インタネット等のプロジェクト外への許されない情報漏洩の防止も求められるようになり、以下のような技術の利用が増えつつある。【０００４】
１．コンテンツ暗号化技術
コンテンツ暗号化技術の一例としては、非特許文献１（“Ｔｅｃｈｎｉｃａｌ  Ｏｖｅｒｖｉｅｗ  ｏｆ  Ｗｉｎｄｏｗｓ（登録商標）  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｉｃｅｓ  ｆｏｒ  Ｗｉｎｄｏｗｓ（登録商標）  Ｓｅｒｖｅｒ  ２００３”（Ａｐｒｉｌ  ２００５，  ｐｐ．２２−２３），ｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｗｉｎｄｏｗｓｓｅｒｖｅｒ２００３／ｔｅｃｈｉｎｆｏ／ｏｖｅｒｖｉｅｗ／ｒｍｅｎｔｅｒｐｒｉｓｅｗｐ．ｍｓｐｘ）に記載の権利管理システム（ＲＭＳ；Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）を挙げることができる。この権利管理システムは、暗号ミドルウェアを組み込んだワードプロセッサや表計算ソフト等の業務アプリケーション（ＲＭＳアプリケーション）と、ユーザ認証・鍵管理機能を備えたＲＭＳサーバとを有している。【０００５】
あるデータ作成者が特定のデータ利用者と業務データを共有する時、ＲＭＳアプリケーションとＲＭＳサーバとが以下のように連動してコンテンツの暗号化・復号処理を行う。
（ａ）．データ作成者のＲＭＳアプリケーションが業務データを暗号化して、データ作成者の端末の二次記憶装置に格納する。そして、暗号鍵等を含む利用ライセンスを生成し、ＲＭＳサーバに登録する。
（ｂ）．データ作成者は、上述の一般的な情報共有手段を用いて、暗号化された業務データを他のデータ利用者と共有する。
（ｃ）．データ利用者が暗号化された業務データを利用する時、ＲＭＳアプリケーションはＲＭＳサーバに利用ライセンスを要求する。
（ｄ）．ＲＭＳサーバはデータ利用者の認証を行い、業務データの利用権限があると認めた時、利用ライセンスをデータ利用者のＲＭＳアプリケーションに配布する。
（ｅ）．データ利用者のＲＭＳアプリケーションは、配布された利用ライセンスから暗号鍵を抽出して、暗号化業務データを復号した後、データ利用者の要求にしたがって閲覧・印刷等の業務データ利用を処理する。【０００６】
上記の（ｄ）の処理でＲＭＳサーバがデータ利用者の利用権限を認める条件としては、データ利用者が特定のユーザグループに所属していること、という情報共有ポリシーを定義することができる。これによって、情報共有手段を問わずに、特定の業務プロジェクトメンバに限定した安全な情報共有を実現できるので、情報共有手段との中立性が保たれる。【０００７】
２．仮想化技術とアクセス制御技術の連携
仮想化・アクセス制御連携技術の一例としては、特許文献１（特開２００６−２０１８４５号公報）に記載の情報保護システムがある。この情報保護システムは、マシン仮想化機構を組み込んだユーザ端末上で、「秘密」・「一般」の２種に分類された仮想マシンと、両仮想マシン間の通信を監視・制御するセキュリティゲートウェイとを備えている。【０００８】
そして、この情報保護システムでは、セキュリティゲートウェイが、一般仮想マシンから秘密仮想マシンへのデータ送信のみを認めるよう動作することで、秘密仮想マシン内で扱われる業務データが一般仮想マシンへ漏洩することを防止する。さらに、この情報保護システムでは、業務プロジェクトの情報共有サーバへの通信を秘密仮想マシンに限定すれば、プロジェクトメンバに限定された情報共有を実現することができる。【０００９】
この情報保護システムは、上記のＲＭＳシステムと異なり、任意のアプリケーションを業務利用できるという点で、アプリケーション中立である。また、悪意のエンドユーザ・ソフトウェアによる攻撃は仮想マシン内にのみ有効であり、仮想マシンの外部で動作するセキュリティゲートウェイには及ばないため、頑健性が高い。【００１０】
非特許文献２（Ｗａｔａｎａｂｅ，Ｙ．，ｅｔ  ａｌ．，“Ｂｒｉｄｇｉｎｇ  ｔｈｅ  Ｇａｐ  Ｂｅｔｗｅｅｎ  Ｉｎｔｅｒ−ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｂｏｕｎｄａｒｙ  ａｎｄ  Ｉｎｔｅｒｎａｌ  Ｔｒｕｓｔｅｄ  Ｃｏｍｐｏｎｅｎｔｓ  ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＥＳＯＲＩＣＳ  ２００６，Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，ｖｏｌ．４１８９，ｐｐ．６５−８０，２００６．）では、セキュアメッセージルータ（ＳＭＲ；Ｓｅｃｕｒｅ  Ｍｅｓｓａｇｉｎｇ  Ｒｏｕｔｅｒ）と呼ばれる、データ暗号化機能を備えたセキュリティゲートウェイによるＩＰ通信の保護方法が開示されている。【００１１】
しかしながら、非特許文献１に記載の技術では、設計ツール・開発ツール・ソースコード版管理ツール等、多様なアプリケーション全てに暗号ミドルウェアを組み込んで、ＲＭＳアプリケーション化することは困難である。また、バッファオーバフロー等のＲＭＳアプリケーションの脆弱性を突いた攻撃や、ルートキット等のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）カーネルの特権を奪取するような攻撃によって、ＲＭＳアプリケーション内で復号された業務データを不正に抽出することも十分に考えられる。【００１２】
また、特許文献１に記載の情報保護システムでは、ＲＭＳシステムのように、データ暗号化手段を備えないため、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信・ＵＳＢメモリ等の情報共有の経路上で、非プロジェクトメンバによる業務データの不正な覗き見・窃取を防止することができない。【００１３】
また、非特許文献２に記載の技術では、ＵＳＢメモリ・ＣＤ／ＤＶＤ−Ｒ等の二次記憶装置に対する保護方法は開示されていない。【００１４】
上述した技術では、アプリケーション中立性・頑健性に寄与する仮想化層におけるアクセス制御手段が、情報共有手段との中立性に寄与するデータ暗号化手段を有しないか、有するとしても限定的な情報共有手段にのみ適用されているため、上述した技術のいずれについても、情報共有手段との中立性、アプリケーションとの中立性、頑健性のいずれかが満足されないという問題がある。
【発明の開示】
【００１５】
本発明の目的は、上記の問題点を解消し、情報共有手段との中立性、アプリケーションとの中立性、頑健性のすべての要件を満足することができる情報共有システム、コンピュータ、プロジェクト管理サーバ及びそれらに用いる情報共有方法並びにそのプログラムを提供することにある。
【００１６】
情報共有システムは、仮想的な計算機環境を提供する仮想マシンを備えたコンピュータとそのコンピュータと情報通信可能なプロジェクト管理サーバとを備えている。そのコンピュータは、仮想化手段を有している。
その仮想化手段は、その仮想マシンとデバイスとの間の入出力データを監視する入出力監視手段と、その入出力監視手段の監視結果を基にその入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理手段とを含んでいる。
そのプロジェクト管理サーバは、そのコンピュータからの認証情報を基に、業務プロジェクトのメンバ管理、及び、認証を行うプロジェクト管理手段と、その業務プロジェクトに固有の暗号鍵を生成・更新・管理する鍵管理手段とを有し、その鍵管理手段で管理する暗号鍵をそのコンピュータに供給する。
【００１７】
本発明によれば、上記のような構成及び動作とすることで、情報共有手段との中立性、アプリケーションとの中立性、頑健性のすべての要件を満足することができるという効果が得られる。
すごい効果が発揮される。
【図面の簡単な説明】
【００１８】
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。【００１９】
【図１】本発明の第１の実施形態による情報共有システムの構成例を示すブロック図である。
【図２】本発明の第１の実施形態による情報共有システムの動作を示すシーケンスチャートである。
【図３】本発明の第１の実施形態による情報共有システムにおけるユーザ認証画面の例を示す図である。
【図４】本発明の第２の実施形態による情報共有システムの構成例を示すブロック図である。
【図５】本発明の第３の実施形態による情報共有システムの構成例を示すブロック図である。
【図６】本発明の第３の実施形態による情報共有システムの動作を示すシーケンスチャートである。
【図７】本発明の第３の実施形態における仮想マシンの属性表の一例を示す図である。
【図８】本発明の第３の実施形態におけるメタデータの記述例を示す図である。
【図９】本発明の第３の実施形態におけるカプセル化業務データの構造を示す図である。
【図１０】本発明の第４の実施形態による情報共有システムの構成例を示すブロック図である。
【図１１】本発明の第４の実施形態による情報共有システムの具体的な動作例を示すブロック図である。
【図１２】本発明の第５の実施形態による情報共有システムの構成例を示すブロック図である。
【図１３】本発明の第５の実施形態による情報共有システムの動作を示すシーケンスチャートである。
【図１４】本発明の第５の実施形態による情報共有システムの具体的な動作例を示すブロック図である。
【発明を実施するための最良の形態】
【００２０】
本発明の実施の形態について図面を参照しながら説明する。しかしながら、係る形態は本発明の技術的範囲を限定するものではない。【００２１】
（第１の実施形態）
図１は、本発明の第１の実施形態による情報共有システムの構成例を示すブロック図である。図１において、本発明の第１の実施形態による情報共有システムは、ある業務プロジェクトについて、所属メンバ等を管理するプロジェクト管理サーバ１と、各所属メンバが用いる１台以上のコンピュータ２−１〜２−Ｎとを備えている。【００２２】
プロジェクト管理サーバ１は、プロジェクト管理部１１と、鍵管理部１２とを備えている。コンピュータ２−１〜２−Ｎの各々は、ＣＰＵ（中央演算処理装置）２１−１〜２１−Ｎと、二次記憶装置やネットワークインタフェース装置等のデバイス２２−１〜２２−Ｎと、仮想化部２３−１〜２３−Ｎと、仮想マシン２４−１〜２４−Ｎとを備えている。【００２３】
プロジェクト管理部１１は、内部に備える不揮発性メモリや二次記憶装置に所属メンバのリストを格納し、プロジェクト管理者からのメンバ追加・削除等の指示にしたがって、前記リストを変更する。また、プロジェクト管理部１１は、コンピュータ２−１〜２−Ｎのユーザ認証部２３３−１〜２３３−Ｎからの認証要求に応じてユーザ認証を行い、認証結果やプロジェクト情報等をコンピュータ２−１〜２−Ｎに応答する。【００２４】
鍵管理部１２は、業務プロジェクトに固有の暗号鍵をプロジェクトの新規生成時に生成したり、プロジェクトメンバ変更時に更新を行う等の処理を行い、内部に備える不揮発性メモリや二次記憶装置に格納する。また、鍵管理部１２は、コンピュータ２−１〜２−Ｎの暗号処理部２３２−１〜２３２−Ｎに対して、生成・更新時に前記暗号鍵を配布する。【００２５】
仮想マシン２４−１〜２４−Ｎはそれぞれ、ソフトウェアによって計算機のハードウェア資源をエミュレートし、仮想的な計算機環境を提供する。仮想化部２３−１〜２３−Ｎは、入出力監視部２３１−１〜２３１−Ｎと、暗号処理部２３２−１〜２３２−Ｎと、ユーザ認証部２３３−１〜２３３−Ｎとを備え、それぞれ対応する仮想マシン２４−１〜２４−Ｎを管理している。【００２６】
入出力監視部２３１−１〜２３１−Ｎは、仮想マシン２４−１〜２４−Ｎとデバイス２２−１〜２２−Ｎとの間で発生するデータ入出力を監視し、デバイス２２−１〜２２−Ｎへのデータ出力時には暗号処理部２３２−１〜２３２−Ｎにそのデータを入力して暗号化を指示する。また、入出力監視部２３１−１〜２３１−Ｎは、デバイス２２−１〜２２−Ｎからのデータ入力時に、暗号処理部２３２−１〜２３２−Ｎにそのデータを入力して復号を指示する。【００２７】
暗号処理部２３２−１〜２３２−Ｎは、鍵管理部１２から配布された暗号鍵を受けて、内部に備える不揮発性メモリや二次記憶装置等に格納する。また、暗号処理部２３２−１〜２３２−Ｎは、入出力監視部２３１−１〜２３１−Ｎからデータと暗号化または復号の指示とを受けて、暗号化指示の際に、暗号鍵を用いて入力されたデータを暗号化し、デバイス２２−１〜２２−Ｎへ出力する。暗号処理部２３２−１〜２３２−Ｎは、復号指示の際に、暗号鍵を用いて入力されたデータを復号し、仮想マシン２４−１〜２４−Ｎへ出力する。【００２８】
ユーザ認証部２３３−１〜２３３−Ｎは、コンピュータ２−１〜２−Ｎの起動時等、仮想マシン２４−１〜２４−Ｎの起動前に、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）やキーボード等のユーザ入出力用のデバイス２２−１〜２２−Ｎを介して、エンドユーザからユーザＩＤ（ＩＤｅｎｔｉｆｉｅｒ）やパスワード等の認証情報の入力を受ける。【００２９】
また、ユーザ認証部２３３−１〜２３３−Ｎは、認証情報を特定のプロジェクト管理サーバ１のプロジェクト管理部１１に入力して、エンドユーザが特定のプロジェクトメンバであることの認証を要求し、認証成功の応答があった時、仮想マシン２４−１〜２４−Ｎを起動する。【００３０】
図２は本発明の第１の実施形態による情報共有システムの動作を示すシーケンスチャートであり、図３は本発明の第１の実施形態による情報共有システムにおけるユーザ認証画面の例を示す図である。これら図１〜図３を参照して本発明の第１の実施形態による情報共有システムの動作について説明する。尚、図２におけるプロジェクト管理サーバ１及びコンピュータ２−１各々の動作はコンピュータで実行可能なプログラムを実行することで実現可能である。【００３１】
まず、コンピュータ２−１の起動時に、仮想化部２３−１のユーザ認証部２３３−１はユーザから入力された認証情報をプロジェクト管理サーバ１のプロジェクト管理部１１へ送信する（図２ステップＳ１１）。【００３２】
このステップＳ１１における認証情報の入力としては、例えば、ＬＣＤ・キーボード等のユーザ入出力デバイスを用いて、図３に示すような認証情報入力画面を表示し、ユーザＩＤやパスワード等の認証情報の入力を受け付ける方法がある。また、その他の方法としては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）キー等の認証デバイスを介して、認証情報の入力を受け付けてもよい。【００３３】
また、ユーザ認証部２３３−１には、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス・ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等、プロジェクト管理サーバ１の位置情報を入力する必要があるが、例えば、図３に示すように、ユーザＩＤの入力において、ユーザＩＤ（ｍ−ｎａｋａｅ）とプロジェクト管理サーバ１のドメイン名（ｐｒｏｊｅｃｔＡ．ｘｘｘ．ｃｏｍ）とを組み合わせた形式を要求することができる。その他の方法としては、予め前記認証デバイス中に位置情報を記録しておくようにしてもよい。【００３４】
次に、プロジェクト管理サーバ１のプロジェクト管理部１１は、前記認証情報と、予め登録されたプロジェクトメンバの認証情報とを比較し、コンピュータ２−１のユーザがメンバであるか否かを判定し、その結果をコンピュータ２−１のユーザ認証部２３３−１へ応答する（図２ステップＳ１）。【００３５】
ユーザ認証部２３３−１は、プロジェクト管理部１１から認証成功の応答を受けた時、プロジェクト管理サーバ１の鍵管理部１２へプロジェクト固有の暗号鍵の配付を要求する（図２ステップＳ１２）。一方、ユーザ認証部２３３−１は、認証失敗の応答を受けた時、ステップＳ１１のユーザ認証の処理に戻る。【００３６】
鍵管理部１２は、ユーザ認証部２３３−１からプロジェクト固有の暗号鍵配付要求が送られてくると、予め生成された暗号鍵を要求元のコンピュータ２−１の暗号処理部２３３−１へ配付する（図２ステップＳ２）。暗号処理部２３３−１はその暗号鍵を、内部に備えた不揮発性メモリまたは二次記憶装置等に格納する。【００３７】
暗号処理部２３３−１による暗号鍵の格納が完了した後、仮想化部２３−１は仮想マシン２４−１を起動する（図２ステップＳ１３）。これ以降、コンピュータ２−１のユーザは、仮想マシン２４−１上で動作する任意のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）・アプリケーションを用いて、業務データを作成・編集するとともに、随時、他のコンピュータ２−２〜２−Ｎと業務データを共有する。【００３８】
こうした作業中に、仮想マシン２４−１はハードディスクドライブやＵＳＢメモリ等の二次記憶装置や、ネットワークインタフェース装置等のデバイス２２−１に対して、業務データの保存・読込みや、他のコンピュータ２−１〜２−Ｎとの間の送受信等のために、業務データの入出力を行う（図２ステップＳ１４）。【００３９】
こうした仮想マシン２４−１とデバイス２２−１との間で発生する任意の業務データ入出力は、仮想化部２３−１の入出力監視部２３１−１で監視される。入出力監視部２３１−１は、業務データの入出力を検知した時、まず仮想マシン２４−１からデバイス２２−１への業務データ出力か、デバイス２２−１から仮想マシン２４−１への業務データ入力かを判定する（図２ステップＳ１５）。【００４０】
業務データ出力の場合、入出力監視部２３１−１は、デバイス２２−１へ向けて出力された業務データを暗号処理部２３２−１に転送して、その業務データの暗号化を指示する（図２ステップＳ１６）。そして、暗号処理部２３２−１は、上記のステップＳ２の処理で配付された暗号鍵を用いて、業務データを暗号化し、デバイス２２−１へ出力する（図２ステップＳ１７）。【００４１】
一方、業務データ入力の場合、入出力監視部２３１−１は、デバイス２２−１から入力された業務データを暗号処理部２３２に転送して、その業務データの復号を指示する（図２ステップＳ１８）。そして、暗号処理部２３２−１は、上記のステップＳ２の処理で配付された暗号鍵を用いて、業務データを復号し、仮想マシン２４−１へ入力する（図２ステップＳ１９）。【００４２】
本実施形態では、以上のような処理をコンピュータ２−２〜２−Ｎでも同様に行うことで、コンピュータ２−１〜２−Ｎの仮想マシン２４−１〜２４−Ｎは、業務データをネットワークインタフェース装置経由で送受信したり、ＵＳＢメモリやＣＤ−Ｒ等の取り外し可能な二次記憶装置を用いて共有することができる。【００４３】
また、本実施形態では、流通経路にあたるネットワークや二次記憶装置で、共有対象となる業務データは、上記のステップＳ２の処理で配付される暗号鍵によって暗号化されているので、ネットワークの覗き見や、二次記憶装置の紛失等に伴う、業務データの漏洩を防止することができる。【００４４】
上記のように、本発明の第１の実施形態による情報共有システムでは、プロジェクト管理部１１と、鍵管理部１２と、入出力監視部２３１−１〜２３１−Ｎ及び暗号処理部２３２−１〜２３２−Ｎを有する仮想化部２３−１〜２３−Ｎと、仮想マシン２４−１〜２４−Ｎとを備えている。【００４５】
また、本発明の第１の実施形態による情報共有システムでは、上記の構成を用いて、以下のように動作する。
（ａ）．プロジェクト管理部１１が、仮想マシン２４−１〜２４−Ｎのユーザを認証し、ユーザの所属するプロジェクトを特定する。
（ｂ）．鍵管理部１２が、プロジェクト管理部１１で特定されたプロジェクトに予め割り当てられた暗号鍵を、仮想化部２３−１〜２３−Ｎの暗号処理部２３２−１〜２３２−Ｎに配布する。
（ｃ）．仮想マシン２４−１〜２４−Ｎとデバイス２２−１〜２２−Ｎとの間で発生する入出力データを受けて、仮想化部２３−１〜２３−Ｎの入出力監視部２３１−１〜２３１−Ｎが前記データを暗号処理部２３２−１〜２３２−Ｎに引きわたす。
（ｄ）．暗号処理部２３２−１〜２３２−Ｎは配付された暗号鍵を用いて、出力（書込み）データに対して暗号化、入力（読込み）データに対して復号を行う。【００４６】
本発明の第１の実施形態による情報共有システムでは、上記のような構成を採用することで、二次記憶装置やネットワークインタフェース等のデバイス２２−１〜２２−Ｎを介したコンピュータ２−１〜２−Ｎの間で行われる情報共有において、流通経路上の業務データを常にプロジェクト固有の鍵で暗号化された状態にし、かつプロジェクトメンバが利用する仮想マシン２４−１〜２４−Ｎにおいては、適切に復号された業務データにアクセスできるので、情報共有部との中立性、アプリケーションとの中立性、頑健性のすべての要件を満足することができる。【００４７】
このように、本実施形態では、プロジェクト管理部１１で業務プロジェクト毎に割り当てた暗号鍵を用いて、プロジェクトメンバの使用するコンピュータ２−１〜２−Ｎに備えた仮想化部２３−１〜２３−Ｎにおいて、業務データの暗号化・復号を行うため、特定の業務プロジェクトに閉じた情報共有を、業務に使用するアプリケーションやＯＳに依存することなく、安全に実現することができる。【００４８】
（第２の実施形態）
図４は本発明の第２の実施形態による情報共有システムの構成例を示すブロック図である。図４において、本発明の第２の実施形態による情報共有システムは、コンピュータ２内に複数の仮想マシン２４−ａ〜２４−Ｍと、それらにそれぞれ対応する仮想化部２３−ａ〜２３−Ｍとを備えている。【００４９】
すなわち、本発明の第１の実施形態では、コンピュータ２−１〜２−Ｎ各々について１つの仮想マシン２４−１〜２４−Ｎを備えているが、本実施形態のように、複数の仮想マシンを備えてもよい。この時、好適には各仮想マシン２４−ａ〜２４−Ｍに仮想化部２３−ａ〜２３−Ｍを対応させて、コンピュータ２のユーザが仮想マシン２４−ａ〜２４−Ｍの起動を要求する度に、仮想化部２３−ａ〜２３−Ｍが上述した本発明の第１の実施形態の動作と同様の動作を行うことで、ユーザが複数の業務プロジェクトを兼務する場合に、１台のコンピュータ２で各プロジェクトの業務を並行して行うことができる。【００５０】
（第３の実施形態）
図５は本発明の第３の実施形態による情報共有システムの構成例を示すブロック図である。図５において、本発明の第２の実施形態による情報共有システムでは、コンピュータ２−１〜２−Ｎの仮想化部２３−１〜２３−Ｎに、メタデータ生成部２３４−１〜２３４−Ｎと、メタデータ検証部２３５−１〜２３５−Ｎと、仮想マシン管理部２３６−１〜２３６−Ｎとを追加した以外は、図１に示す本発明の第１の実施形態による情報共有システムと同様の構成となっており、同一構成要素には同一符号を付してある。【００５１】
暗号処理部２３２−１〜２３２−Ｎは、メタデータ生成部２３４−１〜２３４−Ｎから入力されるメタデータと業務データとの組から、業務データを暗号化してカプセル化業務データを生成し、デバイス２２−１〜２２−Ｎへ出力する。また、暗号処理部２３２−１〜２３２−Ｎは、メタデータ検証部２３５−１〜２３５−Ｎからの要求に応じて、カプセル化業務データ中の暗号化業務データを復号し、仮想マシン２４−１〜２４−Ｎへ出力する。【００５２】
メタデータ生成部２３４−１〜２３４−Ｎは、入出力監視部２３１−１〜２３１−Ｎから入力される業務データと、仮想マシン管理部２３６−１〜２３６−Ｎから取得した仮想マシン２４−１〜２４−Ｎの属性情報とに基づいたメタデータを生成し、メタデータと業務データとの組を暗号処理部２３２−１〜２３２−Ｎに入力してカプセル化業務データを生成させる。【００５３】
メタデータ検証部２３５−１〜２３５−Ｎは、入出力監視部２３１−１〜２３１−Ｎから入力されるカプセル化業務データのメタデータと、仮想マシン管理部２３６−１〜２３６−Ｎから取得した仮想マシン２４−１〜２４−Ｎの属性情報とを比較する。【００５４】
メタデータ検証部２３５−１〜２３５−Ｎは、適合した場合に暗号処理部２３２−１〜２３２−Ｎに暗号化業務データを入力して元の業務データへ復号し、適合しない場合に入力されたカプセル化業務データを復号せずに仮想マシン２４−１〜２４−Ｎへ出力する。【００５５】
仮想マシン管理部２３６−１〜２３６−Ｎは、プロジェクト情報等を含む、仮想マシン２４の属性情報を内部的に備える不揮発性メモリまたは二次記憶装置に格納し、メタデータ生成部２３４−１〜２３４−Ｎやメタデータ検証部２３５−１〜２３５−Ｎからの要求に応じて、その属性情報を応答する。【００５６】
図６は本発明の第３の実施形態による情報共有システムの動作を示すシーケンスチャートであり、図７は本発明の第３の実施形態における仮想マシンの属性表の一例を示す図であり、図８は本発明の第３の実施形態におけるメタデータの記述例を示す図であり、図９は本発明の第３の実施形態におけるカプセル化業務データの構造を示す図である。【００５７】
これら図５〜図９を参照して本発明の本発明の第３の実施形態による情報共有システムの動作について説明する。尚、図６におけるプロジェクト管理サーバ１及びコンピュータ２−１各々の動作はコンピュータで実行可能なプログラムを実行することで実現可能である。また、図６において、ステップＳ２１，Ｓ２２及びステップＳ３１〜Ｓ３５の処理は上述した図２のステップＳ１，Ｓ２及びステップＳ１１〜Ｓ１５の処理と同様であるので、これらの処理についての説明は省略する。【００５８】
業務データ出力時の動作としては、まず、入出力監視部２３１−１が、仮想マシン２４−１がデバイス２２−１へ向けて出力された業務データをメタデータ生成部２３４−１に転送して、カプセル化業務データの生成を開始する（図６ステップＳ３６）。【００５９】
そして、メタデータ生成部２３４−１は仮想マシン管理部２３６−１から仮想マシン２４−１の属性情報を取得し、その属性情報に基づいてメタデータを生成する（図６ステップＳ３７）。ここで、仮想マシン２４−１の属性情報は、少なくともプロジェクト固有の識別子（プロジェクトＩＤ）を含んでおり、図７に示すように、仮想マシン管理部２３６−１内の不揮発性メモリもしくは二次記憶装置内に、属性名・属性値を項目として持つ属性表として格納されている。また、メタデータは、例えば、図８に示すようなＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）形式のフォーマットをもち、メタデータ生成部２３４−１は、仮想マシン管理部２３６−１から取得されるプロジェクトＩＤ（＜ＰｒｏｊｅｃｔＩＤ＞タグ）以外に、更新日時（＜Ｄａｔｅ＞タグ）等動的な属性情報を生成・記述するようにしてもよい。【００６０】
次に、メタデータ生成部２３４−１は、ステップＳ３６の処理で得た業務データと、ステップＳ３７の処理で生成したメタデータとを、暗号処理部２３２−１へ入力してカプセル化業務データの暗号化を指示する（図６ステップＳ３８）。すると、暗号処理部２３２−１は、上記の本発明の第１の実施形態におけるステップＳ１６の処理と同様にして、プロジェクト管理サーバ１から配付された暗号鍵を用いて業務データを暗号化し、図９に示すように、メタデータと暗号化業務データとを連結して、デバイス２２−１に出力する（図６ステップＳ３９）。【００６１】
一方、業務データ入力時の動作としては、まず、入出力監視部２３１−１が、仮想マシン２４−１のアクセスによって、デバイス２２−１から読取られたカプセル化業務データをメタデータ検証部２３５−１に転送してカプセル化業務データの復号を開始する（図６ステップＳ４０）。【００６２】
メタデータ検証部２３５−１は、まず、入力されたカプセル化業務データからメタデータを抽出し、そのメタデータと仮想マシン管理部２３６−１から取得した仮想マシン２４−１の属性情報とを比較する（図６ステップＳ４１）。メタデータ検証部２３５−１は、上述したように、複数の属性情報が存在する場合、少なくともプロジェクトＩＤを文字列で比較して、適合・不適合を判定する。あるいは、更新日時等の他の属性情報を含めて、予め設定された比較条件式を用いて、適合・不適合を判定するようにしてもよい。【００６３】
その後、メタデータ検証部２３５−１は、属性情報が適合した場合、カプセル化業務データから暗号化業務データを抽出した後、その暗号化業務データを暗号処理部２３２−１に入力して復号を指示する（図６ステップＳ４２）。この時、暗号処理部２３２−１は、上述した本発明の第１の実施形態におけるステップＳ１８の動作と同様の動作によって、元の業務データに復号して、仮想マシン２４−１に入力する（図６ステップＳ４３）。【００６４】
一方、ステップＳ４１の動作で、属性情報が適合しなかった場合、メタデータ検証部２３５−１は、カプセル化業務データを直ちに仮想マシン２４−１に入力する（図６ステップＳ４４）。【００６５】
このように、本実施形態では、一般的なファイルサーバやメールサーバ等を介して、特定のプロジェクトメンバが使用する仮想マシン２４−１〜２４−Ｎのみが復号された業務データの共有を行うことができる。【００６６】
本発明の第３の実施形態による情報共有システムは、上述した本発明の第１の実施形態による情報共有システムの構成に加えて、仮想化部２３−１〜２３−Ｎ内に、メタデータ生成部２３４−１〜２３４−Ｎと、メタデータ検証部２３５−１〜２３５−Ｎと、仮想マシン管理部２３６−１〜２３６−Ｎとを設けている。【００６７】
本発明の第３の実施形態による情報共有システムは、上記の構成を用いて、以下のように動作する。
まず、仮想マシンからの業務データ出力時の場合、
（ａ）．仮想化部２３−１〜２３−Ｎの入出力監視部２３１−１〜２３１−Ｎが、ある仮想マシン２４−１〜２４−Ｎによる二次記憶装置やネットワークデバイス等のデバイス２２−１〜２２−Ｎへの業務データ出力を検知すると、仮想マシン２４−１〜２４−Ｎとプロジェクトとの対応関係を管理する仮想マシン管理部２３６−１〜２３６−Ｎに対してその仮想マシン２４−１〜２４−Ｎに対応するプロジェクト情報を問い合わせる。
（ｂ）．上記の業務データとプロジェクト情報との組を、メタデータ生成部２３４−１〜２３４−Ｎに出力する。
（ｃ）．メタデータ生成部２３４−１〜２３４−Ｎは、プロジェクト情報を含む業務データに対応するメタデータを生成した後、暗号処理部２３２−１〜２３２−Ｎが業務データのみを暗号化して、メタデータと暗号化業務データとの組（カプセル化業務データ）を生成し、出力先のデバイス２２−１〜２２−Ｎへ一体のデータとして出力する。【００６８】
続いて、仮想マシンへの業務データ入力時の場合、
（ｄ）．仮想化部２３−１〜２３−Ｎの入出力監視部２３１−１〜２３１−Ｎが、仮想マシン２４−１〜２４−ｎによる二次記憶装置やネットワークデバイス等のデバイス２２−１〜２２−ｎからの業務データ入力を検知すると、仮想マシン管理部２３６−１〜２３６−Ｎにその仮想マシン２４−１〜２４−Ｎに対応するプロジェクト情報を問い合わせる。
（ｅ）．プロジェクト情報とともに、入力元のデバイス２２−１〜２２−Ｎから読取られたカプセル化業務データを、メタデータ検証部２３５−１〜２３５−Ｎに引きわたす。
（ｆ）．メタデータ検証部２３５−１〜２３５−ｎは、仮想マシン２４−１〜２４−Ｎのプロジェクト情報と、カプセル化業務データのメタデータに記載されたプロジェクト情報とを比較する。
（ｇ）．プロジェクト情報が一致する場合、メタデータ検証部２３５−１〜２３５−Ｎは、暗号処理部２３２−１〜２３２−Ｎに暗号化業務データを引渡し、暗号処理部２３２−１〜２３２−Ｎが業務データを復元して仮想マシン２４−１〜２４−Ｎに転送する。
（ｈ）．一方、プロジェクト情報が一致しない場合、メタデータ検証部２３５−１〜２３５−Ｎは、カプセル化業務データを仮想マシン２４−１〜２４−Ｎにそのまま転送する。【００６９】
本実施形態では、このような構成を採用することで、同一プロジェクトに所属する仮想マシン２４−１〜２４−Ｎ間で元の業務データを共有できるとともに、異なるプロジェクトの仮想マシン２４−１〜２４−Ｎ間では、カプセル化業務データとして、内容を秘匿した状態での共有を認めることができる。【００７０】
また、本実施形態では、プロジェクト外のファイル共有サーバや既存のメールサーバ等を介した情報共有を安全に実現できるため、３つの安全性要件を損わずに、単一プロジェクトのユーザやコンピュータに閉じた情報共有に限定することなく、プロジェクト外のコンピュータ（インタネットサーバや電子メールシステム等）を介した流通を許す、自由度の高い情報共有システムを提供することができる。【００７１】
上記のように、本実施形態では、仮想マシン管理部２３６−１〜２３６−Ｎが仮想マシン２４−１〜２４−Ｎと業務プロジェクトとの対応関係を管理するとともに、メタデータ生成部２３４−１〜２３４−Ｎが出力された業務データと業務プロジェクトとの対応関係をメタデータとして保持し、暗号処理部２３２−１〜２３２−Ｎがメタデータと暗号化業務データとを一体としたカプセル化業務データとしてプロジェクト外のコンピュータに出力する。【００７２】
そのため、本実施形態では、メールサーバ等のプロジェクト外のコンピュータで業務データの内容が秘匿されたカプセル化業務データの形態で格納・転送され、かつ同一プロジェクトの仮想マシン２４−１〜２４−Ｎに至って初めて復号された業務データを利用することができるため、特定の業務プロジェクトに閉じた情報共有を行うにあたり、安全性を損うことなく、プロジェクト外のコンピュータを介した自由度の高い情報共有システムを提供することができる。【００７３】
（第４の実施形態）
図１０は本発明の第４の実施形態による情報共有システムの構成例を示すブロック図である。図１０において、本発明の第４の実施形態による情報共有システムは、コンピュータ２内に複数の仮想マシン２４−ａ〜２４−Ｍと、それらにそれぞれ対応する仮想化部２３−ａ〜２３−Ｍとを備えている。【００７４】
すなわち、本発明の第３の実施形態では、コンピュータ２−１〜２−Ｎ各々について１つの仮想マシン２４−１〜２４−Ｎを備えているが、本実施形態のように、複数の仮想マシンを備えてもよい。この時、好適には各仮想マシン２４−ａ〜２４−Ｍに仮想化部２３−ａ〜２３−Ｍを対応させて、コンピュータ２のユーザが仮想マシン２４−ａ〜２４−Ｍの起動を要求する度に、仮想化部２３−ａ〜２３−Ｍが上述した本発明の第３の実施形態の動作と同様の動作を行うことで、ユーザが複数の業務プロジェクトを兼務する場合に、１台のコンピュータ２で各プロジェクトの業務を並行して行うことができる。【００７５】
また、ステップＳ４１〜Ｓ４４に示したメタデータ検証部２３５の動作によって、異なるプロジェクトに属する複数の仮想マシン２４で、同じ二次記憶装置を共用することもできる。この場合、例えば、プロジェクトＡの仮想マシン２４−Ａが出力したカプセル化業務データＣ［Ａ］が二次記憶装置２２１に格納されている時、プロジェクトＢの仮想マシン２４−Ｂがカプセル化業務データＣ［Ａ］を読込んだ場合には、復号されずに（内容が暗号化された）ファイルとして扱われ、仮想マシン２４−Ａがカプセル化業務データＣ［Ａ］を読込んだ場合には、復号された元の業務データを直接参照することができる。【００７６】
このようにすることで、本実施形態では、複数プロジェクトを兼務するユーザに対して、安全性を損なうことなく、より自由度の高い情報共有システムを提供することができる。【００７７】
例えば、図１１に示すように、ユーザＵ１がプロジェクトＡとプロジェクトＢとを兼務するメンバであって、電子メールのやりとり等で、プロジェクトＡの仮想マシン２４−Ａ１を常用しているような場合、プロジェクトＢのユーザＵ２が用いる仮想マシン２４−Ｂ２から送信されたカプセル化業務データが添付された電子メールは、仮想マシン２４−Ａ上で動作しているメールアプリケーションで受信される。【００７８】
この時、仮想マシン２４−Ａ１では、ネットワークインタフェース装置２２２−１から受信したカプセル化業務データが復号されることなく、メールアプリケーションに取り込まれ、共用される二次記憶装置２２１−１にカプセル化業務データのまま格納される。【００７９】
ユーザＵ１が仮想マシン２４−Ｂ１を用いて、そのカプセル化業務データを読込んだ時に、元の業務データに適切に復号されるので、プロジェクトＢメンバとして閲覧・編集等の業務を行うことができる。あるいは、ユーザＵ１が他のプロジェクトＢのメンバであるユーザＵ３に電子メールを転送する場合には、常用している仮想マシン２４−Ａ１上のメールアプリケーションから直接転送することもできる。【００８０】
しかしながら、メールプログラムの誤操作によってプロジェクトＢの非メンバに転送したり、さまざまなプロジェクトのメンバが参加するメーリングリストに転送したりしても、転送先のいずれの仮想マシン２４においても、プロジェクトＢの暗号鍵で暗号化されたカプセル化業務データを復号することができない。【００８１】
（第５の実施形態）
図１２は本発明の第５の実施形態による情報共有システムの構成例を示すブロック図である。図１２において、本発明の第５の実施形態による情報共有システムは、コンピュータ２−１〜２−Ｎ各々が、複数の仮想マシン２４−ａ−１〜２４−Ｍ−１，・・・，２４−ａ−Ｎ〜２４−Ｍ−Ｎを有し、各仮想マシン２４−ａ−１〜２４−Ｍ−１，・・・，２４−ａ−Ｎ〜２４−Ｍ−Ｎがアプリケーションエージェント部２４１−ａ−１〜２４１−Ｍ−１，・・・，２４１−ａ−Ｎ〜２４１−Ｍ−Ｎを備えている。【００８２】
また、本実施形態では、各仮想マシン２４−ａ−１〜２４−Ｍ−１，・・・，２４−ａ−Ｎ〜２４−Ｍ−Ｎに対して１対１に本発明の第２の実施形態における仮想化部２３−ａ−１〜２３−Ｍ−１，・・・，２３−ａ−Ｎ〜２３−Ｍ−Ｎを備えており、さらにエージェント通信部２５−１〜２５−Ｎを有している。【００８３】
アプリケーションエージェント部２４１−ａ−１〜２４１−Ｍ−１，・・・，２４１−ａ−Ｎ〜２４１−Ｍ−Ｎは、エージェント通信部２５−１〜２５−Ｎを介して、他の仮想マシン上のアプリケーションエージェント部と、アプリケーションが提供するユーザインタフェース画面や、キーボード・マウス等のアプリケーションへのユーザ入出力デバイス信号等を含むユーザインタフェース情報を相互に転送する。【００８４】
エージェント通信部２５−１〜２５−Ｎは、アプリケーションエージェント部２４１−ａ−１〜２４１−Ｍ−１，・・・，２４１−ａ−Ｎ〜２４１−Ｍ−Ｎの間で、ユーザインタフェース情報を配送する。【００８５】
図１３は本発明の第５の実施形態による情報共有システムの動作を示すシーケンスチャートであり、図１４は本発明の第５の実施形態による情報共有システムの具体的な動作例を示すブロック図である。これら図１２〜図１４を参照して本発明の本発明の第５の実施形態による情報共有システムの動作について説明する。尚、図１３におけるコンピュータ２−１，２−１各々の動作はコンピュータで実行可能なプログラムを実行することで実現可能である。【００８６】
図１４に示すように、コンピュータ２−１のユーザＵ１が、プロジェクトＡ・プロジェクトＢを兼務しているが、プロジェクトＡ用の仮想マシン２４−Ａ１を用いて電子メールの送受信を行っており、他のプロジェクトＢのメンバであるユーザＵ２が用いるコンピュータ２−２の仮想マシン２４−Ｂ２から業務データが添付されたメールを受信し、添付された業務データを操作する場合を想定する。この時、本発明の第５の実施形態による情報共有システムは、図１３にしめすような流れにしたがって動作する。【００８７】
まず、ユーザＵ２が仮想マシン２４−Ｂ２上のメールアプリケーションを用いて、プロジェクトＢにおける業務データをユーザＵ１に送信する時、仮想マシン２４−Ｂ２に対応する仮想化部２３−Ｂ２が、本発明の第３の実施形態におけるステップＳ３６〜Ｓ３９の動作によって、メタデータ内にプロジェクトＢに相当するプロジェクトＩＤを含むカプセル化業務データを生成し、電子メールとして送信する（図１３ステップＳ５１）。【００８８】
次に、ユーザＵ１が仮想マシン２４−Ａ１上のメールアプリケーションを用いて、ユーザＵ２からの電子メールを受信する（図１３ステップＳ６１）。この時、仮想マシン２４−Ａ１に対応する仮想化部２３−Ａ１は、本発明の第３の実施形態におけるステップＳ４０〜Ｓ４４の動作を行うので、メールアプリケーション上で電子メールに添付されたデータがカプセル化業務データの形態をもつ。【００８９】
引き続き、ユーザＵ１が仮想マシン２４−Ａ１上のメールアプリケーションを用いて、カプセル化業務データを「開く」操作を行うと、仮想マシン２４−Ａ１はそのカプセル化業務データに対する実行要求を発行する（図１３ステップＳ６２）。【００９０】
その後、仮想マシン２４−Ａ１に対応する仮想化部２３−Ａ１の入出力監視部２３１がカプセル化業務データをメタデータ検証部２３５に転送した後、メタデータ検証部２３５がカプセル化業務データのメタデータを参照して、プロジェクトＢの業務データが含まれることを検知し、エージェント通信部２５−１によってアプリケーションエージェント部２４１−Ａ１，２４１−Ｂ１間の通信が開始される（図１３ステップＳ６３）。【００９１】
そして、エージェント通信部２５−１は、アプリケーションエージェント部２４１−Ｂ１にカプセル化業務データに関連付けられたアプリケーションを起動させる（図１３ステップＳ６４）。例えば、エージェント通信部２５−１がカプセル化業務データのパス名を渡すことで、アプリケーションエージェント部２４１−Ｂ１が、Ｗｉｎｄｏｗｓ（登録商標）のコマンドプロンプト等のシェルプログラムに対して、「ｏｐｅｎ（カプセル化業務データのパス名）」等のシェル命令を発行すればよい。【００９２】
引き続いて、仮想マシン２４−Ｂ１からはそのカプセル化業務データに対する実行要求が改めて発行されるので、仮想化部２３−Ｂ１が、本発明の第３の実施形態におけるステップＳ３６〜Ｓ３９の動作によって、復号された業務データを仮想マシン２４−Ｂ１に出力する（図１３ステップＳ６５）。【００９３】
その後、アプリケーションエージェント部２４１−Ｂ１は、まず、エージェント通信部２５−１を介して、ペアとなるアプリケーションエージェント部２４１−Ａ１にアプリケーションのウィンドウイメージを転送する（図１３ステップＳ６６）。【００９４】
さらに、アプリケーションエージェント部２４１−Ａ１は、転送されたウィンドウイメージを仮想マシン２４−Ａ１のデスクトップ上に表示しながら、そのウィンドウイメージに対して行われるキーボードやマウス等からのユーザ入力信号をエージェント通信部２５−１を介して、アプリケーションエージェント部２４１−Ｂ１に転送する（図１３ステップＳ６７）。【００９５】
以後、ステップＳ６６，Ｓ６７の動作を繰り返すことで、コンピュータ２−１のユーザＵ１は、プロジェクトＡの業務で用いるデスクトップ画面上で、プロジェクトＢの業務データにアクセスできるので、ユーザの利便性が向上する。【００９６】
但し、アプリケーションエージェント部２４１−Ａ１，２４１−Ｂ１とエージェント通信部２５−１との動作によって、プロジェクトＢの業務データにアクセスするアプリケーションは、プロジェクトＡ用の仮想マシン２４−Ａ１ではなく、プロジェクトＢ用の仮想マシン２４−Ｂ１で動作する。【００９７】
したがって、本実施形態では、仮想化部の動作によって、異なるプロジェクトの仮想マシンを越えて、ユーザＵ１が不正に業務データをコピーすることができず、本発明の第３の実施形態で得られる高い安全性の効果を維持することができる。【００９８】
尚、アプリケーションエージェント部２４１−Ａ１，２４１−Ｂ１の間では、業務データの部分的な転送を行って、コピー＆ペースト操作を行えるようにしてもよい。この場合、より好適には、プロジェクトＡのプロジェクト管理サーバ１−Ａ、またはプロジェクトＢのプロジェクト管理サーバ１−Ｂから、コピー＆ペースト操作の可否や、許可されるコピー方向（アプリケーションエージェント部２４１−Ａ１からアプリケーションエージェント部２４１−Ｂ１へ、またはアプリケーションエージェント部２４１−Ｂ１からアプリケーションエージェント部２４１−Ａ１へ等）等の条件を記述したフィルタリングポリシーを、エージェント通信部２５−１に配布し、エージェント通信部２５−１で上記の条件にしたがった通信制御を行うようにすべきである。【００９９】
上記のように、本発明の第５の実施形態による情報共有システムは、本発明の第３の実施形態による情報共有システムの構成に加えて、コンピュータ２−１〜２−Ｎがさらにエージェント通信部２５−１〜２５−Ｎを備え、また各仮想マシン２４−ａ−１〜２４−Ｍ−１，・・・，２４−ａ−Ｎ〜２４−Ｍ−Ｎがアプリケーションエージェント部２４１−ａ−１〜２４１−Ｍ−１，・・・，２４１−ａ−Ｎ〜２４１−Ｍ−Ｎを備えている。【０１００】
本発明の第５の実施形態による情報共有システムでは、上記の構成を用いて、以下のように動作する。
（ａ）．メタデータ検証部２３５が、プロジェクトＡの仮想マシン２４（ＶＭ−Ａ）がプロジェクトＢのカプセル化業務データにアクセスしたことを検知した時、エージェント通信部２５に、プロジェクトＡ・Ｂそれぞれの仮想マシン２４内のアプリケーションエージェント部２４１間の通信路を生成するよう要求する。
（ｂ）．エージェント通信部２５は、通信用のバッファを生成した後、プロジェクトＢの仮想マシン２４（ＶＭ−Ｂ）内のアプリケーションエージェント部２４１に対して、プロジェクトＢのカプセル化業務データにアクセスするよう指示する。
（ｃ）．プロジェクトＢの仮想マシン２４（ＶＭ−Ｂ）のアプリケーションエージェント部２４１は、所定のアプリケーションを起動・操作して、カプセル化業務データにアクセスさせる。
（ｄ）．さらに、エージェント通信部２５を介して、プロジェクトＢの仮想マシン２４（ＶＭ−Ｂ）で動作するアプリケーションのウィンドウイメージを、プロジェクトＡの仮想マシン２４（ＶＭ−Ａ）のアプリケーションエージェント部２４１に転送する。
（ｅ）．プロジェクトＡの仮想マシン２４（ＶＭ−Ａ）のアプリケーションエージェント部２４１は、プロジェクトＢの仮想マシン２４（ＶＭ−Ｂ）のアプリケーションエージェント部２４１から転送されたウィンドウイメージをプロジェクトＡの仮想マシン２４（ＶＭ−Ａ）のデスクトップ上に描画する。
（ｆ）．その後、プロジェクトＡの仮想マシン２４（ＶＭ−Ａ）に対するキーボード・マウス等の入力デバイスの信号を、エージェント通信部２５を介して、プロジェクトＢの仮想マシン２４（ＶＭ−Ｂ）に転送する。
（ｇ）．以降、上記のｄ〜ｆの処理を繰り返す。【０１０１】
本実施形態では、このような構成を採用することで、エンドユーザが、自身が属する主たる業務プロジェクトに対応する仮想マシン２４（例えば、ＶＭ−Ａ）が提供する単一のデスクトップを通じて、他のプロジェクトの業務データを操作可能となる。【０１０２】
この時、他のプロジェクトの（復号された）業務データは、他の仮想マシン２４（例えば、ＶＭ−Ｂ）からのみアクセスされることから、上述した本発明の第１〜第４の実施形態による情報共有システムと同等の情報漏洩防止能力を維持することができる。【０１０３】
このように、本実施形態では、主たる仮想マシンと、他の仮想マシンのそれぞれが備えるアプリケーションエージェント部が、エージェント通信部を介して、業務データにアクセスするアプリケーションのユーザインタフェース画面やキーボード等のユーザ入力信号を相互に転送することで、複数のプロジェクトの業務データへのアクセスをプロジェクト個別の仮想マシンで行いながら、異なる仮想マシンで動作するアプリケーションの操作を単一のデスクトップに統合することができるため、安全性を損うことなく、単一のデスクトップを介して、複数の業務プロジェクトの業務データを同時に共有することができ、利便性の高い情報共有システムを提供することができる。【０１０４】
本発明は、業務プロジェクトメンバ間の安全な情報共有機能を備えたビジネス用パーソナルコンピュータといった用途に適用することができる。また、本発明は、インタネット上で業務データを安全に格納・アクセスするためのファイルサーバやシンクライアントサーバといった用途にも適用可能である。【０１０５】
上述の情報共有システムに適用可能なコンピュータは、仮想的な計算機環境を提供する仮想マシンと、仮想化手段を有することが好ましい。そして、その仮想化手段は、その仮想マシンとデバイスとの間の入出力データを監視する入出力監視手段と、その入出力監視手段の監視結果を基にその入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理手段とを含むことが好ましい。【０１０６】
その仮想化手段は、さらに、その仮想マシンの属性情報を格納する仮想マシン管理手段と、その仮想マシンの属性情報を含むメタデータを生成し、かつ、そのメタデータとその暗号処理手段にて暗号化された暗号化データとを連結してカプセル化データを生成するメタデータ生成手段と、その入出力監視手段にてその入出力データがそのデバイスからその仮想マシンへの入力と検出された時に、そのカプセル化データ中のメタデータとその仮想マシンの属性情報とを比較してそのカプセル化データ中の暗号化データを復号するか、もしくは、そのカプセル化データをそのままデバイスから読取られたデータとして転送するかを決定するメタデータ検証手段とを含むことが好ましい。【０１０７】
その仮想化手段は、さらに、そのカプセル化データ中のメタデータに応じてそのカプセル化データにアクセスすべき仮想マシンを選択してアクセスを指示するエージェント通信手段と、異なる仮想マシンで動作するアプリケーションのウィンドウイメージ及びユーザ入力デバイスからの入力信号を相互に転送するアプリケーションエージェント手段とを含むことが好ましい。【０１０８】
上述の情報共有システムに適用可能なプロジェクト管理サーバは、仮想的な計算機環境を提供する仮想マシンを備えたコンピュータと情報通信可能に構成されていることが好ましい。そして、そのプロジェクト管理サーバは、そのコンピュータからの認証情報を基に業務プロジェクトのメンバ管理及び認証を行うプロジェクト管理手段と、その業務プロジェクトに固有の暗号鍵を生成・更新・管理する鍵管理手段とを有し、その鍵管理手段で管理する暗号鍵をそのコンピュータに供給することが好ましい。【０１０９】
また、仮想マシンを備えたコンピュータにおいて、下記の処理を実行するための手順を示すプログラムに基づいて上述の仮想的な計算機環境を提供する場合、そのプログラムは、
前記仮想マシンとデバイスとの間の入出力データを監視する入出力監視処理と、
前記入出力監視処理の監視結果を基に前記入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理と
を実行するための手順を示すものであることが好ましい。【０１１０】
当業者は上記実施例の様々な変形を容易に実施することができる。したがって、本発明は上記実施例に限定されることはなく、請求の範囲やその均等物によって参酌される最も広い範囲で解釈される。また、この出願は、２００７年５月２３日に出願された日本出願特願２００７−１３６０６９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2008146639.tif 000003
【図２】
2008146639.tif 000004
【図３】
2008146639.tif 000005
【図４】
2008146639.tif 000006
【図５】
2008146639.tif 000007
【図６】
2008146639.tif 000008
【図７】
2008146639.tif 000009
【図８】
2008146639.tif 000010
【図９】
2008146639.tif 000011
【図１０】
2008146639.tif 000012
【図１１】
2008146639.tif 000013
【図１２】
2008146639.tif 000014
【図１３】
2008146639.tif 000015
【図１４】
2008146639.tif 000016
【手続補正書】
【提出日】平成20年11月27日(2008.11.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
仮想マシンに割り当てられたプロジェクトのＩＤを含む属性情報を格納する仮想マシン管理手段と、
前記仮想マシンとデバイスとの間の入出力データを監視する入出力監視手段と、
前記入出力監視手段の監視結果を基に前記入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理手段と、
前記仮想マシンの属性情報を含むメタデータを生成し、かつ、前記メタデータと前記暗号処理手段にて暗号化された暗号化データとを連結してカプセル化データを生成するメタデータ生成手段と、
前記入出力監視手段にて前記入出力データが前記デバイスから前記仮想マシンへ入力されたことが検出された時に、前記カプセル化データ中の前記メタデータと前記仮想マシンの属性情報とを比較して、プロジェクトＩＤが一致するか否かを判定して前記カプセル化データ中の前記暗号化データを復号するか、もしくは、前記カプセル化データをそのままデバイスから読取られたデータとして転送するかを決定するメタデータ検証手段と
を含む
情報共有装置。
【請求項３】
前記仮想マシン管理手段は、
前記カプセル化データ中のメタデータに応じて前記カプセル化データにアクセスすべき仮想マシンを選択してアクセスを指示するエージェント通信手段と、
異なる仮想マシンで動作するアプリケーションのウィンドウイメージ及びユーザ入力デバイスからの入力信号を相互に転送するアプリケーションエージェント手段と
を含むことを特徴とする
請求の範囲２に記載の情報共有装置。
【請求項４】
（削除）
【請求項５】
（削除）
【請求項６】
仮想的な計算機環境を提供する仮想マシンを備えたコンピュータを含むシステムに用いる情報共有方法であって、
前記コンピュータが、
前記仮想マシンとデバイスとの間の入出力データを監視する入出力監視処理と、
前記入出力監視処理の監視結果を基に前記入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理と、
前記仮想マシンの属性情報を格納する仮想マシン管理処理と、
前記仮想マシンの属性情報を含むメタデータを生成し、かつ、前記メタデータを前記暗号処理にて暗号化されたデータと連結してカプセル化データを生成するメタデータ生成処理と、
前記入出力監視処理にて前記入出力データが前記デバイスから前記仮想マシンへの入力と検出された時に前記カプセル化データ中のメタデータと前記仮想マシンの属性情報とを比較して前記カプセル化データ中の暗号化データを復号するかもしくは前記カプセル化データをそのままデバイスから読取られたデータとして転送するかを決定するメタデータ検証処理と
を実行することを特徴とする
情報共有方法。
【請求項７】
更に前記コンピュータが、前記カプセル化データ中のメタデータに応じて前記カプセル化データにアクセスすべき仮想マシンを選択してアクセスを指示するエージェント通信処理と、異なる仮想マシンで動作するアプリケーションのウィンドウイメージ及びユーザ入力デバイスからの入力信号を相互に転送するアプリケーションエージェント処理と
を実行することを特徴とする
請求の範囲６に記載の情報共有方法。
【請求項８】
（削除）
【請求項９】
請求の範囲２に記載の情報共有装置を管理するプロジェクト管理サーバであって、
前記仮想マシン管理手段から転送されたユーザ情報を基に、ユーザの認証と、当該ユーザが所属するプロジェクトを特定するプロジェクト管理手段と、
前記プロジェクトに固有の暗号鍵を生成・更新・管理する鍵管理手段と
を有し、
前記暗号鍵を前記仮想マシン管理手段に供給する
プロジェクト管理サーバ。
【請求項１０】
情報共有装置と、
前記情報共有装置を管理するプロジェクト管理サーバと
を具備し、
前記情報共有装置は、
仮想マシンに割り当てられたプロジェクトのＩＤを含む属性情報を格納する仮想マシン管理手段と、
前記仮想マシンとデバイスとの間の入出力データを監視する入出力監視手段と、
前記入出力監視手段の監視結果を基に前記入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理手段と、
前記仮想マシンの属性情報を含むメタデータを生成し、かつ、前記メタデータと前記暗号処理手段にて暗号化された暗号化データとを連結してカプセル化データを生成するメタデータ生成手段と、
前記入出力監視手段にて前記入出力データが前記デバイスから前記仮想マシンへ入力されたことが検出された時に、前記カプセル化データ中の前記メタデータと前記仮想マシンの属性情報とを比較して、プロジェクトＩＤが一致するか否かを判定して前記カプセル化データ中の前記暗号化データを復号するか、もしくは、前記カプセル化データをそのままデバイスから読取られたデータとして転送するかを決定するメタデータ検証手段と
を備え、
前記プロジェクト管理サーバは、
前記仮想マシン管理手段から転送されたユーザ情報を基に、ユーザの認証と、当該ユーザが所属するプロジェクトを特定するプロジェクト管理手段と、
前記プロジェクトに固有の暗号鍵を生成・更新・管理する鍵管理手段と
を有し、
前記暗号鍵を前記仮想マシン管理手段に供給する
情報共有システム。
【請求項１１】
前記仮想マシン管理手段は、
前記カプセル化データ中のメタデータに応じて前記カプセル化データにアクセスすべき仮想マシンを選択してアクセスを指示するエージェント通信手段と、
異なる仮想マシンで動作するアプリケーションのウィンドウイメージ及びユーザ入力デバイスからの入力信号を相互に転送するアプリケーションエージェント手段と
を含む
請求の範囲１０に記載の情報共有システム。
【請求項１２】
情報共有装置と前記情報共有装置を管理するプロジェクト管理サーバとを具備する情報共有システムの動作方法であって、
前記情報共有装置が、
前記仮想マシンとデバイスとの間の入出力データを監視する入出力監視処理と、
前記入出力監視処理の監視結果を基に前記入出力データを入出力の方向に応じて所定の暗号鍵で暗号化または復号する暗号処理と、
前記仮想マシンの属性情報を格納する仮想マシン管理処理と、
前記仮想マシンの属性情報を含むメタデータを生成し、かつ、前記メタデータを前記暗号処理にて暗号化されたデータと連結してカプセル化データを生成するメタデータ生成処理と、
前記入出力監視処理にて前記入出力データが前記デバイスから前記仮想マシンへの入力と検出された時に前記カプセル化データ中のメタデータと前記仮想マシンの属性情報とを比較して前記カプセル化データ中の暗号化データを復号するかもしくは前記カプセル化データをそのままデバイスから読取られたデータとして転送するかを決定するメタデータ検証処理と
を実行し、
前記プロジェクト管理サーバが、
前記仮想マシン管理処理によって転送されたユーザ情報を基に、ユーザの認証と、当該ユーザが所属するプロジェクトを特定するプロジェクト管理処理と、
前記プロジェクトに固有の暗号鍵を生成・更新・管理する鍵管理処理と
を実行し、
前記暗号鍵を前記仮想マシン管理手段に供給する
情報共有システムの動作方法。
【請求項１３】
更に前記情報共有装置が、前記カプセル化データ中のメタデータに応じて前記カプセル化データにアクセスすべき仮想マシンを選択してアクセスを指示するエージェント通信処理と、
異なる仮想マシンで動作するアプリケーションのウィンドウイメージ及びユーザ入力デバイスからの入力信号を相互に転送するアプリケーションエージェント処理と
を実行することを特徴とする
請求の範囲１２に記載の情報共有方法。
【国際調査報告】
2008146639.tif 000017
2008146639.tif 000018