Data processing device
AssigneeSecure Thingz Ltd.
InventorJohn David Mersh
Life of this patent
Estimating the term…
Abstract
A data processing device with a processor, a memory and an access control mechanism, the device having secure and non-secure modes, the memory having secure and non-secure regions, the secure region containing cryptographic data, and the access control mechanism preventing the processor from reading the cryptographic data when the device is operating in the non-secure mode. Also, methods of manufacturing and authenticating such a device, manufacturing an item of electronic equipment that includes such a device, a computer program for storing data on such a device, secure data processing hardware including such a computer program and a method of updating data stored in an item of electronic equipment including such a data processing device.
Claims17
A method of manufacturing an item of electronic equipment that includes a data processing device, the data processing device comprising a processor, a memory storing a device identifier and an access control mechanism, the data processing device being operable in secure and non-secure modes, the memory having secure and non-secure regions, the secure region containing cryptographic data, and the access control mechanism being operable to prevent the processor from reading the cryptographic data when the data processing device is operating in the non-secure mode, the method of manufacturing the item of electronic equipment comprising:
- receiving, by a second manufacturing party from a first manufacturing party, secure data processing hardware containing data to be stored on the data processing device and a value representative of a permitted number of devices on which the data are permitted to be stored, or means for obtaining access to the secure data processing hardware;
- the second manufacturing party requesting permission from the secure data processing hardware to store the data on the data processing device, thereby causing the secure data processing hardware to determine from the value representative of the permitted number of devices whether to permit the request and, if so, authenticate the data processing device by obtaining the device identifier from the data processing device;
- sending the device identifier to a trusted data store containing at least one device identifier;
- if the device identifier is recognized, obtaining the device certificate and a public key of the first asymmetric encryption key pair;
- and authenticating the data processing device by verifying the device certificate using the device identifier and the public key of the first asymmetric encryption key pair;
- if the authentication is successful, storing the data on the data processing device, and adjusting the value representative of the permitted number of devices.
Non-transitory computer readable storage medium storing processor control code that causes a processor to store data on a data processing device, the data processing device comprising a processor, a memory and an access control mechanism, the data processing device being operable in secure and non-secure modes, the memory having secure and non-secure regions, the secure region containing cryptographic data, and the access control mechanism being operable to prevent the processor of the data processing device from reading the cryptographic data when the data processing device is operating in the non-secure mode, comprising:
- the processor control code causing the processor to store data on the data processing device by:
- executing a request to store the data on the data processing device;
- determining from a value representative of a permitted number of devices on which the data are permitted to be stored whether to permit the request;
- if so, obtaining from the data processing device a device identifier stored on the data processing device;
- sending the device identifier to a trusted data store containing at least one device identifier;
- if the device identifier is recognized, receiving from the trusted data store a public key of a first asymmetric key pair;
- obtaining a device certificate for the data processing device, the device certificate having been generated by digitally signing the device identifier using a private key of the first asymmetric encryption key pair;
- authenticating the data processing device by verifying the device certificate using the device identifier and the public key of the first asymmetric encryption key pair;
- if the authentication is successful, storing the data on the data processing device;
- and adjusting the value representative of the permitted number of devices.
Secure data processing hardware including a cryptographic mechanism operable to restrict access to data stored in the secure data processing hardware comprising:
- a data processing device comprising a processor, a memory and an access control mechanism, the device being operable in secure and non-secure modes, the memory having secure and non-secure regions, the secure region containing cryptographic data, and the access control mechanism being operable to prevent the processor of the data processing device from reading the cryptographic data when the data processing device is operating in the non-secure mode;
- and
- the processor executing computer program code stored on a non-transitory computer readable storage medium, the computer program code enabling data to be stored on the data processing device by:
- processing a request to store the data on the data processing device;
- determining from a value representative of a permitted number of devices on which the data are permitted to be stored whether to permit the request if so, obtaining from the data processing device a device identifier stored on the data processing device;
- sending the device identifier to a trusted data store containing at least one device identifier;
- if the device identifier is recognized, receiving from the trusted data store a public key of a first asymmetric key pair;
- obtaining a device certificate for the data processing device, the device certificate having been generated by digitally signing the device identifier using a private key of the first asymmetric encryption key pair;
- authenticating the data processing device by verifying the device certificate using the device identifier and the public key of the first asymmetric encryption key pair;
- if the authentication is successful, storing the data on the data processing device;
- and
- adjusting the value representative of the permitted number of devices.
A method of updating data stored in an item of electronic equipment including a data processing device, the data processing device comprising a processor, a memory storing a device identifier and an access control mechanism, the device being operable in secure and non-secure modes, the memory having secure and non-secure regions, the secure region containing cryptographic data, and the access control mechanism being operable to prevent the processor from reading the cryptographic data when the data processing device is operating in the non-secure mode, wherein the cryptographic data comprises (i) a decryption key comprising a private key of an asymmetric device encryption key (DEK) pair;
- or (ii) a seed, and the data processing device is operable to carry out a key derivation algorithm to derive an asymmetric device encryption key (DEK) pair from the seed, the method of updating data stored in the item of electronic equipment comprising:
- storing in the data processing device update data and an encrypted version of the device identifier, the device identifier having been encrypted using the public key of the DEK pair;
- placing the data processing device in the secure mode;
- decrypting the encrypted version of the device identifier using the private key of the DEK pair;
- comparing the decrypted encrypted version of the device identifier with the device identifier stored in the memory of the data processing device;
- and
- if the device identifiers match, updating data stored in the item of electronic equipment using the update data.
Dependencies are inferred from the claim text.