SLS32AIA010MH INFINEON | Alldatasheet
Document overview
- Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
- PDF pages: 39
Technical content
Datasheet Please read the Important Notice and Warnings at the end of this document Revision 1.72 www.infineon.com 1 2019-09-18 SLS 32AIA010MH/S OPTIGA™ Trust M Product Version: V1 Key Features High-end security controller Common Criteria Certified EAL6+ (high) hardware Turnkey solution Up to 10kB user memory PG-USON-10-2,-4 package (3 x 3 mm) Standard & Extended temperature ranges I2C interface with Shielded Connection (encrypted communication) Cryptographic support: ECC NIST P256/P384, SHA-256, TRNG, DRNG, RSA® 1024/2048 OPTIGA™ Trust M Software Framework on Github (https://github.com/Infineon/optiga-trust-m) Crypto ToolBox commands for SHA-256, ECC NIST P256/P384 (sign, verify, key generation, and ECDH(E)), RSA® 1024/2048 (sign, verify, key generation, encrypt and decrypt) and key derivation (TLS v1.2 PRF) Device Security Monitor 4 Monotonic up counters Protected (integrity) update of data objects Hibernate for zero power consumption1 Lifetime for Industrial Automation and Infrastructure is 20 years and 15 years for other Application Profiles Benefits Protection of IP and data Protection of business case Protection of corporate image Safeguarding of quality and safety
Applications
Industrial control and building automation Consumer electronics Smart Home Drones About this document Scope and purpose This Datasheet provides information to enable integration of a security device, and includes package, connectivity and technical data. 1 Leakage current < 2.5µA only
Datasheet 2 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Table of Contents Intended audience This Datasheet is intended for device integrators and board manufacturers. Table of Contents
Datasheet 3 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Table of Contents e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
Datasheet 4 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Introduction e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
1 Introduction
As embedded systems (e.g. IoT devices) are increasingly gaining the attention of attackers, Infineon offers the OPTIGA™ Trust M as a turnkey security solution for industrial automation systems, smart homes, consumer devices and medical devices. This high -end security controller comes with full system integration support for easy and cost-effective deployment of high-end security for your assets.
1.1 Broad range of benefits
Integrated into your device, the OPTIGA™ Trust M supports protection of your brand and business case, differentiates your product from your competitors, and adds value to your product, making it stronger against cyberattacks.
1.2 Enhanced security
The OPTIGA™ Trust M is based on an advanced security controller with built-in tamper proof NVM for secure storage and Symmetric/Asymmetric crypto engines to support ECC 256/384, RSA® 1024/2048 and SHA-256. This new security technology greatly enhances your overall system security.
1.3 Fast and easy integration
The turnkey setup – with full system integration and all key/certificate material preprogrammed – reduces your efforts for design, integration a nd deployment to a minimum. As a turnkey solution, the OPTIGA™ Trust M comes with preprogrammed OS/Application code locked and with host-side modules to integrate with host micro controller software. The temperature r ange of − 40°C to + 105°C combined with a standardized I2C interface and the small PG-USON-10-2,-4 footprint will facilitate onboarding in your existing ecosystem. Almost 30 years in a market -leading position with nearly 20 billion security controllers ship ped worldwide are the results of Infineon's strong expertise and its commitment to make security a success factor for you.
1.4 Applications
The OPTIGA™ Trust M covers a broad range of use cases necessary for many types of applications that include the following: a) Network node protection using Mutual Authentication such as TLS or DTLS b) Protect the Authenticity, Integrity and Confidentiality of your product, data and IP c) Secure Communication d) Datastore Protection e) Lifecycle Management f) Platform Integrity Protection g) Secure Updates
1.5 Device Features
The OPTIGA™ Trust M comes with up to 10kB user memory that can be used to store X.509 certificates and data. OPTIGA™ Trust M is based on Common Criteria (CC) Certified EAL6+ (high) hardware enabling it to prevent physical attacks on the device itself and providing high assurance that the keys or arbitrary data stored cannot be accessed by an unauthorized entit y. The CC certificate can be found at www.bsi.bund.de by searching for BSI-DSZ-CC-0961(Hardware Identifier IFX_CCI_00000Bh ). OPTIGA™ Trust M supports a highspeed I2C communication interface of up to 1MHz (FM+).
Datasheet 5 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Introduction e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Table 1 Products Type Description Temperature range Package OPTIGA™ Trust M SLS 32AIA010MH Embedded security solution for connected devices −40°C to +105°C Extended Temperature Range (ETR) PG-USON-10-2, OPTIGA™ Trust M SLS 32AIA010MS Embedded security solution for connected devices −25°C to +85°C Standard Temperature Range (STR) PG-USON-10-2, Evaluation Kit Includes a host micro controller XMC4800 IoT Connectivity Kit connected to the OPTIGA™ Trust M to connect to the outside world, enabling you to evaluate the OPTIGA™ Trust M features and sta rt the Design -In activities. Board Infineon and its distribution partners offer a wide range of customization options (e.g. X.509 certificate generation and key provisioning) for the security chip. Table 2 Abbreviations Abbreviation Definition AES Advanced Encryption Standard CA Certification Authority CC Common Criteria DRNG Deterministic Random Number Generator DTLS Datagram Transport Layer Security EAL Evaluation Assurance Level ECC Elliptic Curve Cryptography ECDH Elliptic Curve Diffie Hellman ECDSA Elliptic Curve Digital Signature Algorithm ETR Extended Temperature Range I2C Inter-Integrated Circuit IETF Internet Engineering Task Force IFX Infineon IOT Internet of Things IP Intellectual Property NIST National Institute of Standards and Technology OS Operating System PAL Platform Abstraction Layer PKI Public Key Infrastructure RFC Request For Comments SHA Secure Hash Algorithm SKU Stock Keeping Unit STR Standard Temperature Range
Datasheet 6 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Introduction e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Abbreviation Definition TLS Transport Layer Security TRNG True Random Number Generator USB Universal Synchronous Bus
Datasheet 7 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 System Block Diagram e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
2 System Block Diagram
The following figure depicts the system block diagram for OPTIGA™ Trust M. Infineon source code User implemented Preloaded by Infineon Could be preloaded Application Arbitrary Data Objects (4.5 kB) X.509 certificates (4 slots) Trust Anchors (3 slots) Crypto Functions ECC keys (4 slots) RSA keys (2 slots) CRYPT UTIL CMD COMMS OPTIGA™ Trust MLocal Host OPTIGA™ Trust M Host Library Platform Abstraction Layer (PAL) I2C interface Shielded Connection Monotonic Counters (4) Figure 1 System Block Diagram The System Block Diagram is explained below for each layer. 1. Local Host o Local Host Application – This is the target application which utilizes OPTIGA™ Trust M for its security needs o OPTIGA™ Trust M Host Library CRYPT – Provides APIs to perform cryptographic functionalities . Any TLS stack can be integrated on Local Host as part of 3 rd party Crypto Library to offload crypto operations to OPTIGA™ Trust M. UTIL – Provides APIs such as read/write, protected update of data objects and open/close application (e.g. Hibernate) CMD – Provides APIs to send and receive commands (Section 7) to and from OPTIGA™ Trust M COMMS – Provides wrapper APIs for communication (optional encrypted communication using Shielded Connection) with OPTIGA™ Trust M which internally uses Infineon I2C Protocol (IFX I2C) o PAL – A layer that abstracts platform specific drivers (e.g. I2C, Timer, GPIO, platform c rypto library etc.) 2. OPTIGA™ Trust M o Arbitrary Data Objects – The target application can store up to 4.5kB (~4600 bytes) of data into OPTIGA™ Trust M. The data could be additional Trust Anchors, certificates and shared secret. o Monotonic Counters - Provides 4 monotonic counting data objects (up counters). These can be used as general purpose counter or as linked counter to other objects. For more information, please refer to Solution Reference Manual document available as part of the package.
Datasheet 8 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 System Block Diagram e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 o X.509 – Up to 4 X.509 based Certificates can be stored o Keys – Up to 4 ECC and 2 RSA based keys can be stored o Trust Anchor s – 3 slots, for Mutual Authentication (TLS/DTLS) and Firmware Updates can be stored o Crypto Functions - OPTIGA™ Trust M provides cryptographic functions that can be invoked via local host Note: Unique ECC/RSA private keys and X.509 Certificates – During production at Infineon fab, unique asymmetric keys (private and public) are generated. The public key is signed by customer specific CA and the resulting X.509 certificate issued is securely stored in the OPTIGA™ Trust M. Special measures are taken to prevent the leakage and modification of private key material at the Common Criteria Certified production site
Datasheet 9 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Interface and Schematics e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
3 Interface and Schematics
This section explains the schematics of the product and gives some recommendations as to how the controller should be externally connected.
3.1 System Integration Schematics
The following figure illustrates how to integrate OPTIGA™ Trust M with your local host. Figure 2 System Integration Schematic Diagram Note: Value of the pullup resistors depend on the target application circuit and the targeted I2C frequency.
3.2 System Integration Schematics with Hibernation support
The following figure illustrates how to integrate OPTIGA™ Trust M with hibernation, with your local host. Figure 3 System Integration Schematic Diagram with Hibernation Note: Value of the pullup resistors depend on the target application circuit and the targeted I2C frequency.
Datasheet 10 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Description of packages e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
4 Description of packages
This chapter provides information on the package types and how the interfaces of each product are assigned to the package pins. For further information on compliance of the packages with European Parliament Directives, see “RoHS Compliance” on Page 29. For details and recommendations regarding the assembly of packages on PCBs, please see the following: http://www.infineon.com/cms/en/product/technology/packages/
4.1 PG-USON-10-2,-4
The package dimensions (in mm) of the controller in PG-USON-10-2,-4 packages are given below. Figure 4 PG-USON-10-2,-4 Package Outline
Datasheet 11 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Description of packages e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 The following figure shows the PG-USON-10-2,-4 in top view: Figure 5 PG-USON-10-2,-4 top view
4.2 Production sample marking pattern
The following figure describes the productive sample marking pattern on PG-USON-10-2,-4. Figure 6 PG-USON-10-2,-4 sample marking pattern The black dot indicates pin 01 for the chip. The following Table 3 describes the sample marking pattern: Table 3 Marking table for PG-USON-10-2,-4 packages Indicator Description LOT CODE Defined and inserted during fabrication ZZ Indicates the Certifying Authority Serial Number / SKU#, e.g. "00" would mean "SKU#00" H/E H = "Halogen-free", E = "Engineering samples" This indicator is followed by "YYWW", where YY is the "Year" and WW is the "Work Week" of the production. This is inserted during fabrication. Engineering samples have "E YYWW" and productive samples have "H YYWW"
Datasheet 12 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Description of packages e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Indicator Description
12345 Convention: T&#$@
where: The letter "T" indicates the OPTIGA Trust family & indicates the product is a Trust M controller # indicates the controller is a STR (S) variant $ specifies the OPTIGA™ Trust M release version number @ specifies the software version Example: "TMS10" means 'OPTIGA™ Trust M', 'STR variant', 'release version 1', 'software version 0' The contacts and their functionality are given in the Table 4 below. Table 4 Contact definitions and functions of PG-USON-10-2,-4 packages Pin Type Function
01 GND Supply voltage (Ground)
02 NC Not connected / Do not connect externally
03 I/O Serial Data Line (SDA)
04 NC Not connected / Do not connect externally
05 NC Not connected / Do not connect externally
06 NC Not connected / Do not connect externally
07 NC Not connected / Do not connect externally
08 I/O Serial Clock Line (SCL)
09 IN Active Low Reset (RST)
10 PWR Supply voltage (VCC)
Datasheet 13 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Technical Data e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
5 Technical Data
This section summarizes the technical data of the product. It provides the operational characteristics as well as the electrical DC and AC characteristics.
5.1 I2C Interface Characteristics
Table 5 I2C Operation Supply and Input Voltages Parameter Symbol Values Unit Note or Test Condition Min. Typ. Max. Supply voltage VCC_I2C 1.62 – 5.5 V SDA, SCL input voltage VIN_I2C −0.3 – VCC_I2C + 0.5 or 5.51 V VCC_I2C is in the operational supply range −0.3 – 5.5 V VCC_I2C is switched off 1) Whichever is lower
5.1.1 I2C Standard/Fast Mode Interface Characteristics
For operation of the I2C interface, the electrical characteristics are compliant with the I 2C bus specification Rev. 4 for "standard-mode" (fSCL up to 100 kHz) and "fast -mode" (fSCL up to 400 kHz), with certain deviations as stated in the table below. Note: TA as given for the operating temperature range of the controller unless otherwise stated. Table 6 I2C Standard Mode Interface Characteristics Parameter Symbol Values Unit Note or Test Condition Min. Typ. Max. SCL clock frequency fSCL 0 – 100 kHz Input low-level VIL −0.3 – 0.3 * VCC_I2C V Low-level output voltage VOL1 0 – 0.4 V Sink current 3 mA; VCC_I2C ≥ 2.7 V Sink current 2 mA; VCC_I2C < 2.7 V Low-level output current IOL 3 – mA VOL = 0.4 V; VCC_I2C ≥ 2.7 V VOL = 0.4 V; VCC_I2C < 2.7 V Output fall time from VIHmin to VILmax (at device pin) tOF – – 250 ns Cb ≤ 400 pF; VCC_I2C ≥ 2.7 V Cb ≤ 200 pF; VCC_I2C < 2.7 V Capacitive load for each bus line Cb – – 400 200 pF VCC_I2C ≥ 2.7 V VCC_I2C < 2.7 V
Datasheet 14 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Technical Data e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Table 7 I2C Fast Mode Interface Characteristics Parameter Symbol Values Unit Note or Test Condition Min. Typ. Max. SCL clock frequency fSCL 0 – 400 kHz Input low-level VIL −0.3 – 0.3 * VCC_I2C V Low-level output voltage VOL1 0 – 0.4 V Sink current 3 mA; VCC_I2C ≥ 2.7 V Sink current 2 mA; VCC_I2C < 2.7 V Low-level output current IOL 3 – mA VOL = 0.4 V; VCC_I2C ≥ 2.7 V VOL = 0.4 V; VCC_I2C < 2.7 V Output fall time from VIHmin to VILmax (at device pin) tOF 20 * VCC_I2C / 5.5 V1 – 250 ns Cb ≤ 400 pF; VCC_I2C ≥ 2.7 V Cb ≤ 200 pF; VCC_I2C < 2.7 V Capacitive load for each bus line Cb 152 – 400 200 pF VCC_I2C ≥ 2.7 V VCC_I2C < 2.7 V 1) A min. capacitive load is necessary to reach tOF 2) A min. capacitive load is necessary to reach tfmin
5.1.2 I2C Fast Mode Plus Interface Characteristics
For operation of the I2C interface, the electrical characteristics are compliant with the I 2C bus specification Rev. 4 for "fast mode plus" (fSCL up to 1 MHz), with certain deviations as stated in the table below. Note: TA as given for the operating temperature range of the controller unless otherwise stated. Table 8 I2C Fast Mode Plus Interface Characteristics Parameter Symbol Values Unit Note or Test Condition Min. Typ. Max. SCL clock frequency fSCL 0 – 1000 kHz Input low-level VIL −0.3 – 0.3 * VCC_I2C V Low-level output voltage VOL1 0 – 0.4 V Sink current 3 mA; VCC_I2C ≥ 2.7 V Sink current 2 mA; VCC_I2C < 2.7 V Low-level output current IOL 3 – mA VOL = 0.4 V; VCC_I2C ≥ 2.7 V VOL = 0.4 V; VCC_I2C < 2.7 V Output fall time from VIHmin to VILmax (at device pin) tOF 20 * VCC_I2C / 5.5 V1 – 120 ns Cb ≤ 150 pF Capacitive load for each bus line Cb 151 – 150 pF 1) A min. capacitive load is necessary to reach tOF
Datasheet 15 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Technical Data e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
5.1.3 Electrical Characteristics
Note: TA as given for the operating temperature range of the controller unless otherwise stated. All currents flowing into the controller are considered positive.
5.1.3.1 DC Electrical Characteristics
TA as given for the controller’s operating ambient temperature range unless otherwise stated. All currents flowing into the controller are considered positive. Table 9 Electrical Characteristics Parameter Symbol Values Unit Note or Test Condition Min. Typ. Max. Supply voltage VCC 1.62 – 5.5 V Overall functional range VCC_I2C 1.62 – 5.5 V Supply voltage range for operation of I2C Supply current1 ICCAVG – 20.0 – mA While running a typical authentication profile TA = 25°C; VCC = 5.0 V Supply current, in sleep mode ICCS3 – 70 100 A TA = 25°C; VCC_I2C = 3.3 V; I2C ready for operation (no bus activity), all other inputs at VCC, no other interface activity RST input low voltage VIL −0.3 – 0.2 * VCC V IIL = −50 μA to +20 μA RST input high voltage VIH 0.7 * VCC – VCC + 0.3 V IIL = −50 μA to +20 μA Hibernate current – – < 2.5 – µA Vcc = 0 V, GND = 0 V, RST = 0 V, SCL= 3.3 V and SCL = 3.3 V 1) Supply current can be limited from 6mA to 15mA by software commands.
5.1.3.2 AC Electrical Characteristics
TA as given for the controller’s operating ambient temperature range unless otherwise stated. All currents flowing into the controller are considered positive. Table 10 AC Characteristics Parameter Symbol Values Unit Note or Test Condition Min. Typ. Max. VCC rampup time tVCCR 1 – 1000 s 400 mV to 90% of VCC target voltage ramp The VCC ramp is depicted in Figure 7. 90% of the target supply voltage must be reached within t VCCR after it has exceeded 400 mV. Moreover, its variation must be kept within a ±10% range.
Datasheet 16 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Technical Data e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Figure 7 Vcc Rampup
5.1.4 Start-Up of I2C Interface
There are 2 variants possible for performing the startup procedure: Startup after power-on Startup for warm resets
5.1.4.1 Startup after Power-On
The activation of the I2C interface after power-on needs the following reset procedure. VCC is powered up and the state of the SDA and SCL line are set to high level during power-up The first transmission may start at the earliest tSTARTUP after power-up of the device The following figure shows the startup timing of the I2C interface for this case. Figure 8 Startup of I2C Interface after Power-On target supply voltage range 400 mV 110% 90% tVCCR VCC t VCC SCL SDA 0.4 V tSTARTUP Power-up RST tVCCR Bus-Idle trans- mission 1 trans- mission n Start-up
Datasheet 17 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Technical Data e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Table 11 Startup of I2C Interface After Power-On Parameter Symbol Values Unit Note or Test Condition Min. Typ. Max. Startup time tSTARTUP 15 ms
5.1.4.2 Startup for Warm Resets
When using the reset signal for triggering a warm reset after power-on, the activation of the I2C interface needs the following reset procedure VCC remains powered up. The terminal stops I2C communication. SDA and SCL lines are set to high level before RST is set to low level. After its falling edge, RST has to be kept at low level for at least t1. At the latest t2 after the falling edge of RST, the terminal must set RST to high level. The first transmission may start at the earliest tSTARTUP after the rising edge of RST The following figure shows the timing for this startup case. Figure 9 Startup of I2C Interface for Warm Resets Note: If NVM programming was requested prior to the reset, tSTARTUP will be extended from a typical value of 15 ms to a maximum of 20 ms.
Datasheet 18 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Technical Data e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Table 12 Startup of I2C Interface for Warm Resets1 Parameter Symbol Values Unit Note or Test Condition Min. Typ. Max. Startup time tSTARTUP 15 ms Rise time tR 1 s From 10% to 90% of signal amplitude Fall time tF 1 s From 10% to 90% of signal amplitude Reset detection t1 10 s Reset low 10 2500 s 1) Reset triggered by software (without power off/on cycle)
Datasheet 19 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Connecting to Host e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
6 Connecting to Host
6.1 OPTIGA™ Trust M Host Software Architecture
The OPTIGA™ Trust M Host Library layers were explained in System Block Diagram Figure 1 . In following sections, we will cover how to communicate with OPTIGA™ Trust M using I2C. Infineon PAL Sample Application CRYPT UTIL CMD COMMS OPTIGA™ Trust M Host Library Third Party Platform Abstraction Layer (PAL) I2C GPIO Timer Event Crypt Platform specific hard (-soft)ware drivers Figure 10 OPTIGA™ Trust M Host Software Architecture
6.2 Release Package Folder Structure
The following figure shows the release package structure when OPTIGA™ Trust M is installed/extracted on PC. <INSTALLDIR> binaries certificates documents examples externals optiga pal projects Figure 11 Release Package Folder Structure
Datasheet 20 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Connecting to Host e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 <INSTALLDIR> is the root directory to which the release package contents are extracted. The following section explains the contents of each subdirectory under installed directory: 3. binaries This directory contains binaries for OPTIGA™ Trust M sample application. 4. certificates This directory contains OPTIGA™ Trust M Test CA and Productive CA certificates. 5. documents This directory contains all relevant OPTIGA™ Trust M documentation. 6. examples This directory contains example usecases for Toolbox features and a tool for generation of manifest for secure data object feature. 7. externals This directory contains mbedtls software crypto libraries. 8. optiga This directory contains OPTIGA™ Trust M libraries. 9. pal This directory contains PAL for XMC4800 device and for mbedtls and wolfssl software crypto libraries. 10. projects This directory contains XMC4800 device sample project in DAVE™ workspace. Further the following figure elaborates the OPTIGA™ Trust M Host Software folder structure. optiga cmd common comms crypt include util
Datasheet 21 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Connecting to Host e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Figure 12 Host Source Folder Structure 1. cmd – This folder contains sources for all OPTIGA™ Trust M commands 2. common – This folder contains the common functions used across all the modules 3. comms – This folder contains the driver to communicate with OPTIGA™ Trust M 4. crypt – This folder contains sources for cryptographic functionalities 5. include – This folder contains header files for all OPTIGA™ Trust M Host Software 6. util – This folder contains utility functions e.g. read/write and open/close application
6.3 Porting Notes
The implementation of Platform Abstraction Layer (PAL) needs to be updated in order to migrate to a new target platform. The PAL reference code for the XMC4800 IoT connectivity kit is provided as part of package which can be used. The implementation can be found in “<INSTALLDIR>/pal/xmc4800” and t he header fi les are available in “<INSTALLDIR>/optiga/include” with the required APIs used by upper layers. The header files are platform agnostic and would not require any changes. The low level drivers used by PAL for XMC4800 are configured and generated using DAVE™.
6.4 Communication with OPTIGA™ Trust M
The hardware/platform resource configuration with respect to I2C master and GPIOs (Vdd and Reset) are to be updated in pal_ifx_i2c_config.c. These configurations are used by the IFX I2C implementation to communicate with OPTIGA™ Trust M. 7. Update I2C master platform specific context[e.g. (void*)&i2c_master_0] 001 /** 001 * \\brief PAL I2C configuration for OPTIGA 002 */ 003 pal_i2c_t optiga_pal_i2c_context_0 = 004 { 005 /// Pointer to I2C master platform specific context 006 (void*)&i2c_master_0, 007 /// Slave address 008 0x30, 009 /// Upper layer context
010 NULL,
011 /// Callback event handler
012 NULL
013 }; 8. Update platform specific context for GPIOs (Vdd and Reset) 001 /** 002 * \\brief Vdd pin configuration for OPTIGA 003 */ 004 pal_gpio_t optiga_vdd_0 = 005 { 006 // Platform specific GPIO context for the pin used to toggle Vdd 007 (void*)&vdd_pin 008 }; 009 010 /**
Datasheet 22 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Connecting to Host e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 011 * \\brief Reset pin configuration for OPTIGA 012 */ 013 pal_gpio_t optiga_reset_0 = 014 { 015 // Platform specific GPIO context for the pin used to toggle Reset 016 (void*)&reset_pin 017 }; 9. Update PAL I2C APIs [pal_i2c.c] to communicate with OPTIGA™ Trust M The pal_i2c is expected to provide the APIs for I2C driver initialization, de -initialization, read, write and set bitrate kind of operations a) pal_i2c_init b) pal_i2c_deinit c) pal_i2c_read d) pal_i2c_write e) pal_i2c_set_bitrate A few target platforms, the I2C master driver initialization (pal_i2c_init) is done during the platform start up. In such an environment, there is no need to implement pal_i2c_init and pal_i2c_deinit functions. Otherwise, these (pal_i2c_init & pal_i2c_deinit) functions must be implemented as per the upper layer expectations based on the need. The details of these expectations are available in the Host library API documentation (chm). The reference implementation of PAL I2C based on XMC4800 IoT connectivity kit does not need to have the platform I2C driver i nitialization explicitly done as part of pal_i2c_init as it is taken care by the DAVE™ library initialization. Hence pal_i2c_init & pal_i2c_deinit are not implemented. In addition to the above specified APIs, the PAL I2C must handle the events from the low level I2C driver and invoke the upper layer handlers registered with PAL I2C context for the respective transaction as shown in the below example. 001 //I2C driver callback function when the transmit is completed successfully 002 void i2c_master_end_of_transmit_callback(void) 003 { 004 invoke_upper_layer_callback(gp_pal_i2c_current_ctx, 005 (uint8_t)PAL_I2C_EVENT_TX_SUCCESS); 006 } In above example the I2C driver call back, when transmission is successful invokes the handler to inform the result. 10. Update PAL GPIO [pal_gpio.c] to power on and reset the OPTIGA™ Trust M f) pal_gpio_set_high g) pal_gpio_set_low 11. Update PAL Timer [pal_os_timer.c] to enable timer h) pal_os_timer_get_time_in_milliseconds i) pal_os_timer_delay_in_milliseconds 12. Update Event management for the asynchronous interactions for IFX I2C [pal_os_event.c] j) pal_os_event_register_callback_oneshot k) pal_os_event_trigger_registered_callback
Datasheet 23 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Connecting to Host e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 The pal_os_event_register_callback_oneshot function is expected to register the handler and context provided as part of input parameters and triggers the timer for the requested time. The p_pal_os_event is an event instance created using pal_os_event_create. 001 void pal_os_event_register_callback_oneshot( 002 pal_os_event_t * p_pal_os_event, 003 register_callback callback, 004 void* callback_args, 005 uint32_t time_us) 006 { 007 p_pal_os_event->callback_registered = callback; 008 p_pal_os_event->callback_ctx = callback_args; 009 010 //lint --e{534} suppress "Return value is not required to be checked"
011 TIMER_SetTimeInterval(&scheduler_timer, (time_us*100));
012 TIMER_Start(&scheduler_timer);
013 } The handler registered must be invoked once the timer has elapsed as shown in pal_os_event_trigger_registered_callback. The pal_os_event_trigger_registered_callback is to be registered with event timer interrupt to get trigerred when the timer expires. The pal_os_event_0 is the instance in the pal_os_event used store the registered callback and context. 001 void pal_os_event_trigger_registered_callback(void) 002 { 003 register_callback callback; 004
005 TIMER_ClearEvent(&scheduler_timer);
006 //lint --e{534} suppress "Return value is not required to be checked"
007 TIMER_Stop(&scheduler_timer);
008 TIMER_Clear(&scheduler_timer);
010 if (pal_os_event_0.callback_registered) 011 { 012 callback = pal_os_event_0.callback_registered; 013 callback((void * )pal_os_event_0.callback_ctx); 014 } 015 }
6.5 Reference code on XMC4800 for communicating with OPTIGA™ Trust M
001 static volatile uint32_t optiga_pal_event_status; 002 static void optiga_pal_i2c_event_handler(void* upper_layer_ctx, 003 uint8_t event); 004 005 pal_i2c_t optiga_pal_i2c_context_0 = 006 { 007 /// Pointer to I2C master platform specific context 008 (void*)&i2c_master_0, 009 /// Slave address 010 0x30, 011 /// Upper layer context
012 NULL,
013 /// Callback event handler
Datasheet 24 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Connecting to Host e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
014 NULL,
015 }; 016 017 // OPTIGA pal i2c event handler 018 static void optiga_pal_i2c_event_handler(void* upper_layer_ctx, 019 uint8_t event) 020 { 021 optiga_pal_event_status = event; 022 } 001 /* Function to verify I2C communication with OPTIGA */ 002 pal_status_t test_optiga_communication(void) 003 { 004 pal_status_t pal_return_status; 005 uint8_t data_buffer[10] = {0x82}; 006 007 // set callback handler for pal i2c 008 optiga_pal_i2c_context_0.upper_layer_event_handler = 009 optiga_pal_i2c_event_handler; 010 011 // Send 0x82 to read I2C_STATE from optiga 012 do 013 { 014 optiga_pal_event_status = PAL_I2C_EVENT_BUSY; 015 pal_return_status = 016 pal_i2c_write(&optiga_pal_i2c_context_0, 017 data_buffer, 018 1); 019 if (PAL_STATUS_FAILURE == pal_return_status) 020 { 021 // Pal I2C write failed due to I2C busy is in busy 022 // state or low level driver failures 023 break; 024 } 025 026 // Wait until writing to optiga is completed 027 } while (PAL_I2C_EVENT_SUCCESS != optiga_pal_event_status); 028 029 030 // Read the I2C_STATE from OPTIGA 031 do 032 { 033 optiga_pal_event_status = PAL_I2C_EVENT_BUSY; 034 pal_return_status = 035 pal_i2c_read(&optiga_pal_i2c_context_0 , 036 data_buffer , 037 4); 038 // Pal I2C read failed due to I2C busy is in busy 039 // state or low level driver failures 040 if (PAL_STATUS_FAILURE == pal_return_status) 041 { 042 break; 043 } 044 // Wait until reading from optiga is completed 045 } while (PAL_I2C_EVENT_SUCCESS != optiga_pal_event_status); 046 047 return pal_return_status;
Datasheet 25 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Connecting to Host e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 048 } 049 050 /* Main Function */ 051 int32_t main(void) 052 {
053 DAVE_STATUS_t status;
054 pal_status_t pal_return_status; 055 056 // Initialisation of DAVE Apps 057 status = DAVE_Init(); 058 059 // Stop if DAVE init fails 060 if (DAVE_STATUS_FAILURE == status) 061 { 062 while (1U) 063 {;} 064 } 065 pal_return_status = test_optiga_communication(); 066 067 return (int32_t)pal_return_status; 068 }
Datasheet 26 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 OPTIGA™ Trust M External Interface e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
7 OPTIGA™ Trust M External Interface
7.1 Commands
This section provides short description of the commands exposed by the OPTIGA™ Trust M secuirty chip and mapping of these commands w.r.t Use Cases. Table 13 Command table Command Name Description OpenApplication Command to launch an application CloseApplication Command to close/hibernate an application GetDataObject Command to get (read) a data object SetDataObject Command to set (write) a data object SetObjectProtected Command to set (write) data objects protected (integrity protection) GetRandom Command to generate a random stream CalcHash Command to calculate a Hash CalcSign Command to calculate a signature VerifySign Command to verify a signature CalcSSec Command to execute a Diffie-Hellmann key agreement DeriveKey Command to derive keys GenKeyPair Command to generate public/private key pairs EncryptAsym Command to encrypt a message DecryptAsym Command to decrypt a message Table 14 Mapping of commands with Use cases Use Case OPTIGA™ Trust M commands used Secure Communication with (D)TLS GetRandom, CalcHash, CalcSign, VerifySign, CalcSSec, DeriveKey, GenKeyPair, EncryptAsym and DecryptAsym Datastore (user memory ~ 10kB) GetDataObject and SetDataObject Secure Firmware Update VerifySign and DeriveKey Secure update of Trust Anchors on Security Chip SetObjectProtected command
7.2 Crypto Performance
The performance metrics for various schemes are provided by the Table 15 below. If not particularly mentioned, the performance is measured @ OPTIGA™ Trust M I/O interface with: I2C FM (400KHz) Without power limitation @ 25°C VCC = 3.3V RSA Signature scheme: RSA SSA PKCS#1 v1.5 without hashing ECDSA Signature scheme: ECDSA FIPS 186-3 without hashing Encryption/Decryption scheme: RSAES PKCS#1 v1.5 Hash scheme: SHA256 Key Derivation scheme: TLS v1.2 PRF SHA256
Datasheet 27 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 OPTIGA™ Trust M External Interface e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 RSA Key size: 2048 bits ECC Key size: 256 bits (NIST P-256) Table 15 Crypto performance Scheme Algorithm Performance in ms1 Performance with Shielded Connection in ms1 Notes Calculate signature RSA ~ 310 ~ 315 Doesn’t include message hashing before calling a toolbox function ECDSA ~ 60 ~ 65 Verify signature RSA ~ 45 ~ 55 ECDSA ~ 85 ~ 90 Diffie-Hellman key agreement ECC ~ 60 ~ 65 Based on ephemeral key pair Key pair generation RSA ~ 29002 ~ 2910 Generate 2048 bit RSA key pair ECC ~ 75 ~ 80 Generate 256 bit ECC key pair Encryption RSA ~ 30 ~ 45 Encrypt 127 bytes Decryption RSA ~ 310 ~ 320 Decrypt 127 bytes Key derivation PRF as per TLS v1.2 ~135 ~ 150 Hash calculation SHA256 ~ 5 Kbyte/s ~ 4.5 Kbyte/s In blocks of 500 bytes 1Minimum Execution of the entire sequence in milli seconds, except the External World timings 2RSA key pair generation performance is not predictable and typically have a variation in performance. This could be significantly higher or lower as the one specified in the table which is an average value over collected samples.
Datasheet 28 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Security Monitor e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
8 Security Monitor
The Security Monitor is a central component which enforces the security policy of the OPTIGA™ Trust M . It consumes security events sent by security aware parts of the OPTIGA™ Trust M embedded SW and takes actions accordingly as specified in Security Policy below.
8.1 Security Events
The events below actively influence the security monitor. Table 16 Security Events Event Description Private Key Use This event occurs in case the internal services are going to use an OPTIGA™ Trust M hosted private key. Key Derivation This event occurs in case the DeriveKey command gets applied on a persistent data o bject (not volatile data object as session context). In that case the persistent data object gets used as pre-shared secret. Suspect System Behavior This event occurs in case the embedded software detects inconsistencies with the expected behavior of the system. Those inconsistencies might be redundant information which doesn’t fit to their counterpart.
8.2 Security Policy
Security Monitor judges the notified security events regarding the number of occurrence over time and in case those violate the permitted usage profile of the system takes actions to throttle down the performance and thus the possible frequency of attacks. The permitted usage profile is defined as: 1. tmax is set to 5 seconds (± 5%) 2. A Suspect System Behavior event is never permitted and will cause setting the Security Event Counter (SEC) to its maximum (= 255). 3. One protected operation (refer to Table 16) events per tmax period. In other words it must not allow more than one out of the protected operations per t max period (worst case, ref to bullet 3. above). This condition must be stable, at least after 500 uninterrupted executions of protected operations. For more information, please refer to Solution Reference Manual document available as part of the package.
Datasheet 29 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 RoHS Compliance e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
9 RoHS Compliance
On January 27, 2003 the European Parliament and the council adopted the directives: 2002/95/EC on the Restriction of the use of certain Hazardous Substances in electrical and electronic equipment ("RoHS") 2002/96/EC on Waste Electrical and Electrical and Electronic Equipment ("WEEE") Some of these restricted (lead) or recycling -relevant (brominated flame retardants) substances are currently found in the terminations (e.g. lead finish, bumps, balls) and substrate materials or mold compounds. The European Union has finalized the Di rectives. It is the member states' task to convert these Directives into national laws. Most national laws are available, some member states have extended timelines for implementation. The laws arising from these Directives have come into force in 2006 or 2007. The electro and electronic industry has to eliminate lead and other hazardous materials from their products. In addition, discussions are on -going with regard to the separate recycling of ceratin materials, e.g. plastic containing brominated flame retardants. Infineon Technologies is fully committed to giving its customers maximum support in their efforts to convert to lead-free and halogen -free1 products. For this reason, Infineon Technologies’ "Green Products" are ROHS-compliant. Since all hazardous substances have been removed, Infineon Technologies calls its lead -free and halogen-free semiconductor packages "green." Details on Infineon Technologies’ definition and upper limits for the restricted materials can be found here. The assembly process of our high -technology semiconductor chips is an integral part of our quality strategy. Accordingly, we will accurately evaluate and test alternative materials in order to replace lead and halogen so that we end up with the same or higher quality standards for our products. The use of lead -free solders for board assembly results in higher process temperatures and increased requirements for the heat resistivity of semiconductor packages. This issue is addressed by Infineon Technologies by a new classification of the Moisture Sensitivity Level (MSL). In a first step the existing products have been classified according to the new requirements. 1Any material used by Infineon Technologies is PBB and PBDE-free. Plastic containing brominated flame retardants, as mentioned in the WEEE directive, will be replaced if technically/economically beneficial.
Datasheet 30 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Appendix A – Infineon I2C Protocol Registry Map e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
10 Appendix A – Infineon I2C Protocol Registry Map
OPTIGA™ Trust M supports IFX I2C v2.01 and is implemented as I2C slave, which uses different address locations for status, control and data communication registers. These registers with description are outlined below in the following table. Table 17 IFX I2C Registry Map Table Register Address Name Size in Bytes Description Master Access 0x80 DATA DATA_REG_LEN This is the location where data shall be read from or written to the I2C slave Read / Write 0x81 DATA_REG_LEN 2 This register holds the maximum data register (Addr 0x80) length. The allowed values are 0x0010 up to 0xFFFF. After writing the new data register length it becomes effective with the next I2C master access. However, in case the slave could not accept the new length it indicates its maximum possible length within this register. Therefore it is recommended to read the value back after writing it to be sure the I2C slave did accept the new value. Note: the value of MAX_PACKET_SIZE is derived from this value or vice versa (MAX_PACKET_SIZE= DATA_REG_LEN-5) Read / Write 0x82 I2C_STATE 4 Bits 31:24 of this register provides the I2C state in regards to the supported features (e.g. clock stretching …) and whether the device is busy executing a command and/or ready to return a response etc. Bits 15:0 defining the length of the response data block at the physical layer. Read only 0x83 BASE_ADDR 2 This register holds the I2C base address as specified by Table 18. Default value is 0x30. After writing a different address the new address become effective with the next I2C master access. In case the bit 15 is set in addition to the new address (bit 6:0) it becomes the new default address at reset (persistent storage). Write only 0x84 MAX_SCL_FREQU 4 This register holds the maximum clock frequency in KHz supported by the I2C slave. The value gets adjusted to the register I2C_Mode setting. Fast Mode (Fm): The allowed values are 50 up to 400. Fast Mode (Fm+): The allowed values are 50 up to 1000. Read 0x85 GUARD_TIME1 4 For details refer to Table 21 Read only 0x86 TRANS_TIMEOUT1 4 For details refer to Table 21 Read only 1 In case the register returns 0xFFFFFFFF the register is not supported and the default values specified in Table ‘List of protocol variations’ shall be applied.
Datasheet 31 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Appendix A – Infineon I2C Protocol Registry Map e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Register Address Name Size in Bytes Description Master Access 0x88 SOFT_RESET 2 Writing to this register will cause a device reset. This feature is optional Write only 0x89 I2C_MODE 2 This register holds the current I2C Mode as defined by Table 19. The default mode is SM & FM (011B). Read / Write Table 18 Definition of BASE_ADDR Fields Bits Value Description DEF_ADDR 15 0 Volatile address setting by bit 6:0, lost after reset. Persistent address setting by bit 6:0, becoming default after reset. BASE_ADDR 6:0 0x00-0x7F I²C base address specified by Table 17 15 14 13 12 11 10 9 8 DEF_ADDR RFU 7 6 5 4 3 2 1 0 RFU BASE_ADDR 15 14 13 12 11 10 9 8 DEF_MODE RFU 7 6 5 4 3 2 1 0 RFU Mode Table 19 Definition of I2C_MODE Fields Bits Value Description DEF_MODE 15 0 Volatile mode setting by bit 2:0, lost after reset. Persistent mode setting by bit 2:0, becoming default after reset. This bit is always read as 0. MODE2 2:0 001 010 011 100 other values Sm Fm SM & Fm (fab out default) Fm+ not valid; writing will be ignored
1 In case the register returns 0xFFFFFFFF the register and its functionality is not supported
2 This mode defines the adherence of the bus signals to the electrical characteristics according standard I2C bus specification
Datasheet 32 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Appendix A – Infineon I2C Protocol Registry Map e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 31 30 29 28 27 26 25 24 BUSY RESP_RDY RFU SOFT_RESET CONT_READ REP_START CLK_STRETCHING 23 22 21 20 19 18 17 16 PRESENT_LAYER RFU 15-0 Length of data block to be read Table 20 Definition of I2C_STATE Field Bit(s) Value Description BUSY 31 0 Device is not busy Device is busy executing a command RESP_RDY 30 0 Device is not ready to return a response Device is ready to return a response SOFT_RESET 27 0 SOFT_RESET not supported SOFT_RESET supported CONT_READ 26 0 Continue Read not supported Continue Read supported REP_START 25 0 Repeated start not supported Repeated start supported CLK_STRETCHING 24 0 Clock stretching not supported Clock stretching supported PRESENT_LAYER 23 0 Presentation Layer not supported Presentation Layer supported
10.1 Infineon I2C Protocol Variations
To fit best to application specific requirements the protocol might be tailored by spe cifying a couple of parameters which is described in the following table. Table 21 List of Protocol Variations Parameter Default Value Description MAX_PACKET_SIZE 0x110 Maximum packet size accepted by the receiver. The protocol limits this value to 0xFFFF, but there might be project specific requirements to reduce the transport buffers size for the sake of less RAM footprint in the communication stack. If shortened, it could be statically defined or negotiated at the physical layer. WIN_SIZE 1 Window size of the sliding windows algorithm. The value could be 1 up to 2. MAX_NET_CHAN 1 Maximum number of network channels. The value could be 1 up to 16. One indicates the OSI Layer 3 is not used and the CHAN field of the PCTR must be set to 0000. CHAINING TRUE Chaining on the transport layer is supported (TRUE) or not (FALSE) TRANS_TIMEOUT 10 ms (Re) transmission timeout specifies the number of milliseconds to be elapsed until the transmitter considers a frame
Datasheet 33 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Appendix A – Infineon I2C Protocol Registry Map e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Parameter Default Value Description transmission is lost and r etransmits the non -acknowledged frame. The Timer gets started as soon as the complete frame is transmitted. The value could be 1 up to 1000. However, the higher the number, the longer it take s to recover from a frame transmission error. Note: The acknowledge timeout on the receiver side must be shorter than the retransmission timeout to avoid unnecessary frame repetitions. TRANS_REPEAT 3 Number of transmissions to be repeated until the transmitter considers the connection is lost and starts a re-synchronization with the receiver. The value could be 1 up to 4. BASE_ADDR 0x30 I2C (base) address. This address could be statically defined or dynamically negotiated by the physical layer. MAX_SCL_FREQU 1000 kHz Maximum SCL clock frequency in kHz. GUARD_TIME 50 µs Minimum time to be elapsed at the I2C master measured from read data (STOP condition) until the next write data (Start condition) is allowed to happen. Note 1: For two consecutive accesses on the same device GUARD_TIME re-specifies the value of tBUF as specified by [I2Cbus]. Note 2: Even if another I2C address is accessed in between GUARD_TIME has to be respected for two consecutive accesses on the same device. SOFT_RESET 1 Any write attempt to the SOFT_RESET register will trigger a warm reset (reset w/o power cycle). This register is optional and its presence is indicated by the I2C_STATE register’s “SOFT_RESET” flag. PRESENT_LAYER 1 This flag at the I2C_STATE register indicates the optional availability of the presentation layer, which is providing confidentiality and integrity protection of payloads (APDUs) transferred across the I2C interface. The presentation layer is used as part of Shielded Connection.
Datasheet 34 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Appendix B - OPTIGA™ Trust M Command/Response I2C Sample Logs e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
11 Appendix B - OPTIGA™ Trust M Command/Response I2C Sample
The default I2C slave address for the OPTIGA™ Trust M is 0x30 [I2C_ADDR]. All the values in this section are specified in decimal form unless stated otherwise.
11.1 Sequence of commands to read Coprocessor UID from OPTIGA™ Trust M
- Ensure that the security device is powered up 2. The OPTIGA™ Trust M will not acknowledge the slave address sent by a host if it is either busy or in idle state. Hence the host must retry or repeat the transaction until it is successful or timed out for 100 milliseconds (extreme case). 3. The specified guard time must be applied between each attempt of write / read operation by the Host I2C driver. 4. The log information for OPTIGA™ Trust M commands specified in below Tables contains the [IFX I2C] protocol information which comprises sequence numbers and checksum of the transactions. a. A sequence of commands must be strict for the OPTIGA™ Trust M (e.g. OpenApplication followed by GetDataObject to read a Coprocessor UID) b. A checksum in the data depends on the data received or sent via write/read operations. So any data change in the transaction is reflected in the check sum. Otherwise the write data transaction will not be accepted/acknowledged by the OPTIGA™ Trust M. 5. The logs specified below are without the presentation layer (used for the Shielded Connection) of [IFX I2C]
11.1.1 Check the status [I2C_STATE]
This is a very basic register read operation which ensures the behavior of the read/write operations of the local host I2C driver. Table 22 Check I2C_STATE Register of OPTIGA™ Trust M I2C_ADDR Transaction Type Data [values in hexadecimal]
30 Write [ 01 Bytes ] 82
30 Read [ 04 Bytes ] 08 80 00 00
11.1.2 Issue OpenApplication command
Before issuing any application specific command; e.g. read Coprocessor UID using GetDataObject, it is a must to send the OpenApplication command to initialize the application on the OPTIGA™ Trust M as shown below. Table 23 OpenApplication on OPTIGA™ Trust M I2C_ADDR Transaction Type Data [values in hexadecimal] Step 1: Send OpenApplication command to initiate the application context on the OPTIGA™ Trust M
30 Write [ 27 Bytes ] 80 03 00 15 00 70 00 00 10 D2 76 00 00 04 47 65 6E 41 75 74 68 41
Step 2: Read the I2C_STATE register [Repeat this step until the read contains the data as specified below]
Datasheet 35 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Appendix B - OPTIGA™ Trust M Command/Response I2C Sample Logs e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 I2C_ADDR Transaction Type Data [values in hexadecimal]
30 Read [ 04 Bytes ] C8 80 00 05
Step 3: Read the DATA register [Acknowledgment from OPTIGA™ Trust M for the last data transacation]
30 Write [ 01 Bytes ] 80
30 Read [ 05 Bytes ] 80 00 00 0C EC
Step 4: Read the I2C_STATE register [Repeat this step until the read contains the data as specified below]
30 Read [ 04 Bytes ] 48 80 00 0A
Step 5: Read the DATA register which contains the response for the command issued
30 Read [ 10 Bytes ] 00 00 05 00 00 00 00 00 14 87
Step 6: Send an acknowlegment for the data read
30 Write [ 06 Bytes ] 80 80 00 00 0C EC
11.1.3 Read Coprocessor UID
The Co processor UID contains the OPTIGA™ Trust M unique ID and the build information details. The GetDataObject command is used to read the Coprocessor UID information. Table 24 Read Coprocessor UID I2C_ADDR Transaction Type Data [values in hexadecimal] Step 1: Send the GetDataObject command to read the Coprocessor UID
30 Write [ 17 Bytes ] 80 04 00 0B 00 01 00 00 06 E0 C2 00 00 00 64 F0 9F
Step 2: Read the I2C_STATE register [Repeat this step until the read contains the data as specified below].
30 Read [ 04 Bytes ] 48 80 00 25
Step 3: Read the DATA register which contains the response for the command issued.
30 Read [ 37 Bytes ] 05 00 20 00 00 00 00 1B CD XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX XX XX XX XX XX XX XX XX YY YY ZZ ZZ Notes: a. XX is the unique ID part of the co-processor UID b. “YY YY” is the OPTIGA™ Trust M build number in BCD (Binary Coded Decimal) format c. ZZ ZZ is the checksum of the transaction Step 4: Send an acknowlegment for the data read
30 Write [ 06 Bytes ] 80 81 00 00 56 30
Datasheet 36 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Appendix C – Power Management e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
12 Appendix C – Power Management
When operating, the power consumption of OPTIGA™ Trust M is limited to meet the requirements regarding the power limitation set by the Host. The power limitation is implemented by utilizing the current limitation feature of the underlying hardware device in steps of 1mA from 6mA to 15 mA with a precision of ±5%.
12.1 Hibernation
This maximizes power saving (zero power consumption 1), while the I2C bus stays connected. In this case OPTIGA™ Trust M saves the application context before power -off (switching off VCC) and restores it after power - up. After power-up the application continues seamlessly from the state before hibernate.
12.2 Low Power Sleep Mode
The OPTIGA™ Trust M automatically enters a low -power mode after a configurable delay. Once it has entered Sleep mode, the OPTIGA™ Trust M resumes normal operation as soon as its address is detected on the I2C bus. In case no command is sent to the OPTIGA™ Trust M it behaves as shown in Figure 13. 1. As soon as the OPTIGA™ Trust M is idle it starts to count down the “delay to sleep” time (tSDY). 2. In case this time elapses the device enters the “go to sleep” procedure. 3. The “go to sleep” procedure waits until all idle tasks are finished (e.g. counting down the SEC). In case all idle tasks are finished and no command is pending, the OPTIGA™ Trust M enters sleep mode. Figure 13 Go-to-Sleep Diagram 1 Leakage current < 2.5µA VCC IO tSDY Power State operational idle sleep undefined
Datasheet 37 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18 Appendix C – Power Management e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18
Datasheet 38 Revision 1.72 2019-09-18 OPTIGA™ Trust M Product Version: V1 Error! Unknown document property name.2019-09-18 Doc_Reference \\2019-09-18
Revision history
e \\* MERGEF2019-09-18 Error! Unknown document property name. U n k n o w n2019ERGEFORMAT 2019ERGEFOROPTIGA™ Trust M Product Version: V1 e \\* MERGEF2019-09-18 Document version Date of release Description of changes 1.72 2019-09-18 Updated section 4.1: Removed footprint diagram and updated package outline diagram for PG-USON-10-2,-4. 1.71 2019-07-19 Hibernate current updated in section 5.1.3.1 and footnote added for zero power consumption 1.70 2019-07-17 Updated section 6 for XMC 4800 IoT connectivity kit 1.65 2019-05-23 RC Release version and update in table 23 1.61 2019-04-22 RC release version and minor updates to features on the first page 1.60 2019-03-15 RC release version 1.50 2019-02-05 ES release version 1.40 2019-01-18 Internal reviews incorporated 1.30 2019-01-07 Updates to all sections 1.20 2018-10-01 Second release with internal reviews incorporation 1.10 2018-09-24 Updates to all sections 1.00 2018-07-07 First Version Release 0.50 2018-06-29 Initial Version (Internal release)
All referenced product or service names and trademarks are the property of their respective owners. Doc_Reference \\2019-09-18 Doc_Reference \\* MERGEFORMAT 2019-09-18 Published by Infineon Technologies AG
81726 Munich, Germany
© 2019 Infineon Technologies AG. All Rights Reserved. Do you have a question about this document? Email: DSSCustomerService@infineon.com Document reference IMPORTANT NOTICE The information given in this document shall in no event be regarded as a guarantee of conditions or characteristics (“Beschaffenheitsgarantie”) . With respect to any examples, hints or any typical values stated herein and/or any information regarding the application of the product, Infineon Technologies hereby disclaims any and all warranties and liabilities of any kind, including without limitation warranties of non -infringement of intellectual property rights of any third party. In addition, any information given in this document is subject to customer’s compliance with its obligations stated in this document and any applicable legal requirements, norms and standards concerning customer’s products and any use of the product of Inf ineon Technologies in customer’s applications. The data contained in this document is exclusively intended for technically trained staff. It is the responsibility of customer’s technical departments to evaluate the suitability of the product for the intended application and the completeness of the product information given in this document with respect to such application. For further information on the product, technology, delivery terms and conditions and prices please contact your nearest Infineon Technologies o ffice (www.infineon.com). WARNINGS Due to technical requirements products may contain dangerous substances. For information on the types in question please contact your nearest Infineon Technologies office. Except as otherwise explicitly approved by Infineon Technologies in a written document signed by authorized representatives of Infineon Technologies, Infineon Technologies’ products may not be used in any applications where a fail ure of the product or any consequences of the use thereof can reasonably be expected to result in personal injury.