Difference between revisions of "CryptoAuthentication SOIC Xplained Pro Starter Kit (DM320109)"
Line 25: | Line 25: | ||
* [https://www.microchip.com/wwwproducts/en/ataes132a ATAES132A] (AES128) | * [https://www.microchip.com/wwwproducts/en/ataes132a ATAES132A] (AES128) | ||
=== Implementation | === Implementation of ATSHA204A === | ||
An example implementation for the ATSHA204A can be found under Philly's Tutorial ATSHA204A - A Full Tutorial [https://phillystutorials.blogspot.com/2019/07/atsha204a-full-tutorial.html] | |||
The example program implements: | |||
* Device Details like serial number, device number, lock config | |||
* Locking the configuration, OTP and Data Zone | |||
* HMAC challenge | |||
* GenDig example | |||
* Read encrypted slots | |||
* Creating diversified keys for challenges | |||
* CheckMac | |||
* DeriveKey | |||
Usage: | Usage: | ||
Line 60: | Line 63: | ||
[https://git.fh-campuswien.ac.at/c1710475053/atmel-sam-cryptography-with-cryptoauth-xpro-b/blob/master/Dokumentation/Cryptographic_Algorithms.pdf Click here for Pdf] | [https://git.fh-campuswien.ac.at/c1710475053/atmel-sam-cryptography-with-cryptoauth-xpro-b/blob/master/Dokumentation/Cryptographic_Algorithms.pdf Click here for Pdf] | ||
== User Guides == | == User Guides and Data Sheets == | ||
* [ | * [http://ww1.microchip.com/downloads/en/DeviceDoc/DM320109-CryptoAuthentication-Xplained-Pro-Starter-Kit-Users-Guide-DS50002774A.pdf CryptoAuthentication Xplained Pro Starter Kit User Guide] | ||
* [ | * [http://ww1.microchip.com/downloads/en/DeviceDoc/ATSHA204A-Data-Sheet-40002025A.pdf ATSHA204A Data Sheet] | ||
* [[File:User Guide Security Features.pdf]] | * [[File:User Guide Security Features.pdf]] | ||
== Used Hardware == | == Used Hardware == |
Revision as of 16:31, 31 October 2021
Summary
!!!! W O R K I N P R O G R E S S !!!! (Petra Fenzel)
This documentation describes the usage of the CryptoAuthentication SOIC Xplained Pro Starter Kit (DM320109)
Requirements
Description
The CryptoAuthentication SOIC Xplained Pro Starter Kit (DM320109) consists of:
- ATSAMD21-XPRO
- AT88CKSCKTSOIC-XPRO
- 3 ATECC608A (Elliptic Curve Diffie Hellman, Elliptic Curve Digital Signature Algorithm, SHA-256 & HMAC, AES-128)
- 3 ATECC508A (Elliptic Curve Diffie Hellman, Elliptic Curve Digital Signature Algorithm, SHA-256 & HMAC)
- 3 ATAES132A (AES-128)
- 3 ATSHA204A (SHA-256 with MAC)
- ATSHA204A (SHA256)
- ATECC508A (Ellipticcurve P256, SHA256)
- ATECC608A (Ellipticcurve P256, SHA256, AES-GCM)
- ATAES132A (AES128)
Implementation of ATSHA204A
An example implementation for the ATSHA204A can be found under Philly's Tutorial ATSHA204A - A Full Tutorial [1]
The example program implements:
- Device Details like serial number, device number, lock config
- Locking the configuration, OTP and Data Zone
- HMAC challenge
- GenDig example
- Read encrypted slots
- Creating diversified keys for challenges
- CheckMac
- DeriveKey
Usage:
- Connect your microcontroller to the EDGB USB port and upload the software
- Open a terminal Program (Putty, TeraTerm)
- Terminal program configuration:
Baud rate 115200 Data bits 8 Stop bits 1 Parity none
- Press the restart button in the controller
- The implementation has an text menu which allows you to navigate by numbers
Implementation for ATAES132A
File:AES132ADatasheet.pdf -> that Datasheet is made available from Atmel to get a better understanding of the ATAES132A Chip.
The ATAES132A Chip is NOT based on the Cryptoauthlib. Therefore Atmel doesn't offer complete or functioning example codes for this Chip. There are some example codes that might be working but only for the SAMD21 Xplained Pro board not the SAMR21 Xplained Pro B board, which we are using. I tried to use those example codes, with some changes so it would be working with our board, but I got ERROR messages each time. The main error probably is, that the SAMR21 Xplained Pro Microcontroller is not able to connect to the ATAES132A chip as a I2C slave. Some other problems are, that the example codes for the SAMD21 Xplained Pro board rely too much on that board, so it is nearly impossible to change it for the SAMR21 Xplained Pro B board. Another problem is that Atmel don't even offer an example code to connect to the extension boards, so I wasn't able to check if the ATAES132A chip is working, because no connection could be build. One of the codes is probably working if the connection could be established, because I got a build access and I could load the code onto the board, but I only got negative replies over the Usart.
Here is the link to the projects I tried: [2]
Security Features
Cryptographic algorithms
User Guides and Data Sheets
- CryptoAuthentication Xplained Pro Starter Kit User Guide
- ATSHA204A Data Sheet
- File:User Guide Security Features.pdf
Used Hardware
Courses
References
Implementation:
- https://www.insidegadgets.com/2017/04/21/alarm-system-v3-part-3-using-the-atmel-cryptoauthentication-atsha204a/
- https://www.youtube.com/watch?v=TAOVKcN-pwY
- https://microchiptech.github.io/cryptoauthlib/html/index.html
Cryptographic algorithms:
- https://en.wikipedia.org/wiki/SHA-2
- http://www.iwar.org.uk/comsec/resources/cipher/sha256-384-512.pdf
- https://www.geeksforgeeks.org/implementation-diffie-hellman-algorithm/
- https://www.korelstar.de/informatik/aes.html
- https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Description_of_the_ciphers