KR20120055683A - 표현들의 소유권을 유도, 통신 및/또는 검증하기 위한 방법들 및 장치 - Google Patents

표현들의 소유권을 유도, 통신 및/또는 검증하기 위한 방법들 및 장치 Download PDF

Info

Publication number
KR20120055683A
KR20120055683A KR1020127006618A KR20127006618A KR20120055683A KR 20120055683 A KR20120055683 A KR 20120055683A KR 1020127006618 A KR1020127006618 A KR 1020127006618A KR 20127006618 A KR20127006618 A KR 20127006618A KR 20120055683 A KR20120055683 A KR 20120055683A
Authority
KR
South Korea
Prior art keywords
representation
public key
communication device
communication
generated
Prior art date
Application number
KR1020127006618A
Other languages
English (en)
Other versions
KR101419406B1 (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 KR20120055683A publication Critical patent/KR20120055683A/ko
Application granted granted Critical
Publication of KR101419406B1 publication Critical patent/KR101419406B1/ko

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/081Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying self-generating credentials, e.g. instead of receiving credentials from an authority or from another peer, the credentials are generated at the entity itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

표현들의 소유권을 생성, 통신 및/또는 검증하기 위한 방법들 및 장치가 설명된다. 다양한 실시예들은 표현들이 발견 구간들에서 통신, 예를 들어, 브로드캐스트되는 무선 피어 투 피어 통신 시스템에서의 사용에 적합하다. 제1 통신 디바이스는 제1 공개 키 및 추가 입력으로부터 표현을 생성하고, 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 개인 키에 대응한다. 제1 디바이스는 발견을 위해 사용되는 통신 채널 상에서, 생성된 표현을 전송한다. 제2 통신 디바이스는 제1 디바이스로부터 전송된 표현을 수신한다. 제2 디바이스는 표현과 연관된 요청 신호를 제1 디바이스에 전송하고, 상기 제1 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 제1 디바이스로부터 수신한다. 제2 디바이스는 상기 제1 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하기 위해 서명 통신으로부터의 정보를 사용한다.

Description

표현들의 소유권을 유도, 통신 및/또는 검증하기 위한 방법들 및 장치{METHODS AND APPARATUS FOR DERIVING, COMMUNICATING AND/OR VERIFYING OWNERSHIP OF EXPRESSIONS}
다양한 실시예들은 통신에 관한 것이고, 더 구체적으로는, 표현들의 소유권의 생성, 통신, 및/또는 검증을 위해 사용될 수 있는 방법들 및 장치에 관한 것이다.
무선 통신 시스템에서, 통신 디바이스는 자신의 로컬 근처 영역(vicinity) 내의 다른 디바이스들에 대해 사용가능해질 정보, 예를 들어, 존재(presence) 정보, 식별 정보, 위치 정보, 서비스 정보, 요청들, 오퍼(offer)들 등을 통지(advertise)하기를 원할 수 있다. 정보는 다른 디바이스들이 발견하여 후속적인 동작을 취하도록 통지될 수 있다. 예를 들어, 관심 있는 항목 또는 정보에 대응하는 검출된 식별자에 기초하여, 관심 있는 발견 정보를 검출한 디바이스는 관심 있는 발견 정보를 전송한 디바이스와의 접속을 설정하도록 시도할 수 있다. 중앙화 제어(centralized control)가 결여된 무선 피어 투 피어 통신 시스템들에서, 디바이스들이 자신의 근처 영역 내의 관심 있는 다른 디바이스들의 존재를 인지할 수 있을 필요가 있으며, 이러한 목적으로 사용될 발견 채널들의 구현이 유리할 수 있다.
신뢰할 수 있는 방식으로 발견 정보를 통신할 수 있게 하는 것에 추가하여, 위조(spoofing)를 수행하는 것을 시도할 수 있는 악성 노드들로부터 보호하기 위한 메커니즘을 제공할 필요가 있다. 위의 논의에 기초하여, 발견 통신 채널 상에서 통신되는 정보에 관한 확인(confirmation)을 제공하기 위한 방법들 및 장치에 대한 필요성이 존재한다. 특히, 특정 노드가 수신된 정보, 예를 들어, 통신된 표현의 통신을 제어하였음을 또는 이 통신을 허가했음을 수신 노드가 확인하도록 하는 방식으로, 수신된 정보가 특정 노드에 대응함을 수신 디바이스가 확인하도록 하는 방법들 및 장치에 대한 필요성이 존재한다.
표현을 생성하고, 표현을 통신하고, 그리고/또는 노드가 수신된 표현의 통신을 제어 또는 허가했음을 검증하기 위한 방법들 및 장치가 기술된다. 특정 노드가 특정 표현의 통신을 제어 또는 허가했음을 검증하는 것은 때때로, 특정 노드가 표현을 소유함을 결정 또는 검증하는 것으로 지칭된다. 따라서, 다양한 실시예들에서, 표현들은, 예를 들어, 표현의 소유자들일 것으로 믿어지는 노드와의 하나 이상의 통신을 통해, 수신된 표현의 소유권이 검증되도록 하는 방식으로 통신된다. 수신된 표현의 소유자는 표현을 전송한 노드일 수 있지만, 중간 노드를 통한 재전송 또는 통신의 경우, 표현의 소유자는 표현을 송신했던 노드와는 상이할 수 있다. 다양한 설명된 방법들 및 장치는 표현들이 발견 구간들에서 통신, 예를 들어, 브로드캐스트되는 무선 피어 투 피어 통신 시스템에서의 사용에 매우 적합하다.
정보를 통신하기 위해 제1 통신 디바이스를 동작시키는 예시적인 방법은, 일부 실시예들에 따라, 제1 공개 키 및 추가 입력으로부터 표현(expression)을 생성하는 단계 ? 제1 공개 키는 제1 통신 디바이스에 알려진 개인 키에 대응함 ? ; 및 발견을 위해 사용되는 통신 채널 상에서, 생성된 표현을 전송하는 단계를 포함한다. 예시적인 제1 통신 디바이스는, 일부 실시예들에 따라, 제1 공개 키 및 추가 입력으로부터 표현을 생성하고 ? 제1 공개 키는 제1 통신 디바이스에 알려진 개인 키에 대응함 ? ; 그리고 발견을 위해 사용되는 통신 채널 상에서, 생성된 표현을 전송하도록 구성된 적어도 하나의 프로세서를 포함한다. 예시적인 제1 통신 디바이스는 적어도 하나의 프로세서에 커플링된 메모리를 더 포함한다.
표현의 소유권을 검증하기 위해 제1 통신 디바이스를 동작시키는 예시적인 방법은 표현과 연관된 제2 통신 디바이스에 신호를 전송하는 단계; 제2 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 제2 통신 디바이스로부터 수신하는 단계; 및 제2 통신 디바이스가 표현을 소유하는지의 여부를 결정하는 단계를 포함한다. 일부 이러한 실시예들에서, 제2 통신 디바이스가 표현을 소유하는지의 여부를 결정하는 단계는 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하는 단계; 및 서명 통신이 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하는 단계를 포함한다. 예시적인 제1 통신 디바이스는, 일부 실시예들에 따라, 표현과 연관된 제2 통신 디바이스에 신호를 전송하고; 제2 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 제2 통신 디바이스로부터 수신하고; 그리고 제2 통신 디바이스가 표현을 소유하는지의 여부를 결정하도록 구성된 적어도 하나의 프로세서를 포함한다. 일부 이러한 실시예들에서, 제2 통신 디바이스가 표현을 소유하는지의 여부를 결정하도록 구성되는 것은: 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하고; 그리고 서명 통신이 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하도록 구성되는 것을 포함한다. 예시적인 제1 통신 디바이스는 또한 적어도 하나의 프로세서에 커플링된 메모리를 포함한다.
다양한 실시예들이 위의 요약에서 논의되었지만, 반드시 모든 실시예들이 동일한 특징들을 포함하는 것이 아니며, 전술된 특징들 중 일부는 일부 실시예들에서 필수적이지는 않지만 바람직할 수 있다는 점이 인식되어야 한다. 다양한 실시예들의 다수의 추가 특징들, 실시예들 및 이점들은 후속하는 상세한 설명에서 논의된다.
도 1은 예시적인 실시예에 따른 예시적인 무선 통신 시스템의 도면이다.
도 2는 예시적인 실시예에 따라 제1 통신 디바이스를 동작시키는 예시적인 방법의 흐름도이다.
도 3은 예시적인 실시예에 따른, 예시적인 제1 통신 디바이스의 도면이다.
도 4는 일부 실시예들에서, 도 3에 예시된 제1 통신 디바이스에서 사용될 수 있는 모듈들의 어셈블리이다.
도 5는 예시적인 실시예에 따라 제1 통신 디바이스를 동작시키는 예시적인 방법의 흐름도이다.
도 6은 예시적인 실시예에 따른 예시적인 제1 통신 디바이스의 도면이다.
도 7은 일부 실시예들에서, 도 6에 예시된 제1 통신 디바이스에서 사용될 수 있는 모듈들의 어셈블리이다.
도 8은 일 실시예에 따라 표현의 소유권을 유도, 통신 및 검증하는 것과 관련된 일부 예시적인 시그널링 교환 및 중간 결과들을 예시하는 도면이다.
도 9는 일 실시예에 따라 표현의 소유권을 유도, 통신 및 검증하는 것과 관련된 일부 예시적인 시그널링 교환 및 중간 결과들을 예시하는 도면이며, 여기서 생성된 표현은 그룹 정보에 기초한다.
도 10은 일 실시예에 따라 표현의 소유권을 유도, 통신 및 검증하는 것과 관련된 일부 예시적인 시그널링 교환 및 중간 결과들을 예시하는 도면이며, 여기서 생성된 표현은 그룹 정보에 기초하며, 서명 통신들은 검증의 일부분으로서 2개 그룹 멤버들로부터 수신된다.
도 1은, 예시적인 실시예에 따른, 예시적인 무선 통신 시스템(100), 예를 들어, 피어 투 피어 무선 통신 시스템의 도면이다. 예시적인 무선 통신 시스템(100)은 복수의 무선 통신 디바이스들(무선 통신 디바이스 1(102), 무선 통신 디바이스 2(104), 무선 통신 디바이스 3(106), 무선 통신 디바이스 4(108), 무선 통신 디바이스 5(110), 무선 통신 디바이스 6(112), 무선 통신 디바이스 7(114),..., 무선 통신 디바이스 N(116))를 포함한다. 시스템(100)의 무선 통신 디바이스들 중 일부, 예를 들어, 디바이스 3(106) 및 디바이스 6(112)은 백홀 디바이스(120)를 통해 다른 네트워크 노드들 및/또는 인터넷에 커플링된다. 시스템(100)의 무선 통신 디바이스들 중 일부는 모바일 디바이스들, 예를 들어, 디바이스들(102, 104, 108, 110, 114, 116)이다. 또한, 예시적인 통신 시스템(100)은 무선 인터페이스 및 유선 네트워크 인터페이스 모두를 포함하는 키 서버 노드(118)를 포함한다.
무선 통신 디바이스들(102, 104, 106, 108, 110, 112, 114, 116)은 피어 투 피어 통신을 지원하고, 발견 구간들을 포함하는 피어 투 피어 타이밍 구조를 구현한다. 제1 무선 통신 디바이스, 예를 들어, 디바이스 1(102)는 공개 키 및 추가 입력을 사용하여 표현을 생성하고, 이후 발견 구간 동안 생성된 표현을 전송할 수 있으며, 때때로 전송한다. 표현은, 디바이스 식별 정보, 사용자 식별 정보, 서비스 통지, 서비스 요청, 상품 광고, 상품 요청, 오퍼(offer), 그룹 식별 정보, 위치 정보, 디바이스 성능 정보, 또는 다른 피어 투 피어 디바이스들에게 관심대상 있을 수 있는 다른 정보 중 하나를 포함하는 정보를 전달(convey)할 수 있다.
발견 구간 신호들을 모니터링할 수 있는 제2 무선 통신 디바이스, 예를 들어, 디바이스 2(104)는 전송된 표현을 수신할 수 있고, 검출된 표현의 소유권을 검증하기를 원할 수 있다. 제2 통신 디바이스는 제1 통신 디바이스에 알려진 개인 키를 사용하여 서명 통신(signed communication)을 수신한다. 제2 디바이스는 제1 통신 디바이스가 표현을 소유하는지의 여부를 결정한다. 일부 실시예들에서, 상기 결정은 수신된 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하는 것 및 수신된 서명 통신이 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하는 것을 포함한다.
수신된 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하는 것은, 일부 실시예들에서, 서명 통신에서 수신된 정보에 기초하여 테스트 값을 생성하는 것, 및 상기 테스트 값을 수신된 표현과 비교하는 것을 포함한다. 수신된 서명 통신이 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하는 것은, 일부 실시예들에서, 예를 들어, 표준 공개-개인 키 검증 방법을 사용하여 서명 검증 동작을 수행하는 것을 포함한다.
도 2는 다양한 예시적인 실시예들에 따라 정보를 통신하도록 제1 통신 디바이스를 동작시키는 예시적인 방법의 흐름도(200)이다. 동작은 제1 통신 디바이스가 파워 온(power on)되고 초기화되는 단계(202)에서 시작하여, 예를 들어, 특정 실시예에 따라 단계들(204, 206, 및 208) 중 하나로 진행한다. 단계(204)에서, 제1 통신 디바이스는 인증 기관(certificate authority)으로부터 인증서를 수신하고, 여기서 상기 인증서는 디바이스 또는 사용자 식별자 중 하나 및 개인 키를 포함한다. 단계(206)에서, 제1 통신 디바이스는 내부적으로 인증서를 생성하며, 여기서 상기 인증서는 디바이스 또는 사용자 식별자 중 하나 및 개인 키를 포함한다. 단계(208)에서, 제1 통신 디바이스는 상기 제1 통신 디바이스에 포함된 메모리로부터 상기 제1 통신 디바이스의 제조자에 의해 상기 메모리에 포함된 인증서를 리트리브(retrieve)하고, 상기 인증서는 디바이스 또는 사용자 식별자 중 하나 및 개인 키를 포함한다. 동작은 단계들 (204, 206, 및 208) 중 하나로부터 단계(210)로 진행한다.
단계(210)에서, 제1 통신 디바이스는 상기 인증서로부터 제1 공개 키를 획득한다. 동작은 단계(210)로부터 단계(212)로 진행한다. 단계(212)에서, 제1 통신 디바이스는 상기 제1 공개 키 및 추가 입력으로부터 표현을 생성하며, 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 상기 개인 키에 대응한다. 추가 입력은, 일부 실시예들에서, 난수 및 시간 종속적 입력 중 하나이다.
일부 실시예들에서, 단계(212)는 서브 단계(214)를 포함한다. 일부 실시예들에서, 단계(212)는 서브 단계(216)를 포함한다. 서브 단계(214)로 돌아가서, 서브 단계(214)에서, 제1 통신 디바이스는 단방향(one way) 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하고, 상기 해시 연산의 출력은 생성된 표현이다. 서브 단계(216)로 돌아가서, 서브 단계(216)에서, 제1 통신 디바이스는 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키, 제2 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하고, 상기 해시 연산의 출력은 상기 생성된 표현이다. 서브 단계(216)는 제1 통신 디바이스가 상기 표현을 유도하기 위해 상기 제1 공개 키 뿐만 아니라 그룹의 제2 멤버에 대응하는 상기 제2 공개 키를 사용하는 서브 단계(218)를 포함하고, 제1 공개 키가 대응하는 사용자 식별자 또는 상기 디바이스는 상기 그룹의 멤버이다.
동작은 단계(212)로부터 단계(220)로 진행한다. 단계(220)에서, 제1 통신 디바이스는 발견을 위해 사용되는 통신 채널 상에서, 생성된 표현을 전송한다. 일부 실시예들에서, 발견을 위해 사용되는 통신 채널은 피어 투 피어 통신 시스템에서 발견 시간 구간들에 대응한다. 다양한 실시예들에서, 전송은 무선 송신기를 사용하여 상기 표현을 무선으로 전송하는 것을 포함한다.
일부 실시예들에서, 해시 연산의 출력은 미리 결정된 수의 비트에 제한되며, 단계(220)는 단계(222)를 포함한다. 단계(222)에서, 제1 통신 디바이스는 상이한 피어 발견 시간 구간들에서 상기 생성된 표현의 상이한 부분들을 전송한다. 동작은 단계(220)에서 단계(224)로 진행한다. 단계(224)에서, 제1 통신 디바이스는 제2 통신 디바이스로부터의 신호, 예를 들어, 제2 통신 디바이스로부터 서명 통신에 대한 요청을 수신한다. 동작은 단계(224)로부터, 제1 통신 디바이스가 상기 개인 키를 사용하여 통신을 서명하는 단계(226)로 진행한다. 일부 실시예들에서, 상기 서명 통신은 i) 상기 공개 키 및 ii) 상기 디바이스 또는 사용자 식별자 중 적어도 하나를 포함한다. 서명 통신은, 일부 실시예들에서, 해시 정보를 더 포함하며, 상기 해시 정보는 상기 해시 연산을 수행하는데 사용되는 해시 함수 및 상기 표현을 생성하는데 사용되는 상기 해시 연산에 대한 적어도 하나의 입력을 포함한다. 다양한 실시예들에서, 서명 통신은 상기 표현을 생성하는데 사용되는 복수의 공개 키들을 포함한다. 일부 실시예들에서, 서명 통신은 상기 표현을 생성하는데 사용되는 파라미터들 각각 및 상기 표현을 생성하기 위해 사용되는 해시에 대해 사용되는 수학적 함수의 상세한 설명을 포함한다. 서명 통신은, 일부 실시예들에서, 해시 정보를 더 포함하고, 상기 해시 정보는 상기 해시 연산을 수행하기 위해 사용되는 해시 함수 및 상기 표현을 생성하는데 사용되는 상기 해시 연산에 대한 적어도 하나의 입력을 식별 또는 유도하는데 사용되는 정보를 포함한다. 이후, 단계(228)에서, 제1 통신 디바이스는 상기 제2 통신 디바이스에 서명 통신을 송신한다.
도 3은 예시적인 실시예에 따른, 예시적인 제1 통신 디바이스(300)의 도면이다. 예시적인 통신 디바이스(300)는, 예를 들어, 도 1의 무선 통신 디바이스들 중 하나이다. 예시적인 통신 디바이스(300)는, 도 2의 흐름도(200)에 따른 방법을 구현할 수 있고, 때때로 구현한다.
통신 디바이스(300)는 다양한 엘리먼트들(302, 304)이 데이터 및 정보를 교환할 수 있는 버스(309)를 통해 함께 커플링되는 프로세서(302) 및 메모리(304)를 포함한다. 통신 디바이스(300)는 도시된 바와 같이 프로세서(302)에 커플링될 수 있는 입력 모듈(306) 및 출력 모듈(308)을 더 포함한다. 그러나, 일부 실시예들에서, 입력 모듈(306) 및 출력 모듈(308)은 프로세서(302) 내부에 위치된다. 입력 모듈(306)은 입력 신호들을 수신할 수 있다. 입력 모듈(306)은 입력을 수신하기 위한 유선 또는 광학 입력 인터페이스 및/또는 무선 수신기를 포함할 수 있으며, 일부 실시예들에서는 포함한다. 출력 모듈(308)은 출력을 전송하기 위한 유선 또는 광학 출력 인터페이스 및/또는 무선 송신기를 포함할 수 있으며, 일부 실시예들에서 이들을 포함한다.
프로세서(302)는 제1 공개 키 및 출력 입력으로부터 표현을 생성하도록 구성되며, 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 개인 키에 대응한다. 프로세서(302)는 발견을 위해 사용되는 통신 채널 상에서, 생성된 표현을 전송하도록 추가로 구성된다. 일부 실시예들에서, 발견을 위해 사용되는 상기 통신 채널은 피어 투 피어 통신 시스템에서 발견 시간 구간들에 대응한다. 다양한 실시예들에서, 프로세서(302)는 상기 표현을 전송하도록 구성되는 것의 일부분으로서 상기 표현을 무선으로 전송하도록 구성된다. 추가 입력은, 일부 실시예들에서, 난수 및 시간 종속적 입력 값 중 하나이다.
일부 실시예들에서, 프로세서(302)는, 표현을 생성하도록 구성되는 것의 일부분으로서, 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하도록 구성되며, 상기 해시 연산의 출력은 상기 생성된 표현이다. 일부 실시예들에서, 상기 해시 연산의 출력은 미리 결정된 수의 비트로 제한되며, 프로세서(302)는, 생성된 표현을 전송하도록 구성되는 것의 일부분으로서, 상이한 피어 발견 시간 기간들 내에서 상기 표현의 상이한 부분을 전송하도록 구성된다.
프로세서(302)는, 일부 실시예들에서, 디바이스 또는 사용자 식별자 중 하나 및 상기 개인 키를 포함하는 인증서로부터 상기 제1 공개 키를 획득하도록 구성된다. 프로세서(302)는, 다양한 실시예들에서, 인증 기관로부터 상기 인증서를 수신하도록 추가로 구성된다. 프로세서(302)는, 일부 실시예들에서, 상기 인증서를 내부적으로 생성하도록 구성된다. 일부 실시예들에서, 상기 인증서는 상기 제1 통신 디바이스의 제조자에 의해 상기 제1 통신 디바이스 내에 포함된 메모리에 저장되며, 프로세서(302)는 메모리로부터 상기 저장된 인증서를 리트리브하도록 구성된다.
프로세서(302)는 제2 통신 디바이스로부터 신호를 수신하고; 상기 개인 키를 사용하여 통신을 서명하고; 그리고 상기 제2 통신 디바이스에 상기 서명 통신을 송신하도록 추가로 구성된다. 상기 통신은, 일부 실시예들에서, i) 상기 공개 키 및 ii) 상기 디바이스 또는 사용자 식별자 중 적어도 하나를 포함한다. 서명 통신은, 다양한 실시예들에서, 해시 정보를 더 포함하고, 상기 해시 정보는 상기 해시 연산을 수행하는데 사용되는 해시 함수 및 상기 표현을 생성하는데 사용되는 상기 해시 연산에 대한 적어도 하나의 입력을 포함한다.
일부 실시예들에서, 제1 공개 키가 대응하는 상기 디바이스 또는 사용자 식별자는 그룹의 멤버이고; 그리고 프로세서(302)는, 표현을 생성하도록 구성되는 것의 일부분으로서, 상기 표현을 유도하기 위해 상기 제1 공개 키 뿐만 아니라 상기 그룹의 제2 멤버에 대응하는 제2 공개 키를 사용하도록 구성된다. 일부 이러한 실시예들에서, 프로세서(302)는, 표현을 생성하도록 구성되는 것의 일부분으로서, 단방향 해시 연산에 대한 입력들로서 상기 제1 및 제2 공개 키들 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하도록 구성되고, 상기 해시 연산의 출력은 상기 생성된 표현이다.
도 4는 도 3에 예시된 제1 통신 디바이스(300)에 사용될 수 있고 일부 실시예들에서는 사용되는 모듈들의 어셈블리(400)이다. 어셈블리(400) 내의 모듈들은 도 3의 프로세서(302) 내의 하드웨어에서, 예를 들어, 개별 회로들로서 구현될 수 있다. 대안적으로, 모듈들은 소프트웨어로 구현될 수 있고 도 3에 도시된 제1 통신 디바이스(300)의 메모리(304)에 저장될 수 있다. 도 3의 실시예에서 단일 프로세서, 예를 들어, 컴퓨터로서 도시되지만, 프로세서(302)가 하나 이상의 프로세서들, 예를 들어, 컴퓨터들로서 구현될 수 있다는 점이 인식되어야 한다. 소프트웨어로 구현되는 경우, 모듈들은, 프로세서에 의해 실행될 때, 모듈에 대응하는 기능을 구현하도록 프로세서(302), 예를 들어, 컴퓨터를 구성하는 코드를 포함한다. 일부 실시예들에서, 프로세서(302)는 모듈들의 어셈블리(400)의 모듈들 각각을 구현하도록 구성된다. 모듈들의 어셈블리(400)가 메모리(304)에 저장되는 실시예들에서, 메모리(304)는 적어도 하나의 컴퓨터, 예를 들어, 프로세서(302)로 하여금 모듈들이 대응하는 기능들을 구현하게 하기 위한 코드, 예를 들어, 각각의 모듈에 대한 개별 코드를 포함하는 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건이다.
전적으로 하드웨어 기반의 또는 전적으로 소프트웨어 기반의 모듈들이 사용될 수 있다. 그러나, 소프트웨어 및 하드웨어(예를 들어, 회로 구현) 모듈들의 임의의 조합이 기능들을 구현하기 위해 사용될 수 있다는 점이 인식되어야 한다. 인식되어야 하는 바와 같이, 도 4에 예시된 모듈들은 도 2의 방법 흐름도(200)에 예시된 대응하는 단계들의 기능들을 수행하도록, 제1 통신 디바이스들(300) 또는 프로세서(302)와 같은 그 내부의 엘리먼트들을 제어 및/또는 구성한다.
모듈들의 어셈블리(400)는 모듈들(404, 406 및 408) 중 하나 이상을 포함한다. 모듈(404)은 인증 기관으로부터 인증서를 수신하기 위한 모듈이며, 상기 인증서는 디바이스 또는 사용자 식별자 중 하나 및 개인 키를 포함한다. 모듈(406)은 인증서를 내부적으로 생성하기 위한 모듈이며, 상기 인증서는 디바이스 또는 사용자 식별자 중 하나 및 개인 키를 포함한다. 모듈(408)은 상기 제1 통신 디바이스에 포함되는 메모리로부터, 상기 제1 통신 디바이스의 제조자에 의해 상기 메모리에 포함된 인증서를 리트리브하기 위한 모듈이며, 상기 인증서는 디바이스 또는 사용자 식별자 중 하나 및 개인 키를 포함한다.
모듈들의 어셈블리(400)는 상기 인증서로부터 제1 공개 키를 획득하기 위한 모듈(410), 상기 제1 공개 키 및 추가 입력으로부터 표현을 생성하기 위한 모듈(412) ? 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 상기 개인 키에 대응함 ?, 및 발견을 위해 사용되는 통신 채널 상에서, 생성된 표현을 전송하기 위한 모듈(420)을 더 포함한다. 일부 실시예들에서, 추가 입력은 난수 및 시간 종속적 입력 값 중 하나이다. 다양한 실시예들에서, 발견을 위해 사용되는 통신 채널은 피어 투 피어 통신 시스템에서 발견 시간 구간들에 대응한다.
일부 실시예들에서, 모듈(412)은 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하기 위한 모듈(414)을 포함하고, 상기 해시 연산의 출력은 생성된 표현이다. 다양한 실시예들에서, 모듈들의 어셈블리(412)는 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키, 제2 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하기 위한 모듈(416)을 포함하며, 단방향 해시 연산의 출력은 상기 생성된 표현이다. 일부 실시예들에서, 모듈(416)은 상기 표현을 유도하기 위해 상기 제1 공개 키 뿐만 아니라 그룹의 제2 멤버에 대응하는 제2 공개 키를 사용하기 위한 모듈(418)을 포함하며, 제1 공개 키가 대응하는 상기 디바이스 또는 사용자 식별자는 상기 그룹의 멤버이다.
다양한 실시예들에서, 모듈(420)은 상기 표현을 무선으로 전송하기 위한 모듈(421)을 포함한다. 모듈(420)은, 일부 실시예들에서, 상이한 피어 발견 시간 기간들 내에서 상기 생성된 표현의 상이한 부분들을 전송하기 위한 모듈(422)을 포함한다. 일부 이러한 실시예들에서, 해시 연산의 출력은 미리 결정된 수의 비트로 제한된다.
모듈들의 어셈블리(400)는 제2 통신 디바이스로부터 신호를 수신하기 위한 모듈(424), 상기 개인 키를 사용하여 통신을 서명하기 위한 모듈(426), 및 상기 제2 통신 디바이스에 서명 통신을 송신하기 위한 모듈(428)을 더 포함한다. 다양한 실시예들에서, 통신은 i) 상기 공개 키 및 ii) 상기 디바이스 또는 사용자 식별자 중 적어도 하나를 포함한다. 일부 실시예들에서, 서명 통신들은 해시 정보를 더 포함하며, 상기 해시 정보는 해시 함수 및 표현을 생성하기 위해 사용되는 해시 연산에 대한 적어도 하나의 입력을 포함한다. 일부 실시예들에서, 서명 통신들은 해시 정보를 더 포함하며, 상기 해시 정보는 해시 함수를 식별 또는 유도하기 위해 사용되는 정보 및 표현을 생성하는데 사용되는 해시 연산에 대한 적어도 하나의 입력을 포함한다.
도 5는 표현의 소유권을 검증하기 위해 제1 통신 디바이스를 동작시키는 예시적인 방법의 흐름도(500)이다. 연산은 제1 통신 디바이스가 파워 온 되고 초기화되는 단계(502)에서 시작하여 단계(504)로 진행한다. 단계(504)에서, 제1 통신 디바이스는 제2 통신 디바이스로부터 상기 표현을 수신한다. 일부 실시예들에서, 단계(504)는 제1 통신 디바이스가 상이한 피어 발견 시간 기간들에서 상기 표현의 상이한 부분들을 수신하는 서브 단계(506)를 포함한다. 일부 이러한 실시예들에서, 해시 표현의 출력은 미리 결정된 수의 비트들에 제한된다. 연산은 단계(504)로부터 단계(508)로 진행한다.
단계(508)에서, 제1 통신 디바이스는 신호, 예를 들어, 서명 통신에 대한 요청을, 표현과 연관된 제2 통신 디바이스에 전송한다. 연산은 단계(508)로부터 단계(510)로 진행한다. 단계(510)에서, 제1 통신 디바이스는 상기 제2 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 상기 제2 통신 디바이스로부터 수신한다. 일부 실시예들에서, 개인 키에 대응하는 제1 공개 키는 서명 통신에 포함된다. 다양한 실시예들에서, 서명 통신은 테스트 값을 생성하기 위해 사용될 복수의 공개 키들을 포함한다. 다양한 실시예들에서, 서명 통신은, 해시 정보를 포함하며, 상기 해시 정보는 테스트 값을 생성하기 위해 사용될 단방향 해시 함수를 표시한다. 다양한 실시예들에서, 서명 통신은, 해시 정보를 포함하며, 상기 해시 정보는 테스트 값을 생성하기 위해 사용될 단방향 해시 함수를 식별 또는 유도하기 위해 사용되는 정보를 표시한다. 일부 실시예들에서, 서명 통신은 테스트 값을 생성하는데 사용되는 파라미터들 각각 뿐만 아니라 테스트 값을 생성하기 위해 사용되는 해시에 대해 사용되는 수학적 함수의 상세한 설명을 포함한다.
일부 실시예들에서, 동작은 단계(510)로부터 단계(512)로 진행하지만, 다른 실시예들에서, 동작은 단계(510)에서 단계(514)로 진행한다. 단계(512)로 돌아가면, 단계(512)에서, 제1 통신 디바이스는 상기 제1 공개 키를 리트리브하기 위해 상기 서명 통신에 포함된 식별자를 사용하며, 상기 식별자는 디바이스 및 사용자 식별자 중 하나이다. 다양한 실시예들에서, 제1 공개 키는 제1 통신 디바이스의 메모리로부터 리트리브된다. 일부 실시예들에서, 제1 공개 키는 또다른 소스, 예를 들어, 공개 키 서버로부터 리트리브된다. 동작은 단계(512)로부터 단계(514)로 진행한다.
단계(514)에서, 제1 통신 디바이스는 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정한다. 단계(514)는 단계(516) 및 단계(528)를 포함한다. 단계(516)에서, 제1 통신 디바이스는 상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정한다. 단계(516)는 단계들(518 및 526)을 포함한다. 단계(518)에서, 제1 통신 디바이스는 상기 제1 공개 키 및 추가 입력으로부터 테스트 값을 생성하고, 상기 추가 입력은 난수 및 시간 종속적 입력 중 하나이다.
일부 실시예들에서, 단계(518)는 단계(520 및 522) 중 하나를 포함한다. 단계(520)에서, 제1 통신 디바이스는 단방향 해시 연산의 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하고, 해시 연산의 출력은 상기 테스트 값이다. 단계(522)에서, 제1 통신 디바이스는 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키, 제2 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하고, 단방향 해시 연산의 출력은 상기 테스트 값이다. 단계(522)는 단계(524)를 포함하며, 단계(524)에서 제 1 통신 디바이스는 상기 테스트 값을 생성하기 위해 상기 제1 공개 키 뿐만 아니라 그룹의 제2 멤버에 대응하는 상기 제2 공개 키를 사용하며, 제1 공개 키가 대응하는 사용자 식별자의 디바이스는 상기 그룹의 멤버이다.
동작은 단계(518)로부터 제1 통신 디바이스가 테스트 값과 상기 표현이 매치하는지의 여부를 결정하기 위해 상기 테스트 값과 상기 표현을 비교하는 단계 (526)로 진행하며, 매치는 상기 표현이 상기 제1 공개 키를 사용하여 생성되었음을 표시한다. 동작은 단계(516)로부터 단계(528)로 진행한다. 단계(528)에서, 제1 통신 디바이스는 서명 통신이 상기 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하기 위한 동작을 수행하는데, 예를 들어, 제1 통신 디바이스는 표준 공개-개인 키 검증 방법을 사용하여 서명 검증을 수행한다.
제2 통신 디바이스가 상기 그룹의 멤버인 일부 실시예들에서, 예시적인 방법은 제1 통신 디바이스가 상기 그룹의 제2 멤버에 신호를 전송하는 단계, 및 제 1 통신 디바이스에서, 그룹의 제2 멤버에게 알려진 제2 개인 키, 예를 들어, 제2 공개 키에 대응하는 제2 개인 키를 사용하여 서명된 제2 서명 통신을 상기 그룹의 제2 멤버로부터 수신하는 단계를 포함할 수 있으며, 때때로 포함한다. 일부 이러한 실시예들에서, 테스트 값은 서명 통신 및 제2 서명 통신 모두로부터 복원되는 정보를 사용하여 생성된다. 일부 실시예들에서, 다수의 테스트 값들, 예를 들어, 제2 통신 디바이스로부터의 서명 통신으로부터 복원된 정보를 사용하는 제1 테스트 값 및 상기 그룹의 제2 멤버로부터의 제2 서명 통신으로부터 복원된 정보를 사용하는 제2 테스트 값이 생성되어 수신된 표현에 대해 테스트된다. 제2 서명 통신이 상기 그룹의 제2 멤버로부터 수신되는 다양한 실시예들에서, 제1 통신 디바이스는 또한 제2 서명 통신이 제2 공개 키에 대응하는 제2 개인 키에 의해 생성되었음을 검증하기 위한 동작을 수행한다.
도 6은 예시적인 실시예에 따른, 예시적인 제1 통신 디바이스(600)의 도면이다. 예시적인 통신 디바이스(600)는, 예를 들어, 도 1의 무선 통신 디바이스들 중 하나이다. 예시적인 통신 디바이스(600)는 도 4의 흐름도(400)에 따른 방법을 구현할 수 있으며, 때때로 구현한다.
통신 디바이스(600)는 다양한 엘리먼트들(602, 604)이 데이터 및 정보를 교환할 수 있는 버스(609)를 통해 함께 커플링되는 프로세서(602) 및 메모리(604)를 포함한다. 통신 디바이스(600)는 도시된 바와 같이 프로세서(602)에 커플링될 수 있는 입력 모듈(606) 및 출력 모듈(608)을 더 포함한다. 그러나, 일부 실시예들에서, 입력 모듈(606) 및 출력 모듈(608)은 프로세서(602)의 내부에 위치된다. 입력 모듈(606)은 입력 신호들을 수신할 수 있다. 입력 모듈(606)은 입력을 수신하기 위한 유선 또는 광학 입력 인터페이스 및/또는 무선 수신기를 포함할 수 있으며, 일부 실시예들에서는 포함한다. 출력 모듈(608)은, 출력을 전송하기 위한 유선 또는 광학 출력 인터페이스 및/또는 무선 송신기를 포함할 수 있으며, 일부 실시예들에서 이들을 포함한다.
프로세서(602)는 표현과 연관된 제2 통신 디바이스에 신호를 전송하고, 상기 제2 통신 디바이스에게 알려진 개인 키를 사용하여 서명된 서명 통신을 제2 통신 디바이스로부터 수신하고, 상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하도록 구성된다. 프로세서(602)는, 상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하도록 구성되는 것의 일부분으로서, 상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하고, 서명 통신이 상기 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하도록 구성된다.
프로세서(602)는, 상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하도록 구성되는 것의 일부분으로서, 상기 제1 공개 키 및 추가 입력으로부터 테스트 값을 생성하고 ? 상기 추가 입력이 난수 및 시간 종속적 입력 값 중 하나임 ?; 그리고 테스트 값과 상기 표현이 매치하는지의 여부를 결정하기 위해 테스트 값을 상기 표현과 비교하도록 추가로 구성되며, 매치는 상기 표현이 상기 제1 공개 키를 사용하여 생성되었음을 표시한다.
일부 실시예들에서, 상기 제1 공개 키는 상기 서명 통신에 포함될 수 있으며, 때때로 포함하며, 프로세서(602)는 서명 통신으로부터 제1 공개 키를 복원하도록 추가로 구성된다. 프로세서(602)는, 일부 실시예들에서, 예를 들어, 공개 키 서버와 같은 다른 소스 또는 메모리로부터, 상기 제1 공개 키를 리트리브하기 위해 상기 서명 통신에 포함된 식별자를 사용하도록 추가로 구성되고, 상기 식별자는 디바이스 및 사용자 식별자 중 하나이다.
일부 실시예들에서, 프로세서(602)는, 상기 테스트 값을 생성하도록 구성되는 것의 일부로서, 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하도록 추가로 구성되고, 상기 해시 연산의 출력은 상기 테스트 값이다. 다양한 실시예들에서, 상기 해시 연산의 출력은 미리 결정된 수의 비트들로 제한되고, 프로세서(602)는, 표현을 수신하도록 구성되는 것의 일부분으로서, 상이한 피어 발견 시간 기간들에서 상기 표현의 상이한 부분들을 수신하도록 추가로 구성된다.
일부 실시예들에서, 상기 서명 통신은 해시 정보를 더 포함하고, 상기 해시 정보는 상기 테스트 값을 생성하기 위해 사용될 단방향 해시 함수를 표시한다. 일부 이러한 실시예들에서, 프로세서(602)는 서명 통신으로부터 해시 정보를 복원시키도록 구성된다.
일부 실시예들에서, 제1 공개 키가 대응하는 디바이스 또는 사용자 식별자는 그룹의 멤버일 수 있고, 때때로 그룹의 멤버이며, 프로세서(602)는, 테스트 값을 생성하도록 구성되는 것의 일부분으로서, 상기 테스트 값을 생성하기 위해 상기 제1 공개 키 뿐만 아니라 상기 그룹의 제2 멤버에 대응하는 제2 공개 키를 사용하도록 구성된다. 일부 이러한 실시예들에서, 프로세서(602)는, 테스트 값을 생성하도록 구성되는 것의 일부분으로서, 단방향 해시 연산에 대한 입력들로서 상기 제1 및 제2 공개 키들 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하도록 구성되며, 상기 해시 연산의 출력은 상기 테스트 값이다.
도 7은 도 6에 예시된 제1 통신 디바이스(600)에서 사용될 수 있고, 일부 실시예들에서는 사용되는, 모듈들의 어셈블리(700)이다. 어셈블리(700) 내의 모듈들은 도 6의 프로세서(602) 내의 하드웨어에서, 예를 들어, 개별 회로들로서 구현될 수 있다. 대안적으로, 모듈들은 소프트웨어로 구현될 수 있고, 도 6에 도시된 제1 통신 디바이스(600)의 메모리(604)에 저장될 수 있다. 도 6의 실시예에서 단일 프로세서, 예를 들어, 컴퓨터로서 도시되지만, 프로세서(602)가 하나 이상의 프로세서들, 예를 들어, 컴퓨터들로서 구현될 수 있다는 점이 인식되어야 한다. 소프트웨어로 구현되는 경우, 모듈들은, 프로세서에 의해 실행될 때, 모듈에 대응하는 기능을 구현하도록 프로세서(602), 예를 들어, 컴퓨터를 구성하는 코드를 포함한다. 일부 실시예들에서, 프로세서(602)는 모듈들의 어셈블리(700)의 모듈들 각각을 구현하도록 구성된다. 모듈들의 어셈블리(700)가 메모리(604)에 저장되는 실시예들에서, 메모리(604)는 적어도 하나의 컴퓨터, 예를 들어, 프로세서(602)로 하여금, 모듈들이 대응하는 기능들을 구현하게 하기 위한 코드, 예를 들어, 각각의 모듈에 대한 개별 코드를 포함하는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물건이다.
전적으로 하드웨어 기반의 또는 전적으로 소프트웨어 기반의 모듈들이 사용될 수 있다. 그러나, 소프트웨어 및 하드웨어(예를 들어, 회로 구현된) 모듈들의 임의의 조합이 기능들을 구현하기 위해 사용될 수 있다는 점이 인식되어야 한다. 인식되어야 하는 바와 같이, 도 7에 예시된 모듈들은, 도 5의 방법 흐름도(500)에 예시된 대응하는 단계들의 기능들을 수행하기 위해 제1 통신 디바이스(600) 또는 프로세서(602)와 같은 그 내부의 엘리먼트들을 제어 및/또는 구성한다.
모듈들의 어셈블리(700)는 제2 통신 디바이스로부터 상기 표현을 수신하기 위한 모듈(704), 표현과 연관된 제2 통신 디바이스에 신호, 예를 들어, 서명 통신에 대한 요청을 전송하기 위한 모듈(708), 상기 제2 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 제2 통신 디바이스로부터 수신하기 위한 모듈(710), 및 상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하기 위한 모듈(714)을 포함한다. 다양한 실시예들에서, 제1 개인 키에 대응하는 제1 공개 키는 모듈(710)에 의해 수신되는 서명 통신에 포함된다. 일부 실시예들에서, 모듈(710)에 의해 수신된 서명 통신은 해시 정보를 포함하고, 상기 해시 정보는 테스트 값을 생성하는데 사용될 단방향 해시 함수를 표시한다.
일부 실시예들에서, 모듈들의 어셈블리(700)는 제1 공개 키를, 예를 들어, 공개 키 서버와 같은 또다른 소스 또는 메모리로부터 리트리브하기 위해 상기 신호 통신에 포함된 식별자를 사용하기 위한 모듈(712)을 더 포함하며, 상기 식별자는 디바이스 및 사용자 식별자 중 하나이다.
일부 실시예들에서, 모듈(704)은 상이한 피어 발견 시간 기간들에서 상기 표현의 상이한 부분들을 수신하기 위한 모듈(706)을 포함한다. 일부 실시예들에서, 해시 연산의 출력은 미리 결정된 수의 비트로 제한되며, 모듈(706)은 상이한 피어 발견 시간 기간들에서 상기 표현의 상이한 부분들을 수신한다.
모듈(714)은 상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하기 위한 모듈(716) 및 서명 통신이 상기 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하기 위한 동작을 수행하기 위한 모듈(728)을 포함한다. 모듈(716)은 상기 제1 공개 키 및 추가 입력으로부터 테스트 값을 생성하기 위한 모듈(718) ? 상기 추가 입력은 난수 및 시간 종속 변수 중 하나임 ?, 및 테스트 값과 상기 표현이 매치하는지의 여부를 결정하기 위해 테스트 값을 상기 표현과 비교하기 위한 모듈(726)을 포함하고, 매치는 상기 표현이 상기 제1 공개 키를 사용하여 생성되었음을 표시한다.
일부 실시예들에서, 모듈(718)은 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하기 위한 모듈(720) ? 상기 해시 연산의 출력은 상기 테스트 값임 ? 및 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키, 제2 공개 키 및 상기 추가 입력을 사용하여 단방향 해시 연산을 수행하기 위한 모듈(722) 중 하나 이상을 포함하며, 단방향 해시 연산의 출력은 상기 테스트 값이다. 모듈(722)은 상기 테스트 값을 생성하기 위해 상기 제1 공개 키 뿐만 아니라 그룹의 제2 멤버에 대응하는 상기 제2 공개 키를 사용하기 위한 모듈(724)을 포함하며, 제1 공개 키가 대응하는 디바이스 또는 사용자 식별자는 상기 그룹의 멤버이다.
일부 실시예들에서, 모듈들의 어셈블리(700)는 상기 그룹의 제2 멤버에 신호, 예를 들어, 서명 통신에 대한 요청을 전송하기 위한 모듈(730), 및 그룹의 제2 멤버에 알려진 제2 개인 키를 사용하여 서명된 제2 서명 통신을 상기 그룹의 제2 멤버로부터 수신하기 위한 모듈(732)을 더 포함한다. 그룹의 제2 멤버에게 알려진 제2 개인 키는, 예를 들어, 제2 공개 키에 대응하는 개인 키이다. 일부 이러한 실시예들에서, 모듈(714)은 수신된 표현과 비교하기 위한 테스트 값을 생성할 시에 상기 제1 서명 통신들 및 상기 제2 서명 통신 모두로부터 복원되는 정보를 사용한다. 다양한 실시예들에서, 상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하기 위한 모듈(714)은 제2 서명 통신이 제2 공개 키에 대응하는 제2 개인 키에 의해 생성되었음을 검증하기 위한 동작을 수행하기 위한 모듈(734)을 더 포함한다.
도 8은 일 실시예에 따라, 표현의 소유권을 생성, 통신 및 검증하는 것에 관한 일부 예시적인 시그널링 교환 및 중간 결과들을 예시하는 도면(800)이다. 도면(800)은 2개의 예시적인 무선 피어 투 피어 통신 디바이스들(디바이스 A(802), 디바이스 B(804))를 예시한다. 디바이스들(802, 804)은 예를 들어, 도 1의 시스템(100)의 무선 통신 디바이스들 중 임의의 디바이스이다. 디바이스들(802, 804)은 도 2의 흐름도(200) 및/또는 도 5의 흐름도(500)에 따라 하나 이상의 방법들을 구현할 수 있다. 디바이스들(802, 804)은 도 3, 도 4, 도 6 및/또는 도 7에 기술된 엘리먼트들 중 하나 이상에 따라 구현될 수 있다.
디바이스 A(802)는 공개 키(PKA), 대응하는 개인 키 A 및 식별 정보를 포함하는 인증서(806)를 포함한다. 식별 정보는, 예를 들어, 디바이스 또는 사용자 식별자 중 하나이다. 디바이스 A(802)는 발견 정보를 전송하기를 원하며, 따라서, 디바이스 A(802)는 표현(812)을 생성한다. 표현은 공개 키 PKA(808) 및 추가 입력의 함수로서 디바이스 A(802)에 의해 생성된다. 일부 실시예들에서, 표현을 생성하는 것은 단방향 해시 연산에 대한 추가 입력 및 PKA을 사용하여 단방향 해시 연산을 수행하는 것을 포함하고, 단방향 해시 연산의 출력은 생성된 표현이다. 디바이스 A(802)는 생성된 표현(812)을 전달하기 위해 발견 신호(814)를 생성한다. 디바이스 A(802)는 구현되는 피어 투 피어 반복 타이밍-주파수 구조의 무선 링크 자원들에서 발견 통신 채널(816)을 통해 자신의 발견 신호(814)를 전송한다. 다른 디바이스들로부터 발견 신호들을 모니터링하는 디바이스 B(804)는 화살표(818)로 표시되는 바와 같은 디바이스 A 발견 신호를 검출한다. 디바이스 B(804)는 블록(820)에 의해 표시된 바와 같이 검출된 표현을 복원시킨다.
디바이스 B(804)는 디바이스 A(802)가 표현의 소유권을 가짐을 검증하기를 원한다. 디바이스 B(804)는 서명 통신에 대한 요청(822)을 생성하고, 비-발견 제어 채널(826)을 통해 디바이스 A(802)에 요청 신호(824)를 전송한다. 일부 실시예들에서, 비-발견 제어 채널(826)은 페이징 채널, 링크 설정 채널, 및 사후(post) 링크 설정 제어 채널 중 하나이다. 디바이스 A(802)는 화살표(828)에 의해 표시되는 바와 같이 요청 신호를 수신하고, 블록(830)에 의해 수신된 바와 같이 서명 통신에 대한 수신된 요청을 복원시킨다. 그 응답으로, 디바이스 A(802)는 입력들로서 해시 정보(834), PKA(808) 및 ID 정보(838) 중 하나 이상을 사용하여 통신(832)을 생성한다. ID 정보(838)는, 예를 들어, 디바이스 및/또는 사용자 식별자이다. 해시 정보(834)는, 예를 들어, 생성된 표현(812)을 생성하기 위해 사용되는 해시 연산을 수행하는데 사용되는 해시 함수 및 표현(812)을 생성하기 위해 사용되는 적어도 하나의 입력을 포함하는 정보를 포함한다. 또다른 예로서, 해시 정보(834)는 예를 들어, 생성된 표현(812)을 생성하기 위해 사용되는 해시 연산을 수행하는데 사용되는 해시 함수 및 표현(812)을 생성하는데 사용되는 적어도 하나의 입력을 식별하는데 사용되는 정보를 포함한다.
이후, 디바이스 A(802)는 자신의 개인 키 A(840)를 사용하여 생성된 통신(832)을 서명하여 서명 통신(842)을 생성한다. 디바이스 A(802)는 생성된 서명 통신을 전달하는 신호(844)를 생성하여 비-발견 제어 채널(846)을 통해 전송한다. 일부 실시예들에서, 비-발견 제어 채널(846)은, 페이징 응답 채널, 링크 설정 채널, 및 사후(post) 링크 설정 제어 채널 중 하나이다. 디바이스 B(804)는 수신된 신호(848)에 의해 표시되는 바와 같이 서명 통신을 전달하는 신호를 수신한다. 디바이스 B(804)는 블록(850)에 의해 표시되는 바와 같은 수신된 서명 통신을 복원한다. 디바이스 B(804)는 블록(852)에 의해 표시되는 바와 같이 테스트 값을 생성하기 위해, 수신된 서명 통신에 의해 전달되는 정보를 사용한다. 생성된 테스트 값은 검출된 표현(820)과 비교되며, 비교 매칭 결과(854)가 획득된다. 이러한 경우, 디바이스 A(802)는 전송되었던 표현을 소유하며, 서명 통신을 생성하기 위해 사용되는 개인 키는 전송된 표현을 생성하기 위해 원래 사용된 공개 키에 매치된다. 이러한 경우, 생성된 테스트 값(852)은 검출된 표현(820)과 매칭한다. 또한, 디바이스 B(804)는, 예를 들어, 표준 공개 개인 키 검증 방법들을 사용하여, 블록(856)에 의해 표시되는 바와 같이, 서명 검증을 수행한다.
도 9는 일 실시예에 따라 표현의 소유권의 생성, 통신 및 검증에 관한 일부 예시적인 시그널링 교환 및 중간 결과들을 예시하는 도면(900)이다. 도면(900)은 2개의 예시적인 무선 피어 투 피어 통신 디바이스들(예를 들어, 디바이스 A(902), 디바이스 B(904))를 예시한다. 디바이스들(902, 904)은, 예를 들어, 도 1의 시스템(100)의 무선 통신 디바이스들 중 임의의 디바이스이다. 디바이스들(902, 904)은 도 2의 흐름도(200) 및/또는 도 5의 흐름도(500)에 따른 하나 이상의 방법들을 구현할 수 있다. 디바이스들(902, 904)은 도 3, 도 4, 도 6 및/또는 도 7에서 설명된 엘리먼트들 중 하나 이상에 따라 구현될 수 있다.
디바이스 A(902)는 공개 키(PKA), 대응하는 개인 키 A 및 식별 정보를 포함하는 인증서(906)를 포함한다. 식별 정보는, 예를 들어, 디바이스 또는 사용자 식별자 중 하나이다. 디바이스 A(902)는 디바이스 C 및 디바이스 D를 포함하는 그룹의 멤버이다. 디바이스 A(902)는 디바이스 C에 대한 공개 키(PKC)(903) 및 디바이스 D에 대한 공개 키(PKD)(905)를 포함한다. 디바이스 A(902)는 발견 정보를 전송하기를 원하며, 따라서, 디바이스 A(902)는 표현(912)을 생성한다. 표현은 자신의 공개 키(PKA(908), PKC(903), PKD(910)) 및 추가 입력의 함수로서 디바이스 A(902)에 의해 생성된다. 일부 실시예들에서, 표현을 생성하는 것은 단방향 해시 연산에 대한 추가 입력 및 PKA, PKC, 및 PKD을 사용하여 단방향 해시 연산을 수행하는 것을 포함하며, 단방향 해시 연산의 출력은 생성된 표현이다. 디바이스 A(902)는 생성된 표현(912)을 전달하기 위해 발견 신호(914)를 생성한다. 디바이스 A(902)는 구현되는 피어 투 피어 반복 타이밍-주파수 구조의 무선 링크 자원들에서 발견 통신 채널(916)을 통해 자신의 발견 신호(914)를 전송한다. 다른 디바이스들로부터 발견 신호들을 모니터링하는 디바이스 B(904)는 화살표(918)에 의해 표시되는 바와 같이 디바이스 A 발견 신호를 검출한다. 디바이스 B(904)는 블록(920)에 의해 표시된 바와 같이 검출된 표현을 복원시킨다.
디바이스 B(904)는 디바이스 A(902)가 표현의 소유권을 가지는 것을 검증하기를 원한다. 디바이스 B(904)는 서명 통신(922)에 대한 요청을 생성하고, 비-발견 제어 채널(926)을 통해 디바이스 A(902)에 요청 신호를 전송한다(924). 일부 실시예들에서, 비-발견 제어 채널(926)은, 페이징 채널, 링크 설정 채널, 및 사후 링크 설정 제어 채널 중 하나이다. 디바이스 A(902)는 화살표(928)에 의해 표시된 바와 같이 요청 신호를 수신하고, 블록(930)에 의해 표시된 바와 같이 서명 통신에 대한 수신된 요청을 복원시킨다. 그 응답으로, 디바이스 A(902)는 입력들로서 해시 정보(934), PKA(908), PKC(903), PKD(905), 및 ID 정보(938) 중 하나 이상을 사용하여 통신(932)을 생성한다. ID 정보(938)는, 예를 들어, 디바이스 및/또는 사용자 식별자이다. 해시 정보(934)는, 예를 들어, 생성된 표현(912)을 생성하는데 사용되는 해시 연산을 수행하는데 사용되는 해시 함수 및 표현(912)을 생성하는데 사용되는 적어도 하나의 입력을 포함하는 정보를 포함한다. 또다른 예로서, 해시 정보(934)는, 예를 들어, 생성된 표현(912)을 생성하는데 사용되는 해시 연산을 수행하는데 사용되는 해시 함수 및 표현(912)을 생성하는데 사용되는 적어도 하나의 입력을 식별하기 위해 사용되는 정보를 포함한다.
디바이스 A(902)는 이후 자신의 개인 키 A(940)를 사용하여 생성된 통신(932)을 서명하여, 서명 통신(942)을 생성한다. 디바이스 A(902)는 생성된 서명 통신을 전달하는 신호(944)를 생성하여 비-발견 제어 채널(946)을 통해 전송한다. 일부 실시예들에서, 비-발견 제어 채널(946)은 페이징 응답 채널, 링크 설정 채널, 및 사후 링크 설정 제어 채널 중 하나이다. 디바이스 B(904)는 수신된 신호(948)에 의해 표시되는 바와 같이 서명 통신을 반송(carry)하는 신호를 수신한다. 디바이스 B(904)는 블록(950)에 의해 표시되는 바와 같이 수신된 서명 통신을 복원한다.
디바이스 B(904)는 블록(952)에 의해 표시되는 바와 같이 테스트 값을 생성하기 위해, 수신된 서명 통신(950)에 의해 통신되는 정보를 사용한다. 생성된 테스트 값은 검출된 표현(920)과 비교되고, 비교 매칭 결과(954)가 획득된다. 이러한 경우, 디바이스 A(902)는 전송되었던 표현을 소유하며, 서명 통신을 생성하기 위해 사용되는 개인 키는 전송된 표현을 생성하기 위해 원래 사용된 공개 키에 매치된다. 이러한 경우, 생성된 테스트 값(952)은 검출된 표현(920)과 매치한다. 디바이스 B(904)는 또한, 예를 들어, 표준 공개 개인 키 검증 방법들을 사용하여, 블록(956)에 의해 표시된 바와 같이 디바이스 A(902)로부터 수신된 서명 통신에 대해 서명 검증을 수행한다.
도 10은 일 실시예에 따라 표현의 소유권의 생성, 통신 및 검증에 관해 일부 예시적인 시그널링 교환 및 중간 결과들을 예시하는 도면(1000)이며, 여기서 상기 생성된 표현은 그룹 정보에 기초하며, 서명 통신들은 검증의 일부분으로서 2개 그룹 멤버들로부터 수신된다. 도면(1000)은 3개의 예시적인 무선 피어 투 피어 통신 디바이스들(디바이스 A(902), 디바이스 B(904), 디바이스 C(1002))을 예시한다. 디바이스들(902, 904, 1002)은, 예를 들어, 도 1의 시스템(100)의 무선 통신 디바이스들 중 임의의 디바이스이다. 디바이스들(902, 904, 1002)은 도 2의 흐름도(200) 및/또는 도 5의 흐름도(500)에 따른 하나 이상의 방법들을 구현할 수 있다. 디바이스들(902, 904)은 도 3, 도 4, 도 6 및/또는 도 7에 설명된 엘리먼트들 중 하나 이상에 따라 구현될 수 있다.
디바이스 A(902)는 공개 키(PKA), 대응하는 개인 키 A, 및 식별 정보를 포함하는 인증서(906)를 포함한다. 식별 정보는, 예를 들어, 디바이스 또는 사용자 식별자 중 하나이다. 디바이스 A(902)는 디바이스 C 및 디바이스 D를 포함하는 그룹의 멤버이다. 디바이스 A(902)는 디바이스 C에 대한 공개 키(PKC)(903) 및 디바이스 D에 대한 공개 키(PKD)(905)를 포함한다. 디바이스 C(1002)는 공개 키 C, 개인 키 C(1003), 및 ID 정보를 포함하는 인증서를 포함한다. 디바이스 C(1002)는 또한 공개 키 A 및 공개 키 D를 포함한다. 디바이스 A(902)는 발견 정보를 전송하기를 원하며, 따라서, 디바이스 A(902)는 표현(912)을 생성한다. 표현은 공개 키 PKA(908), PKC(903), PKD(905) 및 추가 입력(910)의 함수로서 디바이스 A(902)에 의해 생성된다. 일부 실시예들에서, 표현을 생성하는 것은 단방향 해시 연산에 대한 추가 입력, PKA, PKC, 및 PKD을 사용하여 단방향 해시 연산을 수행하는 것을 포함하며, 단방향 해시 연산의 출력은 생성된 표현이다. 디바이스 A(902)는 생성된 표현(912)을 전달하기 위한 발견 신호(914)를 생성한다. 디바이스 A(902)는 구현되는 피어 투 피어 반복 타이밍-주파수 구조의 무선 링크 자원들에서 발견 통신 채널(916)을 통해 자신의 발견 신호(914)를 전송한다. 다른 디바이스들로부터의 발견 신호들을 모니터링하는 디바이스 B(904)는 화살표(918)에 의해 표시되는 바와 같이 디바이스 A 발견 신호를 검출한다. 디바이스 B(904)는 블록(920)에 의해 표시되는 바와 같이 검출된 표현을 복원한다.
디바이스 B(904)는 디바이스 A(902)가 표현의 소유권을 가짐을 검증하기를 원한다. 디바이스 B(904)는 서명 통신에 대한 요청(922)을 생성하고 비-발견 제어 채널(926)을 통해 디바이스 A(902)에 요청 신호를 전송한다(924). 일부 실시예들에서, 비-발견 제어 채널(926)은, 페이징 채널, 링크 설정 채널, 및 사후 링크 설정 제어 채널 중 하나이다. 디바이스 A(902)는 화살표(928)에 의해 표시된 바와 같이 요청 신호를 수신하고, 블록(930)에 의해 표시된 바와 같이 서명 통신에 대한 수신된 요청을 복원시킨다. 그 응답으로, 디바이스 A(902)는 입력들로서 해시 정보(934), PKA(908), PKC(903), PKD(905), 및 ID 정보(938) 중 하나 이상을 사용하여 통신(932)을 생성한다. ID 정보(938)는, 예를 들어, 디바이스 및/또는 사용자 식별자이다. 해시 정보(934)는, 예를 들어, 생성된 표현(912)을 생성하는데 사용되는 해시 연산을 수행하는데 사용되는 해시 함수 및 표현(912)을 생성하는데 사용되는 적어도 하나의 입력을 포함하는 정보를 포함한다. 또다른 예로서, 해시 정보(934)는, 예를 들어, 생성된 표현(912)을 생성하는데 사용되는 해시 연산을 수행하는데 사용되는 해시 함수 및 표현(912)을 생성하는데 사용되는 적어도 하나의 입력을 식별하기 위해 사용되는 정보를 포함한다.
디바이스 A(902)는 이후 자신의 개인 키 A(940)를 사용하여 생성된 통신(932)을 서명하여, 서명 통신(942)을 생성한다. 디바이스 A(902)는 생성된 서명 통신을 전달하는 신호(944)를 생성하여 비-발견 제어 채널(946)을 통해 전송한다. 일부 실시예들에서, 비-발견 제어 채널(946)은 페이징 응답 채널, 링크 설정 채널, 및 사후 링크 설정 제어 채널 중 하나이다. 디바이스 B(904)는 수신된 신호(948)에 의해 표시되는 바와 같이 서명 통신을 통신하는 신호를 수신한다. 디바이스 B(904)는 블록(950)에 의해 표시되는 바와 같이 수신된 서명 통신을 복원한다.
검출된 표현(920)에 응답하여, 디바이스 B(904)는 또한 디바이스 A(902)가 속하는 그룹의 또다른 멤버로부터 서명 통신에 대한 요청을 생성한다. 이러한 예에서, 디바이스 B(904)는 디바이스 C(1004)에 대한 서명 통신에 대한 요청을 생성한다. 예를 들어, 디바이스 C(1002)는 이 시간에 디바이스 B(904)의 로컬 근처영역 내에 있을 수 있으며, 검증을 보조하기 위해 사용가능하다. 디바이스 B(904)는 비-발견 제어 채널(1008)을 통해 요청(1004)을 전달하는 요청 신호를 디바이스 C(1002)에 전송한다(1006). 디바이스 C(1002)는 화살표(1010)에 의해 표시되는 바와 같은 요청 신호를 수신하고, 서명 통신에 대한 수신된 요청을 복원한다. 그 응답으로, 디바이스 C(1002)는 입력들로서 해시 정보, PKA, PKB, PKC, 및 ID 정보 중 하나 이상을 사용하여 통신을 생성한다.
이후, 디바이스 C(1002)는 자신의 공개 키 C PKC에 대응하는 자신의 개인 키 C(1003)를 사용하여 생성된 통신에 서명하여, 서명 통신(1012)을 생성한다. 디바이스 C(1002)는 생성된 서명 통신을 전달하는 신호(1014)를 생성하여 비-발견 제어 채널(1016)을 통해 전송한다. 디바이스 B(904)는 수신된 신호(1018)에 의해 표시되는 바와 같이 서명 통신을 반송하는 신호를 수신한다. 디바이스 B(904)는 블록(1020)에 의해 표시되는 바와 같은 수신된 서명 통신을 복원한다.
디바이스 B(904)는 블록(952)에 의해 표시되는 바와 같은 테스트 값을 생성하기 위해 수신된 서명 통신(950) 및/또는 수신된 서명 통신(1020)에 의해 통신되는 정보를 사용한다. 생성된 테스트 값은 검출된 표현(920)과 비교되며, 비교 매칭 결과(954)가 획득된다. 이러한 경우, 디바이스 A(902)는 전송되었던 표현을 소유하며, 서명 통신을 생성하기 위해 사용되는 개인 키는 전송된 표현을 생성하기 위해 원래 사용된 공개 키에 매치된다. 이러한 경우, 생성된 테스트 값(952)은 검출된 표현(920)과 매치된다. 디바이스 B(904)는 또한, 예를 들어, 표준 공개 개인 키 검증 방법들을 사용하여, 블록(956)에 의해 표시된 바와 같이 디바이스 A(902)로부터 수신된 서명 통신에 대해 서명 검증을 수행한다. 또한, 디바이스 B(904)는, 예를 들어, 표준 공개 개인 키 검증 방법들을 사용하여, 블록(1022)에 의해 표시되는 바와 같이, 디바이스 C(1002)로부터 수신된 서명 통신에 대해 서명 검증을 수행한다.
다양한 실시예들은 인증서로부터 표현들의 세트를 유도하는 것을 허용하는 방법들 및 장치에 관한 것이다. 표현들의 세트는, 일부 실시예들에서, 예를 들어, 그 유효성이 인증서 상의 서명(들)을 체크함으로써 검증될 수 있는(즉, 적어도 하나의 인증 기관(CA)에 의해 서명되는) 공개 키, 및 인증서를 반송하는 메시지의 서명을 체크함으로써 검증되는 소유권과 같은, 인증서 내의 고유 파라미터에 밀접하게 관련된다. 인증서로부터 표현들을 유도하는 것에는 2개의 주요 장점들이 존재한다:
1. 불가능하지 않은 경우, 표현(들)을 검증하는 것에 관한 제1 단계가 인증서를 승인하는 것이므로 표현의 소유자를 모방하는 것이 매우 어렵다. 이는 악성 노드가 개인-공개 키 쌍의 소유권을 증명해야 함을 의미하며, 이는 차례로 인증서를 반송하는 메시지를 서명하는데 사용되는 개인 키를 소유해야 함을 의미한다.
2. 표현들의 세트의 검증은 간단하고 저렴한 연산이다. 일부 실시예들에서, 표현들의 세트는 인증서를 승인하고 공개 키 소유권을 체크함으로써 승인된다. 일부 실시예들에서, 테스트들 모두가 긍정적인 결과들을 획득하는 경우, 표현들은 단 하나, 또는 몇몇 개의 단방향 해시 함수(들)를 통해 용이하게 체크된다.
표현을 유도하기 위해 인증서를 사용하는 것에 대한 제3 장점은, 인증서가 또한, 자가 생성될 수 있으며, 일부 실시예들에서는 생성된다는 점이다. 이러한 시나리오에서, 인증서 검증은 공개 키, 즉, 오직 하나의 서명의 소유권의 확인으로 감소한다. 이러한 시나리오는 인증 기관(CA)이 사용가능하지 않고 그리고/또는 액세스가능하지 않은 상황들에서 적용될 수 있으며, 일부 실시예들에서는 사용된다.
표현을 유도하기 위해 인증서를 사용하는 것에 대한 제4 장점은, 특정 표현을 유도하기 위해 둘 이상의 인증서를 사용할 가능성이다. 이러한 프로시져는 각자 자신의 개인-공개 키 쌍을 가지는 미리 정의된 세트의 사람들이 특정 표현을 소유하는 것을 허용함에 따라 "체인화(chaining)"라고 지칭될 수 있다.
표현(들)을 생성하기 위해 PK를 사용하는 것에 더하여, 일부 실시예들에서는 동일한 목적으로 사용될 수 있는 다른 중요한 파라미터들이 존재한다. 예를 들어, HIT(즉, 해시(PK))는 다른 랜덤 값들과 함께 단방향 해시 함수에 삽입될 수 있는 128비트 파라미터이다. 이러한 경우, 상기 표현은 해시의 결과일 것이다. 인증서가 일반적으로 소유자의 신원(또는 적어도 하나의 신원)으로서 HIT를 반송한다는 점에 유의해야 한다.
또다른 중요한 파라미터는, 인증서 그 자체의 해시, 예를 들어, 제1의 128비트이다.
또한, 표현(들)이 유도될 수 있는 인증서로부터 파라미터(들)를 유도하는 것이 가능하다. 실제로, 이러한 파라미터(들)의 소유권이 확인될 수 있는 한, 이는 사용될 수 있다. 인증서와 표현 간의 이러한 가상 계층화는 (예를 들어, 페어링(pairing)할 때) 다른 피어의 인증서를 체크하기 전에 송신자가 자신의 신원(즉, 주로 자신의 공개 키가 아님)들을 선험적으로 개시할 필요가 없을 것이므로 개인적 목적들을 위해(즉, 그룹 표현의 경우) 유용할 수 있다.
파라미터들의 상기 세트에서의 공통적인 특징은 파라미터들 각각이 인증서 및 서명, 즉, 개인-공개 키 쌍의 소유권을 승인할 시에 검증될 수 있다는 점이다.
표현을 생성하기 위한 일반적인 방식은 다음 수식을 적용하는 것이다:
Figure pct00001
여기서,
- First (사이즈, 입력)은 오직 제1 "사이즈", 즉 m 비트가 사용되기 위하여 유지되도록 하는 "입력" 데이터의 절단을 표시한다.
- Hash( )는 단방향 해시 함수이다.
- M은 수신기에 대해 승인될 파라미터이다. 이는 송신자의 공개 키, HIT, 인증서의 해시 등을 나타낼 수 있다.
- "|"는 바이트 방식의 연접(concatenation)을 표시한다.
- RAN은 랜덤 128-비트 파라미터이다.
주 : 제한되지 않은 수의 (Y)가 PK로부터 유도될 수 있다는 점이 (1)로부터 즉시 후속한다. 이러한 특징은 송신자로 하여금 자신의 보안 레벨을 약화시키지 않고 필요시 가능한 많은 표현들을 유도할 수 있게 한다.
다양한 실시예들은 통신 시스템들, 예를 들어, 피어 투 피어 무선 통신 시스템들에 관한 것이다. 표현은 디바이스 인증서로부터 유도될 수 있으며, 일부 실시예들에서는 유도된다. 피어 투 피어 통신 시스템들에서, 표현들은 존재 및 근접성 모두를 알릴 시에, 또한 특정 정보를 통지하기 위해 중요한 역할을 한다.
그러나, 수신기의 세트에 (X, Y)를 송신하는 것은 소셜 네트워크의 경우 관계(들)를 알아내기 위한 또는 수신기들의 세트를 혼란시키기 위한 시도로 악성 송신자가 일부 스테이지에서 파라미터들의 쌍을 위조하는 것을 방지하지 못한다.
본원의 동기는 표현의 수신기로 하여금, 이러한 표현이 이를 전송하는 디바이스에 속함을 용이하게 승인하기 위한, 즉, 표현들을 소유하지 않는 디바이스들에 의한, 표현들의 위조를 방지하게 하는 메커니즘을 제공하는 것이다.
예시적인 피어 투 피어 프로토콜의 다양한 양상들이 설명될 것이다. 표현(E)은 (X)가 정보 그 자체이고 (Y)가 공유 키인 한 쌍의 파라미터들(X, Y)로서 설명될 수 있다. 공유 키는 (X)의 해시에서 현재 시간과 함께 이를 통합함으로써 통지 노드의 프라이버시를 향상시키기 위해 사용된다. 이러한 목적을 위해, 쌍 (X, Y)은 자신의 공개 키(PK)를 해싱함으로써 획득되는 송신자의 호스트 신원 태그(HIT)인 식별자와 함께 수신기들의 세트에 대역 외부에서 분배된다. 각각의 수신기는 쌍(들)(X, Y)을 대응하는 HIT에 묶는다(bind). 이에 후속하여, 수신기들 각각은 쌍 (X, Y)을 수용(accept)하기 전에 높은 신뢰도를 가지고 송신자의 신원을 검증할 수 있어야 한다.
공유 키(Y)는 송신자로 하여금 오직 수신기들의 세트에 대해 식별가능하게 하고 추적가능하게 함으로써 송신자 자신의 프라이버시를 향상시키는데 중요한 역할을 수행한다는 점이 상기로부터 명백해진다. 지정된 세트 밖의 수신기에 대해, 통지된 정보는 송신자의 신원에 관한 어떠한 힌트도 또한 상이한 통지들(즉, 특정 경우들을 제외하고) 사이에서 상관할 가능성도 제공하지 않을 것이다.
제안된 해법은, 일부 실시예들에서, 송신자 디바이스의 인증서로부터 (Y)(예를 들어, 디바이스의 공개 키 또는 인증서 내의 다른 파라미터)를 유도하는 것을 포함한다.
일부 통신 시스템들, 예를 들어, 일부 피어 투 피어 통신 시스템들에서, 후속하는 단계들이 디바이스들 사이에 통신들을 설정하기 위해 사용된다:
1) 발견: 이 프로세스 동안, 디바이스들은 예를 들어, "표현들"을 송신하고 모니터링함으로써, 서로 발견한다.
2) 페어링: 일단 디바이스가 서로 발견하면, 디바이스들 사이에 보안 통신 채널을 설정하기 위해 페어링 프로세스가 사용된다.
3) 링크 설정 및 상위 계층. 일단 페어링이 이루어지면, 상위 계층은 데이터 교환의 허용을 개시한다.
일부 예시적인 실시예들은, 페어링 페이즈 동안,디바이스들이 발견 페이즈에서 전송되는 특정 표현을 소유한다는 사실을 디바이스들이 확인하도록 하는데 적합하다. 일부 실시예들에서, 이는 소스 디바이스에 속하는 인증서로부터 발견 페이즈에서 사용되는 표현을 유도함으로써 달성된다.
이제, 표현 Y는 인증서의 소유권을 승인하는 서명 및 소스의 인증서를 다른 디바이스에 제공함으로써 상기 표현의 소스에 속한다고 확인될 수 있다.
송신자의 PK로부터 표현(Y)을 유도하는 것은 다음 방식으로 수행될 수 있다:
Figure pct00002
여기서,
- First (사이즈, 입력)은 오직 제1 "사이즈", 즉 m 비트가 사용되기 위하여 유지되도록 하는 "입력" 데이터의 절단을 표시한다.
- Hash( )는 단방향 해시 함수이다.
- PK는 송신자의 공개 키이다.
- "|"는 바이트 방식의 연접을 표시한다.
- RAN은 랜덤 128-비트 파라미터이다.
주 : 제한되지 않은 수의 (Y)가 공개 키(PK)로부터 유도될 수 있다는 점이 수식 (2)로부터 즉시 후속한다. 이러한 특징은 송신자로 하여금 자신의 보안 레벨을 약화시키지 않고 필요시 가능한 많은 표현들을 유도할 수 있게 한다.
표현 (Y)를 유도한 후, 송신자는 이를 자신의 HIT와 함께 수신기들의 자신의 선택된 그룹과 공유한다. 앞서 언급된 바와 같이, 이러한 파라미터들을 반송하는 임의의 페이로드를 서명하는 것이 중요하다. 그렇지 않은 경우, 수신기(들)는 이를 거절해야 한다. 각각의 수신기는 송신자의 HIT에 (Y)를 묶고, 송신자를 페이징할 때 사용되거나 송신되도록 예정된 프레시(fresh)한 통지들을 유도하기 위해 이를 사용하여 개시할 수 있다(즉, 송신자는 전혀 통지하지 않도록 결정할 수 있다).
수신기(R)가 송신자와의 세션을 개시하는 경우, 2개의 피어들 사이의 보안 연관이 임의의 데이터 패킷의 교환 이전에 설정된다. 표현 (Y)의 승인은 송신자의 인증서를 승인할 때 발생할 수 있다. 인증서는 수신기(R)에게 PK의 소유권의 확인을 제공한다. 인증서 승인과 동시에, 송신자는 RAN 파라미터를 개시할 수 있으며, RAN 파라미터는 다음으로 수신기(R)로 하여금 인증된 PK 및 RAN으로부터 표현 (Y)을 재계산할 수 있게 한다.
악성 노드가 또한 실질적으로 달성하기가 어려운 것으로 가정되는 PK 자체의 소유권을 확인해야 하므로, 공개 키(PK)로부터 표현(Y)을 유도하는 것은 (Y)에 대한 위조 공격을 방지한다.
일부 실시예들에서, RAN(들)은 HIT 및 표현 (Y)와 함께 송신된다. HIT가 PK와 관련되어야 하지만, 이들 파라미터들 각각을 전달하는 메시지가 또다른 개인 키를 이용하여 서명될 수 있다는 점에 유의한다. 이러한 경우, PK의 검증은 수신기(R)로 하여금 PK에 묶인 표현(Y) 각각을 즉시 내포적으로(implicitly) 승인하게 한다.
다양한 실시예들의 기법들이 소프트웨어, 하드웨어 및/또는 소프트웨어와 하드웨어의 조합을 사용하여 구현될 수 있다. 일부 실시예들에서, 모듈들은 물리적 모듈들로서 구현된다. 일부 이러한 실시예들에서, 개별 물리적 모듈들은 하드웨어에서, 예를 들어, 회로들로서 구현되거나, 또는 일부 소프트웨어를 가지는 하드웨어, 예를 들어 회로들을 포함한다. 다른 실시예들에서, 모듈들은 메모리에 저장되고 프로세서, 예를 들어, 범용 컴퓨터에 의해 실행되는 소프트웨어 모듈들로서 구현된다. 다양한 실시예들은 장치, 예를 들어, 고정 무선 노드들, 셀 폰들이 단지 하나의 예인 모바일 액세스 단말들과 같은 모바일 노드들, 하나 이상의 접속 포인트들, 서버들, 및/또는 통신 시스템들을 포함하는 기지국들과 같은 액세스 포인트에 관한 것이다. 다양한 실시예들은 또한, 방법들, 예컨대 모바일 및/또는 고정 노드들을 포함하는 무선 통신 디바이스들, 기지국들과 같은 액세스 포인트들, 서버 노드들 및/또는 통신 시스템들, 예를 들어 호스트들을 제어 및/또는 동작시키는 방법에 관한 것이다. 다양한 실시예들은 또한 방법의 하나 이상의 단계들을 구현하기 위해 기계를 제어하기 위한 기계 판독가능한 명령들을 포함하는, 예를 들어, ROM, RAM, CD, 하드 디스크 등과 같은, 기계, 예컨대 컴퓨터 판독가능한 매체들에 관한 것이다.
개시된 프로세스들에서의 단계들의 특정 순서 또는 계층이 예시적인 방식들의 예라는 점이 이해된다. 설계 선호도들에 기초하여, 프로세스들에서의 단계들의 특정 순서 또는 계층이 본 개시내용의 범위 내에 유지되면서 재배열될 수 있다는 점이 이해되어야 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제시하지만, 제시된 특정 순서 또는 계층에 제한되도록 의도되지 않는다.
다양한 실시예들에서, 여기서 설명된 노드들은, 하나 이상의 방법들에 대응하는 단계들, 예를 들어, 제1 공개 키 및 추가 입력으로부터 표현을 생성하는 단계 ? 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 개인 키에 대응함 ? ; 및 발견을 위해 사용되는 통신 채널 상에서, 생성된 표현을 전송하는 단계를 수행하기 위해 하나 이상의 모듈들을 사용하여 구현된다.
따라서, 일부 실시예들에서, 다양한 특징들이 모듈들을 사용하여 구현된다. 이러한 모듈들은 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합을 사용하여 구현될 수 있다. 전술된 방법들 및 방법 단계들 중 다수가, 예를 들어, 하나 이상의 노드들에서, 전술된 방법들의 일부분 또는 전부를 구현하도록 추가 하드웨어를 가지는 또는 추가 하드웨어가 없이 기계, 예를 들어, 범용 컴퓨터를 제어하기 위해, 예를 들어, RAM, 플로피 디스크 등의 메모리 디바이스와 같은 기계 판독가능한 매체 내에 포함되는 기계 실행가능한 명령들, 예를 들어 소프트웨어를 사용하여 구현될 수 있다. 따라서, 특히, 다양한 실시예들은 기계, 예를 들어, 프로세서 및 연관된 하드웨어로 하여금, 전술된 방법(들)의 단계들 중 하나 이상을 수행하게 하기 위한 기계 실행가능한 명령들을 포함하는 기계-판독가능한 매체에 관한 것이다. 일부 실시예들은, 본 발명의 하나 이상의 방법들의 단계들 중 하나, 다수, 또는 전부를 구현하도록 구성되는 프로세서를 포함하는 디바이스, 예를 들어 통신 디바이스에 관한 것이다.
일부 실시예들은 하나의 컴퓨터 또는 다수의 컴퓨터들로 하여금, 다양한 기능들, 단계들, 동작들 및/또는 연산들, 예를 들어, 전술된 하나 이상의 단계들을 구현하게 하기 위한 코드를 포함하는 컴퓨터-판독가능한 매체를 포함하는 컴퓨터 프로그램 물건에 관한 것이다. 실시예에 따라, 컴퓨터 프로그램 물건은 수행될 각 단계에 대한 상이한 코드를 포함할 수 있으며, 때때로 포함한다. 따라서, 컴퓨터 프로그램 물건은 방법, 예를 들어, 통신 디바이스 또는 노드를 제어하는 방법의 각각의 개별 단계에 대해 코드를 포함할 수 있고, 때때로 포함한다. 코드는 RAM(랜덤 액세스 메모리), ROM(판독 전용 메모리) 또는 다른 타입의 저장 디바이스와 같은 컴퓨터 판독가능한 매체 상에 저장되는 기계, 예를 들어, 컴퓨터 실행가능한 명령들의 형태일 수 있다. 컴퓨터 프로그램 물건에 관련되는 것에 더하여, 일부 실시예들은 전술된 하나 이상의 방법들의 다양한 기능들, 단계들, 동작들 및/또는 연산들 중 하나 이상을 구현하도록 구성되는 프로세서에 관한 것이다. 따라서, 일부 실시예들은 여기서 설명된 방법들의 단계들 중 일부 또는 전부를 구현하도록 구성되는 프로세서, 예를 들어, CPU에 관한 것이다. 프로세서는, 예를 들어, 본 출원에서 설명된 통신 디바이스 또는 다른 디바이스에서 사용하기 위한 것일 수 있다.
일부 실시예들에서, 하나 이상의 디바이스들, 예컨대 무선 단말들과 같은 통신 디바이스들의 프로세서 또는 프로세서들, 예를 들어, CPU들은 통신 디바이스에 의해 수행되는 것으로서 설명되는 방법들의 단계들을 수행하도록 구성된다. 따라서, 전부가 아닌 일부 실시예들은, 프로세서가 포함되는 디바이스에 의해 수행되는 다양한 설명된 방법들의 단계들 각각에 대응하는 모듈을 포함하는 프로세서를 가지는 디바이스, 예를 들어, 통신 디바이스에 관한 것이다. 전부가 아닌 일부 실시예들에서, 디바이스, 예를 들어, 통신 디바이스는 프로세서가 포함된 디바이스에 의해 수행되는 다양한 설명된 방법들의 단계들 각각에 대응하는 모듈을 포함한다. 모듈들은 소프트웨어 및/또는 하드웨어를 사용하여 구현될 수 있다.
다양한 특징들이 OFDM 시스템과 관련하여 설명되지만, 다양한 실시예들의 방법들 및 장치의 적어도 일부는 많은 비-OFDM 및/또는 비-셀룰러 시스템들을 포함하는 광범위한 통신 시스템들에 적용가능하다.
전술된 다양한 실시예들의 방법들 및 장치에 대한 다수의 추가적인 변형들이 상기 설명의 견지에서 당업자에게 명백할 것이다. 이러한 변형들은 본 발명의 범위 내에 있는 것으로 간주되어야 한다. 방법들 및 장치는 CDMA, 직교 주파수 분할 멀티플렉싱(OFDM), GSM 및/또는 액세스 포인트들과 모바일 노드들 및 무선 통신들과 같은 무선 통신 디바이스 사이에 무선 통신 링크, 예를 들어, WAN 무선 통신 링크들을 제공하기 위해 사용될 수 있는 다양한 다른 타입들의 통신 기법들과 함께 사용될 수 있으며, 다양한 실시예들에서는 사용된다. 방법들 및 장치는, CDMA, 직교 주파수 분할 멀티플렉싱(OFDM), GSM 및/또는, 피어 투 피어 인터페이스들을 포함하는 무선 통신 디바이스들 사이에 무선 통신 링크들, 예를 들어, 직접 피어 투 피어 무선 통신 링크들을 제공하기 위해 사용될 수 있는 다양한 다른 타입들의 통신 기법들과 함께 사용될 수 있으며, 다양한 실시예들에서는 사용된다. 일부 실시예들에서, 광역 네트워크 인터페이스 및 피어 투 피어 네트워크 인터페이스 모두를 포함하는 무선 통신 디바이스는 상이한 인터페이스들에 대하여 상이한 통신 기법들, 예를 들어, WAN 인터페이스에 대하여 CDMA 및 GSM 기반 기법들 중 하나 및 피어 투 피어 인터페이스에 대하여 OFDM 기반 기법들을 사용한다. 일부 실시예들에서, 액세스 포인트들은 CDMA, GSM 및/또는 OFDM을 사용하여 모바일 노드들과의 통신 링크들을 설정하는 기지국들로서 구현된다. 다양한 실시예들에서, 모바일 노드들은 노트북 컴퓨터들, PDA(personal data assistant)들, 또는 방법을 구현하기 위한 수신기/송신기 회로들 및 로직 및/또는 루틴들을 포함하는 다른 휴대용 디바이스들로서 구현된다.

