|
|
Part: HCS300-ISN
Category: Communication -> Network -> Encoder/Decoder/Encryption/Decryption
Description: Kee Loq Code Hopping Encoder
Company: Microchip Technology, Inc.
Datasheet: Download HCS300-ISN datasheet File size : 154 kB
Request For quote: Find where to buy HCS300-ISN
Datasheet text preview:
HCS300
Code Hopping Encoder*
FEATURES
Security
· · · · · · Programmable 28-bit serial number Programmable 64-bit encryption key Each transmission is unique 66-bit transmission code length 32-bit hopping code 34-bit fixed code (28-bit serial number, 4-bit button code, 2-bit status) · Encryption keys are read protected
PACKAGE TYPES
PDIP, SOIC S0 S1 S2 S3 1 H C S 300 2 3 4 8 7 6 5 VDD LED PWM VSS
Operating
· 2.0--6.3V operation · Four button inputs - No additional circuitry required - 15 functions available · Selectable baud rate · Automatic code word completion · Battery low signal transmitted to receiver · Non-volatile synchronization data
HCS300 BLOCK DIAGRAM
Oscillator Reset circuit LED LED driver Controller Power latching and switching
EEPROM
Other
· · · · · · · Easy to use programming interface On-chip EEPROM On-chip oscillator and timing components Button inputs have internal pulldown resistors Current limiting on LED output Minimum component count Synchronous transmission mode
PWM 32-bit shift register
Encoder
VSS VDD
Button input port
Typical Applications
The HCS300 is ideal for Remote Keyless Entry (RKE) applications. These applications include: · · · · · · Automotive RKE systems Automotive alarm systems Automotive immobilizers Gate and garage door openers Identity tokens Burglar alarm systems
S3 S2
S1 S0
The HCS300 combines a 32-bit hopping code generated by a non-linear encryption algorithm, with a 28-bit serial number and six status bits to create a 66-bit transmission stream. The length of the transmission eliminates the threat of code scanning and the code hopping mechanism makes each transmission unique, thus rendering code capture and resend (code grabbing) schemes useless. The encryption key, serial number, and configuration data are stored in EEPROM which is not accessible via any external connection. This makes the HCS300 a very secure unit. The HCS300 provides an easy to use serial interface for programming the necessary security keys, system parameters, and configuration data. The encyrption keys and code combinations are programmable but read-protected. The keys can only be verified after an automatic erase and programming operation. This protects against attempts to gain access to keys and manipulate synchronization values.
DESCRIPTION
The HCS300, from Microchip Technology Inc., is a code hopping encoder designed for secure Remote Keyless Entry (RKE) systems. The HCS300 utilizes the KEELOQ code hopping technology, which incorporates high security, a small package outline and low cost, to make this device a perfect solution for unidirectional remote keyless entry systems and access control systems.
KeeLoq is a trademark of Microchip Technology Inc. *Code hopping encoder patents allowed and pending.
© 1996 Microchip Technology Inc.
Preliminary
This document was created with FrameMaker 4 0 4
DS21137D-page 1
HCS300
The HCS300 operates over a wide voltage range of 2.0V to 6.3V and has four button inputs in an 8-pin configuration. This allows the system designer the freedom to utilize up to 15 functions. The only components required for device operation are the buttons and RF circuitry, allowing a very low system cost. such systems. The encoder portion of a keyless entry system is meant to be held by the user and operated to gain access to a vehicle or restricted area. The HCS300 requires very few external components (Figure 2-1). Most keyless entry systems transmit the same code from a transmitter every time a button is pushed. The relative number of code combinations for a low end system is also a relatively small number. These shor tcomings provide the means for a sophisticated thief to create a device that `grabs' a transmission and re-transmits it later or a device that scans all possible combinations until the correct one is found. The HCS300 employs the KEELOQ code hopping technology and an encryption algorithm to achieve a high level of security. Code hopping is a method by which the code transmitted from the transmitter to the receiver is different every time a button is pushed. This method, coupled with a transmission length of 66 bits, virtually eliminates the use of code `grabbing' or code `scanning'. As indicated in the block diagram on page one, the HCS300 has a small EEPROM array which must be loaded with several parameters before use. The most impor tant of these values are: · A 28-bit serial number which is meant to be unique for every encoder · An encryption key that is generated at the time of production · A 16-bit synchronization value The serial number for each transmitter is programmed by the manufacturer at the time of production. The generation of the encryption key is done using a key generation algorithm (Figure 1-1). Typically, inputs to the key generation algorithm are the serial number of the transmitter and a 64-bit manufacturer's code. The manufacturer's code is chosen by the system manufacturer and must be carefully controlled. The manufacturer's code is a pivotal part of the overall system security.
1.0
SYSTEM OVERVIEW
Key Terms
· Manufacturer's code - a 64-bit word, unique to each manufacturer, used to produce a unique encryption key in each transmitter (encoder). · Encryption Key - a unique 64-bit key generated and programmed into the encoder during the manufacturing process. The encryption key controls the encryption algorithm and is stored in EEPROM on the encoder device.
1.1
Learn
The HCS product family facilitates several learn strategies to be implemented on the decoder. The following are examples of what can be done. It must be pointed out that their exists some third-party patents on learning strategies and implementation. 1.1.1 NORMAL LEARN
The receiver uses the same information that is transmitted during normal operation to derive the transmitter's secret key, decrypt the discrimination value and the synchronization counter. 1.1.2 SECURE LEARN*
The transmitter is activated through a special button combination to transmit a stored 48-bit value (random seed) that can be used for key generation or be part of the key. Transmission of the random seed can be disabled after learning is completed. The HCS300 is a code hopping encoder device that is designed specifically for keyless entry systems, primarily for vehicles and home garage door openers. It is meant to be a cost-effective, yet secure solution to
FIGURE 1-1:
CREATION AND STORAGE OF ENCRYPTION KEY DURING PRODUCTION
Transmitter Serial Number or Seed HCS300 EEPROM Array
Serial Number Encr yption Key Sync Counter
Manufacturer's Code
Key Generation Algorithm
Encryption Key
. . .
DS21137D-page 2
Preliminary
© 1996 Microchip Technology Inc.
HCS300
The 16-bit synchronization value is the basis for the transmitted code changing for each transmission, and is updated each time a button is pressed. Because of the complexity of the code hopping encryption algorithm, a change in one bit of the synchronization value will result in a large change in the actual transmitted code. There is a relationship (Figure 1-2) between the key values in EEPROM and how they are used in the encoder. Once the encoder detects that a button has been pressed, the encoder reads the button and updates the synchronization counter. The synchronization value is then combined with the encryption key in the encryption algorithm and the output is 32 bits of encrypted information. This data will change with every button press, hence, it is referred to as the hopping por tion of the code word. The 32-bit hopping code is combined with the button information and the serial number to form the code word transmitted to the receiver. The code word format is explained in detail in Section 4.2. Any type of controller may be used as a receiver, but it is typically a microcontroller with compatible firmware that allows the receiver to operate in conjunction with a transmitter, based on the HCS300. Section 7.0 provides more detail on integrating the HCS300 into a total system. Before a transmitter can be used with a particular receiver, the transmitter must be `learned' by the receiver. Upon learning a transmitter, information is stored by the receiver so that it may track the transmitter, including the serial number of the transmitter, the current synchronization value for that transmitter and the same encryption key that is used on the transmitter. If a receiver receives a message of valid format, the serial number is checked and, if it is from a learned transmitter, the message is decrypted and the decrypted synchronization counter is checked against what is stored. If the synchronization value is verified, then the button status is checked to see what operation is needed. Figure 1-3 shows the relationship between some of the values stored by the receiver and the values received from the transmitter.
FIGURE 1-2:
BASIC OPERATION OF TRANSMITTER (ENCODER)
Transmitted Information KEELOQ Encr yption Algorithm 32 Bits of Encrypted Data Button Press Information
Serial Number
EEPROM Array Encryption Key Sync Counter Serial Number
FIGURE 1-3:
BASIC OPERATION OF RECEIVER (DECODER)
Check for Match EEPROM Array Encr yption Key Sync Counter Serial Number Manufacturer Code Check for Match KEELOQ Decryption Algorithm Decrypted Synchronization Counter
Button Press Information
Serial Number
32 Bits of Encrypted Data
Received Information
© 1996 Microchip Technology Inc.
Preliminary
DS21137D-page 3
Others parts begin by hc
HC-1 HC-2 HC-3 HC-4 HC-5 HC-6 HC-7 HC-8 HC-9 HC-10 HC-11 HC-12 HC-13 HC-14 HC-15 HC-16
|
|
|