データの暗号化はしばしば、ファイル、パケット、またはその他のデータの量に含まれている電子情報を隠すための主要な保護技術として使用されている。データの暗号化は、隠蔽プロセスを制御するための暗号キーを使用し、暗号化された情報は暗号キーが利用可能である場合のみ復元される。暗号キーはコンピュータ駆動の試行錯誤プロセスにより発見される可能性があるので、暗号化は隠されたデータが安全に維持されていることを保証できない。
さらに、データ消去はデータ記憶装置の消去されたファイルの痕を残す可能性があり、したがってデータの消去は情報を隠蔽または保護することができない。消去または重ね書き後、精密なツールは、前に記憶されたデータを再構成するために使用されることのできる記憶媒体の変化を検出することができる。
本発明は、危険にさらされたプログラム可能な装置に対する無許可のユーザによるアクセスに対して、感知可能な電子情報を露出する危険性を減少または除去するシステム及び方法を提供する。本発明は、プログラム可能な装置及びそこに記憶されている任意の感知可能な情報の喪失、盗難、無許可のアクセスの試みの検出を通して、危険にさらされたプログラム可能な装置を識別するためのいくつかの方法を提供する。さらに、本発明は危険にさらされたプログラム可能な装置に記憶されている感知可能な情報の迅速で、的を絞った破壊のための方法を提供することによって感知可能な情報の所有者を保護し、それによって危険にさらされたプログラム可能な装置の無許可のユーザによる消去後に、データが再構成されることができる危険性を減少させる。
本発明の構成は、クライアント、中央制御装置サーバ、通信リンクを含んでいる。クライアント及び中央制御装置のサーバは通信リンクを使用して接続される。クライアントは別のサーバ、デスクトップコンピュータ、ノートブックコンピュータ、ハンドヘルドコンピュータ、電子オーガナイザ、パーソナルデータアシスタント、セルラ電話機、マルチメディア娯楽システム、ネットワークルータ、ネットワークスイッチまたはネットワークエッジ装置のようなプログラム可能な装置であってもよい。エージェントはクライアントまたはそのクライアントに接続されている記憶装置中に埋設されることができる。エージェントは中央制御サーバの独立して記憶されたデータに対するアクセスを制御し、暗号化、失われたデータの破壊、通信の監視、システムセキュリティの監視を含む複数のサービスを提供する。
エージェントは中央制御装置のサーバによって伝播される1組のセキュリティルールを実行する。そのセキュリティルールはエージェントに、記憶された情報を複数のファイル、ディレクトリ、セクション、およびブロックに組織するように命令できる。セキュリティルールは属性をファイル、ディレクトリ、セクション、ブロックに割当てることができ、これは例えば情報のタイプ、情報のサイズ、情報の時間感度、情報の特有性、情報の重要性に基づいて優先順位を設けられたセキュリティレベルを決定する。幾つかの実施形態では、セキュリティルールはまた各ファイル、ディレクトリ、セクション、およびブロックに関連されるプロセスを選択し、それにおいてプロセスは暗号化と、破壊と、ユーザ認証と、情報の保護、管理、操作に使用されるその他のプロセスを含めた方法を含んでいる。
セキュリティルールは、プログラム可能な装置のセキュリティが危険にさらされているときを決定するために使用される表示を特定することができる。セキュリティルールはエージェントにより行われる装置の監視のタイプ及び頻度を決定することができ、記憶された情報のセキュリティに関する脅威を表す事象とシステム状態の組み合わせを説明することができる。
セキュリティルールは、記憶された情報のセキュリティの監視及び保護のためにエージェントによって開始される動作及び手順を設定することができる。ルールにより特定された動作及び手順はデータを暗号化するための方法および、データを消去するための方法を含んでいる。暗号化及びデータ消去方法は、オペレーティングシステム、記憶装置、市場で入手可能なソフトウェアおよびオープンソースソフトウェアのようなコンポーネントを含めた、クライアントに対して内因性または外因性のコンポーネントによって与えられるサービス及び機能の組み合わせを使用して実行されることができる。さらに、セキュリティルールは、特定された日時において選択されたデータの消去を行わせるルールを含めた時間感知可能なルールを含むことができる。
幾つかの実施形態では、エージェントは、クライアントが中央制御装置サーバにより伝播される1組のルールのコピーを受信するとき、自動的に暗号化を開始する。クライアントが適切にルールを受信した後、エージェントは暗号化ルールを検討し、ルールによって指定された全てのファイルの暗号化状態が暗号化されるべきであることを確認する。幾つかの実施形態では、暗号化はまたパワーオン、パワーオフ、侵入の検出、無効なログオンの試行および、クライアントが喪失または盗難にあったことの検出のようなあるシステム事象の発生に続いて、エージェントにより行われることができる。
クライアントは通信リンクを使用して、選択された規則的なインターバルで、中央制御装置のサーバと通信する。適切な通信には、クライアントによる状態情報の送信、中央制御装置のサーバによる状態及びルールの送信が含まれることができる。中央制御装置のサーバとクライアントとの間のそれぞれの適切な通信後、エージェントは通信リンクが不動作である時間期間を測定する第1のタイマを始動する。通信リンクが選択された“付勢インターバル”よりも大きい期間、不動作であるならば、エージェントはクライアントが喪失され、または盗難されたか、或いはその他の方法で危険にさらされていることを決定する。クライアントがオフに切り換えている間に、付勢インターバルは経過することができるので、クライアントが付勢インターバルが経過した後に初めてオンに切り換えるか、付勢インターバルが経過した時にオンに切り換えるならば、エージェントは第2のタイマを始動させる。第2のタイマは、ユーザが周期的に中央制御装置との通信を失ったことを通知されることのできる第2の時間期間を測定する。第2の時間期間が選択された“猶予期間”を超えたならば、エージェントはプログラムされた事象を開始し、それはある記憶されたデータの破壊を含むことができる。幾つかの実施形態では、ユーザは、パスワードのような1以上の識別認証を行うことによって、猶予期間中に付勢タイマと猶予タイマをリセットすることができる。
本発明の幾つかの実施形態では、付勢インターバルは、プログラム可能な装置のパワーがオフにされるときまたは他の方法で不動作にされるときの時間を含む経過時間として測定される。幾つかの実施形態では、猶予期間は、装置のパワーがオンにされ動作可能である時間の期間中だけを測定する。猶予期間が選択された最大の猶予期間を超えたとき、エージェントは記憶されたデータが失われたことを決定し、セキュリティ強化事象を自動的に発生させるルールを実行するように進行する。猶予期間がゼロとして選択されるならば、付勢インターバルの経過直後、エージェントはプログラムされる事象を開始する。
エージェントは、過剰な不当ログイン試行を含むその他の方法で、およびシステム管理者の通知によって、記憶されたデータが失われたことも決定する。エージェントは不当なログイン試行及びセキュリティログエントリのような無許可のアクセスの試行のインジケータを検出するためにプログラム可能な装置を監視することができる。システム管理者は記憶されたデータを喪失として指定するエントリ・オンシステム制御装置サーバで生成することができる。指定はエージェントに送信される喪失/盗難状態値の形態で生成されることができ、装置に関連されるセキュリティルールに反映されることができる。状態値を受信するとき、エージェントは失われたデータ動作を開始する。
猶予期間の経過後、記憶されたデータが失われたことが設定されるとき、エージェントは記憶されたデータを消去するための複数の動作を含む(以下、“喪失データ破壊”として知られる)プロセスを開始する。本発明の実施形態は、データの消去、優先されたデータの重ね書き、選択的暗号化、記憶された暗号キーの破壊、ルールの破壊、強制されたシステムのシャットダウン、物理的装置の無能化を含めたプロセスの組み合わせを通して喪失データの破壊を実行する。幾つかの実施形態は、システムのアクティビティの全ての外部サインを除去するか、または不正確なシステム状態情報を提供することによって、失われたデータの破壊アクティビティを偽装することができる。
本発明は、消去されたデータが記憶装置の物理的、電気的、および電磁的特性の解析によって再発見されることのできる危険性を著しく減少させるデータ消去方法を提供する。この方法は各反復で、異なるランダムに発生されたデータのセットを使用して、ファイルをそのランダムに発生されたデータのセットで反復的に充填することにより、ファイルを抹消する。本発明の幾つかの実施形態では、ランダムに発生されたデータのセットによりファイルを一度充填することによって、ファイルを抹消することができる。データ消去方法は、以前に記憶されたデータの痕跡を記憶装置から除去または曖昧にする。
特定の実施形態は、中央制御装置のサーバが自動暗号化機能を自動的に提供するように構成されるシステム及び方法を開示する。例示的な実施形態では、あるファイルの自動暗号化は、自動暗号化事象を生じる設定された暗号化ルールに基づいて行われる。これらの暗号化ルールはあるタイプの全てのファイルに対して設定されることができ、中央制御装置のサーバと通信する全てのクライアントについて管理者により識別されることができる。自動暗号化ルールが設定または更新されると、これは異なる各クライアントのルールセットへ分配されることができ、ルールがダウンロードされた後、次に各クライアントが中央制御装置のサーバへ接続されたときに実行される。
別の実施形態では、本発明は、1つはネットワークファイヤウォールの内側、他方はネットワークファイヤウォール外側の、地理的に離れたサーバを使用して実行される。ネットワークファイヤウォールは、ファイヤウォールの外部に位置する喪失または盗難されたクライアントについてのサーバへの無許可のアクセスを阻止する。しかしながら、それがファイヤウォール外であるとき、クライアントにおいてある程度の制御を維持するために、および付勢インターバルのリセットを実施するための通信と、ローカルルールセットの更新を可能にするために、1以上のミラーサーバがファイヤウォール外に設けられる。
本発明のこれら及びその他の特徴は、添付図面を伴った本発明の特別な実施形態についての以下の説明を検討することによって、当業者により明白になるであろう。
本発明を図面を参照にして詳細に説明し、これらは当業者が本発明を実施することを可能にするための本発明の例示的な例として与えられている。特に、図面及び以下の実施例は本発明の技術的範囲を限定することを意図するものではない。本発明のある素子が既知のコンポーネントを使用して部分的または完全に構成されることができる場合、このような既知のコンポーネントの中で本発明の理解に必要な部分だけを説明し、このような既知のコンポーネントのその他の部分は本発明を不明瞭にしないために省略する。さらに、本発明は例示によりここで参照されるコンポーネントに対する現在及び将来知られる等価物を含む。
図1は、クライアント10と、付勢サーバ120、ルールサーバ122、ペアラントサーバ124、更新サーバ126を含む中央制御装置のサーバ12とを具備する本発明の例示的な実施形態を示している。サーバ120-126を含むサーバ12のこれらの種々の識別は、単に説明の目的のためであり、特別な実施形態に関して以下他に記載がなければ、単一の物理的サーバまたは種々の異なる物理的サーバが各サーバ120-126に関してここで説明する異なる機能を実行するために使用されることができ、各異なるサーバ120-126の全ての機能が本発明の種々の異なる特徴を実行するために必要であるわけではないことが理解されよう。本発明の主要な焦点は、クライアント10に記憶された電子データのセキュリティ、その種々の異なるハードウェア及びソフトウェアコンポーネントを含むサーバ12のタイプ、サーバの構造が特別重要ではなく、このようなハードウェアとソフトウェアコンポーネントの多くの異なる組み合わせが中央制御装置のサーバを構成するために使用できることである。
クライアント10は、デスクトップコンピュータ、サーバ、ノート型コンピュータ、ハンドヘルドコンピュータ、パーソナルデータアシスタント(PDA)、ネットワークルータ、セルラ電話機、マルチメディア娯楽システム、ネットワークルータ、ネットワークスイッチ、ネットワークエッジ装置、またはデータを記憶することのできる任意の他の装置のようなプログラム可能な装置であってもよい。上記のようなクライアント10の異なるタイプの共通の特徴は、各クライアント10が幾つかのタイプのオペレーティングシステムを実行することのできる幾つかのタイプのプロセッサと、そのアプリケーションを含んでおり、電子データは幾つかのタイプのメモリに記憶されることである。例示的な実施形態では、クライアント10は、マイクロソフトウィンドウズ(登録商標)XPプロフェッショナルオペレーティングシステム220がインストールされるノート型コンピュータであり、このように、暗号化ファイルシステム(EFS)を含むこのオペレーティングシステムの特徴をよく知っていることが仮定される。さらに、オペレーティングシステムはインテル(登録商標)プロセッサのようなコンパチブルプロセッサにより動作する。先の説明にかかわりなく、単なる例示としては、リナックス(登録商標)、ソラリス、パームOSまたはポケットPCのような他のオペレーティングシステム、および単なる例示としては、AMD、MIPS、テンシリカ、ARM、またはトランスメタにより製造されるプロセッサが本発明で使用されることができる。パワーが少ない装置10が典型的に、より簡単なプロセッサ、オペレーティングシステム、及び特徴を有しており、このようにパワーの少ない装置10はここで説明した全ての特性を実行できない可能性があることが明白であろう。
付勢サーバ120はクライアント10に関連する状態情報のセットを維持している。状態情報の典型的なセットが表Iで与えられている。
システム管理者は状態情報のセットの内容を変更することができ、例えばクライアント10が喪失または盗難を報告されたとき、システム管理者は状態情報のセットに喪失/盗難フラグを設定することができる。クライアント10が付勢サーバ120へ接続するとき、状態情報のセットはクライアント10により更新される。付勢サーバ120はクライアント10へ状態情報のセットのコピーを転送する。
ルールサーバ122はクライアント10により使用されるルールのセットを維持している。ルールのセットはクライアント10の構造を記述し、クライアント10に対して決定を行う規準を設定し、動作を開始し、記憶されたデータを保護するように処理する。ルールのセットは、クライアント10から受信された状態情報の変化に応答して、管理者による手作業でまたは自動的に変更されることができる。クライアント10は周期的にルールサーバ122と通信し、ルールサーバ122はルールのセットをクライアント10へ転送するか、それを更新する。典型的なルールのセットは、各ルールの説明と共に、以下の表IIで与えられている。
ルールのセットと状態情報のセットは、状態の変化に応答して取られる動作を選択するために使用される。例えば、エージェントは、喪失/盗難フラグによってクライアント10が喪失または盗難を受けたことが示されたときに、取られる動作を決定するためにルールのセットを使用する。
ペアラントサーバ124はクライアント状態の更新、ルールの生成及び割当て、1以上のクライアント10を含むユーザグループの指定、クライアントソフトウェア更新の開始、報告の生成のようなタスクを行うためにシステム管理者により使用される管理サーバである。ペアラントサーバ124はまたセキュリティプロパティをデータに関連付けるためにシステム管理者によって使用されることもでき、セキュリティプロパティは情報のタイプ、情報のサイズ、情報の時間に対する敏感度、情報の特有性、情報の重要性を含んでいる。ペアラントサーバ124は管理者が類似のデータをファイル、ディレクトリ、およびその他の組織的形態へグループ化することも可能にできる。データは例えばそれが同一のセキュリティプロパティを有するならば、類似する可能性があり、共通のディレクトリ中に位置され、またはワード処理アプリケーションのような共通のソフトウェアアプリケーションにより使用されるフォーマット中に位置される。更新サーバ126はソフトウェア及びソフトウェア更新をクライアント10またはクライアントのグループと、付勢、ルール、ペアラント、更新の各サーバへ分配するために使用される。
図1、2、3を参照すると、クライアント10の動作は例示的な実施形態の文脈で良好に理解されることができる。クライアント10の機能図が図2に示されている。
図2に示されているように、クライアント10は、アプリケーションソフトウェア20、システムソフトウェア22、装置特定周辺装置24、ハードウェアコンポーネント26、随意選択的な外部コンポーネントを含めた種々のコンポーネントを具備している。ハードウェアコンポーネント26のメモリコンポーネントは、例えば搭載プロセッサのキャッシュメモリ、(種々のレジスタ、キャッシュ及びその他の特性を構成するための静的、動的、EDO等の種々のタイプを有する)RAM、ROM、(特にBIOSルーチンを記憶するために使用される)フラッシュメモリを含めた種々の形態を取ることができる。ハードウェアコンポーネントのメモリ内に記憶された電子データは、知られているように、オペレーティングシステムにより行われる呼を通して個々にアクセスされることができ、このような異なるタイプのアクセスに対するこのようなリクエストに十分な知識を有していると仮定される。
図3を参照すると、本発明の1特徴は、サーバ12、クライアント10の管理者またはユーザの直接的な制御なしに、エージェント200が独立して動作する能力である。したがって、ある時間において、クライアント10が通信リンク14によってサーバ12へ接続されている間に、クライアント10が接続されていないとき、本発明は依然として、クライアント10内に記憶されている電子データについてのセキュリティを確保する。クライアント10の動作はクライアント10で維持される構造情報30により命令される。この構造情報は、システム情報302と、ルールサーバ122から得られたルールの局部的コピー(“局部的ルール”)を含んでいる。システム情報302はクライアント10の構造情報と、エージェント200の構造情報と、オペレーティングシステム220の構造情報と、通信リンク14の構造情報とを含んでいる。表III(以下に示す)は例示的な実施形態の構造情報として維持されている情報のタイプを、情報の内容の説明と共に示している。
例示により、表IVは局部的ルール304に記憶されている各ルールのフォーマットを示している。
エージェント200はクライアント10の識別可能な状態を記述している状態(“局部的状態”)32を集め、記憶する。識別可能な状態は例えば、ユーザのログイン及びログアウトのようなクライアントの10のアクティビティ、クライアント10で動作されるアプリケーションのリスト、メモリ容量等に関連するクライアント10から捕捉された情報のスナップショットを含んだデータのセットであってもよい。エージェント200は、付勢サーバ120、ルールサーバ122、ペアラントサーバ124、更新サーバ126、オペレーションシステム220、エージェント200、システムハードウェア26、ネットワークインターフェース240のようなクライアント10の個々のコンポーネントを含む複数のソースによって提供されるサービスから識別可能な情報を獲得することができる。エージェント200は接続されるとき、構造情報30により規定されるスケジュールにしたがって、局部状態32をサーバ12へ送信することができる。以下の表Vは状態情報を記憶するための例示的なフォーマットを示しており、ここでは情報はルールがトリガーされたという通知を含んでいる。
エージェント200は構造情報30と局部状態32から得られた基準に基づいて、事象34を生成し動作36を開始する。生成された事象34は局部ルール304を実行するときに、エージェント200の状態の変化を通報するために使用されることができる。例えば、エージェント200はタイマーの終了時に事象タイムアウトを発生してもよい。動作36は、所望される機能に応じて、処理、ユーティリティ、オペレーティングシステム220のサービス、アプリケーション20、プロセッサ命令の組合せを含んでいる。動作36はデータの抹消、ユーザの確認、データの破壊、クライアント10のシャットダウン、サーバ12との通信、ハードウェアの作業不能化を含む種々の機能を行うためにエージェント200によって開始されることができる。特別な事象は特別なルールに基づいて、特別な動作を生じ、それらは以下説明するような利点を有している。
さらに図4を参照すると、データが失われたことを決定するプロトコルは例示的な実施形態の文脈で理解されることができる。クライアント10はサーバ12と接触しようとする。サーバ12との接続を設定するとき、エージェント200はペアラントサーバ124への局部状態32の送信を開始する。付勢サーバ122は局部状態32と混合されるように、状態情報の現在のセットをエージェント200へ送信することにより、エージェント200からの通信に応答する。ルールサーバ122もまた局部ルール304の前のバージョンを置換するように、(局部状態32により行われる変更と、例えば管理者による付加される付加的なルールの変更との両者を含めた)現在のルールのセットをエージェント200へ送信することにより、エージェント200からの通信に応答する。局部ルール304の前のバージョンを新しいバージョンと置換するとき、エージェントはさらに第1の時間期間(“付勢インターバル”)を測定するために400で第1のタイマ(“付勢タイマ”)を始動する。しかしながら、好ましい実施形態では、ルールの局部的なセットが付勢インターバル40を開始するために置換されるが、クライアント10がサーバ12へ接続する毎に、ルールの局部的なセットを完全に置換することは望ましくない可能性があるので、他の付勢インターバルの開始方法が使用されることもできることが理解されるであろう。エージェント200は局部状態32を更新し、少なくとも1つの事象34を生成し、動作36を開始することができる。以後“GetRulesSuccess”事象と呼ぶ事象が生成され、これは通信が成功したことを示す。
付勢インターバル40は、ルールサーバ122との通信に成功したことを表すルールがロードされたときからの経過した時間の尺度である。エージェント200が付勢インターバル内でサーバ12との接続を設定できないとき、エージェントは状態32を更新し、エージェント200とサーバ12との間の接続の喪失を示す1以上の事象34を生成する。付勢インターバル40は構造情報30により決定され、クライアント10がパワーをオフにされており、機能しない時間インターバルを含む実時間尺度である。幾つかの実施形態では、エージェント200は付勢インターバル420よりも小さい規則的な間隔で、構造情報30により決定されるように、クライアント10が付勢インターバル420に対してどの程度接近して経過しているかをユーザに警告する。
クライアント10が付勢インターバルの経過前に、付勢サーバ120へ接続するならば、サーバ12は信号を送信し、この信号は付勢タイマがそのカウントを再度開始するようにリセットするためのリセット信号、更新されたルール、または幾つかの他のインジケータであることが可能である。クライアント10と付勢サーバが接続された状態のままであるならば、信号は付勢インターバルの満了前に周期的に再送信されることができる。
付勢タイマにより測定された時間インターバルが420の付勢インターバルを超え、信号がクライアント10によって受信されないとき、エージェント200は猶予期間がゼロに設定されていないならば、以下“猶予期間”42と呼ぶ時間インターバルを測定する第2のタイマ(“猶予タイマ”)を始動することができる。猶予タイマと付勢タイマは任意のその次のGetRulesSuccess事象によりリセットされることができる。猶予期間42中、クライアント10とサーバ12との間に通信が設定されるならば、付勢タイマが依然としてリセットされていない場合には、エージェント200はクライアント12との通信が失われたことをユーザに警告することができる。幾つかの実施形態では、警告はパスワードの入力のためのプロンプトを含むことができ、ここではユーザが正確なパスワードを入力するならば、付勢タイマがリセットされる。さらに幾つかの実施形態では、エージェント200は構造情報30により決定されるように、クライアント10とサーバ12との間の通信が設定されておらず、この通信はここで説明するように猶予期間が経過すると、付勢タイマをリセットし、プログラムされたセキュリティ特徴が発生するのを防止するために必要であることを猶予期間中に規則的な間隔でユーザに警告する。猶予期間後、構造情報30により決定されるように、猶予タイマは422で満了する。猶予タイマは、付勢インターバルが420で満了した後にクライアント10がパワーをオンにされている時間だけを測定する。猶予タイマが422で満了したことを検出するか、または猶予期間がないことを検出するとき、エージェント120は状態22を更新し、ルールに基づいてプログラムされたセキュリティ特徴を実行し、それによって例えばデータの暗号化、暗号キーの破壊、データの破壊、ハードウェアの作業不能化、装置のシャットダウンを含むことのできる複数の動作28を開始する事象26を生成する。猶予期間がゼロとして選択されるならば、付勢インターバルの経過直後に、エージェントはプログラムされた事象を開始する。セキュリティが最も重要な問題なある応用では、残りのクライアント10はオフに切り換えられるが、付勢インターバルは継続されたままであることができ、それによって付勢インターバルが経過するとき、プログラムされたセキュリティ特徴を実行する必要のあるクライアント10の他の部分は自動的にオンに切り換えられ、ルールに基づいたプログラムされたセキュリティ特徴が開始される。しかしながら大部分の応用では、ユーザがクライアント10をオンに切り換え、猶予期間の満了時に生じるプログラムされたセキュリティ特徴の開始前にサーバ12へ接続する時間の期間を有することを可能にするために猶予期間が設定される。
好ましい実施形態では、猶予期間の満了時に、プログラムされたセキュリティ特徴は優先順位を付けた方法でデータを秘密保護し、それによって最も重要なデータが最初に破壊されるか暗号化され、その後重要性の少ないデータが破壊されるか暗号化されることにさらに注意すべきである。例えば、レジストリ、暗号キーまたは他のこのような情報の優先順位を付けられた破壊は多量のデータを読取不可能または使用不可能にすることによって多量のデータの迅速な破壊効果を有する。さらに、システム管理者がレジストリ、暗号キーまたは他のこのような情報のバックアップコピーを例えば中央制御サーバ12のどこかで維持するならば、システム管理者は多量のデータを回復することができる。
エージェント200は、無効なアクセスの試みを検出することによってデータ喪失の危険性が切迫していることも決定することができる。例示的な実施形態では、エージェント200はログインメッセージと“コンピュータロック”メッセージを含むディスプレイメッセージを監視することにより、無効なアクセスの試みを検出する。エージェント200はオペレーティングシステム220のセキュリティログを監視することによっても無効なアクセスの試みを検出することができる。無効なアクセスが試行される度に、エージェントは局部状態32を更新し、1以上の事象34を生成し、1以上の動作36を開始し、1以上のメッセージをペアラントサーバ124へ送信する。幾つかの実施形態では、遅延が例えばシステムハードウェア26またはシステムソフトウェア22により実行されるクロックまたはタイマにより測定されることができる場合には、エージェント200は遅延後に選択されたデータを破壊するように命令されることができる。
他の方法及びユーザの動作が、切迫しているデータの失われる危険性にあることを決定するために使用されることができることが認識されよう。その動作には、適切な生物測定学(例えば指、顔、署名、音声)情報使用の失敗、正当なトークン使用の失敗、生物測定学、トークンまたは任意のタイプなしの入力からのパスワードによる多数回の試行による実効的なログインの失敗、装置における無許可のユーザ(例えばゲストおよび管理者)としてのログイン試行、ログインされるときに、予測される規範と一貫しない動作(例えば、限定されたウェブサイトへ行く試み、所有ソフトウェアによる失敗したパスワードの試み、または失敗したサーバアクセスの試み)、ハードウェアまたはソフトウェア構造の予測されない変化(即ちセキュリティソフトウェア、GPS、通信カードまたは幾つかの他のPCカード、またはマザーボードの容量のような既存の機能の作業不能、またはレジストリ設定、PCカードまたは未知の装置へのポートフックアップのような新しいソフトウェア素子またはハードウェア素子の使用可能化)、所有ソフトウェアへのアクセス試行を示しているオペレーティングシステム200または第3のパーティからの呼、警告、エラーメッセージが含まれている。
本発明の実施形態は以後“多数回の重ね書き”と呼ばれるデータ消去のための秘密保護方法を使用する。図2および3と共に観察される図5は例示的な実施形態に適用される多数回の重ね書きを示しており、ここではデータ記憶システム242は1以上のデータ記憶装置およびファイルシステムを具備している。データ記憶装置は固定された磁気ディスク、取り外し可能な磁気または光ディスク及びフラッシュメモリを含むことができる。多数回の重ね書きは局部ルール304にしたがって、エージェント200により呼出される。局部ルール304はまた多数回の重ね書きにより消去される1以上のファイルを識別し、1以上のファイルの消去をトリガーする事象34を特定する。
多数回の重ね書きは選択された回数、一連の動作を反復することにより実行されることができる。例示的な実施形態では、選択された回数は4である。他の実施形態では、反復数の選択規準には記憶装置242と局部ルール304の特性が含まれている。図5で、カウンタはステップ500でゼロに初期化され、ステップ518で試験され、それによって最大値4のループカウンタを形成する。したがって、ステップ502からステップ518までのループは4回実行される。
多数回の重ね書きは、ターゲットファイルの長さを決定し、ランダムデータのセットを生成し、ターゲットファイル全体をランダムデータで埋めるステップを含むアルゴリズムを含んでいる。例示的な実施形態では、エージェント200は、ステップ502で読み取り専用モードでターゲットファイルを開き、504でターゲットファイルの長さを得ることによりターゲットファイルの長さを決定する。エージェントはその後、ターゲットファイルを閉じ、それに続いてステップ506で書き込み可能モードでターゲットファイルを再度開くことによりファイルの重ね書きを準備する。エージェント200はサイズにおいてターゲットファイルに等しいデータのランダムなセットを508で生成する。エージェントはステップ510−514で示されているように、ターゲットファイルへデータのランダムなセットを書き込む。カウンタはステップ516でインクリメントされ、ステップ518で4つのサイクルが完了したか否かを試験される。
図2及び3を参照すると、本発明の実施形態はクライアントの1以上のコンポーネントのアクティビティまたは非アクティビティを欺って起こすことによってデータ保護動作を偽装することができる。以下“ポッサムモード”と呼ぶ本発明のこの特徴は局部ルール304に従ってエージェントにより開始される。例示的な実施形態では、ポッサムモードは付勢インターバルの満了後、または猶予期間42の満了後、或いは無効なログイン試行が検出されたときにエージェント200により開始されることができる。ポッサムモードでは、エージェント200は、パワーオンインジケータ、ハードディスクアクティビティインジケータ、ディスプレイシステム上に表示された情報、キーボード機能インジケータ、オーディオインジケータ、ネットワーク接続性インジケータのような特別なインジケータを隠すか露出する。幾つかの実施形態では、ポッサムモードが付勢されるとき、エージェント200は、特にプロセッサが多数の脅威をサポートするならば、アクチブにデータを破壊しながら、エージェント200は侵入者がクライアント10を動作することを許容することができる。
図1及び2を参照すると、本発明の実施形態はクライアント10の個々のコンポーネントに対するアクセスを制御し、ここでは“ハードウェア作業不能化”と呼ばれる方法を使用して、クライアントへの無許可のアクセスを阻止することができる。ハードウェア作業不能化は個々のコンポーネントがエージェント200により制御可能なソフトウェアを含むときに実行される。制御可能なソフトウェアを有することのできる個々のコンポーネントは、(例えば変更されたBIOSを使用する)システムハードウェア26、システムソフトウェア22、データ記憶装置242、ネットワークインターフェース240を含んでいる。エージェント200はクライアント10のコンポーネントへのアクセスを可能にするか不能にし、個々のコンポーネント上に記憶されているデータの消去を開始し、個々のコンポーネント上に記憶されているデータの暗号化を開始するコマンドを制御可能なソフトウェアへ送信する。このコマンドはそのコマンドを受信するコンポーネントの特性により必要とされるような、ソフトウェアまたはハードウェアコマンド或いはハードウェアコマンドとソフトウェアコマンドの組合せであってもよい。例えば当業者は、変更されたBIOSがシステム呼または拡張されたシステム呼の特定のシーケンスのようなソフトウェアコマンドによって制御されることができることを認識するであろう。
データ記憶装置242がディスクドライブを含んでいる幾つかの実施形態では、エージェントのバージョンはディスクドライブ上の“オートラン”エージェントとして挿入されることができる。このオートランエージェントは、ディスクドライブがオペレーティングシステム220により開始されマウントされるときはいつでも実行する。オートランエージェントは、例えばクライアント10に現在インストールされているエージェントが存在しないか、またはディスクドライブがスレーブディスクドライブとしてインストールされていることを検出したならば、エージェントのコピーを実行することができる。オートランエージェントはその後、失われたデータの破壊、自動暗号化、ハードウェアの作業不能化、装置のシャットダウンを含めた動作を開始することができる。このようにして、本発明の実施形態はディスクドライブの取り外しまたはスレーブ化によって、本発明により与えられるセキュリティを無許可のユーザがバイパスすることを防止する。
図2及び3と共に観察される図6に示されているフローチャートは、例示的な実施形態に適用可能な自動暗号化機能の実行を示している。例示的な実施形態では、あるファイルの自動暗号化は、1以上のファイルまたはファイルのディレクトリにおいてデータの暗号化を行うために使用されるオペレーティングシステムにしたがって、前述のマイクロソフト暗号化ファイルシステム(EFS)または類似のこのようなユーティリティを使用して実行される。自動暗号化は設定された暗号化ルールに基づいて行われ、その結果自動的に暗号化された事象が得られる。これらの暗号化ルールは管理者の組織内にある全てのクライアント10について管理者により識別されることのできる(MSパワーポイント及びエクセルのような)あるタイプの全てのファイルに対して設定され、サーバ12と通信することができる。自動暗号化ルールが設定されるかまたは更新されると、これは各異なるクライアント10のルールセットに分配され、ルールがダウンロードされた後、次回の各クライアント10がサーバ12に接続するときに、実行される。特定のクライアント10が自動暗号化ルールを含むルールセットをダウンロードすると、エージェント200は1以上のシステム呼をオペレーティングシステム220へ開始し、これによってステップ600で選択されたファイルは暗号化される。そのファイルはシステム証書を使用して暗号化される。エージェント200はステップ602で、システムの現在ログインされているユーザを識別するユーザ名についてオペレーティングシステム220のレジストリを検索する。エージェント200はユーザ名に関連されるシステムID(SID)をステップ604で獲得する。SIDはステップ608で、関連される第1のセキュリティ証書を得るために後で使用されることのできる特有の数字の識別子である。エージェント200はその後、ステップ608で第1のセキュリティ証書をファイルと関連されるセキュリティ証書のプールに入力させ、それによって、現在のユーザについての暗号キーへアクセスを行う。エージェント200はステップ610で、第2のセキュリティ証書がオペレーティングシステムの管理者またはシステムユーザに関連されているプールから第2のセキュリティ証書を消去することができる。
図7を参照すると、ネットワークファイヤウォール70と共に使用されることのできる本発明の1実施形態が示されており、ここでは特定の組織のファイヤウォールの内部に位置されているサーバ12と、そのファイヤウォールの外部に位置されている1以上のミラーサーバ72が存在している。ネットワークファイヤウォール70はファイヤウォール70の外部に位置されるクライアント10により、サーバ12に対する無許可のアクセスを阻止する。しかしながら、クライアント10がファイヤウォールの外部に位置されるとき、クライアント10に対してある程度の制御を維持するため、1以上のミラーサーバ72がファイヤウォールの外部に位置され、ここでは1以上のミラーサーバ72はクライアント10に対してアクセス可能であり、ファイヤウォール70の背後にサーバ12のコピーとして構成される。これにより、通信はファイヤウォールの外部で構成されるミラーサーバ72の任意の1つを使用して、付勢インターバルの再設定および局部ルールセットの更新を実現することが可能である。1以上のミラーサーバ72はミラー付勢サーバ720とミラールールサーバ722とを含むことができる。したがって、クライアント10はルールと状態情報を受信でき、システム管理者はクライアント10の動作に影響を与えるように状態とルールを変更することができる。例えばシステム管理者は喪失または盗難されたクライアント10におけるデータを破壊するように喪失/盗難フラグを設定することができる。したがって、その後にミラーサーバ72に接続する試みが行われる場合には、その接続は、ルールの更新が喪失/盗難フラグを設定するために行われることができるように設定され、それによって予めプログラムされた事象を開始し、その事象はシステムのシャットダウンのように猶予期間の経過の結果として生じる事象に関連する事象と独立にすることができる。
前述の実施形態は本発明の技術的範囲を逸脱することなく、多くの方法で変更されることができることが明白である。例えば、クライアントはPDA、サーバ、ネットワークルータ、またはその他のプログラム可能な装置であってもよく、オペレーティングシステムは任意の市場で入手可能なまたは所有のオペレーティングシステムであってもよい。さらに、特定の実施形態の種々の特徴は同一の実施形態のその他の特徴に関係しない特許可能な主題を含むことができる。さらに、異なる実施形態の種々の特徴は共に組み合わせられることができる。したがって、本発明の技術的範囲は特許請求の範囲とそれらの法的な等価物により決定されるべきである。