KR20130041985A - 프로브를 이용한 2개의 장치 간의 보안 무선 링크 - Google Patents

프로브를 이용한 2개의 장치 간의 보안 무선 링크 Download PDF

Info

Publication number
KR20130041985A
KR20130041985A KR1020137004954A KR20137004954A KR20130041985A KR 20130041985 A KR20130041985 A KR 20130041985A KR 1020137004954 A KR1020137004954 A KR 1020137004954A KR 20137004954 A KR20137004954 A KR 20137004954A KR 20130041985 A KR20130041985 A KR 20130041985A
Authority
KR
South Korea
Prior art keywords
accessory
controller
probe
pairing
wireless network
Prior art date
Application number
KR1020137004954A
Other languages
English (en)
Other versions
KR101462361B1 (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 KR20130041985A publication Critical patent/KR20130041985A/ko
Application granted granted Critical
Publication of KR101462361B1 publication Critical patent/KR101462361B1/ko

Links

Images

Classifications

    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • 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
    • 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
    • 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/3215Cryptographic 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 a plurality of channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

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

Abstract

네트워크에 조인되지 않은 장치들 간에 평문 무선 송신들("프로브들")을 이용하여 2개의 장치 간에 보안 무선 통신 링크(페어링)가 확립될 수 있다. 하나의 장치가 그것이 페어링을 확립하려고 시도하고 있음을 나타내는 제1 프로브를 브로드캐스트할 수 있다. 다른 하나의 장치는 제2 프로브로 응답할 수 있고, 2개의 장치는, 예를 들어, 추가의 프로브들을 이용하여 추가의 정보를 교환함으로써 공유 비밀을 확립할 수 있다. 그 후, 어느 하나의 장치가 공유 비밀로부터 파생된 암호화 키를 이용하여 메시지를 암호화함으로써 다른 하나에게 그 메시지를 전송할 수 있고; 암호화된 메시지들도 프로브들 내에서 전송될 수 있다. 수신하는 장치는 프로브로부터 암호화된 메시지를 추출하고 암호화 키를 이용하여 그것을 해독할 수 있다. 암호화된 메시지는 수신하는 장치가 무선 네트워크에 조인하기 위해 사용할 수 있는 자격 증명들을 포함할 수 있다.

Description

프로브를 이용한 2개의 장치 간의 보안 무선 링크{SECURE WIRELESS LINK BETWEEN TWO DEVICES USING PROBES}
본 발명은 일반적으로 전자 장치들 간의 무선 통신에 관한 것이고 특히 2개의 장치 간에 보안 무선 링크를 제공하는 것에 관한 것이다.
무선 네트워크가 보편화되었다. IEEE(The Institute of Electrical and Electronics Engineers)는 전자 장치들이 서로 통신할 수 있게 하기 위해 "WiFi"라고도 하는 802.11 계열의 표준들을 공포하였다. 이 표준들(802.11a, 802.11b, 802.11g 및 802.11n을 포함)은 장치들 간에 정보를 통신하기 위한 주파수, 변조, 데이터 레이트, 및 메시지 포맷을 정의한다. 일반적으로, 802.11 준수 무선 네트워크("WiFi 네트워크"라고도 함)에는, 종종 인터넷에의 유선 접속과 함께, WiFi 네트워크를 관리하는 지정된 "액세스 포인트"가 존재한다. 여러 동작들 중에서, 액세스 포인트는 네트워킹된 장치들 간에 메시지들을 라우팅한다. WiFi 네트워크는 액세스 포인트가 주기적으로 브로드캐스트할 수 있는 이름(일반적으로 액세스 포인트와 상호 작용하는 네트워크 관리자에 의해 설정 가능함)을 갖고 있고, 그 이름을 알고 있거나 액세스 포인트의 브로드캐스트로부터 그 네트워크 이름을 알아내는 장치들이 액세스 포인트에 "조인(join)" 요청을 전송함으로써 네트워크에 조인할 수 있다. 일반적으로, 액세스 포인트는 네트워크에 조인한 장치들 간에만 메시지들을 라우팅할 것이다.
물론, 무선 신호들은 쉽게 가로채진다. 따라서, WiFi 표준들은 "WEP"(Wired Equivalent Privacy), "WPA"(WiFi Protected Access), 및 IEEE 802.11i("WPA2"라고도 알려짐) 등의 다양한 보안 프로토콜들을 제공한다. 이들 프로토콜들은 네트워크 상에서 전송된 정보가 암호화되는 것을 규정하고 사용될 특정 암호화 기법들을 지정한다. WiFi 네트워크 액세스 포인트는 특정 보안 프로토콜을 위해 구성될 수 있다.
일반적으로, 보안 WiFi 네트워크에 조인하는 장치는 메시지들을 암호화하고 해독하는 데 사용될 수 있는 네트워크 지정 패스워드 또는 키를 알고 있을 필요가 있다. 이 패스워드 또는 키는 일반적으로 장치들 간에 무선으로 전달되지 않지만, 보안 WiFi 네트워크 내의 액세스 포인트는 네트워크에 조인하려고 시도하는 임의의 장치에게 예를 들어 랜덤 챌린지(random challenge)를 암호화함으로써 그것이 패스워드 또는 키를 알고 있음을 증명할 것을 요구할 수 있다. 컴퓨터를 보안 WiFi 네트워크에 접속하기 위해, 사용자는 예를 들어 컴퓨터 상에서 실행중인 네트워크 구성 프로그램에 의해 생성된 프롬프트에 응답하여, 네트워크 관리자로부터 패스워드를 획득하여 그것을 컴퓨터에 입력할 수 있다.
그러나, 최근, WiFi 가능 장치들의 세계는 컴퓨터를 넘어서 다양한 주변 장치들을 포함하도록 확장하기 시작하였다. 예를 들어, 통신을 위해 802.11 표준들을 사용하는 무선 프린터들이 개발되었다. 일부 주변 장치들은 제한된 사용자 인터페이스를 갖고 있어, 사용자가 WiFi 네트워크에 대한 패스워드 또는 키를 그 장치에 입력하는 것이 어렵거나 불가능하다. 흔히, WiFi 인터페이스를 구성하기 위해 먼저 유선 인터페이스(예를 들어, USB)를 통해 주변 장치를 컴퓨터에 접속한 다음, 그 주변 장치를 무선 동작 모드로 전환하는 것이 필요하다.
본 발명의 소정 실시예들은 아직 네트워크에 조인하지 않은 장치들 간의 메시지들의 교환에 대한 무선 네트워크 프로토콜의 지원을 지렛대처럼 이용함으로써 2개의 장치(여기에서 "컨트롤러"와 "액세서리"라고 함) 간에 보안 무선 링크(여기에서 "페어링(pairing)"이라고 함)를 확립하는 기법들을 제공한다. 그러한 메시지들은 여기에서 "프로브 요청들" 및 "프로브 응답들"이라고 하거나, 더 일반적으로는 "프로브들"이라고 한다. IEEE 802.11 표준들에 기초한 무선 네트워크들의 경우, 프로브 요청 및 프로브 응답 프레임들이 프로브들로서 사용될 수 있다. 여기에서 사용된 프로브들은, 컴퓨터, 모바일 장치, 주변 장치, 및 기타 장치를 포함하는, 2개의 WiFi 가능 장치들 간에 메시지들의 시퀀스를 교환하는 데 사용될 수 있다. 이 시퀀스는 2개의 장치 간에 공유 비밀을 확립하는 데 이용 가능한 메시지들을 포함할 수 있다; 일단 공유 비밀이 확립되면, 2개의 장치는 그 장치들 중 하나가 무선 네트워크에 조인할 수 있게 하는 정보(예를 들어, 네트워크 이름 및 패스워드 또는 기타 자격 증명들)를 포함하지만 이에 제한되지는 않는 다른 메시지들을 안전하게 전달할 수 있다.
적절하게 구성된 무선 인터페이스들을 갖는 임의의 2개의 장치가 페어링을 확립할 수 있다. 여기에 설명된 일부 실시예들에서는, 하나의 장치("컨트롤러")가 그것이 함께 페어링할 수 있는 장치들을 찾고 있음을 알리기 위해 초기 프로브를 브로드캐스트할 수 있다. 또 하나의 장치("액세서리")가 페어링을 요청하는 또 하나의 프로브로 초기 프로브에 응답할 수 있다. 그 2개의 장치는 보안 비밀을 확립하고 및/또는 다른 하나가 동일한 공유 비밀을 갖고 있음을 검증할 수 있다. 일부 실시예들에서, 공유 비밀은 추가의 프로브들을 교환함으로써 확립되고 및/또는 검증될 수 있다. 다른 실시예들에서, 공유 비밀을 확립하는 데 필요한 모든 정보가 프로브들의 초기 교환에서 제공될 수 있고, 공유 비밀은 사용자 확인과 같은 또 다른 메커니즘을 통하여 검증될 수 있다. 각 장치는 공유 비밀을 사용하여 추가의 암호화 및 인증 키들을 생성할 수 있다. 이들 후자의 키들은 추가의 프로브 요청들 및 프로브 응답들을 이용하여 장치들 간에 송신될 수 있는 메시지 콘텐츠를 보안(예를 들어, 암호화 및/또는 인증)하는 데 사용될 수 있다.
일부 실시예들에서, 장치들 간에 교환된 보안된 메시지 콘텐츠는 네트워크 이름 및 패스워드 또는 키와 같이 보안 무선 네트워크에 조인하는 데 필요한 자격 증명들을 포함할 수 있다. 예를 들어, 제한된 사용자 인터페이스를 갖는 액세서리(예를 들어, WiFi 가능 프린터)가 컨트롤러(예를 들어, WiFi 가능 퍼스널 컴퓨터)와 페어링을 확립할 수 있고, 그 페어링을 통해, 컨트롤러가 현재 조인되어 있는 무선 네트워크에 대한 자격 증명들을 획득할 수 있다. 그 후 액세서리는 이들 자격 증명들을 사용하여 무선 네트워크에 조인할 수 있다. 일단 액세서리가 무선 네트워크에 조인하면, 액세서리와 컨트롤러는 그 네트워크를 통해 서로 또는 다른 장치들과 통신할 수 있다. 이 시점에, 페어링은 종료될 수 있고, 또는 페어링 링크는 측파대 통신 경로로서 유지될 수 있다.
일부 실시예들에서, 페어링 프로세스는 대부분 자동화될 수 있어, 사용자 개입을 거의 또는 전혀 필요로 하지 않는다. 어떤 사용자 개입이라도 액세서리와 컨트롤러들 사이에 패스워드 매칭(password match)을 검증하는 것 또는 하나의 장치(예를 들어, 액세서리)에 의해 제공된 패스워드를 다른 하나의 장치(예를 들어, 컨트롤러)에서 입력하는 것만큼 간단할 수 있다.
본 발명의 일 양태는 액세서리와 컨트롤러 간에 무선 통신 링크를 확립하는 방법들에 관한 것이다. 컨트롤러는 컨트롤러가 함께 페어링할 액세서리를 찾고 있음을 나타내는 제1 프로브를 브로드캐스트할 수 있다. 액세서리는 제1 프로브를 수신하고 액세서리에 관한 정보를 제공하는 제2 프로브로 응답할 수 있다. 컨트롤러와 액세서리는 액세서리에 의해 전송된 제3 프로브 및 컨트롤러에 의해 전송된 제4 프로브를 포함하는 추가의 프로브들을 이용하여 각자의 공개 키들을 교환함으로써 공유 비밀을 확립할 수 있다. 컨트롤러와 액세서리는 각각 다른 하나의 장치가 동일한 비밀을 공유하는 것을 입증할 수 있고 각각 공유 비밀을 이용하여 추가의 암호화 키(cryptographic key)를 생성할 수 있다. 그 후, 어느 하나의 장치가 그 추가의 암호화 키를 이용하여 메시지를 암호화하고 암호화된 메시지를 제5 프로브 내에서 전송함으로써 다른 하나의 장치에 메시지를 전송할 수 있다. 수신하는 장치는 제5 프로브로부터 암호화된 메시지를 추출하고 추가의 암호화 키를 이용하여 그것을 해독할 수 있다. 일부 실시예들에서, 암호화된 메시지는 인증 데이터와 함께 전송될 수 있어, 수신자가 그 메시지의 출처 및 완전성을 검증할 수 있게 한다.
본 발명의 다른 양태는 무선 인터페이스를 갖는 액세서리에 관한 것이다. 무선 인터페이스에 연결된 프로세서는 컨트롤러와 통신하여 프로브들의 시퀀스를 이용하여 페어링을 확립하고, 그 페어링을 통해 컨트롤러로부터 무선 네트워크에 조인하기 위한 자격 증명들을 획득하고, 그 자격 증명들을 이용하여 무선 네트워크에 조인하도록 구성될 수 있다. 그 후, 컨트롤러도 동일한 무선 네트워크에 있다고 가정하면, 액세서리와 컨트롤러는 무선 네트워크를 통해 및/또는 페어링을 통해 통신할 수 있다. 일부 실시예들에서 액세서리는 최소의 사용자 인터페이스를 갖고 있거나 어떤 사용자 인터페이스도 갖고 있지 않을 수 있고; 원한다면, 사용자가 컨트롤러와 상호 작용함으로써 액세서리의 페어링 및 네트워크 조인 거동을 제어할 수 있다.
본 발명의 또 다른 양태는 무선 인터페이스 및 사용자 인터페이스를 갖는 컨트롤러에 관한 것이다. 무선 인터페이스 및 사용자 인터페이스에 연결된 프로세서는 액세서리와 통신하여 프로브들의 시퀀스를 이용하여 페어링을 확립하도록 구성될 수 있다. 페어링을 확립하는 것은 사용자 인터페이스를 통해 사용자와 통신하여 액세서리가 무선 네트워크에 조인하도록 허용되어야 하는 것을 확인하고 및/또는 액세서리에 대한 패스워드를 획득하는 것을 포함할 수 있고, 패스워드는 페어링을 확립하는 데 사용되는 것이다. 일단 페어링이 확립되면, 컨트롤러는 무선 네트워크에 조인하기 위한 자격 증명들을 액세서리에 안전하게 전송할 수 있다(예를 들어, 액세서리에 전송된 프로브에 포함된 암호화된 메시지로서). 일단 액세서리가 무선 네트워크에 조인하면, 컨트롤러와 액세서리는 무선 네트워크를 통해 및/또는 페어링을 통해 통신할 수 있다.
다음의 상세한 설명은 첨부 도면들과 함께 본 발명의 본질 및 이점들에 대한 더 나은 이해를 제공할 것이다.
도 1은 본 발명의 소정 실시예들에서 이용되는 동작 원리를 예시한다.
도 2는 본 발명의 실시예에 따른 컨트롤러의 블록도이다.
도 3은 본 발명의 실시예에 따른 액세서리의 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 액세서리의 블록도이다.
도 5는 본 발명의 일부 실시예들에서 이용 가능한 프로브 프레임 구조의 블록도이다.
도 6은 본 발명의 실시예에 따른 액세서리가 컨트롤러와 페어링을 확립하기 위해 이용할 수 있는 프로세스의 흐름도이다.
도 7은 본 발명의 실시예에 따른 컨트롤러가 액세서리와 페어링을 확립하기 위해 이용할 수 있는 프로세스의 흐름도이다.
도 8a-8b는 본 발명의 실시예에 따른 컨트롤러와 액세서리 간에 페어링을 확립하기 위한 프로세스의 흐름도이다.
도 9a-9b는 본 발명의 실시예에 따른 컨트롤러와 액세서리 간에 페어링을 확립하기 위한 프로세스의 흐름도이다.
도 10은 본 발명의 실시예에 따른 컨트롤러 상에 디스플레이될 수 있는 패스워드 프롬프트를 예시한다.
도 11은 본 발명의 실시예에 따른 (액세서리 또는 컨트롤러 중 어느 하나일 수 있는) 발신자가 그 발신자와 페어링되는 수신자 장치에 메시지를 전송하기 위해 이용할 수 있는 프로세스를 예시한다.
도 12는 본 발명의 실시예에 따른 (컨트롤러 또는 액세서리 중 어느 하나일 수 있는) 수신자가 그 수신자와 페어링되는 발신자 장치로부터 메시지를 수신하기 위해 이용할 수 있는 프로세스를 예시한다.
도 13은 본 발명의 실시예에 따른 액세서리가 무선 네트워크에 조인하기 위해 이용할 수 있는 프로세스의 흐름도이다.
도 14는 본 발명의 실시예에 따른 컨트롤러가 액세서리를 무선 네트워크에 조인시키는 것을 용이하게 하기 위해 실행할 수 있는 프로세스의 흐름도이다.
도 15는 본 발명의 실시예에 따른 컨트롤러가 액세서리를 무선 네트워크에 조인시키는 것을 용이하게 하기 위해 이용할 수 있는 프로세스의 흐름도이다.
본 발명의 소정 실시예들은 아직 네트워크에 조인하지 않은 장치들 간의 메시지들의 교환에 대한 무선 네트워크 프로토콜의 지원을 지렛대처럼 이용함으로써 2개의 장치(여기에서 "컨트롤러"와 "액세서리"라고 함) 간에 보안 무선 링크(여기에서 "페어링(pairing)"이라고 함)를 확립하는 기법들을 제공한다. 그러한 메시지들은 여기에서 "프로브 요청들" 및 "프로브 응답들"이라고 하거나, 더 일반적으로는 "프로브들"이라고 한다.
예를 들어, IEEE 802.11 표준들은 메시지들이 "프레임들"이라고 하는 구조로 전송되는 것을 규정한다. 그 표준들은 조인할 네트워크를 찾고 있는 장치가 브로드캐스트할 수 있는 프로브 요청 프레임 및 프로브 요청을 수신하는 액세스 포인트가 전송할 수 있는 프로브 응답 프레임을 정의한다. 이런 식으로, 장치는 이용 가능한 무선 네트워크들을 자동으로 식별할 수 있다. 그 표준들에 따르면, 프로브 요청 또는 프로브 응답 프레임은 "정보 요소"를 포함할 수 있고, 그 내용은 특정 벤더에 의해 정의될 수 있다.
본 발명의 일부 실시예들은 IEEE 프로브 요청 및 프로브 응답 프레임들의 벤더 지정(vendor-specific) 정보 요소들을 지렛대처럼 이용하여 컴퓨터 및 주변 장치를 포함하는 임의의 2개의 WiFi 가능 장치 간의 메시지들의 시퀀스의 교환을 지원한다. 그 시퀀스는 2개의 장치 간에 공유 비밀을 확립하는 메시지들을 포함할 수 있고; 일단 공유 비밀이 확립되면, 2개의 장치는 그 장치들 중 하나가 표준 WiFi 네트워크에 조인할 수 있게 하는 정보를 포함하지만 이에 제한되지는 않는 다른 메시지들을 안전하게 전달할 수 있다.
적절하게 구성된 무선 인터페이스들을 갖는 임의의 2개의 장치가 페어링을 확립할 수 있다. 여기에 설명된 일부 실시예들에서는, 하나의 장치("컨트롤러")가 그것이 함께 페어링할 수 있는 장치들을 찾고 있음을 알리기 위해 초기 "브라우징" 프로브를 브로드캐스트할 수 있다. 이 브라우징 신호는 802.11 프로브 요청 프레임의 정보 요소에 또는 다른 유형의 프로브 요청 내에 포함될 수 있다. 또 하나의 장치("액세서리")가 액세서리 식별 정보를 포함하는 식별 프로브로 브라우징 프로브에 응답할 수 있다. 이 식별 정보는 802.11 프로브 응답 프레임의 정보 요소에 또는 다른 유형의 프로브 내에 포함될 수 있다. 그 2개의 장치는 공유 비밀을 확립하고 및/또는 다른 하나가 동일한 공유 비밀을 갖고 있음을 검증할 수 있다. 일부 실시예들에서, 공유 비밀은 추가의 프로브들을 교환함으로써 확립되고 및/또는 검증될 수 있다. 다른 실시예들에서, 공유 비밀을 확립하는 데 필요한 모든 정보가 프로브들의 초기 교환에서 제공될 수 있고, 공유 비밀은 사용자 확인과 같은 또 다른 메커니즘을 통하여 검증될 수 있다. 그 후 각 장치는 공유 비밀을 사용하여 추가의 암호화 및 인증 키들을 생성할 수 있다. 이들 후자의 키들은 추가의 프로브 요청들 및 프로브 응답들을 이용하여 장치들 간에 송신될 수 있는 메시지 콘텐츠를 보안(예를 들어, 암호화 및/또는 인증)하는 데 사용될 수 있다. 예를 들어, 보안된(예를 들어, 암호화된) 메시지 콘텐츠는 IEEE 802.11 프로브 요청 또는 프로브 응답 프레임 내의 정보 요소에 포함될 수 있다.
일부 실시예들에서, 장치들 간에 교환된 보안된 메시지 콘텐츠는 네트워크 이름 및 패스워드 또는 키와 같이 보안 무선 네트워크에 조인하는 데 필요한 자격 증명들을 포함할 수 있다. 예를 들어, 제한된 사용자 인터페이스를 갖는 액세서리(예를 들어, WiFi 가능 프린터)가 컨트롤러(예를 들어, WiFi 가능 퍼스널 컴퓨터)와 페어링을 확립할 수 있고, 그 페어링을 통해, 컨트롤러가 현재 조인되어 있는 무선 네트워크에 대한 자격 증명들을 획득할 수 있다. 그 후 액세서리는 이들 자격 증명들을 사용하여 무선 네트워크에 조인할 수 있다. 일단 액세서리가 무선 네트워크에 조인하면, 액세서리와 컨트롤러는 그 네트워크를 통해 서로 또는 다른 장치들과 통신할 수 있다. 이 시점에, 페어링은 종료될 수 있고, 또는 페어링 링크는 측파대 통신 경로로서 유지될 수 있다.
일부 실시예들에서, 페어링 프로세스는 대부분 자동화될 수 있어, 사용자 개입을 거의 또는 전혀 필요로 하지 않는다. 어떤 사용자 개입이라도 액세서리와 컨트롤러들 사이에 패스워드 매칭을 검증하는 것 또는 하나의 장치(예를 들어, 액세서리)에 의해 제공된 패스워드를 다른 하나의 장치(예를 들어, 컨트롤러)에서 입력하는 것만큼 간단할 수 있다.
도 1은 본 발명의 소정 실시예들에서 이용되는 동작 원리를 예시한다. 도 1에는 이 경우 퍼스널 컴퓨터인 컨트롤러(100)와 액세서리(110)(예를 들어, 프린터) 및 액세서리(120)(예를 들어, 스테레오 스피커)가 도시되어 있다. 컨트롤러(100)와 액세서리들(110, 120)은 각각 표준 WiFi 카드와 같은 무선 통신 인터페이스, 및 다양한 다른 컴포넌트들을 포함하고 있는데, 그 예들이 아래에 상세히 설명된다.
컨트롤러(100)와 액세서리(110)는 프로브 요청들 및 프로브 응답들에 포함된 메시지들을 교환함으로써 보안 직접 통신 링크(페어링이라고도 함)(112)를 확립할 수 있다. 용어 "프로브"는 또한 여기에서 프로브 요청들과 프로브 응답들 양쪽 모두를 교환 가능하게 망라하기 위해 사용된다. 일단 페어링(112)이 확립되면, 컨트롤러(100)와 액세서리(110)는 추가의 프로브들을 이용하여 서로에게 암호화된 메시지들을 전송할 수 있다. 마찬가지로, 컨트롤러(100)와 액세서리(120)는 프로브들에 포함된 메시지들을 교환함으로써 페어링(122)을 확립할 수 있다. 일단 페어링(122)이 확립되면, 컨트롤러(100)와 액세서리(120)는 추가의 프로브들을 이용하여 서로에게 암호화된 메시지들을 전송할 수 있다.
프로브들은 무선으로 전송되고, 액세서리(110)는 페어링(122)과 관련된 프로브들을 탐지할 수 있다. 유사하게, 액세서리(120)는 페어링(112)과 관련된 프로브들을 탐지할 수 있다. 보안을 제공하기 위해, 일단 페어링이 확립되면, 그 특정 페어링에 특유한 방식으로 메시지들이 암호화될 수 있고; 따라서, 예를 들어, 페어링(112)은 페어링(122)과는 상이한 암호화 키를 제공할 수 있다. 결과적으로, 액세서리(110)는 페어링(122)과 관련된 프로브들에 포함된 메시지들을 해독하지 못할 수 있다. (유사하게, 액세서리(120)는 페어링(112)과 관련된 프로브들에 포함된 메시지들을 해독하지 못할 수 있다). 페어링에 특유한 암호화 키들을 확립하는 것을 포함하여, 페어링을 확립하는 기법들의 특정한 예들이 아래에 설명된다.
도 1에 도시된 바와 같이, 일부 실시예들에서, 단 하나의 컨트롤러가 다수의 액세서리들과 동시에 페어링될 수 있다. 일부 실시예들에서, 컨트롤러(100)는 한 번에 단 하나의 페어링을 확립하는 프로세스에 있을 수 있지만, 일단 하나의 페어링(예를 들어, 페어링(112))이 확립되면, 컨트롤러(110)는 제1 페어링이 여전히 이용 가능한 동안에 제2 페어링(예를 들어, 페어링(122))을 확립할 수 있다. 다른 실시예들에서, 예를 들어, 컨트롤러(100)가 수신된 메시지들의 소스를 확실하게 결정할 수 있는 충분한 식별 정보가 프로브 요청들 및 프로브 응답들에 포함되어 있다면 그리고 각 액세서리가 그것 또는 다른 장치가 수신된 메시지의 타깃인지를 결정할 수 있다면 컨트롤러(100)는 다수의 페어링들을 동시에 확립할 수 있다. 또 다른 실시예들에서, 컨트롤러(110)는 한 번에 하나의 액세서리와 페어링을 확립하는 것에 제한될 수 있다. 따라서, 예를 들어, 액세서리(110)가 컨트롤러(100)와 페어링을 시작하면, 액세서리(120)는 페어링(112)이 완전히 확립될 때까지 기다리도록 요구될 수 있다. 대안의 실시예들에서, 액세서리(110)가 그의 페어링을 확립하는 프로세스에 있는 동안에 액세서리(120)가 컨트롤러(100)와 페어링을 개시하려고 시도한다면, 컨트롤러(100)는 액세서리(120)로부터의 페어링 요청에 서비스를 제공하기 위해 액세서리(110)와의 통신을 종료할 수 있다. 페어링 동작들의 우선순위를 매기는 다른 규칙들이 또한 사용될 수 있다.
도 1에 도시된 장치들은 예시적인 것이고 변형들 및 수정들이 가능하다는 것을 알 것이다. 예를 들어, 컨트롤러(100)는 퍼스널 컴퓨터인 것으로 도시되어 있지만, 컨트롤러(100)는 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 이동 통신 또는 컴퓨팅 장치 등을 포함하지만 이들에 제한되지는 않는 다른 유형의 장치일 수도 있다. 또한, 컨트롤러(100)는 아주 큰 컴퓨팅 능력이거나 이를 포함하지 않아도 되고; 여기에 설명된 것과 같은 컨트롤러 동작들을 수행할 수 있는 어떤 장치라도 컨트롤러로서 이용될 수 있다.
마찬가지로, 액세서리들(110 및 120)은 각각 스피커와 한 쌍의 스테레오 스피커들로서 도시되어 있지만, 다른 유형의 액세서리들 - 무선 통신 인터페이스를 갖는 임의의 장치를 포함함 - 이 이용될 수도 있다. 액세서리들일 수 있는 다른 장치 예들은 주변 장치, 카메라, 전자 의료 장치를 포함하는 개인용 전자 장치, 및 가전 제품을 포함한다. 컨트롤러(100)와 마찬가지로, 여기에 설명된 것과 같은 액세서리 동작들을 수행할 수 있는 어떤 장치라도 액세서리로서 이용될 수 있다. 분명해지는 바와 같이, 페어링 프로세스 동안에, 액세서리는 컨트롤러로부터 초기 프로브 요청을 수신하고 그것에 응답한다는 점에서, "액세서리"는 컨트롤러와 구별된다.
일부 실시예들에서, 액세서리는 제한된 사용자 인터페이스를 갖고 있거나 어떤 사용자 인터페이스도 갖고 있지 않은 장치일 수 있다. 예를 들어, 스피커들(120)은 사운드를 생성할 수 있지만 사용자 액션을 탐지할 수 있는 어떤 컴포넌트(예를 들어, 버튼, 다이얼, 터치 감응 영역 등)도 갖지 않아도 된다. 유사하게, 프린터(110)는 용지 상에 임의의 이미지들을 (구현에 따라서 흑백 또는 컬러로) 생성할 수 있고 약간의 문자들 또는 단순히 상태 표시등들을 디스플레이할 수 있는 디스플레이를 가질 수 있고; 사용자 입력 인터페이스는 하나 또는 2개의 제어 버튼만을 제공할 수 있다. 그러한 제한된 또는 존재하지 않는 사용자 인터페이스들은 사용자가 통상의 보안 무선 네트워크에 조인하기 위해 요구될 수 있는 네트워크 이름, 패스워드, 또는 기타 자격 증명을 입력하는 것을 어렵게 하거나 불가능하게 할 수 있다. 일부 실시예들은 액세서리들이, 그 액세서리와의 사용자 상호 작용이 거의 또는 전혀 없이, 무선으로 안전하게 네트워크 자격 증명들을 획득할 수 있게 하여, 그러한 액세서리들을 무선 네트워크에 접속하는 일을 간소화한다.
여기에서 사용된 용어 "프로브 요청" 및 "프로브 응답"(또는 "프로브들")은 일반적으로 특정 무선 네트워크의 컨텍스트 밖에서 전송되는 메시지들을 나타낸다. 이들 메시지들은 송신 장치의 식별 정보 및/또는 수신 장치에 관한 정보의 요청들을 포함할 수 있다. 그 메시지들은 브로드캐스트될 수 있고, 또는 일부 실시예들에서, 발신자가 수신자에 대한 식별 정보를 갖고 있다면 일부 메시지들은 유니캐스트(즉, 특정 수신자에게 어드레싱)될 수 있다. 프로브들은 일반적으로 평문으로 전송된다(비록 아래 설명된 일부 실시예들에서는, 암호화된 메시지가 평문 프로브 요청 또는 프로브 응답에 포함될 수 있지만). IEEE 802.11 준수 프로브 요청 및 프로브 응답 프레임들이 사용될 수 있지만, 본 발명은 이들 특정 프레임들에 또는 IEEE 802.11 표준들을 준수하는 네트워크들에 제한되지 않는다.
도 2는 본 발명의 실시예에 따른 컨트롤러(200)의 블록도이다. 컨트롤러(200)(예를 들어, 도 1의 컨트롤러(100)를 구현하는 것)는 프로세서(202), 사용자 인터페이스(204), 무선 인터페이스(206), 및 저장 매체(208) 등의 다양한 컴포넌트들을 포함할 수 있다.
하나 이상의 집적 회로(예를 들어, 종래의 마이크로프로세서 또는 마이크로컨트롤러)로서 구현될 수 있는 프로세서(202)는 컨트롤러(200)의 동작을 제어할 수 있다. 다양한 실시예들에서, 프로세서(202)는 프로그램 코드에 응답하여 여러 가지 프로그램들을 실행할 수 있고 다수의 동시에 실행중인 프로그램들 또는 프로세스들을 유지할 수 있다. 임의의 주어진 시간에, 실행될 프로그램 코드의 일부 또는 전부가 프로세서(202)에 및/또는 저장 매체(208)와 같은 저장 매체에 상주할 수 있다.
적절한 프로그래밍을 통하여, 프로세서(202)는 컨트롤러(200)를 위한 다양한 기능을 제공할 수 있다. 예를 들어, 사용자 인터페이스(204)에 의해 제공된 사용자 입력 신호들에 응답하여, 프로세서(202)는 애플리케이션 프로그램들(워드 프로세서, 웹 브라우저 등)을 시작하고, 저장된 매체 콘텐츠를 플레이하고, 무선 인터페이스(206)를 제어하여 네트워크 접속들을 확립 또는 종료하거나 데이터 및 기타 신호들을 송신 및 수신하고, 등등을 수행할 수 있다.
사용자 인터페이스(204)는 키보드, 터치 패드, 터치 스크린, 스크롤 휠, 클릭 휠, 다이얼, 버튼, 스위치, 키패드, 마이크로폰 등과 같은 입력 장치들뿐만 아니라, 비디오 스크린, 표시등, 스피커, 헤드폰 잭 등과 같은 출력 장치들과 함께, 지원 전자 장치들(예를 들어, 디지털-아날로그 또는 아날로그-디지털 변환기, 신호 프로세서 등)을 포함할 수 있다. 사용자는 사용자 인터페이스(204)의 입력 장치들을 조작하여 컨트롤러(200)의 기능을 불러올 수 있고 사용자 인터페이스(204)의 출력 장치들을 통해 컨트롤러(200)로부터의 출력을 볼 수 있고 및/또는 들을 수 있다.
무선 인터페이스(206)는 컨트롤러(200)를 위한 데이터 통신 능력을 제공할 수 있다. 일부 실시예들에서 무선 인터페이스(206)는 (예를 들어, 3G, 4G 또는 EDGE, WiFi(IEEE 802.11 계열의 표준들), 또는 다른 무선 통신 기술들, 또는 이들의 임의의 조합을 이용하여) 무선 음성 및/또는 데이터 네트워크들에 액세스하기 위한 무선 주파수(RF) 트랜스시버 컴포넌트들을 포함할 수 있다. 무선 인터페이스(206)는 하드웨어(예를 들어, 안테나, 변조기/복조기, 인코더/디코더, 및 기타 아날로그 및/또는 디지털 신호 처리 회로)와 소프트웨어 컴포넌트들의 조합을 이용하여 구현될 수 있다.
저장 매체(208)는, 예를 들어, 디스크, 플래시 메모리, 또는 임의의 다른 비휘발성 저장 매체를 이용하여 구현될 수 있다. 일부 실시예들에서, 저장 매체(208)는 프로세서(202)에 의해 실행될 프로그램 코드(애플리케이션 및 운영 체제 프로그램을 포함함)를 저장할 수 있다. 이 코드는 아래 설명되는 바와 같이 액세서리와 페어링을 확립하는 것과 관련된 프로그램 코드를 포함할 수 있다. 저장 매체(208)는 또한 컨트롤러(200)에 의해 플레이되거나 다른 장치에 스트리밍될 수 있는 미디어 자산들(오디오, 비디오, 정지 영상 등), 개인 정보 전자 문서, 및/또는 사용자를 위한 데이터 파일 등과 같은 데이터, 및 기타 정보를 저장할 수 있다. 일부 실시예들에서, 저장 매체(208)는 컨트롤러(200)가 무선 인터페이스(206)를 통해 접속할 수 있는 특정 무선 네트워크들과 관련된 네트워크 자격 증명들(210)(예를 들어, 네트워크 이름 및 패스워드)을 저장할 수 있다.
컨트롤러(200)는 예시적인 것이고 변형들 및 수정들이 가능하다는 것을 알 것이다. 컨트롤러(200)는 여기에서 구체적으로 설명되지 않은 능력들(예를 들어, 이동 전화 통화, 위성 기반 내비게이션)을 가질 수 있고 미디어 재생 능력들을 갖지 않아도 된다. 용어 "컨트롤러"는 여기에서 일반적으로 보안 무선 링크, 즉 페어링에 대한 요청에 응답하고, 그 후 다른 장치와 페어링을 확립할 수 있는 임의의 장치를 나타내기 위해 사용된다.
일부 실시예들에서, 컨트롤러(200)는 또한 다른 입력/출력 채널들을 이용하여 사용자 또는 또 다른 장치와 정보를 교환할 수 있다. 다른 입력/출력 채널들의 예들은 오디오 라인 인 또는 라인 아웃 경로(예를 들어, 오디오 잭) 상의 아날로그 신호; 카메라, 바 코드 판독기 또는 이미지 분석기와 결합한 다른 이미징 장치(입력용); 기계 판독가능 이미지들을 생성할 수 있는 디스플레이 스크린(출력용); 가속도계, 자이로스코프, 또는 근접 탐지기와 같은 센서(이를 통해 장치의 운동, 방향, 또는 위치가 컨트롤러(200)에 정보를 입력하는 데 사용될 수 있음); 비가시(예를 들어, 적외선) 광 탐지기 및/또는 송신기; 초음파 탐지기 및/또는 송신기; 등을 포함한다.
도 3은 본 발명의 실시예에 따른 액세서리(300)의 블록도이다. 액세서리(300)(예를 들어, 도 1의 프린터 액세서리(110)를 구현하는 것)는 프로세서(302), 사용자 인터페이스(304), 무선 인터페이스(306), 저장 매체(308), 및 인쇄 요소들(310)을 포함할 수 있다.
하나 이상의 집적 회로(예를 들어, 종래의 마이크로프로세서 또는 마이크로컨트롤러)로서 구현될 수 있는 프로세서(302)는 액세서리(300)의 동작을 제어할 수 있다. 다양한 실시예들에서, 프로세서(302)는 프로그램 코드에 응답하여 여러 가지 프로그램들을 실행할 수 있고 다수의 동시에 실행중인 프로그램들 또는 프로세스들을 유지할 수 있다. 임의의 주어진 시간에, 실행될 프로그램 코드의 일부 또는 전부가 프로세서(302)에 및/또는 저장 매체(308)와 같은 저장 매체에 상주할 수 있다.
사용자 인터페이스(304)는 종래의 프린터의 인터페이스와 비슷한 간단한 인터페이스일 수 있다. 예를 들어, 일부 프린터들은 소수의 버튼들 및 상태 표시등들을 갖는 최소의 인터페이스를 제공한다. 다른 프린터들은 프린터 설정의 조정, 용지 또는 용지 경로의 선택, 작업의 취소, 고장 수리 등을 용이하게 하는 대화식 메뉴들을 지원하는 더 정교한 인터페이스들 - 예를 들어, 캐릭터-라인 디스플레이 또는 다른 디스플레이와 함께, 키보드, 터치 스크린 등을 포함함 - 을 제공한다. 일부 실시예들에서, 사용자 인터페이스(304)의 디스플레이는, 예를 들어, 아래에 설명되는 바와 같이, 페어링을 입증하기 위해 사용자에게 정보를 제공하는 데 이용될 수 있다.
무선 인터페이스(306)는 적어도 액세서리(300)를 위한 데이터 통신 능력을 제공할 수 있다. 일부 실시예들에서 무선 인터페이스(306)는 (예를 들어, 3G, 4G 또는 EDGE, WiFi, 또는 다른 이동 통신 기술들, 또는 이들의 임의의 조합을 이용하여) 무선 데이터 네트워크들에 액세스하기 위한 무선 주파수(RF) 트랜스시버 컴포넌트들을 포함할 수 있다. 무선 인터페이스(306)는 하드웨어(예를 들어, 안테나, 변조기/복조기, 인코더/디코더, 및 기타 아날로그 및/또는 디지털 신호 처리 회로)와 소프트웨어 컴포넌트들의 조합을 이용하여 구현될 수 있다.
저장 매체(308)는, 예를 들어, 디스크, 플래시 메모리, 또는 임의의 다른 비휘발성 저장 매체를 이용하여 구현될 수 있다. 일부 실시예들에서, 저장 매체(308)는 프로세서(302)에 의해 실행될 프로그램 코드(예를 들어, 인쇄 제어 프로그램을 포함함)를 저장할 수 있다. 이 코드는 아래 설명되는 바와 같이 컨트롤러와 페어링을 확립하는 것과 관련된 프로그램 코드를 포함할 수 있다.
인쇄 요소들(310)은 용지 공급 장치, 잉크 젯 장치, 레이저 인쇄 장치 등과 같은 다양한 전자 및/또는 기계 컴포넌트들을 포함할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 액세서리(400)의 블록도이다. 액세서리(400)(예를 들어, 도 1의 스피커 액세서리(120)를 구현하는 것)는 프로세서(402), 무선 인터페이스(406), 저장 매체(408), 및 스피커(410)를 포함할 수 있다.
하나 이상의 집적 회로(예를 들어, 종래의 마이크로프로세서 또는 마이크로컨트롤러)로서 구현될 수 있는 프로세서(402)는 액세서리(400)의 동작을 제어할 수 있다. 다양한 실시예들에서, 프로세서(402)는 프로그램 코드에 응답하여 여러 가지 프로그램들을 실행할 수 있고 다수의 동시에 실행중인 프로그램들 또는 프로세스들을 유지할 수 있다. 임의의 주어진 시간에, 실행될 프로그램 코드의 일부 또는 전부가 프로세서(402)에 및/또는 저장 매체(408)와 같은 저장 매체에 상주할 수 있다.
무선 인터페이스(406)는 적어도 액세서리(400)를 위한 데이터 통신 능력을 제공할 수 있다. 일부 실시예들에서 무선 인터페이스(406)는 (예를 들어, 3G, 4G 또는 EDGE, WiFi, 또는 다른 무선 통신 기술들, 또는 이들의 임의의 조합을 이용하여) 무선 데이터 네트워크들에 액세스하기 위한 무선 주파수(RF) 트랜스시버 컴포넌트들을 포함할 수 있다. 무선 인터페이스(406)는 하드웨어(예를 들어, 안테나, 변조기/복조기, 인코더/디코더, 및 기타 아날로그 및/또는 디지털 신호 처리 회로)와 소프트웨어 컴포넌트들의 조합을 이용하여 구현될 수 있다.
저장 매체(408)는, 예를 들어, 디스크, 플래시 메모리, 또는 임의의 다른 비휘발성 저장 매체를 이용하여 구현될 수 있다. 일부 실시예들에서, 저장 매체(408)는 프로세서(402)에 의해 실행될 프로그램 코드(예를 들어, 무선 인터페이스(406)를 통해 수신된 디지털 오디오를 디코딩하는 것과 관련된 코드를 포함함)를 저장할 수 있다. 이 코드는 아래 설명되는 바와 같이 컨트롤러와 페어링을 확립하는 것과 관련된 프로그램 코드를 포함할 수 있다. 일부 실시예들에서, 저장 매체(408)는 또한 장치 펌웨어의 일부이거나 장치에 하드-코딩될 수 있는 장치 패스워드(412)를 저장할 수 있다. 장치 패스워드(412)는 아래 설명된 바와 같이 페어링들을 확립할 때 사용될 수 있다.
스피커(410)는 증폭기, 변환기, 스피커 콘, 출력 잭 등과 같은 다양한 전자 및/또는 기계 컴포넌트들을 포함할 수 있다. 일부 실시예들에서, 프로세서(402)는 무선 인터페이스(406)를 통해 디지털 오디오 데이터를 수신하고, 그 데이터를 아날로그 신호들로 변환하고, 그 아날로그 신호들을 스피커(410) 내의 스피커 드라이버에 제공할 수 있다. 일부 실시예들에서, 스피커(410)는 또한 보조 입력 잭(예를 들어, 표준 3.5-mm 오디오 잭)을 포함할 수 있고 그 경로를 통해서도 아날로그 오디오 신호들을 수신할 수 있다.
액세서리(300)와 다르게, 액세서리(400)는 사용자 인터페이스를 갖는 것으로 도시되어 있지 않고, 사실 액세서리는 어떤 사용자 인터페이스도 갖지 않아도 된다. 일부 실시예들에서, 사용자 인터페이스는, 예를 들어, 전력 스위치, 입력 소스 선택기, 음량 제어 등으로 제한될 수 있다.
액세서리들(300 및 400)은 예시적인 것이고 변형들 및 수정들이 가능하다는 것을 알 것이다. 여기에서 사용된 용어 "액세서리"는 일반적으로 컨트롤러와 페어링을 확립할 수 있는 임의의 장치를 나타내고, 페어링에 의해 제공된 통신 링크는 컨트롤러가 이미 속해 있는 네트워크에 액세서리를 추가하는 것을 용이하게 하는 것을 포함하지만 이에 제한되지는 않는 임의의 목적을 위해 이용될 수 있다. 일부 실시예들에서, 액세서리의 기능과 관련된 데이터 및 제어 신호들이 페어링 링크를 이용하여 전송될 수 있다. 따라서, 액세서리들은 인쇄, 사운드 연주, 비디오 디스플레이, 컨트롤러에 데이터(예를 들어, 센서 측정값)를 제공, 컨트롤러로부터 데이터를 수신 및 처리 등을 포함하는 여러 가지 목적을 위해 사용 가능할 수 있다. 액세서리들은 스피커 또는 카메라와 같은 주변 장치들에 제한되지 않고; 다른 예들은 가전 제품(예를 들어, 냉장고, 재래식 오븐, 전자 레인지, 세탁기 등) 및 개인용 전자 장치(예를 들어, 운동 모니터, 전자 의료 장치)를 포함한다. 무선 인터페이스 및 적합한 구성을 갖는 어떤 장치라도 액세서리로서 동작할 수 있다.
또한, 컨트롤러와 액세서리들은 도 2-4에 도시된 것과 같은 특정 블록들에 관련하여 설명되었지만, 이들 블록들은 설명의 편의를 위해 정의되어 있고 컴포넌트 부분들의 특정한 물리적 배열을 암시하려는 것은 아님을 이해해야 한다. 또한, 그 블록들은 물리적으로 별개의 컴포넌트들에 대응하지 않아도 된다. 블록들은, 예를 들어, 프로세서를 프로그래밍하거나 적절한 제어 회로를 제공함으로써 다양한 동작들을 수행하도록 구성될 수 있고, 초기 구성이 어떻게 얻어지는지에 따라 다양한 블록들이 재구성 가능할 수 있거나 재구성 가능하지 않을 수 있다. 본 발명의 실시예들은 회로와 소프트웨어의 임의의 조합을 이용하여 구현된 전자 장치들을 포함하는 여러 가지 장치에서 실현될 수 있다.
여기에서 설명된 바와 같이, 컨트롤러와 액세서리는 프로브들을 교환함으로써 무선 페어링을 확립할 수 있다. 도 5는 본 발명의 일부 실시예들에서 이용 가능한 프로브 프레임 구조(500)의 블록도이다.
프로브 프레임 구조(500)는 다수의 필드를 포함하고; 일부 실시예들에서, 이들 필드의 일부 또는 전부가 IEEE 802.11 표준들에 의해 규정된 프레임 구조에 대응할 수 있다. 예를 들어, 프레임 제어(Frame Control) 필드(502)는 프로토콜 버전, 프레임의 타입(예를 들어, 그것이 프로브 요청 또는 프로브 응답 프레임임을 확인하는 것)과 같은 프레임에 관한 일반 정보, 및 수신 장치가 수신된 무선 신호 스트림을 해석하는 데 이용 가능한 기타 정보를 제공할 수 있다. 지속기간(Duration) 필드(504)는, 예를 들어, IEEE 802.11 표준들에서 정의된 것과 같은 지속기간 정보를 제공할 수 있다. 주소(Address) 필드(506)는 프레임(500)의 발신자 및 의도된 수신자의 주소뿐만 아니라, 예를 들어, IEEE 802.11 표준들에서 지정된 것과 같은 기타 주소 정보를 지정할 수 있다. 시퀀스(Sequence) 필드(508)는 다수의 수신된 단편(fragment)들로부터 프레임을 재구성하는 데 이용 가능한 시퀀스 정보를 포함할 수 있다. 데이터(Data) 필드(510)는 수신자에 의해 처리될 데이터를 포함하는 프레임 콘텐츠를 포함할 수 있다. 체크섬(Checksum) 필드(512)는 32 비트 순환 중복 검사와 같은 오류 검출 및/또는 오류 정정 코드들을 포함할 수 있다.
프로브 요청 또는 프로브 응답 프레임에 대한 데이터 필드(510)는 하나 이상의 정보 요소(520)를 포함할 수 있다. 각각의 정보 요소("IE")(520)는 다양한 필드를 포함하는 구조일 수 있다. 엘리먼트 ID(Element ID) 필드(522)는 IE의 타입을 식별할 수 있다. 예를 들어, 정보 요소는 표준 요소 또는 벤더 지정 요소일 수 있고, 엘리먼트 ID 필드(522)는 IE(520)가 표준인지 벤더 지정인지를 나타내는 데 이용될 수 있다. 여기에서 설명된 실시예들에서는, 벤더 지정 정보 요소들이 추정되지만, 여기에서 설명된 정보 요소들은 미래의 표준의 일부가 될 수도 있다는 것을 알 것이다. 길이(Length) 필드(524)는 IE(520)의 길이(예를 들어, 바이트 단위)를 나타낸다. 벤더(Vendor) 필드(526)는 벤더 지정 정보 요소(520)와 관련된 벤더의 고유 식별자를 포함할 수 있다. 벤더는, 예를 들어, 여기에 설명된 것과 같은 페어링 동작들을 수행할 수 있는 컨트롤러들의 제조사일 수 있다. 일부 실시예들에서, 필드(526)의 벤더 식별자는 IEEE에 의해 할당된 24 비트 조직 고유 식별자(Organizationally Unique Identifier; OUI)일 수 있다. 서브타입(Subtype) 필드(528)는 벤더 할당 서브타입(vendor-assigned subtype)을 제공할 수 있다. 일부 실시예들에서, 서브타입 필드(528)는 모든 페어링 관련 프로브들에 걸쳐 고정된 값을 갖고 정보 요소(520)가 페어링에 사용되는 것임을 나타내는 데 사용된다.
서브-IE(Sub-IE) 필드(530)는 하나 이상의 서브-IE들(540)을 포함할 수 있다. 도시된 바와 같이, 서브-IE(540)는 하위 엘리먼트(sub-element)에 제공된 정보의 타입을 나타내는 타입 식별자 필드(542)를 제공한다. 제공될 수 있는 정보의 타입들의 예들은 IE(520)와 관련된 연산(페어링할 액세서리들을 검색, 키를 교섭, 공유 비밀을 인증, 무선 네트워크 자격 증명들과 같은 암호화 메시지를 송신)을 식별하는 연산 코드(opcode); 타깃 장치의 주소; 세션 식별자; 시퀀스 번호; 암호화 키; 랜덤 넌스(nonce); 인증자(authenticator) 또는 디지털 서명; 암호화된 데이터; 장치 능력 및/또는 구성 정보; 장치 이름(제조사 및/또는 모델명); 네트워크 자격 증명들(예를 들어, 후술되는 바와 같이 암호화될 수 있는 것)을 포함한다. 다양한 정보 타입들에 대한 용례들이 아래에 설명된다.
길이(Length) 필드(544)는 서브-IE(540)의 길이를 나타내는 데 사용될 수 있다. 페이로드(Payload) 필드(546)는 타입 식별자 필드(542)에 의해 식별된 정보를 포함할 수 있다.
여기에서 설명된 프로브 포맷은 예시적인 것이고 변형들 및 수정들이 가능하다는 것을 알 것이다. 일부 실시예들에서, 프로브 프레임들은 프로브 요청 및 프로브 응답 프레임들을 정의하는 IEEE 802.11 표준들을 준수하지만, 다른 프로브 포맷들이 사용될 수도 있다. 장치들 중 적어도 하나가 무선 네트워크에 조인되어 있지 않은 경우 장치들 간에 정보를 송신하는 데 이용 가능한 어떤 데이터 구조라도 프로브로서 사용될 수 있다.
액세서리와 컨트롤러 간에 페어링을 확립하는 데 이용될 수 있는 프로세스들의 예들이 이제 설명된다.
도 6은 본 발명의 실시예에 따른 액세서리가 컨트롤러와 페어링을 확립하기 위해 이용할 수 있는 프로세스(600)의 흐름도이다. 프로세스(600)는 블록(602)에서 액세서리(예를 들어, 액세서리(300) 또는 액세서리(400))가 페어링을 생성하려고 시도해야 한다고 결정할 때 시작된다. 일부 실시예들에서, 이 결정은 액세서리의 시동 프로세스 동안에 자동으로 행해지고; 다른 실시예들에서, 사용자는 프로세스를 개시하기 위해 액세서리의 컨트롤을 조작할 수 있다. 또 다른 실시예들에서, 시동할 때 자동으로 페어링을 생성하려고 시도할지 구체적인 명령을 기다릴지는 액세서리의 설정 가능한 파라미터이다.
블록(604)에서, 액세서리는 컨트롤러가 그와 함께 페어링할 수 있는 액세서리들을 찾고 있음(또는 브라우징하고 있음)을 나타내는, "브라우징" 프로브 요청을 컨트롤러로부터 청취하고 수신할 수 있다. 일부 실시예들에서, 브라우징 프로브 요청은 전술한 것과 같은 프로브 프레임(500)으로서 수신될 수 있다. 이 경우에, 프로브 프레임(500)은 (예를 들어, 서브-IE 필드(530) 내에) 컨트롤러가 함께 페어링할 액세서리들을 찾고 있음 또는 브라우징하고 있음을 나타내는 연산 코드를 포함할 수 있다. 브라우징 프로브 요청은 브로드캐스트될 수 있다(예를 들어, 수신자 주소를 지정하지 않음으로써). 802.11 준수 네트워크들의 경우에, 액세스 포인트들만이 프로브 요청들을 청취하고 그에 응답하는 것이 전형적이다; 다른 장치들은 그것들을 무시한다. 그러나, 프로브 요청들은 평문으로 브로드캐스트되기 때문에, 액세스 포인트들 이외의 장치들이 프로브 요청들을 탐지하고 그에 응답할 수 있다.
블록(606)에서, 액세서리는 컨트롤러에 프로브 응답을 전송할 수 있다. 일부 실시예들에서, 프로브 응답은 전술한 것과 같은 프로브 프레임(500)으로서 전송될 수 있다. 이 경우에, 프로브 프레임(500)은 (예를 들어, 서브-IE 필드(530) 내에) 제조사의 이름, 모델명과 같은 액세서리에 관한 식별 정보, 및 액세서리가 키 교섭을 동적으로 수행할 수 있는지 저장된 패스워드에 기초하여 수행할 수 있는지와 같은 구체적인 능력 정보를 포함할 수 있다. 프로브 응답은 블록(604)에서 프로브 요청이 수신된 컨트롤러에 어드레싱될 수 있다. 블록(604)에서 다수의 프로브 요청들이 수신되면, 액세서리는 컨트롤러를 선택할 수 있다. 일부 실시예들에서, 액세서리는 프로브 요청이 수신된 첫 번째 컨트롤러를 선택하고; 다른 실시예들에서는, 마지막 컨트롤러를 선택한다. 또 다른 실시예들에서는, 다른 선택 규칙들이 사용될 수 있고, 또는 액세서리가 사용자에게 프롬프트할 수 있는 사용자 인터페이스를 갖고 있다면, 액세서리는 사용자에게 액세서리가 함께 페어링해야 하는 컨트롤러를 선택하도록 프롬프트할 수 있다.
블록(608)에서, 액세서리와 컨트롤러는 공개 암호화 키들을 확립하고 교환할 수 있다. 일부 실시예들에서, 공개 키들은 추가의 프로브들을 이용하여 교환된다. 프로브 프레임들(500)이 사용되는 경우, 키들은 서브-IE 필드(530) 내에 서브-IE들로서 포함될 수 있고; 다른 포맷들이 이용될 수도 있다. 일부 실시예들에서, 키들은 동적으로 교섭될 수 있고; 다른 실시예들에서, 키 생성은 액세서리와 관련된 고정된 패스워드에 기초할 수 있다. 이들 기법들 각각을 이용하는 페어링 프로세스들의 예들이 아래에 설명된다.
블록(610)에서, 액세서리는 공유 비밀을 계산할 수 있고 컨트롤러가 동일한 공유 비밀을 갖고 있다는 것을 확인함으로써 컨트롤러를 입증할 수 있다. 예를 들어, 액세서리와 컨트롤러는 각각 공유 비밀에 기초하는 일부 정보를 디스플레이할 수 있다. 양쪽이 동일한 비밀을 갖고 있다면 양쪽 디스플레이들은 매칭할 것이고, 사용자에게 매칭을 검증하도록 요청할 수 있다. 대안으로, 액세서리와 컨트롤러는 각각 다른 하나가 동일한 공유 비밀을 갖고 있는 것을 검증하기 위해 랜덤 챌린지를 이용할 수 있다. 이들 기법들 각각을 이용하는 페어링 프로세스들의 예들이 아래에 설명된다.
블록(612)에서, 액세서리는 공유 비밀에 기초하여 추가의 암호화 및 인증 키들을 생성할 수 있다. 블록(614)에서, 액세서리는 그 추가의 키들을 이용하여 컨트롤러와 안전하게 통신할 수 있다. 예를 들어, 액세서리는 그 키들을 이용하여 메시지를 암호화한 다음, 그 암호화된 메시지를 프로브 내의 정보 요소(또는 다른 데이터 항목)에서 전송할 수 있다. 유사하게, 액세서리는 컨트롤러로부터 암호화된 메시지를 포함하는 프로브를 수신할 수 있고 그 키들을 이용하여 메시지를 해독하고 인증할 수 있다. 블록(614)에서의 페어링을 통한 통신은 무기한 계속될 수 있고; 통신이 완료되면, 프로세스(600)가 종료할 수 있다.
도 7은 본 발명의 실시예에 따른 컨트롤러가 액세서리와 페어링을 확립하기 위해 이용할 수 있는 프로세스(700)의 흐름도이다. 프로세스(700)은 컨트롤러가 블록(702)에서 액세서리와의 페어링이 시도되어야 한다고 결정할 때 시작된다. 예를 들어, 사용자가 컨트롤러에게 함께 페어링할 액세서리들을 찾도록 지시할 수 있다.
블록(704)에서, 컨트롤러는 컨트롤러가 페어링할 수 있는 액세서리들을 브라우징하고 있음을 나타내는 브라우징 프로브 요청을 브로드캐스트할 수 있다. 일부 실시예들에서, 프로브 요청은 전술한 것과 같은 프로브 프레임(500)으로서 브로드캐스트될 수 있다. 이 경우에, 프로브 프레임(500)은 (예를 들어, 서브-IE 필드(530) 내에) 컨트롤러가 함께 페어링할 액세서리들을 찾고 있음 또는 브라우징하고 있음을 나타내는 연산 코드를 포함할 수 있다. 프로브 요청은 그것이 브로드캐스트된다는 표시를 포함할 수 있다(예를 들어, 수신자 주소를 지정하지 않음으로써).
블록(706)에서, 컨트롤러는 액세서리로부터 프로브 응답을 수신할 수 있다. 일부 실시예들에서, 프로브 응답은 전술한 것과 같은 프로브 프레임(500)으로서 전송될 수 있다. 이 경우에, 프로브 프레임(500)은 (예를 들어, 서브-IE 필드(530) 내에) 제조사의 이름, 모델명과 같은 액세서리에 관한 식별 정보, 및 액세서리가 키 교섭을 동적으로 수행할 수 있는지 저장된 패스워드에 기초하여 수행할 수 있는지와 같은 구체적인 능력 정보를 포함할 수 있다. 프로브 응답은 컨트롤러에 어드레싱될 수 있다. 일부 실시예들에서, 컨트롤러는 블록(706)에서 다수의 프로브 응답들을 수신할 수 있다.
일부 실시예들에서, 컨트롤러는 더 진행하기 전에 사용자에게 프롬프트할 수 있다. 예를 들어, 컨트롤러는 액세서리가 접속되어야 하는지를 사용자에게 묻는 메시지를 디스플레이할 수 있고; 이 메시지는 프로브 요청으로부터 추출된 액세서리 식별 정보를 포함할 수 있다. 사용자가 접속을 인가하면, 컨트롤러는 진행할 수 있다. 블록(706)에서 다수의 액세서리로부터의 프로브 응답들이 수신되는 경우, 컨트롤러는 사용자에게 함께 페어링할 액세서리를 선택하도록 요청할 수 있다. 다른 실시예들에서, 컨트롤러는 먼저 사용자 인가를 얻지 않고 페어링을 속행할 수 있다.
블록(708)에서, 컨트롤러와 액세서리는 공개 암호화 키들을 확립하고 교환할 수 있다. 일부 실시예들에서, 공개 키들이 추가의 프로브들을 이용하여 교환된다. 프로브 프레임들(500)이 사용되는 경우, 키들은 서브-IE 필드(530) 내에 서브-IE들로서 포함될 수 있고; 다른 포맷들이 이용될 수도 있다. 일부 실시예들에서, 키들은 동적으로 교섭될 수 있고; 다른 실시예들에서, 키 생성은 액세서리와 관련된 고정된 패스워드에 기초할 수 있다. 이들 기법들 각각을 이용하는 페어링 프로세스들의 예들이 아래에 설명된다.
블록(710)에서, 컨트롤러는 공유 비밀을 계산할 수 있고 액세서리가 동일한 공유 비밀을 갖고 있다는 것을 확인함으로써 액세서리를 입증할 수 있다. 예를 들어, 컨트롤러와 액세서리는 양쪽이 동일한 비밀을 갖고 있다면 매칭할 공유 비밀에 기초한 일부 정보를 디스플레이할 수 있고, 사용자는 매칭을 검증할 수 있다. 대안으로, 컨트롤러와 액세서리는 각각 다른 하나가 동일한 공유 비밀을 갖고 있는 것을 검증하기 위해 랜덤 챌린지를 이용할 수 있다. 이들 기법들 각각을 이용하는 페어링 프로세스들의 예들이 아래에 설명된다.
블록(712)에서, 컨트롤러는 공유 비밀에 기초하여 추가의 암호화 및 인증 키들을 생성할 수 있다. 블록(714)에서, 컨트롤러는 그 추가의 키들을 이용하여 액세서리와 안전하게 통신할 수 있다. 예를 들어, 컨트롤러는 그 키들을 이용하여 메시지를 암호화한 다음, 그 암호화된 메시지를 프로브 내의 정보 요소(또는 다른 데이터 항목)에서 전송할 수 있다. 유사하게, 컨트롤러는 액세서리로부터 암호화된 메시지를 포함하는 프로브를 수신할 수 있고 그 키들을 이용하여 메시지를 해독하고 인증할 수 있다. 블록(714)에서 제공된 보안 페어링 링크를 통한 통신은 무기한 계속될 수 있고; 통신이 완료되면, 프로세스(700)가 종료할 수 있다.
프로세스들(600 및 700)은 예시적인 것이고 변형들 및 수정들이 가능하다는 것을 알 것이다. 순차적인 것으로 설명된 단계들이 동시에 실행될 수 있고, 단계들의 순서가 변경될 수 있고, 단계들이 수정되거나, 결합되거나, 추가되거나, 생략될 수 있다. 예를 들어, 프로브 요청들 및 프로브 응답들의 다양한 시퀀스들이 페어링을 위한 보안(키들, 공유 비밀 등)을 확립하기 위해 이용될 수 있다. 여러 가지 암호화 기법들 및 알고리즘들이 이용될 수 있고; 일부 예들이 아래에 설명된다. 프로브들은 IEEE 802.11을 준수하는 프로브 요청 및 프로브 응답 프레임들이거나 다른 무선 네트워킹 프로토콜들을 준수하는 다른 포맷의 메시지들일 수 있다. 일반적으로, 프로브들은 평문으로(즉, 암호화되지 않고) 전송될 것으로 예상되고; 적합한 능력을 가진 어떤 장치라도 그 메시지들을 판독할 수 있다. 페어링 내에서는, 예를 들어, 전술한 방식으로, 메시지 콘텐츠를 (예를 들어, 정보 요소 또는 다른 데이터 항목으로서) 평문 프로브 내에 포함시키기 전에 그것을 암호화함으로써 보안이 제공될 수 있다.
일부 실시예들에서, 페어링은 겨우 2개의 프로브를 이용하여 완료될 수 있다. 예를 들어, 컨트롤러에 의해 전송된 초기 프로브 요청은 컨트롤러의 공개 키를 포함할 수 있고, 액세서리에 의해 전송된 초기 프로브 응답은 액세서리의 공개 키를 포함할 수 있다. (따라서, 블록(608)이 블록들(604 및 606)과 함께 일어날 수 있고; 마찬가지로, 블록(708)이 블록들(704 및 706)과 함께 일어날 수 있다.) 공유 비밀의 입증은 추가의 프로브들을 교환하지 않고 수행될 수도 있고; 예들이 아래에 설명된다.
일단 프로세스들(600 및 700)을 이용하여 보안 페어링 링크가 확립되면, 구현에 따른 대역폭 제약들만을 조건으로, 어떤 정보 타입이라도 링크를 통해 통신될 수 있다. 일부 실시예들에서, 액세서리는 블록(614)에서 제공된 페어링을 이용하여 컨트롤러로부터 무선 네트워크에 대한 자격 증명들(예를 들어, 보호된 IEEE 802.11 네트워크에 대한 이름 및 패스워드 또는 키)을 획득할 수 있고; 그 후 액세서리는 이들 자격 증명들을 이용하여 그 네트워크에 조인할 수 있다. 일단 액세서리가 무선 네트워크에 조인하면, 페어링 링크를 통한 통신은 중단되지만, 일부 실시예들에서는, 그러한 통신이 계속되어, 통신 측파대를 제공할 수 있다.
페어링 링크를 통해 전달될 수 있는 다른 정보 타입들은 액세서리, 컨트롤러, 또는 양쪽에 대한 구성 파라미터들 및/또는 제어 신호들을 포함한다. 따라서, 예를 들어, 페어링된 액세서리가 컨트롤러에 대한 원격 제어 장치로서 역할을 할 수 있고(프로브 내에서 컨트롤러에 명령들을 전송함으로써) 또는 그 반대도 가능하다. 프로브들에 의해 제공된 대역폭이 충분하다면 장치들 사이에 데이터가 스트리밍될 수 있다. (현재의 IEEE 802.11 표준들에서는, 프로브 요청 및 프로브 응답 프레임들에 의해 제공된 대역폭은 일반적으로 고품질 미디어 스트리밍에는 충분하지 않고; 다른 구현들이 더 높은 대역폭을 제공할 수 있다.)
전술한 바와 같이, 일부 실시예들은 블록들(608 및 610)(또는 708 및 710)에서 동적인 키 교섭 및 입증을 제공하는 데 반하여 다른 실시예들은 고정된 장치 패스워드에 기초한 키 교섭 및 입증을 제공한다. 도 8a-8b는 본 발명의 실시예에 따른 양쪽 대안들을 제공하는 프로세스(800)의 흐름도이다.
블록(802)에서, 컨트롤러(예를 들어, 컨트롤러(200))가, 예를 들어, 사용자로부터, 함께 페어링할 액세서리를 찾는 명령을 수신할 수 있다. 예를 들어, 컨트롤러에 의해 실행되는 애플리케이션 프로그램은 페어링을 위해 이용 가능한 액세서리들을 찾도록 컨트롤러에 지시하기 위해 사용자가 조작할 수 있는(예를 들어, 메뉴로부터 선택함으로써) 컨트롤을 갖는 사용자 인터페이스를 포함할 수 있다. 다른 실시예들에서, 액세서리를 찾는 명령들은 컨트롤러의 동작 동안에 자동으로 생성될 있고(예를 들어, 일정한 간격을 두고), 사용자 개시가 필요하지 않다. 블록(804)에서, 컨트롤러는 페어링할 수 있는 액세서리들을 브라우징하기 위해 (예를 들어, 전술한 바와 같은) 프로브 요청을 브로드캐스트할 수 있다. 이것은 일반적으로 전술한 프로세스(700)의 블록(704)과 유사할 수 있다.
블록(806)에서, 액세서리가 컨트롤러로부터 프로브 요청을 수신할 수 있다. 블록(808)에서, 액세서리는 (예를 들어, 전술한 바와 같은) 프로브 응답을 컨트롤러에 전송함으로써 응답할 수 있다. 이것은 일반적으로 전술한 프로세스(600)의 블록(606)과 유사할 수 있다.
블록(810)에서, 컨트롤러는 액세서리로부터 프로브 응답을 수신할 수 있다. 블록(812)에서, 컨트롤러는 사용자와 더불어 페어링을 속행할지를 확인할 수 있다. 전술한 바와 같이, 일부 실시예들에서 컨트롤러는 액세서리가 접속되어야 하는지를 사용자에 묻는 메시지를 디스플레이할 수 있고; 이 메시지는 프로브 요청으로부터 추출된 액세서리 식별 정보를 포함할 수 있다. 컨트롤러가 다수의 액세서리들로부터 프로브 응답들을 수신하면, 블록(812)는 사용자에게 함께 페어링할 액세서리를 선택하도록 프롬프트하는 것을 포함할 수 있다. 사용자가 페어링이 진행되어야 하는 것임을 확인한다고 가정하면, 컨트롤러는 진행할 수 있다. 다른 실시예들에서, 컨트롤러는 먼저 사용자 인가를 얻지 않고 페어링을 속행할 수 있고, 블록(812)이 생략될 수 있다.
블록(814)에서, 컨트롤러는 액세서리가 동적인 키 교섭을 이용할지 고정된 패스워드 기반 키들을 이용할지를 결정할 수 있다. 액세서리가 동적인 키 교섭을 이용하지 않는다면, 블록(816)에서 나타낸 바와 같이, 도 9a-9b에 도시되고 아래에 설명된 시퀀스가 이용될 수 있다.
동적인 키 교섭을 위해, 프로세스(800)의 나머지 부분이 도 8b에 도시되어 있다. 블록(822)에서, 컨트롤러는 그의 개인 키("CPRIV") 및 공개 키("CPUB")를 생성할 수 있다. 일 실시예에서, 컨트롤러는 32 바이트의 암호로 강력한 랜덤 데이터를 생성하고, 그 데이터를 Curve25519(타원 곡선 디피-헬만(elliptic curve Diffie-Hellman) 방식, http://cr.yp.to/ecdh.html에 기록됨)과 같은 암호화 알고리즘을 이용하여 개인 키 CPRIV로 변환하고, CPRIV로부터 공개 키 CPUB를 계산할 수 있다. 공개-개인 키 쌍을 생성하는 다른 기법들이 대신 사용될 수 있다.
블록(824)에서, 컨트롤러는 프로브 요청을 이용하여 공개 키 CPUB를 액세서리에 전송할 수 있다. 공개 키 CPUB는 정보 요소 또는 다른 데이터 항목으로서 포함될 수 있다. 공개 키는 평문으로 전송될 수 있다. 컨트롤러는 또한 프로브 요청의 하나 이상의 정보 요소들 내에, 고유 세션 ID와 같은 다른 정보를 포함시킬 수 있고, 그것은 그 후 페어링 세션과 관련된 모든 프로브 요청 및 프로브 응답들에 포함될 수 있다. 세션 ID의 사용은 컨트롤러와 액세서리가 페어링 링크의 상태(예를 들어, 키 교섭이 진행 중인지 완료되었는지)를 결정하고 그에 따라 수신된 프로브 요청들 및 프로브 응답들을 처리하는 데 도움이 될 수 있다. 일부 실시예들에서, 다른 정보는 또한 프로브 응답들이 특정 프로브 요청들에 매칭될 수 있게 하는 고유 시퀀스 식별자(세션 내에서 고유함)를 포함할 수 있다.
블록(826)에서, 액세서리는 컨트롤러의 공개 키 CPUB를 포함하는 프로브 요청을 수신할 수 있다. 액세서리는 블록(828)에서 그 자신의 개인 키("APRIV") 및 공개 키("APUB")를 생성할 수 있다. 일 실시예에서, 액세서리는 32 바이트의 암호로 강력한 랜덤 데이터를 생성하고, 그 데이터를 Curve25519과 같은 암호화 알고리즘을 이용하여 개인 키 APRIV로 변환하고, APRIV로부터 공개 키 APUB를 계산할 수 있다. 공개-개인 키 쌍을 생성하는 다른 기법들이 대신 사용될 수 있고; 일반적으로, 호환 가능한 기법들이 블록들(822 및 828)에서 이용되어야 한다. 블록(830)에서, 액세서리는 프로브 응답을 이용하여 그의 공개 키 APUB를 컨트롤러에 전송할 수 있다.
블록(832)에서, 컨트롤러는 프로브 응답을 수신하고 APUB를 추출할 수 있다. 이 단계에서, 컨트롤러와 액세서리는 각각 양쪽 공개 키들 APUB 및 CPUB를 소유하고 있다.
블록들(834 및 836)에서, 컨트롤러와 액세서리는 각각 공개 키들 APUB 및 CPUB에 기초하여 공유 비밀을 계산할 수 있다. 일부 실시예들에서, 공유 비밀은 Curve25519를 이용하여 계산되고; 다른 암호화 알고리즘들이 대신 사용될 수 있다. 일반적으로, 양쪽 장치들은 공유 비밀(즉, 양쪽 장치들에게 알려진 하나의 비밀)을 제공하기 위해 동일한 알고리즘을 이용해야 한다.
블록들(838 및 840)에서, 컨트롤러와 액세서리는 각각 공유 비밀로부터 패스코드(passcode)를 계산할 수 있다. 예를 들어 SHA-256과 같은 해시 알고리즘이 공유 비밀에 또는 공유 비밀의 어떤 함수에 적용될 수 있다. 결과, 또는 그의 일부는 패스코드로서 사용될 수 있는 영숫자 문자열(예를 들어, 8개 문자)로 변환될 수 있다. 패스코드 생성에 여러 가지 기법들이 이용될 수 있지만, 액세서리와 컨트롤러는 매칭하는 또는 상관된 패스코드들을 야기하는 기법들을 이용해야 한다. 블록들(842 및 844)에서, 컨트롤러와 액세서리는 각각 그들의 계산된 패스코드들을 사용자에게 제시한다. 예를 들어, 컨트롤러(200)는 그의 디스플레이 상에 패스코드를 디스플레이할 수 있다. 프린터 액세서리(예를 들어, 액세서리(300))는 그의 사용자 인터페이스 디스플레이 상에 패스코드를 디스플레이하거나 그 패스코드를 포함하는 페이지를 인쇄할 수 있다. 사용자는 그 2개의 패스코드를 비교하여 그것들이 매칭하는지를 확인할 수 있다(예를 들어, 매칭을 확인하기 위해 컨트롤러 및/또는 액세서리 상의 입력 컨트롤들을 조작함으로써). 블록들(846 및 848)에서, 액세서리와 컨트롤러는 각각 이 확인을 수신할 수 있다. 일부 실시예들에서, 사용자는 단 하나의 장치(예를 들어, 컨트롤러)의 사용자 인터페이스를 통해 확인을 제공할 수 있고, 그 장치는 프로브를 전송함으로써 다른 하나의 장치(예를 들어, 액세서리)에 확인을 전달할 수 있다. 확인이 수신되지 않으면, 확인을 수신하지 않은 장치(또는 장치들)는 프로세스(800)를 중단할 수 있다.
일부 실시예들에서, 액세서리는 패스코드를 디스플레이하지 못할 수도 있다. 예를 들어, 도 1에 도시된 것과 같은 스피커 액세서리(120)는 디스플레이 장치를 갖고 있지 않다. 그러한 경우에, 예를 들어, 도 9a-9b에 관련하여 아래에 설명된 것과 같은 패스워드 기반 인증이 대신 이용될 수 있다.
패스코드가 검증된다고 가정하면, 블록들(850 및 852)에서, 컨트롤러와 액세서리는 각각 공유 비밀로부터 추가의 암호화 및 인증 키들을 생성할 수 있다. 그러한 키들은, 예를 들어, 고급 암호화 표준("AES", http://en.wikipedia.org/wiki/Advanced_Encryption_Standard에 기록됨) 및/또는 Poly1305-AES 메시지 인증 코드들(http://cr.yp.to/mac.html에 기록됨)과 같은 표준 기법들을 이용하여 얻어질 수 있다.
이 시점에, 페어링은 확립된 것으로 생각되고, 블록들(850 및 852)에서 확립된 키들을 이용한 컨트롤러와 액세서리 간의 보안 통신이 가능하다. 메시지들을 안전하게 송신 및 수신하는 구체적인 프로세스들의 예들이 아래에 설명된다.
전술한 바와 같이, 프로세스(800)는 컨트롤러와 액세서리에 의해 사용자에게 패스코드를 제시하고 사용자에게 그 패스코드들이 매칭하는 것을 검증하도록 요청하는 것을 포함한다. 일부 실시예들에서, 소정 장치들이 사용자에게 패스코드를 제시하는 것이 불편하거나 불가능할 수 있다. 예를 들어, 도 1에 도시된 것과 같은 스피커 액세서리(120)는 어떤 디스플레이 능력도 포함하고 있지 않고; 그러한 능력이 추가될 수는 있지만, 그렇게 하는 것이 (예를 들어, 비용 또는 미적인 이유로) 바람직하지 않을 수 있다. 따라서, 일부 실시예들은 동적인 키 교섭에 더하여 또는 그 대신에 패스워드 기반 인증을 제공한다.
일부 실시예들에서, 프로세스(800)는 페어링을 확립하기 위해 교환되는 프로브들의 수를 감소시키도록 수정될 수 있다. 예를 들어, 블록(802)에서 컨트롤러에 의해 전송되는 초기 프로브 요청은 컨트롤러 공개 키 CPUB를 포함할 수 있고, 블록(808)에서 액세서리에 의해 전송되는 초기 프로브 응답은 액세서리 공개 키 APUB를 포함할 수 있고; 그 경우에, 블록들(824 및 832)에서 추가의 프로브들을 전송하는 것이 생략될 수 있다. 프로브들이 나중의 단계들에서 사용되지 않는다면, 예를 들어, 사용자가 (블록들(846 및 848)에서) 패스코드 매칭을 검증하기 위해 각 장치와 개별적으로 상호 작용할 수 있다면, 페어링은 겨우 2개의 프로브(컨트롤러로부터의 하나의 요청과 액세서리로부터의 하나의 응답)를 이용하여 생성될 수 있다.
도 9a-9b는 본 발명의 실시예에 따른 패스워드 기반 인증을 위한 프로세스(900)의 흐름도이다. 도 8a에서 나타낸 바와 같이, 프로세스들(800 및 900)은 양쪽 모두 이용 가능할 수 있고, 컨트롤러는 액세서리에 의해 제공된 정보에 기초하여 어느 것을 이용할지를 결정한다. 다른 실시예들에서, 프로세스(900)는 프로세스(800)를 구현하지 않고도 구현될 수 있고, 그 경우 모든 액세서리들이 패스워드 기반 인증을 지원할 것이다.
프로세스(900)는 컨트롤러가 액세서리가 페어링을 생성하려고 시도하고 있음을 나타내는 프로브 요청을 액세서리로부터 수신한 후에 시작된다. 이 경우 프로브 요청은 액세서리가 패스워드 기반 인증을 이용한다는 것을 나타낼 수 있다. 블록(902)에서, 컨트롤러는 세션 ID를 포함하는 프로브 요청을 액세서리에 전송할 수 있다. 전술한 바와 같이, 세션 ID는 컨트롤러에 의해 할당되고 특정 액세서리와의 페어링에 특유하다.
블록(904)에서, 액세서리는 프로브 요청을 수신할 수 있다. 이 실시예에서, 액세서리는 메모리에 또는 액세서리가 액세스할 수 있는 다른 저장소에 지속적으로 저장되어 있는 고정된 또는 미리 결정된 패스워드를 갖고 있을 수 있고(예를 들어, 도 4의 액세서리(400)가 저장 매체(408)에 저장된 장치 패스워드(412)를 갖고 있다), 블록(906)에서, 액세서리는 이 패스워드를 이용하여 공개 키("APUB")를 생성할 수 있다. 일 실시예에서, 액세서리는 보안 원격 패스워드("SRP", http://srp.standford.edu/에 기록됨)를 이용하여 공개 키 APUB를 생성한다. 블록(908)에서, 액세서리는, 예를 들어, SRP를 준수하는 랜덤 솔트(salt)를 생성할 수 있다. 블록(910)에서, 액세서리는 공개 키 APUB 및 랜덤 솔트를 포함하는 프로브 응답을 컨트롤러에 전송할 수 있다. 이 프로브 응답, 및 모든 후속의 프로브 요청들 또는 프로브 응답들도 블록(902)에서 컨트롤러에 의해 제공된 세션 ID를 포함할 수 있다.
블록(912)에서, 컨트롤러는 액세서리로부터 프로브 응답을 수신할 수 있다. 블록(914)에서, 컨트롤러는 사용자에게 액세서리의 패스워드를 컨트롤러에 입력하도록 프롬프트할 수 있다. 이 실시예에서, 사용자는 액세서리의 패스워드를 획득할 수 있다고 가정한다. 패스워드는, 예를 들어, 액세서리와 함께 포장된 증거 서류(documentation)에서, 액세서리에 부착된 디캘(decal) 상에서, 액세서리의 본체 상에 새겨진 패스워드로서, 또는 어떤 다른 방법으로 사용자에게 제공될 수 있다. 일부 경우에, 액세서리 일련 번호 또는 다른 고유 식별 코드가 패스워드로서 사용될 수 있다.
사용자에게 패스워드를 전달하기 위한 옵션들의 범위를 고려해볼 때, 블록(914)에서 액세서리의 패스워드가 어디에서 발견될지에 대해 사용자에게 프롬프트하거나 상기시키는 것이 도움이 될 수 있다. 일부 실시예들에서, 액세서리는 그의 패스워드가 어디에 위치하는지에 대한 정보를 컨트롤러에 제공할 수 있다. 예를 들어, "왼쪽 측면", "오른쪽 측면", "윗면", "바닥", "앞면", "뒤쪽" 및 "증거 서류"를 나타내도록 상이한 위치 코드들이 정의될 수 있다. 액세서리는 페어링 상대를 찾기 위해 액세서리가 전송하는 초기 프로브 요청 또는 프로세스(900)의 블록(910)에서 전송되는 프로브 응답과 같은, 프로브 요청 또는 프로브 응답의 정보 요소(또는 다른 데이터 항목)에 적절한 위치 코드를 포함시킬 수 있다.
도 10은 본 발명의 실시예에 따른 컨트롤러 상에 디스플레이될 수 있는 패스워드 프롬프트를 예시한다. 윈도(1000)는 프롬프트를 포함한다. 타이틀 바(1002)는 컨트롤러가 접속하려고 시도하고 있는 액세서리를 식별하고, 프롬프트(1004)는 사용자에게 텍스트 박스(1006)에 패스워드를 입력하도록 요청한다. 팁 메시지(1008)는 사용자에게 패스워드가 어디에 위치할 수 있는지를 알려준다. 일부 실시예들에서, 컨트롤러는 액세서리로부터 수신된 프로브 요청 또는 프로브 응답으로부터 위치 코드를 판독하고 그 위치 코드에 따라 적절한 텍스트를 선택함으로써 팁 메시지(1008)를 생성할 수 있다.
다시 도 9a를 참조하여, 블록(916)에서, 컨트롤러는 사용자 입력 장치를 통해 패스워드를 수신할 수 있다. 일부 실시예들에서, 사용자는 패스워드를 입력하기보다는 컨트롤러에게 페어링 프로세서를 취소하거나 중단하도록 지시할 수 있다. 블록(918)에서, 컨트롤러는 그 자신의 공개 키(CPUB)를 생성할 수 있고; SRP 또는 다른 기법들이 이용될 수 있다. 블록(920)에서, 컨트롤러는 액세서리의 공개 키 APUB, 컨트롤러의 공개 키 CPUB, 및 액세서리로부터 수신된 랜덤 솔트에 기초하여 (예를 들어, SRP를 이용하여) 공유 비밀을 계산할 수 있다. 블록(920)에서, 컨트롤러는, 예를 들어, SRP를 이용하여, 액세서리의 패스워드를 그것이 알고 있음을 입증하는 응답("CRESP")을 계산할 수 있다.
프로세스(900)의 나머지 부분들은 도 9b에 도시되어 있다. 블록(924)에서, 컨트롤러는 공개 키 CPUB 및 응답 CRESP를 포함하는 프로브 요청을 전송할 수 있다.
블록(926)에서, 액세서리는 프로브 요청을 수신할 수 있다. 블록(928)에서, 액세서리는 액세서리의 공개 키 APUB, 컨트롤러의 공개 키 CPUB, 및 블록(908)(도 9a)에서 생성된 랜덤 솔트에 기초하여 (예를 들어, SRP를 이용하여) 공유 비밀을 계산할 수 있다. 블록(930)에서, 액세서리는 그 계산된 공유 비밀을 이용하여 컨트롤러로부터 수신된 응답 CRESP를 검증할 수 있다. 일부 실시예들에서, 검증이 실패하면, 프로세스(900)는 종료할 수 있다. 검증이 성공한다고 가정하면, 블록(932)에서, 액세서리는 그것도 액세서리의 패스워드를 알고 있음을 입증하기 위해 그 자신의 응답("ARESP")을 계산할 수 있다. 블록(934)에서, 액세서리는 컨트롤러에 대한 프로브 응답에서 응답 ARESP를 전송할 수 있다.
블록(936)에서, 컨트롤러는 프로브 응답을 수신할 수 있고, 블록(938)에서, 컨트롤러는 응답 ARESP를 검증할 수 있다. 블록(930)에서와 같이, 일부 실시예들에서, 검증 실패는 프로세스(900)의 종료를 야기한다. 검증이 성공하면, 블록(940)에서, 컨트롤러는 공유 비밀에 기초하여 암호화 및 인증 키들을 계산할 수 있다. 프로세스(800)에서와 같이, 이들 키들은 AES 및 Poly1305-AES를 각각 이용하여 계산될 수 있다.
유사하게, 일단 액세서리가 컨트롤러의 응답(CRESP)을 검증하면, 액세서리도 블록(942)에서 공유 비밀에 기초하여 암호화 및 인증 키들을 계산할 수 있다.
이 시점에, 페어링이 확립되고, 블록들(940 및 942)에서 확립된 키들을 이용한 보안 통신이 가능하다. 메시지들을 안전하게 송신 및 수신하는 구체적인 프로세스들의 예들이 아래에 설명된다.
여기에서 설명된 페어링 프로세스들은 예시적인 것이고 변형들 및 수정들이 가능하다는 것을 알 것이다. 순차적인 것으로 설명된 단계들이 동시에 실행될 수 있고, 단계들의 순서가 변경될 수 있고, 단계들이 수정되거나, 결합되거나, 추가되거나, 생략될 수 있다. 예를 들어, 다양한 키들이 생성되는 순서가 변경될 수 있다. 액세서리와 컨트롤러는 소정 계산들을 동시에 수행할 수 있다.
여기에서 설명된 실시예들은 페어링을 확립하기 위해 이용될 수 있는 프로브 요청들 및 프로브 응답들의 특정 시퀀스를 식별하지만, 다른 실시예들은 프로브들의 상이한 시퀀스들을 이용할 수 있다. (따라서, "제1", "제2" 등과 같은 프로브들 중에서 구별하기 위한 서수들의 임의의 사용은 프로브들 중에서 특정한 시간 순서를 요구하는 것으로서가 아니라 단지 구별하는 어법으로서 이해되어야 한다.) 또한, 위에 분명하게 도시되거나 설명되지 않은 추가의 프로브 요청들 및 프로브 응답들이 이용될 수도 있다. 예를 들어, IEEE 802.11과 같은 일부 프로토콜들에서, 프로브 요청을 전송하는 장치는 소정의 시간 기간 내에 프로브 응답을 수신할 것으로 예상하고; 어떤 응답도 수신되지 않으면, 응답을 기다리고 있는 프로세스는 타임 아웃할 수 있다. 일부 실시예들에서, 프로브 요청을 수신하는 장치는 프로브 요청의 수신을 확인하고 프로브 요청의 발신자가 응답을 얼마나 기다려야 하는지를 (예를 들어, 정보 요소를 통해) 나타내는 제1 프로브 응답을 전송할 수 있다. 요청하는 장치는 요청을 재전송하거나 프로세스를 중단하기 전에 응답을 얼마나 기다릴지를 결정하기 위해 지정된 타임아웃을 이용할 수 있다. 이에 따라 응답하는 장치는 디폴트 타임아웃 기간보다 더 많은 시간이 걸릴 수 있는 계산들을 수행할 수 있고; 응답하는 장치는 요청하는 장치가 완전한 응답을 기다려야 한다는 것을 나타내기 위해 타임아웃 기간 내에 프로브 응답을 전송할 수 있다.
또한 프로세스들(800 및 900)은 컨트롤러는 프로브 응답들이 아니라 프로브 요청들만을 전송하는 데 반하여, 액세서리는 프로브 요청들이 아니라 프로브 응답들만을 전송하도록 구현될 수 있다는 것에도 유의해야 한다. 따라서, 컨트롤러는 프로브 요청을 탐지하거나 그에 응답할 수 있지 않아도 된다.
특정 암호화 및 인증 기술들(AES, SRP 등)의 식별은 예시적인 것이고, 다른 기술들이 대신 사용될 수 있다. 컨트롤러와 액세서리는 페어링 내에서 호환 가능한 기술들을 이용하고, 따라서 어느 하나의 장치가 다른 하나의 장치에 의해 전송된 메시지들을 성공적으로 인증하고 해독할 수 있는 것으로 예상된다.
일부 실시예들에서, 컨트롤러가 제1 액세서리와 페어링 확립하는 프로세스에 있는 동안 제2 액세서리가 그 컨트롤러와 페어링하려고 시도할 수 있다. 예를 들어, 도 1의 실시예에서, 컨트롤러(100)가 스피커들(120)과 페어링을 확립하는 프로세스에 있는 동안 프린터(110)가 페어링 프로세스를 개시하려고 시도하는 프로브 요청을 전송할 수 있다. 컨트롤러(100)는 이러한 상황을 다양한 방법으로 처리하도록 구성될 수 있다.
일부 실시예들에서, 일단 제1 페어링 프로세스가 개시되면, 컨트롤러는 제1 프로세스에 남고 제1 프로세스가 완료되거나 중단될 때까지 페어링을 개시하려고 시도하고 있는 추가의 프로브 요청들을 무시한다. 다른 실시예들에서, 제1 프로세스가 아직 계속되고 있는 동안에 페어링을 개시하기 위한 제2 요청이 수신되면, 컨트롤러는 제1 프로세스를 중단하고 제2 요청에 기초하여 제2 페어링 프로세스를 시작할 수 있다. 후자의 설계 선택은 사용자가 페어링 프로세스 동안에 실수하거나 생각을 바꾸고 다시 시작하기를 원하는 경우에 도움이 될 수 있고; 사용자는 제1 프로세스가 완료되거나 타임 아웃하는 것을 기다리지 않아도 된다. 또 다른 실시예들에서, 컨트롤러는 다수의 페어링 프로세스들을 동시에 관리하도록 구성될 수 있다.
유사하게, 액세서리가 다수의 컨트롤러들로부터 브라우징 프로브들을 수신할 수 있는 것이 가능하다. 일부 실시예들에서, 액세서리는 브라우징 프로브가 수신된 첫 번째 컨트롤러에 응답하고 첫 번째 컨트롤러와의 페어링이 종료할 때까지 어떤 후속의 브라우징 프로브들도 무시할 수 있다. 다른 실시예들에서, 페어링이 진행 중인(확립되었거나 확립되고 있는 프로세스에 있는) 동안에 브라우징 프로브가 수신되면, 액세서리는 현재의 페어링을 종료하고 가장 최근의 브라우징 프로브에 응답함으로써 새로운 페어링 프로세스를 시작할 수 있다. 액세서리가 사용자 인터페이스를 갖고 있는 실시예들에서, 액세서리는 사용자에게 새로운 브라우징 프로브에 응답하여 현재의 페어링이 종료되어야 하는지에 대해 프롬프트할 수 있다.
전술한 바와 같이, 프로세스들(800 및 900)은 컨트롤러와 액세서리 간에 페어링 - 보안 무선 링크 - 의 확립을 야기한다. 각 장치는 다른 하나를 입증할 수 있고, 그 2개의 장치는 무선 통신을 모니터하고 있을 수 있는 어떤 침입자도 결정하기 어려운 공유 비밀을 확립할 수 있다. 페어링은, 일단 확립되면, 보안(암호화된 및/또는 인증된) 통신을 위해 이용될 수 있다. 도 11 및 12는 본 발명의 실시예에 따른 무선 페어링을 통해 보안 메시지들을 송신 및 수신하기 위한 프로세스들의 흐름도들이다.
도 11은 본 발명의 실시예에 따른 (액세서리 또는 컨트롤러 중 어느 하나일 수 있는) 발신자가 그 발신자와 페어링되는 수신자 장치에 메시지를 전송하기 위해 이용할 수 있는 프로세스(1100)를 예시한다. 프로세스(1100)는, 예를 들어, 전술한 프로세스들 중 임의의 프로세스를 이용하여 페어링이 확립된 후에 시작된다(블록(1102)). 블록(1104)에서, 발신자는 안전하게 전송되어야 하는 메시지를 준비한다. 이것은, 예를 들어, 데이터를 생성하는 것, 저장된 정보를 검색하는 것, 데이터를 포맷팅 또는 인코딩하는 것 등을 포함할 수 있다. 블록(1106)에서, 발신자는 페어링과 관련된 암호화 키(예를 들어, 전술한 프로세스들 중 임의의 프로세스를 이용하여 생성된 AES 키)를 이용하여 메시지를 암호화할 수 있다. 블록(1108)에서, 발신자는 인증 목적을 위한 넌스로서 사용될 랜덤 데이터(예를 들어, 16 바이트)를 생성할 수 있다. 블록(1110)에서, 발신자는 메시지, 넌스, 및 페어링과 관련된 인증 키(예를 들어, 전술한 프로세스들 중 임의의 프로세스를 이용하여 생성된 Poly1305-AES 코드)에 기초하여 인증자(데이터 블록)를 생성할 수 있다.
블록(1112)에서, 발신자는 암호화된 메시지, 넌스, 및 인증자 데이터 블록을 포함하는 프로브(프로브 요청 또는 프로브 응답일 수 있음)를 전송할 수 있다. 이들 항목들은 프로브 내에 정보 요소들 또는 다른 데이터 요소들로서 포함될 수 있다. 발신자는 또한 프로브에 페어링과 관련된 세션 ID를 포함시킬 수 있다. 일부 실시예들에서, 메시지 자체만이 암호화되고; 세션 ID 및 넌스와 같은 다른 항목들은 암호화되지 않는다. (인증자는 암호화 기법들을 이용하여 생성될 수 있지만 더 암호화되지 않는다.) 일단 프로브 요청이 전송되면, 프로세스(1100)가 종료할 수 있다(블록(1114)).
도 12는 본 발명의 실시예에 따른 (컨트롤러 또는 액세서리 중 어느 하나일 수 있는) 수신자가 그 수신자와 페어링되는 발신자 장치로부터 메시지를 수신하기 위해 이용할 수 있는 프로세스(1200)를 예시한다. 이 예에서는, 도 11의 프로세스(1100)를 이용하여 메시지가 전송되었다고 가정한다. 프로세스(1200)는, 예를 들어, 전술한 프로세스들 중 임의의 프로세스를 이용하여 페어링이 확립된 후에 시작된다(블록(1202)). 블록(1204)에서, 수신자는 페어링과 관련된 세션 식별자를 포함하는 프로브(프로브 요청 또는 프로브 응답일 수 있음)를 수신할 수 있다. 블록(1206)에서, 수신자는 프로브로부터 암호화된 메시지, 넌스, 및 인증자 블록을 추출할 수 있다. 블록(1208)에서, 수신자는 인증자 및 넌스와 함께, 그 자신의 인증 키(예를 들어, 전술한 것과 같은 그의 Poly1305-AES 코드)를 이용하여 메시지의 진위(authenticity)를 검증할 수 있다. 블록(1210)에서 진위가 검증된다면, 수신자는 블록(1212)에서 암호화된 메시지를 해독하기 시작할 수 있다. 이 실시예에서, 블록(1210)에서 진위가 검증되지 않으면, 수신자는 단순히 메시지를 무시할 수 있다.
프로세스(1200)는 블록(1214)에서 종료한다. 메시지가 인증되고 해독되었다고 가정하면, 수신자는 그 메시지에 따라 행동할 수 있고, 구체적인 행동은 메시지의 콘텐츠에 의존한다. 전술한 바와 같이, 프로브를 이용하여 전송된 암호화된 메시지에 임의의 타입의 구성 정보, 제어 신호, 또는 다른 데이터가 포함될 수 있다. 일부 실시예들에서, 메시지에 응답하는 것은 암호화된 메시지를 프로브를 이용하여 발신자에 전송하는 것을 포함할 수 있다. 그 경우에, 수신자는 프로세스(1100)를 이용하는 발신자가 될 수 있고; 따라서, 동일한 장치가 어느 때에는 발신자로서 그리고 다른 때에는 수신자로서 동작할 수 있다.
여기에서 설명된 통신 프로세스들은 예시적인 것이고 변형들 및 수정들이 가능하다는 것을 알 것이다. 순차적인 것으로 설명된 단계들이 동시에 실행될 수 있고, 단계들의 순서가 변경될 수 있고, 단계들이 수정되거나, 결합되거나, 추가되거나, 생략될 수 있다. 여기에서 확인된 기법들 대신에 다른 암호화 기법들이 사용될 수 있다.
전술한 바와 같이, 프로세스들(1100 및 1200)은 액세서리와 컨트롤러 사이에 원하는 임의의 정보를 전달하는 데 이용될 수 있다. 일부 실시예들에서, 컨트롤러는 액세서리와 페어링하는 동안 통상의 무선 네트워크(예를 들어, IEEE 802.11 준수 네트워크)에 조인될 수 있다. 일단 페어링이 확립되면, 컨트롤러는 보안 링크를 이용하여 무선 네트워크에 조인하기 위해 필요로 하는 자격 증명들(예를 들어, 네트워크 이름 및 패스워드)을 액세서리에 제공할 수 있다.
도 13은 본 발명의 실시예에 따른 액세서리(예를 들어, 도 1의 액세서리(110 또는 120))가 무선 네트워크에 조인하기 위해 이용할 수 있는 프로세스(1300)의 흐름도이다. 이 프로세스에서, 무선 네트워크는 액세스 포인트에 의해 관리된다고 가정하고 그 액세스 포인트는 그것을 통해 다른 장치들이 네트워크에 조인하고 다양한 리소스들(예를 들어, 인터넷)에 액세스할 수 있는지를 결정한다.
프로세스(1300)는 블록(1302)에서 시작되고, 이 블록에서 액세서리는 그것이 무선 네트워크에 조인하려고 시도해야 한다고 결정한다. 이 결정은 장치가 시동할 때 자동으로, 사용자 입력에 응답하여, 또는 다른 상황들 하에서 행해질 수 있다. 블록(1304)에서, 액세서리는 그 액세서리와 페어링을 확립할 수 있는 컨트롤러로부터 브라우징 프로브 요청을 청취할 수 있다. 컨트롤러는 네트워크 액세스 포인트일 수 있지만 그렇지 않아도 되고, 액세서리는 임의의 무선 네트워크들에 대한 액세스 자격 증명들 또는 이들의 존재에 대한 임의의 정보를 가질 필요는 없다.
블록(1306)에서, 액세서리는 브라우징 프로브가 탐지되었는지를 결정할 수 있다. 어떤 브라우징 프로브도 탐지되지 않으면, 액세서리는 계속해서 청취하거나(블록(1304)) 프로세서(1300)를 종료할 수 있다. 브라우징 프로브가 탐지되면, 블록(1308)에서, 액세서리는 페어링을 확립하기 위해 컨트롤러와 (예를 들어, 추가의 프로브들을 이용하여) 통신할 수 있다. 예를 들어, 전술한 프로세스들(800 및/또는 900)이 이용될 수 있다.
일단 페어링이 확립되면, 블록(1310)에서, 액세서리는 페어링 링크를 통해 컨트롤러로부터 무선 네트워크에 대한 자격 증명들(예를 들어, 네트워크 이름 및 패스워드)을 획득할 수 있다. 예를 들어, 전술한 프로세스들(1100 및 1200)이 이용될 수 있고, 무선 네트워크 자격 증명들은, 예를 들어, 프로브 요청에서 컨트롤러에 의해 액세서리에 전송되는 암호화된 메시지에 포함된다. 컨트롤러는 자격 증명들을 액세서리에 제공할 때 무선 네트워크에 조인되어 있을 수 있지만, 그렇지 않아도 된다. 일부 실시예들에서, 액세서리는 분명하게 네트워크 자격 증명들을 요청하지 않고; 일단 페어링이 확립되면 컨트롤러가 자동으로 (예를 들어, 프로브 요청에서) 자격 증명들을 전송하도록 구성될 수 있다. 다른 실시예들에서, 블록(1310)은, 예를 들어, 프로브를 이용하여, 컨트롤러에 자격 증명들에 대한 요청을 전송하는 것을 포함할 수 있다.
블록(1312)에서, 액세서리는 무선 네트워크 자격 증명들을 네트워크 액세스 포인트에 전송할 수 있다. 자격 증명들, 또는 자격 증명들로부터 파생된 정보를 액세스 포인트에 안전하게 송신하기 위해 WEP, WPA 또는 WPA2(IEEE 802.11 준수 네트워크의 경우) 등의 종래의 기법들이 이용될 수 있다.
블록(1314)에서, 액세서리는 그것이 네트워크에 성공적으로 조인했는지에 대한 확인을 기다릴 수 있다. 그렇지 않다면, 프로세스(1300)는 블록(1316)에서 종료할 수 있고, 또는 액세서리는 재시도할 수 있다(예를 들어, 블록(1312)으로 돌아가서 자격 증명들을 재전송하거나 블록(1310)으로 돌아가서 새로운 자격 증명들을 획득할 수 있다).
네트워크에 조인한 후에, 액세서리는 무선 네트워크 프로토콜을 이용하여 네트워크 상의 다른 장치들과 통신할 수 있다(블록(1318)). 일부 실시예들에서, 일단 액세서리가 무선 네트워크에 조인하면 컨트롤러와의 페어링은 종료될 수 있다. 다른 실시예들에서는, 어느 하나의 장치가 여전히 무선 네트워크에 조인되어 있는지에 상관없이, 페어링 세션은 여전히 무기한 열려 있어, 컨트롤러와 액세서리가 측파대에서 통신하는 것을 가능하게 할 수 있다.
일부 실시예들에서, 사용자가 컨트롤러와 상호 작용함으로써 페어링 및 네트워크 조인 프로세스를 제어할 수 있다. 도 14는 본 발명의 실시예에 따른 컨트롤러가 액세서리를 무선 네트워크에 조인시키는 것을 용이하게 하기 위해 실행할 수 있는 프로세스(1400)의 흐름도이다.
프로세스(1400)는 컨트롤러가 무선 액세서리와 페어링할 준비가 되어 있을 때 시작된다(블록(1402)). 예를 들어, 사용자는 무선 장치들과 통신하기 위한 제어 인터페이스를 제공하는 컨트롤러 상의 애플리케이션 프로그램을 시작할 수 있다. 일부 실시예들에서, 이 프로그램은 무선 네트워크를 통해 액세서리에 디지털 미디어 데이터를 스트리밍할 수 있는 미디어 자산들을 플레이하기 위한 프로그램(예를 들어, 본 출원인의 양수인인 애플사가 제공하는 iTunes? 미디어 자산 관리 프로그램)일 수 있다.
블록(1404)에서, 컨트롤러는 사용자로부터 무선 액세서리를 찾는 명령을 수신할 수 있다. 예를 들어, 사용자는 애플리케이션 프로그램과 상호 작용하여 컨트롤러에게 무선 액세서리들을 찾도록 지시할 수 있다. 블록(1406)에서, 컨트롤러는 브라우징 프로브, 예를 들어, 컨트롤러가 함께 페어링할 액세서리들을 찾고 있음을 나타내는 프로브 요청을 브로드캐스트할 수 있다.
블록(1408)에서, 컨트롤러는 액세서리로부터 프로브 응답을 수신할 수 있다. 전술한 바와 같이, 이 프로브 응답은 액세서리에 관한 정보를 포함할 수 있다. 블록(1410)에서, 컨트롤러는 액세서리에 관한 정보(예를 들어, 프로브 응답으로부터 추출된 정보)를 사용자에게 디스플레이할 수 있다. 블록(1412)에서, 컨트롤러는 사용자로부터 페어링이 진행되어야 한다는 확인을 수신할 수 있다. 확인이 수신되지 않으면, 프로세스(1400)는 종료하거나(블록(1414)) 블록(1406)으로 돌아가서 상이한 액세서리로부터의 프로브 요청을 찾을 수 있다.
일단 블록(1412)에서 확인이 수신되면, 컨트롤러는 블록(1416)에서 액세서리와 키 교섭 프로세스를 시작할 수 있다(예를 들어, 전술한 프로세스(800)). 블록(1418)에서, 키 교섭의 일부로서, 컨트롤러는, 예를 들어, 전술한 바와 같이, 사용자 확인을 위해 패스코드를 디스플레이할 수 있다. 블록(1420)에서, 사용자는 패스코드를 확인할 수 있다. 패스코드가 확인되지 않으면, 프로세스(1400)는 블록(1422)에서 종료하거나 이전의 블록으로 돌아가서 다시 시도할 수 있다. 패스코드가 확인되면, 컨트롤러는 블록(1424)에서 페어링을 종료할 수 있다(예를 들어, 프로세스(800)를 종료할 수 있다). 일부 실시예들에서, 페어링을 종료하는 것은 페어링이 확립된 것을 확인하기 위해 액세서리에 프로브를 전송하는 것을 포함할 수 있다.
일단 페어링이 확립되면, 블록(1426)에서, 컨트롤러는, 예를 들어, 전술한 프로세스들(1100 및 1200)을 이용하여, 페어링 링크를 통해 액세서리에 무선 네트워크 자격 증명들을 전송할 수 있고, 무선 네트워크 자격 증명들은, 예를 들어, 프로브 요청에서, 컨트롤러에 의해 액세서리에 전송된 암호화된 메시지에 포함된다. 일부 실시예들에서, 컨트롤러는 액세서리가 조인할 네트워크를 선택하는 사용자 입력을 획득할 수 있고, 또는 그것은 컨트롤러가 이미 조인되어 있는 무선 네트워크 또는 (예를 들어, 사용자에 의해) 이전에 식별된 선호되는 무선 네트워크를 자동으로 선택할 수 있다. 일부 실시예들에서, 일단 페어링이 확립되면 컨트롤러는 자동으로 (예를 들어, 프로브 요청에서) 액세서리에 자격 증명들을 전송하도록 구성될 수 있다. 다른 실시예들에서, 블록(1426)은 액세서리로부터 자격 증명들에 대한 요청을 수신하는 것을 포함할 수 있고; 그러한 요청은 프로브를 이용하여 페어링 링크를 통해 전송될 수 있다.
블록(1428)에서, 컨트롤러는 액세서리가 네트워크에 조인했는지를 결정할 수 있다. 그렇지 않다면, 프로세스(1400)는 블록(1430)에서 종료하거나 이전의 단계로 돌아가서 재시도할 수 있고, 또는 프로세스(1400)는 액세서리가 조인할 때까지 또는 다른 사용자 명령들이 수신될 때까지 블록(1428)에서 기다릴 수 있다. 일단 액세서리가 네트워크에 조인하면, 컨트롤러는, 예를 들어, 미디어 데이터를 액세서리에 스트리밍하기 위해, 블록(1432)에서 무선 네트워크를 통해 액세서리와 통신할 수 있다.
전술한 바와 같이, 일부 실시예들에서는 키 교섭이 아니라 패스워드 기반 인증을 이용하여 페어링이 확립될 수 있다. 도 15는 본 발명의 실시예에 따른 컨트롤러가 패스워드 기반 인증을 지원하는 액세서리를 무선 네트워크에 조인시키는 것을 용이하게 하기 위해 이용할 수 있는 프로세스(1500)의 흐름도이다.
프로세스(1500)는 컨트롤러가 무선 액세서리와 페어링할 준비가 되어 있을 때 시작된다(블록(1502)). 블록(1504)에서, 컨트롤러는 사용자로부터 무선 액세서리를 찾는 명령을 수신할 수 있다. 블록(1506)에서, 컨트롤러는 브라우징 프로브를 브로드캐스트할 수 있고, 블록(1508)에서, 컨트롤러는 액세서리로부터 프로브 응답을 수신할 수 있다. 이들 블록들은 전술한 프로세스(1400)의 대응하는 블록들과 일반적으로 유사할 수 있다.
블록(1510)에서, 컨트롤러는 액세서리에 관한 정보를 사용자에게 디스플레이할 수 있다. 이 예에서, 블록(1508)에서 수신된 액세서리로부터의 프로브 응답은 액세서리가 패스워드 기반 인증을 이용한다는 표시를 포함할 수 있고, 블록(1512)에서, 컨트롤러는, 예를 들어, 도 10의 프롬프트 스크린을 이용하여, 사용자에게 액세서리 패스워드를 입력하도록 프롬프트할 수 있다. 블록(1514)에서, 패스워드의 입력은 컨트롤러가 진행해야 한다는 확인으로서 역할을 할 수 있고; 패스워드가 입력되지 않으면(예를 들어, 사용자가 조작을 취소하면), 프로세스(1500)는 블록(1516)에서 종료할 수 있다.
블록(1518)에서, 컨트롤러는 블록(1510)에서 사용자에 의해 제공된 패스워드에 적어도 기초하여(예를 들어, 전술한 프로세스(900)에 따라서) 액세서리와 페어링을 확립할 수 있다.
일단 보안 페어링 링크가 확립되면, 블록(1520)에서, 컨트롤러는 그 링크를 통해 액세서리에 무선 네트워크 자격 증명들을 전송할 수 있다. 이것은 전술한 프로세스(1400)의 블록(1426)과 일반적으로 유사할 수 있다.
블록(1522)에서, 컨트롤러는 액세서리가 네트워크에 조인했는지를 결정할 수 있다. 그렇지 않다면, 프로세스(1500)는 블록(1524)에서 종료하거나 이전의 단계로 돌아가서 재시도할 수 있고, 또는 컨트롤러는 액세서리가 조인할 때까지 또는 다른 사용자 명령들이 수신될 때까지 블록(1522)에서 기다릴 수 있다. 일단 액세서리가 네트워크에 조인하면, 컨트롤러는, 예를 들어, 미디어 데이터를 액세서리에 스트리밍하기 위해, 블록(1526)에서 무선 네트워크를 통해 액세서리와 통신할 수 있다.
여기에서 설명된 네트워크 조인 프로세스들은 예시적인 것이고 변형들 및 수정들이 가능하다는 것을 알 것이다. 순차적인 것으로 설명된 단계들이 동시에 실행될 수 있고, 단계들의 순서가 변경될 수 있고, 단계들이 수정되거나, 결합되거나, 추가되거나, 생략될 수 있다. 액세서리와 컨트롤러는 여러 가지 기법들을 이용하여 페어링을 확립하여, 액세서리가 무선 네트워크에 대한 자격 증명들을 획득하는 것을 가능하게 할 수 있고, 그 후 그 무선 네트워크에 액세서리가 조인할 수 있다. 또한, 컨트롤러가 액세서리에 무선 네트워크 자격 증명들을 제공하는 것으로 설명되어 있지만, 여기에서 설명된 페어링은 양방향 통신을 지원할 수 있고, 액세서리가 컨트롤러에 네트워크 자격 증명들(또는 다른 구성 정보 또는 제어 신호들)을 제공하는 것도 가능하다는 것을 알 것이다.
특정한 실시예들에 관하여 본 발명이 설명되었지만, 숙련된 당업자는 많은 수정들이 가능하다는 것을 알 것이다. 예를 들어, 본 발명은 전술한 다양한 데이터 항목들을 제공하기 위해 벤더 지정 정보 요소들이 포함된, IEEE 802.11 준수 무선 네트워크들에 대해 정의된 것과 같은 프로브 요청 및 프로브 응답 프레임들을 이용하여 그러한 네트워크들의 컨텍스트에서 실시될 수 있다는 것이 고려되지만, (현존하는 또는 미래의) 다른 무선 프로토콜들이 아직 네트워크에 조인하지 않은 장치들 간에 정보를 통신하는 데 이용할 수 있는 메시지 포맷들을 포함할 수 있다는 것도 고려된다. 본 발명의 실시예들은 그러한 프로토콜들에도 적응될 수 있다. 따라서, 특정 정보가 프로브 요청 또는 프로브 응답에 포함되는 것으로 여기에서 설명되었지만, 그러한 용법은 예시적인 것이고, 일반적인 용어 "프로브"는 현재 공통의 네트워크에 조인되어 있지 않은 2개의 무선 장치 간에 교환될 수 있는 프로브 요청들과 프로브 응답들 및 다른 메시지 포맷들을 망라하는 것으로 이해될 수 있다.
전술한 실시예들에서, 페어링 프로세스는 컨트롤러가 브라우징 프로브 요청을 브로드캐스트하는 것에 의해 개시될 수 있고, 페어링을 원하는 액세서리가 그에 응답할 수 있다. 전술한 바와 같이, 그러한 실시예들에서 컨트롤러는 프로브 요청을 수신하거나 그에 응답할 수 있지 않아도 된다. 일부 대안의 실시예들에서, 페어링 프로세스는 액세서리가 프로브 요청을 브로드캐스트하는 것에 의해 개시될 수 있고, 컨트롤러가 그 액세서리와 페어링하기 위해 이용 가능하다는 것을 나타내기 위해 그에 응답할 수 있다.
또한, 예시의 목적으로 특정 암호화 기법들이 참조되었지만, 컨트롤러와 액세서리가 호환 가능한 기법들을 이용한다면, 본 발명은 어떤 특정한 암호화 기법들에도 제한되지 않는다는 것을 이해해야 할 것이다.
전술한 실시예들은 특정 하드웨어 및 소프트웨어 컴포넌트들을 참조할 수 있지만, 숙련된 당업자들은 하드웨어 및/또는 소프트웨어 컴포넌트들의 상이한 조합들이 이용될 수도 있고 하드웨어로 구현되는 것으로 설명된 특정 동작들이 소프트웨어로 구현될 수도 있고 또는 그 반대도 가능하다는 것을 알 것이다.
회로들, 논리 모듈들, 프로세서들, 및/또는 다른 컴포넌트들이 여기에서 설명된 다양한 동작들을 수행하도록 구현될 수 있다. 숙련된 당업자들은, 구현에 따라서, 그러한 구성은 특정 컴포넌트들의 설계, 세트업, 상호 연결, 및/또는 프로그래밍을 통하여 달성될 수 있다는 것과, 또 구현에 따라서, 구성된 컴포넌트가 상이한 동작을 위해 재구성 가능할 수도 있고 또는 그렇지 않을 수도 있다는 것을 알 것이다. 예를 들어, 적합한 실행 코드를 제공함으로써 프로그램 가능한 프로세서가 구성될 수 있고; 논리 게이트들과 다른 회로 요소들을 적합하게 연결함으로써 전용 논리 회로가 구성될 수 있고; 등등이 가능하다.
본 발명의 다양한 특징들을 포함하는 컴퓨터 프로그램들이 다양한 컴퓨터 판독가능 저장 매체 상에 인코딩될 수 있고; 적합한 매체는 자기 디스크 또는 테이프, 콤팩트 디스크(CD) 또는 DVD(digital versatile disk)와 같은 광 저장 매체, 플래시 메모리 등을 포함한다. 프로그램 코드가 인코딩된 컴퓨터 판독가능 저장 매체가 호환 가능한 장치와 함께 포장되거나 다른 장치들과 별도로 제공될 수 있다. 또한 프로그램 코드는 인터넷을 포함하는 여러 가지 프로토콜에 따르는 유선 광학, 및/또는 무선 네트워크들을 통해 인코딩되고 송신될 수 있어, 예를 들어, 인터넷 다운로드를 통한 배포를 가능하게 한다.
따라서, 본 발명은 특정 실시예들에 관하여 설명되었지만, 본 발명은 다음의 청구항들의 범위 내의 모든 수정들 및 균등물들을 포함하도록 의도되어 있다는 것을 알 것이다.

Claims (25)

  1. 액세서리와 컨트롤러 간에 무선 통신 링크를 확립하는 방법으로서,
    상기 액세서리에 의해, 컨트롤러로부터 상기 컨트롤러가 함께 페어링할 액세서리를 찾고 있음을 나타내는 제1 프로브를 수신하는 단계;
    상기 액세서리에 의해, 상기 제1 프로브에 응답하여 상기 컨트롤러에 제2 프로브를 전송하는 단계;
    상기 액세서리에 의해, 상기 컨트롤러와 공유 비밀을 확립하는 단계 - 상기 공유 비밀을 확립하는 단계는 상기 액세서리에 의해 전송된 제3 프로브 및 상기 액세서리에 의해 수신된 제4 프로브를 적어도 포함하는 복수의 추가의 프로브들을 이용하여 상기 컨트롤러와 공개 키들을 교환하는 것을 포함함 -;
    상기 액세서리에 의해, 상기 공유 비밀이 상기 컨트롤러에 의해 공유된다는 것을 입증(validating)하는 단계;
    상기 액세서리에 의해, 상기 공유 비밀을 이용하여 추가의 암호화 키(cryptographic key)를 생성하는 단계;
    상기 액세서리에 의해, 암호화된 메시지를 포함하는 제5 프로브를 상기 컨트롤러로부터 수신하는 단계; 및
    상기 추가의 암호화 키를 이용하여 상기 암호화된 메시지를 해독하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 액세서리에 의해, 상기 컨트롤러와 공유 비밀을 확립하는 단계는,
    상기 컨트롤러로부터, 컨트롤러 공개 키를 포함하는 상기 제4 프로브를 수신하는 단계;
    상기 액세서리에 의해, 액세서리 개인 키 및 액세서리 공개 키를 생성하는 단계;
    상기 액세서리에 의해, 상기 액세서리 공개 키를 포함하는 상기 제3 프로브를 상기 컨트롤러에 전송하는 단계; 및
    상기 컨트롤러 공개 키 및 상기 액세서리 공개 키에 기초하여 공유 비밀을 계산하는 단계
    를 포함하는 방법.
  3. 제2항에 있어서,
    상기 액세서리에 의해, 상기 공유 비밀이 상기 컨트롤러에 의해 공유된다는 것을 입증하는 단계는,
    상기 액세서리에 의해, 상기 공유 비밀로부터 패스코드(passcode)를 계산하는 단계; 및
    상기 액세서리에 의해, 상기 패스코드를 사용자에게 제시하는 단계
    를 포함하는 방법.
  4. 제1항에 있어서,
    상기 액세서리에 의해, 상기 컨트롤러와 공유 비밀을 확립하는 단계는,
    상기 액세서리에 의해, 고정된 패스워드를 이용하여 액세서리 공개 키를 생성하는 단계;
    상기 액세서리에 의해, 랜덤 솔트(salt)를 생성하는 단계;
    상기 액세서리에 의해, 상기 액세서리 공개 키와 상기 랜덤 솔트를 포함하는 상기 제3 프로브를 상기 컨트롤러에 전송하는 단계;
    상기 액세서리에 의해, 상기 랜덤 솔트에 기초한 컨트롤러 응답 및 컨트롤러 공개 키를 포함하는 제4 프로브를 상기 컨트롤러로부터 수신하는 단계; 및
    상기 액세서리에 의해, 상기 컨트롤러 공개 키, 상기 액세서리 공개 키, 및 상기 랜덤 솔트를 이용하여 공유 비밀을 계산하는 단계
    를 포함하는 방법.
  5. 제4항에 있어서,
    상기 액세서리에 의해, 상기 공유 비밀이 상기 컨트롤러에 의해 공유된다는 것을 입증하는 단계는,
    상기 액세서리에 의해, 상기 공유 비밀을 이용하여 상기 컨트롤러 응답을 검증하는(verifying) 단계;
    상기 액세서리에 의해, 상기 공유 비밀을 이용하여 액세서리 응답을 계산하는 단계; 및
    상기 액세서리에 의해, 상기 액세서리 응답을 포함하는 제6 프로브를 상기 컨트롤러에 전송하는 단계
    를 포함하는 방법.
  6. 제1항에 있어서,
    상기 암호화된 메시지는 액세스 포인트를 갖는 무선 네트워크와 관련된 자격 증명(credential)을 포함하고, 상기 방법은,
    상기 액세서리에 의해, 상기 무선 네트워크에 조인(join)하기 위한 요청을 상기 액세스 포인트에 송신하는 단계 - 상기 요청은 상기 자격 증명에 적어도 부분적으로 기초함 - 를 더 포함하는 방법.
  7. 액세서리로서,
    무선 인터페이스; 및
    상기 무선 인터페이스에 연결된 프로세서
    를 포함하고, 상기 프로세서는,
    상기 무선 인터페이스를 통해, 컨트롤러에 의해 전송된 브라우징 프로브 요청을 수신하고 - 상기 브라우징 프로브는 상기 컨트롤러가 페어링을 위해 이용 가능함을 나타냄 -;
    상기 무선 인터페이스를 통해, 상기 브라우징 프로브 요청에 응답하여 액세서리 식별 정보를 포함하는 식별 프로브 응답을 전송하고;
    상기 컨트롤러와 페어링을 확립하고;
    상기 무선 인터페이스를 통해 무선 네트워크와 관련된 자격 증명을 상기 컨트롤러로부터 수신하고 - 상기 자격 증명은 상기 컨트롤러로부터 수신된 추가의 프로브 요청에서 암호화된 정보 요소로서 수신됨 -;
    상기 자격 증명을 이용하여 상기 무선 네트워크에 조인하도록 구성된, 액세서리.
  8. 제7항에 있어서,
    상기 브로우징 프로브 요청과 상기 추가의 프로브 요청 각각은 IEEE 802.11 계열 표준을 준수하는 프로브 요청 프레임을 포함하고, 상기 식별 프로브 응답은 IEEE 802.11 계열 표준을 준수하는 프로브 응답 프레임인, 액세서리.
  9. 제7항에 있어서,
    스피커를 더 포함하고,
    상기 프로세서는 또한,
    상기 무선 네트워크를 통해, 상기 컨트롤러로부터 스트리밍된 오디오 데이터를 수신하고 - 상기 수신은 상기 무선 네트워크에 조인한 후에 일어남 -;
    상기 스트리밍된 오디오 데이터를 아날로그 신호로 변환하고;
    상기 아날로그 신호를 이용하여 상기 스피커를 구동하도록 구성된, 액세서리.
  10. 제7항에 있어서,
    인쇄 요소를 더 포함하고,
    상기 프로세서는 추가로,
    상기 무선 네트워크를 통해, 상기 컨트롤러로부터 데이터를 수신하고 - 상기 수신은 상기 무선 네트워크에 조인한 후에 일어남 -;
    상기 데이터에 응답하여 인쇄물(printout)을 생성하도록 상기 인쇄 요소를 구동하도록 구성된, 액세서리.
  11. 액세서리와 컨트롤러 간에 무선 통신 링크를 확립하는 방법으로서,
    상기 컨트롤러에 의해, 상기 컨트롤러가 함께 페어링할 액세서리를 브라우징하고 있음을 나타내는 제1 프로브를 브로드캐스트하는 단계;
    상기 컨트롤러에 의해, 상기 액세서리에 대한 식별 정보를 포함하는 제2 프로브를 상기 액세서리로부터 수신하는 단계;
    상기 컨트롤러에 의해, 상기 액세서리와 공유 비밀을 확립하는 단계;
    상기 컨트롤러에 의해, 상기 공유 비밀이 상기 액세서리에 의해 공유된다는 것을 입증하는 단계;
    상기 컨트롤러에 의해, 상기 공유 비밀을 이용하여 추가의 암호화 키를 생성하는 단계;
    상기 컨트롤러에 의해, 상기 추가의 암호화 키를 이용하여 메시지를 암호화하는 단계; 및
    상기 컨트롤러에 의해, 상기 암호화된 메시지를 포함하는 제3 프로브를 상기 액세서리에 전송하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 공유 비밀을 확립하는 단계는 상기 컨트롤러에 의해 수신된 제4 프로브 및 상기 컨트롤러에 의해 전송된 제5 프로브를 포함하는 복수의 추가의 프로브들을 이용하여 상기 액세서리와 공개 키들을 교환하는 단계를 포함하는 방법.
  13. 제11항에 있어서,
    상기 제1 프로브는 상기 컨트롤러의 공개 키를 포함하고 상기 제2 프로브는 상기 액세서리의 공개 키를 포함하고, 상기 공유 비밀을 확립하는 단계는,
    상기 컨트롤러에 의해, 상기 제2 프로브로부터 상기 액세서리의 공개 키를 추출하는 단계; 및
    상기 액세서리의 공개 키 및 상기 컨트롤러의 공개 키에 기초하여 비밀을 계산하는 단계
    를 포함하는 방법.
  14. 제11항에 있어서,
    상기 암호화된 메시지는 상기 액세서리가 무선 네트워크에 조인하기 위해 이용할 수 있는 자격 증명을 포함하는 방법.
  15. 제14항에 있어서,
    상기 자격 증명을 포함하는 상기 암호화된 메시지를 전송한 후에, 상기 컨트롤러에 의해, 상기 무선 네트워크를 통해 상기 액세서리와 통신하는 단계를 더 포함하는 방법.
  16. 제15항에 있어서,
    상기 무선 네트워크를 통해 상기 액세서리와 통신하는 단계는 상기 무선 네트워크를 통해 상기 액세서리에 미디어 콘텐츠를 스트리밍하는 단계를 포함하는 방법.
  17. 제11항에 있어서,
    상기 컨트롤러에 의해, 상기 액세서리로부터 다른 암호화된 메시지를 포함하는 제6 프로브를 수신하는 단계; 및
    상기 컨트롤러에 의해, 상기 추가의 암호화 키를 이용하여 상기 다른 암호화된 메시지를 해독하는 단계
    를 더 포함하는 방법.
  18. 컨트롤러로서,
    무선 인터페이스;
    사용자 인터페이스; 및
    상기 무선 인터페이스 및 상기 사용자 인터페이스에 연결된 프로세서
    를 포함하고, 상기 프로세서는,
    상기 무선 인터페이스를 통해 액세서리로부터의 제1 프로브를 탐지하고 - 상기 제1 프로브는 액세서리 식별 정보를 포함함 -;
    상기 액세서리가 무선 네트워크에 조인해야 하는 것을 확인하기 위해 상기 사용자 인터페이스를 통해 통신하고;
    페어링을 확립하기 위해 상기 무선 인터페이스를 통해 상기 액세서리와 통신하고 - 상기 페어링을 확립하는 것은 상기 컨트롤러에 의해 수신된 제3 프로브 및 상기 컨트롤러에 의해 전송된 제4 프로브를 포함하는 복수의 추가의 프로브들을 이용하여 상기 액세서리와 정보를 교환하는 것과, 상기 사용자 인터페이스를 통해 공유 비밀의 확인을 획득하는 것을 포함함 -;
    상기 페어링을 확립한 후에 상기 무선 인터페이스를 통해 상기 무선 네트워크와 관련된 자격 증명을 상기 액세서리에 전송 - 상기 자격 증명은 제5 프로브에 포함된 암호화된 메시지에서 전송됨 - 하도록 구성된, 컨트롤러.
  19. 제18항에 있어서,
    상기 프로세서는 추가로,
    상기 액세서리가 상기 무선 네트워크에 조인해야 하는 것을 확인하기 위해 상기 사용자 인터페이스를 통해 통신하는 것이,
    상기 제1 프로브로부터 상기 액세서리 식별 정보를 추출하는 것;
    상기 추출된 액세서리 식별 정보의 적어도 일부를 상기 사용자 인터페이스를 통해 사용자에게 제시하는 것; 및
    상기 사용자 인터페이스를 통해, 상기 액세서리가 상기 무선 네트워크에 조인해야 한다는 확인을 수신하는 것을 포함하도록 구성된, 컨트롤러.
  20. 제18항에 있어서,
    상기 프로세서는 추가로,
    상기 페어링을 확립하기 위해 상기 무선 인터페이스를 통해 상기 액세서리와 통신하는 것이,
    상기 컨트롤러에 의해, 컨트롤러 공개 키를 생성하는 것;
    상기 컨트롤러에 의해, 상기 컨트롤러 공개 키를 포함하는 제4 프로브를 상기 액세서리에 전송하는 것;
    상기 컨트롤러에 의해, 액세서리 공개 키를 포함하는 제3 프로브를 수신하는 것;
    상기 컨트롤러에 의해, 상기 컨트롤러 공개 키 및 상기 액세서리 공개 키에 적어도 부분적으로 기초하여 상기 공유 비밀을 계산하는 것;
    상기 컨트롤러에 의해, 상기 공유 비밀로부터 패스코드를 계산하는 것;
    상기 컨트롤러에 의해, 상기 사용자 인터페이스를 통해 상기 패스코드를 사용자에게 제시하는 것;
    상기 컨트롤러에 의해, 상기 패스코드가 상기 액세서리에 의해 계산된 패스코드와 매칭한다는 확인을 상기 사용자 인터페이스를 통해 수신하는 것; 및
    상기 공유 비밀을 이용하여 추가의 암호화 키를 계산하는 것 - 상기 추가의 암호화 키는 상기 자격 증명을 암호화하는 데 이용됨 - 을 포함하도록 구성된, 컨트롤러.
  21. 제18항에 있어서,
    상기 프로세서는 추가로,
    상기 자격 증명을 전송한 후에, 상기 액세서리가 상기 무선 네트워크에 조인했다는 것을 확인하고;
    상기 액세서리가 상기 무선 네트워크에 조인했다는 것을 확인한 후에 상기 무선 네트워크를 통해 상기 액세서리에 데이터를 전송하도록 구성된, 컨트롤러.
  22. 제18항에 있어서,
    상기 프로브들 각각은 IEEE 802.11 계열 표준을 준수하는 프로브 요청 프레임 또는 프로브 응답 프레임을 포함하는, 컨트롤러.
  23. 컨트롤러로서,
    무선 인터페이스;
    사용자 인터페이스; 및
    상기 무선 인터페이스 및 상기 사용자 인터페이스에 연결된 프로세서
    를 포함하고, 상기 프로세서는,
    상기 무선 인터페이스를 통해 액세서리로부터의 제1 프로브를 탐지하고 - 상기 제1 프로브는 액세서리 식별 정보를 포함함 -;
    상기 사용자 인터페이스를 통해 액세서리 패스워드를 수신하는 것을 포함하여, 상기 액세서리가 무선 네트워크에 조인해야 하는 것을 확인하기 위해 상기 사용자 인터페이스를 통해 통신하고;
    페어링을 확립하기 위해 상기 무선 인터페이스를 통해 상기 액세서리와 통신하고 - 상기 페어링을 확립하는 것은 상기 컨트롤러에 의해 수신된 제3 프로브 및 상기 컨트롤러에 의해 전송된 제4 프로브를 적어도 포함하는 복수의 추가의 프로브들을 이용하여 상기 액세서리와 정보를 교환하는 것을 포함하고, 상기 교환된 정보는 상기 액세서리 패스워드에 기초한 패스워드 인증 정보(password authentication information)를 포함함 -;
    상기 페어링을 확립한 후에 상기 무선 인터페이스를 통해 상기 무선 네트워크와 관련된 자격 증명을 상기 액세서리에 전송 - 상기 자격 증명은 제5 프로브에 포함된 암호화된 메시지에서 전송됨 - 하도록 구성된, 컨트롤러.
  24. 제23항에 있어서, 상기 프로세서는 추가로,
    상기 사용자 인터페이스를 통해 통신하는 것이,
    상기 제1 프로브로부터, 상기 액세서리 식별 정보를 추출하는 것; 및
    상기 추출된 액세서리 식별 정보의 적어도 일부를 상기 사용자 인터페이스를 통해 사용자에게 제시하는 것을 포함하도록 구성된, 컨트롤러.
  25. 제24항에 있어서, 상기 프로세서는 추가로,
    상기 사용자 인터페이스를 통해 통신하는 것이,
    상기 제1 프로브로부터, 상기 사용자가 액세서리 패스워드를 발견할 수 있는 위치를 나타내는 패스워드 위치 정보를 추출하는 것; 및
    상기 패스워드 위치 정보에 기초한 위치 지시자를 포함하는 패스워드 프롬프트를 상기 사용자에게 제시하는 것을 더 포함하도록 구성된, 컨트롤러.
KR1020137004954A 2010-08-30 2011-08-29 프로브를 이용한 2개의 장치 간의 보안 무선 링크 KR101462361B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/871,843 2010-08-30
US12/871,843 US8464061B2 (en) 2010-08-30 2010-08-30 Secure wireless link between two devices using probes
PCT/US2011/049589 WO2012030733A1 (en) 2010-08-30 2011-08-29 Secure wireless link between two devices using probes

Publications (2)

Publication Number Publication Date
KR20130041985A true KR20130041985A (ko) 2013-04-25
KR101462361B1 KR101462361B1 (ko) 2014-11-14

Family

ID=44645212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137004954A KR101462361B1 (ko) 2010-08-30 2011-08-29 프로브를 이용한 2개의 장치 간의 보안 무선 링크

Country Status (8)

Country Link
US (2) US8464061B2 (ko)
EP (1) EP2612513A1 (ko)
JP (1) JP5524157B2 (ko)
KR (1) KR101462361B1 (ko)
CN (2) CN102387501B (ko)
GB (2) GB2483544B (ko)
TW (1) TWI441025B (ko)
WO (1) WO2012030733A1 (ko)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422667B2 (en) 2005-01-27 2013-04-16 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US9148409B2 (en) 2005-06-30 2015-09-29 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
USRE48433E1 (en) 2005-01-27 2021-02-09 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US9628880B2 (en) 2008-04-07 2017-04-18 Koss Corporation Wooden or other dielectric capacitive touch interface and loudspeaker having same
US8873523B2 (en) * 2009-09-30 2014-10-28 Apple Inc. Methods and apparatus for solicited activation for protected wireless networking
US8984271B2 (en) 2010-06-07 2015-03-17 Protected Mobility, Llc User interface systems and methods for input and display of secure and insecure message oriented communications
US9143324B2 (en) 2010-06-07 2015-09-22 Protected Mobility, Llc Secure messaging
US9602277B2 (en) 2010-06-07 2017-03-21 Protected Mobilty, Llc User interface systems and methods for secure message oriented communications
US9172680B2 (en) 2010-06-07 2015-10-27 Protected Mobility, Llc Systems and methods for enabling secure messaging, command, and control of remote devices, communicated via a short message service or other message oriented communications mediums
US8464061B2 (en) * 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
US8924706B2 (en) * 2010-11-05 2014-12-30 Protected Mobility, Llc Systems and methods using one time pads during the exchange of cryptographic material
KR101872976B1 (ko) * 2011-05-20 2018-07-02 삼성전자주식회사 네트워크 내에서의 서비스 실행 방법 및 서비스 실행 디바이스
US8600061B2 (en) * 2011-06-24 2013-12-03 Broadcom Corporation Generating secure device secret key
US8813198B2 (en) * 2011-07-05 2014-08-19 Apple Inc. Configuration of accessories for wireless network access
US8984273B2 (en) 2011-12-16 2015-03-17 Protected Mobility, Llc Method to provide secure multimedia messaging between peer systems
JP5979705B2 (ja) * 2012-03-14 2016-08-31 日本電気通信システム株式会社 ノード装置、ノード装置制御方法、及び、ノード装置制御プログラム
KR20130125276A (ko) * 2012-05-08 2013-11-18 한국전자통신연구원 Short Probe Response를 이용한 효율적인 스캐닝 방법
US9749038B2 (en) * 2012-05-21 2017-08-29 Qualcomm Incorporated System and method for wireless docking utilizing a wireless docking profile
US9160719B2 (en) 2012-07-20 2015-10-13 Protected Mobility, Llc Hiding ciphertext using a linguistics algorithm with dictionaries
WO2014026344A1 (en) * 2012-08-16 2014-02-20 Oplink Communications, Inc. Self-configuring wireless network
MY181382A (en) * 2012-08-30 2020-12-21 Koninklijke Philips Nv Pairing within a group of wireless devices
US8910265B2 (en) 2012-09-28 2014-12-09 Sonos, Inc. Assisted registration of audio sources
US20140114778A1 (en) * 2012-10-24 2014-04-24 NCR Corporation, Law Dept. Techniques for drive thru mobile ordering
EP2936762A1 (en) * 2012-12-20 2015-10-28 Telefonaktiebolaget L M Ericsson (publ) Method and mobile device for generating a data authentication key
US9319409B2 (en) 2013-02-14 2016-04-19 Sonos, Inc. Automatic configuration of household playback devices
US9237384B2 (en) 2013-02-14 2016-01-12 Sonos, Inc. Automatic configuration of household playback devices
US20140247941A1 (en) * 2013-03-01 2014-09-04 Oplink Communications, Inc. Self-configuring wireless network
CN103200061A (zh) * 2013-04-17 2013-07-10 北京推博信息技术有限公司 一种通信设备间建立信任关系的方法、通信设备及***
US9763067B2 (en) 2013-05-28 2017-09-12 Protected Mobility, Llc Methods and apparatus for long-short wave, low-high frequency radio secure message service
CN104219667B (zh) * 2013-05-31 2018-05-11 华为终端(东莞)有限公司 用于建立连接的方法及设备
US9426185B1 (en) * 2013-06-03 2016-08-23 Ayla Networks, Inc. Proximity based communication with embedded system
US9730268B2 (en) * 2013-06-07 2017-08-08 Apple Inc. Communication between host and accessory devices using accessory protocols via wireless transport
WO2015026318A1 (en) * 2013-08-19 2015-02-26 Empire Technology Development Llc Secure wireless device connection using power line messages
KR102296162B1 (ko) * 2013-08-30 2021-09-01 삼성전자주식회사 무선랜 통신 연결 방법 및 그 전자 장치
GB2518257A (en) * 2013-09-13 2015-03-18 Vodafone Ip Licensing Ltd Methods and systems for operating a secure mobile device
US9933920B2 (en) 2013-09-27 2018-04-03 Sonos, Inc. Multi-household support
US9241355B2 (en) 2013-09-30 2016-01-19 Sonos, Inc. Media system access via cellular network
US10454783B2 (en) 2014-02-05 2019-10-22 Apple Inc. Accessory management system using environment model
US10177933B2 (en) 2014-02-05 2019-01-08 Apple Inc. Controller networks for an accessory management system
CN110971496B (zh) 2013-12-20 2022-05-27 三星电子株式会社 智能家居设备的连接方法及其装置
US9351061B1 (en) 2013-12-23 2016-05-24 Amazon Technologies, Inc. Audio accessory for media device
US9584891B1 (en) * 2013-12-23 2017-02-28 Amazon Technologies, Inc. Reconfigurable audio drivers
US9240982B2 (en) 2013-12-27 2016-01-19 Canon Information And Imaging Solutions, Inc. Method for associating an image-forming device, a mobile device, and a user
US10251059B2 (en) * 2014-01-21 2019-04-02 Everykey Inc. Authentication device and method
KR102186012B1 (ko) 2014-02-05 2020-12-04 애플 인크. 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
WO2015134753A1 (en) * 2014-03-07 2015-09-11 Ubiquiti Networks, Inc. Cloud device identification and authentication
WO2015136142A1 (en) * 2014-03-12 2015-09-17 Nokia Technologies Oy Pairing of devices
EP3518570B1 (en) * 2014-03-19 2020-11-04 Bluefin Payment Systems, LLC Systems and methods for creating fingerprints of encryption devices
US11256798B2 (en) 2014-03-19 2022-02-22 Bluefin Payment Systems Llc Systems and methods for decryption as a service
US9461973B2 (en) 2014-03-19 2016-10-04 Bluefin Payment Systems, LLC Systems and methods for decryption as a service
CN105228153B (zh) * 2014-07-01 2020-01-21 北京奇虎科技有限公司 网络接入方法、***和无线路由设备
WO2016003310A1 (en) * 2014-07-04 2016-01-07 Google Inc. Bootstrapping a device to a wireless network
US11695804B2 (en) 2014-07-24 2023-07-04 Entropie Communications, LLC Method and apparatus for MoCA network with protected set-up
US10104083B2 (en) * 2014-07-24 2018-10-16 Maxlinear, Inc. Method and apparatus for MoCA network with protected set-up
US9819698B2 (en) 2014-07-24 2017-11-14 Maxlinear, Inc. Method and apparatus for MoCA network with protected set-up
US20160065374A1 (en) 2014-09-02 2016-03-03 Apple Inc. Method of using one device to unlock another device
US9531542B2 (en) 2014-09-19 2016-12-27 Bank Of America Corporation Secure remote password
US20160112411A1 (en) * 2014-10-15 2016-04-21 Nokia Solutions And Networks Oy One time credentials for secure automated bluetooth pairing
KR20160076371A (ko) 2014-12-22 2016-06-30 삼성전자주식회사 워크플로우를 처리하는 방법 및 이를 수행하는 모바일 디바이스
WO2016105044A1 (en) 2014-12-22 2016-06-30 Samsung Electronics Co., Ltd. Method of establishing connection between mobile device and image forming apparatus, and image forming apparatus and mobile device for performing the method
EP3037954B1 (en) 2014-12-22 2019-02-20 HP Printing Korea Co., Ltd. Method of generating workform by using byod service and mobile device for performing the method
US10206170B2 (en) 2015-02-05 2019-02-12 Apple Inc. Dynamic connection path detection and selection for wireless controllers and accessories
US10630647B2 (en) * 2015-02-05 2020-04-21 Apple Inc. Secure wireless communication between controllers and accessories
US9544768B2 (en) * 2015-03-20 2017-01-10 Hyundai Motor Company Method and apparatus for performing secure Bluetooth communication
US9794867B2 (en) 2015-04-27 2017-10-17 Apple Inc. Reconfiguration of wireless devices for wireless network access
KR20160132302A (ko) * 2015-05-09 2016-11-17 삼성전자주식회사 물리적 접근 제한을 이용한 장치들 사이의 키 공유 방법
DE102015108180A1 (de) * 2015-05-22 2016-11-24 Carl Zeiss Industrielle Messtechnik Gmbh System und Verfahren zum intelligenten Koppeln und Anbinden mobiler Endgeräte an ein Koordinatenmessgerät
JP6570355B2 (ja) * 2015-07-21 2019-09-04 キヤノン株式会社 通信装置、通信方法及びプログラム
JP6532333B2 (ja) * 2015-07-21 2019-06-19 キヤノン株式会社 通信装置、通信方法及びプログラム
US10708130B2 (en) * 2015-08-28 2020-07-07 Hewlett-Packard Development Company, L.P. Common management frameworks
US9954836B2 (en) * 2015-11-06 2018-04-24 Bank Of America Corporation Wireless network information flow conditioning
EP3190747B1 (en) * 2016-01-08 2018-11-14 Apple Inc. Secure wireless communication between controllers and accessories
US10382210B2 (en) * 2016-01-10 2019-08-13 Apple Inc. Secure device pairing
US9838956B2 (en) * 2016-03-02 2017-12-05 Sr Technologies, Inc. Identification of mobile nodes in WLAN communications
US10104501B2 (en) * 2016-04-12 2018-10-16 Elliptic Laboratories As Proximity detection
KR20180000527A (ko) * 2016-06-23 2018-01-03 에스프린팅솔루션 주식회사 화상 형성 장치, 모바일 단말 및 그 장치들의 로컬 로그인 처리 방법
KR20180008218A (ko) * 2016-07-15 2018-01-24 에스프린팅솔루션 주식회사 클라우드 프린팅 서비스의 계정을 공유하는 방법 및 이를 실시하기 위한 클라우드 서버
EP3496427B1 (en) * 2016-08-21 2024-05-15 Huawei Technologies Co., Ltd. Method and device for networking devices
US11061795B2 (en) * 2016-08-22 2021-07-13 Optimal Plus Ltd. Methods of smart pairing
CN106790166A (zh) * 2016-12-29 2017-05-31 郑州云海信息技术有限公司 一种安全认证的方法、装置及***
CN108696915A (zh) * 2017-03-10 2018-10-23 三纬国际立体列印科技股份有限公司 快速设定输出装置的Wi-Fi连线的方法
US11068478B2 (en) * 2017-03-15 2021-07-20 Optimal Plus Ltd. Augmenting reliability models for manufactured products
US10802904B2 (en) * 2017-05-16 2020-10-13 Apple Inc. Techniques for repairing an inoperable auxiliary device using another device
US11711350B2 (en) 2017-06-02 2023-07-25 Bluefin Payment Systems Llc Systems and processes for vaultless tokenization and encryption
JP7093531B2 (ja) 2017-06-02 2022-06-30 ブルーフィン ペイメント システムズ エルエルシー ウェブブラウザを介して決済端末を管理するシステム及び方法
US10496508B2 (en) 2017-06-02 2019-12-03 Apple Inc. Accessory communication control
CN107248987B (zh) * 2017-06-08 2021-01-15 深圳市微目腾科技术有限公司 无线射频设备配对方法
JP6389938B2 (ja) * 2017-09-06 2018-09-12 キヤノン株式会社 情報処理装置およびプログラム
SG11202002872SA (en) * 2017-09-28 2020-04-29 Telstra Corp Ltd Method and a system for locating wireless electronic devices
US10708769B2 (en) * 2017-12-20 2020-07-07 Bose Corporation Cloud assisted accessory pairing
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
US10708261B2 (en) * 2018-05-07 2020-07-07 Vmware, Inc. Secure gateway onboarding via mobile devices for internet of things device management
US10595073B2 (en) 2018-06-03 2020-03-17 Apple Inc. Techniques for authorizing controller devices
US11805009B2 (en) 2018-06-03 2023-10-31 Apple Inc. Configuring accessory network connections
US11233779B2 (en) 2018-06-03 2022-01-25 Apple Inc. Wireless credential sharing
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
US11423717B2 (en) 2018-08-01 2022-08-23 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network
CN109391528A (zh) * 2018-08-31 2019-02-26 百度在线网络技术(北京)有限公司 语音智能设备的唤醒方法、装置、设备及存储介质
US11641563B2 (en) * 2018-09-28 2023-05-02 Apple Inc. System and method for locating wireless accessories
US11748497B2 (en) * 2018-09-28 2023-09-05 Hewlett-Packard Development Company, L.P. BIOS access
US11121871B2 (en) * 2018-10-22 2021-09-14 International Business Machines Corporation Secured key exchange for wireless local area network (WLAN) zero configuration
US11128474B2 (en) * 2019-03-25 2021-09-21 Micron Technology, Inc. Secure device communication
WO2020214701A1 (en) * 2019-04-17 2020-10-22 Prestacom Services Llc Sharing keys for a wireless accessory
US11863671B1 (en) 2019-04-17 2024-01-02 Apple Inc. Accessory assisted account recovery
US11805419B2 (en) * 2019-04-22 2023-10-31 Google Llc Automatically paired devices
EP4018618A4 (en) 2019-05-13 2023-10-25 Bluefin Payment Systems, LLC VAULTLESS TOKENIZATION AND ENCRYPTION SYSTEMS AND METHODS
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training
CN110995665B (zh) * 2019-11-15 2023-04-18 北京小米移动软件有限公司 配网方法及装置、电子设备及存储介质
CN111277980B (zh) * 2020-01-21 2023-09-26 杭州涂鸦信息技术有限公司 基于WiFi探测请求帧的配对方法、遥控方法及其***和装置
US11310117B2 (en) * 2020-06-24 2022-04-19 Red Hat, Inc. Pairing of a probe entity with another entity in a cloud computing environment
CN111953362B (zh) * 2020-07-16 2022-01-14 深圳安吉尔饮水产业集团有限公司 一种通信方法、装置、通信收发器及可读存储介质
US11889302B2 (en) 2020-08-28 2024-01-30 Apple Inc. Maintenance of wireless devices
CN112039919B (zh) * 2020-09-11 2022-08-23 长春理工大学 基于频数均衡的大气湍流光信道共享随机比特提取方法
US11895493B1 (en) * 2021-02-18 2024-02-06 Amazon Technologies, Inc. Controlling a device that operates in a monitor mode
WO2022204888A1 (zh) * 2021-03-29 2022-10-06 华为技术有限公司 一种配对方法及装置

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463473B1 (en) 1999-04-09 2002-10-08 Sharewave, Inc. Configuring a wireless computer network to allow automatic access by a guest client device
US6434113B1 (en) 1999-04-09 2002-08-13 Sharewave, Inc. Dynamic network master handover scheme for wireless computer networks
JP2001255815A (ja) * 2000-03-13 2001-09-21 Toyo Commun Equip Co Ltd 音声暗号通信方法及び装置
US6934752B1 (en) 2000-03-23 2005-08-23 Sharewave, Inc. Quality of service extensions for multimedia applications in wireless computer networks
US7493368B2 (en) 2000-12-01 2009-02-17 Sony Corporation System and method for effectively providing user information from a user device
US6928295B2 (en) 2001-01-30 2005-08-09 Broadcom Corporation Wireless device authentication at mutual reduced transmit power
US7516325B2 (en) * 2001-04-06 2009-04-07 Certicom Corp. Device authentication in a PKI
SE0101295D0 (sv) 2001-04-10 2001-04-10 Ericsson Telefon Ab L M A method and network for delivering streaming data
EP1257090B1 (en) 2001-05-08 2004-11-17 Lucent Technologies Inc. Wireless LAN with dynamic frequency selection
US7274684B2 (en) 2001-10-10 2007-09-25 Bruce Fitzgerald Young Method and system for implementing and managing a multimedia access network device
US7254708B2 (en) 2002-03-05 2007-08-07 Intel Corporation Apparatus and method for wireless device set-up and authentication using audio authentication—information
BRPI0215728B1 (pt) 2002-05-01 2016-06-07 Ericsson Telefon Ab L M método para permitir uma autenticação baseada em sim, controlador de acesso, terminal sem fio e sistema de telecomunicação
WO2003105436A1 (de) 2002-06-07 2003-12-18 Siemens Aktiengesellschaft Verfahren und vorrichtung zur authentifizierung eines teilnehmers für die inanspruchnahme von diensten in einem wireless lan (wlan)
US7370350B1 (en) * 2002-06-27 2008-05-06 Cisco Technology, Inc. Method and apparatus for re-authenticating computing devices
US7697920B1 (en) * 2006-05-05 2010-04-13 Boojum Mobile System and method for providing authentication and authorization utilizing a personal wireless communication device
US7325134B2 (en) * 2002-10-08 2008-01-29 Koolspan, Inc. Localized network authentication and security using tamper-resistant keys
US7350077B2 (en) 2002-11-26 2008-03-25 Cisco Technology, Inc. 802.11 using a compressed reassociation exchange to facilitate fast handoff
US7508801B1 (en) 2003-03-21 2009-03-24 Cisco Systems, Inc. Light-weight access point protocol
US20040264413A1 (en) 2003-06-26 2004-12-30 Oren Kaidar Device, system and method for channel scanning
US20050036623A1 (en) * 2003-08-15 2005-02-17 Ming-Jye Sheu Methods and apparatus for distribution of global encryption key in a wireless transport network
US7466678B2 (en) 2003-12-29 2008-12-16 Lenovo (Singapore) Pte. Ltd. System and method for passive scanning of authorized wireless channels
US7646872B2 (en) 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
WO2005101727A1 (ja) 2004-04-15 2005-10-27 Matsushita Electric Industrial Co., Ltd. 通信装置、通信システム及び認証方法
US7522549B2 (en) 2004-04-16 2009-04-21 Broadcom Corporation Registering access device multimedia content via a broadband access gateway
US20050239445A1 (en) 2004-04-16 2005-10-27 Jeyhan Karaoguz Method and system for providing registration, authentication and access via broadband access gateway
US20050250472A1 (en) * 2004-05-04 2005-11-10 Silvester Kelan C User authentication using a wireless device
JP4923283B2 (ja) * 2004-08-20 2012-04-25 富士ゼロックス株式会社 無線通信システムおよび通信装置および通信制御プログラム
US20060116107A1 (en) * 2004-11-24 2006-06-01 Hulvey Robert W System and method for pairing wireless headsets and headphones
JP4433400B2 (ja) 2004-12-09 2010-03-17 レノボ シンガポール プライヴェート リミテッド 無線ネットワーク通信用カード、該カードを組み込んだ装置、無線ネットワーク通信をサポートする装置、及び無線ネットワーク通信のために無線アクセスポイントを検出する方法
US7370362B2 (en) 2005-03-03 2008-05-06 Cisco Technology, Inc. Method and apparatus for locating rogue access point switch ports in a wireless network
US20070038787A1 (en) 2005-03-30 2007-02-15 Logitech Europe S.A. Interface device and method for networking legacy consumer electronics devices
GB2425439B (en) * 2005-04-19 2007-05-09 Motorola Inc Determination of a network identity for a network access point
US20070004404A1 (en) 2005-07-01 2007-01-04 Research In Motion Limited System and method for accelerating network selection by a wireless user equipment (UE) device using satellite-based positioning system
US7577125B2 (en) 2005-07-08 2009-08-18 Microsoft Corporation Direct wireless client to client communication
US8320880B2 (en) * 2005-07-20 2012-11-27 Qualcomm Incorporated Apparatus and methods for secure architectures in wireless networks
US20070055743A1 (en) 2005-09-02 2007-03-08 Pirtle Ross M Remote control media player
US20070080823A1 (en) 2005-10-07 2007-04-12 Apple Computer, Inc. Techniques for pairing remote controllers with host devices
CN1983842A (zh) 2005-12-13 2007-06-20 中兴通讯股份有限公司 一种蓝牙无线设备快速建立连接的装置和方法
US8559350B2 (en) 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
US8023478B2 (en) 2006-03-06 2011-09-20 Cisco Technology, Inc. System and method for securing mesh access points in a wireless mesh network, including rapid roaming
US7444388B1 (en) 2006-04-13 2008-10-28 Concert Technology Corporation System and method for obtaining media content for a portable media player
KR100756228B1 (ko) 2006-07-13 2007-09-06 삼성전자주식회사 무선랜망과 이동통신 시스템에 접속 가능한 휴대용단말기에서 아이피 멀티미디어 서브시스템의 서비스 장치및 방법
US8467784B2 (en) 2006-07-14 2013-06-18 Qualcomm Incorporated WLAN system scanning and selection
US8014529B2 (en) 2006-08-18 2011-09-06 Eye-Fi, Inc. In-band device enrollment without access point support
US7715793B2 (en) 2006-08-31 2010-05-11 Symbol Technologies, Inc. System and method for establishing a wireless connection between wireless devices
JP5298391B2 (ja) * 2006-09-18 2013-09-25 マーベル インターナショナル リミテッド 多数のデバイス間のアドホックネットワーク構築
US8285851B2 (en) 2007-01-08 2012-10-09 Apple Inc. Pairing a media server and a media client
EP1950987A1 (en) 2007-01-23 2008-07-30 Research In Motion Limited Passively scanning according to WLAN regulatory domain
US20080256205A1 (en) 2007-02-26 2008-10-16 Shawn Christopher Mahoney Apparatus and Method for a Portable Hand Held Device Into a Media Controller
JP2008219358A (ja) 2007-03-02 2008-09-18 Sony Corp 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
US20080220719A1 (en) 2007-03-10 2008-09-11 Samsung Electronics Co., Ltd. System and method for providing multimedia content to a wireless device
US8472874B2 (en) 2007-03-14 2013-06-25 Apple Inc. Method and system for pairing of wireless devices using physical presence
EP1983778A1 (en) 2007-04-18 2008-10-22 Research In Motion Limited Determining a WLAN regulatory domain
JP4929040B2 (ja) * 2007-05-10 2012-05-09 キヤノン株式会社 通信装置及び通信方法
DE602007001592D1 (de) * 2007-05-15 2009-08-27 Ntt Docomo Inc Verfahren und Vorrichtung zum Betreiben eines drahtlosen Heimnetzwerkes
US8078787B2 (en) 2007-06-22 2011-12-13 Apple Inc. Communication between a host device and an accessory via an intermediate device
US8667144B2 (en) 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
EP2184892B1 (en) 2007-07-31 2016-12-21 Lenovo Innovations Limited (Hong Kong) Wireless lan terminal and access point searching method
WO2009022397A1 (ja) * 2007-08-10 2009-02-19 Panasonic Corporation 無線端末装置、ネットワーク接続方法及びプログラム
US7944886B2 (en) 2007-08-21 2011-05-17 Cisco Technology, Inc. Infrastructure-based enabling indication for dynamic frequency selection in wireless networks
CN101399825A (zh) * 2007-09-29 2009-04-01 华为技术有限公司 在设备间共享配对信息的方法、设备及***
EP2053886A3 (en) * 2007-10-26 2015-03-25 Hitachi, Ltd. Communication system and gateway apparatus
US7911990B2 (en) 2007-10-26 2011-03-22 Microsoft Corporation Ad hoc wireless networking
CN101232378B (zh) * 2007-12-29 2010-12-08 西安西电捷通无线网络通信股份有限公司 一种无线多跳网络的认证接入方法
KR101195885B1 (ko) 2008-03-03 2012-10-30 삼성전자주식회사 무선 오디오 출력장치 및 이를 포함하는 무선 오디오출력시스템과 이의 제어방법
JP4613969B2 (ja) 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
JP4506856B2 (ja) * 2008-03-10 2010-07-21 ソニー株式会社 通信装置、及び通信方法
KR20090113033A (ko) 2008-04-25 2009-10-29 삼성전자주식회사 기기의 무선 랜 설정 방법 및 장치
US20100042841A1 (en) 2008-08-15 2010-02-18 Neal King Updating and Distributing Encryption Keys
JP4844611B2 (ja) * 2008-09-30 2011-12-28 ブラザー工業株式会社 無線通信装置、接続方法及びプログラム
JP4844613B2 (ja) * 2008-09-30 2011-12-28 ブラザー工業株式会社 無線ネットワークへの接続方法、無線通信装置及びプログラム
JP5600407B2 (ja) 2008-10-10 2014-10-01 キヤノン株式会社 通信装置、通信装置の制御方法及びコンピュータプログラム
US8151336B2 (en) * 2008-12-10 2012-04-03 At&T Intellectual Property Ii, Lp Devices and methods for secure internet transactions
EP2373073B1 (en) * 2008-12-26 2016-11-09 Panasonic Intellectual Property Corporation of America Communication device
US8625552B2 (en) 2008-12-31 2014-01-07 Microsoft Corporation Wireless provisioning a device for a network using a soft access point
US8335937B2 (en) * 2009-12-24 2012-12-18 Intel Corporation Method and system for discoverability of power saving P2P devices
KR101719161B1 (ko) 2010-05-13 2017-03-23 삼성전자주식회사 WiFi 기반의 단말기 및 그의 채널 운용 방법
KR101731844B1 (ko) 2010-05-14 2017-05-02 삼성전자 주식회사 와이파이 디바이스의 와이파이 서비스 제공 방법 및 시스템
US8464061B2 (en) * 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
EP2518932A3 (en) * 2010-10-05 2015-11-18 Brandenburgische Technische Universität Cottbus-Senftenberg A method of password-based authentication and session key agreement for secure data transmission, a method for securely transmitting data, and an electronic data transmission system

Also Published As

Publication number Publication date
GB2494062A (en) 2013-02-27
CN202738112U (zh) 2013-02-13
GB201114925D0 (en) 2011-10-12
US20130279698A1 (en) 2013-10-24
CN102387501B (zh) 2015-03-25
US20120054493A1 (en) 2012-03-01
JP5524157B2 (ja) 2014-06-18
GB2483544B (en) 2014-04-02
WO2012030733A1 (en) 2012-03-08
US8464061B2 (en) 2013-06-11
JP2012050096A (ja) 2012-03-08
TW201224755A (en) 2012-06-16
TWI441025B (zh) 2014-06-11
GB2494062B (en) 2014-01-08
GB201215461D0 (en) 2012-10-17
US8873758B2 (en) 2014-10-28
KR101462361B1 (ko) 2014-11-14
GB2483544A (en) 2012-03-14
CN102387501A (zh) 2012-03-21
EP2612513A1 (en) 2013-07-10

Similar Documents

Publication Publication Date Title
KR101462361B1 (ko) 프로브를 이용한 2개의 장치 간의 보안 무선 링크
US11765172B2 (en) Network system for secure communication
US9628585B2 (en) Systems and methods for cross-layer secure connection set up
US11816370B2 (en) Communication apparatus that provides a communication parameter and method of controlling the same
US20200169886A1 (en) Secure method for configuring internet of things (iot) devices through wireless technologies
EP3058694B1 (en) Establishing a secure connection between a master device and a slave device
US20140020081A1 (en) Portable Token Device
EP3602997B1 (en) Mutual authentication system
JP2011130097A (ja) 通信装置、及び通信方法
JP2007202112A (ja) 無線ローカルエリアネットワークへアクセスする電子装置を設定するシステム及び方法
JP7151131B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
WO2020006665A1 (en) Method for connecting an electronic device to a target wireless access point
KR20150067876A (ko) 디스플레이장치, 사용자 단말장치 및 그의 통신 방법
KR20130043336A (ko) 디스플레이기기 및 디스플레이기기의 액세스 포인트 접속 방법
JP2005244345A (ja) 無線通信システム、無線通信方法及び無線通信端末
JP6486228B2 (ja) 通信装置、制御方法、および、プログラム
JP2024055092A (ja) 通信装置、制御方法及びプログラム

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191016

Year of fee payment: 6