(57)【要約】  安全な仮想プロジェクトルームを作るための方法とシステムが提供される。本システムは、現行の立案ツールと現行の開発環境を増補する開発基盤に焦点を当てたセキュリティを作り、安全な分散プロジェクト開発を実行するため、プランを修正するための分析論を提供する。【選択図】図２
2008533629.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ機器上の分散プロジェクト環境を保護する方法であって、
適切なアクセス特権を持つユーザのみがアクセスできるよう保護されたコンテンツ、特別に安全なプロジェクトでの使用に有効な一以上の認証アプリケーション、及び一連のユーザに対するアクセスポリシーという前記プロジェクトの複数のプロジェクト・コンテンツを含んだ、前記コンピュータ機器で特別に安全なプロジェクトを定義するステップと、
前記アクセスポリシーの一員であるユーザにより認証アプリケーションを用いて前記保護されたコンテンツにアクセスするステップと、前記認証アプリケーションがアクセスする間は、前記コンテンツが復号化され、
コンテンツの一部がアプリケーションによりアクセスされるとき、そのアプリケーションが認証アプリケーションであるかを検証するステップと、
前記コンテンツの一部が復号化されている間、前記コンテンツの一部の完全なコピーおよび部分コピーを作成することが可能な前記コンピュータ機器の操作を監視するステップと、
前記コンテンツのコピーを作成する操作が検知されるとき、前記アプリケーションが認証されたアプリケーションでなければ操作を許可しない決定をするステップと、
前記コピー操作が許可されない場合、前記コンテンツのコピーが保護されたフォーマットに記録されるように前記特別に安全なプロジェクト・コンテンツの一部をコピーするステップと、を含む方法。
【請求項２】
前記コンピュータ機器上にセキュリティーレイヤーを作成するステップを更に含み、
前記アクセスポリシーが前記特別に安全なプロジェクトの操作期間中は有効であるように前記アクセスポリシーのローカルコピーを持つ前記セキュリティーレイヤーにより、前記アクセス、検証、監視、決定、及びコピーの各ステップが実行される、請求項１に記載の方法。
【請求項３】
前記アクセスポリシーを受信するために、リモートアクセスポリシーコンピュータ機器と通信するステップを更に含む、請求項２に記載の方法。
【請求項４】
前記アクセスポリシーは、ユーザ確認、プログラム確認、アクセスが起こった時に動作したプログラム・インスタンス、時刻、場所、およびファイルにアクセスするパスの以前のアクセス記録の一以上を含んだ要素(factor)を用いて一連のアクセスポリシーを定義する一連のルールを更に含む、請求項３に記載の方法。
【請求項５】
安全なコンテンツを組み入れた新しいコンテンツと、安全なコンテンツに既にアクセス済みの低品質のアプリケーションとをアクセスポリシーにより制御するために、前記新しいコンテンツおよび前記アクセスポリシーによって現在は制御されていない前記低品質のアプリケーションに対して前記アクセスポリシーを自動的に伝えるステップを更に含む、請求項４に記載の方法。
【請求項６】
前記特別に安全なプロジェクトを定義するステップは、
前記コンテンツ及び前記アクセスポリシーのローカルコピーを安全なパッケージにまとめるステップと、
前記安全なパッケージを前記リモートアクセスのポリシーコンピュータ機器に記憶するステップとを更に含む、請求項３に記載の方法。
【請求項７】
前記特別に安全なプロジェクトを操作するため、前記リモートアクセスのポリシーコンピュータ機器から前記コンピュータ機器へ、期間経過すると前記特別に安全なプロジェクトにアクセスできなくなる有効期限がある前記安全なパッケージを送信することを更に含む、請求項６に記載の方法。
【請求項８】
前記リモートアクセスのポリシーコンピュータ機器において、新しい有効期限とアクセスポリシーとを確立するための前記安全なカプセル(secure capsule)を更新するステップと、
前記リモートアクセスのポリシーコンピュータ機器に接続するとき、前記コンピュータ機器に最新情報を送信するステップと、を更に含む、請求項７に記載の方法。
【請求項９】
前記プロジェクト、前記コンテンツ、及び前記パッケージを保護することが、暗号鍵を使って前記プロジェクト、前記コンテンツ、及び前記パッケージを暗号化するステップを更に含む、請求項１に記載の方法。
【請求項１０】
前記暗号鍵を使って、前記プロジェクト、前記コンテンツ、及び前記パッケージを暗号化することが、更に、
作成した暗号鍵を前記リモートアクセスポリシーコンピュータ機器に記憶するステップと、
前記暗号鍵を前記安全なパッケージに埋め込むステップと、
を更に含む、請求項９に記載の方法。
【請求項１１】
暗号鍵を使って前記プロジェクト、前記コンテンツ、及び前記パッケージを暗号化することが、更に、
前記安全な環境がプロジェクト毎に分離されるように、各安全なプロジェクト毎の独自の暗号鍵を生成するステップを更に含む、請求項９に記載の方法。
【請求項１２】
特別に安全なプロジェクトのユーザ向けの前記独自の暗号鍵に従った予め所定の安全なチャンネル上での通信を更に含み、前記安全なチャンネルがネットワークチャンネル及び電子メールチャンネルの一つを更に含む、請求項１１に記載の方法。
【請求項１３】
コンピュータ機器上の分散プロジェクト環境を保護する装置であって、
前記分散プロジェクト環境において安全なプロジェクトの運用を行う前記コンピュータ機器の処理ユニットにより実行される一以上のアプリケーションと、
前記コンピュータ機器の処理ユニットにより実行されるオペレーティングシステム(ＯＳ)と、
安全なプロジェクトを維持するため、一以上のアプリケーションとオペレーティングシステムとの間に存在する前記コンピュータ機器の前記処理ユニットにより実行される監視ユニット（supervisor unit）であって、前記安全なプロジェクトは、適切なアクセス特権を持つユーザのみがアクセスすることができるようにコンテンツを保護した、前記安全なプロジェクトの複数の前記コンテンツと、前記安全なプロジェクトの使用のために認証された一以上の認証アプリケーションと、各ユーザのアクセス特権を定義した前記安全なプロジェクトに関連した一連のユーザに対するアクセスポリシーとを含む、当該監視ユニットと、
前記監視ユニットが、更に、
a)前記認証されたアプリケーションを使って、前記認証アプリケーションによりアクセスされている間は暗号化される前記安全なコンテンツを、アクセスポリシーのユーザによってアクセスする手段と、
b)前記コンテンツがアプリケーションによりアクセスされる時、前記アプリケーションが認証アプリケーションであることを検証する手段と、
c)コンテンツが復号化されている間、前記コンテンツの完全なコピーおよび部分コピーを作成することが可能な前記コンピュータ機器の操作を監視する手段と、
d)前記コンテンツのコピーを作成する操作が検知されるとき、前記アプリケーションが認証アプリケーションではない場合に前記操作を許可しない決定をする手段と、
e)前記コピー操作が許可されない場合、前記コンテンツのコピーが保護フォーマットに記録されるように前記特別に安全なプロジェクト内のコンテンツをコピーする手段と、を含むことを特徴とする装置。
【請求項１４】
前記安全なプロジェクトのために前記アクセスポリシーのローカルコピーを有する監視ユニットであって、更に、アクセス手段と検証手段と監視手段と決定手段とコピー手段とを備えた当該監視ユニットを含む、請求項１３に記載の装置
【請求項１５】
リモートアクセスのポリシーコンピュータ機器を更に含み、
前記監視ユニットが、前記アクセスポリシーを受信するために、前記リモートアクセスのポリシーコンピュータ機器と通信する手段を更に含む、請求項１４に記載の装置
【請求項１６】
前記リモートアクセスのポリシーコンピュータ機器が、
一以上の安全なプロジェクトのために一つ以上のアクセスポリシーを記憶するデータ管理システムと、
ユーザが前記リモートアクセスのポリシーコンピュータ機器を管理することを許可するウェブユーザーインターフェースとを更に含む、請求項１５に記載の装置。
【請求項１７】
各アクセスポリシーが、一連の要素(factor)を用いて特別なユーザの一連のアクセスポリシーを決定する一以上のルールを更に含み、
前記一連の要素が、ユーザの確認、アプリケーションの確認、アクセスが起こった時に動作していたアプリケーション・インスタンス、時刻、場所に関するそれまでのアクセス経緯、および前記コンテンツにアクセスするパスを更に含む、請求項１６に記載の装置。
【請求項１８】
前記監視手段は、更に、
安全なコンテンツを組み入れた新しいコンテンツと、安全なコンテンツに既にアクセス済みの低品質のアプリケーションとをアクセスポリシーにより制御するために、前記新しいコンテンツおよび前記アクセスポリシーによって現在は制御されていない前記低品質のアプリケーションに対して前記アクセスポリシーを自動的に伝える手段を含む、請求項１７に記載の装置。
【請求項１９】
リモートアクセスポリシーコンピュータ機器が、更に、
安全なプロジェクトのために、前記コンテンツとローカルアクセスポリシーとを有効期限を持った安全なパッケージにまとめる手段と、
有効期限後は前記安全なパッケージにアクセスできなくなる前記監視ユニット（supervisor unit）に対して、前記安全なパッケージを送る手段とを更に含む、請求項１５に記載の装置。
【請求項２０】
リモートアクセスのポリシーコンピュータ機器が、
特別に安全なパッケージの有効期限とローカルアクセスポリシーを更新する手段と、
前記監視ユニットが前記リモートアクセスのポリシーコンピュータ機器に接続するとき、前記特別に安全なパッケージの前記更新された有効期限と前記ローカルアクセスポリシーとを送信する手段とを更に含む、請求項１９に記載の装置。
【請求項２１】
前記パッケージにまとめる手段が、
前記安全なパッケージに埋め込まれ、且つ前記リモートアクセスのポリシーコンピュータ機器に記憶されている暗号鍵を使って前記安全なパッケージを暗号化する手段を更に含む、請求項１９に記載の装置。
【請求項２２】
前記暗号化手段が、更に、
各々の安全なプロジェクトが分離して保護されるように、特別に安全なプロジェクトに含まれる各安全なパッケージに独自の暗号鍵を作成する手段を更に含む、請求項２１に記載の装置。
【請求項２３】
ユーザ各々が独自の暗号鍵を持つ安全なプロジェクトのメンバーである２以上のコンピュータ機器と、
独自の暗号鍵を使った２以上のコンピュータ機器間で、ネットワークチャンネルと電子メールチャンネルとの一つを含んだ安全なチャンネルとを含む、請求項２２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロジェクトのライフサイクルの間に開発あるいはライセンスしたデータ及び/または知的財産の保護に焦点を当てて、プロジェクトのファイル及びタスクを管理するための一連の分散プロジェクト開発ツールに係わる。本発明は、また、信頼あるオペレーティング環境の分野に係わる。
【０００２】
優先権の主張：本出願は、２００５年３月２１日に出願された米国特許出願第６０／６６３，５８４号「IP-protected Distributed Project Development Environment and Tools（ＩＰ保護された分散プロジェクトの開発環境及びツール）」の優先権を主張し、その全教示を引用としてここに組み入れるものとする。
【背景技術】
【０００３】
過去１０年間に、数多くのプロジェクト開発ツールが開発され、商品化された。しかしながら、これらのツールのアーキテクチャーのほとんどは、同一の場所にあるチームの開発に合わせて設計されている。これらのツールの大部分は、プロジェクト中に生み出された知的財産（ＩＰ）を保護するいかなる仕組みをも持っていない。企業がグローバルな分散チーム及びサプライヤーを使う近年の情勢に伴い、他の国にはＩＰ財産を盗んだ人を追及する法的な仕組みがないため、ＩＰ財産を保護する仕組みの欠如により引き起こされた問題が悪化している。このため、プロジェクト開発ツールの中にＩＰ財産を保護するシステムを提供することが望まれている。
【０００４】
最近、市販のツールが利用できるようになってきており、生産性の見積もりをよくするために、開発プロセスからコール(call)される他の開発ツールで収集したデータが統合されている。通常、このようなツールでは、分散チームによる閲覧の便宜を図るため、ウェブベースのユーザインターフェースを提供している。しかしながら、特に開発期間中のソースコードＩＰやデータを保護するという重要な能力を持つツールは全く無い。計画立案段階におけるＩＰ保護に焦点を当てていないため、計画実行段階で二つの問題が発生する。
【０００５】
−  リモートチームにタスクを発送するとき、ソースコードＩＰの紛失に関心が生じ、その計画がリモートチームの真の潜在能力を活用できないものになる。
【０００６】
−  実行段階で、ユーザがソースコードＩＰの紛失リスクを低減するために取れるアクションはほとんど無い。使用できるアクションはほとんど融通が利かず、プロジェクト開発は、柔軟性がなく、より高価なものになる。
【０００７】
このように、典型的なプロジェクト開発ツールの制限を克服するための安全な仮想プロジェクトルームを作る方法とシステムを提供することが望まれており、本発明の目指す目的である。
【発明の開示】
【課題を解決するための手段】
【０００８】
本発明の要約
安全な仮想プロジェクトルームを作る方法及びシステムを提供する。本システムは、プロジェクトの開発期間中に開発あるいはライセンスした知的財産の保護に焦点を当てて、開発プロジェクトのファイル及びタスクを管理するための一連の分散プロジェクト開発ツールを有する。プロジェクトの知的財産には、ソフトウエアコード、ソフトウエアコード形式のビジネスプロセス、ビジネス上の営業秘密に係わるデータ、あるいは、保護すべき他形式のデータが含まれる。本システムは、代替のきかない典型的なオペレーティングシステムに依存した、信頼あるオペレーティング環境を導入している。
【０００９】
本システムは、ＩＰが保護された分散プロジェクト開発のための開発環境を提供すると同様、立案ツール及び解析ツールを増やす基盤を作り出す。本システムは、ソースファイルの脆弱性などのＩＰ保護情報を見いだし、その保護情報に基づいて脆弱性指標を作成し、そして、脆弱性因子を評価するための基準を調整することにより柔軟性のあるモデリング方法をユーザに提供することができる。本システムは、また、結果をレビューするグラフィカルユーザインターフェースを提供する。これにより統合情報に基づいて確立された実行計画及び新規計画の可視化性が高まる。本システムを使用して、管理者は推奨された計画を手動で修正することができ、計画を間断なく改善するため修正がシステムに反映される。完了した計画に基づき、各々のチームに合わせた特定のＩＰ保護管理計画と設定（configuration）が作られる。このようにして、チームに与えられた特定の管理と設定に従い、チームはいかなる場所（リモート及び、または、地元の両方を含む）においても独立に開発を行う。プロジェクト管理を行っている間、計画と設定から得たアクセスポリシーとコントロールは、設定を有効とし、ツールを使ってＩＰファイルの識別とツールとアクセスを制御する。また、本システムは、色々なレベルでオンオフされる監視と追跡（トラッキング）を許容する。システムが与える監視は、ＩＰアクセス違反の即時通知のための事象トリガーの不足を補っている。本システムは、また、ポリシーの修正と特性改善の測定のためのトラッキングレポートを作る。
【００１０】
本発明によれば、コンピュータ機器上の分散プロジェクト環境を保護する方法が提供される。本方法において、特別に安全なプロジェクトがコンピュータ機器上に定義される。特別に安全なプロジェクトは、コンテンツが保護されているプロジェクトの数多くのコンテンツを含んでいる。そのため、適切なアクセス特権をもつユーザのみがそのコンテンツにアクセスすることが可能であり、一つあるいは複数の有効なアプリケーションが特別に安全なプロジェクト及びユーザに対するアクセスポリシーに対して有効に使用される。有効なアプリケーションを使い、ユーザはアクセスポリシーのメンバーである保護されたコンテンツにアクセスすることができ、有効なアプリケーションによりアクセスされる場合にコンテンツが解読される。コンテンツの一部がアプリケーションによりアクセスされた場合、そのアプリケーションは有効なアプリケーションとして最初に認証される。保護されたコンテンツの一部が解読される期間の間、コンテンツの全てのコピーおよび一部のコピーを作ることができるコンピュータ機器の操作は監視される。コンテンツの全てのコピーおよび一部のコピーを作る操作が発生した時、アプリケーションが認証されていない場合は操作が許可されない。コピー操作が許可される場合、コンテンツの一部が特別に安全なプロジェクト内でコピーされ、コピーされたコンテンツの一部は保護されたフォーマットで記憶される。
【発明を実施するための最良の形態】
【００１１】
本発明は、コンピュータ機器ベースのシステムに適用でき、そのシステムでは、安全なプロジェクトルームのアプリケーションが、コンピュータ機器によって実行されるソフトウエアアプリケーションである。以下、本発明を記述する。しかしながら、安全なプロジェクトルームのアプリケーションがハードウエア上であるいはハードウエアとソフトウェアの組み合わせとして実行され、安全なプロジェクトシステムが多種の異なった種類のコンピュータ機器上で実行されることからも、本発明によるシステムと方法の有用性が理解されるものであろう。
【００１２】
概して、本システムは、プロジェクト開発期間中に開発したかあるいはライセンスした知的所有権を保護することに焦点を当てて、プロジェクトのファイル及びタスクを管理するための一連の分散プロジェクト開発ツールを提供する。本説明の趣旨に従えば、知的所有権は、ソフトウエアコード、ソフトウエアコードの形式の業務プロセス、及び業務上の営業秘密を暴くデータあるいは保護された他のデータ等を含むが、これらに限るものではない。また、本システムは信頼あるオペレーティング環境を提供する。
【００１３】
本システムは、コンピュータ機器上で実行可能な全ての現行のツールおよびアプリケーションに互換性があり相互運用可能な一連のツールを含み、セキュリティに焦点を当てた計画を持つシステム内でこれらのツール／アプリケーションを使用できる。このように、顧客が既に購入して慣れ親しんでいるツールを使用し続ける間、本システムは得られた情報を利用して、分散チームの管理を強化する保護に取り組む。また、さらに、本システムは現行のツールを使用する時には得られなかった分散プロジェクト環境における通信と実行の管理を行う。実行段階において、ユーザが要求ファイルにアクセルするための要求ツールを使うに先立ち、本システムは最初にユーザ認証を行う。次に、本システムはファイルのアクセスを管理し、必要に応じてファイルをジャスト・イン・タイムで復号化する。また、本システムはツールが「指紋」チェックに合格することを確認する。このチェックは、ツールがトロイの木馬でないこと、及び、不注意に誤ったバージョンを使っていないことを保証する。以下、安全なプロジェクトルームシステムの実施例を述べる。
【００１４】
図１は本発明による安全なプロジェクトルームシステムを用いた安全なプロジェクト開発環境２０の一例を示している。本システムにより、異なった場所にあるプロジェクト開発チームが、マル秘のプロジェクトと開発情報およびソースコードや製品仕様などのデータを異なった場所で共有することができる。例えば、図１に示すように、プロジェクト情報は本部２２1と遠隔地Ａ２２2にある開発チームおよび遠隔地Ｂ２２3にある開発チーム間で共有される。プロジェクト情報とデータを安全に共有するために、高い特権をもつ管理者がフォーワードモジュール（Forward module）２４を使う。フォーワードモジュール（これは、高い特権においてコンピュータ機器上で実行されることが望ましいソフトウェアである）は、各プロジェクトの範囲とそのプロジェクト用の安全な仮想プロジェクトルームを定義する「要塞カプセル（Fortress Capsule）」を速やかに作成し、処理し、管理し、複製する司令部である。場所Ａと場所Ｂでプロジェクト情報を共有するために、フォーワードモジュール２４は二つのプロジェクトカプセル２６1と２６2を作成し、安全な仮想プロジェクトルームを提供するために場所Ａと場所Ｂに送付する。
【００１５】
図２は、コンピュータ機器４０とその他の構成要素上で実行される安全なプロジェクトルームシステム２８の好ましい実施形態のアーキテクチャーを示す一例である。この例において、コンピュータ機器は、安全なプロジェクトルームのソフトウエアをベースにしたバージョンを操作するため、ネットワーク接続と十分なプロセッサーパワーと十分な記憶装置および十分なメモリーを持つ典型的なパーソナルコンピュータである。このような属性を持つパーソナルコンピュータの要素は良く知られており、ここではこれ以上説明しない。本発明によれば、コンピュータ機器４０は、また、安全なルームシステムを実行するに十分なプロセッサーパワー、メモリー、記憶装置並びにネットワーク接続を有するいかなる他の処理装置でもよく、例えば、携帯電話、パーソナルデジタル機器、ラップトップやデスクトップやタブレットコンピュータなどを含む様々な形のコンピュータシステム、家庭用通信端末（セットトップボックス）、あるいは、プロジェクト期間中に情報の安全な共有を許可する安全なプロジェクトルームを提供するに望ましい特質を持つ他のいかなるコンピュータデバイスでもよい。
【００１６】
コンピュータ機器４０が安全な仮想プロジェクトルームを実現するために使用されているとき、コンピュータ機器４０は、アドビ社のアクロバット、マイクロソフト社のワード、或いはコンピュータ機器のユーザがプロジェクトの間使用し、Windows（登録商標）XPなどのオペレーティングシステム（ＯＳ）４４を実行するというような一つ以上のソフトウエアアプリケーション又は開発ツール４２を記憶し且つ実行する。また、コンピュータ機器は、好ましくはコンピュータ機器の処理ユニットによって実行される一つ以上のソフトウェアである監視ユニット４６を含み、詳細は後述する安全な仮想プロジェクトルームの機能及び処理を実行する。
【００１７】
コンピュータ機器４０は、セキュリティをコントロールし、（任意のタイプのネットワークを介し、又は直接的に接続された）カプセル２６及び安全な仮想プロジェクトルームにアクセスするポリシーサーバー４５に接合する。ポリシーサーバー４５は、コンピュータ機器が安全な仮想プロジェクトルームを実現できるようにするため、カプセル２６をコンピュータ機器に転送するフォーワードモジュール（Forward module）と相互作用する。また、コンピュータ機器は、（任意のタイプのネットワークを介し、又は直接的に接続された）一つ以上のプロキシサーバー４７に接合する。安全な仮想プロジェクトルームを用いてソフトウェアを開発するとき、リアルタイムに相互作用して安全なファイルにチェックイン及びチェックアウトするようなタスクを安全に実行するため、サーバー・サイトに接続するプロジェクトチーム・サイトを有することを望む当該サーバー・サイトのために、プロジェクトチーム・サイトはプロキシサーバーを介して相互作用する。プロキシサーバーは、ネットワーク接続された目的(destination)サーバー（例えば、目的サーバーの好ましい実施例であるSolarisボックスで動作するPerforceサーバー）と、コンピュータ機器上でのクライアントアプリケーションとの間の“トンネル”として機能する。本発明によれば、プロキシサーバーは、安全な仮想プロジェクトルーム内の遠隔クライアントアプリケーションに対する暗号化された接続を維持し、一つ以上の目的サーバー４９に対する復号化された接続を維持するという点を除き、ネットワークプロキシサーバーのように動作する。図２に示す例の場合、目的サーバーは、プロジェクトによって使用されるデータを有する一つ以上のデータベースサーバー４９ａと、プロジェクトと同様に他の開発システム用のソースコードを制御するのに使用し得るソースコード管理システム４９ｂとを含む。
【００１８】
図３は、コンピュータ機器４０での安全なプロジェクトルーム３８の一実施例を示したものである。安全なプロジェクトルーム３８は管理ユニット４６によって実現され、管理ユニット４６は安全な仮想プロジェクトルームを実現するコンピュータ機器４０上の特権コードとして実行される。図３に示すように、アプリケーション４２は、暗号データと共に動作する。しかしながら、そのアプリケーションを去るプロジェクトデータは再び暗号化される。安全ルーム内のアプリケーションは、様々な既存プロジェクト管理及びユーザが使用するプロジェクトツールを含む。同時に、アプリケーション及びツールは、本発明の安全プロジェクトルーム３８に関連する復号化データと共に安全ルーム外で動作することができる。（図１のカプセル２６として示すような）安全プロジェクト４８がコンピュータ機器のユーザによってオープンされるとき、安全プロジェクトルーム３８は、（図３の点線で示すようように）自動的に起動され、この場合、アプリケーションがデータを使用し、プロジェクトについての情報の安全性を維持する時まで、交換データを暗号化する。また、安全プロジェクトルーム３８は、安全プロジェクトルームと安全プロジェクトルーム外のものとの間で、データ通信の安全性を維持する。
【００１９】
図４は、少なくとも２つのコンピュータ機器４０1、４０2を備えた安全プロジェクトルームシステムの一例を示している。各コンピュータ機器は、各コンピュータ機器上で動作する安全プロジェクトルーム３８1、３８2間でコンピュータ機器がデータ（暗号データ）を安全に交換することができる安全プロジェクトルームシステムを形成するために、その安全プロジェクトルーム３８1、３８2を実行する。図４に示す例の場合、各ユーザは安全プロジェクトチームコミュニティを形成するために安全プロジェクト４８1、４８2を開始するが、この場合、プロジェクトツール及び安全プロジェクトルームシステムに関係するユーザに既知のアプリケーションを各ユーザに許可しながら、プロジェクトのＩＰを保護する。２つのプロジェクトはロケーション及びそれらが存在する機器を除き、同一プロジェクトである。
【００２０】
図５は、コンピュータ機器に備わる安全プロジェクトルームアプリケーション３８、及び特に監視アプリケーション４６の詳細を更に示したものである。監視アプリケーション４６は、好ましくはそれぞれが後述するようなある機能を実行するソフトウェアである１以上のモジュールを更に含む。好ましい実施例において、その監視アプリケーションは、さらにサービスインターセプター(service interceptor)モジュール６０、見張り(sentry)モジュール６２、アクセスポリシー管理モジュール６４、暗号モジュール６６、及びプラットフォーム開発層６８を含む。一般的に、監視アプリケーションは、アプリケーション４２とオペレーティングシステムサービス４４との間のデータ及び通信を遮断し、データ及び安全な仮想プロジェクトルーム内の通信の安全性を保証する。（オペレーティングシステムを覆うものとして知られた）インターセプター(service interceptor)モジュール６０は、アプリケーションとオペレーティングシステム４４との間のデータや通信を遮断する。より詳細には、オペレーティングシステム（ＯＳ）を覆うもの(wrapper)は、プログラム自体を変更、再コンパイル、再リンク又は基礎をなすＯＳを必要とすることや、コーラー(caller)を有効化することなく実行可能なプログラムの実行フローを遮断し、安全な仮想プロジェクトルームシステムのポリシーサーバーによってアクセスポリシー集合を強化する。
【００２１】
サービスインターセプターモジュール６０は、核であるＯＳサービスと、アプリケーションのサービス要求（例えば、ファイルI/O、ネットワークアクセス、コピー・ペースト要求など）を遮断するアプリケーションとの間にある薄い層であり、そしてアクセス制御と安全な会計監査のためのアクセスポリシー管理モジュール６４に対する代表である。サービスインターセプターモジュール６０の更なる詳細は、インターセプターモジュールで実行される安全方法を示す図７〜１０を参照しながら以下に示される。見張り(sentry)モジュール６２は、プロジェクト管理システム実行中、アクセスポリシーや特定のプロジェクトのために生じる制御をモニタし保守する。そして、その設定（コンフィグレーション）は有効化され、その識別、ツール及びツールを使用するＩＰファイルをコントロールするのに用いられる。
【００２２】
アクセスポリシー管理モジュール６４は、バーチャルマシーン内であっても安全な実行を保証するために、Ｊａｖａ（登録商標）バーチャルマシーンなどのバーチャルマシーン上で構築され得る適切な管理ランタイムを含む。アクセスポリシー管理モジュール６４は、汚染されたアプリケーションを識別し、処置する能力に基づくのと同様なルールベースのアクセスコントロールを提供する。汚染されたアプリケーションとは、安全なデータと接したことのあるアプリケーションである。アプリケーションが汚染されると、アプリケーションデータは、そのデータの安全性を維持するために、安全な仮想プロジェクトルームから立ち去ることができない。また、アクセスポリシー管理モジュール６４は、アクセスポリシー及びアプリケーションの汚染された状態に基づき、安全データに対するアプリケーションのアクセスを許可したり否定したりする。また、アクセスポリシー管理モジュール６４は、ユーザのアクセス経緯や違反を記録する、安全性の監査追跡を生成する。また、アクセスポリシー管理モジュールの機能の一つは、ツール実行ファイル(a tool executable)をただ一つに特定する指紋を開発することである。本システムにおいて、指紋は開発期間中に必要とされる各ツールのために計画期間中に作り出され、開発期間中に呼び出されるツールが計画時に許可された特別なツールであることを認証するために用いられる。
【００２３】
暗号モジュール６６は、データ及び通信が暗号化されることを保証する。より詳細に言えば、本システムは汎用保護のためにファイルを暗号化し、そして認証後に、ジャスト・イン・タイムで且つ必要に応じて解読を行う。暗号キー及びその配布方法は、適切なファイルのコンテンツにアクセスするために適切なツールを使用する適切なユーザが要求を為すまで、ファイルがリポジトリに安全に入っていることが保証されるよう安全に管理される。その暗号は、各プロジェクトが唯一の暗号キーによって安全にされるようにするため、プロジェクトごとにある。各プロジェクトのための暗号キーは、新たな安全仮想プロジェクトルームが生成されるとき、自動的に作り出される。また、暗号モジュールは、（図８に関連して後述するが）ユーザのログイン認証の後に仮想ディスクに安全にマウントし、仮想ドライブ内部のすべてのファイルを暗号化し、そしてアクセスポリシーが許可されるときにジャスト・イン・タイムで解読を行うあるユーザに配信される監視アプリケーション４６の例においては、暗号化された仮想ファイルシステムを作る。プラットフォーム開発層６８は開発の仕事を行うユーザを許可する。
【００２４】
図６は、サービスインターセプターモジュール６０のネットワークインターセプター部分、アクセスポリシー管理モジュール６４、及び暗号モジュール６６を含む安全仮想プロジェクトルームのシステム暗号データの内部４３にアクセスするアプリケーション４２1、４２2を有する安全プロジェクトルームシステムを用いたネットワークセキュリティ方法８０の一例を示す。ネットワーク８２上で安全な通信を提供するため、それぞれの安全な仮想プロジェクトは、プロジェクト用のアクセスポリシーに含まれる“セキュアな通信”を定義した。図７に示す例の場合、接続“p4svr:1666”は、perforceサーバー８４に対する安全な接続である。安全仮想プロジェクトルームのオペレーションの間、サービスインターセプターモジュール６０は、すべてのネットワークトラフィックをモニタリングし、そして安全な接続から送受信する前に、（暗号モジュール６６を使って）ジャスト・イン・タイムで暗号／解読（復号化）を行う。アプリケーションが安全な接続からデータ／情報を読み出すと、アプリケーションは汚染され、いったん汚染されるとアプリケーションは、図６に示すように、(www.yahoo.comなどの)安全とはいえない接続に安全なデータを送信することができない。なぜなら、接続が汚染されたアプリケーションのためにブロックされているからである。しかしながら、汚染されたアプリケーションは、安全な仮想プロジェクトルームが操作する間、依然として安全とはいえない接続にアクセスするだろう。
【００２５】
図７は、アプリケーション４２1、４２2、サービスインターセプターモジュール６０のデスクトップ・サービス・インターセプター部分、及びアクセスポリシー管理モジュール６４を含む安全プロジェクトルームシステムを用いた、デスクトップの安全方法９０の一例を示す。デスクトップの安全性を維持するため、デスクトップ・サービス・インターセプターは、図７に示すようなコピー/ペースト要求などのアプリケーションのサービス要求を遮断する。この例の場合、アプリケーション４２2は、あるデータをマークし且つコピーする。そしてアクセスポリシー管理モジュール６４は、クリップボードデータのコピーされたデータソースを記録する。次に、汚染されていないアプリケーション（アプリケーション４２1）が汚染されたデータソース（アプリケーション４２2）からペースト(paste)を要求する場合、そのデータが汚染されたデータソースからペーストされていれば汚染されるので、汚染されたデータソース（アプリケーション４２2）はペースト要求を確認する確認変更が表示される。このやり方により、コンピュータ機器上の２つのアプリケーション間でデータが共有されるときでさえ、デスクトップ上の安全データの安全性が維持される。
【００２６】
図８は、アプリケーション４２1、４２2、サービスインターセプターモジュール６０のファイルシステム部分、及びアクセスポリシー管理モジュール６４を含む安全プロジェクトルームシステムを用いた、ファイルシステム安全方法１００の一例を示す。ファイルシステムの安全性を提供するため、監視ユニットは上述した暗号モジュールの一部である暗号化された仮想ファイルシステム１０２を含む。プロジェクト１０８が成功して（記憶デバイス１０４から）オープンされると、暗号化された仮想ドライブのＸ:＼１０６は、プロジェクトの暗号キーごとにマウントされる。プロジェクト期間中、ファイルシステムサービスインターセプターは、すべてのファイルＩ／Ｏアクセスをモニタリングする。アプリケーションが仮想ドライブＸ:＼で安全なファイルを読み出すと、アプリケーションは「汚染」を考慮し始める。一旦汚染されると、アプリケーションはＸ:＼の外に安全データを書き出す（又は非安全な接続へのデータ送信する）ことができない。しかしながら、汚染されていないアプリケーションは依然としてＸ:＼の外にデータに自由にアクセスすることができる。
【００２７】
図９は、アプリケーション４２1、４２2、サービスインターセプターモジュール６０の一部であるデバイスサービスインターセプター、及びアクセスポリシー管理モジュール６４を含む安全プロジェクトルームシステムを用いた、デバイス安全方法１１０の一例を示す。本方法は、安全な仮想プロジェクトルームに対するデバイス１１２のアクセスを制御する。これを達成するために、デバイスサービスインターセプターは、すべてのデバイスアクセス要求を遮断する。上述したように、汚染されたアプリケーションはいかなるデバイスへもデータを出力できないのに対して、汚染されていないアプリケーションは自由にいかなるデバイスにもアクセルできる。この方法は、安全なデータの安全性を制御するものであるが、コンピュータ機器が普通に動作するために、安全なデータアクセスなしにアプリケーションを自由に許可する。その結果、安全な仮想プロジェクトシステムは殆どの環境でコンピュータ機器のユーザにとって可視的になり、コンピュータ機器によって実行される他のアプリケーションと協働して動く。
【００２８】
（図１に示すような）カプセル２６と組み合わせた監視ユニットは、安全な仮想プロジェクトルームを提供する。安全な仮想プロジェクトルームは、そのルームで起こるすべてのオペレーションの可能性をモニタリングし且つログを取る(logging)。ログがたまると、アクセス違反解析及び将来のプロジェクト計画のための特権サイト(privilege site)に送られる。全な仮想プロジェクトルームを完成するための付加的なツールとして、図１０に示されるような予測（Foresee）モジュールがある。特定のプロジェクトに関するプロジェクト計画を審査する適応性を緩和するため、予測モジュールはユーザインタフェースを提供する。このユーザインタフェースは、各プロジェクトが難しいことから、プロジェクトマネージャーがそのプロジェクトを自分らのやり方でみることができるようカスタマイズ可能である。また、ユーザインタフェースは、三次元グラフィックを用いてデータを表現し、そのデータは既存の多くのツールから集めた情報の集合体であり得る。三次元グラフィックをみるため、ユーザは必要に応じて容易にズームしたり掘り下げたり（drill-down）することができる。更に、様々なツールからデータが集められた後、プロジェクト展開の回顧的展望とともに改善されたプロジェクト計画の将来展望を与えるために、組み合わされたデータが用いられるだろう。また、システムは集められたデータを推定し、新たな予測を作り出すためのプロセスを含む。また、システムはルールベースのモデリングを提供する。この場合、データマイニングの目標は、マネージャーにとってのビジネスオペレーションモデルを提供することであり、計画時にＩＰの損失についての憂慮をすることなく次のプロジェクト展開に従うことである。そのモデリングはユーザに初期モデルを提供するのと同様、ユーザが過去の生産データ、品質データ、及びチームの現在の理解を利用してそのモデルを調整することができるようにする。
【００２９】
予測（Foresee）モジュール内に、安全性と生産性の両方を最適化することについて、マネージャーが安全なプロジェクトルームのコンテンツを決定することを助けることができる脆弱性解析ツールがある。（好ましくは、コンピュータ機器上で実行する一つ以上のソフトウェアである）プロジェクトの脆弱性ツールは、ソースコード制御システム、モニタデータ、システムソフトウェアスタック、スペックソース、ファイル基礎構造、及び人的資源などの一つ以上のデータソース７２から情報を引き出す。これらのデータソースからのデータを用いて、ツール７０は、脆弱性解析に基づいてシステムユーザがプロジェクトを再計画できるようにユーザインタフェース７４を生成する。再計画によるプロジェクトへの変更を、上述したプロジェクト管理ツールに分配する。さらに、脆弱性の点数に基づき、当該ツールは、安全なプロジェクトルームのコンテンツ及びアクセスポリシーを作り出す「需要表(bill of goods)」の一覧を生成する。各プロジェクトに関し、プロジェクトにまったく依存する様々な脆弱対策がある。脆弱性の点数は、何故あるモジュールが他のモジュールよりも脆弱であるかに影響を及ぼすパラメータを記述するマネージャーからの入力に基づいている。その点数はこれらのパラメータに基づいて計算され、それゆえどのコンテンツ及びアクセス権が安全なプロジェクトルームに関連すべきであったかを決定する上で有用となる。このように、予測モジュールは、適切かつ完全な計画プロセスを通じて前進する上でのプリ・プロセッサとして用いることができる。
【００３０】
上記説明は本発明の特定の実施例に関するものであるが、当業者であれば本発明の原理及び精神、添付の請求項によって定義される範囲から乖離することなく、本実施例の変更がなされることが理解できよう。
【図面の簡単な説明】
【００３１】
【図１】本発明による安全なプロジェクトルームシステムを使用した安全なプロジェクト開発環境の一実施例を示す。
【図２】安全なプロジェクトルームシステムの好ましい実行アーキテクチャーの一実施例を示す。
【図３】コンピュータ機器上の安全なプロジェクトルームの一実施例を示す。
【図４】少なくとも二式のコンピュータ機器を有する安全なプロジェクトルームシステムの一実施例を示す。
【図５】コンピュータ機器が備える安全なプロジェクトルームのアプリケーションの詳細を示す。
【図６】安全なプロジェクトルームシステムを使用したネットワークセキュリティ方法の一実施例を示す。
【図７】安全なプロジェクトルームシステムを使用したデスクトップセキュリティ方法の一実施例を示す。
【図８】安全なプロジェクトルームシステムを使用したファイルシステムセキュリティ方法の一実施例を示す。
【図９】安全なプロジェクトルームシステムを使用したデバイスシステムセキュリティ方法の一実施例を示す。
【図１０】安全なプロジェクトルームシステムの一部である立案に焦点を当てたセキュリティのためのプロジェクト脆弱性ツールの一実施例を示す。
【図１】
2008533629.tif 000003
【図２】
2008533629.tif 000004
【図３】
2008533629.tif 000005
【図４】
2008533629.tif 000006
【図５】
2008533629.tif 000007
【図６】
2008533629.tif 000008
【図７】
2008533629.tif 000009
【図８】
2008533629.tif 000010
【図９】
2008533629.tif 000011
【図１０】
2008533629.tif 000012
【国際調査報告】
2008533629.tif 000013