Application Note. Atmel CryptoAuthentication Product Uses. Atmel ATSHA204. Abstract. Overview



Similar documents
Application Note. Atmel ATSHA204 Authentication Modes. Prerequisites. Overview. Introduction

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

APPLICATION NOTE. Secure Personalization with Transport Key Authentication. ATSHA204A, ATECC108A, and ATECC508A. Introduction.

APPLICATION NOTE. Atmel AT04389: Connecting SAMD20E to the AT86RF233 Transceiver. Atmel SAMD20. Description. Features

APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.

Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2. 8-bit Atmel Microcontrollers. Application Note. Features.

APPLICATION NOTE. Authentication Counting. Atmel CryptoAuthentication. Features. Introduction

How To Design An Ism Band Antenna For 915Mhz/2.4Ghz Ism Bands On A Pbbb (Bcm) Board

APPLICATION NOTE. Atmel LF-RFID Kits Overview. Atmel LF-RFID Kit. LF-RFID Kit Introduction

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

More Secure, Less Costly IoT Edge Node Security Provisioning

APPLICATION NOTE. Atmel AT02985: User s Guide for USB-CAN Demo on SAM4E-EK. Atmel AVR 32-bit Microcontroller. Features. Description.

APPLICATION NOTE Atmel AT02509: In House Unit with Bluetooth Low Energy Module Hardware User Guide 8-bit Atmel Microcontroller Features Description

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

AT91SAM ARM-based Flash MCU. Application Note

Introducing a platform to facilitate reliable and highly productive embedded developments

APPLICATION NOTE. Atmel AVR443: Sensor-based Control of Three Phase Brushless DC Motor. Atmel AVR 8-bit Microcontrollers. Features.

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1922: Xplain Board Controller Firmware. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series. 32-bit Microcontrollers. Application Note.

AVR1510: Xplain training - XMEGA USART. 8-bit Microcontrollers. Application Note. Prerequisites. 1 Introduction

AVR115: Data Logging with Atmel File System on ATmega32U4. Microcontrollers. Application Note. 1 Introduction. Atmel

Software Prerequisites Linux Ubuntu LTS. Estimated completion time: 15min. The goal of this hands-on is to:

AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit. Application Note. Microcontrollers. AVR282: USB Firmware Upgrade for AT90USB

Application Note. 1. Introduction. 2. Associated Documentation. 3. Gigabit Ethernet Implementation on SAMA5D3 Series. AT91SAM ARM-based Embedded MPU

Using CryptoMemory in Full I 2 C Compliant Mode. Using CryptoMemory in Full I 2 C Compliant Mode AT88SC0104CA AT88SC0204CA AT88SC0404CA AT88SC0808CA

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1900: Getting started with ATxmega128A1 on STK bit Microcontrollers. Application Note. 1 Introduction

APPLICATION NOTE. Atmel AVR600: STK600 Expansion, Routing and Socket Boards. Atmel Microcontrollers. Introduction

8051 Flash Microcontroller. Application Note. A Digital Thermometer Using the Atmel AT89LP2052 Microcontroller

Crypto- Authentication. High Level Security Models Application Note. Description 1. SHA-256

APPLICATION NOTE. Atmel AT01095: Joystick Game Controller Reference Design. 8-/16-bit Atmel Microcontrollers. Features.

Atmel AT32UC3A3256 microcontroller 64MBit SDRAM Analog input (to ADC) Temperature sensor RC filter

AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers. 8-bit Atmel Microcontrollers. Application Note.

Atmel AVR1017: XMEGA - USB Hardware Design Recommendations. 8-bit Atmel Microcontrollers. Application Note. Features.

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE. Atmel AT01180: Barcode and QR code scanner User Guide. Atmel 32-bit Microcontroller. Features. Introduction

AT88CK490 Evaluation Kit

AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note.

SMARTCARD XPRO. Preface. SMART ARM-based Microcontrollers USER GUIDE

AVR353: Voltage Reference Calibration and Voltage ADC Usage. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR305: Half Duplex Compact Software UART. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration

APPLICATION NOTE. Atmel AT02845: Coexistence between ZigBee and Other 2.4GHz Products. Atmel MCU Wireless. Description. Features

AVR317: Using the Master SPI Mode of the USART module. 8-bit Microcontrollers. Application Note. Features. Introduction

APPLICATION NOTE. Atmel AVR2033: SAM-ICE Adapter Hardware User Manual. 8-bit Atmel Microcontrollers. Features. Introduction

AVR2006: Design and characterization of the Radio Controller Board's 2.4GHz PCB Antenna. Application Note. Features.

USER GUIDE. ZigBit USB Stick User Guide. Introduction

CryptoAuth Xplained Pro

USER GUIDE EDBG. Description

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR125: ADC of tinyavr in Single Ended Mode. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE. AT03155: Real-Time-Clock Calibration and Compensation. SAM3 / SAM4 Series. Scope

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

AVR1600: Using the XMEGA Quadrature Decoder. 8-bit Microcontrollers. Application Note. Features. 1 Introduction. Sensors

How To Use Atmel'S Atmel Crypto Device For A Year On A Computer Or Cell Phone

Atmel AVR ATxmega384C3 microcontroller OLED display with pixels resolution Analog sensors. Ambient light sensor Temperature sensor

APPLICATION NOTE. AT16268: JD Smart Cloud Based Smart Plug Getting. Started Guide ATSAMW25. Introduction. Features

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

General Porting Considerations. Memory EEPROM XRAM

AVR033: Getting Started with the CodeVisionAVR C Compiler. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Dell One Identity Cloud Access Manager How to Configure vworkspace Integration

APPLICATION NOTE. Atmel AVR911: AVR Open Source Programmer. 8-bit Atmel Microcontrollers. Features. Introduction

Designing Feature-Rich User Interfaces for Home and Industrial Controllers

formerly Help Desk Authority Quest Free Network Tools User Manual

Quest vworkspace Virtual Desktop Extensions for Linux

SPC5-CRYP-LIB. SPC5 Software Cryptography Library. Description. Features. SHA-512 Random engine based on DRBG-AES-128

Practical PCB design techniques for wireless ICs Controlled impedance layout 100Ω balanced transmission lines

Dell Spotlight on Active Directory Server Health Wizard Configuration Guide

Dell NetVault Backup Plug-in for Advanced Encryption 2.2. User s Guide

Securing Host Operations with a Dedicated Cryptographic IC - CryptoCompanion

8-bit Atmel Microcontrollers. Application Note. Atmel AVR211: Wafer Level Chip Scale Packages

Using RFID Technology to Stop Counterfeiting

Application Note. 8-bit Microcontrollers. AVR272: USB CDC Demonstration UART to USB Bridge

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Quick Connect Express for Active Directory

New Features and Enhancements

AN AES encryption and decryption software on LPC microcontrollers. Document information

Symantec Managed PKI Service for Windows Service Description

AVR106: C Functions for Reading and Writing to Flash Memory. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

Dell Statistica. Statistica Document Management System (SDMS) Requirements

1Mb (64K x 16) One-time Programmable Read-only Memory

Capacitive Touch Technology Opens the Door to a New Generation of Automotive User Interfaces

Dell InTrust Preparing for Auditing Microsoft SQL Server

SPC5-FLASHER. Flash management tool for SPC56xx family. Description. Features

Dell Migration Manager for Enterprise Social What Can and Cannot Be Migrated

Top 10 Most Popular Reports in Enterprise Reporter

Spotlight Management Pack for SCOM

Quest Collaboration Services How it Works Guide

Dell InTrust Preparing for Auditing Cisco PIX Firewall

Atmel Crypto Elements Atmel Corporation

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

Introduction to Version Control in

New Security Features

How to Deploy Models using Statistica SVB Nodes

Dell One Identity Cloud Access Manager How To Deploy Cloud Access Manager in a Virtual Private Cloud

Security Analytics Engine 1.0. Help Desk User Guide

Transcription:

Application Note Atmel CryptoAuthentication Product Uses Atmel Abstract Companies are continuously searching for ways to protect property using various security implementations; however, the cost of security implementation can drive companies away from effective hardware solutions to less secure software solutions. With the introduction of the Atmel CryptoAuthentication device, affordable hardware security is readily available and provides exceptional protection. Overview is an exceptional device that enables solutions to countless problems across many industries. Outlined within this document are use cases which provide brief descriptions of the possible applications and how these applications can be implemented.

1. Accessory Authentication The below Fixed Challenge authentication process can be used for a multitude of use cases. For explanation purposes, the Fixed Challenge is used in an accessory application. CryptoAuthentication can be used for authenticating an accessory. To do the authentication, should be embedded on the accessory (Client). The authentication process uses a challenge-response pair selected from a challenge-response pair pool. Before using the accessory, a challenge is sent to on the Client. The Client then calculates the response and sends the response to the Host. Upon receiving the response, the Host compares it with the expected response. If the responses matched, then the Client is said to be authentic. By using this configuration, only authentic accessories can be used by the system. The accessory authentication process is illustrated in Figure 1-1. Figure 1-1. Fixed Challenge MCU Host 1 Fixed Challenge SHA04 Client Possible applications are listed below: Mobile devices authenticating the battery Medical equipment authentication Device Accessories, such as earphones, speakers, docking station, chargers, etc.

. Consumable Authentication The below, Random Challenge authentication process can be used for a multitude of use cases. For explanation purposes, the Random Challenge is used in a consumable application. By embedding the device into a consumable (Client) and sending a challenge from the system (Host), companies can guarantee that only authentic consumables are used in their systems. In this scheme, a random challenge is used to authenticate the consumable product. Before using the consumable, the Host is sent a random challenge to the Client. The Client then calculates the response and sends the response to the Host. Upon receiving the response, the Host compares it with the expected response. has a special feature for limiting the usage amount of the consumable attached in the system. has a special key which can be used only for a limited usage. The usage amount of the key is decreased each time the key is used for performing authentication. After a maximum of 18 uses, the key is permanently disabled. Any further usage of this key will return an error. If higher than 18 counts are required, there is a method to chain slots together. See application note, Atmel Chaining of Keys for Consumption. To increase the security level, a diversified-key scheme can be used. In this scheme, each would have an unique key which is diversified based on its serial number. If an accessory is compromised, then it would not affect other accessory because each accessory has each unique key. An additional level of security can be added to the system by using another device in the Host. maintains the secret keys in the hardware instead of embedding them into the Host microprocessor code. This makes the keys irretrievable for hackers attempting to circumvent the system. Figure -1 illustrates an example of the device use to validate consumables. Figure -1. Random Challenge 1 Random 4 MCU Random 3 Consumable Host Using the serial number to implement a key diversification scheme is recommended in order to limit the adverse effects if one of the keys is compromised by failed control processes or corporate espionage. When using a diversified key, the source of compromise can be isolated, and a remedy can be implemented much more rapidly. Possible applications for this configuration are: Printers authenticating the cartridge. Air Purification authenticating the filter. 3

3. System Anti-Cloning/Anti-Piracy CryptoAuthentication provides an exceptional method preventing third parties from creating board clones. To implement, the board should be embedded with its own device. The Integrated Development Environment (IDE) would then be programmed to challenge the board prior to allowing the developer access to it. Counterfeiters will not be able to replicate every possible occurrence of challenge and response that can be handled by a board containing a legitimate CryptoAuthentication device; thereby, thwarting common cloning attempts. Providing a periodic method of renewing challenge-response would increase security by removing any existing compromise as each incremental application upgrade could replace the list of challenge-response pairs. Figure 3-1 illustrates the operation of this security model. Figure 3-1. Anti-Cloning / Anti-Piracy Software (IDE) 1 Fixed Challenge Fixed Challenge MCU 4 3 Evaluation Board Companies may also want to identify authentic boards prior to rendering technical support. An interface could be implemented that would enable the user to enter any string of text that would in turn be fed to the device on the development board and the response displayed to the user. The help desk operator could verify the system by providing the user a custom string and asking them for the generated response. The help desk operator would then be able to verify the authenticity of the development board prior to rendering service to the customer. 4

4. Session-Key Exchange CryptoAuthentication can also be used for secure key exchange. In this scheme, is used in conjunction with a symmetric encryption algorithm such as AES or DES. can facilitate this by using the unique response produced by the device as a key to the symmetric encryption algorithm. To guarantee the uniqueness of the encryption key, a random number is needed in the generation process. This random number is used to generate unique session key. The random number can be a constant, something related to the current system, or a random number obtained from. The key exchange is done by sending a random challenge to Host, which generates a response that is used as session-key for encrypting the message. The message and the random challenge are then sent to the client. In the client side, the random challenge is fed into to generate the response which is used as key to decrypt the message. It should be noted that the key is the root key is the same on both the host and client. Figure 4-1 illustrates how to encrypt and decrypt multiple files using key generated by. Figure 4-1. Session Key Exchange Using 1 Random Number 3 Random Number 4 Random Number Host Client Session-Key Encrypt Session-Key Decrypt 5 5

5. Secure Boot Modern systems are often built using a standard microprocessor with the operating program stored in flash memory. Such architecture can permit the manufacturer to quickly take advantage of advances in processor performance and memory cost while offering fast time to market. If the operating program is stored in an external Flash device, it's very hard to prevent an adversary from obtaining its contents and modifying it to run a fraudulent program. By using in the system, the manufacturer can ensure that only authentic program can be run on the system. To implement secure boot, a validating code or signature is stored in flash along with the operating program. As part of the boot program execution at system startup, the security device verifies the signature to ensure that the program is authentic. If the verification succeeds, the operating program is executed and the system operates in the normal way. Any modification of the operating program, even a single bit, will require a new validating signature. The secure boot scheme is illustrated in Figure 5-1. Figure 5-1. Secure Boot 1 Digest and Signature MCU Authentic or Not Furthermore, the manufacturer is also able to ensure that only an authentic system can run the program by performing mutual authentication. The mutual authentication is supported by by using CheckMac copy operation. 6

6. Network Security Wireless transmission devices have to verify each node prior to allowing access to the network. CryptoAuthentication is a great option for offering a low-cost verification method. By installing devices in the radio nodes (Client), the transmitting node (Host) can verify that it is communicating with valid network nodes before transmitting important commands or information. Additional security can be achieved by adding another device in the Host so the customer's secrets would not have to be kept in the microprocessor code where developers and subcontractors may have access to them. When using additional on transmitting node, both must agree on the same keys value. Figure 6-1 illustrates a configuration that utilizes two devices in a radio network. Figure 6-1. Wireless Node Authentication 3 1 Random Random Random Software Software 6 5 4 Transmitter Receiver An additional level of security can be added for the data being transferred, i.e. encrypt the data or just verify the data integrity. The encryption process can be applied exactly like the data encryption scheme shown above. The integrity of the data being exchanged can also be verified. Before sending the data, the sender calculates the data digest using SHA-56 algorithm. Then, calculates the response by using the data digest as the challenge. The calculated response is sent alongside with the data to the receiver side. Upon receive, the receiver calculates the data digest, and the response then compares the received response with the calculated response. If the responses match, it means that the data has not been tampered by any attacker. Figure 6- illustrates a configuration that utilizes two devices in a radio network. 7

Figure 6-. Data Integrity Verification Multiple Files Multiple Files 1 7 Data Authentic Data 4 5 Digest Data and Digest Software Software 3 6 Sender Receiver This configuration can be applied to these applications: Wireless node authentication Data over power lines authentication 8

7. Rolling Keys In some applications, using the same key over and over can be a security risk. For instance, garage door openers. The provides a feature for rolling keys. Normally, after a certain number of uses (perhaps as few as one), the current key value is replaced with the SHA-56 digest of its current value combined with some offset. The offset can be a constant, something related to the current system, or a random number. One use for this capability is to permanently remove the original key from the device; replacing it with a key that is only useful in a particular environment. After the key is rolled, there is no possible way to retrieve the old value, which improves the security of the system. There are two types of rolling key process: Rolled Keys Uses the value of the current key to generate a new key, the generated key is called Rolled Keys. Created Keys Uses the value of a parent key to generate a new key, the generated key is called Created Keys. This operation can only be performed in a slot that permits the DeriveKey command. Proper configuration should be set on the chosen slot. To perform the operation, Nonce must be executed first to fill the TempKey value, and then DeriveKey command is executed by targeting the chosen slot. After the command execution, the target slot value will be updated with the digest generated from DeriveKey command. 9

8. Summary The multipurpose functionality of the CryptoAuthentication device makes them an exceptional tool for enabling hardware security. Nearly any application that requires authentication or individual identification of nodes can use as part of its security solution architecture. If your security requirements vary from those listed in this document, or you are not sure that the CryptoAuthentication devices fit your specific application, please contact your local Atmel representative. Chances are, Atmel has a product that will fit your needs. 10

Appendix A. Supporting Documents CryptoAuthentication product uses for the Atmel AT88SA10HS and the Atmel AT88SA10S. Please visit, http://www.atmel.com/images/doc8663.pdf. Appendix B. Revision History Doc. Rev. Date Comments 8794A 1/01 Initial document release. Function 11

Atmel Corporation 1600 Technology Drive San Jose, CA 95110 USA Tel: (+1) (408) 441-0311 Fax: (+1) (408) 487-600 www.atmel.com Atmel Asia Limited Unit 01-5 & 16, 19F BEA Tower, Millennium City 5 418 Kwun Tong Roa Kwun Tong, Kowloon HONG KONG Tel: (+85) 45-6100 Fax: (+85) 7-1369 Atmel Munich GmbH Business Campus Parkring 4 D-85748 Garching b. Munich GERMANY Tel: (+49) 89-31970-0 Fax: (+49) 89-319461 Atmel Japan G.K. 16F Shin-Osaki Kangyo Bldg 1-6-4 Osaki, Shinagawa-ku Tokyo 141-003 JAPAN Tel: (+81) (3) 6417-0300 Fax: (+81) (3) 6417-0370 01 Atmel Corporation. All rights reserved. / Rev.: Atmel, Atmel logo and combinations thereof, Enabling Unlimited Possibilities, CryptoAuthentication, and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others. Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and products descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.