US11087029B1ActiveUtility

Encryption engine and decryption engine with glitch randomization to prevent side channel attacks

94
Assignee: FACEBOOK TECH LLCPriority: Oct 9, 2019Filed: Oct 9, 2019Granted: Aug 10, 2021
Est. expiryOct 9, 2039(~13.2 yrs left)· nominal 20-yr term from priority
G06F 21/75H04L 2209/08H04L 9/004G06N 3/006H04L 9/0668
94
PatentIndex Score
11
Cited by
24
References
26
Claims

Abstract

A decryption integrated circuit (IC) includes an interface configured to receive an encrypted block of data and a decryption datapath. The decryption datapath has a plurality of computational stages arranged in a pipeline configured to decrypt the encrypted block of data to form a decrypted block of data. A non-linear computational stage included in the pipeline of the decryption datapath includes multiple asymmetric logical paths and multiple bypassable latches. A first signal traverses a first logical path and a second signal traverses a second logical path having a greater number of logical units than the first logical path. Each bypassable latch is positioned in a respective logical path of the multiple asymmetric logical paths. The decryption IC further includes a controller configured to assign an individual random bit sequence to each bypassable latch to randomly activate or randomly disable each bypassable latch of the multiple bypassable latches.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An artificial reality system comprising:
 a decryption datapath having a plurality of computational stages arranged in a pipeline configured to decrypt an encrypted block of data to form a decrypted block of data, wherein a non-linear computational stage of the plurality of computational stages included in the pipeline of the decryption datapath includes:
 multiple asymmetric logical paths, wherein a first signal traverses a first logical path and a second signal traverses a second logical path having a greater number of logical units than the first logical path; and 
 multiple bypassable latches, each bypassable latch of the multiple bypassable latches being positioned in a respective logical path of the multiple asymmetric logical paths; 
 
 a controller configured to assign an individual random bit sequence to each bypassable latch of the multiple bypassable latches to randomly activate or randomly disable each bypassable latch of the multiple bypassable latches; and 
 a head-mounted device (HMD) configured to output artificial reality content including the decrypted block of data. 
 
     
     
       2. The artificial reality system of  claim 1 , wherein the controller is further configured to:
 obtain a mean time to disclosure (MTD) metric indicating a sensitivity of a secret key applied by the decryption datapath to the encrypted block of data to form the decrypted block of data; 
 generate a random bit sequence based on the MTD metric; and 
 form the individual random bit sequences assigned to the multiple bypassable latches using respective segments of the random bit sequence generated based on the MTD metric. 
 
     
     
       3. The artificial reality system of  claim 2 , wherein the controller is further configured to determine, based on the sensitivity of the secret key indicated by the MTD metric, a frequency at which to renew the random bit sequence. 
     
     
       4. The artificial reality system of  claim 2 , wherein the controller is further configured to:
 form a bitmask based on the sensitivity of the secret key indicated by the MTD metric; and 
 apply the bitmask to the random bit sequence such that at least one individual random bit sequence formed from the random bit sequence that matches the activation sequence such that the individual random bit sequence no longer matches the activation sequence. 
 
     
     
       5. The artificial reality system of  claim 1 , wherein bypassable latch pairs formed from the multiple bypassable latches relay signal pairs to a downstream logic gate, wherein the controller is configured to randomly activate a first bypassable latch that is included in a bypassable latch pair of the latch pairs and is included in the first logical path, wherein the controller is configured to randomly activate a second bypassable latch that is included in the bypassable latch pair of the latch pairs and included in the second logical path, and wherein the latch pair is configured to randomly suppress signal path asymmetry in the respective signal pair before the respective signal pair arrives at the downstream logic gate. 
     
     
       6. The artificial reality system of  claim 5 , wherein the downstream logic gate is a combinatorial logic gate, and wherein the combinatorial logic gate is configured to perform a minimal level of switching with respect to processing the respective signal, based on the latch pair randomly suppressing the signal path asymmetry in the respective signal pair before respective signal pair arrives at the downstream logic gate. 
     
     
       7. The artificial reality system of  claim 1 , wherein bypassable latch pairs formed from the multiple bypassable latches relay signal pairs to a downstream logic gate, wherein the controller is configured to randomly disable a first bypassable latch that is included in a bypassable latch pair of the latch pairs and is included in the first logical path, wherein the controller is configured to randomly disable a second bypassable latch that is included in the bypassable latch pair of the latch pairs and is included in the second logical path, and wherein the latch pair is configured to randomly insert moderate signal path asymmetry in the respective signal pair before the respective signal pair arrives at the downstream logic gate. 
     
     
       8. The artificial reality system of  claim 7 , wherein the downstream logic gate is a combinatorial logic gate, and wherein the combinatorial logic gate is configured to perform a moderate level of switching with respect to processing the respective signal, based on the latch pair randomly inserting the moderate signal path asymmetry in the respective signal pair before respective signal pair arrives at the downstream logic gate. 
     
     
       9. The artificial reality system of  claim 1 , wherein bypassable latch pairs formed from the multiple bypassable latches relay signal pairs to a downstream logic gate, wherein the controller is configured to randomly disable a first bypassable latch that is included in a bypassable latch pair of the latch pairs and is included in the first logical path, wherein the controller is configured to randomly activate a second bypassable latch that is included in the bypassable latch pair of the latch pairs and is included in the second logical path, and wherein the latch pair is configured to randomly insert acute signal path asymmetry in the respective signal pair before the respective signal pair arrives at the downstream logic gate. 
     
     
       10. The artificial reality system of  claim 9 , wherein the downstream logic gate is a combinatorial logic gate, and wherein the combinatorial logic gate is configured to perform a high level of switching with respect to processing the respective signal, based on the latch pair randomly inserting the acute signal path asymmetry in the respective signal pair before respective signal pair arrives at the downstream logic gate. 
     
     
       11. The artificial reality system of  claim 1 , further comprising a decryption engine that includes the decryption datapath, wherein the decryption engine is integrated into the HMD. 
     
     
       12. An artificial reality system comprising:
 a head-mounted device (HMD) configured to receive a block of input data; and 
 an encryption datapath having a plurality of computational stages arranged in a pipeline configured to encrypt a block of input data to form an encrypted block of data, wherein a non-linear computational stage of the plurality of computational stages included in the pipeline of the encryption datapath includes:
 multiple asymmetric logical paths, wherein a first signal traverses a first logical path and a second signal traverses a second logical path having a greater number of logical units than the first logical path; and 
 multiple bypassable latches, each bypassable latch of the multiple bypassable latches being positioned in a logical path of the multiple asymmetric logical paths; and 
 
 a controller configured to assign an individual random bit sequence to each bypassable latch of the multiple bypassable latches to randomly activate or randomly deactivate each bypassable latch of the multiple bypassable latches. 
 
     
     
       13. The artificial reality system of  claim 12 , wherein the controller is further configured to:
 obtain a mean time to disclosure (MTD) metric indicating a sensitivity of a secret key applied by the decryption datapath to the encrypted block of data to form the decrypted block of data; 
 generate a random bit sequence based on the MTD metric; and 
 form the individual random bit sequences assigned to the multiple bypassable latches using respective segments of the random bit sequence generated based on the MTD metric. 
 
     
     
       14. The artificial reality system of  claim 13 , wherein the controller is further configured to determine, based on the sensitivity of the secret key indicated by the MTD metric, a frequency at which to renew the random bit sequence. 
     
     
       15. The artificial reality system of  claim 13 , wherein the controller is further configured to:
 form a bitmask based on the sensitivity of the secret key indicated by the MTD metric; and 
 apply the bitmask to the random bit sequence such that at least one individual random bit sequence formed from the random bit sequence that matches the activation sequence such that the individual random bit sequence no longer matches the activation sequence. 
 
     
     
       16. The artificial reality system of  claim 12 , wherein bypassable latch pairs formed from the multiple bypassable latches relay signal pairs to a downstream logic gate, wherein the controller is configured to randomly activate a first bypassable latch that is included in a bypassable latch pair of the latch pairs and is included in the first logical path, wherein the controller is configured to randomly activate a second bypassable latch that is included in the bypassable latch pair of the latch pairs and included in the second logical path, and wherein the latch pair is configured to randomly suppress signal path asymmetry in the respective signal pair before the respective signal pair arrives at the downstream logic gate. 
     
     
       17. The artificial reality system of  claim 16 , wherein the downstream logic gate is a combinatorial logic gate, and wherein the combinatorial logic gate is configured to perform a minimal level of switching with respect to processing the respective signal, based on the latch pair randomly suppressing the signal path asymmetry in the respective signal pair before respective signal pair arrives at the downstream logic gate. 
     
     
       18. The artificial reality system of  claim 12 , wherein bypassable latch pairs formed from the multiple bypassable latches relay signal pairs to a downstream logic gate, wherein the controller is configured to randomly disable a first bypassable latch that is included in a bypassable latch pair of the latch pairs and is included in the first logical path, wherein the controller is configured to randomly disable a second bypassable latch that is included in the bypassable latch pair of the latch pairs and is included in the second logical path, and wherein the latch pair is configured to randomly insert moderate signal path asymmetry in the respective signal pair before the respective signal pair arrives at the downstream logic gate. 
     
     
       19. The artificial reality system of  claim 18 , wherein the downstream logic gate is a combinatorial logic gate, and wherein the combinatorial logic gate is configured to perform a moderate level of switching with respect to processing the respective signal, based on the latch pair randomly inserting the moderate signal path asymmetry in the respective signal pair before respective signal pair arrives at the downstream logic gate. 
     
     
       20. The artificial reality system of  claim 12 , wherein bypassable latch pairs formed from the multiple bypassable latches relay signal pairs to a downstream logic gate, wherein the controller is configured to randomly disable a first bypassable latch that is included in a bypassable latch pair of the latch pairs and is included in the first logical path, wherein the controller is configured to randomly activate a second bypassable latch that is included in the bypassable latch pair of the latch pairs and is included in the second logical path, and wherein the latch pair is configured to randomly insert acute signal path asymmetry in the respective signal pair before the respective signal pair arrives at the downstream logic gate. 
     
     
       21. The artificial reality system of  claim 20 , wherein the downstream logic gate is a combinatorial logic gate, and wherein the combinatorial logic gate is configured to perform a high level of switching with respect to processing the respective signal, based on the latch pair randomly inserting the acute signal path asymmetry in the respective signal pair before respective signal pair arrives at the downstream logic gate. 
     
     
       22. The artificial reality system of  claim 12 , further comprising an encryption engine that includes the encryption datapath, wherein the encryption engine is integrated into the HMD. 
     
     
       23. A decryption integrated circuit (IC) comprising:
 an interface configured to receive an encrypted block of data; and 
 a decryption datapath having a plurality of computational stages arranged in a pipeline configured to decrypt the encrypted block of data to form a decrypted block of data, wherein a non-linear computational stage of the plurality of computational stages included in the pipeline of the decryption datapath includes:
 multiple asymmetric logical paths, wherein a first signal traverses a first logical path and a second signal traverses a second logical path having a greater number of logical units than the first logical path; and 
 multiple bypassable latches, each bypassable latch of the multiple bypassable latches being positioned in a respective logical path of the multiple asymmetric logical paths; and 
 
 a controller configured to assign an individual random bit sequence to each bypassable latch of the multiple bypassable latches to randomly activate or randomly disable each bypassable latch of the multiple bypassable latches. 
 
     
     
       24. The decryption IC of  claim 23 , wherein the decryption IC is included in a system on a chip (SoC) configured to support an artificial reality application. 
     
     
       25. An encryption integrated circuit (IC) comprising:
 an interface configured to receive a block of input data; and 
 an encryption datapath having a plurality of computational stages arranged in a pipeline configured to encrypt the block of input data to form an encrypted block of data, wherein a non-linear computational stage of the plurality of computational stages included in the pipeline of the encryption datapath includes:
 multiple asymmetric logical paths, wherein a first signal traverses a first logical path and a second signal traverses a second logical path having a greater number of logical units than the first logical path; and 
 multiple bypassable latches, each bypassable latch of the multiple bypassable latches being positioned in a logical path of the multiple asymmetric logical paths; and 
 
 a controller configured to assign an individual random bit sequence to each bypassable latch of the multiple bypassable latches to randomly activate or randomly deactivate each bypassable latch of the multiple bypassable latches. 
 
     
     
       26. The encryption IC of  claim 25 , wherein the encryption IC is included in a system on a chip (SoC) configured to support an artificial reality application.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.