OPTIGA™ Trust M Security Controller

Infineon Technologies

Key Features

Benefits

Applications

About this document

Scope and purpose

This Datasheet provides information to enable integration of a security device, and includes package, connectivity and technical data.

Intended audience

This Datasheet is intended for device integrators and board manufacturers.

Product Variants

Table 1: Products for V1

Sales Code Temperature range Package Description Evaluation Kit
OPTIGAT™ Trust M SLS 32AIA010MH -40°C to +105°C Extended Temperature Range (ETR) PG-USON-10-2,-4 Embedded security solution for connected devices XMC4800 IoT Connectivity Kit connected to the OPTIGAT™ Trust M to connect to the outside world
OPTIGAT™ Trust M SLS 32AIA010MS -25°C to +85°C Standard Temperature Range (STR) PG-USON-10-2,-4 Embedded security solution for connected devices XMC4800 IoT Connectivity Kit connected to the OPTIGAT™ Trust M to connect to the outside world

Table 2: Products for V3

Sales Code Temperature range Package Description Evaluation Kit
OPTIGAT™ Trust M SLS 32AIA010ML -40°C to +105°C Extended Temperature Range (ETR) PG-USON-10-2,-4 Embedded security solution for connected devices XMC4800 IoT Connectivity Kit connected to the OPTIGAT™ Trust M to connect to the outside world.
OPTIGAT™ Trust M SLS 32AIA010MK -25°C to +85°C Standard Temperature Range (STR) PG-USON-10-2,-4 Embedded security solution for connected devices XMC4800 IoT Connectivity Kit connected to the OPTIGAT™ Trust M to connect to the outside world.

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. For details on offered solutions (like OPTIGA™ Trust M Express), selection guide and orders, please see the following page: www.infineon.com/cms/en/product/security-smart-card-solutions/optiga-embedded-security-solutions/optiga-trust/optiga-trust-m-sls32aia/

Technical Data Overview

Table 3: Features

Features Supported Curve/Algorithm ToolBox commands V1 V3
ECC ECC NIST P256/384 Sign, Verify, Key generation, and ECDH(E) ✔️ ✔️
ECC NIST P521, ECC Brainpool P256/384/512 r1 Sign, Verify, Key generation, and ECDH(E) ✔️ ✔️
RSA® RSA® 1024/2048 Sign, Verify, Key generation, Encrypt and Decrypt ✔️ ✔️
Key Derivation TLS v1.2 PRF SHA 256 TLS PRF using SHA 256 ✔️ ✔️
TLS v1.2 PRF SHA 384/512 TLS PRF using SHA 256/384/512 ✔️ ✔️
HKDF SHA-256/384/512 HKDF using SHA256/384/512 ✔️ ✔️
AES Key size - 128/192/256 (ECB, CBC, CBC-MAC, CMAC) Key generation, Encrypt and Decrypt ✔️ ✔️
Random generation TRNG, DRNG, Pre-Master secret for RSA® Key exchange Generate random ✔️ ✔️
HMAC HMAC with SHA256/384/512 HMAC generation and Verification ✔️ ✔️
Hash SHA 256 Hash generation ✔️ ✔️
Protected data (object) update (Integrity) ECC NIST P256/384 RSA® 1024/2048 Signature scheme as ECDSA FIPS 186-3/RSA SSA PKCS#1 v1.5 without hashing Secure data object update ✔️ ✔️
ECC NIST P521, ECC Brainpool P256/384/512 r1 Signature scheme as ECDSA FIPS 186-3/RSA SSA PKCS#1 v1.5 without hashing Secure data object update ✔️ ✔️
Protected Data/key/metadata update (Integrity and/or confidentiality) ECC NIST P256/384/521 ECC Brainpool P256/384/512 r1 RSA® 1024/2048 Signature scheme as ECDSA FIPS 186-3/RSA SSA PKCS#1 v1.5 without hashing Secure data/key object update and metadata update for Data/key object ✔️ ✔️