Claims (30)

  1. 정보를 통신하기 위해 제1 통신 디바이스를 동작시키는 방법으로서,
    제1 공개(public key) 키 및 추가 입력으로부터 표현(expression)을 생성하는 단계 ? 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 개인 키(private key)에 대응함 ? ; 및
    발견을 위해 사용되는 통신 채널 상에서 상기 생성된 표현을 전송하는 단계를 포함하는, 제1 통신 디바이스를 동작시키는 방법.
  2. 제1항에 있어서,
    상기 표현을 생성하는 단계는 단방향(one-way) 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 상기 단방향 해시 연산을 수행하는 단계를 포함하고, 상기 해시 연산의 출력은 상기 생성된 표현인, 제1 통신 디바이스를 동작시키는 방법.
  3. 제1항에 있어서,
    상기 제1 공개 키는 디바이스 또는 사용자 식별자 중 하나 및 상기 개인 키를 포함하는 인증서(certificate)로부터 획득되는, 제1 통신 디바이스를 동작시키는 방법.
  4. 제2항에 있어서,
    제2 통신 디바이스로부터 신호를 수신하는 단계;
    상기 개인 키를 사용하여 통신을 서명하는 단계; 및
    상기 제2 통신 디바이스에 상기 서명 통신을 송신하는 단계
    를 포함하는, 제1 통신 디바이스를 동작시키는 방법.
  5. 제4항에 있어서,
    상기 통신은:
    i) 상기 공개 키 및 ii) 상기 디바이스 또는 사용자 식별자
    중 적어도 하나를 포함하는, 제1 통신 디바이스를 동작시키는 방법.
  6. 제5항에 있어서,
    상기 서명 통신은 해시 정보를 더 포함하며, 상기 해시 정보는 상기 해시 연산을 수행하는데 사용되는 해시 함수 및 상기 표현을 생성하는데 사용되는 상기 해시 연산에 대한 적어도 하나의 입력을 포함하는, 제1 통신 디바이스를 동작시키는 방법.
  7. 제2항에 있어서,
    상기 제1 공개 키가 대응하는 상기 디바이스 또는 사용자 식별자는 그룹의 멤버이고; 그리고
    상기 표현을 생성하는 단계는 상기 표현을 유도하기 위해 상기 제1 공개 키 뿐만 아니라 상기 그룹의 제2 멤버에 대응하는 제2 공개 키를 사용하는 단계를 포함하는, 제1 통신 디바이스를 동작시키는 방법.
  8. 제7항에 있어서,
    상기 표현을 생성하는 단계는 상기 단방향 해시 연산에 대한 입력들로서 상기 제1 및 제2 공개 키들 및 상기 추가 입력을 사용하여 상기 단방향 해시 연산을 수행하는 단계를 포함하고, 상기 해시 연산의 출력은 상기 생성된 표현인, 제1 통신 디바이스를 동작시키는 방법.
  9. 제1 통신 디바이스로서,
    제1 공개 키 및 추가 입력으로부터 표현을 생성하기 위한 수단 ? 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 개인 키에 대응함 ? ; 및
    발견을 위해 사용되는 통신 채널 상에서 상기 생성된 표현을 전송하기 위한 수단을 포함하는, 제1 통신 디바이스.
  10. 제9항에 있어서,
    상기 표현을 생성하기 위한 수단은 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 상기 단방향 해시 연산을 수행하기 위한 수단을 포함하고, 상기 해시 연산의 출력은 상기 생성된 표현인, 제1 통신 디바이스.
  11. 제9항에 있어서,
    상기 제1 공개 키는 디바이스 또는 사용자 식별자 중 하나 및 상기 개인 키를 포함하는 인증서로부터 획득되는, 제1 통신 디바이스.
  12. 컴퓨터 판독가능한 매체를 포함하며, 제1 통신 디바이스에서 사용하기 위한 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 판독가능한 매체는:
    적어도 하나의 컴퓨터로 하여금 제1 공개 키 및 추가 입력으로부터 표현을 생성하게 하기 위한 코드 ? 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 개인 키에 대응함 ? ; 및
    상기 적어도 하나의 컴퓨터로 하여금 발견을 위해 사용되는 통신 채널 상에서 상기 생성된 표현을 전송하게 하기 위한 코드를 포함하는, 컴퓨터 프로그램 물건.
  13. 제1 통신 디바이스로서,
    제1 공개 키 및 추가 입력으로부터 표현을 생성하고 ? 상기 제1 공개 키는 상기 제1 통신 디바이스에 알려진 개인 키에 대응함 ?, 그리고
    발견을 위해 사용되는 통신 채널 상에서 상기 생성된 표현을 전송하도록 구성된 적어도 하나의 프로세서: 및
    상기 적어도 하나의 프로세서에 커플링된 메모리를 포함하는, 제1 통신 디바이스.
  14. 제13항에 있어서,
    상기 적어도 하나의 프로세서는, 표현을 생성하도록 구성되는 것의 일부분으로서, 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 상기 단방향 해시 연산을 수행하도록 구성되고, 상기 해시 연산의 출력은 상기 생성된 표현인, 제1 통신 디바이스.
  15. 제13항에 있어서,
    상기 적어도 하나의 프로세서는 디바이스 또는 사용자 식별자 중 하나 및 상기 개인 키를 포함하는 인증서로부터 상기 제1 공개 키를 획득하도록 추가로 구성되는, 제1 통신 디바이스.
  16. 표현의 소유권을 검증(verify)하기 위해 제1 통신 디바이스를 동작시키는 방법으로서,
    상기 표현과 연관된 제2 통신 디바이스에 신호를 전송하는 단계;
    상기 제2 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 상기 제2 통신 디바이스로부터 수신하는 단계;
    상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하는 단계
    를 포함하고, 상기 결정하는 단계는:
    상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하는 단계; 및
    상기 서명 통신이 상기 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하는 단계를 포함하는, 제1 통신 디바이스를 동작시키는 방법.
  17. 제16항에 있어서,
    상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하는 단계는:
    상기 제1 공개 키 및 추가 입력으로부터 테스트 값을 생성하는 단계 ? 상기 추가 입력은 난수 및 시간 종속적 입력 값 중 하나임 ? ; 및
    상기 테스트 값과 상기 표현이 매치하는지의 여부를 결정하기 위해 상기 테스트 값과 상기 표현을 비교하는 단계 ? 매치는 상기 표현이 상기 제1 공개 키를 사용하여 생성되었음을 표시함 ? 를 포함하는, 제1 통신 디바이스를 동작시키는 방법.
  18. 제17항에 있어서,
    상기 테스트 값을 생성하는 단계는 단방향 해시 연산의 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 상기 단방향 해시 연산을 수행하는 단계를 포함하고, 상기 해시 연산의 출력은 상기 테스트 값인, 제1 통신 디바이스를 동작시키는 방법.
  19. 제18항에 있어서,
    상기 서명 통신은 해시 정보를 더 포함하고, 상기 해시 정보는 상기 테스트 값을 생성하기 위해 사용될 단방향 해시 함수를 표시하는, 제1 통신 디바이스를 동작시키는 방법.
  20. 제17항에 있어서,
    상기 제1 공개 키가 대응하는 디바이스 또는 사용자 식별자는 그룹의 멤버이고; 그리고
    상기 테스트 값을 생성하는 단계는 상기 테스트 값을 생성하기 위해 상기 제1 공개 키 뿐만 아니라 상기 그룹의 제2 멤버에 대응하는 제2 공개 키를 사용하는 단계를 포함하는, 제1 통신 디바이스를 동작시키는 방법.
  21. 제20항에 있어서,
    상기 테스트 값을 생성하는 단계는 단방향 해시 연산에 대한 입력들로서 상기 제1 및 제2 공개 키들 및 상기 추가 입력을 사용하여 상기 단방향 해시 연산을 수행하는 단계를 포함하고, 상기 해시 연산의 출력은 상기 테스트 값인, 제1 통신 디바이스를 동작시키는 방법.
  22. 제1 통신 디바이스로서,
    표현과 연관된 제2 통신 디바이스에 신호를 전송하기 위한 수단;
    상기 제2 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 상기 제2 통신 디바이스로부터 수신하기 위한 수단;
    상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하기 위한 수단을 포함하고, 상기 결정하기 위한 수단은:
    상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하기 위한 수단; 및
    상기 서명 통신이 상기 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하기 위한 수단을 포함하는, 제1 통신 디바이스.
  23. 제22항에 있어서,
    상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하기 위한 수단은:
    상기 제1 공개 키 및 추가 입력으로부터 테스트 값을 생성하기 위한 수단 ? 상기 추가 입력은 난수 및 시간 종속적 입력 값 중 하나임 ? ; 및
    상기 테스트 값과 상기 표현이 매치하는지의 여부를 결정하기 위해 상기 테스트 값과 상기 표현을 비교하기 위한 수단 ? 매치는 상기 표현이 상기 제1 공개 키를 사용하여 생성되었음을 표시함 ? 을 포함하는, 제1 통신 디바이스.
  24. 제23항에 있어서,
    상기 테스트 값을 생성하기 위한 수단은 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 상기 단방향 해시 연산을 수행하기 위한 수단을 포함하고, 상기 해시 연산의 출력은 상기 테스트 값인, 제1 통신 디바이스.
  25. 제24항에 있어서,
    상기 서명 통신은 해시 정보를 더 포함하고, 상기 해시 정보는 상기 테스트 값을 생성하기 위해 사용될 단방향 해시 함수를 표시하는, 제1 통신 디바이스.
  26. 제23항에 있어서,
    상기 제1 공개 키가 대응하는 디바이스 또는 사용자 식별자는 그룹의 멤버이고; 그리고
    상기 테스트 값을 생성하기 위한 수단은 상기 테스트 값을 생성하기 위해 상기 제1 공개 키 뿐만 아니라 상기 그룹의 제2 멤버에 대응하는 제2 공개 키를 사용하기 위한 수단을 포함하는, 제1 통신 디바이스.
  27. 컴퓨터 판독가능한 매체를 포함하며, 제1 통신 디바이스에서 사용하기 위한 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 판독가능한 매체는:
    적어도 하나의 컴퓨터로 하여금 표현과 연관된 제2 통신 디바이스에 신호를 전송하게 하기 위한 코드;
    상기 적어도 하나의 컴퓨터로 하여금 상기 제2 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 상기 제2 통신 디바이스로부터 수신하게 하기 위한 코드; 및
    상기 적어도 하나의 컴퓨터로 하여금 상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하게 하기 위한 코드
    를 포함하고, 상기 적어도 하나의 컴퓨터로 하여금 상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하게 하기 위한 코드는:
    상기 적어도 하나의 컴퓨터로 하여금 상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하게 하기 위한 코드; 및
    상기 적어도 하나의 컴퓨터로 하여금 상기 서명 통신이 상기 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하게 하기 위한 코드를 포함하는, 컴퓨터 프로그램 물건.
  28. 제1 통신 디바이스로서,
    표현과 연관된 제2 통신 디바이스에 신호를 전송하고;
    상기 제2 통신 디바이스에 알려진 개인 키를 사용하여 서명된 서명 통신을 상기 제2 통신 디바이스로부터 수신하고; 그리고
    상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하도록 구성된 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 커플링된 메모리를 포함하고,
    상기 제2 통신 디바이스가 상기 표현을 소유하는지의 여부를 결정하도록 구성되는 것은:
    상기 표현이 제1 공개 키를 사용하여 생성되었는지의 여부를 결정하고; 그리고
    상기 서명 통신이 상기 제1 공개 키에 대응하는 개인 키에 의해 생성되었음을 검증하도록 구성되는 것을 포함하는, 제1 통신 디바이스.
  29. 제28항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 제1 공개 키 및 추가 입력으로부터 테스트 값을 생성하고 ? 상기 추가 입력은 난수 및 시간 종속적 입력 값 중 하나임 ? ; 그리고
    상기 표현이 상기 제1 공개 키를 사용하여 생성되었음을 결정하도록 구성되는 것의 일부분으로서, 상기 테스트 값과 상기 표현이 매치하는지의 여부를 결정하기 위해 상기 테스트 값과 상기 표현을 비교하도록 구성되고, 매치는 상기 표현이 상기 제1 공개 키를 사용하여 생성되었음을 표시하는, 제1 통신 디바이스.
  30. 제29항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 테스트 값을 생성하도록 구성되는 것의 일부분으로서, 단방향 해시 연산에 대한 입력들로서 상기 제1 공개 키 및 상기 추가 입력을 사용하여 상기 단방향 해시 연산을 수행하도록 추가로 구성되고, 상기 해시 연산의 출력은 상기 테스트 값인, 제1 통신 디바이스.
KR1020127006618A 2009-08-13 2010-08-03 표현들의 소유권을 유도, 통신 및/또는 검증하기 위한 방법들 및 장치 KR101419406B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/540,982 2009-08-13
US12/540,982 US8769285B2 (en) 2009-08-13 2009-08-13 Methods and apparatus for deriving, communicating and/or verifying ownership of expressions
PCT/US2010/044281 WO2011019549A1 (en) 2009-08-13 2010-08-03 Methods and apparatus for deriving, communicating and/or verifying ownership of expressions

Publications (2)

Publication Number Publication Date
KR20120055683A true KR20120055683A (ko) 2012-05-31
KR101419406B1 KR101419406B1 (ko) 2014-07-14

Family

ID=43304834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127006618A KR101419406B1 (ko) 2009-08-13 2010-08-03 표현들의 소유권을 유도, 통신 및/또는 검증하기 위한 방법들 및 장치

Country Status (7)

Country Link
US (1) US8769285B2 (ko)
EP (1) EP2465279B1 (ko)
JP (1) JP5490898B2 (ko)
KR (1) KR101419406B1 (ko)
CN (1) CN102577462B (ko)
TW (1) TW201136341A (ko)
WO (1) WO2011019549A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10278055B2 (en) 2013-03-28 2019-04-30 Futurewei Technologies, Inc. System and method for pre-association discovery

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4329656B2 (ja) * 2004-09-13 2009-09-09 沖電気工業株式会社 メッセージ受信確認方法、通信端末装置及びメッセージ受信確認システム
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8116749B2 (en) 2008-09-08 2012-02-14 Proctor Jr James Arthur Protocol for anonymous wireless communication
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
US8446260B2 (en) * 2009-11-30 2013-05-21 Industrial Technology Research Institute Group proving method and radio frequency identification reader and tags using thereof
US8825008B2 (en) * 2011-12-21 2014-09-02 Verizon Patent And Licensing Inc. Method and apparatus for authorizing transfer of mobile devices
WO2013138636A2 (en) * 2012-03-14 2013-09-19 Marvell World Trade Ltd. Key centric identity
US9042550B2 (en) 2012-03-30 2015-05-26 Qualcomm Incorporated Methods and apparatus for base station assisted peer discovery through aggregation of expressions
US9258692B2 (en) 2012-03-30 2016-02-09 Qualcomm Incorporated Relay assisted peer discovery
DE102012205891A1 (de) * 2012-04-11 2013-10-17 Continental Automotive Gmbh Kommunikationseinrichtung für ein Fahrzeug
US9084073B2 (en) 2012-05-08 2015-07-14 Qualcomm Incorporated Methods and apparatus for index based peer discovery
US9122865B2 (en) * 2012-09-11 2015-09-01 Authenticade Llc System and method to establish and use credentials for a common lightweight identity through digital certificates
US9119182B2 (en) 2012-10-19 2015-08-25 Qualcomm Incorporated Methods and apparatus for expression use during D2D communications in a LTE based WWAN
KR101976006B1 (ko) 2012-11-08 2019-05-09 에이치피프린팅코리아 유한회사 웹 서버의 자체 서명 인증서를 이용한 사용자 인증 방법, 이를 수행하기 위한 클라이언트 장치 및 웹 서버를 포함하는 전자 장치
US9881143B2 (en) 2012-12-06 2018-01-30 Qualcomm Incorporated Methods and apparatus for providing private expression protection against impersonation risks
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9167046B2 (en) * 2013-02-26 2015-10-20 Facebook, Inc. Social context for applications
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
EP2806670A1 (en) * 2013-05-21 2014-11-26 Alcatel Lucent Method of device discovery for device-to-device communication in a telecommunication network, user equipment device and computer program product
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
CN105340307A (zh) * 2013-06-28 2016-02-17 日本电气株式会社 用于prose组通信的安全
US20160149928A1 (en) * 2013-06-28 2016-05-26 Nec Corporation Secure group creation in proximity based service communication
CN105518621B (zh) 2013-07-31 2019-09-17 马维尔国际贸易有限公司 将引导操作并行化的方法
US9426624B2 (en) * 2014-04-29 2016-08-23 Qualcomm Incorporated Providing location information for expressions
US9813392B2 (en) * 2015-03-06 2017-11-07 Qualcomm Incorporated Apparatus and method for providing a public key for authenticating an integrated circuit
US10979412B2 (en) 2016-03-08 2021-04-13 Nxp Usa, Inc. Methods and apparatus for secure device authentication
JP6509775B2 (ja) * 2016-05-12 2019-05-08 日本電信電話株式会社 広告アクセス数測定方法、広告配信サーバ、プログラム
CN106533669B (zh) * 2016-11-15 2018-07-13 百度在线网络技术(北京)有限公司 设备识别的方法、装置和系统
EP3817277A4 (en) * 2018-05-11 2022-01-12 bitFlyer Blockchain, Inc. DEVICE AND METHOD FOR CERTIFICATION OF THE RELIABILITY OF A PUBLIC KEY AND PROGRAM THEREFOR
JP6634171B2 (ja) * 2018-05-11 2020-01-22 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
US11164186B2 (en) 2019-10-10 2021-11-02 Standard Chartered Bank (Singapore) Limited Methods, systems, and devices for managing digital assets
DE102019130067B4 (de) * 2019-11-07 2022-06-02 Krohne Messtechnik Gmbh Verfahren zur Durchführung einer erlaubnisabhängigen Kommunikation zwischen wenigstens einem Feldgerät der Automatisierungstechnik und einem Bediengerät

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3271460B2 (ja) 1995-01-12 2002-04-02 ケイディーディーアイ株式会社 無線通信における識別子秘匿方法
US20030149874A1 (en) * 2002-02-06 2003-08-07 Xerox Corporation Systems and methods for authenticating communications in a network medium
US7298847B2 (en) * 2002-02-07 2007-11-20 Nokia Inc. Secure key distribution protocol in AAA for mobile IP
US20040240669A1 (en) * 2002-02-19 2004-12-02 James Kempf Securing neighbor discovery using address based keys
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US7484225B2 (en) * 2002-08-08 2009-01-27 Sun Microsystems, Inc. System and method for describing and identifying abstract software modules in peer-to-peer network environments
US8117273B1 (en) * 2003-07-11 2012-02-14 Mcafee, Inc. System, device and method for dynamically securing instant messages
US7516482B2 (en) * 2003-07-21 2009-04-07 Microsoft Corporation Secure hierarchical namespaces in peer-to-peer networks
US8098823B2 (en) * 2005-05-03 2012-01-17 Ntt Docomo, Inc. Multi-key cryptographically generated address
CN101268669B (zh) * 2005-09-20 2011-09-07 艾利森电话股份有限公司 用于认证来自移动节点的更新的方法和移动锚点
US7987368B2 (en) * 2005-10-28 2011-07-26 Microsoft Corporation Peer-to-peer networks with protections
US8086842B2 (en) 2006-04-21 2011-12-27 Microsoft Corporation Peer-to-peer contact exchange
US8206160B2 (en) * 2007-05-25 2012-06-26 Georgia Tech Research Corporation Compliant off-chip interconnects for use in electronic packages
US8266286B2 (en) * 2007-06-05 2012-09-11 Cisco Technology, Inc. Dynamic key management server discovery
US7961708B2 (en) * 2007-07-10 2011-06-14 Qualcomm Incorporated Coding methods of communicating identifiers in peer discovery in a peer-to-peer network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10278055B2 (en) 2013-03-28 2019-04-30 Futurewei Technologies, Inc. System and method for pre-association discovery

Also Published As

Publication number Publication date
EP2465279A1 (en) 2012-06-20
WO2011019549A1 (en) 2011-02-17
US20110039592A1 (en) 2011-02-17
EP2465279B1 (en) 2014-11-26
CN102577462A (zh) 2012-07-11
CN102577462B (zh) 2015-07-08
JP2013502156A (ja) 2013-01-17
KR101419406B1 (ko) 2014-07-14
US8769285B2 (en) 2014-07-01
JP5490898B2 (ja) 2014-05-14
TW201136341A (en) 2011-10-16

Similar Documents

Publication Publication Date Title
KR101419406B1 (ko) 표현들의 소유권을 유도, 통신 및/또는 검증하기 위한 방법들 및 장치
CN110678770B (zh) 定位信息验证
CN107113173B (zh) 用于基于用户设备的标识符提供服务的方法和装置
Mershad et al. A framework for secure and efficient data acquisition in vehicular ad hoc networks
US9756036B2 (en) Mechanisms for certificate revocation status verification on constrained devices
US8375207B2 (en) Method and apparatus for authenticating a network device
Soleymani et al. A security and privacy scheme based on node and message authentication and trust in fog-enabled VANET
CN102292956B (zh) 用于可信赖性确定的方法和通信节点
CN104145465A (zh) 机器类型通信中基于群组的自举
WO2018205148A1 (zh) 一种数据包校验方法及设备
CN109996229B (zh) 基于dht网络的数据传输方法、装置、电子设备和存储介质
JP2022528359A (ja) ブロックチェーン及びDICE-RIoTを使用したデバイスのリモート管理
Miao et al. A secure and efficient lightweight vehicle group authentication protocol in 5G networks
WO2014064339A1 (en) Methods and apparatus for data security in mobile ad hoc networks
CN109327475B (zh) 一种多层身份认证方法、装置、设备及存储介质
CN114172923B (zh) 数据传输方法、通信系统及通信装置
CN106576245B (zh) 用户设备邻近请求认证
KR101960583B1 (ko) 인증서 발급 방법
KR102360944B1 (ko) 그룹 서명 기법
CN113285805B (zh) 一种通信方法及装置
WO2022127808A1 (zh) 授信中继通信方法、装置、终端及网络侧设备
KR101878713B1 (ko) 네트워크망에 사용자 단말기를 접속하기 위한 방법 및 시스템
Xiao et al. A group key agreement protocol for Vanet based on Chinese remainder theorem and blockchain
Manickam et al. Secured‐KDS: Secret key distribution and authentication scheme for resource‐constrained devices
WO2020148222A1 (en) Network security

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: 20170629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5