# US 2017/0286685 A1 · Method and system for verifying authenticity of at least part of an execution environment for executing a computer module

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

- Number: US 2017/0286685 A1
- Document ID: US20170286685A1
- Status: Published application
- Kind: A1
- Application number: 15/613,309
- Filed: 2017-06-05
- Published: 2017-10-05
- Earliest claimed: 2009-01-08
- Assignees: Irdeto Corporate B.V.
- Applicants: Irdeto Corporate B.V.
- Inventors: Wilhelmus Petrus Adrianus Johannus Michiels; Paulus Mathias Hubertus Mechtildis Antonius Gorissen
- Web page: https://patentgrep.com/patent/US20170286685A1

## CPC

- 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
- H04L 9/002: {Countermeasures against attacks on cryptographic mechanisms (network architectures or network communication protocols for protection against malicious traffic H04L63/1441)}
- G06F 21/107: {License processing; Key processing}
- H04L 2209/16: Obfuscation or hiding, e.g. involving white box
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system for verifying authenticity of at least part of an execution environment for executing a computer program module. The system includes a processor and a storage for storing the computer program module and the execution environment. The computer program module is operative to cause the processor to process digital input data in dependence on a plurality of predetermined digital parameters. The system includes means for deriving at least part of one of the plurality of predetermined digital parameters from the at least part of the execution environment.

## Claims

### Claim 1

A method of verifying authenticity of at least part of an execution environment for executing a computer program module, where the computer program module is operative to cause processing of digital input data in dependence on a plurality of predetermined digital parameters; the method including using a predetermined algorithm to derive at least part of one of the plurality of predetermined digital parameters from the at least part of the execution environment.

### Claim 2 (depends on 1)

A method as claimed in claim 1, including only executing the computer program module if the plurality of parameters meets a predetermined criterion.

### Claim 3 (depends on 2)

A method as claimed in claim 2, including verifying whether the plurality of parameters meet the predetermined criterion by performing at least one run of at least part of the computer program module on predetermined digital input data using the plurality of parameters and verifying whether an output of the run meets a predetermined criterion.

### Claim 4 (depends on 3)

A method as claimed in claim 3, including receiving the predetermined digital input data from a server as a challenge; and providing the output of the run to the server, enabling the server to perform the verification.

### Claim 5 (depends on 1)

A method as claimed in claim 1, wherein the predetermined algorithm is implemented using computer executable instructions for converting a representation of the execution environment to the at least one parameter.

### Claim 6 (depends on 1)

A method as claimed in claim 1, wherein a part of a bit representation of the plurality of parameters is equal to at least a part of a bit representation of computer executable instructions of the execution environment; and wherein instructions of the computer program module are arranged for, during an execution, using at least one memory address holding the part of the bit representation of the instructions of the execution environment also for reading the equal part of the bit representation of the parameters by reference.

### Claim 7 (depends on 1)

A method as claimed in claim 1, wherein a part of a bit representation of the plurality of parameters is equal to at least a part of a bit representation of computer executable instructions of the computer program module; and wherein the instructions are arranged for, during an execution of the instructions, using at least one memory address holding the part of the bit representation of the instructions also for reading the equal part of the bit representation of the parameters by reference.

### Claim 8 (depends on 1)

A method as claimed in claim 1, wherein the predetermined algorithm causes at least one data element of the execution environment to be used as one or more or part of the plurality of parameters.

### Claim 9 (depends on 1)

A method as claimed in claim 1, wherein the plurality of digital parameters include a representation of at least one of the following: cryptographic data, such as a cryptographic key and/or cryptographic algorithm; digital content encoding/decoding data, such as a coding table and/or coding algorithm; digital content scrambling/descrambling data, such as a scrambling table and/or scrambling algorithm.

### Claim 10 (depends on 8)

A method as claimed in claim 8, wherein the digital input data is digital content encrypted, encoded and/or scrambled under control of a content-specific key; the method including receiving a representation of the content specific key for controlling decryption, decoding and/or descrambling, respectively, and deriving at least part of one of the plurality of predetermined digital parameters from the received representation of the content-specific key.

### Claim 11 (depends on 8)

A method as claimed in claim 8, wherein the derived part of the digital parameters includes a network of obfuscated look-up tables where at least one table has been obfuscated in dependence on the at least part of the execution environment and the algorithm is arranged to derive at least one compensating element from the at least part of the execution environment and insert the at least one compensating element in another one of the obfuscated look-up tables such that the network of obfuscated look-up tables is functionally equivalent to the network of look-up tables.

### Claim 12

A system for verifying authenticity of at least part of an execution environment for executing a computer program module; the system including a processor and a storage for storing the computer program module and the execution environment, wherein the computer program module is operative to cause the processor to process digital input data in dependence on a plurality of predetermined digital parameters; and wherein the system includes means for deriving at least part of one of the plurality of predetermined digital parameters from the at least part of the execution environment.

### Claim 13 (depends on 1)

A computer program product for causing a processor to perform the method according to claim 1.
