KR102663781B1 - 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들 - Google Patents

컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들 Download PDF

Info

Publication number
KR102663781B1
KR102663781B1 KR1020227036668A KR20227036668A KR102663781B1 KR 102663781 B1 KR102663781 B1 KR 102663781B1 KR 1020227036668 A KR1020227036668 A KR 1020227036668A KR 20227036668 A KR20227036668 A KR 20227036668A KR 102663781 B1 KR102663781 B1 KR 102663781B1
Authority
KR
South Korea
Prior art keywords
computing device
wireless network
nearby
user
access
Prior art date
Application number
KR1020227036668A
Other languages
English (en)
Other versions
KR20220148934A (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 애플 인크.
Priority to KR1020247014643A priority Critical patent/KR20240064050A/ko
Publication of KR20220148934A publication Critical patent/KR20220148934A/ko
Application granted granted Critical
Publication of KR102663781B1 publication Critical patent/KR102663781B1/ko

Links

Classifications

    • 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
    • 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/3226Cryptographic 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 predetermined code, e.g. password, passphrase or PIN
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0433Key management protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/062Pre-authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/72Subscriber identity
    • 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/42Anonymization, e.g. involving pseudonyms
    • 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/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

실시예들은 근처의 관련 컴퓨팅 디바이스들을 안전하게 식별하기 위한 기법을 기재한다. 본 기법은 제1 컴퓨팅 디바이스에서 구현될 수 있고, (1) 제2 컴퓨팅 디바이스로부터, 광고 패킷을 수신하는 단계 - 광고 패킷은, (i) 제2 컴퓨팅 디바이스와 연관된 네트워크 어드레스, 및 (ii) 네트워크 어드레스 및 제2 컴퓨팅 디바이스와 연관된 암호화 키를 사용하여 계산된 해시 값을 포함함 -, 및 (2) 제1 컴퓨팅 디바이스에 액세스가능한 복수의 알려진 암호화 키들 내의 각각의 알려진 암호화 키에 대해, (i) 네트워크 어드레스 및 알려진 암호화 키를 사용하여 임시 해시 값을 계산하는 단계, 및 (ii) 임시 해시 값 및 해시 값이 매칭함을 식별하는 것에 응답하여, 제2 컴퓨팅 디바이스와 연관된 동작을 수행하는 단계를 포함할 수 있다.

Description

컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들{TECHNIQUES FOR ENABLING COMPUTING DEVICES TO IDENTIFY WHEN THEY ARE IN PROXIMITY TO ONE ANOTHER}
기술된 실시예들은 일반적으로 근처의 컴퓨팅 디바이스들 사이에서 정보를 공유하는 것에 관한 것이다.
컴퓨팅 디바이스들 사이에서 데이터를 공유하기 위한 종래의 접근법들은 보안 문제들에 취약하다. 예를 들어, 주어진 패스워드를 공유하기 위한 광범위한 접근법은 다른 사람에 대한 통신, 예를 들어, 이메일, 텍스트 메시지 내에 패스워드를 포함시키는 것 또는 다른 사람에게 직접 패스워드를 말하는 것을 수반한다. 이러한 광범위한 접근법은, 특히 패스워드를 소유하는 인가되지 않은 사람이 패스워드를 사용하여 액세스가능한 잠재적으로 민감한 데이터에 대한 액세스를 용이하게 얻을 수 있다는 것을 고려할 때 불행하다. 그러나, 악성 사용자들을 좌절시키려 시도할 때 패스워드들을 공유하는 어려움을 상당히 증가시키는 것, 예를 들어, 입력하기 어려운 긴 패스워드들을 구현하는 것, 빈번하게 변화하는 패스워드들을 구현하는 것 등은 또한 바람직하지 않다.
따라서, 컴퓨팅 디바이스들 사이에서 데이터를 공유하기 위한 보다 효율적이고 안전한 기법에 대한 필요성이 존재한다.
발명의 내용
전술한 결점들을 해결하기 위해, 본 명세서에 기재된 대표적인 실시예들은 컴퓨팅 디바이스가 컴퓨팅 디바이스에 알려진 근처의 컴퓨팅 디바이스와 정보를 공유할 수 있게 하기 위한 다양한 기법들을 개시한다.
일부 실시예들에 따르면, 컴퓨팅 디바이스는, 본 명세서에 기술된 기법들을 수행함으로써 근처의 컴퓨팅 디바이스가 무선 네트워크에 액세스할 수 있게 하기 위한 방법을 구현하도록 구성될 수 있다. 특히, 방법은, (1) 무선 네트워크에 액세스하기 위한 요청을 근처의 컴퓨팅 디바이스로부터 수신하는 단계 - 요청은 근처의 컴퓨팅 디바이스와 연관된 사용자 정보를 포함함 -, (2) 사용자 정보에 기초하여, 컴퓨팅 디바이스에 의해 근처의 컴퓨팅 디바이스가 인식된다고 결정하는 것에 응답하여 요청과 연관된 통지를 제시하는 단계, 및 (3) 근처의 컴퓨팅 디바이스가 무선 네트워크에 액세스하는 것에 대한 승인을 수신하는 것에 응답하여, 근처의 컴퓨팅 디바이스에, 무선 네트워크에 액세스하기 위한 패스워드를 제공하는 단계를 포함할 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스는, 본 명세서에 기술된 기법들을 수행함으로써 근처의 컴퓨팅 디바이스가 무선 네트워크에 액세스할 수 있게 하기 위한 다른 방법을 구현하도록 구성될 수 있다. 특히, 방법은, (1) 근처의 컴퓨팅 디바이스로부터 암호화된 요청을 수신하는 단계 - 암호화된 요청은 근처의 컴퓨팅 디바이스가 무선 네트워크에 액세스하려고 하고 있다는 표시를 포함함 -, (2) 암호화된 요청을 복호화하기 위한 키를 식별하는 단계, (3) 표시를 추출하기 위해 키를 사용하여 암호화된 요청을 복호화하는 단계, (4) 표시에 따라 통지를 디스플레이하는 단계, 및 (5) 근처의 컴퓨팅 디바이스가 무선 네트워크에 액세스하는 것에 대한 승인을 수신하는 것에 응답하여, 근처의 컴퓨팅 디바이스에, 무선 네트워크에 액세스하기 위한 패스워드를 제공하는 단계를 포함할 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스는, 본 명세서에 기술된 기법들을 수행함으로써 근처의 컴퓨팅 디바이스가 데이터 아이템들에 액세스할 수 있게 하기 위한 다른 방법을 구현하도록 구성될 수 있다. 특히, 방법은, (1) 근처의 컴퓨팅 디바이스로부터 암호화된 요청을 수신하는 단계 - 암호화된 요청은 근처의 컴퓨팅 디바이스가 컴퓨팅 디바이스에 액세스가능한 하나 이상의 데이터 아이템들에 액세스하려고 하고 있다는 표시를 포함함 -, (2) 암호화된 요청을 복호화하기 위한 키를 식별하는 단계, (3) 표시를 추출하기 위해 키를 사용하여 암호화된 요청을 복호화하는 단계, (4) 표시에 따라 통지를 디스플레이하는 단계, 및 (5) 근처의 컴퓨팅 디바이스가 하나 이상의 데이터 아이템들에 액세스하는 것에 대한 승인을 수신하는 것에 응답하여, 근처의 컴퓨팅 디바이스에, 하나 이상의 데이터 아이템들을 제공하는 단계를 포함할 수 있다.
추가적으로, 실시예들은 근처에 있는 관련 컴퓨팅 디바이스들을 안전하게 식별하기 위한 방법을 기재한다. 일부 실시예들에 따르면, 방법은 제1 컴퓨팅 디바이스에서 구현될 수 있고, (1) 제2 컴퓨팅 디바이스로부터, 광고 패킷을 수신하는 단계 - 광고 패킷은, (i) 제2 컴퓨팅 디바이스와 연관된 네트워크 어드레스, 및 (ii) 네트워크 어드레스 및 제2 컴퓨팅 디바이스와 연관된 암호화 키를 사용하여 계산된 해시 값을 포함함 -, 및 (2) 제1 컴퓨팅 디바이스에 액세스가능한 복수의 알려진 암호화 키들 내의 각각의 알려진 암호화 키에 대해, (i) 네트워크 어드레스 및 알려진 암호화 키를 사용하여 임시 해시 값을 계산하는 단계, 및 (ii) 임시 해시 값 및 해시 값이 매칭함을 식별하는 것에 응답하여, 제2 컴퓨팅 디바이스와 연관된 동작을 수행하는 단계를 포함할 수 있다.
추가적으로, 실시예들은 컴퓨팅 디바이스들이 서버 컴퓨팅 디바이스에 의해 서로 암호화 키들을 교환할 수 있게 하기 위한 방법을 기재한다. 일부 실시예들에 따르면, 방법은 서버 컴퓨팅 디바이스에서 구현될 수 있고, (1) 제1 컴퓨팅 디바이스로부터, 데이터 아이템을 수신하는 단계 - 데이터 아이템은, (i) 제1 컴퓨팅 디바이스에 고유한 컴퓨팅 디바이스 식별자(ID), (ii) 제1 컴퓨팅 디바이스와 연관된 개인에 고유한 사람 식별자(ID), 및 (iii) 제1 컴퓨팅 디바이스와 연관된 암호화 키를 포함함 -, (2) 컴퓨팅 디바이스 ID 또는 사람 ID 중 하나 이상에 기초하여, 제1 컴퓨팅 디바이스와 관련된 적어도 하나의 컴퓨팅 디바이스를 식별하는 단계, 및 (3) 데이터 아이템을 적어도 하나의 컴퓨팅 디바이스에 제공하는 단계를 포함할 수 있고, 적어도 하나의 컴퓨팅 디바이스는 컴퓨팅 디바이스 ID 및 사람 ID에 링크되는 알려진 암호화 키로서 암호화 키를 저장한다.
추가적으로, 실시예들은 컴퓨팅 디바이스들이 서로 암호화 키들을 직접 교환할 수 있게 하기 위한 다른 방법을 기재한다. 일부 실시예들에 따르면, 방법은 제1 컴퓨팅 디바이스에서 구현될 수 있고, (1) 제1 컴퓨팅 디바이스가 제2 컴퓨팅 디바이스 근처에 있을 때를 제2 컴퓨팅 디바이스가 알게 할 수 있게 하기 위한 조건을 식별하는 단계, (2) 제2 컴퓨팅 디바이스에, 데이터 아이템을 제공하는 단계 - 데이터 아이템은, (i) 제1 컴퓨팅 디바이스에 고유한 컴퓨팅 디바이스 식별자(ID), (ii) 제1 컴퓨팅 디바이스와 연관된 개인에 고유한 사람 식별자(ID), 및 (iii) 제1 컴퓨팅 디바이스와 연관된 암호화 키를 포함함 -, 및 (3) 광고 패킷들을 주기적으로 생성하는 단계를 포함할 수 있고, 광고 패킷들은, (i) 제1 컴퓨팅 디바이스와 연관된 네트워크 어드레스, 및 (ii) 네트워크 어드레스 및 제1 컴퓨팅 디바이스와 연관된 암호화 키를 사용하여 계산된 해시 값을 포함한다.
다른 실시예들은, 컴퓨팅 디바이스에 포함된 프로세서에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 전술한 방법들 중 임의의 것의 다양한 단계들을 수행하게 하는 명령어들을 저장하도록 구성된 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 추가의 실시예들은 전술한 방법들 중 임의의 것의 다양한 단계들을 수행하도록 구성되는 컴퓨팅 디바이스를 포함한다.
본 발명의 다른 양태들 및 이점들은 기술된 실시예들의 원리들을 예로서 예시하는 첨부 도면들과 함께 취해지는 하기의 상세한 설명으로부터 명백하게 될 것이다.
본 개시내용은 첨부 도면들과 함께 다음의 상세한 설명에 의해 용이하게 이해될 것이며, 도면에서, 유사한 도면 부호들은 유사한 구조적 요소들을 지정한다.
도 1은 일부 실시예들에 따른, 본 명세서에 기술된 다양한 기법들의 상이한 양태들을 구현하도록 구성될 수 있는 상이한 컴퓨팅 디바이스들의 블록도를 예시한다.
도 2a 및 도 2b는 일부 실시예들에 따른, 무선 네트워크에 액세스하기 위한 요청을 서비스하도록 구성될 수 있는 예시적인 컴퓨팅 디바이스들의 개념도들을 예시한다.
도 3은 일부 실시예들에 따른, 무선 네트워크에 액세스하기 위한 요청을 서비스하기 위한 방법을 예시한다.
도 4는 일부 실시예들에 따른, 컴퓨팅 디바이스가 무선 네트워크에 액세스하기 위한 요청을 발행할 수 있게 하기 위한 방법을 예시한다.
도 5는 일부 실시예들에 따른, 상이한 컴퓨팅 디바이스들 사이에서 디바이스 키를 공유하기 위한 방법을 예시한다.
도 6은 일부 실시예들에 따른, 무선 네트워크에 액세스하기 위한 요청을 서비스하기 위한 방법을 예시한다.
도 7은 일부 실시예들에 따른, 컴퓨팅 디바이스가 무선 네트워크에 액세스하기 위한 요청을 발행할 수 있게 하기 위한 방법을 예시한다.
도 8은 일부 실시예들에 따른, 무선 네트워크에 대한 패스워드를 공유하기 위한 요청을 서비스하기 위한 방법을 예시한다.
도 9a 내지 도 9d는 일부 실시예들에 따른, 특정 무선 네트워크에 액세스하기 위한 요청을 서비스하도록 구성될 수 있는 예시적인 사용자 인터페이스들의 개념도들을 예시한다.
도 10a 내지 도 10d는 일부 실시예들에 따른, 임의의 무선 네트워크에 액세스하기 위한 요청을 서비스하도록 구성될 수 있는 예시적인 사용자 인터페이스들의 개념도들을 예시한다.
도 11은 일부 실시예들에 따른, 컴퓨팅 디바이스가 무선 핫스팟에 액세스하기 위한 요청을 서비스할 수 있게 하기 위한 방법을 예시한다.
도 12는 일부 실시예들에 따른, 컴퓨팅 디바이스가 보안 리소스에 액세스할 수 있게 하기 위한 방법을 예시한다.
도 13은 일부 실시예들에 따른, 근처의 컴퓨팅 디바이스에 임시 패스워드를 제공함으로써 무선 네트워크에 액세스하기 위해 근처의 컴퓨팅 디바이스에 의해 발행된 요청을 서비스하기 위한 방법을 예시한다.
도 14는 일부 실시예들에 따른, 무선 라우터가 무선 네트워크에 대한 액세스를 컴퓨팅 디바이스에 제공할 수 있게 하기 위한 방법을 예시한다.
도 15는 일부 실시예들에 따른, 본 명세서에 기술된 다양한 기법들을 구현하기 위해 구성될 수 있는 컴퓨팅 디바이스의 상세도를 예시한다.
도 16a은 일부 실시예들에 따른, 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별하도록 구성될 수 있는 다양한 컴퓨팅 디바이스들의 블록도를 예시한다.
도 16b는 일부 실시예들에 따른, 암호화 키 교환 서버에 의해 컴퓨팅 디바이스들이 암호화 키들을 서로 교환할 수 있게 하기 위한 방법을 예시한다.
도 16c는 일부 실시예들에 따른, 컴퓨팅 디바이스들이 암호화 키들을 서로 직접 교환할 수 있게 하기 위한 방법을 예시한다.
도 17a는 일부 실시예들에 따른, 광고 패킷을 송신하는 컴퓨팅 디바이스의 개념도를 예시한다.
도 17b는 일부 실시예들에 따른, 광고 패킷들을 송신 및 분석하기 위한 방법을 예시한다.
도 18은 일부 실시예들에 따른, 다른 사용자들이 서로 그들의 근접성을 인식하도록 사용자들이 인가할 수 있는 방식을 조정하기 위해 활용될 수 있는 예시적인 사용자 인터페이스의 예시를 제공한다.
도 19는 일부 실시예들에 따른, 알려진 컴퓨팅 디바이스들에 대한 그들의 근접성에 기초하여 사용자들의 대략적인 위치들을 식별하기 위해 활용될 수 있는 예시적인 사용자 인터페이스의 예시를 제공한다.
도 20a 내지 도 20c는 일부 실시예들에 따른, 특정 사용자의 하나 이상의 컴퓨팅 디바이스들이 컴퓨팅 디바이스에 근접해 있을 때 컴퓨팅 디바이스 상에서 리마인더를 트리거하기 위한 기법의 시퀀스 도면을 예시한다.
도 21은 일부 실시예들에 따른, 선택을 위해 근처의 컴퓨팅 디바이스들을 그룹화하기 위한 기법의 개념도를 예시한다.
본 출원에 따른 방법들 및 장치의 대표적인 응용예들이 이 섹션에 기술된다. 이 예들은 단지 맥락을 부가하고 기술된 실시예들의 이해에 도움을 주기 위해 제공되어 있다. 따라서, 기술된 실시예들이 이들의 구체적인 상세한 설명의 일부 또는 전부 없이도 실시될 수 있다는 것이 본 기술 분야의 통상의 기술자에게 명백할 것이다. 다른 경우들에서, 잘 알려진 공정 단계들은 기술된 실시예들을 불필요하게 불명료하게 하지 않기 위해 상세히 기술되지 않았다. 다른 응용예들도 가능하며, 따라서 이하의 예들은 제한하는 것으로 취해져서는 안 된다.
하기의 상세한 설명에서는, 설명의 일부를 형성하고 기술된 실시예들에 따른 특정 실시예들이 예시로서 도시되어 있는 첨부 도면들이 참조된다. 이러한 실시예들은 본 기술 분야의 통상의 기술자가 기술된 실시예들을 실행할 수 있게 하도록 충분히 상세하게 기술되지만, 이러한 예들은 제한하는 것이 아니어서, 다른 실시예들이 사용될 수 있으며 기술된 실시예들의 기술적 사상 및 범주를 벗어남이 없이 변경이 이루어질 수 있음이 이해된다.
본 명세서에 기술된 실시예들은, 2개의 컴퓨팅 디바이스들 사이에 기존의 관계가 존재하는지 여부를 결정함으로써 컴퓨팅 디바이스가 컴퓨팅 디바이스에 알려진 근처의 컴퓨팅 디바이스를 발견할 수 있게 하기 위한 기법들을 기재한다. 이어서, 컴퓨팅 디바이스가 기존 관계가 존재한다고 결정할 때, 컴퓨팅 디바이스는 컴퓨팅 디바이스에 액세스가능한 (예를 들어, 컴퓨팅 디바이스에 의해 관리되는, 컴퓨팅 디바이스에 저장되는, 클라우드 네트워킹 저장 디바이스에 저장되는 등의) 하나 이상의 데이터 아이템들을 근처의 컴퓨팅 디바이스와 공유할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 무선 네트워크 패스워드를 근처의 컴퓨팅 디바이스와 공유할 수 있다. 다른 예들에서, 컴퓨팅 디바이스는 근처의 컴퓨팅 디바이스와 미디어 아이템들(예컨대, 문서 파일들, 사진 파일들, 음악 파일들, 비디오 파일들, 웹사이트 링크들 등)을 공유할 수 있다. 예를 들어, 컴퓨팅 디바이스가 근처의 컴퓨팅 디바이스의 사용자와 특정 사진(예컨대, 피지 서핑 여행 등)을 공유하기 위한 요청을 근처의 컴퓨팅 디바이스로부터 수신하는 시나리오를 고려한다. 기존의 관계가 이들 2개의 컴퓨팅 디바이스들 사이에 존재한다고 결정하는 것에 응답하여, 컴퓨팅 디바이스는 (요청에 따라) 특정 사진에 대한 액세스를 갖는 사진 애플리케이션을 개시하도록 컴퓨팅 디바이스의 사용자에게 통지를 제시할 수 있다. 후속적으로, 컴퓨팅 디바이스의 사용자는 근처의 컴퓨팅 디바이스에게 특정 사진에 대한 액세스를 허가하기 위해 사진 애플리케이션을 활용할 수 있다. 대안적으로, 컴퓨팅 디바이스가 근처의 컴퓨팅 디바이스를 인식하지 않는 경우, 컴퓨팅 디바이스는 통지가 제시되는 것을 방지할 수 있다. 따라서, 컴퓨팅 디바이스는 하나 이상의 데이터 아이템들을 근처의 컴퓨팅 디바이스와 공유할 때 보안 및 프라이버시의 추가 계층을 제공하기 위해 본 명세서에 더 상세히 기술되는 바와 같은 기법들을 활용할 수 있다.
일부 실시예들에 따르면, 무선 네트워크에 액세스하기 위한 근처의 컴퓨팅 디바이스로부터의 요청을 수신하는 것에 응답하여, (무선 네트워크에 대한 액세스를 갖는) 컴퓨팅 디바이스는 이들 2개의 컴퓨팅 디바이스들 사이에 기존 관계가 존재하는지 여부를 식별할 수 있다. 특히, 요청을 수신하기 전에, 컴퓨팅 디바이스는 초기에 근처의 컴퓨팅 디바이스와의 통신을 확립할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 근처의 컴퓨팅 디바이스와 연관된 사용자 정보를 저장할 수 있고, 근처의 컴퓨팅 디바이스에 대한 사용자 정보의 적어도 서브세트에 기초하여 연락처 카드를 확립할 수 있다. 다른 예들에서, 컴퓨팅 디바이스가 근처의 컴퓨팅 디바이스와의 초기 페어링을 확립한 후에, 컴퓨팅 디바이스는 근처의 컴퓨팅 디바이스와 연관된 디바이스 키에의 액세스를 수신할 수 있다. 이어서, 컴퓨팅 디바이스는 디바이스 키를 근처의 컴퓨팅 디바이스와 연관된 디바이스 식별자(ID)에 상관시킬 수 있다. 어느 경우든, 근처의 컴퓨팅 디바이스로부터의 요청을 수신하는 것에 응답하여, 컴퓨팅 디바이스는 (1) 사용자 정보 또는 (2) 상관된 디바이스 키 중 적어도 하나에 액세스하여, 이들 컴퓨팅 디바이스들이 서로 알려져 있는지 여부를 식별할 수 있다. 따라서, 컴퓨팅 디바이스는 컴퓨팅 디바이스의 사용자가 알려지지 않은/무관한 컴퓨팅 디바이스들에 의해 귀찮게 되는 것을 방지할 수 있다.
다음으로, 컴퓨팅 디바이스는 근처의 컴퓨팅 디바이스에 의해 제공된 요청이 특정 무선 네트워크를 나타내는지 여부를 결정할 수 있다. 일부 실시예들에 따르면, 컴퓨팅 디바이스의 사용자는 특정 무선 네트워크가 요청에 표시되지 않는 경우 이용가능한 무선 네트워크를 제안할 수 있다. 어느 경우든, 컴퓨팅 디바이스의 사용자는 근처의 컴퓨팅 디바이스에 무선 네트워크에 대한 액세스를 허가할지 여부를 결정할 수 있다. 추가적으로, 근처의 컴퓨팅 디바이스에 무선 네트워크에 대한 액세스를 허가하는 것과 관련하여, 컴퓨팅 디바이스는 근처의 컴퓨팅 디바이스가 다른 컴퓨팅 디바이스와 패스워드를 공유하는 것을 방지하는 포맷으로 무선 네트워크와 연관된 패스워드를 제공할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스는 패스워드를 소유하는 인가되지 않은 사람이 무선 네트워크를 통해 액세스가능한 잠재적으로 민감한 데이터에 대한 액세스를 획득하는 것을 방지할 수 있다.
이들 기법들에 대한 보다 상세한 논의는 이하에서 기재되며, 이들 기법들을 구현하는데 사용될 수 있는 시스템들 및 방법들의 상세한 다이어그램들을 예시하는 도 1, 도 2a와 도 2b, 도 3 내지 도 8, 도 9a 내지 도 9d, 도 10a 내지 도 10d 및 도 11 내지 도 15와 관련하여 기술된다.
도 1은 일부 실시예들에 따른, 본 명세서에 기술된 기법들의 다양한 양태들을 구현하도록 구성될 수 있는 상이한 컴퓨팅 디바이스들의 블록도(100)를 예시한다. 구체적으로, 도 1은 상이한 컴퓨팅 디바이스들(102)(예컨대, 102-2 내지 102-N)과 통신하고 이들이 (적어도 하나의) 무선 네트워크(130)에 액세스할 수 있게 하도록 구성된 컴퓨팅 디바이스(102-1)의 고레벨 개요를 예시한다. 도 1에 예시되어 있지 않지만, 컴퓨팅 디바이스들(102) 각각은 적어도 하나의 프로세서, 적어도 하나의 메모리, 및 적어도 하나의 저장 디바이스를 포함할 수 있고, 이들은 집합적으로 이들 컴퓨팅 디바이스들이 본 개시내용에 따라 동작할 수 있게 한다는 것이 이해된다. 예를 들어, 주어진 컴퓨팅 디바이스(102)에서, 적어도 하나의 프로세서는, 적어도 하나의 메모리와 관련하여, 적어도 하나의 저장 디바이스에 저장된 명령어들을 적어도 하나의 메모리 내에 로딩하여 본 명세서에 기술된 기법들이 구현될 수 있게 할 수 있다. 특히, 다양한 애플리케이션들/커널들을 포함하는 운영 체제(OS)가 본 명세서에 기술된 다양한 기법들을 구현하기 위해 적어도 하나의 프로세서에 의해 실행될 수 있다.
예를 들어, OS는 공유 관리자(110)가 컴퓨팅 디바이스(102-1) 상에서 실행되는 것을 가능하게 할 수 있다. 일부 실시예들에 따르면, 공유 관리자(110)는 무선 네트워크(130)에 대한 액세스를 획득하기 위해 상이한 컴퓨팅 디바이스들(102)로부터 수신된 요청들을 서비스하도록 구성될 수 있다. 특히, 공유 관리자(110)는, 공유 관리자(110)가 상이한 컴퓨팅 디바이스들(102)이 무선 네트워크(130)에 대한 액세스를 허가할지 여부를 결정할 수 있게 하는 다양한 데이터 구조들(예컨대, 컴퓨팅 디바이스(102-1)의 적어도 하나의 메모리/적어도 하나의 저장 디바이스에 저장됨)에 액세스하도록 구성될 수 있다. 예를 들어, 데이터 구조들은 사용자 정보(120), 연락처들(122), 디바이스 식별자(123), 디바이스 키(124), 페어링된 디바이스 키들(126), 및 무선 네트워크 정보(128)를 포함할 수 있으며, 그의 목적들은 아래에서 더 상세히 기술된다.
일부 실시예들에 따르면, 공유 관리자(110)는, 컴퓨팅 디바이스들(102) 사이에 기존의 관계들이 존재하는지 여부를 식별하려고 시도할 때 사용자 정보(120) 및 연락처들(122)에 액세스하도록 구성될 수 있다. 예를 들어, 사용자 정보(120)는 컴퓨팅 디바이스(102-1)의 등록된 사용자를 설명하는 데이터를 저장할 수 있고, 컴퓨팅 디바이스(102-1)가 다른 컴퓨팅 디바이스들(102)에 대해 인식가능할 수 있게 하는 임의의 형태를 취할 수 있다. 일부 실시예들에 따르면, 사용자 정보(120)는 또한 컴퓨팅 디바이스(102-1)와 연관된 하드웨어/소프트웨어 속성들에 기초할 수 있다. 예를 들어, 사용자 정보(120)는 컴퓨팅 디바이스(102-1)와 연관된 전화 번호, 단일 사인-온 서비스와 연관된 사용자 ID(예컨대, 애플 ID), 이메일 계정, 소셜 네트워크 계정, 소셜 미디어 계정, 가입자 아이덴티티 모듈(SIM) 카드 등에 기초할 수 있다. 일부 경우들에서, 컴퓨팅 디바이스(102-1)가 다른 컴퓨팅 디바이스들(102)과의 통신을 확립할 때, 공유 관리자(110)는 컴퓨팅 디바이스(102-1)에 대한 각자의 사용자 정보(120)를 다른 컴퓨팅 디바이스들(102)에 제공할 수 있다. 이어서, 다른 컴퓨팅 디바이스들(102)과의 통신을 확립할 때, 공유 관리자(110)는 또한 다른 컴퓨팅 디바이스들(102)과 연관된 각자의 사용자 정보(120)를 수신할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스들(102)은 본 명세서에 기재된 기법들을 수행하는 것과 관련하여 서로 상호 식별할 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(102-1)가 주어진 컴퓨팅 디바이스(102)(예컨대, 상이한 컴퓨팅 디바이스(102-2))에 대한 사용자 정보(120)를 저장할 때, 컴퓨팅 디바이스(102-1)의 공유 관리자(110)는 공유 관리자(110)에 의해 인식되거나 알려진 연락처로서 상이한 컴퓨팅 디바이스(102-2)를 확립할 수 있다. 이것은, 예를 들어, 상이한 컴퓨팅 디바이스(102-2)에 대한 사용자 정보(120)의 적어도 서브세트에 기초하는 연락처들(122) 내의 연락처 카드를 확립하는 것을 수반할 수 있다. 서브세트는, 예를 들어, 상이한 컴퓨팅 디바이스(102-2)와 연관된, 퍼스트 네임, 라스트 네임, 별명, 물리적 주소, 전화 번호, 사진 등을 포함할 수 있다. 본 명세서에 더 상세히 기술되는 바와 같이, 다른 컴퓨팅 디바이스들(102)에 대한 사용자 정보(120)를 저장하는 것은, 공유 관리자(110)가 무선 네트워크(130)에 액세스하기 위한 다른 컴퓨팅 디바이스들(102)로부터의 요청들에 적절히 응답하거나 무시할 수 있게 할 수 있다.
예를 들어, 컴퓨팅 디바이스(102-1)가 (컴퓨팅 디바이스(102-1)가 액세스를 갖는) 무선 네트워크(130)에 액세스하기 위한 요청을 알려지지 않은 컴퓨팅 디바이스(102)로부터 수신하는 경우, 공유 관리자(110)는 컴퓨팅 디바이스(102-1)의 디스플레이에서 요청의 통지를 제시하는 것을 방지할 수 있다. 특히, 컴퓨팅 디바이스(102-1)는 알려지지 않은 컴퓨팅 디바이스(102)와 연관된 사용자 정보(120)가 컴퓨팅 디바이스(102-1)에 의해 관리되는 연락처들(122)에 포함되지 않음을 식별할 때 요청을 무시하도록 선택할 수 있다. 이는 유익하게도 컴퓨팅 디바이스(102-1)의 사용자에게 관련 통지들만을 제시하는 데 향상된 입도를 제공한다. 대안적으로, 컴퓨팅 디바이스(102-1)가 무선 네트워크(130)에 액세스하기 위해 알려진 컴퓨팅 디바이스(102)(예컨대, 친구, 상대, 동료 등)로부터 요청을 수신할 때, 공유 관리자(110)는 알려진 컴퓨팅 디바이스(102)와 연관된 사용자 정보(120)에 기초하여 알려진 컴퓨팅 디바이스(102)를 검증할 수 있다. 후속적으로, 공유 관리자(110)는 알려진 컴퓨팅 디바이스(102)가 무선 네트워크(130)에 액세스하기 위해 요청하고 있는 통지를 제시할 수 있다.
추가적으로, 컴퓨팅 디바이스(102-1)에 포함된 공유 관리자(110)는 무선 네트워크(130)에 액세스하려고 하는 무관한 컴퓨팅 디바이스들(102)에 관한 정보를 제시하는 것을 피하기 위해 각자의 사용자 정보(120) 및 연락처들(122)을 활용할 수 있다는 것에 유의한다. 예를 들어, 컴퓨팅 디바이스(102-1)가 무선 네트워크(130)에 액세스하기 위해 상이한 컴퓨팅 디바이스(102-2)로부터 요청을 수신할 때, 요청은 상이한 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)를 포함하는 경우를 고려한다. 이러한 예에서, 컴퓨팅 디바이스(102-1)가 이전에 상이한 컴퓨팅 디바이스(102-2)와 통신하지 않은 경우, 컴퓨팅 디바이스(102-1)의 공유 관리자(110)는 컴퓨팅 디바이스(102-1)에서 통지를 제시하는 것을 피할 수 있어서, 상이한 컴퓨팅 디바이스(102-2)의 프라이버시를 보호할 수 있다. 따라서, 공유 관리자(110)는 컴퓨팅 디바이스(102-1)의 사용자에게 제시되는 요청들의 유형들에 대한 특정 제한들 및 한계들을 강제하도록 구성되어, 전체적인 사용자 경험을 향상시킬 수 있다.
따라서, 전술된 바와 같이, 공유 관리자(110)는 무선 네트워크(130)에 대한 액세스를 획득하기 위해 상이한 컴퓨팅 디바이스들(102)로부터의 요청들을 서비스할 때 사용자 정보(120) 및 연락처들(122)에 액세스하도록 구성될 수 있다. 이 기법의 보다 상세한 설명은 도 2a와 관련하여 아래에 제공된다. 특히, 무선 네트워크(130)에 대한 액세스를 획득하기 위해 상이한 컴퓨팅 디바이스들(102)로부터의 요청들을 서비스할 때 추가적인 보안 및 향상을 제공할 수 있는 추가적인 실시예들이 후술된다. 특히, 컴퓨팅 디바이스(102-1)의 공유 관리자(110)는 디바이스 식별자(123), 디바이스 키(124), 및 페어링된 디바이스 키들(126)을 활용하여, 컴퓨팅 디바이스들(102) 사이에 기존의 관계들이 존재하는지 여부를 식별하도록 구성될 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(102-1)에 대한 디바이스 식별자(ID)(123)는 컴퓨팅 디바이스(102-1)가 다른 컴퓨팅 디바이스들(102)에게 인식가능할 수 있게 하는 임의의 형태를 취할 수 있다. 일부 실시예들에 따르면, 디바이스 ID(123)는 컴퓨팅 디바이스(102-1)와 연관된 하드웨어/소프트웨어 속성들에 기초할 수 있다. 예를 들어, 디바이스 ID(123)는 전화 번호, 가입자 식별 모듈(SIM) 카드, 제조자의 일련 번호 등에 기초할 수 있다. 추가적으로, 컴퓨팅 디바이스(102-1)에 대한 디바이스 키(124)는 컴퓨팅 디바이스(102-1)에 의해 다른 컴퓨팅 디바이스들(102)로 송신되는 메시지들을 암호화하기 위해 컴퓨팅 디바이스(102-1)에 의해 활용되는 암호화 키의 형태를 취할 수 있다.
일부 실시예들에 따르면, 각자의 디바이스 ID들(123)/디바이스 키들(124)은 클라우드 저장 시스템을 통해 또는 (예컨대, 블루투스, NFC, WiFi 등을 통해) 초기 페어링 동안 2개의 컴퓨팅 디바이스(102)들 사이에서 공유되어, 2개의 컴퓨팅 디바이스(102)들이 추후에 보안 방식으로 서로를 식별할 수 있게 할 수 있다. 일례에서, 컴퓨팅 디바이스(102-1)는 클라우드 저장 시스템에 그 각자의 디바이스 키(124)를 저장할 수 있다. 후속적으로, 상이한 컴퓨팅 디바이스(102)는 클라우드 저장 시스템으로부터 디바이스 키(124)를 검색할 수 있고, 후속적으로 디바이스 키(124)를 저장할 수 있다. 다른 예에서, 컴퓨팅 디바이스(102-1)가 초기에 상이한 컴퓨팅 디바이스(102)와 통신할 때, 컴퓨팅 디바이스(102-1)는 저장을 위해 그 각자의 디바이스 ID(123)를 상이한 컴퓨팅 디바이스(102)에 제공할 수 있다. 추가적으로, 컴퓨팅 디바이스(102-1)는 저장을 위해 그 각자의 디바이스 키(124)를 상이한 컴퓨팅 디바이스(102)에 제공할 수 있다. 어떠한 경우에도, 상이한 컴퓨팅 디바이스(102)가 디바이스 키(124)에 대한 액세스를 획득하는 경우, 상이한 컴퓨팅 디바이스(102)는 디바이스 ID(123)와 컴퓨팅 디바이스(102-1)의 디바이스 키(124) 사이의 상관관계의 노트를 확립할 수 있다. 유사하게, 컴퓨팅 디바이스(102-1)는 (1) 상이한 컴퓨팅 디바이스(102)에 대한 각자의 디바이스 ID(123), 및 (2) 상이한 컴퓨팅 디바이스(102)에 대한 각자의 디바이스 키(124)를 수신할 수 있다. 이어서, 컴퓨팅 디바이스(102-1)는 상이한 컴퓨팅 디바이스(102-2)의 디바이스 ID(123)와 디바이스 키(124) 사이의 상관관계의 노트를 확립할 수 있다.
일부 실시예들에 따르면, 전술된 상관관계들은 페어링된 디바이스 키들(126) 내의 각각의 컴퓨팅 디바이스(102)에서 관리될 수 있다. 특히, 그리고 도 1에 예시된 바와 같이, 주어진 컴퓨팅 디바이스(102), 예컨대 컴퓨팅 디바이스(102-1)에 대한 페어링된 디바이스 키들(126)은, 컴퓨팅 디바이스(102-1)가 이전에 통신을 확립한(예컨대, 페어링됨, 전화 번호를 저장함, 텍스트 메시지를 전송함 등) 각각의 상이한 컴퓨팅 디바이스(102)에 대한 엔트리를 저장할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(102-1)는 상이한 컴퓨팅 디바이스(102)로부터 암호화된 메시지를 수신하고, 메시지를 성공적으로 복호화하는 (페어링된 디바이스 키들(126) 내의) 디바이스 키(124)를 식별하고, 이어서 디바이스 키(124)에 대응하는 디바이스 ID(123)를 식별할 수 있다. 중요하게는, 이러한 접근법은 컴퓨팅 디바이스(102-1)가 암호화된 메시지를 송신하는 상이한 컴퓨팅 디바이스(102-2)를 효과적으로 식별할 수 있게 하는 한편, 다른 컴퓨팅 디바이스들(102) - 구체적으로, 상이한 컴퓨팅 디바이스(102-2)와의 통신을 이전에 확립하지 않은 것들 -이 암호화된 메시지를 복호화하는 것을 방지한다. 이러한 기법의 보다 상세한 설명이 하기에 제공된다.
예를 들어, 암호화된 메시지의 기본적인 콘텐츠가 (컴퓨팅 디바이스(102-1)가 액세스를 갖는) 무선 네트워크(130)에 대한 액세스를 획득하기 위한 요청을 나타내는 경우, 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102)로부터 암호화된 메시지를 수신하는 시나리오를 고려한다. 이 예에서, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)에 알려진(즉, 이전에 저장된) 상이한 디바이스 키들(124)을 사용하여 암호화된 메시지를 복호화하려고 시도할 수 있다. 컴퓨팅 디바이스(102-1)가 암호화된 메시지를 복호화하기 위한 디바이스 키(124)(예를 들어, 암호화 키)를 성공적으로 식별할 때, 컴퓨팅 디바이스(102-1)는 또한 디바이스 키(124)에 대응하는 디바이스 ID(123)를 식별할 수 있고, 암호화된 메시지를 송신하는 상이한 컴퓨팅 디바이스(102)(예컨대, "Jennifer의 아이폰)에 관한 상세사항들을 (디바이스 ID(123)에 기초하여) 효과적으로 식별할 수 있다. 특히, 및 유익하게는, 상이한 컴퓨팅 디바이스(102)에 의해 송신되는 암호화된 메시지는 아마도 상이한 컴퓨팅 디바이스(102)가 이전에 통신을 확립(예컨대, 페어링됨 등)하지 않은 다른 컴퓨팅 디바이스들(102)에 의해 복호화될 수 없는데, 그 이유는, 이들 컴퓨팅 디바이스들이 메시지들을 암호화하기 위한 상이한 컴퓨팅 디바이스(102)에 의해 활용되는 디바이스 키(124)를 소유해서는 안되기 때문이다. 이러한 방식으로, 상이한 컴퓨팅 디바이스(102)의 프라이버시는 무관한/잠재적으로 악의적인 컴퓨팅 디바이스들(102)이 암호화된 메시지를 즉시 복호화할 수 없기 때문에 향상된다. 이 기법의 보다 상세한 설명은 도 2b와 관련하여 아래에 제공된다.
본 명세서에 이전에 기술된 바와 같이, 컴퓨팅 디바이스들(102)은, 도 1에 인증 크리덴셜들(136)로서 예시된 WiFi 정보를 적절한 시나리오들 하에서 서로 공유하도록 구성될 수 있다. 일부 실시예들에 따르면, 인증 크리덴셜들(136)은 무선 네트워크(130)와 연관된 SSID뿐만 아니라, 무선 네트워크(130)에 대해 인증하고 그에 대한 액세스를 획득하는 데 사용될 수 있는 패스워드, 패스코드, 패스프레이즈(passphrase), 16진수 문자열 등을 표현할 수 있다. 일부 실시예들에 따르면, 컴퓨팅 디바이스들(102) 사이의 인증 크리덴셜들(136)을 공유하는 것은, 예를 들어, 상이한 컴퓨팅 디바이스(102-2)가 (컴퓨팅 디바이스(102-1)가 액세스한) 특정 무선 네트워크(130)에 액세스하기 위한 컴퓨팅 디바이스(102-1)에 대한 요청을 발행하는 것을 수반할 수 있다. 대안적으로, 상이한 컴퓨팅 디바이스(102-2)는 액세스할 적절한 WiFi 네트워크(130)에 대한 추천에 대한 요청을 컴퓨팅 디바이스(102-1)에 발행할 수 있다. 어느 경우든, 컴퓨팅 디바이스(102-1)는 그 각자의 무선 네트워크 정보(128) 내의 무선 네트워크(130)에 대한 인증 크리덴셜들(136)에 액세스할 수 있고, 인증 크리덴셜들(136)을 상이한 컴퓨팅 디바이스(102-2)에 제공할 수 있다. 이어서, 상이한 컴퓨팅 디바이스(102-2)는 인증 크리덴셜들(136)을 그 각자의 무선 네트워크 정보(128) 내에 저장할 수 있고, 인증 크리덴셜들(136)을 활용하여 WiFi 네트워크(130)에 액세스할 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(102-1)의 무선 네트워크 정보(128)는 컴퓨팅 디바이스(102-1)에 의해 현재 액세스되고 있는 활성 무선 네트워크(134)를 나타낼 수 있다. 예를 들어, 공유 관리자(110)는 컴퓨팅 디바이스(102-1)가 액세스할 수 있는 활성 무선 네트워크(134)와 다른 무선 네트워크(130) 사이를 구별할 수 있다. 일부 실시예들에 따르면, 공유 관리자(110)는 상이한 컴퓨팅 디바이스(102-2)에 의해 요청된 특정 무선 네트워크(130)가 활성인지 여부를 결정할 수 있다. 예를 들어, 상이한 컴퓨팅 디바이스(102-2)에 의해 요청된 특정 무선 네트워크(130)가 비활성인 경우, 공유 관리자(110)는 상이한 컴퓨팅 디바이스(102-2)가 액세스해야 하는 대안적인 무선 네트워크(130)를 제안하기 위해 활성 무선 네트워크(134)를 참조할 수 있다. 다른 예에서, 공유 관리자(110)에 알려진 다수의 이용가능한 무선 네트워크들(130)이 있을 때, 공유 관리자(110)는 가장 강한 신호 강도를 갖는 이용가능한 무선 네트워크(130)에 액세스하도록 상이한 컴퓨팅 디바이스(102-2)에 추천할 수 있다. 또 다른 예에서, 상이한 컴퓨팅 디바이스(102-2)로부터의 요청이 특정 무선 네트워크(130)를 나타내지 않는 경우, 공유 관리자(110)는 상이한 컴퓨팅 디바이스(102-2)가 (컴퓨팅 디바이스(102-1)가 현재 접속된) 활성 무선 네트워크(134) 또는 대안적인 무선 네트워크(130)에 액세스하도록 제안할 수 있다. 추가적으로, 공유 관리자(110)는 신호 강도, 사용 통계, 사용 주파수, 대역폭 등과 같은 몇몇 무선 네트워크 팩터들에 따라 몇몇 이용가능한 무선 네트워크들(130) 중에서 무선 네트워크(130)를 제안할 수 있다. 후속적으로, 공유 관리자(110)는 활성 무선 네트워크(134) 또는 대안적인 무선 네트워크(130)에의 액세스를 가능하게 하기 위해 적절한 인증 크리덴셜들(136)을 상이한 컴퓨팅 디바이스(102-2)에 제공할 수 있다.
일부 실시예들에 따르면, 상이한 컴퓨팅 디바이스(102-2)에 패스워드를 제공하는 것과 관련하여, 컴퓨팅 디바이스(102-1)의 사용자는 패스워드가 상이한 컴퓨팅 디바이스(102-2) 상에서 유효하게 유지될 시간적 제한을 규정할 수 있다. 특히, 컴퓨팅 디바이스(102-1)는 상이한 컴퓨팅 디바이스(102-2)에 제공되는 암호화된 메시지에서 비트 플래그(예컨대, 시간 제한 표시)와 패스워드를 번들링할 수 있다. 예를 들어, 시간 제한 표시는 패스워드가 단지 24 시간의 기간 동안 상이한 컴퓨팅 디바이스(102-2) 상에서 유효하게 유지될 것임을 규정할 수 있다. 이러한 방식으로, 24 시간의 기간이 경과한 후에, 시간 제한 표시는 패스워드가 무효/삭제되게 하는 명령어를 제공할 수 있고, 이에 의해 상이한 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 계속해서 액세스할 수 있는 것을 방지할 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(102-1)는 상이한 컴퓨팅 디바이스(102-2)가 수신된 인증 크리덴셜들(136)을 다른 컴퓨팅 디바이스들(102)과 공유하는 것을 방지할 수 있다. 예를 들어, 인증 크리덴셜들(136)은 상이한 컴퓨팅 디바이스(102-2)가 인증 크리덴셜들(136)을 공유하는 것을 방지하는 포맷으로 무선 네트워크 정보(128) 내에 저장될 수 있다. 전술한 보안 기법들을 구현하기 위해, 인증 크리덴셜들(136)은, 도 8과 관련하여 아래에서 더 상세히 기술되는 바와 같이, 미리 공유된 키(PSK) 포맷으로 다른 컴퓨팅 디바이스들(102)과 공유될 수 있다.
추가적으로, 그리고 일부 실시예들에 따르면, 무선 네트워크(130)는 WPA(Wi-Fi Protected Access), WPA2(Wi-Fi Protected Access II), WEP(Wired Equivalent Privacy), 기업 서버 네트워크들, EAP(Extensible Authentication Protocol) 등과 같은 보안 프로토콜들을 포함할 수 있다. 도 1에 예시되지는 않았지만, 컴퓨팅 디바이스(102)는 다양한 하드웨어 컴포넌트들, 예컨대 하나 이상의 무선 통신 컴포넌트들을 포함할 수 있다. 특히, 무선 통신 컴포넌트들은 무선 근거리 네트워크(Wi-Fi) 컴포넌트, GPS(global positioning system) 컴포넌트, 셀룰러 컴포넌트, NFC 컴포넌트, 이더넷 컴포넌트, 또는 블루투스 컴포넌트 중 적어도 하나를 포함할 수 있다. 일부 실시예들에 따르면, 데이터는 무선 통신 컴포넌트들에 의해 구현되는 임의의 무선 통신 프로토콜을 사용하여 컴퓨팅 디바이스들(102) 사이에서 송신될 수 있다. 다양한 컴퓨팅 디바이스들(102)은 컴퓨팅 디바이스들(102)이 다양한 레벨들에서 본 명세서에 기술된 기법들을 구현할 수 있게 하는 하드웨어/소프트웨어 요소들을 포함할 수 있다는 것이 이해될 것이다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(102)의 공유 관리자(110)는 상이한 컴퓨팅 디바이스들(102)로부터 수신된 요청들 및 서비스 요청들 둘 모두를 발행하기 위해 무선 통신 컴포넌트들과 통신할 수 있다. 일부 실시예들에 따르면, 무선 통신 컴포넌트들은 컴퓨팅 디바이스들(102)이 서로 통신하기 위한 근접 요건을 확립하기 위해 만족될 필요한 신호 강도 임계치를 특정할 수 있다. 예를 들어, 필요한 신호 강도 임계치는 고정된 및/또는 조정가능한 수신 신호 강도 표시(RSSI) 레벨과 연관될 수 있다. 요청의 신호 강도가 RSSI 레벨을 만족한다고 결정하는 것에 응답하여, 무선 통신 컴포넌트들은 상이한 컴퓨팅 디바이스(102)로부터 요청이 수신되는 것을 공유 관리자(110)에 나타낼 수 있다. 요청의 신호 강도를 모니터링함으로써, 컴퓨팅 디바이스(102)는 RSSI 레벨을 만족하는 컴퓨팅 디바이스(102)에서 관련 통지들을 제시하는 데 향상된 입도를 제공할 수 있다. 이는, 컴퓨팅 디바이스(102) 근처에 있지 않은 다른 컴퓨팅 디바이스들(102)이 원하지 않거나 무관한 요청들로 사용자들에게 부담을 주는 것을 유익하게 방지한다. 따라서, 본 명세서에 기술된 기법들은 전반적인 사용자 경험을 증가시키기 위해 보안 및 프라이버시의 추가적인 계층을 제공할 수 있다. 따라서, 도 1은 본 명세서에 기술된 실시예들이 적절히 구현될 수 있게 하기 위해 컴퓨팅 디바이스들(102)에 포함될 수 있는 상이한 컴포넌트들/엔티티들의 개요를 기재한다.
도 2a 및 도 2b는 일부 실시예들에 따른, 무선 네트워크(130)에 액세스하기 위한 요청을 서비스하는 컴퓨팅 디바이스(102-1)의 개념도들을 예시한다. 구체적으로, 도 2a는, 본 명세서에 전술된 바와 같이, 컴퓨팅 디바이스(102-1)에 의해 저장되는 사용자 정보(120)의 활용을 통해 상이한 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하도록 요청하는 예시적인 시나리오의 개념도(202)를 예시한다. 이러한 시나리오에서, 컴퓨팅 디바이스(102-1)는 (상이한 컴퓨팅 디바이스(102-2)가 액세스하려고 하는) 무선 네트워크(130)에 통신가능하게 결합된다.
일부 실시예들에 따르면, 도 2a의 개념도에 예시된 단계들(210, 220, 230, 240)에는 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)를 저장하는 것이 선행할 수 있다. 예를 들어, 이들 2개의 컴퓨팅 디바이스들(102) 사이에 통신을 확립하는 것(예컨대, 텍스트 메시지를 전송하는 것, 이메일을 전송하는 것 등)의 일부로서, 컴퓨팅 디바이스들(102-1, 102-2) 각각은 사용자 정보(120)를 다른 것에 제공할 수 있다. 이어서, 컴퓨팅 디바이스들(102-1, 102-2) 각각은 사용자 정보(120)를 저장하고, 사용자 정보(120)의 적어도 서브세트(예컨대, 퍼스트 네임, 사진 등)에 기초하는 연락처 카드를 그의 연락처들(122) 내에 확립할 수 있다.
추가적으로, 상이한 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)를 저장하는 것에 후속하여, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)에 저장된 사용자 정보(120)에 대한 고유 해시 값을 생성할 수 있다. 특히, 컴퓨팅 디바이스(102-1)는 (상이한 컴퓨팅 디바이스(102-2)가 또한 액세스를 갖는) 해시 알고리즘을 활용하여 사용자 정보(120)에 대한 고유 해시 값을 생성할 수 있다. 이어서, 컴퓨팅 디바이스(102-1)는 고유 해시 값과 사용자 정보(120) 사이의 상관관계를 기록할 수 있다. 예를 들어, 고유 해시 값을 사용자 정보(120)에 상관시킨 후에, 컴퓨팅 디바이스(102-1)는 상관된 고유 해시 값과 사용자 정보(120) 사이에 인덱스를 제공하기 위해 해시 테이블을 확립할 수 있다. 일부 예들에 따르면, 컴퓨팅 디바이스(102)와 연관된 사용자 정보(120)가 정적 상태(즉, 변경되지 않은 상태)를 유지하는 한, 사용자 정보(120)에 대한 고유 해시 값이 또한 고정되어 유지된다. 그러나, 다른 예들에서, 사용자 정보(120)에 대한 고유 해시 값은 또한 연속적으로 회전(즉, 변경)할 수 있다.
추가적으로, 컴퓨팅 디바이스(102-1)는 데이터 캐시를 확립하기 위해 해시 테이블을 활용할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102-2)로부터 해싱된 메시지를 수신하는 경우, 컴퓨팅 디바이스(102-1)는 (저장된 사용자 정보(120) 각각에 대한 고유 해시 값들을 재컴퓨팅하는 대신에) 데이터 캐시에 액세스하여, 알려진 컴퓨팅 디바이스(102)(예컨대, 친구, 친척, 동료 등)에 의해 제공되는 것으로 해싱된 메시지를 식별할 수 있다. 특히, 및 유익하게는, 데이터 캐시는 컴퓨팅 디바이스(102-1)가 해싱된 메시지를 제공하는 상이한 컴퓨팅 디바이스(102-2)를 식별하는 프로세싱 속도를 상당히 증가시킬 수 있다.
도 2a에 예시된 바와 같이, 제1 단계(210)는 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102-2)로부터 페이로드(242)를 포함하는 해싱된 메시지(284)를 수신하는 것을 수반할 수 있다. 도 2a에 예시되지 않았지만, 다른(예컨대, 근처의) 컴퓨팅 디바이스들(102)은 또한 상이한 컴퓨팅 디바이스(102-2)로부터 해싱된 메시지(284)를 수신하도록 구성될 수 있다는 것에 유의한다. 일례에서, 컴퓨팅 디바이스들(102)의 무선 컴포넌트들은 컴퓨팅 디바이스(102)가 해싱된 메시지(284)를 프로세싱하기 위해 만족되도록 요구되는 RSSI 레벨을 특정할 수 있다.
일부 실시예들에 따르면, 페이로드(242)는 상이한 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)를 포함할 수 있다. 본 명세서에서 앞서 기술된 바와 같이, 컴퓨팅 디바이스(102-1) 및 상이한 컴퓨팅 디바이스(102-2)는 동일한 해싱 알고리즘에 액세스한다. 따라서, 상이한 컴퓨팅 디바이스(102-2)는 사용자 정보(120)의 고유 해시 값을 생성하기 위해 해싱 알고리즘을 활용할 수 있다. 일부 예들에서, 해싱 알고리즘은 짧은 해시들(예컨대, 2개의 문자들 등)을 활용한다. 이어서, 컴퓨팅 디바이스(102-1)는 본 명세서에 더 상세히 기술되는 바와 같이, 상이한 컴퓨팅 디바이스(102-2)의 사용자 정보(120)를 식별하기 위해 동일한 해싱 알고리즘을 활용하도록 구성될 수 있다.
일부 실시예들에 따르면, 페이로드(242)는 상이한 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하려고 하고 있다는 표시를 추가로 포함할 수 있다. 특히, 상이한 컴퓨팅 디바이스(102-2)는 (1) 특정 무선 네트워크(130), 또는 (2) 이용가능할 수 있는 임의의 무선 네트워크(130)(예컨대, 컴퓨팅 디바이스(102-1)에 의해 추천되는 무선 네트워크(130))에 액세스하려고 할 수 있다. 상이한 컴퓨팅 디바이스(102-2)가 특정 무선 네트워크(130)에 액세스하려고 할 때, 페이로드(242)는 특정 무선 네트워크(130)와 연관된 고유 무선 네트워크 식별자(254)(예를 들어, SSID 등)를 특정할 수 있다. 대안적으로, 상이한 컴퓨팅 디바이스(102-2)가 임의의 무선 네트워크(130)에 액세스하려고 할 때, 고유 무선 네트워크 식별자(254)는 무선 네트워크(130)에 대한 추천이 요청되고 있음을 나타내기 위해 특정 값, 예컨대 널 값을 취할 수 있다.
페이로드(242)가 특정 무선 네트워크(130)와 연관된 고유 무선 네트워크 식별자(254)를 특정하는 경우에, 상이한 컴퓨팅 디바이스(102-2)는 (컴퓨팅 디바이스(102-1)가 액세스한) 동일한 해싱 알고리즘을 활용하여, 페이로드(242)에 포함될 고유 무선 네트워크 식별자(254)에 대한 고유 해시 값을 생성할 수 있다. 특히, 컴퓨팅 디바이스(102-1)가 특정 무선 네트워크(130)에 액세스해야 하면, 본 명세서에서 더 상세히 설명되는 바와 같이, 컴퓨팅 디바이스(102-1)는 (상이한 컴퓨팅 디바이스(102-2)에 의해 제공되는) SSID에 대한 고유 해시 값이 SSID에 대한 고유 해시 값(무선 네트워크 정보(128)에 저장된 특정 무선 네트워크(130)와 연관됨)에 대응한다는 것을 검증하도록 구성될 수 있다.
일부 예들에 따르면, 사용자 정보(120) 및 고유 무선 네트워크 식별자(254) 각각은 상이한 컴퓨팅 디바이스(102-2)에 의해 개별적으로 해싱될 수 있다. 일부 예들에서, 사용자 정보(120) 및 고유 무선 네트워크 식별자(254)는 단일 해싱된 메시지로 제공되거나 별개의 해싱된 메시지들에 제공될 수 있다.
도 2a에 예시된 바와 같이, 제2 단계(220)는, 이들 2개의 컴퓨팅 디바이스들(102-1, 102-2) 사이에 기존의 관계가 존재함을 식별하는 것에 응답하여, 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102-2)와 보안 통신 링크(224)(예컨대, TLS(Transport Layer Security) 프로토콜)을 확립하는 것을 수반할 수 있다. 기존의 관계가 존재하는지 여부를 식별하기 위한 프로세스와 관련하여, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)에 저장된 사용자 정보(120)에 대한 고유 해시 값에 대응하는 사용자 정보(120)에 대한 고유 해시 값(페이로드(242)에 포함됨)을 (예컨대, 해시 테이블, 데이터 캐시 등을 통해) 비교할 수 있다. 고유 해시 값들이 서로 대응한다고 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-1)는 고유 해시 값을 알려진 컴퓨팅 디바이스(102)의 사용자 정보(120)에 상관시킬 수 있다. 따라서, 컴퓨팅 디바이스(102-1)는 알려진 컴퓨팅 디바이스(102)의 아이덴티티를 결정할 수 있다.
보안 통신 링크(224)를 확립하는 것으로 다시 돌아가면, 컴퓨팅 디바이스(102-1)는 보안 통신 링크(224)를 확립하는 것과 관련하여 상이한 컴퓨팅 디바이스(102-2)와 대칭 키를 공유할 수 있다. 이어서, 대칭 키는 보안 통신 링크(224)를 통해 이들 2개의 컴퓨팅 디바이스들(102-1, 102-2) 사이에서 송신된 메시지들을 암호화/복호화하는 데 활용될 수 있다.
도 2a에 예시된 바와 같이, 제3 단계(230)는 컴퓨팅 디바이스(102-1)가 무선 네트워크(130)와 연관된 인증 크리덴셜들(136)을 상이한 컴퓨팅 디바이스(102-2)에 제공하는 것을 수반할 수 있다. 일부 실시예들에 따르면, 컴퓨팅 디바이스(102-1)는 상이한 컴퓨팅 디바이스(102-2)가 (1) 특정 무선 네트워크(130), 또는 (2) 이용가능할 수 있는 임의의 무선 네트워크(130)에 액세스하려고 하는지 여부를 결정하기 위해 고유 무선 네트워크 식별자(254)를 추출할 수 있다. 특히, 상이한 컴퓨팅 디바이스(102-2)에 의해 요청된 특정 무선 네트워크(130)와 연관된 SSID를 식별하는 것은, 인증 크리덴셜들(136)에 저장된 SSID와 페이로드(242)에 포함된 고유 무선 네트워크 식별자(254)(예컨대, SSID)에 대한 해시 값 비교를 수행하는 것을 포함할 수 있다. 요청된 SSID를 식별하는 것에 후속하여, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)의 사용자에게 통지를 (표시에 따라) 제시할 수 있다. 예를 들어, 고유 무선 네트워크 식별자(254)가 특정 무선 네트워크(130)를 나타낼 때, 통지는 특정 무선 네트워크(130)에 대한 액세스를 상이한 컴퓨팅 디바이스(102-2)에 허가하도록 사용자에게 요청할 수 있다. 다른 예에서, 고유 무선 네트워크 식별자(254)가 특정 무선 네트워크(130)를 나타내지 않을 때, 통지는 컴퓨팅 디바이스(102-2)가 접속해야 하는 이용가능한 무선 네트워크들(130)로부터 선택하도록 사용자에게 요청할 수 있다. 어느 경우든, 무선 네트워크(130)에 대한 액세스를 상이한 컴퓨팅 디바이스(102-2)에 허가하기 위한 사용자로부터의 승인을 수신하는 것에 응답하여, 컴퓨팅 디바이스(102-1)는 (그 각자의 무선 네트워크 정보(128) 내의) 무선 네트워크(130)에 대한 인증 크리덴셜들(136)에 액세스할 수 있고, 페이로드(244)에서 상이한 컴퓨팅 디바이스(102-2)에 인증 크리덴셜들(136)을 제공할 수 있다.
일부 실시예들에 따르면, 보안 통신 링크(224)를 확립하는 것에 후속하여, 그러나 페이로드(244)에서 인증 크리덴셜들(136)을 제공하기 전에, 상이한 컴퓨팅 디바이스(102-2)는, 알려지지 않은 컴퓨팅 디바이스가 더 짧은 해시 값보다 제조하기가 더 어려울 수 있는 컴퓨팅 디바이스(102-1)에 대한 그의 사용자 정보(120)의 더 큰 해시 값(예컨대, 32개의 문자들)을 제공할 수 있다. 유익하게는, 이러한 방식으로, 상이한 컴퓨팅 디바이스(102-2)가 그의 사용자 정보(120)의 더 큰 해시 값을 제공할 것을 요구함으로써, 컴퓨팅 디바이스(102-1)는 상이한 컴퓨팅 디바이스(102-2)가 컴퓨팅 디바이스(102-1)에 실제로 알려지거나 인식가능한 것을 보장할 수 있다. 대조적으로, 페이로드(242)에 포함된 더 짧은 해시 값을 사용하여 해싱된 사용자 정보(120)는 상이한 컴퓨팅 디바이스(102-2)가 해싱된 메시지(284)를 더 신속하게 프로세싱할 수 있게 하는 데 선호적일 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(102-1)는 이들 2개의 컴퓨팅 디바이스들(102-1, 102-2) 사이에서 공유되는 대칭 키를 사용하여 암호화된 메시지(292)를 확립할 수 있다. 특히, 암호화된 메시지(292)는 페이로드(244)를 포함할 수 있다. 일부 예들에서, 페이로드(244)는 또한 컴퓨팅 디바이스(102-1)가 액세스한 특정 무선 네트워크(130)에 상이한 컴퓨팅 디바이스(102-2)가 액세스할 수 있게 할 때 용이할 수 있는 추가 정보(138)를 포함할 수 있다. 예를 들어, 추가 정보(138)는 컴퓨팅 디바이스(102-1)가 액세스한 특정 무선 채널을 나타낼 수 있다. 이어서, 상이한 컴퓨팅 디바이스(102-2)는 대칭 키를 사용하여 암호화된 메시지(292)를 복호화함으로써 인증 크리덴셜들(136)을 획득할 수 있다.
도 2a의 단계(240)에 예시된 바와 같이, 상이한 컴퓨팅 디바이스(102-2)는 특정 무선 네트워크(130)에 액세스하기 위해 인증 크리덴셜들(136)을 활용할 수 있다.
구체적으로, 도 2b는, 본 명세서에 전술된 바와 같이, 컴퓨팅 디바이스(102-1)와 상이한 컴퓨팅 디바이스(102-2) 사이에 공유되는 디바이스 키(124)의 활용을 통해 상이한 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하도록 요청하는 예시적인 시나리오의 개념도(204)를 예시한다. 이러한 시나리오에서, 컴퓨팅 디바이스(102-1)는 (상이한 컴퓨팅 디바이스(102-2)가 액세스하려고 하는) 무선 네트워크(130)에 통신가능하게 결합된다.
일부 실시예들에 따르면, 개념도(204)에 예시된 단계들(260, 270, 280, 290)에는, 보안 방식으로 추후에 2개의 컴퓨팅 디바이스들(102)이 서로 식별할 수 있게 하기 위해 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102-2)와 연관된 디바이스 키(124)에 대한 액세스를 수신하는 것이 선행할 수 있다. 특히, 컴퓨팅 디바이스들(102-1, 102-2)은 그들 각자의 디바이스 키들(124)의 양방향 상관관계를 확립할 수 있다. 일례에서, 초기 페어링 프로세스(예컨대, 블루투스 등)와 관련하여, 컴퓨팅 디바이스들(102-1, 102-2) 각각은 (1) 각자의 ID(123), 및 (2) 각자의 디바이스 키(124)(예컨대, 암호화 키)를 다른 것에 제공할 수 있다. 다른 예에서, 컴퓨팅 디바이스들(102-1, 102-2) 각각은 서로의 사이에 확립된 이전 통신(예를 들어, 이메일 메시지, 전화 통화 등)을 갖는 것과 관련하여 각자의 디바이스 키(124)를 다른 것에 제공할 수 있다. 특히, 클라우드 저장 시스템은 각자의 디바이스 키(124)에 대한 액세스를 각각의 다른 디바이스에 제공하기 위해 활용될 수 있다. 이어서, 컴퓨팅 디바이스들(102-1, 102-2) 각각은 각자의 디바이스 키(124)와 각자의 디바이스 ID(123) 사이의 상관관계를 기록할 수 있다. 이러한 방식으로, 그리고 본 명세서에 더 상세히 기술되는 바와 같이, 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102-2)로부터 암호화된 메시지(디바이스 ID(123)를 포함함)를 수신할 때, 컴퓨팅 디바이스(102-1)는 암호화된 메시지를 복호화하기 위한 디바이스 키(124)를 식별할 수 있다. 이어서, 컴퓨팅 디바이스(102-1)는 디바이스 키(124)를 디바이스 ID(123)에 상관시켜, 컴퓨팅 디바이스(102-1)가 보안 방식으로 상이한 컴퓨팅 디바이스(102-2)를 식별할 수 있게 할 수 있다. 추가적으로, 각자의 디바이스 키(124)와 각자의 디바이스 ID(123) 사이의 상관관계는 또한 단일 방향일 수 있다. 예를 들어, 컴퓨팅 디바이스(102-1)가 각자의 ID(123) 및 상이한 컴퓨팅 디바이스(102-2)와 연관된 각자의 디바이스 키(124)를 수신할 때, 컴퓨팅 디바이스(102-1)는 이러한 상관관계를 기록할 수 있지만, 그것은 각자의 ID(123) 및 각자의 디바이스 키(124)를 상이한 컴퓨팅 디바이스(102-2)에 제공하지 않는다. 유익하게는, 이는, 그 후 특정 무선 네트워크(130)에 대한 액세스를 상이한 컴퓨팅 디바이스(102-2)에 허가하는 컴퓨팅 디바이스(102-1)에 대한 추가적인 프라이버시 계층을 부여한다. 추가적으로, 추가적인 프라이버시 계층은, 이들 컴퓨팅 디바이스들(102-1, 102-2)이 그들 각자의 디바이스 키들(124)을 회전시킬 수 있게 함으로써, 그들의 각자의 디바이스 키들(124)이 그들 각자의 디바이스 ID(123)에 고정되지 않도록 함으로써 부여될 수 있다. 이러한 방식으로, 미리결정된 기간 동안 서로 통신(예컨대, 이메일, 텍스트 메시지, 전화 통화 등)을 유지하지 않은 컴퓨팅 디바이스들(102)의 사용자들은 각자의 컴퓨팅 디바이스(102)와 연관된 대부분의 현재 디바이스 키(124)를 소유하지 않을 수 있다.
도 2b에 예시된 바와 같이, 제1 단계(260)는 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102-2)로부터 페이로드(262)를 포함하는 암호화된 메시지(294)를 수신하는 것을 수반할 수 있다. 일부 실시예들에 따르면, 암호화된 메시지(294)는 상이한 컴퓨팅 디바이스(102-2)에 액세스가능한 디바이스 키(124)(예컨대, 암호화 키)를 사용하여 확립될 수 있다. 특히, 페이로드(262)는 상이한 컴퓨팅 디바이스(102-2)와 연관된 디바이스 ID(123)를 포함할 수 있다. 일부 예들에서, 디바이스 ID(123)는 상이한 컴퓨팅 디바이스(102-2)가 연관되는 다른 컴퓨팅 디바이스들(102)에 통지하기 위해 주기적으로 업데이트될 수 있다. 예를 들어, 상이한 컴퓨팅 디바이스(102-2)는 디바이스 ID(123)를 업데이트하고(예컨대, 디바이스 ID(123)에 대한 값을 랜덤하게 생성함), 업데이트된 디바이스 ID(123)를, 상이한 컴퓨팅 디바이스(102-2) 및 다른 컴퓨팅 디바이스들(102)이 통신가능하게 결합되는 클라우드 서비스에 제공할 수 있다. 이어서, 클라우드 서비스는 업데이트된 디바이스 ID(123)를 다른 컴퓨팅 디바이스들(102)에 분배할 수 있다. 이러한 접근법을 사용하여, 다른 컴퓨팅 디바이스들(102)은 업데이트된 디바이스 ID(123)(및 디바이스 키(124))를 활용함으로써 상이한 컴퓨팅 디바이스(102-2)를 식별할 수 있는 상태로 유지될 수 있다. 이러한 방식으로, 디바이스 ID(123)가 업데이트될 때 디바이스 ID(123)를 소유하고 있는 악성/관련되지 않은 컴퓨팅 디바이스들(102)이 상이한 컴퓨팅 디바이스(102-2)를 식별할 수 없을 것이기 때문에(그리고 아마도 악의적인 컴퓨팅 디바이스들(102)에 제공되지 않음) 전반적인 보안이 향상될 수 있다.
일부 실시예들에 따르면, 페이로드(262)는 특정 무선 네트워크(130)와 연관된 고유 무선 네트워크 식별자(254)(예컨대, SSID 등)를 추가로 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(102-2)가 특정 무선 네트워크(130)에 액세스하려고 할 때, 페이로드(262)는 특정 무선 네트워크(130)와 연관된 고유 무선 네트워크 식별자(254)(예를 들어, SSID)를 나타낼 수 있다. 대안적으로, 상이한 컴퓨팅 디바이스(102-2)가 임의의 무선 네트워크(130)에 액세스하려고 할 때, 고유 무선 네트워크 식별자(254)는 무선 네트워크(130)에 대한 추천이 요청되고 있음을 나타내기 위해 특정 값, 예컨대 널 값을 취할 수 있다. 일부 실시예들에 따르면, 사용자 정보(120) 및 고유 무선 네트워크 식별자(254) 각각은 단일 암호화된 메시지에서 송신되거나 별개의 암호화된 메시지들에서 전송될 수 있다.
도 2b에 예시된 바와 같이, 제2 단계(270)는, 컴퓨팅 디바이스(102-1)가 상이한 컴퓨팅 디바이스(102-2)와 보안 통신 링크(272)(예컨대, TLS(Transport Layer Security) 프로토콜)을 확립하는 것을 수반할 수 있다. 보안 통신 링크(272)를 확립할 때, 컴퓨팅 디바이스(102-1)는 보안 통신 링크(272)에 대한 보안 세션을 확립하는 것과 관련하여 상이한 컴퓨팅 디바이스(102-2)와 대칭 키를 공유할 수 있다. 일부 실시예들에 따르면, 보안 통신 링크(272)는 이들 2개의 컴퓨팅 디바이스들(102-1, 102-2) 사이에 기존의 관계가 존재함을 식별하는 것에 후속하여 확립될 수 있다. 기존의 관계가 존재하는지 여부를 식별하기 위한 프로세스와 관련하여, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)에 알려진(즉, 이전에 저장된) 상이한 디바이스 키들(124)을 사용하여 암호화된 메시지(294)의 콘텐츠를 복호화하려고 시도할 수 있다. 컴퓨팅 디바이스(102-1)가 암호화된 메시지(294)를 복호화하기 위한 디바이스 키(124)를 성공적으로 식별할 때, 컴퓨팅 디바이스(102-1)는 디바이스 ID(123)를 식별할 수 있고, 상이한 컴퓨팅 디바이스(102-2)에 관한 상세사항들을 (예컨대, 디바이스 ID(123)에 기초하여) 효과적으로 식별할 수 있다.
도 2b에 예시된 바와 같이, 제3 단계(280)는 컴퓨팅 디바이스(102-1)가 무선 네트워크(130)와 연관된 인증 크리덴셜들(136)을 상이한 컴퓨팅 디바이스(102-2)에 제공하는 것을 수반할 수 있다. 암호화된 메시지(294)를 복호화하는 것에 후속하여, 컴퓨팅 디바이스(102-1)는 상이한 컴퓨팅 디바이스(102-2)가 (1) 특정 무선 네트워크(130), 또는 (2) 이용가능할 수 있는 임의의 무선 네트워크(130)에 액세스하려고 함을 나타내는지 여부를 결정하기 위해 고유 무선 네트워크 식별자(254)를 추출할 수 있다. 이어서, 컴퓨팅 디바이스(102-1)의 공유 관리자(110)는 컴퓨팅 디바이스(102-1)의 사용자에게 통지를 (표시에 따라) 제시할 수 있다. 예를 들어, 고유 무선 네트워크 식별자(254)가 특정 무선 네트워크(130)를 나타낼 때, 통지는 특정 무선 네트워크(130)에 대한 액세스를 상이한 컴퓨팅 디바이스(102-2)에 허가하도록 사용자에게 요청할 수 있다. 다른 예에서, 고유 무선 네트워크 식별자(254)가 특정 무선 네트워크(130)를 나타내지 않을 때, 통지는 컴퓨팅 디바이스(102-2)가 접속해야 하는 이용가능한 무선 네트워크들(130)로부터 선택하도록 사용자에게 요청할 수 있다.
어느 경우든, 무선 네트워크(130)에 대한 액세스를 상이한 컴퓨팅 디바이스(102-2)에 허가하기 위한 사용자로부터의 승인을 수신하는 것에 응답하여, 컴퓨팅 디바이스(102-1)는 (그 각자의 무선 네트워크 정보(128) 내의) 무선 네트워크(130)에 대한 인증 크리덴셜들(136)에 액세스할 수 있고, 암호화된 메시지(296)에 포함되는 페이로드(264)에서 상이한 컴퓨팅 디바이스(102-2)에 인증 크리덴셜들(136)을 제공할 수 있다. 일부 실시예들에 따르면, 암호화된 메시지(296)는 보안 통신 링크(272)를 확립하는 것과 관련하여 이들 2개의 컴퓨팅 디바이스들(102-1, 102-2) 사이에서 공유되는 대칭 키를 사용하여 확립될 수 있다. 다음으로, 컴퓨팅 디바이스(102-1)는 이들 2개의 컴퓨팅 디바이스들(102-1, 102-2) 사이에서 공유되는 대칭 키를 사용하여 암호화된 메시지(296)를 확립할 수 있다. 이어서, 상이한 컴퓨팅 디바이스(102-2)는 대칭 키를 사용하여 암호화된 메시지(296)를 복호화함으로써 인증 크리덴셜들(136)을 획득할 수 있다.
도 2b의 단계(290)에 예시된 바와 같이, 상이한 컴퓨팅 디바이스(102-2)는 특정 무선 네트워크(130)에 액세스하기 위해 인증 크리덴셜들(136)을 활용할 수 있다.
도 3은 일부 실시예들에 따른, 무선 네트워크에 액세스하기 위해 근처의 컴퓨팅 디바이스에 의해 발행된 요청을 서비스하기 위한 방법(300)을 예시한다. 도 3에 예시된 바와 같이, 방법(300)은 단계(302)에서 시작하며, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스, 예컨대, 근처의 컴퓨팅 디바이스(102-2)로부터 무선 네트워크(130)에 액세스하기 위한 요청을 수신하고, 요청은 근처의 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)를 포함한다. 이는, 예를 들어, 컴퓨팅 디바이스(102-1)가 이들 2개의 컴퓨팅 디바이스들(102) 사이의 통신들의 결과로서 근처의 컴퓨팅 디바이스(102-2)에 대한 사용자 정보(120)를 저장하는 것에 후속하여 발생할 수 있다.
단계(304)에서, 컴퓨팅 디바이스(102-1)는 요청과 연관된 신호 강도가 신호 임계치를 만족하는지 여부를 결정할 수 있다. 본 명세서에 이전에 기술된 바와 같이, 컴퓨팅 디바이스(102-1)의 공유 관리자(110)는 무선 통신 컴포넌트들과 인터페이싱하여 요청의 신호 강도가 요청을 프로세싱하기 위해 필요한 RSSI 레벨을 만족하는지 여부를 결정할 수 있다. 요청과 연관된 신호 강도가 신호 임계치를 만족하지 않는다고 컴퓨팅 디바이스(102-1)가 결정하는 경우, 컴퓨팅 디바이스(102-1)는 단계(306)에 의해 나타낸 바와 같이, 요청과 연관된 임의의 통지가 컴퓨팅 디바이스(102-1)의 사용자에게 제시되는 것을 방지할 수 있다. 이는 유익하게도 컴퓨팅 디바이스(102-1)의 사용자가 알려지지 않은/무관한 컴퓨팅 디바이스들(102)에 의해 귀찮게 되는 것을 방지할 수 있다.
대안적으로, 요청의 신호 강도가 필요한 RSSI 레벨을 만족한다고 컴퓨팅 디바이스(102-1)가 결정하는 것에 응답하여, 컴퓨팅 디바이스(102)는 단계(308)에 의해 나타낸 바와 같이, 요청에 포함된 사용자 정보(120)가 컴퓨팅 디바이스(102-1)에 의해 인식되는지 여부를 결정할 수 있다. 특히, 컴퓨팅 디바이스(102-1)는 요청에 포함된 사용자 정보(120)를 컴퓨팅 디바이스(102-1)에 의해 관리되는 연락처들(122)과 비교함으로써, 근처의 컴퓨팅 디바이스(102-2)와 기존의 관계가 존재하는지 여부를 식별할 수 있다. 사용자 정보(120)가 연락처들(122) 내에 포함되지 않는다고 결정할 때, 컴퓨팅 디바이스(102-1)는 단계(306)에 의해 나타낸 바와 같이, 요청과 연관된 임의의 통지가 컴퓨팅 디바이스(102-1)의 사용자에게 제시되는 것을 방지할 수 있다.
그렇지 않으면, 사용자 정보(120)가 그의 연락처들(122)에 포함된다고 컴퓨팅 디바이스(102-1)가 결정할 때, 컴퓨팅 디바이스(102-1)는, 단계(310)에서, 요청이 근처의 컴퓨팅 디바이스(102-2)가 액세스하려고 하는 특정 무선 네트워크(130)를 나타내는지 여부를 결정할 수 있다. 도 2a 및 도 2b를 참조하여 앞서 전술된 바와 같이, 근처의 컴퓨팅 디바이스(102)는 예를 들어 특정 무선 네트워크(130)에 대한 SSID를 사용하여 특정 무선 네트워크(130)를 특정할 수 있다. 단계(312)에서, 요청이 특정 무선 네트워크(130)를 나타낸다고 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)의 사용자가 특정 무선 네트워크(130)에 대한 액세스를 근처의 컴퓨팅 디바이스(102-2)에 허가하는 것을 승인하는지 여부에 관해 질의하는 통지를 제시할 수 있다. 일례에서, 사용자에게 제시되는 통지는 근처의 컴퓨팅 디바이스(102-2)에 대한 사용자 정보(120)의 적어도 서브세트에 기초하는 연락처 카드를 포함할 수 있다. 이러한 방식으로, 통지는, 근처의 컴퓨팅 디바이스(102-2)(및 아마도 그것을 동작시키고 있는 사용자)의 아이덴티티를 사용자에게 통지하기 위해, 예를 들어, 퍼스트 네임, 사진 등을 포함할 수 있다.
단계(314)에서, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 특정 무선 네트워크(130)에 액세스할 수 있게 하기 위해 사용자로부터 승인을 수신할 수 있다. 이어서, 컴퓨팅 디바이스(102-1)는, 특정 무선 네트워크(130)와 연관된 인증 크리덴셜들(136)(예컨대, 패스워드, 패스코드 등)을 제공할 수 있고, 이는, 단계(316)에 의해 나타낸 바와 같이, 특정 무선 네트워크(130)를 인증하고 그에 대한 액세스를 획득하기 위해 근처의 컴퓨팅 디바이스(102-2)에 의해 사용될 수 있다.
이제 다시 단계(310)로 돌아가면, 특정 무선 네트워크(130)가 근처의 컴퓨팅 디바이스(102-2)에 의해 표시되지 않는 경우, 컴퓨팅 디바이스(102-1)는 단계(318)에 의해 나타낸 바와 같이, 예를 들어, (컴퓨팅 디바이스(102-1)가 현재 접속된) 활성 무선 네트워크(134) 또는 액세스되도록 이용가능한 대안적 무선 네트워크(130) 등에 액세스하도록 하는 제안을 근처의 컴퓨팅 디바이스(102-2)에 제공할 수 있다. 단계(320)에서, 컴퓨팅 디바이스(102-1)는, 근처의 컴퓨팅 디바이스(102-2)로부터 수락을 수신하는 것에 응답하여, 제안된 무선 네트워크(130)와 연관된 인증 크리덴셜들(136)을 제공할 수 있다. 이어서, 단계(316)에서, 근처의 컴퓨팅 디바이스(102-2)는 인증 크리덴셜들(136)을 활용하여 제안된 무선 네트워크(130)에 대해 인증하고 그에 대한 액세스를 획득할 수 있다. 이어서, 방법(300)은 도 8의 방법(800)으로 진행할 수 있으며, 이는 아래에서 더 상세히 설명된다.
도 4는 일부 실시예들에 따른, 컴퓨팅 디바이스가 무선 네트워크에 액세스하기 위한 요청을 근처의 컴퓨팅 디바이스에 발행할 수 있게 하기 위한 방법(400)을 예시한다. 도 4에 예시된 바와 같이, 방법(400)은 단계(402)에서 시작하며, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-2)는 무선 네트워크(130)에의 액세스를 확립하기 위해 컴퓨팅 디바이스(102-2)의 디스플레이에 통지를 제시한다. 이것은, 예를 들어, 컴퓨팅 디바이스(102-2)의 사용자가 무선 네트워크(130)에 액세스하려고 시도하지만, 무선 네트워크(130)에 액세스하기 위한 인증 크리덴셜들(136)이 부족할 때 발생할 수 있다. 통지는 또한 컴퓨팅 디바이스(102-2)가 배치되는 현재 위치에서 이용가능한 다른 무선 네트워크들(130)의 목록을 포함할 수 있다. 단계(404)에서, 컴퓨팅 디바이스(102-2)는 특정 무선 네트워크(130)의 (예컨대, 사용자에 의한) 선택이 수신되는지 여부를 결정할 수 있다. 특정 무선 네트워크(130)의 선택이 수신된다고 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-2)는 단계(406)에 의해 나타낸 바와 같이, 적어도 하나의 근처의 컴퓨팅 디바이스(102), 예컨대, 근처의 컴퓨팅 디바이스(102-1)에, (1) 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120), 및 (2) 특정 무선 네트워크(130)에 액세스하기 위한 표시를 포함하는 요청을 발행할 수 있다.
근처의 컴퓨팅 디바이스(102-1)가 요청을 수신할 때, 근처의 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)를 컴퓨팅 디바이스(102-2)에 의해 관리되는 연락처들(122)과 비교하여, 이들 2개의 컴퓨팅 디바이스들(102-1, 102-2) 사이에 기존 관계가 존재하는지 여부를 식별할 수 있다. 이어서, 근처의 컴퓨팅 디바이스(102-1)는 특정 무선 네트워크(130)에 대한 액세스를 컴퓨팅 디바이스(102-2)에 허가하기 위해 근처의 컴퓨팅 디바이스(102-1)의 사용자에 의한 승인을 수신할 수 있다. 단계(418)에 의해 나타낸 바와 같이, 컴퓨팅 디바이스(102-2)는 특정 무선 네트워크(130)와 연관된 패스워드를 (예컨대, 인증 크리덴셜들(136)을 통해) 수신하여 컴퓨팅 디바이스(102-2)가 특정 무선 네트워크(130)에 액세스할 수 있게 할 수 있다.
이제 단계(404)를 다시 참조하면, 특정 무선 네트워크의 선택이 수신되지 않을 때, 방법(400)은 단계(408)로 진행할 수 있는데, 이는 컴퓨팅 디바이스(102-2)에 인식가능한 근처의 컴퓨팅 디바이스들(102)을 식별하는 것을 수반한다. 예를 들어, 컴퓨팅 디바이스(102-2)는 근처의 컴퓨팅 디바이스들(102)과 연관된 각자의 사용자 정보(120)를 그의 연락처들(122)에 비교할 수 있다. 이어서, 컴퓨팅 디바이스(102-2)에 의해 인식되는 근처의 컴퓨팅 디바이스들(102)은 컴퓨팅 디바이스(102-2)의 디스플레이에서 제시될 수 있다. 이어서, 컴퓨팅 디바이스(102-2)는 사용자가 인식된 근처의 컴퓨팅 디바이스들(102) 중 하나를 선택하는 것을 기다릴 수 있다.
다음으로, 단계(410)에서, 컴퓨팅 디바이스(102-2)는 무선 네트워크(130)에 액세스하기 위해 컴퓨팅 디바이스(102-2)에 의해 발행된 요청을 잠재적으로 서비스할 수 있는 근처의 컴퓨팅 디바이스(102), 예컨대, 근처의 컴퓨팅 디바이스(102-3)의 선택을 수신할 수 있다. 단계(412)에서, 컴퓨팅 디바이스(102-2)는 무선 네트워크(130)에 액세스하기 위한 요청을 근처의 컴퓨팅 디바이스(102-3)에 전송할 수 있다. 요청은 (1) 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120), 및 (2) (근처의 컴퓨팅 디바이스(102-3)가 액세스한) 임의의 이용가능한 무선 네트워크(130)에 액세스하려는 요구의 표시를 포함할 수 있다. 이어서, 근처의 컴퓨팅 디바이스(102-3)는 컴퓨팅 디바이스(102-2)에 제안된 무선 네트워크(130)를 나타낼 수 있다. 단계(414)에서, 컴퓨팅 디바이스(102-2)는, 근처의 컴퓨팅 디바이스(102-3)로부터, 제안된 무선 네트워크(130)를 수락하기 위한 질의를 수신할 수 있다. 이어서, 단계(416)에서, 컴퓨팅 디바이스(102-2)는 제안된 무선 네트워크에 액세스하기 위해 근처의 컴퓨팅 디바이스(102-3)에 승인을 전송함으로써 질의를 수락할 수 있다. 마지막으로, 단계(418)에서, 컴퓨팅 디바이스(102-2)는 제안된 무선 네트워크(130)와 연관된 패스워드를 (예컨대, 인증 크리덴셜들(136)을 통해) 수신하여 컴퓨팅 디바이스(102-2)가 제안된 무선 네트워크(130)에 액세스할 수 있게 할 수 있다. 이어서, 방법(400)은 또한 도 8의 방법(800)으로 진행할 수 있으며, 이는 아래에서 더 상세히 설명된다.
도 5는 일부 실시예들에 따른, 추후에 서로를 식별하기 위해 2개의 컴퓨팅 디바이스들 사이에서 디바이스 키를 공유하기 위한 방법(500)을 예시한다. 도 5에 예시된 바와 같이, 방법(500)은 단계(502)에서 시작하며, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-1)는 초기 페어링을 확립하기 위한 요청을 근처의 컴퓨팅 디바이스, 예컨대, 근처의 컴퓨팅 디바이스(102-2)로부터 수신한다. 일부 실시예들에 따르면, 요청은 근처의 컴퓨팅 디바이스(102-2)와 연관된 디바이스 ID(123)를 포함할 수 있다. 이어서, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)의 사용자가 초기 페어링을 확립하는 것을 승인하는지 여부에 관해 질의하기 위한 통지를 컴퓨팅 디바이스(102-1)의 디스플레이에 제시할 수 있다.
단계(504)에서, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)가 근처의 컴퓨팅 디바이스(102-2)와의 초기 페어링을 확립할 수 있게 하기 위해 사용자로부터의 승인을 수신할 수 있다. 이어서, 근처의 컴퓨팅 디바이스(102-2)와 연관된 디바이스 ID(123)는 컴퓨팅 디바이스(102-1)의 페어링된 디바이스 키들(126)에 저장될 수 있다.
단계(506)에서, 초기 페어링을 확립한 후에, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)와 연관된 디바이스 키(124)(예컨대, 암호화 키)를 수신할 수 있다. 일부 예들에서, 근처의 컴퓨팅 디바이스(102-2)는 디바이스 키(124)를 컴퓨팅 디바이스(102-1)에 직접 제공할 수 있다. 일부 예들에서, 근처의 컴퓨팅 디바이스(102-2)는 (컴퓨팅 디바이스(102-1)가 액세스한) 클라우드 네트워킹 저장 시스템에 디바이스 키(124)를 제공할 수 있다. 이어서, 클라우드 네트워킹 저장 시스템은 디바이스 키(124)를 컴퓨팅 디바이스(102-1)에 분배할 수 있다. 일부 예들에서, 컴퓨팅 디바이스들(102-1, 102-2) 각각은 초기 페어링 프로세스의 결과로서 (1) 각자의 ID(123), 및 (2) 각자의 디바이스 키(124)(예컨대, 암호화 키)를 다른 것에 제공할 수 있다.
도 5에 예시되지 않지만, 일부 실시예들에서, 근처의 컴퓨팅 디바이스(102-2)는 그의 디바이스 키(124)를 알려진 컴퓨팅 디바이스들(102-N)에 제공할 수 있으며, 여기서 이들 2개의 컴퓨팅 디바이스들(102) 사이의 초기 페어링이 확립될 수 없다. 특히, 근처의 컴퓨팅 디바이스(102-2)는 그의 (1) 디바이스 ID(123) 및 (2) 디바이스 키(124)를 알려진 컴퓨팅 디바이스들(102-N)의 임의의 선택에 제공할 수 있다(예컨대, 알려진 컴퓨팅 디바이스들(102-N)과 연관된 각자의 사용자 정보(120)는 근처의 컴퓨팅 디바이스(102-2)의 연락처들(122)에 저장된다). 예를 들어, 근처의 컴퓨팅 디바이스(102-2)의 사용자가 쿠퍼티노에 살고, 사용자의 친구, 예를 들어, 알려진 컴퓨팅 디바이스(102-3)가 도쿄에서 살고, 그의 사용자 정보(120)가 근처의 컴퓨팅 디바이스(102-2)에 저장되어 있는 경우를 고려한다. 가까운 지리적 근접성의 결여로 인해, 이들 2개의 컴퓨팅 디바이스들(102)이 디바이스 키(124)를 공유하기 위한 메커니즘으로서 초기 페어링 프로세스를 활용할 기회가 없을 수 있다. 이러한 예시적인 시나리오를 다루기 위해, 근처의 컴퓨팅 디바이스(102-2)의 사용자는 클라우드 네트워킹 저장 시스템을 사용함으로써 그의 디바이스 키(124)를 알려진 컴퓨팅 디바이스(102-3)(그리고, 근처의 컴퓨팅 디바이스(102-2)에 저장된 사용자 정보(120)를 갖는 알려진 컴퓨팅 디바이스들(102-N)의 임의의 다른 선택)에 분배할 수 있다.
어느 경우든, 단계(508)에서, 컴퓨팅 디바이스(102)는 근처의 컴퓨팅 디바이스(102-2)와 연관된 각자의 디바이스 ID(123)와 각자의 디바이스 키(124) 사이의 상관관계를 기록할 수 있고, 이에 의해, 컴퓨팅 디바이스(102)가 추후에 보안 방식으로 근처의 컴퓨팅 디바이스(102-2)를 식별할 수 있게 한다. 이러한 방식으로, 그리고 본 명세서에 더 상세히 기술되는 바와 같이, 컴퓨팅 디바이스(102)가 근처의 컴퓨팅 디바이스(102-2)로부터 암호화된 메시지를 수신하는 경우, 컴퓨팅 디바이스(102)는 근처의 컴퓨팅 디바이스(102-2)에 관한 상세사항들을 (예를 들어, 디바이스 ID(123)에 기초하여) 식별하기 위해 암호화된 메시지를 복호화하기 위해 디바이스 키(124)를 식별할 수 있다. 이어서, 방법(500)은 또한 도 6의 방법(600) 또는 도 7의 방법(700) 중 어느 하나로 진행할 수 있으며, 이는 아래에서 더 상세히 기술된다.
도 6은 일부 실시예들에 따른, 무선 네트워크에 액세스하기 위해 근처의 컴퓨팅 디바이스에 의해 발행된 요청을 서비스하기 위한 방법(600)을 예시한다. 도 6에 예시된 바와 같이, 방법(600)은 단계(602)에서 시작하는데, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스, 예컨대, 근처의 컴퓨팅 디바이스(102-2)로부터, 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하려고 하고 있다는 표시를 포함하는 암호화된 요청을 수신한다. 이는, 예를 들어, 컴퓨팅 디바이스(102-1)가 (1) 근처의 컴퓨팅 디바이스(102-2)와 연관된 디바이스 ID(123), 및 (2) 근처의 컴퓨팅 디바이스(102-2)와 연관된 디바이스 키(124)를 수신하는 것에 후속하여 발생할 수 있다.
단계(604)에서, 컴퓨팅 디바이스(102-1)는 암호화된 요청을 복호화하기 위해 자신이 근처의 컴퓨팅 디바이스(102-2)와 연관된 디바이스 키(124)에 액세스했는지 여부를 결정할 수 있다. 특히, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)에 알려진(즉, 이전에 저장된) 상이한 디바이스 키들(124)을 사용하여 암호화된 요청의 콘텐츠를 복호화하려고 시도할 수 있다. 컴퓨팅 디바이스(102-1)가 암호화된 요청을 복호화하기 위한 디바이스 키(124)를 식별할 수 없는 경우, 컴퓨팅 디바이스(102-1)는 추가적인 암호화된 요청들에 대한 모니터링을 계속할 수 있다.
단계(606)에서, 암호화된 요청을 복호화하기 위한 디바이스 키(124)를 성공적으로 식별할 때, 컴퓨팅 디바이스(102-1)는 디바이스 키(124)에 대응하는 디바이스 ID(123)를 식별할 수 있고, 근처의 컴퓨팅 디바이스(102-2)에 관한 상세사항들을 (예컨대, 디바이스 ID(123)에 기초하여) 효과적으로 식별할 수 있다.
단계(608)에서, 암호화된 요청을 복호화한 후에, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 액세스하려고 하고 있는 특정 무선 네트워크(130)와 연관된 고유 무선 네트워크 식별자의 표시(암호화된 요청에 포함됨)를 추출할 수 있다. 비록 일부 예들에서, 고유 무선 네트워크 식별자는 특정 무선 네트워크(130)를 나타내지 않는다. 어느 경우든, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)의 사용자에게 통지를 (표시에 따라) 디스플레이할 수 있다. 예를 들어, 고유 무선 네트워크 식별자가 특정 무선 네트워크(130)를 나타낼 때, 통지는 사용자가 특정 무선 네트워크(130)에 대한 액세스를 근처의 컴퓨팅 디바이스(102-2)에 허가하도록 요청할 수 있다. 대안적으로, 고유 무선 네트워크 식별자가 특정 무선 네트워크(130)를 나타내지 않을 때, 통지는 근처의 컴퓨팅 디바이스(102-2)가 접속해야 하는 이용가능한 무선 네트워크(130)를 제안하도록 사용자에게 요청할 수 있다.
어느 경우든, 단계(610)에서, 컴퓨팅 디바이스(102-1)는 무선 네트워크(130)에 액세스하기 위해 근처의 컴퓨팅 디바이스(102-2)에 대해 승인이 수신되는지 여부를 결정할 수 있다. 승인이 수신되지 않는다고 결정할 때, 컴퓨팅 디바이스(102-1)는 단계(612)에서 (예컨대, 인증 크리덴셜들(136)을 통해) 패스워드가 근처의 컴퓨팅 디바이스(102-2)에 제공되는 것을 방지할 수 있다. 그렇지 않으면, 승인이 수신되는 경우, 컴퓨팅 디바이스(102-1)는, 단계(614)에서, 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스할 수 있게 하기 위해 패스워드를 제공할 수 있다. 이어서, 방법(600)은 또한 도 8의 방법(800)으로 진행할 수 있으며, 이는 아래에서 더 상세히 기술된다.
도 7은 일부 실시예들에 따른, 컴퓨팅 디바이스가 무선 네트워크에 액세스하기 위한 요청을 근처의 컴퓨팅 디바이스에 발행할 수 있게 하기 위한 방법(700)을 예시한다. 도 7에 예시된 바와 같이, 방법(700)은 단계(702)에서 시작하며, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-2)는 무선 네트워크(130)에의 액세스를 확립하기 위해 컴퓨팅 디바이스(102-2)의 디스플레이에 통지를 제시한다. 일부 예들에서, 통지는 컴퓨팅 디바이스(102-2)가 배치되는 현재 위치에서 하나 이상의 이용가능한 무선 네트워크들의 목록을 제시할 수 있다. 단계(704)에서, 컴퓨팅 디바이스(102-2)는 하나 이상의 이용가능한 무선 네트워크들 중 특정 무선 네트워크(130)의 선택이 수신되는지 여부를 결정할 수 있다. 특정 무선 네트워크(130)의 선택이 수신되지 않은 경우, 컴퓨팅 디바이스(102-2)는 추가 선택을 계속해서 모니터링할 수 있다.
단계(706)에서, 특정 무선 네트워크(130)의 선택이 수신된다고 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-2)는 컴퓨팅 디바이스(102-2)와 연관된 디바이스 키(124)를 사용하여 암호화된 요청을 확립할 수 있으며, 여기서 암호화된 요청은 특정 무선 네트워크(130)에 액세스하기 위한 표시를 포함한다. 특정 무선 네트워크(130)는 고유 무선 네트워크 식별자를 사용함으로써 표시될 수 있다. 일부 실시예들에 따르면, 근처의 컴퓨팅 디바이스, 예컨대, 102-1은 특정 무선 네트워크(130)에 통신가능하게 결합된다. 이러한 방식으로, 근처의 컴퓨팅 디바이스(102-1)는 특정 무선 네트워크(130)에 대한 액세스를 획득하기 위해 컴퓨팅 디바이스(102-2)로부터 수신된 요청을 서비스하도록 구성될 수 있다.
단계(708)에서, 컴퓨팅 디바이스(102-2)는 암호화된 요청을 근처의 컴퓨팅 디바이스(102-1)에 전송할 수 있다. 이어서, 근처의 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-1)에 알려진(즉, 이전에 저장된) 상이한 디바이스 키들(124)을 사용하여 암호화된 요청의 콘텐츠를 복호화하려고 시도할 수 있다. 본 명세서에 앞서 기술된 바와 같이, 근처의 컴퓨팅 디바이스(102-1)는 (1) 컴퓨팅 디바이스(102-2)와 연관된 디바이스 키(124), 및 (2) 컴퓨팅 디바이스(102-2)와 연관된 디바이스 ID(123)에 대한 액세스를 수신하였다. 따라서, 근처의 컴퓨팅 디바이스(102-1)는 암호화된 요청을 복호화하는 데 사용되는 디바이스 키(124)에 기초하여 컴퓨팅 디바이스(102-2)에 관한 상세사항들을 (예를 들어, 디바이스 ID(123)에 기초하여) 식별할 수 있다. 암호화된 요청을 복호화한 후에, 근처의 컴퓨팅 디바이스(102-1)는 복호화된 요청이 특정 무선 네트워크(130)를 나타낸다고 결정할 수 있다. 이어서, 근처의 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-1)의 사용자가 특정 무선 네트워크(130)에 대한 액세스를 컴퓨팅 디바이스(102-2)에 허가하는 것을 승인하는지 여부에 관해 질의하는 통지를 제시할 수 있다.
단계(710)에서, 근처의 컴퓨팅 디바이스(102-1)의 사용자가 승인하면, 컴퓨팅 디바이스(102-2)는 특정 무선 네트워크(130)에 액세스하기 위한 패스워드를 (예컨대, 인증 크리덴셜들(136)을 통해) 수신할 수 있다. 이제 단계(704)로 다시 돌아가면, 특정 무선 네트워크(130)의 선택이 컴퓨팅 디바이스(102-2)에 의해 수신되지 않으면, 컴퓨팅 디바이스(102-2)는, 단계(712)에 의해 나타낸 바와 같이, 컴퓨팅 디바이스(102-2)의 디스플레이에, 컴퓨팅 디바이스(102-2)에 의해 인식되는 각자의 사용자 정보(120)를 갖는 근처의 컴퓨팅 디바이스들(102)을 제시할 수 있다. 이어서, 컴퓨팅 디바이스(102-2)는 사용자가 근처의 컴퓨팅 디바이스들(102) 중 하나를 선택하는 것을 기다릴 수 있다. 단계(714)에서, 컴퓨팅 디바이스(102-2)는 근처의 컴퓨팅 디바이스들(102) 중 하나의 선택이 수신되는지 여부를 결정할 수 있다. 선택이 수신되지 않은 경우, 컴퓨팅 디바이스(102-2)는 추가 선택을 계속해서 모니터링할 수 있다.
단계(716)에서, 근처의 컴퓨팅 디바이스(102-2)의 선택을 수신하는 것에 응답하여, 컴퓨팅 디바이스(102-2)는 컴퓨팅 디바이스(102-2)와 연관된 디바이스 키(124)를 사용하여 암호화된 요청을 확립할 수 있으며, 여기서 암호화된 요청은 근처의 컴퓨팅 디바이스(102-1)에 의해 제안된 임의의 무선 네트워크(130)에 액세스하기 위한 표시를 포함한다. 다음으로, 컴퓨팅 디바이스(102-2)는 암호화된 요청을 근처의 컴퓨팅 디바이스(102-3)에 전송할 수 있다. 이어서, 근처의 컴퓨팅 디바이스(102-3)는 암호화된 요청을 복호화할 수 있고, 근처의 컴퓨팅 디바이스(102-3)의 사용자가 활성 무선 네트워크 또는 대안적인 무선 네트워크에 대한 액세스를 컴퓨팅 디바이스(102-2)에 허용하는지 또는 거부하는지 여부를 질의하는 통지를 제시할 수 있다. 어느 경우든, 근처의 컴퓨팅 디바이스(102-3)의 사용자가 수락하는 경우, 근처의 컴퓨팅 디바이스(102-3)는 제안된 무선 네트워크(130)를 컴퓨팅 디바이스(102-2)에 제공할 수 있다.
이어서, 단계(718)에서, 컴퓨팅 디바이스(102-2)는, 제안된 무선 네트워크(130)에 대한 액세스를 수락할지 여부에 관한 질의를 근처의 컴퓨팅 디바이스(102-3)로부터 수신할 수 있다. 단계(720)에서, 컴퓨팅 디바이스(102-2)는 근처의 컴퓨팅 디바이스(102-3)에 승인을 전송함으로써 질의를 수락할 수 있다. 마지막으로, 단계(710)에서, 컴퓨팅 디바이스(102-2)는 제안된 무선 네트워크(130)와 연관된 패스워드를 (예컨대, 인증 크리덴셜들(136)을 통해) 수신하여 컴퓨팅 디바이스(102-2)가 제안된 무선 네트워크(130)에 액세스할 수 있게 할 수 있다. 이어서, 방법(700)은 또한 도 8의 방법(800)으로 진행할 수 있으며, 이는 아래에서 더 상세히 설명된다.
도 8은 방법(300)(도 3과 관련하여 기술됨), 방법(400)(도 4와 관련하여 기술됨), 방법(600)(도 6과 관련하여 기술됨), 또는 방법(700)(도 7과 관련하여 기술됨) 중 임의의 하나를 확장할 수 있는 방법(800)을 예시한다. 방법(800)은 일부 실시예들에 따라, 다른 컴퓨팅 디바이스들과 무선 네트워크에 대한 패스워드를 공유하기 위해 컴퓨팅 디바이스에 의한 요청을 서비스하는 것을 수반한다. 도 8에 예시된 바와 같이, 방법(800)은 단계(802)에서 시작하며, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-2)는 무선 네트워크(130)와 연관된 패스워드를 (예컨대, 인증 크리덴셜들(136)을 통해) 제공하기 위한 요청을 수신하여, 상이한 컴퓨팅 디바이스, 예컨대, 상이한 컴퓨팅 디바이스(102-3)가 무선 네트워크(130)에 액세스할 수 있게 할 수 있다. 이것은, 예를 들어, 컴퓨팅 디바이스(102-2)가 근처의 컴퓨팅 디바이스, 예컨대, 근처의 컴퓨팅 디바이스(102-1)로부터 무선 네트워크(130)에 대한 패스워드를 수신하는 것에 후속하여, (1) 특정 무선 네트워크(130), 또는 (2) 임의의 무선 네트워크(130)에의 액세스를 요청하는 것에 응답하여 발생할 수 있다.
단계(804)에서, 컴퓨팅 디바이스(102-2)는 패스워드가 다른 컴퓨팅 디바이스들(102)과 공유되도록 허용되는지 여부를 결정할 수 있다. 일부 실시예들에 따르면, 컴퓨팅 디바이스(102-2)는 패스워드가 미리 공유된 키(PSK) 포맷으로 컴퓨팅 디바이스(102-2)에 저장되어 있는지 여부를 결정할 수 있다. 특히, 근처의 컴퓨팅 디바이스(102-1)가 컴퓨팅 디바이스(102-2)에 패스워드를 제공했을 때, 패스워드의 평문은 PSK 포맷(예컨대, 64개의 16진수 문자들)으로 변환될 수 있고 PSK 포맷으로 공유될 수 있다. 일부 예들에서, PSK 포맷은 해시 알고리즘을 통해 생성될 수 있다. 따라서, 패스워드가 컴퓨팅 디바이스(102-2)에서 PSK 포맷으로 저장되어 있음을 식별하는 것에 응답하여, 컴퓨팅 디바이스(102-2)는 (1) 패스워드가 다른 컴퓨팅 디바이스(102)에 제공된 것(즉, 패스워드는 컴퓨팅 디바이스(102-2)의 사용자에 의해 수동으로 입력되지 않았음), (2) 패스워드가 상이한 컴퓨팅 디바이스(102-3)와 공유될 수 없는 것을 결정할 수 있다. 특히 그리고 유익하게는, 컴퓨팅 디바이스(102-2)와 패스워드를 공유하는 근처의 컴퓨팅 디바이스(102-1)의 사용자는, 컴퓨팅 디바이스(102-2)가 패스워드의 평문 버전을 획득하고, 무선 네트워크(130)를 통해 액세스가능한 잠재적으로 민감한 데이터에 대한 액세스를 획득할 수 있는 인가되지 않은 사람들과 패스워드를 공유할 수 있다는 우려에 대한 부담을 던다. 추가적으로, 일부 예들에서, PSK 포맷에서의 패스워드는 패스워드의 문자 그대로 읽기를 표현하지 않는다는 것에 유의해야 한다. 따라서, 키체인이 검사되는 경우에도 패스워드의 평문이 도출될 수 없다.
일부 실시예들에서, 패스워드가 컴퓨팅 디바이스(102-2)에 의해 상이한 컴퓨팅 디바이스(102-3)와 공유되는 것을 방지할 어떠한 제한들도 패스워드들에 가해지지 않는다는 것에 유의해야 한다.
단계(806)에서, 패스워드가 다른 컴퓨팅 디바이스들(102)과 공유되도록 허용된다고 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-2)는 상이한 컴퓨팅 디바이스(102-3)에 패스워드를 제공하도록 인에이블된다. 예를 들어, 패스워드가 패스프레이즈(예컨대, 8 내지 63개의 문자 패스프레이즈)라고 컴퓨팅 디바이스(102-2)가 결정할 때, 컴퓨팅 디바이스(102-2)는 패스워드가 다른 컴퓨팅 디바이스들(102)과 공유되도록 허용된다고 결정할 수 있다.
이제 단계(804)로 다시 돌아가면, 패스워드가 다른 컴퓨팅 디바이스들(102)과 공유되는 것이 허용되지 않는 경우, 단계(808)에 의해 나타낸 바와 같이, 컴퓨팅 디바이스(102-2)는 상이한 컴퓨팅 디바이스(102-3)에 패스워드를 제공하는 것이 방지된다.
도 9a 내지 도 9d는 일부 실시예들에 따른, 특정 무선 네트워크에 액세스하기 위한 요청을 서비스하기 위해 상이한 컴퓨팅 디바이스들(예컨대, 102-1, 102-2)에서 구현될 수 있는 예시적인 사용자 인터페이스들의 개념도들을 예시한다. 도 9a에 예시된 바와 같이, 단계(910)에서, 컴퓨팅 디바이스, 예컨대, 목적지 컴퓨팅 디바이스(102-1)의 사용자 인터페이스(912)는 목적지 컴퓨팅 디바이스(102-1)가 배치되는 현재 위치에서 이용가능한 무선 네트워크들의 목록을 제시할 수 있다. 예를 들어, 사용자 인터페이스(912)에 제시되는 이용가능한 무선 네트워크들의 목록이 필요한 무선 신호 강도를 만족하는 것들임을 고려한다.
도 9a는 사용자 인터페이스(912)가 이용가능한 무선 네트워크들의 목록 중에서 특정 무선 네트워크의 선택을 수신하도록 구성될 수 있는 것을 예시한다. 예를 들어, 도 9a에 예시된 바와 같이, 사용자 인터페이스(912)는 목적지 컴퓨팅 디바이스(102-1)의 사용자에 의해 특정 무선 네트워크("Linda_Mar")의 선택(914)을 수신할 수 있다. 일부 예들에 따르면, 목적지 컴퓨팅 디바이스(102-1)는, 특정 무선 네트워크("Linda_Mar")가 WPA2 보안 프로토콜을 활용하는 경우와 같이, 선택되는 특정 무선 네트워크("Linda_Mar")가 다른 컴퓨팅 디바이스(102)에 의해 액세스(즉, 공유)될 수 있는지 여부를 결정할 수 있다. 특정 무선 네트워크("Linda_Mar")가 다른 컴퓨팅 디바이스들(102)에 의해 액세스될 수 있다고 결정하는 것에 응답하여, 목적지 컴퓨팅 디바이스(102-1)는 이 특정 무선 네트워크에 대한 액세스를 갖는 소스 컴퓨팅 디바이스(102-2)에 요청을 송신할 수 있다.
일부 실시예들에 따르면, 목적지 컴퓨팅 디바이스(102-1)에 의해 선택될 것으로 기대되는 특정 무선 네트워크는 초기에 사용자 인터페이스(912)에 제시되지 않을 수 있다. 대신에, 특정 무선 네트워크는 다른 아이콘(916)을 선택함으로써 요청될 수 있다. 일부 예들에서, (소스 컴퓨팅 디바이스(102-2)에 액세스가능한) 특정 무선 네트워크는 사용자 인터페이스(912)에 가시적으로 제시되지 않는 숨겨진 네트워크일 수 있다. 이 예에 따르면, 목적지 컴퓨팅 디바이스(102-1)는 소스 컴퓨팅 디바이스(102-2)가 액세스될 수 있는 숨겨진 특정 무선 네트워크를 목적지 컴퓨팅 디바이스(102-1)에 제공하도록 요청할 수 있다. 후속적으로, 소스 컴퓨팅 디바이스(102-2)는 목적지 컴퓨팅 디바이스(102-1)에 제안된 무선 네트워크를 제공할 수 있다.
이제 도 9b를 참조하면, 단계(920)에서, 특정 무선 네트워크("Linda_Mar")의 선택(914)을 수신하는 것에 응답하여, 목적지 컴퓨팅 디바이스(102-1)는 목적지 컴퓨팅 디바이스(102-1)가 특정 무선 네트워크("Linda_Mar")에 액세스하기 위해 패스워드를 프롬프트하는 사용자 인터페이스(922)를 제시할 수 있다. 사용자 인터페이스(922)를 제시하는 것과 관련하여, 목적지 컴퓨팅 디바이스(102-1)는 특정 무선 네트워크("Linda_Mar")에 액세스하기 위한 요청을 소스 컴퓨팅 디바이스(102-2)에 송신하기 전에 조건들의 체크리스트를 추가로 수행할 수 있다. 특히, 체크리스트의 조건들은 (1) 목적지 컴퓨팅 디바이스(102-1)가 단일 사인-온 서비스에 서명되는지 여부, (2) 패스워드에 대한 프롬프트가 사용자 인터페이스(922)에 제시되는지 여부, 또는 (3) 특정 무선 네트워크("Linda_Mar")가, 이러한 특정 무선 네트워크와 연관된 패스워드가 WPA2 포맷을 갖는 패스워드를 활용하는 경우와 같이, 다른 컴퓨팅 디바이스들(102)에 의해 액세스가능할 수 있는지 여부를 결정하는 것 중 적어도 하나를 포함할 수 있다. 이들 조건들 중 적어도 하나가 만족되는 경우, 목적지 컴퓨팅 디바이스(102-1)는 요청을 소스 컴퓨팅 디바이스(102-2)에 송신하도록 인에이블될 수 있다.
요청을 송신한 후에, 목적지 컴퓨팅 디바이스(102-1)는 요청을 수락하기 위해 소스 컴퓨팅 디바이스(102-2)의 사용자를 기다릴 수 있다. 특히, 사용자 인터페이스(922)에 포함된 패스워드 엔트리 박스(926)는, 목적지 컴퓨팅 디바이스(102-1)가 소스 컴퓨팅 디바이스(102-2)의 사용자로부터 승인을 기다리는 동안 충전되지 않을 수 있다. 일부 예들에서, 패스워드 입력 박스(926)는 (1) 수동 엔트리 또는 (2) 자동 충전을 통해 패스워드를 수신할 수 있다.
일부 실시예들에 따르면, 사용자 인터페이스(922)는 사용자가 목적지 컴퓨팅 디바이스(102-1)를 소스 컴퓨팅 디바이스(102-2)에 더 가깝게(예컨대, 근접하게) 가져오도록 프롬프트하는 명령어들(924)을 제시할 수 있다. 본 명세서에 앞서 기술된 바와 같이, 소스 컴퓨팅 디바이스(102-2)는 소스 컴퓨팅 디바이스(102-2)가 요청을 프로세싱하기 위해 만족되도록 요구되는 필요한 RSSI 레벨을 특정할 수 있다.
이제 도 9c의 단계(930)에 예시된 바와 같이 소스 컴퓨팅 디바이스(102-2)로 돌아가면, 소스 컴퓨팅 디바이스(102-2)는 목적지 컴퓨팅 디바이스(102-1)로부터 요청을 수신할 수 있다. 이에 응답하여, 소스 컴퓨팅 디바이스(102-2)는 소스 컴퓨팅 디바이스(102-2)의 사용자가 목적지 컴퓨팅 디바이스(102-1)가 특정 무선 네트워크("Linda_Mar")에 액세스하도록 허용하는지 또는 거부하는지 여부를 질의하기 위해 통지(934)를 디스플레이하는 사용자 인터페이스(932)를 제시할 수 있다. 일례에서, 통지(934)는 목적지 컴퓨팅 디바이스(102-1)에 대한 사용자 정보(120)의 적어도 서브세트에 기초하는 연락처 카드를 포함할 수 있다. 통지(934)는, 목적지 컴퓨팅 디바이스(102-1)(및 아마도 그것을 동작시키고 있는 사용자)의 아이덴티티를 사용자에게 통지하기 위해, 예를 들어, 퍼스트 네임을 포함할 수 있다. 이어서, 소스 컴퓨팅 디바이스(102-2)의 사용자는 목적지 컴퓨팅 디바이스(102-1)가 특정 무선 네트워크("Linda_Mar")에 액세스하기 위한 요청을 수락하기 위해 허용 아이콘(936)을 선택할 수 있다.
도 9d의 단계(940)에 예시된 바와 같이 목적지 컴퓨팅 디바이스(102-1)로 돌아가면, 목적지 컴퓨팅 디바이스(102-1)는 소스 컴퓨팅 디바이스(102-2)로부터 수락을 수신할 수 있다. 도 9d에 예시된 바와 같이, 목적지 컴퓨팅 디바이스(102-1)의 사용자 인터페이스(942)의 패스워드 엔트리 박스(944)는 (수락에 따라) 특정 무선 네트워크("Linda_Mar")와 연관된 자동-충전 패스워드를 포함하도록 업데이트된다. 이어서, 사용자는 참여 아이콘(946)을 선택하여 목적지 컴퓨팅 디바이스(102-1)가 이러한 특정 무선 네트워크에 액세스할 수 있게 할 수 있다. 대안적으로, 목적지 컴퓨팅 디바이스(102-1)는 이러한 특정 무선 네트워크에 자동으로 참여할 수 있다. 특히 그리고 유익하게는, 자동-충전 패스워드의 문자들은, 목적지 컴퓨팅 디바이스(102-1)의 사용자가 다른 컴퓨팅 디바이스(102)와 패스워드를 공유하는 것을 방지하기 위해 해싱된다. 도 9a 내지 도 9d에 예시된 사용자 인터페이스들(912, 922, 932, 942)은 단지 예시적이며, 임의의 사용자 인터페이스가 컴퓨팅 디바이스들(102-1, 102-2)에서 구현되어 동일하거나 유사한 기능을 제공할 수 있음에 주목한다.
도 10a 내지 도 10d는 일부 실시예들에 따른, 임의의 무선 네트워크에 액세스하기 위한 요청을 서비스하기 위해 상이한 컴퓨팅 디바이스들(예컨대, 102-1, 102-2)에서 구현될 수 있는 예시적인 사용자 인터페이스들의 개념도들을 예시한다. 도 10a에 예시된 바와 같이, 단계(1010)에서, 컴퓨팅 디바이스, 예컨대, 목적지 컴퓨팅 디바이스(102-2)의 사용자 인터페이스(1012)는 목적지 컴퓨팅 디바이스(102-2)에 인식가능한 근처의 컴퓨팅 디바이스들(102)의 목록(및 그들 각자의 사용자 정보(120)의 서브세트들)을 제시할 수 있다. 예를 들어, 사용자 인터페이스(1012)에 제시된 근처의 컴퓨팅 디바이스들(102)의 목록은 또한 목적지 컴퓨팅 디바이스(102-2)에 근접해 있다(예를 들어, 필요한 RSSI 레벨 등을 만족함).
도 10a는 사용자 인터페이스(1012)가 근처의 컴퓨팅 디바이스들(102)의 목록 중에서 소스 컴퓨팅 디바이스(102-1)의 선택(1014)을 수신하도록 구성될 수 있음을 예시한다. 예를 들어, 도 10a에 예시된 바와 같이, 사용자 인터페이스(1012)는 ("Jay")로서 인식가능한 소스 컴퓨팅 디바이스(102-1)의 선택(1014)을 수신할 수 있다. 이어서, 목적지 컴퓨팅 디바이스(102-2)는 임의의 무선 네트워크(130)에 액세스하기 위한 요청을 소스 컴퓨팅 디바이스(102-1)에 송신할 수 있다.
도 10b는 단계(1020)에서, 소스 컴퓨팅 디바이스(102-1)의 사용자("Jay")에 요청을 송신하는 것과 관련하여 목적지 컴퓨팅 디바이스(102-2)의 사용자 인터페이스(1022)를 예시한다. 사용자 인터페이스(1022)는 요청의 수락이 아직 수신되지 않았음을 목적지 컴퓨팅 디바이스(102-2)의 사용자에게 통지할 수 있고, 요청을 수락하기 위해 소스 컴퓨팅 디바이스(102-1)를 계속 기다릴 것이다.
이제 도 10c의 단계(1030)에 예시된 바와 같이 소스 컴퓨팅 디바이스(102-1)로 돌아가면, 소스 컴퓨팅 디바이스(102-1)는 목적지 컴퓨팅 디바이스(102-2)로부터 요청을 수신할 수 있다. 이에 응답하여, 소스 컴퓨팅 디바이스(102-1)는 소스 컴퓨팅 디바이스(102-1)의 사용자가 목적지 컴퓨팅 디바이스(102-2)의 사용자("Mac")가 활성 무선 네트워크("Mavericks")에 액세스하도록 허용하는지 또는 거부하는지 여부를 질의하기 위해 통지(1034)를 디스플레이하는 사용자 인터페이스(1032)를 제시할 수 있다. 추가적으로, 사용자 인터페이스(1032)는 목적지 컴퓨팅 디바이스(102-2)가 액세스해야 하는 제안된 대안적인 무선 네트워크들(1038)의 목록("Manresa," "O'Neill_House," "Steamer_Lane," 또는 "Other")을 제시할 수 있다. 이러한 방식으로, 사용자("Jay")는 활성 무선 네트워크("Mavericks")로부터 또는 제안된 대안적인 무선 네트워크들(1038)의 목록 중에서 선택할 수 있다. 또한, 제안된 대안적인 무선 네트워크들(1038)의 목록은 사용자("Jay")가 선택을 행하는 것을 용이하게 하기 위해 대안적인 무선 네트워크들 각각에 대한 각자의 신호 강도를 제시할 수 있다. 이어서, 소스 컴퓨팅 디바이스(102-1)의 사용자("Jay")는 특정 무선 네트워크("Mavericks")에 액세스하기 위한 질의를 목적지 컴퓨팅 디바이스(102-2)에 전송하기 위해 허용 아이콘(1036)을 선택할 수 있다.
도 10d의 단계(1040)에 예시된 바와 같이 목적지 컴퓨팅 디바이스(102-2)로 돌아가면, 목적지 컴퓨팅 디바이스(102-2)는 소스 컴퓨팅 디바이스(102-1)로부터 수락을 수신할 수 있다. 이어서, 목적지 컴퓨팅 디바이스(102-2)의 사용자 인터페이스(1042)는 소스 컴퓨팅 디바이스(102-1)가 특정 무선 네트워크("Mavericks")에 대한 액세스를 허가했음을 사용자("Mac")에게 나타낸다. 이어서, 사용자("Jay")는 네트워크 참여 아이콘(1044)을 선택하여 목적지 컴퓨팅 디바이스(102-2)가 이러한 특정 무선 네트워크에 액세스할 수 있게 할 수 있다. 도 10a 내지 도 10d에 예시된 사용자 인터페이스들(1012, 1022, 1032, 1042)은 단지 예시적이며, 임의의 사용자 인터페이스가 컴퓨팅 디바이스들(102-1, 102-2)에서 구현되어 동일하거나 유사한 기능을 제공할 수 있음에 주목한다.
도 11은 일부 실시예들에 따른, 무선 핫스팟으로서 컴퓨팅 디바이스를 활용하기 위해 근처의 컴퓨팅 디바이스에 의해 발행된 요청을 서비스하기 위한 방법(1100)을 예시한다. 도 11에 예시된 바와 같이, 방법(1100)은 단계(1102)에서 시작하며, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)를 무선 핫스팟으로서 활용하기 위한 광고를 근처의 컴퓨팅 디바이스, 예컨대, 근처의 컴퓨팅 디바이스(102-2)에 송신한다. 이것은, 예를 들어, 컴퓨팅 디바이스(102-1)가 셀룰러 데이터 네트워크 접속을 확립하는 것에 후속하여 발생할 수 있다. 일부 예들에 따르면, 컴퓨팅 디바이스(102-1)는 셀룰러 데이터 네트워크 접속을 확립할 수 있는 셀룰러 통신 컴포넌트를 포함할 수 있다.
일부 예들에 따르면, 컴퓨팅 디바이스(102-1)는 사용자 정보(120)와 연관될 수 있다. 특히, 컴퓨팅 디바이스(102-1)는 (근처의 컴퓨팅 디바이스(102-2)가 또한 액세스를 갖는) 해시 알고리즘을 활용하여 해싱된 메시지로서 근처의 컴퓨팅 디바이스(102-2)에 송신될 수 있는 사용자 정보(120) 및 광고에 대한 고유 해시 값을 생성할 수 있다. 이어서, 해싱된 메시지를 수신할 때, 근처의 컴퓨팅 디바이스(102-2)는 알려진 컴퓨팅 디바이스(102)(예컨대, 친구, 친척, 동료 등)에 의해 제공되는 것으로 해싱된 광고를 식별하기 위해 컴퓨팅 디바이스(102-1)와 연관된 사용자 정보(120)에 대한 고유 해시 값의 상관관계를 제공하는 해시 테이블을 지칭할 수 있다. 다른 예들에 따르면, 컴퓨팅 디바이스(102-1)는 암호화된 메시지로서 광고를 송신할 수 있다. 특히, 광고를 송신하기 전에, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)와 연관된 디바이스 키(124)(예컨대, 암호화 키)를 근처의 컴퓨팅 디바이스(102-2)에 제공할 수 있다. 이어서, 근처의 컴퓨팅 디바이스(102-2)가 암호화된 메시지를 수신할 때, 근처의 컴퓨팅 디바이스(102-2)는 근처의 컴퓨팅 디바이스(102-2)에 알려진(즉, 이전에 저장된) 디바이스 키들(124)을 사용하여 암호화된 메시지의 콘텐츠를 복호화하려고 시도할 수 있다. 어느 경우든, 컴퓨팅 디바이스(102-1)의 프라이버시는 무관한/알려지지 않은 컴퓨팅 디바이스들(102)이 메시지의 콘텐츠에 액세스할 수 없기 때문에 향상된다.
이어서, 단계(1104)에서, 컴퓨팅 디바이스(102-1)는 무선 핫스팟으로서 컴퓨팅 디바이스(102-1)를 활용하기 위한 요청을 근처의 컴퓨팅 디바이스(102-2)로부터 수신할 수 있으며, 여기서 요청은 근처의 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)를 포함한다.
단계(1106)에서, 컴퓨팅 디바이스(102-1)는 요청과 연관된 신호 강도가 신호 임계치를 만족하는지 여부를 결정할 수 있다. 본 명세서에 이전에 기술된 바와 같이, 컴퓨팅 디바이스(102-1)의 공유 관리자(110)는 무선 통신 컴포넌트들과 인터페이싱하여 요청의 신호 강도가 요청을 프로세싱하기 위해 필요한 RSSI 레벨을 만족하는지 여부를 결정할 수 있다. 요청과 연관된 신호 강도가 신호 임계치를 만족하지 않는다고 컴퓨팅 디바이스(102-1)가 결정하는 경우, 컴퓨팅 디바이스(102-1)는 단계(1108)에 의해 나타낸 바와 같이, 요청과 연관된 임의의 통지가 컴퓨팅 디바이스(102-1)의 사용자에게 제시되는 것을 방지할 수 있다. 유익하게는, 컴퓨팅 디바이스(102-1)의 사용자는 알려지지 않은 컴퓨팅 디바이스들(102)에 의해 귀찮게 되는 것이 방지된다.
대안적으로, 단계(1110)에서, 요청의 신호 강도가 필요한 RSSI 레벨을 만족한다고 컴퓨팅 디바이스(102-1)가 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-1)는 요청에 포함된 사용자 정보(120)가 컴퓨팅 디바이스(102-1)에 의해 인식되는지 여부를 결정할 수 있다. 특히, 컴퓨팅 디바이스(102-1)는 요청에 포함된 사용자 정보(120)를 컴퓨팅 디바이스(102-1)에 의해 관리되는 연락처들(122)과 비교함으로써, 근처의 컴퓨팅 디바이스(102-2)와 기존의 관계가 존재하는지 여부를 식별할 수 있다. 사용자 정보(120)가 연락처들(122) 내에 포함되지 않는다고 결정할 때, 컴퓨팅 디바이스(102-1)는 단계(1108)에 의해 나타낸 바와 같이, 요청과 연관된 임의의 통지가 컴퓨팅 디바이스(102-1)의 사용자에게 제시되는 것을 방지할 수 있다.
그렇지 않으면, 단계(1112)에서, 사용자 정보(120)가 그의 연락처들(122) 내에 포함된다고 컴퓨팅 디바이스(102-1)가 결정할 때, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)의 사용자가 컴퓨팅 디바이스(102-1)를 무선 핫스팟으로서 활용하기 위한 액세스를 근처의 컴퓨팅 디바이스(102-2)에 허가하는 것을 승인하는지 여부에 관해 질의하는 통지를 제시할 수 있다. 일례에서, 사용자에게 제시된 통지는, 근처의 컴퓨팅 디바이스(102-2)(및 아마도 그것을 동작시키고 있는 사용자)의 아이덴티티를 사용자에게 통지하기 위해, 예를 들어, 퍼스트 네임, 사진 등을 갖는 연락처 카드를 포함할 수 있다.
단계(1114)에서, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 컴퓨팅 디바이스(102-1)를 무선 핫스팟으로서 활용할 수 있게 하기 위해 사용자로부터 승인을 수신할 수 있다. 이어서, 단계(1116)에 의해 나타낸 바와 같이, 컴퓨팅 디바이스(102-1)는, 인증 크리덴셜들(136)(예컨대, 패스워드 등)을 제공할 수 있고, 이는, 무선 핫스팟을 인증하고 그에 대한 액세스를 획득하기 위해 근처의 컴퓨팅 디바이스(102-2)에 의해 사용될 수 있다.
도 12는 일부 실시예들에 따른, 컴퓨팅 디바이스(102-1)에 의해 관리되는 보안 리소스에 대한 액세스를 획득하기 위한 근처의 컴퓨팅 디바이스에 의한 요청을 서비스하기 위한 방법(1200)을 예시한다. 도 12에 예시된 바와 같이, 방법(1200)은 단계(1202)에서 시작하며, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스, 예컨대, 근처의 컴퓨팅 디바이스(102-2)로부터 인증 크리덴셜들을 통해 보안 리소스에 액세스하기 위한 요청을 수신하고, 요청은 근처의 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120) 및 보안 리소스에 액세스하기 위한 표시를 포함한다. 일부 예들에 따르면, 근처의 컴퓨팅 디바이스(102-2)는 근처의 컴퓨팅 디바이스(102-2) 및/또는 암호화된 웹사이트에서 확립된 보안 애플리케이션을 통해 보안 리소스에 액세스하려고 시도할 수 있다. 특히, 보안 리소스는 온라인 은행 계좌와 연관된 사용자 계좌, 소셜 네트워크 프로파일과 연관된 사용자 계정, 디지털 미디어 아이템 서비스와 연관된 사용자 계정 등을 지칭할 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(102-1)는, 근처의 컴퓨팅 디바이스(102-2)가 보안 리소스에 액세스하도록 근처의 컴퓨팅 디바이스(102-2)가 인증 크리덴셜들(예컨대, 사용자 이름, 패스워드, 패스코드, 보안 질문/대답 등)을 프롬프트하는 사용자 인터페이스를 제시할 때 근처의 컴퓨팅 디바이스(102-2)로부터 요청을 수신할 수 있다. 사용자 인터페이스를 제시하는 것과 관련하여, 근처의 컴퓨팅 디바이스(102-2)는 보안 리소스에 액세스하기 위한 요청을 컴퓨팅 디바이스(102-1)에 송신할 수 있다. 일부 예들에 따르면, 요청은 해싱된 메시지로서 컴퓨팅 디바이스(102-1)에 송신될 수 있고, 이 때 컴퓨팅 디바이스(102-1)는 알려진 컴퓨팅 디바이스(102)(예컨대, 친구, 친척, 동료 등)에 의해 제공되는 것으로 해싱된 메시지를 식별하기 위해 근처의 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)에 대한 고유 해시 값의 상관관계를 제공하는 해시 테이블을 지칭할 수 있다. 다른 예들에 따르면, 요청은 암호화된 메시지로서 컴퓨팅 디바이스(102-1)에 송신될 수 있고, 이 때 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)에 알려진(즉, 이전에 저장된) 디바이스 키들(124)을 사용하여 암호화된 메시지의 콘텐츠를 복호화하려고 시도할 수 있다. 어느 경우든, 근처의 컴퓨팅 디바이스(102-2)의 프라이버시는 무관한/알려지지 않은 컴퓨팅 디바이스들(102)이 메시지의 콘텐츠에 액세스할 수 없기 때문에 향상된다.
단계(1204)에서, 컴퓨팅 디바이스(102-1)는 요청과 연관된 신호 강도가 신호 임계치를 만족하는지 여부를 결정할 수 있다. 본 명세서에 이전에 기술된 바와 같이, 컴퓨팅 디바이스(102-1)의 공유 관리자(110)는 무선 통신 컴포넌트들과 인터페이싱하여 요청의 신호 강도가 요청을 프로세싱하기 위해 필요한 RSSI 레벨을 만족하는지 여부를 결정할 수 있다. 요청과 연관된 신호 강도가 신호 임계치를 만족하지 않는다고 컴퓨팅 디바이스(102-1)가 결정하는 경우, 컴퓨팅 디바이스(102-1)는 단계(1206)에 의해 나타낸 바와 같이, 요청과 연관된 임의의 통지가 컴퓨팅 디바이스(102-1)의 사용자에게 제시되는 것을 방지할 수 있다. 이는 유익하게도 컴퓨팅 디바이스(102-1)의 사용자가 알려지지 않은/무관한 컴퓨팅 디바이스들(102)에 의해 귀찮게 되는 것을 방지할 수 있다.
대안적으로, 요청의 신호 강도가 필요한 RSSI 레벨을 만족한다고 컴퓨팅 디바이스(102-1)가 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-1)는 단계(1208)에 의해 나타낸 바와 같이, 요청에 포함된 사용자 정보(120)가 컴퓨팅 디바이스(102-1)에 의해 인식되는지 여부를 결정할 수 있다. 특히, 컴퓨팅 디바이스(102-1)는 요청에 포함된 사용자 정보(120)를 컴퓨팅 디바이스(102-1)에 의해 관리되는 연락처들(122)과 비교함으로써, 근처의 컴퓨팅 디바이스(102-2)와 기존의 관계가 존재하는지 여부를 식별할 수 있다. 사용자 정보(120)가 연락처들(122) 내에 포함되지 않는다고 결정할 때, 컴퓨팅 디바이스(102-1)는 단계(1206)에 의해 나타낸 바와 같이, 요청과 연관된 임의의 통지가 컴퓨팅 디바이스(102-1)의 사용자에게 제시되는 것을 방지할 수 있다.
그렇지 않으면, 단계(1210)에서, 사용자 정보(120)가 그의 연락처들(122) 내에 포함된다고 컴퓨팅 디바이스(102-1)가 결정할 때, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)의 사용자가 보안 리소스에 대한 액세스를 근처의 컴퓨팅 디바이스(102-2)에 허가하는 것을 승인하는지 여부에 관해 질의하는 통지를 제시할 수 있다. 일례에서, 사용자에게 제시된 통지는, 근처의 컴퓨팅 디바이스(102-2)(및 아마도 그것을 동작시키고 있는 사용자)의 아이덴티티를 사용자에게 통지하기 위해, 예를 들어, 퍼스트 네임, 사진 등을 갖는 연락처 카드를 포함할 수 있다.
단계(1212)에서, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 보안 리소스에 액세스할 수 있게 하기 위해 사용자로부터 승인을 수신할 수 있다. 이어서, 단계(1214)에 의해 나타낸 바와 같이, 컴퓨팅 디바이스(102-1)는, 인증 크리덴셜들(136)(예컨대, 사용자 이름, 패스워드 등)을 제공할 수 있고, 이는, 보안 리소스를 인증하고 그에 대한 액세스를 획득하기 위해 근처의 컴퓨팅 디바이스(102-2)에 의해 사용될 수 있다. 일부 예들에 따르면, 인증 크리덴셜들(136)은, 인증 크리덴셜들(136)이 미리 결정된 양의 시간 후에 만료되도록 시간 제한 표시와 번들링될 수 있다.
도 13은 일부 실시예들에 따른, 근처의 컴퓨팅 디바이스에 임시 패스워드를 제공함으로써 무선 네트워크에 액세스하기 위해 근처의 컴퓨팅 디바이스에 의해 발행된 요청을 서비스하기 위한 방법(1300)을 예시한다. 도 13에 예시된 바와 같이, 방법(1300)은 단계(1302)에서 시작하는데, 여기서 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스, 예컨대, 근처의 컴퓨팅 디바이스(102-2)로부터, 근처의 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120) 및 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하려고 하고 있다는 표시를 포함하는 요청을 수신한다.
일부 예들에 따르면, 요청은 해싱된 메시지로서 컴퓨팅 디바이스(102-1)에 송신될 수 있고, 이 때 컴퓨팅 디바이스(102-1)는 알려진 컴퓨팅 디바이스(102)(예컨대, 친구, 친척, 동료 등)에 의해 제공되는 것으로 해싱된 메시지를 식별하기 위해 근처의 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120)의 고유 해시 값의 상관관계를 제공하는 해시 테이블을 지칭할 수 있다. 다른 예들에 따르면, 요청은 암호화된 메시지로서 컴퓨팅 디바이스(102-1)에 송신될 수 있고, 이 때 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)에 알려진(즉, 이전에 저장된) 디바이스 키들(124)을 사용하여 암호화된 메시지의 콘텐츠를 복호화하려고 시도할 수 있다. 어느 경우든, 근처의 컴퓨팅 디바이스(102-2)의 프라이버시는 무관한/알려지지 않은 컴퓨팅 디바이스들(102)이 메시지의 콘텐츠에 액세스할 수 없기 때문에 향상된다.
일부 예들에 따르면, 요청을 수신할 때, 컴퓨팅 디바이스(102-1)는 요청과 연관된 신호 강도가 신호 임계치를 만족하는지 여부를 결정할 수 있다. 본 명세서에 앞서 기술된 바와 같이, 요청과 연관된 신호 강도가 신호 임계치를 만족하지 않는다고 컴퓨팅 디바이스(102-1)가 결정하는 경우, 컴퓨팅 디바이스(102-1)는 요청과 연관된 임의의 통지가 컴퓨팅 디바이스(102-1)의 사용자에게 제시되는 것을 방지할 수 있다. 추가적으로, 컴퓨팅 디바이스(102-1)는 요청 내에 포함된 사용자 정보(120)가 그의 연락처들(122)에 포함되는지 여부를 결정할 수 있다. 사용자 정보(120)가 그의 연락처들(122) 내에 포함된다고 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스(102-1)의 사용자가 무선 네트워크(130)에 대한 액세스를 근처의 컴퓨팅 디바이스(102-2)에 허가하는 것을 승인하는지 여부에 관해 질의하는 통지를 제시할 수 있다.
컴퓨팅 디바이스(102-1)의 사용자에게 통지를 제공하는 것에 후속하여, 단계(1304)에서, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스할 수 있게 하기 위해 사용자로부터 승인이 수신되는지 여부를 결정할 수 있다. 사용자로부터의 승인이 수신되지 않았다고 컴퓨팅 디바이스(102-1)가 결정하는 경우, 컴퓨팅 디바이스(102-1)는 단계(1306)에 의해 나타낸 바와 같이, 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하는 것을 방지할 수 있다.
대안적으로, 단계(1308)에서, 사용자로부터의 승인이 수신된다고 컴퓨팅 디바이스(102-1)가 결정하는 것에 응답하여, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하기 위한 임시 패스워드를 생성하기 위해 사용자로부터 승인이 수신되는지 여부를 결정할 수 있다. 특히, 사용자로부터 승인을 수신한 후에, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 대한 액세스를 갖는 시간의 양을 사용자가 제한하기를 원하는 지에 관해 질의하기 위한 통지를 제시할 수 있다.
이어서, 단계(1310)에 의해 나타낸 바와 같이, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하기 위한 임시 패스워드를 생성하기 위한 요청을 컴퓨팅 디바이스에 송신할 수 있다. 일부 예들에 따르면, 컴퓨팅 디바이스는 컴퓨팅 디바이스(102-1)가 직접 인터페이싱할 수 있는 하나 이상의 서버 디바이스들을 지칭할 수 있다. 다른 예들에 따르면, 컴퓨팅 디바이스는 컴퓨팅 디바이스(102-1)가 직접 인터페이싱할 수 있는 무선 네트워크(130)와 연관된 무선 라우터를 지칭할 수 있다. 다른 예들에 따르면, 컴퓨팅 디바이스는 컴퓨팅 디바이스(102-1) 자체를 지칭할 수 있다.
단계(1312)에서, 컴퓨팅 디바이스(102-1)는 컴퓨팅 디바이스로부터 임시 패스워드를 수신할 수 있다. 일부 실시예들에 따르면, 임시 패스워드는 컴퓨팅 디바이스에서 확립되고 특히 게스트들이 무선 네트워크(130)에 액세스하도록 의도된 기존의 임시 패스워드들의 집합으로부터 검색될 수 있다. 특히, 임시 패스워드들이, 생성된 것, 컴퓨팅 디바이스로부터 수신된 것, 또는 근처의 컴퓨팅 디바이스(102-2)로 송신된 것 중 적어도 하나인 경우, 임시 패스워드들은 비트 플래그(예를 들어, 시간 제한 표시)와 번들링될 수 있다. 예를 들어, 시간 제한 표시는 임시 패스워드가 단지 48 시간의 기간 동안 근처의 컴퓨팅 디바이스(102-2)에 의한 사용을 위해 유효하게 유지될 것임을 규정할 수 있다. 이러한 방식으로, 48 시간이 경과한 후에, 컴퓨팅 디바이스는 무선 네트워크(130)에 액세스하기 위한 임시 패스워드를 무효가 되게 할 수 있다. 일부 실시예들에 따르면, 임시 패스워드들은 컴퓨팅 디바이스(102-1)로부터 요청을 수신하는 것에 응답하여 컴퓨팅 디바이스에 의해 생성될 수 있다. 특히, 임시 패스워드들은, 근처의 컴퓨팅 디바이스(102-2)가 미리 결정된 양의 시간(예를 들어, 24 시간) 동안 무선 네트워크(130)에 액세스되지 않았을 때와 같이, 근처의 컴퓨팅 디바이스(102-2)가 더 이상 패스워드를 사용하지 않은 후에 임시 패스워드가 만료되도록 하는 명령어들을 제공하는 비트 플래그와 번들링될 수 있다. 일부 실시예들에 따르면, 무선 네트워크(130)와 연관된 무선 라우터와 같은 컴퓨팅 디바이스는 무선 네트워크(130)에 액세스하기 위해 근처의 컴퓨팅 디바이스(102-2)에 의해 사용될 수 있는 인가된 패스워드들의 완전한 목록을 계속해서 업데이트함으로써 무선 네트워크(130)로의 액세스를 규정할 수 있다. 컴퓨팅 디바이스(102-1)가 임시 패스워드를 요청하는 것에 응답하여, 무선 라우터는 최근에 생성된 임시 패스워드를 갖는 인가된 패스워드들의 완전한 목록을 또한 업데이트하는 동안 임시 패스워드를 생성하여 컴퓨팅 디바이스(102-1)에 제공할 수 있다. 무선 라우터는 임시 패스워드가 얼마나 오랫동안 유효하게 유지될 것인지를 규정하는 임시 시간 제한을 확립하도록 구성될 수 있다. 임시 시간 제한의 만료에 후속하여, 무선 라우터는 인가된 패스워드들의 완전한 목록으로부터 임시 패스워드를 제거하도록 구성될 수 있다.
후속적으로, 단계(1314)에서, 컴퓨팅 디바이스(102-1)는 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스할 수 있게 하기 위해 임시 패스워드를 근처의 컴퓨팅 디바이스(102-2)에 직접적으로 또는 간접적으로(예를 들어, 컴퓨팅 디바이스를 통해) 제공할 수 있다.
도 14는 일부 실시예들에 따른, 무선 라우터가 무선 네트워크에 대한 액세스를 근처의 컴퓨팅 디바이스에 제공할 수 있게 하기 위한 방법(1400)을 예시한다. 도 14에 예시된 바와 같이, 방법(1400)은 단계(1402)에서 시작하며, 여기서 무선 네트워크(130)와 연관된 무선 라우터는 컴퓨팅 디바이스, 예컨대, 컴퓨팅 디바이스(102-1)로부터 요청을 수신하고, 요청은 무선 네트워크(130)에 액세스하기 위해 컴퓨팅 디바이스(102-1)의 사용자에 의해 승인되는 하나 이상의 연락처들(122)의 리스트 및 컴퓨팅 디바이스(102-1)와 연관된 사용자 정보(120)를 포함한다. 이것은, 예를 들어, 컴퓨팅 디바이스(102-1)의 사용자가 무선 네트워크(130)에 대한 액세스를 근처의 컴퓨팅 디바이스, 예컨대, 근처의 컴퓨팅 디바이스(102-2)에 허가하기를 원하지만, 무선 네트워크(130)에 액세스하기 위해 근처의 컴퓨팅 디바이스(102-2)에 의한 요청을 서비스할 수 있도록 무선 네트워크(130)에 지리적으로 근접하지 않을 때 발생할 수 있다. 일부 실시예들에 따르면, 무선 라우터는 사용자 정보(120)를 활용하여 알려진 컴퓨팅 디바이스(102)(즉, 무선 네트워크(130)에 대한 액세스를 컴퓨팅 디바이스들(102)에 허가하기 위한 승인을 갖는 사용자)에 의해 요청이 제공되었는지 여부를 결정할 수 있다.
이어서, 단계(1404)에서, 컴퓨팅 디바이스(102-1)가 알려지거나 인식된다고 결정하는 것에 응답하여, 무선 라우터는 무선 네트워크(130)와 통신하는 저장 디바이스에서 무선 네트워크(130)에 액세스하는 것이 승인된 하나 이상의 연락처들(122)의 목록을 저장할 수 있다. 추가적으로, 컴퓨팅 디바이스(102-1)는, 컴퓨팅 디바이스(102-1) 및/또는 무선 라우터가 무선 네트워크(130)에 액세스하도록 승인된 연락처들(122)의 목록을 검색할 수 있게 하기 위해, 사용자 계정, 예컨대, 컴퓨팅 디바이스(102-1)와 연관된 단일 사인-온 서비스와 연관된 사용자 ID를 통해 무선 네트워크(130)에 액세스하도록 승인된 하나 이상의 연락처들(122)의 목록을 확립할 수 있다. 따라서, 일부 예들에서, 무선 라우터는 무선 라우터가 대신에 사용자 계정으로부터 이 목록을 검색할 수 있으므로 하나 이상의 연락처들의 목록들을 무선 라우터에 제공하도록 컴퓨팅 디바이스(102-1)에 요구하지 않을 수 있다.
후속적으로, 단계(1406)에서, 무선 라우터는 무선 네트워크(130)에 액세스하기 위해 근처의 컴퓨팅 디바이스(102-2)로부터 요청을 수신할 수 있다. 일부 실시예들에 따르면, 요청은 근처의 컴퓨팅 디바이스(102-2)와 연관된 사용자 정보(120) 및 무선 네트워크(130)에 액세스하기 위한 표시를 포함한다. 일부 예들에 따르면, 요청은 해싱된 메시지로서 무선 라우터에 송신될 수 있다. 일부 예들에 따르면, 요청은 암호화된 메시지로서 무선 라우터에 송신될 수 있다.
단계(1408)에서, 무선 라우터는 요청과 연관된 신호 강도가 신호 임계치를 만족하는지 여부를 결정할 수 있다. 일부 예들에서, 무선 라우터는 물리적 근접 임계치를 갖는 지오펜스를 확립할 수 있다. 무선 라우터는 요청의 신호 강도가 요청을 프로세싱하는 데 필요한 RSSI 레벨을 만족하는지 여부를 결정할 수 있다. 요청과 연관된 신호 강도가 신호 임계치를 만족하지 않는다고 무선 라우터가 결정하는 경우, 단계(1410)에 의해 나타낸 바와 같이, 무선 라우터는 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하는 것을 방지할 수 있다.
대안적으로, 단계(1412)에서, 요청의 신호 강도가 필요한 RSSI 레벨을 만족한다고 무선 라우터가 결정하는 것에 응답하여, 무선 라우터는 요청에 포함된 사용자 정보(120)가 무선 네트워크(130)에 액세스하도록 승인된 하나 이상의 연락처들(122)에 대응하는지 여부를 결정할 수 있다. 특히, 무선 라우터는 요청에 포함된 사용자 정보(120)를 하나 이상의 연락처들의 목록에 제공된 연락처들(122)과 비교할 수 있다. 사용자 정보(120)가 연락처들(122) 내에 포함되지 않는다고 결정할 때, 단계(1410)에 의해 나타낸 바와 같이, 무선 라우터는 근처의 컴퓨팅 디바이스(102-2)가 무선 네트워크(130)에 액세스하는 것을 방지할 수 있다.
그렇지 않으면, 단계(1414)에서, 요청에 제공된 사용자 정보(120)가 무선 네트워크(130)에 액세스하도록 승인된 하나 이상의 연락처들의 목록에 포함된다고 무선 라우터가 결정할 때, 무선 네트워크는 인증 크리덴셜들(136)(예컨대, 사용자 이름, 패스워드 등)을 제공할 수 있으며, 이는 무선 네트워크(130)를 인증하고 그에 대한 액세스를 획득하기 위해 근처의 컴퓨팅 디바이스(102-2)에 의해 사용될 수 있다. 일부 실시예들에 따르면, 그리고 본 명세서에 기재된 바와 같이, 무선 라우터는, 임시 패스워드가 제한된 지속기간 동안 근처의 컴퓨팅 디바이스(102-2)에 의해 사용하기에 유효하게 유지되도록 시간 제한 표시와 번들링될 수 있는 임시 패스워드를 근처의 컴퓨팅 디바이스(102-2)에 제공할 수 있다.
도 15는 일부 실시예들에 따른, 본 명세서에 기술된 다양한 기법들을 구현하는 데 사용되는 도 1의 상이한 컴퓨팅 디바이스들을 표현할 수 있는 컴퓨팅 디바이스(1500)의 상세도를 예시한다. 예를 들어, 상세도는 도 1과 관련하여 기술된 컴퓨팅 디바이스들(예컨대, 102-1 내지 102-N)에 포함될 수 있는 다양한 컴포넌트들을 예시한다. 도 15에 예시된 바와 같이, 컴퓨팅 디바이스(1500)는 컴퓨팅 디바이스(1500)의 전반적인 동작을 제어하기 위한 마이크로프로세서 또는 제어기를 표현하는 프로세서(1502)를 포함할 수 있다. 컴퓨팅 디바이스(1500)는 또한 컴퓨팅 디바이스(1500)의 사용자가 컴퓨팅 디바이스(1500)와 상호작용할 수 있게 하는 사용자 입력 디바이스(1508)를 포함할 수 있다. 예를 들어, 사용자 입력 디바이스(1508)는 버튼, 키패드, 다이얼, 터치 스크린, 오디오 입력 인터페이스, 시각적/이미지 캡처 입력 인터페이스, 센서 데이터 형태의 입력 등과 같은 다양한 형태들을 취할 수 있다. 또한 추가로, 컴퓨팅 디바이스(1500)는 사용자에게 정보를 디스플레이하기 위해 프로세서(1502)에 의해 (예를 들어, 그래픽 컴포넌트를 통해) 제어될 수 있는 디스플레이(1510)를 포함할 수 있다. 데이터 버스(1516)는 적어도 저장 디바이스(1540), 프로세서(1502), 및 제어기(1513) 사이의 데이터 전송을 용이하게 할 수 있다. 제어기(1513)는 장비 제어 버스(1514)를 통해 상이한 장비와 인터페이싱하고 그를 제어하는데 사용될 수 있다. 컴퓨팅 디바이스(1500)는 또한 데이터 링크(1512)에 결합되는 네트워크/버스 인터페이스(1511)를 포함할 수 있다. 무선 접속의 경우, 네트워크/버스 인터페이스(1511)는 무선 송수신기를 포함할 수 있다.
전술된 바와 같이, 컴퓨팅 디바이스(1500)는 또한 단일 디스크 또는 디스크들의 집합체(예컨대, 하드 드라이브들)를 포함할 수 있는 저장 디바이스(1540)를 포함한다. 일부 실시예들에서, 저장 디바이스(1540)는 플래시 메모리, 반도체 (솔리드 스테이트) 메모리 등을 포함할 수 있다. 컴퓨팅 디바이스(1500)는 또한, 랜덤 액세스 메모리("RAM")(1520) 및 판독-전용 메모리("ROM")(1522)를 포함할 수 있다. ROM(1522)은 실행될 프로그램들, 유틸리티들 또는 프로세스들을 비휘발성 방식으로 저장할 수 있다. RAM(1520)은 휘발성 데이터 저장소를 제공할 수 있고, 컴퓨팅 디바이스(1500) 상에서 실행되는 애플리케이션들의 동작에 관련된 명령어들을 저장한다.
추가적으로, 도 16a은 일부 실시예들에 따른, 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별하도록 구성될 수 있는 다양한 컴퓨팅 디바이스들(1602)의 블록도(1600)를 예시한다. 도 16a에 도시된 바와 같이, 각각의 컴퓨팅 디바이스(1602)는 컴퓨팅 디바이스 발견 서비스(1604), 아이덴티티 관리자(1614), 및 액션 관리자(1618)를 포함할 수 있다. 이들 소프트웨어 엔티티들은 추가적인 엔티티들로 분리되거나, 또는 본 개시내용의 범주를 벗어나지 않으면서 더 적은 엔티티들로 조합될 수 있다는 것에 유의한다. 일부 실시예들에 따르면, 그리고 본 명세서에서 더 상세히 기술되는 바와 같이, 이러한 소프트웨어 엔티티들은 컴퓨팅 디바이스들(1602) 각각에서 실행될 수 있고, 광고 패킷들(1620)이 컴퓨팅 디바이스(1602)에 의해 주기적으로 송신되게 할 수 있다. 특히, 광고 패킷들(1620)은 컴퓨팅 디바이스(1602)에 특정적일 수 있고, 컴퓨팅 디바이스(1602)가 근접해 있을 때를 식별하도록 인가된 근처의 컴퓨팅 디바이스들(1602)(존재하는 경우)에 의해 검출 및 프로세싱될 수 있다. 이어서, 근처의 컴퓨팅 디바이스(1602)는 컴퓨팅 디바이스(1602)가 근처의 컴퓨팅 디바이스(1602)에 근접해 있음을 검출하는 것에 응답하여 적어도 하나의 액션을 수행할 수 있다.
전술한 기술들을 구현하기 위해, (주어진 컴퓨팅 디바이스(1602) 상에서 실행되는) 컴퓨팅 디바이스 발견 서비스(1604)는 컴퓨팅 디바이스(1602)에 특정된 암호화 키(1608)를 생성 및/또는 관리하도록 구성될 수 있다. 일부 실시예들에 따르면, 그리고 본 명세서에서 더 상세히 설명되는 바와 같이, 암호화 키(1608)는 성질상 동적일 수 있고, 예를 들어, 컴퓨팅 디바이스(1602)가 근처에 있을 때를 검출하도록 인가되는 컴퓨팅 디바이스들(1602)을 수정할 때, 적절한 시나리오들 하에서 업데이트된 암호화 키(1608)로 대체될 수 있다. 추가적으로, 컴퓨팅 디바이스(1602)는 광고 패킷들(1620)을 송신하기 위한 기초로서 활용되는 리볼빙(revolving) 어드레스(1610)를 관리하도록 구성될 수 있다. 일부 실시예들에 따르면, 리볼빙 어드레스(1610)는 어떠한 임의적 값, 예컨대 랜덤하게 생성된 수, 컴퓨팅 디바이스(1602)와 연관된 통신 어드레스로부터 도출된 수 등일 수 있다. 일부 실시예들에 따르면, 그리고 본 명세서에서 더 상세히 설명되는 바와 같이, 리볼빙 어드레스(1610)는 성질상 동적일 수 있는데, 예컨대, 리볼빙 어드레스(1610)는 주기적으로(예컨대, 매 15 분마다) 업데이트될 수 있다. 유익하게는, 이러한 주기적인 업데이트들은 악성 당사자들이 컴퓨팅 디바이스들(1602)을 추적하는 것을 어렵게 만들 수 있다.
도 16a에 도시된 바와 같이, (예를 들어, 제1 컴퓨팅 디바이스(1602) 상에서 실행되는) 컴퓨팅 디바이스 발견 서비스(1604)는, 제1 컴퓨팅 디바이스(1602)가 근접해 있을 때를 검출하도록 인가되는 각각의 컴퓨팅 디바이스(1602)에 대한 엔트리를 (예컨대, 임의의 데이터 구조를 사용하여) 관리하도록 구성될 수 있다. 특히, 각각의 엔트리는 적어도 (1) 컴퓨팅 디바이스 ID(1606)(특정 컴퓨팅 디바이스(1602)에 대응함)를 (2) "알려진" 암호화 키(1608)(또한 특정 컴퓨팅 디바이스(1602)에 대응함)와 연관시킨다. 주어진 컴퓨팅 디바이스(1602)에 대한 알려진 암호화 키(1608)는 컴퓨팅 디바이스(1602)에 의해 생성/관리되고 주어진 컴퓨팅 디바이스(1602)가 근접할 때를 검출하도록 인가된 다른 컴퓨팅 디바이스들(1602)에 제공되는 암호화 키(1608)를 표현함에 유의한다.
본 명세서에서 더 상세히 설명되는 바와 같이, 컴퓨팅 디바이스들(1602) 사이에서 암호화 키들(1608)을 공유하기 위한 임의의 알려진 접근법이 본 개시내용의 범주로부터 벗어남이 없이 구현될 수 있다. 예를 들어, 암호화 키들(1608)은 컴퓨팅 디바이스(1602)와 통신하고 암호화 키들(1608)이 공유되는 방식을 조직하도록 구성된 암호화 키 교환 서버(1622)에 의해 공유될 수 있다. 다른 예에서, 암호화 키들(1608)은 암호화 키 교환 서버(1622)의 개입 없이 컴퓨팅 디바이스들(1602) 사이에서 직접 공유될 수 있다. 암호화 키들(1608)이 컴퓨팅 디바이스들(1602) 사이에서 공유될 수 있는 방식의 더 상세한 분석은 도 16b 및 도 16c와 관련하여 아래에서 더 상세히 기술된다.
일부 실시예들에 따르면, 그리고 본 명세서에서 더 상세히 기술되는 바와 같이, 각각의 컴퓨팅 디바이스(1602)는 컴퓨팅 디바이스(1602)에 특정된 광고 패킷들(1620)을 주기적으로 생성하고 송신하기 위해 그의 각자의 암호화 키(1608)를 활용하도록 구성될 수 있다. 이와 관련하여, 컴퓨팅 디바이스(1602)가 근처의 컴퓨팅 디바이스(1602)로부터 광고 패킷(1620)을 수신할 때, 컴퓨팅 디바이스(1602)는, (1) 근처의 컴퓨팅 디바이스(1602)에 대응하고 (2) 광고 패킷(1620)을 검증하기 위해 사용될 수 있는 알려진 암호화 키(1608)(존재하는 경우)를 식별하기 위해 그의 알려진 암호화 키들(1608)을 통해 반복할 수 있다. 이어서, 컴퓨팅 디바이스(1602)는 식별된 알려진 암호화 키(1608)(근처의 컴퓨팅 디바이스(1602)와 연관됨)에 대응하는 컴퓨팅 디바이스 ID(1606)를 식별할 수 있다. 이와 관련하여, 컴퓨팅 디바이스(1602)는, 근처의 컴퓨팅 디바이스(1602)가 근접해 있음을 높은 레벨로 이해할 수 있다. 일부 실시예들에 따르면, 그리고 본 명세서에 더 상세히 설명되는 바와 같이, 그러한 이해는 (1) 근처의 컴퓨팅 디바이스(1602)와 연관된 특정 사람 및 (2) 컴퓨팅 디바이스(1602)에 의해 임의의 액션이 취해져야 하는지 여부를 식별하도록 컴퓨팅 디바이스(1602)를 유도할 수 있다.
추가적으로, 그리고 도 16a에 도시된 바와 같이, 아이덴티티 관리자(1614)는 (예컨대, 임의의 데이터 구조를 사용하여) 다수의 엔트리들을 관리하도록 구성될 수 있고, 여기서 각각의 엔트리는 적어도 (1) (특정 개인에 대응하는) 사람 ID(1616)를 (2) 컴퓨팅 디바이스 ID(1606)(특정 개인과 연관됨)와 연관시킨다. 일부 실시예들에 따르면, 이러한 데이터는 컴퓨팅 디바이스들(1602) 사이에서 암호화 키들(1608)을 공유하는 것과 관련하여 확립될 수 있다. 예를 들어, 제1 개인이 제2 개인에 근접해 있는 때를 식별하도록 제2 개인을 인가하는 제1 개인은, (1) (제1 개인에 속하는 모든 컴퓨팅 디바이스(1602)의) 각자의 알려진 암호화 키들(1608)의 (제2 개인에 속하는) 모든 컴퓨팅 디바이스들(1602)에의 제공, 및 (2) (제1 개인에 속하는) 개인 ID(1616)의 (제2 개인에 속하는) 모든 컴퓨팅 디바이스들(1602)에의 제공을 수반할 수 있다. 이러한 방식으로, 제2 개인에 속하는 컴퓨팅 디바이스들(1602)은 도 16a에 예시된 정보로 그들 각자의 디바이스 발견 서비스들(1604)/식별 관리자들(1614)을 채울 수 있고, 이에 의해 제1 개인의 컴퓨팅 디바이스들(1602)이 근접해 있는 때를 컴퓨팅 디바이스들(1602)이 검출할 수 있게 한다.
전술한 시나리오는 단지 예시적이며, 실시예들은 개인들에게, 그들의 컴퓨팅 디바이스들(1602) 모두가 인가된 개인들의 컴퓨팅 디바이스들(1602) 모두에 의해 발견될 수 있을 것을 요구하지는 않음에 유의한다. 반대로, 실시예들은 개인의 특정 컴퓨팅 디바이스들(1602)이 (1) 상이한 개인의 모든 디바이스들, 또는 (2) 본 개시내용의 범주로부터 벗어남이 없이, 상이한 개인의 특정 디바이스들에 의해 발견가능한 것으로서 선택될 수 있게 할 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스 발견 서비스(1604)는 (본 명세서에 설명된 바와 같이) 알려진/근처의 컴퓨팅 디바이스(1602)의 컴퓨팅 디바이스 ID(1606)가 식별될 때마다 아이덴티티 관리자(1614)와 인터페이싱하도록 구성될 수 있다. 특히, 컴퓨팅 디바이스 발견 서비스(1604)는, 아이덴티티 관리자(1614)가 컴퓨팅 디바이스 ID(1606)와 연관된 개인(예를 들어, 컴퓨팅 디바이스 ID(1606)에 대응하는 컴퓨팅 디바이스(1602)의 소유자)에 대응하는 사람 ID(1616)를 효과적으로 찾을 수 있도록 컴퓨팅 디바이스 ID(1606)를 아이덴티티 관리자(1614)에 제공하도록 구성될 수 있다. 이어서, 그리고 일부 실시예들에 따르면, 아이덴티티 관리자(1614)는 액션 관리자(1618)가 사람 ID(1616)에 할당된 액션 프로파일(1619)(존재하는 경우)을 식별할 수 있게 하기 위해 사람 ID(1616)를 액션 관리자(1618)에게 제공하도록 구성될 수 있다.
일부 실시예들에 따르면, 액션 프로파일(1619)은 (사람 ID(1616)와 연관된) 알려진 컴퓨팅 디바이스(1602)가 근접해 있을 때 컴퓨팅 디바이스(1602)가 어떻게 응답해야 하는지를 나타내는 파라미터들의 집합을 표현할 수 있다. 예를 들어, 파라미터들의 집합은, 사람 ID(1616)에 대응하는 개인이 근접해 있음을 나타내는 경고가 컴퓨팅 디바이스(1602) 상에 디스플레이되어야 함을 나타낼 수 있다. 다른 예에서, 파라미터들의 집합은 컴퓨팅 디바이스(1602)의 특정 설정들, 예컨대, 통지 설정들이 업데이트되어야 함을 나타낼 수 있다. 전술한 예들은 총망라한 목록을 표현하고자 하는 것이 아니며, 본 개시내용의 범주를 벗어남이 없이 주어진 액션 프로파일(1619)에 의해 임의의 레벨의 입도로 임의의 알려진 카테고리의 액션이 정의될 수 있음에 유의한다.
따라서, 도 16a는 컴퓨팅 디바이스들(1602)이 프라이버시를 보존하면서 근접 조건들 하에서 서로 인식할 수 있게 하는 데 활용될 수 있는 예시적인 아키텍처의 고레벨 개요를 예시한다. 이제 암호화 키들(1608)이 컴퓨팅 디바이스들(1602) 사이에서 교환될 수 있는 방식의 더 상세한 설명은 도 16b 및 도 16c와 관련하여 아래에서 더 상세히 기술될 것이다.
도 16b는 일부 실시예들에 따른, 암호화 키 교환 서버(1622)에 의해 컴퓨팅 디바이스들(1602)이 암호화 키들(1608)을 서로 교환할 수 있게 하기 위한 방법(1630)을 예시한다. 특히, 방법(1630)은 일부 실시예들에 따른, 컴퓨팅 디바이스들(1602)이 암호화 키들(1608)을 서로 간접적으로 교환할 수 있게 하기 위해 암호화 키 교환 서버(1622)에 의해 구현될 수 있다. 도 16b에 도시된 바와 같이, 방법(1630)은 단계(1632)에서 시작하며, 여기서 암호화 키 교환 서버(1622)는 제1 컴퓨팅 디바이스(1602)로부터, (i) 제1 컴퓨팅 디바이스(1602)에 고유한 컴퓨팅 디바이스 ID(1606), (ii) 제1 컴퓨팅 디바이스(1602)와 연관된 개인에 고유한 사람 ID(1616), 및 (iii) 제1 컴퓨팅 디바이스(1602)와 연관된 암호화 키(1608)를 포함하는 데이터 아이템을 수신한다.
제1 컴퓨팅 디바이스(1602)는 암호화 키 교환 서버(1622), 제1 컴퓨팅 디바이스(1602), 및/또는 다른 곳에서 만족되는 임의의 조건에 응답하여 데이터 아이템을 암호화 키 교환 서버(1622)에 제공하도록 구성될 수 있다는 것에 유의한다. 예를 들어, 암호화 키 교환 서버(1622)는 제1 컴퓨팅 디바이스(1602)와 연관된 정보, 예컨대, 컴퓨팅 디바이스 ID(1606), 사람 ID(1616) 등과 연관된 정보를 가질 수 있어서, 암호화 키 교환 서버(1622)는 데이터 아이템에 대해 컴퓨팅 디바이스(1602)에 질의하는 것이 적절한 때를 식별할 수 있다. 이것은, 예를 들어, 암호화 키 교환 서버(1622)가 적어도 하나의 상이한 사람 ID(1616)와 연관된 가족 계정에 사람 ID(1616)를 추가하기 위한 요청을 수신할 때 발생할 수 있다. 이어서, 암호화 키 교환 서버(1622)는 사람 ID(1616)와 연관된 모든 컴퓨팅 디바이스들(1602)에 대해 컴퓨팅 디바이스 ID들(1606)을 식별하는 데이터 구조(도 16a에 예시되지 않음)를 분석하도록 구성될 수 있다. 이어서, 암호화 키 교환 서버(1622)는 컴퓨팅 디바이스들(1602) 각각을 그들의 각자의 데이터 아이템들에 대해 질의하고, 그들 각자의 데이터 아이템들을 적어도 하나의 상이한 사람 ID(1616)와 연관된 모든 컴퓨팅 디바이스들(1602)에 포워딩할 수 있다. 추가적으로, 암호화 키 교환 서버(1622)는 적어도 하나의 상이한 사람 ID(1616)와 연관된 모든 컴퓨팅 디바이스들(1602)을 그들의 각자의 데이터 아이템들에 대해 질의하고, 그들 각자의 데이터 아이템들을 사람 ID(1616)와 연관된 컴퓨팅 디바이스들(1602)에 포워딩하도록 구성될 수 있다.
전술한 시나리오가 예시적이며, 컴퓨팅 디바이스들(1602) 사이의 암호화 키들(1608)의 교환을 인가하기 위한 임의의 접근법이 본 개시내용의 범주로부터 벗어남이 없이 암호화 키 교환 서버(1622)에 의해 구현될 수 있다는 것에 유의한다. 예를 들어, 제1 컴퓨팅 디바이스(1602)를 동작시키는 제1 사용자는 제2 사용자가 제1 사용자에 근접해 있을 때를 제1 사용자가 알고 싶어함을 제2 사용자에게 식별시키기 위해 (예컨대, 제1 컴퓨팅 디바이스(1602) 상에 디스플레이되는 사용자 인터페이스를 통해) 그들의 연락처들을 통해 내비게이팅할 수 있다. 이어서, 제1 컴퓨팅 디바이스(1602)는 제2 사용자와 연관된 사람 ID(1616)(및/또는 이용가능한 경우, 하나 이상의 컴퓨팅 디바이스 ID들(1606))를 포함하는 요청을 암호화 키 교환 서버(1622)에 발행할 수 있다. 이어서, 암호화 키 교환 서버(1622)는 제1 사용자가 그들의 근접성을 인식할 수 있게 하기 위한 허가를 위해 제2 사용자에게 프롬프트하기 위한 요청에 포함된 정보를 활용할 수 있다. 이것은, 예를 들어, 암호화 키 교환 서버(1622)가 제2 사용자와 연관된 컴퓨팅 디바이스들(1602) 모두(또는 서브세트)를 식별하는 것, 및 컴퓨팅 디바이스들(1602)로 하여금 제2 사용자가 제1 사용자에 근접해 있을 때를 제1 사용자가 알고 싶어함을 나타내는 프롬프트를 (예컨대, 컴퓨팅 디바이스들(1602)에 디스플레이되는 사용자 인터페이스들을 통해) 디스플레이하게 하는 것을 수반할 수 있다. 이어서, 제2 사용자는 컴퓨팅 디바이스들(1602)이 제1 컴퓨팅 디바이스(1602)에 근접해 있는 때를 인식하도록 제1 컴퓨팅 디바이스(1602)가 인가되는 제2 사용자와 연관된 컴퓨팅 디바이스들(1602) 모두(또는 서브세트)를 선택할 수 있다.
다른 예에서, 암호화 키 교환 서버(1622)는 사용자들 사이의 상호작용들을 분석하여, 사용자들이 자신들의 근접성들을 인식하도록 서로를 인가하는 것을 제안하는 것이 신중한 조건들을 식별하도록 구성될 수 있다. 예를 들어, 암호화 키 교환 서버(1622)는 제1 개인과 제2 개인 사이에서 일어나는 상호작용들을 분석하도록 구성될 수 있고, 그들이 그들의 근접성들을 인식하도록 서로를 인가하는 것을 제안할 수 있다. 또 다른 예에서, 암호화 키 교환 서버(1622)는 개인들 사이의 기존 관계들을 분석하여 제안들을 제공하는 조건들을 식별할 수 있다. 예를 들어, 제1 개인과 제2 개인 사이의 이용 관계에 관한 정보는 개인들이 근접해 있을 때를 개인들이 인식하는 것이 유익할 것이라는 것을 나타낼 수 있다. 다른 예에서, 개별들의 그룹, 예컨대, 작은, 중간, 또는 큰 비즈니스 사이의 계층적 관계 정보는, 개인들 중 상이한 개인들이 근접해 있을 때를 인식하는 것이 유익할 것임을 나타낼 수 있다. 또한, 전술한 예들은 단지 예시적이며, 암호화 키 교환 서버(1622)는 개인들이 그들의 근접성들을 서로 공유하는 것이 유익할 수 있는 임의의 조건을 식별할 수 있다는 것에 유의한다. 컴퓨팅 디바이스들(1602)은 본 개시내용의 범주로부터 벗어남이 없이 암호화 키 교환 서버(1622)와 동일한 및/또는 추가적인 분석들을 수행할 수 있다는 것에 추가적으로 유의한다.
이제 방법(1630)으로 돌아가서, 단계(1634)에서, 암호화 키 교환 서버(1622)는 컴퓨팅 디바이스 ID(1606) 또는 사람 ID(1616) 중 하나 이상에 기초하여, 제1 컴퓨팅 디바이스(1602)와 관련된 적어도 하나의 컴퓨팅 디바이스(1602)를 식별한다. 단계(1636)에서, 암호화 키 교환 서버(1622)는 데이터 아이템을 적어도 하나의 컴퓨팅 디바이스(1602)에 제공하고, 적어도 하나의 컴퓨팅 디바이스(1602)는 컴퓨팅 디바이스 ID(1606) 및 사람 ID(1616)에 링크되는 알려진 암호화 키(1608)로서 암호화 키(1608)를 저장한다.
방법(1630)의 전부 또는 서브세트가 허가 변화들, 암호화 키들(1608)에 대한 업데이트들 등과 관련하여 반복될 수 있다는 것에 유의한다. 예를 들어, 제1 컴퓨팅 디바이스(1602)가 절충 이벤트 등에 응답하여 그의 암호화 키(1608)를 주기적으로 업데이트하는 것이 필요할 수 있다. 이것이 발생할 때, 제1 컴퓨팅 디바이스(1602)는 대응하는 오래된 암호화 키(1608)를 업데이트된 암호화 키(1608)로 대체하기 위한 요청으로 업데이트된 암호화 키(1608)를 생성하여 암호화 키 교환 서버(1622)에 제공할 수 있다. 이어서, 암호화 키 교환 서버(1622)는, 오래된 암호화 키(1608)를 저장한 제2 컴퓨팅 디바이스들(1602)을 식별하고 업데이트된 암호화 키(1608)를 제2 컴퓨팅 디바이스(1602)에 제공할 수 있다. 이러한 방식으로, 제2 컴퓨팅 디바이스들(1602)은 제1 컴퓨팅 디바이스(1602)가 근접해 있을 때를 식별할 수 있는 상태로 유지될 수 있다.
추가적으로, 암호화 키 교환 서버(1622)는 제2 사용자가 근접해 있을 때를 식별하기 위한 허가를 갖는 제1 사용자를 제2 사용자가 인가해제할 때 (제1 사용자의) 제1 컴퓨팅 디바이스들(1602)로 하여금 (제2 사용자의) 제2 컴퓨팅 디바이스들(1602)과 연관된 알려진 암호화 키들(1608)을 삭제하게 하도록 구성될 수 있음에 유의한다. 예를 들어, 가족 계정과 연관된 사용자가 가족 계정으로부터 제거될 때, 가족 계정 상의 남은 사용자들은 사용자가 근접해 있을 때를 식별하기 위해 더 이상 인가되지 않아야 한다. 따라서, 이들 변경들을 구현하기 위해, 암호화 키 교환 서버(1622)는 가족 계정 상에서 나머지 사용자들에 속하는 컴퓨팅 디바이스들(1602)로 하여금 가족 계정으로부터 제거된 사용자에게 속하는 컴퓨팅 디바이스들(1602)과 연관된 암호화 키들(1608)을 삭제하게 하도록 구성될 수 있다.
따라서, 도 16b는 컴퓨팅 디바이스들(1602)이 암호화 키들(1608)을 서로 교환할 수 있게 하기 위한 서버-중심 기법을 개시한다. 그러나, 본 명세서에서 이전에 언급된 바와 같이, 컴퓨팅 디바이스들(1602)은 또한 암호화 키 교환 서버(1622)의 개입 없이 암호화 키들(1608)을 공유할 수 있다. 이와 관련하여, 도 16c는 일부 실시예들에 따른, 컴퓨팅 디바이스들(1602)이 암호화 키들(1608)을 서로 직접 교환할 수 있게 하기 위한 방법(1650)을 예시한다. 도 16c에 도시된 바와 같이, 방법(1650)은 단계(1652)에서 시작하며, 여기서 제1 컴퓨팅 디바이스(1602)는 제1 컴퓨팅 디바이스(1602)가 제2 컴퓨팅 디바이스(1602) 근처에 있을 때를 제2 컴퓨팅 디바이스(1602)가 알게 할 수 있게 하기 위한 조건, 예컨대, 도 16b와 관련하여 전술된 조건들을 식별한다. 단계(1654)에서, 제1 컴퓨팅 디바이스(1602)는 (i) 제1 컴퓨팅 디바이스(1602)에 고유한 컴퓨팅 디바이스 ID(1606), (ii) 제1 컴퓨팅 디바이스(1602)와 연관된 개인에 고유한 사람 ID(1616), 및 (iii) 제1 컴퓨팅 디바이스(1602)와 연관된 암호화 키(1608)를 포함하는 데이터 아이템을 제2 컴퓨팅 디바이스(1602)에 제공한다. 이어서, 그리고 본 명세서에 기술된 바와 같이, 제2 컴퓨팅 디바이스(1602)는 제2 컴퓨팅 디바이스(1602)가 제1 컴퓨팅 디바이스(1602)의 근접성을 검출할 수 있게 되도록 데이터 아이템의 다양한 컴포넌트들을 저장할 수 있다.
제1 컴퓨팅 디바이스(1602)는 본 개시내용의 범주로부터 벗어남이 없이 데이터를 송신하는 임의의 알려진 방법을 사용하여 제2 컴퓨팅 디바이스(1602)에 데이터 아이템을 제공하도록 구성될 수 있다는 것에 유의한다. 예를 들어, 제1/제2 컴퓨팅 디바이스들(1602)은 본 개시내용의 범주를 벗어나지 않으면서 블루투스, 근거리 통신(NFC), WiFi, 초광대역(UWB), 및/또는 셀룰러를 활용할 수 있다.
따라서, 도 16b 및 도 16c는 일부 실시예들에 따른, 암호화 키 교환 서버(1622)에 의해 암호화 키들(1608)이 컴퓨팅 디바이스들(1602) 사이에서 교환될 수 있는 방식에 대한 상세한 설명을 제공한다. 추가적으로, 광고 패킷들(1620)이 송신 및 분석될 수 있는 방식에 대한 보다 상세한 설명은 이제 도 17a 및 도 17b와 관련하여 아래에서 설명될 것이다.
도 17a는 일부 실시예들에 따른, 광고 패킷(1620)을 송신하는 컴퓨팅 디바이스(1602-1)의 개념도(1700)를 예시한다. 도 17a에 도시된 바와 같이, 컴퓨팅 디바이스(1602-1)는 그의 암호화 키(1608) 및 리볼빙 어드레스(1610)를 활용하여 광고 패킷(1620)을 생성할 수 있다. 특히, 컴퓨팅 디바이스(1602-1)는 그의 암호화 키(1608)를 활용하여 리볼빙 어드레스(1610)에 대한 해시 동작(1702)을 수행하여 서픽스(suffix)(1706)를 생성할 수 있다. 일부 실시예들에 따르면, 서픽스(1706)는 해시 동작(1702)에 의해 생성된 값의 전부 또는 일부, 예컨대, 해시 동작(1702)에 의해 생성된 값의 처음 3 바이트를 표현할 수 있다. 임의의 경우에, 서픽스(1706)는 프리픽스(1704), 즉, 리볼빙 어드레스(1610)와 조합되어 광고 패킷(1620)을 형성할 수 있으며, 이는 광고 패킷(1620)을 검출할 수 있는 임의의 근처의 컴퓨팅 디바이스들(1602)(예컨대, 컴퓨팅 디바이스(1602-2))에 의해 수신 및 분석될 수 있다. 도 17a에 예시된 광고 패킷(1620)에 포함된 정보는 예시적이며, 다른 변형들이 본 개시내용의 범주로부터 벗어남이 없이 구현될 수 있다는 것에 유의한다. 예를 들어, 프리픽스(1704) 및 서픽스(1706)는 반전될 수 있다. 다른 예에서, 리볼빙 어드레스(1610)가 컴퓨팅 디바이스(1602-1)와 연관된 현재 네트워크 어드레스를 표현할 때, 프리픽스(1704)는 생략될 수 있는데, 이는 광고 패킷(1620)이 광고 패킷(1620)의 다른 필드 내의 리볼빙 어드레스(1610)를 포함할 것이기 때문이다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(1602-2)는 광고 패킷(1620)을 분석하기 전에 광고 패킷(1620)이 적어도 하나의 조건을 만족하는지를 검증하도록 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(1602-2)는 (1) 광고 패킷(1620)이 임계치를 만족하는 신호 강도로 수신된 것을 검증하고/하거나 (2) 광고 패킷(1620)의 전체적인 완성도를 검증할 수 있다. 예를 들어, 컴퓨팅 디바이스(1602-2)는 낮은 신호 강도로 수신되고/되거나 단편화된 광고 패킷들(1620)을 무시할 수 있는데, 그 이유는 그러한 광고 패킷들(1620)이 광고 패킷들(1620)을 송신하는 컴퓨팅 디바이스(1602)의 근접성이 아직 분석되지 않아야 함을 나타내기 때문이다.
추가적으로, 컴퓨팅 디바이스(1602-1)는 본 개시내용의 범주를 벗어나지 않으면서 임의의 접근법에 따라 광고 패킷들(1620)을 송신하도록 구성될 수 있다는 것에 유의한다. 특히, 컴퓨팅 디바이스(1602-1)는 고정된 주기적 레이트, 하나 이상의 조건들이 만족되는 것 등에 따라 광고 패킷(1620)을 생성하고 송신하도록 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(1602-1)는 컴퓨팅 디바이스(1602-1)의 배터리 레벨이 임계치를 만족하는 한 매 초마다 광고 패킷(1620)을 송신할 수 있다. 다른 예에서, 컴퓨팅 디바이스(1602-1)는, 프라이버시 모드가 관련될 때, 예컨대 컴퓨팅 디바이스(1602-1)가 지리적 경계 내에 있을 때, 컴퓨팅 디바이스(1602-1)가 특정 모드(예를 들어, 활성 전화 통화)에서 동작하고 있을 때 등에서, 광고 패킷들(1620)의 송신을 중지하도록 구성될 수 있다.
추가적으로, 컴퓨팅 디바이스(1602-1)는 다른 컴퓨팅 디바이스들(1602)이 컴퓨팅 디바이스(1602-1)를 검출할 수 있는 유효 경계를 달성하기 위해 광고 패킷들(1620)이 송신되는 방식을 조정할 수 있다는 것에 유의한다. 예를 들어, 컴퓨팅 디바이스(1602-1)는 원하는 근접 임계치, 광고 패킷들(1620)을 송신하기 위해 사용되는 통신 인터페이스의 유형 등에 따라 광고 패킷들(1620)이 송신되는 전력 레벨을 변경할 수 있다.
임의의 경우에, 컴퓨팅 디바이스(1602-2)가 광고 패킷(1620)을 수신하고, 광고 패킷(1620)이 전술한 조건들을 만족시킬 때, 컴퓨팅 디바이스(1602-2)는 광고 패킷(1620)을 분석하여 컴퓨팅 디바이스(1602-2)에 알려진 컴퓨팅 디바이스(1602)에 의해 광고 패킷(1620)이 송신되는지 여부를 식별하기 시작할 수 있다. 일부 실시예들에 따르면, 이는, 컴퓨팅 디바이스(1602-2)가 그의 알려진 암호화 키들(1608) 각각에 대해, (1) 광고 패킷(1620)의 프리픽스(1704)에 대해 동일한 해시 동작(1702)을 수행하는 것, 및 (2) 해시 동작(1702)에 의해 생성된 값을 비교하여, 값이 광고 패킷(1620)의 서픽스(1706)와 매칭되는지 여부를 결정하는 것을 수반할 수 있다.
일부 실시예들에 따르면, 컴퓨팅 디바이스(1602-2)는 컴퓨팅 디바이스(1602-2)에 의해 관리되는 상이한 알려진 암호화 키들(1608)이 광고 패킷(1620)에 대해 적용되는 방식을 우선순위화할 수 있다. 예를 들어, 컴퓨팅 디바이스(1602-2)가 가장 빈번하게 접촉하게 되는 컴퓨팅 디바이스들(1602)과 연관된 알려진 암호화 키들(1608)은, 그렇지 않으면 랜덤하게 또는 표준 순서로 광고 패킷들(1620)을 인증하려 시도할 때 발생할 수 있는 시간/작업의 전체 양을 감소시키는 우선순위화된 방식으로 액세스될 수 있다. 다른 예에서, 중요한 개인들과 연관된 암호화 키들(1608)은 우선순위화될 수 있다. 전술한 예들은 제한적인 것으로 의도되지 않으며, 암호화 키들(1608)이 본 개시내용의 범주로부터 벗어남이 없이 임의의 접근법을 사용하여 우선순위화될 수 있다는 것에 유의한다.
임의의 경우에, 매칭을 생성하는 알려진 암호화 키(1608)가 발견될 때, 컴퓨팅 디바이스(1602-2)는 알려진 암호화 키(1608)에 대응하는 컴퓨팅 디바이스 ID(1606)를 식별한다. 이어서, 컴퓨팅 디바이스(1602-2)는 컴퓨팅 디바이스 ID(1606)를 활용하여 대응하는 사람 ID(1616)를 식별할 수 있다. 이어서, 컴퓨팅 디바이스(1602-2)는 사람 ID(1616)를 활용하여, 사람 ID(1616)에 대응하는 액션 프로파일(1619)(존재하는 경우)을 식별하고 액션 프로파일(1619)에 따라 진행할 수 있다. 이는, 예를 들어, 컴퓨팅 디바이스(1602-1)와 관련하여 근접 "시작" 이벤트가 발생할 때 수행되어야 하는 액션 프로파일(1619)에 정의된 액션들을 식별하는 것을 수반할 수 있다.
추가적으로, 그리고 도 17a에 예시되지 않았지만, 컴퓨팅 디바이스(1602-2)는, 예를 들어, 컴퓨팅 디바이스(1602-1)에 의해 송신된 추가적인 광고 패킷들(1620)을 분석하는 것, 근접 시작 이벤트 이후 형성된 통신 채널을 통해 컴퓨팅 디바이스(1602-1)를 주기적으로 핑잉(pinging)하는 것 등에 의해, 컴퓨팅 디바이스(1602-1)가 컴퓨팅 디바이스(1602-2)에 계속 근접하게 유지되는지 여부를 모니터링하도록 구성될 수 있다. 이와 관련하여, 컴퓨팅 디바이스(1602-1)가 컴퓨팅 디바이스(1602-2)에 대한 물리적 근접 임계치를 더 이상 만족하지 않음을 컴퓨팅 디바이스(1602-2)가 식별할 때, 컴퓨팅 디바이스(1602-2)는 컴퓨팅 디바이스(1602-2)에서 각자의 액션 프로파일(1619)을 비활성화시킬 수 있다. 이는, 예를 들어, 컴퓨팅 디바이스(1602-1)와 관련하여 근접 "종료" 이벤트가 발생할 때 수행되어야 하는 액션 프로파일(1619)에 정의된 액션들을 식별하는 것을 수반할 수 있다.
따라서, 도 17a는 일부 실시예들에 따른, 컴퓨팅 디바이스들(1602)이 본 명세서에 기재된 기법들에 따라 광고 패킷들(1620)을 송신 및 분석할 수 있는 방식을 기재한다. 컴퓨팅 디바이스들(1602)이 광고 패킷들(1620)을 송신 및 분석할 수 있는 방식에 대한 보다 상세한 설명은 이제 도 17b와 관련하여 더 상세히 후술될 것이다.
도 17b는 일부 실시예들에 따른, 광고 패킷들(1620)을 송신 및 분석하기 위한 방법(1750)을 예시한다. 도 17b에 도시된 바와 같이, 방법(1750)은 단계(1752)에서 시작하며, 여기서 제1 컴퓨팅 디바이스(1602)는, (예컨대, 도 17a와 관련하여 전술된 바와 같이) (i) 제2 컴퓨팅 디바이스(1602)와 연관된 네트워크 어드레스(예컨대, 리볼빙 어드레스(1610)), 및 (ii) 제2 컴퓨팅 디바이스(1602)와 연관된 암호화 키(1608) 및 리볼빙 어드레스(1610)를 사용하여 계산되는 해시 값을 포함하는 광고 패킷(1620)을 제2 컴퓨팅 디바이스(1602)로부터 수신한다. 단계(1754)에서, 제1 컴퓨팅 디바이스(1602)는 제1 컴퓨팅 디바이스(1602)에 액세스가능한 복수의 알려진 암호화 키들(1608)에서 각각의 알려진 암호화 키(1608)에 대한 단계들(1756 내지 1758)을 실행한다. 특히, 단계(1756)에서, 제1 컴퓨팅 디바이스(1602)는 (예를 들어, 도 17a와 관련하여 또한 전술된 바와 같이) 리볼빙 어드레스(1610) 및 알려진 암호화 키(1608)를 사용하여 임시 해시 값을 계산한다. 단계(1758)에서, 제1 컴퓨팅 디바이스(1602)는, 임시 해시 값 및 해시 값이 매칭함을 식별하는 것에 응답하여, (예를 들어, 도 17a와 관련하여 또한 전술된 바와 같이) 제2 컴퓨팅 디바이스(1602)와 연관된 동작을 수행한다.
따라서, 도 17a 및 도 17b는 일부 실시예들에 따른, 광고 패킷들(1620)이 송신 및 분석될 수 있는 방식에 대한 상세한 설명을 제공한다. 추가적으로, 도 18은 일부 실시예들에 따른, 다른 사용자들이 서로 그들의 근접성을 인식하도록 사용자들이 인가할 수 있는 방식을 조정하기 위해 활용될 수 있는 예시적인 사용자 인터페이스(1800)의 예시를 제공한다. 도 18에 도시된 바와 같이, 컴퓨팅 디바이스(1602-1) 상에 디스플레이될 수 있는 예시적인 사용자 인터페이스(1800)는 임의의 개인들(전부)이 컴퓨팅 디바이스(1602-1)의 사용자가 그들에 근접해 있는 때를 식별하도록 허용되는지 여부를 토글링하는 토글 스위치(1802)를 포함할 수 있다. 도 18에 예시된 바와 같이, 토글 스위치(1802)가 활성화될 때, 상이한 사람들이 버튼(1804)을 사용하여 추가될 수 있고, 기존의 사람들에 대한 인가는 각자의 토글 버튼들(1808)을 사용하여 오프 및 온 상태로 토글링될 수 있다.
추가적으로, 사용자 인터페이스(1800)는 각각의 개인에 대한 각자의 버튼들(1806)을 포함할 수 있는데, 이는 사용자가 개인의 컴퓨팅 디바이스들(1602)이 검출하도록 허용되는 그의 혹은 그녀의 컴퓨팅 디바이스들(1602) 중 특정 것들을 특정할 수 있게 한다. 예를 들어, 도 18에서, John Smith는, 컴퓨팅 디바이스(1602-1)를 포함하는 모든 컴퓨팅 디바이스들(1602)이 John Smith의 컴퓨팅 디바이스들(1602)에 근접해 있는 때를 인식하도록 허용된다. 다른 예에서, Craig Sanchez는 단지 사용자의 태블릿 디바이스(예컨대, 컴퓨팅 디바이스(1602-2))가 Craig Sanchez의 컴퓨팅 디바이스들(1602)에 근접할 때를 인식하도록 허용될 뿐이다. 더 미세한-입도 레벨들의 제어가 본 개시내용의 범주로부터 벗어남이 없이 제공될 수 있다는 것에 유의한다. 예를 들어, 사용자 인터페이스는 또한 컴퓨팅 디바이스(1602-1)의 사용자에게 속하는 선택된 컴퓨팅 디바이스들(1602)이 근접해 있을 때를 식별하도록 인가된 John Smith에게 속하는 특정 컴퓨팅 디바이스들(1602), 예를 들어, 단지 John Smith의 모바일 디바이스만을 컴퓨팅 디바이스(1602-1)의 사용자가 선택할 수 있게 할 수 있다. 일부 실시예들에서, 이것은 John Smith에게 속하는 컴퓨팅 디바이스들(1602)의 목록을 보기 위한 허가를 요청하는 것을 수반할 수 있으며, 여기서, 사용자는 컴퓨팅 디바이스(1602-1)의 사용자에게 속하는 선택된 컴퓨팅 디바이스들(1602)의 존재를 검출하도록 허가된 John Smith에게 속하는 컴퓨팅 디바이스들(1602) 중 특정 컴퓨팅 디바이스들을 선택할 수 있다.
도 18에 예시되지 않았지만, 추가적인 사용자 인터페이스 제어들이 사람들 및 그들의 할당된 허가들의 관리를 추가로 가능하게 하기 위해 예시적인 사용자 인터페이스 내에 통합될 수 있다는 것을 이해해야 한다. 예를 들어, 사용자는 사람이 삭제될 수 있게 하는 버튼을 노출시키기 위해 사람을 표현하는 임의의 사용자 요소 상에서 좌측으로 스와이프할 수 있다.
추가적으로, 도 19는 일부 실시예들에 따른, 알려진 컴퓨팅 디바이스들(1602)에 대한 그들의 근접성에 기초하여 사용자들의 대략적인 위치들을 식별하기 위해 활용될 수 있는 예시적인 사용자 인터페이스(1820)의 예시를 제공한다. 도 19에 도시된 바와 같이, 컴퓨팅 디바이스(1602-1) 상에 디스플레이될 수 있는 예시적인 사용자 인터페이스(1820)는 컴퓨팅 디바이스(1602-1)에 알려진 컴퓨팅 디바이스들(1602)에 대한 각자의 토글 스위치들(1822)을 포함할 수 있다. 일부 실시예들에 따르면, 사용자 인터페이스(1820)에 열거된 컴퓨팅 디바이스들(1602)은 대부분 고정된 것들, 예컨대, 스마트 스피커들을 포함하는 전자 주변 디바이스들, 스마트 허브 등을 포함하도록 필터링될 수 있어서, 그러한 컴퓨팅 디바이스들(1602)에 근접한 다른 컴퓨팅 디바이스들(1602)의 일반화된 위치가 이해될 수 있다. 그러나, 컴퓨팅 디바이스(1602-1)가 연관되고 상호작용하도록 인가된 임의의 컴퓨팅 디바이스(1602)가 사용자 인터페이스(1820)에 열거될 수 있다는 것에 유의한다.
일부 실시예들에 따르면, 알려진 컴퓨팅 디바이스(1602)에 대한 토글 스위치(1822)가 활성 위치로 스위칭되는 경우, 컴퓨팅 디바이스(1602-1)는 컴퓨팅 디바이스들(1602)과 연관되고 알려진 컴퓨팅 디바이스(1602)에 근접해 있는 개인들을 디스플레이하도록 구성될 수 있다. 예를 들어, 도 19에 도시된 바와 같이, 개인들 "John Smith" 및 "Sarah Smith"는 사용자 인터페이스 요소들(1824)에 의해 사용자 인터페이스(1820) 내에서 반영되는 컴퓨팅 디바이스(1602) "거실 스피커"에 근접해 있다. 또한 도 19에 도시된 바와 같이, 개인 "Suzi Smith"는 사용자 인터페이스 요소(1826)에 의해 사용자 인터페이스(1820) 내에서 반영되는 컴퓨팅 디바이스(1602) "차고 스마트 허브"에 근접해 있다. 추가 컴퓨팅 디바이스들(1602)은 버튼(1828)을 사용하여 사용자 인터페이스(1820)에 추가될 수 있다.
추가적으로, 본 명세서에 기술된 허가/인가 기법들은, 개인들의 위치를 알도록 컴퓨팅 디바이스(1602-1)(및 그의 소유자/사용자)를 인가한 개인들에 대한 정보만을 사용자 인터페이스(1820)가 디스플레이하는 것을 보장하도록 구현될 수 있음에 유의한다. 예를 들어, 도 19의 콘텍스트 내에서, 컴퓨팅 디바이스(1602-1)(및 그의 소유자/사용자)는, John Smith, Sarah Smith, 및 Suzi Smith가 컴퓨팅 디바이스(1602-1)에 근접해 있을 뿐만 아니라, 거실 스피커 및 차고 스마트 허브를 포함하는, 컴퓨팅 디바이스(1602-1)가 연관되는 다른 컴퓨팅 디바이스들(1602)에 근접해 있을 때를 식별하도록 그러한 개인들에 의해 허용되었다. 이와 관련하여, 컴퓨팅 디바이스(1602-1)가, John, Sarah, 및 Suzi Smith가 컴퓨팅 디바이스(1602-1)에 근접해 있는 때를 검출하도록 인가되는 경우, 컴퓨팅 디바이스(1602-1)는 그들 개인들과 연관된 컴퓨팅 디바이스(1602)들과 연관된 암호화 키(1608)들을 획득할 수 있다. 이어서, 컴퓨팅 디바이스(1602-1)는 컴퓨팅 디바이스(1602-1), 즉, 거실 스피커 및 차고 스마트 허브와 연관된 컴퓨팅 디바이스들(1602)로 암호화 키들(1608)을 포워딩할 수 있어서, 그러한 디바이스들은 John, Sarah, 및 Suzi Smith가 거실 스피커 및 차고 스마트 허브에 근접해 있을 때를 검출할 수 있다.
추가적으로, 본 명세서에 기재된 실시예들은 일반적으로 WiFi 정보의 공유를 논의하지만, 본 명세서에 기술된 다양한 컴퓨팅 디바이스들은, 본 개시내용의 범주를 벗어나지 않으면서, 서로의 사이에서 임의의 형태의 정보, 예를 들어, 연락처 정보, 사진들, 비디오들, 문서들, 파일들 등을 공유하도록 구성될 수 있다는 것을 유의한다.
본 명세서에 기재된 실시예들은 일부 실시예들에 따른, 다른 컴퓨팅 디바이스들에 대한 컴퓨팅 디바이스의 배향에 기초하여 근처의/알려진 컴퓨팅 디바이스들을 필터링하기 위한 추가 기법을 포함한다. 컴퓨팅 디바이스가 컴퓨팅 디바이스의 근처에 있고 그에 알려진 하나 이상의 컴퓨팅 디바이스들(존재하는 경우)을 식별할 수 있게 하기 위해, 컴퓨팅 디바이스는 본 명세서에 기재된 발견 기법들 중 임의의 것을 활용할 수 있다는 것에 유의한다. 이어서, 컴퓨팅 디바이스는 하나 이상의 컴퓨팅 디바이스들에 대한 컴퓨팅 디바이스의 배향에 기초하여 하나 이상의 컴퓨팅 디바이스들을 필터링할 수 있다. 컴퓨팅 디바이스가 다른 컴퓨팅 디바이스들에 대한 자신의 배향을 식별할 수 있게 하는 임의의 하드웨어, 예를 들어, 초광대역(UWB) 컴포넌트들을 포함하도록 컴퓨팅 디바이스가 구성될 수 있음에 유의한다. 그러나, UWB 하드웨어의 사용은 단지 예시적이며, 임의의 다른 하드웨어 컴포넌트들(및/또는 이들의 조합들)이 컴퓨팅 디바이스가 동일한(또는 유사한) 배향 기반 결정들을 수행할 수 있게 하는데 활용될 수 있다는 것에 유의한다.
임의의 경우에, 배향 기반 필터링의 예시적인 시나리오의 제1 단계는 5개의 상이한 컴퓨팅 디바이스들, 예를 들어, Sarah Green, Herbert Williams, Ingrid Solomund, Rebecca Vortune, 및 Alyssa Ternola에게 속하는 컴퓨팅 디바이스들이 컴퓨팅 디바이스 근처에 있고 그에 알려진 것을 컴퓨팅 디바이스가 발견하는 것을 수반할 수 있다. 간단히 말해서, 전술한 사용자들은 본 명세서에 기술된 근접 기반 특징부들에 참가하도록 "옵트-인(opted-in)"되었음을 이해해야 한다. 추가적으로, 사용자들이 본 개시내용의 범주로부터 벗어남이 없이 본 명세서에 기술된 특징들 중 임의의 것을 용이하게 옵트-인 또는 옵트-아웃할 수 있음을 이해해야 한다. 예를 들어, 사용자 인터페이스는, 각자의 제1 및 제2 사용자들과 연관된 임의의 컴퓨팅 디바이스들이 서로 근접하게 진입할 때, 제1 사용자 및/또는 제2 사용자가 통지받는 것에 대해 동의하도록 제1 사용자 및 제2 사용자에게 프롬프트할 수 있다. 이어서, 제1 사용자 및/또는 제2 사용자는, 각자의 제1 및 제2 사용자들과 연관된 컴퓨팅 디바이스들이 서로 근접하게 진입할 때 근접 기반 특징부들이 트리거되지 않도록 이러한 능력을 옵트 아웃할 수 있다.
임의의 경우에서, 전술한 컴퓨팅 디바이스가 5개의 상이한 컴퓨팅 디바이스들을 발견할 때, 컴퓨팅 디바이스는 컴퓨팅 디바이스의 사용자가 근처의 사용자들의 목록을 관찰할 수 있게 하는 사용자 인터페이스를 생성할 수 있다. 일부 실시예들에 따르면, 사용자 인터페이스는, 선택될 때 컴퓨팅 디바이스로 하여금 컴퓨팅 디바이스가 향하는 방향에 기초하여 근처의 사용자들의 목록을 필터링하게 하는 사용자 인터페이스 요소를 포함할 수 있다. 특히, 필터는, 컴퓨팅 디바이스가 근처의 사용자들의 컴퓨팅 디바이스들에 대해 향해지는 현재 방향에 기초하여 근처의 사용자들의 목록이 능동적으로 업데이트될 수 있게 한다. 추가적으로, 사용자 인터페이스는, 선택될 때 컴퓨팅 디바이스로 하여금 근처의 사용자들 중 적어도 하나와 관련하여 특정 액션, 예컨대, 하나 이상의 파일들을 근처의 사용자들과 공유하는 것, 근처의 사용자들에게 이메일을 전송하는 것 등을 수행하게 하는 사용자 인터페이스 요소를 포함할 수 있다.
일부 실시예들에 따르면, 제2 단계는, 사용자가 컴퓨팅 디바이스의 배향에 기초하여 필터링할 옵션을 선택하는 것에 응답하여 컴퓨팅 디바이스가 사용자 인터페이스를 업데이트하는 것을 수반할 수 있다. 일례에서, 컴퓨팅 디바이스는 Ingrid Solomund에게 속하는 컴퓨팅 디바이스를 향해 배향되고, 근처의 사용자들의 목록은 Ingrid Solomund만을 포함하도록 대응하게 업데이트된다. 이 시점에서, 컴퓨팅 디바이스의 사용자는 사용자 인터페이스 요소를 통해 Ingrid Solomund를 선택하고, 이어서 컴퓨팅 디바이스로 하여금 다른 사용자 인터페이스 요소의 선택을 통해 Ingrid Solomund와 관련하여 특정 액션을 수행하게 하는 옵션을 갖는다.
간단히 말해서, 직관적이고 감각적인 배향 기반 기능을 제공하기 위해 다양한 설정들이 조정될 수 있다는 것에 유의한다. 일례에서, 전체 방향성 범위는 다른 컴퓨팅 디바이스들에 대한 컴퓨팅 디바이스의 배향의 전체 감도를 감소시키도록 확장될 수 있다. 반대로, 전체 방향성 범위는 다른 컴퓨팅 디바이스들에 대한 컴퓨팅 디바이스의 배향의 전체 감도를 증가시키도록 좁아질 수 있다. 다른 예에서, 컴퓨팅 디바이스가 컴퓨팅 디바이스에 의해 달리 무시될 수 있는 추가적인 컴퓨팅 디바이스들을 식별할 수 있게 하기 위해 거리 임계치가 증가될 수 있다. 반대로, 거리 임계치는, 컴퓨팅 디바이스가 너무 멀리 있는 것으로 고려되는 컴퓨팅 디바이스들을 관심 대상으로 검출하는 것을 방지하도록 감소될 수 있다. 그러한 구성들은 단지 예시적이며, 컴퓨팅 디바이스들 및 그들의 서로에 대한 배향들과 관련된 임의의 다른 구성들이 본 개시내용의 범주로부터 벗어남이 없이 조정될 수 있다는 것에 유의한다.
제2 단계의 종료 시에, 사용자는 Ingrid Solomund와 연관된 어떠한 액션도 수행하지 않도록 선택하고, 대신에 다른 개인들을 향해 컴퓨팅 디바이스를 재배향시킨다. 이 개념은 제3 단계에서 캡처되는데, 여기서 컴퓨팅 디바이스는 Rebecca Vortune 및 Alyssa Ternola의 컴퓨팅 디바이스들을 향해 새로 배향된다. 이 시점에서, 컴퓨팅 디바이스의 사용자는 사용자 인터페이스 요소들을 통해 Rebecca Vortune 및/또는 Alyssa Ternola를 선택하고, 이어서 컴퓨팅 디바이스로 하여금 다른 사용자 인터페이스 요소의 선택을 통해 이들 개인들과 관련하여 특정 액션을 수행하게 하는 옵션을 갖는다. 이어서, 제4 단계에서, 컴퓨팅 디바이스의 사용자는 사용자 인터페이스 요소들을 통해 Rebecca Vortune 및 Alyssa Ternola 둘 모두를 선택한다. 이어서, 컴퓨팅 디바이스는 사용자가 사용자 인터페이스 요소를 선택하는 것(예컨대, 파일들을 전송하는 것, 이메일을 전송하는 것 등)에 응답하여 이들 개인들과 연관된 액션을 수행할 수 있다.
따라서, 전술한 기법들은 일부 실시예들에 따른, 근처의/알려진 컴퓨팅 디바이스들이 다른 컴퓨팅 디바이스들에 대한 컴퓨팅 디바이스의 배향에 기초하여 필터링될 수 있는 예시적인 시나리오를 예시한다.
도 20a 내지 도 20c는 일부 실시예들에 따른, 특정 사용자의 하나 이상의 컴퓨팅 디바이스들이 컴퓨팅 디바이스에 근접해 있을 때 컴퓨팅 디바이스 상에서 리마인더를 트리거하기 위한 기법의 시퀀스 도면을 예시한다. 도 20a에 도시된 바와 같이, 제1 단계(2000)는 리마인더에 대한 파라미터들이 컴퓨팅 디바이스(2002)에 입력될 수 있는 사용자 인터페이스(2004)를 컴퓨팅 디바이스(2002)가 디스플레이하는 것을 수반할 수 있다. 일부 실시예들에 따르면, 사용자 인터페이스(2004)는, 도 20a에 도시된 바와 같이, 문자열 값 "Say congratulations on retirement"를 할당한 리마인더에 대한 대상 필드를 포함할 수 있다. 추가적으로, 사용자 인터페이스(2004)는 시간 조건의 만족도에 기초하여, 즉 날짜 및 시간에 기초하여 리마인더가 트리거될 수 있게 하는 사용자 인터페이스 요소(2005)를 포함할 수 있다. 또한, 사용자 인터페이스(2004)는, 지리적 근접 상태의 만족도에 기초하여, 즉 컴퓨팅 디바이스(2002)가 특정 영역(예컨대, 직장 위치, 집 위치, 특정 주소 등)에 도달하는 것에 기초하여, 리마인더가 트리거될 수 있게 하는 사용자 인터페이스 요소(2006)를 포함할 수 있다. 추가적으로, 사용자 인터페이스(2004)는 컴퓨팅 디바이스(2002)가 특정 사용자에게 속하는 근처의 컴퓨팅 디바이스의 근접성 내에 들어올 때 리마인더가 트리거될 수 있게 하는 사용자 인터페이스 요소(2007)를 포함할 수 있다. 추가적으로, 사용자 인터페이스(2004)는 리마인더에 대한 모든 관련 파라미터들이 확립되었을 때 리마인더를 설정하기 위한 사용자 인터페이스 요소(2009)를 포함할 수 있다.
도 20a에 도시된 바와 같이, 사용자 인터페이스 요소(2007)가 선택되고, 이는 추가적인 사용자 인터페이스 요소들이 사용자 인터페이스(2004) 내에 디스플레이되게 한다. 특히, 추가적인 사용자 인터페이스 요소들은 하나 이상의 개인들이 선택될 수 있게 하는 사용자 인터페이스 요소(2008-1) 뿐만 아니라 거리 임계치가 확립될 수 있게 하는 사용자 인터페이스 요소(2008-2)를 포함한다. 따라서, 도 20b에 예시된 제2 단계(2010)는 하나 이상의 개인들의 선택을 가능하게 하는 사용자 인터페이스 요소(2008-1)의 선택에 응답하여 컴퓨팅 디바이스(2002)가 사용자 인터페이스(2012)를 디스플레이하는 것을 수반한다. 도 20b에 도시된 바와 같이, 사용자 인터페이스(2012)는 사용자가 이름으로 (예컨대, 컴퓨팅 디바이스(2002)에 액세스가능한 주소록에서) 개인들을 검색할 수 있게 할 수 있다. 추가적으로, 사용자 인터페이스(2012)는 근처의 사람들의 목록을 디스플레이할 수 있으며, 이는 본 명세서에 기재된 발견 기법들에 따라 컴퓨팅 디바이스(2002)에 의해 결정될 수 있다. 추가적으로, 사용자 인터페이스(2012)는 연락처들의 목록(예컨대, 전술한 주소록에 포함된 것들)을 디스플레이할 수 있다. 사용자 인터페이스(2012)는 단지 예시적인 것이며 어떠한 방식으로도 제한하는 것으로 해석되어서는 안된다는 것에 유의한다. 반대로, 사용자 인터페이스(2012)는 선택을 위한 임의의 방식으로 조직화된 추가 연락처들, 예컨대 카테고리들에 기초하여 조직화된 연락처들의 그룹들(예컨대, "직장 팀", "가족" 등)을 포함할 수 있다.
어느 경우든, 제2 단계(2010)는, 도 20c에 예시된, 제3 단계(2020)가 실행되게 하는, Caroline Tsing의 선택(2014)을 수반한다. 도 20c에 도시된 바와 같이, 사용자 인터페이스(2004)는 Caroline Tsing이 개인으로서 선택되었음을 반영하여, Caroline Tsing에 대한 임의의 근접성, 구체적으로, 컴퓨팅 디바이스(2002)(또는 연관된 컴퓨팅 디바이스)와 Caroline Tsing과 연관된 임의의 컴퓨팅 디바이스 사이의 임의의 근접성이 컴퓨팅 디바이스(2002)(또는 연관된 컴퓨팅 디바이스)에서 리마인더를 트리거해야 하도록 디스플레이 및 업데이트된다. 추가적으로, 도 20c에 도시된 바와 같이, 30 피트의 거리 임계치는 사용자 인터페이스 요소(2008-2)를 통해 리마인더와 연관된다. 이러한 거리 임계치는 예시적이며, 임의의 레벨의 입도에서의 임의의 다른 거리 임계치가 본 개시내용의 범위로부터 벗어남이 없이 확립될 수 있다는 것에 유의한다.
마지막으로, 도 20c의 제3 단계(2020)의 종료 시에, 리마인더는 사용자 인터페이스 요소(2009)를 통해 설정된다. 그 후에, 컴퓨팅 디바이스(2002)(또는 연관된 컴퓨팅 디바이스)는 Caroline Tsing과 연관된 임의의 컴퓨팅 디바이스가 컴퓨팅 디바이스(2002)(또는 연관된 컴퓨팅 디바이스)의 30 피트 내에 들어올 때 리마인더를 트리거할 것이다.
추가적으로, 도 21은 일부 실시예들에 따른, 선택을 위해 근처의 컴퓨팅 디바이스들을 그룹화하기 위한 기법의 개념도(2100)를 예시한다. 도 21에 도시된 바와 같이, 컴퓨팅 디바이스(2102)는, 근처의 사람들의 목록을 디스플레이하는 사용자 인터페이스(2104)를 생성할 수 있고, 이는 본 명세서에 기재된 발견 기법들에 따라 컴퓨팅 디바이스(2102)에 의해 결정될 수 있다. 또한 도 21에 도시된 바와 같이, 사용자 인터페이스(2104)는 사용자 인터페이스(2104) 내에 디스플레이되는 근처의 사람들 모두를 선택하기 위한 사용자 인터페이스 요소(2106)를 포함할 수 있다. 이는, 예를 들어, 컴퓨팅 디바이스(2102)의 사용자가 가족, 친구들, 동료 작업자들 등과 만나는 경우 유용할 수 있고, 그러한 개인들과 관련하여 (사용자 인터페이스 요소(2108)를 통해) 일부 액션(예컨대, 개인들과 하나 이상의 파일들을 공유하는 것, 개인들에게 이메일을 전송하는 것 등)을 수행하기를 원할 것이다.
추가적인 그룹화 기법들이 본 개시내용의 범주로부터 벗어남이 없이 사용자 인터페이스(2104) 내에서 구현될 수 있다는 것에 유의한다. 특히, 근처의 사람들은 공통성들에 기초하여 2개 이상의 서브그룹들로 필터링될 수 있다. 예를 들어, 개인은, 사용자 인터페이스(2104)가 (1) 그녀의 근처의 가족 멤버들, 및 (2) 그녀의 근처의 동료 작업자들을 디스플레이하도록, 그녀의 가족 및 그녀의 동료 작업자들과의 작업 이벤트에 참가할 수 있다. 이러한 시나리오에서, 사용자 인터페이스(2104)는 제1 각각의 "모두 선택" 옵션을 갖는 서브그룹 내에 근처의 가족 멤버들을 디스플레이할 수 있고, 또한 제2 각각의 "모두 선택" 옵션을 갖는 서브그룹 내의 근처의 동료 작업자들을 디스플레이할 수 있다. 이와 관련하여, 개인은 관련 개인들과 정보를, 예를 들어, 모든 근처의 가족 멤버들과 가족 사진들을, 그리고 모든 근처의 동료 작업자들과 동료 작업자 사진들을 용이하게 공유할 수 있다.
추가적으로, 본 명세서에 기술된 다양한 하드웨어 컴포넌트들, 예컨대, 블루투스, 근거리 통신(NFC), WiFi, 초광대역(UWB), 및/또는 셀룰러 컴포넌트들은 본 개시내용의 범주로부터 벗어남이 없이 부분적인 또는 완전한 방식으로 다양한 발견 기법들을 구현하도록 구성될 수 있다. 예를 들어, 전술한 컴포넌트들 중 임의의 것은 컴퓨팅 디바이스에 포함된 중앙 프로세싱 유닛(들)에 독립적인 기법들을 구현하도록 구성될 수 있다. 그러한 구성은 컴퓨팅 디바이스가 계속해서 발견 기법들이 기능할 수 있게 하면서 저전력 모드(예를 들어, 잠금/슬립 상태)로 유지될 수 있게 할 수 있다. 이러한 접근법은 중앙 프로세싱 유닛(들)이 가능한 한 오랫동안 저전력 상태로 유지되고, 이어서 적절할 때 더 높은 전력 상태로 전이될 수 있다는 점에서 상당한 전력 절감들로 이어질 수 있다. 예를 들어, 무선 컴포넌트들 중 하나 이상은, 하나 이상의 무선 컴포넌트들이 근처의/알려진 컴퓨팅 디바이스가 존재한다고 결정할 때 중앙 프로세싱 유닛(들)으로 하여금 더 높은 전력 상태로 진입하게 할 수 있다. 이어서, 중앙 프로세싱 유닛들(들)은 임의의 액션들, 예컨대, 근처의/알려진 컴퓨팅 디바이스의 근접성에 링크된 리마인더를 디스플레이하는 것이 취해질 필요가 있는지 여부를 결정하고, 그 액션들을 수행할 수 있다. 이어서, 중앙 프로세싱 유닛(들)은 저전력 상태(적절할 때)로 복귀할 수 있고, 그 결과 무선 컴포넌트들은 본 명세서에 기술된 발견 능력들을 계속해서 제공할 수 있다.
전술된 바와 같이, 본 기법의 일 양태는 컴퓨팅 디바이스들의 동작 효율을 개선하기 위한 다양한 소스들로부터 입수가능한 데이터의 수집 및 사용이다. 본 개시내용은, 일부 경우들에 있어서, 이러한 수집된 데이터가 특정 개인을 고유하게 식별하거나 또는 그와 연락하거나 그의 위치를 확인하는 데 이용될 수 있는 개인 정보 데이터를 포함할 수 있음을 고려한다. 그러한 개인 정보 데이터는 인구통계 데이터, 위치-기반 데이터, 전화 번호들, 이메일 주소들, 트위터 ID들, 집 주소들, 사용자의 건강 또는 피트니스 레벨에 관한 데이터 또는 기록들(예컨대, 바이탈 사인(vital sign) 측정치들, 약물 정보, 운동 정보), 생년월일, 또는 임의의 다른 식별 또는 개인 정보를 포함할 수 있다.
본 개시내용은 본 기술에서의 그러한 개인 정보 데이터의 사용이 사용자들에게 이득을 주기 위해 사용될 수 있음을 인식한다. 예를 들어, 개인 정보 데이터는 컴퓨팅 디바이스들의 동작 효율을 개선하는 데 사용될 수 있다. 게다가, 사용자에게 이득을 주는 개인 정보 데이터에 대한 다른 이용들이 또한 본 개시내용에 의해 고려된다. 예를 들어, 건강 및 피트니스 데이터는 사용자의 일반적인 웰니스(wellness)에 대한 식견들을 제공하는 데 사용될 수 있거나, 또는 웰니스 목표들을 추구하는 기술을 이용하는 개인들에게 긍정적인 피드백으로서 사용될 수 있다.
본 개시내용은 그러한 개인 정보 데이터의 수집, 분석, 공개, 전송, 저장, 또는 다른 이용을 담당하는 엔티티들이 잘 확립된 프라이버시 정책들 및/또는 프라이버시 관례들을 준수할 것이라는 것을 고려한다. 특히, 그러한 엔티티들은, 대체로 개인 정보 데이터를 사적이고 안전하게 유지시키기 위한 산업적 또는 행정적 요건들을 충족시키거나 넘어서는 것으로 인식되는 프라이버시 정책들 및 관례들을 구현하고 지속적으로 이용해야 한다. 그러한 정책들은 사용자들에 의해 용이하게 액세스가능해야 하고, 데이터의 수집 및/또는 사용이 변화함에 따라 업데이트되어야 한다. 사용자들로부터의 개인 정보는 엔티티의 적법하며 적정한 사용들을 위해 수집되어야 하고, 이들 적법한 사용들을 벗어나서 공유되거나 판매되지 않아야 한다. 또한, 그러한 수집/공유는 사용자들의 통지된 동의를 수신한 후에 발생해야 한다. 부가적으로, 그러한 엔티티들은 그러한 개인 정보 데이터에 대한 액세스를 보호하고 안전하게 하며 개인 정보 데이터에 대한 액세스를 갖는 다른 사람들이 그들의 프라이버시 정책들 및 절차들을 고수한다는 것을 보장하기 위한 임의의 필요한 단계들을 취하는 것을 고려해야 한다. 게다가, 그러한 엔티티들은 널리 인정된 프라이버시 정책들 및 관례들에 대한 그들의 고수를 증명하기 위해 제3자들에 의해 그들 자신들이 평가를 받을 수 있다. 추가로, 정책들 및 관례들은 수집되고/되거나 액세스되고 있는 특정 유형들의 개인 정보 데이터에 대해 적응되어야 하고, 관할권 특정적 고려사항들을 포함하는 적용가능한 법률들 및 표준들에 적응되어야 한다. 예를 들어, 미국에서, 소정 건강 데이터의 수집 또는 그에 대한 액세스는 HIPAA(Health Insurance Portability and Accountability Act)와 같은 연방법 및/또는 주법에 의해 통제될 수 있는 반면; 다른 국가들에서의 건강 데이터는 다른 법령들 및 정책들의 대상이 될 수 있고, 그에 따라 다루어져야 한다. 따라서, 각 국가에서의 상이한 개인 데이터 유형들에 대해 상이한 프라이버시 관례들이 유지되어야 한다.
전술한 것에도 불구하고, 본 개시내용은 또한 사용자들이 개인 정보 데이터의 사용, 또는 그에 대한 액세스를 선택적으로 차단하는 실시예들을 고려한다. 즉, 본 개시내용은 그러한 개인 정보 데이터에 대한 액세스를 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있다는 것을 고려한다. 예를 들어, 본 기술은 사용자들이 서비스들을 위한 등록 동안 또는 그 이후의 임의의 시간에 개인 정보 데이터의 수집 시의 참여의 "옵트 인" 또는 "옵트 아웃"을 선택하게 허용하도록 구성될 수 있다. "옵트 인" 및 "옵트 아웃" 옵션들을 제공하는 것에 부가하여, 본 개시내용은 개인 정보의 액세스 또는 사용에 관한 통지들을 제공하는 것을 고려한다. 예를 들어, 사용자는 그들의 개인 정보 데이터가 액세스될 앱을 다운로드할 시에 통지받고, 이어서 개인 정보 데이터가 앱에 의해 액세스되기 직전에 다시 상기하게 될 수 있다.
더욱이, 의도하지 않은 또는 인가되지 않은 액세스 또는 사용의 위험요소들을 최소화하는 방식으로 개인 정보 데이터가 관리되고 다루어져야 한다는 것이 본 개시내용의 의도이다. 위험요소는, 데이터의 수집을 제한하고 데이터가 더 이상 필요하지 않다면 그것을 삭제함으로써 최소화될 수 있다. 부가적으로, 그리고 소정의 건강 관련 애플리케이션들에 포함하여 적용가능할 때, 사용자의 프라이버시를 보호하기 위해 데이터 식별해제가 사용될 수 있다. 적절한 경우, 특정 식별자들(예컨대, 생년월일 등)을 제거함으로써, 저장된 데이터의 양 또는 특이성을 제어함으로써(예컨대, 주소 레벨보다는 도시 레벨로 위치 데이터를 수집함으로써), 데이터가 저장되는 방식을 제어함으로써(예컨대, 사용자들에 걸쳐 데이터를 집계함으로써), 그리고/또는 다른 방법들에 의해, 식별해제가 용이하게 될 수 있다.
따라서, 본 개시내용이 하나 이상의 다양한 개시된 실시예들을 구현하기 위해 개인 정보 데이터의 사용을 광범위하게 커버하지만, 본 개시내용은 다양한 실시예들이 또한 그러한 개인 정보 데이터에 액세스할 필요 없이 구현될 수 있다는 것을 또한 고려한다. 즉, 본 기술의 다양한 실시예들은 이러한 개인 정보 데이터의 전부 또는 일부분의 결여로 인해 동작 불가능하게 되지 않는다. 예를 들어, 컴퓨팅 디바이스들의 동작 효율은 비-개인 정보 데이터 또는 가장 기본적인 최소량의 개인 정보, 이용가능한 다른 비-개인 정보, 또는 공개적으로 이용가능한 정보에 기초하여 개선될 수 있다.
기술된 실시예들의 다양한 양태들, 실시예들, 구현들 또는 특징들은 개별적으로 또는 임의의 조합으로 사용될 수 있다. 기술된 실시예들의 다양한 양태들은 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 기술된 실시예들은 또한 제조 동작들을 제어하는 컴퓨터 판독가능 매체 상의 컴퓨터 판독가능 코드로서 또는 제조 라인을 제어하는 컴퓨터 판독가능 매체 상의 컴퓨터 판독가능 코드로서 구현될 수 있다. 컴퓨터 판독가능 매체는, 나중에 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 판독가능 매체의 예들은 판독 전용 메모리, 랜덤 액세스 메모리, CD-ROM들, HDD들, DVD들, 자기 테이프, 및 광학 데이터 저장 디바이스들을 포함한다. 컴퓨터 판독가능 매체는 또한 컴퓨터 판독가능 코드가 분산 방식으로 저장 및 실행되도록 네트워크로 커플링된 컴퓨터 시스템들에 걸쳐 분산될 수 있다.
전술한 설명은, 설명의 목적들을 위해, 기술된 실시예들의 완전한 이해를 제공하기 위해 특정 명명법을 사용하였다. 그러나, 특정 세부사항들은 기술된 실시예들을 실시하기 위해 요구되지는 않는다는 것이 당업자에게는 명백할 것이다. 따라서, 특정 실시예들에 대한 전술한 설명은 예시 및 설명의 목적을 위해 제시되어 있다. 이들은 총망라하고자 하거나 기술된 실시예들을 개시된 정확한 형태들로 제한하려고 하는 것은 아니다. 많은 수정들 및 변형들이 상기 교시 내용들에 비추어 가능하다는 것이 당업자에게 명백할 것이다.

Claims (20)

  1. 적어도 하나의 개인이 컴퓨팅 디바이스에 근접해 있을 때 리마인더를 디스플레이하기 위한 방법으로서,
    상기 컴퓨팅 디바이스에서:
    상기 리마인더의 설명(description)을 수신하는 단계;
    상기 적어도 하나의 개인과 연관된 정보를 수신하는 단계;
    상기 적어도 하나의 개인과 연관된 적어도 하나의 컴퓨팅 디바이스를 식별하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스가 상기 컴퓨팅 디바이스에 대한 근접 임계치(proximity threshold)를 충족시키는 것을 검출하는 단계; 및
    상기 리마인더를 디스플레이하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 리마인더에 대한 날짜 및 시간을 수신하는 단계,
    상기 리마인더에 대한 지리적 조건을 수신하는 단계, 또는
    이들의 조합을 더 포함하는, 방법.
  3. 제2항에 있어서,
    상기 리마인더를 디스플레이하기 전에:
    현재 날짜 및 시간이 상기 날짜 및 시간을 넘어서는 것을 검출하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 근접 임계치를 수신하는 단계를 더 포함하는, 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 개인과 연관된 정보를 수신하기 전에:
    상기 적어도 하나의 개인이 선택될 수 있는 연락처 리스트를 디스플레이하는 단계,
    상기 컴퓨팅 디바이스에 근접해 있는 개인들을 디스플레이하는 단계, 또는
    이들의 조합을 더 포함하는, 방법.
  6. 제5항에 있어서,
    상기 컴퓨팅 디바이스에 근접해 있는 개인들을 디스플레이하기 전에:
    상기 개인들과 연관된 컴퓨터 디바이스들에 의해 출력되는 통신 신호들을 검출하는 단계를 더 포함하는, 방법.
  7. 제5항에 있어서,
    상기 연락처 리스트 내의 연락처들은 개별적으로 할당된 카테고리들에 기초하여 그룹화되는, 방법.
  8. 명령어들을 저장하도록 구성된 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령어들은, 컴퓨팅 디바이스에 포함된 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금, 단계들을 수행함으로써, 적어도 하나의 개인이 상기 컴퓨팅 디바이스에 근접해 있을 때 리마인더를 디스플레이하게 하고, 상기 단계들은:
    상기 리마인더의 설명을 수신하는 단계;
    상기 적어도 하나의 개인과 연관된 정보를 수신하는 단계;
    상기 적어도 하나의 개인과 연관된 적어도 하나의 컴퓨팅 디바이스를 식별하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스가 상기 컴퓨팅 디바이스에 대한 근접 임계치를 충족시키는 것을 검출하는 단계; 및
    상기 리마인더를 디스플레이하는 단계를 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  9. 제8항에 있어서,
    상기 단계들은:
    상기 리마인더에 대한 날짜 및 시간을 수신하는 단계,
    상기 리마인더에 대한 지리적 조건을 수신하는 단계, 또는
    이들의 조합을 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서,
    상기 단계들은, 상기 리마인더를 디스플레이하기 전에:
    현재 날짜 및 시간이 상기 날짜 및 시간을 넘어서는 것을 검출하는 단계를 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  11. 제8항에 있어서,
    상기 단계들은:
    상기 근접 임계치를 수신하는 단계를 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  12. 제8항에 있어서,
    상기 단계들은, 상기 적어도 하나의 개인과 연관된 정보를 수신하기 전에:
    상기 적어도 하나의 개인이 선택될 수 있는 연락처 리스트를 디스플레이하는 단계,
    상기 컴퓨팅 디바이스에 근접해 있는 개인들을 디스플레이하는 단계, 또는
    이들의 조합을 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  13. 제12항에 있어서,
    상기 단계들은, 상기 컴퓨팅 디바이스에 근접해 있는 개인들을 디스플레이하기 전에:
    상기 개인들과 연관된 컴퓨터 디바이스들에 의해 출력되는 통신 신호들을 검출하는 단계를 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  14. 제12항에 있어서,
    상기 연락처 리스트 내의 연락처들은 개별적으로 할당된 카테고리들에 기초하여 그룹화되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  15. 컴퓨팅 디바이스로서,
    상기 컴퓨팅 디바이스는 적어도 하나의 개인이 상기 컴퓨팅 디바이스에 근접해 있을 때 리마인더를 디스플레이하도록 구성되고,
    상기 컴퓨팅 디바이스는 상기 컴퓨팅 디바이스로 하여금 단계들을 수행하게 하도록 구성된 프로세서를 포함하고, 상기 단계들은:
    상기 리마인더의 설명을 수신하는 단계;
    상기 적어도 하나의 개인과 연관된 정보를 수신하는 단계;
    상기 적어도 하나의 개인과 연관된 적어도 하나의 컴퓨팅 디바이스를 식별하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스가 상기 컴퓨팅 디바이스에 대한 근접 임계치를 충족시키는 것을 검출하는 단계; 및
    상기 리마인더를 디스플레이하는 단계를 포함하는, 컴퓨팅 디바이스.
  16. 제15항에 있어서,
    상기 단계들은:
    상기 리마인더에 대한 날짜 및 시간을 수신하는 단계,
    상기 리마인더에 대한 지리적 조건을 수신하는 단계, 또는
    이들의 조합을 더 포함하는, 컴퓨팅 디바이스.
  17. 제16항에 있어서,
    상기 단계들은, 상기 리마인더를 디스플레이하기 전에:
    현재 날짜 및 시간이 상기 날짜 및 시간을 넘어서는 것을 검출하는 단계를 더 포함하는, 컴퓨팅 디바이스.
  18. 제15항에 있어서,
    상기 단계들은:
    상기 근접 임계치를 수신하는 단계를 더 포함하는, 컴퓨팅 디바이스.
  19. 제15항에 있어서,
    상기 단계들은, 상기 적어도 하나의 개인과 연관된 정보를 수신하기 전에:
    상기 적어도 하나의 개인이 선택될 수 있는 연락처 리스트를 디스플레이하는 단계,
    상기 컴퓨팅 디바이스에 근접해 있는 개인들을 디스플레이하는 단계, 또는
    이들의 조합을 더 포함하는, 컴퓨팅 디바이스.
  20. 제19항에 있어서,
    상기 단계들은, 상기 컴퓨팅 디바이스에 근접해 있는 개인들을 디스플레이하기 전에:
    상기 개인들과 연관된 컴퓨터 디바이스들에 의해 출력되는 통신 신호들을 검출하는 단계를 더 포함하는, 컴퓨팅 디바이스.
KR1020227036668A 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들 KR102663781B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247014643A KR20240064050A (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862679719P 2018-06-01 2018-06-01
US62/679,719 2018-06-01
KR1020227013101A KR102458883B1 (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들
US16/428,683 US11115818B2 (en) 2018-06-01 2019-05-31 Techniques for enabling computing devices to identify when they are in proximity to one another
US16/428,683 2019-05-31
PCT/US2019/035035 WO2019232464A1 (en) 2018-06-01 2019-05-31 Techniques for enabling computing devices to identify when they are in proximity to one another

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020227013101A Division KR102458883B1 (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247014643A Division KR20240064050A (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들

Publications (2)

Publication Number Publication Date
KR20220148934A KR20220148934A (ko) 2022-11-07
KR102663781B1 true KR102663781B1 (ko) 2024-05-10

Family

ID=68692519

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020247014643A KR20240064050A (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들
KR1020227036668A KR102663781B1 (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들
KR1020207034018A KR102390410B1 (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들
KR1020227013101A KR102458883B1 (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247014643A KR20240064050A (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020207034018A KR102390410B1 (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들
KR1020227013101A KR102458883B1 (ko) 2018-06-01 2019-05-31 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들

Country Status (4)

Country Link
US (3) US11115818B2 (ko)
KR (4) KR20240064050A (ko)
CN (1) CN112205019A (ko)
WO (1) WO2019232464A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11832100B2 (en) 2017-05-16 2023-11-28 Apple Inc. Secure password sharing for wireless networks
US10637651B2 (en) * 2018-05-17 2020-04-28 Bose Corporation Secure systems and methods for resolving audio device identity using remote application
WO2019232464A1 (en) 2018-06-01 2019-12-05 Apple Inc. Techniques for enabling computing devices to identify when they are in proximity to one another
JP7096998B2 (ja) * 2018-08-21 2022-07-07 村田機械株式会社 通信許容相手登録方法
US11604767B2 (en) * 2019-04-05 2023-03-14 Comcast Cable Communications, Llc Systems and methods for data distillation
CN112333727A (zh) * 2019-08-05 2021-02-05 肯舒摩照明(美国)有限责任公司 控制设备的方法、装置、存储介质、处理器和终端
CN114846832A (zh) * 2019-10-25 2022-08-02 三星电子株式会社 用于与外部电子装置进行通信的方法及其电子装置
US11349833B2 (en) * 2020-03-21 2022-05-31 Kyndryl, Inc. Multi-factor authentication utilizing device pairing
JP7413879B2 (ja) * 2020-03-26 2024-01-16 ブラザー工業株式会社 通信システム、電子デバイス、およびプログラム
US11102655B1 (en) 2020-03-31 2021-08-24 Bose Corporation Secure device action initiation using a remote device
US20210344557A1 (en) * 2020-04-30 2021-11-04 Comcast Cable Communications, Llc Systems, methods, and apparatuses for network management
JP2021180362A (ja) * 2020-05-11 2021-11-18 キヤノン株式会社 通信装置、通信装置の制御方法、およびプログラム
US11457811B2 (en) * 2020-06-19 2022-10-04 Zebra Technologies Corporation Systems and methods for determining facility exposure to a source condition
US20210120410A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Apparatus and method for wi-fi network profile verification
KR20230042825A (ko) * 2021-09-23 2023-03-30 삼성전자주식회사 식별 정보를 송신 및/또는 수신하는 전자 장치 및 그 동작 방법

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130058274A1 (en) * 2005-06-03 2013-03-07 Wefi Inc. Method and system for accessing wireless networks
US7958368B2 (en) 2006-07-14 2011-06-07 Microsoft Corporation Password-authenticated groups
US8572387B2 (en) 2006-07-26 2013-10-29 Panasonic Corporation Authentication of a peer in a peer-to-peer network
US8743778B2 (en) 2006-09-06 2014-06-03 Devicescape Software, Inc. Systems and methods for obtaining network credentials
US8727216B2 (en) 2007-12-03 2014-05-20 Apple Inc. Portable memory module with wireless emitter to facilitate the provision of location-dependent services
US8417296B2 (en) * 2008-06-05 2013-04-09 Apple Inc. Electronic device with proximity-based radio power control
US8290476B2 (en) * 2008-06-16 2012-10-16 Qualcomm Incorporated Method and apparatus for scheduling the transmission of messages from a mobile device
US8750797B2 (en) 2008-07-22 2014-06-10 Nissaf Ketari Proximity access and alarm apparatus
KR101347576B1 (ko) 2008-10-24 2014-01-03 삼성전자주식회사 화상형성장치 및 화상형성장치의 보안설정 방법
US9398136B2 (en) 2009-04-20 2016-07-19 Apple Inc. Handheld device capable of providing data tethering services while maintaining suite of handheld service functions
US8508363B2 (en) 2009-05-15 2013-08-13 First Principles, Inc. Systems and methods for permitting movement of an object outside a predetermined proximity distance threshold
US8457651B2 (en) * 2009-10-02 2013-06-04 Qualcomm Incorporated Device movement user interface gestures for file sharing functionality
US8417777B2 (en) 2009-12-11 2013-04-09 James W. Hutchison Apparatus for signaling circle of friends
US8397294B2 (en) 2010-11-30 2013-03-12 Research In Motion Limited Apparatus, system and method for preventing data loss
US9247377B2 (en) 2011-05-23 2016-01-26 Apple Inc. Setting a reminder that is triggered by a target user device
US8594741B2 (en) 2011-08-25 2013-11-26 Mitel Networks Corporation Adjusting an audio notification mode of a mobile computing device
US8606933B1 (en) 2011-09-14 2013-12-10 Google Inc. Selective pairing of devices using short-range wireless communication
US8819428B2 (en) 2011-10-21 2014-08-26 Ebay Inc. Point of sale (POS) personal identification number (PIN) security
US8909247B2 (en) 2011-11-08 2014-12-09 At&T Mobility Ii Llc Location based sharing of a network access credential
TWI571166B (zh) * 2012-01-13 2017-02-11 蘋果公司 在點對點網路環境中同步站台之選擇
EP3054649B1 (en) 2012-02-14 2020-03-25 Intel Corporation Peer to peer networking and sharing systems and methods
US9258704B2 (en) 2012-06-27 2016-02-09 Advanced Messaging Technologies, Inc. Facilitating network login
US9170718B2 (en) 2012-07-25 2015-10-27 Devicescape Software, Inc. Systems and methods for enhanced engagement
US9374369B2 (en) * 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US9264905B2 (en) 2013-02-21 2016-02-16 Digi International Inc. Establishing secure connection between mobile computing device and wireless hub using security credentials obtained from remote security credential server
CN104080191B (zh) * 2013-03-29 2019-06-21 中兴通讯股份有限公司 一种移动终端交换用户信息的方法及装置
US20140301270A1 (en) * 2013-04-05 2014-10-09 Kerstin Johnsson Identifiers for proximity services
GB2513359A (en) 2013-04-24 2014-10-29 Ibm Communication Method And Device
KR20150010109A (ko) 2013-07-18 2015-01-28 (주) 케이엠팩 빵 굽는 냄새가 나는 식품 포장용 고분자 제품 및 이의 제조방법
JP5660241B1 (ja) 2013-09-10 2015-01-28 株式会社リコー 通信システム、通信制御システム、通信装置、通信方法及び接続プログラム
CN104519020B (zh) * 2013-09-29 2017-10-13 阿里巴巴集团控股有限公司 管理无线网络登录密码分享功能的方法、服务器及系统
US10575347B2 (en) 2013-11-04 2020-02-25 Microsoft Technology Licensing, Llc Delivery of shared WiFi credentials
US9432363B2 (en) * 2014-02-07 2016-08-30 Apple Inc. System and method for using credentials of a first client station to authenticate a second client station
KR20150101094A (ko) * 2014-02-26 2015-09-03 에스케이플래닛 주식회사 테더링 서비스 제공 방법, 이를 지원하는 단말 및 시스템
CN103929535B (zh) * 2014-03-27 2017-03-01 小米科技有限责任公司 事件提醒方法、装置和系统
US9336378B2 (en) 2014-03-31 2016-05-10 Google Inc. Credential sharing
EP3099098B1 (en) * 2014-04-18 2022-06-01 Huawei Technologies Co., Ltd. Method, device and electronic terminal for information reminding
CN104378758B (zh) 2014-05-12 2016-08-17 腾讯科技(深圳)有限公司 接入点连接方法、终端及服务器
US10313264B2 (en) 2014-05-28 2019-06-04 Apple Inc. Sharing account data between different interfaces to a service
US9801120B2 (en) 2014-05-30 2017-10-24 Apple Inc. Client-initiated tethering for electronic devices
CN105376138B (zh) * 2014-08-28 2019-11-19 腾讯科技(深圳)有限公司 一种联系人添加的方法、数据传输的方法、及用户设备
US9526032B2 (en) 2014-09-26 2016-12-20 Apple Inc. Network bandwidth sharing for small mobile devices
KR102354011B1 (ko) * 2015-01-06 2022-01-21 삼성전자주식회사 테더링 제어 방법 및 그 전자 장치
US10114544B2 (en) * 2015-06-06 2018-10-30 Apple Inc. Systems and methods for generating and providing intelligent time to leave reminders
KR102048013B1 (ko) * 2015-07-30 2019-11-22 삼성전자주식회사 사용자 디바이스와 페어링을 수행하기 위한 네트워크 장치 및 그 페어링 방법
US9628992B2 (en) * 2015-07-31 2017-04-18 Wyfi, Inc. WiFi access management system and methods of operation thereof
WO2017031343A1 (en) 2015-08-19 2017-02-23 Shen Winifred Systems and methods for authenticating users accessing a secure network with one-session-only, on-demand login credentials
CN105357368B (zh) * 2015-09-30 2019-02-19 小米科技有限责任公司 提醒方法及装置
US10327121B2 (en) 2015-12-22 2019-06-18 Ricoh Company, Ltd. Instrument and system
US10680811B1 (en) 2016-01-29 2020-06-09 Christopher Robert Stanton Security key for geographic locations
US10231128B1 (en) 2016-02-08 2019-03-12 Microstrategy Incorporated Proximity-based device access
US10506057B2 (en) 2016-03-21 2019-12-10 Zonetap, Inc. Cloud based digital alert system
US10861305B2 (en) 2016-05-20 2020-12-08 Vivint, Inc. Drone enabled street watch
US9965942B2 (en) 2016-06-01 2018-05-08 Tile, Inc. User intervention based on tracking device sensor data
US9801158B1 (en) 2016-06-14 2017-10-24 Verizon Patent And Licensing Inc. Selective call routing and notification for multi-endpoint terminals
US11159932B1 (en) * 2016-09-16 2021-10-26 Apple Inc. Electronic devices with intuitive sharing capabilities
KR20180085558A (ko) 2017-01-19 2018-07-27 삼성전자주식회사 일정 공유 방법 및 이를 지원하는 전자 장치
US10382437B2 (en) 2017-03-14 2019-08-13 International Business Machines Corporation Efficient and secure connection of devices to a network without user interfaces
US10455418B2 (en) 2017-04-27 2019-10-22 Afero, Inc. Securely providing a password using an internet of things (IOT) system
US11832100B2 (en) * 2017-05-16 2023-11-28 Apple Inc. Secure password sharing for wireless networks
US11182794B1 (en) * 2018-03-29 2021-11-23 Square, Inc. Detecting unauthorized devices using proximity sensor(s)
WO2019232464A1 (en) * 2018-06-01 2019-12-05 Apple Inc. Techniques for enabling computing devices to identify when they are in proximity to one another

Also Published As

Publication number Publication date
US11115818B2 (en) 2021-09-07
US20230397005A1 (en) 2023-12-07
KR102390410B1 (ko) 2022-04-25
WO2019232464A1 (en) 2019-12-05
KR20200138409A (ko) 2020-12-09
CN112205019A (zh) 2021-01-08
US20190373469A1 (en) 2019-12-05
KR20240064050A (ko) 2024-05-10
KR20220054462A (ko) 2022-05-02
KR20220148934A (ko) 2022-11-07
US20220007188A1 (en) 2022-01-06
KR102458883B1 (ko) 2022-10-25
US11765585B2 (en) 2023-09-19

Similar Documents

Publication Publication Date Title
KR102663781B1 (ko) 컴퓨팅 디바이스들이 서로 근접해 있을 때를 식별할 수 있게 하기 위한 기법들
US11483708B2 (en) Network access tokens for accessories
JP6599341B2 (ja) 動的ネットワークアクセス管理のための方法、デバイスおよびシステム
US20240048985A1 (en) Secure password sharing for wireless networks
US9557188B2 (en) Method and system for using relationship information from a social network to enable mobile device communications in a privacy enhanced network
US20220286847A1 (en) Method for pairing a mobile device with a wireless network
JP6066538B1 (ja) ピアベースの認証
EP2687036B1 (en) Permitting access to a network
US20120266217A1 (en) Permitting Access To A Network
US20150172925A1 (en) Method and Apparatus for Wireless Network Access Parameter Sharing
EP3066857A1 (en) Sharing of credentials for a wi-fi network based on social network contacts
EP2874422B1 (en) Simplified wi-fi setup
TW201401897A (zh) 無線網路用戶端認證系統及其無線網路連線方法
US20160134620A1 (en) Loading user devices with lists of proximately located broadcast beacons and associated service identifiers
US20120210399A1 (en) Location-enabled access control lists for real-world devices
US10715609B2 (en) Techniques for adjusting notifications on a computing device based on proximities to other computing devices
Gupta et al. PeerSense: who is near you?
KR20180005508A (ko) 사용자 맞춤형 컨텐츠를 제공하는 컨텐츠 키오스크
US20230020855A1 (en) Network access tokens for accessories

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant