(57)【要約】【課題】送信側コンピュータ・システムから受信側コンピュータ・システムにデータを安全に伝送する方法を提供する。【解決手段】本方法は、第１のインテリジェント・エージェント環境によって平文メッセージを受信するステップと、前記メッセージを複数のメッセージ・フラグメントへと分割するステップと、各メッセージ・フラグメントのインテリジェント・エージェントを作成するステップと、各メッセージ・フラグメントのキーを生成するステップと、個別の暗号化メッセージ・フラグメントを作り出すために、前記メッセージ・フラグメントそれぞれを暗号化するステップと、データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える各インテリジェント・エージェントを伝送するステップとを含む。本方法はさらに、データ・ペイロードとしてその個別の暗号化メッセージ・フラグメントを備える各インテリジェント・エージェントを、受信側コンピュータ・システムにある第２のインテリジェント・エージェント環境によって受信するステップと、エージェントのセットの各エージェントを発見し合うステップと、個別の平文メッセージ・フラグメントを作り出すために、個別の暗号化メッセージ・フラグメントそれぞれを復号するステップと、平文メッセージを形成するために平文メッセージ・フラグメントを再結合するようエージェントのセットによって協働するステップとを含むとよい。【選択図】図１
2013501394.tif 000002
【特許請求の範囲】
【請求項１】
送信側コンピュータ・システムから受信側コンピュータ・システムにデータを安全に伝送する方法であって、
前記送信側コンピュータ・システムにある第１のインテリジェント・エージェント環境によって平文メッセージを受信するステップと、
前記第１のインテリジェント・エージェント環境のスプリッタ・コンポーネントによって、前記メッセージを複数のメッセージ・フラグメントへと分割するステップと、
前記第１のインテリジェント・エージェント環境内のエージェント・クリエータによって、前記メッセージ・フラグメントそれぞれのインテリジェント・エージェントを作成するステップと、
前記インテリジェント・エージェントそれぞれのキー・ジェネレータ関数によって、前記メッセージ・フラグメントそれぞれのキーを生成するステップと、
個別の暗号化メッセージ・フラグメントを作り出すために、前記メッセージ・フラグメントそれぞれを、前記インテリジェント・エージェントそれぞれの暗号化関数によって暗号化するステップと、
データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える前記インテリジェント・エージェントそれぞれを伝送するステップと、
を含む方法。
【請求項２】
データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える前記インテリジェント・エージェントそれぞれを、前記受信側コンピュータ・システムにある第２のインテリジェント・エージェント環境によって受信するステップと、
前記インテリジェント・エージェントそれぞれによって、エージェントのセットの各エージェントを発見し合うステップと、
個別の平文メッセージ・フラグメントを作り出すために、前記インテリジェント・エージェントそれぞれの復号関数によって前記個別の暗号化メッセージ・フラグメントそれぞれを復号するステップと、
平文メッセージを形成するために前記個別の平文メッセージ・フラグメントそれぞれを再結合するよう、エージェントの前記セットの前記インテリジェント・エージェントそれぞれによって協働するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記インテリジェント・エージェントそれぞれを伝送する前記ステップは、前記インテリジェント・エージェントのうちの任意の他のインテリジェント・エージェントを伝送するために使用されたルートを除外するよう複数のルートから選択されたルートによって伝送することを含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記メッセージ・フラグメントそれぞれを暗号化する前記ステップは、前記複数のメッセージ・フラグメントのうちの任意の他のメッセージ・フラグメントを暗号化するために使用された暗号化関数を除外するよう複数の暗号化関数から選択された暗号化関数によって暗号化することを含む、先行する何れかの請求項に記載の方法。
【請求項５】
前記メッセージを複数のメッセージ・フラグメントへと分割する前記ステップは、シーケンス・メタデータを前記メッセージ・フラグメントそれぞれに添付することをさらに含む、先行する何れかの請求項に記載の方法。
【請求項６】
再結合するよう協働する前記ステップは、前記平文メッセージ・フラグメントを、前記シーケンス・メタデータに従って並べることを含む、請求項２に従属する請求項５に記載の方法。
【請求項７】
復号する前記ステップは、所定の時間まで遅らせることをさらに含む、請求項２〜６の何れかに記載の方法。
【請求項８】
送信側コンピュータ・システムから受信側コンピュータ・システムにデータを安全に伝送する装置であって、
前記送信側コンピュータ・システムにあり平文メッセージを受信するよう動作可能な、第１のインテリジェント・エージェント環境と、
前記第１のインテリジェント・エージェント環境のスプリッタ・コンポーネントであって、前記メッセージを複数のメッセージ・フラグメントへと分割するよう動作可能な、前記スプリッタ・コンポーネントと、
前記第１のインテリジェント・エージェント環境内のエージェント・クリエータであって、前記メッセージ・フラグメントそれぞれのインテリジェント・エージェントを作成するよう動作可能な、前記エージェント・クリエータと、
前記インテリジェント・エージェントそれぞれのキー・ジェネレータであって、前記メッセージ・フラグメントそれぞれのキーを生成するよう動作可能な、前記キー・ジェネレータと、
前記インテリジェント・エージェントそれぞれの暗号化コンポーネントであって、前記メッセージ・フラグメントそれぞれを暗号化することによって、個別の暗号化メッセージ・フラグメントを作り出すよう動作可能な、前記暗号化コンポーネントと、
データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える前記インテリジェント・エージェントそれぞれを伝送する手段と、
を含む装置。
【請求項９】
前記受信側コンピュータ・システムにある第２のインテリジェント・エージェント環境であって、データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える前記インテリジェント・エージェントそれぞれを受信するよう動作可能な、前記第２のインテリジェント・エージェント環境と、
前記インテリジェント・エージェントそれぞれによって、エージェントのセットの各エージェントを発見し合う手段と、
前記インテリジェント・エージェントそれぞれの復号コンポーネントであって、前記個別の暗号化メッセージ・フラグメントそれぞれを復号することによって、個別の平文メッセージ・フラグメントを作り出すよう動作可能な、前記復号コンポーネントと、
平文メッセージを形成するために前記個別の平文メッセージ・フラグメントそれぞれを再結合するよう、エージェントの前記セットの前記インテリジェント・エージェントそれぞれによって協働する手段と、
をさらに含む、請求項８に記載の装置。
【請求項１０】
前記インテリジェント・エージェントそれぞれを伝送する前記手段は、前記インテリジェント・エージェントのうちの任意の他のインテリジェント・エージェントを伝送するために使用されたルートを除外するよう複数のルートから選択されたルートによって伝送する手段を含む、請求項８又は請求項９に記載の装置。
【請求項１１】
前記暗号化コンポーネントは、前記複数のメッセージ・フラグメントのうちの任意の他のメッセージ・フラグメントを暗号化するために使用された暗号化関数を除外するよう複数の暗号化関数から選択された暗号化関数を含む、請求項８、請求項９、又は請求項１０に記載の装置。
【請求項１２】
前記スプリッタ・コンポーネントは、シーケンス・メタデータを前記メッセージ・フラグメントそれぞれに添付する手段をさらに含む、請求項８〜１０の何れか１項に記載の装置。
【請求項１３】
再結合するよう協働する手段は、前記平文メッセージ・フラグメントを、前記シーケンス・メタデータに従って並べる手段を含む、請求項９に従属する請求項１２に記載の装置。
【請求項１４】
復号する前記ステップは、所定の時間まで遅らせることをさらに含む、請求項９〜１３の何れかに記載の装置。
【請求項１５】
コンピュータ・システムにロードされ実行されると、請求項１〜７の何れか１項に記載の方法の前記ステップすべてを実行する、コンピュータ・プログラム・コードを含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全にデータを伝送することに関し、特に、傍受されやすいチャネル上でデータが送信される場合でも、セキュリティ侵害に対する改善された保護を実現することに関する。
【背景技術】
【０００２】
伝送中にデータを守ることは、人類の歴史全体にわたる関心事であり、安全な通信は、はるか昔から商取引に不可欠な部分であった。
【０００３】
より最近、特にコンピュータの能力とデータ伝送の技術手段が広く利用可能になってからは、電気通信チャネル上で伝送されるデータを守る高度な手段と、同様に高度な、メッセージを復号する技術手段とにより、メッセージを守りたい側と、それを「解読」したい側との、急速に加速する競争が展開されてきた。
【０００４】
復号の実現可能性の閾値を高めることにより伝送中にデータを守る新たな技術手段の探求は絶えず行われており、同様に、実現不可能と考えられていた復号を実現可能なものにする手段の探求も、絶えず行われている。同様に、安全に情報を送信する処理及び伝送費用も関心事である。ビジネス上の取引の過程で伝送されるデータの量は増加しており、パブリック・ネットワークを使用する費用は絶えず低下しているが、その一方で、プライベート・ネットワークを使用する費用はこれまで以上に高価になっている。特に大量データ・アプリケーションでは、より多くのデータを、インターネットなどのより費用の低いオープン・チャネル上で送信できると有利であると考えられるが、そのような媒体上での伝送を、商業の機密保持目的に通常必要とされる基準まで安全にすることは困難である。
【０００５】
現代の暗号化技術は、データの非常に強力な暗号化を可能にし、その結果、任意の所与の符号化を解読するのにかかる労力と時間の程度が、今日では非常に高いか、又はほぼ不可能となっている。しかし、従来の「データの暗号化、データの送信、データの受信及び復号」という規範の２つの弱点は、（１）データが全体として送信され、（２）通常は１つのみの暗号化／復号キーが使用されるということである。
【０００６】
例えば、特許文献１が、データのセキュリティを提供する方法を提案しており、伝送されるデータの大部分は、暗号化されて、本質的に安全性がより低いチャネル上で伝送され、その一方で、データの選択されたセグメントは、電話網など、通常はプライベートであるチャネル上で伝送される。したがって、安全性がより低いチャネル上の盗聴者は、すべてのデータを読み取ることができない。データ自体から得られる方式によりデータをスクランブリングするために、１つ以上のスクランブリング・アルゴリズムを使用する概念も開示されている。
【０００７】
特許文献２が提案する方法では、安全性がより低いチャネル上で送信されるメッセージの部分が暗号化され、その一方で安全なチャネル上で伝送される部分は暗号化されていないままとなるように、メッセージが分割されて２つのチャネル上で伝送される。
【０００８】
特許文献３は、適応的にデータを変換し、変換されたデータを区分毎に複数の伝送チャネルに分散させることによってデータを安全に伝送する方法を開示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】欧州特許出願公開第０９９３１４２（Ａ１）号
【特許文献２】国際公開第００／１８０７８号
【特許文献３】米国特許出願公開第２００４／００８３３６１（Ａ１）号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
こうした既知の技術は、上述のセキュリティ問題をいくらか緩和する。しかし、改善され続ける安全な方法を求めて、権限のない人によるメッセージの情報コンテンツ回復の計算的実現可能性をさらに低くすることによってメッセージのセキュリティをさらに高め、その一方で処理及び伝送の費用を制限する方法を発見することが望まれている。
【課題を解決するための手段】
【００１１】
したがって、本発明は、第１の側面において、送信側コンピュータ・システムから受信側コンピュータ・システムにデータを安全に伝送する方法であって、前記送信側コンピュータ・システムにある第１のインテリジェント・エージェント環境（ｉｎｔｅｌｌｉｇｅｎｔ  ａｇｅｎｔ  ｅｎｖｉｒｏｎｍｅｎｔ）によって平文メッセージ（ｃｌｅａｒｔｅｘｔ  ｍｅｓｓａｇｅ）を受信するステップと、前記第１のインテリジェント・エージェント環境のスプリッタ・コンポーネント（ｓｐｌｉｔｔｅｒ  ｃｏｍｐｏｎｅｎｔ）によって、前記メッセージを複数のメッセージ・フラグメントへと分割するステップと、前記第１のインテリジェント・エージェント環境内のエージェント・クリエータ（ａｇｅｎｔ  ｃｒｅａｔｏｒ）によって、前記メッセージ・フラグメントそれぞれのインテリジェント・エージェントを作成するステップと、前記インテリジェント・エージェントそれぞれのキー・ジェネレータ（ｋｅｙ  ｇｅｎｅｒａｔｏｒ）関数（ｆｕｎｃｔｉｏｎ）によって、前記メッセージ・フラグメントそれぞれのキーを生成するステップと、個別の暗号化メッセージ・フラグメントを作り出すために、前記メッセージ・フラグメントそれぞれを、前記インテリジェント・エージェントそれぞれの暗号化関数によって暗号化するステップと、データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える前記インテリジェント・エージェントそれぞれを伝送するステップとを含む方法を提供する。
【００１２】
本方法は、データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える前記インテリジェント・エージェントそれぞれを、前記受信側コンピュータ・システムにある第２のインテリジェント・エージェント環境によって受信するステップと、前記インテリジェント・エージェントそれぞれによって、エージェントのセットの各エージェントを発見（ｌｏｃａｔｅ）し合うステップと、個別の平文メッセージ・フラグメントを作り出すために、前記インテリジェント・エージェントそれぞれの復号関数によって前記個別の暗号化メッセージ・フラグメントそれぞれを復号するステップと、平文メッセージを形成するために前記個別の平文メッセージ・フラグメントそれぞれを再結合するよう、エージェントの前記セットの前記インテリジェント・エージェントそれぞれによって協働するステップとをさらに含むとよい。
【００１３】
前記インテリジェント・エージェントそれぞれを伝送する前記ステップは、前記インテリジェント・エージェントのうちの任意の他のインテリジェント・エージェントを伝送するために使用されたルートを除外するよう複数のルートから選択されたルートによって伝送することを含むことが好ましい。前記メッセージ・フラグメントそれぞれを暗号化する前記ステップは、前記複数のメッセージ・フラグメントのうちの任意の他のメッセージ・フラグメントを暗号化するために使用された暗号化関数を除外するよう複数の暗号化関数から選択された暗号化関数によって暗号化することを含むことが好ましい。前記メッセージを複数のメッセージ・フラグメントへと分割する前記ステップは、シーケンス・メタデータを前記メッセージ・フラグメントそれぞれに添付することをさらに含むことが好ましい。
【００１４】
再結合するよう協働する前記ステップは、前記平文メッセージ・フラグメントを、前記シーケンス・メタデータに従って並べることを含むことが好ましい。復号する前記ステップは、所定の時間まで遅らせることをさらに含むことが好ましい。
【００１５】
第２の側面において、本発明は、送信側コンピュータ・システムから受信側コンピュータ・システムにデータを安全に伝送する装置であって、前記送信側コンピュータ・システムにあり平文メッセージを受信するよう動作可能な、第１のインテリジェント・エージェント環境と、前記第１のインテリジェント・エージェント環境のスプリッタ・コンポーネントであって、前記メッセージを複数のメッセージ・フラグメントへと分割するよう動作可能な、前記スプリッタ・コンポーネントと、前記第１のインテリジェント・エージェント環境内のエージェント・クリエータであって、前記メッセージ・フラグメントそれぞれのインテリジェント・エージェントを作成するよう動作可能な、前記エージェント・クリエータと、前記インテリジェント・エージェントそれぞれのキー・ジェネレータであって、前記メッセージ・フラグメントそれぞれのキーを生成するよう動作可能な、前記キー・ジェネレータと、前記インテリジェント・エージェントそれぞれの暗号化コンポーネントであって、前記メッセージ・フラグメントそれぞれを暗号化することによって、個別の暗号化メッセージ・フラグメントを作り出すよう動作可能な、前記暗号化コンポーネントと、データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える前記インテリジェント・エージェントそれぞれを伝送する手段とを含む装置を提供する。
【００１６】
この装置は、前記受信側コンピュータ・システムにある第２のインテリジェント・エージェント環境であって、データ・ペイロードとして前記個別の暗号化メッセージ・フラグメントを備える前記インテリジェント・エージェントそれぞれを受信するよう動作可能な、前記第２のインテリジェント・エージェント環境と、前記インテリジェント・エージェントそれぞれによって、エージェントのセットの各エージェントを発見し合う手段と、前記インテリジェント・エージェントそれぞれの復号コンポーネントであって、前記個別の暗号化メッセージ・フラグメントそれぞれを復号することによって、個別の平文メッセージ・フラグメントを作り出すよう動作可能な、前記復号コンポーネントと、平文メッセージを形成するために前記個別の平文メッセージ・フラグメントそれぞれを再結合するよう、エージェントの前記セットの前記インテリジェント・エージェントそれぞれによって協働する手段とをさらに含むとよい。
【００１７】
前記インテリジェント・エージェントそれぞれを伝送する前記手段は、前記インテリジェント・エージェントのうちの任意の他のインテリジェント・エージェントを伝送するために使用されたルートを除外するよう複数のルートから選択されたルートによって伝送する手段を含むことが好ましい。前記暗号化コンポーネントは、前記複数のメッセージ・フラグメントのうちの任意の他のメッセージ・フラグメントを暗号化するために使用された暗号化関数を除外するよう複数の暗号化関数から選択された暗号化関数を含むことが好ましい。前記スプリッタ・コンポーネントは、シーケンス・メタデータを前記メッセージ・フラグメントそれぞれに添付する手段をさらに含むことが好ましい。再結合するよう協働する手段は、前記平文メッセージ・フラグメントを、前記シーケンス・メタデータに従って並べる手段を含むことが好ましい。復号するステップは、所定の時間まで遅らせることをさらに含むことが好ましい。
【００１８】
第３の側面において、本発明は、コンピュータ・システムにロードされ実行されると、第１の側面による方法のステップすべてを実行する、コンピュータ・プログラム・コードを含むコンピュータ・プログラムを提供する。
【００１９】
以下、添付の図面を参照しながら、単なる例として本発明の好適な実施形態について記載する。
【図面の簡単な説明】
【００２０】
【図１】本発明の現在好適な実施形態による装置を示すブロック・レベル・デバイス図である。
【図２】本発明の好適な実施形態による方法の個別の部分を表すプロセス・フロー図である。
【図３】本発明の好適な実施形態による方法の個別の部分を表すプロセス・フロー図である。
【発明を実施するための形態】
【００２１】
本発明の好適な実施形態は、エージェント間の協働暗号化及び復号を使用して、別々のルート上で伝送される複数の暗号化フラグメントを用いてデータの安全な配信を提供し、すべてのフラグメントが宛先に到着してからしかフラグメントを復号してもとの完全なデータ形式に再構成することができないよう要求する。これは、安全でない、又は信頼できないチャネルを介してデータが送信される場合に追加の保護を与え、複数の暗号化キーが、ランダムに生成されて他のいかなる人物（ｈｕｍａｎ  ｐａｒｔｙ）にも渡されないことを可能にする。
【００２２】
本発明は、複数のキー及び協働エージェントを使用して、異なるキーを使用し同じ又は異なるアルゴリズムを用いてそれぞれ暗号化された個別のフラグメントに、ソース・データを分解する（ｅｘｐｌｏｄｅ）。任意のフラグメントが傍受及び解読されても、攻撃者にデータ全体へのアクセスは与えられない。これは、データが安全でない、又は信頼できない配布チャネルを介して送信される場合に追加の保護を与える。発信及び宛先ポイント／パーティのいかなる人的ユーザにもキーが公開される必要はなく、有利である。
【００２３】
本発明の好適な実施形態は、Ｊａｖａ及びモバイル・エージェント技術、より具体的にはアグレッツ（Ａｇｌｅｔｓ）などの、実績があり一般的な移動可能技術を使用する。アグレッツは、当技術分野では既に周知であり、ＩＢＭ（ＩＢＭ社の登録商標）東京基礎研究所の研究者により発明され、商業出版及び学術出版両方で広く公表されているが、それ及びその使用に関し少し記載すると役立つかもしれない。アグレッツ・ソフトウェア・デベロッパーズ・キット（ＡＳＤＫ：Ａｇｌｅｔ  Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｅｒ’ｓ  Ｋｉｔ）は、オープン・ソース・ライセンスのもとで無料で提供され、その使用に関心があるソフトウェア開発者がワールド・ワイド・ウェブからダウンロードできる。簡単に説明すると、アグレッツは、特定の「刺激」に応答してそれ自体をインスタンス化し、続いてそれ自体をリモート・システムに自律的に送信するためにそのプログラム・コード及びデータをシリアライズする（ｓｅｒｉａｌｉｚｉｎｇ）ことにおいて、アグレッツ自体が自律した形で機能できるようにする、定義済みのメソッドのセットを備えるエージェント・オブジェクトである。アグレッツはさらに、多様な目的のためにそれ自体の複製を作ることができる。その目的の１つは、自らのコピーをリモート・システムに転送可能にするためである。アグレッツは、そのホスト・システム、及びさらに同じホスト・システムに存在している他のアグレッツと、特定の制約付きの形で通信する機能など、プログラムでアクティブ化可能なさらなる機能を有する。
【００２４】
ＡからＢへ安全に送信されるべきデータは、記載したアグレッツなどの複数のモバイル・エージェントによって処理される。データは、エージェントの作成が可能な安全なエージェント環境に平文として渡されることから始まる。エージェントは、それらの間にソース・データを分割し、それぞれがそのフラグメントをそれ自体のキーを用いて暗号化する。フラグメント化は、何れか１つのフラグメントが万一解読されても、理解可能な形式のデータがまだ不十分で、有用とはならないことを保証するために、必要なだけ複雑にすることができる。例えば、非常に単純なフラグメント化として、データを２つのフラグメントに分割し、この場合、各フラグメントが１つおきのワード、すなわちワード１、３、５、７．．．及びワード２、４、６、８．．．を含むようにすることが考えられる。
【００２５】
フラグメント化の時点で、各エージェントは、関与する他のエージェントの数、及びそのアイデンティティ、及びそれらがそれぞれ、どの特定のフラグメントを担当するかを認識する。
【００２６】
続いてエージェントは、その暗号化されたデータ・フラグメントを、それらがそれぞれ選んだ何れかのルーティング経路を使用して宛先へ送信する。次に、エージェントは、それ自体を宛先エージェント環境に伝搬する。続いて、安全な宛先環境が、もとのフラグメント及びエージェントがすべて到着するまで、データ・フラグメント及びエージェントをホストする。待機中、各エージェントは、それ自体のデータ・フラグメントを点検し、他のエージェントと対話して、既知の発信エージェントがすべて到着したこと、及びこれらエージェントそれぞれが、その個別のデータ・フラグメントをペイロードとして有すると確認することを、それぞれが確かめる。これが行われると、続いてエージェントは、それ自体のデータ・フラグメントを個別に復号することができ、続いて、協働してフラグメントを再び統合して全体を形成することができる。
【００２７】
どの時点においても、暗号化キーは１つも公開されないため、データがシームレスに、１つの安全な環境から別の安全な環境へ、効果的な自動の暗号化及び復号を用いて送信されることが可能である。さらに、データが任意の期間にわたり分散して到着するように、システムに計画的な時間遅延を導入することができる。エージェントは、所与の日時までデータを復号するために協働しないようにソースにて指示されることが可能であるため、最後のフラグメントの到着が最終的な復号時間である必要もない。
【００２８】
ソース及び宛先は、モバイル・エージェント及びデータをホストできる安全な環境からなる。安全に伝送されるべきデータは、好適にはフラグメント数、時間パラメータ、及び使用される伝送ルートの数などの他の適切なパラメータとともに、安全な環境に取り込まれる。
【００２９】
パラメータ及びデータは、マスタ・エージェント／アグレッツによって処理されることが好ましい。マスタ・エージェントの目的は、以下の通りである。
【００３０】
１．パラメータ及びデータのタイプから、必要なエージェントの数を決定すること。追加のパラメータ若しくは要素又はその両方を、利用可能なリソース及びその他任意の外部要素を考慮して、マスタ・エージェント・ルール・セットに従い計算可能である。
【００３１】
２．所望の数のエージェント／アグレッツの作成／発生。
【００３２】
３．すべてのエージェントに、ターゲット位置でエージェントが相互に認識及び通信できるようにする固有の識別子キーを与えること。必要に応じて、このキー、又は別の割り当てられたキーは、エージェント間通信の暗号化にも使用可能である。
【００３３】
４．ソース・データをスライス／フラグメント化し、各サブ・エージェントに、その関連するデータと、そのデータがどのようにフラグメント化されたかを示すメタデータを与えること。フラグメント化は、単純なもの又は複雑なものとすることができるであろう。複雑なものの例として、例えば、制約付き疑似乱数生成器によって決定された長さ間隔でデータから連続した各ヘッド・セグメントが切り取られる、ｈｅａｄ及びｔａｉｌ関数のループする組み合わせを使用して、異なる長さのセグメントを生成することが可能であろう。
【００３４】
サブ・エージェント／アグレッツは、その割り当てられたデータ・フラグメントを、自己生成したランダム・キー及び選択したアルゴリズムを用いて暗号化し、続いてデータ・フラグメントを所望の宛先へ送信／ルーティングする。続いてサブ・エージェント／アグレッツは、それ自体を、可能であれば別のルートでターゲット位置へ伝搬する。エージェントは、データと同じ時間フレーム内にならないように、その出発を遅らせることができる。フラグメント化、暗号化、及び伝搬段階における協働プロセスの一部として、エージェントは続いて、すべてがターゲット宛先へ同じ接続及びルートを使用しないこと、又はそうしたルートを適切な遅延を用いて使用し、場所及び時間的共存の可能性を低くすることを確実にすることができる。
【００３５】
安全な環境に到着すると、データ及びエージェントは、すべてのパーティが存在するまで、ホストされる／集められる。エージェントは、互いに通信して、それぞれが完全なまま到着しセキュリティ侵害がないことを確認して、続いてフラグメント復号及び再組み立てプロセスで協働して、もとの形式のもとのデータを再構築するよう動作可能である。
【００３６】
以下、図１を参照する。本発明の現在好適な実施形態による装置を示すブロック・レベル・デバイス図が示されている。
【００３７】
図１は、送信側アグレッツ環境１００を示し、これは、ネットワークと連携可能であり、入力メッセージ１０２を受信する。入力メッセージ１０２を受信すると、マスタ・アグレッツ１０４はインスタンス化され、シーケンス・メタデータを用いて識別される一連のフラグメントへと、メッセージ・スプリッタ−シーケンサ１０６によりメッセージを分割するための、メソッドの呼び出しを生じさせる。マスタ・アグレッツ１０４は、ここではアグレッツ１、アグレッツ２．．．として示されている複数のアグレッツ１１２、１１２’を発生させる。アグレッツの数は、上述の通り決定されるが、図面の理解を容易にして記載を簡潔にするために、ここでは２つのみが示されている。アグレッツ１１２、１１２’は、キー・ジェネレータ１０８、１０８’によってキーを生成するためのメソッドを呼び出し、暗号化器／復号器１１０、１１０’のメソッドを呼び出すことによって、アグレッツの、メッセージの個別のフラグメントを暗号化するよう動作可能である。アグレッツ１１２、１１２’が送信側アグレッツ環境にてインスタンス化されるとき、メッセージ再結合器１２２、１２２’によってメッセージ・フラグメントを再結合するためのさらなるメソッドは無効化される。当業者であれば当然のことであるが、アグレッツは、アグレッツがインスタンス化される環境、並びに外部から若しくは内部で生じる他の刺激によって有効化又は無効化される複数のメソッドを含むとよい。
【００３８】
アグレッツ１１２、１１２’は、それ自体が、例えばインターネットなどの広域ネットワークなどのネットワークで、送信側アグレッツ環境１００から受信側アグレッツ環境１１６へ伝送されるようにするよう動作可能である。アグレッツ１１２、１１２’は、その暗号化されたデータ・フラグメントを、データ・ペイロードとして運んでもよく、又はそのデータ・ペイロードを、ネットワークをわたって別個に送信して、それを受信側アグレッツ環境１１６にてネットワークから受信するよう動作してもよい。
【００３９】
アグレッツ環境１１６に到着すると、アグレッツ１１２、１１２’は、アクティブ化されて、当技術分野で周知の方法を使用して互いに通信するよう動作可能である。アグレッツ１１２、１１２’は、すべてのメッセージ・フラグメントを復号及び再組み立てできるよう、関係するアグレッツがすべて受信側アグレッツ環境に到着したとき（及び任意選択で任意の別個に伝送されたデータが到着したとき）に、それを判断するために連携する。あるいは、すべてのフラグメントが到着しても、アグレッツ１１２、１１２’は、何らかの所定の時間までさらなる処理を遅らせてもよい。すべてのアグレッツ１１２、１１２’の準備ができると、それらは、暗号化器／復号器メソッド１１０、１１０’を呼び出して、その個別のフラグメントを復号し、続いて、メッセージ再結合器メソッド１２２、１２２’を呼び出して、メッセージ・スプリッタ−シーケンサ１０６により、アグレッツとともにパッケージ化されたシーケンス・メタデータに従ってフラグメントを再結合する。アグレッツ１１２、１１２’は、その復号及び再結合メソッドが完了すると、復号及び再組み立てされたメッセージ１２４を提供するよう動作可能である。
【００４０】
以下、図２を参照する。現在好適な実施形態による方法の伝送部分のステップが示されている。図２はさらに、コンピュータ・プログラム製品において本発明の現在好適な実施形態を実装するのに必要なコンピュータ・プログラム・コード・ステップを示すが、簡潔にするために、ここでは方法ステップを記載する。プログラミング技術の当業者であれば当然のことであるが、本方法は、論理的方法ステップそれぞれを実装するプログラム・コード手段における実施形態に適する。
【００４１】
本方法は、開始ステップ２００にて始まり、ステップ２０２にて、平文メッセージ１０２が送信側アグレッツ環境１００に受信される。ステップ２０４にて、メッセージ・スプリッタ−シーケンサ１０６によってメッセージをフラグメントへと分割するプロセスが始まる。ステップ２０４にて、ヘッド・テール・プロセス（ｈｅａｄ−ａｎｄ−ｔａｉｌ  ｐｒｏｃｅｓｓ）を使用して、ヘッド・フラグメントがテール・フラグメントから分割され、ステップ２０６にて、そのペイロードとしてヘッド・フラグメントを備えるアグレッツが発生させられ（作成され）る。テスト・ステップ２０８にてテールが空である、すなわち処理するべきメッセージのフラグメントがそれ以上ないと決定されるまで、次のヘッド・フラグメントの処理によりステップ２０４、２０６が実行される。ステップ２１０にて、各アグレッツのキー・ジェネレータ関数１０８、１０８’．．．が呼び出され、ステップ２１２にて、各アグレッツの暗号化関数１１０、１１０’．．．が呼び出される。ステップ２１４にて、各アグレッツの伝送関数が呼び出され、終了ステップ２１６にて、好適な実施形態の方法の伝送部分が完了する。
【００４２】
以下、図３を参照する。現在好適な実施形態による方法の受信部分のステップが示されている。図３はさらに、コンピュータ・プログラム製品において本発明の現在好適な実施形態を実装するのに必要なコンピュータ・プログラム・コード・ステップを示すが、簡潔にするために、ここでは方法ステップを記載する。プログラミング技術の当業者であれば当然のことであるが、本方法は、論理的方法ステップそれぞれを実装するプログラム・コード手段における実施形態に適する。
【００４３】
本方法は、開始ステップ３００にて始まり、ステップ３０２にて、アグレッツ１１２、１１２’．．．が受信側アグレッツ環境１１６に到着する。関係するアグレッツを発見ステップ３０４、「すべて存在？」テスト・ステップ３０６、及び待機ステップ３０８を含む反復が、関係するアグレッツ１１２、１１２’．．．すべてが受信側アグレッツ環境１１６に存在することを確かめる機能を実行する。テスト・ステップ３１０にて、各アグレッツ１１２、１１２’．．．によってペイロードとして運ばれるメッセージ・フラグメントの復号関数１１０、１１０’．．．が呼び出され、プロセスは、テスト・ステップ３１２、待機ステップ３１４、及び復号ステップ３１０を、すべてのメッセージ・フラグメントが復号されるまで反復する。ステップ３１６にて、各アグレッツの再結合関数１２２、１２２’．．．が呼び出され、このプロセスは、シーケンスが完成するまで、すなわち、復号されたメッセージ・フラグメントが平文又は復号化されたメッセージ１２４へと再結合されるまで、テスト・ステップ３１８を経由して反復する。ステップ３２０にて、復号及び再結合されたメッセージが返され、終了ステップ３２２にて、本方法の受信部分が完了する。
【００４４】
当業者であれば当然のことであるが、本発明の好適な実施形態の方法の全部又は一部は、方法のステップを実行するよう配列された論理要素を含む論理装置又は複数の論理装置において、適切かつ有用な形で具現化されてもよく、このような論理要素は、ハードウェア・コンポーネント、ファームウェア・コンポーネント又はそれらの組み合わせを含んでもよい。
【００４５】
同様に、当業者であれば当然のことであるが、本発明の好適な実施形態による論理配列の全体又は一部は、方法のステップを実行する論理要素を含む論理装置において、適切な形で具現化されてもよく、このような論理要素は、例えばプログラマブル論理アレイ又は特定用途向け集積回路の、論理ゲートなどのコンポーネントを含み得る。このような論理配列はさらに、例えば、固定キャリア媒体又は伝送可能キャリア媒体を使用して記憶及び伝送され得る仮想ハードウェア記述言語を使用して、このようなアレイ又は回路において論理構造を一時的又は恒久的に確立することを可能にする構成要素において具現化されてもよい。
【００４６】
当然のことながら、上述の方法及び配列はさらに、１つ以上のプロセッサ（図示せず）上で実行されるソフトウェアにおいて、完全に又は部分的に適切な形で実行されてもよく、このソフトウェアは、磁気ディスク、又は光ディスク又は同様のものなど、任意の適切なデータ・キャリア（同じく図示せず）で運ばれる１つ以上のコンピュータ・プログラム要素の形態で提供されてもよい。同じく、データ伝送用のチャネルも、あらゆる種類の記憶媒体、並びに有線又は無線の信号伝達媒体などの信号伝達媒体を含んでもよい。
【００４７】
メソッドは、一般に、所望の結果につながる、自己矛盾のないステップのシーケンスと考えられる。こうしたステップは、物理量の物理的操作を必要とする。必ずではないが通常、この量は、記憶、転送、結合、比較、及び他の形で操作可能な電気信号又は磁気信号の形態をとる。主に一般的な利用の理由から、こうした信号を、ビット、値、パラメータ、項目、要素、オブジェクト、シンボル、文字、項、数などと呼ぶことが便利なこともある。なお、こうした用語及び同様の用語はすべて、適切な物理量に関連するものであり、こうした量に適用された便利なラベルにすぎないことに留意されたい。
【００４８】
本発明は、さらに、コンピュータ・システムで使用するコンピュータ・プログラム製品として適切に具現化されることもできる。そのような実装に含まれ得るのは、例えばディスケット、ＣＤ−ＲＯＭ、ＲＯＭ若しくはハード・ディスクなどのコンピュータ可読媒体のような有形媒体に固定された一連のコンピュータ可読命令、又は、モデム若しくはその他のインターフェイス・デバイスを介して、光通信回線若しくはアナログ通信回線を含むがこれらに限定されない有形媒体上でコンピュータ・システムへ伝送できるか、若しくはマイクロ波、赤外線伝送技術又はその他の伝送技術を含むがこれらに限定されない無線技術を使用して無形の状態でコンピュータ・システムへ伝送できる、一連のコンピュータ可読命令である。一連のコンピュータ可読命令は、本願明細書において前述した機能性の全部又は一部を具現化する。
【００４９】
当業者には当然のことながら、このようなコンピュータ可読命令は、多数のコンピュータ・アーキテクチャ又はオペレーティング・システムで使用されるよういくつかのプログラミング言語で書くことが可能である。さらに、このような命令は、現在のものでも将来のものでも、半導体、磁気、若しくは光学を含むがこれらに限定されない任意のメモリ技術を使用して格納されてもよく、又は、現在のものでも将来のものでも、光、赤外線若しくはマイクロ波を含むがこれらに限定されない任意の通信技術を使用して伝送されてもよい。このようなコンピュータ・プログラム製品は、例えば市販のソフトウェアなど取り外し可能な媒体として添付の印刷文書又は電子文書とともに配布されても、例えばシステムＲＯＭ上又は固定ディスク上など、コンピュータ・システムにプレインストールされても、又は、例えばインターネット若しくはワールド・ワイド・ウェブなどのネットワーク上でサーバ若しくは電子掲示板から配布されてもよいと考えられる。
【００５０】
１つの選択肢として、本発明の好適な実施形態は、コンピュータ・インフラストラクチャに展開されそこで実行されると、前記コンピュータ・システムに方法のすべてのステップを実行させるよう動作可能なコンピュータ・プログラム・コードを展開するステップを含むサービスを展開する、コンピュータに実装された方法の形態で実現されてもよい。
【００５１】
さらなる選択肢として、本発明の好適な実施形態は、機能（ｆｕｎｃｔｉｏｎａｌ）データを有するデータ・キャリアの形態で実現されてもよく、前記機能データは、機能コンピュータ・データ構造を含み、機能コンピュータ・データ構造は、コンピュータ・システムにロードされ、それによってコンピュータ・システム上で動作させられると、前記コンピュータ・システムが、本方法のすべてのステップを実行できるようにする。
【００５２】
当業者であれば当然のことであるが、本発明の範囲を逸脱することなく、前述の例示的実施形態に多数の改善及び変更を加えることができる。
【図１】
2013501394.tif 000003
【図２】
2013501394.tif 000004
【図３】
2013501394.tif 000005
【国際調査報告】
2013501394.tif 000006
2013501394.tif 000007
2013501394.tif 000008