# US 10,873,465 B2 · Control mechanisms for data processing devices

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

- Number: US 10,873,465 B2
- Document ID: US10873465B2
- Status: Granted
- Kind: B2
- Application number: 15/501,559
- Filed: 2015-07-15
- Published: 2017-08-03
- Granted: 2020-12-22
- Earliest claimed: 2014-08-05
- Assignees: ARM IP Limited
- Applicants: Arm IP Limited
- Inventors: Milosch Meriac; Daryl Wayne Bradley
- Web page: https://patentgrep.com/patent/US10873465B2

## CPC

- H04L 9/3247: {involving digital signatures}
- G06F 9/4406: {Loading of operating system}
- G06F 21/554: {involving event detection and direct action}
- G06F 21/572: {Secure firmware programming, e.g. of basic input output system [BIOS]}
- G06F 21/575: {Secure boot}
- H04L 9/3271: {using challenge-response}
- H04W 12/128: Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
- G06F 2221/034: Test or assess a computer or a system
- G06F 2221/2103: Challenge-response
- G06F 2221/2105: Dual mode as a secondary aspect
- G06F 2221/2111: Location-sensitive, e.g. geographical location, GPS
- G06F 2221/2139: Recurrent verification
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- G06F 2221/2149: Restricted operating environment
- G06F 2221/2151: Time stamp
- H04L 2209/80: Wireless
- H04W 12/61: Time-dependent
- 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)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method of controlling a data processing device, the method comprising: receiving, at the data processing device, a communication from a remote device wherein the communication comprises verification data; verifying the verification data at the data processing device; initiating an action by a watchdog associated with the data processing device based on the verification.

## Claims

### Claim 1

A method of controlling a data processing device having a trusted region and a less-trusted region, the method comprising:
generating, at the trusted region, a challenge communication;
encrypting, at the trusted region, the challenge communication;
passing, from the trusted region to the less-trusted region, the encrypted challenge communication;
sending, from the less-trusted region to a remote device, the encrypted challenge communication;
receiving, at the less-trusted region, an encrypted response communication from the remote device, wherein the encrypted response communication comprises verification data and command data, and wherein the command data comprises one or more instructions to cause a watchdog of the trusted region to perform one or more actions in response to the one or more instructions and where the verification data comprises a response to the challenge communication;
passing, from the less-trusted region to the trusted region, the encrypted response communication from the remote device;
decrypting, at the trusted region, the encrypted response communication from the remote device;
verifying the verification data at the trusted region;
initiating an action by the watchdog when the response to the challenge corresponds to an expected solution to the challenge, wherein the command data in the communication from the remote device specifies the action to be initiated.

### Claim 2 (depends on 1)

A method according to claim 1, the method further comprising:
wherein an instruction of the one or more instructions is to allow a watchdog timer associated with the watchdog to timeout.

### Claim 3 (depends on 1)

A method according to claim 1, the method further comprising:
if the verification data is not verified, initiating a security related action.

### Claim 4 (depends on 1)

A method according to claim 1, wherein the verification data comprises a synchronised time value or counter value.

### Claim 5 (depends on 4)

A method according to claim 4, wherein the communication further comprises a verifiable identifier associated with the remote device.

### Claim 6 (depends on 5)

A method according to claim 5, wherein the verifiable identifier comprises a cryptographic signature of the remote device.

### Claim 7 (depends on 6)

A method according to claim 6, the method further comprising:
verifying the signature at the data processing device.

### Claim 8 (depends on 1)

A method according to claim 1, wherein the one or more actions comprise initiating a response operation.

### Claim 9 (depends on 8)

A method according to claim 8, wherein the response operation comprises setting a timeout period for the watchdog timer.

### Claim 10 (depends on 8)

A method according to claim 8, wherein the response operation comprises:
setting a boot source for a processing element associated with the data processing device or controlling access to a region of memory associated with the data processing device.

### Claim 11 (depends on 8)

A method according to claim 8, wherein the response operation comprises:
generating a request for code capable of executing on the data processing device; and causing the data processing device to transmit the request for code to the remote device.

### Claim 12 (depends on 11)

A method according to claim 11, wherein the code capable of executing on the data processing device comprises firmware.

### Claim 13 (depends on 1)

A method according to claim 1, wherein the verification data comprises a cryptographic nonce.

### Claim 14 (depends on 1)

A method according to claim 1, the method further comprising:
generating, using the watchdog, a status update;
transmitting the status update to the remote device.

### Claim 15 (depends on 1)

A method according to claim 1, the method further comprising:
receiving, at the data processing device, a further communication from the remote device, wherein the further communication comprises at least one credential;
determining, using the watchdog, an authentication status of the at least one credential.

### Claim 16

A data processing device comprising a processing unit, memory circuitry having a trusted region and a less-trusted region, communications circuitry and a watchdog of the trusted region having a watchdog timer associated therewith, wherein the data processing device is configured to:
generate, at the trusted region, a challenge communication;
encrypt, at the trusted region, the challenge communication;
pass, from the trusted region to the less-trusted region, the encrypted challenge communication;
sending, from the less-trusted region to a remote device, the encrypted challenge communication;
receive, at the less-trusted region, an encrypted response communication from the remote device, wherein the encrypted response communication comprises verification data and command data, and wherein the command data comprises one or more instructions to cause the watchdog to perform one or more actions in response to the one or more instructions and where the verification data comprises a response to the challenge communication;
pass, from the less-trusted region to the trusted region, the encrypted response communication from the remote device;
decrypt, at the trusted region, the encrypted response communication from the remote device;
verify the verification data at the watchdog;
initiate an action by the watchdog when the response to the challenge corresponds to an expected solution to the challenge, wherein the command data in the communication from the remote device specifies the action to be initiated.

### Claim 17

A non-transitory, computer-readable storage medium storing at least one computer program configured to control a data processing device having a trusted region and a less-trusted region to:
generate, at the trusted region, a challenge communication;
encrypt, at the trusted region, the challenge communication;
pass, from the trusted region to the less-trusted region, the encrypted challenge communication;
sending, from the less-trusted region to a remote device, the encrypted challenge communication;
receive, at the less-trusted region, an encrypted response communication from the remote device, wherein the encrypted response communication comprises verification data and command data, and wherein the command data comprises one or more instructions to cause a watchdog associated with the data processing device to perform one or more actions in response to the one or more instructions and where the verification data comprises a response to the challenge communication;
pass, from the less-trusted region to the trusted region, the encrypted communication from the remote device;
decrypt, at the trusted region, the encrypted response communication from the remote device;
verify the verification data at the watchdog;
initiate an action by the watchdog when the response to the challenge corresponds to an expected solution to the challenge, wherein the command data in the communication from the remote device specifies the action to be initiated.

### Claim 18

A method of activating a functionality on a data processing device having a trusted region and a less-trusted region, the method comprising:
generating, at the trusted region of the data processing device, a request communication comprising a request to access a restricted functionality of the data processing device, the request communication further comprising a challenge;
encrypting, at the trusted region, the request communication;
passing, from the trusted region to the less-trusted region, the encrypted request communication;
sending, from the less-trusted region to a remote device, the encrypted request communication;
transmitting, from the less-trusted region to a remote device, the request communication;
receiving, at the less-trusted region, an encrypted authorisation communication from the remote device, wherein the authorisation communication comprises verification data and command data, and wherein the command data comprises one or more instructions to cause a watchdog associated with the trusted region to activate the restricted functionality at the data processing device in response to the one or more instructions and where the verification data comprises a response to the challenge communication;
verifying the verification data at the watchdog;
initiating an operation by the watchdog when the response to the challenge corresponds to an expected solution to the challenge, wherein the operation comprises activating the restricted functionality at the data processing device in accordance with the one or more instructions.
