Features • • • • • • • • • • • • Low-power, Low-voltage CMOS IDICÒ Contactless Power Supply, Data Transmission and Programming of EEPROM Radio Frequency (RF): 100 kHz to 150 kHz, Typically 125 kHz Automatic Programmable Adaptation of Resonance Frequency Easy Synchronization with Special Terminators High-security Method Unilink Challenge Response Authentication by AUT64 Crypto Algorithm Encryption Time < 10 ms, Optional < 30 ms Programmable at 125 kHz 320-bit EEPROM Memory in 10 Blocks of 32 Bits Each Programmable Read/Write Protection Extensive Protection Against Contactless Malprogramming of the EEPROM Programming Time for One Block of the EEPROM Typically 16 ms Main Options Set by EEPROM: – Bit Rate [Bit/s]: RF/32, RF/64 – Encoding: Manchester, Bi-phase Description The e5561 is a member of Atmel’s IDentification IC (IDIC) family for applications where information has to be transmitted contactlessly. The IDIC is connected to a tuned LC circuit for power supply and bi-directional data communication (Read/Write) to a base station. Atmel offers an LC circuit and a chip assembled in the form of a transponder or tag. These units are small, smart and rugged data storage units. Standard Read/Write Crypto Identification IC e5561 The e5561 is a Read/Write crypto IC for applications which demand higher security levels than standard R/W transponder ICs can offer. For that purpose, the e5561 has an encryption algorithm block which enables a base station to authenticate the transponder. The base station transmits a random number to the e5561. This challenge is encrypted by both IC and base station. The e5561 sends back the result to the base station for comparison. As both should possess the same secret key, the results of this encryption are expected to be equal. Any attempt to fake the base station with a wrong transponder will be recognized immediately. The on-chip 320-bit EEPROM (10 blocks of 32 bits each) can be read and written blockwise by a base station. Two or four blocks contain the ID code and six memory blocks are used to store the crypto key as well as the read/write options. The crypto key and the ID code can be protected individually against overwriting. Likewise, the crypto key cannot be read out. 125 kHz is the typical operational frequency of a system using the e5561. Two read data rates are programmable. Reading occurs through damping the incoming RF field with an on-chip load. This damping is detected by the field-generating base station. Data transmission starts after power-up with the transmission of the ID code and continues as long as the e5561 is powered. Writing is carried out with Atmel's writing method. To transmit data to the e5561, the base station has to interrupt the RF for a short time to create a field gap. The information is encoded in the number of clock cycles between two subsequent gaps. Rev. 4699A–RFID–04/03 1 Figure 1. Transponder System Example Using e5561 Response Data Internal Modes Coil interface Challenge Base station Controller Transponder Power Memory Crypto e5561 The e5561 can be operated in several internal modes, each providing a special function. These are: • Start-up • ID mode • Programming mode • Direct-access mode • Crypto mode • Stop mode • Password function The following section gives a short functional description of each mode. A more detailed description is given in the section "Operating the e5561". Start-up After the Power-On Reset (POR) has reset the entire circuit, the e5561 is configured by reading out the configuration data bits of the EEPROM. ID Mode During ID mode, the e5561 transmits an identification data stream (ID code) to the base station. As the base station reads out data coming from the transponder, this direction of data transmission will be designated as ’read’. The ID code is sent in loop as long as the RF field is applied. The single parts of the data stream and the type of modulation depend on the configuration loaded during start-up. The following options are available during ID mode: Programming Mode 2 • Two different bit rates and modulations • Two possible lengths of the ID code (64 bits or 128 bits) • Two different terminators • A 4-bit preburst followed by terminator 1 between start-up and sending the first data bits of the ID code The e5561 must be programmed before being used in a security system. The e5561 contains a 320-bit EEPROM which is arranged in 10 blocks of 32 bits each. Programming the e5561 is carried out blockwise, i.e., every single block has to be programmed separately. The blocks of the EEPROM are divided into 4 sections: • Configuration • ID code • Crypto key • Customer configuration e5561 4699A–RFID–04/03 e5561 Every section consists of one or more EEPROM blocks. Programming is carried out by sending the programming data sequence to the e5561. When the base station sends data to the transponder, this direction of data transmission will be designated as 'write'. When the base station has sent the data sequence and the specified block has been programmed, the e5561 transmits the content of the programmed EEPROM block. The content is always sent in loop with terminator 1. The beginning of the data stream is indicated by a preburst. During programming, the e5561 monitors several fault and protection mechanisms. If a fault or a protection violation is detected, the e5561 switches to ID mode. Direct-access Mode If the base station transmits a special data sequence to the e5561, it will enter the directaccess mode. The base station can activate two different functions: • Read the content of a single block of the EEPROM In this case, the e5561 transmits the block's content in loop, starting with a preburst followed by the terminator which is also used to indicate the beginning of the transmission of the specified block data. • Reset the e5561 in case of all modes During direct-access mode, the e5561 monitors several fault and protection mechanisms. If a fault or a protection violation is detected, the e5561 switches to ID mode. Crypto Mode In crypto mode, a non-linear high-security encryption algorithm called AUT64 is used to authenticate the e5561. After the base station has identified the e5561 (i.e., read the ID code), the base station may authenticate the transponder by transmitting a challenge. Receiving this data sequence causes the e5561 to switch to crypto mode. This initiates the following actions: • While calculating the AUT64 result, the transponder transmits the checksum of the challenge • The e5561 generates the response from the calculated result of the AUT64 • As soon as the calculation is finished, the e5561 interrupts the transmission of the checksum by sending a terminator • The e5561 transmits the response in loop with a terminator back to the base station The base station can read the response and authentify the transponder. It is possible to interrupt the calculation of the AUT64 result by sending another data sequence (e.g., if the checksum was found to be wrong). During crypto mode, the e5561 monitors several fault and protection mechanisms. If a fault or a protection violation is detected, the e5561 enters ID mode. Stop Mode If two or more transponders are used simultaneously (e.g., in a manufacturing step), it might be useful to be able to set the transponders to a passive state. To avoid a communication conflict, the base station has to transmit a special data sequence to the active transponder(s) forcing them to switch to stop mode. In stop mode, the e5561 switches off the damping as long as the RF field is applied. After a power-on reset or after having received the software-reset command, the e5561 enters start-up and ID mode again. During the data sequence of the stop mode, the e5561 monitors fault mechanisms. If a fault is detected, the e5561 enters ID mode. 3 4699A–RFID–04/03 The stop command can be disabled. Note: Password Function For correct stop-mode operation it is necessary that the field be switched off instantly. The password function is a separate protection mechanism to prevent a base station from reading or manipulating the internal configuration and data blocks of the e5561 without knowing the password. Only a transition to the crypto mode is possible. If the password function is active, the base station must first send the password to enable any other operations. During password mode, the e5561 monitors several fault and protection mechanism. If a fault or a protection violation is detected, the e5561 enters ID mode. Mode Transitions If the e5561 is in ID mode and the base station transmits a write sequence by interrupting the RF field, the internal mode changes according to the received write sequence. If an error has been detected or the password function has been enabled, the e5561 remains in ID mode. A transition to and from all other modes (except the ID mode) is possible by sending the corresponding write sequence. Once the ID mode is left, switching to another mode is only possible by sending an uncorrect data sequence to the transponder. Figure 2. State Diagram of the e5561 (Overview) Reset Start-up ID mode Gap Sequence received Password function Error Direct-access mode Programming mode Crypto mode Transmit data Transmit data Transmit data Stop mode Gap Note: 4 This diagram provides only an overview. In reality, more transitions are possible. e5561 4699A–RFID–04/03 e5561 Building Blocks Figure 3. Block Diagram Modulator Crypto circuit Coil1 Bitrate generator Coil2 CONTROLLER EEPROM Memory Configuration data Transmission EEPROM control Error detection Encryption Crypto key 64- or 128-bit code Test logic VDD Analog Front End (AFE) Controller VSS HV Generator Bit decoder Adapt Analog Front End Conf. register Input register POR Test pads The AFE includes all circuits directly connected to the coil. It generates the IC's power supply and handles the bi-directional data communication with the base station. It consists of the following blocks: • Rectifier to generate a DC supply voltage from the AC coil voltage • Clock extractor • Switchable load between Coil1/Coil2 for data transmission from the IC to the base station (read) • Field gap detector for data transmission from the base station to the IC (write) The controller has the following functions: • Initialize and refresh the EEPROM’s configuration register • Control memory access (read, program) • Handle correct write data transmission • Error detection and error handling • Control encryption operation • Control the adaptation of resonance frequency Power-On Reset (POR) The power-on reset is a delay reset which is triggered when the supply voltage is applied. Configuration Register The configuration register stores the configuration data read out from EEPROM blocks 0 and 9. It is continuously refreshed which increases the reliability of the device (if the initially loaded configuration was wrong or modified, it will be corrected by subsequent refresh cycles). 5 4699A–RFID–04/03 Adapt The e5561 is able to minimize the tolerance of the resonance frequency between the base station and the transponder by switching on-chip capacitors in parallel to the LC circuit of the transponder. By using a coil of approximately 4 mH for a resonance frequency of 125 kHz it is possible to tune the resonance frequency in a range of about 5%. The active value of the adaptation function is carried out automatically every time the e5561 enters the RF field or when the EEPROM is read out. This depends on a control bit. The automatic adaptation stops when the optimized adaptation has been reached. This is between 1.0 ms and 5.0 ms (125 kHz) depending on the capacitance value required. The voltage at Coil 1/Coil 2 after start-up is shown in Figure 8. Adapt Bits: Details In addition to the adapt mode, which is executed during the start-up phase by the IC itself, it is possible to set the adapt bits in the EEPROM manually. Before carrying out the manual setting of the adapt bits, bit A in block 0 must be set to 1 (see Figure 8). The content of these 3 bits, that need to be defined, determines the transponder’s response frequenzy in a limited range. Bits are set by programming block 0 in the microcontroller. Bit-rate Generator The bit-rate generator can deliver bit rates of RF/32 and RF/64 for data transmission from the e5561 to the base station. Bit Decoder The bit decoder forms the signals needed for write operations and decodes the received data bits in the write data stream. Modulator The modulator consists of two data encoders and the terminator generator. There are two kinds of modulation: • • Manchester – Mid-bit rising edge = data H – Mid-bit falling edge = data L Bi-phase – Every bit creates a change, a data 0 creates an additional mid-bit change By using Bi-phase modulation, data transmission always starts with damping on. HV Generator The HV generator is a voltage pump which generates about 18 V for programming the EEPROM. Memory The memory of the e5561 is a 320-bit EEPROM which is arranged in 10 blocks of 32 bits each. All 32 bits of a block are programmed simultaneously. The programming voltage is generated on-chip. Block 0 is reserved for basic configuration data. Blocks 1 to 9 are freely programmable. Blocks 1 to 4 are used for the ID code, blocks 5 to 8 contain the crypto key. In password mode, bits 4 to 31 of block 9 contain the password; bits 0 to 3 of block 9 contain the customer-configuration data. If no password is required, the corresponding bits can be programmed freely. Note: 6 Data from the memory is transmitted serially, starting with the least significant bit. e5561 4699A–RFID–04/03 e5561 The basic configuration data in block 0 contains the following information (see Figure 9): • Type of modulation and bit rate • Length of ID code • Several lock-bits • Terminator set The customer-configuration data in block 9 contains (see Figure 10): • Lock-bit for ID code (blocks 1 and 4/1 to 4) • Lock-bit for crypto key (block 5 to 8) • Lock-bit for block 9 • Password mode enable Figure 4. Types of Modulation DataClk ReadData 0 1 0 1 0 1 0 damping off Bi-phase Manchester damping on start of transmission Figure 5. Memory Map 31 Password 0 3 4 bit conf. Block 9 Crypto key Blocks 5 to 8 ID code Blocks 1 to 4 Configuration data Block 0 32 bits Crypto Circuit The crypto circuit uses the certified AUT64 algorithm to encrypt the challenge which is written to the e5561. The computed result can be read out by the base station. Comparing the encryption results of the base station and the e5561, a high-security authentification procedure is established. This procedure requires the crypto key of the e5561 and the base station to be equal. The crypto key is stored in blocks 5 to 8 of the EEPROM and can be locked by the user to avoid read out or changes. 7 4699A–RFID–04/03 Protection Mechanisms Several protection mechanisms are implemented into the e5561. These are mainly: • Error mechanisms to detect a fault. These mechanisms are always enabled. • Programmable protection mechanisms. These mechanisms are optional. When used, they provide protection against attempts to break the security system. Password Protection If the password protection is enabled, the e5561 remains in ID mode even if it has received a correct write sequence. The only possible operation is to modify the content of block 9 by sending the correct password bits. In all other cases, an error handling procedure is started and the e5561 enters ID mode. Lock-bit Protection A lock-bit is a physical part of the EEPROM's content and is under user control. The lock-bit protection mechanism has two different effects: • Avoid programming (modifying data) of the EEPROM's blocks • Avoid reading out the crypto key from the EEPROM using the direct-access mode If the base station tries to read out the crypto key and the corresponding lock-bit is set, the e5561 will enter ID mode immediately. Once the crypto key lock-bit is set, the crypto key can not be modified or read out any more. There are several lock-bits available, each affecting a special data region of the EEPROM. The main groups of lock-bits are: • Lock-bits to inhibit programming of the specified blocks of the EEPROM • Lock-bits to inhibit programming of the specified blocks of a specific address range In both cases, an attempt to modify a data region protected by a lock-bit will cause an error handling procedure (i.e., the e5561 enters ID mode) Stop Mode The stop mode can also be used as a protection mechanism, e.g., during configuration at manufacturing. The base station can configure the transponders one by one, forcing them into stop mode after programming. In this way, transponders can be programmed even if there are other transponders in the RF field at the same time. Operating the e5561 General The basic functions of the e5561 are: • Supply the IC from the coil • Read data from the EEPROM to the base station • Authenticate the IC • Receive commands from the base station and program the received data into the EEPROM. Several write errors can be detected to protect the memory from being overwritten with uncorrect data. A password function is implemented ensuring that only authorized people can operate the IC. Operating modes: 8 • ID mode: the e5561 sends the ID code to the base station • Programming mode: the e5561 programs the EEPROM with data bits received from the base station • Direct-access mode: the e5561 sends the content of single blocks of the EEPROM to the base station e5561 4699A–RFID–04/03 e5561 • Crypto mode: the e5561 computes a response according to the challenge received from the base station and sends the response to the base station • Stop mode: the e5561 stops modulation An additional password function enables the e5561 to be operated only by a person who knows the password programmed in the EEPROM memory. Supply The e5561 is supplied via a tuned LC circuit which is connected to Coil1 and Coil2 pads. The incoming RF (actually a magnetic field) induces a current into the coil which powers the chip. The on-chip rectifier generates the DC supply voltage (VDD, VSS pads). Overvoltage protection prevents the IC from damage due to high field strengths (depending on the coil, the open-circuit voltage across the LC circuit can reach more than 100 V). The first occurrence of RF triggers a power-on reset pulse, ensuring a defined start-up state. Start-up The various modes of the e5561 are activated after the first read-out of the configuration. The modulation is on during power-on reset and is off while the configuration is read. After this initialization period of 128 + POR time FCs, the e5561 starts the automatic adaptation of the resonance frequency. When the adaptation has been carried out, the e5561 enters ID mode immediately if terminator 2 is selected, otherwise, a data value of Fh in the selected configuration (modulation, bit rate) is sent followed by the optionally specified terminator 1 (see Figure 8). Figure 6. Application Circuit Coil of base station Tuned LC Energy Coil 1 125 kHz e5561 VDD Coil 2 Data VSS Figure 7. Voltage at Coil1/Coil2 after Start-up (e.g., RF/32, Manchester, Terminator 1) Damping off VCoil1-Coil2 Load config. (190 FCs) Automatic adaptation Read Fh Term. 1 Damping on Read data with selected modulation and bit-rate Power-on reset 9 4699A–RFID–04/03 Configuration The configuration data of the e5561 is stored in block 0 of the EEPROM which contains the following information (see Figure 9): • Type of modulation and bit rate • ID code length • Several lock-bits • Selected terminator • Stop mode selection for short/long authentication time • Adaptation of resonance frequency (if auto-adapt is not used) The configuration may be changed by programming block 0. However, this is only possible if the lock-bit L_0 in block 0 has not been set. Figure 8. Configuration Data in Block 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 20 bit Supplier Chip ID (SCID) 9 8 7 6 5 L_0 AUT A S 3 4 2 1 0 1 1 1 adapt bits MOD BR BC T S A Modulation (0 = Manchester, 1 = Bi-phase) Bit-rate (0 = RF/32, 1 = RF/64) Bitcount (0 = 128 bit, 1 = 64 bit) ID Terminator Stop mode (0 = off, 1 = on) Adapt (0 = automatic, 1 = value according to user programmed adapt bit setting) AUT Number of AUT64-times, 0 = 24 times, 1 = 8 times L_0 Lock-bit for block 0 (1 = active) adapt bits Tuning bits T Test only Terminator Terminator No terminator BC BR MOD [1] [0] 0 1 0 1 0 0 1 1 Block 9 contains the customer configuration and the password (if password function is enabled). The customer-configuration data in block 9 includes (see Figure 10): • Lock-bit for ID code (blocks 1 and 4/1 to 4) • Lock-bit for crypro key (block 5 to 8) • Lock-bit for block 9 • Password function enable If the password function has been enabled, bits 4 to 31 represent the password of the e5561. Figure 9. Customer Configuration Data in Block 9 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 28 bit Password PWD L_9 L_K L_ID 10 Password enable ('1' = active) Lockbit for block 9 ('1' = active) Lockbit for blocks 5 to 8 (crypto key) ('1' = active) Lockbit for blocks 1 and 4/1 to 4 (ID code) ('1' = active) L_9 L_ID PWD L_K e5561 4699A–RFID–04/03 e5561 Data Transmission to the Data transmission from the e5561 to the base station is carried out by switching a load between the coil pads on (damping) and off. This changes the current through the IC coil Base Station (Read) which can be detected by the base station. Figure 10. Signals from the Transponder During Reading Coil voltage of the e5560 Coil voltage of the base station ID Mode The ID mode is the default mode after power-up. The ID code is read out of the EEPROM and sent to the base station. Modulation and Bit Rate The different bit rates and modulations of the e5561 can be selected using the appropriate bit in block 0. Available bit rates are RF/32 and RF/64; the e5561 provides Bi-phase and Manchester modulation. Figure 11. Types of Modulation DataClk ReadData 0 1 0 0 1 1 0 Bi-phase Manchester start of transmission 11 4699A–RFID–04/03 Data Streams Reading begins with block 1 (LSB first). Depending on the selected bit count, block 1 is followed by block 2, 3 and 4 (128-bit bit count) or just by block 4 (64-bit bit count). The ID code is transmitted in loop or interrupted by the selected terminator, respectively. To avoid malfunction, the mode register is refreshed continuously with the content of EEPROM blocks 0 and 9 during reading of block 4. The data streams of the ID mode are shown in Figure 12. Figure 12. ID Mode Data Streams 128-bit Bit-count with Terminator block 1 block 2 block 3 block 4 Terminator block 1 block 2 block 3 block 4 Terminator 64-bit Bit-count with Terminator block 1 block 4 Terminator block 1 block 4 Terminator 128-bit Bit-count without Terminator block 1 block 2 block 3 block 4 block 1 block 2 block 3 block 4 64-Bit bit-count without Terminator block 1 Terminators block 4 block 1 block 4 Terminators are a special pattern to mark the beginning and the end of a code. The terminators may be used to synchronize the base station. They can be detected reliably since they are a violation of the modulation scheme. After a terminator is sent, transmission of the first bit of the ID code starts with damping on for a certain detection (if Bi-phase modulation is used). Note: Terminator 2 is only available in ID mode; all other modes make use of terminator 1. Figure 13. Terminators Terminator 1 Terminator [3-bit period] bit period last bit Terminator 2 Terminator if bitrate = RF/64 [416 FCs] bit period last bit 16 64 16 bit period 32 12 first bit 1.5-bit period (damping = off) 16 128 FCs 208 FCs (damping = off) first bit Terminator if bitrate = RF/32 [384 FCs] last bit 16 16 16 128 FCs 176 FCs (damping = off) first bit e5561 4699A–RFID–04/03 e5561 Data Transmission to the Data transmission from the base station to the e5561 is carried out by using Atmel’s write method. It is based on interrupting the RF field with short gaps. The number of field e5561 (Write) clock cycles (FC) of two consecutive gaps encodes the 0/1 bit-information to be transmitted. Start Gap The first gap is the start gap which triggers writing. During writing the damping is permanently enabled which simplifies gap detection. The start gap has to be longer than the subsequent gaps in order to be reliably detected. By default, a start gap will be detected at any time after start-up intialization has been finished (field-on plus approximately 2 ms). Figure 14. Signals to the Transponder During Writing >64 FCs = EOT RF_Field 1 Start Gap 0 1 1 0 Field clock reading Bit Decoder reading writing The duration of the gaps is usually 50 µs to 150 µs. The time between two gaps is nominally 24 field clocks for a 0 and 56 field clocks for a 1. The bit will be interpreted as 0 if there are 16 to 32 field clocks since the last field gap; it will be interpreted as 1 if the number of field clock cycles is in a range of 48 to 64. When there is no gap for more than 64 field clocks, writing is carried out (EOT). If there is a wrong number of field clocks between two gaps – i.e., one or more data sent were not a valid 0 or 1 – the e5561 will detect an error (see section “Error handling”). Figure 15. Bit Decoding Scheme (Number of FCs Between Two Consecutive Gaps) 16 1 32 48 64 Bit decoder fail OPcodes 0 fail 1 EOT The OPcode is defined as the first two bits of a writing sequence. It is used for changing the operational modes of the e5561. There are three valid OPcodes: The programming mode and direct-access mode are entered with the 10 OP code, 01 is used to initiate the authentication of the e5561, and the OPcode '00' disables modulation until a POR occurs. 13 4699A–RFID–04/03 Figure 16. OP Codes Programming mode Direct-access mode 10 1 0 more data... Start gap Crypto mode 01 0 Stop mode 11 1 Programming Mode more data... 1 1 > 64 clocks Programming the EEPROM of the e5561 is carried out blockwise, i.e., every single block has to be programmed separately. The programming-mode write sequence is shown in Figure 17. After OPcode 10, the 32 data bits have to be sent followed by the four address bits specifiying the block to be programmed (each LSB first). The sequence is completed by sending an EOT (end of transmission), i.e., more than 64 field clocks without any gap. Figure 17. Programming Mode Write Sequence OP code 10 0 data bits Data bits block address 31 0 ADR 3 EOT 0 . . . . . .9 When the entire write sequence has been written to the e5561, programming may proceed. There is a 64-clock delay between the end of writing and the start of programming. During this time, the EEPROM's programming voltage VPP is measured and the lock-bit for the block to be programmed is examined. Further, VPP is continually monitored throughout the programming cycle. If VPP is too low, the chip starts error handling. The programming time is 16 ms (including erase) with a field clock frequency of 125 kHz. Figure 18. Programming EOT received Write mode programming ends 16 ms Check VPP 0.512 ms programming starts VPP on Operation 14 write VPP and lock ok? erase EEPROM program EEPROM read e5561 4699A–RFID–04/03 e5561 After programming has been carried out, the e5561 sends an Fh preburst followed by terminator 1. After that, the data just programmed is read out of the EEPROM and sent in loop with terminator 1. This enables the base station to detect a malprogramming by comparing the data transmitted with the data read out after programming. This mode remains until a POR occurs or another gap is detected. Figure 19. Programming Mode Data Stream write sequence program block read Fh Terminator 1 read block Terminator 1 read block Figure 20. Coil Voltage in Programming Mode V Coil1-Coil2 End of programming sequence Direct-access Mode 16 ms programming read Fh Term. read block Term. read block The direct-access mode is typically used to read out the content of a single block of the EEPROM. The write sequence is shown in Figure 21. Following the OPcode 10, the address of the block to be read has to be sent (LSB first). Figure 21. Direct-access Mode Write Sequence 10 0 ADR 3 EOT It is always possible to read the content of block 0 and the four blocks of the ID code. The blocks containing the crypto-key (blocks 5 to 8) can only be accessed when the corresponding lock-bit in block 9 is not set. Therefore, there is no possibility for a nonauthorized person to read out or modify the crypto key if it is locked. Figure 23 shows the direct-access-mode data stream. After the write sequence, an FFh preburst is sent followed by terminator 1. After that, the addressed block and terminator 1 are sent in loop. Figure 22. Direct-access Mode Data stream write sequence read FFh Terminator 1 read block Terminator 1 read block 15 4699A–RFID–04/03 Figure 23. Coil Voltage in Direct-access Mode VCoil1-Coil2 End of direct access sequence Software Reset read FFh Term. read block Term. read block To set up the ICs in a defined state, a software reset command can be executed by sending a pseudo block address Fh. The write sequence is shown in Figure 25. The Reset command is also accepted during stop mode. Figure 24. Software Reset 10 Crypto Mode 1 1 1 1 EOT The crypto mode enables a high-security authentication of the e5561. For this purpose, a certified algorithm called AUT64 is used. The crypto-mode write sequence is shown in Figure 25. After the OPcode 01, the challenge is sent to the e5561 (LSB first). Figure 25. Crypto Mode Write Sequence 01 0 Challenge bits 63 EOT After the write sequence, the AUT64-algorithm is started. The computation of the response takes about 30/10 ms (125 kHz). During this time, a checksum – the number of the challenge bits set to 1 – can be read by the base station. Once the response has been computed, the base station can read the response in loop with the terminator 1. This remains until a POR occurs or another gap is detected. The data stream of the crypto mode is shown in Figure 26. Figure 26. Crypto Mode Datastream write sequence read FFh read 00b checksum Terminator 1 response Terminator 1 During the encryption calculation, the checksum is sent in loop with a special pattern (see Figure 28). The bits of the checksum are sent with LSB first. If the base station detects an error by comparing the checksum, the calculation of the response can be interrupted by sending a new challenge. This will start the authentication procedure again. 16 e5561 4699A–RFID–04/03 e5561 Figure 27. Checksum Data FFh Data 6-bit checksum 0 1 1 1 1 1 1 1 1 0 Data FFh Data 5 0 1 1 1 1 1 1 1 1 0 0 Figure 28. Coil Voltage in Crypto Mode V Response calculated Coil1-Coil2 End of programming sequence read FFh read 00b checksum read FFh Term. response Term. The encryption time is programmable in two options: The entire algorithm AUT64 is executed 8 or 24 times. This feature can be set at block 0, bit 7. Stop Mode If several transponders enter the RF field of the base station one after the other (e.g., in a manufactoring step), it might be useful to be able to set the transponder in a passive state. In this case, the transponder may be collected one by one and disabled after being read out. To avoid a communication conflict, the base station has to transmit a special data sequence to the active transponder(s) forcing them to enter the stop mode. During stop mode, the e5561 switches off the damping as long as the RF field is applied. After a power-on reset, the e5561 enters the start-up and the ID mode again. An other possibility to exit the stop mode is to send the software reset (see Figure 30). This command results in a new initialization of the IC. Figure 29. Stop Mode Data Sequence 11 EOT Figure 30. Write Sequence to Disable Password Function 10 XXXX 4 Password 31 1 0 0 1 EOT X = do not care (both 0 or 1 acceptable) Password Function The password function is a separate protection mechanism to prevent that a base station from reading or manipulating the internal configuration and data blocks of the e5561 without knowing the password. The password function may be used to prevent unauthorized programming or reading via direct-access mode. If the password bit in block 9 of the EEPROM is set, only certain operations are posible, i.e., reading the ID code in ID mode or authentication. 17 4699A–RFID–04/03 For programming or direct-access mode, the password function has to be disabled by receiving the password. If this function is enabled, the customer configuration can only be changed by an authorized person using the correct password of the e5561. During password mode, the e5561 monitors several fault and protection mechanism. If a fault or a protection violation is detected, the e5561 enters ID mode. Error Handling Several error conditions can be detected to ensure that only valid operations affect the e5561. Errors while Writing Data There are four detectable errors possible during writing data to the e5561: • Field gap was not detected • Wrong number of field clocks between two gaps, e.g., 37 FCs • The OPcode is not valid (11) • The number of bits received is incorrect; valid bit counts are: – programming mode: 38 bits – direct-access mode: 6 bits – crypto mode: 66 bits – stop mode: 2 bits If any of these four conditions is detected, the e5561 stops writing and enters ID mode. This can easily be analyzed using the damping which is usually on during writing. It changes according to the selected modulation scheme in ID mode. Errors During Programming Mode If the writing sequence has been transmitted successfully, there are three errors that may prevent the e5561 from programming the data to the EEPROM: • The programming voltage VPP is too low, i.e., the field strength is not high enough • The lock-bit of the adressed block is set • The password function is enabled In these cases, the procedure stops immediately after the error has been detected and the IC reverts to ID mode. Errors During Direct-access Mode In addition to the possible errors mentioned before, two errors may occur in directaccess mode: • The lock-bit of the addressed block 5 to 8 is set • The password function is enabled In these cases, the IC enters ID mode after the end of the writing sequence. Errors During Crypto Mode In crypto mode, ONE error mechanism is active, that may prevent the e5561 from sending the correct response: • Error during the crypto writing sequence The e5561 will enter ID mode immediately if an error in the writing sequence is detected. If the password function is enabled, the e5561 enters ID mode after having completed the writing sequence. 18 e5561 4699A–RFID–04/03 e5561 Error Handling During Password Mode If password function is enabled and the password transmitted does not match the programmed password, the full programming sequence is performed but without programming block 9. This makes it more difficult to find out the correct password by trial and error because in each case the result of the operation can only be recognized after the whole sequence has been processed. This increases the time needed to check a certain number of combinations. Figure 31. Simplified Error Handling of the e5561 Power-on reset Start-up Send ID code Receive OPcode fail ok Receive data fail EOT Password function Password ok or disabled Number of bits fail fail Error handling ok Lock-bit fail ok VPP fail ok fail Program 19 4699A–RFID–04/03 Authentication Especially for applications with high-security demands such as immobilizer systems, the e5561 contains an optimized authentication procedure with the following advantages: • Secure and fast authentication (< 100 ms) • Application-optimized high-security algorithm • Customer-specific generation of unique keys Therefore, a high-security data transmission and encryption as well as a short authentication time is achieved. For further information, some additional documentation and programs are available: • The encryption process of the e5561 • Key generating program • Algorithm program Figure 32. Authentication Procedure Base station e5561 Generate RF field Receive the ID code and select the crypto key ID code Transmit ID code Challenge Receive the datastream Generation of random number R Calculation of the challenge R' (encrypted random number R) Transmit the challenge Decryption of R' to R Receive the checksum Checksum in loop Transmit the checksum AUT64 with R as input value AUT64 with R as input value Calculate the valid response Calculation of the response Interrupt transmission of checksum Receive the response generated by the e5561 Response in loop Transmit response Authenticate by comparing the responses of e5561 to its own result 20 e5561 4699A–RFID–04/03 e5561 Initialization Before using the e5561 in crypto mode, it has to be initialized. First, the crypto key to be used by the crypto algorithm has to be generated by the keygenerating program. This program guarantees that each crypto key is unique, no other e5561 has the same key. This key has to be stored in the memory (block 5 - block 8) of the e5561 via the programming mode. Once the crypto key is locked, it can not be overwritten or read out anymore with direct-access mode. For correct authentication it is necessary that base station and transponder both use the same key. Therefore, the base station needs to know which transponder is currently in the field. Only then, the base station can select the key corresponding to this particular transponder. For this identification the e5561 sends a string of data after it has been powered up. This ID code must also be stored in the e5561. Starting the Authentication After power-up the various modes (bit rate, encoding) are read out of block 0. Then, the e5561 transmits the ID code to identify itself. Thereby, the base station can identify the transponder and knows which crypto key to use. The base station forces the e5561 into crypto mode by sending the OPcode 01 followed by a 64-bit string, the challenge. Challenge The base station generates a 64-bit random number R. This number is the starting value of the actual encryption algorithm. To improve security, this random number is not sent directly to the transponder, but is encrypted by means of a part of the crypto key. The encoded result R' is then transmitted as challenge to the transponder. Once the transponder has received the encoded random number R', it recovers the random number R originally generated by the base station. Both devices, the base station as well as the transponder, then start with the encryption of this number. If the number of received bits is incorrect, the e5561 leaves the crypto mode and enters read mode immediatly, transmitting the ID code. Checksum For verification of the received challenge, the e5561 sends a checksum (representing the number of 1 of the challenge) with a special pattern in loop until the encryption is finished (less than 10 ms - optionally 30 ms). Encryption For encryption, the optimized high-security algorithm AUT64 is used. The elementary parts of this 64-bit block cipher are transposition and substitution (Figure 34). For more detailed information on this algorithm additional documentation is provided. The entire algorithm AUT64 is executed 24 times. At each of these 8/24 times, another key is generated out of the crypto key. Therefore, the algorithm keeps changing and a highsecurity level is achieved. This is confirmed by statistical analysis. For more detailed information, the description 'The Encryption Process of the e5561' can be provided. Response The 64-bit result of the algorithm is reduced to 32 bits using logical operations. This 32bit response is sent back to the base station for comparison. If the correct keys were used, the result generated inside the base station is identical to the result sent by the e5561. The response is transmitted in loop including the terminator until the IC is powered by the RF field. This gives the base station enough time to check the validation of the response. 21 4699A–RFID–04/03 Figure 33. Atmels' Crypto Algorithm AUT64 a0 a1 a2 a3 a4 a5 a6 a7 a6 a7 Input of AUT64 in round n Byte permutation s a0 a1 a2 a3 a4 a5 Function f Substitution t Bit permutation s Substitution t a0 22 a1 a2 a3 a4 a5 a6 a7 Input of AUT64 in round n+1 e5561 4699A–RFID–04/03 e5561 Figure 34. Authentication Example Power-on reset 5 ms Read ID code 20 ms Start-up ID mode (if 64 bit ID used, <10 ms possible) Send challenge 30 ms ID mode Challenge Checksum and Encrypt ENCRYPTION (AUT64) and Checksum Response < 10 ms (8 times of AUT64) 30 ms option (24 times of AUT64) 10 ms Checksum and Encrypt Response t < 65 ms (8 times of AUT64 and reduced ID used) t < 75 ms (8 times of AUT64) t < 95 ms (24 times AUT64) 23 4699A–RFID–04/03 Absolute Maximum Ratings All voltage are given corresponding to VSS. Parameters Symbol Value Unit Supply voltage VDD -0.3 to +7.0 V Input voltage VIN VSS -0.3 £ VIN £ VDD +0.3 V IC1/C2 10 mA Power dissipation (dice) Ptot 100 mW Current into Coil1/Coil2 (1) Operating temperature range Tamb -40 to +85 °C Storage temperature range(2) Tstg -40 to +125 °C Assembly temperature (t £ 5 min) Tass 170 °C Notes: 1. Free-air condition. Time of application: 1 s. 2. Data retention reduced. Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the device. Operating Range Tamb = 25°C; reference terminal is VSS; DC operating voltage VDD - VSS = 2 V (unless otherwise noted). Parameters Test Conditions RF frequency range Supply current Clamp voltage Typ. Max. Unit 100 125 150 kHz IDD 15 µA fRF = 125 kHz, programming IDD 100 µA No clock IDD 100 250 500 nA Current into Coil1/Coil2 = 5 mA Vcl 7.5 9.0 10.2 V C1,2 Programming voltage Data retention Min. fRF fRF = 125 kHz, read and write Equivalent coil input capacitance (without self-adapt) Programming time Symbol VPP fRF = 125 kHz 30 15 tPP 16 16 pF 19 V ms tretention 10 Years Programming cycles ncycle 100,000 – Lowest operating voltage for programming Vmfs 1.8 V 24 e5561 4699A–RFID–04/03 e5561 Figure 35. Application Example from oscillator 125 kHz 4.2 mH 4.2 mH 386 pF Energy Coil 1 e5561 Coil 2 Data to base station fres = 386 pF 1 2p LC = 125 kHz Ordering Information Extended Type Number Package e5561A-DOW Remarks DOW – Pads Note: Name Pad Window Function Coil1 136 ´ 136 m 1st coil pad Coil2 136 ´ 136 m 2nd coil pad VDD 78 ´ 78 m2 Positive supply voltage VSS 82 ´ 82 m Negative supply voltage (GND) 2 2 2 For normal (coil-driven) operation, the e5561 needs only Coil1 and Coil2. Chip Dimensions Test pads e5561 Coil2 VDD 1600 mm Coil1 VSS 4930 mm 25 4699A–RFID–04/03 Atmel Headquarters Atmel Operations Corporate Headquarters Memory 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 487-2600 Europe Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 Fribourg Switzerland TEL (41) 26-426-5555 FAX (41) 26-426-5500 Asia Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) 2721-9778 FAX (852) 2722-1369 Japan 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 Microcontrollers 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 La Chantrerie BP 70602 44306 Nantes Cedex 3, France TEL (33) 2-40-18-18-18 FAX (33) 2-40-18-19-60 ASIC/ASSP/Smart Cards Zone Industrielle 13106 Rousset Cedex, France TEL (33) 4-42-53-60-00 FAX (33) 4-42-53-60-01 RF/Automotive Theresienstrasse 2 Postfach 3535 74025 Heilbronn, Germany TEL (49) 71-31-67-0 FAX (49) 71-31-67-2340 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex, France TEL (33) 4-76-58-30-00 FAX (33) 4-76-58-34-80 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Scotland TEL (44) 1355-803-000 FAX (44) 1355-242-743 e-mail [email protected] Web Site http://www.atmel.com © Atmel Corporation 2003. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company’s standard warranty which is detailed in Atmel’s Terms and Conditions located on the Company’s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel’s products are not authorized for use as critical components in life support devices or systems. Atmel ® is the registered trademark of Atmel. IDIC Ò stands for IDentification Integrated Circuit and is a registered trademark of Atmel Germany GmbH. Other terms and product names may be the trademarks of others. Printed on recycled paper. 4699A–RFID–04/03 xM