System Block Diagram

The following figure depicts the system block diagram for OPTIGA™ Trust M.

Figure 1: System Block Diagram

[Diagram: A block diagram showing the interaction between a Local Host and the OPTIGA™ Trust M. The Local Host includes Application, OPTIGA™ Trust M Host Library (CRYPT, UTIL, CMD, COMMS), and Platform Abstraction Layer (PAL). The OPTIGA™ Trust M includes Arbitrary Data Objects, Monotonic Counters, X.509 certificates, Trust Anchors, ECC keys, RSA keys, Platform Binding Secret, and Crypto Functions. An I2C interface with Shielded Connection connects the two.]

The System Block Diagram is explained below for each layer.

1. Local Host

2. OPTIGA™ Trust M

Note: Unique AES key, ECC/RSA private keys and X.509 Certificates – During production at Infineon fab, unique asymmetric keys (private and public) are generated and symmetric key/shared secrets are provisioned. 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/shared secret material at the Common Criteria Certified production site.

Interface and Schematics

The following figure illustrates how to integrate OPTIGA™ Trust M with your local host.

Figure 2: System Integration Schematic Diagram

[Diagram: A schematic showing the integration of OPTIGA™ Trust M with a local host using an I2C interface. Components include VCC, GND, SCL, SDA, and the TRUST M chip. Pull-up resistors are shown on SCL and SDA lines.]

Note: The OPTIGA™ Trust M can be integrated with IFX I2C reset option as soft reset (IFX_I2C_SOFT_RESET), or hardware reset. Value of the pullup resistors depend on the target application circuit and the target I2C frequency.

3.1 System Integration Schematics with Hibernation support

The following figure illustrates how to integrate OPTIGA™ Trust M with hibernation, with local host GPIO used as VCC.

Figure 3: System Integration Schematic Diagram with Hibernation – GPIO as VCC

[Diagram: A schematic showing the integration of OPTIGA™ Trust M with hibernation, using a local host GPIO as VCC. Components include VCC, GND, SCL, SDA, RST, and the TRUST M chip. A host GPIO is connected to control VCC. Pull-up resistors are shown on SCL and SDA lines.]

Note: The Host GPIO pin must have sufficient current to drive the supply current, as per Table 11. Value of the pullup resistors depend on the target application circuit and the target I2C frequency.

If the host GPIO doesn't supply sufficient current to OPTIGA, additional MOSFET switching circuitry is needed to control the power supply (VCC). The below circuit diagrams depicts the options to control the power supply (VCC) using GPIO from Host with the switching logic.

Figure 4: System Integration Schematic Diagram with Hibernation - GPIO controlled VCC (Single MOSFET switch)

[Diagram: A schematic showing the integration of OPTIGA™ Trust M with hibernation, using a single MOSFET controlled by a host GPIO to switch the VCC. Components include VCC, GND, SCL, SDA, RST, TRUST M chip, FDN304P MOSFET, and pull-up resistors.]

Note: Due to the single P channel MOSFET (FDN304P) behavior, GPIO must be connected and drive the pin to LOW to enable the VCC supply to OPTIGA™ Trust M. This adaption must be done in the optiga host library (ifx_i2c.c), refer 11.1.1 for details. Value of the pullup resistors depend on the target application circuit and the target I2C frequency.

Figure 5: System Integration Schematic Diagram with Hibernation - GPIO controlled VCC (Dual MOSFET switch)

[Diagram: A schematic showing the integration of OPTIGA™ Trust M with hibernation, using two MOSFETs controlled by a host GPIO to switch the VCC. Components include VCC, GND, SCL, SDA, RST, TRUST M chip, FDN304P MOSFET, BSS138N MOSFET, and pull-up resistors.]

Note: Value of the pullup resistors depend on the target application circuit and the target I2C frequency. If GPIO pin is connected, set the GPIO pin to HIGH to enable the VCC to OPTIGA™ Trust M.

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 25. For details and recommendations regarding the assembly of packages on PCBs, please see the following: 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 6: PG-USON-10-2,-4 Package Outline

[Diagram: Mechanical dimensions of the PG-USON-10-2,-4 package, showing length, width, height, lead pitch, and marking indicators. Dimensions are in millimeters.]

The following figure shows the PG-USON-10-2,-4 in top view:

Figure 7: PG-USON-10-2,-4 top view

[Diagram: Top view of the PG-USON-10-2,-4 package, indicating pin numbers and their functions: GND, n.c., SDA, n.c., n.c., n.c., n.c., SCL, RST, VCC. An exposed pad for thermal dissipation is also shown.]

4.2 Production sample marking pattern

The following figure describes the productive sample marking pattern on PG-USON-10-2,-4.

Figure 8: PG-USON-10-2,-4 sample marking pattern

[Diagram: Frontside and backside marking pattern for the PG-USON-10-2,-4 package. Frontside shows a dot indicating pin 01, followed by LOT CODE, SERIAL NUMBER, and H/E indicator. Backside shows the package outline.]

The black dot indicates pin 01 for the chip. The following Table 5 describes the sample marking pattern:

Table 5: Marking table for PG-USON-10-2,-4 packages

Indicator Description
LOT CODE ZZ Defined and inserted during fabrication
H/E Indicates the Certifying Authority Serial Number / SKU#, e.g. "00" would mean "SKU#00"
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"

Indicator Convention: T&#$@ where: 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'.

Table 6: 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)

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 7: I2C Operation Supply and Input Voltages

Parameter Symbol Values (Min.) Values (Typ.) Values (Max.) Unit Note or Test Condition
Supply voltage VCC_I2C 1.62 - 5.5 V Overall functional range
SDA, SCL input voltage VIN_I2C -0.3 - VCC_I2C + 0.5 or 5.5¹ V VCC_I2C is in the operational supply range
-0.3 - 5.5 V VCC_I2C is switched off

¹ 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²C 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 8: I2C Standard Mode Interface Characteristics

Parameter Symbol Values (Min.) Values (Typ.) Values (Max.) Unit Note or Test Condition
SCL clock frequency fSCL 0 - 100 kHz
Input low-level voltage VIL -0.3 0 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 pF VCC_I2C ≥ 2.7 V
200 VCC_I2C < 2.7 V

5.1.2 I2C Fast Mode Plus Interface Characteristics

For operation of the I2C interface, the electrical characteristics are compliant with the I²C 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 9: I2C Fast Mode Interface Characteristics

Parameter Symbol Values (Min.) Values (Typ.) Values (Max.) Unit Note or Test Condition
SCL clock frequency fSCL 0 - 400 kHz
Input low-level voltage 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* - 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 15² - 400 pF VCC_I2C ≥ 2.7 V
200 VCC_I2C < 2.7 V

5.1.2 I2C Fast Mode Plus Interface Characteristics

For operation of the I2C interface, the electrical characteristics are compliant with the I²C 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 10: I2C Fast Mode Plus Interface Characteristics

Parameter Symbol Values (Min.) Values (Typ.) Values (Max.) Unit Note or Test Condition
SCL clock frequency fSCL 0 - 1000 kHz
Input low-level voltage 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* - 120 ns Cb ≤ 150 pF
Capacitive load for each bus line Cb 15¹ - 150 pF

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 11: Electrical Characteristics

Parameter Symbol Values (Min.) Values (Typ.) Values (Max.) Unit Note or Test Condition
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 current¹ ICCAVG - 14.0 - mA While running a typical authentication profile
Supply current, in sleep mode Iccs3 - 70 100 μΑ 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.3* Vcc V IIL = -50 µA to +20 μΑ
RST input high voltage VIH 0.7* Vcc - Vcc + 0.3 V IIL = -50 µA to +20 μΑ
Hibernate current - - <2.5 μΑ Vcc = 0 V, GND = 0 V, RST = 0 V, SCL= 3.3 V and SCL = 3.3 V

¹ 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 12: AC Characteristics

Parameter Symbol Values (Min.) Values (Typ.) Values (Max.) Unit Note or Test Condition
Vcc rampup time tVCCR 1 - 1000 µs 400 mV to 90% of Vcc target voltage ramp

The Vcc ramp is depicted in Figure 9. 90% of the target supply voltage must be reached within tVCCR after it has exceeded 400 mV. Moreover, its variation must be kept within a ±10% range.

Figure 9: Vcc Rampup

[Diagram: A graph showing the VCC voltage ramp-up over time, illustrating the 400 mV threshold, 90% target voltage, and tVCCR time.]

5.1.4 Start-Up of I2C Interface

There are 2 variants possible for performing the startup procedure:

5.1.4.1 Startup after Power-On

The activation of the I2C interface after power-on needs the following reset procedure.

The following figure shows the startup timing of the I2C interface for this case.

Figure 10: Startup of I2C Interface after Power-On

[Diagram: Timing diagram showing VCC, SCL, RST, and SDA signals during startup after power-on. It illustrates power-up, startup phase, and bus-idle state.]

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:

The following figure shows the timing for this startup case.

Figure 11: Startup of I2C Interface for Warm Resets

[Diagram: Timing diagram showing VCC, SCL, RST, and SDA signals during startup after a warm reset. It illustrates reset detection, warm reset, and startup phases.]

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.

Table 13: Startup of I2C Interface After Power-On

Parameter Symbol Values (Min.) Values (Typ.) Values (Max.) Unit Note or Test Condition
Startup time tSTARTUP 15 - - ms

Table 14: Startup of I2C Interface for Warm Resets¹

Parameter Symbol Values (Min.) Values (Typ.) Values (Max.) Unit Note or Test Condition
Startup time tSTARTUP 15 - - ms
Rise time tr - - 1 µs From 10% to 90% of signal amplitude
Fall time te - - 1 µs From 10% to 90% of signal amplitude
Reset detection t₁ - 10 - µs
Reset low 10 - 2500 μς

¹ Reset triggered by software (without power off/on cycle)

OPTIGA™ Trust M External Interface

6.1 Commands

This section provides short description of the commands exposed by the OPTIGA™ Trust M security chip and mapping of these commands w.r.t Use Cases.

Table 15: Command table

Command Name Description V1 V3
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 protected (integrity protection) ✔️ ✔️
SetObjectProtected Command to set (write) data/key objects and its metadata protected (integrity protection, confidentiality) ✔️ ✔️
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 (Asymmetric) a message ✔️ ✔️
DecryptAsym Command to decrypt (Asymmetric) a message ✔️ ✔️
EncryptSym Command to encrypt (Symmetric) a message ✔️ ✔️
DecryptSym Command to decrypt (Symmetric) a message ✔️ ✔️
GenSymKey Command to generate a symmetric key ✔️ ✔️

Table 16: 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 ~ 4.5kB) GetDataObject and SetDataObject
Symmetric key attestation, Security Tokens EncryptSym and DecryptSym¹
Secure Firmware Update SetObjectProtected command
Secure update of Trust Anchors and Keys on Security Chip VerifySign and DeriveKey

¹ EncryptSym and DecryptSym is supported only in v3

² Secure key update is supported only in v3

6.2 Crypto Performance

The performance metrics for various schemes are provided by the Table 18 below. If not particularly mentioned, the performance is measured @ OPTIGA™ Trust M I/O interface with:

Table 17: Crypto performance for V1

Scheme Algorithm Performance in ms¹ Performance with Shielded Connection in ms¹ Notes
Calculate signature ECDSA 60 65
  • ECC NIST P 256
  • No data hashing
RSA ~310 315
  • 2048 bit exponentical
  • No data hashing
Verify signature ECDSA 85 90
  • ECC NIST P 256 provided by external world
  • No data hashing
RSA 45 55
  • 2048 bit exponentical provided by external world
  • No data hashing
Diffie-Hellman key agreement ECC 60 65 Based on ephemeral key pair
Key pair generation ECC ~75 80 Generate 256 bit ECC key pair
RSA 2900² 2910 Generate 2048 bit RSA key pair
Encryption RSA ~30 ~45 Encrypt 127 bytes
Decryption RSA ~310 320 Decrypt 127 bytes
Key derivation PRF as per TLS v1.2 ~50 55
  • To derive a key of 40 bytes
  • Shared secret (32 bytes) from session context and The input key derivation data size is 48 bytes
Hash calculation SHA256 12 Kbyte/s 11 Kbyte/s In blocks of 1280 bytes

¹Minimum Execution of the entire sequence in milli seconds, except the External World timings

²RSA 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.

Table 18: Crypto performance for V3

Scheme Algorithm Performance in ms¹ Performance with Shielded Connection in ms¹ Notes
Calculate signature ECDSA 65 70
  • ECC NIST P 256
  • No data hashing
RSA ~310 320
  • No data hashing
  • 2048 bit exponentical
Verify signature ECDSA 85 95
  • ECC NIST P 256 provided by external world
  • No data hashing
RSA 40 ~50
  • 2048 bit exponentical provided by external world
  • No data hashing
Diffie-Hellman key agreement ECDH 60 65 Based on ephemeral key pair
Key pair generation ECC ~55 60 Generate 256 bit ECC key pair in session
RSA 2900² 2910 Generate 2048 bit RSA key pair
Encryption RSA ~40 50 Encrypt 127 bytes
Decryption RSA 315 325 Decrypt 127 bytes
Encryption AES-128 ~28 35 Encrypt 256 bytes, ECB mode
Decryption AES-128 ~35 ~42 Decrypt 256 bytes, ECB mode
Key derivation PRF as per TLS v1.2 ~50 ~55
  • To derive a key of 40 bytes
  • Shared secret (32 bytes) from session context and The input key derivation data size is 48 bytes
Key derivation HKDF with SHA256 ~ 130 135 Using a pre-shared secret from a data object
HMAC HMAC with SHA256 ~90 ~95 Using a pre-shared secret from a data object and 128 bytes of input data
Hash calculation SHA256 ~ 15 Kbyte/s 14 Kbyte/s In blocks of 1280 bytes

¹ Minimum Execution of the entire sequence in milli seconds, except the External World timings

² RSA 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.

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.

7.1 Security Events

The events below actively influence the security monitor.

Table 19: Security Events

Event Description
Decryption Failure This event occurs in case a decryption and/or integrity check of provided data lead to a failure during protected update.
Key Derivation This event occurs in case the DeriveKey command gets applied on a persistent data object (not volatile data object as session context). In that case the persistent data object gets used as pre-shared secret.
Private Key Use This event occurs in case the internal services are going to use an OPTIGA™ Trust M hosted private key.
Secret Key Use This event occurs in case the internal services are going to use a OPTIGA™ hosted secret (symmetric) key (once per respective command), except temporary keys from session context are used.
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.

7.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 19) events per tmax period.

In other words it must not allow more than one out of the protected operations per tmax 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.

RoHS Compliance

On January 27, 2003 the European Parliament and the council adopted the directives:

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 Directives. 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 certain 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-free¹ 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.

[Image: A visual representation of lead-free and halogen-free components, with "green product compliant" logo.]

¹Any 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.

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 20: IFX I2C Registry Map Table

Register Address Name Size in Bytes Description Master Access
0x80 DATA - 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 21. Default value is 0x30. After writing a different address the new address become effective with the next 12C 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 only
0x85 GUARD_TIME¹ 4 For details refer to Table 24 Read only
0x86 TRANS_TIMEOUTS 4 For details refer to Table 24 Read only

¹ 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.

Table 21: Definition of BASE_ADDR

