# US 9,520,994 B2 · System and method for deriving secrets from a master key bound to an application on a device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,520,994 B2
- Document ID: US9520994B2
- Status: Granted
- Kind: B2
- Application number: 14/220,988
- Filed: 2014-03-20
- Published: 2015-09-24
- Granted: 2016-12-13
- Earliest claimed: 2014-03-20
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Nicolas Ponsini
- Web page: https://patentgrep.com/patent/US9520994B2

## CPC

- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F 21/60: Protecting data
- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- H04L 9/0863: {involving passwords or one-time passwords (network architectures or network communication protocols for using one-time keys in a packet data network H04L63/067)}
- H04L 9/0866: {involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics}
- H04L 9/0877: {using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method can support device management. A trusted application can be deployed in a trusted execution environment on a device, wherein the trusted execution environment includes a trusted operating system (OS) and the trusted application is associated with an identifier. Then, the system can derive one or more secrets bound to said trusted application based on the identifier and a master key maintained by the trusted OS. Additionally, the secret derivation can take into account binary code/data for the trusted application. Thus, the system can prevent another trusted application in the trusted execution environment from retrieving said one or more secrets using the same identifier.

## Claims

### Claim 1

A method for supporting management of a device, comprising:
providing a trusted execution environment operating on said device wherein the trusted execution environment operating on said device is associated with a master key;
deploying a trusted application of a service provider in the trusted execution environment wherein the trusted application is associated with an identifier and wherein the trusted application comprises binary code/data;
providing a key derivation function in the trusted execution environment;
using the key derivation function to derive a secret bound to the trusted application to protect business information of said service provider, wherein the key derivation function derives said secret using a first cryptographic function which utilizes a first hash algorithm which takes as input:
said master key associated with said device, wherein said master key is maintained by the trusted execution environment, and
a digest derived from said binary code/data of said trusted application, wherein said digest comprises a bit string derived from a second cryptographic function which utilizes a second hash algorithm which takes said binary code/data of said trusted application as input;
whereby if another trusted application deployed in the trusted execution environment has another identifier identical to the identifier of the trusted application, the another trusted application is prevented from retrieving said secret bound to the trusted application.

### Claim 2 (depends on 1)

The method of claim 1, wherein said first hash algorithm takes as input said identifier associated with the trusted application in addition to the master key associated with said device and said digest derived from said binary code/data of said trusted application.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the first hash algorithm and the second hash algorithm both comprise a secure hash algorithm (SHA).

### Claim 4 (depends on 1)

The method of claim 1, wherein the bit string is a fixed-size bit string.

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the first hash algorithm comprises a secure hash algorithm (SHA); and
the key derivation function derives said secret using the SHA which takes as input said master key associated with said device; the digest derived from said binary code/data of said trusted application, and said identifier associated with said trusted application.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
the first hash algorithm is identical to the second hash algorithm.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
providing a system-on-chip in the device, wherein the system-on-chip supports the trusted execution environment.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
providing a root of trust that guarantees the trusted OS is a sole component that is able to derive secrets on the system-on-chip.

### Claim 9

A system comprising:
a device comprising one or more microprocessors;
a trusted execution environment operating on said device wherein the trusted execution environment includes a trusted operating system (OS) and is associated with a master key;
a trusted application of a service provider deployed in the trusted execution environment wherein the trusted application is associated with an identifier and wherein the trusted application comprises binary code/data;
a key derivation function operating in the trusted execution environment;
wherein when the key derivation function is configured to derive a secret bound to the trusted application to protect business information of said service provider, wherein the key derivation function derives said secret using a first cryptographic function which utilizes a first hash algorithm which takes as input:
said master key associated with said device, wherein said master key is maintained by the trusted execution environment, and
a digest derived from said binary code/data of said trusted application, wherein said digest comprises a bit string derived from a second cryptographic function which utilizes a second hash algorithm which takes said binary code/data of said trusted application as input;
whereby, if another trusted application deployed in the trusted execution environment has another identifier identical to the identifier of the trusted application, the another trusted application is unable to retrieve said secret bound to the trusted application.

### Claim 10 (depends on 9)

The system of claim 9, wherein the first hash algorithm takes as input:
said identifier,
said master key associated with said device, and
the digest derived from said binary code/data of said trusted application.

### Claim 11 (depends on 9)

The system of claim 9, wherein:
the first hash algorithm and the second hash algorithm both comprise a secure hash algorithm (SHA).

### Claim 12 (depends on 9)

The system of claim 9 wherein the bit string is a fixed-size bit string.

### Claim 13 (depends on 9)

The system of claim 9, wherein:
the first hash algorithm comprises a secure hash algorithm (SHA); and
the key derivation function is configured to derive said secret using the SHA which takes as input said master key associated with said system, the digest derived from said binary code/data of said trusted application, and said identifier associated with said trusted application.

### Claim 14 (depends on 9)

The system of claim 9, wherein:
the first hash algorithm is identical to the second hash algorithm.

### Claim 15 (depends on 14)

The system of claim 14, wherein the second hash algorithm comprises a secure hash algorithm (SHA).

### Claim 16 (depends on 9)

The system of claim 9, further comprising:
a system-on-chip wherein the system-on-chip supports the trusted execution environment.

### Claim 17 (depends on 9)

The system of claim 9, further comprising:
a system-on-chip wherein the system-on-chip supports the trusted execution environment; and
a root of trust that guarantees the trusted OS is a sole component that is able to derive secrets on the system-on-chip.

### Claim 18 (depends on 9)

The system of claim 9, further comprising:
a secure file system in said trusted execution environment, wherein the trusted OS is configured to store said digest derived from said binary code/data of said trusted application in said secure file system.

### Claim 19

A non-transitory machine-readable storage medium having instructions stored thereon for supporting management of a device, which instructions, when executed, cause the device to perform steps comprising:
providing a trusted execution environment operating on said device wherein the trusted execution environment operating on said device is associated with a master key;
deploying a trusted application of a service provider in the trusted execution environment wherein the trusted application is associated with an identifier and wherein the trusted application comprises binary code/data;
providing a key derivation function in the trusted execution environment;
using the key derivation function to derive a secret bound to the trusted application to protect business information of said service provider, wherein the key derivation function derives said secret using a first cryptographic function which utilizes a first hash algorithm which takes as input:
said master key associated with said device, wherein said master key is maintained by the trusted execution environment, and
a digest derived from said binary code/data of said trusted application, wherein said digest comprises a bit string derived from a second cryptographic function which utilizes a second hash algorithm which takes said binary code/data of said trusted application as input;
whereby if another trusted application deployed in the trusted execution environment has another identifier identical to the identifier of the trusted application, the another trusted application is prevented from retrieving said secret bound to the trusted application.

### Claim 20 (depends on 19)

The non-transitory machine-readable storage medium of claim 19, wherein the key derivation function derives said secret using the first hash algorithm which takes as input,
said identifier associated with the trusted application,
said master key associated with said device, and
said digest derived from said binary code/data of said trusted application.
