Trusted service for detecting attacks on trusted execution environments

US11748472B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11748472-B2
Application numberUS-202017009791-A
CountryUS
Kind codeB2
Filing dateSep 2, 2020
Priority dateSep 2, 2020
Publication dateSep 5, 2023
Grant dateSep 5, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • G06F21/552Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11748472B2 cover?
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.
Who is the assignee on this patent?
NEC Laboratories Europe GmbH, Nec Corp
What technology area does this patent fall under?
Primary CPC classification G06F21/552. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).