Sicheres Click Board
Sicheres Click Board
Das Secure Click Board™ enthält den kryptografischen Coprozessor ATECC508 mit sicherem hardwarebasierten Schlüsselspeicher. Das Click Board™ ist für den Betrieb mit 3,3 V oder 5 V Stromversorgung ausgelegt. Es kommuniziert mit dem Zielmikrocontroller über die I2C-Schnittstelle.
HINWEIS: Das Click Board™ wird mit Stapelstiftleisten geliefert, die Ihnen eine einfachere Kombination mit anderen Click Boards™ durch die Verwendung nur einer MikroBUS-Buchse ermöglichen.
The Secure Click Board™ carries the ATECC508A cryptographic coprocessor with secure hardware-based key storage. The click is designed to run on either 3.3V or 5V power supply. It communicates with the target microcontroller over the I2C interface.
NOTE: The click comes with stacking headers which allow you to combine it with other clicks more easily by using just one mikroBUS™ socket.
ATECC508A features
Microchip's ATECC508A integrates ECDH (Elliptic Curve Diffie Hellman) security protocol, an ultra-secure method to provide a key agreement for encryption/decryption. It also integrates the ECDSA (Elliptic Curve Digital Signature Algorithm) sign-verify authentication for the Internet of Things (IoT) market, including home automation, industrial networking, accessory and consumable authentication, medical, mobile and more.
The ATECC508A includes an EEPROM array which can be used for storage of up to 16 keys, certificates, miscellaneous read/write, read-only or secret data, consumption logging, and security configurations. Access to the various sections of memory can be restricted in a variety of ways and then the configuration can be locked to prevent changes.
It features a wide array of defence mechanisms specifically designed to prevent physical attacks on the device itself, or logical attacks on the data transmitted between the device and the system. Hardware restrictions on the ways in which keys are used or generated provide further defence against certain styles of attack.
Specifications
Type | Encryption |
Applications | IoT node security and ID, secure download and boot, ecosystem control, message security, anti-cloning, etc. |
On-board modules | ATECC508A cryptographic co-processor |
Key Features | Performs high-speed public key (PKI) algorithms, NIST Standard P256 elliptic curve support, SHA-256 hash algorithm with HMAC option, 256-bit key length, storage for up to 16 Keys |
Interface | I2C |
Compatibility | mikroBUS |
Click board size | M (42.9 x 25.4 mm) |
Input Voltage | 3.3V or 5V |
Pinout diagram
This table shows how the pinout on Secure click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | NC | ||
NC | 2 | RST | INT | 15 | NC | ||
NC | 3 | CS | TX | 14 | NC | ||
NC | 4 | SCK | RX | 13 | NC | ||
NC | 5 | MISO | SCL | 12 | SCL | I2C clock | |
NC | 6 | MOSI | SDA | 11 | SDA | I2C data | |
Power supply | +3.3V | 7 | 3.3V | 5V | 10 | +5V | Power supply |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
Jumpers and settings
Designator | Name | Default Position | Default Option | Description |
---|---|---|---|---|
JP1 | PWR.SEL. | Left | 3.3V | Power Supply Voltage Selection 3.3V/5V, left position 3.3V, right position 5V |
Software Support
Software
Code examples for Secure click, written for MikroElektronika hardware and compilers are available on Libstock.
Code snippet
The following code snippet gets the public key from slot 0, generates the signature for a message using that key, and then verifies that signature.
01 if (atcab_get_pubkey(0, publicKeyBuffer) == ATCA_SUCCESS) 02 { 03 LOG( "rnrn Public key: " ); 04 outputHex (publicKeyBuffer, 64); 05 } 06 else LOG( "rn Getting public key failed..." ); 07 //Generates the signature from input message, using key in slot 0. 08 if (atcab_sign(0, messageBuffer, signatureBuffer) == ATCA_SUCCESS) 09 { 10 LOG( "rnrn Generating signature: " ); 11 outputHex (signatureBuffer, 64); 12 } 13 else LOG( "rn Generating signature failed..." ); 14 //Verification of signature 15 LOG( "rnrn Signature verification..." ); 16 if (atcab_verify_extern(messageBuffer, signatureBuffer, publicKeyBuffer, responseBuffer) == ATCA_SUCCESS) 17 { 18 if (responseBuffer [0]) 19 LOG( "rn Signature is valid " ); 20 else LOG( "rn Signature is invalid " ); 21 } 22 else LOG( "rn Verification operation failed..." );
Software Support
Software
Code examples for Secure click, written for MikroElektronika hardware and compilers are available on Libstock.
Code snippet
The following code snippet gets the public key from slot 0, generates the signature for a message using that key, and then verifies that signature.
01 if (atcab_get_pubkey(0, publicKeyBuffer) == ATCA_SUCCESS) 02 { 03 LOG( "rnrn Public key: " ); 04 outputHex (publicKeyBuffer, 64); 05 } 06 else LOG( "rn Getting public key failed..." ); 07 //Generates the signature from input message, using key in slot 0. 08 if (atcab_sign(0, messageBuffer, signatureBuffer) == ATCA_SUCCESS) 09 { 10 LOG( "rnrn Generating signature: " ); 11 outputHex (signatureBuffer, 64); 12 } 13 else LOG( "rn Generating signature failed..." ); 14 //Verification of signature 15 LOG( "rnrn Signature verification..." ); 16 if (atcab_verify_extern(messageBuffer, signatureBuffer, publicKeyBuffer, responseBuffer) == ATCA_SUCCESS) 17 { 18 if (responseBuffer [0]) 19 LOG( "rn Signature is valid " ); 20 else LOG( "rn Signature is invalid " ); 21 } 22 else LOG( "rn Verification operation failed..." );
Sicheres Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.