Difference between revisions of "Atmel Sam Cryptography with CryptoAuth-Xpro-B"
Nmuehlberger (talk | contribs) |
Nmuehlberger (talk | contribs) |
||
Line 40: | Line 40: | ||
=== Implementation for ATAES132A === | === Implementation for ATAES132A === | ||
[[File:AES132ADatasheet.pdf]] -> that Datasheet is made available from Atmel to get a better understanding of the ATAES132A Chip. | [[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 [https://github.com/MicrochipTech/cryptoauthlib Cryptoauthlib]. Therefor 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. | The ATAES132A Chip is NOT based on the [https://github.com/MicrochipTech/cryptoauthlib Cryptoauthlib]. Therefor 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. | ||
Revision as of 11:56, 23 June 2019
Summary
This documentation describes the usage of security features for microcontrollers especially for the Atmel Sam R21 with the expansion board Atcryptoauth Xpro B.
Requirements
Description
The Cryptoauth expansion board contains four chips which gets connected via I2C Chips:
- ATSHA204A (SHA256)
- ATECC508A (Ellipticcurve P256, SHA256)
- ATECC608A (Ellipticcurve P256, SHA256, AES-GCM)
- ATAES132A (AES128)
Implementation for ATECCx08A and ATSHA204A
The implementation for ATECCx08A and ATSHA204A is based on the Cryptoauthlib.For ease of use of the ASF USART a custom abstraction layer got implemented.
The example program Implements:
- Showing the serial numbers of the chips
- Hashing a message
- Showing locked zones
- Locking zones
- Generate a random number (only works with locked configuration Zone)
- Generate a keypair (only works with locked configuration Zone)
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. Therefor 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.
Security Features
Cryptographic algorithms
User Guides
those User Guides are made available from Atmel to get a better understanding of their products.
Used Hardware
Courses
Wahlfachprojekt1 2019
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