KR100956482B1 - 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체 - Google Patents

알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체 Download PDF

Info

Publication number
KR100956482B1
KR100956482B1 KR1020087002935A KR20087002935A KR100956482B1 KR 100956482 B1 KR100956482 B1 KR 100956482B1 KR 1020087002935 A KR1020087002935 A KR 1020087002935A KR 20087002935 A KR20087002935 A KR 20087002935A KR 100956482 B1 KR100956482 B1 KR 100956482B1
Authority
KR
South Korea
Prior art keywords
party
proof
communication
work
data set
Prior art date
Application number
KR1020087002935A
Other languages
English (en)
Other versions
KR20080025202A (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 KR20080025202A publication Critical patent/KR20080025202A/ko
Application granted granted Critical
Publication of KR100956482B1 publication Critical patent/KR100956482B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립을 제공한다. 본 발명은 문제 인스턴스의 해를 구하는 것에 대한 이러한 작업 증명을 이용하여 신뢰성 있는 관계를 확립하기 위해 목적이 정해져 있는 비대화적인 작업 증명 및 통신 당사자들 간에 전달될 암호적인 서명 정보에 근거하여, 이와 함께 상기 작업 증명을 검증하고, 상기 검증 단계가 긍정적인 결과를 산출하는 경우, 신뢰성 있는 관계를 위한 세션 객체를 생성한다.

Description

알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체{ESTABLISHMENT OF A TRUSTED RELATIONSHIP BETWEEN UNKNOWN COMMUNICATION PARTIES}
본 발명은 암호화 프로토콜의 분야에 관한 것으로서, 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립에 관한 것이다. 특히, 본 발명은 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계를 확립하는 수단에 관한 것이다. 통신 시스템은, 예를 들어, 인터넷 또는 애드 혹(ad-hoc) 네트워크이다.
최근 몇 년간, 사용자의 수 및 사용자에 의한 원격 통신 서비스의 사용량의 관점에서 통신 기술은 폭넓게 확산되어 왔다. 이것은 또한 현재의 통신 시스템을 통해 교환된 정보 및 데이터 양의 엄청난 증가를 초래한다.
이에 의해, 통신 시스템의 사용자의 경우, 특히 요청하지 않거나 혹은 원하지 않는 정보의 취급에 대해, 사용자가 수신하는 거대한 정보량을 취급하는 심각한 문제점이 제기되어 왔다. 이러한 스패밍(spamming) 정보(스패밍 : 대량으로 요청 하지 않은 메시지를 무차별적으로 전송하는 임의의 전자 통신 매체의 사용)는 원하는 "실제의" 정보의 양을 훨씬 용이하게 초과할 수 있다. 이러한 상황은 사용자가 원하는 "실제의" 정보를 필터링하는 것을 곤란하게 하고/하거나 적어도 성가시게 할 뿐만 아니라, 예를 들어, 개인 메일박스의 저장 공간과 같은 정보 시스템 용량의 과부하를 초래한다.
현재, 앞서 개략적으로 언급한 문제점은 인터넷 및 특히 애드 혹 및/또는 센서 네트워크에서 만연하고 있다. 그러나, 이는 이러한 종류의 네트워크에 제한되지는 않으나 특히 알려지지 않은 (가능하게는 등록되지 않은) 통신 당사자가 존재하는 임의의 통신 시스템에 관련된다. 현재의 인지로부터 볼 때, 이것은, 예를 들어, 중앙화된 네트워크 및/또는 사용자 관리, 보안 기능 등을 보호하는 중앙 당사자 없는 통신 시스템에서 특히 그러하다. 일례로서 이러한 시스템의 경우 피어 투 피어(peer-to-peer : P2P) 시스템에서와 같은 분산형 시스템 환경이 언급될 수 있다. 이러한 현재의 문제점의 사례는 다음을 포함한다. 즉,
- e-메일로서, 여기서 오픈 e-메일 인프라스트럭쳐(infrastructure)는 이전의 상호 간의 소개 없이 누구든지 임의의 사람에게 e-메일을 전송할 수 있는 것을 요구하는 e-메일.
- WWW(world wide web) 사이트로서, 그 WWW 사이트 자체에 의해 관리되는 사용자에 대한 영구적인 아이덴티티(identities)를 갖는 WWW 사이트.
- 예를 들어, 모바일 디바이스와 같은 무선 근접 네트워크에 걸쳐 과도하게 리소스 제한된 디바이스에 의해 제공된 네트워크 서비스.
이러한 시나리오 또는 세팅의 다수에 대해, 통합 특성은 사용자의 '아이덴티티'가 (중앙 당사자에 의해 제어되지 않으므로) 자율적으로 생성될 수 있으며 임의의 중앙 당사자에 의해 관리되지 않는다는 것이다.
불법의 당사자에 의해 수행되는 경우, 이러한 하나의 당사자의 상황, 예를 들어, 다수의 아이덴티티를 잘못 요청하는 사용자(또는 사용자 설비) 또는 네트워크 요소는 논문에서 "시빌 어택(Sybil Attack)"이라 불리운다. 따라서 불법의 당사자가 다수의 (제조) 아이덴티티를 다른 당사자에 제공한다는 점에서 "시빌 어택"은 유해한 아이덴티티 제조의 종류로서 간주될 수 있으므로 아이덴티티 및 엔티티 사이의 추정 매핑을 손상시킨다.
"시빌 어택"은 논문 John R. Douceur, Proceedings fo the 1st International Workshop on Peer-to-Peer Systems (IPTFS02), Cambridge, MA (USA), March 2002에 의해 처음 도입되었으며, 확대적으로 논의되어 왔다.
시빌 어택에 의해 제기진 문제점은, 불법의 당사자가 예를 들어, 인터넷 상에서 웜(worms), 트로이안(trojans) 및 다른 멀웨어(malware)를 통해 네트워크화된 컴퓨터의 상당량, 가능하게는 막대한 양을 제어할 수 있다고 하는 위험에 의해 심화된다. 즉, 시스템의 많은 부분이 불법의 당사자에 의해 제어될 수 있어, 예를 들어, 보안 위협을 방지하기 위한 시스템의 리던던시(redundancy)를 손상시킨다. 따라서, 기존의 합법적인 인증 및 아이덴티티가 위태해지고 불법의 당사자의 제어 하에 놓일 수 있다.
이러한 문제점은 인터넷 상에서 현재 존재하는 스팸(즉, 요청하지 않은 대량 e-메일링) 문제점의 토대를 이룬다.
예를 들어, 상술한 Douceur의 논문에서 제안되는 알려진 종래 기술에 따른 해결책은 아이덴티티를 증명하도록 구성된 신뢰성 있는 제 3 자를 시스템에 개입시키는 것이다. 그러나, 이러한 신뢰성 있는 제 3 자는 통신 시스템에 대해 추가적인 비용 및 시도(예를 들어, 관리 또는 구현에 관한)를 들게 할 것이다.
상기 문제점을 극복하거나 또는 적어도 완화시키는 다른 방법은 "작업 증명(proof-of-work)"이라고 하는 키워드에 의해 참조된다. 일반적으로, 작업 증명 시스템은 통신 당사자와 같은 디바이스가 몇몇 "작업"을 행하였다는 것을 증명하기 위해 사용된 시스템으로, 통상 그것이 몇몇 프로세싱 시간 및/또는 용량을 소모했음을 의미한다. 따라서, 예를 들어, 스팸의 방지에 관해, e-메일을 전송하기를 원하는 임의의 컴퓨터는 이러한 컴퓨터로부터 수신자가 e-메일을 수락하기 이전에 이러한 작업 증명을 생성해야 한다. 이 개념은 당사자가 다소 쓸모 없는 작업을 수행함으로써 정직하거나 혹은 "양호한 속성"이라는 것을 증명해서, 남용 또는 오실행을 방지한다는 것이다.
작업 증명에 관하여는 몇몇 종래 기술이 존재한다.
예를 들어, 마이크로소프트 리서치에서의 "페니 블랙(penny black)" 프로젝트는 http://research.microsoft.com/research/sv/PennyBlack에서 작업 증명에 관한 논문을 제공한다.
작업 증명의 개념은 논문 "Pricing via Processing of Combatting Junk Mail" by C. Dwork and M. Maor, Lecture Notes in Cokputer Science, 1993, pp. 137-147 (proceeding of CRYPTO'92)에 제공되어 있다. 그 논문에서, 서명 방안에 근거한 작업 증명이 또한 사용된다. 그러나 이러한 논문에서 이들 방안은 작업 증명의 적용성을 한정하지 않고 또한 명확하게 밝히지도 않는다. 따라서, 이들은 상기 문제점을 해결하는데, 예를 들어, 서로 간에 새로운 아이덴티티를 소개(introducing)하기에 적절하지 않다.
대화식(interactive) 작업 증명은 원래 세션 객체 고갈 공격에 대처하도록 설계된 클라이언트 퍼즐(Client puzzles)의 개념을 통해 소개되었다. 이들은 논문 "Client puzzles: A Crytographic Countermeasure Against Connection Depletion Attacks" by A. Juels and J. Brainard, in s. Kent, editor, Proceedings of NDSS '59 (Networks and Distributed Security Systems), pages 151-165, 1999에 소개되어 왔다. 이러한 프로토콜은 작업 증명의 적용성을 제한할 수 있으나, 대화적이므로, 예를 들어, 저장 및 전송(store-and-forward) 네트워크에서 적용할 수 없다. 추가적으로, 상기의 문제점, 즉, 새로운 아이덴티티를 서로 간에 어떻게 도입할지를 해결하기 위해 이러한 프로토콜이 어떻게 사용될 수 있는지에 대해 제시 또는 암시되어 있지 않다.
"브레드 푸딩 프로토콜(bread pudding protocols)"의 개념을 통해 단지 연산 능력을 낭비하는 대신에 "유용한" 것을 행하도록 작업 증명을 이용하는 개념이 도입되었다. 이것은 "Proofs of work and bread pudding protocols" by M. Jakobsson and A. Juels, in proceedings of the IFIP TC6 and TC11 Joint Working Conference on Communications and Mhultimedia Security (CMS'99), Leuven, Belgium, September 1999에서 소개되어 왔다.
그러나 전술한 종래 기술의 접근법 중 어느 것도 특히 시빌 어택과 관련하여 상기의 시나리오에 대해 적절한 해결책을 제공하지 않는다. 따라서, 알려진 종래 기술은 실제로 채택 가능한 방식으로 본 발명의 기초를 이루는 문제를 해결하는데 적합하지 않다.
따라서, 신뢰성 있는 제 3 자의 부재 시에 서로 알려지지 않은 두 통신 당사자 간의 개선된 소개를 서로에 대해 제공하기 위해 상기의 문제점 및 단점에 대한 해결책이 여전히 요구된다.
발명의 개요
따라서, 본 발명의 목적은 종애 기술에 대해 본질적인 상기의 단점을 제거하고, 이에 따라, 개선된 방법, 통신 장치, 시스템 및 컴퓨터 프로그램 제품을 제공하는 것이다.
본 발명의 제 1 측면에 따르면, 이 측면은, 예를 들어, 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계를 확립하는 방법으로서,
(ⅰ) 상기 통신 당사자 중 제 1 통신 당사자에서,
상기 두 통신 당사자의 아이덴티티(identities) 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하는 단계와,
문제 인스턴스를 도출하기 위해 상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하는 단계와,
상기 도출된 문제 인스턴스의 해를 구하는 단계와,
상기 문제 인스턴스의 해를 구하는 것에 대하여, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명(a proof-of-work)을 생성하는 단계와,
상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하는 단계
를 수행하며,
(ⅱ) 상기 제 2 통신 당사자에서,
상기 문제 인스턴스의 해를 구하는 것에 대한 상기 작업 증명을 검증하는 단계와,
상기 검증 단계가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 상기 제 1 통신 당사자에 대해 생성하여 전송하는 단계를 수행하는 방법에 의해 달성된다.
본 발명의 제 2 측면에 따르면, 이 측면은, 예를 들어, 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립을 개시하기 위해, 상기 두 통신 당사자 중 제 1 통신 당사자에서 수행되는 방법으로서,
상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하는 단계와,
문제 인스턴스를 도출하기 위해 상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하는 단계와,
상기 도출된 문제 인스턴스의 해를 구하는 단계와,
상기 문제 인스턴스의 해를 구하는 것에 대하여, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 생성하는 단계와,
상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하는 단계를 포함하는 방법에 의해 달성된다.
본 발명의 제 3 측면에 따르면, 이 측면은, 예를 들어, 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립을 완성하기 위해, 상기 두 통신 당사자 중 제 2 통신 당사자에서 수행되는 방법으로서,
상기 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터와 함께 제 1 통신 당사자로부터 수신되는 상기 문제 인스턴스의 해를 구하는 것에 대하여, 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 검증하는 단계와,
상기 검증 단계가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 상기 제 1 통신 당사자에 대해 생성하여 전송하는 단계를 포함하는 방법에 의해 달성된다.
또 다른 유용한 개발에 따라 다음 중 하나 이상이 적용된다. 즉,
- 상기 작업 증명은 상기 문제 인스턴스에 대한 해이고, 상기 데이터 세트는 상기 제 1 통신 당사자의 공개키를 포함하며,
- 상기 작업 증명은 상기 문제 인스턴스에 대한 해의 지식 증명(a proof-of-knowledge)에 근거한 디지털 서명이고, 상기 작업 증명은 상기 문제 인스턴스 해를 노출시키지 않으며, 상기 디지털 서명은 상기 데이터 세트의 전부 혹은 일부에 대해 연산되고,
- 상기 암호화 연산을 수행하는 단계는 상기 생성된 데이터 세트의 적어도 일부에 대해 의사 랜덤(pseudo-random) 함수를 수행하는 단계를 포함하고,
- 상기 암호화 연산을 수행하는 단계는 상기 의사 랜덤 함수의 결과를 문제 인스턴스에 매핑하는 매핑 함수를 수행하는 단계를 더 포함하며,
- 상기 해를 구하는 단계가 실패하는 경우, 상기 생성된 데이터 세트의 적어도 일부를 수정하고, 상기 수정된 데이터 세트에 근거하여 상기 암호화 연산을 수행하는 단계를 더 포함하며,
- 상기 작업 증명을 검증하는 단계는, 상기 제 1 통신 당사자에서의 상기 암호화 연산이 근거하는 데이터 세트에 근거하여 상기 암호화 연산을 수행하는 단계와, 수신된 상기 작업 증명이 상기 암호화 연산의 수행에 대응하는지를 확인하는 단계를 포함하며,
- 상기 데이터 세트를 생성하는 단계는 상기 데이터 세트 내의 타임스탬프(timestamp)를 생성하는 단계를 더 포함하고,
- 상기 작업 증명을 검증하는 단계는 타임스탬프가 유효한 것인지를 체크하는 단계를 포함하며,
- 상기 세션 객체는 암호화 키를 포함하고,
- 본 방법은 전송되기 이전에 상기 생성된 세션 객체를 암호화하는 단계를 더 포함하며,
- 상기 세션 객체를 암호화하는 단계는 상기 생성된 데이터 세트에 포함되는 상기 제 1 통신 당사자의 공개키에 근거하여 수행된다.
본 발명의 제 4 측면에 따르면, 이 측면은, 예를 들어, 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않는 제 1 통신 당사자 및 자신과 제 2 통신 당사자 간에 신뢰성 있는 관계의 확립을 개시하는 통신 장치로서,
상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하도록 구성된 생성기와,
문제 인스턴스를 도출하기 위해 상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하도록 구성된 수행기와,
상기 도출된 문제 인스턴스의 해를 구하도록 구성된 해결기와,
상기 문제 인스턴스의 해를 구하는 것에 대하여, 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 생성하는 생성기와,
상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하고 상기 제 2 통신 당사자로부터 세션 객체를 수신하도록 구성된 트랜시버를 포함하는 통신 장치에 의해 달성된다.
본 발명의 제 5 측면에 따르면, 이 측면은, 예를 들어, 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않는 제 1 통신 당사자 및 자신과 제 2 통신 당사자 간에 신뢰성 있는 관계의 확립을 개시하는 통신 장치로서,
상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하는 수단과,
문제 인스턴스를 도출하기 위해 상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하는 수단과,
상기 도출된 문제 인스턴스의 해를 구하는 수단과,
상기 문제 인스턴스의 해를 구하는 것에 대하여, 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 생성하는 수단과,
상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하고 상기 제 2 통신 당사자로부터 세션 객체를 수신하는 수단을 포함하는 통신 장치에 의해 달성된다.
또 다른 유용한 개발에 따라 다음 중 하나 이상이 적용된다. 즉,
- 상기 수행기는 상기 생성기에 의해 생성된 데이터 세트의 적어도 일부에 대해 의사 랜덤(pseudo-random) 함수를 수행하도록 또한 구성되고,
- 상기 수행기는 상기 의사 랜덤 함수의 결과를 문제 인스턴스에 매핑하는 매핑 함수를 수행하도록 또한 구성되며,
- 상기 해결기는 자신이 상기 문제 인스턴스의 해를 구하지 못하는 경우, 상기 생성기로 하여금 상기 생성된 데이터 세트의 적어도 일부를 수정하도록 하고, 상기 수행기로 하여금 상기 수정된 데이터 세트에 근거하여 상기 암호화 연산을 수행하도록 또한 구성되고,
- 상기 생성기는 상기 작업 증명을 상기 문제 인스턴스에 대한 해로서 생성하도록 또한 구성되고, 상기 데이터 세트는 상기 제 1 통신 당사자의 공개키를 포함하며,
- 상기 생성기는 상기 작업 증명을 상기 문제 인스턴스에 대한 해의 지식 증명에 근거한 디지털 서명으로서 생성하도록 또한 구성되고, 상기 작업 증명은 상기 문제 인스턴스의 해를 노출시키지 않으며, 상기 디지털 서명은 상기 데이터 세트의 전부 혹은 일부에 대해 연산되고,
- 상기 생성기는 상기 데이터 세트 내의 타임스탬프(timestamp)를 생성하도록 또한 구성된다.
본 발명의 제 6 측면에 따르면, 이 측면은, 예를 들어, 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않는 제 1 통신 당사자 및 자신과 제 2 통신 당사자 간에 신뢰성 있는 관계의 확립을 완성하는 통신 장치로서,
상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터와 함께 상기 제 1 통신 당사자로부터 상기 문제 인스턴스의 해를 구하는 것에 대하여, 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 수신하는 트랜시버와,
수신된 상기 작업 증명을 검증하도록 구성된 검증기와,
상기 검증기가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 생성하도록 구성된 생성기를 포함하며,
상기 트랜시버는 상기 생성기에 의해 상기 생성된 세션 객체를 상기 제 1 통신 당사자에게 전송하도록 또한 구성되는 통신 장치에 의해 달성된다.
본 발명의 제 7 측면에 따르면, 이 측면은, 예를 들어, 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않는 제 1 통신 당사자 및 자신과 제 2 통신 당사자 간에 신뢰성 있는 관계의 확립을 완성하는 통신 장치로서,
상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터와 함께 상기 제 1 통신 당사자로부터 상기 문제 인스턴스의 해를 구하는 것에 대하여, 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 수신하는 수단과,
수신된 상기 작업 증명을 검증하는 수단과,
상기 검증하는 수단이 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 생성하는 수단과,
상기 생성기에 의해 상기 생성된 세션 객체를 상기 제 1 통신 당사자에게 전송하는 수단을 포함하는 통신 장치에 의해 달성된다.
또 다른 유용한 개발에 따라 다음 중 하나 이상이 적용된다. 즉,
- 상기 검증기는, 상기 제 1 통신 당사자에서의 상기 암호화 연산이 근거하는 데이터 세트에 근거하여 상기 암호화 연산을 수행하고, 수신된 상기 작업 증명이 상기 암호화 연산의 수행에 대응하는지를 확인하도록 또한 구성되며,
- 상기 검증기는 타임스탬프가 유효한 것인지를 체크하도록 또한 구성되고,
- 상기 생성기는 암호화 키를 포함하는 세션 객체를 생성하도록 또한 구성되며,
- 상기 생성기는 전송되기 이전에 상기 생성된 세션 객체를 암호화하도록 구성되고,
- 상기 생성기는 상기 제 1 통신 당사자의 공개키에 근거하여 상기 세션 객체를 암호화하도록 또한 구성된다.
본 발명의 제 8 측면에 따르면, 이 측면은, 예를 들어, 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계를 확립하는 시스템으로서, (ⅰ) 본 발명의 제 4 또는 제 5 측면에 따른 제 1 통신 당사자인 적어도 하나의 제 1 통신 장치와, (ⅱ) 제 6 또는 제 7 측면에 따른 제 2 통신 당사자인 적어도 하나의 제 2 통신 장치를 포함한다.
본 발명의 제 9 측면에 따르면, 이 측면은, 예를 들어, 컴퓨터 판독 가능 매체 상에서 구현되고 통신 시스템 내 통신 장치의 디지털 프로세싱 수단의 메모리에 로드가능하며 상기 디지털 프로세싱 수단 상에서 실행되고, 본 발명의 제 1 또는 제 2 측면에 따른 단계를 수행하기 위한 소프트웨어 코드 부분을 포함하는 컴퓨터 프로그램 제품에 의해 달성된다.
본 발명의 제 10 측면에 따르면, 이 측면은, 예를 들어, 컴퓨터 판독 가능 매체 상에서 구현되고 통신 시스템 내 통신 장치의 디지털 프로세싱 수단의 메모리에 로드가능하며 상기 디지털 프로세싱 수단 상에서 실행되고, 본 발명의 제 1 또는 제 3 측면에 따른 단계를 수행하기 위한 소프트웨어 코드 부분을 포함하는 컴퓨터 프로그램 제품에 의해 달성된다.
본 발명의 실시예에 따르면, 작업 증명에 대한 2가지 기본적인 사용 경우가 존재한다. 제 1 사용 경우에서는, 지식 증명이 사용되므로, 작업 증명은 정보 은닉의 특성을 갖는다. 즉, 생성된 문제 인스턴스의 해는 작업 증명에 의해 노출되지 않고, 문제 인스턴스만이 해결될 뿐이다. 제 2 사용 경우에서는, 지식 증명 프로토콜이 사용되지 않고, 따라서 작업 증명은 정보 은닉성을 갖지 않는다. 즉, 작업 증명은 문제 인스턴스의 해를 또한 노출한다. 그러나, 이러한 경우라 하더라도, 작업 증명은 (정보 은닉성은 아니더라도) 제 1 통신 당사자에 의해 생성된 데이터 세트에 의해 정의된 그 한정된 적용성으로 인해 다른 목적으로 사용될 수 없게 됨에 따라 통신 당사자 간의 신뢰성 있는 관계가 적절하게 획립될 수 있다.
본 발명의 장점은 신뢰성 있는 제 3 자의 부재 시에 2개의 실질적으로 알려지지 않은 통신 당사자의 도입이 제공된다는 것이다.
본 발명의 실시예의 정점은 비대화적이고/이거나 정보 은닉성의 작업 증명, 즉, 실질적으로 알려지지 않은 두 통신 당사자의 도입에 대해, 그와 같이 증명을 노출하지 않는 작업 증명에 대해 제공한다는 것이다.
본 발명의 실시예의 또 다른 장점은 작업 증명에 근거하여 서명 방안의 사용 을 제공하는 것이다.
유용하게는, 본 발명의 실시예는 특정한 양의 시도가 소모되었는지에 대한 증명을 통해 아이덴티티 및 연관 데이터(가능하게는 공개키를 포함함)를 어떻게 도입할 지에 대해 실행 가능한 해결책을 제공한다. 환언하면, 몇몇 작업이 수행되었다는 증명을 이용하여 임의의 정보를 어떻게 암호적으로 서명할 지에 대한 해결책을 제공한다.
또한, 이하의 장점 모두는 제시된 해결책에 의해 달성된다. 즉,
해결된 문제점의 증거가 노출되지 않으므로 침입자는 작업 증명을 그와 같이 수행함으로써 이점을 취하지 못하고,
제시된 프로토콜은 비대화적이며 저장 및 전송 네트워크에 의해 사용될 수 있으며,
증거가 노출되지 않고(상기 내용 참조) 공개키를 포함하는 임의의 데이터를 서명하는 플랫 샤미르 발견적 방법(Flat-Schmir heuristic)을 통해 사용될 수 있어, 전송 비밀이 유지된다.
마지막으로, 본 발명과 연관된 연산 배치는 (완전하게) 파라메트릭화하여(parametrizable) 너무 과중하지 않게 되므로 실행 가능하다.
도면의 간단한 설명
이하에서, 본 발명은 첨부 도면을 참조하여 보다 상세하게 설명될 것이다.
도 1은 본 발명의 실시예에 따른 범용 프로토콜의 흐름도를 도시하고,
도 2는 본 발명의 실시예에 따른 범용 프로토콜의 다른 예시적인 표현을 도시하며,
도 3은 본 발명의 실시예에 따른 두 통신 장치의 블록도를 도시하는 도면이다.
본 발명은 본 명세서에서 특히 제한적이지 않은 예를 참조하여 기술된다. 당 분야에서 통상의 지식을 가진 자는 본 발명이 이러한 예로 제한되지 않으며 보다 폭넓게 적용될 수 있음을 이해할 것이다.
특히, 본 발명은 전반적으로 암호화 프로토콜의 분야에 관한 것으로서, 예를 들어, 인터넷 및 임의의 애드 혹 또는 센서 네트워크와 같은 제각기 아키텍처를 갖는 임의의 환경에서 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립에 관한 것이다.
본 명세서에서 제공된 실시예의 설명은 본 발명을 지지하는 기본적인 일반 개념의 특정의 구현예를 지칭하므로 본 발명은 주어진 임의의 구체적인 예로 제한되지 않는다.
일반적인 용어에서, 본 발명은 소개를 위한 암호화 프로토콜, 즉, 신뢰성 있는 제 3 자의 부재 시에 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립을 구현하는 범용 프레임워크를 제공한다.
도 1은 본 발명의 실시예에 따른 범용 프로토콜의 흐름도를 도시한다. 도시된 프로토콜에서의 통신 당사자는 증명기 P(즉, 증명 측) 및 검증기 V(검증 측)로 표시된다. 도 1에 따른 범용 프로토콜은 다음과 같다.
증명기 통신 당사자 P는 데이터 세트 A를 생성함으로써(단계 S1) 검증기 통신 당사자 V와 신뢰성 있는 관계의 확립을 개시한다. 생성된 데이터 세트 A는, 예를 들어, P에 대한 식별자, V에 대한 식별자, 및 솔트(Salt) S_1(즉, "개시 벡터", 예를 들어, 키 도출 함수에 대한 입력으로서 사용된 랜덤 비트 스트링)를 포함한다. 세트 A는 공개키 또는 공개키의 암호화 해쉬(hash), 타임스탬프 및/또는 검증기 V로 전송된 메시지와 같은 보조 데이터를 또한 포함할 수 있다.
제 2 단계 S2에서, 증명기는 암호화 연산으로서 지칭될 수 있는 연산을 수행한다. 이들은 생성된 데이터 세트 A에 근거하여 수행된다. 상술한 작업 증명의 개념의 문맥에서, 이들 연산은 기본적으로, 예를 들어, 다른 당사자에 메시지를 전송하길 원하는 당사자에 의해 행해질 "작업"이다.
본 발명에 따르면, 도 1의 단계 S2의 연산은 예시적으로 단계 S21 내지 S22로 세부 분할된다.
단계 S21에서, 증명기는 생성된 데이터 세트 A에 대해 적용되는 의사 랜덤 함수 h, 즉, s = h(A)의 결과로서 비트스트링을 연산한다. 의사 랜덤 함수는, 예를 들어, 몇몇 종류의 암호화 해쉬 함수(예를 들어, SMA1)일 수 있다. 임의의 비트스트링을 문제 인스턴스에 매핑하는 매핑 함수 m을 적용함으로써, 단계 S22에서 증명기 P는 자신에 의해 해결될 연산 문제 x, 즉, x = m(s)를 생성/도출한다. 문제 인스턴스는 평균적으로 해결하는데 (충분히) 어려워야(예를 들어, 문제점 크기의 다항식 시도를 필요로 해야) 한다. x = m(s)를 P에 의해 연산된 "어려운" 문제 인스턴스의 설명으로 가정한다.
단계 S3에서, 증명기 P는 문제 인스턴스 x를 풀어서 해 w를 구한다.
문제가 해를 갖지 않는 경우, 즉, 단계 S4에서 '아니오(No)'이면, 증명기 P는 연산의 근거가 되는 최초에 생성된 데이터 세트 A의 적어도 일부를 수정하고, 이를 위해 단계 S1로 돌아가서 단계 S2의 암호화 연산을 다시 개시하며, 단계 S3의 풀이를 한다. 예를 들면, 세트 A의 솔트 S_1이 변경될 수 있다.
단계 S4에서 '예(yes)'인 경우, 즉, 문제 인스턴스가 해 w를 갖는 경우, 프로토콜은 단계 S5로 진행하고, 여기서 증명기 P는 문제 인스턴스의 해를 구하고 이에 따른 상술한 연산의 수행을 위해 작업 증명을 생성한다. 이와 같이 생성된 작업 증명은 수반된 통신 당사자 간의 신뢰성 있는 관계의 확립으로 그 적용 가능성이 제한된다.
단계 S6에서, 증명기 P는 작업 증명 p(w) 및 입력 세트 M 및 A를 제 2 통신 당사자, 즉, 검증기 V로 전송한다.
증명기 P로부터 수신된 작업 증명 p(w)를 검증하기 위해(단계 S7), 검증기 V는 제각기 암호화 연산 m(h(A))를 수행하므로 단계 S71에서 문제 인스턴스 x를 재연산한다. 다음 단계 S72에서, 검증기 V는 작업 증명 p(w)가 세트 A로부터 도출된 문제 x에 대한 해 w의 지식에 대응한다는 것을 확인한다.
단계 S71 및 S72의 검증이 긍정적인 결과를 산출하지 않는 경우, 즉, 단계 S73에서 아니오(no)인 경우, 검증기가 프로토콜의 실행을 중단하여, 신뢰성 있는 관계가 획립되지 않는다. 이러한 경우에, P로부터 V로 전송된 메시지는 신뢰성 있는 통신 당사자로부터 전송되는 것으로 고려하지 않는다. 이는 이러한 메시지에 대해 무엇을 행하고 이러한 경우에 어떻게 진행할 지를 결정하는 (검증기 V의) 국소적인 보안 정책에 달려 있다. 단계 S73에서 예인 경우, 즉, 정확한 작업 증명으로 인해 증명기 P의 소개(P 및 V 사이의 신뢰성 있는 관계)가 채택되는 경우, 검증기 V는 단지 수행된 소개 프로토콜 없이 통신하는데 요구되는 임의의 정보를 증명기 P에 대해 생성하여 전송한다. 본질적으로, 이러한 정보는 본 명세서에서 소위 세션 객체로 표현된다. 이러한 정보 또는 세션 객체는 암호화된 형태로 P에 전송되어 세트 A 또는 M에 포함된 정보를 이용하여 또한 암호화될 수 있다. 이들 단계는 도 1에서 S8, S81 및 S82로 제각기 표시된다.
단계 S3에서 함수 w = solve(x)는 단계 S72 내지 S73에서의 확인 함수보다 연산하기가 현저하게 어려워야 한다. 그와 같은 경우가 아니면, 검증기 V는 P와 작업의 양이 대략 동일한 양을 소모해야 하므로 적은 신뢰성이 얻어지게 된다.
본 발명에 따르면, 단계 S62에서 세션 객체의 암호화는 다음과 같은 2 가지 방식으로 행해진다. 즉,
ⅰ.) 문제 인스턴스 x는 정보를 암호화하는데 사용될 수 있는 공개키를 나타내며, 이 정보는 (증명기 및 검증기에서 알려진) x에 의해 또한 복호화될 수 있다. 그러나 이것은 단계 S82에서 전송된 정보는 문제 인스턴스 x의 해를 구할 수 있는 임의의 적대 노드에 의해서도 (임의의 시간 내에) 복호화될 수 있다는 것을 의미한다.
ⅱ.) 이와 달리, 세트 M 또는 세트 A의 정보는 증명기 P의 공개키를 포함한다. 이 경우, 검증기 V는 이러한 공개키를 이용하여 정보 또는 세션 객체를 암호화하여, 이러한 공개키에 세션 객체를 결합할 수 있다.
이하에서, 본 발명의 실시예의 상술한 2개의 사용 경우가 기술된다.
세트 A의 정보가 증명기 P에 대한 작업 증명의 적용 가능성을 제한하도록 하는 경우, p(w)는 w(예를 들어, w = p(w))를 출력하는 함수일 수 있다. 이것은 세트 M 및 A가 서로 동등할 것을 요구한다. 증명기 P에 대한 작업 증명의 유용성의 결합은 세트 A의 P의 아이덴티티에 대응하는 공개키를 포함함으로써 달성될 수 있다. 이에 의해, 개별적인 지식 증명 프로토콜이 필요하지 않다. 이 경우, 해결된 문제 인스턴스의 해(즉, 소위 증거)는 작업 증명에 의해 노출된다. 그러나 작업 증명의 제한된 적용 가능성으로 인해 이것은 제안된 방법의 성능에 대해 어떠한 문제점도 부여하지 않는다.
대안적인 사용 경우에서, 지식 증명 프로토콜이 사용된다. 이 경우, 작업 증명은 해결된 문제 인스턴스를 항상 노출하나, 이러한 문제 인스턴스의 대응하는 해(즉, 증거)를 노출시키지는 않는다. 이는 검증기 V가 (항상) 작업 증명을 검증하기 위해 문제 인스턴스를 인지해야 하지만, 지식 증명이 사용되는 경우에는 검증기 V가 그 해를 알 필요가 없기 때문이다.
지식 증명 p(w)는 세트 A로부터 도출된 키 쌍을 이용하여, 특히 세트 A에 의해 정의된 증명기 P의 공개키에 의해 M에 대한 서명으로서 또한 이해될 수 있다. 서명자(즉, 증명기 P)에 의해 생성된 의사 랜덤 과제 데이터와 함께 지식 증명을 이용하는 것은 소위 플랫 샤미르 발견적 방법(Flat-Schmir heuristic)이라 불리우며 공개키 서명 방안을 생성하는데 통상 사용되어 왔다.
사용된 지식 증명 프로토콜은 입력 세트 M에 대해 플랫 샤미르 발견적 방법을 이용하는 것으로 한정된 본 발명의 실시예에 따르고 있다. 이들 입력 M은, 예를 들어, 단계 S1에서 생성된 데이터 세트 A의 임의의 멤버(members)의 조합일 수 있다. 그러나, 지식 증명 프로로콜의 의사 랜덤 함수에 의해 생성된 랜덤성이 단계 S22의 문제 인스턴스 x 또는 단계 S22의 비트스트링과 동일한 경우, 구체적인 암호화 프로토콜은 실패할 수 있다. 따라서, 이러한 오동작을 방지하기 위해 상이한 솔트 S_2가 세트 M에 포함될 수 있다.
다른 옵션으로서, 검증기는 작업 증명이 (수명의 관점에서) 충분히 "신선할(fresh)" 것을 요구할 수 있다. 그 다음에, 이는 세트 M 또는 세트 A가 타임스탬프를 포함하는 것을 검증하고 그 타임스탬프가 유효한지, 즉, 타임스탬프의 값이 이후에 존재하지 않는지, 충분히 최근에(예를 들어, 최근 1분 이내에) 만들어졌는지 및 필요한 입자성(granularity)에 의해 만들어졌는지를 체크한다.
보다 상세하고 예시적인 방식으로 기술한 상기 방법 또는 프로토콜은 이하와 같은 보다 일반적인 단계에 본질적으로 대응하는 것으로 또한 이해될 수 있다. 즉,
- 증명기 P는 그 증명기 P 및 검증기 V 사이의 세션 q를 식별하는 몇몇 세트로부터 연산적으로 어려운 문제를 도출하고,
- 이러한 문제가 해결되며,
- (선택 사양적으로) 증명기 P 및 검증기 V 사이의 세션 q에 대해 정해진 다른 메시지는 플랫 샤미르 발견적 방법 및 지식 증명을 이용하여 서명되고,
- 검증기 V는 증명기 P에 전송되는 세션 q에 근거하여 구체적인 세션 객체와 응답한다.
그 핵심에서, 기본 개념은 증명기 P 및 검증기 V 사이의 향후의 통신에서 검증기 V가 이를 채택하는 경우, 이러한 (또는 이와 유사한) 증명이 재차 행해질 필요가 없는 방식으로 작업 증명을 이용하여 증명기 P가 새로운 세션 또는 (공개키와 같은) 아이덴티티를 검증기 V에게 소개하도록 하는 것이다.
증명기 P가 문제 인스턴스 x를 해결할 수 있음에 따라 문제 인스턴스 x는 명백하게 해결 가능하나(도 1의 단계 S23 및 S24 참조), 그 자신이 문제점을 해결, 즉, 몇몇 "작업"을 행하도록 한다는 점에 또한 주목해야 한다. 시스템은 이러한 "작업"이 알려지지 않은 두 당사자의 '소개(introduction)'에 대해 얼마나 많은 시도가 서로에 대해 요구되는지에 따라 충분한 시도의 양을 구성하도록 파라메트릭화될(parameterized) 수 있다. 증명기 P 또는 반대의 노드에 의해 수행될 수 있는 사전 연산의 양은 데이터 세트 A에 어떠한 요소가 포함되도록 요구되는 지에 따라 달라진다.
도 2는 본 발명의 실시예에 따른 범용 프로토콜의 다른 예시적인 표시를 도시한다. 도 2에서, 본 실시예의 방법 또는 프로토콜의 진행이 화살표로 표시되며, 데이터 세트 A의 생성으로부터 개시하고 증명기 P에서 세션 객체의 수신에 의해 종료한다. 이와 관련하여, 각종 참여 통신 당사자에서 행해진 프로세싱은 수직적으로 배치되어, 수평적인 실선에 의해 분리되어 있다는 점에 주목애야 한다. 이것은 문자 P 및 V에서 각각 지정하고, 증명기 및 검증기를 각각 표시하는 괄호에 의해 또한 표시된다.
또한, 도 1 및 도 3의 참조 부호와 기호와 같이, 연산 및 정보의 각각을 파라미터와 같이 표시한다. 따라서, 도 2는 도 1의 부호 및 기호와 비교하여 다른 표시이며, 즉, 시간적인 진행의 관점에서라기보다는 논리적인 관점의 표시이나, 매우 유사한 방법이나 프로토콜을 도시한다. 따라서, 도 2의 상세한 설명은 생략되며 도 1의 설명에 대해 참조가 이루어진다.
보다 일반적인 관점에서 요약하여 기술하면, 본 발명은 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계를 확립하는 방법으로서,
(ⅰ) 상기 통신 당사자 중 제 1 통신 당사자에서 다음과 같은 단계를 수행하며, 즉,
상기 두 통신 당사자의 아이덴티티(identities) 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하는 단계와,
문제 인스턴스를 도출하기 위해 상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하는 단계와,
상기 도출된 문제 인스턴스의 해를 구하는 단계와,
상기 문제 인스턴스의 해를 구하는 것에 대한 작업 증명을 생성하는 단계로서, 상기 작업 증명은 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 제한되는 단계와,
상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하는 단계를 수행하며,
(ⅱ) 상기 제 2 통신 당사자에서 다음과 같은 단계를 수행하며, 즉,
상기 문제 인스턴스의 해를 구하는 것에 대한 상기 작업 증명을 검증하는 단계와,
상기 검증 단계가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 상기 제 1 통신 당사자에 대해 생성하여 전송하는 단계를 수행하는 방법을 제공한다.
이미 앞서 기술한 바와 같이, 작업 증명에 대한 2가지 기본적인 사용 경우가 존재한다. 제 1 사용 경우에서, 지식 증명이 사용되므로, 작업 증명은 정보 은닉의 특성을 갖는다. 즉, 생성된 문제 인스턴스의 해는 작업 증명에 의해 노출되지는 않고, 문제 인스턴스만이 해결될 뿐이다. 제 2 사용 경우에서, 지식 증명 프로토콜이 사용되지 않으므로, 작업 증명은 정보 은닉성을 갖지 않는다. 즉, 작업 증명은 문제 인스턴스 해를 또한 노출시킨다. 그러나, 이러한 경우라 하더라도, 작업 증명은 (정보 은닉성은 아니더라도) 제 1 통신 당사자(즉, 증명기)에 의해 생성된 데이터 세트에 의해 정의된 그 제한된 적용 가능성으로 인해 다른 목적으로 사용될 수 없게 됨에 따라 통신 당사자(즉, 증명기 및 검증기) 간의 신뢰성 있는 관계가 적절하게 획립될 수 있다. 요약하면, 지식 증명 프로토콜이 사용되거나 (문제 인스턴스의 해가 노출되지 않거나) 또는 데이터 세트 A에 증명기의 공개키기 존재해야 한다.
즉, 제 1 및 제 2 통신 당사자에서 수행된 제각기 방법의 단계, 즉, 예를 들 어, 도 1의 단계 S1 내지 S82를 포함하는 방법이 제공된다.
본 발명의 다른 측면에 따르면, 제 1 및 제 2 통신 당사자 P에서 수행된 제각기 방법의 단계, 즉, 예를 들어, 도 1의 단계 S1 내지 S6을 포함하는 방법이 제공된다.
본 발명의 다른 측면에 따르면, 제 1 및 제 2 통신 당사자 V에서 수행된 제각기 방법의 단계, 즉, 예를 들어, 도 1의 단계 S7 내지 S82를 포함하는 방법이 또한 제공된다.
본 발명의 기본 개념에 따르면, 생성된 작업 증명은 두 통신 당사자 P 및 V를 서로에 대해 소개하는 적용 가능성에서 일반화된 작업 증명이 정해져 있다. 작업 증명은 상기 문제 인스턴스에 대한 직접적인 해가 될 수 있거나 혹은 검증기 V에게 증명기 P를 소개하는 데이터 세트에 대해 플랫 샤미르 발견적 방법에 의해 사용된 해의 지식 증명에 근거한 디지털 서명일 수 있다.
이하의 섹션은 단지 요약한다면, 본 발명의 실시예를 구현하는 상세한 제 1 예로서 본 발명의 실시예에 따른 프로토콜의 구현을 기술한다. 이하의 구현예는 이산적인 로그 함수 및 공개키 암호화의 지식에 근거한 지식 증명에 기초한다. 통신 당사자는 P(증명기) 및 P(검증기)에 의해 또한 표시된다.
사용된 전역적인 파라미터 및 연산은 다음과 같이 정의된다. 즉,
- q, p가 소수가 되도록 q = 2p + 1이 정수인 것으로 가정한다.
- |<q>| = p가 되도록 q는 순환적인 다중 그룹의 생성기 모듈로 q인 것으로 가정한다. 그룹 연산은 다중 모듈로 q이다. q는 2차 방정식의 나머지 mod q이다.
- h(k, m)은 보안 해쉬 알고리즘 1(SHA)에 근거한 메시지 인증을 위한 HMAC 함수 (HMAC) 키 해싱(hashing)이라고 가정한다.
- id_P 및 id_V는 증명기 P 및 검증기 V의 아이덴티티를 나타내는 비트스트링이라고 가정한다.
- ||는 (비트스트링을 포함하는) 스트링의 연결 연산자를 표시하는 것으로 한다.
= K_P는 임의의 암호화에서 P의 공개키라고 가정한다.
따라서 구현된 프로토콜은 다음과 같다.
1. P는 비트스트링 s_1을 랜덤하게 선택한다.
2. aux는, 예를 들어, 세션을 부트스트래핑(bootstrap)하거나 또는 P로부터 V로 전송되도록 요구되는 임의의 (보조) 정보를 나타내는 비트스트링이라고 가정한다.
a. 이러한 정보(또는 메시지)가 현재의 메시지의 상부에 피기 배킹되는(piggy-backed) 경우, aux는 해당 메시지 m의 표시를 포함해야 한다.
b. 작업 증명이 "신선한" 것으로 요구되는 경우, 비트스트링 aux는 타임스탬프를 포함해야 한다.
즉, 생성된 데이터 세트 A = (id_P, id_V, K_P, s_1, aux)
3. P는 x = h(s_1, id_F ||id_V|| aux)를 연산한다.
4. P는 g를 베이스로 하는 x의 이산적인 로그 함수의 해를 구하고, 결과로서 g^w = x mod q가 되도를 w를 얻는다. 이러한 w가 존재하지 않는 경우 단계 1로 다시 진행하며 다른 s_1을 선택한다.
5. P는 비트스트링 s_2 및 s_3을 랜덤하게 선택한다.
6. P는 r = h(s_2, id_F ||id_V||K_P|| aux)를 연산한다.
7. P는 G = q^s_3 mod q를 연산한다.
8. P는 c = s_3 + r w를 연산한다.
9. P는 G, s_1, s_2, c, id_P, id_V, K_P 및 aux를 V에 전송한다.
10. V는 r = h(s_2, id_F ||id_V||K_P|| aux)를 연산한다.
11. V는 x = h(s_1, id_F ||id_V|| aux)를 연산한다.
12. V는 q^c = G x^r인지 여부를 체크한다. 그러한 경우, V는 지식 증명을 채택한다. 그렇지 않은 경우, V는 프로토콜을 중지하여 2개의 당사자의 서로에 대한 소개가 실시되지 않는다.
13. aux가 타임스탬프를 포함하는 경우, V는 타임스탬프가 유효한지, 즉, 정확한 입자성을 갖고, 충분히 쾨근의 것이며, 이후에는 존재하지 않는지 여부를 체크한다.
14. V는 세션 객체, 가능하게는 암호화 키를 포함하고, K_P를 이용하여 이를 암호화하며 이를 P에 다시 전송하는 세션 객체를 생성한다.
따라서, 구현된 프로토콜은 슈노르(Schnorr) 식별, 즉, 이산적인 로그 함수의 표준 지식 증명에 근거한다.
이하의 섹션은 단지 요약한다면, 본 발명의 실시예를 구현하는 상세한 제 2 예로서 본 발명의 실시예에 따른 프로토콜의 구현을 기술한다. 이하의 구현예는 암호화 해쉬 함수의 사전 이미지(pre-image)의 지식을 이용하여 증명기 P에 세트 A를 결합하는 것에 근거한다. 즉, 지식 증명 프로토콜은 요구되지 않으며 세트 A 및 M은 서로 동등하다.
전역적인 파라미터 및 연산은 다음과 같이 정의된다. 즉,
- h(k)는 해쉬 함수, 예를 들어, SHAl 함수인 것으로 가정한다.
- msb(n, x)는 x의 n개의 최대 유효 비트를 나타내는 것으로 가정한다.
- id_P 및 id_V는 증명기 P 및 검증기 V의 아이덴티티를 나타내는 비트스트링이라고 가정한다.
- ||는 (비트스트링을 포함하는) 스트링의 연결 연산자를 표시하는 것으로 한다.
- n은 1 및 160 사이의 정수인 것으로 가정한다.
따라서 구현된 프로토콜은 다음과 같다.
1'. aux는, 예를 들어, 세션을 부트스트랩하거나 또는 P로부터 V로 전송되도록 요구되는 임의의 (보조) 정보를 나타내는 비트스트링이라고 가정한다.
a. 이러한 정보(또는 메시지)가 현재의 메시지의 상부에 피기 배킹되는(piggy-backed) 경우, aux는 해당 메시지 m의 표시를 포함해야 한다.
b. 작업 증명이 "신선한" 것으로 요구되는 경우, 비트스트링 aux는 타임스탬프를 포함해야 한다.
즉, 생성된 데이터 세트 A = (id_P, id_V, K_P, s_1, aux)
2'. x = id_F ||id_V|| aux인 것으로 가정한다.
3'. msb(n, x) = msb(n, h(w))이 되도록 w을 연산한다.
4'. P는 A = (id_P, id_V, K_P 및 aux) 및 w를 V에 전송한다.
5'. V는 x' = id_P||id_V||K_P||aux를 수신된 A에 의해 정의된 바와 같이 연산한다.
6'. V는 msb(n, x) = msb(n, h(w))인지 여부를 체크한다.
7'. aux가 타임스탬프를 포함하는 경우, V는 타임스탬프가 유효한지, 즉, 정확한 입자성을 갖고, 충분히 쾨근의 것이며, 이후에는 존재하지 않는지 여부를 체크한다.
8'. V는 세션 객체, 가능하게는 암호화 키를 포함하고, K_P를 이용하여 이를 암호화하며 이를 P에 다시 전송하는 세션 객체를 생성한다.
도 3은 본 발명의 다른 실시예에 따른 2개의 통신 장치의 블록도를 도시한다. 이에 의해, 본 발명에 따른 시스템의 실시예가 또한 도시되어 있으나, 이러한 시스템은 3개 이상의 이러한 통신 장치를 마찬가지로 포함할 수 있다. 도 3의 화살표는 개별적인 블록 및 연산의 흐름 간의 물리적 및/또는 논리적 접속을 도시한다.
본 발명에 따르면, P로 표시된 제 1 통신 장치는 도 1 및 도 2의 증명기에 대응하며, V로 표시된 제 2 통신 장치는 도 1 및 도 2의 검증기에 대응한다.
통신 장치 P는, 그 통신 장치 자신 P 및 제 2 통신 장치 V 간의 신뢰성 있는 관계의 확립을 개시하는, 즉, 신뢰성 있는 제 3 자를 이용하지 않고 V에서 통신 장치 자신을 소개하는 것을 원한다. 본 발명에 따른 디바이스 P는 생성기 P1, 수행기 P2, 해결기 P3, 생성기 P4 및 트랜시버 P5를 포함한다.
생성기 P1은 데이터 세트 A를 생성하고(도 1의 단계 s1 참조) 이러한 세트를 수행기 P2에 전달하도록 구현된다. 그 다음에 수행기 P2는 문제 인스턴스를 도출하기 위해 증명기 P의 아이덴티티에 관해 이러한 데이터 세트에 근거하여 암호화 연산을 수행한다. 이를 위해, 수행기 P2는 이하와 같은 연산 중 하나 이상을 수행하도록 구성될 수 있다. 즉,
- 생성기에 의해 생성된 데이터 세트의 적어도 일부에 대해 의사 랜덤 함수를 수행하고(도 1의 단계 S21 참조),
- 문제 인스턴스에 의사 랜덤 함수의 결과를 매핑하는 매핑 함수를 수행한다(도 1의 단계 S22 참조).
본 발명의 다른 실시예에 따르면, 수행기 P2는 상기 연산 중 하나 이상을 수행하는 개별적인 수단, 예를 들어, 매핑 연산을 위한 매퍼를 또한 포함할 수 있다.
수행기 P2는 이러한 문제 인스턴스의 해를 구하도록 구성되는 해결기 P3에 대해 도출된 문제 인스턴스를 제공한다(도 1의 단계 s3 참조). 해결기 P4에서 연산된 문제 인스턴스의 해를 구하면, 디바이스 P의 생성기 P4는 문제 인스턴스의 해를 구하는 것에 대한 작업 증명을 생성한다(도 1의 단계 S5 참조). 도출된 문제 인스턴스에 대한 해가 이용 가능하지 않은 경우(즉, 도 1의 단계 S5에서 아니오(No)인 경우), 해결기 P3은, 예를 들어, 생성기 P1이 생성된 데이터 세트의 적어도 일부를 수정하고 이 수정된 데이터 세트에 근거하여 제각기 연산을 재개하도록 구성된다. 도 2에서, 이것은 해결기 P3으로부터 생성기 P1로의 화살표에 의해 표시된다.
그 다음에 디바이스 P의 트랜시버 P5는 작업 증명 및 연관된 정보(즉, 데이터)를 제 2 통신 장치 V에 전송한다.
통신 장치 V는 디바이스 P에 의해 개시된 신뢰성 있는 관계의 확립을 완성해야 하므로 제 2 통신 당사자로서 작용한다. 본 발명에 따른 디바이스 V는 트랜시버 V1, 검증기 V2 및 생정자 V3을 포함한다.
트랜시버 V1은 제 1 디바이스 P로부터 암호화 연산을 수행하는 작업 증명 및 서명된 정보를 먼저 수신하고 이 데이터를 검증기 V2에 전달한다. 검증기 V2는 트랜시버 V1로부터 수신된 작업 증명을 검증하기 위한 것이다(도 1의 단계 S7 참조). 이를 위해, 검증기 V2는 다음과 같은 연산 중 하나 이상을 수행하도록 구성될 수 있다. 즉,
- 제 1 통신 당사자에서의 암호화 연산이 근거하는 데이터 세트에 근거하여 암호화 연산을 수행하고,
- 수신된 작업 증명이 암호화 연산의 수행에 대응하는지를 확인하며,
- 타임스탬프가 유효한지를 체크한다.
본 발명의 다른 실시예에 따르면, 검증기는 (도 1의 단계 S71 및 S72에 상당하는) 상기 연산 중 하나 이상을 수행하도록 개별적인 수단, 예를 들어, 타임스탬프를 체크하는 체커(checker)를 또한 포함할 수 있다.
그 다음에 생성기 V3은 검증기가 긍정적인 결과를 산출하는 경우, 신뢰성 있는 관계를 위한 세션 객체와 같은 요구되는 정보를 생성한다. 이러한 경우, 생성기 V3은 생성된 세션 키를 트랜시버 V1에 전달하여 이를 제 1 통신 당사자 P에 전송하며, 이에 의해 디바이스 P의 트랜시버 P4가 이를 수신한다.
생성기는
- 암호화 키를 포함하는 세션 객체를 생성하고,
- 상기 세션 객체의 전송 이전에 생성된 세션 객체를 암호화하며,
- 상기 제 1 통신 당사자의 공개키에 근거하여 상기 세션 객체를 암호화하는 개별적인 수단을 포함하거나 또는 수행하도록 또한 구성될 수 있다.
도 3의 2개의 통신 장치 P 및 V 중 하나는, 예를 들어, 모바일이든 혹은 모바일이 아니든, 네트워크 요소 또는 단말 장비일 수 있다.
도 3에 도시된 통신 장치(및 그에 따른 그 포함된 시스템)는 첨부되는 청구 범위에서 정의된 바와 같은 신뢰성 있는 관례를 확립하는 방법에서 사용하도록 구성된다.
일반적으로, 상기한 기능 요소, 예를 들어, 본 발명에 따른 서명자 또는 검증기는 제각기 부분의 전술한 기능을 단지 수행하는 경우, 하드웨어 및/또는 소프트웨어의 임의의 알려진 수단에 의해 구현될 수 있다. 예를 들어, 디바이스 V의 검증기는 첨부되는 청구 범위에 의해 정의되는 바와 같이 임의의 데이터 프로세싱 유닛, 예를 들어, 수신된 작업 증명을 검증하도록 구성되는 마이크로프로세서에 의해 구현될 수 있다. 상기한 부분은 개별적인 기능 블록으로 또는 개별적인 디바이스에 의해 또한 실현될 수 있거나, 혹은 상기한 부분 중 하나 이상은 단일의 기능 블록으로 또는 단일 디바이스에 의해 실현될 수 있다. 따라서, 도 3의 상기 예시는 단지 예시를 위한 것이며 본 발명의 구현을 임의의 방식으로 제한하는 것은 아니다.
또한, 소프트웨어 코드 부분으로서 구현되고 피어 엔티티 중 하나에서의 프로세서를 이용하여 실행될 방법의 단계는 소프트웨어 코드 독립적이며, 예를 들어, c, c++ 및 어셈블러와 같은 임의의 알려진 혹은 향후 개발되는 프로그래밍 언어를 이용하여 특정될 수 있다. 피어 엔티티 중 하나에서 하드웨어 요소로서 구현될 방법의 단계 및/또는 디바이스 또는 수단은 하드웨어 독립적이며, 예를 들어, ASIC 구성 요소 또는 DSP 구성 요소를 이용하여, MOS, CMOS, BiCMOS, ECL, TTL 등과 같은 임의의 알려진 혹은 향후 개발되는 하드웨어 기술 또는 이들의 임의의 혼성 기술을 이용하여 구현될 수 있다. 일반적으로, 임의의 방법 단계는 본 발명의 개념을 변경하지 않고 소프트웨어로서 또는 하드웨어에 의해 구현하는데 적합하다. 디바이스 및 수단은 개별적인 디바이스로서 구현될 수 있으나, 이것은 디바이스의 기능이 유지되는 한, 시스템 전체에 걸쳐 분배되는 방식으로 구현되는 것을 배제하지 않는다. 이러한 원리 및 유사한 원리는 당 분야에서 통상의 지식을 가진 자에게 알려진 것으로 간주된다.
제안된 프로토콜 및 배치는 적어도 속도를 저하시키는 이러한 침입에 대해 적합하다 하더라도, 상기 제안된 프로토콜 및 배치는 아이덴티티가 인증되거나 혹은 활성 중간자(man-in-the-middle) 침입인 경우에도 완전한 인증을 제공하거나 신뢰도를 보증하도록 세션 객체가 사용되는 경우에 대해 설계되어 있지는 않다. 그 대신에, 본 발명의 개념은 당사자 간에 세션이 설정되도록 2개의 당사자를 소개하는데 적용 가능하다. 따라서, 본 발명은, 예를 들어, 애드 혹 및 오버레이 네트워크 또는 연산 시스템에서 기능적인 보안 문제점을 해결하는 시스템 내의 (적어도) 구성 요소로서 적용 가능하며 유용하다. 본 발명은, 예를 들어, (e-메일 또는 인스턴트 메시징(instant messaging)과 같은) 메시지 필터링 시스템 또는 애드 혹 네트워크 내의 임프린팅(imprinting) 문제점에 적용될 수 있다. 다른 적용 예는 스팸에 대처하기 위한 것으로서 인증 방안에 대해 (저 레벨의) 신뢰성을 브라우징하고 부트스트래핑하기 위한 액세스 제어이다. 또한, 본 발명은 적어도 속도를 저하시키므로 중간자 침입을 모두 방어할 수는 없다 하더라도, 적어도 어느 정도 방어하는데 적합하다.
요약하면, 본 발명은 작업 증명이 다른 경우에 대해 재사용되거나 사용될 수 없고 다른 통신이 요구되는 또 다른 작업 증명 없이 이러한 (1회) 소개에 근거할 수 있는 방식으로 알려지지 않은 두 통신 당사자를 소개하기 위한 프로토콜을 어떻게 생성할 지의 가능성을 제공한다. 즉, 본 발명은 "아무도" 다른 목적으로 재사용하지 않도록, 즉, 다른 당사자에게 공개키 또는 세션 객체를 소개하는 것과 같은 정의된 목적으로 적용 가능성이 본질적으로 제한되도록 하는 방식으로 작업 증명을 결합하는 성능을 제안한다. 이에 의해, "누군가"(예를 들어, 다른 통신 당사자와 세션을 확립하고자 시도하는 통신 당사자)가 플랫 샤미르 발견적 방법과 함께 지식 증명 프로토콜을 적용함으로써 작업 증명에 의해 정의되는 해격책을 이용하여 "무언가"(즉, 몇몇 데이터 세트)를 서명할 수 있는 것이 또한 허용된다.
환언하면, 본 발명은 신뢰성 있는 제 3 자의 사용 없이 통시 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립을 제공한다. 본 발명은 문제인스턴스의 해를 구하는 것에 대한 이러한 작업 증명을 이용하여 신뢰성 있는 관계를 확립하고 통신 당사자 간에 전달될 정보를 암호적으로 서명하도록 목적이 정해져 있는 비대화적인 작업 증명에 근거하며, 이와 함께 작업 증명을 검증하고, 검증이 긍정적인 결과를 산출하는 경우, 신뢰성 있는 관계를 위한 세션 객체를 생성한다.
본 발명이 첨부 도면에 따른 예를 참조하여 기술되었으나, 본 발명은 이에 제한되지 않는다는 것이 명확할 것이다. 그 대신에, 당 분야에서 통상의 지식을 가진 자라면 첨부되는 청구 범위에서 개시된 바와 같이 본 발명의 범위로부터 벗어나지 않고 다수의 방식으로 본 발명이 수정될 수 있음이 명백할 것이다.

Claims (32)

  1. 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계를 확립하는 방법으로서,
    (ⅰ) 상기 두 통신 당사자 중 제 1 통신 당사자에서,
    상기 두 통신 당사자의 아이덴티티(identities) 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하는 단계와,
    상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하여 문제 인스턴스(problem instance)를 도출하는 단계와,
    상기 도출된 문제 인스턴스의 해를 구하는 단계와,
    상기 문제 인스턴스의 해를 구하는 것에 대하여, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명(a proof-of-work)을 생성하는 단계와,
    상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하는 단계를 수행하며,
    (ⅱ) 상기 제 2 통신 당사자에서,
    상기 문제 인스턴스의 해를 구하는 것에 대한 상기 작업 증명을 검증(veriry)하는 단계와,
    상기 검증 단계가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 생성하여 상기 제 1 통신 당사자에게 전송하는 단계를 수행하는
    알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법.
  2. 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립을 개시하는 방법으로서, 상기 두 통신 당사자 중 제 1 통신 당사자에서 수행되는 방법에 있어서,
    상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하는 단계와,
    상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하여 문제 인스턴스를 도출하는 단계와,
    상기 도출된 문제 인스턴스의 해를 구하는 단계와,
    상기 문제 인스턴스의 해를 구하는 것에 대하여, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 생성하는 단계와,
    상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하는 단계를 포함하는
    알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계 확립의 개시 방법.
  3. 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립을 완성하는 방법으로서, 상기 두 통신 당사자 중 제 2 통신 당사자에서 수행되는 방법에 있어서,
    상기 두 통신 당사자의 아이덴티티 및 제 1 통신 당사자로부터 상기 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터와 함께 상기 제 1 통신 당사자로부터 수신되는 문제 인스턴스의 해를 구하는 것에 대하여, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 검증하는 단계와,
    상기 검증 단계가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 생성하여 상기 제 1 통신 당사자에게 전송하는 단계를 포함하는
    알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계 확립의 완성 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 작업 증명은 상기 문제 인스턴스에 대한 해이고, 상기 데이터 세트는 상기 제 1 통신 당사자의 공개키(public key)를 포함하는 방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 작업 증명은 상기 문제 인스턴스에 대한 해의 지식 증명(a proof-of-knowledge)에 근거한 디지털 서명이고, 상기 작업 증명은 상기 문제 인스턴스 해를 노출시키지 않으며, 상기 디지털 서명은 상기 데이터 세트의 전부 혹은 일부에 대해 연산되는 방법.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 암호화 연산을 수행하는 단계는 상기 생성된 데이터 세트의 적어도 일부에 대해 의사 랜덤(pseudo-random) 함수를 수행하는 단계를 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 암호화 연산을 수행하는 단계는 상기 의사 랜덤 함수의 결과를 문제 인스턴스에 매핑하는 매핑 함수를 수행하는 단계를 더 포함하는 방법.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 해를 구하는 단계가 실패하는 경우, 상기 생성된 데이터 세트의 적어도 일부를 수정하고, 상기 수정된 데이터 세트에 근거하여 상기 암호화 연산을 수행하는 단계를 더 포함하는 방법.
  9. 제 1 항 또는 제 3 항에 있어서,
    상기 작업 증명을 검증하는 단계는
    상기 제 1 통신 당사자에서의 암호화 연산의 근거가 되는 데이터 세트에 근거하여 상기 암호화 연산을 수행하는 단계와,
    수신된 상기 작업 증명이 상기 암호화 연산의 수행에 대응하는지를 확인하는 단계를 포함하는 방법.
  10. 제 1 항 또는 제 2 항에 있어서,
    상기 데이터 세트를 생성하는 단계는 상기 데이터 세트 내의 타임스탬프(timestamp)를 생성하는 단계를 더 포함하는 방법.
  11. 제 1 항 또는 제 3 항에 있어서,
    상기 작업 증명을 검증하는 단계는 타임스탬프가 유효한 것인지를 체크하는 단계를 포함하는 방법.
  12. 제 1 항 또는 제 3 항에 있어서,
    상기 세션 객체는 암호화 키를 포함하는 방법.
  13. 제 1 항 또는 제 3 항에 있어서,
    상기 생성된 세션 객체를 전송되기 전에 암호화하는 단계를 더 포함하는 방법.
  14. 제 13 항에 있어서,
    상기 세션 객체를 암호화하는 단계는 상기 생성된 데이터 세트에 포함되는 상기 제 1 통신 당사자의 공개키에 근거하여 수행되는 방법.
  15. 통신 시스템 내의 통신 장치로서, 신뢰성 있는 제 3 자를 이용하지 않고 서로 알려지지 않은 제 1 통신 당사자로서의 상기 통신 장치와 제 2 통신 당사자 간에 신뢰성 있는 관계의 확립을 개시하도록 구성된 통신 장치로서,
    상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 상기 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하도록 구성된 데이터 세트 생성기와,
    상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하여 문제 인스턴스를 도출하도록 구성된 수행기와,
    상기 도출된 문제 인스턴스의 해를 구하도록 구성된 해결기와,
    상기 문제 인스턴스의 해를 구하는 것에 대하여, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 생성하도록 구성된 작업 증명 생성기와,
    상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하고 상기 제 2 통신 당사자로부터 세션 객체를 수신하도록 구성된 트랜시버를 포함하는
    통신 장치.
  16. 삭제
  17. 제 15 항에 있어서,
    상기 수행기는 또한 상기 데이터 세트 생성기에 의해 생성된 데이터 세트의 적어도 일부에 대해 의사 랜덤(pseudo-random) 함수를 수행하도록 구성되는 통신 장치.
  18. 제 17 항에 있어서,
    상기 수행기는 또한 상기 의사 랜덤 함수의 결과를 문제 인스턴스에 매핑하는 매핑 함수를 수행하도록 구성되는 통신 장치.
  19. 제 15 항에 있어서,
    상기 해결기는 또한, 자신이 상기 문제 인스턴스의 해를 구하지 못하는 경우, 상기 데이터 세트 생성기로 하여금 상기 생성된 데이터 세트의 적어도 일부를 수정하도록 하고, 상기 수행기로 하여금 상기 수정된 데이터 세트에 근거하여 상기 암호화 연산을 수행하도록 하는 통신 장치.
  20. 제 15 항에 있어서,
    상기 작업 증명 생성기는 또한 상기 문제 인스턴스에 대한 해로서 상기 작업 증명을 생성하도록 구성되고, 상기 데이터 세트는 상기 제 1 통신 당사자의 공개키를 포함하는 통신 장치.
  21. 제 15 항에 있어서,
    상기 작업 증명 생성기는 또한 상기 작업 증명을 상기 문제 인스턴스에 대한 해의 지식 증명(proof-of-knowledge)에 근거한 디지털 서명으로서 생성하도록 구성되고, 상기 작업 증명은 상기 문제 인스턴스 해를 노출시키지 않으며, 상기 디지털 서명은 상기 데이터 세트의 전부 혹은 일부에 대해 연산되는 통신 장치.
  22. 제 15 항에 있어서,
    상기 데이터 세트 생성기는 또한 상기 데이터 세트 내의 타임스탬프를 생성하도록 구성되는 통신 장치.
  23. 통신 시스템 내의 통신 장치로서, 신뢰성 있는 제 3 자를 이용하지 않고 서로 알려지지 않은 제 1 통신 당사자 및 제 2 통신 당사자로서의 상기 통신 장치 간에 신뢰성 있는 관계의 확립을 완성하도록 구성된 통신 장치로서,
    상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터와 함께 상기 제 1 통신 당사자로부터 문제 인스턴스의 해를 구하는 것에 대한, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 수신하도록 구성된 트랜시버와,
    수신된 상기 작업 증명을 검증하도록 구성된 검증기와,
    상기 검증기가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 생성하도록 구성된 생성기를 포함하며,
    상기 트랜시버는 또한 상기 생성기에 의해 상기 생성된 세션 객체를 상기 제 1 통신 당사자에게 전송하도록 구성되는
    통신 장치.
  24. 삭제
  25. 제 23 항에 있어서,
    상기 검증기는 또한
    상기 제 1 통신 당사자에서의 암호화 연산의 근거가 되는 데이터 세트에 근거하여 상기 암호화 연산을 수행하고,
    수신된 상기 작업 증명이 상기 암호화 연산의 수행에 대응하는지를 확인하도록 구성되는 통신 장치.
  26. 제 23 항에 있어서,
    상기 검증기는 또한 타임스탬프가 유효한 것인지를 체크하도록 구성되는 통신 장치.
  27. 제 23 항에 있어서,
    상기 생성기는 또한 암호화 키를 포함하는 세션 객체를 생성하도록 구성되는 통신 장치.
  28. 제 23 항에 있어서,
    상기 생성기는 또한 상기 생성된 세션 객체의 전송 전에 상기 생성된 세션 객체를 암호화하도록 구성되는 통신 장치.
  29. 제 28 항에 있어서,
    상기 생성기는 또한 상기 제 1 통신 당사자의 공개키에 근거하여 상기 세션 객체를 암호화하도록 구성되는 통신 장치.
  30. 신뢰성 있는 제 3 자를 이용하지 않고 통신 시스템에서 서로 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계를 확립하는 시스템으로서,
    (ⅰ) 제 1 통신 당사자로서의 적어도 하나의 제 1 통신 장치로서,
    상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하도록 구성된 생성기와,
    상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하여 문제 인스턴스를 도출하도록 구성된 수행기와,
    상기 도출된 문제 인스턴스의 해를 구하도록 구성된 해결기와,
    상기 문제 인스턴스의 해를 구하는 것에 대하여, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 생성하는 제 1 생성기와,
    상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하고, 상기 제 2 통신 당사자로부터 세션 객체를 수신하도록 구성된 제 1 트랜시버를 포함하는
    제 1 통신 당사자로서의 적어도 하나의 제 1 통신 장치와,
    (ⅱ) 상기 제 2 통신 당사자로서의 적어도 하나의 제 2 통신 장치로서,
    상기 제 1 통신 당사자로부터 상기 두 통신 당사자의 아이덴티티 및 상기 제 1 통신 당사자로부터 상기 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터와 함께 상기 문제 인스턴스의 해를 구하는 것에 대하여, 상기 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 수신하도록 구성된 제 2 트랜시버와,
    수신된 상기 작업 증명을 검증하도록 구성된 검증기와,
    상기 검증기가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 생성하도록 구성된 제 2 생성기를 포함하는
    제 2 통신 당사자인 적어도 하나의 제 2 통신 장치를 포함하되,
    상기 제 2 트랜시버는 또한 상기 제 2 생성기에 의해 상기 생성된 세션 객체를 상기 제 1 통신 당사자에게 전송하도록 구성되는
    시스템.
  31. 통신 시스템 내의 통신 장치의 디지털 프로세싱 수단의 메모리에 로드가능한 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능한 기록매체로서,
    상기 프로그램은 상기 디지털 프로세싱 수단 상에서 실행될 때,
    두 통신 당사자의 아이덴티티 및 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터 세트를 생성하는 단계와,
    상기 제 1 통신 당사자의 아이덴티티에 관해 상기 생성된 데이터 세트에 근거하여 암호화 연산을 수행하여 문제 인스턴스를 도출하는 단계와,
    상기 도출된 문제 인스턴스의 해를 구하는 단계와,
    상기 문제 인스턴스의 해를 구하는 것에 대하여, 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 생성하는 단계와,
    상기 데이터 및 상기 작업 증명을 상기 제 2 통신 당사자에게 전송하는 단계
    를 수행하는 소프트웨어 코드 부분을 포함하는
    컴퓨터 판독가능한 기록매체.
  32. 통신 시스템 내의 통신 장치의 디지털 프로세싱 수단의 메모리에 로드가능한 프로그램을 포함하는 컴퓨터 판독가능한 기록매체로서,
    상기 프로그램은 상기 디지털 프로세싱 수단 상에서 실행될 때,
    두 통신 당사자의 아이덴티티 및 제 1 통신 당사자로부터 제 2 통신 당사자로 전달될 정보를 적어도 포함하는 데이터와 함께 상기 제 1 통신 당사자로부터 수신되는 문제 인스턴스의 해를 구하는 것에 대하여, 신뢰성 있는 관계를 확립하기 위한 것으로 목적이 한정된 작업 증명을 검증하는 단계와,
    상기 검증 단계가 긍정적인 결과를 산출하는 경우, 상기 신뢰성 있는 관계를 위한 세션 객체를 생성하여 상기 제 1 통신 당사자에게 전송하는 단계를 수행하는 소프트웨어 코드 부분을 포함하는
    컴퓨터 판독가능한 기록매체.
KR1020087002935A 2005-07-07 2006-05-11 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체 KR100956482B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP05014787.5 2005-07-07
EP05014787 2005-07-07
US11/237,881 US8132005B2 (en) 2005-07-07 2005-09-29 Establishment of a trusted relationship between unknown communication parties
US11/237,881 2005-09-29

Publications (2)

Publication Number Publication Date
KR20080025202A KR20080025202A (ko) 2008-03-19
KR100956482B1 true KR100956482B1 (ko) 2010-05-07

Family

ID=37619574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087002935A KR100956482B1 (ko) 2005-07-07 2006-05-11 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체

Country Status (7)

Country Link
US (1) US8132005B2 (ko)
EP (1) EP1900141B1 (ko)
JP (1) JP2008545353A (ko)
KR (1) KR100956482B1 (ko)
CN (1) CN101243643B (ko)
TW (1) TW200704097A (ko)
WO (1) WO2007007214A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321955B2 (en) * 2003-08-26 2012-11-27 Wu-Chang Feng Systems and methods for protecting against denial of service attacks
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
CN101572614B (zh) 2009-06-12 2013-12-04 阿里巴巴集团控股有限公司 一种社会化网络中处理认证请求消息的方法及装置
US9524345B1 (en) 2009-08-31 2016-12-20 Richard VanderDrift Enhancing content using linked context
US8799754B2 (en) * 2009-12-07 2014-08-05 At&T Intellectual Property I, L.P. Verification of data stream computations using third-party-supplied annotations
US9639707B1 (en) 2010-01-14 2017-05-02 Richard W. VanderDrift Secure data storage and communication for network computing
TWI459749B (zh) 2010-12-27 2014-11-01 Ind Tech Res Inst 數位資訊編碼方法、解碼方法、資訊傳播裝置及資訊管理裝置
US8880880B2 (en) * 2011-07-29 2014-11-04 Qualcomm Incorporated Facilitating access control in peer-to-peer overlay networks
US9495668B1 (en) * 2013-05-10 2016-11-15 EMC IP Holding Company LLC Computing solutions to a problem involving inversion of a one-way function
JP6283180B2 (ja) * 2013-08-08 2018-02-21 株式会社ニューフレアテクノロジー 荷電粒子ビーム描画装置及び荷電粒子ビーム描画方法
DE102014205331A1 (de) * 2014-03-21 2015-09-24 Siemens Aktiengesellschaft Sender zum Senden einer Nachricht und Empfänger zum Empfangen einer Nachricht
US10565588B2 (en) * 2015-03-12 2020-02-18 International Business Machines Corporation Cryptographic methods implementing proofs of work in systems of interconnected nodes
US9663226B2 (en) 2015-03-27 2017-05-30 Amazon Technologies, Inc. Influencing acceptance of messages in unmanned vehicles
US9930027B2 (en) 2015-03-27 2018-03-27 Amazon Technologies, Inc. Authenticated messages between unmanned vehicles
US9714088B2 (en) * 2015-03-27 2017-07-25 Amazon Technologies, Inc. Unmanned vehicle rollback
US9912655B2 (en) 2015-03-27 2018-03-06 Amazon Technologies, Inc. Unmanned vehicle message exchange
SG11201708000PA (en) 2015-03-31 2017-10-30 Nasdaq Inc Systems and methods of blockchain transaction recordation
US10015017B2 (en) * 2015-04-09 2018-07-03 Qualcomm Incorporated Proof of work based user identification system
DE102015211566B4 (de) * 2015-06-23 2017-03-16 Siemens Aktiengesellschaft Verfahren, Komponente und Computerprogrammprodukt zum Bestimmen eines abgeleiteten Schlüssels
AU2016288644A1 (en) 2015-07-02 2018-02-22 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20230125560A1 (en) * 2015-12-20 2023-04-27 Peter Lablans Cryptographic Computer Machines with Novel Switching Devices
US10262164B2 (en) * 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
GB2560587A (en) 2017-03-17 2018-09-19 Univ Oxford Innovation Ltd Secure data exchange
US10372943B1 (en) * 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
US10256974B1 (en) 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
US20190332814A1 (en) * 2018-04-27 2019-10-31 Nxp B.V. High-throughput privacy-friendly hardware assisted machine learning on edge nodes
US10715471B2 (en) * 2018-08-22 2020-07-14 Synchronoss Technologies, Inc. System and method for proof-of-work based on hash mining for reducing spam attacks
US11374771B2 (en) * 2019-03-08 2022-06-28 Ares Technologies, Inc. Methods and systems for implementing mixed protocol certificates
US12010236B2 (en) * 2019-04-24 2024-06-11 Sony Group Corporation Blockchain-based crowdsourcing
US11558195B2 (en) 2020-02-06 2023-01-17 Ford Global Technologies, Llc Proof-of-work vehicle message authentication
US11272363B2 (en) 2020-03-25 2022-03-08 Nxp B.V. Authentication method in a communication system
US11949795B2 (en) 2021-08-27 2024-04-02 Bank Of America Corporation System for tracking resources using non-fungible tokens
US11882219B2 (en) 2021-09-02 2024-01-23 Bank Of America Corporation System for dynamically tracking resources using non-fungible tokens
US11902443B2 (en) 2021-09-08 2024-02-13 Bank Of America Corporation System for linking and partitioning non-fungible tokens
US11811931B2 (en) 2021-09-15 2023-11-07 Bank Of America Corporation System for real-time assessment of authenticity of a resource using non-fungible tokens
US11902444B2 (en) 2021-10-18 2024-02-13 Bank Of America Corporation System for virtualization of non-fungible tokens
US11893587B2 (en) 2021-12-10 2024-02-06 Bank Of America Corporation System for enhanced authentication using non-fungible tokens (NFTs)
US11983529B2 (en) 2022-01-18 2024-05-14 Bank Of America Corporation System for detection and recordation of functional code logic components on a distributed development platform
US11966915B2 (en) 2022-02-03 2024-04-23 Bank Of America Corporation System for tracking and tagging communication using electronic non-fungible resources within a distributed network
US11860862B2 (en) 2022-02-09 2024-01-02 Bank Of America Corporation System for identification and recordation of base components of a resource within a virtual medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020019445A (ko) * 1999-05-25 2002-03-12 실버브룩 키아 네트워크 단말 승인 프로토콜
KR20030085121A (ko) * 2001-01-17 2003-11-03 콘텐트가드 홀딩즈 인코포레이티드 표준 렌더링엔진을 사용하는 디지털권 관리를 위한 시스템및 방법
KR20050050257A (ko) * 2003-11-25 2005-05-31 엘지엔시스(주) 데이터 통신 암호화 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK0504364T3 (da) * 1990-08-29 1998-03-16 Hughes Aircraft Co Protokol til distribueret brugerautentifikation
US5315658B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5815665A (en) * 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
US6088450A (en) * 1996-04-17 2000-07-11 Intel Corporation Authentication system based on periodic challenge/response protocol
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6073237A (en) * 1997-11-06 2000-06-06 Cybercash, Inc. Tamper resistant method and apparatus
GB9802152D0 (en) * 1998-01-30 1998-04-01 Certicom Corp Secure one way authentication communication system
US7197639B1 (en) * 1999-02-05 2007-03-27 Rsa Security Inc. Cryptographic countermeasures against connection depletion attacks
US6886102B1 (en) * 1999-07-14 2005-04-26 Symantec Corporation System and method for protecting a computer network against denial of service attacks
US7356696B1 (en) * 2000-08-01 2008-04-08 Lucent Technologies Inc. Proofs of work and bread pudding protocols
US20020157004A1 (en) * 2001-02-15 2002-10-24 Smith Ned M. Method of enforcing authorization in shared processes using electronic contracts
FR2826811B1 (fr) * 2001-06-27 2003-11-07 France Telecom Procede d'authentification cryptographique
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
GB2404126B (en) * 2002-01-17 2005-04-06 Toshiba Res Europ Ltd Data transmission links
US6944663B2 (en) * 2002-03-06 2005-09-13 Sun Microsystems, Inc. Method and apparatus for using client puzzles to protect against denial-of-service attacks
US8046832B2 (en) * 2002-06-26 2011-10-25 Microsoft Corporation Spam detector with challenges
US7069438B2 (en) * 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
US7149801B2 (en) * 2002-11-08 2006-12-12 Microsoft Corporation Memory bound functions for spam deterrence and the like
US7305705B2 (en) * 2003-06-30 2007-12-04 Microsoft Corporation Reducing network configuration complexity with transparent virtual private networks
US20050080858A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation System and method for searching a peer-to-peer network
US7600255B1 (en) * 2004-04-14 2009-10-06 Cisco Technology, Inc. Preventing network denial of service attacks using an accumulated proof-of-work approach

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020019445A (ko) * 1999-05-25 2002-03-12 실버브룩 키아 네트워크 단말 승인 프로토콜
KR20030085121A (ko) * 2001-01-17 2003-11-03 콘텐트가드 홀딩즈 인코포레이티드 표준 렌더링엔진을 사용하는 디지털권 관리를 위한 시스템및 방법
KR20050050257A (ko) * 2003-11-25 2005-05-31 엘지엔시스(주) 데이터 통신 암호화 방법

Also Published As

Publication number Publication date
US20070011453A1 (en) 2007-01-11
JP2008545353A (ja) 2008-12-11
CN101243643B (zh) 2011-02-09
WO2007007214A1 (en) 2007-01-18
US8132005B2 (en) 2012-03-06
TW200704097A (en) 2007-01-16
EP1900141B1 (en) 2013-11-20
KR20080025202A (ko) 2008-03-19
CN101243643A (zh) 2008-08-13
EP1900141A1 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
KR100956482B1 (ko) 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체
Zhang et al. Efficient and flexible password authenticated key agreement for voice over internet protocol session initiation protocol using smart card
Shikfa et al. Privacy and confidentiality in context-based and epidemic forwarding
Irshad et al. A secure authentication scheme for session initiation protocol by using ECC on the basis of the Tang and Liu scheme
CN112468490B (zh) 一种用于电网终端层设备接入的认证方法
Zhang et al. A Novel Privacy‐Preserving Authentication Protocol Using Bilinear Pairings for the VANET Environment
Mattsson et al. Mikey-ticket: Ticket-based modes of key distribution in multimedia internet keying (mikey)
Salem et al. SOS: Self‐organized secure framework for VANET
Ashraf et al. Robust and lightweight symmetric key exchange algorithm for next-generation IoE
KR101704540B1 (ko) M2m 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법
Heninger RSA, DH, and DSA in the Wild
Farash Cryptanalysis and improvement of ‘an improved authentication with key agreement scheme on elliptic curve cryptosystem for global mobility networks’
Euchner HMAC-Authenticated Diffie-Hellman for Multimedia Internet KEYing (MIKEY)
Lara-Nino et al. Key-establishment protocols for constrained cyber-physical systems
Chen et al. An anonymous authentication scheme with the enhanced security for wireless communications
WO2022135394A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
Ambareen et al. LEES: a hybrid lightweight elliptic ElGamal-Schnorr-based cryptography for secure D2D communications
Banoth et al. Asymmetric Key Cryptography
Han et al. Efficient and robust identity‐based handoff authentication for EAP‐based wireless networks
Yap et al. On the security of a lightweight authentication and encryption scheme for mobile ad hoc network
Mathews et al. QS-Auth: A Quantum-secure mutual authentication protocol based on PUF and Post-Quantum Signature for Heterogeneous Delay-Tolerant Networks
Gahlin Secure ad hoc networking
Thant et al. Authentication Protocols and Authentication on the Base of PKI and ID-Based
Chunka et al. A secure key agreement protocol for data communication in public network based on the Diffie-Hellman key agreement protocol
Rösler et al. Interoperability between messaging services secure–implementation of encryption

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
FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee