KR20240049282A - 스마트 디바이스들의 확장 현실 제어 - Google Patents

스마트 디바이스들의 확장 현실 제어 Download PDF

Info

Publication number
KR20240049282A
KR20240049282A KR1020247005947A KR20247005947A KR20240049282A KR 20240049282 A KR20240049282 A KR 20240049282A KR 1020247005947 A KR1020247005947 A KR 1020247005947A KR 20247005947 A KR20247005947 A KR 20247005947A KR 20240049282 A KR20240049282 A KR 20240049282A
Authority
KR
South Korea
Prior art keywords
computing device
signed
pattern
cryptographic key
additional
Prior art date
Application number
KR1020247005947A
Other languages
English (en)
Inventor
웨슬리 제임스 홀랜드
브라이언 보겔상
로버트 탈츠
마르틴 렌슐러
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20240049282A publication Critical patent/KR20240049282A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/75Information technology; Communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

스마트 디바이스들의 확장 현실(XR) 제어를 위한 시스템들, 방법들, 및 비일시적 매체들이 제공된다. 예시적인 방법은, 제1 컴퓨팅 디바이스에 의해, 암호 키를 생성하는 단계; 제1 컴퓨팅 디바이스에 의해, 암호 키를 인코딩하는 패턴을 출력하는 단계로서, 패턴은 시각 패턴, 오디오 패턴, 및/또는 광 패턴을 포함하는, 상기 패턴을 출력하는 단계; 제1 컴퓨팅 디바이스에 의해, 제2 컴퓨팅 디바이스로부터, 제1 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하는 단계; 제1 컴퓨팅 디바이스에 의해, 서명된 메시지가 패턴에 인코딩된 암호 키로 서명되는지 여부를 결정하는 단계; 및 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여, 서명된 메시지 내의 커맨드에 따라 제1 컴퓨팅 디바이스의 동작을 수정하는 단계를 포함할 수 있다.

Description

스마트 디바이스들의 확장 현실 제어
본 개시내용은 일반적으로 확장 현실 시스템들에 관한 것이다. 예를 들어, 본 개시내용의 양태들은 확장 현실 시스템들을 사용하여 스마트 디바이스들을 제어하는 것에 관한 것이다.
스마트 안경 및 헤드 마운트 디스플레이(head-mounted display, HMD)들과 같은 확장 현실(예컨대, 증강 현실, 가상 현실 등) 디바이스들은 일반적으로, 확장 현실(XR) 디바이스 및 물리적 환경 내의 다른 객체들의 포지션을 추적하기 위해 카메라들 및 센서들을 구현한다. XR 현실 디바이스들은 추적 정보를 사용하여, XR 디바이스의 사용자에게 현실적인 XR 경험을 제공할 수 있다. 예를 들어, XR 디바이스는, 사용자가 몰입형 가상 환경들 또는 콘텐츠를 경험하거나 또는 그와 상호작용하게 할 수 있다. 현실적인 XR 경험들을 제공하기 위해, XR 기술들은 가상 콘텐츠를 물리적 세계와 통합할 수 있고, 이는 객체들 및 디바이스들의 상대적 포즈 및 이동을 매칭시키는 것을 수반할 수 있다. XR 기술들은, 디바이스들, 객체들, 및/또는 실세계 환경의 상대적 포지션 및 이동을 매칭시키고, 설득력 있는 방식으로 실세계 환경에 콘텐츠를 앵커링하기 위해, 추적 정보를 사용하여 디바이스들, 객체들, 및/또는 실세계 환경의 맵들의 상대적 포즈를 계산할 수 있다. 상대적 포즈 정보는 가상 콘텐츠를 사용자의 인지된 모션 및 디바이스들, 객체들, 및 실세계 환경의 시공간 상태와 매칭시키는 데 사용될 수 있다.
XR 디바이스들 및 다른 전자 디바이스들(예컨대, 모바일 폰들, 스마트 워치들, 태블릿들 등)과 같은 일부 전자 디바이스들은 다른 디바이스들과 페어링되어 다른 디바이스들과 상호작용할 수 있다. 예를 들어, 전자 디바이스들은 스마트 홈 디바이스들(예컨대, 스마트 카메라들, 스피커들, 조명 전구(light bulb)들, 잠금장치들, 플러그들, 서모스탯(thermostat)들, 디스플레이들, 텔레비전(TV)들 등)과 같은 사물 인터넷(Internet-of-Things, IoT) 디바이스들과 페어링되어 IoT 디바이스들을 제어할 수 있다. 일부 경우들에서, IoT 디바이스 또는 다른 디바이스를 제어하도록 전자 디바이스를 구성하기 위한 프로세스는 수동 노력(manual effort)들을 수반할 수 있다. 또한, 사용자는 또 다른 사용자에게 다른 사용자의 디바이스를 통해 IoT 디바이스 또는 또 다른 디바이스를 제어하기 위한 액세스 권한을 부여할 수 있다.
확장 현실(XR) 디바이스를 사용하여 하나 이상의 디바이스들(예컨대, 사물 인터넷(IoT) 디바이스들, 이를테면, 스마트 디바이스들, 연결된 디바이스들 등)을 제어하기 위한 시스템들, 방법들, 및 컴퓨터 판독가능 매체들이 개시된다. 적어도 하나의 예에 따르면, XR 디바이스를 사용하여 하나 이상의 IoT 디바이스들을 제어하기 위한 방법이 제공된다. 예를 들어, 하나 이상의 메시지들을 프로세싱하는 방법은, 제1 컴퓨팅 디바이스에 의해, 암호 키(cryptographic key)를 생성하는 단계; 제1 컴퓨팅 디바이스에 의해, 암호 키를 인코딩하는 패턴을 출력하는 단계로서, 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함하는, 상기 패턴을 출력하는 단계; 제2 컴퓨팅 디바이스로부터, 제1 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하는 단계; 제1 컴퓨팅 디바이스에 의해, 서명된 메시지가 패턴에 인코딩된 암호 키로 서명되는지 여부를 결정하는 단계; 및 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여, 제1 컴퓨팅 디바이스에 의해, 서명된 메시지 내의 커맨드에 따라 제1 컴퓨팅 디바이스의 동작을 수정하는 단계를 포함할 수 있다.
다른 예에서, 적어도 하나의 프레임을 저장하도록 구성된 메모리 및 메모리에 커플링된 (예컨대, 회로부에서 구현된) 하나 이상의 프로세서들을 포함하는, 하나 이상의 메시지들을 프로세싱하기 위한 장치가 제공된다. 하나 이상의 프로세서들은, 암호 키를 생성하도록; 암호 키를 인코딩하는 패턴을 출력하는 것으로서, 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함하는, 상기 패턴을 출력하고; 컴퓨팅 디바이스로부터, 장치의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하고; 서명된 메시지가 패턴에 인코딩된 암호 키로 서명되는지 여부를 결정하고; 그리고 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여, 서명된 메시지 내의 커맨드에 따라 장치의 동작을 수정하도록 구성되고 그리고 이들을 행할 수 있다.
다른 예에서, 명령들이 저장된 제1 컴퓨팅 디바이스의 비일시적 컴퓨터 판독가능 매체가 제공되고, 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 암호 키를 생성하게; 암호 키를 인코딩하는 패턴을 출력하게 하는 것으로서, 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함하는, 상기 패턴을 출력하게 하고; 제2 컴퓨팅 디바이스로부터, 제1 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하게 하고; 서명된 메시지가 패턴에 인코딩된 암호 키로 서명되는지 여부를 결정하게 하고; 그리고 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여, 서명된 메시지 내의 커맨드에 따라 제2 컴퓨팅 디바이스의 동작을 수정하게 한다.
다른 예에서, 하나 이상의 메시지들을 프로세싱하기 위한 장치가 제공된다. 장치는 암호 키를 생성하기 위한 수단; 암호 키를 인코딩하는 패턴을 출력하기 위한 수단으로서, 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함하는, 상기 패턴을 출력하기 위한 수단; 컴퓨팅 디바이스로부터, 장치의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하기 위한 수단; 서명된 메시지가 패턴에 인코딩된 암호 키로 서명되는지 여부를 결정하기 위한 수단; 및 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여, 서명된 메시지 내의 커맨드에 따라 장치의 동작을 수정하기 위한 수단을 포함한다.
일부 양태들에서, 위에서 설명되는 방법, 장치들, 및 컴퓨터 판독가능 매체는, 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하는 것; 추가적인 서명된 메시지가 상이한 컴퓨팅 디바이스에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하는 것; 및 추가적인 서명된 메시지가 상이한 컴퓨팅 디바이스에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하는 것에 응답하여, 추가적인 서명된 메시지 내의 하나 이상의 커맨드들에 따라 장치의 하나 이상의 동작들을 수정하는 것을 포함할 수 있다.
일부 양태들에서, 위에서 설명되는 방법, 장치들, 및 컴퓨터 판독가능 매체는, 유효 암호 키가 장치에서의 특정 암호 키의 매칭 복사본(matching copy)이라는 결정에 기초하여 유효 암호 키가 유효하다고 결정하는 것을 포함할 수 있다.
일부 양태들에서, 위에서 설명되는 방법, 장치들, 및 컴퓨터 판독가능 매체는, 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하는 것; 추가적인 서명된 메시지가 장치 및 상이한 컴퓨팅 디바이스에 의해 사용되는 공유 키 생성기(shared key generator)의 복사본을 사용하여 서명되었다고 결정하는 것; 및 추가적인 서명된 메시지가 장치 및 상이한 컴퓨팅 디바이스에 의해 사용되는 공유 키 생성기의 복사본을 사용하여 서명되었다고 결정하는 것에 응답하여, 추가적인 서명된 메시지 내의 하나 이상의 커맨드들에 따라 장치의 하나 이상의 동작들을 수정하는 것을 포함할 수 있다.
일부 양태들에서, 위에서 설명되는 방법, 장치들, 및 컴퓨터 판독가능 매체는, 서명된 메시지가 생체인식 특징(biometric feature)을 포함함을 검증하는 것; 및 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여 그리고 서명된 메시지가 생체인식 특징을 포함함을 검증하는 것에 기초하여 서명된 메시지 내의 커맨드에 따라 장치의 동작을 수정하는 것을 포함할 수 있다.
일부 양태들에서, 위에서 설명되는 방법, 장치들, 및 컴퓨터 판독가능 매체는, 컴퓨팅 디바이스가 장치와 동일한 로컬 네트워크에 연결됨을 검증하는 것; 및 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여 그리고 컴퓨팅 디바이스가 장치와 동일한 로컬 네트워크에 연결됨을 검증하는 것에 기초하여 서명된 메시지 내의 커맨드에 따라 장치의 동작을 수정하는 것을 포함할 수 있다.
일부 양태들에서, 위에서 설명되는 방법, 장치들, 및 컴퓨터 판독가능 매체는, 암호 키 후에 장치에 의해 생성된 암호 키들의 수가 임계치 미만이라고 결정하는 것; 암호 키들의 수가 임계치 미만이라고 결정하는 것에 기초하여, 암호 키가 만료되지 않았다고 결정하는 것; 및 암호 키가 만료되지 않았다고 결정하는 것에 기초하여, 암호 키로 서명되는 서명된 메시지를 수락하는 것을 포함할 수 있다.
일부 양태에서, 위에서 설명되는 방법, 장치들, 및 컴퓨터 판독가능 매체는, 컴퓨팅 디바이스로부터, 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 메시지를 수신하는 것; 추가적인 메시지에 장치에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하는 것; 및 추가적인 메시지에 장치에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하는 것에 기초하여, 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 거부하는 것을 포함할 수 있다.
일부 양태들에서, 장치는 컴퓨팅 디바이스와 페어링된다. 그러한 양태들에서, 위에서 설명되는 방법, 장치들, 및 컴퓨터 판독가능 매체는, 추가적인 메시지에 장치에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하는 것에 기초하여 장치와 컴퓨팅 디바이스의 페어링 후 하나 이상의 커맨드들을 거부하는 것을 포함할 수 있다.
일부 양태들에서, 광 패턴은 광 디밍(dimming) 및 브라이트닝(brightening) 패턴 및 색상 온도 변화(color temperature change)들의 패턴 중 적어도 하나를 포함한다.
일부 양태들에서, 시각 패턴은 디스플레이 패턴 및 시각 코드 중 적어도 하나를 포함한다.
일부 양태들에서, 위에서 설명되는 장치들 중 하나 이상은, 사물 인터넷(IoT) 디바이스 및/또는 XR 디바이스(예컨대, 가상 현실(VR) 디바이스, 증강 현실(AR) 디바이스, 또는 혼합 현실(MR) 디바이스)이거나, 이들의 일부일 수 있거나, 또는 이들을 포함할 수 있다. 일부 양태들에서, 장치(또는 제1 컴퓨팅 디바이스)는 스마트 홈 디바이스를 포함하고, 컴퓨팅 디바이스(또는 제2 컴퓨팅 디바이스)는 확장 현실 디바이스를 포함한다. 일부 예들에서, 장치들은, 차량, 모바일 디바이스(예컨대, 모바일 전화 또는 소위 "스마트폰" 또는 다른 모바일 디바이스), 웨어러블 디바이스, 개인용 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 서버 컴퓨터, 로봇 디바이스 또는 시스템, 항공 시스템, 또는 다른 디바이스를 포함할 수 있거나 또는 이들의 일부일 수 있다. 일부 양태들에서, 장치는 하나 이상의 이미지들을 캡처하기 위한 이미지 센서(예컨대, 카메라) 또는 다수의 이미지 센서들(예컨대, 다수의 카메라들)을 포함한다. 일부 양태들에서, 장치는 하나 이상의 이미지들, 통지들, 및/또는 다른 디스플레이가능한 데이터를 디스플레이하기 위한 하나 이상의 디스플레이들을 포함한다. 일부 양태들에서, 장치는 하나 이상의 스피커들, 하나 이상의 발광 디바이스들, 및/또는 하나 이상의 마이크로폰들을 포함한다. 일부 양태들에서, 위에서 설명되는 장치들은 하나 이상의 센서들을 포함할 수 있다. 예를 들어, 하나 이상의 센서들은 광 센서, 오디오 센서, 모션 센서, 온도 센서, 습도 센서, 이미지 센서, 가속도계, 자이로스코프, 압력 센서, 터치 센서, 및 자력계 중 적어도 하나를 포함할 수 있다. 일부 경우들에서, 하나 이상의 센서들은 장치들의 위치, 장치들의 상태를 결정하기 위해, 그리고/또는 다른 목적들을 위해 사용될 수 있다.
이 발명의 내용은 청구 대상의 핵심적인 또는 본질적인 특징들을 식별하는 것으로 의도되는 것도, 청구 대상의 범주를 결정하기 위해 별개로 사용되는 것으로 의도되는 것도 아니다. 청구 대상은 본 특허의 전체 명세서의 적절한 부분들, 임의의 또는 모든 도면들, 및 각각의 청구항에 대한 참조에 의해 이해되어야 한다.
전술한 내용은 다른 특징들 및 실시 형태들과 함께, 다음의 명세서, 청구항들 및 첨부 도면들을 참조할 때 보다 명백해질 것이다.
본 출원의 예시적인 예들은 다음 도면들을 참조하여 이하에서 상세히 설명된다:
도 1은 본 개시내용의 일부 예들에 따른, 컴퓨팅 디바이스를 제어하는 데 사용되는 확장 현실 시스템의 일례를 예시하는 도면이다.
도 2a는 본 개시내용의 일부 예들에 따른, 확장 현실 시스템을 사용하여 컴퓨팅 디바이스를 제어하기 위한 예시적인 시스템을 예시하는 도면이다.
도 2b는 본 개시내용의 일부 예들에 따른, 확장 현실 시스템을 사용하여 컴퓨팅 디바이스를 제어하기 위한 예시적인 다중-인자(multi-factor) 시스템을 예시하는 도면이다.
도 3a는 본 개시내용의 일부 예들에 따른, 컴퓨팅 디바이스가 컴퓨팅 디바이스를 제어하기 위해 발행된 이전 키들을 수락하지 않는 예시적인 레이스 조건 시나리오를 예시한다.
도 3b는 본 개시내용의 일부 예들에 따른, 컴퓨팅 디바이스가 컴퓨팅 디바이스를 제어하기 위해 발행된 다수의 이전/선행 키들을 수락하도록 구성되는 예시적인 시나리오를 예시한다.
도 4는 본 개시내용의 일부 예들에 따른, 다수의 컴퓨팅 디바이스들이 보안 데이터 및/또는 보안 데이터 생성기를 공유하여, 근처의 디바이스가 다수의 컴퓨팅 디바이스들 중 임의의 것을 제어하기 위해 사용할 수 있는 공유 보안 데이터를 근처의 디바이스들에 부여하는 예시적인 키 공유 시나리오를 예시하는 도면이다.
도 5는 본 개시내용의 일부 예들에 따른, 컴퓨팅 디바이스를 제어하기 위한 예시적인 사용 사례를 예시하는 도면이다.
도 6a는 본 개시내용의 일부 예들에 따른, 확장 현실 디바이스에 컴퓨팅 디바이스를 제어하기 위한 허가 권한을 부여하기 위한 예시적인 프로세스를 예시하는 흐름도이다.
도 6b는 본 개시내용의 일부 예들에 따른, 확장 현실 디바이스를 사용하여 컴퓨팅 디바이스를 제어하기 위한 예시적인 프로세스를 예시하는 흐름도이다.
도 7은 본 개시내용의 일부 예들에 따른, 예시적인 컴퓨팅 디바이스 아키텍처를 예시한다.
본 개시내용의 특정 양태들 및 실시 형태들이 아래에 제공된다. 이러한 양태들 및 실시 형태들 중 일부는 독립적으로 적용될 수 있고, 이들 중 일부는 당업자에게 명백할 바와 같이 조합하여 적용될 수 있다. 다음의 설명에서는, 설명의 목적으로, 본 출원의 실시 형태들의 철저한 이해를 제공하기 위해 특정 세부사항들이 제시된다. 그러나, 다양한 실시 형태들은 이러한 특정 세부사항들 없이 실시될 수 있음이 명백할 것이다. 도면들 및 설명은 제한적인 것으로 의도되지 않는다.
다음의 설명은 오직 예시적인 실시 형태들을 제공할 뿐이고, 본 개시내용의 범주, 적용가능성, 또는 구성을 제한하도록 의도되지 않는다. 오히려, 예시적인 실시 형태들의 다음의 설명은 예시적인 실시 형태를 구현하기 위한 가능한 설명을 당업자에게 제공할 것이다. 첨부된 청구항들에 제시된 바와 같은 본 출원의 사상 및 범주를 벗어나지 않으면서 엘리먼트들의 기능 및 배열에서 다양한 변경들이 이루어질 수 있음이 이해되어야 한다.
확장 현실(XR) 디바이스들 및 다른 전자 디바이스들(예컨대, 모바일 폰들, 스마트 웨어러블 디바이스들, 태블릿 컴퓨터들, 랩톱 컴퓨터들 등)이 사용되어 사물 인터넷(IoT) 디바이스들과 같은 특정 디바이스들을 제어할 수 있다. 제어될 수 있는 그러한 디바이스의 예들은 스마트 홈 또는 연결된 디바이스들(예컨대, 스마트 허브들, 조명 전구들, 스피커들, 카메라들, 도어벨들, 보안 시스템들, 잠금장치들, 텔레비전들 등)을 포함한다. 예를 들어, 사용자는 방 내의 스마트 스피커, 스마트 조명, 또는 다른 IoT 디바이스를 제어하도록 XR 디바이스를 구성할 수 있다. 예시하기 위해, 스마트 조명의 예에서, 사용자는 방 내의 조명을 턴 온하거나 턴 오프하기 위해 조명 스위치를 사용하기보다는 XR 디바이스의 인터페이스와 상호작용함으로써 스마트 조명을 편리하게 제어할 수 있다. 그러나, IoT 디바이스를 제어하도록 XR 디바이스 또는 또 다른 전자 디바이스를 구성하기 위한 프로세스는 수동 노력들을 수반할 수 있고, 사용자들에 대해 어렵고 심지어 혼란스러울 수 있다. 또한, 다른 사용자들에 의해 사용자의 IoT 디바이스에 대한 액세스를 관리하고 그리고 그러한 액세스 권한이 부여된 후 IoT 디바이스에 대한 다른 사용자들의 미래 액세스를 제한하는 것은 어려울 수 있다. 예를 들어, 사용자는 또 다른 사용자, 이를테면, 방문자(visitor)에게, 다른 사용자의 디바이스를 통해 IoT 디바이스를 제어하기 위한 액세스 권한을 부여할 수 있다. 그러나, IoT 디바이스에 대한 액세스를 수신한 후에, 다른 사용자의 디바이스는 통상적으로, 다른 사용자의 디바이스가 IoT 디바이스의 소정 범위 내에 있고/있거나 다른 사용자의 디바이스와 동일한 로컬 네트워크에 연결되는 동안 IoT 디바이스에 영구적 액세스하는 상태로 남아 있는데, 이는 바람직하지 않을 수 있고 보안 문제들을 제시할 수 있다.
일부 경우들에서, 스마트 홈 디바이스와 같은 IoT 디바이스를 제어하도록, XR 디바이스와 같은 전자 디바이스를 구성하기 위해, 사용자는 전자 디바이스를 동작시킬 수 있어, 그것이, 사용자가 전자 디바이스를 사용하여 제어하기를 원하는 IoT 디바이스와 영구적으로 페어링되도록 할 수 있다. 그러한 페어링 후에, 전자 디바이스는 일반적으로 IoT 디바이스에 대한 영구적 액세스를 유지한다. 사용자가 또 다른 사용자에게 IoT 디바이스에 대한 액세스 권한을 부여하기를 원하는 경우, 사용자는, 다른 사용자가 다른 사용자의 전자 디바이스를 IoT 디바이스와 페어링하는 것을 허용할 수 있다. 이어서, 다른 사용자는 IoT 디바이스에 영구적 액세스하는 상태로 남게 된다. 예를 들어, 방문자의 전자 디바이스를 사용자의 홈에 있는 스마트 조명과 페어링한 후에, 방문자의 전자 디바이스는 사용자의 홈을 떠난 후에도 스마트 조명에 액세스하는 상태로 남아 있을 수 있고, 사용자의 홈을 떠난 후에도 스마트 조명을 제어할 수 있다. IoT 디바이스에 대한 또 다른 사용자의 디바이스의 미래 액세스를 제한하기 위해, 사용자는 다른 사용자의 전자 디바이스가 언페어링되게 하거나 달리 IoT 디바이스로부터 제거되게 할 수 있다. 그러나, 디바이스들을 언페어링하거나 IoT 디바이스에 대한 액세스를 제거하기 위한 프로세스는 심리스가 아니고 그리고 불편하고, 시간 소모적이고, 심지어 어려울 수 있다.
일부 경우들에서, 사용자는, 사용자의 무선 로컬 영역 네트워크(예컨대, 사용자의 Wi-Fi 네트워크) 상의 디바이스들(예컨대, XR 디바이스 또는 임의의 다른 전자 디바이스)이 무선 로컬 영역 네트워크 상의 IoT 디바이스를 제어하는 것을 허용할 수 있다. 그러한 경우들에서, 사용자는 IoT 디바이스의 대략적 부근(general vicinity)에 또 다른 사용자의 디바이스의 액세스를 로컬화하는데, 그 이유는 다른 사용자의 디바이스가 IoT 디바이스를 제어하기 위해 무선 로컬 영역 네트워크에 연결될 필요가 있을 것이기 때문이다. 그러나, 무선 로컬 영역 네트워크를 사용하여 액세스를 제어하는 이러한 메커니즘은, 다른 사용자의 디바이스에 IoT 디바이스에 대한 영구적 액세스 권한을 부여할 뿐만 아니라 또한 다른 사용자의 디바이스가 무선 로컬 영역 네트워크에 액세스하는 상태로 남게 하는 영구적 페어링을 수반한다. 예를 들어, 다른 사용자에게 무선 로컬 영역 네트워크에 대한 액세스 권한을 부여하기 위해, 사용자는 통상적으로, 다른 사용자에게, 다른 사용자가 이어서 그들의 디바이스가 무선 로컬 영역 네트워크에 액세스하고 그리고 IoT 디바이스의 액세스/제어를 확립하는 것을 허용하기 위해 사용하는 보안 크리덴셜들(예컨대, Wi-Fi 키 또는 패스워드)을 제공한다. 이러한 프로세스는, 보안 크리덴셜들을 교환하는 것과 같은 수동 단계들을 수반할 수 있기 때문에 불편할 수 있다. 그러한 프로세스는 또한, 이를테면, 다른 사용자의 디바이스들에 공공 장소에서 무선 로컬 영역 네트워크들 및 IoT 디바이스들에 대한 액세스 권한을 부여할 때, 바람직하지 않고 보안 문제들을 제시할 수 있다.
실제로, 무선 로컬 영역 네트워크 및 IoT 디바이스에 액세스할 수 있는 임의의 사용자는, 그러한 미래 액세스가 무선 로컬 영역 네트워크 및/또는 IoT 디바이스의 소유자/관리자에 의해 의도 또는 요망되지 않았더라도, 그러한 액세스가 제거되지 않은 경우 나중에 무선 로컬 영역 네트워크 및 IoT 디바이스에 액세스할 수 있다. 많은 경우들에서, 무선 로컬 영역 네트워크 및 IoT 디바이스에 대한 액세스가 주어진 사용자(예컨대, 방문자, 손님 등)는 잠재적으로, 원격으로 무선 로컬 영역 네트워크 및 IoT 디바이스에 액세스할 수 있다. 예를 들어, 그러한 사용자는 잠재적으로 무선 로컬 영역 네트워크에 액세스하고, 지향성 트랜시버들, 원격 터널들, 이를테면, 가상 사설 네트워크(virtual private network, VPN)들, 원격 연결들/커맨드들, 이를테면, 보안 셸 커맨드들/연결들 등을 사용하여 원격으로 IoT 디바이스를 제어할 수 있다.
위에 예시된 바와 같이, 사용자가 또 다른 사용자의 디바이스에 IoT 디바이스에 대한 일시적 액세스 권한을 부여하기를 원하는 경우, 사용자는, 사용자가 IoT 디바이스에 대한 다른 사용자의 디바이스의 액세스를 추가 및/또는 제거하기를 원할 때 다수의 수동, 시간 소모적인, 그리고 종종 혼란스러운 단계들을 수행할 필요가 있을 수 있다. 프로세스는 불편할 수 있고, 그리고 심지어, 사용자가 IoT 디바이스에 대한 액세스를 영구적인 것으로 의도하지 않는 경우, 사용자가 또 다른 사용자에게 IoT 디바이스에 대한 그러한 액세스 권한을 부여하는 것을 단념하게 할 수 있다. 또한, 그러한 액세스 권한을 부여한 사용자가 더 이상 다른 사용자가 액세스를 유지하도록 의도하지 않을 때 그러한 액세스는 적절히 제거되지 않으면 다수의 보안 문제들을 제시할 수 있다. 많은 경우들에서, IoT 디바이스에 대한 액세스를 용이하게 또는 심리스로 제거하거나 또는 사용자들에게 IoT 디바이스에 대한 일시적 액세스 권한을 부여하는 것이 불가능한 것은, 특히 사용자들이 공공 장소에서 IoT 디바이스들에 대한 영구적 또는 진행 중인 액세스를 허용하는 것에 대한 보안 문제들을 고려할 때, 공공 장소에서 사용자들에게 그러한 액세스 권한을 부여하는 것을 실현불가능하게 할 수 있다.
IoT 디바이스들과 같은 제어가능한 디바이스들에 대한 전자 디바이스들의 액세스를 관리하기 위한 시스템들, 장치들, 프로세스들(또한 방법들로 지칭됨), 및 컴퓨터 판독가능 매체들(본 명세서에서 집합적으로 "시스템들 및 기법들"로 지칭됨)이 본 명세서에서 설명된다. IoT 디바이스들이 제어가능한 디바이스들의 예들로서 본 명세서에서 사용되고 있지만, 본 명세서에서 설명되는 기법들은 또 다른 디바이스에 의해 제어가능한 임의의 디바이스에 의해 또는 그에 대해 수행될 수 있다. 일부 예들에서, IoT 디바이스는 IoT 디바이스에 대한 액세스를 획득하기 위해 전자 디바이스(예컨대, XR 디바이스, 모바일 폰, 스마트 워치, 태블릿, 또는 다른 디바이스)에 의해 사용하기 위한 보안 데이터(예컨대, 암호 키, 토큰, 랜덤 스트링 및/또는 수 등)를 생성할 수 있다. 예시적인 목적들을 위해, 암호 키들은 본 명세서에서 설명되는 시스템들 및 기법들에 의해 구현된 보안 데이터의 예들로서 본 개시내용 전체에 걸쳐 사용된다. 그러나, 암호 키는 본 명세서에서 참조되는 보안 데이터의 하나의 예시적인 예일 뿐이고, 다른 예들은, 예를 들어 그리고 제한 없이, 토큰, 랜덤 스트링 및/또는 수 등과 같은 다른 보안 데이터 및/또는 보안 데이터의 조합들을 포함할 수 있다.
일부 예들에서, IoT 디바이스는 시간, 이벤트들, 조건들 등과 같은 하나 이상의 인자들에 기초하여 변경되는 시프팅 암호 키들을 생성할 수 있다. 예를 들어, 스마트 홈 디바이스와 같은 IoT 디바이스는 암호 해시 함수의 다수의 라운드(round)들을 통해 매 n수의 시간 단위(예컨대, 초, 분 등)마다 암호 키를 생성할 수 있다. 하나의 예시적인 예에서, IoT 디바이스는 문구와 같은, 피드 스트링을 사용하여 보안 해시 알고리즘(Secure Hash Algorithm)-256(SHA-256) 암호 알고리즘의 다수의 라운드들을 통해 매 n초마다 암호 키를 생성할 수 있다. 일부 예들에서, 키들을 시프트하기 위해, IoT 디바이스는 피드 스트링 플러스 n을 사용하여 각각의 키를 생성할 수 있고, 여기서 스트링은 베이스 키이고, n은 새로운 키들이 생성됨/사용됨에 따라 증분되는 인덱스이다. IoT 디바이스는, 생성된 키를, 이를테면, 그 키를 디스플레이(예컨대, 키를 표현하는 시각 패턴을 디스플레이하는 것), 키를 표현하는 오디오 신호를 출력하는 것, 키를 표현하는 (예컨대, 디바이스를 디밍 및/또는 브라이트닝하고, 색상 온도를 변화시키는 패턴을 생성하는 등에 의해) 광 패턴을 출력하는 것, 이들의 임의의 조합, 및/또는 달리 키를 출력하는 것에 의해, 출력할 수 있다(예컨대, 공유하고, 브로드캐스트하고, 제시하고, 광고하는 등임). 근처의 전자 디바이스는 IoT 디바이스에 의해 출력된 키를 검출 및 추출할 수 있다. 예를 들어, 근처의 전자 디바이스는 IoT 디바이스의 범위/근접성 내에 전자 디바이스(예컨대, XR 디바이스, 이를테면, 스마트 AR 또는 VR 안경, AR 또는 VR HMD 등)를 포함할 수 있다. 근처의 전자 디바이스는 추출된 키를 사용하여, 자신이 IoT 디바이스로 전송하는 하나 이상의 커맨드들(예컨대, 모든 커맨드들)에 암호로 서명할 수 있다. IoT 디바이스는 생성된 키를 사용하여 서명된 커맨드를 검증/입증하고, 그리고 서명된 커맨드의 전송자(예컨대, 근처의 전자 디바이스)가 IoT 디바이스를 일시적으로 제어하는 것을 허용할 수 있다.
위에 예시된 바와 같이 서명된 커맨드를 사용하여, 전자 디바이스는 커맨드에 서명하기 위해 전자 디바이스에 의해 사용된 키를 생성한 IoT 디바이스를 일시적으로 제어할 수 있다. 전자 디바이스는 수동 네트워크 키 교환 또는 페어링 프로세스 없이 그리고 중앙 시스템(예컨대, 클라우드 기반 서비스 제공자의 서버)에 키에 기초한 페어링을 승인할 것을 요구하지 않으면서, IoT 디바이스의 그러한 제어를 획득할 수 있다. 서명된 커맨드들에 기초한 제어 권한을 부여함으로써, IoT 디바이스는, 전자 디바이스가 IoT 디바이스에 대한 영구적 액세스를 획득하거나 또는 달리 사용자(예컨대, IoT 디바이스의 소유자)에 의한 불편한, 시간 소모적인, 및/또는 수동 프로세스를 요구하는 것을 방지하여, 일단 그러한 액세스가 더 이상 사용자에 의해 요망/의도되지 않으면 전자 디바이스에 대한 액세스를 제거할 수 있다. 예를 들어, IoT 디바이스는 각각의 생성된 키를 시간, 특정 이벤트, 조건, 새로운 (또는 다수의 새로운) 키들의 생성 등과 같은 하나 이상의 인자들에 기초하여 만료하도록 설정할 수 있다. 일단 키가 만료되면, IoT 디바이스는 만료된 키에 의해 서명된 커맨드를 수락하지 않을 수 있다. 따라서, 만료된 키에 액세스할 수 있는 전자 디바이스는 IoT 디바이스를 제어하기 위한 커맨드들에 서명하기 위해 만료된 키를 사용할 수 없다. 전자 디바이스는 IoT 디바이스의 제어를 얻기 위해 IoT 디바이스로부터 새로운 키를 획득할 필요가 있을 수 있다.
일부 경우들에서, IoT 디바이스는, 페어링, 동일한 무선 로컬 영역 네트워크에 대한 연결성 등과 같은 다른 액세스 절차들뿐만 아니라, 이전에 설명된 바와 같은 서명된 커맨드들에 기초하여 다른 전자 디바이스들에 IoT 디바이스의 제어 권한을 허용/부여하도록 구성될 수 있다. 예를 들어, 사용자의 홈에 있는 스마트 홈 디바이스에 대한 영구적 액세스 권한을 전자 디바이스에 부여하려는 사용자는 스마트 홈 디바이스를 전자 디바이스와 페어링하거나 디바이스들 둘 모두를 동일한 로컬 네트워크(예컨대, Wi-Fi 네트워크)에 연결하는 것에 의해 그렇게 할 수 있다. 방문자가, 방문자의 전자 디바이스가 스마트 홈 디바이스의 일시적 제어를 획득하기를 원하는 경우, IoT 디바이스는 이전에 설명된 바와 같이 서명된 커맨드들(개인 키로 서명됨)을 사용하여 방문자의 디바이스에 그러한 일시적 제어 권한을 부여할 수 있다. 이러한 방식으로, 방문자들은, 방문자들이 사용자의 홈에 있는 동안, 달리 스마트 홈 디바이스에 대한 영구적 액세스를 수신하지 않으면서, 또는 일단 그러한 액세스가 더 이상 필요하지 않고/않거나 요망/의도되지 않으면 그러한 액세스를 제거하기 위해 수동, 불편한, 또는 시간 소모적인 프로세스를 요구하지 않으면서, 그들의 전자 디바이스들을 사용하여 스마트 홈 디바이스의 제어를 심리스로 획득할 수 있다.
IoT 디바이스는 다수의 방식들로 출력된 키를 생성할 수 있다. 일부 예들에서, IoT 디바이스는 키를 인코딩하고/하거나 근처의 디바이스에 의해 키로 변환될 수 있는 특정 패턴을 출력할 수 있다. 예시하기 위해, 발광 능력들을 갖는 IoT 디바이스(예컨대, 스마트 텔레비전(TV), 조명 전구 등)를 수반하는 일례에서, IoT 디바이스는 IoT 디바이스의 디밍 및 브라이트닝의 패턴을 출력할 수 있다. 디밍 및 브라이트닝 패턴은 키를 인코딩할 수 있고/있거나 근처의 디바이스에 의해 키로 변환될 수 있다. 예를 들어, 스마트 조명 전구는 그의 방출된 광을, 키를 인코딩하고/하거나 키로 변환될 수 있는 특정 패턴으로 디밍 및 브라이트닝할 수 있다. 일부 경우들에서, 디밍 및 브라이트닝 패턴은 (예컨대, 가시광 스펙트럼 내에서) 사람의 눈에 가시적일 수 있다. 다른 경우들에서, 디밍 및 브라이트닝 패턴은 파장 및/또는 지속기간의 관점에서 사람의 눈에 인지불가능할 수 있다. 다른 예로서, IoT 디바이스는 키를 인코딩하고/하거나 키로 변환될 수 있는 패턴에 따라 IoT 디바이스의 색상 온도를 변화시킬 수 있다. 색상 온도 패턴은 사람의 눈에 가시적이거나 사람의 눈에 (예컨대, 파장 및/또는 지속기간에서) 인지불가능할 수 있다.
일부 예들에서, IoT 디바이스는 디스플레이 능력들(예컨대, 스마트 허브, TV, 스크린 등), 오디오 능력들, 및/또는 출력 능력들(예컨대, 광 패턴들을 디스플레이하는 것 등)을 가질 수 있다. 일부 경우들에서, 디스플레이 능력들을 갖는 IoT 디바이스는 코드 및/또는 시각 패턴을 디스플레이할 수 있는데, 이는 사람의 눈에 가시적이거나 사람의 눈에 (예컨대, 파장 및/또는 지속기간에서) 인지불가능할 수 있다. 시각 패턴은 위에서 설명되는 키(예컨대, 커맨드에 암호로 서명하는 데 사용됨)를 인코딩할 수 있고/있거나 키로 변환될 수 있다. 일부 경우들에서, 오디오 능력들을 갖는 IoT 디바이스는 오디오 패턴(예컨대, 모스(Morse) 코드 또는 임의의 다른 오디오 패턴)을 출력할 수 있는데, 이는 사람의 귀에 인지가능하거나 지속기간 및/또는 주파수(예컨대, 초음파)에서 사람의 귀에 인지불가능할 수 있다. 다른 예들에서, IoT 디바이스는 임의의 다른 타입의 패턴 또는 패턴들의 조합들, 이를테면, 광, 색상 온도, 시각, 및/또는 오디오 패턴들의 조합을 출력할 수 있다.
일부 경우들에서, 레이스 조건들을 회피하기 위해, IoT 디바이스는 특정 수의 선행 키들(예컨대, 최근/최신 키 이전에 발행된/생성된 다수의 키들)에 의해 서명된 커맨드들을 수락할 수 있다. 예를 들어, IoT 디바이스는 상이한 키를 주기적으로 출력할 수 있다. 최근 키로 서명된 커맨드들만을 수락하기보다는, IoT 디바이스는 IoT 디바이스에 의해 생성된 마지막 n개의 키들 중 임의의 것에 의해 서명된 커맨드들을 수락할 수 있다.
일부 경우들에서, 근처의 IoT 디바이스들의 그룹은 동일한 키를 공유할 수 있어서, IoT 디바이스들 중 하나로부터 키를 추출하는 전자 디바이스가 또한 그룹 내의 다른 IoT 디바이스들 중 임의의 것을 제어할 수 있도록 할 수 있다. 예를 들어, 일부 경우들에서, 스마트 TV에 대해 가시성을 갖는 전자 디바이스를 갖는 사용자는 TV를 보기 위해 근처의 스마트 조명들을 턴 오프하기를 원할 수 있지만, 스마트 조명들의 일부 또는 전부는 근처 방 안에 있거나 또는 코너/장애물 뒤에 있을 수 있어서, 전자 디바이스가 그러한 스마트 조명들에 대해 가시성을 갖지 않도록 할 수 있다. 그러한 경우들에서, 전자 디바이스는 스마트 조명들 각각에 대한 별개의 키를 추출하기 위해 그러한 스마트 조명들로부터의 광 패턴을 검출하는 것이 가능하지 않을 수 있다. 그러나, 스마트 조명들 및 TV는 키를 공유하여, 전자 디바이스가 동일한 키를 사용하여 TV 및 스마트 조명들을 제어하는 것을 허용할 수 있다. 키가 스트링 플러스 n에 기초하여 해싱 함수의 다수의 라운드들로 생성되는 일부 예들에서(여기서 스트링은 베이스 키이고, n은 새로운 키들이 필요함/생성됨에 따라 증분되는 인덱스임), 다양한 IoT 디바이스들(예컨대, 이전 예에서 스마트 TV 및 조명들)은 동일한 베이스 키 스트링을 공유할 수 있고, (예컨대, 무선 라디오를 통해) 동기화 동작을 수행하여 각각의 키에 사용되는 n의 각자의 값을 증분시킬 수 있다.
보안을 강화하기 위해, 일부 경우들에서, IoT 디바이스는 다중-인자 서명/인증을 구현할 수 있다. 다중-인자 서명/인증은 본 명세서에서 설명되는 키 서명 및 하나 이상의 추가적인 보안/인증 인자들을 포함할 수 있다. 예를 들어, IoT 디바이스는 디바이스/네트워크 연결성에 기초하여 제2 보안 인자를 구현할 수 있다. 예시하기 위해, IoT 디바이스는 이전에 설명된 바와 같이 서명된 커맨드를 요구할 수 있고, 또한, 커맨드를 수락하기 위해 서명된 커맨드를 전송하는 전자 디바이스가 특정(예컨대, 동일한) 로컬 네트워크 상에 있을 것(또는 서명된 커맨드가 특정/동일한 무선 로컬 영역 네트워크를 통해 수신될 것)을 요구할 수 있다. 일부 예들에서, 전자 디바이스에 제어 권한을 부여하기 위해, IoT 디바이스는 전자 디바이스로부터 서명된 커맨드를 요구할 수 있을 뿐만 아니라, 전자 디바이스가 IoT 디바이스와 동일한 Wi-Fi 네트워크에 연결될 것을 요구할 수 있다.
다른 예로서, 본 명세서에서 설명되는 바와 같이 서명될 커맨드들을 요구하는 것에 더하여, IoT 디바이스는 생체인식 데이터를 사용하는 서명 또는 인가를 요구할 수 있다. 예를 들어, 전자 디바이스에 제어 권한을 부여하기 위해, IoT 디바이스는 전자 디바이스로부터 서명된 커맨드와 함께 생체인식 특징 벡터를 요구할 수 있다. 예를 들어, 사용자가 사용자의 홈에 있는 스마트 TV의 제어를 특정 사용자들의 디바이스들에만 그리고 그들이 사용자의 홈에 있을 때에만 허용하기를 원하는 경우, IoT 디바이스는 IoT 디바이스 제어를 생체인식 특징 벡터에 기초하여 그러한 사용자들의 디바이스들로 제한할 수 있다. 그러한 경우들에서, 서명된 커맨드의 사용은 IoT 디바이스 제어를 홈 안에 위치되는 사용자들의 디바이스들로 제한할 수 있다. 따라서, 이러한 예에서, IoT 디바이스는 서명된 커맨드와 생체인식 특징들의 조합을 사용하여 IoT 디바이스의 제어를 제한할 수 있다.
본 출원의 다양한 양태들이 도면들과 관련하여 설명될 것이다.
도 1은 본 개시내용의 일부 예들에 따른, 컴퓨팅 디바이스(150)를 제어하는 데 사용되는 XR 시스템(100)의 일례를 예시하는 도면이다. XR 시스템(100)은 본 명세서에서 설명되는 XR 및/또는 임의의 다른 기법들을 사용하여 컴퓨팅 디바이스(150)를 제어하는 데 사용될 수 있다. 컴퓨팅 디바이스(150)는, 예를 들어 그리고 제한 없이, 스마트 웨어러블 디바이스(예컨대, 스마트 워치, 링, 팔찌, 장갑, 의료/피트니스 추적기 등), 스마트 잠금장치, 스마트 자전거, 스마트 보안 시스템, 스마트 조명, 스마트 허브, 스마트 카메라, 스마트 냉장고, 스마트 스피커, 스마트 의료 센서, 스마트 텔레비전, 스마트 서모스탯, 로봇 진공 청소기, 모바일 컴퓨팅 디바이스(예컨대, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트폰 등), 비디오 게임 시스템, 글로벌 포지셔닝 시스템(GPS) 디바이스, 스마트 알람, 스마트 스캐너, 연결된 어플라이언스, 스마트 장비, 임베딩된 시스템, 스마트 홈 디바이스, 또는 임의의 다른 스마트, 연결된, 그리고/또는 무선 디바이스와 같은 IoT/스마트 디바이스를 포함할 수 있다.
XR 시스템(100) 및 컴퓨팅 디바이스(150)는 본 명세서에서 추가로 설명되는 바와 같이, XR 시스템(100)이 컴퓨팅 디바이스(150)를 제어하는 것을 허용하도록 통신가능하게 커플링될 수 있다. 일부 예들에서, XR 시스템(100)은, 예를 들어 그리고 제한 없이, 컴퓨팅 디바이스들(예컨대, 컴퓨팅 디바이스(150))을 관리 및/또는 제어하기 위한 XR 애플리케이션, 스마트 홈 애플리케이션, 비디오 게임 애플리케이션, 로봇 애플리케이션, 자율 주행 또는 내비게이션 애플리케이션, 생산성 애플리케이션, 소셜 미디어 애플리케이션, 통신 애플리케이션, 미디어 애플리케이션, 전자 상거래 애플리케이션, 및/또는 임의의 다른 XR 애플리케이션과 같은 하나 이상의 XR 애플리케이션들을 구현할 수 있다.
일부 예들에서, XR 시스템(100)은 XR 기능들(예컨대, 추적, 검출, 분류, 맵핑, 콘텐츠 렌더링 등), 디바이스 관리 및/또는 제어 기능들, 게이밍 기능들, 자율 주행 또는 내비게이션 기능들, 컴퓨터 비전 기능들, 로봇 기능들 등과 같은 하나 이상의 기능들을 제공하기 위해 XR 시스템(100) 및/또는 컴퓨팅 디바이스(150)의 상대적 포즈에 관한 정보를 사용하도록 구성된 전자 디바이스를 포함할 수 있다. 예를 들어, 일부 경우들에서, XR 시스템(100)은 컴퓨팅 디바이스(150)의 위치를 검출 및 맵핑하고 그리고 컴퓨팅 디바이스(150)와 통신하여 컴퓨팅 디바이스(150)의 하나 이상의 동작들/상태들을 제어하도록 구성된 XR 디바이스(예컨대, 헤드 마운트 디스플레이, 헤드 업 디스플레이 디바이스, 스마트 안경 등)일 수 있다.
도 1에 도시된 예시적인 예에서, XR 시스템(100)은 하나 이상의 이미지 센서들, 이를테면, 이미지 센서들(102A, 102B)(이하에 집합적으로 "102"), 오디오 센서(104)(예컨대, 초음파 센서, 마이크로폰 등), 관성 측정 유닛(inertial measurement unit, IMU)(106), 및 하나 이상의 컴퓨트 컴포넌트들(110)을 포함할 수 있다. XR 시스템(100)은 선택적으로, 생체인식 특징들(예컨대, 지문들, 얼굴 특징들, 눈 인식 특징들, 음성 인식 특징들 등)을 감지하기 위한 생체인식 센서(108) 및/또는 다른 센서들을 포함할 수 있다. 일부 예들에서, XR 시스템(100)은, 예를 들어 그리고 제한 없이, 레이더, 광 검출 및 레인징(light detection and ranging, LIDAR) 센서, 압력 센서(예컨대, 기압계의 공기 압력(barometric air pressure) 센서 및/또는 임의의 다른 압력 센서), 자이로스코프, 가속도계, 자력계, 및/또는 임의의 다른 센서와 같은 하나 이상의 다른 센서들을 포함할 수 있다. 일부 예들에서, XR 시스템(100)은, 예를 들어, 발광 다이오드(LED) 디바이스, 저장 디바이스, 캐시, 통신 인터페이스, 디스플레이, 메모리 디바이스 등과 같은 추가적인 센서들 및/또는 컴포넌트들을 포함할 수 있다. XR 시스템(100)에 의해 구현될 수 있는 예시적인 아키텍처 및 예시적인 하드웨어 컴포넌트들은 도 7과 관련하여 아래에서 추가로 설명된다.
XR 시스템(100)은 단일의 컴퓨팅 디바이스 또는 다수의 컴퓨팅 디바이스들의 일부이거나 또는 그에 의해 구현될 수 있다. 일부 예들에서, XR 시스템(100)은 카메라 시스템(예컨대, 디지털 카메라, IP 카메라, 비디오 카메라, 보안 카메라 등), 전화 시스템(예컨대, 스마트폰, 셀룰러 전화, 회의 시스템 등), 랩톱 또는 노트북 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 스마트 텔레비전, 디스플레이 디바이스, 게이밍 콘솔, HMD와 같은 XR 디바이스, 드론, 차량 내 컴퓨터, 사물 인터넷(IoT) 디바이스, 스마트 웨어러블 디바이스, 또는 임의의 다른 적합한 전자 디바이스(들)와 같은 전자 디바이스(또는 디바이스들)의 일부일 수 있다. 일부 구현들에서, 이미지 센서들(102), 오디오 센서(104), IMU(106), 생체인식 센서(108), 및/또는 하나 이상의 컴퓨트 컴포넌트들(110)은 동일한 컴퓨팅 디바이스의 일부일 수 있다.
예를 들어, 일부 경우들에서, 이미지 센서들(102), 오디오 센서(104), IMU(106), 생체인식 센서(108), 및/또는 하나 이상의 컴퓨트 컴포넌트들(110)은 카메라 시스템, 스마트폰, 랩톱, 태블릿 컴퓨터, 스마트 웨어러블 디바이스, HMD와 같은 XR 디바이스, IoT 디바이스, 게이밍 시스템, 및/또는 임의의 다른 컴퓨팅 디바이스와 또는 그에 통합될 수 있다. 그러나, 다른 구현들에서, 이미지 센서들(102), 오디오 센서(104), IMU(106), 생체인식 센서(108), 및/또는 하나 이상의 컴퓨트 컴포넌트들(110)은 2개 이상의 별개의 컴퓨팅 디바이스들의 일부이거나 또는 그에 의해 구현될 수 있다.
XR 시스템(100)의 하나 이상의 컴퓨트 컴포넌트들(110)은, 예를 들어 그리고 제한 없이, 중앙 프로세싱 유닛(central processing unit, CPU)(112), 그래픽 프로세싱 유닛(graphics processing unit, GPU)(114), 디지털 신호 프로세서(digital signal processor, DSP)(116), 및/또는 이미지 신호 프로세서(image signal processor, ISP)(118)를 포함할 수 있다. 일부 예들에서, XR 시스템(100)은, 예를 들어, 컴퓨터 비전(computer vision, CV) 프로세서, 뉴럴 네트워크 프로세서(neural network processor, NNP), 주문형 집적 회로(application-specific integrated circuit, ASIC), 필드 프로그래밍가능 게이트 어레이(field-programmable gate array, FPGA) 등과 같은 다른 타입들의 프로세서들을 포함할 수 있다. XR 시스템(100)은 하나 이상의 컴퓨트 컴포넌트들(110)을 사용하여, 예를 들어, 확장 현실 동작들(예컨대, 추적, 로컬화(localization), 객체 검출, 분류, 포즈 추정, 맵핑, 콘텐츠 앵커링, 콘텐츠 렌더링 등), 디바이스 제어 동작들, 이미지/비디오 프로세싱, 그래픽 렌더링, 머신 학습, 데이터 프로세싱, 모델링, 계산들, 및/또는 임의의 다른 동작들과 같은 다양한 컴퓨팅 동작들을 수행할 수 있다.
일부 경우들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은 본 명세서에서 설명되는 다양한 동작들 중 임의의 것을 수행하기 위해 다른 전자 회로들 또는 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 예들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은 도 1에 도시된 것들보다 더 많거나 더 적은 컴퓨트 컴포넌트들을 포함할 수 있다. 또한, CPU(112), GPU(114), DSP(116), 및 ISP(118)는 단지 설명 목적들을 위해 제공된 컴퓨트 컴포넌트들의 예시적인 예들일 뿐이다.
이미지 센서들(102)은 디지털 카메라 센서, 비디오 카메라 센서, 스마트폰 카메라 센서, 텔레비전 또는 컴퓨터와 같은 전자 장치 상의 이미지/비디오 캡처 디바이스, 카메라 등과 같은 임의의 이미지 및/또는 비디오 센서 또는 캡처 디바이스를 포함할 수 있다. 일부 경우들에서, 이미지 센서들(102)은 디지털 카메라, 비디오 카메라, IP 카메라, 스마트폰, 스마트 텔레비전, 게임 시스템 등과 같은 카메라 또는 컴퓨팅 디바이스의 일부일 수 있다. 또한, 일부 경우들에서, 이미지 센서들(102)은 다수의 이미지 센서들, 이를테면, 후면 및 전면 센서 디바이스들을 포함할 수 있고, 듀얼-카메라 또는 다른 다중-카메라 어셈블리(예컨대, 2개의 카메라들, 3개의 카메라들, 4개의 카메라들, 또는 다른 수의 카메라들을 포함함)의 일부일 수 있다.
일부 예들에서, 이미지 센서들(102)의 각각의 이미지 센서는 이미지 데이터를 캡처하고, 그리고 이미지 데이터에 기초하여 프레임들을 생성하고/하거나 이미지 데이터 또는 프레임들을, 프로세싱을 위해 하나 이상의 컴퓨트 컴포넌트들(110)에 제공할 수 있다. 프레임은 비디오 시퀀스 또는 스틸 이미지의 비디오 프레임을 포함할 수 있다. 프레임은, 장면을 나타내는 픽셀 어레이를 포함할 수 있다. 예를 들어, 프레임은 픽셀당 적색, 녹색 및 청색 색상 컴포넌트들을 갖는 적색-녹색-청색(RGB) 프레임; 픽셀당 루마 컴포넌트 및 2개의 크로마(색상) 컴포넌트들(크로마-적색 및 크로마-청색)을 갖는 루마, 크로마-적색, 크로마-청색(YCbCr) 프레임; 또는 임의의 다른 적합한 타입의 색상 또는 단색 픽처일 수 있다.
일부 예들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은 이미지 센서들(102), 오디오 센서(104), IMU(106), 생체인식 센서(108), 및/또는 컴퓨팅 디바이스(150) 중 하나 이상으로부터의 데이터에 기초하여 XR 프로세싱 동작들을 수행할 수 있다. 예를 들어, 일부 경우들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은 이미지 센서들(102), 오디오 센서(104), IMU(106), 생체인식 센서(108), 및/또는 컴퓨팅 디바이스(150)로부터의 데이터에 기초하여 추적, 로컬화, 객체 검출, 객체 분류, 포즈 추정, 형상 추정, 맵핑, 콘텐츠 앵커링, 콘텐츠 렌더링, 이미지 프로세싱, 모델링, 콘텐츠 생성, 제스처 검출, 제스처 인식, 및/또는 다른 동작들을 수행할 수 있다. 일부 예들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은 이미지 센서들(102), 오디오 센서(104), IMU(106), 생체인식 센서(108), 및/또는 컴퓨팅 디바이스(150)로부터의 데이터에 기초하여, 컴퓨팅 디바이스(150)를 검출, 로컬화, 및 맵핑하고 그리고 컴퓨팅 디바이스(150)의 동작/상태를 제어할 수 있다.
일부 예들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은 컴퓨팅 디바이스(150) 및 XR 시스템(100)의 상대적 포즈를 추적 및 추정하기 위한 하나 이상의 알고리즘들을 구현할 수 있다. 일부 경우들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은 이미지 센서들(102) 중 하나 이상에 의해 캡처된 이미지 데이터를 수신하고, 수신된 이미지 데이터에 기초하여 포즈 추정을 수행하여 컴퓨팅 디바이스(150) 및 XR 시스템(100)의 상대적 포즈를 계산할 수 있다. 일부 예들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은, 본 명세서에서 설명되는 바와 같이, 센서 데이터(예컨대, 이미지 센서들(102)로부터의 이미지 데이터, 오디오 센서(104), IMU(106) 등으로부터의 데이터)를 수신하고, 그러한 데이터를 사용하여, 컴퓨팅 디바이스(150)를 추적 및/또는 맵핑하고 컴퓨팅 디바이스(150)의 동작/상태를 조정할 수 있다. 일부 경우들에서, 하나 이상의 컴퓨트 컴포넌트들(110)은 컴퓨팅 디바이스(150) 및 XR 시스템(100)의 상대적 포즈를 계산하기 위해 하나 이상의 컴퓨터 비전 모델들을 구현할 수 있다.
일부 경우들에서, XR 시스템(100)은 이미지 센서들(102) 중 하나 이상을 사용하여 컴퓨팅 디바이스(150)에 의해 생성된 시각/광 패턴들을 검출할 수 있다. 시각/광 패턴들은, 본 명세서에서 추가로 설명되는 바와 같이, 컴퓨팅 디바이스(150)를 검출/로컬화하고 그리고/또는 컴퓨팅 디바이스(150)를 제어하기 위한 메시지들/커맨드들에 서명하기 위해 XR 시스템(100)이 시각/광 패턴들로부터 추출할 수 있는 보안/인가 데이터(예컨대, 하나 이상의 암호 키들, 하나 이상의 토큰들 등)를 인코딩할 수 있다. 일부 예들에서, 시각/광 패턴들은 컴퓨팅 디바이스(150)에 의해 방출된 광을 디밍 및 브라이트닝하는 패턴(들), 컴퓨팅 디바이스(150)에 의해 방출된 광의 색상 온도를 변화시키는 패턴, 디스플레이 패턴(예컨대, QR(quick response) 코드, 바코드, 디스플레이된 객체, 디스플레이된 이미지 등), 및/또는 임의의 다른 광/시각 패턴을 포함할 수 있다.
일부 경우들에서, XR 시스템(100)은 오디오 센서(104)를 사용하여 컴퓨팅 디바이스(150)에 의해 생성된 오디오 패턴을 검출할 수 있다. 오디오 패턴은, 본 명세서에서 추가로 설명되는 바와 같이, 컴퓨팅 디바이스(150)를 검출/로컬화하고 그리고/또는 컴퓨팅 디바이스(150)를 제어하기 위한 메시지들/커맨드들에 서명하기 위해 XR 시스템(100)이 오디오 패턴으로부터 추출할 수 있는 보안/인가 데이터(예컨대, 하나 이상의 암호 키들, 하나 이상의 토큰들 등)를 인코딩할 수 있다. 일부 예들에서, 오디오 패턴은 예를 들어, 모스 코드, 노이즈 시퀀스, 및/또는 임의의 다른 변조된 사운드 또는 사운드의 패턴과 같은 음향 데이터의 패턴을 포함할 수 있다. 일부 경우들에서, XR 시스템(100)은 오디오 센서(104)를 사용하여 거리 정보를 측정하여 추적, 로컬화, 맵핑, 및/또는 다른 XR 기능들을 보조할 수 있다. 예를 들어, XR 시스템(100)은 오디오 센서(104)를 사용하여 XR 시스템(100)과 컴퓨팅 디바이스(150) 사이의 거리를 측정할 수 있다.
일부 경우들에서, IMU(106)는 XR 시스템(100)의 가속도, 각속도, 및/또는 배향을 검출하고, 검출된 가속도에 기초하여 측정치들을 생성할 수 있다. 일부 경우들에서, IMU(106)는 XR 시스템(100)의 배향, 선형 속도, 및/또는 각속도를 검출 및 측정할 수 있다. 예를 들어, IMU(106)는 XR 시스템(100)의 피치, 롤, 및 요를 측정할 수 있다. 일부 예들에서, XR 시스템(100)은 IMU(106)에 의해 획득된 측정치들 및/또는 이미지 센서들(102) 중 하나 이상으로부터의 이미지 데이터를 사용하여 XR 시스템(100)의 상대적 포즈를 계산할 수 있다. 일부 경우들에서, XR 시스템(100)은 추가적으로 또는 대안적으로, 오디오 센서(104) 및/또는 컴퓨팅 디바이스(150)로부터의 센서 데이터를 사용하여 추적, 포즈 추정, 맵핑, 및/또는 다른 동작들을 수행할 수 있다.
XR 시스템(100)은 선택적으로, 하나 이상의 사용자들의 생체인식 데이터를 캡처하여 생체인식 데이터에 기초하여 하나 이상의 사용자들을 인증/검증하기 위해 생체인식 센서(108)를 구현할 수 있다. 일부 예들에서, XR 시스템(100)은 본 명세서에서 추가로 설명되는 바와 같이, 생체인식 센서(108)를 사용하여 하나 이상의 사용자들로부터 생체인식 특징들을 캡처하고, 캡처된 생체인식 데이터를 사용하여 컴퓨팅 디바이스(150)를 제어하거나 그의 제어를 제한할 수 있다. 예를 들어, XR 시스템(100)은 생체인식 센서(108)로부터의 생체인식 데이터를 사용하여 XR 시스템(100)을 통한 컴퓨팅 디바이스(150)의 제어를 하나 이상의 특정 사용자들로 제한할 수 있다.
도 1에 도시된 예시적인 예에서, 컴퓨팅 디바이스(150)는 보안 데이터 생성기(155)를 포함한다. 보안 데이터 생성기(155)는 키들, 토큰들, 및/또는 다른 보안 데이터를 생성하기 위한 하나 이상의 알고리즘들을 구현할 수 있고, 이는 키들, 토큰들, 및/또는 다른 보안 데이터 중 하나 이상의 소유를 갖는 디바이스/사용자를 인증, 검증, 및/또는 인가하는 데 사용될 수 있다. 예를 들어, 일부 경우들에서, 보안 데이터 생성기(155)는, 본 명세서에서 설명되는 바와 같이, 컴퓨팅 디바이스(150)에 대한 제어 메시지들/커맨드들에 서명하기 위해 XR 시스템(100)이 사용할 수 있는 키들을 생성하기 위해 하나 이상의 암호 해시 함수들을 구현할 수 있다. 암호 해시 함수의 비제한적인 예들은 MD(message-digest) 알고리즘 또는 보안 해시 알고리즘(SHA), 이를테면, SHA-224, SHA-256, SHA-384, SHA-512 등을 포함한다. 일부 경우들에서, 보안 데이터 생성기(155)는 암호 키들, 랜덤 스트링들 등과 같은 보안 데이터를 생성하도록 구성된 TPM(trusted platform module) 또는 암호 프로세서를 포함할 수 있다.
일부 경우들에서, 보안 데이터 생성기(155)는 하나 이상의 입력들(예컨대, 하나 이상의 시드 워드들, 값들, 문구들, 문자들 등)을 사용하여 하나 이상의 해시 알고리즘들에 기초하여 키를 생성할 수 있다. 일부 예들에서, 보안 데이터 생성기(155)는 키를 생성하기 위해 해시 알고리즘의 다수의 라운드들을 구현할 수 있다.
컴퓨팅 디바이스(150)는 보안 데이터 생성기(155)에 의해 생성된 보안 데이터(예컨대, 키, 토큰, 랜덤 스트링 또는 수 등)를, 컴퓨팅 디바이스(150)의 출력 디바이스(들)(160)에 의해 방출된 패턴, 이를테면, 시각/디스플레이 패턴, 광 패턴, 오디오 패턴, 및/또는 이들의 임의의 조합으로 인코딩할 수 있다. XR 시스템(100)은 출력 디바이스(들)(160)에 의해 방출된 패턴을 검출하고 패턴으로부터 인코딩된 보안 데이터를 추출할 수 있다. XR 시스템(100)은 추출된 보안 데이터를 사용하여, 컴퓨팅 디바이스(150)로 전송된 하나 이상의 제어 메시지들/커맨드들에 서명하여 컴퓨팅 디바이스(150)의 동작/상태, 이를테면, 컴퓨팅 디바이스(150)의 전력 상태, 컴퓨팅 디바이스(150)의 출력(들), 컴퓨팅 디바이스(150)의 거동, 컴퓨팅 디바이스(150)의 하나 이상의 동작들 등을 제어/조정할 수 있다.
출력 디바이스(들)(160)는, 예를 들어 그리고 제한 없이, 디스플레이, 스피커, 마이크로폰, 이미지 센서, LED 디바이스, 압력 센서, IMU, 발광 디바이스, 통신 인터페이스(예컨대, 무선 라디오 등), 레이더 등과 같은 하나 이상의 센서들 및/또는 컴포넌트들을 포함할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(150)는 XR 시스템(100)과 통신하기 위한 하나 이상의 무선 통신 인터페이스들(도시되지 않음)을 포함할 수 있다. 일부 예들에서, 통신 인터페이스는 무선 송신기, 무선 트랜시버, 또는 무선 통신들을 위한 그리고/또는 데이터를 송신하기 위한 임의의 다른 수단을 포함할 수 있다. 통신 인터페이스는 Wi-Fi, 블루투스, 지그비, 셀룰러 등과 같은 XR 시스템(100)과 통신하기 위한 임의의 무선 프로토콜 및/또는 기술을 구현할 수 있다. 다른 예들에서, 컴퓨팅 디바이스(150)는 도 1에 도시된 것과 더 많거나 더 적은 (동일한 그리고/또는 상이한 타입들의) 센서들, 출력 디바이스(들), 및/또는 컴포넌트들을 포함할 수 있다. 일부 경우들에서, 컴퓨팅 디바이스(150)는, 예를 들어 그리고 제한 없이, 마이크로제어기, 액추에이터, 저장 디바이스, 메모리, 캐시, 프로세싱 디바이스 등과 같은, 도 1에 도시되지 않은 하나 이상의 다른 컴포넌트들을 포함할 수 있다.
XR 시스템(100) 및 컴퓨팅 디바이스(150)와 관련하여 도 1에 도시된 컴포넌트들은 설명 목적들을 위해 제공된 예시적인 예들일 뿐이다. 다른 예들에서, XR 시스템(100) 및/또는 컴퓨팅 디바이스(150)는 도 1에 도시된 것들보다 더 많거나 더 적은 컴포넌트들을 포함할 수 있다. XR 시스템(100) 및 컴퓨팅 디바이스(150)가 특정 컴포넌트들을 포함하는 것으로 도시되어 있지만, 당업자는 XR 시스템(100) 및 컴퓨팅 디바이스(150)가 도 1에 도시된 것들보다 더 많거나 더 적은 컴포넌트들을 포함할 수 있다는 것을 이해할 것이다. 예를 들어, XR 시스템(100) 및/또는 컴퓨팅 디바이스(150)는 또한, 일부 경우들에서, 하나 이상의 다른 메모리 디바이스들(예컨대, RAM, ROM, 캐시 등), 하나 이상의 네트워킹 인터페이스들(예컨대, 유선 및/또는 무선 통신 인터페이스들 등), 하나 이상의 디스플레이 디바이스들, 캐시들, 저장 디바이스들, 및/또는 도 1에 도시되지 않은 다른 하드웨어 또는 프로세싱 디바이스들을 포함할 수 있다. XR 시스템(100) 및/또는 컴퓨팅 디바이스(150)로 구현될 수 있는 컴퓨팅 디바이스 및/또는 하드웨어 컴포넌트들의 예시적인 예가 도 7과 관련하여 아래에서 설명된다.
도 2a는 XR 시스템(100)을 사용하여 컴퓨팅 디바이스(150)를 제어하기 위한 예시적인 시스템(200)을 예시하는 도면이다. 이전에 언급된 바와 같이, 컴퓨팅 디바이스(150)는, 예를 들어 그리고 제한 없이, 스마트 웨어러블 디바이스(예컨대, 스마트 워치, 링, 팔찌, 장갑, 의료/피트니스, 건강 추적기 등), 스마트 잠금장치, 스마트 자전거, 스마트 보안 시스템, 스마트 조명, 스마트 허브, 스마트 카메라, 스마트 냉장고, 스마트 스피커, 스마트 의료 센서, 스마트 텔레비전, GPS 디바이스, 모바일 컴퓨터, 비디오 게임 콘솔, 스마트 알람, 스마트 스캐너, 연결된 어플라이언스, 스마트 장비, 스마트 홈 디바이스, 임베딩된 시스템, 또는 임의의 다른 스마트, 연결된, 그리고/또는 무선 디바이스와 같은 IoT/스마트 디바이스를 포함할 수 있다. 예시적인 시스템(200)은 XR 시스템(100)이 컴퓨팅 디바이스(150)의 하나 이상의 동작들 및/또는 상태들을 제어하기 위한 허가들 및/또는 인가를 획득하는 것을 가능하게 할 수 있다.
예를 들어, 예시적인 시스템(200)에서, XR 시스템(100)은, XR 시스템(100)이 컴퓨팅 디바이스(150)에 대한 제어 메시지/커맨드에 서명하기 위해 사용할 수 있는 보안 데이터(예컨대, 키, 토큰, 랜덤 스트링 또는 수 등)를 인코딩하는 컴퓨팅 디바이스(150)에 의해 방출된 패턴(예컨대, 시각/디스플레이 패턴, 광 패턴, 오디오 패턴 등)을 검출할 수 있다. 제어 메시지/커맨드는 컴퓨팅 디바이스(150)의 하나 이상의 동작들/상태들을 제어하는 데 사용될 수 있다. 컴퓨팅 디바이스(150)는, XR 시스템(100)으로부터의 제어 메시지/커맨드가 컴퓨팅 디바이스(150)에 의해 방출된 패턴에 인코딩된 보안 데이터로 서명됨을 검증할 수 있다. 일단 컴퓨팅 디바이스(150)가, 제어 메시지/커맨드가 보안 데이터로 서명됨을 검증하면, 컴퓨팅 디바이스(150)는 제어 메시지/커맨드를 인가/수락하고, 요청된 동작/상태를 구현할 수 있다. 컴퓨팅 디바이스(150)는, 예를 들어, 제어 메시지/커맨드에 서명하는 데 사용된 보안 데이터를, 컴퓨팅 디바이스(150)가 컴퓨팅 디바이스(150)에 의해 방출된 패턴에 인코딩한 보안 데이터와 비교하는 것에 의해 보안 데이터를 검증할 수 있다. 일부 경우들에서, 컴퓨팅 디바이스(150)는 보안 데이터를, 컴퓨팅 디바이스(150)가 컴퓨팅 디바이스(150)에 의해 방출된 패턴에 인코딩한 보안 데이터를 사용하여 서명된 제어 메시지/커맨드 및/또는 서명된 제어 메시지/커맨드에 서명하는 데 사용된 보안 데이터를 디코딩하는 것에 의해 검증할 수 있다.
컴퓨팅 디바이스(150)는 보안 데이터 생성기(155)를 사용하여, 보안 데이터(예컨대, 키, 토큰, 랜덤 스트링 및/또는 수 등)를 생성하여 출력 디바이스(160)가 XR 시스템(100)과 같은 근처의 디바이스에 의한 검출을 위해 출력할 수 있는 출력 패턴(204)에 인코딩할 수 있다. 설명 목적들을 위해, 암호 키는 본 명세서에서의 다양한 예들에서 보안 데이터 생성기(155)에 의해 생성되고 컴퓨팅 디바이스(150)에 의해 구현되는 보안 데이터의 비제한적인 예로서 사용된다. 그러나, 암호 키는 보안 데이터 생성기(155)에 의해 생성되고 컴퓨팅 디바이스(150)에 의해 구현되는 보안 데이터의 하나의 예시적인 예일 뿐이고, 다른 예들은, 예를 들어 그리고 제한 없이, 토큰, 랜덤 스트링 및/또는 수 등과 같은 다른 보안 데이터 및/또는 보안 데이터의 조합들을 포함할 수 있다.
출력 패턴(204)은 출력 디바이스(160)에 의해 생성된 광, 시각, 및/또는 오디오 패턴을 포함할 수 있다. 예를 들어, 일부 경우들에서, 출력 디바이스(160)는 발광 능력들을 포함할 수 있고, 출력 패턴(204)은 디밍 및 브라이트닝 광 패턴을 포함할 수 있다. 디밍 및 브라이트닝 패턴은 보안 데이터 생성기(155)에 의해 생성된 키를 인코딩할 수 있다. 디밍 및 브라이트닝 패턴은 (예컨대, 가시광 스펙트럼 내에서) 사람의 눈에 가시적이거나 파장 및/또는 지속기간의 관점에서 사람의 눈에 인지불가능할 수 있다. 다른 예로서, 출력 패턴(204)은 출력 디바이스(160)에 의해 방출된 광의 색상 온도에 대한 변화들의 패턴을 포함할 수 있다. 색상 온도 패턴은 보안 데이터 생성기(155)에 의해 생성된 키를 인코딩할 수 있다. 색상 온도 패턴은 사람의 눈에 가시적이거나 사람의 눈에 (예컨대, 파장 및/또는 지속기간에서) 인지불가능할 수 있다.
다른 예들에서, 출력 패턴(204)은 출력 디바이스(160)에 의해 제시된/디스플레이된 디스플레이 패턴을 포함할 수 있다. 디스플레이 패턴은, 예를 들어, 코드(예컨대, QR 코드, 바코드, 키 등), 이미지, 하나 이상의 문자들, 렌더링된 콘텐츠 아이템(예컨대, 가상 콘텐츠 아이템, 디지털 객체, 그래픽 등), 및/또는 임의의 시각 패턴을 포함할 수 있다. 디스플레이 패턴은 보안 데이터 생성기(155)에 의해 생성된 키를 인코딩할 수 있다. 디스플레이 패턴은 사람의 눈에 가시적이거나 사람의 눈에 (예컨대, 파장 및/또는 지속기간에서) 인지불가능하다. 다른 예들에서, 출력 패턴(204)은 오디오 패턴(예컨대, 모스 코드, 사운드, 및/또는 임의의 다른 오디오 패턴)을 포함할 수 있고, 이는 사람의 귀에 인지가능하거나 지속기간 및/또는 주파수(예컨대, 초음파)에서 사람의 귀에 인지불가능할 수 있다. 오디오 패턴은 보안 데이터 생성기(155)에 의해 생성된 키를 인코딩할 수 있다. 다른 예들에서, 출력 패턴(204)은 임의의 다른 타입의 패턴 또는 패턴들의 조합, 이를테면, 광, 색상 온도, 시각, 및/또는 오디오 패턴들의 조합을 포함할 수 있다.
일부 경우들에서, 컴퓨팅 디바이스(150)는 주기적으로 인코딩된 키와 함께 출력 패턴을 브로드캐스트할 수 있다. 일부 경우들에서, 컴퓨팅 디바이스(150)는 트리거 또는 이벤트, 이를테면, 근처의 디바이스(예컨대, XR 시스템(100))로부터의 트리거, 디바이스가 컴퓨팅 디바이스(150)의 근처에 또는 근접성 내에 있다는 (예컨대, 하나 이상의 센서들로부터의 센서 데이터에 기초한) 결정, 사용자 및/또는 디바이스 요청 등에 응답하여 인코딩된 키와 함께 출력 패턴을 브로드캐스트할 수 있다. 출력 패턴은 컴퓨팅 디바이스(150)에 대한 근접성 및/또는 컴퓨팅 디바이스(150)에 상대적인 포지션 내에 위치된 근처의 디바이스(예컨대, XR 시스템(100))에 의해 검출될 수 있다. 출력 패턴의 검출을 허용하는 근처의 디바이스의 거리 및/또는 포지션은, 출력 패턴을 검출하고 그리고 출력 패턴에서 키를 추출하여 컴퓨팅 디바이스(150)의 동작/상태를 제어할 수 있는 디바이스들(및/또는 디바이스들의 위치) 및 출력 패턴의 도달범위(reach)를 제한할 수 있다. 예를 들어, 출력 패턴의 검출을 허용하는 근처의 디바이스의 거리 및/또는 포지션은, 원격 디바이스들이, 그러한 원격 디바이스들이 특정 거리/근접성을 넘고/넘거나 특정 위치들에 있는 경우, 출력 패턴을 검출하는 것을 방지하고 컴퓨팅 디바이스(150)를 제어하기 위한 키를 추출하는 것을 방지할 수 있다.
일부 예들에서, 출력 패턴의 검출을 허용하는 근처의 디바이스의 거리 및/또는 포지션은 출력 패턴의 타입(예컨대, 광, 시각, 오디오 등), 출력 패턴의 구성, 및/또는 출력 패턴이 방출되는 방법에 의존할 수 있다. 예를 들어, 근처의 디바이스는 광/시각 패턴 및/또는 출력 디바이스(160)가 근처의 디바이스의 하나 이상의 이미지 센서들의 뷰 내에 있을 때 컴퓨팅 디바이스(150)로부터 광/시각 패턴을 검출할 수 있다. 다른 예로서, 근처의 디바이스는, 출력 디바이스(160)와 근처의 디바이스 사이의 거리가, 근처의 디바이스의 오디오 센서가 출력 디바이스(160)에 의해 방출된 오디오 패턴에서 오디오를 검출할 수 있도록 할 때 컴퓨팅 디바이스(150)로부터 오디오 패턴을 검출할 수 있다.
일부 경우들에서, 컴퓨팅 디바이스(150)는, 예를 들어, 컴퓨팅 디바이스(150)의 위치(예컨대, 개인 위치, 공공 위치, 특정 노이즈 레벨들을 갖는 위치, 특정 밝음 또는 어두움 레벨들을 갖는 위치, 특정 수 또는 구성의 시각적 장애물들을 갖는 위치 등), 근처의 디바이스가 출력 디바이스(160)에 대한 뷰를 가져야 하는지 여부를 표시하는 선호도/설정, 환경의 타입, 컴퓨팅 디바이스(150)가 위치되는 방의 크기 및/또는 구성 등과 같은 하나 이상의 인자들에 기초하여 브로드캐스트하는 출력 패턴의 타입을 바꿀 수 있다. 예를 들어, 선호도 설정이, 출력 패턴이 출력 디바이스(160)의 뷰를 갖지 않는 근처의 디바이스들에 의해(예컨대, 출력 디바이스(160)의 뷰를 갖지 않는 이미지 센서(들)를 갖는 근처의 디바이스들에 의해) 검출가능해질 수 있음을 표시하는 경우, 컴퓨팅 디바이스(150)는, 근처의 디바이스의 이미지 센서가 출력 디바이스(160)의 뷰를 갖지 않는 (예컨대, 그리고 출력 디바이스(160) 상에 제시된 디스플레이 패턴을 검출할 수 없는) 경우라도 근처의 디바이스에 의해 검출될 수 있는 오디오 패턴 및/또는 광 패턴을 브로드캐스트할 수 있다. 선호도 설정이, 출력 패턴이 대신에 단지 출력 디바이스(160)의 뷰를 갖는 근처의 디바이스들에 의해(예컨대, 출력 디바이스(160)의 뷰를 갖는 이미지 센서(들)를 갖는 근처의 디바이스들에 의해) 검출가능해야 함을 표시하는 경우, 컴퓨팅 디바이스(150)는, 근처의 디바이스의 이미지 센서가 출력 디바이스(160)의 뷰를 가질 때 근처의 디바이스에 의해 검출될 수 있는 디스플레이 패턴 및 따라서 출력 디바이스(160) 상에 제시된 디스플레이 패턴을 출력할 수 있다.
일부 예들에서, 출력 패턴(204)은, 출력 패턴(204)이 키를 포함하고 그리고/또는 컴퓨팅 디바이스(150)의 동작/상태를 제어하기 위해 근처의 디바이스들에 키를 제공하기 위한 특정 타입의 패턴임을 출력 패턴(204)을 검출하는 디바이스에 표시할 수 있는 시퀀스를 포함할 수 있다. 예를 들어, 출력 패턴(204)은 출력 패턴(204)을 다른 타입들의 광, 시각, 오디오, 및/또는 유사한 타입들의 패턴들과 구별하는 비트 시퀀스와 같은 시퀀스를 포함할 수 있다. 일부 경우들에서, 출력 패턴에서의 시퀀스(들)는 출력 패턴의 시작부(beginning), 종료부(end) 및/또는 임의의 다른 지점/부분을 시그널링할 수 있다. 예를 들어, 출력 패턴에서의 시퀀스는, 시퀀스가 키를 인코딩하는 출력 패턴의 부분 전의 출력 패턴의 시작부에 대응함을 패턴을 검출하는 근처의 디바이스에 시그널링할 수 있다. 이러한 방식으로, 출력 패턴을 검출하는 근처의 디바이스(예컨대, XR 시스템(100))는, 근처의 디바이스에 의해 검출된 출력 패턴의 양이 키를 포함하는지 또는 키를 추출하기에 충분한지, 또는 근처의 디바이스가 대신에 컴퓨팅 디바이스(150)가 다른 패턴을 출력하기를 기다려서, 출력 패턴에서 키를 추출하기에 충분한 양의 출력 패턴을 캡처할 수 있도록 해야 하는지를 결정할 수 있다.
XR 시스템(100)은 이미지 센서들(102) 및/또는 오디오 센서(104) 중 하나 이상을 사용하여 컴퓨팅 디바이스(150)로부터 출력 패턴(204)을 검출할 수 있다. XR 시스템(100)은, XR 시스템(100)이 컴퓨팅 디바이스(150)에 대한 특정 근접성 내에 있을 때 그리고/또는 XR 시스템(100)이 컴퓨팅 디바이스(150)에 상대적인 특정 위치에 있을 때 출력 패턴(204)을 검출할 수 있다. 출력 패턴(204)을 검출할 수 있는 XR 시스템(100)의 근접성 및/또는 위치는, 출력 패턴의 타입(예컨대, 디스플레이, 광, 오디오 등), 컴퓨팅 디바이스(150) 및/또는 XR 시스템(100)의 환경 및/또는 위치, 출력 패턴의 구성(예컨대, 디스플레이 크기, 디스플레이 위치, 오디오 레벨, 광 레벨 등) 등과 같은 이전에 설명된 바와 같은 하나 이상의 인자들에 의존할 수 있다.
일단 이미지 센서들(102) 및/또는 오디오 센서(104) 중 하나 이상이 출력 패턴(204)을 검출했다면, XR 시스템(100)은 키 추출(212)을 수행하여 출력 패턴(204)에 인코딩된 키(206)를 추출할 수 있다. 일부 예들에서, XR 시스템(100)은 출력 패턴(204)을 분석하고 출력 패턴(204)의 하나 이상의 특징들(예컨대, 광 특징들, 이미지 특징들, 오디오 특징들 등)에 기초하여 키(206)를 검출할 수 있다.
일부 예들에서, XR 시스템(100)은 이미지 센서들(102), 오디오 센서(104), 및/또는 IMU(106) 중 하나 이상으로부터의 데이터를 사용하여 추적(210)을 수행하여 환경에서의 그리고/또는 컴퓨팅 디바이스(150)에 상대적인 XR 시스템(100)의 포지션을 결정할 수 있다. 일부 예들에서, 추적(210)은, 예를 들어, 포즈 추정, 로컬화, 맵핑 등과 같은 XR 기능들에 대한 추적 데이터(214)를 생성할 수 있다. 일부 경우들에서, 추적 데이터(214)는 장면/환경에서의 XR 시스템(100)의 포지션/배향, XR 시스템(100)의 장면/환경의 맵(또는 맵의 부분)을 표시하는 데이터를 포함할 수 있다. 일부 경우들에서, 추적 데이터(214)에서의 맵은, 컴퓨팅 디바이스(150)의 포지션 및/또는 배향과 같은, XR 시스템(100)의 장면/환경 내에서 하나 이상의 특징들/객체들의 위치를 찾을 수 있다. 일부 예들에서, XR 시스템(100)은 추적 데이터(214)를 사용하여 XR 기능들을 제공하고/하거나 컴퓨팅 디바이스(150)와 같은, 장면/환경(및/또는 장면/환경 내의 객체들)과의 XR-기반 상호작용들을 허용할 수 있다. 예를 들어, XR 시스템(100)은 추적 데이터(214)(및 본 명세서에서 추가로 설명되는 바와 같은 키(206))를 사용하여, XR 시스템(100)의 사용자가 손 제스처들을 사용하여 그리고/또는 XR 시스템(100) 상의 XR 인터페이스를 통해 컴퓨팅 디바이스(150)를 제어하는 것을 허용할 수 있다.
일부 경우들에서, 키 추출(212)은 추적 데이터(214)를 사용하여 출력 패턴(204)과 연관된 디바이스(예컨대, 컴퓨팅 디바이스(150))를 로컬화하고/하거나 키(206)를 컴퓨팅 디바이스(150) 및/또는 컴퓨팅 디바이스(150)의 위치와 연관시킬 수 있다. 예를 들어, XR 시스템(100)은 추적 데이터(214)를 사용하여, 출력 패턴(204)이 컴퓨팅 디바이스(150)로부터의 것이라고 결정하고/하거나 XR 시스템(100)의 위치 및/또는 컴퓨팅 디바이스(150)의 위치에 관한 추적 데이터(214)에서의 정보에 기초하여 출력 패턴(204)을 방출한 디바이스의 위치를 식별할 수 있다.
XR 시스템(100) 상의 XR 애플리케이션(202)은 키 추출(212)에 의해 추출된 키(206)를 사용하여 컴퓨팅 디바이스(150)의 하나 이상의 동작들 및/또는 상태들을 제어/조정하기 위한 하나 이상의 커맨드들/명령들을 포함하는 서명된 제어 메시지(208)를 생성할 수 있다. 예를 들어, XR 애플리케이션(202)은 키(206)를 사용하여, 컴퓨팅 디바이스(150)를 제어하라는 커맨드/명령을 갖는 제어 메시지에 서명할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(150)에 대한 커맨드/명령은 컴퓨팅 디바이스(150)에, 턴 오프 또는 턴 온할 것, 컴퓨팅 디바이스(150)의 광 레벨을 조정할 것, 사운드(예컨대, 노래, 알람, 메시지, 노이즈, 통지 등)를 재생 또는 정지할 것, 하나 이상의 컴포넌트들의 전력 상태를 변경할 것, 카메라 동작을 시작 또는 정지할 것, 출력을 생성할 것, 컴퓨팅 디바이스(150)에서의 동작을 시작 또는 정지할 것, 및/또는 임의의 다른 동작들 및/또는 상태들을 정지 또는 구현할 것을 명령할 수 있다.
XR 시스템(100)은 XR 애플리케이션(202)으로부터의 서명된 제어 메시지(208)를 컴퓨팅 디바이스(150)로 전송할 수 있다. 컴퓨팅 디바이스(150)는 서명된 제어 메시지(208)가 출력 패턴(204)에 인코딩된 키(206)로 서명되었는지 여부를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(150)는 서명된 제어 메시지(208)를 서명하는 데 사용된 키를, 컴퓨팅 디바이스(150)가 출력 패턴(204)에 인코딩한 키와 비교할 수 있다. 그 키들이 매칭되는 경우, 컴퓨팅 디바이스(150)는 서명된 제어 메시지(208)를 인가/수락할 수 있다. 그 키들이 매칭되지 않는 경우, 컴퓨팅 디바이스(150)는 서명된 제어 메시지(208)를 거부할 수 있다. 예를 들어, 그 키들이 매칭되지 않는 경우, 컴퓨팅 디바이스(150)는, XR 시스템(100)이 컴퓨팅 디바이스(150)를 제어하도록 인가되지 않는다고 결정할 수 있고 서명된 제어 메시지(208)를 거부할 수 있다.
컴퓨팅 디바이스(150)가 서명된 제어 메시지(208)를 인가/수락하는 경우, 컴퓨팅 디바이스(150)는 서명된 제어 메시지(208) 내의 커맨드(들)/명령(들)을 실행할 수 있다. 컴퓨팅 디바이스(150)는, 이전에 설명된 바와 같이, 서명된 제어 메시지(208) 내의 커맨드(들)/명령(들)에 기초하여 컴퓨팅 디바이스(150)의 하나 이상의 동작들 및/또는 상태들을 조정할 수 있다.
위에서 언급된 바와 같이, 제어 메시지에 서명하는 데 사용된 키(206)는 컴퓨팅 디바이스(150)의 동작(들)/상태(들)를 제어하기 위한 일시적 허가/인가를 XR 시스템(100)에 제공할 수 있다. 일부 예들에서, XR 시스템(100)은 키(206)를 (예컨대, 서명된 제어 메시지(208)에 기초하여) 한 번 사용하여 컴퓨팅 디바이스(150)의 동작(들)/상태(들)를 제어할 수 있다. 다른 예들에서, XR 시스템(100)은 키(206)를 특정 횟수 및/또는 특정 기간 동안 사용하여 컴퓨팅 디바이스(150)의 동작(들)/상태(들)를 제어할 수 있다. 예를 들어, 컴퓨팅 디바이스(150)는 컴퓨팅 디바이스(150)를 제어하기 위한 키(206)의 영구적 또는 무한 사용을 방지하기 위해 키(206)의 사용에 대한 제한을 부과할 수 있다. 일부 경우들에서, 키(206)의 사용의 제한은, 컴퓨팅 디바이스(150)를 제어하고/하거나 컴퓨팅 디바이스(150)에 대한 제어 메시지들에 서명하기 위해 키(206)가 (동일한 디바이스 또는 다수의 디바이스들에 의해) 사용될 수 있는 최대 횟수를 특정할 수 있다. 다른 경우들에서, 키(206)의 사용의 제한은 추가적으로 또는 대안적으로 키(206)의 사용에 시간 제한을 부과할 수 있다. 시간 제한 후에, 키(206)는 만료될 수 있고, XR 시스템(100)은 상이한 (예컨대, 더 새로운) 키를 사용하도록 요구될 수 있다.
일부 경우들에서, 키(206)의 사용의 제한은 추가적으로 또는 대안적으로, 컴퓨팅 디바이스(150)를 제어하는 데 사용될 수 있는 (예컨대, 컴퓨팅 디바이스(150)에 의해 생성된 마지막 키에 대한) 선행 키들의 수의 제한을 부과할 수 있다. 예를 들어, 제한은, 근처의 디바이스(예컨대, XR 시스템(100))가 컴퓨팅 디바이스(150)를 제어하기 위해 컴퓨팅 디바이스(150)에 의해 발행된 가장 최근의 키만을 사용할 수 있음을 특정할 수 있다. 이러한 예에서, 컴퓨팅 디바이스(150)는 컴퓨팅 디바이스(150)에 의해 발행된 가장 최근의 키보다 더 오래된 키로 서명된 임의의 제어 메시지를 거부할 수 있다. 다른 예들에서, 제한은, 근처의 디바이스(예컨대, XR 시스템(100))가 컴퓨팅 디바이스(150)를 제어하기 위해 컴퓨팅 디바이스(150)에 의해 발행된 가장 최근의 n개의 키들로부터의 한 키만을 사용할 수 있음을 특정할 수 있다. 이러한 예에서, 컴퓨팅 디바이스(150)는 컴퓨팅 디바이스(150)에 의해 발행된 가장 최근의 n개의 키들보다 더 오래된 키로 서명된 임의의 제어 메시지를 거부할 수 있다.
일부 경우들에서, 컴퓨팅 디바이스(150)는 컴퓨팅 디바이스(150)를 제어하기 위해 근처의 디바이스들(예컨대, XR 시스템(100))에 대해 다중-인자 보안/인가 요건을 부과할 수 있다. 예를 들어, 컴퓨팅 디바이스(150)는, 근처의 디바이스로부터의 제어 메시지가 컴퓨팅 디바이스(150)에 의해 출력된 키(예컨대, 키(206))로 서명될 것을 요구할 수 있을 뿐만 아니라, 또한, 그 근처의 디바이스가 컴퓨팅 디바이스(150)와 동일한 네트워크에 연결될 것을 요구할 수 있다. 예시하기 위해, 서명된 제어 메시지(208)가 컴퓨팅 디바이스(150)로부터의 키(206)를 사용하여 서명될 것을 요구하는 것에 더하여, 컴퓨팅 디바이스(150)는, 서명된 제어 메시지(208)가, 컴퓨팅 디바이스(150)가 연결되는 Wi-Fi 네트워크와 같은 특정 무선 네트워크를 통해 XR 시스템(100)으로부터 컴퓨팅 디바이스(150)에 의해 수신될 것을 요구할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(150)는, 근처의 디바이스가 컴퓨팅 디바이스(150)와 동일한 네트워크(또는 특정 네트워크) 상에 있지 않은 경우, 그러한 근처의 디바이스가 컴퓨팅 디바이스(150)를 제어하도록 허용되지 않는다는 것을 보장할 수 있다. 이러한 예에서, 키 및 특정 네트워크에 액세스하지 않는 디바이스는 컴퓨팅 디바이스(150)에 의해 컴퓨팅 디바이스(150)를 제어하도록 허용되지 않을 수 있다.
일부 경우들에서, 다중-인자 보안/인가 요건은 추가적으로 또는 대안적으로 생체인식 인증을 요구하여, 근처의 디바이스가 컴퓨팅 디바이스(150)를 제어하는 것을 허용할 수 있다. 예를 들어, 근처의 디바이스로부터의 제어 메시지가 컴퓨팅 디바이스(150)에 의해 발행된 키에 의해 서명될 것을 요구하는 것에 더하여, 컴퓨팅 디바이스(150)는, 그러한 제어 메시지가 컴퓨팅 디바이스(150)를 제어하기 위한 허가 권한을 부여한 사용자의 생체인식 데이터/특징들을 포함할 것을 요구할 수 있다. 이러한 예에서, 컴퓨팅 디바이스(150)가 제어 메시지를 수신할 때, 컴퓨팅 디바이스(150)는, 제어 메시지가 적절한 키로 서명되는지, 그리고 제어 메시지가 컴퓨팅 디바이스(150)를 제어하기 위한 허가 권한을 갖는 사용자의 것들과 매칭되는 생체인식 특징들을 포함하는지를 체크할 수 있다. 일부 예들에서, 생체인식 인가 요건은 컴퓨팅 디바이스(150)의 제어가 특정 사용자들로 제한되는 것을 허용할 수 있고, 키 요건은 컴퓨팅 디바이스(150)의 제어가 적절한 키를 소유하고 있는 근처의 디바이스들로 제한되는 것을 허용할 수 있다.
도 2b는 XR 시스템(100)을 사용하여 컴퓨팅 디바이스(150)를 제어하기 위한 예시적인 다중-인자 시스템(220)을 예시하는 도면이다. 이러한 예에서, 컴퓨팅 디바이스(150)는 출력 패턴(204)을 방출할 수 있고, XR 시스템(100)은, 이전에 설명된 바와 같이, 출력 패턴(204)을 검출하고 출력 패턴(204)으로부터 키(206)를 추출할 수 있다. 또한, XR 시스템(100)은 사용자(들)로부터 생체인식 데이터(230)를 획득하기 위한 생체인식 센서(108)를 포함할 수 있다. XR 애플리케이션(202)은 서명된 제어 메시지(240)에 생체인식 센서(108)로부터 획득된 생체인식 데이터(230)를 포함할 수 있다. 서명된 제어 메시지(240)는, 이전에 설명된 바와 같이, 키(206)로 서명될 수 있고, 추가적으로, 서명된 제어 메시지(240)와 연관된 특정 사용자를 식별하기 위해 생체인식 데이터(230)를 포함할 수 있다. 컴퓨팅 디바이스(150)는 서명된 제어 메시지(240)를 수신하고, 서명된 제어 메시지(240)에서 생체인식 데이터(230)뿐만 아니라 제어 메시지에 서명하는 데 사용된 키를 검증할 수 있다.
일부 경우들에서, 생체인식 데이터(230)는, 이전에 언급된 바와 같이, 서명된 제어 메시지(240)에 포함될 수 있다. 다른 경우들에서, 생체인식 데이터(230)는 제어 메시지로서 별개의 메시지에서 XR 시스템(100)에 의해 컴퓨팅 디바이스(150)로 전송될 수 있다. 예를 들어, 일부 경우들에서, 서명된 제어 메시지(240)는 다수의 메시지들을 표현할 수 있고, 이때 하나의 메시지는 키(206)로 서명된 제어 메시지를 포함하고 또 다른 메시지는 생체인식 데이터(230)를 포함한다. 생체인식 데이터(230)를 포함하는 다른 메시지는, 키(206)로 서명되거나 서명된 제어 메시지와 연관될 수 있거나, 또는 달리 그것이 키(206)로 서명되지 않고 컴퓨팅 디바이스(150)에 의해 수락될 수 있다.
일부 예들에서, 컴퓨팅 디바이스(150)는 컴퓨팅 디바이스(150)를 제어하도록 허용된 하나 이상의 사용자들의 생체인식 데이터를 유지할 수 있다. 컴퓨팅 디바이스(150)는, XR 시스템(100)으로부터 생체인식 데이터(230)를 검증/인가하기 위해, 그러한 생체인식 데이터를 (예컨대, 서명된 제어 메시지(240)에서) XR 시스템(100)에 의해 전송된 생체인식 데이터(230)와 비교할 수 있다. 예를 들어, 일부 경우들에서, 컴퓨팅 디바이스(150)의 사용자 또는 소유자는 컴퓨팅 디바이스(150)의 제어를 특정 사용자들로 제한할 수 있다. 컴퓨팅 디바이스(150)는 컴퓨팅 디바이스(150)를 제어하도록 허용된 각각의 사용자의 생체인식 특징 벡터를 획득 및 저장할 수 있다. 근처의 디바이스가 컴퓨팅 디바이스(150)를 제어하기를 원할 때, 근처의 디바이스는 이전에 설명된 바와 같이 키를 획득하고, 키를 사용하여 컴퓨팅 디바이스(150)에 대한 제어 메시지에 서명할 수 있다. 근처의 디바이스는 (예컨대, 생체인식 센서(108)를 통해) 사용자로부터 획득된 생체인식 특징 벡터와 함께 컴퓨팅 디바이스(150)로 서명된 제어 메시지를 전송할 수 있다.
컴퓨팅 디바이스(150)는, 컴퓨팅 디바이스(150)가 컴퓨팅 디바이스(150)를 제어하도록 인가된다는 것을 보장하기 위해 근처의 디바이스로부터 수신된 제어 메시지에 서명하는 데 사용된 키를 검증할 수 있다. 또한, 컴퓨팅 디바이스(150)는 근처의 디바이스로부터의 생체인식 특징 벡터를 컴퓨팅 디바이스(150)에 저장된 하나 이상의 생체인식 특징 벡터들과 비교할 수 있다. 근처의 디바이스로부터의 생체인식 특징 벡터가 (예컨대, 컴퓨팅 디바이스(150)를 제어하도록 허용된 사용자에 대응하는) 컴퓨팅 디바이스(150)에서의 생체인식 특징 벡터와 매칭되는 경우, 컴퓨팅 디바이스(150)는 제어 메시지/요청을 수락할 수 있다. 그렇지 않으면, 컴퓨팅 디바이스(150)는 인가되지 않은 사용자가 컴퓨팅 디바이스(150)를 제어하는 것을 방지하기 위해 제어 메시지/요청을 거부할 수 있다.
일부 경우들에서, 레이스 조건들을 회피하기 위해, 컴퓨팅 디바이스(150)는 컴퓨팅 디바이스(150)를 제어하기 위해 발행된(예컨대, 그를 위해 발행된 마지막 또는 가장 최근의 키에 대한) 특정 수의 선행 키들 중 임의의 것에 의해 서명된 제어 메시지들(예컨대, 커맨드들/명령들)을 수락할 수 있다. 예를 들어, 도 3a는 컴퓨팅 디바이스(150)가 컴퓨팅 디바이스(150)를 제어하기 위해 발행된 이전 키들(예컨대, 그를 위해 발행된 마지막 또는 가장 최근의 키보다 더 오래된 키들)을 수락하지 않는 예시적인 레이스 조건 시나리오(300)를 예시한다. 이러한 예에서, 컴퓨팅 디바이스(150)는 제1 키(310)를 디스플레이한다. 제1 키(310)는 컴퓨팅 디바이스(150)에 의해 디스플레이되거나 또는 컴퓨팅 디바이스(150)에 의해 디스플레이된 패턴 또는 렌더링에 인코딩될 수 있다.
시간 t1에서, 컴퓨팅 디바이스(150)에 의해 디스플레이된 제1 키(310)(또는 키(310)를 인코딩하는 패턴 또는 렌더링)는 사용자(302)에 의해 착용된 XR 시스템(100)의 이미지 센서(들)(예컨대, 이미지 센서(102A), 이미지 센서(102B))의 시야(field-of-view, FOV) 내에 있고, 이미지 센서(들)는 제1 키(310)를 검출/캡처할 수 있다. XR 시스템(100)은 컴퓨팅 디바이스(150)를 제어하는 데 사용하기 위해 제1 키(310)를 검출/추출할 수 있다. 시간 t2에서, XR 시스템(100)은 서명된 커맨드(314)를 컴퓨팅 디바이스(150)로 전송한다. 서명된 커맨드(314)는 컴퓨팅 디바이스(150)의 동작(들) 및/또는 상태(들)를 제어하기 위한 하나 이상의 커맨드들/명령들을 포함할 수 있다. 예를 들어, 서명된 커맨드(314)는 컴퓨팅 디바이스(150)의 전력 상태를 변경하거나, 예를 들어, 채널을 변경하는 것, 볼륨을 변경하는 것 등과 같은 동작을 수행하라는 커맨드를 포함할 수 있다.
이러한 예에서 서명된 커맨드(314)는 제1 키(310)로 서명된다. 그러나, 컴퓨팅 디바이스(150)가 서명된 커맨드(314)를 수신할 때, 컴퓨팅 디바이스(150)는 이미 제2 키(312)를 생성하였다. 이는 컴퓨팅 디바이스(150)가, 그것이 제1 키(310)로 서명되는 서명된 커맨드(314)를 수신하기 전에 새로운 키를 생성한 레이스 조건을 생성한다. 컴퓨팅 디바이스(150)가 최근/최신 키(예컨대, 제2 키(312))보다 더 오래된 임의의 이전 키들을 수락하지 않는 경우, 컴퓨팅 디바이스(150)는, 서명된 커맨드(314)가 제2 키(312)가 아니라 제1 키(310)로 서명되기 때문에 XR 시스템(100)으로부터의 서명된 커맨드(314)를 거부할 것이다. 도 3a에 예시된 바와 같은 레이스 조건들로 인해, 달리 유효 키들로 서명된 커맨드들을 거부하는 것을 회피하기 위해, 컴퓨팅 디바이스(150)는 최근/최신 키(예컨대, 제2 키(312)) 및 다수의 이전/선행 키들을 수락하도록 구성될 수 있다.
도 3b는 컴퓨팅 디바이스(150)가 컴퓨팅 디바이스(150)를 제어하기 위해 발행된 다수의 이전/선행 키들을 수락하도록 구성되는 예시적인 시나리오(320)를 예시한다. 이러한 예에서, 컴퓨팅 디바이스(150)는 마지막/최신 키(예컨대, 제2 키(312)) 이전에 디스플레이되는 n개의 선행 키들을 수락하도록 구성된다. 여기서, 컴퓨팅 디바이스(150)에 의해 디스플레이된 제1 키(310)는 컴퓨팅 디바이스(150)에 의해 수락된 n개의 선행 키들 내에 있다. 따라서, 시간 t2에서, XR 시스템(100)은 제1 키(310)로 서명되는 서명된 커맨드(314)를 전송할 수 있고, 컴퓨팅 디바이스(150)는 서명된 커맨드(314)가 마지막/최신 키(예컨대, 제2 키(312))보다 더 오래된 키로 서명되었더라도 서명된 커맨드(314)를 수락/승인할 수 있다.
컴퓨팅 디바이스(150)가 서명된 커맨드(314)를 수신할 때, 컴퓨팅 디바이스(150)는 서명된 커맨드(314)가 제2 키(312)로 서명되었는지 또는 허용된 n개의 선행 키들 중 임의의 것으로 서명되었는지를 체크할 수 있다. 컴퓨팅 디바이스(150)는 서명된 커맨드(314)가 제1 키(310)로 서명되었다고, 그리고 제1 키(310)가 허용된 n개의 선행 키들 내에 있다고 결정할 수 있다. 컴퓨팅 디바이스(150)는 서명된 커맨드(314)가 제2 키(312)로 서명되지 않음에도 불구하고 서명된 커맨드(314)를 수락할 수 있다. 이어서, 컴퓨팅 디바이스(150)는 서명된 커맨드(314) 내의 명령(들)을 실행하여, XR 시스템(100)이 컴퓨팅 디바이스(150)를 제어하고 레이스 조건을 회피하는 것을 가능하게 할 수 있다.
도 4는 다수의 컴퓨팅 디바이스들이 보안 데이터(예컨대, 키, 토큰 등) 및/또는 보안 데이터 생성기(예컨대, 키 생성기, 토큰 생성기 등)를 공유하여 근처의 디바이스들(예컨대, XR 시스템(100))에, 근처의 디바이스가 다수의 컴퓨팅 디바이스들 중 임의의 것을 제어하기 위해 사용할 수 있는 공유 보안 데이터를 부여하는 예시적인 키 공유 시나리오(400)를 예시하는 도면이다. 이러한 예에서, 컴퓨팅 디바이스(150)는 근처의 디바이스가 컴퓨팅 디바이스(150) 및/또는 컴퓨팅 디바이스(405)를 제어하기 위해 사용할 수 있는 키(및/또는 다른 보안 데이터)를 인코딩하는 콘텐츠 아이템(410)(예컨대, 코드, 이미지, 시각 패턴, 스트링, 디지털 객체, 그래픽, 가상 아이템, 비디오, 애니메이션 등)을 디스플레이한다. 컴퓨팅 디바이스(405)는, 예를 들어 그리고 제한 없이, 스마트 조명, 스마트 허브, 스마트 센서, 스마트 어플라이언스, 텔레비전, 임베딩된 시스템, 모바일 컴퓨팅 디바이스(예컨대, 스마트폰, 랩톱 컴퓨터, 태블릿 컴퓨터 등), 스마트 스피커, 스마트 카메라, 스마트 잠금장치, 스마트 스위치, 스마트 보안 시스템, 비디오 게임 콘솔, GPS 디바이스, 및/또는 임의의 다른 IoT/스마트 또는 연결된 디바이스와 같은, 예를 들어, IoT/스마트 디바이스일 수 있다. 도 4에 도시된 예에서, 컴퓨팅 디바이스(405)는 콘텐츠 아이템(410)에 인코딩된 키를 사용하여 XR 시스템(100)에 의해 제어될 수 있는 스마트 전구이다.
컴퓨팅 디바이스(405)는 또한, 콘텐츠 아이템(410)에 인코딩된 키와 동일한 키를 인코딩하는 패턴(412)을 방출한다. 예를 들어, 컴퓨팅 디바이스(405)는 키를 인코딩하고 XR 시스템(100)에 의해 검출 및 인식될 수 있는 패턴에 따라 컴퓨팅 디바이스(405)에 의해 방출된 광 레벨들을 디밍 및 브라이트닝할 수 있다. XR 시스템(100)은 콘텐츠 아이템(410) 또는 패턴(412)으로부터 키를 추출하고, 키를 사용하여, 컴퓨팅 디바이스(150) 및/또는 컴퓨팅 디바이스(405)를 제어하라는 커맨드들에 서명할 수 있다. 예를 들어, 도 4에서, XR 시스템(100)은 컴퓨팅 디바이스(150)에 의해 디스플레이된 콘텐츠 아이템(410)을 검출하였고 콘텐츠 아이템(410)으로부터 키를 추출하였다. XR 시스템(100)은, 키가 컴퓨팅 디바이스(405)와 연관된 패턴(412)으로부터 검출/추출되지 않았더라도, 키를 사용하여 서명된 커맨드(420)를 생성하여 컴퓨팅 디바이스(405)를 제어한다. XR 시스템(100)은 서명된 커맨드(420)를 컴퓨팅 디바이스(405)로 전송할 수 있고, 컴퓨팅 디바이스(405)는 서명된 커맨드(420)에 서명하는 데 사용된 키를 검증할 수 있다. 서명된 커맨드(420)에 서명하는 데 사용된 키를 검증할 시에, 컴퓨팅 디바이스(405)는 서명된 커맨드(420)로부터의 커맨드를 수락 및 구현할 수 있다.
일부 예들에서, XR 시스템(100)은 또한, 키를 사용하여 컴퓨팅 디바이스(150)를 제어하라는 커맨드에 서명할 수 있다. 또한, XR 시스템(100)은 유사하게 패턴(412)으로부터 키를 검출 및 추출하고, 그 키를 사용하여 컴퓨팅 디바이스(150)를 제어하라는 커맨드에 서명할 수 있다. 콘텐츠 아이템(410) 및 패턴(412)에 인코딩된 키는 컴퓨팅 디바이스(150) 및 컴퓨팅 디바이스(405) 둘 모두에 의해 사용된/수락된 공유 키일 수 있다. 일부 예들에서, 추가적인 컴퓨팅 디바이스들은 키를 공유하여, XR 시스템(100)이 컴퓨팅 디바이스들 중 임의의 것으로부터 공유 키를 획득하여 컴퓨팅 디바이스들 중 임의의 것을 제어하는 것을 허용할 수 있다.
따라서, 컴퓨팅 디바이스들의 그룹(예컨대, 컴퓨팅 디바이스(150), 컴퓨팅 디바이스(405), 및 임의의 다른 컴퓨팅 디바이스)은 동일한 키를 공유할 수 있어서, 컴퓨팅 디바이스들 중 하나로부터 키를 추출하는 전자 디바이스(예컨대, XR 시스템(100))가 그 키를 사용하여 그룹 내의 다른 컴퓨팅 디바이스들 중 임의의 것을 제어할 수 있도록 할 수 있다. 예를 들어, XR 시스템(100) 상의 이미지 센서가 콘텐츠 아이템(410)에 대한 가시성을 갖지만, 컴퓨팅 디바이스(405)로부터의 패턴에 대한 가시성을 갖지 않는 (또는 그를 검출할 수 없는) 경우, XR 시스템(100)은 단순히 컴퓨팅 디바이스(405)를 제어하는 데 사용하기 위해 콘텐츠 아이템(410)으로부터 키를 추출할 수 있다. 유사하게, XR 시스템(100) 상의 이미지 센서가 패턴(412)을 검출할 수 있지만, 컴퓨팅 디바이스(150)로부터 콘텐츠 아이템(410)에 대한 가시성을 갖지 않는 경우, XR 시스템(100)은 단순히 컴퓨팅 디바이스(150)를 제어하는 데 사용하기 위해 패턴(412)으로부터 키를 추출할 수 있다.
일부 경우들에서, 컴퓨팅 디바이스(150) 및 컴퓨팅 디바이스(405)는, 둘 중 어느 하나의 디바이스를 제어하는 데 사용될 수 있는 공유 키(들)와 같은 공유 보안 데이터를 생성하기 위해, 키 생성기와 같은 동일한 보안 데이터 생성기(예컨대, 보안 데이터 생성기(155))를 공유할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(150) 및 컴퓨팅 디바이스(405)는 네트워크 또는 무선 연결을 통해 키 변경들(및/또는 다른 보안 데이터 변경들)을 동기화할 수 있다. 예를 들어, 키가 스트링 플러스 n에 기초하여 해싱 함수의 다수의 라운드들로 생성되는 일부 경우들에서(여기서 스트링은 베이스 키이고 n은 새로운 키들이 필요함/생성됨에 따라 증분되는 인덱스임), 컴퓨팅 디바이스(150) 및 컴퓨팅 디바이스(405)는 동일한 베이스 키 스트링을 공유하고, (예컨대, 무선 라디오 또는 임의의 다른 통신 스킴을 통해) 동기화 동작(415)을 수행하여 각각의 키에 사용되는 n의 각자의 값을 증분시킬 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(150) 및 컴퓨팅 디바이스(405)는 각각의 디바이스가 출력 패턴에 인코딩할 수 있는 공유된, 동기화된 키들을 유지할 수 있다. 컴퓨팅 디바이스들 중 임의의 것으로부터 출력 패턴을 검출하는 근처의 디바이스(들)는 출력 패턴에 인코딩된 키를 추출하고, 키를 사용하여 컴퓨팅 디바이스들 중 임의의 것을 제어하라는 커맨드(들)에 서명할 수 있다.
도 5는 컴퓨팅 디바이스(150)를 제어하기 위한 예시적인 사용 사례(500)를 예시하는 도면이다. 이러한 예에서, 컴퓨팅 디바이스(150)는 스마트 조명 전구를 표현한다. XR 시스템(100)은 이전에 설명 바와 같이 컴퓨팅 디바이스(150)를 제어하기 위한 키를 획득할 수 있다. 예를 들어, XR 시스템(100)은 키를 인코딩하는 컴퓨팅 디바이스(150)에 의해 방출된 (또는 컴퓨팅 디바이스(150)와 키를 공유하는 또 다른 컴퓨팅 디바이스에 의해 출력된) 패턴을 검출할 수 있다. 패턴은 예를 들어, 디밍 및 브라이트닝 광 패턴, 색상 온도 변화들의 패턴, 및/또는 임의의 다른 패턴을 포함할 수 있다. XR 시스템(100)은 패턴으로부터 키를 추출하고, 키를 사용하여 서명된 커맨드(502)를 생성할 수 있다. 서명된 커맨드(502)는 패턴으로부터 추출된 키로 서명된 하나 이상의 커맨드들을 포함할 수 있다.
XR 시스템(100)은 서명된 커맨드(502)를 컴퓨팅 디바이스(150)로 전송할 수 있다. 컴퓨팅 디바이스(150)는, 그것이 XR 시스템(100)으로부터 서명된 커맨드(502)를 수신할 때 제1 상태(510)에 있다. 컴퓨팅 디바이스(150)는 서명된 커맨드(502)에 서명하는 데 사용된 키를, 서명된 커맨드(502)에 서명하는 데 사용된 키를 식별하고 키를 컴퓨팅 디바이스(150)에서의 하나 이상의 유효 키들과 비교하는 것에 의해, 검증/입증할 수 있다. 컴퓨팅 디바이스(150)가 키를 검증/입증할 수 있는 경우, 컴퓨팅 디바이스(150)는 서명된 커맨드(502) 내의 커맨드를 수락 및 실행할 수 있다.
이러한 예에서, 서명된 커맨드(502)는 컴퓨팅 디바이스(150)의 상태를 제1 상태(510)로부터 제2 상태(520)로 변경하라는 커맨드를 포함한다. 이러한 예에 예시된 제1 상태(510)는 오프 상태이고, 이러한 예에 예시된 제2 상태(520)는 온 상태이다. 따라서, 도 5에 도시된 바와 같이, XR 시스템(100)은 서명된 커맨드(502)를 사용하여 컴퓨팅 디바이스(150)에 의해 표현된 스마트 조명 전구를 턴 온할 수 있다. 다른 예들에서, 서명된 커맨드(502)는 컴퓨팅 디바이스(150)에 의해 표현된 스마트 조명 전구의 동작/상태를 임의의 다른 상태로 변경하라는 커맨드를 포함할 수 있다. 예를 들어, 서명된 커맨드(502)는, 스마트 조명 전구를 (온 상태로부터) 턴 오프하거나, 스마트 조명 전구의 광 레벨을 변경하거나, 스마트 조명 전구의 색상 온도를 변화시키거나, 스마트 조명 전구가 오디오 능력들을 갖는 경우 오디오 재생(예컨대, 사운드, 음악 등)을 시작/정지하거나, 스마트 조명 전구에 의한 또 다른 디바이스(들)와의 통신 및/또는 연결을 트리거하거나, 특정 광 패턴(들)을 생성하거나, 또는 임의의 다른 상태/동작 또는 상태들/동작들의 조합을 구현하라는 커맨드를 포함할 수 있다.
XR 시스템(100)은 유사하게, 서명된 커맨드를 사용하여, 예를 들어, 스마트 스피커, 스마트 텔레비전, 스마트 잠금장치, 스마트 냉장고, 스마트 카메라, 스마트 웨어러블 디바이스, 스마트 보안 시스템, 스마트 서모스탯, 스마트 센서, 스마트 피트니스/건강 추적기, 스마트 허브, 스마트 스위치(예컨대, 스마트 조명 스위치 등), 스마트 어플라이언스 등과 같은 임의의 다른 타입의 컴퓨팅 디바이스(150)의 상태/동작을 제어할 수 있다.
컴퓨팅 디바이스(150)(또는 컴퓨팅 디바이스(150)와 키를 공유하는 또 다른 디바이스)에 의해 방출된 패턴에 인코딩된 키를 사용하여, 컴퓨팅 디바이스(150)는, XR 시스템(100)(또는 임의의 다른 디바이스)에 대한 영구적 액세스 권한을 부여하거나 또는 사용자가 이전에 권한 부여된 XR 시스템(100)(또는 임의의 다른 디바이스)에 대한 제어 허가들/액세스를 수동으로 취소할 것을 요구하는 것을 회피할 수 있다. 컴퓨팅 디바이스(150)는 대신에 본 명세서에서 설명되는 키 시스템을 사용하여, XR 시스템(100)(및/또는 다른 컴퓨팅 디바이스들)에 컴퓨팅 디바이스(150)의 일시적/제한된 제어 권한을 부여할 수 있다. 예를 들어, 일단 XR 시스템(100)이 컴퓨팅 디바이스(150)를 제어하기 위해 서명된 커맨드(502)를 사용했거나 또는 컴퓨팅 디바이스(150)가 쓸모없게 된/만료된 서명된 커맨드(502)에 사용된 키를 렌더링하는 다수의 후속 키들을 발행했다면, XR 시스템(100)은 컴퓨팅 디바이스(150)를 제어하기 위해 새로운 키를 획득하도록 요구될 수 있다. 따라서, XR 시스템(100)의 제어 허가/액세스는 심리스로 제거될 수 있다.
도 6a는 IoT 또는 스마트/연결된 디바이스와 같은 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(150), 컴퓨팅 디바이스(405))를 제어하기 위한 허가 권한을 XR 시스템(예컨대, XR 시스템(100))에 부여하기 위한 예시적인 프로세스(600)를 예시하는 흐름도이다.
블록(602)에서, 프로세스(600)는, 제1 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(150))에 의해, 암호 키(및/또는 임의의 다른 보안 데이터)를 생성하는 것을 포함할 수 있다. 일부 예들에서, 제1 컴퓨팅 디바이스는 키 생성기와 같은 보안 데이터 생성기(예컨대, 보안 데이터 생성기(155))를 사용하여, 예를 들어, 하나 이상의 해싱 함수들 및 입력, 이를테면, 입력 스트링 또는 문구를 사용하여 암호 키를 생성할 수 있다.
블록(604)에서, 프로세스(600)는, 제1 컴퓨팅 디바이스에 의해, 암호 키(및/또는 임의의 다른 보안 데이터)를 인코딩하는 패턴을 출력하는 것을 포함할 수 있다. 일부 예들에서, 패턴은 시각 또는 디스플레이 패턴, 오디오 패턴, 광 패턴, 임의의 다른 패턴 및/또는 이들의 조합을 포함할 수 있다. 예를 들어, 패턴은 광 레벨들의 패턴(예컨대, 디밍 및 브라이트닝 광 레벨들의 패턴), 색상 온도 변화들의 패턴, 사운드의 패턴(예컨대, 노이즈, 음악, 모스 코드, 톤들의 시퀀스 등), 디스플레이 패턴(예컨대, 이미지, QR 코드, 바코드, 하나 이상의 디스플레이된 문자들/심볼들, 디지털 콘텐츠 아이템, 디지털 객체, 비디오, 가상 콘텐츠, 디지털 렌더링, 그래픽 등), 이들의 조합 등을 포함할 수 있다.
블록(606)에서, 프로세스(600)는 제1 컴퓨팅 디바이스에 의해, 제2 컴퓨팅 디바이스(예컨대, XR 시스템(100))로부터, 제1 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지(예컨대, 서명된 제어 메시지(208), 서명된 제어 메시지(240), 서명된 커맨드(314), 서명된 커맨드(420), 서명된 커맨드(502))를 수신하는 것을 포함할 수 있다. 서명된 메시지는 패턴에 인코딩된 암호 키(및/또는 패턴에 인코딩된 임의의 다른 보안 데이터)를 사용하여 제2 컴퓨팅 디바이스에 의해 서명될 수 있다. 예를 들어, 제2 컴퓨팅 디바이스는 패턴으로부터 암호 키를 추출하고, 암호 키를 사용하여 커맨드를 포함하는 메시지에 서명할 수 있다.
블록(608)에서, 프로세스(600)는, 제1 컴퓨팅 디바이스에 의해, 서명된 메시지가 패턴에 인코딩된 암호 키(및/또는 패턴에 인코딩된 임의의 다른 보안 데이터)로 서명되는지 여부를 결정하는 것을 포함할 수 있다. 일부 예들에서, 제1 컴퓨팅 디바이스는 서명된 메시지에 서명하는 데 사용된 암호 키를 제1 컴퓨팅 디바이스에서의 하나 이상의 유효 암호 키들과 비교할 수 있다. 예를 들어, 제1 컴퓨팅 디바이스는 서명된 메시지에 서명하는 데 사용된 암호 키를 제1 컴퓨팅 디바이스에 의해 패턴으로 인코딩된 암호 키와 비교할 수 있다. 일부 예들에서, 제1 컴퓨팅 디바이스는 제1 컴퓨팅 디바이스에서의 키를 사용하여 서명된 메시지를 디코딩하고 서명된 메시지를 입증할 수 있다.
블록(610)에서, 프로세스(600)는, 서명된 메시지가 패턴에 인코딩된 암호 키(및/또는 패턴에 인코딩된 임의의 다른 보안 데이터)로 서명된다는 결정에 기초하여, 제1 컴퓨팅 디바이스에 의해, 서명된 메시지 내의 커맨드에 따라 제1 컴퓨팅 디바이스의 동작을 수정하는 것을 포함할 수 있다. 예를 들어, 제1 컴퓨팅 디바이스는 서명된 메시지를 입증하고, 서명된 메시지 내의 커맨드를 실행하여 커맨드와 연관된 특정 동작/상태를 구현할 수 있다.
일부 예들에서, 프로세스(600)는, 제1 컴퓨팅 디바이스에 의해, 서명된 메시지가 생체인식 특징을 포함함을 검증하는 것; 및 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여 그리고 서명된 메시지가 생체인식 특징을 포함함을 검증하는 것에 기초하여 서명된 메시지 내의 커맨드에 따라 제1 컴퓨팅 디바이스의 동작을 수정하는 것을 포함할 수 있다.
일부 예들에서, 프로세스(600)는, 제1 컴퓨팅 디바이스에 의해, 제2 컴퓨팅 디바이스가 제1 컴퓨팅 디바이스와 동일한 로컬 네트워크에 연결됨을 검증하는 것; 및 서명된 메시지가 패턴에 인코딩된 암호 키로 서명된다는 결정에 기초하여 그리고 제2 컴퓨팅 디바이스가 제1 컴퓨팅 디바이스와 동일한 로컬 네트워크에 연결됨을 검증하는 것에 기초하여 서명된 메시지 내의 커맨드에 따라 제1 컴퓨팅 디바이스의 동작을 수정하는 것을 포함할 수 있다.
일부 경우들에서, 프로세스(600)는, 암호 키 후에 제1 컴퓨팅 디바이스에 의해 생성된 암호 키들의 수가 임계치 미만이라고 결정하는 것; 암호 키들의 수가 임계치 미만이라고 결정하는 것에 기초하여, 암호 키가 만료되지 않았다고 결정하는 것; 및 암호 키가 만료되지 않았다고 결정하는 것에 기초하여, 제1 컴퓨팅 디바이스에 의해, 암호 키로 서명되는 서명된 메시지를 수락하는 것을 포함할 수 있다.
일부 경우들에서, 프로세스(600)는 제1 컴퓨팅 디바이스에 의해, 제2 컴퓨팅 디바이스로부터, 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 메시지를 수신하는 것; 제1 컴퓨팅 디바이스에 의해, 추가적인 메시지에 제1 컴퓨팅 디바이스에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고(예컨대, 그 서명으로 서명되지 않았다고) 결정하는 것; 및 추가적인 메시지에 제1 컴퓨팅 디바이스에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하는 것에 기초하여, 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 거부하는 것을 포함할 수 있다. 일부 예들에서, 제1 컴퓨팅 디바이스는 제2 컴퓨팅 디바이스와 페어링되고, 제1 컴퓨팅 디바이스는, 추가적인 메시지에 제1 컴퓨팅 디바이스에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하는 것에 기초하여 제1 컴퓨팅 디바이스와 제2 컴퓨팅 디바이스의 페어링 후 하나 이상의 커맨드들을 거부한다.
일부 경우들에서, 프로세스(600)는, 제1 컴퓨팅 디바이스에 의해, 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하는 것; 추가적인 서명된 메시지가 제3 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(405))에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하는 것; 및 추가적인 서명된 메시지가 제3 컴퓨팅 디바이스에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하는 것에 응답하여, 추가적인 서명된 메시지 내의 하나 이상의 커맨드들에 따라 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하는 것을 포함할 수 있다. 일부 경우들에서, 프로세스(600)는 유효 암호 키가 장치에서의 특정 암호 키의 매칭 복사본이라는 결정에 기초하여 유효 암호 키가 유효하다고 결정하는 것을 포함할 수 있다. 예를 들어, 제1 컴퓨팅 디바이스는 유효 암호 키와 제1 컴퓨팅 디바이스에 의해 생성되고/되거나 그에 저장된 암호 키 사이의 매칭에 기초하여 유효 암호 키가 유효하다고 결정할 수 있다.
일부 경우들에서, 프로세스(600)는, 제1 컴퓨팅 디바이스에 의해, 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하는 것; 제1 컴퓨팅 디바이스 및 제3 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(405))에 의해 사용되는 공유 키 생성기와 같은 공유 보안 데이터 생성기(예컨대, 보안 데이터 생성기(155))의 복사본을 사용하여 추가적인 서명된 메시지에 서명하였다고 결정하는 것; 및 제1 컴퓨팅 디바이스 및 제3 컴퓨팅 디바이스에 의해 사용되는 공유 보안 데이터 생성기의 복사본을 사용하여 추가적인 서명된 메시지에 서명하였다고 결정하는 것에 응답하여, 추가적인 공유 메시지 내의 하나 이상의 커맨드들에 따라 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하는 것을 포함할 수 있다.
도 6b는 XR 디바이스(예컨대, XR 시스템(100))를 사용하여 IoT/스마트 디바이스와 같은 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(150), 컴퓨팅 디바이스(405))를 제어하기 위한 예시적인 프로세스(620)를 예시하는 흐름도이다.
블록(622)에서, 프로세스(620)는 제1 컴퓨팅 디바이스(예컨대, XR 시스템(100))에 의해, 제1 컴퓨팅 디바이스의 하나 이상의 센서들을 사용하여, 제2 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(150))에 의해 출력된 패턴을 검출하는 것을 포함할 수 있다. 패턴은 암호 키, 토큰, 랜덤 스트링 및/또는 수 등과 같은 보안 데이터를 인코딩할 수 있다. 일부 예들에서, 패턴은 시각/디스플레이 패턴, 오디오 패턴, 광 패턴, 이들의 조합, 및/또는 임의의 다른 패턴을 포함할 수 있다. 일부 예들에서, 제1 컴퓨팅 디바이스는 하나 이상의 이미지 센서들을 사용하여 시각/디스플레이 패턴 및/또는 임의의 광 패턴을 검출할 수 있다. 일부 예들에서, 제1 컴퓨팅 디바이스는 하나 이상의 오디오 센서들을 사용하여 임의의 오디오 패턴을 검출할 수 있다.
블록(624)에서, 프로세스(620)는, 제1 컴퓨팅 디바이스에 의해, 패턴에 인코딩된 암호 키(및/또는 패턴에 인코딩된 임의의 다른 보안 데이터)를 추출하는 것을 포함할 수 있다. 예를 들어, 제1 컴퓨팅 디바이스는 패턴을 분석/디코딩하여 패턴에 인코딩된 암호 키(및/또는 임의의 다른 보안 데이터)를 획득할 수 있다.
블록(626)에서, 프로세스(620)는 제1 컴퓨팅 디바이스에 의해, 암호 키(및/또는 패턴에 인코딩된 임의의 다른 보안 데이터)를 사용하여, 제2 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 메시지에 서명하는 것을 포함할 수 있다. 일부 경우들에서, 제1 컴퓨팅 디바이스는 이벤트 또는 트리거, 이를테면, 제2 컴퓨팅 디바이스의 현재 상태, 제1 컴퓨팅 디바이스의 동작, 제1 컴퓨팅 디바이스에 의해 렌더링된 콘텐츠, 제1 컴퓨팅 디바이스 및/또는 제2 컴퓨팅 디바이스와 연관된 환경 내의 하나 이상의 조건들, 하나 이상의 컴퓨팅 디바이스들을 제어하기 위한 규칙, 시간/날짜, 제1 컴퓨팅 디바이스 상에서 실행되는 애플리케이션 등에 기초하여 커맨드를 생성할 수 있다. 일부 경우들에서, 제1 컴퓨팅 디바이스는 제1 컴퓨팅 디바이스의 사용자로부터의 요청 또는 입력에 기초하여 커맨드를 생성할 수 있다.
블록(628)에서, 프로세스(620)는 제1 컴퓨팅 디바이스에 의해, 제2 컴퓨팅 디바이스로, 제2 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 전송하는 것을 포함할 수 있다. 제2 컴퓨팅 디바이스는, 이전에 설명된 바와 같이, 서명된 메시지를 입증하고 커맨드를 실행할 수 있다.
일부 경우들에서, 서명된 메시지는 생체인식 특징(들)을 포함할 수 있다. 예를 들어, 서명된 메시지는 사용자로부터 생체인식 센서에 의해 획득된 생체인식 특징 벡터를 포함할 수 있다. 예를 들어, 생체인식 특징 벡터는 사용자의 지문, 눈, 얼굴 등과 연관된 생체인식 데이터를 포함할 수 있다.
일부 경우들에서, 제1 컴퓨팅 디바이스는, 제1 컴퓨팅 디바이스가 제2 컴퓨팅 디바이스와 동일한 로컬 네트워크에 연결되는 동안 서명된 메시지를 제2 컴퓨팅 디바이스로 전송할 수 있다. 제2 컴퓨팅 디바이스는 제1 컴퓨팅 디바이스가 추가적인 보안/인증 인자로서 제2 컴퓨팅 디바이스와 동일한 로컬 네트워크 상에 있음을 검증할 수 있다.
일부 예들에서, 프로세스(600) 및/또는 프로세스(620)는 하나 이상의 컴퓨팅 디바이스들 또는 장치들에 의해 수행될 수 있다. 하나의 예시적인 예에서, 프로세스(600)는 도 1에 도시된 컴퓨팅 디바이스(150)에 의해 수행될 수 있고, 프로세스(620)는 도 1에 도시된 XR 시스템(100)에 의해 수행될 수 있다. 일부 예들에서, 프로세스(600) 또는 프로세스(620)는 도 7에 도시된 컴퓨팅 디바이스 아키텍처(700)를 갖는 하나 이상의 컴퓨팅 디바이스들에 의해 수행될 수 있다. 일부 경우들에서, 그러한 컴퓨팅 디바이스 또는 장치는 프로세스(600) 또는 프로세스(620)의 단계들을 수행하도록 구성되는 프로세서, 마이크로프로세서, 마이크로컴퓨터, 또는 디바이스의 다른 컴포넌트를 포함할 수 있다. 일부 예들에서, 그러한 컴퓨팅 디바이스 또는 장치는 이미지 데이터 및/또는 다른 센서 측정치들을 캡처하도록 구성된 하나 이상의 센서들을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스는 스마트폰, 헤드 마운트 디스플레이, 모바일 디바이스, 또는 다른 적합한 디바이스를 포함할 수 있다. 일부 예들에서, 그러한 컴퓨팅 디바이스 또는 장치는 하나 이상의 이미지들 또는 비디오들을 캡처하도록 구성된 카메라를 포함할 수 있다. 일부 경우들에, 그러한 컴퓨팅 디바이스는 이미지들을 디스플레이하기 위한 디스플레이를 포함할 수 있다. 일부 예들에서, 하나 이상의 센서들 및/또는 카메라는 컴퓨팅 디바이스로부터 분리되고, 이 경우에, 컴퓨팅 디바이스는 감지된 데이터를 수신한다. 그러한 컴퓨팅 디바이스는 데이터를 통신하도록 구성된 네트워크 인터페이스를 추가로 포함할 수 있다.
컴퓨팅 디바이스의 컴포넌트들은 회로부에서 구현될 수 있다. 예를 들어, 컴포넌트들은 하나 이상의 프로그래밍가능 전자 회로들(예컨대, 마이크로프로세서들, 그래픽 프로세싱 유닛(GPU)들, 디지털 신호 프로세서(DSP)들, 중앙 프로세싱 유닛(CPU)들 및/또는 다른 적합한 전자 회로들)을 포함할 수 있는 전자 회로들 또는 다른 전자 하드웨어를 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있고, 그리고/또는 본 명세서에서 설명되는 다양한 동작들을 수행하기 위해 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있다. 컴퓨팅 디바이스는 (출력 디바이스의 일례로서 또는 출력 디바이스에 추가하여) 디스플레이, 데이터를 통신 및/또는 수신하도록 구성된 네트워크 인터페이스, 이들의 임의의 조합, 및/또는 다른 컴포넌트(들)를 추가로 포함할 수 있다. 네트워크 인터페이스는 인터넷 프로토콜(IP) 기반 데이터 또는 다른 타입의 데이터를 통신 및/또는 수신하도록 구성될 수 있다.
프로세스(600) 및 프로세스(620)는 논리 순서도들로서 예시되고, 그 동작들은 하드웨어, 컴퓨터 명령들, 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스들을 표현한다. 컴퓨터 명령들의 맥락에서, 동작들은 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현하며, 이러한 명령들은 하나 이상의 프로세서들에 의해 실행될 때, 열거된 동작들을 수행한다. 일반적으로, 컴퓨터 실행가능 명령들은 특정 기능들을 수행하거나 특정 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로서 해석되는 것으로 의도되지 않으며, 임의의 수의 설명되는 동작들이 임의의 순서로 그리고/또는 병렬로 조합되어 프로세스들을 구현할 수 있다.
추가적으로, 프로세스(600) 및 프로세스(620)는 실행가능 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있으며, 하나 이상의 프로세서들 상에서 집합적으로 실행하는 코드(예컨대, 실행가능 명령들, 하나 이상의 컴퓨터 프로그램들, 또는 하나 이상의 애플리케이션들)로서, 하드웨어에 의해, 또는 이들의 조합들로 구현될 수 있다. 위에서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 컴퓨터 판독가능 또는 머신 판독가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독가능 또는 머신 판독가능 저장 매체는 비일시적일 수 있다.
도 7은 본 명세서에서 설명되는 다양한 기법들을 구현할 수 있는 예시적인 컴퓨팅 디바이스의 예시적인 컴퓨팅 디바이스 아키텍처(700)를 예시한다. 예를 들어, 컴퓨팅 디바이스 아키텍처(700)는 도 1에 도시된 XR 시스템(100) 또는 도 1에 도시된 컴퓨팅 디바이스(150)의 적어도 일부 부분들을 구현할 수 있다. 컴퓨팅 디바이스 아키텍처(700)의 컴포넌트들은 버스와 같은 연결(705)을 사용하여 서로 전기 통신하는 것으로 도시된다. 예시적인 컴퓨팅 디바이스 아키텍처(700)는 프로세싱 유닛(CPU 또는 프로세서)(710), 및 판독 전용 메모리(read only memory, ROM)(720) 및 랜덤 액세스 메모리(random access memory, RAM)(725)와 같은 컴퓨팅 디바이스 메모리(715)를 포함하는 다양한 컴퓨팅 디바이스 컴포넌트들을 프로세서(710)에 커플링하는 컴퓨팅 디바이스 연결(705)을 포함한다.
컴퓨팅 디바이스 아키텍처(700)는 프로세서(710)와 직접 연결되거나, 그에 매우 근접하거나, 또는 그의 일부로서 통합되는 고속 메모리의 캐시를 포함할 수 있다. 컴퓨팅 디바이스 아키텍처(700)는 프로세서(710)에 의한 빠른 액세스를 위해 메모리(715) 및/또는 저장 디바이스(730)로부터 캐시(712)로 데이터를 복사할 수 있다. 이러한 방식으로, 캐시는 데이터를 기다리는 동안 프로세서(710) 지연들을 회피하는 성능 부스트를 제공할 수 있다. 이들 및 다른 모듈들은 다양한 액션들을 수행하도록 프로세서(710)를 제어하거나 또는 제어하도록 구성될 수 있다. 다른 컴퓨팅 디바이스 메모리(715)가 또한 사용을 위해 이용가능할 수 있다. 메모리(715)는 상이한 성능 특성들을 갖는 다수의 상이한 타입들의 메모리를 포함할 수 있다. 프로세서(710)는, 프로세서(710)를 제어하도록 구성되고 저장 디바이스(730)에 저장된 임의의 범용 프로세서 및 하드웨어 또는 소프트웨어 서비스뿐만 아니라 소프트웨어 명령들이 프로세서 설계에 통합되는 특수 목적 프로세서를 포함할 수 있다. 프로세서(710)는 다수의 코어들 또는 프로세서들, 버스, 메모리 제어기, 캐시 등을 포함하는 독립형 시스템일 수 있다. 다중 코어 프로세서는 대칭이거나 또는 비대칭일 수 있다.
컴퓨팅 디바이스 아키텍처(700)와의 사용자 상호작용을 가능하게 하기 위해, 입력 디바이스(745)는 스피치를 위한 마이크로폰, 제스처 또는 그래픽 입력을 위한 터치 감지 스크린, 키보드, 마우스, 모션 입력, 스피치 등과 같은 임의의 수의 입력 메커니즘들을 나타낼 수 있다. 출력 디바이스(775)는 또한, 디스플레이, 프로젝터, 텔레비전, 스피커 디바이스와 같은, 당업자에게 알려진 다수의 출력 메커니즘들 중 하나 이상일 수 있다. 일부 경우들에서, 멀티모달(multimodal) 컴퓨팅 디바이스들은, 사용자가 컴퓨팅 디바이스 아키텍처(700)와 통신하기 위해 다수의 타입들의 입력을 제공하는 것을 가능하게 할 수 있다. 통신 인터페이스(740)는 일반적으로 사용자 입력 및 컴퓨팅 디바이스 출력을 통제 및 관리할 수 있다. 임의의 특정 하드웨어 배열에 대해 동작하는 것에 대한 제한은 없으며, 따라서 여기서 기본 특징들은 이들이 개발됨에 따라 개선된 하드웨어 또는 펌웨어 배열들을 쉽게 대체할 수 있다.
저장 디바이스(730)는 비휘발성 메모리이고, 하드 디스크 또는 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 다른 타입들의 컴퓨터 판독가능 매체들, 이를테면, 자기 카세트들, 플래시 메모리 카드들, 고체 상태 메모리 디바이스들, 디지털 다기능 디스크들, 카트리지들, 랜덤 액세스 메모리(RAM)들(725), 판독 전용 메모리(ROM)(720) 및 이들의 하이브리드들일 수 있다. 저장 디바이스(730)는 프로세서(710)를 제어하기 위한 소프트웨어, 코드, 펌웨어 등을 포함할 수 있다. 다른 하드웨어 또는 소프트웨어 모듈들이 고려된다. 저장 디바이스(730)는 컴퓨팅 디바이스 연결(705)에 연결될 수 있다. 일 양태에서, 특정 기능을 수행하는 하드웨어 모듈은, 그 기능을 수행하기 위해, 프로세서(710), 연결(705), 출력 디바이스(775) 등과 같은 필요한 하드웨어 컴포넌트들과 연관되어 컴퓨터 판독가능 매체에 저장된 소프트웨어 컴포넌트를 포함할 수 있다.
용어 "컴퓨터 판독가능 매체"는 휴대용 또는 고정식 저장 디바이스들, 광학 저장 디바이스들, 및 명령(들) 및/또는 데이터를 저장, 포함, 또는 반송할 수 있는 다양한 다른 매체들을 포함하지만 이것들로 제한되지는 않는다. 컴퓨터 판독가능 매체는 데이터가 저장될 수 있고 무선으로 또는 유선 연결들을 통해 전파되는 캐리어 파들 및/또는 일시적 전자 신호들을 포함하지 않는 비일시적 매체를 포함할 수 있다. 비일시적 매체의 예들은 자기 디스크 또는 테이프, CD(compact disk) 또는 DVD(digital versatile disk)와 같은 광학 저장 매체들, 플래시 메모리, 메모리 또는 메모리 디바이스들을 포함할 수 있지만, 이것들로 제한되지는 않는다. 컴퓨터 판독가능 매체 상에는 절차, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들 또는 프로그램 명령문들의 임의의 조합을 나타낼 수 있는 코드 및/또는 머신 실행가능 명령들이 저장될 수 있다. 코드 세그먼트는 정보, 데이터, 독립변수(argument)들, 파라미터들, 또는 메모리 콘텐츠들을 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수 있다. 정보, 독립변수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적합한 수단을 통해 전달, 포워딩 또는 송신될 수 있다.
일부 실시 형태들에서, 컴퓨터 판독가능 저장 디바이스들, 매체들 및 메모리들은 비트 스트림 등을 포함하는 케이블 또는 무선 신호를 포함할 수 있다 그러나, 언급될 때, 비일시적 컴퓨터 판독가능 저장 매체들은 에너지, 캐리어 신호들, 전자파들, 및 신호들 그 자체와 같은 매체들을 명시적으로 배제한다.
본 명세서에서 제공되는 실시 형태들 및 예들의 철저한 이해를 제공하기 위해, 특정 세부사항들이 위의 설명에서 제공된다. 그러나, 실시 형태들은 이러한 특정 세부사항들 없이 실시될 수 있다는 것이 당업자에 의해 이해될 것이다. 설명의 명료화를 위해, 일부 경우들에서, 본 기술은 디바이스들, 디바이스 컴포넌트들, 소프트웨어에서 구현된 방법에서의 단계들 또는 루틴들, 또는 하드웨어와 소프트웨어의 조합들을 포함하는 개별 기능 블록들을 포함하는 것으로서 제시될 수 있다. 도면들에 도시된 그리고/또는 본 명세서에서 설명되는 것들 이외의 추가 컴포넌트들이 사용될 수 있다. 예를 들어, 불필요한 세부사항으로 실시 형태들을 모호하게 하지 않도록 회로들, 시스템들, 네트워크들, 프로세스들 및 다른 컴포넌트들은 블록도 형태의 컴포넌트들로서 도시될 수 있다. 다른 경우들에는, 실시 형태들을 모호하게 하는 것을 회피하기 위해, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들 및 기법들은 불필요한 세부사항 없이 도시될 수 있다.
개별 실시 형태들은 위에서 흐름도, 순서도, 데이터 순서도, 구조도, 또는 블록도로서 묘사되는 프로세스 또는 방법으로서 설명될 수 있다. 흐름도가 동작들을 순차적인 프로세스로서 설명할 수 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 추가로, 동작들의 순서는 재-배열될 수 있다. 프로세스는 프로세서의 동작들이 완료될 때 종료되지만 도면에 포함되지 않은 추가 단계들을 가질 수 있다. 프로세스는 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응할 때, 그 종료는 호출 함수 또는 메인 함수로의 함수의 복귀에 대응할 수 있다.
위에서 설명되는 예들에 따른 프로세스들 및 방법들은 컴퓨터 판독가능 매체들로부터 저장되거나 달리 이용가능한 컴퓨터 실행가능 명령들을 사용하여 구현될 수 있다. 그러한 명령들은 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터 또는 프로세싱 디바이스로 하여금 특정 기능 또는 기능들의 그룹을 수행하게 하거나 달리 이를 구성하는 명령들 및 데이터를 포함할 수 있다. 사용되는 컴퓨터 리소스들의 부분들은 네트워크를 통해 액세스가능할 수 있다. 컴퓨터 실행가능 명령들은, 예를 들어, 어셈블리 언어, 펌웨어, 소스 코드와 같은 바이너리들, 중간 포맷 명령들일 수 있다. 설명되는 예들에 따른 방법들 동안 생성된 정보, 명령들, 및/또는 사용되는 정보를 저장하는 데 사용될 수 있는 컴퓨터 판독가능 매체들의 예들은 자기 또는 광학 디스크들, 플래시 메모리, 비휘발성 메모리가 제공된 USB 디바이스들, 네트워크킹된 저장 디바이스들 등을 포함한다.
이러한 개시내용들에 따른 프로세스들 및 방법들을 구현하는 디바이스들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어들, 또는 이들의 임의의 조합을 포함할 수 있고, 다양한 폼 팩터들 중 임의의 폼 팩터를 취할 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현될 때, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들(예컨대, 컴퓨터 프로그램 제품)은 컴퓨터 판독가능 또는 머신 판독가능 매체에 저장될 수 있다. 프로세서(들)는 필요한 태스크들을 수행할 수 있다. 폼 팩터들의 통상적인 예들은 랩톱들, 스마트 폰들, 모바일 폰들, 태블릿 디바이스들 또는 다른 소형 폼 팩터 개인용 컴퓨터들, 개인용 디지털 어시스턴트들, 랙마운트 디바이스들, 독립형 디바이스들 등을 포함한다. 본 명세서에서 설명되는 기능은 또한 주변기기들 또는 애드인(add-in) 카드들로 구현될 수 있다. 그러한 기능은 또한 추가 예로서, 단일 디바이스에서 실행되는 상이한 프로세스들 또는 상이한 칩들 사이의 회로 기판 상에서 구현될 수 있다.
명령들, 그러한 명령들을 전달하기 위한 매체들, 명령들을 실행하기 위한 컴퓨팅 리소스들, 및 그러한 컴퓨팅 리소스들을 지원하기 위한 다른 구조들은 본 개시내용에서 설명되는 기능들을 제공하기 위한 예시적인 수단들이다.
위의 설명에서, 본 출원의 양태들은 본 출원의 특정 실시 형태들을 참조하여 설명되지만, 당업자는 본 출원이 이것으로 제한되지 않음을 인식할 것이다. 따라서, 본 출원의 예시적인 실시 형태들이 본 명세서에서 상세히 설명되었지만, 본 발명의 개념들은 달리 다양하게 구현 및 채용될 수 있고, 첨부된 청구항들은 종래 기술에 의해 제한된 것을 제외하고, 그러한 변형들을 포함하는 것으로 해석되어야 한다는 것이 이해되어야 한다. 위에서 설명되는 본 출원의 다양한 특징들 및 양태들은 개별적으로 또는 공동으로 사용될 수 있다. 추가로, 실시 형태들은, 본 명세서의 더 넓은 사상 및 범주를 벗어나지 않으면서, 본 명세서에서 설명되는 것들 이외의 임의의 수의 환경들 및 애플리케이션들에서 활용될 수 있다. 이에 따라, 본 명세서 및 도면들은 제한적인 것이 아니라 예시적인 것으로 간주되어야 한다. 예시의 목적들로, 방법들은 특정 순서로 설명되었다. 대안적인 실시 형태들에서, 방법들은 설명된 것과 상이한 순서로 수행될 수 있음을 이해해야 한다.
당업자는 본 명세서에서 사용된 미만("<") 및 초과(">") 심볼들 또는 용어가 본 개시내용의 범주를 벗어나지 않으면서 이하("≤") 및 이상("≥") 심볼들로 각각 대체될 수 있음을 이해할 것이다.
컴포넌트들이 특정 동작들을 수행"하도록 구성되는" 것으로 설명되는 경우, 그러한 구성은 예를 들어, 전자 회로들 또는 다른 하드웨어를 설계하여 동작을 수행하는 것에 의해, 프로그래밍가능 전자 회로들(예컨대, 마이크로프로세서들, 또는 다른 적합한 전자 회로들)을 프로그래밍하여 동작을 수행하는 것에 의해, 또는 이들의 임의의 조합에 의해, 달성될 수 있다.
문구 "~에 커플링된(coupled to)"은 직접 또는 간접적으로 다른 컴포넌트에 물리적으로 연결되는 임의의 컴포넌트, 및/또는, 직접 또는 간접적으로 다른 컴포넌트와 통신하는(예컨대, 유선 또는 무선 연결, 및/또는 다른 적합한 통신 인터페이스를 통해 다른 컴포넌트에 연결됨) 임의의 컴포넌트를 지칭한다.
세트 중 "적어도 하나" 및/또는 세트 중 "하나 이상"을 인용하는 본 개시내용의 청구항 언어 또는 다른 언어는 세트 중 하나의 멤버 또는 세트 중 다중 멤버들(임의의 조합으로)이 청구항을 만족한다는 것을 나타낸다. 예를 들어, "A 및 B 중 적어도 하나" 또는 "A 또는 B 중 적어도 하나"를 언급하는 청구항 언어는 A, B, 또는 A와 B를 의미한다. 다른 예에서, "A, B 및 C 중 적어도 하나" 또는 "A, B 또는 C 중 적어도 하나"를 언급하는 청구항 언어는 A, B, C, 또는 A와 B, 또는 A와 C, 또는 B와 C, 또는 A와 B와 C를 의미한다. 그 언어, 세트 "중 적어도 하나" 및/또는 세트 중 "하나 이상"은 세트를 그 세트에 열거된 아이템들로 제한하지 않는다. 예를 들어, "A 및 B 중 적어도 하나" 또는 "A 또는 B 중 적어도 하나"를 인용하는 청구항 언어는 A, B, 또는 A 및 B를 의미할 수 있으며, A 및 B의 세트에 열거되지 않은 아이템들을 추가적으로 포함할 수 있다.
본 명세서에서 개시되는 예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 조합들로서 구현될 수 있다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그것들의 기능 관점들에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제약들에 의존한다. 당업자는 설명된 기능을 각각의 특정 출원마다 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 출원의 범주를 벗어나게 하는 것으로 해석되지는 않아야 한다.
본 명세서에서 설명되는 기법들은 또한 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 그러한 기법들은 무선 통신 디바이스 핸드셋들 및 다른 디바이스들에서의 적용을 포함하여 다수의 용도들을 갖는 범용 컴퓨터들, 무선 통신 디바이스 핸드셋들 또는 집적 회로 디바이스들과 같은 다양한 디바이스들 중 임의의 디바이스에서 구현될 수 있다. 모듈들 또는 컴포넌트들로서 설명되는 임의의 특징들은 통합된 로직 디바이스로 함께 또는 개별적이지만 상호 운용가능한 로직 디바이스들로서 별개로 구현될 수 있다. 소프트웨어에서 구현되면, 그 기법들은, 실행될 경우 상기 설명된 방법들, 알고리즘들, 및/또는 동작들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터 판독가능 데이터 저장 매체에 의해 적어도 부분적으로 실현될 수 있다. 컴퓨터 판독가능 데이터 저장 매체는 패키징 재료들을 포함할 수 있는 컴퓨터 프로그램 제품의 일부를 형성할 수 있다. 컴퓨터 판독가능 매체는 메모리 또는 데이터 저장 매체들, 이를테면 랜덤 액세스 메모리(RAM), 이를테면 동기식 동적 랜덤 액세스 메모리(SDRAM), 판독 전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(EEPROM), FLASH 메모리, 자기 또는 광학 데이터 저장 매체들 등을 포함할 수 있다. 기법들은 추가적으로 또는 대안적으로, 명령들 또는 데이터 구조들의 형태로 프로그램 코드를 반송 또는 통신하고 컴퓨터, 이를테면, 전파 신호들 또는 파들 의해 액세스, 판독 및/또는 실행될 수 있는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수 있다.
프로그램 코드는 하나 이상의 프로세서들, 이를테면, 하나 이상의 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 필드 프로그래밍가능 로직 어레이(field programmable logic array, FPGA)들 또는 다른 동등한 집적 또는 이산 로직 회로부를 포함할 수 있는 프로세서에 의해 실행될 수 있다. 그러한 프로세서는 본 개시내용에서 설명되는 기법들 중 임의의 기법을 수행하도록 구성될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만; 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예컨대, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수 있다. 이에 따라, 본 명세서에서 사용된 바와 같은 용어 "프로세서"는 전술한 구조, 전술한 구조의 임의의 조합, 또는 본 명세서에서 설명되는 기법들의 구현에 적합한 임의의 다른 구조 또는 장치 중 임의의 것을 지칭할 수 있다.
본 개시내용의 예시적인 양태들은 다음을 포함한다:
양태 1: 하나 이상의 메시지들을 프로세싱하기 위한 장치로서, 메모리; 및 상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 암호 키를 생성하도록; 상기 암호 키를 인코딩하는 패턴을 출력하도록 - 상기 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함함 -; 컴퓨팅 디바이스로부터, 상기 장치의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하도록; 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명되는지 여부를 결정하도록; 그리고 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 결정에 기초하여, 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 장치의 상기 동작을 수정하도록 구성되는, 장치.
양태 2: 양태 1에 있어서, 상기 하나 이상의 프로세서들은, 상기 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하도록; 상기 추가적인 서명된 메시지가 상이한 컴퓨팅 디바이스에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하도록; 그리고 상기 추가적인 서명된 메시지가 상기 상이한 컴퓨팅 디바이스에 의해 생성된 상기 추가적인 패턴에 인코딩된 상기 유효 암호 키를 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 장치의 상기 하나 이상의 동작들을 수정하도록 구성되는, 장치.
양태 3: 양태 2에 있어서, 상기 하나 이상의 프로세서들은, 상기 유효 암호 키가 상기 장치에서의 특정 암호 키의 매칭 복사본이라는 결정에 기초하여 상기 유효 암호 키가 유효하다고 결정하도록 구성되는, 장치.
양태 4: 양태 1 내지 양태 3 중 어느 하나의 양태에 있어서, 상기 하나 이상의 프로세서들은, 상기 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하도록; 상기 추가적인 서명된 메시지가 상기 장치 및 상이한 컴퓨팅 디바이스에 의해 사용되는 공유 키 생성기의 복사본을 사용하여 서명되었다고 결정하도록; 그리고 상기 추가적인 서명된 메시지가 상기 장치 및 상기 상이한 컴퓨팅 디바이스에 의해 사용되는 상기 공유 키 생성기의 상기 복사본을 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 장치의 상기 하나 이상의 동작들을 수정하도록 구성되는, 장치.
양태 5: 양태 1 내지 양태 4 중 어느 하나의 양태에 있어서, 상기 하나 이상의 프로세서들은, 상기 서명된 메시지가 생체인식 특징을 포함함을 검증하도록; 그리고 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 상기 결정에 기초하여 그리고 상기 서명된 메시지가 상기 생체인식 특징을 포함함을 검증하는 것에 기초하여 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 장치의 상기 동작을 수정하도록 구성되는, 장치.
양태 6: 양태 1 내지 양태 5 중 어느 하나의 양태에 있어서, 상기 하나 이상의 프로세서들은, 상기 컴퓨팅 디바이스가 상기 장치와 동일한 로컬 네트워크에 연결됨을 검증하도록; 그리고 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 상기 결정에 기초하여 그리고 상기 컴퓨팅 디바이스가 상기 장치와 동일한 로컬 네트워크에 연결됨을 검증하는 것에 기초하여 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 장치의 상기 동작을 수정하도록 구성되는, 장치.
양태 7: 양태 1 내지 양태 6 중 어느 하나의 양태에 있어서, 상기 하나 이상의 프로세서들은, 상기 암호 키 후에 상기 장치에 의해 생성된 암호 키들의 수가 임계치 미만이라고 결정하도록; 상기 암호 키들의 수가 상기 임계치 미만이라고 결정하는 것에 기초하여, 상기 암호 키가 만료되지 않았다고 결정하도록; 그리고 상기 암호 키가 만료되지 않았다고 결정하는 것에 기초하여, 상기 암호 키로 서명되는 상기 서명된 메시지를 수락하도록 구성되는, 장치.
양태 8: 양태 1 내지 양태 7 중 어느 하나의 양태에 있어서, 상기 하나 이상의 프로세서들은, 상기 컴퓨팅 디바이스로부터, 상기 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 메시지를 수신하도록; 상기 추가적인 메시지에 상기 장치에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하도록; 그리고 상기 추가적인 메시지에 상기 장치에 의해 생성된 상기 유효 암호 키와 연관된 상기 서명이 누락되어 있다고 결정하는 것에 기초하여, 상기 장치의 상기 하나 이상의 동작들을 수정하라는 상기 하나 이상의 커맨드들을 거부하도록 구성되는, 장치.
양태 9: 양태 8에 있어서, 상기 장치는 상기 컴퓨팅 디바이스와 페어링되고, 상기 장치는, 상기 추가적인 메시지에 상기 장치에 의해 생성된 상기 유효 암호 키와 연관된 상기 서명이 누락되어 있다고 결정하는 것에 기초하여 상기 장치와 상기 컴퓨팅 디바이스의 상기 페어링 후 상기 하나 이상의 커맨드들을 거부하는, 장치.
양태 10: 양태 1 내지 양태 9 중 어느 하나의 양태에 있어서, 상기 광 패턴은 광 디밍 및 브라이트닝 패턴 및 색상 온도 변화들의 패턴 중 적어도 하나를 포함하는, 장치.
양태 11: 양태 1 내지 양태 10 중 어느 하나의 양태에 있어서, 상기 시각 패턴은 디스플레이 패턴 및 시각 코드 중 적어도 하나를 포함하는, 장치.
양태 12: 양태 1 내지 양태 11 중 어느 하나의 양태에 있어서, 상기 장치는 사물 인터넷(IoT) 디바이스를 포함하는, 장치.
양태 13: 양태 1 내지 양태 12 중 어느 하나의 양태에 있어서, 상기 장치는 스마트 홈 디바이스를 포함하고, 상기 컴퓨팅 디바이스는 확장 현실 디바이스를 포함하는, 장치.
양태 14: 양태 1 내지 양태 13 중 어느 하나의 양태에 있어서, 디스플레이, 스피커, 발광 디바이스, 마이크로폰, 하나 이상의 센서들, 및 카메라 중 적어도 하나를 추가로 포함하는, 장치.
양태 15: 양태 14에 있어서, 상기 하나 이상의 센서들은 광 센서, 오디오 센서, 모션 센서, 온도 센서, 습도 센서, 이미지 센서, 가속도계, 자이로스코프, 압력 센서, 터치 센서, 및 자력계 중 적어도 하나를 포함하는, 장치.
양태 16: 하나 이상의 메시지들을 프로세싱하는 방법으로서, 제1 컴퓨팅 디바이스에 의해, 암호 키를 생성하는 단계; 상기 제1 컴퓨팅 디바이스에 의해, 상기 암호 키를 인코딩하는 패턴을 출력하는 단계 - 상기 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함함 -; 제2 컴퓨팅 디바이스로부터, 상기 제1 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하는 단계; 상기 제1 컴퓨팅 디바이스에 의해, 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명되는지 여부를 결정하는 단계; 및 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 결정에 기초하여, 상기 제1 컴퓨팅 디바이스에 의해, 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 제1 컴퓨팅 디바이스의 상기 동작을 수정하는 단계를 포함하는, 방법.
양태 17: 양태 16에 있어서, 상기 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하는 단계; 상기 추가적인 서명된 메시지가 상이한 컴퓨팅 디바이스에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하는 단계; 및 상기 추가적인 서명된 메시지가 상기 상이한 컴퓨팅 디바이스에 의해 생성된 상기 추가적인 패턴에 인코딩된 상기 유효 암호 키를 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 동작들을 수정하는 단계를 추가로 포함하는, 방법.
양태 18: 양태 17에 있어서, 상기 유효 암호 키가 상기 제1 컴퓨팅 디바이스에서의 특정 암호 키의 매칭 복사본이라는 결정에 기초하여 상기 유효 암호 키가 유효하다고 결정하는 단계를 추가로 포함하는, 방법.
양태 19: 양태 16 내지 양태 18 중 어느 하나의 양태에 있어서, 상기 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하는 단계; 상기 추가적인 서명된 메시지가 상기 제1 컴퓨팅 디바이스 및 상이한 컴퓨팅 디바이스에 의해 사용되는 공유 키 생성기의 복사본을 사용하여 서명되었다고 결정하는 단계; 및 상기 추가적인 서명된 메시지가 상기 제1 컴퓨팅 디바이스 및 상기 상이한 컴퓨팅 디바이스에 의해 사용되는 상기 공유 키 생성기의 상기 복사본을 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 동작들을 수정하는 단계를 추가로 포함하는, 방법.
양태 20: 양태 16 내지 양태 19 중 어느 하나의 양태에 있어서, 상기 서명된 메시지가 생체인식 특징을 포함함을 검증하는 단계; 및 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 상기 결정에 기초하여 그리고 상기 서명된 메시지가 상기 생체인식 특징을 포함함을 검증하는 것에 기초하여 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 제1 컴퓨팅 디바이스의 상기 동작을 수정하는 단계를 추가로 포함하는, 방법.
양태 21: 양태 16 내지 양태 20 중 어느 하나의 양태에 있어서, 상기 제2 컴퓨팅 디바이스가 상기 제1 컴퓨팅 디바이스와 동일한 로컬 네트워크에 연결됨을 검증하는 단계; 및 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 상기 결정에 기초하여 그리고 상기 제2 컴퓨팅 디바이스가 상기 제1 컴퓨팅 디바이스와 동일한 로컬 네트워크에 연결됨을 검증하는 것에 기초하여 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 제1 컴퓨팅 디바이스의 상기 동작을 수정하는 단계를 추가로 포함하는, 방법.
양태 22: 양태 16 내지 양태 21 중 어느 하나의 양태에 있어서, 상기 암호 키 후에 상기 제1 컴퓨팅 디바이스에 의해 생성된 암호 키들의 수가 임계치 미만이라고 결정하는 단계; 상기 암호 키들의 수가 상기 임계치 미만이라고 결정하는 것에 기초하여, 상기 암호 키가 만료되지 않았다고 결정하는 단계; 및 상기 암호 키가 만료되지 않았다고 결정하는 것에 기초하여, 상기 암호 키로 서명되는 상기 서명된 메시지를 수락하는 단계를 추가로 포함하는, 방법.
양태 23: 양태 16 내지 양태 22 중 어느 하나의 양태에 있어서, 상기 제2 컴퓨팅 디바이스로부터, 상기 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 메시지를 수신하는 단계; 상기 추가적인 메시지에 상기 제1 컴퓨팅 디바이스에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하는 단계; 및 상기 추가적인 메시지에 상기 제1 컴퓨팅 디바이스에 의해 생성된 상기 유효 암호 키와 연관된 상기 서명이 누락되어 있다고 결정하는 것에 기초하여, 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 동작들을 수정하라는 상기 하나 이상의 커맨드들을 거부하는 단계를 추가로 포함하는, 방법.
양태 24: 양태 23에 있어서, 상기 제1 컴퓨팅 디바이스는 상기 제2 컴퓨팅 디바이스와 페어링되고, 상기 추가적인 메시지에 상기 제1 컴퓨팅 디바이스에 의해 생성된 상기 유효 암호 키와 연관된 상기 서명이 누락되어 있다고 결정하는 것에 기초하여 상기 제1 컴퓨팅 디바이스와 상기 제2 컴퓨팅 디바이스의 상기 페어링 후 상기 하나 이상의 커맨드들을 거부하는 단계를 추가로 포함하는, 방법.
양태 25: 양태 16 내지 양태 24 중 어느 하나의 양태에 있어서, 상기 광 패턴은 광 디밍 및 브라이트닝 패턴 및 색상 온도 변화들의 패턴 중 적어도 하나를 포함하는, 방법.
양태 26: 양태 16 내지 양태 25 중 어느 하나의 양태에 있어서, 상기 시각 패턴은 디스플레이 패턴 및 시각 코드 중 적어도 하나를 포함하는, 방법.
양태 27: 양태 16 내지 양태 26 중 어느 하나의 양태에 있어서, 상기 제1 컴퓨팅 디바이스는 사물 인터넷(IoT) 디바이스를 포함하는, 방법.
양태 28: 양태 16 내지 양태 27 중 어느 하나의 양태에 있어서, 상기 제1 컴퓨팅 디바이스는 스마트 홈 디바이스를 포함하고, 상기 제2 컴퓨팅 디바이스는 확장 현실 디바이스를 포함하는, 방법.
양태 29: 명령들이 저장된 비일시적 컴퓨터 판독가능 매체로서, 상기 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금, 양태 1 내지 양태 28 중 어느 하나의 양태에 따른 동작들 중 하나 이상을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
양태 30: 하나 이상의 메시지들을 프로세싱하기 위한 장치로서, 양태 1 내지 양태 28 중 어느 하나의 양태에 따른 동작들 중 하나 이상을 수행하기 위한 수단을 포함하는, 장치.

Claims (30)

  1. 하나 이상의 메시지들을 프로세싱하기 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은,
    암호 키(cryptographic key)를 생성하고;
    상기 암호 키를 인코딩하는 패턴을 출력하는 것으로서, 상기 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함하는, 상기 패턴을 출력하고;
    컴퓨팅 디바이스로부터, 상기 장치의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하고;
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명되는지 여부를 결정하고; 그리고
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 결정에 기초하여, 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 장치의 상기 동작을 수정하도록 구성되는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  2. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하고;
    상기 추가적인 서명된 메시지가 상이한 컴퓨팅 디바이스에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하고; 그리고
    상기 추가적인 서명된 메시지가 상기 상이한 컴퓨팅 디바이스에 의해 생성된 상기 추가적인 패턴에 인코딩된 상기 유효 암호 키를 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 장치의 상기 하나 이상의 동작들을 수정하도록 구성되는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  3. 제2항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 유효 암호 키가 상기 장치에서의 특정 암호 키의 매칭 복사본(matching copy)이라는 결정에 기초하여 상기 유효 암호 키가 유효하다고 결정하도록 구성되는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  4. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하고;
    상기 추가적인 서명된 메시지가 상기 장치 및 상이한 컴퓨팅 디바이스에 의해 사용되는 공유 키 생성기(shared key generator)의 복사본을 사용하여 서명되었다고 결정하고; 그리고
    상기 추가적인 서명된 메시지가 상기 장치 및 상기 상이한 컴퓨팅 디바이스에 의해 사용되는 상기 공유 키 생성기의 상기 복사본을 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 장치의 상기 하나 이상의 동작들을 수정하도록 구성되는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  5. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 서명된 메시지가 생체인식 특징(biometric feature)을 포함함을 검증하고; 그리고
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 상기 결정에 기초하여 그리고 상기 서명된 메시지가 상기 생체인식 특징을 포함함을 검증하는 것에 기초하여 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 장치의 상기 동작을 수정하도록 구성되는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  6. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 컴퓨팅 디바이스가 상기 장치와 동일한 로컬 네트워크에 연결됨을 검증하고; 그리고
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 상기 결정에 기초하여 그리고 상기 컴퓨팅 디바이스가 상기 장치와 동일한 로컬 네트워크에 연결됨을 검증하는 것에 기초하여 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 장치의 상기 동작을 수정하도록 구성되는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  7. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 암호 키 후에 상기 장치에 의해 생성된 암호 키들의 수가 임계치 미만이라고 결정하고;
    상기 암호 키들의 수가 상기 임계치 미만이라고 결정하는 것에 기초하여, 상기 암호 키가 만료되지 않았다고 결정하고; 그리고
    상기 암호 키가 만료되지 않았다고 결정하는 것에 기초하여, 상기 암호 키로 서명되는 상기 서명된 메시지를 수락하도록 구성되는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  8. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 컴퓨팅 디바이스로부터, 상기 장치의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 메시지를 수신하고;
    상기 추가적인 메시지에 상기 장치에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하고; 그리고
    상기 추가적인 메시지에 상기 장치에 의해 생성된 상기 유효 암호 키와 연관된 상기 서명이 누락되어 있다고 결정하는 것에 기초하여, 상기 장치의 상기 하나 이상의 동작들을 수정하라는 상기 하나 이상의 커맨드들을 거부하도록 구성되는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  9. 제8항에 있어서, 상기 장치는 상기 컴퓨팅 디바이스와 페어링되고, 상기 장치는, 상기 추가적인 메시지에 상기 장치에 의해 생성된 상기 유효 암호 키와 연관된 상기 서명이 누락되어 있다고 결정하는 것에 기초하여 상기 장치와 상기 컴퓨팅 디바이스의 상기 페어링 후 상기 하나 이상의 커맨드들을 거부하는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  10. 제1항에 있어서, 상기 광 패턴은 광 디밍(dimming) 및 브라이트닝(brightening) 패턴 및 색상 온도 변화(color temperature change)들의 패턴 중 적어도 하나를 포함하는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  11. 제1항에 있어서, 상기 시각 패턴은 디스플레이 패턴 및 시각 코드 중 적어도 하나를 포함하는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  12. 제1항에 있어서, 상기 장치는 사물 인터넷(Internet-of-Things, IoT) 디바이스를 포함하는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  13. 제1항에 있어서, 상기 장치는 스마트 홈 디바이스를 포함하고, 상기 컴퓨팅 디바이스는 확장 현실 디바이스를 포함하는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  14. 제1항에 있어서, 디스플레이, 스피커, 발광 디바이스, 마이크로폰, 하나 이상의 센서들, 및 카메라 중 적어도 하나를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  15. 제14항에 있어서, 상기 하나 이상의 센서들은 광 센서, 오디오 센서, 모션 센서, 온도 센서, 습도 센서, 이미지 센서, 가속도계, 자이로스코프, 압력 센서, 터치 센서, 및 자력계 중 적어도 하나를 포함하는, 하나 이상의 메시지들을 프로세싱하기 위한 장치.
  16. 하나 이상의 메시지들을 프로세싱하는 방법으로서,
    제1 컴퓨팅 디바이스에 의해, 암호 키를 생성하는 단계;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 암호 키를 인코딩하는 패턴을 출력하는 단계로서, 상기 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함하는, 상기 패턴을 출력하는 단계;
    제2 컴퓨팅 디바이스로부터, 상기 제1 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하는 단계;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명되는지 여부를 결정하는 단계; 및
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 결정에 기초하여, 상기 제1 컴퓨팅 디바이스에 의해, 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 제1 컴퓨팅 디바이스의 상기 동작을 수정하는 단계를 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  17. 제16항에 있어서, 상기 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하는 단계; 상기 추가적인 서명된 메시지가 상이한 컴퓨팅 디바이스에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하는 단계; 및 상기 추가적인 서명된 메시지가 상기 상이한 컴퓨팅 디바이스에 의해 생성된 상기 추가적인 패턴에 인코딩된 상기 유효 암호 키를 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 동작들을 수정하는 단계를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  18. 제17항에 있어서,
    상기 유효 암호 키가 상기 제1 컴퓨팅 디바이스에서의 특정 암호 키의 매칭 복사본이라는 결정에 기초하여 상기 유효 암호 키가 유효하다고 결정하는 단계를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  19. 제16항에 있어서,
    상기 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하는 단계;
    상기 추가적인 서명된 메시지가 상기 제1 컴퓨팅 디바이스 및 상이한 컴퓨팅 디바이스에 의해 사용되는 공유 키 생성기의 복사본을 사용하여 서명되었다고 결정하는 단계; 및
    상기 추가적인 서명된 메시지가 상기 제1 컴퓨팅 디바이스 및 상기 상이한 컴퓨팅 디바이스에 의해 사용되는 상기 공유 키 생성기의 상기 복사본을 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 동작들을 수정하는 단계를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  20. 제16항에 있어서,
    상기 서명된 메시지가 생체인식 특징을 포함함을 검증하는 단계; 및
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 상기 결정에 기초하여 그리고 상기 서명된 메시지가 상기 생체인식 특징을 포함함을 검증하는 것에 기초하여 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 제1 컴퓨팅 디바이스의 상기 동작을 수정하는 단계를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  21. 제16항에 있어서,
    상기 제2 컴퓨팅 디바이스가 상기 제1 컴퓨팅 디바이스와 동일한 로컬 네트워크에 연결됨을 검증하는 단계; 및
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 상기 결정에 기초하여 그리고 상기 제2 컴퓨팅 디바이스가 상기 제1 컴퓨팅 디바이스와 동일한 로컬 네트워크에 연결됨을 검증하는 것에 기초하여 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 제1 컴퓨팅 디바이스의 상기 동작을 수정하는 단계를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  22. 제16항에 있어서,
    상기 암호 키 후에 상기 제1 컴퓨팅 디바이스에 의해 생성된 암호 키들의 수가 임계치 미만이라고 결정하는 단계;
    상기 암호 키들의 수가 상기 임계치 미만이라고 결정하는 것에 기초하여, 상기 암호 키가 만료되지 않았다고 결정하는 단계; 및
    상기 암호 키가 만료되지 않았다고 결정하는 것에 기초하여, 상기 암호 키로 서명되는 상기 서명된 메시지를 수락하는 단계를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  23. 제16항에 있어서,
    상기 제2 컴퓨팅 디바이스로부터, 상기 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 메시지를 수신하는 단계;
    상기 추가적인 메시지에 상기 제1 컴퓨팅 디바이스에 의해 생성된 유효 암호 키와 연관된 서명이 누락되어 있다고 결정하는 단계; 및
    상기 추가적인 메시지에 상기 제1 컴퓨팅 디바이스에 의해 생성된 상기 유효 암호 키와 연관된 상기 서명이 누락되어 있다고 결정하는 것에 기초하여, 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 동작들을 수정하라는 상기 하나 이상의 커맨드들을 거부하는 단계를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  24. 제23항에 있어서, 상기 제1 컴퓨팅 디바이스는 상기 제2 컴퓨팅 디바이스와 페어링되고,
    상기 추가적인 메시지에 상기 제1 컴퓨팅 디바이스에 의해 생성된 상기 유효 암호 키와 연관된 상기 서명이 누락되어 있다고 결정하는 것에 기초하여 상기 제1 컴퓨팅 디바이스와 상기 제2 컴퓨팅 디바이스의 상기 페어링 후 상기 하나 이상의 커맨드들을 거부하는 단계를 추가로 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  25. 제16항에 있어서, 상기 광 패턴은 광 디밍 및 브라이트닝 패턴 및 색상 온도 변화들의 패턴 중 적어도 하나를 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  26. 제16항에 있어서, 상기 시각 패턴은 디스플레이 패턴 및 시각 코드 중 적어도 하나를 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  27. 제16항에 있어서, 상기 제1 컴퓨팅 디바이스는 사물 인터넷(IoT) 디바이스를 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  28. 제16항에 있어서, 상기 제1 컴퓨팅 디바이스는 스마트 홈 디바이스를 포함하고, 상기 제2 컴퓨팅 디바이스는 확장 현실 디바이스를 포함하는, 하나 이상의 메시지들을 프로세싱하는 방법.
  29. 명령들이 저장된 제1 컴퓨팅 디바이스의 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금,
    암호 키를 생성하게 하고;
    상기 암호 키를 인코딩하는 패턴을 출력하게 하는 것으로서, 상기 패턴은 시각 패턴, 오디오 패턴, 및 광 패턴 중 적어도 하나를 포함하는, 상기 패턴을 출력하게 하고;
    제2 컴퓨팅 디바이스로부터, 상기 제1 컴퓨팅 디바이스의 동작을 수정하라는 커맨드를 포함하는 서명된 메시지를 수신하게 하고;
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명되는지 여부를 결정하게 하고; 그리고
    상기 서명된 메시지가 상기 패턴에 인코딩된 상기 암호 키로 서명된다는 결정에 기초하여, 상기 서명된 메시지 내의 상기 커맨드에 따라 상기 제2 컴퓨팅 디바이스의 상기 동작을 수정하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  30. 제29항에 있어서, 상기 명령들은, 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금,
    상기 제1 컴퓨팅 디바이스의 하나 이상의 동작들을 수정하라는 하나 이상의 커맨드들을 포함하는 추가적인 서명된 메시지를 수신하게 하고;
    상기 추가적인 서명된 메시지가 상이한 컴퓨팅 디바이스에 의해 생성된 추가적인 패턴에 인코딩된 유효 암호 키를 사용하여 서명되었다고 결정하게 하고; 그리고
    상기 추가적인 서명된 메시지가 상기 상이한 컴퓨팅 디바이스에 의해 생성된 상기 추가적인 패턴에 인코딩된 상기 유효 암호 키를 사용하여 서명되었다고 결정하는 것에 응답하여, 상기 추가적인 서명된 메시지 내의 상기 하나 이상의 커맨드들에 따라 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 동작들을 수정하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020247005947A 2021-09-01 2022-07-11 스마트 디바이스들의 확장 현실 제어 KR20240049282A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/464,539 US20230062244A1 (en) 2021-09-01 2021-09-01 Extended reality control of smart devices
US17/464,539 2021-09-01
PCT/US2022/036726 WO2023033933A1 (en) 2021-09-01 2022-07-11 Extended reality control of smart devices

Publications (1)

Publication Number Publication Date
KR20240049282A true KR20240049282A (ko) 2024-04-16

Family

ID=83005835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247005947A KR20240049282A (ko) 2021-09-01 2022-07-11 스마트 디바이스들의 확장 현실 제어

Country Status (5)

Country Link
US (1) US20230062244A1 (ko)
KR (1) KR20240049282A (ko)
CN (1) CN117859126A (ko)
TW (1) TW202312706A (ko)
WO (1) WO2023033933A1 (ko)

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002013445A2 (en) * 2000-08-04 2002-02-14 First Data Corporation Linking public key of device to information during manufacture
US6839436B1 (en) * 2000-10-16 2005-01-04 Lucent Technologies Inc. Method for providing long-lived broadcast encrypton
US7007303B2 (en) * 2001-10-10 2006-02-28 Xerox Corporation Systems and methods for authenticating documents
CA2618135C (en) * 2005-08-09 2014-10-28 Nexsan Technologies Canada Inc. Data archiving system
US8145917B2 (en) * 2005-12-30 2012-03-27 Nokia Corporation Security bootstrapping for distributed architecture devices
EP1956535A1 (en) * 2007-02-12 2008-08-13 Research In Motion Limited Providing personal certificate warnings in a system and method for processing messages composed by a user
US9218456B2 (en) * 2010-12-22 2015-12-22 Roche Diabetes Care, Inc. Communication protocol for medical devices that supports enhanced security
US9143402B2 (en) * 2012-02-24 2015-09-22 Qualcomm Incorporated Sensor based configuration and control of network devices
US20140013100A1 (en) * 2012-07-05 2014-01-09 Martin M. Menzel Establish bidirectional wireless communication between electronic devices using visual codes
US9419795B2 (en) * 2013-04-24 2016-08-16 Intellectual Discovery Co., Ltd. Digital device and method for performing secure communication using same
US9613306B2 (en) * 2015-08-31 2017-04-04 American Express Travel Related Services Company, Inc. Magnetic card swipe emulation systems and methods
CA3059209A1 (en) * 2017-04-27 2018-11-01 Magic Leap, Inc. Light-emitting user input device
US10243732B1 (en) * 2018-06-27 2019-03-26 Karamba Security Cryptographic key management for end-to-end communication security
US11218316B2 (en) * 2018-12-05 2022-01-04 Ares Technologies, Inc. Secure computing hardware apparatus
US11128451B2 (en) * 2019-03-25 2021-09-21 Micron Technology, Inc. Remotely managing devices using blockchain and DICE-RIoT
US11695752B2 (en) * 2019-06-18 2023-07-04 Core Scientific Operating Company Work provenance in computing pools
US10474809B1 (en) * 2019-07-12 2019-11-12 Capital One Services, Llc Computer-based systems and computing devices configured to utilize one or more authentication servers for securing device commands transmissions and methods of use thereof
CN110764807B (zh) * 2019-10-29 2021-10-29 京东方科技集团股份有限公司 一种升级方法、系统、服务器及终端设备
CN110912880B (zh) * 2019-11-15 2022-04-08 北京小米移动软件有限公司 配网方法及装置、电子设备及存储介质
FR3104868B1 (fr) * 2019-12-12 2024-01-19 Idemia France Procédé et dispositif permettant de déterminer la possibilité d’utilisation d’une clef cryptographique pour effectuer une opération cryptographique
WO2021252042A2 (en) * 2020-03-18 2021-12-16 Princeton Biocode, Inc. Rapid cryptography methods and devices for secure data access
US11368361B2 (en) * 2020-06-05 2022-06-21 Microsoft Technology Licensing, Llc Tamper-resistant service management for enterprise systems
US20230031621A1 (en) * 2021-07-29 2023-02-02 IPAssets Technology Holdings Inc. Cold storage cryptographic authentication apparatus and system

Also Published As

Publication number Publication date
WO2023033933A1 (en) 2023-03-09
US20230062244A1 (en) 2023-03-02
CN117859126A (zh) 2024-04-09
TW202312706A (zh) 2023-03-16

Similar Documents

Publication Publication Date Title
US10834200B2 (en) Methods, systems, and media for indicating a security status of an internet of things device
US10075235B2 (en) Method and apparatus for data transmission
KR102230691B1 (ko) 생체정보를 인식하는 방법 및 장치
KR102488828B1 (ko) 광 통신 소스들의 데이터 프로세싱 및 인증
WO2013028586A1 (en) Location based skins for mixed reality displays
US20160275300A1 (en) Contents security method and electronic apparatus for providing contents security function
US10601817B2 (en) Method and apparatus for providing securities to electronic devices
KR102206877B1 (ko) 생체 정보디스플레이 방법 및 장치
WO2020253800A1 (zh) 仿真对象的身份识别方法、相关装置及系统
CN110637470B (zh) 用于验证用户意图以及安全配置计算设备的技术
US20200142942A1 (en) System and method for coded pattern communication
US20170083083A1 (en) Image processing virtual reality controller system and method
CN110752929B (zh) 应用程序的处理方法及相关产品
KR20190099820A (ko) 전자 장치 및 그의 동작 방법
US10911552B1 (en) Shared access to computing resources using wireless communications
US20230062244A1 (en) Extended reality control of smart devices
US20210141892A1 (en) System and method for user authentication
US20230035360A1 (en) Mapping networked devices
KR20200126850A (ko) 사용자를 인증하기 위한 방법 및 지원하는 전자 장치
US20230368429A1 (en) Electronic apparatus and controlling method thereof
US20230388576A1 (en) Engagement and synchronization using received audio or visual cues
US20230244771A1 (en) Electronic device and control method therefor
US11689704B2 (en) User selection of virtual camera location to produce video using synthesized input from multiple cameras
WO2023087005A1 (en) Systems, methods, and media for controlling shared extended reality presentations
TW202416088A (zh) 節省電池供電設備上的電池使用