CN117859126A - 智能设备的扩展现实控制 - Google Patents
智能设备的扩展现实控制 Download PDFInfo
- Publication number
- CN117859126A CN117859126A CN202280057620.1A CN202280057620A CN117859126A CN 117859126 A CN117859126 A CN 117859126A CN 202280057620 A CN202280057620 A CN 202280057620A CN 117859126 A CN117859126 A CN 117859126A
- Authority
- CN
- China
- Prior art keywords
- computing device
- signed
- cryptographic key
- pattern
- determining
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 117
- 230000000007 visual effect Effects 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims description 21
- 238000005282 brightening Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 15
- 230000033001 locomotion Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 51
- 230000006870 function Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 17
- 239000000284 extract Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 10
- 238000013475 authorization Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004873 anchoring Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- 238000001429 visible spectrum Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/75—Information technology; Communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Business, Economics & Management (AREA)
- Selective Calling Equipment (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
提供了用于智能设备的扩展现实(XR)控制的系统、方法和非暂态介质。一种示例方法可包括:由第一计算设备生成密码密钥;由该第一计算设备输出对该密码密钥进行编码的模式,该模式包括视觉模式、音频模式和/或光模式;由该第一计算设备从第二计算设备接收包括用以修改该第一计算设备的操作的命令的签名消息;由该第一计算设备确定该签名消息是否是用在该模式中编码的该密码密钥来进行签名的;以及基于确定该签名消息是用在该模式中编码的该密码密钥来进行签名的,根据该签名消息中的该命令来修改该第一计算设备的操作。
Description
技术领域
本公开整体涉及扩展现实系统。例如,本公开的各方面涉及使用扩展现实系统来控制智能设备。
背景技术
诸如智能眼镜和头戴式显示器(HMD)的扩展现实(例如,增强现实、虚拟现实等)设备通常实现相机和传感器以跟踪物理环境内的扩展现实(XR)设备和其他对象的位置。XR现实设备可使用跟踪信息来向XR设备的用户提供逼真的XR体验。例如,XR设备可允许用户体验身临其境的虚拟环境或内容或与之交互。为了提供逼真的XR体验,XR技术可将虚拟内容与物理世界集成,这可能涉及匹配对象和设备的相对姿态和移动。XR技术可使用跟踪信息来计算现实世界环境的设备、对象和/或地图的相对姿态,以便与设备、对象和/或现实世界环境的相对位置和移动相匹配,并且以令人信服的方式将内容锚定到现实世界环境。可使用相对姿态信息来将虚拟内容与用户感知到的运动以及设备、对象和现实世界环境的时空状态相匹配。
诸如XR设备和其他电子设备(例如,移动电话、智能手表、平板电脑等)的一些电子设备可与其他设备配对以与其他设备交互。例如,电子设备可与诸如智能家居设备(例如,智能相机、扬声器、灯泡、锁、插头、恒温器、显示器、电视机(TV)等)的物联网(IoT)设备配对以控制IoT设备。在一些情况下,将电子设备配置为控制IoT设备或其他设备的过程可能涉及手动工作。此外,用户可授予另一用户通过该另一用户的设备来控制IoT设备或另一设备的接入权限。
发明内容
公开了用于使用扩展现实(XR)设备来控制一个或多个设备(例如,物联网(IoT)设备,诸如智能设备、连接设备等)的系统、方法和计算机可读介质。根据至少一个示例,提供了一种用于使用XR设备来控制一个或多个IoT设备的方法。例如,一种处理一个或多个消息的方法可包括:由第一计算设备生成密码密钥;由第一计算设备输出对密码密钥进行编码的模式,该模式包括视觉模式、音频模式和光模式中的至少一者;从第二计算设备接收包括用以修改第一计算设备的操作的命令的签名消息;由第一计算设备确定签名消息是否是用在该模式中编码的密码密钥来进行签名的;以及基于确定签名消息是用在该模式中编码的密码密钥来进行签名的,由第一计算设备根据签名消息中的命令来修改第一计算设备的操作。
在另一示例中,提供了一种用于处理一个或多个消息的装置,该装置包括被配置为存储至少一个帧的存储器和耦合到该存储器的一个或多个处理器(例如,在电路中实现)。该一个或多个处理器被配置为并且可以进行以下操作:生成密码密钥;输出对密码密钥进行编码的模式,该模式包括视觉模式、音频模式和光模式中的至少一者;从计算设备接收包括用以修改装置的操作的命令的签名消息;确定签名消息是否是用在该模式中编码的密码密钥来进行签名的;以及基于确定签名消息是用在该模式中编码的密码密钥来进行签名的,根据签名消息中的命令来修改装置的操作。
在另一示例中,提供了一种其上存储有指令的第一计算设备的非暂态计算机可读介质,这些指令在由一个或多个处理器执行时使该一个或多个处理器进行以下操作:生成密码密钥;输出对密码密钥进行编码的模式,该模式包括视觉模式、音频模式和光模式中的至少一者;从第二计算设备接收包括用以修改第一计算设备的操作的命令的签名消息;确定签名消息是否是用在该模式中编码的密码密钥来进行签名的;以及基于确定签名消息是用在该模式中编码的密码密钥来进行签名的,根据签名消息中的命令来修改第二计算设备的操作。
在另一示例中,提供了一种用于处理一个或多个消息的装置。该装置包括:用于生成密码密钥的构件;用于输出对密码密钥进行编码的模式的构件,该模式包括视觉模式、音频模式和光模式中的至少一者;用于从计算设备接收包括用以修改装置的操作的命令的签名消息的构件;用于确定签名消息是否是用在该模式中编码的密码密钥来进行签名的构件;以及用于基于确定签名消息是用在该模式中编码的密码密钥来进行签名的,根据签名消息中的命令来修改装置的操作的构件。
在一些方面,上文所述的方法、装置和计算机可读介质可包括:接收包括用以修改装置的一个或多个操作的一个或多个命令的附加签名消息;确定附加签名消息是使用在由不同计算设备生成的附加模式中编码的有效密码密钥来进行签名的;以及响应于确定附加签名消息是使用在由不同计算设备生成的附加模式中编码的有效密码密钥来进行签名的,根据附加签名消息中的一个或多个命令来修改装置的一个或多个操作。
在一些方面,上文所述的方法、装置和计算机可读介质可包括:基于确定有效密码密钥是该装置处的特定密码密钥的匹配副本而确定有效密码密钥是有效的。
在一些方面,上文所述的方法、装置和计算机可读介质可包括:接收包括用以修改装置的一个或多个操作的一个或多个命令的附加签名消息;确定附加签名消息是使用该装置和不同计算设备所用的共享密钥生成器的副本来进行签名的;以及响应于确定附加签名消息是使用该装置和不同计算设备所用的共享密钥生成器的副本来进行签名的,根据附加签名消息中的一个或多个命令来修改装置的一个或多个操作。
在一些方面,上文所述的方法、装置和计算机可读介质可包括:验证签名消息包括生物计量特征;以及基于确定签名消息是用在模式中编码的密码密钥来进行签名的以及基于验证签名消息包括生物计量特征,根据签名消息中的命令来修改装置的操作。
在一些方面,上文所述的方法、装置和计算机可读介质可包括:验证计算设备连接到与装置相同的本地网络;以及基于确定签名消息是用在模式中编码的密码密钥来进行签名的以及基于验证计算设备连接到与装置相同的本地网络,根据签名消息中的命令来修改装置的操作。
在一些方面,上文所述的方法、装置和计算机可读介质可包括:确定在密码密钥低于阈值之后由装置生成的密码密钥的数目;基于确定密码密钥的数目低于阈值,确定密码密钥没有过期;以及基于确定密码密钥没有过期,接受用密码密钥进行签名的签名消息。
在一些方面,上文所述的方法、装置和计算机可读介质可包括:从计算设备接收包括用以修改装置的一个或多个操作的一个或多个命令的附加消息;确定附加消息缺失与由装置生成的有效密码密钥相关联的签名;以及基于确定附加消息缺失与由装置生成的有效密码密钥相关联的签名,拒绝用以修改装置的一个或多个操作的一个或多个命令。
在一些方面,装置与计算设备配对。在这些方面,上文所述的方法、装置和计算机可读介质可包括:基于确定附加消息缺失与由装置生成的有效密码密钥相关联的签名,在装置与计算设备的配对之后拒绝一个或多个命令。
在一些方面,光模式包括光变暗与变亮模式和色温变化模式中的至少一者。
在一些方面,视觉模式包括显示模式和视觉代码中的至少一者。
在一些方面,上文所述的装置中的一者或多者是物联网(IoT)设备和/或XR设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)的一部分,或可括这些设备。在一些方面,该装置(或第一计算设备)包括智能家居设备,并且该计算设备(或第二计算设备)包括扩展现实设备。在一些示例中,该装置可包括车辆、移动设备(例如,移动电话或所谓的“智能电话”或其他移动设备)、可穿戴设备、个人计算机、膝上型计算机、平板计算机、服务器计算机、机器人设备或系统、航空系统或其他设备,或是这些设备的一部分。在一些方面,该装置包括用于捕获一个或多个图像的一个图像传感器(例如,一个相机)或多个图像传感器(例如,多个相机)。在一些方面,该装置包括用于显示一个或多个图像、通知和/或其他可显示数据的一个或多个显示器。在一些方面,该装置包括一个或多个扬声器、一个或多个发光设备和/或一个或多个麦克风。在一些方面,上文所述的装置可包括一个或多个传感器。例如,一或多个传感器可包括光传感器、音频传感器、运动传感器、温度传感器、湿度传感器、图像传感器、加速度计、陀螺仪、压力传感器、触摸传感器和磁力计中的至少一者。在一些情况下,一个或多个传感器可用于确定装置的位置、装置的状态和/或用于其他目的。
该发明内容不旨在标识所要求保护的主题的关键或必要特征,其也不旨在孤立地用于确定所要求保护的主题的范围。本主题内容应当参考本专利的整个说明书的合适部分、任何或所有附图、以及每项权利要求来理解。
前述内容以及其他特征和实施方案将在参考以下说明书、权利要求书和所附附图时变得更明显。
附图说明
下文参考以下附图详细描述了本申请的例示性示例:
图1是示出根据本公开的一些示例的用于控制计算设备的扩展现实系统的示例的图;
图2A是示出根据本公开的一些示例的用于使用扩展现实系统来控制计算设备的示例系统的图;
图2B是示出根据本公开的一些示例的用于使用扩展现实系统来控制计算设备的示例多因素系统的图;
图3A示出了根据本公开的一些示例的示例竞态条件场景,其中计算设备不接受为了控制计算设备而发布的先前密钥;
图3B示出了根据本公开的一些示例的示例场景,其中计算设备被配置为接受为了控制计算设备而发布的多个先前/之前密钥;
图4是示出根据本公开的一些示例的示例密钥共享场景的图,其中多个计算设备共享安全数据和/或安全数据生成器以向附近设备授予共享安全数据,附近设备可使用该共享安全数据来控制多个计算设备中的任一者;
图5是示出根据本公开的一些示例的用于控制计算设备的示例用例的图;
图6A是示出根据本公开的一些示例的用于授予扩展现实设备控制计算设备的权限的示例过程的流程图;
图6B是示出根据本公开的一些示例的用于使用扩展现实设备来控制计算设备的示例过程的流程图;并且
图7示出了根据本公开的一些示例的示例计算设备架构。
具体实施方式
以下提供本公开的某些方面和实施方案。这些方面和实施方案中的一些可独立地应用,并且它们中的一些可组合应用,这对于本领域技术人员来说是显而易见的。在以下描述中,出于解释目的阐述了具体细节以提供对本申请的各实施方案的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践各个实施方案。各附图和描述不旨在是限制性的。
随后的描述仅提供示例性实施方案,而并不旨在限制本公开内容的范围、适用性或配置。相反,对示例性实施方案的以下描述将向本领域技术人员提供用于实施示例性实施方案的使能性描述。应当理解的是,在不脱离如所附权利要求所阐述的本申请的精神和范围的情况下,可以对元素的功能和排列做出各种改变。
扩展现实(XR)设备和其他电子设备(例如,移动电话、智能可穿戴设备、平板计算机、膝上型计算机等)可用于控制某些设备,诸如物联网(IoT)设备。可被控制的此类设备的示例包括智能家居或连接设备(例如,智能集线器、灯泡、扬声器、相机、门铃、安全系统、锁、电视机等)。例如,用户可将XR设备配置为控制智能扬声器、智能灯具或房间中的其他IoT设备。为了进行说明,在智能灯具的示例中,用户可通过与XR设备的界面交互而不是使用灯开关来打开或关闭房间中的灯来方便地控制智能灯具。然而,将XR设备或另一电子设备配置为控制IoT设备的过程可能涉及手动工作,并且对于用户而言可能困难并且甚至令人困惑。此外,可能难以管理其他用户对用户的IoT设备的接入并且在授予此类接入之后难以限制其他用户对该IoT设备的未来接入。例如,用户可授予另一用户(诸如访客)通过该另一用户的设备来控制该IoT设备的接入权限。然而,在接收到对该IoT设备的接入之后,该另一用户的设备通常保持对该IoT设备的永久接入,同时该另一用户的设备处于该IoT设备的某个范围内和/或连接到与该另一用户的设备相同的本地网络,这可能是不期望的并且可能出现安全问题。
在一些情况下,为了将电子设备(诸如XR设备)配置为控制IoT设备(诸如智能家居设备),用户可操作该电子设备,使得其与用户希望使用该电子设备来控制的IoT设备永久配对。在此类配对之后,该电子设备一般保持对该IoT设备的永久接入。如果用户想要授予另一用户对该IoT设备的接入权限,则用户可允许该另一用户将该另一用户的电子设备与该IoT设备配对。该另一用户于是能够永久地接入该IoT设备。例如,在将访客的电子设备与用户家中的智能灯具配对之后,访客的电子设备可在离开用户家中之后保持对该智能灯具的接入并且可在离开用户家中之后控制该智能灯具。为了限制另一用户的设备对IoT设备的未来接入,用户可使该另一用户的电子设备解除配对或以其他方式从该IoT设备移除。然而,将设备解除配对或移除对IoT设备的接入的过程不是无缝的,并且可能是不方便的、耗时的、甚至困难的。
在一些情况下,用户可允许用户的无线局域网(例如,用户的Wi-Fi网络)上的设备(例如,XR设备或任何其他电子设备)控制该无线局域网上的IoT设备。在这种情况下,用户可将另一用户的设备的接入局部化到该IoT设备的一般邻域,因为该另一用户的设备将需要连接到无线局域网以控制该IoT设备。然而,使用无线局域网来控制接入的这种机制涉及永久配对,这不仅授予另一用户的设备对该IoT设备的永久接入,还使得该另一用户的设备保持对无线局域网的接入。例如,为了授予该另一用户对无线局域网的接入,该用户通常向该另一用户提供安全性凭证(例如,Wi-Fi密钥或口令),该另一用户随后使用该安全性凭证来允许其设备接入无线局域网并建立对IoT设备的接入/控制。此过程可能是不方便的,因为其可能涉及手动步骤,诸如交换安全凭证。此类过程也可能是不期望的并且存在安全问题,诸如当授予其他用户的设备对公共空间中的无线局域网和IoT设备的接入权限时。
实际上,接入无线局域网和IoT设备的任何用户可稍后在此类接入未被移除的情况下接入无线局域网和IoT设备,即使此类未来接入不是无线局域网和/或IoT设备的所有者/管理者所预期或期望的。在许多情况下,被给予对无线局域网和IoT设备的接入的用户(例如,访客、客人等)可潜在地远程接入无线局域网和IoT设备。例如,此类用户可潜在地使用定向收发器、诸如虚拟专用网络(VPN)的远程隧道、诸如安全外壳命令/连接的远程连接/命令等来接入无线局域网并远程控制IoT设备。
如上所述,如果用户希望授予另一用户的设备对IoT设备的临时接入,则当该用户希望添加和/或移除该另一用户的设备对IoT设备的接入时,该用户可能需要执行多个手动、耗时且常常混淆的步骤。该过程可能是不方便的,并且甚至阻止用户向另一用户授予对IoT设备的接入(如果该用户不希望此类接入是永久的)。此外,当授予此类接入的用户不再打算让另一用户保持接入时,如果没有适当地移除此类接入,则此类接入可能带来许多安全问题。在许多情况下,不能容易地或无缝地移除对IoT设备的接入或授予用户对IoT设备的临时接入可使得向公共空间中的用户授予此类接入是不可行的,尤其是考虑到允许用户永久地或持续地接入公共空间中的IoT设备的安全性问题。
在本文中描述了用于管理电子设备对诸如IoT设备的可控制设备的接入的系统、装置、过程(也称为方法)和计算机可读介质(本文中统称为“系统和技术”)。虽然IoT设备在本文中用作可控制设备的示例,但本文所述的技术可由或针对可由另一设备控制的任何设备来执行。在一些示例中,IoT设备可生成安全数据(例如,密码密钥、令牌、随机字符串和/或数字等)以供电子设备(例如,XR设备、移动电话、智能手表、平板计算机或其他设备)用来获得对IoT设备的接入。出于说明的目的,密码密钥在整个公开中被用作由本文所述的系统和技术实现的安全数据的示例。然而,密码密钥仅仅是本文所引用的安全数据的一个例示性示例,并且其他示例可包括其他安全数据和/或安全数据的组合,安全数据诸如例如但不限于令牌、随机字符串和/或数字等。
在一些示例中,IoT设备可生成基于诸如时间、事件、条件等的一个或多个因素而变化的移位密码密钥。例如,诸如智能家居设备的IoT设备可经由多轮密码散列函数每n个时间单位(例如,秒、分钟等)生成一个密码密钥。在一个例示性示例中,IoT设备可使用诸如短语的馈送字符串经由多轮安全散列算法-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设备可输出在持续时间和/或频率(例如,超声)方面可能是人耳可感知的或人耳不可感知的音频模式(例如,摩斯电码或任何其他音频模式)。在其他示例中,IoT设备可输出任何其他类型的模式或模式的组合,诸如光模式、色温模式、视觉模式和/或音频模式的组合。
在一些情况下,为了避免竞态条件,IoT设备可接受由特定数目的先前密钥(例如,在最近/最新密钥之前发布/生成的多个密钥)签名的命令。例如,IoT设备可周期性地输出不同密钥。IoT设备可接受由该IoT设备生成的最后n个密钥中的任一者签名的命令,而不是仅接受用最新密钥进行签名的命令。
在一些情况下,一组附近的IoT设备可共享相同密钥,使得从这些IoT设备中的一者提取密钥的电子设备也可控制该组中的其他IoT设备中的任一者。例如,在一些情况下,拥有对智能TV具有可见性的电子设备的用户可能希望关闭附近的智能灯具以便观看TV,但智能灯具中的一些或全部可能在附近的房间中或在角落/障碍物后面,使得电子设备对此类智能灯具不具有可见性。在这种情况下,电子设备可能不能检测来自此类智能灯具的光模式以提取用于智能灯具中的每一者的单独密钥。然而,智能灯具和TV可共享密钥以允许电子设备使用相同的密钥来控制TV和智能灯具。在用基于字符串加n的多轮散列函数来生成密钥的一些示例中,其中字符串是基本密钥并且n是在需要/生成新密钥时的递增索引,各种IoT设备(例如,先前示例中的智能TV和灯具)可共享相同的基本密钥字符串并可执行同步操作(例如,经由无线电)以递增用于每个密钥的n的相应值。
为了增加安全性,在一些情况下,IoT设备可实现多因素签名/认证。多因素签名/认证可包括本文所述的密钥签名以及一个或多个附加安全/认证因素。例如,IoT设备可基于设备/网络连通性来实现第二安全因素。为了进行说明,IoT设备可要求如先前所述的签名命令,并且还可要求发送签名命令的电子设备位于特定(例如,相同)本地网络(或签名命令经由特定/相同无线局域网接收的本地网络)以便接受该命令。在一些示例中,为了向电子设备授予控制,IoT设备不仅可要求来自电子设备的签名命令,还可要求电子设备连接到与IoT设备相同的Wi-Fi网络。
又如,除了要求如本文所述那样对命令进行签名之外,IoT设备还可要求使用生物计量数据进行签名或授权。例如,为了向电子设备授予控制,IoT设备可要求生物计量特征向量以及来自电子设备的签名命令。例如,如果用户希望允许仅某些用户的设备以及仅当这些设备在该用户家中时对该用户家中的智能TV进行控制,则IoT设备可基于生物计量特征向量将IoT设备控制限于此类用户的设备。在此类情况下,对签名命令的使用可将IoT设备控制限于位于家中的用户设备。因此,在该示例中,IoT设备可使用签名命令与生物计量特征的组合来限制对IoT设备的控制。
将参考附图描述本申请的各个方面。
图1是示出根据本公开的一些示例的用于控制计算设备150的XR系统100的示例的图。XR系统100可用于使用XR和/或本文所述的任何其他技术来控制计算设备150。计算设备150可包括IoT/智能设备,诸如例如但不限于智能可穿戴设备(例如,智能手表、手环、手镯、手套、医疗/健身跟踪器等)、智能锁、智能自行车、智能安全系统、智能灯具、智能集线器、智能相机、智能冰箱、智能扬声器、智能医疗传感器、智能电视、智能恒温器、机器人真空吸尘器、移动计算设备(例如,膝上型计算机、平板计算机、智能电话等)、视频游戏系统、全球定位系统(GPS)设备、智能警报、智能扫描仪、所连接电器、智能装备、嵌入式系统、智能家居设备、或任何其他智能、所连接和/或无线设备。
XR系统100和计算设备150可通信地耦合以允许XR系统100控制计算设备150,如本文进一步所述。在一些示例中,XR系统100可实现一个或多个XR应用,诸如例如但不限于用于管理和/或控制计算设备(例如,计算设备150)的XR应用、智能家居应用、视频游戏应用、机器人应用、自主驾驶或导航应用、生产力应用、社交媒体应用、通信应用、媒体应用、电子商务应用和/或任何其他XR应用。
在一些示例中,XR系统100可包括被配置为使用关于XR系统100和/或计算设备150的相对姿态的信息来提供一个或多个功能的电子设备,一个或多个功能诸如XR功能(例如,跟踪、检测、归类、映射、内容呈现等)、设备管理和/或控制功能、游戏功能、自主驾驶或导航功能、计算机视觉功能、机器人功能等。例如,在一些情况下,XR系统100可以是被配置为检测和映射计算设备150的位置并与计算设备150通信以控制计算设备150的一个或多个操作/状态的XR设备(例如,头戴式显示器、平视显示器设备、智能眼镜等)。
在图1所示的例示性示例中,XR系统100可包括一个或多个图像传感器,诸如图像传感器102A和102B(下文中统称为“102”)、音频传感器104(例如,超声传感器、麦克风等)、惯性测量单元(IMU)106和一个或多个计算部件110。XR系统100可任选地包括用于感测生物计量特征(例如,指纹、面部特征、眼睛识别特征、语音识别特征等)的生物计量传感器108和/或其他传感器。在一些示例中,XR系统100可包括一个或多个其他传感器,诸如例如但不限于雷达、光检测和测距(LIDAR)传感器、压力传感器(例如,大气压力传感器和/或任何其他压力传感器)、陀螺仪、加速度计、磁力计和/或任何其他传感器。在一些示例中,XR系统100可包括附加传感器和/或部件,诸如例如发光二极管(LED)器件、存储设备、高速缓存、通信接口、显示器、存储器设备等。下文参照图7进一步描述了可由XR系统100实现的示例架构和示例硬件部件。
XR系统100可以是单个计算设备或多个计算设备的一部分或由其实现。在一些示例中,XR系统100可以是一个电子设备(或多个电子设备)的一部分,电子设备诸如相机系统(例如,数字相机、IP相机、视频相机、安全相机等)、电话系统(例如,智能电话、蜂窝电话、会议系统等)、膝上型或笔记本计算机、平板计算机、机顶盒、智能电视、显示设备、游戏控制台、XR设备(诸如HMD)、无人机、交通工具中的计算机、IoT(物联网)设备、智能可穿戴设备或任何其他合适的(多个)电子设备。在一些实现方式中,图像传感器102、音频传感器104、IMU106、生物计量传感器108和/或一个或多个计算部件110可以是同一计算设备的一部分。
例如,在一些情况下,图像传感器系统102、音频传感器104、IMU 106、生物计量传感器108和/或一个或多个计算部件110可被集成到相机系统、智能电话、膝上型计算机、平板计算机、智能可穿戴设备、XR设备(诸如HMD)、IoT设备、游戏系统和/或任何其他计算设备中。然而,在其他实现方式中,图像传感器102、音频传感器104、IMU 106、生物计量传感器108和/或一个或多个计算部件110可以是两个或更多个分开的计算设备的一部分或由两个或更多个分开的计算设备实现。
作为示例而非限制,XR系统100的一个或多个计算部件110可包括中央处理单元(CPU)112、图形处理单元(GPU)114、数字信号处理器(DSP)116和/或图像信号处理器(ISP)118。在一些示例中,XR系统100可包括其他类型的处理器,诸如例如计算机视觉(CV)处理器、神经网络处理器(NNP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。XR系统100可使用一个或多个计算部件110来执行各种计算操作,诸如例如扩展现实操作(例如,跟踪、定位、对象检测、分类、姿态估计、映射、内容锚定、内容呈现等)、设备控制操作、图像/视频处理、图形呈现、机器学习、数据处理、建模、计算和/或任何其他操作。
在一些情况下,一个或多个计算部件110可包括其他电子电路或硬件、计算机软件、固件或它们的任何组合以执行本文所述的各种操作中的任一操作。在一些示例中,一个或多个计算部件110可包括比图1中所示的计算部件更多或更少的计算部件。此外,CPU112、GPU 114、DSP 116和ISP 118仅仅是出于说明目的而提供的计算部件的例示性示例。
图像传感器102可包括任何图像和/或视频传感器或捕获设备,诸如数字相机传感器、视频相机传感器、智能电话相机传感器、位于电子装置(诸如电视或计算机)上的图像/视频捕获设备、相机等。在一些情况下,图像传感器102可以是相机或计算设备(诸如数字相机、视频相机、IP相机、智能电话、智能电视、游戏系统等)的一部分。此外,在一些情况下,图像传感器102可包括多个图像传感器,诸如后方和前方传感器设备,并且可以是双相机或其他多相机组件(例如,包括两个相机、三个相机、四个相机或其他数量的相机)的一部分。
在一些示例中,图像传感器102中的每个图像传感器可捕获图像数据并基于图像数据来生成帧和/或将图像数据或帧提供给一个或多个计算部件110以供处理。帧可以包括视频序列中的视频帧或静态图像。帧可以包括表示场景的像素阵列。例如,帧可以是:每像素具有红色、绿色和蓝色颜色分量的红绿蓝(RGB)帧;每像素具有亮度分量和两个色度(颜色)分量(红色度和蓝色度)的亮度、红色度、蓝色度(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生成的视觉模式/光模式。视觉模式/光模式可对安全/授权数据(例如,一个或多个密码密钥、一个或多个令牌等)进行编码,XR系统100可从视觉模式/光模式提取这些数据以检测/定位计算设备150和/或对用于控制计算设备150的消息/命令进行签名,如本文进一步所解释。在一些示例中,视觉模式/光模式可包括由计算设备150发出的(多个)光变暗与变亮模式、由计算设备150发出的光的改变色温模式、显示模式(例如,快速响应(QR)码、条形码、显示对象、显示图像等)和/或任何其他光模式/视觉模式。
在一些情况下,XR系统100可使用音频传感器104来检测由计算设备150生成的音频模式。音频模式可对安全/授权数据(例如,一个或多个密码密钥、一个或多个令牌等)进行编码,XR系统100可从音频模式提取这些数据以检测/定位计算设备150和/或对用于控制计算设备150的消息/命令进行签名,如本文进一步所解释。在一些示例中,音频模式可包括诸如例如摩斯电码、噪声序列和/或任何其他调制声音或声音模式的声学数据模式。在一些情况下,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可实现一个或多个密码散列函数以生成XR系统100可用来对发往计算设备150的控制消息/命令进行签名的密钥,如本文中所解释。密码散列函数的非限制性示例包括消息摘要(MD)算法或安全散列算法(SHA),诸如SHA-224、SHA-256、SHA-384、SHA-512等。在一些情况下,安全数据生成器155可包括可信平台模块(TPM)或被配置为生成诸如密码密钥、随机字符串等安全数据的密码处理器。
在一些情况下,安全数据生成器155可使用一个或多个输入(例如,一个或多个种子词、值、短语、字符等)来基于一个或多个散列算法生成密钥。在一些示例中,安全数据生成器155可实现多轮散列算法以生成密钥。
计算设备150可将由安全数据生成器155生成的安全数据(例如,密钥、令牌、随机字符串或数字等)编码成由计算设备150的(多个)输出设备160发出的模式,诸如视觉/显示模式、光模式、音频模式和/或它们的任何组合。XR系统100可检测由(多个)输出设备160发出的模式并从该模式中提取所编码的安全数据。XR系统100可使用所提取的安全数据来对发送给计算设备150的一个或多个控制消息/命令进行签名,以控制/调整计算设备150的操作/状态,诸如计算设备150的功率状态、计算设备150的(多个)输出、计算设备150的行为、计算设备150的一个或多个操作等。
(多个)输出设备160可包括一个或多个传感器和/或部件,诸如例如但不限于显示器、扬声器、麦克风、图像传感器、LED器件、压力传感器、IMU、发光设备、通信接口(例如,无线电等)、雷达等。在一些示例中,计算设备150可包括用于与XR系统100通信的一个或多个无线通信接口(未示出)。在一些示例中,通信接口可包括无线发射器、无线收发器或用于无线通信和/或发射数据的任何其他构件。通信接口可实现与XR系统100通信的任何无线协议和/或技术,诸如Wi-Fi、蓝牙、ZigBee、蜂窝等。在其他示例中,计算设备150可包括比图1所示的情况更多或更少的传感器、(多个)输出设备和/或部件(相同和/或不同类型)。在一些情况下,计算设备150可包括图1中未示出的一个或多个其他部件,诸如例如但不限于微控制器、致动器、存储设备、存储器、高速缓存、处理设备等。
图1所示的关于XR系统100和计算设备150的部件仅仅是出于说明目的而提供的例示性示例。在其他示例中,XR系统100和/或计算设备150可包括比图1所示的部件更多或更少的部件。尽管XR系统100和计算设备150被示为包括某些部件,但本领域普通技术人员将理解,XR系统100和计算设备150可包括比图1所示的部件更多或更少的部件。例如,在一些示例中,XR系统100和/或计算设备系统150还可包括一个或多个存储器设备(例如,RAM、ROM、高速缓存等)、一个或多个联网接口(例如,有线和/或无线通信接口等)、一个或多个显示设备、高速缓存、存储设备和/或图1中未示出的其他硬件或处理设备。下文将参照图7来描述可用XR系统100和/或计算设备150实现的计算设备和/或硬件部件的例示性示例。
图2A是示出用于使用XR系统100来控制计算设备150的示例系统200的图。如前所述,计算设备150可包括IoT/智能设备,诸如例如但不限于智能可穿戴设备(例如,智能手表、手环、手镯、手套、医疗/健身/健康跟踪器等)、智能锁、智能自行车、智能安全系统、智能灯具、智能集线器、智能相机、智能冰箱、智能扬声器、智能医疗传感器、智能电视、GPS设备、移动计算机、视频游戏控制台、智能警报、智能扫描仪、所连接电器、智能装备、智能家居设备、嵌入式系统、或任何其他智能、所连接和/或无线设备。示例系统200可使得XR系统100能够获得控制计算设备150的一个或多个操作和/或状态的权限和/或授权。
例如,在示例系统200中,XR系统100可检测由计算设备150发出的对安全数据(例如,密钥、令牌、随机字符串或数字等)进行编码的模式(例如,视觉/显示模式、光模式、音频模式等),XR系统100可使用安全数据对发往计算设备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的操作/状态的设备(和/或设备位置)的范围。例如,附近设备的允许检测到输出模式的距离和/或位置可防止远程设备检测到输出模式并提取密钥以控制计算设备150(如果此类远程设备超出某一距离/接近度和/或位于某些位置处)。
在一些示例中,附近设备的允许检测到输出模式的距离和/或位置可取决于输出模式的类型(例如,光、视觉、音频等)、输出模式的配置和/或输出模式的发出方式。例如,当光模式/视觉模式和/或输出设备160位于附近设备的一个或多个图像传感器的视野内时,附近设备可检测来自计算设备150的光模式/视觉模式。又如,当输出设备160与附近设备之间的距离使得附近设备的音频传感器能够检测到由输出设备160发出的音频模式中的音频时,附近设备可检测到来自计算设备150的音频模式。
在一些情况下,计算设备150可基于一个或多个因素来改变其广播的输出模式的类型,一个或多个因素诸如例如计算设备150的位置(例如,私密位置、公共位置、具有特定噪声水平的位置、具有特定亮或暗水平的位置、具有特定数目或配置的视觉障碍的位置等)、指示附近设备是否应具有对输出设备160的视野的偏好/设置、环境类型、计算设备150所位于的房间的大小和/或配置等。例如,如果偏好设置指示输出模式可被不具有对输出设备160的视野的附近设备(例如,被包括不具有对输出设备160的视野的(多个)图像传感器的附近设备)检测到,则计算设备150可广播可被附近设备检测到的音频模式和/或光模式,即使附近设备的图像传感器不具有对输出设备160的视野(例如,并且不能检测到呈现在输出设备160上的显示模式)。如果偏好设置指示输出模式改为应仅可由具有对输出设备160的视野的附近设备(例如,由包括对具有对输出设备160的视野的(多个)图像传感器的附近设备)检测到,则计算设备150可输出当附近设备的图像传感器具有对输出设备160的视野时可由附近设备检测到的显示模式并且因此显示模式呈现在输出设备160上。
在一些示例中,输出模式204可包括,该序列可向检测到输出模式204的设备指示输出模式204包括密钥和/或是用于向附近设备提供密钥以控制计算设备150的操作/状态的特定类型的模式。例如,输出模式204可包括将输出模式204与其他类型的光模式、视觉模式、音频模式和/或类似类型的模式区分开来的序列,诸如位序列。在一些情况下,输出模式中的(多个)序列可用信号通知输出模式的开始、结束和/或任何其他点/部分。例如,输出模式中的序列可向检测模式的附近设备发信号通知该序列对应于在输出模式的对密钥进行编码的部分之前的输出模式的开始。这样,检测输出模式的附近设备(例如,XR系统100)可确定由附近设备检测到的输出模式的量是否包括密钥或足以提取密钥,或附近设备是否应改为等待计算设备150输出另一模式,使得其可捕获足够量的输出模式以提取输出模式中的密钥。
XR系统100可使用图像传感器102和/或音频传感器104中的一者或多者来检测来自计算设备150的输出模式204。当XR系统100在计算设备150的某个接近度范围内和/或当XR系统100相对于计算设备150处于某个位置时,XR系统100可检测到输出模式204。能够检测到输出模式204的XR系统100的接近度和/或位置可取决于如先前所述的一个或多个因素,诸如输出模式的类型(例如,显示、光、音频等)、计算设备150和/或XR系统100的环境和/或位置、输出模式的配置(例如,显示大小、显示位置、音频水平、光水平等)等。
一旦图像传感器102和/或音频传感器104中的一者或多者已检测到输出模式204,XR系统100可执行密钥提取212以提取在输出模式204中编码的密钥206。在一些示例中,XR系统100可分析输出模式204并基于输出模式204的一个或多个特征(例如,光特征、图像特征、音频特征等)来检测密钥206。
在一些示例中,XR系统100可使用来自图像传感器102、音频传感器104和/或IMU106中的一者或多者的数据来执行跟踪210,以确定XR系统100在环境中和/或相对于计算设备150的位置。在一些示例中,跟踪210可生成用于XR功能(诸如例如姿态估计、定位、映射等)的跟踪数据214。在一些情况下,跟踪数据214可包括指示XR系统100在场景/环境中的位置和/或取向、XR系统100的场景/环境的地图(或地图的一部分)的数据。在一些情况下,跟踪数据214中的地图可定位XR系统100的场景/环境内的一个或多个特征/对象,诸如计算设备150的位置和/或取向。在一些示例中,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和/或基于跟踪数据214中关于XR系统100的位置和/或计算设备150的位置的信息来标识发出输出模式204的设备的位置。
XR系统100上的XR应用202可使用由密钥提取212提取的密钥206来生成签名控制消息208,该签名控制消息包括用于控制/调整计算设备150的一个或多个操作和/或状态的一个或多个命令/指令。例如,XR应用202可使用密钥206来用命令/指令对控制消息进行签名以控制计算设备150。在一些示例中,用于计算设备150的命令/指令可指示计算设备150关闭或开启、调整计算设备150的光水平、播放或停止声音(例如,歌曲、警报、消息、噪声、通知等)、改变一个或多个部件的功率状态、开始或停止相机操作、生成输出、开始或停止计算设备150处的操作和/或停止或实现任何其他操作和/或状态。
XR系统100可将签名控制消息208从XR应用202发送到计算设备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可向XR系统100提供用于控制计算设备150的(多个)操作/(多个)状态的临时权限/授权。在一些示例中,XR系统100可使用密钥206一次(例如,基于签名控制消息208)来控制计算设备150的(多个)操作/(多个)状态。在其他示例中,XR系统100可使用密钥206特定次数和/或特定时间段来控制计算设备150的(多个)操作/(多个)状态。例如,计算设备150可对密钥206的使用施加限制以防止永久或无限地使用密钥206来控制计算设备150。在一些情况下,对密钥206的使用的限制可指定密钥206可(由同一设备或多个设备)用来控制计算设备150和/或对发往计算设备150的控制消息进行签名的最大次数。在其他情况下,对密钥206的使用的限制可附加地或另选地对密钥206的使用施加时间限制。在时间限制之后,密钥206可以过期,并且可要求XR系统100使用不同的(例如,更新的)密钥。
在一些情况下,对密钥206的使用的限制可附加地或另选地施加对可用来控制计算设备150的先前密钥(例如,相对于由计算设备150生成的最后密钥)的数目的限制。例如,限制可指定附近设备(例如,XR系统100)可仅使用由计算设备150发布的最近密钥来控制计算设备150。在该示例中,计算设备150可拒绝用比由计算设备150发布的最近密钥更旧的密钥进行签名的任何控制消息。在其他示例中,限制可指定附近设备(例如,XR系统100)可仅使用由计算设备150发布的最近n个密钥中的密钥来控制计算设备150。在该示例中,计算设备150可拒绝用比由计算设备150发布的最近n个密钥更旧的密钥进行签名的任何控制消息。
在一些情况下,计算设备150可对附近设备(例如,XR系统100)施加多因素安全/授权要求以控制计算设备150。例如,计算设备150不仅可要求来自附近设备的控制消息用由计算设备150输出的密钥(例如,密钥206)来进行签名,还可要求附近设备连接到与计算设备150相同的网络。为了进行说明,除了要求使用来自计算设备150的密钥206对签名控制消息208进行签名之外,计算设备150还可要求计算设备150经由特定无线网络(诸如计算设备150所连接到的Wi-Fi网络)从XR系统100接收签名控制消息208。这样,计算设备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可将从生物计量传感器108获得的生物计量数据230包括在签名控制消息240中。签名控制消息240可用密钥206进行签名,如先前所解释,并且可另外包括生物计量数据230以标识与签名控制消息240相关联的特定用户。计算设备150可接收签名控制消息240并验证用于对控制消息进行签名的密钥以及验证签名控制消息240中的生物计量数据230。
在一些情况下,生物计量数据230可包括在签名控制消息240中,如先前所述。在其他情况下,生物计量数据230可由XR系统100在作为控制消息的单独消息中发送到计算设备150。例如,在一些情况下,签名控制消息240可表示多个消息,其中一个消息包括用密钥206进行签名的控制消息,而另一消息包括生物计量数据230。包括生物计量数据230的其他消息可用密钥206签名或与签名控制消息相关联,或者可以其他方式被计算设备150接受而不用密钥206进行签名。
在一些示例中,计算设备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示出了示例竞态条件场景300,其中计算设备150不接受先前发布的用于控制计算设备150的密钥(例如,比最后或最近发布的密钥更旧的密钥)。在该示例中,计算设备150显示第一密钥310。第一密钥310可由计算设备150显示或在由计算设备150显示的模式或渲染中编码。
在时间t1,由计算设备150显示的第一密钥310(或对密钥310进行编码的模式或渲染)在由用户302佩戴的XR系统100的(多个)图像传感器(例如,图像传感器102A、图像传感器102B)的视场(FOV)内,(多个)图像传感器可检测/捕获第一密钥310。XR系统100可检测/提取用于控制计算设备150的第一密钥310。在时间t2,XR系统100向计算设备150发送签名命令314。签名命令314可包括用于控制计算设备150的(多个)操作和/或(多个)状态的一个或多个命令/指令。例如,签名命令314可包括改变计算设备150的功率状态或执行诸如例如改变频道、改变音量等操作的命令。
该示例中的签名命令314是用第一密钥310来进行签名的。然而,当计算设备150接收到签名命令314时,计算设备150已经生成第二密钥312。这创建了竞态条件,其中计算设备150在其接收到用第一密钥310进行签名的签名命令314之前已生成新密钥。如果计算设备150不接受比最近/最新密钥(例如,第二密钥312)旧的任何先前密钥,则计算设备150将拒绝来自XR系统100的签名命令314,因为签名命令314是用第一密钥310而不是第二密钥312来进行签名的。为了避免由于如图3A所说明的竞态条件而拒绝以其他方式用有效密钥进行签名的命令,计算设备150可被配置为接受最后/最新密钥(例如,第二密钥312)和若干先前/之前密钥。
图3B示出了示例场景320,其中计算设备150被配置为接受为了控制计算设备150而发布的多个先前/之前密钥。在该示例中,计算设备150被配置为接受在最后/最新密钥(例如,第二密钥312)之前显示的n个之前密钥。这里,由计算设备150显示的第一密钥310在由计算设备150接受的n个之前密钥内。因此,在时间t2处,XR系统100可发送用第一密钥310进行签名的签名命令314,并且计算设备150可接受/批准签名命令314,即使签名命令314是用比最后/最新密钥更旧的密钥(例如,第二密钥312)签名的。
当计算设备150接收到签名命令314时,计算设备150可检查签名命令314是用第二密钥312还是用所允许的n个先前密钥中的任一个先前密钥进行签名的。计算设备150可确定签名命令314是用第一密钥310进行签名的并且第一密钥310在所允许的n个之前密钥内。计算设备150可接受签名命令314,尽管签名命令314不是用第二密钥312进行签名的。计算设备150可随后执行签名命令314中的(多个)指令,从而使得XR系统100能够控制计算设备150并避免竞态条件。
图4是示出示例密钥共享场景400的图,其中多个计算设备共享安全数据(例如,密钥、令牌等)和/或安全数据生成器(例如,密钥生成器、令牌生成器等)以向附近设备(例如,XR系统100)授予附近设备可用来控制多个计算设备中的任一者的共享安全数据。在该示例中,计算设备150显示对附近设备可用来控制计算设备150和/或计算设备405的密钥(和/或其他安全数据)进行编码的内容项410(例如,代码、图像、视觉模式、字符串、数字对象、图形、虚拟项、视频、动画等)。计算设备405可以是例如IoT/智能设备,诸如例如但不限于智能灯具、智能集线器、智能传感器、智能电器、电视、嵌入式系统、移动计算设备(例如,智能电话、膝上型计算机、平板计算机等)、智能扬声器、智能相机、智能锁、智能开关、智能安全系统、视频游戏控制台、GPS设备和/或任何其他IoT/智能或所连接设备。在图4所示的示例中,计算设备405是可由XR系统100使用在内容项410中编码的密钥来控制的智能灯泡。
计算设备405还发出对与在内容项410中编码的密钥相同的密钥进行编码的模式412。例如,计算设备405可根据对密钥进行编码并且可由XR系统100检测和识别的模式来使由计算设备405发出的光水平变暗与变亮。XR系统100可从内容项410或模式412提取密钥,并使用该密钥对用以控制计算设备150和/或计算设备405的命令进行签名。例如,在图4中,XR系统100已检测到由计算设备150显示的内容项410并从内容项410提取密钥。XR系统100使用该密钥来生成用以控制计算设备405的签名命令420,即使没有从与计算设备405相关联的模式412检测/提取到该密钥。XR系统100可向计算设备405发送签名命令420,并且计算设备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可简单地从内容项410提取用于控制计算设备405的密钥。类似地,如果XR系统100上的图像传感器可检测到模式412,但不具有对来自计算设备150的内容项410的可见性,则XR系统100可简单地从模式412提取用于控制计算设备150的密钥。
在一些情况下,计算设备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可向计算设备150发送签名命令502。当计算设备150从XR系统100接收到签名命令502时,其处于第一状态510。计算设备150可通过标识用于对签名命令502进行签名的密钥并将该密钥与计算设备150处的一个或多个有效密钥进行比较来验证/确认用于对签名命令502进行签名的密钥。如果计算设备150能够验证/确认密钥,则计算设备150可接受并执行签名命令502中的命令。
在该示例中,签名命令502包括将计算设备150的状态从第一状态510变为第二状态520的命令。该示例中说明的第一状态510是关闭状态并且该示例中说明的第二状态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已使用签名命令502来控制计算设备150或计算设备150已发出使得用于签名命令502的密钥变为过时/过期的多个后续密钥,则可要求XR系统100获得新密钥来控制计算设备150。因此,可无缝地移除XR系统100的控制权限/接入。
图6A是示出用于授予XR设备(例如,XR系统100)控制诸如IoT或智能/所连接设备的计算设备(例如,计算设备150、计算设备405)的权限的示例过程600的流程图。
在框602处,过程600可包括由第一计算设备(例如,计算设备150)生成密码密钥(和/或任何其他安全数据)。在一些示例中,第一计算设备可使用诸如密钥生成器的安全数据生成器(例如,安全数据生成器155)来使用一个或多个散列函数和诸如输入字符串或短语的输入来生成密码密钥。
在框604处,过程600可包括由第一计算设备输出对密码密钥(和/或任何其他安全数据)进行编码的模式。在一些示例中,该模式可包括视觉或显示模式、音频模式、光模式、任何其他模式和/或其组合。例如,模式可包括光水平的模式(例如,变暗与变亮光水平的模式)、色温变化的模式、声音(例如,噪声、音乐、摩斯电码、音调序列等)的模式、显示模式(例如,图像、QR码、条形码、一个或多个显示字符/符号、数字内容项、数字对象、视频、虚拟内容、数字呈现、图形等)、其组合等。
在框606处,过程600可包括由第一计算设备从第二计算设备(例如,XR系统100)接收包括用以修改第一计算设备的操作的命令的签名消息(例如,签名控制消息208、签名控制消息240、签名命令314、签名命令420、签名命令502)。签名消息可由第二计算设备使用在该模式中编码的密码密钥(和/或在模式中编码的任何其他安全数据)来签名。例如,第二计算设备可从该模式提取密码密钥并使用该密码密钥来签名包括该命令的消息。
在框608处,过程600可包括由第一计算设备确定签名消息是否是用在该模式中编码的密码密钥(和/或在该模式中编码的任何其他安全数据)来进行签名的。在一些示例中,第一计算设备可将用于对签名消息进行签名的密码密钥与第一计算设备处的一个或多个有效密码密钥进行比较。例如,第一计算设备可将用于对签名消息进行签名的密码密钥与由第一计算设备编码到该模式中的密码密钥进行比较。在一些示例中,第一计算设备可使用第一计算设备处的密钥来解码签名消息并验证签名消息。
在框610处,过程600可包括基于确定签名消息是用在该模式中编码的密码密钥(和/或在该模式中编码的任何其他安全数据)来进行签名的,由第一计算设备根据签名消息中的命令来修改第一计算设备的操作。例如,第一计算设备可验证签名消息并执行签名消息中的命令以实现与该命令相关联的特定操作/状态。
在一些示例中,过程600可包括:由第一计算设备验证签名消息包括生物计量特征;以及基于确定签名消息是用在该模式中编码的密码密钥来进行签名的以及基于验证签名消息包括生物计量特征,根据签名消息中的命令来修改第一计算设备的操作。
在一些示例中,过程600可包括:由第一计算设备验证第二计算设备连接到与第一计算设备相同的本地网络;以及基于确定签名消息是用在该模式中编码的密码密钥来进行签名的以及基于验证第二计算设备连接到与第一计算设备相同的本地网络,根据签名消息中的命令来修改第一计算设备的操作。
在一些情况下,过程600可包括:确定在密码密钥低于阈值之后由第一计算设备生成的密码密钥的数目;基于确定密码密钥的数目低于阈值,确定密码密钥没有过期;以及基于确定密码密钥没有过期,由第一计算设备接受用密码密钥进行签名的签名消息。
在一些情况下,过程600可包括:由第一计算设备从第二计算设备接收包括用以修改第一计算设备的一个或多个操作的一个或多个命令的附加消息;由第一计算设备确定附加消息缺失与由第一计算设备生成的有效密码密钥相关联的签名(例如,没有被签名);以及基于确定附加消息缺失与由第一计算设备生成的有效密码密钥相关联的签名,拒绝用以修改第一计算设备的一个或多个操作的一个或多个命令。在一些示例中,第一计算设备与第二计算设备配对,并且第一计算设备基于确定附加消息缺失与由第一计算设备生成的有效密码密钥相关联的签名,在第一计算设备与第二计算设备的配对之后拒绝一个或多个命令。
在一些情况下,过程600可包括:由第一计算设备接收包括用以修改第一计算设备的一个或多个操作的一个或多个命令的附加签名消息;确定附加签名消息是使用在由第三计算设备(例如,计算设备405)生成的附加模式中编码的有效密码密钥来进行签名的;以及响应于确定附加签名消息是使用在由第三计算设备生成的附加模式中编码的有效密码密钥来进行签名的,根据附加签名消息中的一个或多个命令来修改第一计算设备的一个或多个操作。在一些情况下,过程600可包括基于确定有效密码密钥是装置处的特定密码密钥的匹配副本而确定有效密码密钥是有效的。例如,第一计算设备可基于有效密码密钥与由第一计算设备生成和/或存储在第一计算设备处的密码密钥之间的匹配而确定有效密码密钥是有效的。
在一些情况下,过程600可包括:由第一计算设备接收包括用以修改第一计算设备的一个或多个操作的一个或多个命令的附加签名消息;确定附加签名消息是使用由第一计算设备和第三计算设备(例如,计算设备405)所用的共享安全数据生成器(例如,安全数据生成器155)(诸如共享密钥生成器)的副本来进行签名的;以及响应于确定附加签名消息是使用第一计算设备和第三计算设备所用的共享安全数据生成器的副本来进行签名的,根据附加签名消息中的一个或多个命令来修改第一计算设备的一个或多个操作。
图6B是示出用于使用XR设备(例如,XR系统100)来控制诸如IoT/智能设备的计算设备(例如,计算设备150、计算设备405)的示例过程620的流程图。
在框622处,过程620可包括由第一计算设备(例如,XR系统100)使用第一计算设备的一个或多个传感器来检测由第二计算设备(例如,计算设备150)输出的模式。在一些示例中,该模式可包括视觉/显示模式、音频模式、光模式、它们的组合和/或任何其他模式。在一些示例中,第一计算设备可使用一个或多个图像传感器来检测视觉/显示模式和/或任何光模式。在一些示例中,第一计算设备可使用一个或多个音频传感器来检测任何音频模式。
在框624处,过程620可包括由第一计算设备提取在该模式中编码的密码密钥(和/或在该模式中编码的任何其他安全数据)。例如,第一计算设备可分析/解码该模式以获得在该模式中编码的密码密钥(和/或任何其他安全数据)。
在框626处,过程620可包括由第一计算设备使用密码密钥(和/或在该模式中编码的任何其他安全数据)对包括用以修改第二计算设备的操作的命令的消息进行签名。在一些情况下,第一计算设备可基于事件或触发来生成命令,诸如第二计算设备的当前状态、第一计算设备的操作、由第一计算设备呈现的内容、与第一计算设备和/或第二计算设备相关联的环境中的一个或多个条件、用于控制一个或多个计算设备的规则、时间/日期、在第一计算设备上运行的应用等。在一些情况下,第一计算设备可基于来自第一计算设备的用户的请求或输入来生成命令。
在框628处,过程620可包括由第一计算设备向第二计算设备发送包括用以修改第二计算设备的操作的命令的签名消息。第二计算设备可验证签名消息并执行命令,如先前所述。
在一些情况下,签名消息可包括(多个)生物计量特征。例如,签名消息可包括由生物计量传感器从用户获得的生物计量特征向量。例如,生物计量特征向量可包括与用户的指纹、眼睛、脸部等相关联的生物计量数据。
在一些情况下,第一计算设备可在第一计算设备连接到与第二计算设备相同的本地网络时向第二计算设备发送签名消息。第二计算设备可验证第一计算设备与第二计算设备在相同的本地网络上作为附加安全/认证因素。
在一些示例中,过程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以及将包括计算设备存储器715(诸如只读存储器(ROM)720和随机存取存储器(RAM)725)的各种计算设备部件耦合到处理器710的计算设备连接705。
计算设备架构700可以包括直接与处理器710连接、靠近该处理器或被集成作为该处理器的部分的高速存储器的高速缓存。计算设备架构700可以将数据从存储器715和/或存储设备730复制到高速缓存712,以供处理器710进行快速存取。这样,高速缓存可以提供避免处理器710在等待数据时延迟的性能提升。这些和其他模块可以控制或者被配置为控制处理器710来执行各种动作。其他计算设备存储器715也可以用于使用。存储器715可以包括具有不同性能特性的多种不同类型的存储器。处理器710可以包括任何通用处理器和存储在存储设备730中并被配置为控制处理器710的硬件或软件服务,以及其中将软件指令并入处理器设计中的专用处理器。处理器710可以是包含多个内核或处理器、总线、存储器控制器、高速缓存等的自包含系统。多核处理器可以是对称或非对称的。
为了实现与计算设备架构700的用户交互,输入设备745可以表示任何数量的输入机构,诸如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。输出设备775还可以是本领域技术人员已知的多个输出机构中的一个或多个,诸如显示器、投影仪、电视、扬声器设备。在一些实例中,多模态计算设备可以使用户能够提供多种类型的输入,以与计算设备架构700进行通信。通信接口740一般可以控制和管理用户输入和计算设备输出。对在任何特定硬件布置上进行操作不存在任何限制,并且因此可以容易地替换此处的基础特征以随着它们被开发而获得改进的硬件或固件布置。
存储设备730是非易失性存储器,并且可以是能够存储计算机可存取的数据的硬盘或其他类型的计算机可读介质,诸如磁带盒、闪存存储卡、固态存储器设备、数字多功能盘、盒式磁带、随机存取存储器(RAM)725、只读存储器(ROM)720及其混合形式。存储设备730可以包括用于控制处理器710的软件、代码、固件等等。构想了其他硬件或软件模块。存储设备730可以连接到计算设备连接705。在一个方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件部件,其与诸如处理器710、连接705、输出设备775等的必要硬件部件结合以实施该功能。
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备以及能够存储、包含或携带(多个)指令和/或数据的各种其他介质。计算机可读介质可以包括非暂态介质,该非暂态介质中可以存储数据并且不包括无线地或在有线连接上传播的载波和/或暂态电子信号。非暂态介质的示例可以包括但不限于磁盘或磁带、诸如压缩盘(CD)或数字多功能盘(DVD)的光学存储介质、闪存存储器、存储器或存储器设备。计算机可读介质可以在其上存储有代码和/或机器可执行指令,其可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类别、或者指令、数据结构或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数或存储器内容,代码段可以耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以经由任何合适的手段来传递、转发或传送,这些手段包括存储器共享、消息传递、令牌传递、网络传输等。
在一些实施方案中,计算机可读存储设备、介质和存储器可以包括包含比特流等的有线或无线信号。然而,在被提及时,非暂态计算机可读存储介质明确排除诸如能量、载波信号、电磁波以及信号本身等介质。
在以上描述中提供了具体细节以提供对本文提供的实施方案和示例的详尽理解。然而,本领域普通技术人员将理解,没有这些具体细节也可以实践这些实施方案。为了解释的清楚,在一些实例中,本技术可以被呈现为包括单独的功能块,该单独的功能块包括以软件或硬件和软件的组合体现的方法中的设备、设备部件、步骤或例程。可以使用除了附图中所示和/或本文中所描述的那些之外的附加部件。例如,电路、系统、网络、过程和其他部件可以用框图形式示为部件以避免使实施方案因不必要的细节而模糊。在其他实例中,可以在没有必要的细节的情况下示出公知的电路、过程、算法、结构和技术以避免混淆各实施方案。
单独的实施方案可以在上文被描述为被描绘为流程图、数据流程图、结构图或框图的过程或方法。尽管流程图可以将操作描述为顺序过程,但是操作中的许多操作可以被并行或同时执行。另外,可以重新排列操作的次序。当过程的操作完成时,过程终止,但是过程可具有附图中未包括的附加步骤。过程可对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,它的终止可以对应于该函数返回调用函数或主函数。
根据上述示例的过程和方法可使用被存储的计算机可执行指令或以其他方式从计算机可读介质可用的计算机可执行指令来实施。此类指令可包括例如致使或以其他方式将通用计算机、专用计算机或处理设备配置为执行某一功能或功能群组的指令和数据。所使用的计算机资源的部分可通过网络访问。计算机可执行指令可以是例如二进制、中间格式指令(诸如汇编语言)、固件、源代码。可用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪速存储器、具有非易失性存储器的USB设备、联网存储设备等。
实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或它们的任何组合,并且可以采取多种形状因子中的任何形状因子。当以软件、固件、中间件或微代码实施时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可被存储在计算机可读或机器可读介质中。(多个)处理器可执行必要任务。形状因子的典型示例包括膝上型电脑、智能电话、移动电话、平板设备或其他小形状因子个人计算机、个人数字助理、机架安装设备、独立设备等。本文中描述的功能性也可以被体现在外围设备或内插式卡中。借由进一步的示例,此类功能性还可被实施于在单个设备上执行的不同芯片或不同过程当中的电路板上。
指令、用于传达此类指令的介质、用于执行它们的计算资源以及用于支持此类计算资源的其他结构是用于提供本公开中描述的功能的示例性构件。
在前述描述中,参照本申请的具体实施方案描述了本申请的各方面,但是本领域技术人员将认识到,本申请不限于此。因而,尽管本申请的例示性实施方案已经在本文中详细描述,但是应理解,本发明的概念可以以其他各种方式实施和采用,并且所附权利要求书不旨在被解释为包括这些变型,除非受到现有技术的限制。上述应用的各种特征和方面可以单独地或联合地使用。此外,在不脱离本说明书的更广泛的精神和范围的情况下,实施方案可以用于超出本文中描述的环境和应用的任何数量的环境和应用中。因此,说明书和附图应当被认为是说明性的而非限制性的。出于说明的目的,按照特定顺序来描述各方法。应当领会,在另选实施方案中,各方法可以按与所描述的不同顺序来执行。
本领域普通技术人员将理解,本文所使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于等于(“≤”)和大于等于(“≥”)符号来代替而不背离本说明书的范围。
在部件被描述为“被配置为”执行某些操作的情况下,此类配置可以例如通过设计电子电路或其他硬件以执行操作、通过对可编程电子电路(例如,微处理器或其他合适的电子电路)进行编程以执行操作、或它们的任何组合来实现。
短语“耦合到”是指任何部件直接或间接物理连接到另一部件,和/或任何部件直接或间接与另一部件进行通信(例如,通过有线或无线连接和/或其他合适的通信接口连接到另一部件)。
阐述集合“中的至少一个”和/或集合中的“一个或多个”的本公开中的权利要求语言或其他语言指示集合中的一个成员或集合中的多个成员(以任何组合)满足权利要求。例如,阐述“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)、闪速存储器、磁性或光学数据存储介质等。附加地或另选地,技术可以至少部分地由计算机可读通信介质来实现,该计算机可读通信介质承载或传送以指令或数据结构形式的且可由计算机访问、读取和/或执行的程序代码,诸如传播的信号或波。
程序代码可以由处理器执行,该处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(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:一种处理一个或多个消息的方法,包括:由第一计算设备生成密码密钥;由第一计算设备输出对密码密钥进行编码的模式,该模式包括视觉模式、音频模式和光模式中的至少一者;从第二计算设备接收包括用以修改所述第一计算设备的操作的命令的签名消息;由所述第一计算设备确定所述签名消息是否是用在所述模式中编码的所述密码密钥来进行签名的;以及基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的,由所述第一计算设备根据所述签名消息中的所述命令来修改所述第一计算设备的所述操作。
方面17:根据方面16所述的方法,还包括:接收包括用以修改所述第一计算设备的一个或多个操作的一个或多个命令的附加签名消息;确定所述附加签名消息是使用在由不同计算设备生成的附加模式中编码的有效密码密钥来进行签名的;以及响应于确定所述附加签名消息是使用在由所述不同计算设备生成的所述附加模式中编码的所述有效密码密钥来进行签名的,根据所述附加签名消息中的所述一个或多个命令来修改所述第一计算设备的所述一个或多个操作。
方面18:根据方面17所述的方法,还包括:基于确定所述有效密码密钥是所述第一计算设备处的特定密码密钥的匹配副本而确定所述有效密码密钥是有效的。
方面19:根据方面16至18中任一项所述的方法,还包括:接收包括用以修改所述第一计算设备的一个或多个操作的一个或多个命令的附加签名消息;确定所述附加签名消息是使用所述第一计算设备和不同计算设备所用的共享密钥生成器的副本来进行签名的;以及响应于确定所述附加签名消息是使用所述第一计算设备和所述不同计算设备所用的所述共享密钥生成器的所述副本来进行签名的,根据所述附加签名消息中的所述一个或多个命令来修改所述第一计算设备的所述一个或多个操作。
方面20:根据方面16至19中任一项所述的方法,还包括:验证所述签名消息包括生物计量特征;以及基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的以及基于验证所述签名消息包括所述生物计量特征,根据所述签名消息中的所述命令来修改所述第一计算设备的所述操作。
方面21:根据方面16至20中任一项所述的方法,还包括:验证所述第二计算设备连接到与所述第一计算设备相同的本地网络;以及基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的以及基于验证所述第二计算设备连接到与所述第一计算设备相同的所述本地网络,根据所述签名消息中的所述命令来修改所述第一计算设备的所述操作。
方面22:根据方面16至21中任一项所述的方法,还包括:确定在所述密码密钥低于阈值之后由所述第一计算设备生成的密码密钥的数目;基于确定密码密钥的数目低于阈值,确定密码密钥没有过期;以及基于确定所述密码密钥没有过期,接受用所述密码密钥进行签名的所述签名消息。
方面23:根据方面16至22中任一项所述的方法,还包括:从所述第二计算设备接收包括用以修改所述第一计算设备的一个或多个操作的一个或多个命令的附加消息;确定所述附加消息缺失与由所述第一计算设备生成的有效密码密钥相关联的签名;以及基于确定所述附加消息缺失与由所述第一计算设备生成的所述有效密码密钥相关联的所述签名,拒绝用以修改所述第一计算设备的所述一个或多个操作的所述一个或多个命令。
方面24:根据方面23所述的方法,其中所述第一计算设备与所述第二计算设备配对,并且还包括:基于确定所述附加消息缺失与由所述第一计算设备生成的所述有效密码密钥相关联的所述签名,在所述第一计算设备与所述第二计算设备的所述配对之后拒绝所述一个或多个命令。
方面25:根据方面16至24中任一项所述的方法,其中所述光模式包括光变暗与变亮模式和色温变化模式中的至少一者。
方面26:根据方面16至25中任一项所述的方法,其中所述视觉模式包括显示模式和视觉代码中的至少一者。
方面27:根据方面16至26中任一项所述的方法,其中所述第一计算设备包括物联网(IoT)设备。
方面28:方面16至27中任一项所述的方法,其中所述第一计算设备包括智能家居设备并且所述第二计算设备包括扩展现实设备。
方面29:一种其上存储有指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据方面1至28中任一项所述的一个或多个操作。
方面30:一种用于处理一个或多个消息的装置,所述装置包括用于执行根据方面1至28中任一项所述的一个或多个操作的构件。
Claims (30)
1.一种用于处理一个或多个消息的装置,所述装置包括:
存储器;和
一个或多个处理器,所述一个或多个处理器耦合到所述存储器,所述一个或多个处理器被配置为:
生成密码密钥;
输出对所述密码密钥进行编码的模式,所述模式包括视觉模式、音频模式和光模式中的至少一者;
从计算设备接收包括用以修改所述装置的操作的命令的签名消息;
确定所述签名消息是否是用在所述模式中编码的所述密码密钥来进行签名的;以及
基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的,根据所述签名消息中的所述命令来修改所述装置的所述操作。
2.根据权利要求1所述的装置,其中所述一个或多个处理器被配置为:
接收包括用以修改所述装置的一个或多个操作的一个或多个命令的附加签名消息;
确定所述附加签名消息是使用在由不同计算设备生成的附加模式中编码的有效密码密钥来进行签名的;以及
响应于确定所述附加签名消息是使用在由所述不同计算设备生成的所述附加模式中编码的所述有效密码密钥来进行签名的,根据所述附加签名消息中的所述一个或多个命令来修改所述装置的所述一个或多个操作。
3.根据权利要求2所述的装置,其中所述一个或多个处理器被配置为:
基于确定所述有效密码密钥是所述装置处的特定密码密钥的匹配副本而确定所述有效密码密钥是有效的。
4.根据权利要求1所述的装置,其中所述一个或多个处理器被配置为:
接收包括用以修改所述装置的一个或多个操作的一个或多个命令的附加签名消息;
确定所述附加签名消息是使用所述装置和不同计算设备所用的共享密钥生成器的副本来进行签名的;以及
响应于确定所述附加签名消息是使用所述装置和所述不同计算设备所用的所述共享密钥生成器的所述副本来进行签名的,根据所述附加签名消息中的所述一个或多个命令来修改所述装置的所述一个或多个操作。
5.根据权利要求1所述的装置,其中所述一个或多个处理器被配置为:
验证所述签名消息包括生物计量特征;以及
基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的以及基于验证所述签名消息包括所述生物计量特征,根据所述签名消息中的所述命令来修改所述装置的所述操作。
6.根据权利要求1所述的装置,其中所述一个或多个处理器被配置为:
验证所述计算设备连接到与所述装置相同的本地网络;以及
基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的以及基于验证所述计算设备连接到与所述装置相同的所述本地网络,根据所述签名消息中的所述命令来修改所述装置的所述操作。
7.根据权利要求1所述的装置,其中所述一个或多个处理器被配置为:
确定在所述密码密钥低于阈值之后由所述装置生成的密码密钥的数目;
基于确定密码密钥的数目低于阈值,确定密码密钥没有过期;以及
基于确定所述密码密钥没有过期,接受用所述密码密钥进行签名的所述签名消息。
8.根据权利要求1所述的装置,其中所述一个或多个处理器被配置为:
从所述计算设备接收包括用以修改所述装置的一个或多个操作的一个或多个命令的附加消息;
确定所述附加消息缺失与由所述装置生成的有效密码密钥相关联的签名;以及
基于确定所述附加消息缺失与由所述装置生成的所述有效密码密钥相关联的所述签名,拒绝用以修改所述装置的所述一个或多个操作的所述一个或多个命令。
9.根据权利要求8所述的装置,其中所述装置与所述计算设备配对,其中所述装置基于确定所述附加消息缺失与由所述装置生成的所述有效密码密钥相关联的所述签名,在所述装置与所述计算设备的所述配对之后拒绝所述一个或多个命令。
10.根据权利要求1所述的装置,其中所述光模式包括光变暗与变亮模式和色温变化模式中的至少一者。
11.根据权利要求1所述的装置,其中所述视觉模式包括显示模式和视觉代码中的至少一者。
12.根据权利要求1所述的装置,其中所述装置包括物联网(IoT)设备。
13.根据权利要求1所述的装置,其中所述装置包括智能家居设备并且所述计算设备包括扩展现实设备。
14.根据权利要求1所述的装置,还包括显示器、扬声器、发光设备、麦克风、一个或多个传感器和相机中的至少一者。
15.根据权利要求14所述的装置,其中所述一或多个传感器包括光传感器、音频传感器、运动传感器、温度传感器、湿度传感器、图像传感器、加速度计、陀螺仪、压力传感器、触摸传感器和磁力计中的至少一者。
16.一种处理一个或多个消息的方法,包括:
由第一计算设备生成密码密钥;
由所述第一计算设备输出对所述密码密钥进行编码的模式,所述模式包括视觉模式、音频模式和光模式中的至少一者;
从第二计算设备接收包括用以修改所述第一计算设备的操作的命令的签名消息;
由所述第一计算设备确定所述签名消息是否是用在所述模式中编码的所述密码密钥来进行签名的;以及
基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的,由所述第一计算设备根据所述签名消息中的所述命令来修改所述第一计算设备的所述操作。
17.根据权利要求16所述的方法,还包括:接收包括用以修改所述第一计算设备的一个或多个操作的一个或多个命令的附加签名消息;确定所述附加签名消息是使用在由不同计算设备生成的附加模式中编码的有效密码密钥来进行签名的;以及响应于确定所述附加签名消息是使用在由所述不同计算设备生成的所述附加模式中编码的所述有效密码密钥来进行签名的,根据所述附加签名消息中的所述一个或多个命令来修改所述第一计算设备的所述一个或多个操作。
18.根据权利要求17所述的方法,还包括:
基于确定所述有效密码密钥是所述第一计算设备处的特定密码密钥的匹配副本而确定所述有效密码密钥是有效的。
19.根据权利要求16所述的方法,还包括:
接收包括用以修改所述第一计算设备的一个或多个操作的一个或多个命令的附加签名消息;
确定所述附加签名消息是使用所述第一计算设备和不同计算设备所用的共享密钥生成器的副本来进行签名的;以及
响应于确定所述附加签名消息是使用所述第一计算设备和所述不同计算设备所用的所述共享密钥生成器的所述副本来进行签名的,根据所述附加签名消息中的所述一个或多个命令来修改所述第一计算设备的所述一个或多个操作。
20.根据权利要求16所述的方法,还包括:
验证所述签名消息包括生物计量特征;以及
基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的以及基于验证所述签名消息包括所述生物计量特征,根据所述签名消息中的所述命令来修改所述第一计算设备的所述操作。
21.根据权利要求16所述的方法,还包括:
验证所述第二计算设备连接到与所述第一计算设备相同的本地网络;以及
基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的以及基于验证所述第二计算设备连接到与所述第一计算设备相同的所述本地网络,根据所述签名消息中的所述命令来修改所述第一计算设备的所述操作。
22.根据权利要求16所述的方法,还包括:
确定在所述密码密钥低于阈值之后由所述第一计算设备生成的密码密钥的数目;
基于确定密码密钥的数目低于阈值,确定密码密钥没有过期;以及
基于确定所述密码密钥没有过期,接受用所述密码密钥进行签名的所述签名消息。
23.根据权利要求16所述的方法,还包括:
从所述第二计算设备接收包括用以修改所述第一计算设备的一个或多个操作的一个或多个命令的附加消息;
确定所述附加消息缺失与由所述第一计算设备生成的有效密码密钥相关联的签名;以及
基于确定所述附加消息缺失与由所述第一计算设备生成的所述有效密码密钥相关联的所述签名,拒绝用以修改所述第一计算设备的所述一个或多个操作的所述一个或多个命令。
24.根据权利要求23所述的方法,其中所述第一计算设备与所述第二计算设备配对,并且还包括:
基于确定所述附加消息缺失与由所述第一计算设备生成的所述有效密码密钥相关联的所述签名,在所述第一计算设备和所述第二计算设备的所述配对之后拒绝所述一个或多个命令。
25.根据权利要求16所述的方法,其中所述光模式包括光变暗与变亮模式和色温变化模式中的至少一者。
26.根据权利要求16所述的方法,其中所述视觉模式包括显示模式和视觉代码中的至少一者。
27.根据权利要求16所述的方法,其中所述第一计算设备包括物联网(IoT)设备。
28.根据权利要求16所述的方法,其中所述第一计算设备包括智能家居设备并且所述第二计算设备包括扩展现实设备。
29.一种其上存储有指令的第一计算设备的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器进行以下操作:
生成密码密钥;
输出对密码密钥进行编码的模式,该模式包括视觉模式、音频模式和光模式中的至少一者;
从第二计算设备接收包括用以修改第一计算设备的操作的命令的签名消息;
确定所述签名消息是否是用在所述模式中编码的所述密码密钥来进行签名的;以及
基于确定所述签名消息是用在所述模式中编码的所述密码密钥来进行签名的,根据所述签名消息中的所述命令来修改所述第二计算设备的所述操作。
30.根据权利要求29所述的非暂态计算机可读介质,其中所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器进行以下操作:
接收包括用以修改所述第一计算设备的一个或多个操作的一个或多个命令的附加签名消息;
确定所述附加签名消息是使用在由不同计算设备生成的附加模式中编码的有效密码密钥来进行签名的;以及
响应于确定所述附加签名消息是使用在由所述不同计算设备生成的所述附加模式中编码的所述有效密码密钥来进行签名的,根据所述附加签名消息中的所述一个或多个命令来修改所述第一计算设备的所述一个或多个操作。
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 |
---|---|
CN117859126A true CN117859126A (zh) | 2024-04-09 |
Family
ID=83005835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280057620.1A Pending CN117859126A (zh) | 2021-09-01 | 2022-07-11 | 智能设备的扩展现实控制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230062244A1 (zh) |
KR (1) | KR20240049282A (zh) |
CN (1) | CN117859126A (zh) |
TW (1) | TW202312706A (zh) |
WO (1) | WO2023033933A1 (zh) |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1320956A4 (en) * | 2000-08-04 | 2006-06-21 | First Data Corp | DIGITAL SIGNATURE SYSTEM WITH CERTIFICATION OF AUTHENTITICITY |
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 |
US7801871B2 (en) * | 2005-08-09 | 2010-09-21 | 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 |
US20140152869A1 (en) * | 2011-07-13 | 2014-06-05 | Simon Solotko | Methods and Systems for Social Overlay Visualization |
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 |
WO2018201067A1 (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 |
US11599717B2 (en) * | 2020-03-20 | 2023-03-07 | Capital One Services, Llc | Separately collecting and storing form contents |
CN115428421A (zh) * | 2020-03-23 | 2022-12-02 | 曼塔控股公司 | 用于提供增强现实内容的设备和方法 |
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 |
-
2021
- 2021-09-01 US US17/464,539 patent/US20230062244A1/en active Pending
-
2022
- 2022-07-11 CN CN202280057620.1A patent/CN117859126A/zh active Pending
- 2022-07-11 KR KR1020247005947A patent/KR20240049282A/ko unknown
- 2022-07-11 WO PCT/US2022/036726 patent/WO2023033933A1/en active Application Filing
- 2022-07-12 TW TW111126072A patent/TW202312706A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
TW202312706A (zh) | 2023-03-16 |
WO2023033933A1 (en) | 2023-03-09 |
US20230062244A1 (en) | 2023-03-02 |
KR20240049282A (ko) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8963956B2 (en) | Location based skins for mixed reality displays | |
US11445026B2 (en) | Methods, systems, and media for indicating a security status of an internet of things device | |
CN105706109B (zh) | 生物测定身份、反馈和用户交互状态的相关显示 | |
GB2535014B (en) | Actuation of device for viewing of first content frames presented on a display between second content frames | |
CN103105926A (zh) | 多传感器姿势识别 | |
US20160261841A1 (en) | Method and device for synthesizing three-dimensional background content | |
US10601817B2 (en) | Method and apparatus for providing securities to electronic devices | |
KR102206877B1 (ko) | 생체 정보디스플레이 방법 및 장치 | |
WO2020253800A1 (zh) | 仿真对象的身份识别方法、相关装置及系统 | |
KR20190050768A (ko) | 광 통신 소스들의 데이터 프로세싱 및 인증 | |
US20170083083A1 (en) | Image processing virtual reality controller system and method | |
WO2024016611A1 (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
KR20240072170A (ko) | 원격 디바이스들과의 사용자 상호작용들 | |
US20230062244A1 (en) | Extended reality control of smart devices | |
EP4396708A1 (en) | Extended reality control of smart devices | |
US11184601B2 (en) | Apparatus and method for display encoding | |
CA3186477A1 (en) | Distributing digital cinema package (dcp) over internet | |
US20230035360A1 (en) | Mapping networked devices | |
KR20200126850A (ko) | 사용자를 인증하기 위한 방법 및 지원하는 전자 장치 | |
US12032973B1 (en) | Methods and apparatus for configuring wearable devices | |
US20240045943A1 (en) | Apparatus and method for authenticating user in augmented reality | |
CA3237995A1 (en) | Systems, methods, and media for controlling shared extended reality presentations | |
JP2024504243A (ja) | 認証におけるクラウドアンカーの活用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |