5.3.4 GenDig
Command
The GenDig
command uses a SHA-256 Hash to combine a stored
or input value with the contents of TempKey, which must be validated prior to the
execution of this command. The stored value can come from one of the data slots, the
Configuration zone, either of the OTP pages, or the monotonic counters. The specific
mode of the device determines which data is to be included in the GenDig calculation.
In some cases, it is required to run the GenDig
prior to the
execution of some commands. The command can be run multiple times to include more data
in the digest prior to executing a given command. The resulting digest is retained in
TempKey and can be used in one of four ways:
- It can be included as part of the
message used by the
MAC
,Sign
orCheckMac
commands. Because the MAC response output incorporates both the data used in the GenDig calculation and the secret key from theMAC
command, it serves to authenticate the data stored in the Data and/or OTP zones. - A subsequent
Read
orWrite
command can use the digest to provide authentication and/or confidentiality for the data, in which case it is known as a data protection digest. - The command can be used for secure personalization by using a value from the transport keyarray. The resulting data protection digest would then be used by write.
- The input value, typically a nonce from a remote device, is combined with the current TempKey value to create a shared nonce in which both devices can attest to the inclusion of the RNG.