JP2004513542A - Method and system for processing customer requests - Google Patents

Method and system for processing customer requests Download PDF

Info

Publication number
JP2004513542A
JP2004513542A JP2002539930A JP2002539930A JP2004513542A JP 2004513542 A JP2004513542 A JP 2004513542A JP 2002539930 A JP2002539930 A JP 2002539930A JP 2002539930 A JP2002539930 A JP 2002539930A JP 2004513542 A JP2004513542 A JP 2004513542A
Authority
JP
Japan
Prior art keywords
entity
request
computer
result
customer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002539930A
Other languages
Japanese (ja)
Other versions
JP4336105B2 (en
Inventor
アルゲシュマー、ミュラー、ジョイ
キャッヒン、クリスチャン
カメニッシュ、ジャン
カルヨス、ギュンター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004513542A publication Critical patent/JP2004513542A/en
Application granted granted Critical
Publication of JP4336105B2 publication Critical patent/JP4336105B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Abstract

【課題】本発明は、顧客の発信元要求を、安全に処理するための方法およびシステムを提供する。
【解決手段】この発信元要求は、少なくとも一つの第1のエンティティに送信できる。この発信元要求を処理するための方法は、a)顧客から、前記発信元要求を、前記もしくはそれぞれの第1のエンティティに送信するステップと、b)前記もしくはそれぞれの第1のエンティティを、コンピュータを使用したエンティティに接続するステップと、c)前記もしくはそれぞれの第1のエンティティによって、発信元要求の受信時に、発信元要求に関する情報を追加し、そのことにより、第1の変更済要求を作成するステップと、d)前記第1の変更済要求の少なくとも一部を、少なくともコンピュータを使用したエンティティに送信するステップと、e)前記コンピュータを使用したエンティティによって前記第1の変更済要求の少なくとも一部を受信した後、前記第1の変更済要求の少なくとも一部からコンピュータを使用したエンティティ結果を獲得するステップと、f)前記コンピュータを使用したエンティティ結果の少なくとも一部を、前記もしくはそれぞれの第1のエンティティに送信するステップと、g)前記コンピュータを使用したエンティティ結果を、前記もしくはそれぞれの第1のエンティティによって受信した後、そこから第1のエンティティ結果を獲得し、少なくともその一部を転送するステップと、h)前記顧客によって前記第1のエンティティ結果の少なくとも一部を受信した後、そこから顧客結果を獲得するステップとを含む。
【選択図】図1
The present invention provides a method and system for securely processing a customer's source request.
The source request can be sent to at least one first entity. The method for processing the source request comprises: a) transmitting the source request from a customer to the or each first entity; and b) transmitting the or each first entity to a computer. And c) adding information about the originating request by the or each first entity upon receipt of the originating request, thereby creating a first modified request. And d) transmitting at least a portion of the first modified request to at least a computer-based entity; and e) at least one of the first modified request by the computer-based entity. Using a computer from at least a portion of the first modified request after receiving the F) transmitting at least a portion of the computer-generated entity result to the or each first entity; and g) transmitting the computer-generated entity result to the Or obtaining a first entity result therefrom and transferring at least a portion thereof after receipt by each respective first entity; and h) receiving at least a portion of said first entity result by said customer. And obtaining customer results therefrom.
[Selection diagram] Fig. 1

Description

