KR20030072348A - Method and system for processing a request of a customer - Google Patents

Method and system for processing a request of a customer Download PDF

Info

Publication number
KR20030072348A
KR20030072348A KR10-2003-7006030A KR20037006030A KR20030072348A KR 20030072348 A KR20030072348 A KR 20030072348A KR 20037006030 A KR20037006030 A KR 20037006030A KR 20030072348 A KR20030072348 A KR 20030072348A
Authority
KR
South Korea
Prior art keywords
entity
request
customer
result
sender
Prior art date
Application number
KR10-2003-7006030A
Other languages
Korean (ko)
Other versions
KR100582393B1 (en
Inventor
알게쉐이머뮐러조이
카친크리스티안
카메니쉬얀
카르조스귄테르
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
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 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20030072348A publication Critical patent/KR20030072348A/en
Application granted granted Critical
Publication of KR100582393B1 publication Critical patent/KR100582393B1/en

Links

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 개체 또는 각각의 제 1 개체에 전송하는 단계와, b) 제 1 개체 또는 각각의 제 1 개체를 계산 개체에 접속시키는 단계와, c) 상기 발신자 리퀘스트를 수신하면, 제 1 개체 또는 각각의 제 1 개체에 의해 발신자 리퀘스트에 관한 정보를 더하여, 제 1 수정 리퀘스트를 형성하는 단계와, d) 제 1 수정 리퀘스트의 적어도 일부를 적어도 계산 개체에 전송하는 단계와, e) 계산 개체에 의해 제 1 수정 리퀘스트의 적어도 일부를 수신하여 제 1 수정 리퀘스트의 적어도 일부로부터 계산 개체 결과를 유도하는 단계와, f) 계산 개체 결과의 적어도 일부를 제 1 개체 또는 각각의 제 1 개체에 전송하는 단계와, g) 제 1 개체 또는 각각의 제 1 개체에 의한 계산 개체 결과의 일부를 수신하여 이로부터 제 1 개체 결과를 유도하고, 이를 적어도 일부 전송하는 단계와, h) 고객에 의해 제 1 개체 결과의 적어도 일부를 수신하여 이로부터 고객 결과를 유도하는 단계를 포함한다.The present invention provides a method and system for securely processing a customer's sender request. The sender request may be sent to at least one first entity. A method for processing a caller request includes a) sending a sender request from a customer to a first entity or each first entity, b) connecting the first entity or each first entity to a computing entity; c) upon receipt of the sender request, adding information about the sender request by the first entity or each first entity to form a first modification request, and d) at least calculate at least a portion of the first modification request. Transmitting to the entity, e) receiving at least a portion of the first modification request by the computing entity to derive the computational entity result from at least a portion of the first modification request, and f) generating at least a portion of the computational entity result. Transmitting to a first entity or each first entity, g) receiving a portion of the calculated entity results by the first entity or each first entity and Derive a first result from the object and received by it at least a portion of the first object and the result of the step, h) at least a portion sent to the customer includes the step of inducing the customer result therefrom.

Description

고객의 리퀘스트를 프로세싱하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR PROCESSING A REQUEST OF A CUSTOMER}METHOD AND SYSTEM FOR PROCESSING A REQUEST OF A CUSTOMER}

더욱더 네트워크화되는 세계에서, 모바일 코드는 점점 더 중요해지는 프로그래밍 패러다임이다. 그것은 분산 시스템에서의 구조 협력적 계산(structure coperative computation)에 유연한 방법을 제공한다. 현재, 인터넷은 단순한 형태의 모바일코드만 나타내는 자바 애플릿과 같은 모바일 코드 조각으로 가득차 있다.In an increasingly networked world, mobile code is an increasingly important programming paradigm. It provides a flexible method for structure coperative computation in distributed systems. Currently, the Internet is full of mobile code fragments, such as Java applets that represent only simple forms of mobile code.

모바일 에이전트들은 사용자 대신에 정보의 지속적인 수집, 필터링 및 프로세싱을 자발적으로 실행하는 모바일 코드이다. 이들은 변화하는 환경 및 자율 동작에 반응하는 것과 같은 에이전트 패러다임의 이익을 원거리 코드 실행의 특징과 결합하며, 컴퓨터 네트워크 내에서 동작하고, 목표를 완수하기 위해 서버로부터 서버로 모바일할 수 있다. 중요한 애플리케이션은 대역폭이 제한되거나 사용자가 접속 해제되는 모바일 컴퓨팅, 큰 저장소에서의 데이터 검색 그리고 소프트웨어 및 네트워크의 구성 관리를 포함한다. 그 패러다임이 대규모 애플리케이션에 통합될 때 인터넷을 로밍(roaming)하는 모바일 에이전트의 비전은 곧 실현될 수 있다.Mobile agents are mobile code that voluntarily executes continuous collection, filtering, and processing of information on behalf of a user. They combine the benefits of an agent paradigm, such as responding to changing circumstances and autonomous operations, with the features of remote code execution, operate within a computer network, and can move from server to server to accomplish goals. Critical applications include mobile computing where bandwidth is limited or users are disconnected, data retrieval from large storage, and configuration management of software and networks. When the paradigm is integrated into large applications, the mobile agent's vision of roaming the Internet can be realized soon.

모바일 코드는 발신자라 불리는 하나의 개체에 의해 생성되고, 그 후, 그것이 호스트에 의해 실행되기 직전에 개체인 호스트에 전송되는 프로그램으로서 이해될 것이다. 즉, 호스트 대신, 셋업 루틴을 실행하거나 인스톨하는 것과 같은 어떤 수동 개입도 요구되지 않으며, 모바일 코드는 실행되도록 준비된다. 게다가, 모바일 에이전트는 발신자로부터 접속 해제된 연속 자율 동작을 수행할 수 있고, 그 수명 동안에 자유로이 다른 호스트로 이동한다. 이러한 에이전트는 순회 에이전트(itinerant agents)라고도 불려왔다. 모바일 코드는 다양한 보안 위협에 노출되는데, 즉 악의의 호스트가 코드를 검사하고, 에이전트에 의해 전달되는 비밀을 알려 하며, 부당 이익을 얻기 위해 에이전트와 상호 작용에서 이 지식을 활용할 수 있다. 호스트는 계산 결과를 조작하려 할 수도 있다.Mobile code is to be understood as a program generated by an entity called a sender, which is then sent to the entity, the host, just before it is executed by the host. That is, instead of a host, no manual intervention is required, such as running or installing a setup routine, and the mobile code is ready to run. In addition, the mobile agent can perform a continuous autonomous operation that is disconnected from the caller and freely moves to another host during its lifetime. Such agents have also been called iterative agents. Mobile code is exposed to a variety of security threats, which can be exploited by a malicious host to inspect the code, reveal the secrets delivered by the agent, and use this knowledge in interacting with the agent to gain an unfair advantage. The host may try to manipulate the result of the calculation.

모바일 코드의 영역에서 발생하는 두 개의 보안 문제가 있는데, (1) 악의의 코드로부터 호스트를 보호하는 것과, (2) 악의의 호스트로부터 코드를 보호하는 것이다. 첫 번째 문제는 컴퓨터 바이러스 및 트로이안 목마의 절박한 위험 때문에 상당한 주목을 받아왔다. 현재의 해결법은 세분된 액세스 제어로 소위 샌드박스(sandbox)내에서 모바일 코드를 실행하고, 코드 생성자에 관한 신뢰를 도모하기 위해 코드 서명을 적용하는 것이다.There are two security issues in the realm of mobile code: (1) protecting the host from malicious code and (2) protecting the code from malicious host. The first problem has received considerable attention because of the imminent danger of computer viruses and Trojan horses. The current solution is to execute mobile code in a so-called sandbox with fine-grained access control, and apply code signatures to promote trust in the code generator.

모바일 코드를 보호하는 것은 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에서 개시되는 바와 같이 이론 상의 암호 해독툴이 신뢰되지 않는 호스트에 대해 암호화된 형태로 모바일 코드를 실행하는 데에 유용할 수 있다는 것을 인식하고 나서야 비로소 몇몇 모바일 코드 연구자들에 의해서도 가능하게 여겨졌다. 소위, 안전한 계산을 위한 대부분의 프로토콜은 여러 번의 상호 작용을 요구하지만, 모바일 애플리케이션을 대한 안전성 및 그 출력의 무결성(integrity)을 얻는것은 쉽지 않다. Sander 및 Tschudin은 다항식으로 표현 가능한 함수만이 이 방식으로 안전하게 계산될 수 있다고 결론지었다. "Non-interactive CryptoComputing for NC1˝, Proc. 40th IEEE Symposium on Foundations of Computer Science(FOCS), 1999에서 T. Sander, A. Young 및 M. Yung에 의해 개시된 바와 같이, Sander 등의 후속의 연구는 이를 대수 깊이(logarithmic depth)의 회로에 의해 계산 가능한 모든 함수로 확장한다.Protecting mobile code is described by T. Sander and CFTschudin in their article "Protecting mobile agents against malicious hosts, Mobile Agents and Security" (G. Vigna, ed.), Lecture Notes in Computer Science, vol. It is also possible by some mobile code researchers only after realizing that theoretical decryption tools, as disclosed in 1419, Springer, 1998, may be useful for running mobile code in encrypted form against untrusted hosts. Was considered. Most protocols for so-called safe computations require multiple interactions, but it is not easy to achieve safety for the mobile application and the integrity of its output. Sander and Tschudin conclude that only functions that can be expressed as polynomials can be safely calculated in this way. Subsequent studies by Sander et al., As disclosed by T. Sander, A. Young and M. Yung in Non-interactive CryptoComputing for NC 1 ˝, Proc. 40th IEEE Symposium on Foundations of Computer Science (FOCS), 1999, We extend this to all functions that can be computed by a circuit of logarithmic depth.

다른 형태의 코드는 호스트에 대해 소정의 즉각적 동작을 수행하는 활성화 모바일 코드이다. 그것에 의하여, 암호화된 계산에 관한 정보가 종종 호스트에 누출되고, 이에 발신자만 임의의 결과를 수신할 것이다.Another form of code is an activated mobile code that performs some immediate action on a host. Thereby, information about the encrypted calculations is often leaked to the host, so that only the sender will receive any results.

활성화 모바일 코드의 근본적 문제점은 악의의 호스트가 계산 결과를 관찰하고, 다른 입력을 가지고 코드를 간단히 다시 실행할 수 있다는 것이다. 악의의 호스트에 대해서 활성화 모바일 코드를 위한 기존의 유일한 방어법은 신뢰성있는 하드웨어를 사용하는 것이다. 이는 배타적으로 부정 조작할 수 없는(tamperproof) 하드웨어 내부에서 모바일 코드를 실행하여, 그것이 신뢰성있는 환경에 남겨지자마자 암호화하는 것을 수반하는 것으로 제안되었다.The fundamental problem with activating mobile code is that a malicious host can observe the results of the calculation and simply rerun the code with different inputs. The only existing defense against active mobile code against malicious hosts is to use reliable hardware. This has been proposed to entail running mobile code exclusively in tamperproof hardware, encrypting as soon as it is left in a trusted environment.

미국 특허 제 6,026,374 호는 신뢰성있는 제 3자를 사용하여 정보 제품의 전체 내용을 공개하지 않으면서 정보 제품의 설명을 잠재적 소비자에게 제공하는, 시스템 및 방법에 관한 것인데, 이는 판매자의 이익을 줄일 수도 있다. 구매자는 제 3 자가 판매를 위해 정보의 정확한 설명을 제공한다고 믿는 반면, 판매자는 제 3 자가 과도한 양의 정보 제품의 내용을 드러내지 않는다는 것을 믿는다. 시스템은 정보 제품의 판매자와, 이러한 제품의 구매자 및 신뢰성있는 제 3 요약자를 포함할 수 있는데, 각각은 인터넷과 같은 통신 네트워크에서의 노드처럼 동작한다. 이 시스템 및 방법의 불리한 점은 제 3 자가 신뢰할만한 사람이어야 한다는 것과, 이 제 3 자는 정보를 얻고 모든 것에 대해 알고 있다는 것이다. 이는 상기 제 3 자가 크랙된다면 위험할 수 있다. 게다가, 구매자의 리퀘스트를 프로세스하는 데 여러 메세지가 필요하다.U. S. Patent No. 6,026, 374 is directed to a system and method for providing a description of an information product to potential consumers without using a trusted third party to disclose the full content of the information product, which may reduce the seller's benefit. The buyer believes that the third party provides an accurate description of the information for sale, while the seller believes that the third party does not reveal the content of an excessive amount of information product. The system may include a seller of information products, a buyer of such products, and a trusted third summarizer, each operating like a node in a communication network such as the Internet. Disadvantages of this system and method are that the third party must be a trusted person, and that third party has information and knows everything. This can be dangerous if the third party cracks. In addition, several messages are required to process the buyer's request.

본 발명은 고객의 리퀘스트를 프로세싱하기 위한 방법 및 시스템에 관한 것이다. 더 세부적으로는, 본 발명은 모바일 에이전트의 암호화 보안에 관한 것이다.The present invention relates to a method and system for processing a customer's request. More specifically, the present invention relates to cryptographic security of mobile agents.

본 발명의 바람직한 실시예는 단지 예로써 다음의 개략도를 참조하여 상세히 후술된다.Preferred embodiments of the invention are described in detail below by way of example only with reference to the following schematic diagram.

도 1은 본 발명에 따른 통신 흐름의 예,1 is an example of a communication flow in accordance with the present invention;

도 2는 통신 흐름의 보다 상세한 예,2 is a more detailed example of a communication flow;

도 3은 통신 흐름의 다른 예를 도시한다.3 shows another example of a communication flow.

도면들은 예시적인 목적으로만 제공되며, 반드시 본 발명의 실시예를 실제크기대로 나타내지는 않는다.The drawings are provided for illustrative purposes only and do not necessarily represent embodiments of the invention to scale.

발명의 개요Summary of the Invention

본 발명은 고객의 발신자 리퀘스트, 즉 고객에 의해 초기화되는 리퀘스트를 안전하게 프로세싱하기 위한 방법 및 시스템을 제공한다. 이 발신자 리퀘스트는 모바일 코드 또는 에이전트 내에서 적어도 하나의 제 1 개체에 전송된다. 발신자리퀘스트를 프로세싱하기 위한 방법은 a) 발신자 리퀘스트를 고객, 즉 고객의 장치로부터 제 1 개체 또는 각각의 제 1 개체에 전송하는 단계와, b) 제 1 개체 또는 각각의 제 1 개체를 계산 개체에 접속시키는 단계와, c) 발신자 리쉐스트를 수신하면, 제 1 개체 또는 각각의 제 1 개체에 의해 발신자 리퀘스트에 관한 정보를 더하여, 제 1 수정 리퀘스트를 형성하는 단계와, d) 제 1 수정 리퀘스트의 적어도 일부를 적어도 계산 개체에 전송하는 단계와, e) 계산 개체에 의해 제 1 수정 리퀘스트의 적어도 일부를 수신하여 제 1 수정 리퀘스트의 적어도 일부로부터 계산 개체 결과를 유도하는 단계와, f) 계산 개체 결과의 적어도 일부를 제 1 개체 또는 각각의 제 1 개체에 전송하는 단계와, g) 제 1 개체 또는 각각의 제 1 개체에 의한 계산 개체 결과의 적어도 일부를 수신하여 제 1 개체 결과를 유도하며, 이를 적어도 부분적으로 전송하는 단계와, h) 고객에 의해 제 1 개체 결과의 일부를 수신하여 고객 결과를 도출하는 단계를 포함한다.The present invention provides a method and system for securely processing a customer's sender request, ie a request initiated by the customer. This caller request is sent to at least one first entity in the mobile code or agent. A method for processing an originating seat request includes the steps of a) sending a sender request from a customer, i.e., a customer's device, to a first entity or each first entity, and b) sending the first entity or each first entity to a compute entity. Connecting, c) upon receipt of the sender request, adding information about the sender request by the first entity or each first entity to form a first modification request, and d) making a first modification request. Transmitting at least a portion to at least a computational entity, e) receiving at least a portion of the first modification request by the computational entity to derive a computational entity result from at least a portion of the first modification request, and f) the computational entity result Transmitting at least a portion of the to the first entity or each first entity, and g) at least one of the calculated entity results by the first entity or each first entity. Receiving a portion to derive a first entity result, at least partially transmitting it, and h) receiving a portion of the first entity result by the customer to derive the customer result.

고객만 계산의 결과를 알게 되어 다른 개체 또는 호스트는 그들에 지정되는 결과를 제외하고는 아무것도 알지 못한다는 것이 이로운 점이다. 발신자 리퀘스트를 포함하는 모바일 코드 또는 에이전트는 네트워크를 통해 여러 개체에 전송되어 제 1 개체에서의 어떤 추가적인 클라이언트 하드웨어 없이도 코드 또는 적어도 코드의 조각이 안전하게 실행될 수 있다. 일반 독립 개체인 계산 개체를 통해 안전성이 획득된다. 이 독립 개체는 모바일 에이전트에 대한 암호화 계산을 수행하는 계산 서비스일 수 있지만, 암호화된 계산에 관해서는 어떤 것도 알지 못한다. 독립 개체는 서로 다른 많은 애플리케이션에 이용될 수 있으며, 그것을 전개하기 이전에 그 사용에 관해서 어떤 것도 알 필요가 없다. 모바일 에이전트에 대한 인증뿐만 아니라 프라이버시 유지도 이루어질 수 있다. 게다가, 그것이 코드 발신자나 제 1 개체와 결탁하지 않는다면 계산 서비스 자체는 계산에 관해 어떤 것도 알지 못하게 된다.The benefit is that only the customer knows the results of the calculation, so that no other entity or host knows anything except the results assigned to them. Mobile code or agents, including the originator request, can be sent over the network to various entities such that the code or at least a piece of code can be safely executed without any additional client hardware at the first entity. Safety is obtained through computational entities that are normally independent entities. This independent entity may be a computing service that performs cryptographic calculations for mobile agents, but does not know anything about encrypted computations. A standalone entity can be used for many different applications, and you do not need to know anything about its use before deploying it. In addition to authentication for the mobile agent, privacy may be maintained. In addition, the computation service itself knows nothing about the computation if it is not consigned with the code sender or the first entity.

독립 개체는 특정 서비스나 애플리케이션 문맥에 제한되는 게 아니라 보편적일 수 있다. 예를 들면, 보안 계산 서버가 설정되고, 독립 개체에 의해 동작될 수 있다.Independent entities can be universal, not limited to a specific service or application context. For example, a security calculation server can be set up and operated by an independent entity.

본 방법 및 시스템은 소프트웨어 및 상품 하드웨어형일 수 있고, 그러므로 특수화된 하드웨어를 포함하는 임의의 솔루션에 비해 형성 및 동작하는 것이 저렴할 수 있다.The method and system may be software and commodity hardware type, and therefore may be less expensive to build and operate than any solution that includes specialized hardware.

암호화 동작이 리퀘스트 또는 결과를 포함하는 모바일 에이전트에 적용될 수 있다. 그래서, 모바일 에이전트를 위한 완전성이 유리하게 보증될 수 있다.The encryption operation can be applied to the mobile agent containing the request or result. Thus, completeness for the mobile agent can be advantageously guaranteed.

발신자 리퀘스트가 암호화 회로 구성을 적용함으로써 형성되면, 리퀘스트가 안전하게 계산될 수 있고, 그 리퀘스트의 발신자는 개체가 얼마나 많은 정보를 수신할지를 규정할 수 있는 이로운 점이 발생한다.If a sender request is made by applying an encryption circuit configuration, the request can be safely calculated, and the benefit of the requester can specify how much information the entity will receive.

발신자 리퀘스트는 암호화 형태의 함수를 포함할 수 있다. 이는 그 후 발신자 리퀘스트를 프로세싱하는 다른 개체가 그 개체에 지정되는 결과를 제외하고는 그로부터 유용한 정보를 도출할 수 없기 때문에 유리하다.The sender request may include a function in the form of encryption. This is advantageous because no other entity processing the sender request can then derive useful information from it except for the results assigned to that entity.

발신자 리퀘스트, 제 1 수정 리퀘스트, 계산 개체 결과 및 제 1 개체 결과는 암호화된 부분을 포함할 수 있다. 이는 그 후 중요한 정보가 보호되고원문(plaintext)으로서는 판독 가능하지 않기 때문에 유리하다.The sender request, the first modified request, the calculated entity result and the first entity result may include an encrypted portion. This is advantageous since important information is then protected and not readable as plaintext.

발신자 리퀘스트는 제공자 또는 임의의 다른 합법적 도구를 포함할 수 있다. 그것은 구매 정보 또는 배달을 위한 주소 또는 금융 거래를 위한 신용 카드 번호와 같은 고객 정보도 포함할 수 있다.The sender request may include a provider or any other legal tool. It may also include customer information such as purchase information or an address for delivery or a credit card number for a financial transaction.

제 1 개체 결과는 서비스 또는 재화를 제공하는 웹 서버를 포함한다. 이 서비스트는 판매, 대여, 인가 또는 금융 거래를 포함하는 모든 것일 수 있다.The first entity result includes a web server that provides a service or a good. This service may be anything including sales, rentals, licenses or financial transactions.

제 1 개체 결과는 발신자 리퀘스트의 수용에 관한 고객 정보를 포함할 수 있다. 이는 그 후 제 1 개체가 그 서비스 또는 재화를 즉시 전달하고, 필요한 거래를 초기화할 수 있기 때문에 유리하다.The first entity result may include customer information regarding the acceptance of the sender request. This is advantageous because the first entity can then immediately deliver the service or goods and initiate the necessary transactions.

고객 결과는 발신자 리퀘스트의 수용에 관한 제 1 개체 정보를 포함할 수 있다. 그러므로, 고객은 자신의 발신자 리퀘스트가 수행되며, 어떤 다른 동작도 필요하지 않을 것이라는 것을 안다.The customer result may include first entity information regarding the acceptance of the sender request. Therefore, the customer knows that his originator request will be performed and that no other action will be needed.

도면을 전반적으로 참조하면, 암호 함수를 사용하여 고객의 리퀘스트를 프로세싱하기 위한 방법 및 시스템의 특징이 더 상세히 후술된다. 고객이라는 단어를 참조할 때, 고객에 의해 사용되는 컴퓨터 또는 모바일 장치와 같은 디바이스를 의미한다는 것이 명백하게 나타난다.Referring generally to the drawings, features of a method and system for processing a customer's request using a cryptographic function are described in more detail below. When referring to the word customer, it is evident that it refers to a device such as a computer or mobile device used by the customer.

모바일 코드 또는 에이전트 계산의 한정 요소는 그것이 자동적으로 그리고 코드의 발신자와는 독립적으로 진행한다는 것이다. 보안 모바일 에이전트 계산은 도 1에 도시되는 것과 같은 원리로 모델링되며, 이에 후술되는 설명에 따라 박스가 명명된다.The defining element of mobile code or agent calculation is that it proceeds automatically and independently of the originator of the code. The secure mobile agent calculation is modeled on the same principle as shown in FIG. 1, whereby the box is named according to the description below.

하나의 코드 발신자 O, 그리고 모바일 에이전트 ―이하에서 쇼트 에이젼트― 가 실행되는 이하에서 개체 H1, ... Hl로 칭해지는 l개의 호스트가 있다.There is one code sender O and l hosts, referred to as entities H 1 , ... H l hereinafter, in which the mobile agent-hereinafter the short agent-is executed.

도 1은 인터넷과 같은 네트워크를 도시하고, 그것에 따라 코드 발신자 O는 제 1 개체 H1에 접속되며, H1은 제 2 개체 H2에 또 접속된다. 제 2 개체 H2는 Hj로 명명된 개체에 접속되며, Hj은 Hj+1로 명명된 개체에 또 접속하되, 점선에 의해 나타내어지는 것처럼 중간에 여러 다른 개체들이 가능하다. 개체 Hj+1는 Hl로 명명된 개체에 접속되며, 개체 Hl은 다음에 코드 발신자 O에 다시 접속된다. 개체 H1, H2,... , Hj, Hj+1, Hl의 각각은 계산 개체 T에 접속된다.1 shows a network such as the Internet, whereby the code originator O is connected to the first entity H 1 , and H 1 is also connected to the second entity H 2 . The second entity H 2 is connected to an entity named H j , and H j is also connected to an entity named H j + 1 , with several other entities in between, as indicated by the dashed line. Entity H j + 1 is connected to the entity named H l , and entity H l is then connected to the code caller O again. Each of the entities H 1 , H 2 ,..., H j , H j + 1 , H l is connected to the computational entity T.

각 개체 H1, H2, ... , Hj, Hj+1, Hl와 코드 발신자 O는 에이전트를 포함하는 단일 메세지만 송신하고 수신한다. 코스 발신자 O가 제 1 개체 H1에 송신하는 메세지는 mo로써 표시되고, 다른 개체 Hj가Hj+1에 송신하는 메세지는 mj(j=1, ..., l-1)로써 표시되며, 마지막 개체 Hl이 코드 발신자 O로 리턴하는 메세지는 ml으로 표시된다.Each entity H 1 , H 2 , ..., H j , H j + 1 , H l and the code sender O send and receive only a single message containing the agent. The message sent by the course sender O to the first entity H 1 is denoted by m o , and the message sent by another entity H j to H j + 1 is denoted by m j (j = 1, ..., l-1). The message returned by the last entity H l to code sender O is denoted by m l .

도 2는 도 1에서 도시되는 통신 흐름의 보다 상세한 예를 도시한다. 코드 발신자 O, 즉 여기서 고객 O은 계산 개체 T에 접속되는 제 1 개체 H에 접속된다. 고객 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은 mCER로 명명되는 화살표에 의해 표시되는 것처럼 제 1 개체 H에다시 전송된다. 제 1 개체 H가 계산 개체 결과 CER을 수신하면, 그것으로부터 제 1 개체 결과 FER을 도출하고, mFER로 명명되는 화살표에 의해 표시되는 것처럼 이를 고객 O에게 다시 전달한다. 고객 O는 제 1 개체 결과 FER로부터 고객 결과 CR을 도출할 수 있다. 이 고객 결과 CR은 그의 발신자 리퀘스트 OR이 수행되었는지의 여부에 관한 정보를 고객 O에게 제공한다. 제 1 개체 H는 제 1 개체 결과 FER로부터 자신의 제안이 고객에게 수용 가능한 지의 여부를 안다. 발신자 리퀘스트 OR은 고객 O에 관한 정보, 즉 주소, 신용 카드 정보를 포함할 수 있어서, 제 1 개체 H가 요구된 제품을 즉시 전달하게 한다.2 shows a more detailed example of the communication flow shown in FIG. 1. The code originator O, here the customer O, is connected to the first entity H which is connected to the calculation entity T. A method for processing a customer request's originator request OR, eg, a price request including a product threshold, is performed as follows. The customer O sends the sender request OR to the first entity H. This is indicated by the arrow named m OR . The first entity H offers several products at a particular price. The first entity H is connected to the computational entity T and, upon receipt of the sender request OR, adds information about the sender request OR, such as information about the price to accept, to form a first modified request FMR. This first modified request FMR is sent to the computing entity T as indicated by the arrow labeled m FMR . When the calculation entity T receives the first modified request FMR, it derives the calculation entity result CER from it without knowing anything from this calculation. The calculation entity result CER is then sent back to the first entity H as indicated by the arrow labeled m CER . When the first entity H receives the calculated entity outcome CER, it derives the first entity outcome FER therefrom and passes it back to the customer O as indicated by the arrow named m FER . The customer O can derive the customer result CR from the first individual result FER. This customer result CR provides the customer O with information as to whether his originator request OR has been performed. The first entity H knows from the first entity outcome FER whether his proposal is acceptable to the customer. The sender request OR may include information about the customer O, namely address, credit card information, such that the first entity H immediately delivers the requested product.

전술된 실시예에서, 모바일 에이전트는 다양한 공급자 사이트를 방문하고, 제안들(offers)을 비교한다. 발신자 리퀘스트 OR은 가격에만 의존하는 것이 아니라, 다른 속성도 포함할 수 있다. 발신자 또는 고객 O는 그의 기호에 대한 프라이버시를 유지하고 싶어하지만 상점은 다른 판매자의 제안에 관한 정보뿐만 아니라 구매자의 전술을 알려는 데 관심을 가진다. 보험 시장과 같이 그 필요에 따라 가격이 각 소비자에 대해 개별적으로 결정되는 복잡한 제안에 있어서, 공급자는 가격을 결정하는 그 방법을 비밀로 유지하기를 원한다. 이 모든 요구사항들이 보안 모바일 코드에 대해 개시된 방법에 의해 수행될 수 있다.In the embodiment described above, the mobile agent visits various provider sites and compares offers. The sender request OR depends not only on price, but may also include other attributes. The caller or customer O wants to maintain privacy for his or her preferences, but the store is interested in informing the buyer's tactics as well as information about other sellers' offers. In complex proposals where prices are individually determined for each consumer, such as the insurance market, the supplier wants to keep the method of pricing a secret. All these requirements can be fulfilled by the disclosed method for secure mobile code.

다른 실시예에서, 쇼핑 에이전트는 네트워크를 돌아다니고, 여러 공급자 또는 개체 H1, H2, .., Hj, Hj+1, Hl로부터 제안을 수집하는데, 제안의 데이터 포맷에 대한 사전 일치가 도움이 된다.In another embodiment, the shopping agent traverses the network and collects proposals from various providers or entities H 1 , H 2 , .., H j , H j + 1 , H l , with a dictionary match for the data format of the proposal. Is helpful.

도 3은 도 1 및 도 2에 도시되어 있는 것과 동일 또는 유사한 부분을 사용하는 다른 실시예를 도시한다. 차이는 코드 발신자 O가 각 개체 H1, H2, ..., Hl에 자신의 발신자 리퀘스트 OR을 직접 전송하고, 그에 따라 발신자 리퀘스트 OR이 각 개체 H1, H2, ..., Hl에 대해 같을 수 있고 서로 다를 수 있다는 것이다.FIG. 3 shows another embodiment using the same or similar parts as shown in FIGS. 1 and 2. The difference is that the code sender O sends its own caller request OR directly to each object H 1 , H 2 , ..., H l , and accordingly the caller request OR is sent to each object H 1 , H 2 , ..., H can be the same for l and different.

다른 실시예에서는, 전자 협상(electronic negotiation)이 설명된다. 구매자와 단일 공급자 사이의 전자 협상은 단일 호스트 또는 개체 H를 방문하는 보안 모바일 코드를 위한 방법을 사용하여 일어날 수 있다. 통상적으로, 공급자는 발신자 O처럼 동작하고, (인터넷 상에서 이미 상당히 보편적인) 구매자의 브라우저로 애플릿을 다운로드할 것이다. 애플릿은 계산 개체 T의 도움을 받아 구매자에 의해 실행되며, 제안은 구매자에게 디스플레이된다. 공급자는 몇몇 정보도 얻을 수 있으며, 그것은 애플릿과 함께 "프라이버시 스테이트먼트(privacy statement)"로 명확히 밝혀야 할 것이다.In another embodiment, electronic negotiation is described. Electronic negotiation between the buyer and a single supplier can take place using a method for secure mobile code to visit a single host or entity H. Typically, the provider will act as sender O and will download the applet into the buyer's browser (already quite common on the Internet). The applet is executed by the buyer with the help of the calculation object T, and the proposal is displayed to the buyer. The supplier can also get some information, which should be clearly stated as a "privacy statement" with the applet.

일반화된 입찰 방법을 사용하는 경매는 보안 모바일 에이전트에 대한 흥미있는 애플리케이션 분야를 제공한다. 입찰 에이전트는 시간과 다른 참여자의 행동의 함수인 복잡한 방법을 구현할 수 있는데, 이는 단지 가격에만 기반하는 통상의 단일 파라메터 경매에 비해 입찰자에게 더 유연성을 제공한다. 경매품 한 벌(lots)의 값이 상호 관련되어 있으므로, 입찰자는 가능한 한 다이나믹하게 그의 입찰 행태를 가령, 경매품 한 벌의 평가를 그가 이전 라운드에서 관찰했던, 다른 성공 입찰에 의존하게 하도록 규정하는 것에 흥미를 가진다. 입찰자가 계산 가능한 함수로서 그 방법을 나타낼 수 있다면, 그 방법을 사용하여 그는 경매 함수 즉, 경매의 결과를 계산하는 회로를 모든 참여자의 개별 입력으로서 구성할 수 있다. 이는 경매 기재가 각 입찰자를 단지 한번만 방문해도 되도록 요구할 것이다. 그러나, 입찰자가 그 방법을 수학적으로 표현할 수 없는 등의 경우에, 각 경매의 라운드는 각 입찰자를 한번씩 방문하고 경매자에게 돌아가는 경매 애플릿에 의해서도 안전하게 수행될 수 있다. 입찰이 최소 증가분을 초과하지 않는다면 그것은 성공 경매 또는 경매의 종료를 출력한다. 보안 모바일 계산을 위한 방법이 사용된다면, (경매자, 그것의 컴퓨터 시스템, 또는 그것의 오퍼레이터와 같은) 어떤 단일 개체 H1, H2, ..., Hj도 모든 입찰을 볼 수 없다. 일반화 경매는 전자 시장, 공정 거래, 대역폭 경매 및 운송 교환에서 공통적이며, 입찰자는 종종 아이템의 조합을 선호한다.Auctions using the generalized bidding method provide an interesting application area for secure mobile agents. A bid agent can implement a complex method that is a function of time and the behavior of other participants, which provides more flexibility to bidders than a conventional single parameter auction based solely on price. Since the values of the auction lots are correlated, the bidder is interested in making his bidding behavior as dynamic as possible, for example, to make the evaluation of the auction bundle dependent on other successful bids he observed in the previous round. Has If the bidder can represent the method as a calculable function, using that method he can construct an auction function, i.e. a circuit for calculating the result of the auction, as a separate input of every participant. This would require the auction entry to visit each bidder only once. However, in the case where the bidder cannot mathematically express the method, etc., each round of auction can be safely performed by an auction applet that visits each bidder once and returns to the auctioneer. If the bid does not exceed the minimum increment, it outputs a successful auction or the end of the auction. If a method for secure mobile calculation is used, no single entity H 1 , H 2 , ..., H j (such as an auctioner, its computer system, or its operator) will see all bids. Generalized auctions are common in electronic markets, fair trade, bandwidth auctions, and transport exchanges, and bidders often prefer a combination of items.

후술에서, 구현 세부 사항이 설명된다.In the following, implementation details are described.

계산: 모바일 에이전트의 상태를 집합 X의 원소로 둔다. 그 초기 상태 x0는 O에 의해 결정된다. Hj에 의한 입력을 집합 Yj의 원소로 두고, Hj로의 출력을 Zj의 원소로 둔다. 개체 Hj상에서의 에이전트 계산은 에이전트의 새로운 상태 xj=gj(xj-1,yj) 및 출력 zj=hj(xj-1, yj)를 결정하는 두 개의 함수Calculation: Put the state of the mobile agent as an element of set X. The initial state x 0 is determined by O. Let the input by H j be an element of the set Y j , and the output to H j as an element of Z j . Agent calculation on entity H j has two functions that determine the new state of the agent x j = g j (x j-1 , y j ) and the output z j = h j (x j-1 , y j )

에 의해 표현된다. O는 에이전트의 최종 상태 ξ=xl∈X를 획득한다. 함수 gj및 hj가 모든 개체 H1,..., Hl에 알려진다.Is represented by. O obtains the final state ξ = x l ∈X of the agent. The functions g j and h j are known to all objects H 1 , ..., H l .

모바일 계산 방법은 2l+2개의 알고리즘, A0, A1, ..., Al, B1, ..., Bl및 D를 포함하는데, j=1, ..., l 이며, x0∈X, yj∈Yj이고,The mobile calculation method includes 2l + 2 algorithms, A 0 , A 1 , ..., A l , B 1 , ..., B l and D, where j = 1, ..., l, and x 0 and ∈X, y j ∈Y j,

이며, 다음의 두 개의 조건들은 정확성(Correctness) 및 프라이버시를 유지한다.The following two conditions maintain accuracy and privacy.

정확성 :,j=1,...laccuracy : And , j = 1, ... l

,j'=1,...,l-1. , j '= 1, ..., l-1.

프라이버시 : 모든 개체의 입력, 출력 및 계산은 그 출력 다음에 오는 것을 제외하고는 발신자 및 모든 다른 개체들로부터 은닉된 상태로 남는다. O는 단지 ξ만 알게되며, x0와 ξ다음에 오는 것이 아닌 그 밖의 어떤 yj에 대해서도 알게되지 않고, 유사하게, Hj는 단지 zj만 알게되고, zj및 yj다음에 오는 것이 아닌 그 밖의 어떤 x0및 yj',j'<j에 대해서 알게되지 않는다.Privacy: The inputs, outputs, and calculations of every entity remain hidden from the sender and all other entities, except after that output. O is not only will find only ξ, not know about the other which y j, rather than coming to x 0 and ξ, and then, similarly, H j is only found only z j, comes to z j and y j, and then No other x 0 and y j ' , j'<j are known about.

간단하게 하기 위해, 이상의 방법은 에이전트가 모든 개체를 방문하는 순서가 고정되어 있다고 가정한다. 함수 π:zj→{1,...,l}를 도입하고, Hj로부터Hπ(zj)로 상기 에이전트를 전송함으로서 시퀀스가 zj에 의존하게 하도록 확장된다. 단일 호스트, 즉 제 1 개체 H만을 갖는 모바일 코드 애플리케이션의 경우에, 함수 g는 0의 출력 ξ을 산출하고, h는 H의 출력 z을 생성한다.For simplicity, the above method assumes that the order in which agents visit all objects is fixed. The function π: z j → {1, ..., l} is introduced and is extended to make the sequence dependent on z j by sending the agent from H j to H π (z j ). In the case of a mobile code application with a single host, i.e., only the first entity H, the function g yields an output ξ of 0 and h produces an output z of H.

일반적인 보안 계산 서비스일 수 있는 계산 개체 T가 제공된다. 이 계산 개체 T는 온라인이며 에이전트 애플리케이션을 실행하는 모든 개체 H1, ..., Hl즉 호스트에 접속되는데, 에이전트 계산을 보안하기 위해 임의로 처분할 수 있다. (1) 계산 개체 T가 임의의 개체에 대해 발신자와 결탁하지 않으며, (2) 계산 개체 T가 발신자 또는 임의의 개체에 대해 임의의 다른 개체와도 결탁하지 않는다는 가정 하에서 그것이 어떻게 동작하든지 계산 개체 T 자체는 계산에 관한 어떤 정보도 얻지 못한다. 모든 계산은 최소의 상호 작용으로 또는 아무런 상호 작용 없이 진행한다. 이 방법은 보편적이고, 임의의 특정 애플리케이션에 한정되지 않는다. 그러므로, 계산 개체 T의 서비스는 인터넷 상에 "보안 모바일 에이전트 계산"을 위한 공공의 서비스로서 제공될 수 있다. (가령 비교 쇼핑을 위해) O 또는 H 대신 이 서비스를 사용하는 클라이언트 또는 고객은 계산 개체 T가 그들의 프라이버시를 위반(가령, 고객 프로파일링과 시장 데이터의 수집)하려 하는 "다른 의도"를 가질까 두려워할 필요가 없다. 게다가, 계산 개체 T 자체는 보안 제공자로서 그 명성을 유지하는 데 관심을 가진다.Calculation entity T is provided, which may be a general security calculation service. This computational entity T is online and is connected to every entity H 1 , ..., H l, or host, which runs the agent application, which can be arbitrarily disposed to secure the agent computation. No matter how it operates under the assumption that (1) the computing entity T does not contend with the sender for any entity, and (2) the computing entity T does not contend with the sender or any other entity with any other entity. It does not get any information about the calculation itself. All calculations proceed with minimal or no interaction. This method is universal and is not limited to any particular application. Therefore, the service of the calculation entity T can be provided as a public service for "secure mobile agent calculation" on the Internet. Clients or customers using this service instead of O or H (eg for comparative shopping) may fear that Computing Entity T has a "different intent" to violate their privacy (eg, customer profiling and collection of market data). no need. In addition, the computing entity T itself is interested in maintaining its reputation as a security provider.

이 방법은 암호화된 형태의 함수에 기반한다. 예를 들면, 이진 디지털 회로를 암호화하는 것은 에이전트 계산의 일부를 실현한다. 이는 후술되는 암호화 회로 구성에 의해 실현될 수 있다.This method is based on a function in encrypted form. For example, encrypting binary digital circuits realizes some of the agent computation. This can be realized by the encryption circuit configuration described later.

암호화 회로 구성Encryption circuit configuration

Proc. 27th IEEE Symposium on Foundations of Computer Science(FOCS), 1986, pp. 162-167에서의 논문 "How to generate and exchange secrets"에서 A. C. Yao에 의해 소개된 Yao의 암호화된 회로 구성은 두 당사자 또는 개체 사이에서의 보안 함수 평가를 위한 상호적인 프로토콜이다. 이는 이진 함수 g(·,·)와 (입력 x를 가지는) Alice 측 및 (입력 y를 가지는) Bob 측에 대해 설명된다. Bob은 출력 z=g(x,y)를 수신하지만, 그 밖의 다른 것들은 알지 못하며, Alice는 아무것도 수신하지 않는다.Proc. 27th IEEE Symposium on Foundations of Computer Science (FOCS), 1986, pp. Introduced by A. C. Yao in the paper "How to generate and exchange secrets" in 162-167, Yao's encrypted circuit configuration is an interactive protocol for evaluating the security function between two parties or entities. This is described for the binary functions g (·, ·), Alice side (with input x) and Bob side (with input y). Bob receives the output z = g (x, y) but does not know anything else, and Alice receives nothing.

(x1,..., xnx), (y1,..., yny) 및 (z1,..., znz)가 x, y 및 z 각각의 이진 형태를 나타내고, C는 g를 계산하는 다항식 크기 이진 회로를 나타낸다 하자. Yao 구성의 구성요소들은 (I) Alice가 암호화된 회로를 구성하기 위해 사용하는 제 1 알고리즘 구성(construct)과, (II) Alice와 Bob 사이의 전송 프로토콜과, (III) Bob이 g(x,y)를 검색하게 하는 제 2 알고리즘 평가(evaluate)이다. 더 명확히는, 이 프로시저는 다음과 같다.(x 1 , ..., x nx ), (y 1 , ..., y ny ) and (z 1 , ..., z nz ) represent the binary forms of x, y and z respectively, and C is Let's represent a polynomial magnitude binary circuit that computes g. The components of the Yao configuration include (I) the first algorithm construct that Alice uses to construct the encrypted circuit, (II) the transport protocol between Alice and Bob, and (III) Bob has g (x, y) is a second algorithm evaluate to retrieve. More specifically, this procedure is as follows.

(I) 가능한 제 1 알고리즘 구성(construct)(C)은 입력 및 출력으로서 튜플(tuple)을 취하는데, 여기서는 nx+ny-입력 회로 C(·,·)의 암호화된버전으로 간주될 수 있으며,,, 및는 x, y 및 z 각각에 대응하는 소위 키 쌍(I) The first possible algorithm construct (C) is a tuple as input and output. Where Can be regarded as an encrypted version of n x + n y -input circuit C (·, ·), , , And Is the so-called key pair corresponding to x, y and z respectively

의 목록을 나타낸다.Represents a list.

암호로부터 C(x,y)를 계산하기 위해, Bob은 각각의 입력 비트에 대해 하나의 "키"를 필요로 하는데, Li,b는 입력 비트 xi=b에 대응하고, Ki,b는 입력 비트 yi=b에 대응한다. 키 Ui,0및 Ui,1은 암호화된 회로의 출력 비트를 나타내어, 즉, 평가가 Ui,b를 생성하면, 출력 비트 zi는 b로 설정된다.password To calculate C (x, y) from Bob, Bob needs one "key" for each input bit, where L i, b corresponds to input bits x i = b, and K i, b is Corresponds to input bit y i = b. The keys U i, 0 and U i, 1 represent the output bits of the encrypted circuit, i.e., if the evaluation produces U i, b , then the output bits z i are set to b.

가 암호화되는 특정 방법은, 두 개의 키가 그것의 입력 비트를 나타낸다면 회로 내 모든 게이트에 대해 결과 출력 비트를 나타내는 키는 쉽게 계산될 수 있지만 그것이 나타내는 원문(cleartext)에 대해서는 어떤 정보도 드러내지 않도록 보장한다. The specific way that is encrypted is that if two keys represent its input bits, the key representing the resulting output bit for every gate in the circuit can be easily computed but it does not reveal any information about the cleartext it represents. do.

(II) Alice 및 Bob은 가령, "A randomized protocol for signing contract", Communications of the ACM 28(1985), 637-647에서 S. Even, O. Goldreich 및 A. Lempel에 의해 또는 "Information-theoretic reductions among disclosure problems", Proc. 27th IEEE Symposium on Foundations of Computer Science(FOCS), 1986에서 G. Brassard, C. Crepeau 및 J.-M. Robert에 의해 개시된 감지하지 못하는 전송을 위한 프로토콜을 사용한다. 이는 입력으로 두 개의 메세지 m0및 m1을 갖는 전송자와, 입력으로 비트 δ를 갖는 선택자를 위한 상호적인 2측 프로토콜이다. 결과적으로, 선택자는 mδ를 수신하지만,에 대해서는 어떤 것도 알지 못하고, 전송자는 δ에 대한 어떤 정보도 가지지 않는다.(II) Alice and Bob are described, for example, by S. Even, O. Goldreich and A. Lempel in "A randomized protocol for signing contract", Communications of the ACM 28 (1985), 637-647 or "Information-theoretic reductions". among disclosure problems ", Proc. 27th IEEE Symposium on Foundations of Computer Science (FOCS), 1986. G. Brassard, C. Crepeau and J.-M. It uses the protocol for undetectable transmission initiated by Robert. This is an interactive two-sided protocol for a sender with two messages m 0 and m 1 as input and a selector with bit δ as input. As a result, the selector receives m δ , but Does not know anything about, and the sender does not have any information about δ.

더 명확히는, Alice는 전송자로서 작용하고, Bob은 그의 입력의 모든 비트 yi에 대해 값 K'i=Ki,yi를 획득하지만, Ki,yi+1에 대해서는 어떤 것도 획득하지 않는다. 동시에, Alice는 yi에 대한 어떤 것도 알지 못한다.More specifically, Alice acts as a sender, and Bob gets the value K ' i = K i, yi for every bit y i of his input , but nothing for K i , yi + 1 . At the same time, Alice knows nothing about yi.

게다가, Alice는 L'i=li,xi(i=1,...,nx)로서 x를 나타내는 키를 계산하고, Bob에게, L'1, ..., L'nx,를 전송한다.In addition, Alice computes the key representing x as L ' i = l i, xi (i = 1, ..., n x) and tells Bob , L ' 1 , ..., L' nx , Send it.

(III) 제 2 알고리즘 평가(evaluate)는 입력으로서 암호화된 회로, 각각의 키에 의한 x의 표현 및 y의 표현을 취한다. 그것은 Bob이 z를 복구할 수 있는 키를 출력하고, Alice 및 Bob이 프로토콜을 따른다면, z=g(x,y)이다.(III) Evaluate the Second Algorithm Takes as its input an encrypted circuit, a representation of x by each key and a representation of y. That's the key Bob can recover z If Alice and Bob follow the protocol, then z = g (x, y).

제 1 및 제 2 알고리즘인, 구성(construct) 및 평가(evaluate)를 구현하는 것은 가령, Journal of the ACM 33(1986), no. 4, 792-807의 "How to construct random functions"에서 O. Goldreich, S. goldwasser 및 S. Micali에 의해 제안되는 의사 랜덤 함수에 의해 이루어질 수 있으며, 실제로 블록 암호(block ciphers)에 의해 실현된다. 소프트웨어로 구현되더라도 블록 암호는 매우 빠른 암호화 프리미티브(privmitives)이다.Implementing constructs and evaluates, which are the first and second algorithms, is described, for example, in Journal of the ACM 33 (1986), no. 4, 792-807, "How to construct random functions" can be achieved by pseudo random functions proposed by O. Goldreich, S. goldwasser and S. Micali, and are actually realized by block ciphers. Even if implemented in software, block ciphers are very fast encryption primitives.

이하에서는 단일의 즉 제 1 개체로 보안 모바일 코드 계산을 실현하기 위해 암호화된 회로 구성을 사용하는 방법을 기술한다. 다수의 개체로의 확장은 그 이후에 고려한다.The following describes a method of using an encrypted circuit configuration to realize secure mobile code calculation with a single, first entity. Extension to multiple entities is considered later.

계산 개체 T는 암호화 방법의 공개 키를 발행한다. 대응하는 암호 및 해독 연산은 ET(·) 및 DT(·) 각각에 의해 표시된다. 모든 개체는 보안 인증 링크를 통해 통신할 수 있으며, 이는 표준 공개 키 암호화 및 디지털 서명을 사용함으로써 실현될 수 있다.The calculating entity T issues a public key of the encryption method. Corresponding cryptography and decryption operations are represented by E T (·) and D T (·) respectively. All entities can communicate over a secure authentication link, which can be realized by using standard public key encryption and digital signatures.

기본적 방법은 O가 두 개의 값 ξ 및 z를 계산하는 암호화된 회로를 구성하는 것이다. 코드 발신자 O는 제 1 개체 H에를 전송하지만, 제 1 개체 H가 ξ에 대해서 어떤 것도 알지 못하도록 T에 대해 x 내의 모든 키를 암호화하며, ξ에 대응하는내의 키 쌍(에 의해 표시됨)을 포함하지 않는다. 그 다음, 제 1 개체 H는 y를 나타내는 암호화 키를로부터 선택하고, 단일 라운드의 상호 작용으로 그것들을 암호 해독하는 계산 개체 T를 호출한다. 그 후, 제 1 개체 H는회로를 평가하며, z를 획득하는데, 회로 출력에서 ξ를 나타내는 키를 O에 리턴하고, O는 이로부터 ξ를 결정한다.The basic method is an encrypted circuit where O calculates two values ξ and z To construct. Code caller O to the first object H But encrypts all keys in x for T so that the first entity H knows nothing about ξ, and Key pairs within (Indicated by). Then, the first entity H uses the encryption key representing y Selects and invokes a computational entity T that decrypts them in a single round of interaction. The first entity H then evaluates the circuit and obtains z, which returns to O a key representing ξ at the circuit output, where O determines ξ.

C를 nx+ny입력 비트및 nx+nz출력 비트를 갖는 동일한 입력으로부터 (ξ,z)=(g(x,y),h(x,y))를 계산하는 이진 회로로 두고, 이전의 섹션의 표기를 약간 수정하자. 다음에서 설명되어 있는 바와 같이 이 방법은 5개의 단계 1) 내지 5)로 진행한다.C n x + n y input bits And n x + n z output bits Let's slightly modify the notation of the previous section, leaving the binary circuit to calculate (ξ, z) = (g (x, y), h (x, y)) from the same input with. As described in the following, the method proceeds to five steps 1) to 5).

1) O는 계산을 고유하게 식별하는 가령, O의 이름, g 및 h의 설명 그리고 시퀀스 카운터를 포함하는 스트링 id를 선택한다. O는 구성(construct)(C)을 호출하고, 를 획득하는데 전술한 바와 같이는 총 nx+nz개 키 쌍으로 구성된다.는 인덱스 1, ... ,nx를 가지는로 쌍을 나타내고,는 인덱스 nx+1, ..., nx+z를 갖는 U로 쌍을 나타낸다.1) O selects a string id that uniquely identifies the calculation, such as the name of O, a description of g and h, and a sequence counter. O calls the constructor (C), As mentioned above in obtaining Consists of a total of n x + n z key pairs. Has index 1, ..., n x Denote pairs, Denotes a pair by U with indices n x + 1 , ..., n x + z .

i=1, ..., ny이고 b∈{0,1}에 대해,이다.for i = 1, ..., n y and b∈ {0,1}, to be.

를 모든 이러한 K의 쌍의 리스트라 한다. 그러면, 전술한 바와 같이 i=1, ..., nx에 대하여 O는 L'i=Li,xi이 되게 하고,를 제 1 개체 H에 전송한다. Is called a list of all such K pairs. Then, as described above, for i = 1, ..., n x , O is L ' i = L i, xi , Is transmitted to the first entity H.

2) 제 1 개체 H는 i=1,...,ny에 대해 K'yi=Ki를 그 입력 y를 나타내는 암호가 되게 설정하고, 그것들을 id와 함께 계산 T에 전송한다.2) The first entity H sets K ' yi = K i to be a cipher representing its input y for i = 1, ..., n y , and sends them along with id to calculation T.

3) 계산 개체 T는 i=1, ..., ny에 대해 K'i를 암호 해독하고, i번째 암호 해독된 스트링이 식별자 id 및 인덱스 i를 포함하는지 검증한다. 모든 검사가 성공적이라면, 개산 개체 T는 암호 해독된 키를 제 1 개체 H에 리턴한다.3) Computing entity T decrypts K ' i for i = 1, ..., n y and verifies that the ith decrypted string includes identifier id and index i. If all checks are successful, the estimated entity T is the decrypted key Returns to the first entity H.

4) 제 1 개체 H는 제 2 알고리즘 평가(C,L'1, ..., L'nx, K'1, ....,K'ny)를 호출하고,를 획득한다. 그 후, 제 1 개체 H는 i=1,..., nz에 대해가 되도록를 결정하고 나머지 값을 코드 발신자 O에 전달한다.4) The first entity H calls the second algorithm evaluation (C, L ' 1 , ..., L' nx , K ' 1 , ...., K' ny ), Acquire. Then, the first entity H is given by i = 1, ..., n z To be To determine the remaining values To the code sender O.

5) 코드 발신자 O는 i=1,..,nx에 대해이 되도록 그 출력ξ=(ξ1,....,ξnx)를 결정한다.5) Code originator O for i = 1, .., n x Determine the output ξ = (ξ 1 , ...., ξn x ) so that

보안 향상을 위해, 계산 개체 T는 "Non-malleable crytography", SIAM Journal on Computing 30(2000), no. 2, 391-437에서 D. Dolev, C. Dwork 및 M. Naor에 의해 개시된 적응 선택된 암호문 공격에 대해 안전한 ―강건함을 의미함― 공개 키 암호 작성 체계를 사용해야 한다. 코드 발신자 O 및 제 1 개체 H도 그들의 입력에 투입한다. 실제 시스템에서, 가령, "Random oracles are practical: A paradign for designing efficient protocols", Proc. 1st ACM Conference on Computer and Communication Security, 1993에서 M. Bellare 및 P. Rogaway에 의해 개시된, 소위 보안 해시 함수를 사용하는 "랜덤 오라클 모델(random oracle model)"로 이 모든 것들이 실현될 수 있다. 이 경우에, 공개 키 암호화 방법 및 회로 암호화를 위한 의사 랜덤 함수는 "Number-theoretic constructions of efficient pseudo-random functions", Proc. 38th IEEE Symposium on Foundations of Computer Sicence(FOCS), 1997에서 M. Naor 및 O. Reingold에 의해 개시된 난해한 디피 헬만 문제(Diffiee-Hellman problem)에 기초하여 이산 상용대수(discrete logarithm)로 구현될 수 있다.For improved security, the computational entity T is referred to as "Non-malleable crytography", SIAM Journal on Computing 30 (2000), no. 2, 391-437, should use a secure (meaning robust) public key cryptography scheme against adaptive selected cryptographic attacks initiated by D. Dolev, C. Dwork and M. Naor. The code sender O and the first entity H also commit to their input. In real systems, for example, "Random oracles are practical: A paradign for designing efficient protocols", Proc. All of this can be realized with a "random oracle model" using so-called secure hash functions, disclosed by M. Bellare and P. Rogaway in 1st ACM Conference on Computer and Communication Security, 1993. In this case, the public key encryption method and pseudo random functions for circuit encryption are described in "Number-theoretic constructions of efficient pseudo-random functions", Proc. It can be implemented in discrete logarithms based on the difficult Diffiee-Hellman problem disclosed by M. Naor and O. Reingold in 38th IEEE Symposium on Foundations of Computer Sicence (FOCS), 1997.

이하에서, 도 1에서 표시되는 바와 같이, 복수 개의 개체 H1,...,Hl로 일반적 모바일 컴퓨팅 방법을 달성하기 위한 전술한 방법의 확장이 개시된다. 일반화는 각 개체가 전술한 기초 방법의 단계 2) 내지 4)를 실행하고, 그 후 다음 개체에 에이전트를 전송하는 자연스러운 일반화이다.In the following, as indicated in FIG. 1, an extension of the above-described method for achieving a general mobile computing method with a plurality of entities H 1 , ..., H l is disclosed. Generalization is a natural generalization in which each entity performs steps 2) to 4) of the basic method described above, and then sends an agent to the next entity.

그에 따라, 코드 발신자 O는 각 개체 H1, ..., Hl에 대해 하나의 암호화된 회로 C를 준비하고, j>1에 대해 암호화된 상태 xj-1로부터로 만든다. 이는 입력의 은닉된 형태를로 암호 해독하기 위해로부터의 출력 키를 사용함으로써 달성된다.Accordingly, the code sender O prepares one encrypted circuit C for each object H 1 , ..., H l , and encrypts the encrypted state x j-1 for j> 1. from Make it. This means that the hidden form of the input To decrypt with Output key from Is achieved by using

Ek(·) 및 Dk(·) 각각에 의해 표시되는 키 k하에서의 암호 동작 및 해독 동작을 갖는 대칭 암호화에서, 잠재의 키 U 및 암호문 c가 주어진다면, U하에서의 암호로부터 c가 결과로 나올지 여부를 상당히 정확하게 결정할 수 있도록 암호화 시스템은 충분한 리던던시를 포함한다. 방법에 관한 수정은 다음과 같다.In symmetric cryptography with cryptographic and decryption operations under the key k denoted by E k (·) and D k (·) respectively, if a potential key U and a ciphertext c are given, whether c will result from the cryptography under U The encryption system includes sufficient redundancy so that it can be determined fairly accurately. Modifications to the method are as follows.

1a) 코드 발신자 O는 j=1,...,l에 대해를 전술한와 동일한 방법으로 획득한다. 그러나, 코드 발신자 O는에 대해서만 값를 선택한다. j번째 단에서의 식별자는 id∥j로 설정된다. 코드 발신자 O 또한 각 j>1 이고 i=1,...,nx에 대해 두 개의 암호을 준비하고, 그것들을―이러한 쌍의 목록을라 칭함― 에 할당하기 이전에 임의로 치환한다.1a) code sender O for j = 1, ..., l And Mentioned above Obtain in the same way as. However, the code caller O Only value for Select. The identifier at the jth stage is set to id | j. Code sender O is also j> 1 for each and two passwords for i = 1, ..., n x Prepare them, And List of these pairs. It is optionally substituted before being assigned to.

그 후, 코드 발신자 O는After that, the code caller O

j=2,...,l에 대해을 단일 메세지 내에서 제 1 개체 H1에 전송한다.for j = 2, ..., l Is sent to the first entity H 1 in a single message.

2a) j>1에 대하여, Hj가 기본 방법의 단계 2를 실행할 때 Hj-1로부터를 수신하는데, 이는 이전에 평가된를 갖는다.About 2a) j> 1, j-1 from H when H j run to step 2 of the preferred method And , Which was previously evaluated Has

각 개체는 대칭 키로서 각을 E로 번역하고, 그것이 암호문중 어느 것을 해독할지를 결정하여, 일치하는 암호문을 해독한다. 이는 에이전트의 현재 상태 xj에서 i번째 비트의 감지 불능 표현인를 산출한다. 이 키들은 그 후를 평가하는데 사용된다.Each object is a symmetric key Is translated into E, and it is ciphertext And Determining which one to decrypt, decrypts the matched ciphertext. This is the undetectable representation of the i th bit in the agent's current state x j To calculate. These keys are then Used to evaluate

3a) Hj가 평가 중인로부터 그 출력을 획득하면, 그것은 Hj-1로부터 수신된 모든 데이터를와 함께 Hj+1에 전달한다. 써클의 끝에서, Hl를 코드 발신자 O에 리턴한다.3a) H j is being evaluated Obtaining its output from it, it retrieves all data received from H j-1 And pass to H j + 1 . At the end of the circle, H l is Returns to the code sender O.

계산 개체 T의 코드 생성Code Generation for Calculation Object T

O와 T의 역할이 바뀌는 변화에서, 계산 개체 T는 암호화된 회로를 생성한다. 그것이 프로토콜을 따를 것으로 믿어지기 때문에, 전체 회로의 정확성을 위해 고가의 무지식 증명(zero-knowledge proof)을 추가할 필요는 없다. 그러므로, 다른 개체 동작 및 강건성을 보증하는 대응 증명은 훨씬 간단하게 된다. 계산 개체 T는 회로를 구성하기 위해 g 및 h를 알아야 하지만, 그것은 제 1 프로토콜 메세지로 O로부터 C의 디스크립션을 획득할 수 있다.In a change where the roles of O and T change, the computing entity T creates an encrypted circuit. Since it is believed to follow the protocol, there is no need to add an expensive zero-knowledge proof for the accuracy of the overall circuit. Therefore, the proof of correspondence ensuring different entity behavior and robustness is much simpler. The computing entity T needs to know g and h to construct the circuit, but it can get the description of C from O as the first protocol message.

"Privacy preserving auctions and mechanism design", Proc. 1st ACM Conference on Electronic Commerce, 1999에서 M. Naor, B. Pinkas와 R. Sumner에 의해 개시되는 것과 같이 3 자 감지 불능 전송 프로토콜(a three-party oblivious transfer protocol)이 사용되며, 선택자의 역할은 선택자와 수신자라 불리는 제 3 자 사이에서 분리된다. 감지 불능 전송의 표준 개념에 비해, 수신자는 선택자에의해 특정되는 출력 메세지 mδ을 얻는데, 선택자 자체는 아무것도 알지 못한다. 이 소위 "프록시" 감지 불능 전송은 세 개의 메세지 흐름: 선택자로부터 수신자, 수신자로부터 전송자 그리고 그 반대를 사용하여 실현될 수 있다."Privacy preserving auctions and mechanism design", Proc. A three-party oblivious transfer protocol is used, as initiated by M. Naor, B. Pinkas and R. Sumner in the 1st ACM Conference on Electronic Commerce, 1999, where the role of the selector is the selector. And a third party called a receiver. Compared to the standard concept of undetectable transmission, the receiver gets the output message m δ specified by the selector, which the selector itself knows nothing about. This so-called "proxy" undetectable transmission can be realized using three message flows: selector to receiver, receiver to sender and vice versa.

프로토콜은 양 측 사이의 표준 감지 불능 전송의 1 라운드 구현도 사용하는데, 논문 "One-round secure computation and secure autonomous mobile agenets", at Proc. 27th International Colloquium on Automata, Language and Programming (ICALP)(U. Montanari, J. P. Rolim, and E. Wlzl, eds), Lecture Notes in Computer Science, vol. 1853, Springer, July 2000, pp. 512-523.에서 개시된의 방법을 사용하여 실현될 수 있다.The protocol also uses a one-round implementation of standard undetectable transmission between the two sides, in the paper "One-round secure computation and secure autonomous mobile agenets", at Proc. 27th International Colloquium on Automata, Language and Programming (ICALP) (U. Montanari, JP Rolim, and E. Wlzl, eds), Lecture Notes in Computer Science, vol. 1853, Springer, July 2000, pp. Disclosed in 512-523. It can be realized using the method of.

기본적 방법에서와 같이, 암호화된 회로 구성의 구성요소가 적용된다. 프로토콜은 단일 개체 H를 갖는 모바일 코드의 기본적 경우에 대해서 기술된다. O가 Eo(·) 및 Do(·) 각각에 의해 표시되는 암호화 동작 및 해독 동작을 갖는 공개 키 암호화 방법을 사용한다 가정하라. O는 선택자로서 nx병렬 3 당사자 감지 불능 전송으로 x의 각 비트에 대해 하나씩 계산을 시작한다. O는 C 및 E(·)와 함께 이 은닉된 선택을 3 당사자 감지 불능 전송에서 수신자로서 작용하는 H에 전송한다. H는 적당한 데이터를 전송자로서 작용하는 T에 전달하는데, 3 당사자 감지되지 않는 전송으로 키 쌍 L을 전송할 것이다. 게다가, H는 y의 각 비트에 대해 하나씩 (선택자의 역할을 하는) ny병렬 1 라운드 감지 불능 전송으로 입력도 준비한다. 그것은 이것들을 C 및 Eo(·)의 설명과 함께 T에 전송하는데, T는 1 라운드 감지 불능 전송으로 키 쌍 K를 전송할 것이다.As in the basic method, the components of an encrypted circuit configuration apply. The protocol is described for the basic case of mobile code with a single entity H. Assume that O uses a public key encryption method with encryption and decryption operations indicated by Eo (·) and Do (·) respectively. O starts counting as one selector for each bit of x with n x parallel three party undetectable transmission as a selector. O sends this concealed selection along with C and E (·) to H acting as the receiver in the third party undetectable transmission. H forwards the appropriate data to T acting as the sender, which will transmit the key pair L in the third party undetected transmission. In addition, H also prepares inputs with n y parallel 1 round undetectable transmissions (which act as selectors), one for each bit of y . It sends these to T along with the description of C and Eo (·), which will transmit the key pair K in one round undetectable transmission.

T는및 키 쌍를 획득하는 구성(C)를 호출한다. 그것은모든 감지 불능 전송 프로토콜에서의 최종 흐름을 이용하여 H에 응답한다.T And key pair Call configuration (C) to obtain. that is Respond to H with the final flow in all undetectable transmission protocols.

이로부터, H는 x를 나타내는 키및 y를 나타내는 키를 결정할 수 있다. 그것은 전술하는 바와 같이 평가를 실행하여를 획득한다. 그 후, 그것은로부터 그것의 출력 z를 결정하여,와 함께 O에 전달한다. 이로 인해 O가 그것의 출력 ξ를 획득할 수 있다.Where H is the key representing x And a key representing y Can be determined. It is rated as described above By running Acquire. After that, it And Determines its output z from To With o to pass. This allows O to obtain its output ξ.

다음은 단일 호스트 즉 제 1 개체 H1으로부터 l개 호스트 H1,..., Hl로의 프로토콜의 확장을 나타낸다. 프로토콜은 종전처럼 제 1 호스트에 대해 시작한다. 그러나, H2,...,Hl을 위한 단계는 다소 다른데, 3 당사자 감지 불능 전송 및 Eo 하의 암호화는 사용되지 않는다. 대신에, T는의 입력 내에 있고 앞의에서와 같이로부터의내의 출력 키 하에서 에이전트의 상태 xj-1를 나타내는 키를 암호화한다. 키는 단계 j-1 및 단계 j사이에 T에 의해 저장될 수도 있고 프로토콜 흐름을 따라 전송될 수도 있으며, Hj-1및 Hj를 통해 전송되어, ET(·)에 의해 암호화된다. 게다가, 마지막 호스트는 T로부터 Eo(·)로 암호화된를 획득하며, 전술한 바와 같이 이것을 O에 전달한다.The following represents a single host, that is, the first object hosts l H 1, 1 ... from H, an extension of the protocol to H l. The protocol starts for the first host as before. However, the steps for H 2 ,..., H l are somewhat different, where no third party undetectable transmission and encryption under Eo are used. Instead, T Is within the input of and As in From Key indicating agent's status x j-1 under output key in Encrypt it. key May be stored by T or transmitted along the protocol flow between steps j-1 and j, and transmitted through H j-1 and H j , and encrypted by E T (·). In addition, the last host is encrypted from T to Eo (·). And pass it to O as described above.

통신 패턴은 기본적인 방법과 동일한데, O로부터 H1으로의 하나의 메세지,각 Hj-1로부터 Hj로의 하나의 메세지, Hl로부터의 O로의 하나의 메세지 더하기 각 호스트와 계산 개체 T 사이의 하나의 통신 흐름이 있다. 강건한 공개 키 암호화 방법과 비상호적 무지식 증명을 사용함으로써 강건성이 더해질 수 있다. 그러나, 무지식 증명은 잠재적으로 큰 암호화 회로를 위해서는 필요하지 않기 때문에 결과는 훨씬 더 실용적일 것이다. 게다가, 암호화된 회로 구성은 공개 키 동작 대신에 블록 암호에 의해 구현될 수 있다.The communication pattern is the same as the basic method: one message from O to H 1 , one message from H j -1 to H j , one message from H l to O plus between each host and compute entity T There is one communication flow. Robustness can be added by using robust public key encryption methods and non-reciprocal knowledge of nonknowledge. However, the result would be much more practical because knowledgeless proof is not needed for potentially large cryptographic circuits. In addition, the encrypted circuit configuration can be implemented by block cipher instead of public key operation.

개시된 실시예는 도시 및/또는 설명된 하나 또는 여러개의 다른 실시예와 결합될 수 있다. 이는 실시예의 하나 이상의 특징에 대해서도 가능하다.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 the embodiments.

본 발명은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 실현될 수 있다. 어떤 종류의 컴퓨터 시스템 ―또는 본 명세서에서 설명된 방법을 수행하는 데 적당한 다른 장치― 도 적합하다. 하드웨어 및 소프트웨어의 통상적 조합은 로딩되고 실행될 때 본 명세서에서 설명된 방법을 수행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 가지는 범용 컴퓨터 시스템일 수 있다. 본 발명은 본 명세서에 설명된 방법의 구현을 가능하게 하는 모든 특징들을 포함하고, 컴퓨터 시스템 내에 로딩될 때 이 방법들을 수행할 수 있는 컴퓨터 프로그램 제품으로 내장될 수도 있다.The invention can be realized in hardware, software or a combination of hardware and software. Any kind of computer system—or other apparatus suitable for carrying out the methods described herein—is suitable. A typical combination of hardware and software may be a general purpose computer system having a computer program that controls the computer system to perform the methods described herein when loaded and executed. The invention includes all the features that enable implementation of the methods described herein and may be incorporated into a computer program product capable of performing these methods when loaded into a computer system.

컴퓨터 프로그램 수단 또는 본 문맥에서의 컴퓨터 프로그램은 정보 프로세싱 능력을 갖는 시스템이 a)다른 언어, 코드 또는 표기로의 변환 그리고 b)서로 다른 자료 형태로의 재생 중 어느 하나 또는 둘 모두를 직접적으로나 또는 그 후에 특정기능을 수행할 수 있도록 하는 인스트럭션의 세트의 임의의 표현 ― 임의의 언어, 코드 또는 표기― 를 의미한다.Computer program means or a computer program in this context means that a system having information processing capability directly or in combination with: a) conversion to another language, code or notation, and b) reproduction in different data formats. It means any representation of a set of instructions—any language, code, or notation—that enables later to perform a particular function.

Claims (16)

적어도 하나의 제 1 개체(H)에 전송 가능한 고객(O)의 발신자 리퀘스트(originator request)(OR)를 프로세싱하는 방법에 있어서,A method of processing an originator request (OR) of a customer (O) transmittable to at least one first entity (H), a) 상기 발신자 리퀘스트(OR)를 상기 고객(O)으로부터 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 전송하는 단계와,a) sending the caller request OR from the customer O to the first entity H or each first entity H, b) 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)를 계산 개체(T)에 접속하는 단계와,b) connecting said first entity H or each first entity H to a computational entity T; c) 상기 발신자 리퀘스트(OR)를 수신하면 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 의해 상기 발신자 리퀘스트(OR)에 관한 정보(I)에 더하여 제 1 수정 리퀘스트(FMR)를 형성하는 단계와,c) upon receipt of the originator request OR, by the first entity H or each first entity H, in addition to the information I on the originator request OR, a first modified request FMR Forming a, d) 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부를 적어도 상기 계산 개체(T)에 전송하는 단계와,d) sending at least a portion of the first modified request FMR to at least the computational entity T; e) 상기 계산 개체(T)에 의해 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부를 수신하여 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부로부터 계산 개체 결과(CER)를 유도하는 단계와,e) receiving at least a portion of the first modified request FMR by the computing entity T to derive a calculated entity result CER from at least a portion of the first modified request FMR; f) 상기 계산 개체 결과(CER)의 적어도 일부를 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 전송하는 단계와,f) sending at least a portion of the calculated entity result CER to the first entity H or each first entity H, g) 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 의한 상기 계산 개체 결과(CER) 중 적어도 일부를 수신하여 그로부터 제 1 개체 결과(FER)를 유도하고, 적어도 부분적으로 그것을 전달하는 단계와,g) receive at least some of the calculated entity results CER by the first entity H or each first entity H, derive a first entity outcome FER therefrom, and at least partially deliver it To do that, h) 상기 고객(O)에 의해 상기 제 1 개체 결과(FER)의 적어도 일부를 수신하여 그로부터 고객 결과(CR)를 유도하는 단계h) receiving by the customer O at least a portion of the first entity result FER and deriving a customer result CR therefrom. 를 포함하는 고객의 발신자 리퀘스트 프로세싱 방법.Sender request processing method of a customer comprising a. 공급자(H)에 의해 고객(O)의 발신자 리퀘스트(OR)를 프로세싱하기 위한 방법에 있어서,A method for processing a sender request (OR) of a customer (O) by a supplier (H), a) 상기 고객(O)으로부터 상기 발신자 리퀘스트(OR)를 수신하고 상기 발신자 리퀘스트에 관한 정보(I)를 더해서 제 1 수정 리퀘스트(FMR)를 형성하는 단계와,a) receiving the sender request OR from the customer O and adding the information I about the caller request to form a first modified request FMR, b) 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부로부터 계산 개체 결과(CER)를 유도하여 이를 적어도 일부 리턴하는 적어도 하나의 계산 개체(T)에 상기 제 1 수정 리퀘스트의 적어도 일부를 전송하는 단계와,b) sending at least a portion of the first modification request to at least one computational entity T which derives and at least partially returns a computational entity result CER from at least a portion of the first modification request FMR; , c) 상기 제 1 개체(H)에 의해 상기 계산 개체 결과(CER) 중 적어도 일부를 수신하여, 그로부터 제 1 개체 결과(FER)를 유도하고, 이를 적어도 일부 전달해서, 상기 고객(O)이 상기 제 1 개체 결과(FER) 중 상기 적어도 일부로부터 고객 결과(CR)를 유도할 수 있도록 하는 단계c) receiving at least some of the calculated entity results CER by the first entity H, deriving a first entity outcome FER therefrom, and delivering at least a portion thereof, so that the customer O Enabling to derive a customer outcome (CR) from at least a portion of the first entity outcome (FER) 를 포함하는 고객의 발신자 리퀘스트 프로세싱 방법.Sender request processing method of a customer comprising a. 계산 개체(T)에 의해 고객(O)으로부터 발신자 리퀘스트(OR)의 적어도 일부를 포함하는 적어도 하나의 제 1 개체(H)로부터의 제 1 수정 리퀘스트(FMR)를 프로세싱하는 방법에 있어서,A method for processing a first modification request (FMR) from at least one first entity (H) comprising at least a portion of a sender request (OR) from a customer (O) by a calculation entity (T), a) 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)로부터 상기 제 1 수정 리퀘스트(FMR)를 수신하는 단계와,a) receiving said first modified request (FMR) from said first entity (H) or each first entity (H), b) 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부로부터 계산 개체 결과(CER)를 유도하는 단계와,b) deriving a computational entity result (CER) from at least a portion of the first modified request (FMR), c) 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부로부터 제 1 개체 결과(FER)를 유도하여 이를 적어도 부분적으로 전달하는 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 상기 계산 개체 결과(CER)의 적어도 일부를 전송해서, 상기 고객(O)이 상기 제 1 개체 결과(FER)의 적어도 일부로부터 고객 결과(CR)를 유도할 수 있도록 하는 단계c) the computational entity to the first entity H or each first entity H that derives and at least partially delivers a first entity outcome FER from at least a portion of the first fertilization request FMR Transmitting at least a portion of a result CER so that the customer O can derive a customer result CR from at least a portion of the first entity result FER. 를 포함하는 리퀘스트 프로세싱 방법.Request processing method comprising a. 발신자 리퀘스트(OR)를 프로세싱하는 방법에 있어서,A method of processing a sender request (OR), a) 상기 발신자 리퀘스트(OR)를 형성하는 단계와,a) forming the caller request OR; b) 적어도 하나의 제 1 개체(H)에 상기 발신자 리퀘스트(OR)를 전송하여, 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)가 상기 발신자 리퀘스트(OR)에 관한 정보(I)를 더함으로써, 제 1 수정 리퀘스트(FER)를 형성하고, 상기 제 1 수정 리퀘스트(FER)의 적어도 일부로부터 계산 개체 결과(CER)를 유도하는 적어도 하나의 계산 개체(T)로 상기 제 1 수정 리퀘스트(FER)의 적어도 일부를 전송하는 단계 ― 상기 계산 개체 결과(CER)의 적어도 일부는 그로부터 제 1 개체 결과(FER)를 유도하여, 이를 적어도 부분적으로 전달하는 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 전송됨― 와,b) sending the sender request OR to at least one first entity H so that the first entity H or each first entity H is informed about the sender request OR. ) Adds the first modification request to at least one calculation entity T which forms a first modification request FER and derives the calculation entity result CER from at least a portion of the first modification request FER. Transmitting at least a portion of a request FER, wherein at least a portion of the computational entity result CER derives a first entity result FER therefrom and at least partially delivers the first entity H or each; Sent to first entity (H) of-, c) 상기 제 1 개체 결과(FER)의 적어도 일부를 수신하여 그로부터 고객 결과(CR)를 유도하는 단계c) receiving at least a portion of the first individual result FER and deriving a customer result CR therefrom 를 포함하는 발신자 리퀘스트 프로세싱 방법.Sender request processing method comprising a. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 4, 상기 리퀘스트(OR, FMR) 및 결과(CER, FER)에 암호 동작을 적용하는 단계를 더 포함하는 방법.Applying a cryptographic operation to the request (OR, FMR) and result (CER, FER). 제 4 항에 있어서,The method of claim 4, wherein 상기 발신자 리퀘스트(OR)를 형성하는 단계는 암호화된 회로 형성()을 적용하는 단계를 포함하는 방법.The forming of the sender request OR may include forming an encrypted circuit ( ). 프로그램이 컴퓨터에서 실행될 때 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 수행하기 위한 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 요소.A computer program element comprising program code means for performing the method of any one of claims 1 to 6 when the program is run on a computer. 컴퓨터가 제 1 항 내지 제 6 항 중 어느 한 항에 따른 방법을 수행하도록 하는 컴퓨터 판독 가능한 프로그램 수단을 포함하는Computer readable program means for causing a computer to perform the method according to any one of claims 1 to 6. 컴퓨터 가용 매체 상에 저장되는 컴퓨터 프로그램 제품.A computer program product stored on a computer usable medium. 발신자 리퀘스트(OR)를 프로세싱하기 위한 시스템에 있어서,A system for processing a sender request (OR), 적어도 하나의 제 1 개체(H)에 접속되는 고객(O)과,A customer O connected to at least one first entity H, 상기 적어도 하나의 제 1 개체(H)에 접속되는 계산 개체(T)Calculation entity T connected to said at least one first entity H 를 포함하되,Including, 상기 고객(O)은 상기 발신자 리퀘스트(OR)에 관한 정보(I)를 더하여 제 1 수정 리퀘스트를 형성하고 상기 제 1 수정 리퀘스트(FMR)의 상기 적어도 일부를 적어도 상기 계산 개체(T)에 전송하는 상기 제 1 개체(H) 또는 각각의 제 1 개체로 상기 발신자 리퀘스트(OR)를 전송하고,The customer O adds information I about the sender request OR to form a first modification request and transmits at least a portion of the first modification request FMR to at least the computational entity T. Send the sender request OR to the first entity H or each first entity, 상기 계산 개체(T)는 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부로부터 계산 개체 결과(CER)를 유도하여 상기 계산 개체 결과(CER)의 적어도 일부를 상기 제1 개체(H) 또는 각각의 제 1 개체(H)로 전달하며,The calculation entity T derives a calculation entity result CER from at least a portion of the first modified request FMR to retrieve at least a portion of the calculation entity result CER from the first entity H or each agent. 1 object (H), 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)는 상기 계산 개체 결과(CER)의 적어도 일부로부터 제 1 개체 결과(FER)를 유도하여, 이를 적어도 부분적으로 전달하고,The first entity H or each first entity H derives, at least in part, a first entity outcome FER from at least a portion of the computed entity outcome CER, 상기 고객(O)은 상기 제 1 개체 결과(FER)의 적어도 일부로부터 고객 결과(CR)를 유도할 수 있는The customer O can derive a customer result CR from at least a portion of the first individual result FER. 발신자 리퀘스트 프로세싱 시스템.Caller request processing system. 제 9 항에 있어서,The method of claim 9, 상기 발신자 리퀘스트(OR)는 암호 형태의 함수를 포함하는 시스템.The originator request (OR) comprises a function in the form of a cipher. 제 10 항에 있어서,The method of claim 10, 암호 형태의 상기 함수는 암호 회로 구성()을 포함하는 시스템.The function in cipher form consists of a cipher circuit ( System). 제 9 항에 있어서,The method of claim 9, 상기 발신자 리퀘스트(OR)는 모바일 코드의 일부인 시스템.The originator request (OR) is part of a mobile code. 제 9 항에 있어서,The method of claim 9, 상기 발신자 리퀘스트(OR), 상기 제 1 수정 리퀘스트(FMR), 계산 개체 결과(CER) 및 상기 제 1 개체 결과(FER)가 암호화된 부분을 포함하는 시스템.The sender request (OR), the first modified request (FMR), the calculated entity result (CER) and the first entity result (FER) comprising an encrypted portion. 제 9 항 내지 제 13 항 중 어느 한 항에 있어서,The method according to any one of claims 9 to 13, 상기 발신자 리퀘스트(OR)는 제안(offer), 고객 정보 및 구입 정보 중 하나 이상의 정보를 포함하는 시스템.The caller request (OR) comprises one or more of an offer, customer information and purchase information. 제 9 항에 있어서,The method of claim 9, 상기 제 1 개체(H)는 서비스를 제공하는 웹 서버 및/또는 상기 발신자 리퀘스트(OR) 수용에 관한 고객 정보를 포함하는 시스템.The first entity (H) comprises a web server providing a service and / or customer information relating to accepting the sender request (OR). 제 9 항에 있어서,The method of claim 9, 상기 고객 결과(CR)는 상기 발신자 리퀘스트(OR) 수용에 관한 제 1 개체 정보를 포함하는 시스템.The customer result (CR) includes first entity information about accepting the sender request (OR).
KR1020037006030A 2000-11-06 2001-10-24 Method and system for processing a request of a customer KR100582393B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP00124061 2000-11-06
EP00124061.3 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
KR20030072348A true KR20030072348A (en) 2003-09-13
KR100582393B1 KR100582393B1 (en) 2006-05-22

Family

ID=8170289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037006030A KR100582393B1 (en) 2000-11-06 2001-10-24 Method and system for processing a request of a customer

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
EP1368721A2 (en) 2003-12-10
WO2002037242A2 (en) 2002-05-10
AU2002210814A1 (en) 2002-05-15
CA2426794C (en) 2009-10-06
IL155394A0 (en) 2003-11-23
JP4336105B2 (en) 2009-09-30
WO2002037242A3 (en) 2003-10-16
CA2426794A1 (en) 2002-05-10
CN1478222A (en) 2004-02-25
JP2004513542A (en) 2004-04-30
KR100582393B1 (en) 2006-05-22

Similar Documents

Publication Publication Date Title
Delgado-Segura et al. A fair protocol for data trading based on bitcoin transactions
Naor et al. Privacy preserving auctions and mechanism design
Algesheimer et al. Cryptographic security for mobile code
EP0876722B1 (en) Secure anonymous information exchange in a network
US6834272B1 (en) Privacy preserving negotiation and computation
US20210049600A1 (en) Digital Asset Delivery Network
JP4156129B2 (en) Device that generates survey information for products
TW498233B (en) Method of authenticating anonymous users while reducing potential for &#34;&#34;middleman&#34;&#34; fraud
WO2020051710A1 (en) System and process for managing digitized security tokens
CN112202563A (en) Block chain based secure transaction system and method
US7240198B1 (en) Honesty preserving negotiation and computation
US8117456B2 (en) Network system, server and information terminal for list matching
Karjoth Secure mobile agent-based merchant brokering in distributed marketplaces
KR100582393B1 (en) Method and system for processing a request of a customer
US7844496B2 (en) Method and system for processing a request of a customer
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
US11538070B2 (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
JP3784055B2 (en) List matching method, network system, server and information terminal
Hsu et al. Scalable m+ 1st-price auction with infinite bidding price
Yi et al. Secure agent-mediated online auction framework
CN111353853B (en) Automatic bargaining method and related device based on intelligent contract and multiparty security calculation
CN117057805B (en) Block chain transaction system and transaction method based on isomorphic encryption
Henry et al. Towards trustworthy and privacy-preserving decentralized auctions

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110401

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee