Method to upgrade a tee trusted application to a server mode
AssigneeThales Dis France SAS
InventorGeoffroy Cogniaux
Life of this patent
Estimating the term…
Abstract
Upgrade to a Trusted Application in a Trusted Execution Environment compliant to a Trusted Execution Environment standard to an as-a-server functioning by running, inside the Trusted Execution Environment, each instance of a Multi Instance/Single Session Trusted-Server Trusted Application compliant to the TEE standard in an infinite state-full loop polling a session of a Single Instance/Multi Session Trusted-Pipe Trusted Application, the single session of each of the instance of the Trusted-Server Trusted Application being adapted to perform a task as a server, said Trusted-Pipe Trusted Application being further polled by the Customer Application and opening session depending on command coming from the Customer Application.
Claims14
A method to upgrade a Trusted Application in an Execution Environment compliant to a Trusted Execution Environment standard to an as-a-server functioning, said standard defining at least one of the following locks preventing the Trusted Application in a Trusted Execution Environment to function as-a-server:
- a Customer Application having a session opened in an instance of a Trusted Application enters in a blocking state immediately after having sent a Command to the Trusted Application and while the Trusted Application's Task has not finished,
- a Trusted Application cannot partially execute a Task,
- execution context of a Trusted Application is deleted between an executed Task and a subsequent command in an opened instance/session,
- a Trusted Application has to be Single Instance/Multi Session or Multi Instance/Single Session, said method comprising:
- running, inside the Trusted Execution Environment, each instance of a Multi Instance/Single Session Trusted-Server Trusted Application compliant to the TEE standard in an infinite state-full loop polling a session of a Single Instance/Multi Session Trusted-Pipe Trusted Application, the single session of each of the instance of the Trusted-Server Trusted Application being adapted to perform a task as a server,
- meanwhile polling, by the Customer Application, said Trusted-Pipe Trusted Application,
- opening a session depending on a command coming from the Customer Application,
- exchanging data asynchronously between said Customer Application and said Trusted-Server Trusted Application by the polling mechanism making said Trusted-Pipe Trusted Application function as a mailbox for said Customer Application and said Trusted-Server Trusted Application,
- wherein said Customer Application and said Trusted-Server Trusted Application accomplish their respective tasks without blocking each other and enabling the Trusted-Server Trusted Application to request data within its currently executing task without stopping it.
A non-transitory computer readable media comprising a library intended to be installed in a Trusted Execution Environment to upgrade any Trusted Application in the Execution Environment compliant to a Trusted Execution Environment standard to function as-a-server, where such library exports functions at the Trusted Application to read and write data from/to the Customer Application, bootstrap capabilities starting the server infinite loop at the Trusted Application and communication capabilities at the Trusted Application to communicate with the Trusted-Pipe TA, making any Trusted Application linked to this library functioning as a Trusted-Server TA, the library comprising:
- an upgrade to a Trusted Application in an Execution Environment compliant to a Trusted Execution Environment standard to an as-a-server functioning, said standard defining at least one of the following locks preventing the Trusted Application in a Trusted Execution Environment to function as-a-server:
- a Customer Application having a session opened in an instance of a Trusted Application enters in a blocking state immediately after having sent a Command to the Trusted Application and while the Trusted Application's Task has not finished,
- a Trusted Application cannot partially execute a Task,
- execution context of a Trusted Application is deleted between an executed Task and a subsequent command in an opened instance/session,
- a Trusted Application has to be Single Instance/Multi Session or Multi Instance/Single Session,
- said library running, when installed inside the Trusted Execution Environment, each instance of a Multi Instance/Single Session Trusted-Server Trusted Application compliant to the TEE standard in an infinite state-full loop polling a session of a Single Instance/Multi Session Trusted-Pipe Trusted Application (TP), the single session of each of the instance of the Trusted-Server Trusted Application being adapted to perform a task as a server, while said Trusted-Pipe Trusted Application being further polled by the Customer Application and opening session depending on command coming from the Customer Application, this polling mechanism making said Trusted-Pipe Trusted Application functioning as a mailbox for said Customer Application and said Trusted-Server Trusted Application to exchange data asynchronously, while accomplishing their respective tasks without blocking each other and enabling the Trusted-Server Trusted Application to request data within its currently executing task without stopping it.
A non-transitory computer readable media comprising a Trusted Execution Environment comprising:
- an upgrade to a Trusted Application in an Execution Environment compliant to a Trusted Execution Environment standard to an as-a-server functioning, said standard defining at least one of the following locks preventing the Trusted Application in a Trusted Execution Environment to function as-a-server:
- a Customer Application having a session opened in an instance of a Trusted Application enters in a blocking state immediately after having sent a Command to the Trusted Application and while the Trusted Application's Task has not finished,
- a Trusted Application cannot partially execute a Task,
- execution context of a Trusted Application is deleted between an executed Task and a subsequent command in an opened instance/session,
- a Trusted Application has to be Single Instance/Multi Session or Multi Instance/Single Session,
- said Trusted Execution Environment running, when installed inside the Trusted Execution Environment, each instance of a Multi Instance/Single Session Trusted-Server Trusted Application compliant to the TEE standard in an infinite state-full loop polling a session of a Single Instance/Multi Session Trusted-Pipe Trusted Application (TP), the single session of each of the instance of the Trusted-Server Trusted Application being adapted to perform a task as a server, while said Trusted-Pipe Trusted Application being further polled by the Customer Application and opening session depending on command coming from the Customer Application, this polling mechanism making said Trusted-Pipe Trusted Application functioning as a mailbox for said Customer Application and said Trusted-Server Trusted Application to exchange data asynchronously, while accomplishing their respective tasks without blocking each other and enabling the Trusted-Server Trusted Application to request data within its currently executing task without stopping it.
A non-transitory computer readable media comprising an upgrade to a Trusted Application in an Execution Environment compliant to a Trusted Execution Environment standard to an as-a-server functioning, said standard defining at least one of the following locks preventing the Trusted Application in a Trusted Execution Environment to function as-a-server:
- a Customer Application having a session opened in an instance of a Trusted Application enters in a blocking state immediately after having sent a Command to the Trusted Application and while the Trusted Application's Task has not finished,
- a Trusted Application cannot partially execute a Task,
- execution context of a Trusted Application is deleted between an executed Task and a subsequent command in an opened instance/session,
- a Trusted Application has to be Single Instance/Multi Session or Multi Instance/Single Session,
- said upgrade to a Trusted Application running, when installed inside the Trusted Execution Environment, each instance of a Multi Instance/Single Session Trusted-Server Trusted Application compliant to the TEE standard in an infinite state-full loop polling a session of a Single Instance/Multi Session Trusted-Pipe Trusted Application (TP), the single session of each of the instance of the Trusted-Server Trusted Application being adapted to perform a task as a server, while said Trusted-Pipe Trusted Application being further polled by the Customer Application and opening session depending on command coming from the Customer Application, this polling mechanism making said Trusted-Pipe Trusted Application functioning as a mailbox for said Customer Application and said Trusted-Server Trusted Application to exchange data asynchronously, while accomplishing their respective tasks without blocking each other and enabling the Trusted-Server Trusted Application to request data within its currently executing task without stopping it.
Dependencies are inferred from the claim text.