Search

US-12627642-B1 - Selective encryption in virtual reality

US12627642B1US 12627642 B1US12627642 B1US 12627642B1US-12627642-B1

Abstract

Various aspects of the subject technology relate to systems, methods, and machine-readable media for selective encryption in a shared artificial reality environment. Various aspects may include determining contextual information of the shared artificial reality environment. Aspects may also include encrypting communication in the environment into encrypted channels and non-encrypted channels based on the contextual information. Aspects may also include determining a correlation between the encrypted channels and the non-encrypted channels. Aspects may also include applying, based on the correlation, a partial encryption to the non-encrypted channels for obscuring a cryptographic code of the communication. Aspects may include determining a recombination of the encrypted channels and the non-encrypted channels based on clock skew.

Inventors

  • Andrew Garrod Bosworth

Assignees

  • META PLATFORMS TECHNOLOGIES, LLC

Dates

Publication Date
20260512
Application Date
20220414

Claims (19)

  1. 1 . A computer-implemented method for selective encryption in a shared artificial reality environment, the method comprising: determining contextual information of the shared artificial reality environment, including determining at least one of: a status of an artificial reality compatible device, a power level associated with the artificial reality environment, and/or a connectivity status and adjusting a level of the selective encryption based on the determined device status, power level, and/or connectivity status; encrypting, using the adjusted level of selective encryption, communication in the shared artificial reality environment into encrypted channels and non-encrypted channels based on the contextual information, wherein encrypting communication is based on a quantity of user representations and comprises determining a level of encryption for each virtual object of a plurality of virtual objects within the shared reality environment; determining a first correlation between the encrypted channels and the non-encrypted channels; determining a change in the contextual information of the shared artificial reality environment; determining, based on the change in the contextual information, a second correlation between the encrypted channels and the non-encrypted channels; applying, based on the second correlation, a partial encryption to the non-encrypted channels for obscuring a cryptographic code of the communication, wherein applying the partial encryption comprises determining key frames associated with the second correlation to define a beginning and an end of the partial encryption; and determining a recombination of the encrypted channels and the non-encrypted channels based on clock skew, wherein the clock skew depends on both the quantity of user representations involved in the communication and a complexity of content rendered within the non-encrypted channels.
  2. 2 . The computer-implemented method of claim 1 , wherein determining the contextual information comprises determining at least one of: a user preference, a user parameter, or an artificial reality characteristic.
  3. 3 . The computer-implemented method of claim 1 , wherein determining the contextual information comprises receiving a user input indicative of a portion of the shared artificial reality environment being a private artificial reality environment.
  4. 4 . The computer-implemented method of claim 1 , wherein encrypting the communication in the shared artificial reality environment comprises: encrypting the communication in the shared artificial reality environment based on a location corresponding to the contextual information.
  5. 5 . The computer-implemented method of claim 1 , wherein determining the first correlation between the encrypted channels and the non-encrypted channels comprises determining confidential components and non-confidential components of an event in the shared artificial reality environment.
  6. 6 . The computer-implemented method of claim 1 , wherein applying the partial encryption comprises obscuring information about an encrypted element of the encrypted channels.
  7. 7 . The computer-implemented method of claim 1 , wherein determining the recombination of the encrypted channels and the non-encrypted channels comprises determining, by a client device, a timing parameter for synchronized combination of the encrypted channels and the non-encrypted channels.
  8. 8 . The computer-implemented method of claim 1 , further comprising synchronizing encrypted audio or rendered virtual objects from the encrypted channels with non-encrypted audio or rendered virtual objects from the non-encrypted channels.
  9. 9 . The computer-implemented method of claim 1 , further comprising sending speech channels from a server for the shared artificial reality environment to a client device, wherein the speech channels comprise the encrypted channels and the non-encrypted channels.
  10. 10 . The computer-implemented method of claim 1 , further comprising: determining a location within the shared artificial reality environment; identifying, via the second correlation, sensitive spatial or audio information in the non-encrypted channels; and applying, based on the second correlation, the partial encryption to the sensitive spatial or audio information of the non-encrypted channels.
  11. 11 . A system for navigating through a shared artificial reality environment, comprising: one or more processors; and a memory comprising instructions stored thereon, which when executed by the one or more processors, causes the one or more processors to perform: determining A) a quantity of user representations or location within the shared artificial reality environment and B) at least one of: a status of an artificial reality compatible device, a power level associated with the artificial reality environment, and/or a connectivity status; determining, based on the quantity of the user representations or location, contextual information of the shared artificial reality environment; adjusting a level of encryption based on the determined device status, power level, and/or connectivity status; encrypting, using the adjusted level of encryption, communication in the shared artificial reality environment into encrypted channels and non-encrypted channels based on the contextual information wherein encrypting communication is based on a quantity of user representations and comprises determining a level of encryption for each virtual object of a plurality of virtual objects within the shared artificial reality environment; determining a first correlation between the encrypted channels and the nonencrypted channels; determining a change in the contextual information of the shared artificial reality environment; determining, based on the change in the contextual information, a second correlation between the encrypted channels and the non-encrypted channels; applying, based on the second correlation, a partial encryption to the non-encrypted channels for obscuring a cryptographic code of the communication, wherein applying the partial encryption comprises determining key frames associated with the second correlation to define a beginning and an end of the partial encryption; and determining a recombination of the encrypted channels and the non-encrypted channels based on clock skew, wherein the clock skew depends on both the quantity of user representations involved in the communication and a complexity of content rendered within the non-encrypted channels.
  12. 12 . The system of claim 11 , wherein the instructions that cause the one or more processors to perform determining the contextual information cause the one or more processors to perform: determining at least one of: a user preference, a user parameter, or an artificial reality characteristic; and receiving a user input indicative of a portion of the shared artificial reality environment being a private artificial reality environment.
  13. 13 . The system of claim 11 , wherein the instructions that cause the one or more processors to perform determining the first correlation between the encrypted channels and the non-encrypted channels cause the one or more processors to perform determining confidential components and nonconfidential components of an event in the shared artificial reality environment.
  14. 14 . The system of claim 11 , wherein the instructions that cause the one or more processors to perform applying the partial encryption cause the one or more processors to perform obscuring information about an encrypted element of the encrypted channels.
  15. 15 . The system of claim 11 , wherein the instructions that cause the one or more processors to perform determining the recombination of the encrypted channels and the non-encrypted channels cause the one or more processors to perform determining, by a client device, a timing parameter for synchronized combination of the encrypted channels and the non-encrypted channels.
  16. 16 . The system of claim 11 , further comprising stored sequences of instructions, which when executed by the one or more processors, cause the one or more processors to perform synchronizing encrypted audio or rendered virtual objects from the encrypted channels with non-encrypted audio or rendered virtual objects from the non-encrypted channels.
  17. 17 . The system of claim 11 , further comprising stored sequences of instructions, which when executed by the one or more processors, cause the one or more processors to perform sending speech channels from a server for the shared artificial reality environment to a client device, wherein the speech channels comprise the encrypted channels and the non-encrypted channels.
  18. 18 . The system of claim 11 , further comprising stored sequences of instructions, which when executed by the one or more processors, cause the one or more processors to perform: identifying, via the second correlation, sensitive spatial or audio information in the non-encrypted channels; and applying, based on the second correlation, the partial encryption to the sensitive spatial or audio information of the non-encrypted channels.
  19. 19 . A non-transitory computer-readable storage medium comprising instructions stored thereon, which when executed by one or more processors, cause the one or more processors to perform operations for navigating through a shared artificial reality environment, comprising: determining A) a quantity of user representations or location within the shared artificial reality environment and B) at least one of: a status of an artificial reality compatible device, a power level associated with the artificial reality environment, and/or a connectivity status; determining, based on the quantity of the user representations or location, contextual information of the shared artificial reality environment; adjusting a level of encryption based on the determined device status, power level, and/or connectivity status; encrypting, using the adjusted level of encryption, communication in the shared artificial reality environment into encrypted channels and non-encrypted channels based on the contextual information wherein encrypting communication is based on quantity of user representations and comprises determining a level of encryption for each virtual object of plurality of virtual objects within the shared artificial reality environment; determining a first correlation between the encrypted channels and the non-encrypted channels; determining a change in the contextual information of the shared artificial reality environment; determining, based on the change in the contextual information, a second correlation between the encrypted channels and the non-encrypted channels; identifying, via the second correlation, sensitive spatial or audio information in the non-encrypted channels; applying, based on the second correlation, a partial encryption to the sensitive spatial or audio information of the non-encrypted channels for obscuring a cryptographic code of the communication, wherein applying the partial encryption comprises determining key frames associated with the second correlation to define a beginning and an end of the partial encryption; and determining a recombination of the encrypted channels and the non-encrypted channels based on clock skew, wherein the click skew depends on both the quantity of user representations involved in the communication and a complexity of content rendered within the non-encrypted channels.

