Secure hosted execution architecture
AssigneeOracle International Corporation
InventorsThierry P. Violleau, Tanjore S. Ravishankar
Life of this patent
Estimating the term…
Abstract
In general, in one aspect, the invention relates to a method for executing applications. The method includes accessing a secure storage element via a host device including a computer processor; executing, by the computer processor, a hosted execution runtime environment (HERE) on the host device; identifying a persistent memory image of the HERE within the secure storage element; executing, by the computer processor, an application using the HERE; and applying, based on executing the application, a first set of changes to the persistent memory image.
Claims20
A method for securely executing an application on a host device applications, comprising:
- accessing, by the host device, a smart card comprising a secure storage element;
- executing, by a computer processor of the host device, a hosted execution runtime environment (HERE) on the host device;
- executing, by the smart card, a secure element runtime environment (SERE) residing in the secure storage element which is configured to authenticate a user of the host device for access the secure storage element;
- initiating, by the HERE, a secure communication session between the HERE and the SERE;
- identifying a persistent memory image of the HERE, comprising the application, within the secure storage element;
- verifying, using the persistent memory image, that the HERE is secure;
- executing, after verifying that the HERE is secure, and by the computer processor, the application within the HERE;
- and
- applying, by the SERE and based on executing the application, a first plurality of changes to the persistent memory image.
The method of 1, wherein executing the application further comprises:
- identifying a security sensitive section of the application;
- computing a check value for the security sensitive section;
- generating a comparison of the check value with a registered check value stored in the secure storage element, wherein the check value and the registered check value are equal;
- validating, by the SERE, the security sensitive section based on the comparison;
- and
- executing the security sensitive section after validating the security sensitive section.
A system for securely executing an application, comprising:
- a host device comprising a computer processor;
- a smart card, comprising a secure storage element and operatively connected to the host device, wherein the secure storage element is configured to authenticate a user of the host device for access to the secure storage element;
- and
- a hosted execution runtime environment (HERE) executing on the computer processor and configured to:
- initiate a secure communication session between the HERE and a secure element runtime environment (SERE), residing in the secure storage element;
- identify a persistent memory image of the HERE, comprising the application, within the secure storage element;
- execute an application, wherein the SERE is further configured to apply the first plurality of changes to the persistent memory image.
A non-transitory computer-readable storage medium storing a plurality of instructions for securely executing an application, the plurality of instructions comprising functionality to:
- access a smart card, comprising a secure storage element via a host device;
- execute a hosted execution runtime environment (HERE) on the host device;
- execute, by the smart card, a secure element runtime environment (SERE) residing in the secure storage element which is configured to authenticate a user of the host device for access the secure storage element;
- initiate, by the HERE, a secure communication session between the HERE and the SERE;
- identify a persistent memory image of the HERE, comprising the application, within the secure storage element;
- verify, using the persistent memory image, that the HERE is secure;
- execute the application within the HERE;
- and
- apply, by the SERE and based on executing the application, a first plurality of changes to the persistent memory image.
Dependencies are inferred from the claim text.