Fields Bits Value Description
DEF_ADDR 15 0 Volatile address setting by bit 6:0, lost after reset.
1 Persistent address setting by bit 6:0, becoming default after reset.
BASE_ADDR 6:0 0x00-0x7F I2C base address specified by Table 20

[Diagram: Bit allocation for BASE_ADDR register.]

Table 22: Definition of I2C_MODE

Fields Bits Value Description
DEF_MODE 15 0 Volatile mode setting by bit 2:0, lost after reset.
1 Persistent mode setting by bit 2:0, becoming default after reset. This bit is always read as 0.
MODE 2:0 001 Sm
010 Fm
011 SM & Fm (fab out default)
100 Fm+
other values not valid; writing will be ignored

¹ In case the register returns 0xFFFFFFFF the register and its functionality is not supported

² This mode defines the adherence of the bus signals to the electrical characteristics according standard I2C bus specification

Table 23: Definition of I2C_STATE

Field Bit(s) Value Description
BUSY 31 0 Device is not busy
1 Device is busy executing a command
RESP_RDY 30 0 Device is not ready to return a response
1 Device is ready to return a response
SOFT_RESET 27 0 SOFT_RESET not supported
1 SOFT_RESET supported
CONT_READ 26 0 Continue Read not supported
1 Continue Read supported
REP_START 25 0 Repeated start not supported
1 Repeated start supported
CLK_STRETCHING 24 0 Clock stretching not supported
1 Clock stretching supported
PRESENT_LAYER 23 0 Presentation Layer not supported
1 Presentation Layer supported

9.1 Infineon I2C Protocol Variations

To fit best to application specific requirements the protocol might be tailored by specifying a couple of parameters which is described in the following table.

Table 24: 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 transmission is lost and retransmits 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 takes 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.

Appendix B - OPTIGA™ Trust M Command/Response I2C Sample Logs

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.

10.1 Sequence of commands to read Coprocessor UID from OPTIGA™ Trust M

Pre-requisites

  1. 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 sequence of commands must be strict for the OPTIGA™ Trust M (e.g. OpenApplication followed by GetDataObject to read a Coprocessor UID).
    • 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].

10.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 25: 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

10.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 26: OpenApplication on OPTIGA™ Trust M

I2C_ADDR Transaction Type Data [values in hexadecimal]
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 70 70 6C 04 1A

Step 2: Read the I2C_STATE register [Repeat this step until the read contains the data as specified below].

I2C_ADDR Transaction Type Data [values in hexadecimal]
30 Write [01 Bytes] 82
30 Read [04 Bytes] C8 80 00 05
30 Write [01 Bytes] 80
30 Read [ 05 Bytes] 80 00 00 0C EC
30 Write [01 Bytes] 82
30 Read [ 04 Bytes] 48 80 00 0A
30 Write [01 Bytes] 80
30 Read [ 10 Bytes] 00 00 05 00 00 00 00 00 14 87
30 Write [06 Bytes] 80 80 00 00 0C EC

10.1.3 Read Coprocessor UID

The Coprocessor 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 27: Read Coprocessor UID

I2C_ADDR Transaction Type Data [values in hexadecimal]
30 Write [ 17 Bytes] 80 04 00 0B 00 01 00 00 06 E0 C2 00 00 00 64 F0 9F
30 Write [01 Bytes] 82
30 Read [ 04 Bytes] 48 80 00 25
30 Write [01 Bytes] 80
30 Read [37 Bytes] 05 00 20 00 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 XX XX YY YY ZZ ZZ
30 Write [06 Bytes] 80 81 00 00 56 30

Notes:

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%.

11.1 Hibernation

This maximizes power saving (zero power consumption¹), 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.

11.1.1 Software adaption for Hibernate circuit with single MOSFET

Update the ifx_i2c.c file functions with the following change.

  1. Call pal_gpio_set_low (p_ifx_i2c_context->p_slave_vdd_pin), to set the Vdd pin to High,
  2. Call pal_gpio_set_high (p_ifx_i2c_context->p_slave_vdd_pin), to set the Vdd pin to Low.