【0001】
【発明の属する技術分野】
本発明は、顧客の要求を処理する方法およびシステムに関する。より詳細には、本発明は、モバイルエージェントの暗号セキュリティに関する。
【0002】
【従来の技術】
増大しつつあるネットワークの世界では、モバイルコードは、ますます重要になりつつあるプログラミングパラダイムである。モバイルコードは、分散システムでの計算を調整する構造に、順応する方法を提供する。現在では、インターネットは、モバイルコードの簡単なフォームのみを表すJava(R)アプレットのような、モバイルコードフラグメントで満ちている。
【0003】
モバイルエージェントとは、ユーザに代わって、情報を、連続的に、収集、フィルタリングおよび処理をするための、自律的に機能するモバイルコードである。モバイルエージェントは、変化する環境、自律動作に反応するような、エージェントパラダイムによる利益を、遠隔コードを実行する特徴と組み合わせる。すなわち、モバイルエージェントは、コンピュータネットワーク内で動作し、その目的を達成するために、必要なときは、サーバ間を移動可能である。重要なアプリケーションは、帯域幅が制限されもしくはユーザが接続を切っている状態での、大型リポジトリーからのデータ検索、およびソフトウェアおよびネットワーク構成管理の、モバイル計算を含んでいる。インターネットをローミングするモバイルエージェントの構想は、大規模のアプリケーションにこのパラダイムを組み込むと、直ちに実現することができる。
【0004】
モバイルコードは、一つのエンティティ(「発信元」と呼ぶ)によって作成されるプログラムとして解され、次に、あるエンティティ、そのホストに、ホストによって実行される直前に、伝送される。換言すれば、インストールを実行しもしくはセットアップルーチンを実行するような、マニュアルの介在を、ホストのために要求されずに、モバイルコードの実行準備が整う。さらに、モバイルエージェントは、発信元からの接続を切った状態で、連続して自律的に動作可能であり、その有効時間中に、他のホストに自由に移動する。このようなエージェントを、巡回(itinerant)エージェントとも呼ぶ。モバイルコードは、さまざまなセキュリティの脅威にさらされている。悪意のあるホストが、コードを調べ、エージェントによって行われる秘密を知ることを試み、この知識を、不当な利益を得るために、エージェントとの対話に利用することができる。ホストは、計算結果の改ざんも試みるかもしれない。
【0005】
モバイルコードの分野で生じる、セキュリティの問題が少なくとも2つある。それは、(1)ホストを、悪意のあるコードから保護すること、(2)コードを、悪意のあるホストから保護すること、である。この第1の問題は、コンピュータウィルスや、トロイの木馬が差し迫った脅威であるために、かなり注目されている。現在の解決策は、いわゆるサンドボックス内で、密にアクセスを制御をしてモバイルコードを実行し、コード生成者との信頼関係を使用するために、コード署名を適用することである。
【0006】
モバイルコードを保護することは、T.SanderとC.F.Tschudinが、彼らの論文「Protecting mobile agents against malicious hosts,Mobile Agents and Security」(G.Vigna、ed)、Lecture Notes in Computer Science、vol. 1419、Springer,1998年に、記載したように、理論的な暗号化からのツールが、非承認ホスト上で暗号化されたフォームの形のモバイルコードを実行するのに有効であり得ることに気付くまでは、幾人かのモバイルコードの研究者には、不可能だと考えられていた。いわゆる安全な計算のためのほとんどのプロトコルは、数ラウンドの双方向の対話を必要とするが、それらは、モバイルアプリケーションのための安全およびその出力のための保全を達成するためには、適用不可能である。SanderとTschudinは、多項式として表現可能な関数のみが、この方式で安全に計算できると結論付けた。Sander等の次の仕事は、T.Sander、A,YoungおよびM.Yungにより「Non−Interactive CryptoComputing for NC」Proc. 40th IEEE Symposium on Foundations of Computer Science(FOCS)、 1999年に、記載されたような、ロガリズムレベルの回路によって計算可能である全ての関数に、この方式を展開することである。
【0007】
コードの上位のフォームは、ホスト上のいくつかの直接のアクションを実行する、アクティブモバイルコードである。このことにより、暗号化の計算についての情報がしばしばホストに漏洩する。そのため、どの出力も、発信元のみが受け取らなければならない。
【0008】
アクティブモバイルコードにともなう基本的な問題は、悪意のあるホストが計算の出力を見ることができ、異なる入力を使って再び簡単にこのコードを実行できることである。悪意のあるホストに対抗するアクティブモバイルコードのための現存する防御は、承認されたハードウェアを使用することのみである。このことは、モバイルコードを、改ざんを防止するように処理されたハードウェアの内部で排他的に実行し、承認された環境を出るときは、できるだけ速やかに暗号化することを、提案したものであり、および、そのことを必要とするものである。
【0009】
US特許登録番号6,026,374は、販売人の利益を危うくする可能性のある、全ての情報製品のコンテンツを開示することなく、潜在的な消費者に、情報製品についての説明を提供する、信頼のおける第三者機関を使用するシステムおよび方法に関する。この消費者は、第三者機関が、売買のための情報の正確な記述を与えていると信じており、一方、販売人はこの第三者機関が、情報製品のコンテンツの量を過度に示すことはないと信じている。このシステムは、情報製品の販売人、このような製品の消費者、および、信頼の置ける第三者機関の要約を含むことができ、それぞれは、インターネットなどの通信ネットワーク中のノードとして動作する。このシステムおよび方法の不利な点は、この第三者機関が、信頼できる機関でなければならず、この第三者機関が全てについての情報および知識を得なければならないことである。このことは、前記第三者機関がクラックを受けた場合は、危険になる可能性がある。さらに、消費者の要求を処理するために、いくつかのメッセージが必要となる。
【0010】
【発明が解決しようとする課題】
本発明は、発信元が顧客の要求を、すなわち、顧客によって開始されている要求を、安全に処理するための、方法およびシステムを提供する。この発信元の要求は、少なくとも一つの第1のエンティティに向けて、モバイルコードもしくはモバイルエージェントに含めて送られる。発信元の要求を処理するための方法は、a)顧客、すなわち顧客のデバイスの形態から、発信元の要求を、前記のもしくはそれぞれの第1のエンティティへ送信するステップと、b)前記のもしくはそれぞれの第1のエンティティを、コンピュータ使用エンティティに接続するステップと、c)前記のもしくはそれぞれの第1のエンティティによって、発信元の要求の受信時に、発信元の要求に関する情報を追加し、そのことによって、第1の変更済要求を作成するステップと、d)第1の変更済要求の少なくとも一部を、この第1の変更済要求の少なくとも一部から得たコンピュータ使用エンティティ結果から導出する、計算機を使用したエンティティによって、受信するステップと、f)前記のもしくはそれぞれの第1のエンティティへ、このコンピュータ使用エンティティの結果の少なくとも一部を送信するステップと、g)前記のもしくはそれぞれの第1のエンティティによって、第1のエンティティ結果から導出する、コンピュータ使用エンティティ結果の少なくとも一部が受信された後に、少なくともその部分を転送するステップと、h)顧客結果から導出した顧客によって、この第1のエンティティ結果の少なくとも一部を受信するステップである。
【0011】
【課題を解決するための手段】
顧客のみが、この計算結果を知ることには利点があり、そのことにより、他のエンティティもしくはホストは、それらに向けたれた結果を除いて、何も知ることができない。この発信元の要求を含んでいるモバイルコードもしくはモバイルエージェントは、いくつかのエンティティに向けて、ネットワーク中に送信され、そのことにより、このコードもしくは少なくともコードのフラグメントは、前記第1のエンティティのいずれのクライアントハードウェアを追加することなく、安全に実行できる。セキュリティは、一般の独立したエンティティである、コンピュータ使用エンティティを介して、取得する。この独立したエンティティは、モバイルエージェントの代わりに暗号化の計算を実施する、コンピュータを使用したサービスであることができるが、暗号化の計算については何も知らない。この独立したエンティティは、多くの異なるアプリケーションとして働くことができ、その場合、アプリケーションを展開する前に、その用法について何も知る必要はない。プライバシと同時に、モバイルエージェントのための認証を、達成することができる。さらに、計算サービス自体は、この計算について何も知らず、コードの発信元もしくは第1のエンティティと共謀することはないと推測される。
【0012】
この独立したエンティティは、特定のサービスに、または、アプリケーションコンテクストに、結び付けられるものではなく、普遍的なものである。たとえば、安全なコンピュータを使用したサーバを、独立したエンティティによって設定し、操作することができる。
【0013】
この方法およびシステムは、ソフトウェアとそれに必要なハードウェアに基づくことができ、したがって、特別のハードウェアを関与させるどの解決策と比較しても、低コストで構築し、操作することができる。
【0014】
暗号化操作は、この要求もしくは結果を含んでいる、モバイルエージェントに適用できる。したがって、モバイルエージェントに対しての保全性を、有益に保証できる。
【0015】
暗号化回路構造を適用することによって、発信元の要求が作成される場合は、要求を安全に計算することが達成され、その要求の発信元が、どれだけの量の情報をエンティティが受信しなければならないかを決めることができるという、利点が生じる。
【0016】
発信元の要求は、暗号化フォームの関数を含むことができる。このことは、発信元の要求を処理する他のエンティティが、これらのエンティティに向けられた結果以外の有効な情報を、そこから引き出すことができないので、有利である。
【0017】
発信元の要求、第1の変更済要求、コンピュータ使用エンティティ結果および第1のエンティティ結果は、暗号化の部分を含むことができる。このことは、注意しなければならない情報が護られ、平文で読むことが不可能であるので、有利である。
【0018】
この発信元の要求は、申し出の文書もしくは他の合法文書を、含むことができる。この要求は、また、購買情報、または、配送先住所もしくは金融取引のためのクレジットカード番号などの顧客情報を、含むことができる。
【0019】
この第1のエンティティは、サービスまたは商品を提供する、ウェブサーバを含んでいる。このサービスは、単に、売買、貸し出し、ライセンスもしくは金融取引を含む、全てのものであることができる。
【0020】
この第1のエンティティの結果は、発信元の要求の受諾に関する、顧客情報を含むことができる。このことは、この第1のエンティティが、そのサービスもしくは商品を、直ちに配送でき、必要な処理を開始することができるので、有利である。
【0021】
この顧客結果は、発信元の要求の受諾に関する、この第1のエンティティの情報を含むことができる。したがって、この顧客は、自身の発信元の要求が完了し、次のアクションが必要とされることはないことを知ることになる。
【0022】
本発明の好ましい実施形態を、例示の目的のみによって、添付の概略的な図面を参照して、以下に説明する。
【0023】
添付図面は、例示の目的のみで提示されており、本発明の実際的な例として一定の比率で表す必要はない。
【0024】
【発明の実施の形態】
図面を全般的に参照して、暗号化の関数を使用して、顧客の要求を処理するための方法およびシステムの特徴を、以下に、より詳細に説明する。顧客の用語を使用するときは、顧客によって使用されるコンピュータもしくはモバイル装置のような、デバイスを意味することは、明らかである。
【0025】
モバイルコードまたはモバイルエージェントの計算を定義付けている要素は、それがコードの発信元と自律して、および独立して、処理をするということである。この安全なモバイルエージェントの計算を、図1に示すような法則でモデル化する。この図では、このボックスを、以下の説明に従ってラベルを付ける。
【0026】
発信元O、および、モバイルエージェント(以下では短くエージェントと呼ぶ)がその上で動作する、l個のホスト(以下ではエンティティH・・・Hと呼ぶ)を考える。
【0027】
図1はインターネットなどのネットワークを示し、それによって、コード発信元Oは第1のエンティティHに接続し、Hは、第2のエンティティHにさらに接続している。この第2のエンティティHは、Hのラベルを付けたエンティティと接続し、このHは、Hj+1のラベルを付けたエンティティとさらに接続し、このことによって、他のいくつかのエンティティが点線によって示される間に存在することが可能である。このエンティティHj+1は、Hのラベルを付けたエンティティに接続し、Hは、次に、コード発信元に戻って接続する。各エンティティH、H、・・・H、Hj+1、Hは、コンピュータ使用エンティティTに接続している。
【0028】
コード発信元Oと、各エンティティH、H、・・・、H、Hj+1、Hは、エージェントを含んでいる、一つのメッセージのみを送受信する。コード発信元Oが、第1のエンティティHに送信するメッセージを、mで示し、より後ろのエンティティHがHj+1に送るメッセージをmで示し、ただしj=1・・・l−1であり、最後のエンティティHがコード発信元Oへ戻すメッセージはmで示す。
【0029】
図2は、図1に示す通信の流れの、より詳細な図を示す。このコード発信元Oは、この図では顧客Oであるが、この図ではHのラベルを付けた第1のエンティティに接続し、さらに、計算機を使用したエンティティTに接続している。顧客Oの発信元要求OR、たとえば、製品についての最低レベルを含めた価格要求を、処理するための方法は、以下のように実行される。顧客Oは、発信元要求ORを、第1のエンティティHに送信する。これは、mORのラベルを付けた矢印で示されている。この第1のエンティティHは、いくつかの製品を、特定の価格で提供する。この第1のエンティティHは、コンピュータ使用エンティティTに接続し、発信元要求ORの受信時に、発信元要求ORに関する情報I、たとえば受諾するつもりの価格を、追加し、そのことによって第1の変更済要求FMRを作成する。この第1の変更済要求FMRは、mFMRのラベルをつけた矢印によって示されるように、コンピュータ使用エンティティTに送られる。コンピュータ使用エンティティTがこの第1の変更済要求FMRを受信した場合は、この要求は、この計算から何も知ることなく、コンピュータ使用エンティティ結果CERを導出する。その後、このコンピュータ使用エンティティの結果CERが、第1のエンティティHに、mCERのラベルを付けた矢印で示すように送り返される。この第1のエンティティHが、このコンピュータ使用エンティティ結果CERを受信した場合は、このエンティティはそこから第1のエンティティ結果FERを導出し、これを、mFERのラベルをつけた矢印で示すように、顧客Oに転送する。この顧客Oは、この第1のエンティティ結果FERから、顧客結果CRを得ることが可能である。この顧客結果CRは、その発信元要求ORが完了しているか否かについての情報を、顧客Oに提示する。この第1のエンティティHは、この第1のエンティティ結果FERから、自身の申し出が顧客Oに受諾されたか否かについて知る。この発信元要求ORは、第1のエンティティが要求された製品をすぐに配送することができるような、すなわち、住所、クレジットカード情報の、顧客Oについての情報を、含むことができる。
【0030】
以上に説明した実施形態においては、このモバイルエージェントは、いくつかのベンダーサイトを訪れ、その申し出を比較する。この発信元要求ORは、価格のみに基づくのではなく、他の属性も含むことができる。この発信元Oまたは顧客Oは、自身の選択したものに対するプライバシを維持することを望むが、ショップは、消費者の攻略と、他のベンダーの申し出についての情報を、知ることに、興味を持っている。保険業界などの、価格が必要に基づいて各顧客に対して個別に決定される複雑な申し出のためには、ベンダーは、価格の計算方法を秘密にしておくことを望んでいる。これらの全ての要求を、安全なモバイルコードのために記述した、この機構によって、果たすことができる。
【0031】
他の実施形態においては、ショッピングエージェントは、ネットワーク中を移動し、いくつかのベンダーもしくはエンティティH、H、・・・、H、Hj+1、Hから申し出を収集する。この場合、申し出のデータフォーマットの事前合意が、役立つ。
【0032】
図3は、図1および図2に示した、同様のもしくは類似の部分を使用している、他の実施形態を示す。違いは、コード発信元Oが、各エンティティH、H 、・・・Hに直接、その発信元要求ORを送信することである。この場合は、この発信元要求ORは、エンティティH、H、・・・、H毎に、同じであってもよいし、異なっていてもよい。
【0033】
さらなる実施形態に、電子交渉を記述する。消費者と一つのベンダーとの間の電子交渉を、一つのホストもしくは一つのエンティティHを訪れる安全なモバイルコードのための機構を使用して、発生させることができる。典型的には、このベンダーは、発信元Oとして機能し、消費者の(既に事実上インターネット上で共通の)ブラウザに、アプレットをダウンロードする。このアプレットは、コンピュータ使用エンティティTのヘルプを使用して、消費者によって実行され、この申し出が消費者に表示される。このベンダーは、そのうえ、いくつかの情報を得ることができ、この情報は、アプレットと同時に起動する「プライバシーステートメント」に、はっきりと明示されなければならない。
【0034】
作成されたビッディング(入札)攻略をもつオークションは、安全なモバイルエージェントのための、興味を引くアプリケーション領域を提供する。ビッディングエージェントは、時間および他の参加者の行動の関数である、複雑な攻略を実施でき、純粋に価格のみに基づく従来の一つのパラメータオークションと比較して、入札者により柔軟性を提供する。多くの価値基準が、相互に関係するので、入札者は、たとえば、多くの価値基準を、前のラウンドで彼が観察した、他の落札者に依存して作成するなど、彼の入札行為をできる限り動的に決定することに、興味を持っている。入札者が、計算可能な関数として、彼の戦略を表現できる場合は、彼は、全ての参加者の、個人的な入力のような攻略をもつ、オークション関数、すなわちオークション結果を、計算するための回路を、構築することができる。これは、オークションエージェントが、一度だけ各入札者を訪れることを要求する。しかし、実現の可能性のあるケースでは、入札者は、その攻略を、数学的に表現することが不可能であり、オークションの各ラウンドは、オークションアプレットによって、各入札者を一度訪れ、オークション主催者に戻すように、安全に実行することもできる。入札が、最低の増額を越えなかった場合は、落札もしくはオークションの終了を、出力する。安全なモバイル計算のための機構が、使用される場合は、どの一つのエンティティH、H、・・・、H、Hj+1、Hも、(オークション主催者、そのコンピュータシステム、もしくはそのオペレータのように)全ての入札を見ることはない。作成されたオークションは、電子市場、公正取引、帯域幅オークション、および移送交換において共通であり、入札者は、しばしば、項目を組み合わせることを好む。
【0035】
以下に、詳細な実施手段を説明する。
【0036】
計算:モバイルエージェントの状態を、集合Xの要素とする。その初期状態xは、Oによって決定される。Hによる入力を、集合Yの要素とし、Hへの出力を、Zの要素とする。このエンティティH上のエージェント計算は、エージェントの新規状態x=g(xj−1、y)、および、出力z=h(xj−1、y)を決定する、以下の2つの関数によって表せる。
:X×Y→X および h:X×Y→Z
Oは、エージェントの最終状態ξ=xl∈Xを、得る。関数gおよびhは、全てのエンティティH、・・・Hに知られている。
【0037】
モバイル計算機構は、全てのj=1、・・・、lおよびx∈X、y∈Yに対して、(2l+2)個のアルゴリズムA、A、・・・、A、B、・・・BおよびDを含む。ただし、
=A(x
=A(mj−1、y) ただし j=1、・・・、l
=B(mj−1、y) ただし j=1、・・・、l
ξ=D(m
以下の2つの状態、正確性およびプライバシーが、保持される。
正確性:ξ=g(xl−1、y)、および、z=h(xj−1、y
ただし j=1、・・・、lであり、
=g (・・・(g(g(x、y)、y)・・・)、y )     ただし j’=1、・・・、l−1を、用いている。
プライバシー: 全てのエンティティの入力、出力および計算は、自身の出力から導かれるものを除いて、発信元からおよび全ての他のエンティティから、隠されたままである。Oは、ξのみについて知るが、xおよびξから導かれるもの以外の、いずれのyjについては何も知ることはなく、同様に、Hはzのみについて知るものの、zおよびyから導かれるもの以外の、j’<jに対するxおよびyについては、何も知ることはない。
【0038】
簡単にするために、以上の機構は、エージェントが全てのエンティティを訪れる場合の順序が、固定されていると仮定する。関数π:Z→{1、・・・、l}を導入し、エージェントを、Hから、Hπ(z)に、送信することにより、このシーケンスがzに依存することができるように、拡張する。一つのホスト、すなわち第1のエンティティのみをもつ、モバイルコードアプリケーションの場合には、この関数gは、Oの出力ξをもたらし、関数hはHの出力zを与える。
【0039】
一般の安全なコンピュータを使用したサービスであることができる、コンピュータ使用エンティティTが提供される。このコンピュータ使用エンティティTは、オンラインにあり、エージェントアプリケーションを実行する、全てのエンティティH、・・・、Hまたはホストに、接続され、安全なエージェント計算のために配置される。このコンピュータ使用エンティティT自体は、どのような振る舞いをしても、以下の仮定の下では、計算についてのいずれの情報も、得ることはない。その仮定は(1)コンピュータ使用エンティティTは、いずれのエンティティに対する発信元とも共謀しない、(2)コンピュータ使用エンティティTは、発信元に対するいずれのエンティティ、もしくは、他のエンティティに対するいずれのエンティティとも、共謀しないことである。全ての計算は、最小限に、もしくは、繰り返すことなく、処理される。この機構は、一般的であり、どの特定のアプリケーションにも拘束されない。従って、コンピュータ使用エンティティTのサービスを、インターネット上の「安全なモバイルエージェント計算」のための、公のサービスとして提供することができる。OもしくはHの役割で(たとえば比較して買い物をするために)、このサービスを使用する、クライアントもしくは顧客は、コンピュータ使用エンティティTが、自分等のプライバシ(たとえば顧客のプロファイリングおよび収集している市場データ)を侵害することを試みるのではないかと、恐れる必要はない。さらに、このコンピュータ使用エンティティT自体、セキュリティプロバイダとしてその評判を維持することに関心を持っている。
【0040】
以上の機構は、暗号化フォーム中の関数に基づいている。たとえば、バイナリのデジタル回路の暗号化は、このエージェント計算の部分を実現する。これは、以下に説明するような暗号化の回路構造よって、実現することができる。
【0041】
暗号化の回路構造
【0042】
A.C.Yaoによって、彼の論文「How to generate and exchange secrets」Proc. 27th IEEE Symposium of Computer Science (FOCS)、1986年 pp.. 162 − 167で紹介されたYaoの暗号化回路の構造は、2つの当事者またはエンティティの間の、秘密関数評価用の対話式プロトコルである。これは、バイナリ関数g(・、・)、および、当事者アリス(入力xをもつ)およびボブ(入力yをもつ)のための記述である。ボブは出力z=g(x、y)を受け取るが、それ以外は何も知ることはなく、アリスはまったく何も知ることはない。
【0043】
(x、・・・、xnx)、(y、・・・、yny)、および(z、・・・、znz)は、それぞれ、x、y、zのバイナリ表記を示し、Cは、gを計算する多項型のバイナリ回路を示すとする。Yaoの構造の構成要素は、(I)アリスが暗号化回路を構築するために使用する第1のアルゴリズム構造(construct)、(II)アリスとボブの間の伝送プロトコル、および(III)ボブがg(x、y)を検索できるようにする第2のアルゴリズム評価(evaluate)である。より正確には、これらの処理は、以下のようになる。
【0044】
(I)見込みに基づく第1のアルゴリズム構造(construct)(C)は、入力タプルおよび出力タプルとして回路を使用する。
(e、l、k、u)
ただし、Cは(n+n)個の入力回路C(・,・)を暗号化したものと考えることができ、l,k,uは、それぞれx、y、zに対応する、いわゆる鍵の対のリストで示すことができる。
l=(L1,0,L1,1)、・・・、(Lnx,0,Lnx,1
k=(K1,0,K1,1)、・・・、(Kny,0,Kny,1
u=(U1,0,U1,1)、・・・、(Unz,0,Unz,1
【0045】
暗号eからC(x、y)を計算するために、ボブは、Li、bが入力ビットx=bに対応し、Ki、bが入力ビットy=bに対応している、入力ビット毎の一つの「鍵」を必要とする。この鍵Ui、0およびUi、1は、暗号化の回路の出力ビットを表し、すなわち、評価によってUi、bが生成される場合は、出力ビットzはbと設定される。
【0046】
eが暗号化する場合の、特定の方法は、回路の全てのゲートに対してに、自身の入力ビットを表す2つの鍵が与えられることを保証し、結果の出力ビットを表す鍵は容易に計算できるが、それが表す平文については、何の情報も明らかとはならないようにすることである。
【0047】
(II)アリスとボブは、たとえば、S.Even、O.GoldreichおよびA.Lempelによって、「A randomized protocol for signing contract」Communications of the ACM 28 (1985年)、 637 − 647に記載されたような、もしくは、G.Brassard、C.CrepeauおよびJ.−M.Robertによって「Information−theoretic reductions among disclosure problems」、Proc. 27th IEEE Symposium on Foundations of computer Science (FOCS)、 1986年に記載されたような、忘却通信(oblivious transfer)用のプロトコルに束縛される。これは、2つのメッセージmおよびmの入力をもつ送信者のための、および、ビットσの入力をもつ選択者のための、両当事者の対話式プロトコルである。終端では、この選択者は、mσを受信するが、
【数1】

Figure 2004513542
については何も知ることはなく、送信者はσについての情報は何ももたない。
【0048】
より正確には、アリスは送信者として機能し、ボブは彼の入力の全てのビットyについて値K’=Kj,yiを得るが、
【数2】
Figure 2004513542
については何も知ることはない。同時に、アリスは、yについては何も知ることはない。
【0049】
さらに、アリスは、i=1、・・・、nxに対して、L’=Li、xiとしてxを表す鍵を計算し、e、L’、・・・、L’nx、uをボブに送る。
【0050】
(III)この第2のアルゴリズム評価(e、L’、・・・、L’nx、K’、・・・K’ny)は、暗号化の回路、xの表記、および対応する鍵によるyの表記を、入力として使用する。この評価によって、ボブがzを回復できる、鍵U’、・・・、U’nzを出力し、アリスとボブがこのプロトコルに従う場合は、z=g(x、y)となる。
【0051】
この第1のアルゴリズム構造(construct)および第2のアルゴリズム評価(evaluate)の実施は、たとえばO.Goldreich、S.GoldwasserおよびS.Micaliよって「How to construct random functions」、Journal of the ACM 33 (1986年)、 no. 4, 792 − 807で提示されるような、ブロック暗号によって実際に実現できる、擬似ランダム関数によって実現できる。ブロック暗号は、ソフトウェアで実施する場合でさえ、非常に高速の暗号関数である。
【0052】
以下に、この暗号化の回路構造を、一つのもしくは第1のエンティティをもつ安全なモバイルコード計算を実現するために、どのように使用するかを説明する。複数のエンティティに拡張することは、後で考慮する。
【0053】
このコンピュータ使用エンティティTは、暗号化方式の公開鍵を発行する。対応する暗号化および解読の操作は、それぞれ、E(・)およびD(・)で示す。全てのエンティティは、安全な承認されたリンクを介して通信でき、これは、標準の公開鍵暗号およびデジタル署名を使用することによって実現できる。
【0054】
基本的な機構は、Oが、2つの値ξおよびzを計算する、暗号化の回路eを構築することである。このコード発信元Oは、eを第1のエンティティHに送信するが、Tのために、kにある全ての鍵を暗号化し、ξに対応するu内には、鍵の対(uで示す)は含めない。その結果、第1のエンティティHは、ξに付いて何も知ることはない。次に、第1のエンティティHは、yを表す暗号化の鍵をkから選択し、コンピュータ使用エンティティTを関与させて、対話的な一つのラウンド内で、それを解読する。次いで、この第1のエンティティHは、この回路を評価し、zを得る。この場合、この第1のエンティティHは、また、回路からξを決定できるOに対して、ξの表記を出力する回路内の鍵を戻す。
【0055】
Cを、前述の部分の表記を僅かに変更した、(n+n)個の入力ビットx、・・・、xnx、y、・・・、ynyの同じ入力、および(n+n)個の出力ビットξ、・・・、ξnx、z、・・・、znzから、(ξ、z)=(g(x、y)、h(x、y))を計算するバイナリ回路とする。この方式は、以下に説明するように、5つのステップ1)から5)で処理する。
【0056】
1)Oは計算を独自に識別するストリングid、たとえばOの名前、gおよびhの記述、および、シーケンスカウンタなど含むidを、選択する。Oは構造(construct)(C)を呼び出し、uが、合計(n+n)個の鍵の対を含む、前述したような(e、l、k、u)を得る。uはインデックス1、・・、nをもつuの対を示し、uは、インデックスn+1、・・・、n+nをもつuの対を示す。
【0057】
i=1、・・・、nおよびb∈{0,1}に対し、以下の式を計算する。
【数3】
Figure 2004513542
【0058】
kが、前述した全てのKの対のリストを示すとする。次いで、Oは、前述のように、i=1、・・・、nに対してL’=Li、xiとし、第1のエンティティHに、id、e、L’、・・・、L’n、k、uを送る。
【0059】
2)第1のエンティティHは、i=1、・・・nに対して、
【数4】
Figure 2004513542
を、自身の入力yを表す暗号として設定し、これらを、idとともに、コンピュータ使用エンティティTに送信する。
【0060】
3)コンピュータ使用エンティティTは、i=1、・・・、nに対して
【数5】
Figure 2004513542
を解読し、i番目の解読されたストリングが、識別子idおよびインデックスiを含んでいることを、検証する。全てのチェックが成功である場合は、このコンピュータ使用エンティティTは、解読鍵K’、・・・K’nを、この第1のエンティティHに戻す。
【0061】
4)第1のエンティティHは、第2のアルゴリズムの評価(e、L’、・・・、L’nx、K’、・・・、K’ny)に関与し、U’、・・・U’nx+nzを得る。次いで、この第1のエンティティHは、i=1、・・・、nに対してUnx+i、zi=U’nx+iとなるような、z=(z、・・・、znz)を決定し、残りの値U’、・・・、U’nxを、コード発信元Oに転送する。
【0062】
5)コード発信元Oは、i=1、・・・、nxに対して、Ui、ξi=U’となるような、出力ξ=(ξ、・・・、ξnx)を決定する。
【0063】
セキュリティの増強には、コンピュータ使用エンティティTは、適応可能な選択暗号文への攻撃に対して安全である、これは柔軟性の欠如を意味するが、公開鍵暗号システムを使用しなければならず、これは、D.Dolev、C.DworkおよびM.Naorによって、「Non−malleable cryptography」、SIAM Journal on Computing 30 (2000年)、 no.2, 391−437に記載されている。コード発信元Oおよび第1のエンティティHは、また、その入力を委託しなければならない。実際のシステムでは、これらの全ては、たとえば、M.BellareおよびP.Rogawayによって「Random oracles are practical: A paradigm for designing efficient protocols」、Proc. 1st ACM Conference on Computer and Communications security, 1993年に、記載された、安全なハッシュ関数を使用した、いわゆる「random oracle model」で、実現できる。この場合には、公開鍵暗号方式および回路暗号用の擬似ランダム関数が、M.NaorおよびO.Reingoldによって、「Number−theoretic constructons of efficient pseudo−random functions」、 Proc. 38th IEEE Symposium on Foundations of Computer Science (FOCS)、 1997年に、記載された、Diffie−Hellman問題の困難さに基づく離散ロガリズムを使って、実施できる。
【0064】
以下に、前述した方法の拡張を、図1に示すような複数のエンティティH、・・・、Hをもつ一般のモバイル計算機構を実現するために、開示する。この概念は、各エンティティが、前述の基本方式のステップ2)〜4)を実行し、それから、このエージェントを次のエンティティに送信する場合には、本質的なものである。
【0065】
すなわち、コード発信元Oは、各エンティティH、・・・、Hのために、一つの暗号化回路eを用意し、j>lに対して、e(j−1)からの暗号化状態xj−1を、e(j)に組み込む。これは、e(j)への入力の隠れ表記を解読するための、e(j−1)からの出力鍵U1’(j−1)、・・・、U’nx(j−1)を使用することによって、成し遂げられる。
【0066】
(・)およびD(・)によって示される鍵kの下で、暗号化動作および解読動作をそれぞれともなう対称暗号システムでは、この暗号システムは、潜在的な鍵Uおよび暗号文cが与えられることにより、Uの下での暗号化によってcが得られるか否かについて、高い確率を持って決定できるような、十分な冗長性を含んでいる。この方式に対しての変更点は、以下の通りである。
【0067】
1a)コード発信元Oは、前述したeに対しての方法と同じ方法で、j=1、・・・、lに対してe(j)、l(j)、k(j)、u(j)および
【数6】
Figure 2004513542
を得る。しかし、このコード発信元Oは、e(l)に対してのみ、値L’=L’i、xi (l)を選択する。このj番目のステージの識別子は、id||jに設定される。このコード発信元Oはまた、2つの暗号
【数7】
Figure 2004513542
を用意する。ただし、それぞれj>1、およびi=1、・・・、nxであり、これらの値をVi、0 (j)およびVi、1 (j)に割り当てる前に、これらの値をランダムに交換する。このような対のリストをv(j)と呼ぶ。
【0068】
次に、このコード発信元Oは、
【数8】
Figure 2004513542
を、第1のエンティティHに、一つのメッセージに含めて、送信する。
【0069】
2a)j>1に対しては、Hが、基本方式のステップ2を実行するときに、e(j−1)を評価する前に、Hj−1から、v(j)およびU’ (j−1)、・・・、U’nx (j−1)を受信する。
【0070】
U’ (j−1)を、Eに対する対称鍵として、エンティティ毎に解釈し、解読する一つの暗号文Vi、0 (j)およびVi、1 (j)を決定し、次いで、適合する方を解読する。これは、エージェントの現在の状態xにある、i番目のビットの忘却(oblivious)表記K (j)をもたらす。これらの鍵は、次いで、e(j)を評価するために使用される。
【0071】
3a)Hがe(j)の評価から出力を得たときは、Hは、Hj−1から受け取った全てのデータを、U’ (j)、・・・、U’nx (j)とともに、Hj+1へ転送する。サークルの終端では、Hは、U’ (l)を、コード発信元Oに戻す。
【0072】
コンピュータ使用エンティティTがコードを生成する。
【0073】
OおよびTの役割を交換した場合には、コンピュータ使用エンティティTが、暗号化回路を生成する。この回路は、このプロトコルに従うと考えられるため、全回路の正確性のために、費用のかかるゼロ知識証明を追加する必要はない。したがって、他のエンティティの操作、および、エラー強さを保証する対応証明は、より簡単になる。このコンピュータ使用エンティティTは、この回路を構築するために、gおよびhを知らなければならないが、このTは、第1のプロトコルメッセージ中のOから、Cの解読を得ることができる。
【0074】
三当事者の忘却通信プロトコルが、M.Naor、B.PinkasおよびR.Summerによって、「Privacy preserving auctions and mechanism design」、Proc.1st ACM Conference on Electronic Commerce、1999年で紹介されたように使用されている。その場合、選択者の役割が、この選択者と、受信者と呼ばれる第三の当事者との間で分けられる。忘却通信の標準概念と比較して、受信者は、選択者によって指定された出力メッセージmσを得るが、選択者自身は何も知ることはない。このいわゆる「プロキシ」忘却通信は、以下の3つのメッセージを使用して、実現できる。それは、選択者から受信者へ、受信者から送信者へ、および、送信者から受信者へのメッセージである。
【0075】
このプロトコルは、また、二当事者間の標準の忘却通信の、1ラウンドの実施を使用する。これは、C.Cashin、J.Camenisch、J.KilianおよびJ.Mullerの、論文「One−round secure computation and secure autonomous mobile agents」、Proc.27th International Colloquium on Automata、 Languages and Programming(ICALP)(U.Montanari、 J.P.RolimおよびE.Welzl、eds.)、Lecture Notes in Computer Science、vol.1853、Springer、July 2000年、pp.512−523に記載された方法を使用して、実現できる。
【0076】
基本方式と同様、暗号化回路構造の構成要素が適用される。このプロトコルを、一つのエンティティHをもつ、モバイルコードの基本事例用に、記述する。Oが、E(・)、D(・)によってそれぞれ示される、暗号化操作および解読操作をともなう公開鍵暗号方式を使用すると仮定する。Oは、n並列三当事者忘却通信内の選択者として、各ビットxに対して、計算を開始する。Oは、これらの隠れ選択を、この三当事者忘却通信内の受信者として機能するHに、CおよびE(・)とともに送信する。Hは、この適当なデータを、送信者として機能する、すなわちこの三当事者の忘却通信中の鍵の対Lを送信する、Tに転送する。さらに、Hはまた、n並列1ラウンド忘却通信(選択者の役割を担う)に対する入力も、yの各ビット用に、用意する。Hは、これらを、CおよびE(・)の記述とともに、Tに送信する。この場合、Tは、鍵の対Kを、1ラウンド忘却伝送内に送信する。
【0077】
Tは、construct(C)を呼び出し、e、および、鍵の対l、kおよびuを得る。Tは、E(u)、e、u、および、全ての忘却通信プロトコル中の最終流れとともに、Hに応答する。
【0078】
以上から、Hはxを表す鍵L’、・・・、L’nx、および、yを表す鍵K’、・・・、L’nyを決定できる。Hは、評価(evaluate)(e、L’,・・・、L’nx、K’、・・・、K’ny)を実行し、前述したようにU’、・・・、U’nx+nyを得る。次いで、Hは、U’nx+1、・・・、U’nx+nzおよびuから、自身の出力zを判断し、E(u)とともに、U’、・・・、U’nxを、Oに転送する。このことによって、Oは、自身の出力ξを得ることが可能になる。
【0079】
以下には、一つのホストまたは第1のエンティティHから、l個のホストH、・・・、Hへ拡張した、プロトコルを示す。このプロトコルは、第1のホストに対しては、前述したように開始する。しかし、H、・・・Hに対するステップは、僅かに異なっている。すなわち、三当事者忘却通信、および、Eの下での暗号化は、使用されない。代わりに、Tは、e(j)の入力の中にあって、前述したv(j)のように、e(j−1)からの、u(j−1)中の出力鍵に基づいて、エージェントの状態xj−1を表している、鍵l(j)を暗号化する。この鍵u(j−1)は、ステップj−1とステップjの間にあるTによって記憶でき、もしくは、Hj−1およびHを介してTへ伝送されるプロトコル流れとともに、E(・)によって暗号化して、送信できる。さらに、最後のホストは、TからE(・)とともに暗号化されたuを得、これを、前述したように、Oへ転送する。
【0080】
この通信パタンは、基本方式のパタンと同じである。OからHへの一つのメッセージ、各Hj−1からHへの一つのメッセージおよびHからOへの一つのメッセージが存在し、これに、各ホストとコンピュータ使用エンティティTとの間の一つの通信流れが加わる。エラー強さは、悪意をもって改変されない公開鍵暗号方式、および、非対話式のゼロ知識証明を、使用することによって、追加できる。しかし、この結果は、ゼロ知識証明が、潜在的に大きな暗号化回路を必要とはしないので、より実用的である。さらに、この暗号化回路構造は、公開鍵で操作する代わりに、ブロック暗号によって実施できる。
【0081】
開示の実施形態は、いずれも、例示の、および/または、説明したうちの、一つまたはいくつかの他の実施形態と、組み合わせることができる。これは、本実施形態の、一つまたは複数の特徴に対しても、可能である。
【0082】
本発明は、ハードウェア、ソフトウェア、または、ハードウェアおよびソフトウェアの組み合わせで実現できる。どの種類のコンピュータシステム、または、本明細書で開示の方法を実現するために適した他の装置が、適している。ハードウェアおよびソフトウェアの典型的な組み合わせは、ロードおよび実行すると、本明細書で開示の方法を実行できるような、コンピュータシステムを制御するコンピュータプログラムを備えた、汎用目的のコンピュータシステムであることができる。本発明は、本明細書で開示の方法を実施できる全ての特徴を備え、コンピュータシステムにロードすると、本方法を実施可能な、コンピュータプログラム製品にも、組み込むことができる。
【0083】
コンピュータプログラム、または、本明細書でいうところのコンピュータプログラムとは、情報処理能力を有するシステムが、特定の機能を、直接、もしくは、a)他の言語、コードもしくは表記に変換、b)異なるマテリアルフォームの形の再生成の、一方もしくは両方の後に、実行することを引き起こすような、いずれの言語における、命令の組のコードもしくは表記の、すべての表現を意味する。
【図面の簡単な説明】
【図1】本発明に従った通信の流れを示す図である。
【図2】通信の流れをより詳細に示す図である。
【図3】通信の流れの他の例を示す図である。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and system for processing customer requests. More particularly, the present invention relates to mobile agent cryptographic security.
[0002]
[Prior art]
In an increasing world of networks, mobile code is an increasingly important programming paradigm. Mobile code provides a way to adapt to structures that coordinate calculations in distributed systems. At present, the Internet is full of mobile code fragments, such as Java applets, which represent only a simple form of mobile code.
[0003]
A mobile agent is an autonomously functioning mobile code for continuously collecting, filtering, and processing information on behalf of a user. Mobile agents combine the benefits of an agent paradigm, such as reacting to changing environments, autonomous behavior, with features that execute remote code. That is, a mobile agent operates within a computer network and can move between servers as needed to achieve its purpose. Important applications include data retrieval from large repositories with limited bandwidth or disconnected users, and mobile computing of software and network configuration management. The concept of a mobile agent roaming the Internet can be realized immediately when this paradigm is incorporated into large-scale applications.
[0004]
Mobile code is interpreted as a program created by one entity (called the "source") and then transmitted to an entity, its host, just before being executed by the host. In other words, the mobile code is ready to execute without requiring manual intervention for the host, such as performing an installation or performing a setup routine. In addition, the mobile agent can operate continuously and autonomously with the connection from the source disconnected, and freely move to another host during its valid time. Such an agent is also called an itinerant agent. Mobile code is exposed to various security threats. A malicious host can examine the code and try to learn the secrets performed by the agent, and this knowledge can be used to interact with the agent in order to gain unfair advantage. The host may also try to tamper with the result of the calculation.
[0005]
There are at least two security issues that arise in the field of mobile code. It is (1) protecting the host from malicious code, and (2) protecting the code from the malicious host. This first problem has received considerable attention because computer viruses and Trojans are an imminent threat. The current solution is to execute code with tight access control and execute code in a so-called sandbox and use a trust relationship with the code generator.
[0006]
Protecting mobile code is described in T.A. Sander and C.E. F. Tschudin in their paper "Protecting mobile agents against malicious hosts, Mobile Agents and Security" (G. Vigna, ed.), Lecture Notebook. 1419, Springer, 1998, note that tools from theoretical encryption, as described, may be effective in executing mobile code in the form of an encrypted form on an unauthorized host. Until now, it was considered impossible by some mobile code researchers. Most protocols for so-called secure computation require several rounds of two-way interaction, but they are not applicable to achieve security for mobile applications and integrity for their output. It is possible. Sander and Tschudin concluded that only functions that could be represented as polynomials could be safely computed in this manner. The next work by Sander et al. Sander, A, Young and M.S. "Non-Interactive CryptoComputing for NC" Proc. The 40th IEEE Symposium on Foundations of Computer Science (FOCS), 1999, is to extend this scheme to all functions that can be calculated by logarithm-level circuits, such as those described in 1999.
[0007]
The top form of the code is active mobile code that performs some direct action on the host. This often leaks information about the encryption computation to the host. Thus, any output must be received only by the source.
[0008]
The basic problem with active mobile code is that a malicious host can see the output of the computation and easily run this code again with different inputs. The only existing defense for active mobile code against malicious hosts is to use approved hardware. This suggests that mobile code be executed exclusively inside hardware that has been manipulated to prevent tampering, and that when exiting an approved environment, be encrypted as soon as possible. Yes, and need that.
[0009]
US Patent No. 6,026,374 provides potential consumers with a description of information products without disclosing the content of all information products that could jeopardize the merchant's interests , Systems and methods that use trusted third parties. The consumer believes that the third party has given an accurate description of the information for sale, while the seller believes that the third party has I do not believe it. The system may include summaries of information product sellers, consumers of such products, and trusted third parties, each operating as a node in a communication network such as the Internet. A disadvantage of this system and method is that the third party must be a trusted organization and the third party must have information and knowledge about everything. This can be dangerous if the third party is cracked. In addition, several messages are required to process the consumer's request.
[0010]
[Problems to be solved by the invention]
The present invention provides a method and system for a source to securely process a customer's request, ie, a request initiated by the customer. The source request is sent to the at least one first entity in a mobile code or mobile agent. A method for processing an originating request comprises the steps of: a) sending an originating request from a customer, ie, in the form of a customer's device, to the or each first entity; b) the or the first entity. Connecting each first entity to a computer-using entity; c) adding information about the originating request upon receipt of the originating request by the or each first entity; Creating a first modified request, and d) deriving at least a portion of the first modified request from a computer usage entity result obtained from at least a portion of the first modified request. Receiving by a computer-based entity; f) to the or each first entity; Transmitting at least a portion of the result of the computer-using entity; and g) receiving, by the or each first entity, at least a portion of the computer-using entity result derived from the first entity result. Later, transferring at least a portion thereof; and h) receiving at least a portion of the first entity result by a customer derived from the customer result.
[0011]
[Means for Solving the Problems]
It is advantageous that only the customer knows the result of this calculation, so that no other entity or host knows anything except the result directed to them. The mobile code or mobile agent containing the originating request is transmitted through the network to a number of entities, whereby the code or at least a fragment of the code is transmitted to any of the first entities. It runs safely without any additional client hardware. Security is gained through computer-usable entities, which are generally independent entities. This independent entity can be a computer-based service that performs cryptographic computations on behalf of the mobile agent, but knows nothing about cryptographic computations. This independent entity can serve as many different applications, without having to know anything about its usage before deploying the application. At the same time as privacy, authentication for the mobile agent can be achieved. In addition, the computation service itself does not know anything about this computation and is presumed not to collude with the source or first entity of the code.
[0012]
This independent entity is not tied to a specific service or application context, but is universal. For example, a secure computer-based server can be configured and operated by an independent entity.
[0013]
The method and system can be based on software and the hardware required for it, and therefore can be built and operated at low cost compared to any solution involving special hardware.
[0014]
The encryption operation is applicable to the mobile agent containing this request or result. Therefore, the integrity of the mobile agent can be beneficially guaranteed.
[0015]
If the originating request is made by applying cryptographic circuitry, then a secure computation of the request is achieved, and the source of the request determines how much information the entity receives. The advantage arises that one can decide what must be done.
[0016]
The originating request may include a function in an encrypted form. This is advantageous because other entities that process the originating request cannot derive valid information therefrom other than the results intended for these entities.
[0017]
The originating request, the first modified request, the computer use entity result, and the first entity result may include a portion of the encryption. This is advantageous because the information that needs attention is protected and cannot be read in plain text.
[0018]
This source request may include the offer document or other legal document. The request may also include purchasing information or customer information such as a shipping address or credit card number for a financial transaction.
[0019]
This first entity includes a web server that provides services or goods. This service can be anything, including simply buying, selling, lending, licensing or financial transactions.
[0020]
The result of this first entity may include customer information regarding the acceptance of the originating request. This is advantageous because the first entity can immediately deliver the service or goods and initiate the required processing.
[0021]
The customer result may include information of the first entity regarding acceptance of the originating request. The customer will therefore know that his request has been completed and that no further action is required.
[0022]
Preferred embodiments of the present invention are described below, by way of example only, with reference to the accompanying schematic drawings, in which:
[0023]
The accompanying drawings are provided for illustrative purposes only and need not be drawn to scale as a practical example of the invention.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
With general reference to the figures, the features of the method and system for processing customer requests using the function of encryption are described in more detail below. Obviously, when using customer terms, it is meant to refer to a device, such as a computer or mobile device, used by the customer.
[0025]
An element defining the computation of a mobile code or mobile agent is that it operates autonomously and independently of the source of the code. The calculation of the secure mobile agent is modeled by a rule as shown in FIG. In this figure, the box is labeled according to the following description.
[0026]
Source O and l hosts (hereinafter entity H) on which the mobile agent (hereinafter referred to as agent for short) operates.1... Hl).
[0027]
FIG. 1 shows a network, such as the Internet, by which the code origin O can be a1And connect to H1Is the second entity H2Connected to further. This second entity H2Is HjConnect to the entity labeledjIs Hj + 1In addition to this, it is possible for some other entities to be present while indicated by the dotted line. This entity Hj + 1Is HlConnect to the entity labeledlThen connects back to the code source. Each entity H1, H2… Hj, Hj + 1, HlIs connected to the computer use entity T.
[0028]
Code source O and each entity H1, H2, ..., Hj, Hj + 1, HlSends and receives only one message, including the agent. The code origin O is the first entity H1Message to send to0, And a later entity HjIs Hj + 1Send a message tojWhere j = 1... L−1 and the last entity HlThe message returned to the code sender O is mlIndicated by
[0029]
FIG. 2 shows a more detailed diagram of the communication flow shown in FIG. This code source O is a customer O in this figure, but in this figure it is connected to a first entity labeled H and further to an entity T using a computer. The method for processing the source request OR of the customer O, for example, the price request including the lowest level for the product, is performed as follows. Customer O sends a source request OR to the first entity H. This is mORIs indicated by the arrow labeled. This first entity H offers several products at a certain price. This first entity H connects to the computer-using entity T and, upon receiving the originating request OR, adds information I about the originating request OR, for example the price that it intends to accept, thereby making a first change. Created request FMR. This first modified request FMR is mFMRSent to the computer use entity T as indicated by the arrow labeled. If the computer use entity T receives this first modified request FMR, it derives the computer use entity result CER without knowing anything from this calculation. Thereafter, the result CER of this computer-using entity is given to the first entity H by mCERSent back as indicated by the arrow labeled. If this first entity H receives this computer-usable entity result CER, it derives a first entity result FER therefrom,FERIs forwarded to the customer O as indicated by the arrow with the label The customer O can obtain a customer result CR from the first entity result FER. The customer result CR presents information on whether or not the source request OR has been completed to the customer O. This first entity H knows from this first entity result FER whether its offer has been accepted by the customer O or not. This source request OR may include information about the customer O, such that the first entity can immediately deliver the requested product, ie, address, credit card information.
[0030]
In the embodiment described above, the mobile agent visits several vendor sites and compares their offers. This source request OR is not based solely on price, but may also include other attributes. This source O or customer O wants to maintain privacy for their choices, but the shop is interested in knowing information about consumer capture and other vendor offers. ing. For complex offers, such as in the insurance industry, where prices are determined individually for each customer based on need, vendors want to keep the method of calculating prices secret. All of these requirements can be fulfilled by this mechanism, described for secure mobile code.
[0031]
In another embodiment, the shopping agent moves around the network and a number of vendors or entities H1, H2, ..., Hj, Hj + 1, HlCollect offers from. In this case, prior agreement on the data format of the offer is helpful.
[0032]
FIG. 3 shows another embodiment using similar or similar parts as shown in FIGS. 1 and 2. The difference is that the code source O is1, H2 … HlIs transmitted directly to the source request OR. In this case, the source request OR is the entity H1, H2, ..., HlEach may be the same or different.
[0033]
A further embodiment describes electronic negotiation. Electronic negotiation between the consumer and one vendor can occur using a mechanism for secure mobile code visiting one host or one entity H. Typically, this vendor acts as the source O and downloads the applet to the consumer's (already in fact common on the Internet) browser. This applet is executed by the consumer using the help of the computer-using entity T, and the offer is displayed to the consumer. The vendor can also obtain some information, which must be clearly articulated in a "privacy statement" that runs simultaneously with the applet.
[0034]
Auctions with created bidding strategies provide an attractive application area for secure mobile agents. Bidding agents can conduct complex captures that are a function of time and other participant behavior, providing more flexibility to bidders compared to traditional one-parameter auctions that are purely price-based . Since many value criteria are interrelated, a bidder may take his bidding actions, for example, creating many value criteria he observed in the previous round, depending on other successful bidders. I'm interested in making decisions as dynamically as possible. If a bidder can express his strategy as a computable function, he will calculate an auction function, ie, auction results, with a strategy like personal input for all participants. Circuit can be constructed. This requires that the auction agent visit each bidder only once. However, in a possible case, the bidder would not be able to mathematically describe the strategy, and each round of the auction would visit each bidder once through the auction applet, It can be safely executed as if it were returned to the person. If the bid does not exceed the minimum increase, a bid or the end of the auction is output. If any mechanism for secure mobile computing is used, then any one entity H1, H2, ..., Hj, Hj + 1, HlNor do they see all bids (like an auction organizer, its computer system, or its operator). The auctions created are common in electronic markets, fair trade, bandwidth auctions, and transfer exchanges, and bidders often prefer to combine items.
[0035]
Hereinafter, detailed implementation means will be described.
[0036]
Calculation: Let the state of the mobile agent be an element of the set X. Its initial state x0Is determined by O. HjBy the set Yj, And HjOutput to ZjElement. This entity HjThe above agent calculation is the new state of the agent xj= Gj(Xj-1, Yj) And output zj= Hj(Xj-1, Yj) Can be expressed by the following two functions.
gj: X × Yj→ X and hj: X × Y → Zj
O gets the final state of the agent, ξ = xl∈X. Function gjAnd hjIs all entities H1… HlIs known to.
[0037]
The mobile computing mechanism computes all j = 1,..., L, and x0∈X, yj∈YjFor (2l + 2) algorithms A0, A1, ..., Al, B1, ... BlAnd D. However,
m0= A0(X0)
mj= Aj(Mj-1, Yj) Where j = 1, ..., l
zj= Bj(Mj-1, Yj) Where j = 1,..., L
ξ = D (ml)
The following two states are maintained: accuracy and privacy.
Accuracy: ξ = gl(Xl-1, Yl) And zj= Hj(Xj-1, Yj)
Where j = 1,..., L,
xj '= Gj '(... (g2(G1(X0, Y1), Y2) ...), yj ') {Where, j = 1,..., 1-1.
Privacy: The inputs, outputs and calculations of all entities remain hidden from the source and from all other entities, except those derived from their own outputs. O knows only about ξ, but x0Nothing is known about any yj other than those derived from and 、, and likewise HjIs zjKnow only about zjAnd yjX for j '<j, other than those derived from0And yjI don't know anything about
[0038]
For simplicity, the above mechanism assumes that the order in which agents visit all entities is fixed. Function π: Zj→ Introduce {1, ..., l} and set the agent to HjFrom, Hπ(Zj), This sequence is transformed into zjExtend so that you can rely on In the case of a mobile code application with only one host, the first entity, this function g gives an output O of O and the function h gives an output z of H.
[0039]
A computer-using entity T is provided, which can be a common secure computer-based service. This computer-using entity T is all entities H that are online and execute agent applications.1, ..., HlOr, connected to the host and deployed for secure agent computation. Whatever the behavior of the computer use entity T itself, under the following assumptions, it does not get any information about the calculations. The assumption is that (1) the computer-using entity T does not collude with the source for any entity, and (2) the computer-using entity T conspires with any entity for the source or any other entity. That is not to do. All calculations are processed with minimal or no repetition. This mechanism is general and is not tied to any particular application. Thus, the service of the computer-using entity T can be provided as a public service for "secure mobile agent computing" on the Internet. In the role of O or H (eg, to make a shopping comparison), a client or customer who uses this service can use the computer-usable entity T to make sure that his / her privacy (eg, customer profiling and collecting markets). You don't have to be afraid to try to compromise data). In addition, the computer use entity T itself is interested in maintaining its reputation as a security provider.
[0040]
The above mechanism is based on functions in the encrypted form. For example, the encryption of a binary digital circuit implements this part of the agent computation. This can be realized by an encryption circuit structure as described below.
[0041]
Circuit structure of encryption
[0042]
A. C. Yao, in his dissertation "How to generate and exchange secrets," Proc. 27th IEEE Symposium of Computer Science (FOCS), 1986 pp. . The structure of Yao's encryption circuit, introduced at 162-167, is an interactive protocol for the evaluation of secret functions between two parties or entities. This is the description for the binary function g (.,.) And the parties Alice (with input x) and Bob (with input y). Bob receives the output z = g (x, y), but knows nothing else, and Alice knows nothing at all.
[0043]
(X1, ..., xnx), (Y1, ..., yny) And (z1, ..., znz) Indicate binary notations of x, y, and z, respectively, and C indicates a polynomial binary circuit for calculating g. The components of Yao's structure are (I) the first algorithmic construct (Alice) used by Alice to build the encryption circuit, (II) the transmission protocol between Alice and Bob, and (III) Bob the A second algorithm evaluate that allows g (x, y) to be searched. More precisely, these processes are as follows.
[0044]
(I) A first algorithm based on expectations (C) uses circuits as input and output tuples.
(E, l, k, u)
Where C is (nx+ Ny) Input circuits C (•, •) can be considered to be encrypted, and l, k, u can be represented by a so-called key pair list corresponding to x, y, z, respectively. .
l = (L1,0, L1,1), ..., (Lnx, 0, Lnx, 1)
k = (K1,0, K1,1), ..., (Kny, 0, Kny, 1)
u = (U1,0, U1,1), ..., (Unz, 0, Unz, 1)
[0045]
To calculate C (x, y) from cipher e, Bob computes Li, bIs the input bit xi= B, Ki, bIs the input bit yi= B requires one "key" for each input bit. This key Ui, 0And Ui, 1Represents the output bits of the encryption circuit, ie, Ui, bIs generated, the output bit ziIs set to b.
[0046]
When e encrypts, a particular method ensures that every gate of the circuit is given two keys, representing its own input bits, and the key representing the resulting output bits is easily It can be calculated, but the plaintext it represents should not reveal any information.
[0047]
(II) Alice and Bob, for example, Even, O.M. Goldreich and A.M. As described in Lempel, "Randomized Protocol for Signaling Contract", Communications of the ACM 28 (1985), 637-647, or as described in G.L. Brassard, C.I. Crepeau and J.M. -M. Robert "Information-theoretic reductions ammonium disclosure problems", Proc. 27th IEEE Symposium on Foundations of Computer Science (FOCS), tied to a protocol for oblivious transfer as described in 1986. This is two messages m0And m1A two-party interactive protocol for a sender with an input of, and for a selector with an input of bit σ. At the end, this chooserσReceive
(Equation 1)
Figure 2004513542
Knows nothing about, and the sender has no information about σ.
[0048]
More precisely, Alice acts as a sender, and Bob checks all bits y of his inputiFor the value K 'i= Kj, yi, But
(Equation 2)
Figure 2004513542
You don't know anything about. At the same time, Alice has yiYou don't know anything about.
[0049]
In addition, Alice finds L ′ for i = 1,.i= Li, xiAnd calculate a key representing x, e, L ′1, ..., L 'nx, Send u to Bob.
[0050]
(III) This second algorithm evaluation (e, L '1, ..., L 'nx, K '1, ... K 'ny) Uses as input the circuit of encryption, the notation of x, and the notation of y with the corresponding key. This evaluation allows Bob to recover z, the key U '1, ..., U 'nzAnd if Alice and Bob follow this protocol, then z = g (x, y).
[0051]
The implementation of the first algorithm structure and the second algorithm evaluation is performed, for example, by O.M. Goldreich, S.M. Goldwasser and S.M. "How to construct random functions," Journal of the ACM 33 (1986), {no. 4, 792-807, which can be realized by a pseudo-random function, which can actually be realized by a block cipher. Block ciphers are very fast cryptographic functions, even when implemented in software.
[0052]
The following describes how this encryption circuit structure is used to implement secure mobile code computation with one or a first entity. Extension to multiple entities will be considered later.
[0053]
This computer use entity T issues a public key in an encryption system. The corresponding encryption and decryption operations are ET(•) and DTIndicated by (•). All entities can communicate over a secure approved link, which can be achieved by using standard public key cryptography and digital signatures.
[0054]
The basic mechanism is that O constructs a circuit e of encryption, which computes two values ξ and z. This code source O sends e to the first entity H, but for T encrypts all the keys in k, and in u corresponding to 、, the key pair (ux) Are not included. As a result, the first entity H does not know anything about ξ. Next, the first entity H selects the encryption key representing y from k and involves the computer-using entity T to decrypt it in one interactive round. This first entity H then evaluates the circuit and obtains z. In this case, the first entity H also returns the key in the circuit that outputs the notation of ξ to O, who can determine ξ from the circuit.
[0055]
C is slightly modified from the notation of the above-mentioned part, (nx+ Ny) Input bits x1, ..., xnx, Y1, ..., ynyThe same input, and (nx+ Nz) Output bits ξ1, ..., ξnx, Z1, ..., znz, A binary circuit that calculates (ξ, z) = (g (x, y), h (x, y)). This scheme involves five steps 1) to 5), as described below.
[0056]
1) O selects a string id that uniquely identifies the computation, eg, an id that includes the name of O, a description of g and h, and a sequence counter. O calls the construct (C), and u sums (nx+ Ny(E, l, k, u) as described above, including the key pairs. uxIs the index 1, ..., nxDenote a pair of u withzIs the index nx+1, ..., nx+ NzIs shown as a pair of u.
[0057]
i = 1,..., nyAnd the following equation is calculated for b {0,1}.
(Equation 3)
Figure 2004513542
[0058]
Let k denote the list of all K pairs described above. Then, O is, as described above, i = 1,.xL 'i= Li, xiAnd the first entity H has id, e, L '1, ..., L'nx, K, u.
[0059]
2) The first entity H is i = 1,... NyAgainst
(Equation 4)
Figure 2004513542
Is set as a cipher representing its own input y, and these are transmitted to the computer use entity T together with the id.
[0060]
3) The computer use entity T is i = 1,..., NyAgainst
(Equation 5)
Figure 2004513542
To verify that the i-th decrypted string contains the identifier id and index i. If all checks are successful, the computer-usable entity T determines the decryption key K '1, ... K'nyIs returned to the first entity H.
[0061]
4) The first entity H evaluates the second algorithm (e, L '1, ..., L 'nx, K '1, ..., K 'ny) And U '1... U 'nx + nzGet. Then, this first entity H is i = 1,..., NzU fornx + i, zi= U 'nx + iZ = (z1, ..., znz) To determine the remaining value U ′1, ..., U 'nxTo the code transmission source O.
[0062]
5) The code source O is U for i = 1,.i, ξi= U 'iThe output ξ = (ξ1, ..., ξnx).
[0063]
For increased security, the computer-usable entity T is secure against attacks on adaptive selective ciphertext, which implies a lack of flexibility, but must use a public key cryptosystem. This is D.E. Dolev, C.I. Dwork and M.W. Naor, "Non-mallable cryptography", SIAM Journal on Computing 30 (2000), no. 2, 391-437. The code origin O and the first entity H must also commit their input. In a practical system, all of these are, for example, Bellare and P.M. "Random sources are practical: A paradigm for designing effective protocols" by Rogaway, Proc. This can be realized by a so-called “random oracle model” using a secure hash function described in 1st ACM Conference on Computer and Communications security, 1993. In this case, the pseudo-random function for the public key cryptography and the circuit cryptography is described in M. Naor and O.M. Reingold, “Number-theoretical constructions of effective pseudo-random functions”, Proc. 38th IEEE Symposium on Foundations of Computer Science (FOCS), 1997, which can be implemented using discrete logarithm based on the difficulty of the Diffie-Hellman problem, described in 1997.
[0064]
In the following, an extension of the method described above will be described for a plurality of entities H as shown in FIG.1, ..., HlIn order to realize a general mobile computing mechanism having This concept is essential if each entity performs steps 2) -4) of the basic scheme described above and then sends this agent to the next entity.
[0065]
That is, the code transmission source O transmits each entity H1, ..., Hl, One encryption circuit e is prepared, and for j> l, e(J-1)Encryption state x fromj-1To e(J)Incorporate in This is e(J)E to decode the hidden notation in the input to(J-1)Output key U1 'from(J-1), ..., U'nx(J-1)Can be achieved by using
[0066]
Ek(•) and DkIn a symmetric cryptosystem with an encryption operation and a decryption operation, respectively, under a key k indicated by (•), the cryptosystem is given a potential key U and a ciphertext c under U Is sufficiently redundant so that it can be determined with a high probability whether or not c can be obtained by encryption. The changes to this method are as follows.
[0067]
1a) The code source O sends e to j = 1,...(J), L(J), K(J), U(J)and
(Equation 6)
Figure 2004513542
Get. However, this code source O has e(L)Only fori= L 'i, xi (L)Select The identifier of this j-th stage is set to id || j. This code source O also has two ciphers
(Equation 7)
Figure 2004513542
Prepare Here, j> 1, and i = 1,..., Nx, respectively, and these values are represented by Vi, 0 (J)And Vi, 1 (J)These values are exchanged randomly before being assigned to. Let v be a list of such pairs(J)Call.
[0068]
Next, this code sender O
(Equation 8)
Figure 2004513542
Is transmitted to the first entity H in one message.
[0069]
2a) For j> 1, HjPerforms e2 when performing step 2 of the basic scheme.(J-1)Before evaluatingj-1From, v(J)And U '1 (J-1), ..., U 'nx (J-1)To receive.
[0070]
U 'i (J-1)Is interpreted as a symmetric key for E for each entity and one ciphertext Vi, 0 (J)And Vi, 1 (J)And then decrypt the one that fits. This is the current state of the agent xj, The oblivious notation K of the i-th biti (J)Bring. These keys are then(J)Used to evaluate
[0071]
3a) HjIs e(J)When the output is obtained from the evaluation ofjIs Hj-1All data received from U '1 (J), ..., U 'nx (J)With Hj + 1Transfer to At the end of the circle, HlIs U 'i (L)To the code transmission source O.
[0072]
The computer use entity T generates the code.
[0073]
If the roles of O and T are exchanged, the computer-using entity T generates an encryption circuit. Since this circuit is considered to follow this protocol, there is no need to add costly zero-knowledge proofs for the accuracy of the whole circuit. Therefore, the operation of other entities and the proof of correspondence that guarantees the error strength become simpler. The computer-using entity T must know g and h in order to build this circuit, but this T can get the decryption of C from O in the first protocol message.
[0074]
A three party forgetting communication protocol is described in M. Naor, B .; Pinkas and R.A. Summer, "Privacy preserving actions and mechanism design", Proc. Used as introduced in the 1st ACM Conference on Electronic Commercial, 1999. In that case, the role of the selector is divided between this selector and a third party called the recipient. Compared with the standard concept of oblivion communication, the recipient can output the message m specified by the selector.σBut the chooser does not know anything. This so-called “proxy” forgetting communication can be realized using the following three messages. It is a message from the chooser to the recipient, the recipient to the sender, and the sender to the recipient.
[0075]
This protocol also uses a one-round implementation of a standard oblivious transfer between two parties. This is C.I. Cashin, J.M. Camenisch, J .; Kilian and J.M. Muller, "One-round secure composition and secure autonomous mobile agents", Proc. 27th International Colloquium on Automata, Languages and Programming (ICALP) (U. Montanari, JP Rolim and E. Welzl, eds.), Lecture Notes in Computers. 1853, Springer, July 2000, pp. 146-64. This can be achieved by using the method described in H.512-523.
[0076]
Like the basic scheme, the components of the encryption circuit structure are applied. This protocol is described for the basic case of mobile code with one entity H. O is EO(•), DOSuppose we use a public key cryptosystem with encryption and decryption operations, indicated by (•), respectively. O is nxFor each bit x, as a selector in the parallel three-party forgetting communication, start the calculation. O sends these hidden choices to H, acting as recipients in this three-party forgetting communication, C and EOSend with (•). H forwards the appropriate data to T, which acts as the sender, that is, sends the key pair L during the forgetting communication of the three parties. Further, H is also nyAn input for the parallel one-round oblivious transfer (having the role of a selector) is also prepared for each bit of y. H defines these as C and EOIt is transmitted to T with the description of (•). In this case, T sends the key pair K in one round forgetting transmission.
[0077]
T invokes construct (C) and obtains e and the key pair l, k and u. T is EO(Ux), E, uz, And the final flow in all forgetting communication protocols.
[0078]
From the above, H is the key L 'representing x.1, ..., L 'nx, And a key K ′ representing y1, ..., L 'nyCan be determined. H is an evaluation (e, L ')1, ..., L 'nx, K '1, ..., K 'ny), And as described above, U ′1, ..., U 'nx + nyGet. Then H is U 'nx + 1, ..., U 'nx + nzAnd uzFrom its own output z, E0(Ux) And U '1, ..., U 'nxTo O. This allows O to obtain its own output ξ.
[0079]
In the following, one host or the first entity H1From l hosts H1, ..., HlShows the protocol, extended to The protocol starts for the first host as described above. But H2… HlAre slightly different. That is, three-party forgetting communication and EOIs not used. Instead, T is e(J)In the input of(J)As in e(J-1)From u(J-1)Agent state x based on the output key inj-1The key l(J)To encrypt. This key u(J-1)Can be stored by T between step j-1 and step j, or Hj-1And HjE along with the protocol flow transmitted to T viaTIt can be encrypted by (•) and sent. In addition, the last host is T to E0U encrypted with (•)xWhich is transferred to O as described above.
[0080]
This communication pattern is the same as the pattern of the basic system. O to H1One message to each Hj-1To HjOne message to and HjThere is one message from O to O, to which is added one communication flow between each host and the computer use entity T. Error strength can be added by using public key cryptography that is not maliciously altered, and non-interactive zero-knowledge proofs. However, this result is more practical because zero-knowledge proofs do not require potentially large encryption circuits. Further, this encryption circuit structure can be implemented by a block cipher instead of operating with a public key.
[0081]
Any of the disclosed embodiments can be combined with one or several other embodiments shown and / or described. This is also possible for one or more features of this embodiment.
[0082]
The present invention can be realized by hardware, software, or a combination of hardware and software. Any type of computer system or other device suitable for implementing the methods disclosed herein is suitable. A typical combination of hardware and software can be a general-purpose computer system with a computer program that, when loaded and executed, can perform the methods disclosed herein and control the computer system. . The invention has all the features that enable the method disclosed herein to be implemented and, when loaded into a computer system, can also be incorporated into a computer program product capable of performing the method.
[0083]
A computer program, or computer program for the purposes of this specification, is a system with information processing capabilities that converts certain functions directly or a) into another language, code or notation, and b) different materials. Means any representation of the code or notation of a set of instructions in any language that causes it to be executed after one or both of the regenerations of the form form.
[Brief description of the drawings]
FIG. 1 is a diagram showing a communication flow according to the present invention.
FIG. 2 is a diagram showing a communication flow in more detail.
FIG. 3 is a diagram showing another example of a communication flow.

