KR20220164560A - 3자 암호화 핸드셰이크 프로토콜 - Google Patents

3자 암호화 핸드셰이크 프로토콜 Download PDF

Info

Publication number
KR20220164560A
KR20220164560A KR1020227038622A KR20227038622A KR20220164560A KR 20220164560 A KR20220164560 A KR 20220164560A KR 1020227038622 A KR1020227038622 A KR 1020227038622A KR 20227038622 A KR20227038622 A KR 20227038622A KR 20220164560 A KR20220164560 A KR 20220164560A
Authority
KR
South Korea
Prior art keywords
beacon
owner
message
packet
generating
Prior art date
Application number
KR1020227038622A
Other languages
English (en)
Inventor
마르셀 엠.엠. 영
데이비드 라자로프
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220164560A publication Critical patent/KR20220164560A/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • H04W12/0471Key exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • 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
    • 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/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

이 문서에서는 사이트가 비콘으로부터 프록시 값과 랜덤 값의 익스포넨셜을 포함하는 패킷을 수신하고 그리고 프록시 값과 랜덤 값의 익스포넨셜로부터 E2EE-EID(end-to-end encrypted ephemeral identifier)를 생성하는 무선 네트워크의 3자 암호화 핸드셰이크 프로토콜에 대해 설명한다. 사이트는 오너에 대한 메시지를 생성하고 개인 키를 선택하고 개인 키와 E2EE-EID를 사용하여 교환된 키를 계산한다. 사이트는 교환된 키에서 공통 대칭 키를 추출하고 공통 대칭 키를 사용하여 메시지를 암호화하고 암호화된 메시지를 오너에게 전송한다.

Description

3자 암호화 핸드셰이크 프로토콜
본 명세서는 3자 암호화 핸드셰이크 프로토콜에 관한 것이다.
임시 식별자를 사용하는 비콘 시스템은 개발자가 비콘 신호를 사용할 수 있는 클라이언트를 제어할 수 있도록 설계되었다. 비콘과 비콘의 오너 간에 공유되는 임시 식별자와 키를 사용하면 사이터(sighter)가 임시 식별자를 리졸버 서비스에 보낼 때 리졸버 서비스가 비콘의 오너를 결정할 수 있다. 비콘의 사이터와 리졸버 간의 통신은 물론 리졸버와 오너 간의 통신도 보안되며; 그러나 비콘 및/또는 사이터와 오너 간의 모든 통신은 안전하지 않으며 리졸버에게 표시된다.
본 요약은 3자 암호화 핸드셰이크 프로토콜의 단순화된 개념을 소개하기 위해 제공된다. 단순화된 개념은 아래의 상세한 설명에서 추가로 설명된다. 이 요약은 청구된 주제의 필수 기능을 식별하기 위한 것이 아니며 청구된 주제의 범위를 결정하는 데 사용하기 위한 것도 아니다.
양태에서, 무선 네트워크에서 3자 암호화 핸드셰이크 프로토콜을 위한 방법, 장치, 시스템 및 수단이 기술되며, 여기서 사이터는 비콘으로부터 종단 간 암호화된 임시 식별자(E2EE- EID: end-to-end encrypted ephemeral identifier)를 포함하는 패킷을 수신한다. 사이트는 오너에 대한 메시지를 생성하고 개인 키를 선택하고 개인 키와 E2EE-EID를 사용하여 교환된 키를 계산한다. 사이트는 교환된 키에서 공통 대칭 키를 추출하고 공통 대칭 키를 사용하여 메시지를 암호화하고 암호화된 메시지를 오너에게 전송한다.
양태에서, 무선 네트워크에서 3자 암호화 핸드셰이크 프로토콜을 위한 방법, 장치, 시스템 및 수단이 기술되며, 여기서 사이트는 비콘으로부터 프록시 값과 랜덤 값의 익스포넨셜을 포함하는 패킷을 수신하고 그리고 프록시 값과 랜덤 값의 익스포넨셜로부터 E2EE-EID(end-to-end encrypted ephemeral identifier)를 생성한다. 사이트는 오너에 대한 메시지를 생성하고 개인 키를 선택하고 개인 키와 E2EE-EID를 사용하여 교환된 키를 계산한다. 사이트는 교환된 키에서 공통 대칭 키를 추출하고 공통 대칭 키를 사용하여 메시지를 암호화하고 암호화된 메시지를 오너에게 전송한다.
양태들에서, 비콘이 비콘과 오너 사이에서 공유되는 공통 키를 결정하는 무선 네트워크의 3자 암호화 핸드셰이크 프로토콜을 위한 방법, 장치, 시스템 및 수단이 설명된다. 비콘은 공통 키와 시간 값을 사용하여 종단 간 암호화된 임시 식별자(E2EE-EID)를 생성한다. 비콘은 E2EE-EID를 포함하는 비콘 패킷을 생성하고 비콘 패킷을 전송하며, 전송된 비콘 패킷은 비콘 패킷을 수신한 사이터가 오너에게 보안 메시지를 전송하는 데 사용할 수 있다.
양태들에서, 무선 네트워크에서 3자 암호화 핸드셰이크 프로토콜을 위한 방법, 장치, 시스템 및 수단이 설명되며, 여기서 비콘은 비콘과 오너 사이에서 공유되는 랜덤 값의 익스포넨셜을 생성하고 그리고 랜덤 값 그리고 랜덤 값의 익스포넨셜을 저장한다. 비콘은 랜덤 값의 승법 역수를 생성하고 랜덤 값의 승법 역수를 저장한다. 비콘은 저장된 승법 역수의 값과 시간 값을 이용하여 프록시 값을 생성하고, 프록시 값과 랜덤 값의 익스포넨셜을 포함하는 비콘 패킷을 생성한다. 비콘은 비콘 패킷을 전송하며, 전송된 비콘 패킷은 비콘 패킷을 수신하는 사이트가 오너에게 보안 메시지를 전송하는 데 사용할 수 있는 종단 간 암호화된 임시 식별자(E2EE-EID)를 생성하도록 하는 데 효과적이다.
3자 암호화 핸드셰이크 프로토콜에 대한 설명된 시스템 및 방법의 특징 및 개념은 임의의 수의 다른 환경, 시스템, 장치 및/또는 다양한 구성에서 구현될 수 있지만, 3자 암호화 핸드셰이크 프로토콜의 실시예는 다음의 예시적인 장치, 시스템 및 구성의 컨텍스트에서 설명된다.
3자 암호화 핸드셰이크 프로토콜의 실시예는 다음 도면을 참조하여 설명된다. 도면 전체에 걸쳐 동일한 번호가 동일한 기능 및 컴포넌트를 참조하는 데 사용된다.
도 1은 3자 암호화 핸드셰이크 프로토콜의 다양한 실시예가 구현될 수 있는 예시적인 환경을 도시한다.
도 2는 3자 암호화 핸드셰이크 프로토콜의 양태에 따른 디바이스들(장치들) 간의 예시적인 데이터 및 제어 트랜잭션을 예시한다.
도 3은 여기에 설명된 기술의 실시예에 따른 3자 암호화 핸드셰이크 프로토콜의 예시적인 방법을 도시한다.
도 4는 본 명세서에 설명된 기술의 실시예에 따른 3자 암호화 핸드셰이크 프로토콜의 예시적인 방법을 도시한다.
도 5는 본 명세서에 설명된 기술의 실시예에 따른 3자 암호화 핸드셰이크 프로토콜의 예시적인 방법을 도시한다.
도 6은 본 명세서에 설명된 기술의 실시예에 따른 3자 암호화 핸드셰이크 프로토콜의 다른 예시적인 방법을 도시한다.
도 7은 여기에 설명된 기술의 하나 이상의 실시예에 따라 네트워크 환경에서 구현될 수 있는 예시적인 네트워크 장치를 도시한다.
도 8은 본 명세서에 설명된 기술의 하나 이상의 실시예에 따라 네트워크 환경에서 구현될 수 있는 예시적인 비콘 디바이스(장치)를 도시한다.
BLE(Bluetooth Low Energy)(Bluetooth LE) 비콘과 같은 저전력 무선 비콘은 비콘 패킷(예: 광고 패킷)으로 정보를 전송한다. 비콘은 직접 식별 가능한 방송 정보(예: 암호화되지 않은 데이터)를 전송하거나 몇 분마다 변경되는 식별자, 임시 식별자(Ephemeral ID, EID)를 방송할 수 있다. 임시 식별자는 개별 비콘과 키(Ephemeral Identity Key, 또는 EIK)를 공유하는 오너(owner)에 의해 유용한 정보로 해석될 수 있다. 다음 설명은 BLE를 자주 언급하지만, BLE는 단순성을 위해 설명된 예시적인 무선 기술이며, 여기서 설명된 임시 식별자는 유사한 방식으로 다른 무선 기술(예: UWB(Ultra Wideband), WLAN(Wireless Local Area Network), NFC, PAN(Personal Area Network), IEEE 802.15.4, ZigBee, Thread 등)에도 적용될 수 있다.
에디스톤(Eddystone™) 개방형 비콘 형식과 같은 임시 식별자를 사용하는 비콘 시스템은 개발자가 비콘 신호를 사용할 수 있는 클라이언트를 제어할 수 있도록 설계되었다. 비콘과 오너 간에 상태를 공유하기 위해 사전에 합의된 PRF(pseudorandom function family)를 사용함으로써, 비콘은 오너가 누구인지 또는 오너에 대한 액세스 권한 없이 오너에게 채널을 확보할 수 있는 알고리즘 방법을 사용하여 사이터(sighter)를 활성화할 수 있다. 비콘과 키를 공유한 올바른 오너에 대한 채널이 안전하다는 것을 사이터가 확인할 수 있게 함으로써 오너는 사이터로부터 수신된 메시지의 진위를 해독하고 확인할 수 있다. 비콘의 오너를 확인하고 찾는 리졸버(resolver)는 사이터가 오너에게 보낸 메시지 내용(콘텐츠)에 액세스할 수 없다.
예시 환경
도 1은 3자 암호화 핸드셰이크 프로토콜(three-party cryptographic handshake protocol)의 다양한 실시예가 구현될 수 있는 예시적인 환경(100)을 도시한다. 환경(100)은 비콘(110), 사이터(Sighter)(120), 리졸버(resolver)(130) 및 오너(owner)(140)를 포함한다. 비콘(110)은 102에 도시된 바와 같이 주기적으로 비콘 패킷을 브로드캐스트(예를 들어, 전송)하는 BLE 비콘, 헤드셋 등과 같은 디바이스이다. 사이터(또는 observer)(120)는 104에 도시된 바와 같이 비콘 패킷을 수신하고 수신된 패킷을 리졸버 서비스로 전달할 수 있는 스마트폰과 같은 장치이다. 예를 들어, 사이터(120)는 수신된 패킷을 인터넷(150)을 통해 리졸버 서비스(130)로 포워딩한다. 이 예에서, 인터넷(150)은 사이터(120), 리졸버(130), 및/또는 오너(140)를 상호 연결하는 유선 및/또는 무선, 근거리 및/또는 광역 네트워크의 임의의 조합을 나타낸다. 클라우드 기반 리졸버 서비스(resolution service)와 같은 리졸버(130)는 106에 도시된 바와 같이 수신된 EID를 공유 키 및 관련 오너의 해시 값들과 비교하여 정확한 오너를 결정하고 수신된 패킷을 정확한 오너(140)에게 전달한다. 대안적으로 또는 추가적으로, 오너(140)는 오너(140)와 연관된 임의의 비콘(110)에 대해 사이터(120)로부터 수신된 패킷 또는 메시지에 대해 리졸버(130)에 쿼리(query)할 수 있다. 오너(owner)(140)는 비콘(110)과 관련된 스마트폰, 컴퓨터 또는 클라우드 기반 서비스와 같은 장치 또는 서비스이다. 오너(owner)(140)는 하나 이상의 비콘(110)을 소유하고 이들 비콘(110) 각각에 대한 공유 키를 저장할 수 있다.
3자 암호화 핸드셰이크 프로토콜은 도 1에 도시된 바와 같이 통신을 위해 구성된 임의의 적절한 장치와 함께 사용될 수 있다. 오너(140)는 임의의 오너 컴퓨팅 시스템일 수 있다. 비콘(110)은 오너 컴퓨팅 시스템과 연관된 임의의 장치일 수 있다. 장치에서 오너 컴퓨팅 시스템으로의 통신은 익명화되고(장치 및 오너 컴퓨팅 시스템의 ID를 모두 숨김으로써) 그리고 라우팅 시스템(예: 리졸버(130))을 포함하여 익명성을 오너 컴퓨팅 시스템 및 장치의 식별로 해결하고 장치를 오너 컴퓨팅 시스템에 연결한다. 사이터(120)는 익명성에도 불구하고 장치로부터 비콘 패킷을 수신하고 장치의 사이팅(sighting)에 대한 사이팅 정보를 오너 컴퓨팅 시스템에 보내는 중개 장치인 임의의 사이터 시스템일 수 있다. 사이팅 정보는 오너 컴퓨팅 시스템을 제외한 리졸버(및 기타 네트워크 노드)로부터 안전하게 유지된다.
비콘(110)은 비콘(110)과 오너(140) 간에 공유되는 EIK(Shared Key)로부터 생성되는 EID(Ephemeral Identifier)와 비콘(110)에 의해 EID가 생성된 시간을 포함하는 비콘 패킷(예: BLE 광고 패킷)을 주기적으로 전송(브로드캐스트)하는 장치이다. 비콘(110)은 비콘(110) 및 그 오너(140)에게 알려진 회전(로테이션) 레이트(rotation rate)로 새로운 EID를 계산한다. 비콘(110)은 제한된 계산 및 전력 자원을 가질 수 있고 제한된 범위에 걸쳐 비콘 패킷을 브로드캐스트한다. 사이터(120)는 비콘(110)으로부터 비콘 패킷을 수신할 수 있고 그리고 LR(longer-range) 네트워크(예를 들어, 광역 네트워크, WAN)에 액세스할 수 있다. 사이터(120)는 LR 네트워크를 통해 리졸버(130)와 같은 클라우드 기반 서비스에 연결할 수 있다. 이는 사이터(120)가 수신된 비콘 패킷을 클라우드 기반 리졸버(130)에 전달할 수 있게 한다. 리졸버(130)는 클라우드 기반 서비스를 구성하는 디바이스(서버) 또는 디바이스들의 집합체일 수 있다. 리졸버(130)는 오너(140)의 세트 및 그 오너에 대한 관련 EID를 저장한다. 리졸버(130)는 수신된 비콘 패킷에 대한 관련 오너(140)를 결정하기 위해 비콘 패킷으로부터 수신된 EID를 저장된 EID 세트와 비교한다. 수신된 비콘 패킷에 대해 오너(140)가 식별되면, 리졸버(130)는 비콘 패킷을 그 패킷의 정확한 오너(140)에게 전달할 수 있다.
비콘(110)의 초기화에서, 비콘(110)과 오너(140)는 108에 도시된 바와 같이 비콘(110)과 오너(140) 사이에서 공유되는 키(EIK)를 교환하기 위해 타원 커브(elliptic curve) DH(Diffie-Hellman) 키 동의 프로토콜을 사용한다. 공유 EIK는 리졸버(130)가 시간에 기초하여 EID로부터 비콘(110)의 아이덴티티를 분석하고 비콘(110) 및/또는 사이터(120)로부터 오너(140)에게 메시지를 보낼 수 있게 한다. 사이터(120)와 리졸버(130) 사이의 통신은 물론 리졸버(130)와 오너(140) 사이의 통신은 TLS(Transport Layer Security)를 사용하여 보안된다. 그러나, 비콘(110) 및/또는 사이터(120)와 오너(140) 사이의 임의의 통신은 리졸버(130)에 가시적(visible)이다. 사이터(120)에서 오너(140)로 보안(암호화된) E2E 통신 채널 추가하는 것은 사이터(120)와 오너(140) 사이의 메시지의 암호화된 페이로드에 액세스할 수 없는 라우팅 요소로서 리졸버(130)를 사용하여 비콘(110) 및/또는 사이터(120)로부터 오너(140)에게 메시지에 대한 비밀성을 제공한다.
3자 암호화 핸드셰이크 프로토콜
비콘(110)이 오너(140)와 페어링되면, 비콘(110)과 오너(140)는 상술한 바와 같이 공통 상태를 초기화하고 공통 키(EIK)에 동의한다. 그 공통 상태로부터, 비콘(110) 및 오너(140)는 PRF에 기초하여 공통 회전 키(common rotating key)를 결정할 수 있다. 사이터(120)는 PRF 기반의 키(예를 들어, PRF-S 키)를 이용하여 오너(140)에게 보낼 메시지를 암호화한다. 이러한 페어링 및 초기화는 키가 비콘(110) 및 오너(140)에게만 알려지도록 하기 위해 근접성 및 다른 인접 장치의 랙(lack)을 기반으로 하는 안전한 물리적 환경에서 수행된다.
비콘(110)에 의한 방송(브로드캐스트) 시, 비콘(110)은 그 당시의 조정된 PRF-S에 기초하여, 사이터(120)가 사이터(120)와 오너(140) 사이에 보안 채널을 설정하도록 지원할 것이다. 선택적으로 또는 추가적으로, 오너(140)와 비콘(110) 사이에서 공유되는 PRF에 기반한 인증 회전 키가 있을 수 있어 비콘(110)에서 전송된 인증 태그(예: PRF 태그 키(PRF-T 키)를 사용하여 생성된 인증 태그)로 보고된 시간에 비공개로 서명(예: 메시지 인증 코드, MAC 사용)할 수 있다. 이 인증 태그는 사이터(120)가 관여하지 않은 상태에서 리졸버(130)가 위조된 메시지를 오너(140)에게 보낼 수 없도록 한다. 위에서 언급한 바와 같이, 비콘(110)은 자신의 신원 및 오너(140)를 설정하기 위한 리졸버(130)에 대한 채널 및 보안 페이로드(secure payload)를 전송하기 위한 보안 채널을 갖는다.
비콘(110)은 사이터(120)가 오너(140)와의 보안 채널을 설정하는 것을 보조한다. 비콘(110)은 종단간 암호화된 임시 식별자(E2EE-EID)를 사용한다. E2EE-EID는 식별자 해석 및 시간(t)에 오너의 식별을 위해 리졸버(130)에 표시된다. 그렇지 않으면, 시간(t)은 오너(140)에 의해 이용가능하거나 추측된다.
비콘(110)은 수학식 1을 평가한다.
Figure pct00001
조인트 키(EIK)와 x(t)는 익스포넨셜(exponentiation)에 사용되는 지수(필드 요소) 필드에 있다. ECC(Elliptic Curve Cryptography)에서, 이 연산에 타원 곡선 곱셈(elliptic curve multiplication)이 사용된다.
비콘(110)은 수학식 2와 같이 E2EE-EID를 계산하고, 비콘 패킷으로 g(t)(E2EE-EID)를 전송한다.
Figure pct00002
이 계산은 익스포넨셜를 사용하거나 곡선 곱셈 후 ECC 곡선 요소의 경우에 사용한다. G는 타원 곡선 DH(Diffie-Hellman) 키 교환을 수행하기 위해 시스템에서 동의한 생성기이다.
선택적으로, 오너(140)에게 전송된 메시지에 인증 태그를 추가하기 위해, 비콘(110)은 또한 수학식 3을 평가하며, 이는 비콘(110)에서 보고된 시간의 값을 인증하는 데 사용된다.
Figure pct00003
비콘(110)은 전송 전용 브로드캐스트 모드이므로 대화식 모드가 불가능하며 비콘(110)은 인증된 서명 방식을 갖지 않는다. v(t) 계산은 상대적으로 LW(light-weight) 계산으로 오너(140)가 메시지(m)가 사이터(120)에 의해 보고된 리졸브된 ID와 함께 올바른 비콘(110)에서 온 것임을 확인할 수 있도록 하는 사전 인증과 유사하다. 인증 태그는 리졸버(130)에서 오너(140)에게 보내는 패킷의 메시지 페이로드와 다른 부분에 포함된다. 3자 암호화 핸드셰이크 프로토콜은 v(t) 계산 없이 작동하며, 리졸버(130)가 신뢰할 수 있는 경우 리졸버(130)는 t를 계산할 수 있다.
비콘(110)은 g(t) 및 선택적으로 v(t)를 포함하는 비콘 패킷을 사이트터(120)로 전송(브로드캐스트)한다. 선택적으로, 비콘(110)은 비콘(110)의 상태, 비콘(110)의 배터리 잔량, 비콘(110)에 포함된 센서로부터 판독한 센서값 등과 같은 데이터를 비콘 패킷에 포함할 수 있다. 비콘 패킷을 수신한 후, 사이터(120)는 리졸버(130)가 읽을 수 없는 개인 정보를 포함하는 메시지(m)를 오너(140)에게 전송하도록 생성한다. 메시지(m)는 비콘 패킷에 수신된 데이터뿐만 아니라 사이터(120)가 비콘 패킷을 수신한 위치, 사이터(120)로부터의 추가 센서 데이터 등과 같은 사이터(120)에 의해 포함된 추가 정보를 포함할 수 있다. 사이터(120)는 개인 키 y(t)를 선택하고 그리고 수학식 4를 계산하고, 이는 교환된 키이며, 여기서 g(t)(E2EE-EID)는 비콘(110)에 의해 브로드캐스트되는 공개 키이다.
Figure pct00004
사이터(120)는 교환된 키로부터 메시지를 암호화하는 수학식 5를 사용하여 메시지(m)를 암호화하기 위해, 이 키(k(t))를 사용하여 사이터(120)가 보내는 메시지를 암호화하고 인증하기 위한 공통 대칭 키(k(t))를 추출한다.
Figure pct00005
사이터(120)는 t, g(t), gy(t), C(t, m), 및 선택적으로 v(t)를 포함하는 사이터 메시지를 리졸버(130)에 전송한다.
리졸버(130)는 전술한 바와 같이 오너(140)를 찾기 위해 사이터(120)로부터의 메시지에서 E2EE-EID를 해석(리졸브)한다. 오너(140)가 발견되면, 리졸버(130)는 사이터 메시지(메시지(m))를 시간 t와 함께 리졸버(130)가 메시지에서 수신된 E2EE-EID와 일치하는 것으로 발견한 오너(140)에게 전달한다.
선택적으로, 오너(140)는 PRF-T(t)를 계산하고 이를 v(t)와 매칭하여 비콘 패킷에서 보고된 시간을 인증한다. PRF-T(t) 및 v(t)의 값이 일치(매칭)하면, 오너(140)는 x'(t)=PRF-S(t) 및 g'(t)=G^{x'(t)}를 계산하고, 오너(140)는 g'(t)를 사이터(120)로부터 수신된 g(t)와 비교한다. 리졸버(130)가 메시지를 위조하지 않도록 신뢰할 수 있는 경우(예: 리졸버(130) 및 오너(140)가 동일한 조직에 의해 소유됨), 이 검증이 필요하지 않을 수 있다.
g'(t)에서 g(t)로의 검증이 올바른 검증을 산출한다면, 오너(140)는 교환된 키와 같아야 하는 gy(t)^{x'(t)}를 계산한다. 오너(140)는 gy(t)^{x'(t)}로부터 k'(t)=k(t)를 추출하고 그리고 C(t, m)를 복호화하여 메시지(m)를 획득한다. 암호화는 메시지 + MAC(message plus MAC)과 같이 선택적으로 인증되거나 무결성을 제공하는 GCM(Google Cloud Messaging) 또는 CCM(Counter with CBC-MAC)와 같은 모드를 사용하여 인증될 수 있다.
3자 암호화 핸드셰이크 프로토콜을 사용한 결과, 오너(140)는 리졸버(130)를 통해 그리고 사이터(120)에 의해 수신되는 비콘(110)의 방송에 기초하여 비콘(110) 및/또는 사이터(120)로부터 비밀 메시지를 수신할 수 있다. 메시지는 오너(140)에 의해서만 인증되고 해독(복호화)될 수 있지만, 사이터(120)와 오너(140) 사이의 네트워크를 따라 리졸버(130) 또는 임의의 다른 노드는 메시지의 내용에 액세스할 수 없다. 3자 암호화 핸드셰이크 프로토콜을 사용하는 메시징 동작의 경우, 리졸버(130)가 메시지(m)를 오너(140)에게 올바르게 라우팅한다고 가정할 뿐이다. 3자 암호화 핸드셰이크 프로토콜에 대한 속성은 모두 비콘(110)과 오너(140) 사이의 초기 키 공유로부터 파생된다.
프록시 암호화(Proxy Encryption)
비콘(110)은 제한된 계산 및 전력 자원(리소스)을 가질 수 있다. 각 브로드캐스트(방송)에 대한 g(t) = G^{x(t)}의 계산은 익스포넨셜 또는 일부 구현에서 타원 곡선 점 곱셈을 필요로 하며, 이들 중 어느 하나는 비콘(110)의 제한된 자원을 사용할 때 비용이 많이 들 수 있다. 브로드캐스트 시간에 비콘(110)에서 소모되는 리소스를 줄이기 위해, 프록시 y/x를 제공함으로써 하나의 지수 g^x를 갖는 값이 다른 값 g^y로 바뀌도록 하는 프록시 암호화가 사용될 수 있다. 3자 암호화 핸드셰이크 프로토콜의 프록시는 사이트터(120)이다. 프록시(사이터(120))는 변환할 수 있지만 x 자체를 찾을 수는 없다. 프록시 암호화는 초기화 단계 및 비콘(110)에 의한 브로드캐스트 시간에서 3자 암호화 핸드셰이크 프로토콜의 변경을 포함한다. 선택적으로, 초기화 단계는 비콘(110)과 오너(140) 간의 페어링 프로세스의 일부로 포함될 수 있다.
초기화 시에, 랜덤 익스포넨셜(g^s)이 계산되고, g^s 및 랜덤 값(s)이 비콘(110)에 저장된다. 승법 역수(multiplicative inverse)(1/s)가 계산된다. 1/s는 s와 d의 확장된 최대 공약수(Extended-GCD: Extended-Greatest Common Divisor)를 계산하여 계산되는 필드의 승법 역수이며, 여기서 d는 필드의 곱셈 그룹의 차수이고 그리고 s와 d는 상대적 소수(relatively prime)이다. Extended-GCD에 대한 이 알고리즘은 As+Bd=1인 A 및 B를 제공하고 그리고 d가 필드에서 0차이므로 As=1이 되어 A=1/s가 된다. A(s의 승법 역수(곱셈 역))도 비콘(110)에 저장된다. 이 초기화를 실행하는 것은 상대적으로 비용이 많이 드는 메커니즘이지만 한 번만 실행되고 선택적으로 오너(140)는 페어링 시간에 비콘(110)에 대해 이러한 계산을 수행할 수 있다.
브로드캐스트 시간에, 비콘(110)은 위의 수학식 1과 같이 x(t)를 평가한다. 비콘(110)은 곱셈 그룹에서 스칼라 곱셈을 사용하는 수학식 6과 같이 프록시 값(prox(t))을 계산한다.
Figure pct00006
비콘은 비콘 패킷으로 g^s 및 prox(t)를 전송한다. 사이터(120)가 비콘 패킷을 수신할 때, 사이터(120)는 g^{x(t)}와 동일한 {g^s}^{prox(t)}를 익스포넨셜한다. 사이터(120)는 E2EE-EID를 생성하기 위해 비콘(110)을 대신하여 익스포넨셜(또는 elliptic curve point multiplication)을 생성하기 위한 프록시이다. 사이터(120)는 s를 학습할 수 없는 반면, 비콘(110)은 온라인(예를 들어, 프로비저닝 후) 스칼라 곱셈만 수행한다. 그 다음 사이터(120)는 전술한 바와 같이 프로토콜을 계속한다.
도 2는 3자 암호화 핸드셰이크 프로토콜의 양태에 따른 장치들 간의 데이터 및 제어 트랜잭션을 예시한다. 설명의 명확성을 위해 도시하지 않았지만, 도 2에 도시된 메시지에 대한 다양한 확인응답(승인)은 3자 암호화 핸드셰이크 프로토콜의 안정적인 작동을 보장하기 위해 구현될 수 있다.
205에서, 그리고 위에서 설명된 바와 같이, 비콘(110)은 오너(140)와 페어링된다. 페어링에는 3자 암호화 핸드셰이크 프로토콜에 대한 공유 키가 포함된다.
210에서, 비콘은 현재 시간에 기초하여 E2EE-EID를 생성한다. 선택적으로 215에서, 비콘(110)은 비콘 패킷에 대한 인증 태그를 생성한다.
220에서, 비콘(110)은 비콘 패킷을 생성한다. 비콘(110)은 E2EE-EID 및 선택적으로 생성된 경우 인증 태그를 비콘 패킷에 포함한다. 선택적으로, 비콘(110)은 센서 데이터와 같은 페이로드 데이터를 비콘 패킷에 포함할 수 있다. E2EE-EID에 대한 미리 결정된 회전 레이트(rotation rate)에 기초하여, 비콘(110)은 회전의 각 연속 사이클(도 2에 도시되지 않음)에 대해 210, 215 및 220의 동작을 반복한다는 점에 유의한다. 225에서, 비콘(110)은 비콘 패킷을 전송(브로드캐스트)한다. 비콘(110)은 회전의 각 사이클 동안 비콘 패킷을 1회 이상 전송할 수 있다.
230에서, 비콘(110)으로부터 비콘 패킷을 수신한 후, 사이터(120)는 오너(140)에게 보낼 메시지를 생성한다. 선택적으로, 사이터(120)는 비콘 패킷이 수신되었을 때 사이터의 위치와 같은 추가 데이터를 메시지에 포함할 수 있다. 메시지 생성의 일부로서, 사이터(120)는 메시지를 암호화 및 인증하기 위한 공통 대칭 키(k(t))를 추출하고 메시지를 암호화한다. 235에서, 사이터는 메시지를 리졸버(130)에 전송한다.
240에서, 리졸버(130)는 E2EE-EID로부터 비콘(110)의 ID(아이덴티티)를 시간에 기초하여 해석(리졸브)하고 그리고 아이덴티티를 오너(140)의 세트 및 그 오너에 대한 연관된 E2EE-EID와 비교한다. 리졸브가 수신된 메시지에 대한 오너(140)를 식별하면, 리졸브는 245에서 오너(140)에게 메시지를 전달한다. 250에서 오너는 수신된 메시지를 해독(복호화)한다.
정책 제어(Policy Controls)
비콘 패킷의 수신 위치와 같은 정보를 추가하는 사이터(120)의 능력은 하나 이상의 사이터(120)가 비콘(110)을 추적하는 것을 가능하게 할 수 있다. 예를 들어, 비콘(110)은 사람이 휴대하거나 차량에 부착된 장치일 수 있다. 사이터(120)가 오너(140)이기도 한 경우, 사이팅 데이터(sighting data)가 오너에게 이용 가능한 레이트(rate)는 문제가 되지 않을 수 있다. 시간 경과에 따라 비콘(110)의 위치를 크라우드소싱(crowdsource)하기 위해 많은 그룹의 사이터(120)가 사용되는 경우, 추적 데이터(tracking data)가 오너에게 이용가능하게 되는 레이트 및/또는 지연에 대한 정책 제어가 구현될 수 있다. 예를 들어, 사이터(120)가 비콘 패킷을 수신하고 사이터(120)에서 오너(140)로 메시지를 전송하는 것 사이의 최소 시간 기간을 설정하는 정책은 비콘(110)의 실시간 추적(real-time tracking) 능력을 감소시킨다. 다른 예에서, 리졸버(130)에서 메시지를 수신하고 오너(140)에게 메시지를 전달하는 것 사이의 최소 시간 기간은 또한 비콘(110)의 실시간 추적 능력을 감소시킨다. 추가적으로 또는 선택적으로, 비콘 사이팅(beacon sightings)으로부터의 메시지는 실시간 추적의 가능성을 감소시키는 메시지의 배치(batches)의 전송이 지연되면서 사이터(120) 및/또는 리졸버(130)에서 배치로 버퍼링될 수 있다.
예시 방법
예시적인 방법(300 내지 600)은 3자 암호화 핸드셰이크 프로토콜의 하나 이상의 실시예에 따른 각각의 도 3 내지 도 6을 참조하여 설명된다. 방법 블록이 설명되는 순서는 제한으로 해석되지 않으며 설명된 방법 블록의 임의의 수는 건너뛰거나 방법 또는 대체 방법을 구현하는 임의의 순서로 결합될 수 있다. 일반적으로, 여기에 설명된 컴포넌트, 모듈, 방법 및 동작 중 임의의 것은 소프트웨어, 펌웨어, 하드웨어(예: 고정 논리 회로), 메뉴얼 프로세싱, 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 예시적인 방법의 일부 동작은 컴퓨터 처리 시스템에 대해 로컬 및/또는 원격인 컴퓨터 판독 가능 저장 메모리에 저장된 실행 가능한 명령어의 일반적인 맥락에서 설명될 수 있으며, 구현은 소프트웨어 애플리케이션, 프로그램, 기능 등을 포함할 수 있다. 대안적으로 또는 추가적으로, 여기에 설명된 기능 중 하나는 FPGA(Field-programmable Gate Arrays), ASIC(Application-Specific Integrated Circuits), ASSP(Application-Specific Standard Products), SoC(System-on-a-Chip System), 복합 프로그래밍 가능 논리 장치(CPLDs: Complex Programmable Logic Devices) 등(이에 국한되지 않음)과 같은 하나 이상의 하드웨어 논리 컴포넌트에 의해 적어도 부분적으로 수행될 수 있다.
도 3은 사이터로부터 오너에게 메시지를 안전하게 전달하는 것과 일반적으로 관련된 3자 암호화 핸드셰이크 프로토콜의 예시적인 방법(들)(300)을 도시한다. 블록(302)에서, 사이터(예를 들어, 사이터(120))는 비콘(예를 들어, 비콘(110))으로부터 종단간 암호화된 임시 식별자(E2EE-EID)를 포함하는 패킷을 수신한다.
블록(304)에서, 사이터는 오너(예를 들어, 오너(140))에 대한 메시지(예를 들어, 메시지(m))를 생성한다. 블록(306)에서, 사이터는 개인 키(예를 들어, 개인 키, y(t))를 선택한다.
블록(308)에서, 사이터는 개인 키 및 E2EE-EID를 사용하여 교환된 키(예를 들어, 교환된 키, gy(t))를 계산한다. 블록(310)에서, 사이트는 교환된 키로부터 공통 대칭 키(예를 들어, 공통 대칭 키 k(t))를 추출한다. 블록 312에서, 사이터는 공통 대칭 키(common symmetric key)를 사용하여 메시지를 암호화하고, 블록 314에서 사이터는 암호화된 메시지를 오너에게 전송한다.
도 4는 사이터로부터 오너에게 메시지를 안전하게 전달하는 것과 일반적으로 관련된 3자 암호화 핸드셰이크 프로토콜의 예시적인 방법(들)(400)을 도시한다. 블록 402에서, 사이터(예: 사이터(120))는 비콘(예: 비콘(110))으로부터 프록시 값(예: 프록시 값, prox(t))과 랜덤 값(예: 익스포넨셜 g^s)의 익스포넨셜을 포함하는 패킷을 수신한다. 블록(404)에서, 사이터는 프록시 값과 랜덤 값의 익스포넨셜로부터 종단 간 암호화된 임시 식별자(E2EE-EID)를 생성한다.
블록(406)에서, 사이터는 오너(예를 들어, 오너(140))에 대한 메시지(예를 들어, 메시지(m))를 생성한다. 블록(408)에서, 사이터는 개인 키(예를 들어, 개인 키, y(t))를 선택한다.
블록(410)에서, 사이터는 개인 키 및 E2EE-EID를 사용하여 교환된 키(예를 들어, 교환된 키, gy(t))를 계산한다. 블록(412)에서, 사이트는 교환된 키로부터 공통 대칭 키(예를 들어, 공통 대칭 키 k(t))를 추출한다. 블록(414)에서, 사이터는 공통 대칭 키를 사용하여 메시지를 암호화하고, 블록(416)에서 사이터는 암호화된 메시지를 오너에게 전송한다.
도 5는 사이터로부터 오너에게 메시지를 안전하게 전달하는 것과 일반적으로 관련된 3자 암호화 핸드셰이크 프로토콜의 예시적인 방법(들)(500)을 도시한다. 블록(502)에서, 비콘(예를 들어, 비콘(110))은 비콘과 오너 사이에서 공유되는 공통 키를 결정한다. 블록(504)에서, 비콘은 공통 키 및 시간 값을 사용하여 종단 간 암호화된 임시 식별자(E2EE-EID)를 생성한다.
블록(506)에서, 비콘은 E2EE-EID를 포함하는 비콘 패킷을 생성한다. 블록(508)에서, 비콘은 비콘 패킷을 전송하고, 비콘 패킷은 보안 메시지를 오너에게 전송하기 위해 사이터(예를 들어, 사이터(120))에 의해 사용가능하다.
도 6은 사이터로부터 오너에게 메시지를 안전하게 전달하는 것과 일반적으로 관련된 3자 암호화 핸드셰이크 프로토콜의 예시적인 방법(들)(600)을 도시한다. 블록(602)에서, 비콘(예를 들어, 비콘(110))은 비콘과 오너(예를 들어, 오너(140)) 사이에서 공유되는 (예: 익스포넨셜(g^s) 및 랜덤 값(s)) 랜덤 값의 익스포넨셜을 생성한다. 블록(604)에서, 비콘은 랜덤 값의 익스포넨셜과 랜덤 값을 저장한다.
블록(606)에서, 비콘은 랜덤 값의 승법 역수(예: multiplicative inverse(A))를 생성한다. 블록(608)에서, 비콘은 랜덤 값의 승법 역수를 저장한다. 블록(610)에서, 비콘은 시간 값 및 승법 역수의 저장된 값을 사용하여 프록시 값(예를 들어, 프록시 값, prox(t))을 생성한다.
블록(612)에서, 비콘은 프록시 값 및 랜덤 값의 익스포넨셜을 포함하는 비콘 패킷을 생성한다. 블록 614에서, 비콘은 비콘 패킷을 전송하며, 전송은 사이터(예: 사이터(120))가 보안 메시지를 오너에게 전송하는 데 사용할 수 있는 종단 간 암호화된 임시 식별자(E2EE-EID)를 생성하도록 하는 데 효과적이다.
예시 장치
도 7은 사이터(120), 리졸버(130) 또는 오너(140)와 같은 본 명세서에 기술된 3자 암호화 핸드셰이크 프로토콜(three-party cryptographic handshake protocol)의 하나 이상의 실시예에 따라 네트워크에서 임의의 네트워크 장치로서 구현될 수 있는 예시적인 네트워크 장치(700)를 도시한다. 네트워크 장치(700)는 전자 회로, 마이크로프로세서, 메모리, 입력 출력(I/O) 논리 컨트롤(제어), 통신 인터페이스 및 컴포넌트 뿐만 아니라 다른 하드웨어, 펌웨어, 및/또는 소프트웨어와 통합되어 네트워크에서 장치를 구현할 수 있다.
이 예에서, 네트워크 장치(700)는 실행 가능한 명령어를 처리하는 저전력 마이크로프로세서(702) 및/또는 고전력 마이크로프로세서(704)(예: 마이크로제어기 또는 디지털 신호 프로세서)를 포함한다. 장치는 또한 입력-출력(I/O) 논리 제어(706)(예를 들어, 전자 회로를 포함하기 위해)를 포함한다. 마이크로프로세서는 집적 회로의 컴포넌트, 프로그램 가능 논리 장치, 하나 이상의 반도체를 사용하여 형성된 논리 장치, 그리고 시스템 온 칩(SoC: system-on-chip)으로 구현되는 프로세서 및 메모리 시스템과 같은 실리콘 및/또는 하드웨어의 기타 구현을 포함할 수 있다. 대안적으로 또는 추가로, 장치는 소프트웨어, 하드웨어, 펌웨어, 또는 프로세싱 및 제어 회로로 구현될 수 있는 고정 논리 회로 중 임의의 하나 또는 조합으로 구현될 수 있다. 저전력 마이크로프로세서(702) 및 고전력 마이크로프로세서(704)는 또한 장치의 하나 이상의 상이한 장치 기능을 지원할 수 있다. 예를 들어, 고전력 마이크로프로세서(704)는 계산 집약적인 연산을 실행할 수 있으며, 저전력 마이크로프로세서(702)는 하나 이상의 센서(708)로부터 위험 또는 온도를 검출하는 것과 같은 덜 복잡한 프로세스를 관리할 수 있다. 저전력 프로세서(702)는 또한 계산 집약적 프로세스를 위해 고전력 프로세서(704)를 깨우거나 초기화할 수 있다.
하나 이상의 센서(708)는 가속도, 온도, 습도, 물, 공급 전원, 근접, 외부 움직임, 장치 움직임, 소리 신호, 초음파 신호, 광 신호, 화재, 연기, 일산화탄소, 위성 위치 확인(GPS) 신호, 무선 주파수(RF), 기타 전자기 신호 또는 필드 등과 같이 다양한 특성을 검출하기 위해 포함되고 구현될 수 있다. 이와 같이, 센서(708)는 온도 센서, 습도 센서, 위험 관련 센서, 기타 환경 센서, 가속도계, 마이크로폰, 카메라를 포함한 광학 센서(예: CCD(charged coupled-device) 또는 비디오 카메라), 능동 또는 수동 방사선 센서, GPS 수신기 및 무선 주파수 식별 검출기 중 어느 하나를 포함하거나 이들의 조합을 포함할 수 있다. 구현에서, 네트워크 장치(700)는 하나 이상의 1차 센서뿐만 아니라 장치의 핵심 동작에 중심적인 데이터를 검출(예: 온도 조절기의 온도 검출 또는 연기 검출기의 연기 검출)하는 1차 센서와 같은 하나 이상의 2차 센서를 포함할 수 있는 반면, 2차 센서는 에너지 효율성 목표 또는 스마트 운영 목표에 사용할 수 있는 다른 유형의 데이터(예: 움직임, 빛 또는 소리)를 검출할 수 있다.
네트워크 장치(700)는 메모리 장치 제어기(710) 및 임의의 유형의 비휘발성 메모리 및/또는 다른 적절한 전자 데이터 저장 장치와 같은 메모리 장치(712)를 포함한다. 네트워크 장치(700)는 또한 메모리에 의해 컴퓨터 실행가능 명령어로 유지되고 마이크로프로세서에 의해 실행되는 운영 체제(714)와 같은 다양한 펌웨어 및/또는 소프트웨어를 포함할 수 있다. 장치 소프트웨어는 또한 3자 암호화 핸드셰이크 프로토콜의 실시예를 구현하는 메시징 애플리케이션(716)을 포함할 수 있다. 네트워크 장치(700)는 또한 다른 디바이스 또는 주변 컴포넌트와 인터페이스하기 위한 장치 인터페이스(718)를 포함하고 컴포넌트들 간의 데이터 통신을 위해 무선 네트워크 장치의 다양한 컴포넌트들을 연결하는 통합 데이터 버스(720)를 포함한다. 무선 네트워크 장치의 데이터 버스는 또한 다른 버스 구조 및/또는 버스 아키텍처 중 하나 또는 조합으로 구현될 수 있다.
장치 인터페이스(718)는 사용자로부터 입력을 수신하고 및/또는 사용자에게 정보를 (예: 사용자 인터페이스로) 제공할 수 있고, 수신된 입력은 설정을 결정하는데 사용될 수 있다. 장치 인터페이스(718)는 또한 사용자 입력에 응답하는 기계적 또는 가상 컴포넌트를 포함할 수 있다. 예를 들어, 사용자는 슬라이딩 또는 회전 가능한 컴포넌트를 기계적으로 움직일 수 있거나, 터치패드에 따라 움직임이 검출될 수 있으며, 이러한 움직임은 장치의 설정 조정에 해당할 수 있다. 물리적 및 가상의 이동 가능한 사용자 인터페이스 컴포넌트를 통해 사용자는 명백한 연속체의 일부를 따라 세팅(설정)을 설정할 수 있다. 장치 인터페이스(718)는 또한 버튼, 키패드, 스위치, 마이크로폰, 및 이미저(예를 들어, 카메라 장치)와 같은 임의의 수의 주변기기로부터 입력을 수신할 수 있다.
네트워크 장치(700)는 무선 네트워크에서 다른 무선 네트워크 장치들과의 통신을 위한 무선 네트워크 인터페이스와 같은 네트워크 인터페이스들(722), 및 인터넷을 통한 것과 같은 네트워크 통신을 위한 외부 네트워크 인터페이스를 포함할 수 있다. 네트워크 장치(700)는 또한 무선 네트워크 인터페이스를 통해 다른 무선 네트워크 장치와 무선 통신하기 위한 무선 라디오 시스템(724) 및 다수의 상이한 무선 통신 시스템을 포함한다. 무선 라디오 시스템(724)은 Wi-Fi, BluetoothTM, BLE, 모바일 광대역, 및/또는 점대점 IEEE 802.15.4를 포함할 수 있다. 서로 다른 무선 시스템 각각은 특정 무선 통신 기술을 위해 구현되는 무선 장치, 안테나 및 칩셋을 포함할 수 있다. 네트워크 장치(700)는 또한 배터리와 같은 전원(726)을 포함하고/하거나 장치를 라인 전압에 연결한다. AC 전원을 사용하여 장치의 배터리를 충전할 수도 있다.
도 8은 본 명세서에 기술된 바와 같은 3자 암호화 핸드셰이크 프로토콜의 하나 이상의 실시예에 따라 네트워크에서 비콘 장치(110)로서 구현될 수 있는 예시적인 비콘 장치(800)를 도시한다. 비콘 장치(800)는 전자 회로, 마이크로프로세서, 메모리, 입력 출력(I/O) 논리 제어, 통신 인터페이스 및 컴포넌트뿐만 아니라 네트워크에서 장치를 구현하기 위한 다른 하드웨어, 펌웨어 및/또는 소프트웨어와 통합될 수 있다.
이 예에서, 비콘 장치(800)는 실행 가능한 명령어를 처리하는 하나 이상의 프로세서(802)(예를 들어, 마이크로제어기 또는 디지털 신호 프로세서)를 포함한다. 장치는 또한 입력-출력(I/O) 논리 컨트롤(제어)(804)(예를 들어, 전자 회로를 포함하기 위해)를 포함한다. 프로세서(들)는 집적 회로의 컴포넌트, 프로그램 가능 논리 장치, 하나 이상의 반도체를 사용하여 형성된 논리 장치, 및 SoC(system-on-chip)로 구현된 프로세서 및 메모리 시스템과 같은 실리콘 및/또는 하드웨어의 다른 구현을 포함할 수 있다. 대안적으로 또는 추가로, 장치는 소프트웨어, 하드웨어, 펌웨어, 또는 프로세싱 및 제어 회로로 구현될 수 있는 고정 논리 회로 중 임의의 하나 또는 조합으로 구현될 수 있다.
선택적으로 또는 추가적으로, 하나 이상의 센서(806)는, 가속도, 온도, 습도, 물, 공급 전원, 근접, 외부 모션, 장치 모션, 소리 신호, 초음파 신호, 광 신호, 불, 연기, 일산화탄소, 위성 위치 확인(GPS) 신호, 무선 주파수(RF), 기타 전자기 신호 또는 필드 등과 같은 다양한 속성을 검출하도록 구현될 수 있다. 이와 같이, 센서(806)는 온도 센서, 습도 센서, 위험 관련 센서, 기타 환경 센서, 가속도계, 마이크로폰, 카메라를 포함한 광학 센서(예: CCD(charged coupled-device) 또는 비디오 카메라), 능동 또는 수동 방사선 센서, GPS 수신기 및 무선 주파수 식별 검출기 중에서 어느 하나를 포함하거나, 이들의 조합을 포함할 수 있다. 구현에서, 비콘 장치(800)는 하나 이상의 1차 센서뿐만 아니라 장치의 핵심 동작에 중심적인 데이터를 검출(예: 온도 조절기의 온도 검출 또는 연기 검출기의 연기 검출)하는 1차 센서와 같은 하나 이상의 2차 센서를 포함할 수 있거, 반면 2차 센서는 에너지 효율성 목표 또는 스마트 운영 목표에 사용할 수 있는 다른 유형의 데이터(예: 모션, 빛 또는 소리)를 검출할 수 있다.
비콘 장치(800)는 임의의 유형의 비휘발성 메모리 및/또는 다른 적절한 전자 데이터 저장 장치와 같은 메모리(808)를 포함한다. 비콘 장치(800)는 또한 메모리에 의해 컴퓨터 실행가능 명령어로 유지되고 프로세서에 의해 실행되는 운영 체제(810)와 같은 다양한 펌웨어 및/또는 소프트웨어를 포함할 수 있다. 장치 소프트웨어는 또한 3자 암호화 핸드셰이크 프로토콜 프로토콜의 실시예를 구현하는 비커닝(beaconing) 애플리케이션(812)을 포함할 수 있다. 선택적으로 또는 추가적으로, 비콘 장치(800)는 또한 다른 장치 또는 주변 컴포넌트와 인터페이스하기 위한 장치 인터페이스(814)를 포함한다. 비콘 장치(800)는 컴포넌트들 간의 데이터 통신을 위해 비콘 장치의 다양한 컴포넌트를 결합하는 통합 데이터 버스(816)를 포함한다. 비콘 장치의 데이터 버스는 또한 다른 버스 구조 및/또는 버스 아키텍처 중 하나 또는 이들의 조합으로 구현될 수 있다.
장치 인터페이스(814)는 사용자로부터 입력을 수신하고 및/또는 사용자에게 정보를 (예: 사용자 인터페이스로) 제공할 수 있고, 수신된 입력은 설정을 결정하기 위해 사용될 수 있다. 장치 인터페이스(814)는 또한 사용자 입력에 응답하는 기계적 또는 가상 컴포넌트를 포함할 수 있다. 예를 들어, 사용자는 슬라이딩 또는 회전 가능한 컴포넌트를 기계적으로 움직일 수 있거나, 터치패드에 따라 움직임이 검출될 수 있으며, 이러한 움직임은 장치의 설정 조정에 해당할 수 있다. 물리적 및 가상의 이동 가능한 사용자 인터페이스 컴포넌트를 통해 사용자는 명백한 연속체의 일부를 따라 설정을 설정할 수 있다. 장치 인터페이스(814)는 또한 버튼, 키패드, 스위치, 마이크로폰, 및 이미저(예를 들어, 카메라 장치)와 같은 임의의 수의 주변기기로부터 입력을 수신할 수 있다.
비콘 장치(800)는 무선 통신을 위한 무선 라디오 시스템(818)을 포함할 수 있다. 무선 라디오 시스템(818)은 Wi-Fi, BluetoothTM, BLE, 모바일 광대역, 및/또는 점대점 IEEE 802.15.4를 포함할 수 있다. 무선 라디오 시스템(818)은 특정 무선 통신 기술을 위해 구현되는 무선 장치, 안테나, 및 칩셋을 포함할 수 있다. 비콘 장치(800)는 또한 배터리와 같은 전원(820)을 포함하고/하거나 장치를 라인 전압에 연결한다. AC 전원을 사용하여 장치의 배터리를 충전할 수도 있다.
다음 텍스트에는 몇 가지 예가 설명되어 있다.
예 1: 사이터(sighter)로부터 오너(owner)에게 메시지를 안전하게 전달하는 방법으로서, 방법은,
E2EE-EID(end-to-end encrypted ephemeral identifier)를 포함하는 패킷을 비콘으로부터 수신하는 단계;
상기 오너에 대한 상기 메시지를 생성하는 단계;
개인 키를 선택하는 단계;
상기 개인 키 및 상기 E2EE-EID를 사용하여 교환된 키(exchanged key)를 계산하는 단계;
상기 교환된 키로부터 공통 대칭 키를 추출하는 단계;
상기 공통 대칭 키를 사용하여 상기 메시지를 암호화하는 단계; 그리고
상기 암호화된 메시지를 상기 오너에게 전송하는 단계를 포함한다.
예 2: 예 1의 방법에 있어서, 상기 방법은,
상기 사이터에 의해, 상기 패킷의 데이터를 상기 비콘으로부터 수신하는 단계를 더 포함하며; 그리고
상기 오너에 대한 상기 메시지를 생성하는 단계는 상기 사이터에 의해, 상기 오너에 대한 상기 메시지에 상기 수신된 데이터를 포함하는 단계를 포함한다.
예 3: 예 1 또는 예 2에 있어서, 상기 오너에 대한 메시지를 생성하는 단계는,
상기 사이터에 의해, 상기 메시지에 상기 사이터로부터의 데이터를 포함하는 단계를 포함한다.
예 4: 예 3의 방법에서, 상기 사이터로부터의 상기 데이터는 상기 사이터가 상기 비콘으로부터 상기 패킷을 수신할 때 상기 사이터의 위치를 포함한다.
예 5: 선행하는 예 중 어느 하나의 방법에서, 상기 방법은, 상기 사이터에 의해,
상기 비콘 및 상기 패킷 내에서, 상기 패킷에 대한 인증 태그를 수신하는 단계를 더 포함하며; 그리고
상기 오너에 대한 메시지를 생성하는 단계는 상기 사이터에 의해, 상기 오너에 대한 상기 메시지에 상기 인증 태그를 포함하는 단계를 포함한다.
예 6: 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법으로서, 방법은,
비콘으로부터, 프록시 값과 랜덤 값의 익스포넨셜(exponentiation)을 포함하는 패킷을 수신하는 단계;
상기 프록시 값과 랜덤 값의 익스포넨셜로부터 E2EE-EID(end-to-end encrypted ephemeral identifier)를 생성하는 단계;
상기 오너에 대한 상기 메시지를 생성하는 단계;
개인 키를 선택하는 단계;
상기 개인 키 및 상기 E2EE-EID를 사용하여 교환된 키를 계산하는 단계;
상기 교환된 키로부터 공통 대칭 키를 추출하는 단계;
상기 공통 대칭 키를 사용하여 상기 메시지를 암호화하는 단계; 그리고
상기 암호화된 메시지를 상기 오너에게 전송하는 단계를 포함한다.
예 7: 예 6의 방법에 있어서, 상기 방법은,
상기 사이터에 의해, 상기 비콘으로부터 상기 패킷의 데이터를 수신하는 단계를 더 포함하며; 그리고
상기 오너에 대한 메시지를 생성하는 단계는 상기 사이터에 의해 상기 오너에 대한 상기 메시지에 상기 수신된 데이터를 포함하는 단계를 포함한다.
예 8: 예 6 또는 예 7의 방법에서, 상기 오너에 대한 메시지를 생성하는 단계는, 상기 사이터에 의해, 상기 메시지에 상기 사이터로부터의 데이터를 포함하는 단계를 포함한다.
예 9: 예 8의 방법에서, 상기 사이터로부터의 데이터는 상기 사이터가 상기 비콘으로부터 상기 패킷을 수신할 때 상기 사이터의 위치를 포함한다.
예 10: 예 6 내지 예 9 중 어느 한 예에 있어서, 상기 방법은,
상기 사이터에 의해, 상기 비콘으로부터 그리고 상기 패킷 내에서, 상기 패킷에 대한 인증 태그를 수신하는 단계를 더 포함하며; 그리고
상기 오너에 대한 메시지를 생성하는 단계는 상기 사이터에 의해 상기 오너에 대한 상기 메시지에 상기 인증 태그를 포함하는 단계를 포함한다.
예 11: 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법으로서, 방법은, 상기 비콘에 의해,
상기 비콘과 상기 오너 간에 공유되는 공통 키를 결정하는 단계;
상기 공통 키 및 시간 값을 사용하여 E2EE-EID(end-to-end encrypted ephemeral identifier)를 생성하는 단계;
상기 E2EE-EID를 포함하는 비콘 패킷을 생성하는 단계; 그리고
상기 비콘 패킷을 전송하는 단계를 포함하며, 상기 비콘 패킷은 보안 메시지를 상기 오너에게 전송하기 위해 사이터가 사용할 수 있다.
예 12: 예 11에 있어서, 상기 비콘 패킷을 생성하는 단계는, 상기 비콘에 의해, 상기 비콘 패킷에 데이터를 포함하는 단계를 포함한다.
예 13: 예 12의 방법에서, 상기 데이터는 상기 비콘에 포함된 센서로부터의 데이터이다.
예 14: 예 11 내지 예 13 중 어느 한 예에 있어서, 상기 방법은,
상기 비콘에 의해, 상기 비콘 패킷에 대한 인증 태그를 생성하는 단계를 더 포함하며; 그리고
상기 비콘 패킷을 생성하는 단계는 상기 비콘에 의해 상기 비콘 패킷에 상기 인증 태그를 포함하는 단계를 포함한다.
예 15: 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법으로서, 방법은, 상기 비콘에 의해,
상기 비콘과 상기 오너 간에 공유되는 랜덤 값의 익스포넨셜을 생성하는 단계;
상기 랜덤 값과 상기 랜덤 값의 익스포넨셜을 저장하는 단계;
상기 랜덤 값의 승법 역수(multiplicative inverse)를 생성하는 단계;
상기 랜덤 값의 승법 역수를 저장하는 단계;
상기 저장된 승법 역수의 값과 시간 값을 이용하여 프록시 값을 생성하는 단계;
상기 프록시 값과 상기 랜덤 값의 익스포넨셜을 포함하는 비콘 패킷을 생성하는 단계; 그리고
상기 비콘 패킷을 전송하는 단계를 포함하며, 상기 전송하는 것은 사이터가 보안 메시지를 상기 오너에게 전송하는 데 사용할 수 있는 E2EE-EID(end-to-end encrypted ephemeral identifier)를 생성하도록 하는 데 효과적이다.
예 16: 예 15에 있어서, 상기 비콘 패킷을 생성하는 단계는, 상기 비콘에 의해 상기 비콘 패킷에 데이터를 포함하는 단계를 포함한다.
예 17: 예 16의 방법에서, 상기 데이터는 상기 비콘에 포함된 센서로부터의 데이터이다.
예 18: 예 15 내지 예 17 중 어느 한 예에 있어서, 상기 방법은,
상기 비콘에 의해, 상기 비콘 패킷에 대한 인증 태그를 생성하는 단계를 더 포함하며; 그리고
상기 비콘 패킷을 생성하는 단계는 상기 비콘에 의해 상기 비콘 패킷에 상기 인증 태그를 포함하는 단계를 포함한다.
예 19: 전자 장치로서,
무선 송수신기;
프로세서; 그리고
예 1 내지 18 중 어느 한 예의 방법을 수행하도록 상기 전자 장치를 구성하기 위해 상기 프로세서에 의해 실행 가능한 명령어를 포함한다.
예 20: 컴퓨터 판독가능 저장 매체로서, 컴퓨터 판독가능 저장 매체는, 프로세서에 의한 실행에 응답하여, 예 1 내지 예 18 중 어느 하나에 기재된 방법이 수행되게 하는 명령어를 포함한다.
3자 암호화 핸드셰이크 프로토콜의 실시예가 특징 및/또는 방법에 특정한 언어로 설명되었지만, 첨부된 청구범위의 주제는 설명된 특정 특징 또는 방법에 반드시 제한되지는 않는다. 오히려, 특정 특징 및 방법은 3자 암호화 핸드셰이크 프로토콜의 예시적인 구현으로서 개시되고, 다른 동등한 특징 및 방법은 첨부된 청구범위 내에 있는 것으로 의도된다. 또한, 다양한 상이한 실시예가 설명되고, 각각의 설명된 실시예는 독립적으로 또는 하나 이상의 다른 설명된 실시예와 관련하여 구현될 수 있음을 이해해야 한다.

Claims (20)

  1. 사이터(sighter)로부터 오너(owner)에게 메시지를 안전하게 전달하는 방법으로서,
    E2EE-EID(end-to-end encrypted ephemeral identifier)를 포함하는 패킷을 비콘으로부터 수신하는 단계;
    상기 오너에 대한 상기 메시지를 생성하는 단계;
    개인 키를 선택하는 단계;
    상기 개인 키 및 상기 E2EE-EID를 사용하여 교환된 키(exchanged key)를 계산하는 단계;
    상기 교환된 키로부터 공통 대칭 키를 추출하는 단계;
    상기 공통 대칭 키를 사용하여 상기 메시지를 암호화하는 단계; 그리고
    상기 암호화된 메시지를 상기 오너에게 전송하는 단계를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  2. 제1항에 있어서, 상기 방법은,
    상기 사이터에 의해, 상기 패킷의 데이터를 상기 비콘으로부터 수신하는 단계를 더 포함하며; 그리고
    상기 오너에 대한 상기 메시지를 생성하는 단계는 상기 사이터에 의해, 상기 오너에 대한 상기 메시지에 상기 수신된 데이터를 포함하는 단계를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 오너에 대한 메시지를 생성하는 단계는,
    상기 사이터에 의해, 상기 메시지에 상기 사이터로부터의 데이터를 포함하는 단계를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  4. 제3항에 있어서, 상기 사이터로부터의 상기 데이터는 상기 사이터가 상기 비콘으로부터 상기 패킷을 수신할 때 상기 사이터의 위치를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  5. 선행하는 청구항 중 어느 한 항에 있어서, 상기 방법은, 상기 사이터에 의해,
    상기 비콘 및 상기 패킷 내에서, 상기 패킷에 대한 인증 태그를 수신하는 단계를 더 포함하며; 그리고
    상기 오너에 대한 메시지를 생성하는 단계는 상기 사이터에 의해, 상기 오너에 대한 상기 메시지에 상기 인증 태그를 포함하는 단계를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  6. 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법으로서,
    비콘으로부터, 프록시 값과 랜덤 값의 익스포넨셜(exponentiation)을 포함하는 패킷을 수신하는 단계;
    상기 프록시 값과 랜덤 값의 익스포넨셜로부터 E2EE-EID(end-to-end encrypted ephemeral identifier)를 생성하는 단계;
    상기 오너에 대한 상기 메시지를 생성하는 단계;
    개인 키를 선택하는 단계;
    상기 개인 키 및 상기 E2EE-EID를 사용하여 교환된 키를 계산하는 단계;
    상기 교환된 키로부터 공통 대칭 키를 추출하는 단계;
    상기 공통 대칭 키를 사용하여 상기 메시지를 암호화하는 단계; 그리고
    상기 암호화된 메시지를 상기 오너에게 전송하는 단계를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  7. 제6항에 있어서, 상기 방법은,
    상기 사이터에 의해, 상기 비콘으로부터 상기 패킷의 데이터를 수신하는 단계를 더 포함하며; 그리고
    상기 오너에 대한 메시지를 생성하는 단계는 상기 사이터에 의해 상기 오너에 대한 상기 메시지에 상기 수신된 데이터를 포함하는 단계를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  8. 제6항 또는 제7항에 있어서, 상기 오너에 대한 메시지를 생성하는 단계는,
    상기 사이터에 의해, 상기 메시지에 상기 사이터로부터의 데이터를 포함하는 단계를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  9. 제8항에 있어서, 상기 사이터로부터의 데이터는 상기 사이터가 상기 비콘으로부터 상기 패킷을 수신할 때 상기 사이터의 위치를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서, 상기 방법은,
    상기 사이터에 의해, 상기 비콘으로부터 그리고 상기 패킷 내에서, 상기 패킷에 대한 인증 태그를 수신하는 단계를 더 포함하며; 그리고
    상기 오너에 대한 메시지를 생성하는 단계는 상기 사이터에 의해 상기 오너에 대한 상기 메시지에 상기 인증 태그를 포함하는 단계를 포함하는 것을 특징으로 하는 사이터로부터 오너에게 메시지를 안전하게 전달하는 방법.
  11. 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법으로서, 상기 비콘에 의해,
    상기 비콘과 상기 오너 간에 공유되는 공통 키를 결정하는 단계;
    상기 공통 키 및 시간 값을 사용하여 E2EE-EID(end-to-end encrypted ephemeral identifier)를 생성하는 단계;
    상기 E2EE-EID를 포함하는 비콘 패킷을 생성하는 단계; 그리고
    상기 비콘 패킷을 전송하는 단계를 포함하며, 상기 비콘 패킷은 보안 메시지를 상기 오너에게 전송하기 위해 사이터가 사용할 수 있는 것을 특징으로 하는 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법.
  12. 제11항에 있어서, 상기 비콘 패킷을 생성하는 단계는, 상기 비콘에 의해, 상기 비콘 패킷에 데이터를 포함하는 단계를 포함하는 것을 특징으로 하는 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법.
  13. 제12항에 있어서, 상기 데이터는 상기 비콘에 포함된 센서로부터의 데이터인 것을 특징으로 하는 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 상기 방법은,
    상기 비콘에 의해, 상기 비콘 패킷에 대한 인증 태그를 생성하는 단계를 더 포함하며; 그리고
    상기 비콘 패킷을 생성하는 단계는 상기 비콘에 의해 상기 비콘 패킷에 상기 인증 태그를 포함하는 단계를 포함하는 것을 특징으로 하는 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법.
  15. 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법으로서, 상기 비콘에 의해,
    상기 비콘과 상기 오너 간에 공유되는 랜덤 값의 익스포넨셜을 생성하는 단계;
    상기 랜덤 값과 상기 랜덤 값의 익스포넨셜을 저장하는 단계;
    상기 랜덤 값의 승법 역수(multiplicative inverse)를 생성하는 단계;
    상기 랜덤 값의 승법 역수를 저장하는 단계;
    상기 저장된 승법 역수의 값과 시간 값을 이용하여 프록시 값을 생성하는 단계;
    상기 프록시 값과 상기 랜덤 값의 익스포넨셜을 포함하는 비콘 패킷을 생성하는 단계; 그리고
    상기 비콘 패킷을 전송하는 단계를 포함하며, 상기 전송하는 것은 사이터가 보안 메시지를 상기 오너에게 전송하는 데 사용할 수 있는 E2EE-EID(end-to-end encrypted ephemeral identifier)를 생성하도록 하는 데 효과적인 것을 특징으로 하는 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법.
  16. 제15항에 있어서, 상기 비콘 패킷을 생성하는 단계는, 상기 비콘에 의해 상기 비콘 패킷에 데이터를 포함하는 단계를 포함하는 것을 특징으로 하는 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법.
  17. 제16항에 있어서, 상기 데이터는 상기 비콘에 포함된 센서로부터의 데이터인 것을 특징으로 하는 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 방법은,
    상기 비콘에 의해, 상기 비콘 패킷에 대한 인증 태그를 생성하는 단계를 더 포함하며; 그리고
    상기 비콘 패킷을 생성하는 단계는 상기 비콘에 의해 상기 비콘 패킷에 상기 인증 태그를 포함하는 단계를 포함하는 것을 특징으로 하는 비콘으로부터 오너에게 메시지를 안전하게 전달하는 방법.
  19. 전자 장치로서,
    무선 송수신기;
    프로세서; 그리고
    청구항 1 내지 18 중 어느 한 항의 방법을 수행하도록 상기 전자 장치를 구성하기 위해 상기 프로세서에 의해 실행 가능한 명령어를 포함하는 것을 특징으로 하는 전자 장치.
  20. 프로세서에 의한 실행에 응답하여, 청구항 1 내지 18 중 어느 한 항에 기재된 방법이 수행되게 하는 명령어를 포함하는 컴퓨터 판독가능 저장 매체.
KR1020227038622A 2020-04-15 2021-04-05 3자 암호화 핸드셰이크 프로토콜 KR20220164560A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063010288P 2020-04-15 2020-04-15
US63/010,288 2020-04-15
PCT/US2021/025733 WO2021211314A1 (en) 2020-04-15 2021-04-05 Three-party cryptographic handshake protocol

Publications (1)

Publication Number Publication Date
KR20220164560A true KR20220164560A (ko) 2022-12-13

Family

ID=75674992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227038622A KR20220164560A (ko) 2020-04-15 2021-04-05 3자 암호화 핸드셰이크 프로토콜

Country Status (6)

Country Link
US (1) US11930356B2 (ko)
EP (1) EP3942774A1 (ko)
JP (1) JP7569387B2 (ko)
KR (1) KR20220164560A (ko)
CN (1) CN113841357B (ko)
WO (1) WO2021211314A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11528601B1 (en) 2021-06-09 2022-12-13 T-Mobile Usa, Inc. Determining and ameliorating wireless telecommunication network functionalities that are impaired when using end-to-end encryption
US11804951B2 (en) * 2021-07-19 2023-10-31 Infineon Technologies Ag Advanced sensor security protocol

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659617A (en) * 1994-09-22 1997-08-19 Fischer; Addison M. Method for providing location certificates
US7409545B2 (en) * 2003-09-18 2008-08-05 Sun Microsystems, Inc. Ephemeral decryption utilizing binding functions
JP2007011585A (ja) 2005-06-29 2007-01-18 Sony Corp コンテンツ転送装置,コンテンツ転送方法,およびコンピュータプログラム
FI20075776L (fi) * 2007-10-31 2009-05-01 Eads Secure Networks Oy Päästä-päähän salattu viestintä
US8898468B2 (en) 2009-12-08 2014-11-25 Bae Systems Information And Electronic Systems Integration Inc. Method for ensuring security and privacy in a wireless cognitive network
US20130217333A1 (en) 2012-02-22 2013-08-22 Qualcomm Incorporated Determining rewards based on proximity of devices using short-range wireless broadcasts
JP5945525B2 (ja) 2013-09-30 2016-07-05 日本電信電話株式会社 鍵交換システム、鍵交換装置、その方法、及びプログラム
WO2015106248A1 (en) 2014-01-13 2015-07-16 Visa International Service Association Efficient methods for protecting identity in authenticated transmissions
CN111355749A (zh) * 2014-06-18 2020-06-30 维萨国际服务协会 用于已认证的通信的高效方法
US9603013B2 (en) 2014-08-15 2017-03-21 Facebook, Inc. Bluetooth beacon protocol
EP3320711B1 (en) * 2015-07-09 2020-12-16 Google LLC Security for wireless broadcasts
US9705859B2 (en) * 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
CN114826673A (zh) 2016-07-06 2022-07-29 华为技术有限公司 一种传输数据的保护系统、方法及装置
SG10201609247YA (en) * 2016-11-04 2018-06-28 Huawei Int Pte Ltd System and method for configuring a wireless device for wireless network access
WO2018093683A1 (en) 2016-11-18 2018-05-24 Pcms Holdings, Inc. Systems and methods for detection of wireless beacon cloning
US11212100B2 (en) * 2017-03-23 2021-12-28 Moovel North America, Llc Systems and methods of providing and electronically validating tickets and tokens
SG10201706513XA (en) 2017-08-10 2019-03-28 Sitechexport Pte Ltd End-to-end encrypted protocol structure for Peer-to-Peer messaging
US10498705B2 (en) * 2017-11-15 2019-12-03 Visa International Service Association Dynamic offline encryption
US10938792B2 (en) * 2018-01-31 2021-03-02 Dell Products L.P. Layered encryption for end to end communication
WO2019241605A1 (en) * 2018-06-13 2019-12-19 Konstantinos Bakalis Systems and methods for secure access to property or information using blockchain
US11641563B2 (en) 2018-09-28 2023-05-02 Apple Inc. System and method for locating wireless accessories
US10966086B2 (en) * 2018-11-08 2021-03-30 Palo Alto Research Center Incorporated System and method for securely enabling a user with a mobile device to access the capabilities of a standalone computing device
US11177955B2 (en) * 2019-01-23 2021-11-16 Apple Inc. Device-to-device messaging protocol
DE112021002632T5 (de) * 2020-05-06 2023-04-13 Noodle Technology Inc. Kontaktverfolgung zwischen arbeitern und angestellten

Also Published As

Publication number Publication date
JP7569387B2 (ja) 2024-10-17
CN113841357A (zh) 2021-12-24
US11930356B2 (en) 2024-03-12
CN113841357B (zh) 2024-08-09
WO2021211314A1 (en) 2021-10-21
EP3942774A1 (en) 2022-01-26
JP2023528576A (ja) 2023-07-05
US20220124491A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
JP6923611B2 (ja) サービス層におけるコンテンツセキュリティ
Malik et al. A survey of key bootstrapping protocols based on public key cryptography in the Internet of Things
US9749134B2 (en) Wireless configuration using passive near field communication
CN109314705B (zh) 使用组加密密钥的用于大规模可伸缩动态多点虚拟私有网络的系统、装置和方法
US20170338959A1 (en) Method and apparatus for providing service on basis of identifier of user equipment
US20170180122A1 (en) Privacy Preserving Group Formation with Distributed Content Key Generation
KR101762013B1 (ko) Two factor 통신 채널을 활용한 사물기기의 등록 및 비밀키 설정 방법
US11930356B2 (en) Three-party cryptographic handshake protocol
WO2020039252A1 (en) System and method for verifying device security
Concone et al. SMCP: a Secure Mobile Crowdsensing Protocol for fog-based applications
Wisse et al. A 2 RID—Anonymous Direct Authentication and Remote Identification of Commercial Drones
WO2017110969A1 (ja) 無線通信システム、サーバ、端末、無線通信方法、および、プログラム
US11153344B2 (en) Establishing a protected communication channel
US20210336781A1 (en) Network device, method for security and computer readable storage medium
Hegde et al. A novel key management protocol for vehicular cloud security
US20230308298A1 (en) Encrypted Response Timing for Presence Detection
US20230132742A1 (en) End-to-End Encrypted Location-Finding
Sudarsono et al. An Implementation of Secure Monitoring System to Track Member in A Tour Group Using Group Signature
Kasza et al. Siren: Secure data sharing over P2P and F2F networks
Federico et al. SMCP: a Secure Mobile Crowdsensing Protocol for fog-based applications
Kolapwar et al. Location based data encryption methods and applications
Srikant et al. Empower Updation of Ensured Location in Geosocial Applications
Javali Security Mechanisms for Personal Devices Employing Wireless Channel Characteristics
Chen et al. A mutual authentication and key establishment scheme for peer to peer network scenario
Rafferty et al. A Secure, Out-of-Band, Mechanism to Manage Internet of Things Devices