A device, including: an unsecure non-volatile memory; a secure device including: a processor; and a secure non-volatile memory; wherein the secure device is configured to: calculate a TMC value from an offset and a base value; store a TMC version value in the secure non-volatile memory and the insecure non-volatile memory, wherein the TMC version value is updated when TMC value is incremented the first time after the secure device is powered up; store the base value in the unsecure non-volatile memory; store the offset value in the unsecure non-volatile memory when the secure device is in a system power down state; store the offset value in the secure non-volatile memory when the secure device is in a rescue state; and store a TMC link value in the unsecure memory, wherein the TMC link value is based upon the base value and TMC version value stored in the unsecure memory.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A device, comprising: an unsecure non-volatile memory; a secure device including: a processor; and a secure non-volatile memory; wherein the secure device is configured to: calculate a trusted monotonic counter (TMC) value from an offset and a base value; store a TMC version value in the secure non-volatile memory and the unsecure non-volatile memory, wherein the TMC version value is updated when the TMC value is incremented the first time after the secure device is powered up; store the base value in the unsecure non-volatile memory; store the offset value in the unsecure non-volatile memory when the secure device is in a system power down state; store the offset value in the secure non-volatile memory when the secure device is in a rescue state, wherein the rescue state is reached in response to secure device being in the system power down state; and store a TMC link value in the unsecure memory, wherein the TMC link value is based upon the base value and TMC version value stored in the unsecure memory, wherein the secure non-volatile memory is more efficiently used and rollback protection is provided.
2. The device of claim 1 , further comprising: a rescue register; and a rescue power supply, wherein the rescue register and rescue power supply are used to store the offset value in the secure non-volatile memory when the secure device is in the rescue state.
3. The device of claim 1 , wherein the secure device is further configured to compare the TMC version value stored in the secure non-volatile memory with the TMC version value stored in the unsecure non-volatile memory.
4. The device of claim 1 , wherein the secure device is further configured to verify the TMC link value based upon the base value and TMC value stored in the unsecure non-volatile memory.
5. The device of claim 4 , wherein the secure device is further configured to restore the TMC base value during a power up state from the base value stored in the unsecure non-volatile memory and the offset value stored in the unsecure non-volatile memory when TMC link value is verified.
6. The device of claim 4 , wherein the secure device is further configured to restore the TMC base value during a power up state from the base value stored in the unsecure memory and the offset value stored in the secure non-volatile memory when TMC link value is verified.
7. The device of claim 1 , wherein the secure device is further configured to update the TMC value by incrementing the offset value.
8. The device of claim 1 , wherein the secure device is further configured to update the TMC link value during the system power down state.
9. The device of claim 1 , wherein the number of bits in the offset value is less than the number of bits of the TMC counter value.
10. The device of claim 1 , wherein the number of bits in the offset value is less than or equal to half the number of bits of the TMC counter value.
11. The device of claim 1 , wherein the TMC link value is a hash of the base value and TMC version value stored in the unsecure memory.
12. The device of claim 1 , wherein the TMC link value is a copy of the base value and TMC version value stored in the unsecure memory.
13. A device, comprising: an unsecure non-volatile memory; a secure device including: a processor; and a secure non-volatile memory; wherein the secure device is configured to: calculate a trusted monotonic counter (TMC) value from an offset and base value; store a TMC version value in the secure non-volatile memory and the unsecure non-volatile memory, wherein the TMC version value is updated when the TMC value is incremented the first time after the secure device is powered up; store the base value in the unsecure memory; and store the offset value in the secure non-volatile memory when power has failed in the secure device, wherein the secure non-volatile memory is more efficiently used and rollback protection is provided.
14. The device of claim 13 , further comprising: a rescue register; and a rescue power supply, wherein the rescue register and rescue power supply are used to store the offset value in the secure non-volatile memory when the secure device is in a rescue state in response to the power failure.
15. The device of claim 13 , wherein the secure device is further configured to compare the TMC version value stored in the secure non-volatile memory with the TMC version value stored in the unsecure non-volatile memory.
16. The device of claim 13 , wherein the secure device is further configured to restore the TMC base value during a power up state from the base value stored in the unsecure non-volatile memory and the offset value stored in the unsecure non-volatile memory.
17. The device of claim 13 , wherein the number of bits in the offset value is less than the number of bits of the TMC counter value.
18. The device of claim 13 , wherein the number of bits in the offset value is less than or equal to half the number of bits of the TMC counter value.
19. The device of claim 13 , wherein the secure device is further configured to update the TMC value by incrementing the offset value.
20. The device of claim 13 , wherein offset value is stored in the secure non-volatile memory when the secured device is in a power down state.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 23, 2018
May 19, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.