Claims (16)

少なくとも一つの第1のエンティティ(H)に送信可能な、顧客(O)の発信元要求(OR)を処理する方法であって、
a) 前記発信元要求(OR)を、前記顧客(O)から、前記もしくはそれぞれの第1のエンティティ(H)へ送信するステップと、
b) 前記もしくはそれぞれの第1のエンティティ(H)を、コンピュータ使用エンティティ(T)に接続するステップと、
c) 前記もしくはそれぞれの第1のエンティティ(H)によって、前記発信元要求(OR)の受信時に、前記発信元要求(OR)に関する情報(I)を追加し、そのことにより、第1の変更済要求(FMR)を作成するステップと、
d) 前記第1の変更済要求(FMR)の少なくとも一部を、少なくとも前記コンピュータ使用エンティティ(T)へ送信するステップと、
e) 前記コンピュータ使用エンティティ(T)によって、前記第1の変更済要求(FMR)の少なくとも一部を受信した後、前記第1の変更済要求(FMR)の前記少なくとも一部から、コンピュータ使用エンティティ結果(CER)を得るステップと、
f) 前記もしくはそれぞれの第1のエンティティ(H)に、前記コンピュータ使用エンティティ結果(CER)の少なくとも一部を送信するステップと、
g) 前記もしくはそれぞれの第1のエンティティ(H)によって、前記コンピュータ使用エンティティ結果(CER)の少なくとも一部を受信した後、そこから、第1のエンティティ結果(FER)を導出し、少なくともその一部を転送するステップと、
h) 前記顧客(O)によって、前記第1のエンティティ結果(FER)の少なくとも一部を受信した後、そこから、顧客結果(CR)を得るステップと、
を含む、方法。
A method for processing a source request (OR) of a customer (O), which can be transmitted to at least one first entity (H),
a) transmitting the source request (OR) from the customer (O) to the or each first entity (H);
b) connecting said or each first entity (H) to a computer-using entity (T);
c) adding, by the or each first entity (H), information (I) about the source request (OR) upon receipt of the source request (OR), thereby making a first change; Creating a completed request (FMR);
d) sending at least a portion of the first modified request (FMR) to at least the computer-usable entity (T);
e) after receiving at least a portion of the first modified request (FMR) by the computer using entity (T), from the at least part of the first modified request (FMR), Obtaining a result (CER);
f) transmitting at least a portion of the computer-usable entity result (CER) to the or each first entity (H);
g) after receiving, by the or each first entity (H), at least a part of the computer-usable entity result (CER), deriving a first entity result (FER) therefrom, Transferring the department;
h) receiving, by the customer (O), at least a portion of the first entity result (FER) from which a customer result (CR) is obtained;
Including, methods.
ベンダ(H)によって、顧客(O)の発信元要求(OR)を処理するための方法であって、
a) 前記顧客(O)から、前記発信元要求(OR)を受信し、前記発信元要求に関する情報(I)を追加し、そのことによって、第1の変更済要求(FMR)を作成するステップと、
b) 前記第1の変更済要求(FMR)の少なくとも部分を、コンピュータ使用エンティティ結果(CER)を導出し、少なくともその一部を戻す、少なくともコンピュータ使用エンティティ(T)に送信するステップと、
c) 前記第1のエンティティ(H)によって、前記コンピュータ使用エンティティ結果(CER)の少なくとも一部を受信した後、そこから第1のエンティティ結果(FER)を導出し、少なくともその一部を転送し、そのことによって、前記顧客(O)が、前記第1のエンティティ結果(FER)の少なくとも一部から顧客結果(CR)を導出することが可能である、
方法。
A method for processing a source request (OR) of a customer (O) by a vendor (H),
a) receiving the source request (OR) from the customer (O) and adding information (I) relating to the source request, thereby creating a first modified request (FMR); When,
b) transmitting at least a portion of the first modified request (FMR) to at least a computer-using entity (T), which derives a computer-using entity result (CER) and returns at least a portion thereof;
c) after receiving by the first entity (H) at least a part of the computer-usable entity result (CER), deriving a first entity result (FER) therefrom and transferring at least a part thereof; , Whereby the customer (O) is able to derive a customer result (CR) from at least a portion of the first entity result (FER),
Method.
コンピュータ使用エンティティ(T)によって、顧客(O)からの、発信元要求(OR)の少なくとも一部を含んでいる、少なくとも一つの第1のエンティティ(H)からの第1の変更済要求(FMR)を、処理するための方法であって、
a) 前記もしくはそれぞれの第1のエンティティ(H)から、前記第1の変更済要求(FMR)を受け取るステップと、
b) 前記第1の変更済要求(FMR)の少なくとも一部から、コンピュータ使用エンティティ結果(CER)を得るステップと、
c) 第1のエンティティ結果(FER)を導出し、少なくともその一部を転送する、前記もしくはそれぞれの第1のエンティティ(H)に、前記コンピュータ使用エンティティ結果(CER)の少なくとも一部を送信し、そのことにより、前記顧客(O)が、前記第1のエンティティ結果(FER)の少なくとも一部から、顧客結果(CR)を得ることが可能である、
方法。
A first modified request (FMR) from at least one first entity (H) containing at least a part of an originating request (OR) from a customer (O) by a computer-using entity (T) ) Is a method for processing
a) receiving the first modified request (FMR) from the or each first entity (H);
b) obtaining a computer use entity result (CER) from at least a portion of the first modified request (FMR);
c) deriving a first entity result (FER) and transmitting at least a portion of the computer-usable entity result (CER) to the or each first entity (H), forwarding at least a portion thereof; , Whereby said customer (O) can obtain a customer result (CR) from at least a part of said first entity result (FER),
Method.
発信元要求(OR)を処理するための方法であって、
a) 前記発信元要求(OR)を作成するステップと、
b) 前記発信元要求(OR)を、少なくとも一つの第1のエンティティ(H)に送信し、そのことにより、前記もしくはそれぞれの第1のエンティティ(H)が、前記発信元要求(OR)に関する情報(I)を追加し、この場合に、第1の変更済要求(FMR)を作成し、前記第1の変更済要求(FMR)の少なくとも一部を、そこからコンピュータ使用エンティティ結果(CER)を導出する、少なくともコンピュータ使用エンティティ(T)に送信し、前記コンピュータ使用エンティティ結果(CER)の少なくとも一部を、そこから第1のエンティティ結果(FER)を得る前記もしくはそれぞれの第1のエンティティ(H)に送信し、少なくともその一部を転送するステップと、
c) 前記第1のエンティティ結果(FER)の前記少なくとも一部を受信した後、そこから、顧客結果(CR)を得るステップと、
を含む方法。
A method for processing an originator request (OR), comprising:
a) creating the source request (OR);
b) sending said source request (OR) to at least one first entity (H) so that said or each first entity (H) is associated with said source request (OR) Adding information (I), in this case creating a first modified request (FMR), and extracting at least a portion of said first modified request (FMR) from the computer-using entity result (CER) , At least a portion of the computer-using entity result (CER) and at least a portion of the computer-using entity result (CER) from which the or each first entity (FER) obtains a first entity result (FER). H) and transferring at least a portion thereof;
c) after receiving the at least part of the first entity result (FER), obtaining a customer result (CR) therefrom;
A method that includes
前記要求(OR,FMR)および結果(CER,FER)に、暗号化操作を適用するステップをさらに含む、請求項1から請求項4のうちの一つに記載の方法。The method according to one of claims 1 to 4, further comprising applying an encryption operation to the request (OR, FMR) and the result (CER, FER). 前記発信元要求(OR)を作成するステップが、暗号化回路構造(C)を適用することを含む、請求項4に記載の方法。5. The method of claim 4, wherein creating the originating request (OR) comprises applying an encrypted circuit structure (C). 前記プログラムの、コンピュータ上での実行時に、請求項1から請求項6のうちのいずれか一つに記載の方法を実施するためのプログラムコード手段を含む、コンピュータプログラム要素。A computer program element comprising program code means for performing the method according to any one of claims 1 to 6 when the program is executed on a computer. コンピュータが、請求項1から請求項6のいずれか一つに記載の方法を実施するための、コンピュータ可読プログラム手段を含む、コンピュータで使用可能な媒体に記憶されたコンピュータプログラム製品。A computer program product stored on a computer usable medium, comprising a computer readable program means, for causing a computer to perform the method according to any one of claims 1 to 6. 発信元要求(OR)を処理するためのシステムであって、
少なくとも一つの第1のエンティティ(H)に接続された顧客(O)と、
少なくとも前記第1のエンティティ(H)に接続されたコンピュータ使用エンティティ(T)とを含み、
前記顧客(O)が、前記発信元要求(OR)を、前記発信元要求(OR)に関する情報(I)を追加し、第1の変更済要求(FMR)を作成し、前記第1の変更済要求(FMR)の少なくとも一部を、少なくとも前記コンピュータ使用エンティティ(T)に送信する、前記もしくはそれぞれの第1のエンティティ(H)に送信し、、前記コンピュータ使用エンティティ(T)が、前記第1の変更済要求(FMR)の前記少なくとも一部から、コンピュータ使用エンティティ結果(CER)を導出し、前記コンピュータ使用エンティティ結果(CER)の少なくとも一部を、前記もしくはそれぞれの第1のエンティティ(H)に送信し、前記もしくはそれぞれの第1のエンティティ(H)が、前記コンピュータ使用エンティティ結果(CER)の前記少なくとも部分から、第1のエンティティ結果(FER)を導出し、少なくともその一部を転送し、
前記顧客(O)が、前記第1のエンティティ結果(FER)の少なくとも一部から、顧客結果(CR)を導出可能である、
システム。
A system for processing a source request (OR), comprising:
A customer (O) connected to at least one first entity (H);
At least a computer usage entity (T) connected to said first entity (H);
The customer (O) adds the source request (OR) to the information (I) relating to the source request (OR), creates a first changed request (FMR), and performs the first change. Send at least a portion of the request for payment (FMR) to at least the computer-using entity (T), or to the or each first entity (H), wherein the computer-using entity (T) Deriving a computer-using entity result (CER) from said at least a portion of the modified request (FMR) of said one of said first and second entities; ) Wherein said or each first entity (H) transmits said computer-usage entity result (CER) Wherein deriving at least in part, a first entity results (FER), to transfer at least a portion thereof,
The customer (O) can derive a customer result (CR) from at least a portion of the first entity result (FER);
system.
前記発信元要求(OR)が、暗号化のフォームの形の関数を含んでいる、請求項9に記載のシステム。The system of claim 9, wherein the originating request (OR) comprises a function in the form of a form of encryption. 前記暗号化のフォームの形の関数が、暗号化の回路構造(C)を含んでいる、請求項10に記載のシステム。11. The system of claim 10, wherein the function in the form of a cryptographic form comprises a cryptographic circuit structure (C). 前記発信元要求(OR)が、モバイルコードの一部である、請求項9に記載のシステム。The system of claim 9, wherein the source request (OR) is part of a mobile code. 前記発信元要求(OR)、前記第1の変更済要求(FMR)、前記コンピュータ使用エンティティ結果(CER)、および第1のエンティティ結果(FER)が、暗号化の部分を含んでいる、請求項9に記載のシステム。The source request (OR), the first modified request (FMR), the computer use entity result (CER), and the first entity result (FER) include a portion of encryption. 10. The system according to 9. 前記発信元要求(OR)が、申し出、顧客情報、購買情報のうちの、一つまたは複数の情報を含んでいる、請求項9から請求項13のいずれかに記載のシステム。14. The system according to any one of claims 9 to 13, wherein the source request (OR) includes one or more of an offer, customer information, and purchase information. 前記第1のエンティティ(H)が、発信元要求(OR)の受諾に関する、サービスおよび/または顧客情報を提供する、ウェブサーバを含んでいる、請求項9に記載のシステム。The system according to claim 9, wherein the first entity (H) comprises a web server providing service and / or customer information regarding the acceptance of an originating request (OR). 前記顧客結果(CR)が、発信元要求(OR)の受諾に関する、第1のエンティティ情報を含んでいる、請求項9に記載のシステム。The system of claim 9, wherein the customer result (CR) includes first entity information regarding acceptance of an originator request (OR).
JP2002539930A 2000-11-06 2001-10-24 Method and system for processing customer requests Expired - Fee Related JP4336105B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00124061 2000-11-06
PCT/IB2001/001988 WO2002037242A2 (en) 2000-11-06 2001-10-24 Method and system for processing a request of a customer

Publications (2)

Publication Number Publication Date
JP2004513542A true JP2004513542A (en) 2004-04-30
JP4336105B2 JP4336105B2 (en) 2009-09-30

Family

ID=8170289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002539930A Expired - Fee Related JP4336105B2 (en) 2000-11-06 2001-10-24 Method and system for processing customer requests

Country Status (8)

Country Link
EP (1) EP1368721A2 (en)
JP (1) JP4336105B2 (en)
KR (1) KR100582393B1 (en)
CN (1) CN1478222A (en)
AU (1) AU2002210814A1 (en)
CA (1) CA2426794C (en)
IL (1) IL155394A0 (en)
WO (1) WO2002037242A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8838950B2 (en) 2003-06-23 2014-09-16 International Business Machines Corporation Security architecture for system on chip
CN1305261C (en) * 2005-02-04 2007-03-14 南京邮电学院 A mobile proxy safeguarding method similar to biological self-protection
DE102007001519B4 (en) * 2007-01-10 2015-08-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for allocating data rates to information signal providers in a network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026374A (en) * 1996-05-30 2000-02-15 International Business Machines Corporation System and method for generating trusted descriptions of information products

Also Published As

Publication number Publication date
WO2002037242A3 (en) 2003-10-16
JP4336105B2 (en) 2009-09-30
WO2002037242A2 (en) 2002-05-10
CA2426794C (en) 2009-10-06
EP1368721A2 (en) 2003-12-10
IL155394A0 (en) 2003-11-23
KR20030072348A (en) 2003-09-13
CN1478222A (en) 2004-02-25
CA2426794A1 (en) 2002-05-10
AU2002210814A1 (en) 2002-05-15
KR100582393B1 (en) 2006-05-22

Similar Documents

Publication Publication Date Title
Naor et al. Privacy preserving auctions and mechanism design
EP0876722B1 (en) Secure anonymous information exchange in a network
CN111431713B (en) Private key storage method and device and related equipment
US20210049600A1 (en) Digital Asset Delivery Network
WO2020051710A1 (en) System and process for managing digitized security tokens
US7240198B1 (en) Honesty preserving negotiation and computation
US8117456B2 (en) Network system, server and information terminal for list matching
KR20080094000A (en) Method and apparatus for establishing peer-to-peer karma and trust
Polychroniadou et al. Prime Match: A {Privacy-Preserving} Inventory Matching System
Karjoth Secure mobile agent-based merchant brokering in distributed marketplaces
JP4336105B2 (en) Method and system for processing customer requests
US7844496B2 (en) Method and system for processing a request of a customer
Braeken An improved e-payment system and its extension to a payment system for visually impaired and blind people with user anonymity
Yi et al. A secure agent-based framework for internet trading in mobile computing environments
Hao et al. Multi-agent system for e-commerce security transaction with block chain technology
US20210319479A1 (en) Blockchain-based system and method for peer-to-peer online advertising auction
Far et al. Goodbye Bitcoin: A general framework for migrating to quantum-secure cryptocurrencies
Sureshkumar et al. Hash based two gateway payment protocol ensuring accountability with dynamic ID-Verifier for digital goods providers
WO2001011527A2 (en) Honesty preserving negotiation and computation
CN111353853B (en) Automatic bargaining method and related device based on intelligent contract and multiparty security calculation
Aïmeur et al. Blind sales in electronic commerce
Fan et al. Fair transaction protocols based on electronic cash
Chenli et al. Fair 2 Trade: Digital Trading Platform Ensuring Exchange and Distribution Fairness
Bîrjoveanu et al. Multi-party E-Commerce Protocols for Complex Transactions
Aımeur et al. Blind negotiation in electronic commerce

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060512

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060810

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061226

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070110

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090521

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090626

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees