KR100582393B1 - 발신자 리퀘스트 프로세싱 방법 및 시스템과, 컴퓨터 판독 가능한 저장 매체 - Google Patents

발신자 리퀘스트 프로세싱 방법 및 시스템과, 컴퓨터 판독 가능한 저장 매체 Download PDF

Info

Publication number
KR100582393B1
KR100582393B1 KR1020037006030A KR20037006030A KR100582393B1 KR 100582393 B1 KR100582393 B1 KR 100582393B1 KR 1020037006030 A KR1020037006030 A KR 1020037006030A KR 20037006030 A KR20037006030 A KR 20037006030A KR 100582393 B1 KR100582393 B1 KR 100582393B1
Authority
KR
South Korea
Prior art keywords
entity
request
result
customer
sender
Prior art date
Application number
KR1020037006030A
Other languages
English (en)
Other versions
KR20030072348A (ko
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/ko
Application granted granted Critical
Publication of KR100582393B1 publication Critical patent/KR100582393B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

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 개체 결과의 적어도 일부를 수신하여 이로부터 고객 결과를 유도하는 단계를 포함한다.

Description

발신자 리퀘스트 프로세싱 방법 및 시스템과, 컴퓨터 판독 가능한 저장 매체 {METHOD AND SYSTEM FOR PROCESSING A REQUEST OF A CUSTOMER}
본 발명은 고객의 리퀘스트를 프로세싱하기 위한 방법 및 시스템에 관한 것이다. 더 세부적으로는, 본 발명은 모바일 에이전트의 암호화 보안에 관한 것이다.
더욱 더 네트워크화되는 세계에서, 모바일 코드는 점점 더 중요해지는 프로그래밍 패러다임이다. 그것은 분산 시스템에서의 협력적 계산(coperative computation)을 구조화하는 데 유연한 방법을 제공한다. 현재, 인터넷은 단순한 형태의 모바일 코드만 나타내는 자바 애플릿과 같은 모바일 코드 조각으로 가득차 있다.
모바일 에이전트들은 사용자 대신에 정보의 지속적인 수집, 필터링 및 프로세싱을 자율적으로 실행하는 모바일 코드이다. 이들은 변화하는 환경 및 자율 동작에 반응하는 것과 같은 에이전트 패러다임의 이익을 원거리 코드 실행의 특징과 결합하며, 컴퓨터 네트워크 내에서 동작하고, 목표를 완수하기 위해 서버로부터 서버로 모바일할 수 있다. 중요한 애플리케이션은 대역폭이 제한되거나 사용자가 접속 해제되는 모바일 컴퓨팅, 큰 저장소에서의 데이터 검색 그리고 소프트웨어 및 네트워크의 구성 관리를 포함한다. 그 패러다임이 대규모 애플리케이션에 통합될 때 인터넷을 로밍(roaming)하는 모바일 에이전트의 비전은 곧 실현될 수 있다.
모바일 코드는 발신자라 불리는 하나의 개체에 의해 생성되고, 그 후, 그것이 호스트에 의해 실행되기 직전에 개체인 호스트에 전송되는 프로그램으로서 이해될 것이다. 즉, 호스트 대신, 셋업 루틴을 실행하거나 인스톨하는 것과 같은 어떤 수동 개입도 요구되지 않으며, 모바일 코드는 실행되도록 준비된다. 게다가, 모바일 에이전트는 발신자로부터 접속 해제된 연속 자율 동작을 수행할 수 있고, 그 수명 동안에 자유로이 다른 호스트로 이동한다. 이러한 에이전트는 순회 에이전트(itinerant agents)라고도 불려왔다. 모바일 코드는 다양한 보안 위협에 노출되는데, 즉 악의의 호스트가 코드를 검사하고, 에이전트에 의해 전달되는 비밀을 알려 하며, 부당 이익을 얻기 위해 에이전트와 상호 작용에서 이 지식을 활용할 수 있다. 호스트는 계산 결과를 조작하려 할 수도 있다.
모바일 코드의 영역에서 발생하는 두 개의 보안 문제가 있는데, (1) 악의의 코드로부터 호스트를 보호하는 것과, (2) 악의의 호스트로부터 코드를 보호하는 것이다. 첫 번째 문제는 컴퓨터 바이러스 및 트로이안 목마의 절박한 위험 때문에 상당한 주목을 받아왔다. 현재의 해결법은 세분된 액세스 제어로 소위 샌드박스(sandbox) 내에서 모바일 코드를 실행하고, 코드 생성자에 관한 신뢰를 도모하기 위해 코드 서명을 적용하는 것이다.
모바일 코드를 보호하는 것은 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)의 회로에 의해 계산 가능한 모든 함수로 확장한다.
다른 형태의 코드는 호스트에 대해 소정의 즉각적 동작을 수행하는 활성화 모바일 코드이다. 그것에 의하여, 암호화된 계산에 관한 정보가 종종 호스트에 누설되고, 이에 발신자만 임의의 결과를 수신할 것이다.
활성화 모바일 코드의 근본적 문제점은 악의의 호스트가 계산 결과를 관찰하고, 다른 입력을 이용하여 코드를 간단히 다시 실행할 수 있다는 것이다. 악의의 호스트에 대해서 활성화 모바일 코드를 위한 기존의 유일한 방어법은 신뢰성있는 하드웨어를 사용하는 것이다. 이는 배타적으로 부정 조작할 수 없는(tamperproof) 하드웨어 내부에서 모바일 코드를 실행하여, 그것이 신뢰성있는 환경을 떠나게 되면 조속히 암호화하는 것을 제안하였으며, 이를 필요로 한다.
미국 특허 제 6,026,374호는 신뢰성있는 제 3자를 사용하여 정보 제품의 전체 내용을 공개하지 않으면서 정보 제품의 설명을 잠재적 소비자에게 제공하는 시스템 및 방법에 관한 것인데, 이는 판매자의 이익을 줄일 수도 있다. 구매자는 제 3 자가 판매를 위해 정보의 정확한 설명을 제공한다고 믿는 반면, 판매자는 제 3 자가 과도한 양의 정보 제품의 내용을 드러내지 않는다는 것을 믿는다. 시스템은 정보 제품의 판매자와, 이러한 제품의 구매자 및 신뢰성있는 제 3 요약자를 포함할 수 있는데, 각각은 인터넷과 같은 통신 네트워크에서의 노드처럼 동작한다. 이 시스템 및 방법의 단점은 제 3자가 신뢰할만한 사람이어야 한다는 것과, 이 제 3자는 모두에 대한 정보 및 지식을 얻어야 한다는 것이다. 이는 상기 제 3자가 크랙(crack)된다면 위험할 수 있다. 게다가, 구매자의 리퀘스트를 프로세스하는 데 여러 메세지가 필요하다.
발명의 개요
본 발명은 고객의 발신자 리퀘스트, 즉 고객에 의해 초기화되는 리퀘스트를 안전하게 프로세싱하기 위한 방법 및 시스템을 제공한다. 이 발신자 리퀘스트는 모바일 코드 또는 에이전트 내에서 적어도 하나의 제 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 개체 결과의 일부를 수신하여 고객 결과를 도출하는 단계를 포함한다.
고객만 계산의 결과를 알게 되어 다른 개체 또는 호스트는 그들에 지정되는 결과를 제외하고는 아무것도 알지 못한다는 것이 이로운 점이다. 발신자 리퀘스트를 포함하는 모바일 코드 또는 에이전트는 네트워크를 통해 여러 개체에 전송되어 제 1 개체에서의 어떤 추가적인 클라이언트 하드웨어 없이도 코드 또는 적어도 코드의 조각이 안전하게 실행될 수 있다. 일반 독립 개체인 계산 개체를 통해 안전성이 획득된다. 이 독립 개체는 모바일 에이전트에 대한 암호화 계산을 수행하는 계산 서비스일 수 있지만, 암호화된 계산에 관해서는 어떤 것도 알지 못한다. 독립 개체는 서로 다른 많은 애플리케이션에 이용될 수 있으며, 그것을 전개하기 이 전에 그 사용에 관해서 어떤 것도 알 필요가 없다. 모바일 에이전트에 대한 인증뿐만 아니라 프라이버시 유지도 이루어질 수 있다. 게다가, 그것이 코드 발신자나 제 1 개체와 결탁하지 않는다면 계산 서비스 자체는 계산에 관해 어떤 것도 알지 못하게 된다.
독립 개체는 특정 서비스나 애플리케이션 문맥에 제한되는 게 아니라 보편적일 수 있다. 예를 들면, 보안 계산 서버가 설정되고, 독립 개체에 의해 동작될 수 있다.
본 방법 및 시스템은 소프트웨어 및 상품 하드웨어형일 수 있고, 그러므로 특수화된 하드웨어를 포함하는 임의의 솔루션에 비해 형성 및 동작하는 것이 저렴할 수 있다.
암호화 동작이 리퀘스트 또는 결과를 포함하는 모바일 에이전트에 적용될 수 있다. 그래서, 모바일 에이전트를 위한 완전성이 유리하게 보증될 수 있다.
발신자 리퀘스트가 암호화 회로 구성을 적용함으로써 형성되면, 리퀘스트가 안전하게 계산될 수 있고, 그 리퀘스트의 발신자는 개체가 얼마나 많은 정보를 수신할지를 규정할 수 있는 이로운 점이 발생한다.
발신자 리퀘스트는 암호화 형태의 함수를 포함할 수 있다. 이는 그 후 발신자 리퀘스트를 프로세싱하는 다른 개체가 그 개체에 지정되는 결과를 제외하고는 그로부터 유용한 정보를 도출할 수 없기 때문에 유리하다.
발신자 리퀘스트, 제 1 수정 리퀘스트, 계산 개체 결과 및 제 1 개체 결과는 암호화된 부분을 포함할 수 있다. 이는 그 후 중요한 정보가 보호되고 원문(plaintext)으로서는 판독 가능하지 않기 때문에 유리하다.
발신자 리퀘스트는 제공자 또는 임의의 다른 합법적 도구를 포함할 수 있다. 그것은 구매 정보 또는 배달을 위한 주소 또는 금융 거래를 위한 신용 카드 번호와 같은 고객 정보도 포함할 수 있다.
제 1 개체 결과는 서비스 또는 재화를 제공하는 웹 서버를 포함한다. 이 서비스트는 판매, 대여, 인가 또는 금융 거래를 포함하는 모든 것일 수 있다.
제 1 개체 결과는 발신자 리퀘스트의 수용에 관한 고객 정보를 포함할 수 있다. 이는 그 후 제 1 개체가 그 서비스 또는 재화를 즉시 전달하고, 필요한 거래를 초기화할 수 있기 때문에 유리하다.
고객 결과는 발신자 리퀘스트의 수용에 관한 제 1 개체 정보를 포함할 수 있다. 그러므로, 고객은 자신의 발신자 리퀘스트가 수행되며, 어떤 다른 동작도 필요하지 않을 것이라는 것을 안다.
본 발명의 바람직한 실시예는 단지 예로써 다음의 개략도를 참조하여 상세히 후술된다.
도 1은 본 발명에 따른 통신 흐름의 예,
도 2는 통신 흐름의 보다 상세한 예,
도 3은 통신 흐름의 다른 예를 도시한다.
도면들은 예시적인 목적으로만 제공되며, 반드시 본 발명의 실시예를 실제 크기대로 나타내지는 않는다.
도면을 전반적으로 참조하면, 암호 함수를 사용하여 고객의 리퀘스트를 프로세싱하기 위한 방법 및 시스템의 특징이 더 상세히 후술된다. 고객이라는 단어는 고객에 의해 사용되는 컴퓨터 또는 모바일 장치와 같은 디바이스를 의미한다는 것이 명백하다.
모바일 코드 또는 에이전트 계산의 한정 요소는 그것이 자동적으로 그리고 코드의 발신자와는 독립적으로 진행한다는 것이다. 보안 모바일 에이전트 계산은 도 1에 도시되는 것과 같은 원리로 모델링되며, 이에 후술되는 설명에 따라 박스가 명명된다.
코드 발신자 O 및 모바일 에이전트(이하에서는 간단히 에이전트)가 실행되는l개의 호스트(이하에서 개체 H1, ... Hl로 지칭됨)가 있다.
도 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에 접속된다.
각 개체 H1, H2, ... , Hj, Hj+1, Hl와 코드 발신자 O는 에이전트를 포함하는 단일 메세지만 송신하고 수신한다. 코스 발신자 O가 제 1 개체 H1에 송신하는 메세지는 mo로써 표시되고, 다른 개체 Hj가 Hj+1에 송신하는 메세지는 mj(j=1, ..., l-1)로써 표시되며, 마지막 개체 Hl이 코드 발신자 O로 리턴하는 메세지는 ml으로 표시된다.
도 2는 도 1에 도시되는 통신 흐름의 보다 상세한 예를 도시한다. 코드 발신자 O, 즉 여기서 고객 O은 H로 명명된 제 1 개체에 접속되며, 이 제 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을 수신하면, 계산 개체 T는 이 계산으로부터 어떤 것도 알지 못한 채 그 계산으로부터 계산 개체 결과 CER을 도출한다. 그 후, 계산 개체 결과 CER은 mCER로 명명되는 화살표에 의해 표시되는 것처럼 제 1 개체 H에 다시 전송된다. 제 1 개체 H가 계산 개체 결과 CER을 수신하면, 제 1 개체는 이 계산 매체 결과 CER로부터 제 1 개체 결과 FER을 도출하고, mFER로 명명되는 화살표에 의해 표시되는 것처럼 이를 고객 O에게 다시 전달한다. 고객 O는 제 1 개체 결과 FER로부터 고객 결과 CR을 도출할 수 있다. 이 고객 결과 CR은 그의 발신자 리퀘스트 OR이 총족되었는지의 여부에 관한 정보를 고객 O에게 제공한다. 제 1 개체 H는 제 1 개체 결과 FER로부터 자신의 제안이 고객에게 수용 가능한 지의 여부를 안다. 발신자 리퀘스트 OR은 고객 O에 관한 정보, 즉, 주소, 신용 카드 정보를 포함할 수 있어서, 제 1 개체 H가 요구한 제품을 즉시 전달하게 한다.
전술된 실시예에서, 모바일 에이전트는 다양한 판매자 사이트를 방문하고, 제안들(offers)을 비교한다. 발신자 리퀘스트 OR은 가격에만 의존하는 것이 아니라, 다른 속성도 포함할 수 있다. 발신자 또는 고객 O는 그의 기호에 대한 프라이버시를 유지하고 싶어하지만 상점은 다른 판매자의 제안에 관한 정보뿐만 아니라 구매자의 전술을 아는 데 관심을 가진다. 보험 시장과 같이 그 필요에 따라 가격이 각 소비자에 대해 개별적으로 결정되는 복잡한 제안에 있어서, 판매자는 가격을 결정하는 그 방법을 비밀로 유지하기를 원한다. 이 모든 요구사항들이 보안 모바일 코드에 대해 개시된 방법에 의해 수행될 수 있다.
다른 실시예에서, 쇼핑 에이전트는 네트워크를 돌아다니고, 여러 판매자 또는 개체 H1, H2, .., Hj, Hj+1, Hl로부터 제안을 수집하는데, 제안의 데이터 포맷에 대한 사전 일치가 도움이 된다.
도 3은 도 1 및 도 2에 도시되어 있는 것과 동일 또는 유사한 부분을 사용하는 다른 실시예를 도시한다. 차이는 코드 발신자 O가 각 개체 H1, H2, ..., Hl 에 자신의 발신자 리퀘스트 OR을 직접 전송하고, 그에 따라 발신자 리퀘스트 OR이 각 개체 H1, H2, ..., Hl에 대해 같을 수 있고 서로 다를 수 있다는 것이다.
다른 실시예에서는, 전자 협상(electronic negotiation)이 설명된다. 구매자와 단일 판매자 사이의 전자 협상은 단일 호스트 또는 개체 H를 방문하는 보안 모바일 코드를 위한 방법을 사용하여 일어날 수 있다. 통상적으로, 판매자는 발신자 O처럼 동작하고, (인터넷 상에서 이미 상당히 보편적인) 구매자의 브라우저로 애플릿을 다운로드할 것이다. 애플릿은 계산 개체 T의 도움을 받아 구매자에 의해 실행되며, 제안은 구매자에게 디스플레이된다. 판매자는 몇몇 정보도 얻을 수 있으며, 그것은 애플릿과 함께 "프라이버시 스테이트먼트(privacy statement)"로 명확히 밝혀야 할 것이다.
일반화된 입찰 방법을 사용하는 경매는 보안 모바일 에이전트에 대한 흥미있는 애플리케이션 분야를 제공한다. 입찰 에이전트는 시간과 다른 참여자의 행동의 함수인 복잡한 방법을 구현할 수 있는데, 이는 단지 가격에만 기반하는 통상의 단일 파라메터 경매에 비해 입찰자에게 더 유연성을 제공한다. 경매품(lots)의 값이 상호 관련되어 있으므로, 입찰자는 자신이가 이전 라운드에서 관찰했던 다른 낙찰에 의존하여 경매품을 평가하는 등, 자신의 입찰 행태를 가능한 한 다이나믹하게 하도록 규정하는 것에 흥미를 가진다. 입찰자가 계산 가능한 함수로서 그 방법을 나타낼 수 있다면, 그 방법을 사용하여 입찰자는 모든 참여자의 개인적인 입력으로서 경매 함수 즉, 경매의 결과를 계산하는 회로를 구성할 수 있다. 이는 경매 기재가 각 입찰자를 단지 한번만 방문해도 되도록 요구할 것이다. 그러나, 실현가능성이 있는 경우로는, 입찰자가 그 방법을 수학적으로 표현할 수 없으며, 각 경매의 라운드는 각 입찰자를 한번씩 방문하고 경매자에게 돌아가는 경매 애플릿에 의해서도 안전하게 수행될 수 있다. 입찰이 최소 증가분을 초과하지 않는다면 그것은 성공 경매 또는 경매의 종료를 출력한다. 보안 모바일 계산을 위한 방법이 사용된다면, (경매자, 그것의 컴퓨터 시스템, 또는 그것의 오퍼레이터와 같이) 어떤 단일 개체 H1, H2, ..., Hj도 모든 입찰을 볼 수 없다. 일반화 경매는 전자 시장, 공정 거래, 대역폭 경매 및 운송 교환에서 공통적이며, 입찰자는 종종 아이템의 조합을 선호한다.
후술에서, 구현 세부 사항이 설명된다.
계산: 모바일 에이전트의 상태를 집합 X의 원소로 둔다. 그 초기 상태 x0는 O에 의해 결정된다. Hj에 의한 입력을 집합 Yj의 원소로 두고, Hj로의 출력을 Zj의 원소로 둔다. 개체 Hj 상에서의 에이전트 계산은 에이전트의 새로운 상태 xj=gj (xj-1,yj) 및 출력 zj=hj(xj-1, yj)를 결정하는 두 개의 함수
Figure 112003015669374-pct00001
에 의해 표현된다. O는 에이전트의 최종 상태 ξ=xl∈X를 획득한다. 함수 gj 및 h j가 모든 개체 H1,..., Hl에 알려진다.
모바일 계산 방법은 2l+2개의 알고리즘, A0, A1, ..., Al, B1, ..., Bl 및 D를 포함하는데, j=1, ..., l 이며, x0∈X, yj∈Yj이고,
Figure 112003015669374-pct00002

인 경우에, 정확성(Correctness) 및 프라이버시가 다음 두 개의 조건들로 유지된다.
정확성 :
Figure 112003015669374-pct00003
Figure 112003015669374-pct00004
,j=1,...l
Figure 112003015669374-pct00005
,j'=1,...,l-1.
프라이버시 : 모든 개체의 입력, 출력 및 계산은 자신의 출력으로부터 일어나는 것을 제외하고는 발신자 및 모든 다른 개체들로부터 은닉된 상태로 남는다. O는 단지 ξ만 알고, x0와 ξ으로부터 일어나는 것을 제외하면 어떤 yj에 대해서도 알지 못하며, 유사하게, Hj는 단지 zj만을 알고, zj 및 yj로부터 일어나는 것을 제외하면 어떤 x0및 yj'(j'<j)에 대해서 알지 못한다.
간단하게 하기 위해, 이상의 방법은 에이전트가 모든 개체를 방문하는 순서가 고정되어 있다고 가정한다. 함수 π:zj→{1,...,l}를 도입하고, Hj로부터 Hπ(zj)로 상기 에이전트를 전송함으로서 시퀀스가 zj에 의존하게 하도록 확장된다. 단일 호스트, 즉 제 1 개체 H만을 갖는 모바일 코드 애플리케이션의 경우에, 함수 g는 0의 출력 ξ을 산출하고, h는 H의 출력 z을 생성한다.
일반적인 보안 계산 서비스일 수 있는 계산 개체 T가 제공된다. 이 계산 개체 T는 온라인이며 에이전트 애플리케이션을 실행하는 모든 개체 H1, ..., Hl 즉 호스트에 접속되는데, 에이전트 계산을 보안하기 위해 임의로 처분할 수 있다. (1) 계산 개체 T가 임의의 개체에 대해 발신자와 결탁하지 않으며, (2) 계산 개체 T가 발신자 또는 임의의 개체에 대해 임의의 다른 개체와도 결탁하지 않는다는 가정 하에서 그것이 어떻게 동작하든지 계산 개체 T 자체는 계산에 관한 어떤 정보도 얻지 못한다. 모든 계산은 최소의 상호 작용으로 또는 아무런 상호 작용 없이 진행한다. 이 방법은 보편적이고, 임의의 특정 애플리케이션에 한정되지 않는다. 그러므로, 계산 개체 T의 서비스는 인터넷 상에 "보안 모바일 에이전트 계산"을 위한 공공의 서비스로서 제공될 수 있다. (가령 비교 쇼핑을 위해) O 또는 H 대신 이 서비스를 사용하는 클라이언트 또는 고객은 계산 개체 T가 그들의 프라이버시를 위반(가령, 고객 프로파일링과 시장 데이터의 수집)하려 하는 "다른 의도"를 가질까 두려워할 필요가 없다. 게다가, 계산 개체 T 자체는 보안 제공자로서 그 명성을 유지하는 데 관심을 가진다.
이 방법은 암호화된 형태의 함수에 기반한다. 예를 들면, 이진 디지털 회로를 암호화하는 것은 에이전트 계산의 일부를 실현한다. 이는 후술되는 암호화 회 로 구성에 의해 실현될 수 있다.
암호화 회로 구성
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는 아무것도 알지 못한다.
(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)이다. 더 명확히는, 이 프로시저는 다음과 같다.
(I) 가능한 제 1 알고리즘 구성(construct)(C)은 입력 및 출력으로서 튜플(tuple)
Figure 112006002876362-pct00006
을 취하는데, 여기서
Figure 112006002876362-pct00092
는 nx+ny-입력 회로 C(·,·)의 암호화된 버전으로 간주될 수 있으며,
Figure 112006002876362-pct00008
,
Figure 112006002876362-pct00009
Figure 112006002876362-pct00010
는 x, y 및 z 각각에 대응하는 소위 키 쌍
Figure 112003015669374-pct00011
의 목록을 나타낸다.
암호
Figure 112006002876362-pct00012
로부터 C(x,y)를 계산하기 위해, Bob은 각각의 입력 비트에 대해 하나의 "키"를 필요로 하는데, Li,b는 입력 비트 xi=b에 대응하고, Ki,b는 입력 비트 yi=b에 대응한다. 키 Ui,0 및 Ui,1은 암호화된 회로의 출력 비트를 나타내어, 즉, 평가가 Ui,b를 생성하면, 출력 비트 zi는 b로 설정된다.
Figure 112006002876362-pct00093
가 암호화되는 특정 방법은, 두 개의 키가 그것의 입력 비트를 나타낸다면 회로 내 모든 게이트에 대해 결과 출력 비트를 나타내는 키는 쉽게 계산될 수 있지만 그것이 나타내는 원문(cleartext)에 대해서는 어떤 정보도 드러내지 않도록 보장한다.
(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δ를 수신하지만,
Figure 112006002876362-pct00014
에 대해서는 어떤 것도 알지 못하고, 전송자는 δ에 대한 어떤 정보도 가지지 않는다.
더 명확히는, Alice는 전송자로서 작용하고, Bob은 그의 입력의 모든 비트 yi에 대해 값 K'i=Ki,yi를 획득하지만, Ki,yi+1에 대해서는 어떤 것도 알지 못한다. 동시에, Alice는 yi에 대한 어떤 것도 알지 못한다.
게다가, Alice는 L'i=li,xi(i=1,...,nx)로서 x를 나타내는 키를 계산하고, Bob에게
Figure 112006002876362-pct00094
, L'1, ..., L'nx,
Figure 112006002876362-pct00016
를 전송한다.
(III) 제 2 알고리즘 평가(evaluate)
Figure 112006002876362-pct00017
는 암호화된 회로, 각각의 키에 의한 x의 표현 및 y의 표현을 입력으로서 취한다. 그것은 Bob이 z를 복구할 수 있는 키
Figure 112006002876362-pct00018
를 출력하고, Alice 및 Bob이 프로토콜을 따른다면, 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)이다.
이하에서는 단일의 또는 제 1 개체로 보안 모바일 코드 계산을 실현하기 위한 암호화된 회로 구성을 사용하는 방법을 기술한다. 다수의 개체로의 확장은 그 이후에 고려한다.
계산 개체 T는 암호화 방법의 공개 키를 발행한다. 대응하는 암호 및 해독 연산은 ET(·) 및 DT(·) 각각에 의해 표시된다. 모든 개체는 보안 인증 링크를 통해 통신할 수 있으며, 이는 표준 공개 키 암호화 및 디지털 서명을 사용함으로써 실현될 수 있다.
기본적 방법은 O가 두 개의 값 ξ 및 z를 계산하는 암호화된 회로
Figure 112006002876362-pct00095
를 구성하는 것이다. 코드 발신자 O는 제 1 개체 H에
Figure 112006002876362-pct00096
를 전송하지만, T에 대해 x 내의 모든 키를 암호화하고 제 1 개체 H가 ξ에 대해서 어떤 것도 알지 못하도록 ξ에 대응하는
Figure 112006002876362-pct00021
내의 키 쌍(
Figure 112006002876362-pct00022
에 의해 표시됨)을 포함하지 않는다. 그 다음, 제 1 개체 H는 y를 나타내는 암호화 키를
Figure 112006002876362-pct00023
로부터 선택하고, 단일 라운드의 상호 작용으로 그것들을 암호 해독하는 계산 개체 T를 호출한다. 그 후, 제 1 개체 H는 회로를 평가하며, z를 획득하는데, 또한 회로 출력에서 ξ를 나타내는 키를 O에 리턴하고, O는 이로부터 ξ를 결정할 수 있다.
C를 nx+ny 입력 비트
Figure 112003015669374-pct00024
및 nx+nz 출력 비트
Figure 112003015669374-pct00025
를 갖는 동일한 입력으로부터 (ξ,z)=(g(x,y),h(x,y))를 계산하는 이진 회로로 두고, 이전의 섹션의 표기를 약간 수정하자. 다음에서 설명되어 있는 바와 같이 이 방법은 5개의 단계 1) 내지 5)로 진행한다.
1) O는 계산을 고유하게 식별하는 가령, O의 이름, g 및 h의 설명 및 시퀀스 카운터를 포함하는 스트링 id를 선택한다. O는 구성(construct)(C)을 호출하고,
Figure 112006002876362-pct00026
Figure 112006002876362-pct00027
를 획득하는데 전술한 바와 같이
Figure 112006002876362-pct00028
는 총 nx+nz개 키 쌍으로 구성된다.
Figure 112006002876362-pct00029
는 인덱스 1, ... ,nx를 가지는
Figure 112006002876362-pct00030
로 쌍을 나타내고,
Figure 112006002876362-pct00031
는 인덱스 nx+1, ..., nx+z를 갖는 U로 쌍을 나타낸다.
i=1, ..., ny이고 b∈{0,1}에 대해,
Figure 112003015669374-pct00032
이다.
Figure 112003015669374-pct00033
를 모든 이러한 K의 쌍의 리스트라 한다. 그러면, 전술한 바와 같이 i=1, ..., nx에 대하여 O는 L'i=Li,xi이 되게 하고,
Figure 112003015669374-pct00034
를 제 1 개체 H에 전송한다.
2) 제 1 개체 H는 i=1,...,ny에 대해 K'yi=Ki를 그 입력 y를 나타내는 암호가 되게 설정하고, 그것들을 id와 함께 계산 개체 T에 전송한다.
3) 계산 개체 T는 i=1, ..., ny에 대해 K'i를 암호 해독하고, i번째 암호 해독된 스트링이 식별자 id 및 인덱스 i를 포함하는지 검증한다. 모든 검사가 성공적이라면, 개산 개체 T는 암호 해독된 키
Figure 112003015669374-pct00035
를 제 1 개체 H에 리턴한다.
4) 제 1 개체 H는 제 2 알고리즘 평가(C,L'1, ..., L'nx, K'1, ....,K' ny)를 호출하고,
Figure 112003015669374-pct00036
를 획득한다. 그 후, 제 1 개체 H는 i=1,..., nz에 대해
Figure 112003015669374-pct00037
가 되도록
Figure 112003015669374-pct00038
를 결정하고 나머지 값
Figure 112003015669374-pct00039
을 코드 발신자 O에 전달한다.
5) 코드 발신자 O는 i=1,..,nx에 대해
Figure 112003015669374-pct00040
이 되도록 그 출력 ξ=(ξ1,....,ξnx)를 결정한다.
보안 향상을 위해, 계산 개체 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 paradigm 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)로 구현될 수 있다.
이하에서, 도 1에서 표시되는 바와 같이, 복수 개의 개체 H1,...,Hl로 일반적 모바일 컴퓨팅 방법을 달성하기 위한 전술한 방법의 확장이 개시된다. 일반화는 각 개체가 전술한 기초 방법의 단계 2) 내지 4)를 실행하고, 그 후 다음 개체에 에이전트를 전송하는 자연스러운 일반화이다.
그에 따라, 코드 발신자 O는 각 개체 H1, ..., Hl에 대해 하나의 암호화된 회로 C를 준비하고, j>1에 대해 암호화된 상태 xj-1
Figure 112003015669374-pct00041
로부터
Figure 112003015669374-pct00042
로 만든다. 이는 입력의 은닉된 형태를
Figure 112003015669374-pct00043
로 암호 해독하기 위해
Figure 112003015669374-pct00044
로부터의 출력 키
Figure 112003015669374-pct00045
를 사용함으로써 달성된다.
Ek(·) 및 Dk(·) 각각에 의해 표시되는 키 k 하에서의 암호 동작 및 해독 동작을 갖는 대칭 암호화에서, 잠재의 키 U 및 암호문 c가 주어진다면, U하에서의 암호로부터 c가 결과로 나올지 여부를 상당히 정확하게 결정할 수 있도록 암호화 시스템은 충분한 리던던시를 포함한다. 방법에 관한 수정은 다음과 같다.
1a) 코드 발신자 O는 j=1,...,l에 대해
Figure 112003015669374-pct00046
Figure 112003015669374-pct00047
를 전술한
Figure 112003015669374-pct00048
와 동일한 방법으로 획득한다. 그러나, 코드 발신자 O는
Figure 112003015669374-pct00049
에 대해서만 값
Figure 112003015669374-pct00050
를 선택한다. j번째 단에서의 식별자는 id∥j로 설정된다. 코드 발신자 O 또한 각 j>1 이고 i=1,...,nx에 대해 두 개의 암호
Figure 112003015669374-pct00051
을 준비하고, 그것들을
Figure 112003015669374-pct00052
Figure 112003015669374-pct00053
―이러한 쌍의 목록을
Figure 112003015669374-pct00054
라 칭함― 에 할당하기 이전에 임의로 치환한다.
그 후, 코드 발신자 O는
j=2,...,l에 대해
Figure 112003015669374-pct00055
을 단일 메세지 내에서 제 1 개체 H1에 전송한다.
2a) j>1에 대하여, Hj가 기본 방법의 단계 2를 실행할 때 Hj-1로부터
Figure 112003015669374-pct00056
Figure 112003015669374-pct00057
를 수신하는데, 이는 이전에 평가된
Figure 112003015669374-pct00058
를 갖는다.
각 개체는 대칭 키로서 각
Figure 112003015669374-pct00059
을 E로 번역하고, 그것이 암호문
Figure 112003015669374-pct00060
Figure 112003015669374-pct00061
중 어느 것을 해독할지를 결정하여, 일치하는 암호문을 해독한다. 이는 에이전트의 현재 상태 xj에서 i번째 비트의 감지 불능 표현인
Figure 112003015669374-pct00062
를 산출한다. 이 키들은 그 후
Figure 112003015669374-pct00063
를 평가하는데 사용된다.
3a) Hj가 평가 중인
Figure 112003015669374-pct00064
로부터 그 출력을 획득하면, 그것은 Hj-1로부터 수신된 모든 데이터를
Figure 112003015669374-pct00065
와 함께 Hj+1에 전달한다. 써클의 끝에서, Hl
Figure 112003015669374-pct00066
를 코드 발신자 O에 리턴한다.
계산 개체 T의 코드 생성
O와 T의 역할이 바뀌는 변화에서, 계산 개체 T는 암호화된 회로를 생성한다. 그것이 프로토콜을 따를 것으로 믿어지기 때문에, 전체 회로의 정확성을 위해 고가의 무지식 증명(zero-knowledge proof)을 추가할 필요는 없다. 그러므로, 다른 개체 동작 및 강건성을 보증하는 대응 증명은 훨씬 간단하게 된다. 계산 개체 T는 회로를 구성하기 위해 g 및 h를 알아야 하지만, 그것은 제 1 프로토콜 메세지로 O로부터 C의 디스크립션을 획득할 수 있다.
"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δ을 얻는데, 선택자 자체는 아무것도 알지 못한다. 이 소위 "프록시" 감지 불능 전송은 세 개의 메세지 흐름, 즉, 선택자로부터 수신자, 수신자로부터 전송자 그리고 그 반대를 사용하여 실현될 수 있다.
프로토콜은 양 측 사이의 표준 감지 불능 전송의 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.에서 개시된
Figure 112003015669374-pct00067
의 방법을 사용하여 실현될 수 있다.
기본적 방법에서와 같이, 암호화된 회로 구성의 구성요소가 적용된다. 프로토콜은 단일 개체 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를 전송할 것이다.
T는
Figure 112006002876362-pct00097
및 키 쌍
Figure 112006002876362-pct00069
를 획득하는 구성(C)를 호출한다. 그것은
Figure 112006002876362-pct00070
모든 감지 불능 전송 프로토콜에서의 최종 흐름을 이용하여 H에 응답한다.
이로부터, H는 x를 나타내는 키
Figure 112003015669374-pct00071
및 y를 나타내는 키
Figure 112003015669374-pct00072
를 결정할 수 있다. 그것은 전술하는 바와 같이 평가
Figure 112003015669374-pct00073
를 실행하여
Figure 112003015669374-pct00074
를 획득한다. 그 후, 그것은
Figure 112003015669374-pct00075
Figure 112003015669374-pct00076
로부터 그것의 출력 z를 결정하여,
Figure 112003015669374-pct00077
Figure 112003015669374-pct00078
와 함께 O에 전달한다. 이로 인해 O가 그것의 출력 ξ를 획득할 수 있다.
다음은 단일 호스트 즉 제 1 개체 H1으로부터 l개의 호스트 H1,..., Hl로의 프로토콜의 확장을 나타낸다. 프로토콜은 종전처럼 제 1 호스트에 대해 시작한다. 그러나, H2,...,Hl을 위한 단계는 다소 다른데, 3 당사자 감지 불능 전송 및 Eo 하의 암호화는 사용되지 않는다. 대신에, T는
Figure 112006002876362-pct00079
의 입력 내에 있고 앞의
Figure 112006002876362-pct00080
에서와 같이
Figure 112006002876362-pct00081
로부터의
Figure 112006002876362-pct00082
내의 출력 키 하에서 에이전트의 상태 xj-1를 나타내는 키
Figure 112006002876362-pct00083
를 암호화한다. 키
Figure 112006002876362-pct00084
는 단계 j-1 및 단계 j사이에 T에 의해 저장될 수도 있고 프로토콜 흐름을 따라 전송될 수도 있으며, Hj-1 및 Hj를 통해 전송되어, ET(·)에 의해 암호화된다. 게다가, 마지막 호스트는 T로부터 Eo(·)로 암호화된
Figure 112006002876362-pct00085
를 획득하며, 전술한 바와 같이 이것을 O에 전달한다.
통신 패턴은 기본적인 방법과 동일한데, O로부터 H1으로의 하나의 메세지, 각 Hj-1로부터 Hj로의 하나의 메세지, Hl로부터의 O로의 하나의 메세지 더하기 각 호스트와 계산 개체 T 사이의 하나의 통신 흐름이 있다. 강건한 공개 키 암호화 방법과 비상호적 무지식 증명을 사용함으로써 강건성이 더해질 수 있다. 그러나, 무지식 증명은 잠재적으로 큰 암호화 회로를 위해서는 필요하지 않기 때문에 결과는 훨씬 더 실용적일 것이다. 게다가, 암호화된 회로 구성은 공개 키 동작 대신에 블록 암호에 의해 구현될 수 있다.
개시된 실시예는 도시 및/또는 설명된 하나 또는 여러개의 다른 실시예와 결합될 수 있다. 이는 실시예의 하나 이상의 특징에 대해서도 가능하다.
본 발명은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 실현될 수 있다. 어떤 종류의 컴퓨터 시스템 ―또는 본 명세서에서 설명된 방법을 수행하는 데 적당한 다른 장치― 도 적합하다. 하드웨어 및 소프트웨어의 통상적 조합은 로딩되고 실행될 때 본 명세서에서 설명된 방법을 수행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 가지는 범용 컴퓨터 시스템일 수 있다. 본 발명은 본 명세서에 설명된 방법의 구현을 가능하게 하는 모든 특징들을 포함하고, 컴퓨터 시스템 내에 로딩될 때 이 방법들을 수행할 수 있는 컴퓨터 프로그램 제품으로 내장될 수도 있다.
컴퓨터 프로그램 수단 또는 본 문맥에서의 컴퓨터 프로그램은 정보 프로세싱 능력을 갖는 시스템이 a)다른 언어, 코드 또는 표기로의 변환 그리고 b)상이한 자료 형태로의 재생 중 어느 하나 또는 둘 모두를 직접적으로나 또는 그 후에 특정 기능을 수행할 수 있도록 하는 임의의 인스트럭션 세트 표현법 ― 임의의 언어, 코드 또는 표기― 을 의미한다.

Claims (16)

  1. 제 1 개체(H)에 의해 고객(O)의 발신자 리퀘스트(OR)를 프로세싱하기 위한 방법에 있어서,
    a) 상기 고객(O)으로부터 모바일 코드의 일부이며 암호화된 형태의 함수를 포함하는 상기 발신자 리퀘스트(OR)를 수신하고, 상기 발신자 리퀘스트에 관한 정보(I)를 추가하여 제 1 수정 리퀘스트(FMR)를 형성하는 단계와,
    b) 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부로부터 계산 개체 결과(CER)를 유도하여 이를 적어도 일부 리턴하는 적어도 하나의 계산 개체(T) - 상기 계산 개체(T)는 암호 해독 연산을 위한 안전한 계산 서비스임 - 에 상기 제 1 수정 리퀘스트의 적어도 일부를 전송하는 단계와,
    c) 상기 제 1 개체(H)에 의해 상기 계산 개체 결과(CER)의 적어도 일부를 수신하고, 그로부터 제 1 개체 결과(FER)를 유도하여, 이를 적어도 일부 전달해서, 암호화 연산(a cryptographic operation)이 상기 리퀘스트(OR, FMR) 및 상기 계산 개체 결과(CER)에 적용되고, 상기 고객(O)이 상기 제 1 개체 결과(FER)의 상기 적어도 일부로부터 고객 결과(CR)를 유도할 수 있도록 하는 단계
    를 포함하는 고객의 발신자 리퀘스트 프로세싱 방법.
  2. 계산 개체(T)에 의해, 고객(O)으로부터의 발신자 리퀘스트(OR) - 상기 발신자 리퀘스트(OR)는 모바일 코드의 일부이며 암호화된 형태의 함수를 포함함 - 의 적어도 일부를 포함하는 적어도 하나의 제 1 개체(H)로부터의 제 1 수정 리퀘스트(FMR)를 프로세싱하는 방법에 있어서,
    a) 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)로부터 상기 제 1 수정 리퀘스트(FMR)를 수신하는 단계와,
    b) 암호 해독 연산에 의해 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부로부터 계산 개체 결과(CER)를 유도하는 단계와,
    c) 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부로부터 제 1 개체 결과(FER)를 유도하여 이를 적어도 부분적으로 전달하는 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 상기 계산 개체 결과(CER)의 적어도 일부를 전송해서, 암호화 연산이 상기 리퀘스트(OR, FMR) 및 상기 계산 개체 결과(CER)에 적용되고, 상기 고객(O)이 상기 제 1 개체 결과(FER)의 상기 적어도 일부로부터 고객 결과(CR)를 유도할 수 있도록 하는 단계
    를 포함하는 리퀘스트 프로세싱 방법.
  3. 발신자 리퀘스트(OR)를 프로세싱하는 방법에 있어서,
    a) 모바일 코드의 일부이며 암호화된 형태의 함수를 포함하는 상기 발신자 리퀘스트(OR)를 형성하는 단계와,
    b) 적어도 하나의 제 1 개체(H)에 상기 발신자 리퀘스트(OR)를 전송하여, 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)가 상기 발신자 리퀘스트(OR)에 관한 정보(I)를 추가함으로써 제 1 수정 리퀘스트(FER)를 형성하고, 상기 제 1 수정 리퀘스트(FER)의 적어도 일부로부터 계산 개체 결과(CER)를 유도하는 적어도 하나의 계산 개체(T) ― 상기 계산 개체(T)는 암호 해독 연산을 위한 안전한 계산 서비스이고, 상기 계산 개체 결과(CER)의 적어도 일부는 그로부터 제 1 개체 결과(FER)를 유도하여 이를 적어도 부분적으로 전달하는 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 전송되며, 암호화 연산은 상기 리퀘스트(OR, FMR) 및 상기 계산 개체 결과(CER)에 적용됨 ― 에 상기 제 1 수정 리퀘스트(FER)의 적어도 일부를 전송하는 단계와,
    c) 상기 제 1 개체 결과(FER)의 상기 적어도 일부를 수신하여 그로부터 고객 결과(CR)를 유도하는 단계
    를 포함하는 발신자 리퀘스트 프로세싱 방법.
  4. 제 3 항에 있어서,
    상기 발신자 리퀘스트(OR)를 형성하는 단계는 암호 회로 구성(C)을 적용하는 단계를 포함하는 방법.
  5. 컴퓨터 판독가능한 저장 매체로서,
    상기 저장 매체가 컴퓨터에서 실행될 때 제 1 항 내지 제 4 항 중 어느 한 항의 방법을 수행하기 위한 프로그램 코드 수단을 포함하는 컴퓨터 판독가능한 저장 매체.
  6. 삭제
  7. 발신자 리퀘스트(OR)를 프로세싱하기 위한 시스템에 있어서,
    적어도 하나의 제 1 개체(H)에 접속되는 고객(O)과,
    적어도 상기 1 개체(H)에 접속되는 계산 개체(T) - 상기 계산 개체(T)는 암호 해독 연산을 위한 안전한 계산 서비스임 -
    를 포함하되,
    상기 고객(O)은, 모바일 코드의 일부이며 암호화된 형태의 함수를 포함하는 상기 발신자 리퀘스트(OR)를, 상기 발신자 리퀘스트(OR)에 관한 정보(I)를 추가하여 제 1 수정 리퀘스트(FMR)를 형성하는 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 전송하고, 상기 제 1 수정 리퀘스트(FMR)의 적어도 일부를 적어도 상기 계산 개체(T)에 전송하며,
    상기 계산 개체(T)는 상기 제 1 수정 리퀘스트(FMR)의 상기 적어도 일부로부터 계산 개체 결과(CER)를 유도하여 상기 계산 개체 결과(CER)의 적어도 일부를 상기 제 1 개체(H) 또는 각각의 제 1 개체(H)에 전송하며,
    상기 제 1 개체(H) 또는 각각의 제 1 개체(H)는 상기 계산 개체 결과(CER)의 상기 적어도 일부로부터 제 1 개체 결과(FER)를 유도하여, 이를 적어도 부분적으로 전달하고,
    암호화 연산은 상기 리퀘스트(OR, FMR) 및 상기 계산 개체 결과(CER)에 적용되고,
    상기 고객(O)은 상기 제 1 개체 결과(FER)의 상기 적어도 일부로부터 고객 결과(CR)를 유도할 수 있는
    발신자 리퀘스트 프로세싱 시스템.
  8. 제 7 항에 있어서,
    상기 발신자 리퀘스트(OR)는 암호화된 형태의 함수를 포함하는 시스템.
  9. 제 8 항에 있어서,
    암호화된 형태의 상기 함수는 암호 회로 구성(C)을 포함하는 시스템.
  10. 제 7 항에 있어서,
    상기 발신자 리퀘스트(OR)는 모바일 코드의 일부인 시스템.
  11. 제 7 항에 있어서,
    상기 발신자 리퀘스트(OR), 상기 제 1 수정 리퀘스트(FMR), 상기 계산 개체 결과(CER) 및 상기 제 1 개체 결과(FER)는 암호화된 부분을 포함하는 시스템.
  12. 제 7 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 발신자 리퀘스트(OR)는 제안(offer), 고객 정보 및 구입 정보 중 하나 이상의 정보를 포함하는 시스템.
  13. 제 7 항에 있어서,
    상기 제 1 개체(H)는 서비스를 제공하는 웹 서버 및/또는 상기 발신자 리퀘스트(OR)의 수락에 관한 고객 정보를 포함하는 시스템.
  14. 제 7 항에 있어서,
    상기 고객 결과(CR)는 상기 발신자 리퀘스트(OR)의 수락에 관한 제 1 개체 정보를 포함하는 시스템.
  15. 삭제
  16. 삭제
KR1020037006030A 2000-11-06 2001-10-24 발신자 리퀘스트 프로세싱 방법 및 시스템과, 컴퓨터 판독 가능한 저장 매체 KR100582393B1 (ko)

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 KR20030072348A (ko) 2003-09-13
KR100582393B1 true KR100582393B1 (ko) 2006-05-22

Family

ID=8170289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037006030A KR100582393B1 (ko) 2000-11-06 2001-10-24 발신자 리퀘스트 프로세싱 방법 및 시스템과, 컴퓨터 판독 가능한 저장 매체

Country Status (8)

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

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 (zh) * 2005-02-04 2007-03-14 南京邮电学院 一种类似生物自我保护的移动代理安全保护方法
DE102007001519B4 (de) * 2007-01-10 2015-08-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Konzept zum Vergeben von Datenraten an Informationssignalanbieter in einem Netzwerk

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

Similar Documents

Publication Publication Date Title
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
US20210049600A1 (en) Digital Asset Delivery Network
US6834272B1 (en) Privacy preserving negotiation and computation
JP4156129B2 (ja) 製品に対する調査情報を生成する装置
CN112202563A (zh) 基于区块链的安全交易系统及方法
WO2020051710A1 (en) System and process for managing digitized security tokens
US8117456B2 (en) Network system, server and information terminal for list matching
CN114565382A (zh) 一种交易账户匿名支付方法及系统
Karjoth Secure mobile agent-based merchant brokering in distributed marketplaces
KR100582393B1 (ko) 발신자 리퀘스트 프로세싱 방법 및 시스템과, 컴퓨터 판독 가능한 저장 매체
Chenli et al. Fair 2 Trade: Digital Trading Platform Ensuring Exchange and Distribution Fairness
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
WO2022089518A1 (zh) 地址的生成方法、区块链信息的处理方法以及相关设备
JP3784055B2 (ja) リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末
Far et al. Goodbye Bitcoin: A general framework for migrating to quantum-secure cryptocurrencies
Hsu et al. Scalable m+ 1st-price auction with infinite bidding price
Hsu et al. Publicly Verifiable M+ 1st‐Price Auction Fit for IoT with Minimum Storage
Yi et al. Secure agent-mediated online auction framework
CN111353853B (zh) 基于智能合约及多方安全计算的自动议价方法和相关装置
CN117057805B (zh) 一种区块链交易系统及基于全同态加密的交易方法
Asharov et al. Privacy-preserving portfolio pricing

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