Description

TECHNICAL FIELD The present disclosure generally relates to selective encryption in computer generated shared artificial reality environments, and more particularly to partial encryption of information communicated in such environments based on correlation of sensitive and non-sensitive elements and/or contextual information. BACKGROUND Interaction in a computer generated shared artificial reality environment involves interaction with various types of artificial reality/virtual content, elements, and/or applications in the shared artificial reality environment. Users of the shared artificial reality environment may interact with both sensitive and non-sensitive information in the shared artificial reality environment or in another general communication environment. For example, a conversation or portion thereof occurring in the environment may be confidential while visual elements of the artificial reality or communication elements may be non-sensitive. Accordingly, aspects of the artificial reality or communication environment may be organized into encrypted and non-encrypted channels. Due to the need for varying levels of encryption in the environment, timing may be managed so that the encrypted and non-encrypted channels are recombined effectively for advantageous implementation of partial encryption in the environment, depending on the sensitivity of elements contained within the environment. BRIEF SUMMARY The subject disclosure provides for systems and methods for selective encryption in a shared artificial reality environment (e.g., shared virtual reality environment) or other communication environment. The selective encryption can be applied selectively to elements in the environment that are actually decrypted, such as audio of a conversation in a virtual environment that is decrypted at a client device, which may address technical limitations of processing capability for encryption in a shared multiple device setting. The encryption can be based on contextual information, such as pertaining to virtual elements or other environment elements which can be indicative of the sensitivity of information. As an example, a user or user representation may be located in a virtual home environment of the artificial reality environment and engaged in a private conversation with another user/user representation that should be encrypted, but other virtual elements such as decorations (e.g., banners) of the virtual home environment may be non-sensitive and consequently not subject to encryption. In this way, users may advantageously experience dynamic encryption that is contextually dependent on what the environmental context and/or user indicates to be sensitive. For example, the contextual information may include device status (e.g., battery, connectivity) for connecting to the environment, user preferences, virtual object characteristics, and/or the like. The server and client device used to connect the user to the environment may synchronize the timing of recombining the encrypted and non-encrypted channels for achieving the dynamic encryption. Dynamic or selective encryption may advantageously reduce the processing cost and time necessary to enhance the security of communication in the environment. The subject disclosure also may provide selective encryption in a way that reduces the risk of reverse engineering the encryption for unauthorized decryption by a malicious actor. As an example, in the artificial reality environment, if audio channels containing audio from a conversation in the artificial reality environment are encrypted, then the corresponding facial animation for the conversation may also be distorted or partially encrypted. As such, a correlation between encrypted and non-encrypted elements within the environment may be determined for applying additional partial encryption. The additional encryption may be based on the contextual information. In general, the additional encryption advantageously can be applied to unencrypted elements that are not the same as an encrypted element but could reveal (e.g., inadvertently) information about the encrypted element. In this way, the application of additional partial encryption (e.g., visual fuzzing or distortion) based on correlation and/or contextual information advantageously may increase the security of encryption against attempts to obtain encrypted information by the malicious actor. According to one embodiment of the present disclosure, a computer-implemented method for selective encryption in a shared artificial reality environment is provided. The method includes determining contextual information of the shared artificial reality environment. The method also includes encrypting communication in the shared artificial reality environment into encrypted channels and non-encrypted channels based on the contextual information. The method also includes determining a correlation between the encrypted channels and the non-encrypted channels. The method a