#crypto #secure #elements #driver #authentication #certificate #atecc608

no-std at-cryptoauth

Driver for ATECC608 Crypto Authentication secure elements

4 releases (breaking)

0.4.0 Dec 30, 2021
0.3.0 Aug 23, 2021
0.2.0 May 21, 2021
0.1.0 Jan 26, 2021

#1337 in Cryptography

MIT/Apache

95KB
2.5K SLoC

ATECCx08 CryptoAuth

Existing works

The chip vendor open-sources CryptoAuthLib, the official driver library. It is firmly coupled with the Harmony framework and well suited for SAM families.

Rusty_CryptoAuthLib is an implementation in Rust that maintains API compatibility with the CryptoAuthlib.

Limitations

This driver only supports ATECC608 over an I2C bus and on its host side, STM32-L4 family or RaspberryPi. As a matter of fact, tests have been running only on these combinations.

By design, the driver does not conform to the vendor’s authentic library implementation. Instead, it provides with just a tiny subset of APIs, which is necessary and sufficient for implementing traits proposed by Rust Crypto.

Prior to finalize the device, a user has to plan how to deploy or generate keys and which API operates on them. The driver imposes a fixed usage model called TNG-TLS. At the cost of the users’ degree of freedom, the limited scope helps them provision the device.

Dependencies

~1–3.5MB
~64K SLoC