(57)【要約】【課題】本発明は、顧客の発信元要求を、安全に処理するための方法およびシステムを提供する。【解決手段】この発信元要求は、少なくとも一つの第１のエンティティに送信できる。この発信元要求を処理するための方法は、ａ）顧客から、前記発信元要求を、前記もしくはそれぞれの第１のエンティティに送信するステップと、ｂ）前記もしくはそれぞれの第１のエンティティを、コンピュータを使用したエンティティに接続するステップと、ｃ）前記もしくはそれぞれの第１のエンティティによって、発信元要求の受信時に、発信元要求に関する情報を追加し、そのことにより、第１の変更済要求を作成するステップと、ｄ）前記第１の変更済要求の少なくとも一部を、少なくともコンピュータを使用したエンティティに送信するステップと、ｅ）前記コンピュータを使用したエンティティによって前記第１の変更済要求の少なくとも一部を受信した後、前記第１の変更済要求の少なくとも一部からコンピュータを使用したエンティティ結果を獲得するステップと、ｆ）前記コンピュータを使用したエンティティ結果の少なくとも一部を、前記もしくはそれぞれの第１のエンティティに送信するステップと、ｇ）前記コンピュータを使用したエンティティ結果を、前記もしくはそれぞれの第１のエンティティによって受信した後、そこから第１のエンティティ結果を獲得し、少なくともその一部を転送するステップと、ｈ）前記顧客によって前記第１のエンティティ結果の少なくとも一部を受信した後、そこから顧客結果を獲得するステップとを含む。【選択図】図１
2004513542.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの第１のエンティティ（Ｈ）に送信可能な、顧客（Ｏ）の発信元要求（ＯＲ）を処理する方法であって、
ａ）　前記発信元要求（ＯＲ）を、前記顧客（Ｏ）から、前記もしくはそれぞれの第１のエンティティ（Ｈ）へ送信するステップと、
ｂ）　前記もしくはそれぞれの第１のエンティティ（Ｈ）を、コンピュータ使用エンティティ（Ｔ）に接続するステップと、
ｃ）　前記もしくはそれぞれの第１のエンティティ（Ｈ）によって、前記発信元要求（ＯＲ）の受信時に、前記発信元要求（ＯＲ）に関する情報（Ｉ）を追加し、そのことにより、第１の変更済要求（ＦＭＲ）を作成するステップと、
ｄ）　前記第１の変更済要求（ＦＭＲ）の少なくとも一部を、少なくとも前記コンピュータ使用エンティティ（Ｔ）へ送信するステップと、
ｅ）　前記コンピュータ使用エンティティ（Ｔ）によって、前記第１の変更済要求（ＦＭＲ）の少なくとも一部を受信した後、前記第１の変更済要求（ＦＭＲ）の前記少なくとも一部から、コンピュータ使用エンティティ結果（ＣＥＲ）を得るステップと、
ｆ）　前記もしくはそれぞれの第１のエンティティ（Ｈ）に、前記コンピュータ使用エンティティ結果（ＣＥＲ）の少なくとも一部を送信するステップと、
ｇ）　前記もしくはそれぞれの第１のエンティティ（Ｈ）によって、前記コンピュータ使用エンティティ結果（ＣＥＲ）の少なくとも一部を受信した後、そこから、第１のエンティティ結果（ＦＥＲ）を導出し、少なくともその一部を転送するステップと、
ｈ）　前記顧客（Ｏ）によって、前記第１のエンティティ結果（ＦＥＲ）の少なくとも一部を受信した後、そこから、顧客結果（ＣＲ）を得るステップと、
を含む、方法。
【請求項２】
ベンダ（Ｈ）によって、顧客（Ｏ）の発信元要求（ＯＲ）を処理するための方法であって、
ａ）　前記顧客（Ｏ）から、前記発信元要求（ＯＲ）を受信し、前記発信元要求に関する情報（Ｉ）を追加し、そのことによって、第１の変更済要求（ＦＭＲ）を作成するステップと、
ｂ）　前記第１の変更済要求（ＦＭＲ）の少なくとも部分を、コンピュータ使用エンティティ結果（ＣＥＲ）を導出し、少なくともその一部を戻す、少なくともコンピュータ使用エンティティ（Ｔ）に送信するステップと、
ｃ）　前記第１のエンティティ（Ｈ）によって、前記コンピュータ使用エンティティ結果（ＣＥＲ）の少なくとも一部を受信した後、そこから第１のエンティティ結果（ＦＥＲ）を導出し、少なくともその一部を転送し、そのことによって、前記顧客（Ｏ）が、前記第１のエンティティ結果（ＦＥＲ）の少なくとも一部から顧客結果（ＣＲ）を導出することが可能である、
方法。
【請求項３】
コンピュータ使用エンティティ（Ｔ）によって、顧客（Ｏ）からの、発信元要求（ＯＲ）の少なくとも一部を含んでいる、少なくとも一つの第１のエンティティ（Ｈ）からの第１の変更済要求（ＦＭＲ）を、処理するための方法であって、
ａ）　前記もしくはそれぞれの第１のエンティティ（Ｈ）から、前記第１の変更済要求（ＦＭＲ）を受け取るステップと、
ｂ）　前記第１の変更済要求（ＦＭＲ）の少なくとも一部から、コンピュータ使用エンティティ結果（ＣＥＲ）を得るステップと、
ｃ）　第１のエンティティ結果（ＦＥＲ）を導出し、少なくともその一部を転送する、前記もしくはそれぞれの第１のエンティティ（Ｈ）に、前記コンピュータ使用エンティティ結果（ＣＥＲ）の少なくとも一部を送信し、そのことにより、前記顧客（Ｏ）が、前記第１のエンティティ結果（ＦＥＲ）の少なくとも一部から、顧客結果（ＣＲ）を得ることが可能である、
方法。
【請求項４】
発信元要求（ＯＲ）を処理するための方法であって、
ａ）　前記発信元要求（ＯＲ）を作成するステップと、
ｂ）　前記発信元要求（ＯＲ）を、少なくとも一つの第１のエンティティ（Ｈ）に送信し、そのことにより、前記もしくはそれぞれの第１のエンティティ（Ｈ）が、前記発信元要求（ＯＲ）に関する情報（Ｉ）を追加し、この場合に、第１の変更済要求（ＦＭＲ）を作成し、前記第１の変更済要求（ＦＭＲ）の少なくとも一部を、そこからコンピュータ使用エンティティ結果（ＣＥＲ）を導出する、少なくともコンピュータ使用エンティティ（Ｔ）に送信し、前記コンピュータ使用エンティティ結果（ＣＥＲ）の少なくとも一部を、そこから第１のエンティティ結果（ＦＥＲ）を得る前記もしくはそれぞれの第１のエンティティ（Ｈ）に送信し、少なくともその一部を転送するステップと、
ｃ）　前記第１のエンティティ結果（ＦＥＲ）の前記少なくとも一部を受信した後、そこから、顧客結果（ＣＲ）を得るステップと、
を含む方法。
【請求項５】
前記要求（ＯＲ，ＦＭＲ）および結果（ＣＥＲ，ＦＥＲ）に、暗号化操作を適用するステップをさらに含む、請求項１から請求項４のうちの一つに記載の方法。
【請求項６】
前記発信元要求（ＯＲ）を作成するステップが、暗号化回路構造（Ｃ）を適用することを含む、請求項４に記載の方法。
【請求項７】
前記プログラムの、コンピュータ上での実行時に、請求項１から請求項６のうちのいずれか一つに記載の方法を実施するためのプログラムコード手段を含む、コンピュータプログラム要素。
【請求項８】
コンピュータが、請求項１から請求項６のいずれか一つに記載の方法を実施するための、コンピュータ可読プログラム手段を含む、コンピュータで使用可能な媒体に記憶されたコンピュータプログラム製品。
【請求項９】
発信元要求（ＯＲ）を処理するためのシステムであって、
少なくとも一つの第１のエンティティ（Ｈ）に接続された顧客（Ｏ）と、
少なくとも前記第１のエンティティ（Ｈ）に接続されたコンピュータ使用エンティティ（Ｔ）とを含み、
前記顧客（Ｏ）が、前記発信元要求（ＯＲ）を、前記発信元要求（ＯＲ）に関する情報（Ｉ）を追加し、第１の変更済要求（ＦＭＲ）を作成し、前記第１の変更済要求（ＦＭＲ）の少なくとも一部を、少なくとも前記コンピュータ使用エンティティ（Ｔ）に送信する、前記もしくはそれぞれの第１のエンティティ（Ｈ）に送信し、、前記コンピュータ使用エンティティ（Ｔ）が、前記第１の変更済要求（ＦＭＲ）の前記少なくとも一部から、コンピュータ使用エンティティ結果（ＣＥＲ）を導出し、前記コンピュータ使用エンティティ結果（ＣＥＲ）の少なくとも一部を、前記もしくはそれぞれの第１のエンティティ（Ｈ）に送信し、前記もしくはそれぞれの第１のエンティティ（Ｈ）が、前記コンピュータ使用エンティティ結果（ＣＥＲ）の前記少なくとも部分から、第１のエンティティ結果（ＦＥＲ）を導出し、少なくともその一部を転送し、
前記顧客（Ｏ）が、前記第１のエンティティ結果（ＦＥＲ）の少なくとも一部から、顧客結果（ＣＲ）を導出可能である、
システム。
【請求項１０】
前記発信元要求（ＯＲ）が、暗号化のフォームの形の関数を含んでいる、請求項９に記載のシステム。
【請求項１１】
前記暗号化のフォームの形の関数が、暗号化の回路構造（Ｃ）を含んでいる、請求項１０に記載のシステム。
【請求項１２】
前記発信元要求（ＯＲ）が、モバイルコードの一部である、請求項９に記載のシステム。
【請求項１３】
前記発信元要求（ＯＲ）、前記第１の変更済要求（ＦＭＲ）、前記コンピュータ使用エンティティ結果（ＣＥＲ）、および第１のエンティティ結果（ＦＥＲ）が、暗号化の部分を含んでいる、請求項９に記載のシステム。
【請求項１４】
前記発信元要求（ＯＲ）が、申し出、顧客情報、購買情報のうちの、一つまたは複数の情報を含んでいる、請求項９から請求項１３のいずれかに記載のシステム。
【請求項１５】
前記第１のエンティティ（Ｈ）が、発信元要求（ＯＲ）の受諾に関する、サービスおよび／または顧客情報を提供する、ウェブサーバを含んでいる、請求項９に記載のシステム。
【請求項１６】
前記顧客結果（ＣＲ）が、発信元要求（ＯＲ）の受諾に関する、第１のエンティティ情報を含んでいる、請求項９に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、顧客の要求を処理する方法およびシステムに関する。より詳細には、本発明は、モバイルエージェントの暗号セキュリティに関する。
【０００２】
【従来の技術】
増大しつつあるネットワークの世界では、モバイルコードは、ますます重要になりつつあるプログラミングパラダイムである。モバイルコードは、分散システムでの計算を調整する構造に、順応する方法を提供する。現在では、インターネットは、モバイルコードの簡単なフォームのみを表すＪａｖａ（Ｒ）アプレットのような、モバイルコードフラグメントで満ちている。
【０００３】
モバイルエージェントとは、ユーザに代わって、情報を、連続的に、収集、フィルタリングおよび処理をするための、自律的に機能するモバイルコードである。モバイルエージェントは、変化する環境、自律動作に反応するような、エージェントパラダイムによる利益を、遠隔コードを実行する特徴と組み合わせる。すなわち、モバイルエージェントは、コンピュータネットワーク内で動作し、その目的を達成するために、必要なときは、サーバ間を移動可能である。重要なアプリケーションは、帯域幅が制限されもしくはユーザが接続を切っている状態での、大型リポジトリーからのデータ検索、およびソフトウェアおよびネットワーク構成管理の、モバイル計算を含んでいる。インターネットをローミングするモバイルエージェントの構想は、大規模のアプリケーションにこのパラダイムを組み込むと、直ちに実現することができる。
【０００４】
モバイルコードは、一つのエンティティ（「発信元」と呼ぶ）によって作成されるプログラムとして解され、次に、あるエンティティ、そのホストに、ホストによって実行される直前に、伝送される。換言すれば、インストールを実行しもしくはセットアップルーチンを実行するような、マニュアルの介在を、ホストのために要求されずに、モバイルコードの実行準備が整う。さらに、モバイルエージェントは、発信元からの接続を切った状態で、連続して自律的に動作可能であり、その有効時間中に、他のホストに自由に移動する。このようなエージェントを、巡回（ｉｔｉｎｅｒａｎｔ）エージェントとも呼ぶ。モバイルコードは、さまざまなセキュリティの脅威にさらされている。悪意のあるホストが、コードを調べ、エージェントによって行われる秘密を知ることを試み、この知識を、不当な利益を得るために、エージェントとの対話に利用することができる。ホストは、計算結果の改ざんも試みるかもしれない。
【０００５】
モバイルコードの分野で生じる、セキュリティの問題が少なくとも２つある。それは、（１）ホストを、悪意のあるコードから保護すること、（２）コードを、悪意のあるホストから保護すること、である。この第１の問題は、コンピュータウィルスや、トロイの木馬が差し迫った脅威であるために、かなり注目されている。現在の解決策は、いわゆるサンドボックス内で、密にアクセスを制御をしてモバイルコードを実行し、コード生成者との信頼関係を使用するために、コード署名を適用することである。
【０００６】
モバイルコードを保護することは、Ｔ．ＳａｎｄｅｒとＣ．Ｆ．Ｔｓｃｈｕｄｉｎが、彼らの論文「Ｐｒｏｔｅｃｔｉｎｇ ｍｏｂｉｌｅ ａｇｅｎｔｓ ａｇａｉｎｓｔ ｍａｌｉｃｉｏｕｓ ｈｏｓｔｓ，Ｍｏｂｉｌｅ Ａｇｅｎｔｓ ａｎｄ Ｓｅｃｕｒｉｔｙ」（Ｇ．Ｖｉｇｎａ、ｅｄ）、Ｌｅｃｔｕｒｅ Ｎｏｔｅｓ ｉｎ Ｃｏｍｐｕｔｅｒ Ｓｃｉｅｎｃｅ、ｖｏｌ． １４１９、Ｓｐｒｉｎｇｅｒ，１９９８年に、記載したように、理論的な暗号化からのツールが、非承認ホスト上で暗号化されたフォームの形のモバイルコードを実行するのに有効であり得ることに気付くまでは、幾人かのモバイルコードの研究者には、不可能だと考えられていた。いわゆる安全な計算のためのほとんどのプロトコルは、数ラウンドの双方向の対話を必要とするが、それらは、モバイルアプリケーションのための安全およびその出力のための保全を達成するためには、適用不可能である。ＳａｎｄｅｒとＴｓｃｈｕｄｉｎは、多項式として表現可能な関数のみが、この方式で安全に計算できると結論付けた。Ｓａｎｄｅｒ等の次の仕事は、Ｔ．Ｓａｎｄｅｒ、Ａ，ＹｏｕｎｇおよびＭ．Ｙｕｎｇにより「Ｎｏｎ−Ｉｎｔｅｒａｃｔｉｖｅ ＣｒｙｐｔｏＣｏｍｐｕｔｉｎｇ ｆｏｒ ＮＣ」Ｐｒｏｃ． ４０ｔｈ ＩＥＥＥ Ｓｙｍｐｏｓｉｕｍ ｏｎ Ｆｏｕｎｄａｔｉｏｎｓ ｏｆ Ｃｏｍｐｕｔｅｒ Ｓｃｉｅｎｃｅ（ＦＯＣＳ）、 １９９９年に、記載されたような、ロガリズムレベルの回路によって計算可能である全ての関数に、この方式を展開することである。
【０００７】
コードの上位のフォームは、ホスト上のいくつかの直接のアクションを実行する、アクティブモバイルコードである。このことにより、暗号化の計算についての情報がしばしばホストに漏洩する。そのため、どの出力も、発信元のみが受け取らなければならない。
【０００８】
アクティブモバイルコードにともなう基本的な問題は、悪意のあるホストが計算の出力を見ることができ、異なる入力を使って再び簡単にこのコードを実行できることである。悪意のあるホストに対抗するアクティブモバイルコードのための現存する防御は、承認されたハードウェアを使用することのみである。このことは、モバイルコードを、改ざんを防止するように処理されたハードウェアの内部で排他的に実行し、承認された環境を出るときは、できるだけ速やかに暗号化することを、提案したものであり、および、そのことを必要とするものである。
【０００９】
ＵＳ特許登録番号６，０２６，３７４は、販売人の利益を危うくする可能性のある、全ての情報製品のコンテンツを開示することなく、潜在的な消費者に、情報製品についての説明を提供する、信頼のおける第三者機関を使用するシステムおよび方法に関する。この消費者は、第三者機関が、売買のための情報の正確な記述を与えていると信じており、一方、販売人はこの第三者機関が、情報製品のコンテンツの量を過度に示すことはないと信じている。このシステムは、情報製品の販売人、このような製品の消費者、および、信頼の置ける第三者機関の要約を含むことができ、それぞれは、インターネットなどの通信ネットワーク中のノードとして動作する。このシステムおよび方法の不利な点は、この第三者機関が、信頼できる機関でなければならず、この第三者機関が全てについての情報および知識を得なければならないことである。このことは、前記第三者機関がクラックを受けた場合は、危険になる可能性がある。さらに、消費者の要求を処理するために、いくつかのメッセージが必要となる。
【００１０】
【発明が解決しようとする課題】
本発明は、発信元が顧客の要求を、すなわち、顧客によって開始されている要求を、安全に処理するための、方法およびシステムを提供する。この発信元の要求は、少なくとも一つの第１のエンティティに向けて、モバイルコードもしくはモバイルエージェントに含めて送られる。発信元の要求を処理するための方法は、ａ）顧客、すなわち顧客のデバイスの形態から、発信元の要求を、前記のもしくはそれぞれの第１のエンティティへ送信するステップと、ｂ）前記のもしくはそれぞれの第１のエンティティを、コンピュータ使用エンティティに接続するステップと、ｃ）前記のもしくはそれぞれの第１のエンティティによって、発信元の要求の受信時に、発信元の要求に関する情報を追加し、そのことによって、第１の変更済要求を作成するステップと、ｄ）第１の変更済要求の少なくとも一部を、この第１の変更済要求の少なくとも一部から得たコンピュータ使用エンティティ結果から導出する、計算機を使用したエンティティによって、受信するステップと、ｆ）前記のもしくはそれぞれの第１のエンティティへ、このコンピュータ使用エンティティの結果の少なくとも一部を送信するステップと、ｇ）前記のもしくはそれぞれの第１のエンティティによって、第１のエンティティ結果から導出する、コンピュータ使用エンティティ結果の少なくとも一部が受信された後に、少なくともその部分を転送するステップと、ｈ）顧客結果から導出した顧客によって、この第１のエンティティ結果の少なくとも一部を受信するステップである。
【００１１】
【課題を解決するための手段】
顧客のみが、この計算結果を知ることには利点があり、そのことにより、他のエンティティもしくはホストは、それらに向けたれた結果を除いて、何も知ることができない。この発信元の要求を含んでいるモバイルコードもしくはモバイルエージェントは、いくつかのエンティティに向けて、ネットワーク中に送信され、そのことにより、このコードもしくは少なくともコードのフラグメントは、前記第１のエンティティのいずれのクライアントハードウェアを追加することなく、安全に実行できる。セキュリティは、一般の独立したエンティティである、コンピュータ使用エンティティを介して、取得する。この独立したエンティティは、モバイルエージェントの代わりに暗号化の計算を実施する、コンピュータを使用したサービスであることができるが、暗号化の計算については何も知らない。この独立したエンティティは、多くの異なるアプリケーションとして働くことができ、その場合、アプリケーションを展開する前に、その用法について何も知る必要はない。プライバシと同時に、モバイルエージェントのための認証を、達成することができる。さらに、計算サービス自体は、この計算について何も知らず、コードの発信元もしくは第１のエンティティと共謀することはないと推測される。
【００１２】
この独立したエンティティは、特定のサービスに、または、アプリケーションコンテクストに、結び付けられるものではなく、普遍的なものである。たとえば、安全なコンピュータを使用したサーバを、独立したエンティティによって設定し、操作することができる。
【００１３】
この方法およびシステムは、ソフトウェアとそれに必要なハードウェアに基づくことができ、したがって、特別のハードウェアを関与させるどの解決策と比較しても、低コストで構築し、操作することができる。
【００１４】
暗号化操作は、この要求もしくは結果を含んでいる、モバイルエージェントに適用できる。したがって、モバイルエージェントに対しての保全性を、有益に保証できる。
【００１５】
暗号化回路構造を適用することによって、発信元の要求が作成される場合は、要求を安全に計算することが達成され、その要求の発信元が、どれだけの量の情報をエンティティが受信しなければならないかを決めることができるという、利点が生じる。
【００１６】
発信元の要求は、暗号化フォームの関数を含むことができる。このことは、発信元の要求を処理する他のエンティティが、これらのエンティティに向けられた結果以外の有効な情報を、そこから引き出すことができないので、有利である。
【００１７】
発信元の要求、第１の変更済要求、コンピュータ使用エンティティ結果および第１のエンティティ結果は、暗号化の部分を含むことができる。このことは、注意しなければならない情報が護られ、平文で読むことが不可能であるので、有利である。
【００１８】
この発信元の要求は、申し出の文書もしくは他の合法文書を、含むことができる。この要求は、また、購買情報、または、配送先住所もしくは金融取引のためのクレジットカード番号などの顧客情報を、含むことができる。
【００１９】
この第１のエンティティは、サービスまたは商品を提供する、ウェブサーバを含んでいる。このサービスは、単に、売買、貸し出し、ライセンスもしくは金融取引を含む、全てのものであることができる。
【００２０】
この第１のエンティティの結果は、発信元の要求の受諾に関する、顧客情報を含むことができる。このことは、この第１のエンティティが、そのサービスもしくは商品を、直ちに配送でき、必要な処理を開始することができるので、有利である。
【００２１】
この顧客結果は、発信元の要求の受諾に関する、この第１のエンティティの情報を含むことができる。したがって、この顧客は、自身の発信元の要求が完了し、次のアクションが必要とされることはないことを知ることになる。
【００２２】
本発明の好ましい実施形態を、例示の目的のみによって、添付の概略的な図面を参照して、以下に説明する。
【００２３】
添付図面は、例示の目的のみで提示されており、本発明の実際的な例として一定の比率で表す必要はない。
【００２４】
【発明の実施の形態】
図面を全般的に参照して、暗号化の関数を使用して、顧客の要求を処理するための方法およびシステムの特徴を、以下に、より詳細に説明する。顧客の用語を使用するときは、顧客によって使用されるコンピュータもしくはモバイル装置のような、デバイスを意味することは、明らかである。
【００２５】
モバイルコードまたはモバイルエージェントの計算を定義付けている要素は、それがコードの発信元と自律して、および独立して、処理をするということである。この安全なモバイルエージェントの計算を、図１に示すような法則でモデル化する。この図では、このボックスを、以下の説明に従ってラベルを付ける。
【００２６】
発信元Ｏ、および、モバイルエージェント（以下では短くエージェントと呼ぶ）がその上で動作する、ｌ個のホスト（以下ではエンティティＨ１・・・Ｈｌと呼ぶ）を考える。
【００２７】
図１はインターネットなどのネットワークを示し、それによって、コード発信元Ｏは第１のエンティティＨ１に接続し、Ｈ１は、第２のエンティティＨ２にさらに接続している。この第２のエンティティＨ２は、Ｈｊのラベルを付けたエンティティと接続し、このＨｊは、Ｈｊ＋１のラベルを付けたエンティティとさらに接続し、このことによって、他のいくつかのエンティティが点線によって示される間に存在することが可能である。このエンティティＨｊ＋１は、Ｈｌのラベルを付けたエンティティに接続し、Ｈｌは、次に、コード発信元に戻って接続する。各エンティティＨ１、Ｈ２、・・・Ｈｊ、Ｈｊ＋１、Ｈｌは、コンピュータ使用エンティティＴに接続している。
【００２８】
コード発信元Ｏと、各エンティティＨ１、Ｈ２、・・・、Ｈｊ、Ｈｊ＋１、Ｈｌは、エージェントを含んでいる、一つのメッセージのみを送受信する。コード発信元Ｏが、第１のエンティティＨ１に送信するメッセージを、ｍ０で示し、より後ろのエンティティＨｊがＨｊ＋１に送るメッセージをｍｊで示し、ただしｊ＝１・・・ｌ−１であり、最後のエンティティＨｌがコード発信元Ｏへ戻すメッセージはｍｌで示す。
【００２９】
図２は、図１に示す通信の流れの、より詳細な図を示す。このコード発信元Ｏは、この図では顧客Ｏであるが、この図ではＨのラベルを付けた第１のエンティティに接続し、さらに、計算機を使用したエンティティＴに接続している。顧客Ｏの発信元要求ＯＲ、たとえば、製品についての最低レベルを含めた価格要求を、処理するための方法は、以下のように実行される。顧客Ｏは、発信元要求ＯＲを、第１のエンティティＨに送信する。これは、ｍＯＲのラベルを付けた矢印で示されている。この第１のエンティティＨは、いくつかの製品を、特定の価格で提供する。この第１のエンティティＨは、コンピュータ使用エンティティＴに接続し、発信元要求ＯＲの受信時に、発信元要求ＯＲに関する情報Ｉ、たとえば受諾するつもりの価格を、追加し、そのことによって第１の変更済要求ＦＭＲを作成する。この第１の変更済要求ＦＭＲは、ｍＦＭＲのラベルをつけた矢印によって示されるように、コンピュータ使用エンティティＴに送られる。コンピュータ使用エンティティＴがこの第１の変更済要求ＦＭＲを受信した場合は、この要求は、この計算から何も知ることなく、コンピュータ使用エンティティ結果ＣＥＲを導出する。その後、このコンピュータ使用エンティティの結果ＣＥＲが、第１のエンティティＨに、ｍＣＥＲのラベルを付けた矢印で示すように送り返される。この第１のエンティティＨが、このコンピュータ使用エンティティ結果ＣＥＲを受信した場合は、このエンティティはそこから第１のエンティティ結果ＦＥＲを導出し、これを、ｍＦＥＲのラベルをつけた矢印で示すように、顧客Ｏに転送する。この顧客Ｏは、この第１のエンティティ結果ＦＥＲから、顧客結果ＣＲを得ることが可能である。この顧客結果ＣＲは、その発信元要求ＯＲが完了しているか否かについての情報を、顧客Ｏに提示する。この第１のエンティティＨは、この第１のエンティティ結果ＦＥＲから、自身の申し出が顧客Ｏに受諾されたか否かについて知る。この発信元要求ＯＲは、第１のエンティティが要求された製品をすぐに配送することができるような、すなわち、住所、クレジットカード情報の、顧客Ｏについての情報を、含むことができる。
【００３０】
以上に説明した実施形態においては、このモバイルエージェントは、いくつかのベンダーサイトを訪れ、その申し出を比較する。この発信元要求ＯＲは、価格のみに基づくのではなく、他の属性も含むことができる。この発信元Ｏまたは顧客Ｏは、自身の選択したものに対するプライバシを維持することを望むが、ショップは、消費者の攻略と、他のベンダーの申し出についての情報を、知ることに、興味を持っている。保険業界などの、価格が必要に基づいて各顧客に対して個別に決定される複雑な申し出のためには、ベンダーは、価格の計算方法を秘密にしておくことを望んでいる。これらの全ての要求を、安全なモバイルコードのために記述した、この機構によって、果たすことができる。
【００３１】
他の実施形態においては、ショッピングエージェントは、ネットワーク中を移動し、いくつかのベンダーもしくはエンティティＨ１、Ｈ２、・・・、Ｈｊ、Ｈｊ＋１、Ｈｌから申し出を収集する。この場合、申し出のデータフォーマットの事前合意が、役立つ。
【００３２】
図３は、図１および図２に示した、同様のもしくは類似の部分を使用している、他の実施形態を示す。違いは、コード発信元Ｏが、各エンティティＨ１、Ｈ２ 、・・・Ｈｌに直接、その発信元要求ＯＲを送信することである。この場合は、この発信元要求ＯＲは、エンティティＨ１、Ｈ２、・・・、Ｈｌ毎に、同じであってもよいし、異なっていてもよい。
【００３３】
さらなる実施形態に、電子交渉を記述する。消費者と一つのベンダーとの間の電子交渉を、一つのホストもしくは一つのエンティティＨを訪れる安全なモバイルコードのための機構を使用して、発生させることができる。典型的には、このベンダーは、発信元Ｏとして機能し、消費者の（既に事実上インターネット上で共通の）ブラウザに、アプレットをダウンロードする。このアプレットは、コンピュータ使用エンティティＴのヘルプを使用して、消費者によって実行され、この申し出が消費者に表示される。このベンダーは、そのうえ、いくつかの情報を得ることができ、この情報は、アプレットと同時に起動する「プライバシーステートメント」に、はっきりと明示されなければならない。
【００３４】
作成されたビッディング（入札）攻略をもつオークションは、安全なモバイルエージェントのための、興味を引くアプリケーション領域を提供する。ビッディングエージェントは、時間および他の参加者の行動の関数である、複雑な攻略を実施でき、純粋に価格のみに基づく従来の一つのパラメータオークションと比較して、入札者により柔軟性を提供する。多くの価値基準が、相互に関係するので、入札者は、たとえば、多くの価値基準を、前のラウンドで彼が観察した、他の落札者に依存して作成するなど、彼の入札行為をできる限り動的に決定することに、興味を持っている。入札者が、計算可能な関数として、彼の戦略を表現できる場合は、彼は、全ての参加者の、個人的な入力のような攻略をもつ、オークション関数、すなわちオークション結果を、計算するための回路を、構築することができる。これは、オークションエージェントが、一度だけ各入札者を訪れることを要求する。しかし、実現の可能性のあるケースでは、入札者は、その攻略を、数学的に表現することが不可能であり、オークションの各ラウンドは、オークションアプレットによって、各入札者を一度訪れ、オークション主催者に戻すように、安全に実行することもできる。入札が、最低の増額を越えなかった場合は、落札もしくはオークションの終了を、出力する。安全なモバイル計算のための機構が、使用される場合は、どの一つのエンティティＨ１、Ｈ２、・・・、Ｈｊ、Ｈｊ＋１、Ｈｌも、（オークション主催者、そのコンピュータシステム、もしくはそのオペレータのように）全ての入札を見ることはない。作成されたオークションは、電子市場、公正取引、帯域幅オークション、および移送交換において共通であり、入札者は、しばしば、項目を組み合わせることを好む。
【００３５】
以下に、詳細な実施手段を説明する。
【００３６】
計算：モバイルエージェントの状態を、集合Ｘの要素とする。その初期状態ｘ０は、Ｏによって決定される。Ｈｊによる入力を、集合Ｙｊの要素とし、Ｈｊへの出力を、Ｚｊの要素とする。このエンティティＨｊ上のエージェント計算は、エージェントの新規状態ｘｊ＝ｇｊ（ｘｊ−１、ｙｊ）、および、出力ｚｊ＝ｈｊ（ｘｊ−１、ｙｊ）を決定する、以下の２つの関数によって表せる。
ｇｊ：Ｘ×Ｙｊ→Ｘ　および　ｈｊ：Ｘ×Ｙ→Ｚｊ
Ｏは、エージェントの最終状態ξ＝ｘｌ∈Ｘを、得る。関数ｇｊおよびｈｊは、全てのエンティティＨ１、・・・Ｈｌに知られている。
【００３７】
モバイル計算機構は、全てのｊ＝１、・・・、ｌおよびｘ０∈Ｘ、ｙｊ∈Ｙｊに対して、（２ｌ＋２）個のアルゴリズムＡ０、Ａ１、・・・、Ａｌ、Ｂ１、・・・ＢｌおよびＤを含む。ただし、
ｍ０＝Ａ０（ｘ０）
ｍｊ＝Ａｊ（ｍｊ−１、ｙｊ）　ただし　ｊ＝１、・・・、ｌ
ｚｊ＝Ｂｊ（ｍｊ−１、ｙｊ）　ただし　ｊ＝１、・・・、ｌ
ξ＝Ｄ（ｍｌ）
以下の２つの状態、正確性およびプライバシーが、保持される。
正確性：ξ＝ｇｌ（ｘｌ−１、ｙｌ）、および、ｚｊ＝ｈｊ（ｘｊ−１、ｙｊ）
ただし　ｊ＝１、・・・、ｌであり、
ｘｊ’＝ｇｊ’（・・・（ｇ２（ｇ１（ｘ０、ｙ１）、ｙ２）・・・）、ｙｊ’）　　　　　ただし　ｊ’＝１、・・・、ｌ−１を、用いている。
プライバシー：　全てのエンティティの入力、出力および計算は、自身の出力から導かれるものを除いて、発信元からおよび全ての他のエンティティから、隠されたままである。Ｏは、ξのみについて知るが、ｘ０およびξから導かれるもの以外の、いずれのｙｊについては何も知ることはなく、同様に、Ｈｊはｚｊのみについて知るものの、ｚｊおよびｙｊから導かれるもの以外の、ｊ’＜ｊに対するｘ０およびｙｊについては、何も知ることはない。
【００３８】
簡単にするために、以上の機構は、エージェントが全てのエンティティを訪れる場合の順序が、固定されていると仮定する。関数π：Ｚｊ→｛１、・・・、ｌ｝を導入し、エージェントを、Ｈｊから、Ｈπ（ｚｊ）に、送信することにより、このシーケンスがｚｊに依存することができるように、拡張する。一つのホスト、すなわち第１のエンティティのみをもつ、モバイルコードアプリケーションの場合には、この関数ｇは、Ｏの出力ξをもたらし、関数ｈはＨの出力ｚを与える。
【００３９】
一般の安全なコンピュータを使用したサービスであることができる、コンピュータ使用エンティティＴが提供される。このコンピュータ使用エンティティＴは、オンラインにあり、エージェントアプリケーションを実行する、全てのエンティティＨ１、・・・、Ｈｌまたはホストに、接続され、安全なエージェント計算のために配置される。このコンピュータ使用エンティティＴ自体は、どのような振る舞いをしても、以下の仮定の下では、計算についてのいずれの情報も、得ることはない。その仮定は（１）コンピュータ使用エンティティＴは、いずれのエンティティに対する発信元とも共謀しない、（２）コンピュータ使用エンティティＴは、発信元に対するいずれのエンティティ、もしくは、他のエンティティに対するいずれのエンティティとも、共謀しないことである。全ての計算は、最小限に、もしくは、繰り返すことなく、処理される。この機構は、一般的であり、どの特定のアプリケーションにも拘束されない。従って、コンピュータ使用エンティティＴのサービスを、インターネット上の「安全なモバイルエージェント計算」のための、公のサービスとして提供することができる。ＯもしくはＨの役割で（たとえば比較して買い物をするために）、このサービスを使用する、クライアントもしくは顧客は、コンピュータ使用エンティティＴが、自分等のプライバシ（たとえば顧客のプロファイリングおよび収集している市場データ）を侵害することを試みるのではないかと、恐れる必要はない。さらに、このコンピュータ使用エンティティＴ自体、セキュリティプロバイダとしてその評判を維持することに関心を持っている。
【００４０】
以上の機構は、暗号化フォーム中の関数に基づいている。たとえば、バイナリのデジタル回路の暗号化は、このエージェント計算の部分を実現する。これは、以下に説明するような暗号化の回路構造よって、実現することができる。
【００４１】
暗号化の回路構造
【００４２】
Ａ．Ｃ．Ｙａｏによって、彼の論文「Ｈｏｗ ｔｏ ｇｅｎｅｒａｔｅ ａｎｄ ｅｘｃｈａｎｇｅ ｓｅｃｒｅｔｓ」Ｐｒｏｃ． ２７ｔｈ ＩＥＥＥ Ｓｙｍｐｏｓｉｕｍ ｏｆ Ｃｏｍｐｕｔｅｒ Ｓｃｉｅｎｃｅ （ＦＯＣＳ）、１９８６年 ｐｐ．． １６２ − １６７で紹介されたＹａｏの暗号化回路の構造は、２つの当事者またはエンティティの間の、秘密関数評価用の対話式プロトコルである。これは、バイナリ関数ｇ（・、・）、および、当事者アリス（入力ｘをもつ）およびボブ（入力ｙをもつ）のための記述である。ボブは出力ｚ＝ｇ（ｘ、ｙ）を受け取るが、それ以外は何も知ることはなく、アリスはまったく何も知ることはない。
【００４３】
（ｘ１、・・・、ｘｎｘ）、（ｙ１、・・・、ｙｎｙ）、および（ｚ１、・・・、ｚｎｚ）は、それぞれ、ｘ、ｙ、ｚのバイナリ表記を示し、Ｃは、ｇを計算する多項型のバイナリ回路を示すとする。Ｙａｏの構造の構成要素は、（Ｉ）アリスが暗号化回路を構築するために使用する第１のアルゴリズム構造（ｃｏｎｓｔｒｕｃｔ）、（ＩＩ）アリスとボブの間の伝送プロトコル、および（ＩＩＩ）ボブがｇ（ｘ、ｙ）を検索できるようにする第２のアルゴリズム評価（ｅｖａｌｕａｔｅ）である。より正確には、これらの処理は、以下のようになる。
【００４４】
（Ｉ）見込みに基づく第１のアルゴリズム構造（ｃｏｎｓｔｒｕｃｔ）（Ｃ）は、入力タプルおよび出力タプルとして回路を使用する。
（ｅ、ｌ、ｋ、ｕ）
ただし、Ｃは（ｎｘ＋ｎｙ）個の入力回路Ｃ（・，・）を暗号化したものと考えることができ、ｌ，ｋ，ｕは、それぞれｘ、ｙ、ｚに対応する、いわゆる鍵の対のリストで示すことができる。
ｌ＝（Ｌ１，０，Ｌ１，１）、・・・、（Ｌｎｘ，０，Ｌｎｘ，１）
ｋ＝（Ｋ１，０，Ｋ１，１）、・・・、（Ｋｎｙ，０，Ｋｎｙ，１）
ｕ＝（Ｕ１，０，Ｕ１，１）、・・・、（Ｕｎｚ，０，Ｕｎｚ，１）
【００４５】
暗号ｅからＣ（ｘ、ｙ）を計算するために、ボブは、Ｌｉ、ｂが入力ビットｘｉ＝ｂに対応し、Ｋｉ、ｂが入力ビットｙｉ＝ｂに対応している、入力ビット毎の一つの「鍵」を必要とする。この鍵Ｕｉ、０およびＵｉ、１は、暗号化の回路の出力ビットを表し、すなわち、評価によってＵｉ、ｂが生成される場合は、出力ビットｚｉはｂと設定される。
【００４６】
ｅが暗号化する場合の、特定の方法は、回路の全てのゲートに対してに、自身の入力ビットを表す２つの鍵が与えられることを保証し、結果の出力ビットを表す鍵は容易に計算できるが、それが表す平文については、何の情報も明らかとはならないようにすることである。
【００４７】
（ＩＩ）アリスとボブは、たとえば、Ｓ．Ｅｖｅｎ、Ｏ．ＧｏｌｄｒｅｉｃｈおよびＡ．Ｌｅｍｐｅｌによって、「Ａ ｒａｎｄｏｍｉｚｅｄ ｐｒｏｔｏｃｏｌ ｆｏｒ ｓｉｇｎｉｎｇ ｃｏｎｔｒａｃｔ」Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ ｏｆ ｔｈｅ ＡＣＭ ２８ （１９８５年）、 ６３７ − ６４７に記載されたような、もしくは、Ｇ．Ｂｒａｓｓａｒｄ、Ｃ．ＣｒｅｐｅａｕおよびＪ．−Ｍ．Ｒｏｂｅｒｔによって「Ｉｎｆｏｒｍａｔｉｏｎ−ｔｈｅｏｒｅｔｉｃ ｒｅｄｕｃｔｉｏｎｓ ａｍｏｎｇ ｄｉｓｃｌｏｓｕｒｅ ｐｒｏｂｌｅｍｓ」、Ｐｒｏｃ． ２７ｔｈ ＩＥＥＥ Ｓｙｍｐｏｓｉｕｍ ｏｎ Ｆｏｕｎｄａｔｉｏｎｓ ｏｆ ｃｏｍｐｕｔｅｒ Ｓｃｉｅｎｃｅ （ＦＯＣＳ）、 １９８６年に記載されたような、忘却通信（ｏｂｌｉｖｉｏｕｓ ｔｒａｎｓｆｅｒ）用のプロトコルに束縛される。これは、２つのメッセージｍ０およびｍ１の入力をもつ送信者のための、および、ビットσの入力をもつ選択者のための、両当事者の対話式プロトコルである。終端では、この選択者は、ｍσを受信するが、
【数１】
2004513542.tif 000003
については何も知ることはなく、送信者はσについての情報は何ももたない。
【００４８】
より正確には、アリスは送信者として機能し、ボブは彼の入力の全てのビットｙｉについて値Ｋ’ｉ＝Ｋｊ，ｙｉを得るが、
【数２】
2004513542.tif 000004
については何も知ることはない。同時に、アリスは、ｙｉについては何も知ることはない。
【００４９】
さらに、アリスは、ｉ＝１、・・・、ｎｘに対して、Ｌ’ｉ＝Ｌｉ、ｘｉとしてｘを表す鍵を計算し、ｅ、Ｌ’１、・・・、Ｌ’ｎｘ、ｕをボブに送る。
【００５０】
（ＩＩＩ）この第２のアルゴリズム評価（ｅ、Ｌ’１、・・・、Ｌ’ｎｘ、Ｋ’１、・・・Ｋ’ｎｙ）は、暗号化の回路、ｘの表記、および対応する鍵によるｙの表記を、入力として使用する。この評価によって、ボブがｚを回復できる、鍵Ｕ’１、・・・、Ｕ’ｎｚを出力し、アリスとボブがこのプロトコルに従う場合は、ｚ＝ｇ（ｘ、ｙ）となる。
【００５１】
この第１のアルゴリズム構造（ｃｏｎｓｔｒｕｃｔ）および第２のアルゴリズム評価（ｅｖａｌｕａｔｅ）の実施は、たとえばＯ．Ｇｏｌｄｒｅｉｃｈ、Ｓ．ＧｏｌｄｗａｓｓｅｒおよびＳ．Ｍｉｃａｌｉよって「Ｈｏｗ ｔｏ ｃｏｎｓｔｒｕｃｔ ｒａｎｄｏｍ ｆｕｎｃｔｉｏｎｓ」、Ｊｏｕｒｎａｌ ｏｆ ｔｈｅ ＡＣＭ ３３ （１９８６年）、　ｎｏ． ４， ７９２ − ８０７で提示されるような、ブロック暗号によって実際に実現できる、擬似ランダム関数によって実現できる。ブロック暗号は、ソフトウェアで実施する場合でさえ、非常に高速の暗号関数である。
【００５２】
以下に、この暗号化の回路構造を、一つのもしくは第１のエンティティをもつ安全なモバイルコード計算を実現するために、どのように使用するかを説明する。複数のエンティティに拡張することは、後で考慮する。
【００５３】
このコンピュータ使用エンティティＴは、暗号化方式の公開鍵を発行する。対応する暗号化および解読の操作は、それぞれ、ＥＴ（・）およびＤＴ（・）で示す。全てのエンティティは、安全な承認されたリンクを介して通信でき、これは、標準の公開鍵暗号およびデジタル署名を使用することによって実現できる。
【００５４】
基本的な機構は、Ｏが、２つの値ξおよびｚを計算する、暗号化の回路ｅを構築することである。このコード発信元Ｏは、ｅを第１のエンティティＨに送信するが、Ｔのために、ｋにある全ての鍵を暗号化し、ξに対応するｕ内には、鍵の対（ｕｘで示す）は含めない。その結果、第１のエンティティＨは、ξに付いて何も知ることはない。次に、第１のエンティティＨは、ｙを表す暗号化の鍵をｋから選択し、コンピュータ使用エンティティＴを関与させて、対話的な一つのラウンド内で、それを解読する。次いで、この第１のエンティティＨは、この回路を評価し、ｚを得る。この場合、この第１のエンティティＨは、また、回路からξを決定できるＯに対して、ξの表記を出力する回路内の鍵を戻す。
【００５５】
Ｃを、前述の部分の表記を僅かに変更した、（ｎｘ＋ｎｙ）個の入力ビットｘ１、・・・、ｘｎｘ、ｙ１、・・・、ｙｎｙの同じ入力、および（ｎｘ＋ｎｚ）個の出力ビットξ１、・・・、ξｎｘ、ｚ１、・・・、ｚｎｚから、（ξ、ｚ）＝（ｇ（ｘ、ｙ）、ｈ（ｘ、ｙ））を計算するバイナリ回路とする。この方式は、以下に説明するように、５つのステップ１）から５）で処理する。
【００５６】
１）Ｏは計算を独自に識別するストリングｉｄ、たとえばＯの名前、ｇおよびｈの記述、および、シーケンスカウンタなど含むｉｄを、選択する。Ｏは構造（ｃｏｎｓｔｒｕｃｔ）（Ｃ）を呼び出し、ｕが、合計（ｎｘ＋ｎｙ）個の鍵の対を含む、前述したような（ｅ、ｌ、ｋ、ｕ）を得る。ｕｘはインデックス１、・・、ｎｘをもつｕの対を示し、ｕｚは、インデックスｎｘ＋１、・・・、ｎｘ＋ｎｚをもつｕの対を示す。
【００５７】
ｉ＝１、・・・、ｎｙおよびｂ∈｛０，１｝に対し、以下の式を計算する。
【数３】
2004513542.tif 000005
【００５８】
ｋが、前述した全てのＫの対のリストを示すとする。次いで、Ｏは、前述のように、ｉ＝１、・・・、ｎｘに対してＬ’ｉ＝Ｌｉ、ｘｉとし、第１のエンティティＨに、ｉｄ、ｅ、Ｌ’１、・・・、Ｌ’ｎｘ、ｋ、ｕを送る。
【００５９】
２）第１のエンティティＨは、ｉ＝１、・・・ｎｙに対して、
【数４】
2004513542.tif 000006
を、自身の入力ｙを表す暗号として設定し、これらを、ｉｄとともに、コンピュータ使用エンティティＴに送信する。
【００６０】
３）コンピュータ使用エンティティＴは、ｉ＝１、・・・、ｎｙに対して
【数５】
2004513542.tif 000007
を解読し、ｉ番目の解読されたストリングが、識別子ｉｄおよびインデックスｉを含んでいることを、検証する。全てのチェックが成功である場合は、このコンピュータ使用エンティティＴは、解読鍵Ｋ’１、・・・Ｋ’ｎｙを、この第１のエンティティＨに戻す。
【００６１】
４）第１のエンティティＨは、第２のアルゴリズムの評価（ｅ、Ｌ’１、・・・、Ｌ’ｎｘ、Ｋ’１、・・・、Ｋ’ｎｙ）に関与し、Ｕ’１、・・・Ｕ’ｎｘ＋ｎｚを得る。次いで、この第１のエンティティＨは、ｉ＝１、・・・、ｎｚに対してＵｎｘ＋ｉ、ｚｉ＝Ｕ’ｎｘ＋ｉとなるような、ｚ＝（ｚ１、・・・、ｚｎｚ）を決定し、残りの値Ｕ’１、・・・、Ｕ’ｎｘを、コード発信元Ｏに転送する。
【００６２】
５）コード発信元Ｏは、ｉ＝１、・・・、ｎｘに対して、Ｕｉ、ξｉ＝Ｕ’ｉとなるような、出力ξ＝（ξ１、・・・、ξｎｘ）を決定する。
【００６３】
セキュリティの増強には、コンピュータ使用エンティティＴは、適応可能な選択暗号文への攻撃に対して安全である、これは柔軟性の欠如を意味するが、公開鍵暗号システムを使用しなければならず、これは、Ｄ．Ｄｏｌｅｖ、Ｃ．ＤｗｏｒｋおよびＭ．Ｎａｏｒによって、「Ｎｏｎ−ｍａｌｌｅａｂｌｅ ｃｒｙｐｔｏｇｒａｐｈｙ」、ＳＩＡＭ Ｊｏｕｒｎａｌ ｏｎ Ｃｏｍｐｕｔｉｎｇ ３０ （２０００年）、 ｎｏ．２， ３９１−４３７に記載されている。コード発信元Ｏおよび第１のエンティティＨは、また、その入力を委託しなければならない。実際のシステムでは、これらの全ては、たとえば、Ｍ．ＢｅｌｌａｒｅおよびＰ．Ｒｏｇａｗａｙによって「Ｒａｎｄｏｍ ｏｒａｃｌｅｓ ａｒｅ ｐｒａｃｔｉｃａｌ： Ａ ｐａｒａｄｉｇｍ ｆｏｒ ｄｅｓｉｇｎｉｎｇ ｅｆｆｉｃｉｅｎｔ ｐｒｏｔｏｃｏｌｓ」、Ｐｒｏｃ． １ｓｔ ＡＣＭ Ｃｏｎｆｅｒｅｎｃｅ ｏｎ Ｃｏｍｐｕｔｅｒ ａｎｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ ｓｅｃｕｒｉｔｙ， １９９３年に、記載された、安全なハッシュ関数を使用した、いわゆる「ｒａｎｄｏｍ ｏｒａｃｌｅ ｍｏｄｅｌ」で、実現できる。この場合には、公開鍵暗号方式および回路暗号用の擬似ランダム関数が、Ｍ．ＮａｏｒおよびＯ．Ｒｅｉｎｇｏｌｄによって、「Ｎｕｍｂｅｒ−ｔｈｅｏｒｅｔｉｃ ｃｏｎｓｔｒｕｃｔｏｎｓ ｏｆ ｅｆｆｉｃｉｅｎｔ ｐｓｅｕｄｏ−ｒａｎｄｏｍ ｆｕｎｃｔｉｏｎｓ」、 Ｐｒｏｃ． ３８ｔｈ ＩＥＥＥ Ｓｙｍｐｏｓｉｕｍ ｏｎ Ｆｏｕｎｄａｔｉｏｎｓ ｏｆ Ｃｏｍｐｕｔｅｒ Ｓｃｉｅｎｃｅ （ＦＯＣＳ）、 １９９７年に、記載された、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題の困難さに基づく離散ロガリズムを使って、実施できる。
【００６４】
以下に、前述した方法の拡張を、図１に示すような複数のエンティティＨ１、・・・、Ｈｌをもつ一般のモバイル計算機構を実現するために、開示する。この概念は、各エンティティが、前述の基本方式のステップ２）〜４）を実行し、それから、このエージェントを次のエンティティに送信する場合には、本質的なものである。
【００６５】
すなわち、コード発信元Ｏは、各エンティティＨ１、・・・、Ｈｌのために、一つの暗号化回路ｅを用意し、ｊ＞ｌに対して、ｅ（ｊ−１）からの暗号化状態ｘｊ−１を、ｅ（ｊ）に組み込む。これは、ｅ（ｊ）への入力の隠れ表記を解読するための、ｅ（ｊ−１）からの出力鍵Ｕ１’（ｊ−１）、・・・、Ｕ’ｎｘ（ｊ−１）を使用することによって、成し遂げられる。
【００６６】
Ｅｋ（・）およびＤｋ（・）によって示される鍵ｋの下で、暗号化動作および解読動作をそれぞれともなう対称暗号システムでは、この暗号システムは、潜在的な鍵Ｕおよび暗号文ｃが与えられることにより、Ｕの下での暗号化によってｃが得られるか否かについて、高い確率を持って決定できるような、十分な冗長性を含んでいる。この方式に対しての変更点は、以下の通りである。
【００６７】
１ａ）コード発信元Ｏは、前述したｅに対しての方法と同じ方法で、ｊ＝１、・・・、ｌに対してｅ（ｊ）、ｌ（ｊ）、ｋ（ｊ）、ｕ（ｊ）および
【数６】
2004513542.tif 000008
を得る。しかし、このコード発信元Ｏは、ｅ（ｌ）に対してのみ、値Ｌ’ｉ＝Ｌ’ｉ、ｘｉ（ｌ）を選択する。このｊ番目のステージの識別子は、ｉｄ｜｜ｊに設定される。このコード発信元Ｏはまた、２つの暗号
【数７】
2004513542.tif 000009
を用意する。ただし、それぞれｊ＞１、およびｉ＝１、・・・、ｎｘであり、これらの値をＶｉ、０（ｊ）およびＶｉ、１（ｊ）に割り当てる前に、これらの値をランダムに交換する。このような対のリストをｖ（ｊ）と呼ぶ。
【００６８】
次に、このコード発信元Ｏは、
【数８】
2004513542.tif 000010
を、第１のエンティティＨに、一つのメッセージに含めて、送信する。
【００６９】
２ａ）ｊ＞１に対しては、Ｈｊが、基本方式のステップ２を実行するときに、ｅ（ｊ−１）を評価する前に、Ｈｊ−１から、ｖ（ｊ）およびＵ’１（ｊ−１）、・・・、Ｕ’ｎｘ（ｊ−１）を受信する。
【００７０】
Ｕ’ｉ（ｊ−１）を、Ｅに対する対称鍵として、エンティティ毎に解釈し、解読する一つの暗号文Ｖｉ、０（ｊ）およびＶｉ、１（ｊ）を決定し、次いで、適合する方を解読する。これは、エージェントの現在の状態ｘｊにある、ｉ番目のビットの忘却（ｏｂｌｉｖｉｏｕｓ）表記Ｋｉ（ｊ）をもたらす。これらの鍵は、次いで、ｅ（ｊ）を評価するために使用される。
【００７１】
３ａ）Ｈｊがｅ（ｊ）の評価から出力を得たときは、Ｈｊは、Ｈｊ−１から受け取った全てのデータを、Ｕ’１（ｊ）、・・・、Ｕ’ｎｘ（ｊ）とともに、Ｈｊ＋１へ転送する。サークルの終端では、Ｈｌは、Ｕ’ｉ（ｌ）を、コード発信元Ｏに戻す。
【００７２】
コンピュータ使用エンティティＴがコードを生成する。
【００７３】
ＯおよびＴの役割を交換した場合には、コンピュータ使用エンティティＴが、暗号化回路を生成する。この回路は、このプロトコルに従うと考えられるため、全回路の正確性のために、費用のかかるゼロ知識証明を追加する必要はない。したがって、他のエンティティの操作、および、エラー強さを保証する対応証明は、より簡単になる。このコンピュータ使用エンティティＴは、この回路を構築するために、ｇおよびｈを知らなければならないが、このＴは、第１のプロトコルメッセージ中のＯから、Ｃの解読を得ることができる。
【００７４】
三当事者の忘却通信プロトコルが、Ｍ．Ｎａｏｒ、Ｂ．ＰｉｎｋａｓおよびＲ．Ｓｕｍｍｅｒによって、「Ｐｒｉｖａｃｙ ｐｒｅｓｅｒｖｉｎｇ ａｕｃｔｉｏｎｓ ａｎｄ ｍｅｃｈａｎｉｓｍ ｄｅｓｉｇｎ」、Ｐｒｏｃ．１ｓｔ ＡＣＭ Ｃｏｎｆｅｒｅｎｃｅ ｏｎ Ｅｌｅｃｔｒｏｎｉｃ Ｃｏｍｍｅｒｃｅ、１９９９年で紹介されたように使用されている。その場合、選択者の役割が、この選択者と、受信者と呼ばれる第三の当事者との間で分けられる。忘却通信の標準概念と比較して、受信者は、選択者によって指定された出力メッセージｍσを得るが、選択者自身は何も知ることはない。このいわゆる「プロキシ」忘却通信は、以下の３つのメッセージを使用して、実現できる。それは、選択者から受信者へ、受信者から送信者へ、および、送信者から受信者へのメッセージである。
【００７５】
このプロトコルは、また、二当事者間の標準の忘却通信の、１ラウンドの実施を使用する。これは、Ｃ．Ｃａｓｈｉｎ、Ｊ．Ｃａｍｅｎｉｓｃｈ、Ｊ．ＫｉｌｉａｎおよびＪ．Ｍｕｌｌｅｒの、論文「Ｏｎｅ−ｒｏｕｎｄ ｓｅｃｕｒｅ ｃｏｍｐｕｔａｔｉｏｎ ａｎｄ ｓｅｃｕｒｅ ａｕｔｏｎｏｍｏｕｓ ｍｏｂｉｌｅ ａｇｅｎｔｓ」、Ｐｒｏｃ．２７ｔｈ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｃｏｌｌｏｑｕｉｕｍ ｏｎ Ａｕｔｏｍａｔａ、 Ｌａｎｇｕａｇｅｓ ａｎｄ Ｐｒｏｇｒａｍｍｉｎｇ（ＩＣＡＬＰ）（Ｕ．Ｍｏｎｔａｎａｒｉ、 Ｊ．Ｐ．ＲｏｌｉｍおよびＥ．Ｗｅｌｚｌ、ｅｄｓ．）、Ｌｅｃｔｕｒｅ Ｎｏｔｅｓ ｉｎ Ｃｏｍｐｕｔｅｒ Ｓｃｉｅｎｃｅ、ｖｏｌ．１８５３、Ｓｐｒｉｎｇｅｒ、Ｊｕｌｙ ２０００年、ｐｐ．５１２−５２３に記載された方法を使用して、実現できる。
【００７６】
基本方式と同様、暗号化回路構造の構成要素が適用される。このプロトコルを、一つのエンティティＨをもつ、モバイルコードの基本事例用に、記述する。Ｏが、ＥＯ（・）、ＤＯ（・）によってそれぞれ示される、暗号化操作および解読操作をともなう公開鍵暗号方式を使用すると仮定する。Ｏは、ｎｘ並列三当事者忘却通信内の選択者として、各ビットｘに対して、計算を開始する。Ｏは、これらの隠れ選択を、この三当事者忘却通信内の受信者として機能するＨに、ＣおよびＥＯ（・）とともに送信する。Ｈは、この適当なデータを、送信者として機能する、すなわちこの三当事者の忘却通信中の鍵の対Ｌを送信する、Ｔに転送する。さらに、Ｈはまた、ｎｙ並列１ラウンド忘却通信（選択者の役割を担う）に対する入力も、ｙの各ビット用に、用意する。Ｈは、これらを、ＣおよびＥＯ（・）の記述とともに、Ｔに送信する。この場合、Ｔは、鍵の対Ｋを、１ラウンド忘却伝送内に送信する。
【００７７】
Ｔは、ｃｏｎｓｔｒｕｃｔ（Ｃ）を呼び出し、ｅ、および、鍵の対ｌ、ｋおよびｕを得る。Ｔは、ＥＯ（ｕｘ）、ｅ、ｕｚ、および、全ての忘却通信プロトコル中の最終流れとともに、Ｈに応答する。
【００７８】
以上から、Ｈはｘを表す鍵Ｌ’１、・・・、Ｌ’ｎｘ、および、ｙを表す鍵Ｋ’１、・・・、Ｌ’ｎｙを決定できる。Ｈは、評価（ｅｖａｌｕａｔｅ）（ｅ、Ｌ’１，・・・、Ｌ’ｎｘ、Ｋ’１、・・・、Ｋ’ｎｙ）を実行し、前述したようにＵ’１、・・・、Ｕ’ｎｘ＋ｎｙを得る。次いで、Ｈは、Ｕ’ｎｘ＋１、・・・、Ｕ’ｎｘ＋ｎｚおよびｕｚから、自身の出力ｚを判断し、Ｅ０（ｕｘ）とともに、Ｕ’１、・・・、Ｕ’ｎｘを、Ｏに転送する。このことによって、Ｏは、自身の出力ξを得ることが可能になる。
【００７９】
以下には、一つのホストまたは第１のエンティティＨ１から、ｌ個のホストＨ１、・・・、Ｈｌへ拡張した、プロトコルを示す。このプロトコルは、第１のホストに対しては、前述したように開始する。しかし、Ｈ２、・・・Ｈｌに対するステップは、僅かに異なっている。すなわち、三当事者忘却通信、および、ＥＯの下での暗号化は、使用されない。代わりに、Ｔは、ｅ（ｊ）の入力の中にあって、前述したｖ（ｊ）のように、ｅ（ｊ−１）からの、ｕ（ｊ−１）中の出力鍵に基づいて、エージェントの状態ｘｊ−１を表している、鍵ｌ（ｊ）を暗号化する。この鍵ｕ（ｊ−１）は、ステップｊ−１とステップｊの間にあるＴによって記憶でき、もしくは、Ｈｊ−１およびＨｊを介してＴへ伝送されるプロトコル流れとともに、ＥＴ（・）によって暗号化して、送信できる。さらに、最後のホストは、ＴからＥ０（・）とともに暗号化されたｕｘを得、これを、前述したように、Ｏへ転送する。
【００８０】
この通信パタンは、基本方式のパタンと同じである。ＯからＨ１への一つのメッセージ、各Ｈｊ−１からＨｊへの一つのメッセージおよびＨｊからＯへの一つのメッセージが存在し、これに、各ホストとコンピュータ使用エンティティＴとの間の一つの通信流れが加わる。エラー強さは、悪意をもって改変されない公開鍵暗号方式、および、非対話式のゼロ知識証明を、使用することによって、追加できる。しかし、この結果は、ゼロ知識証明が、潜在的に大きな暗号化回路を必要とはしないので、より実用的である。さらに、この暗号化回路構造は、公開鍵で操作する代わりに、ブロック暗号によって実施できる。
【００８１】
開示の実施形態は、いずれも、例示の、および／または、説明したうちの、一つまたはいくつかの他の実施形態と、組み合わせることができる。これは、本実施形態の、一つまたは複数の特徴に対しても、可能である。
【００８２】
本発明は、ハードウェア、ソフトウェア、または、ハードウェアおよびソフトウェアの組み合わせで実現できる。どの種類のコンピュータシステム、または、本明細書で開示の方法を実現するために適した他の装置が、適している。ハードウェアおよびソフトウェアの典型的な組み合わせは、ロードおよび実行すると、本明細書で開示の方法を実行できるような、コンピュータシステムを制御するコンピュータプログラムを備えた、汎用目的のコンピュータシステムであることができる。本発明は、本明細書で開示の方法を実施できる全ての特徴を備え、コンピュータシステムにロードすると、本方法を実施可能な、コンピュータプログラム製品にも、組み込むことができる。
【００８３】
コンピュータプログラム、または、本明細書でいうところのコンピュータプログラムとは、情報処理能力を有するシステムが、特定の機能を、直接、もしくは、ａ）他の言語、コードもしくは表記に変換、ｂ）異なるマテリアルフォームの形の再生成の、一方もしくは両方の後に、実行することを引き起こすような、いずれの言語における、命令の組のコードもしくは表記の、すべての表現を意味する。
【図面の簡単な説明】
【図１】本発明に従った通信の流れを示す図である。
【図２】通信の流れをより詳細に示す図である。
【図３】通信の流れの他の例を示す図である。
【図１】
2004513542.tif 000011
【図２】
2004513542.tif 000012
【図３】
2004513542.tif 000013
【国際公開パンフレット】
2004513542.tif 000014
2004513542.tif 000015
2004513542.tif 000016
2004513542.tif 000017
2004513542.tif 000018
2004513542.tif 000019
2004513542.tif 000020
2004513542.tif 000021
2004513542.tif 000022
2004513542.tif 000023
2004513542.tif 000024
2004513542.tif 000025
2004513542.tif 000026
2004513542.tif 000027
2004513542.tif 000028
2004513542.tif 000029
2004513542.tif 000030
2004513542.tif 000031
2004513542.tif 000032
2004513542.tif 000033
2004513542.tif 000034
2004513542.tif 000035
2004513542.tif 000036
2004513542.tif 000037
2004513542.tif 000038
2004513542.tif 000039
2004513542.tif 000040
【国際公開パンフレット（コレクトバージョン）】
2004513542.tif 000041
2004513542.tif 000042
【国際調査報告】
2004513542.tif 000043
2004513542.tif 000044
2004513542.tif 000045