[Code Snippet: C code demonstrating the update of ifx_i2c.c file for hibernate functionality.]

¹ Leakage current < 2.5µA only

11.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 12.

  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 12: Go-to-Sleep Diagram

[Diagram: A diagram illustrating the go-to-sleep process for OPTIGA™ Trust M. It shows VCC, I2C bus activity, and Power State transitions from operational to idle, then to sleep, with time delays indicated.]

Revision history

Revision history

Document version Date of release Description of changes
3.40 2022-06-21 Section 1.5 updated, Section 6 removed
3.30 2021-08-17 Section 6.4, 6.5 and12 updated for pal_ifx_i2c_context structure changes and ifx_i2c_init bug fix.
3.20 2020-10-20 Fixed internal review comments and released for Production
3.15 2020-10-12 Section 3.1 Hibernate circuit diagram updated for single MOSFET option and direct GPIO as power option.
3.10 2020-09-24 Release to Production release
3.00 2020-06-29 Fixed internal review comments
0.70 2020-05-27 Initial version update for ES Release

PDF preview unavailable. Download the PDF instead.

infineon-optigatrustmsls32aia-datasheet-v03 40-en ?utm source=trustedparts&utm medium=aggregator&utm campaign=arrow 2025&utm Microsoft Word 2019; modified using iText 5.5.13.3 ©2000-2022 iText Group NV (AGPL-version)

Related Documents

Preview Secure System Configuration in Traveo™ II Family
This application note from Infineon (formerly Cypress) details the secure system configuration for the Traveo™ II family of MCUs. It covers essential concepts such as the Chain of Trust (CoT), secure boot process, code signing, digital signatures, lifecycle stages, resource protection mechanisms, and API examples for establishing a secure embedded system.
Preview Infineon AURIX TC3xx Hardware Security Module (HSM) Training
This document provides an overview of the Infineon AURIX TC3xx Hardware Security Module (HSM), detailing its features for cryptographic acceleration (AES, TRNG, PKC, HASH), secure key storage, and system integration, enhancing the security capabilities of the AURIX TC3xx microcontroller family.
Preview OPTIGA Authenticate NBT Static Connection Handover Use Case Guide
This guide details the setup and implementation of the OPTIGA Authenticate NBT for static connection handover use cases, enabling seamless transitions between NFC and other carriers like Bluetooth or Wi-Fi. It covers technical background, configuration, and operational procedures for solution providers and developers.
Preview Infineon STM32 Connectivity Expansion Pack User Guide
User guide for the Infineon STM32 Connectivity Expansion Pack, detailing how to integrate Wi-Fi and Bluetooth functionality into STM32 microcontrollers using Infineon's AIROC™ chipsets and STM32CubeMX.
Preview Infineon SHIELD_XENSIV_A XENSIV™ Sensor Shield Release Notes - Kit Contents, Tool Information, and Limitations
Release notes for the Infineon SHIELD_XENSIV_A XENSIV™ sensor shield, detailing kit contents, software requirements, known issues, limitations, and links to documentation and support.
Preview Infineon MC-ISAR_AS422 Release Notes Addendum V4.0 for TC3xx Products
Infineon Technologies provides release notes addendum V4.0 for MC-ISAR_AS422 software, detailing known issues and workarounds affecting TC3xx automotive microcontroller products.
Preview Infineon パワーマネージメント セレクションガイド 2017
Infineon Technologies' 2017 Power Management Selection Guide, detailing semiconductor solutions for diverse applications such as e-mobility, industrial automation, home appliances, and consumer electronics, emphasizing efficiency, performance, and innovation.
Preview AIROC™ Bluetooth® SDK 4.7.0 Release Notes
Release notes for Infineon's AIROC™ Bluetooth® SDK version 4.7.0, detailing new features, bug fixes, supported boards, and known issues for embedded Bluetooth development.