TM TEAleaf-USB USB Authentication Key for Software Licensing and Revenue Protection Summary TEAleaf-USB is a low cost authentication system which may be used to verify that a software product is not an unauthorized pirate copy. The host PC uses a simple Figure 1b (Shown actual size) BOM & Gerber blueprints but robust algorithm to verify that a TEAleaf-USB device available for off-the-shelf is present, using a 128-bit encryption key. manufacture. Complete units also available. A complete set of BOM and Gerber blueprints is available off-the-shelf manufacture of ultra low cost Table 1. Device Pinout TEAleaf-USB hardware security keys. DIL SSOP Name Description TEAleaf-USB uses the Human Interface Device (HID) 20 1 Vdd Power positive input USB profile. It does not require USB drivers and is 9 2 OSC1 Oscillator output immediately plug-and-play compatible with present and 10 3 OSC2 Oscillator input future Windows, Linux and Mac operating systems. 1 4 RST Reset input (active low) Vpp TEAclipper Vpp TEAleaf-USB is available in 28-pin DIL and 20-pin 5 5 VIO1 Software configured virtual I/O SSOP packages. They require only a few discrete 6 6 ASG All-Systems-Go output components. 7 7 TxInd Tx Indication output 23 8 RxInd Rx Indication output Applications 24 9 TxRxInd Tx/Rx Indication output 18 10 Auth Authentication Success output Computer software copy protection and licensing 11 11 LoPwr Low Power Indication output Pay-per-use hardware protection 12 13 VIO7 Software configured virtual I/O 13 14 VIO8 Software configured virtual I/O Random number generation 22 15 VIO9 Software configured virtual I/O 21 16 VIO10 Software configured virtual I/O Security 14 17 Vusb USB supply filter 15 D- USB data - Extended Tiny Encryption Algorithm (xTEA) 18 27 PGC TEAclipper PGC 128 bit security key 16 D+ USB data+ 19 28 PGD TEAclipper PGD Uncrackable random-hashed USB 8,19 20 Vss Power ground reference communications during authentication Active low Quantum limited true random number generator Unassigned pins should be grounded SOIC packages have same pinout as DIL Features Firmware Factory USB Product Family True USB 2.0 HID plug and play - No drivers required USB-232 asynchronous serial interface Ultra low cost single chip solution TEAleaf-USB security and authentication dongle Low speed USB, can use a low cost resonator expandIO-USB I/O expander Security key, product name, manufacturer name, USB-SPI synchronous serial interface serial number, GUID configurable from USB USB-I2C synchronous serial interface interface, minimizing development costs USB-TakeOff managed power take-off, wakeup, No Vendor ID / Product ID registration required standby and charge controller Authentication success indication USB-DAQ data logger All-Systems-Go indication USB-Config configuration and diagnostic module Tx / Rx indication WattLogic electricity consumption monitor Low power indication AnniLogic anniversary reminder module 5 digital, analog, interrupt virtual I/O 122-byte EEPROM Electrical Specifications Table 2. Electrical Specifications Firmware Factory Ltd Operating voltage, 18F2450 4.2V 5.5V* rd 2 Marshall St, 3 Floor Operating voltage, 18F14K50 3.3V 5.5V* London W1F 9BB, UK Typical/max supply current, Vdd = 5.0 10mA / 21mA sales firmwarefactory.com Operating Temperature -40C to +85C support firmwarefactory.com p1 of 8 26-Aug-10 TEAleaf-USB HW146-8 www.firmwarefactory.comAuthentication Success Indication Basic Operation Auth outputs high if the last command / response To the PC (host), TEAleaf-USB looks like a Human exchange was successful, or low otherwise. This may Interface Device (HID) with which it may exchange be used in pay-per-use hardware applications. information using simple commands. The commands can be used to authenticate the presence of the VIO Pins TEAleaf-USB chip, and to provide auxiliary functions. The VIO pin functions can be controlled using the Set Dedicated Pin Functions Pin command. On power-up, they are digital inputs. The available functions are given below. The pin functions are shown in table 1 and are described in detail below. Note that the output pins are Digital Input in a tri-state condition until ~20s after power-on. Digital Input is a general purpose input. Its state can be Vss, Vdd, Vusb read using the Get Pin command. This setting is available on any VIO pin. Vss is the power supply ground reference. Vdd should be connected to a regulated supply, for example the Digital Output USB bus power. Vusb should be connected, via a Digital Output is a general purpose output. Its state can 470nF capacitor, to Vss. See for example C8 in figure 2. be set using the Set Pin command and read using the OSC1, OSC2 Get Pin command. On power-up and reset, it will initialize to the inactive state. This setting is available on OSC1 and OSC2 should be connected to a 12MHz any VIO pin except VIO0. parallel cut crystal circuit with 22pF capacitors. It may be replaced with a 12MHz resonator with 1.5% total Interrupt tolerance, e.g. Murata CSTCE12M0G55-R0. Interrupt is an input whose state can be read using the Vpp, PGC, PCD Get Pin command. When it transitions from the inactive state to the active state, it will generate am Interrupt TEAclipper programming pins. Refer to the Delivery response. Interrupts must be on VIO9 or VIO10. If this and Programming section for details. Note that the Vpp pin is connected to a switch it should be de-bounced to pin may be subject to voltages as high as 12V during avoid generating multiple Interrupt responses. programming. Analog Input Reset Analog Input is an analog input whose voltage can be The pin is an active low reset input. It should be read using the Get Analog command. This setting is connected via a 22k resistor to Vdd. available on VIO1 only on 28-pin devices and VIO10 All-Systems-Go Indication only on 20-pin devices. Active low output that indicates when the TEAleaf-USB Device Fuses is configured and not suspended, and so up power may be drawn from the bus if required. If it is low, up to Fuses are non-volatile settings you may select to 500mA may be drawn if the Low Power output is low, or customize your device. For information on how to 100mA if the Low Power output is high. If it is high, no modify them, refer to the device configuration section. more than 100A may be drawn. Write Lock Tx Indication Once the write lock bit is set, all commands that change Output for connecting to a transmit indication LED. It the device strings and fuses will have no effect. Unless outputs high for approximately 100ms when data has otherwise configured, the default is unlocked. been transmitted to the host. Max Bus Power Rx Indication You can use draw power from the USB port if required. Output for connecting to a receive indication LED. It The maximum power required by your product is outputs high for approximately 100ms when data has specified by the Max Bus Power fuse. It allows the host been received from the host. to balance its power budget, and is subject to certain limitations: Tx / Rx Indication 1. No device may consume more than its Max Bus Output for connecting to a transmit / receive indication Power specification at any time, and never more LED. It outputs high for approximately 100ms when than 500mA. data has been transmitted to or received from the host. 2. No device may consume more than 100mA unless Low Power Indication the Low Power output pin indicates it permitted to Output which is high when the device must draw no do so. more than 100mA from the bus, rather than the 3. If the or the All-Systems-Go output goes low, the maximum power it has been configured for. host is in sleep mode and the product may draw no p2 of 8 26-Aug-10 TEAleaf-USB HW146-8 www.firmwarefactory.com