
UM2262 Rev 6
81/94
UM2262
KMS
93
Appendix F
KMS
F.1
Key update process description
PKCS #11 APIs manage keys through objects containing different type of information:
•
Object header: giving information about the object itself, such as attribute size, number
of attributes and object ID
•
Object attributes: such as type, size and value
Static embedded keys are embedded in the code and cannot be modified. On the contrary,
updatable keys can be modified in a NVM storage located inside the protected/isolated
environment:
•
An updatable key with dynamic ID can be created via a secure object creation
procedure running inside the protected/isolated environment ensuring that the key
remains inside the protected/isolated environment (key value is stored in the NVM
storage and only the object ID is returned to the application).
•
An updatable key with static ID can be updated in the NVM storage via a secure update
procedure using static embedded root keys (authenticity check, data integrity check
and data decryption). It means that the key must be provided to KMS in a specific
format in order to ensure the key authenticity, the key integrity and the key
confidentiality. KMS example is provided with a tool allowing to automatically generate
the encrypted object based on ECDSA asymmetric cryptography for data
authenticity/integrity verification and based on AES-CBC symmetric cryptography for
data confidentiality. Once an encrypted object is downloaded into the device, SBSFU
application detects it at the next system reset and SBSFU application processes it via
the KMS secure update procedure (
ImportBlob()
function).
and
illustrate the key creation and update procedure.
Figure 45. Encrypted object creation