Atmel ATSHA204 [DATASHEET] 3
8740C−CRYPTO−7/11
previously successful transaction) always fail. Further information is found in Section 3.4.2, “Random Nu mber Generator,” and
Section 8.11, “Random Command.”
System integration is eased with a wide supply voltage r ange (2.0V thr ough 5.5V) and an ultra-low sleep current of <100nA.
Complete DC par ameters are found in Secti on 7, which describes multipl e package options, including a tiny SOT23 package
with a footpri nt of only 2.5mm x 3mm . See Section 11, “Package Drawings,” for m or e details and order ing codes.
See Section 9, “Compatibility,” for informat ion regarding c ompatibilit y with the Atmel AT88SA102S and Atmel AT88SA10HS,
previous members of the Atmel CryptoAuthentication f am i ly.
1.3 Cryptographic Operation
The ATSHA204 supports a standard challenge-response protocol to sim plify progr am ming. At i ts most basic, the hos t system
sends a challenge to the chip in the client, which combines that challenge with a secret key via the MAC command from the
system, described in Section 8.8, “MAC Command,” and sends the r esponse back t o the system. The chip uses a
cryptographic hash algor i thm for the combination, which prevents an observer on the bus from deri v i ng the value of the secret
key, but allows the recipient to verify th at the response is correct by performing the same calcul ation (combining the challenge
with the secr et) with a st or ed copy of the secret.
Due to the flexible command set of the ATS H A 204, however, this basic operation can be expanded in many ways. Using the
GenDig command (Section 8.5, “GenDig Command”) the v alues in other slots can be incl uded in the response digest, whic h
provides an ef fective way of proving that a data read real ly did come from the chip, as op posed to being inserted by a man-in-
the-middle attacker. This same command can be used to combine two keys with the challenge, which is useful when there are
multiple laye rs of authentic ation to be performed.
The DeriveKey command (Sec tion 8.3, “DeriveK ey Command”) implements a key rolling scheme. Depending on the com m and
mode paramet er , the resulting operation can be similar to that implemented in a remote-controlled garage door opener . Each
time the key is us ed, the curre nt value of the key is cryptographically combined with a value specific to that s ystem , and the
result forms the key for the next cryptographic operation. E v en i f an attacker gets the value of one key, that k ey will be gone
forever with the next use.
DeriveKey can also be used to generate new random keys that mi ght be valid onl y for a particul ar host ID, for a par ticular time
period, or for some other restricted environment. Each generated key is different from any other key ever generated on any
chip. By “activating” a host-client pair in the field in this manner, a clone of a single c l ient would not work on any other host.
In a host-client configuration where the hos t (for instance, a mobile phone) needs to ver i fy a client (for instance, an OE M
battery), t here is a need to store the secret in the host in order to valid ate the response from the clie nt. The CheckM ac
command (Section 8.2, “CheckMac Command”) allows the chip to securely store the client s ec ret and hide the c orrect
response value from the pins, returning only a yes/no answer to the system .
Where a user-entered password is a requirement, the CheckMac c ommand also provi des a way to both verify th e password
without exposing it on the communications bus as well as map t he password to a s tored value t hat can have muc h higher
entropy. See S ection 3.3.6 f or more details.
Finally, the h ash combination of a chall enge and secret key can be kept on the chip and X ORed with the contents of a slot to
implement an encrypted rea d (Section 8.12, “Read Comma nd” ) , or it can be XORed with encrypted input dat a to implement
an encrypted write (Section 8.14, “Write Com m and”).
Each of these operations can be protected against replay attacks by including a ran dom nonce (Section 8.9, “Nonce
Command,”) in the calculat ion.
All security f unctions are im plemented using the industry-stand ard SHA-256 secure hash algorithm, which is part of the latest
set of high-security cryptographic algori thms recommended by various governments and cryptographic expert s. Section 3.1,
“SHA-256,” includes a reference to the algorithm details. If desired, the SHA-256 algorithm can also be included in an HMAC
sequence (See Section 3.2, “HMAC/SHA-256,” and Section 8.6, “HMAC Command”). The AT SHA204 employs full-sized, 256-
bit secret keys to prevent an y ki nd of exhausti v e attack.