Using a trusted execution environment as a trusted third party providing privacy for attestation
US-10397005-B2 · Aug 27, 2019 · US
US11748472B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11748472-B2 |
| Application number | US-202017009791-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 2, 2020 |
| Priority date | Sep 2, 2020 |
| Publication date | Sep 5, 2023 |
| Grant date | Sep 5, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for providing a trusted service to a trusted execution environment running on a remote host machine includes receiving a message from the trusted execution environment and incrementing a counter of the trusted service. A response message is sent to the trusted execution environment using a value of the incremented counter.
Opening claim text (preview).
What is claimed is: 1. A method for providing a trusted service to a trusted execution environment running on a remote host machine, the method comprising: receiving, by the trusted service, a message from the trusted execution environment that was sent upon a restart of the trusted execution environment; incrementing a counter of the trusted service, which is running on a different machine than the remote host machine; and sending a response message to the trusted execution environment using a value of the incremented counter, wherein the trusted execution environment uses the value of the incremented counter to determine whether the remote host machine has been rebooted. 2. The method as recited in claim 1 , wherein the message received from the trusted execution environment includes a random nonce. 3. The method according to claim 2 , wherein the response message to the trusted execution environment includes the random nonce such that security of a channel of communication between the trusted execution environment and the trusted service is determinable. 4. The method according to claim 3 , wherein the response message to the trusted execution environment includes the value of the incremented counter such that a number of restarts of the trusted execution environment is determinable by the trusted execution environment using the value of the incremented counter of the trusted service. 5. The method as recited in claim 3 , further comprising comparing the value of the incremented counter of the trusted service to a predetermined threshold, wherein the response message to the trusted execution environment includes instructions to continue or halt execution based on whether the value of the incremented counter of the trusted service is above or below the threshold. 6. The message as recited in claim 1 , wherein the message received from the trusted execution environment includes a result of a pseudo-random function calculated by the trusted execution environment, the pseudo-random function using a shared secret established with the trusted execution environment. 7. The method according to claim 6 , wherein the response message to the trusted execution environment includes a result of the pseudo-random function calculated by the trusted service such that security of a channel of communication between the trusted execution environment and the trusted service is determinable by comparing the results of the pseudo-random function. 8. The method according to claim 7 , wherein the result of the pseudo-random function in the message received from the trusted execution environment is dependent on a value of a counter of the trusted execution environment, and wherein the result of the pseudo-random function in the response message to the trusted execution environment is dependent on the value of the incremented counter of the trusted service such that a number of restarts of the trusted execution environment is determinable by the trusted execution environment using the value of the incremented counter and such that the value of the counter of the trusted execution environment is incrementable together with the incremented counter of the trusted service. 9. The method as recited in claim 7 , further comprising comparing the value of the incremented counter of the trusted service to a predetermined threshold, wherein the response message to the trusted execution environment includes instructions to continue or halt execution based on whether the value of the incremented counter of the trusted is above or below the threshold. 10. The method as recited in claim 1 , further comprising measuring a period of time between receiving the message from the trusted execution environment and receiving a previous message from the trusted execution environment, wherein the incrementing of the value of the counter of the trusted service is based on a determination that the measured period of time lies in an interval that complies, within a tolerance threshold, with a periodicity for sending messages established with the trusted execution environment and a round-trip-time for the messages. 11. The method as recited in claim 10 , wherein the response message is an indication to the trusted execution environment that the periodicity has been complied with such that relative times of a clock source of the host machine are checkable for accuracy by the trusted execution environment using the computation of the trusted service. 12. The method as recited in claim 11 , wherein the message received from the trusted execution environment includes a result of a pseudo-random function calculated by the trusted execution environment, the pseudo-random function using a shared secret established with the trusted execution environment, and wherein the response message to the trusted execution environment includes a result of the pseudo-random function calculated by the trusted service such that security of a channel of communication between the trusted execution environment and the trusted service is determinable by comparing the results of the pseudo-random function. 13. The method as recited in claim 1 , further comprising setting up an authenticated communication channel between the trusted execution environment and the trusted service. 14. A system for providing a trusted service to a trusted execution environment running on a remote host machine, the system comprising one or more processors which, alone or in combination, are configured to provide for execution of the following steps: receiving, by the trusted service, a message from the trusted execution environment that was sent upon a restart of the trusted execution environment; incrementing a counter of the trusted service, which is running on a different machine than the remote host machine; and sending a response message to the trusted execution environment using a value of the incremented counter, wherein the trusted execution environment uses the value of the incremented counter to determine whether the remote host machine has been rebooted. 15. A tangible, non-transitory computer-readable medium having instructions thereon which, upon being executed by one or more processors, alone or in combination, provide for execution of the following steps: receiving, by the trusted service, a message from the trusted execution environment that was sent upon a restart of the trusted execution environment; incrementing a counter of the trusted service, which is running on a different machine than the remote host machine; and sending a response message to the trusted execution environment using a value of the incremented counter, wherein the trusted execution environment uses the value of the incremented counter to determine whether the remote host machine has been rebooted.
involving long-term monitoring or reporting · CPC title
Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title
Protect user input by software means · CPC title
Test or assess a computer or a system · CPC title
by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.