at-cryptoauth 0.4.0

Driver for ATECC608 Crypto Authentication secure elements
Documentation

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.