Skip to content

Commit 462c1fe

Browse files
authored
Merge pull request #337 from dgarske/infineon_slb
Updates for Infineon SLB9673 (I2C)
2 parents 4cfb3a2 + bfd1205 commit 462c1fe

1 file changed

Lines changed: 52 additions & 10 deletions

File tree

README.md

Lines changed: 52 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,12 @@ We also support an advanced IO option (`--enable-advio`/`WOLFTPM_ADV_IO`), which
8484

8585
Tested with:
8686

87-
* Infineon OPTIGA (TM) Trusted Platform Module 2.0 SLB 9670 and SLB9672.
88-
- LetsTrust: [http://letstrust.de] (<https://buyzero.de/collections/andere-platinen/products/letstrust-hardware-tpm-trusted-platform-module).> Compact Raspberry Pi TPM 2.0 board based on Infineon SLB 9670.
87+
* Infineon OPTIGA (TM) Trusted Platform Module 2.0 SLB9670, SLB9672 and SLB9673 (I2C).
88+
- LetsTrust: Vendor for TPM development boards [http://letstrust.de](http://letstrust.de).
8989
* STMicro STSAFE-TPM, ST33TPHF2XSPI/2XI2C and ST33KTPM2X
9090
* Microchip ATTPM20 module
9191
* Nuvoton NPCT65X or NPCT75x TPM2.0 module
92+
* Nations Technologies Z32H330 TPM 2.0 module
9293

9394
#### Device Identification
9495

@@ -100,6 +101,10 @@ Infineon SLB9672:
100101
TPM2: Caps 0x30000697, Did 0x001d, Vid 0x15d1, Rid 0x36
101102
Mfg IFX (1), Vendor SLB9672, Fw 16.10 (0x4068), FIPS 140-2 1, CC-EAL4 1
102103

104+
Infineon SLB9673:
105+
TPM2: Caps 0x1ae00082, Did 0x001c, Vid 0x15d1, Rid 0x16
106+
Mfg IFX (1), Vendor SLB9673, Fw 26.13 (0x456a), FIPS 140-2 1, CC-EAL4 1
107+
103108
STMicro ST33TPHF2XSPI
104109
TPM2: Caps 0x1a7e2882, Did 0x0000, Vid 0x104a, Rid 0x4e
105110
Mfg STM (2), Vendor , Fw 74.8 (1151341959), FIPS 140-2 1, CC-EAL4 0
@@ -152,7 +157,7 @@ autogen.sh requires: automake and libtool: `sudo apt-get install automake libtoo
152157
--enable-tislock Enable Linux Named Semaphore for locking access to SPI device for concurrent access between processes - WOLFTPM_TIS_LOCK
153158
154159
--enable-autodetect Enable Runtime Module Detection (default: enable - when no module specified) - WOLFTPM_AUTODETECT
155-
--enable-infineon Enable Infineon SLB9670/SLB9672 TPM Support (default: disabled)
160+
--enable-infineon Enable Infineon SLB9670/SLB9672/SLB9673 TPM Support (default: disabled) - WOLFTPM_SLB9670 / WOLFTPM_SLB9672
156161
--enable-st Enable ST ST33 Support (default: disabled) - WOLFTPM_ST33
157162
--enable-microchip Enable Microchip ATTPM20 Support (default: disabled) - WOLFTPM_MICROCHIP
158163
--enable-nuvoton Enable Nuvoton NPCT65x/NPCT75x Support (default: disabled) - WOLFTPM_NUVOTON
@@ -167,15 +172,23 @@ TLS_BENCH_MODE Enables TLS benchmarking mode.
167172
NO_TPM_BENCH Disables the TPM benchmarking example.
168173
```
169174

170-
### Building Infineon SLB9670/SLB9672
175+
Note: For the I2C support on Raspberry Pi you may need to enable I2C. Here are the steps:
176+
1. Edit `sudo vim /boot/config.txt`
177+
2. Uncomment `dtparam=i2c_arm=on`
178+
3. Reboot `sudo reboot`
179+
180+
181+
### Building Infineon
182+
183+
Support for SLB9670 or SLB9672 (SPI) / SLB9673 (I2C)
171184

172185
Build wolfTPM:
173186

174187
```
175188
git clone https://github.com/wolfSSL/wolfTPM.git
176189
cd wolfTPM
177190
./autogen.sh
178-
./configure --enable-infineon
191+
./configure --enable-infineon [--enable-i2c]
179192
make
180193
```
181194

@@ -189,11 +202,6 @@ Build wolfTPM:
189202
make
190203
```
191204

192-
For the I2C support on Raspberry Pi you may need to enable I2C. Here are the steps:
193-
1. Edit `sudo vim /boot/config.txt`
194-
2. Uncomment `dtparam=i2c_arm=on`
195-
3. Reboot `sudo reboot`
196-
197205
### Building Microchip ATTPM20
198206

199207
Build wolfTPM:
@@ -437,6 +445,40 @@ ECDSA 256 verify 42 ops took 1.013 sec, avg 24.114 ms, 41.470 ops/sec
437445
ECDHE 256 agree 16 ops took 1.055 sec, avg 65.948 ms, 15.164 ops/sec
438446
```
439447

448+
Run on Infineon SLB9673 on I2C at 400kHz:
449+
450+
```
451+
./examples/bench/bench
452+
TPM2 Benchmark using Wrapper API's
453+
Use Parameter Encryption: NULL
454+
Loading SRK: Storage 0x81000200 (282 bytes)
455+
RNG 4 KB took 1.429 seconds, 2.799 KB/s
456+
Benchmark symmetric AES-128-CBC-enc not supported!
457+
Benchmark symmetric AES-128-CBC-dec not supported!
458+
Benchmark symmetric AES-256-CBC-enc not supported!
459+
Benchmark symmetric AES-256-CBC-dec not supported!
460+
Benchmark symmetric AES-128-CTR-enc not supported!
461+
Benchmark symmetric AES-128-CTR-dec not supported!
462+
Benchmark symmetric AES-256-CTR-enc not supported!
463+
Benchmark symmetric AES-256-CTR-dec not supported!
464+
AES-128-CFB-enc 4 KB took 1.022 seconds, 3.914 KB/s
465+
AES-128-CFB-dec 4 KB took 1.021 seconds, 3.916 KB/s
466+
AES-256-CFB-enc 4 KB took 1.023 seconds, 3.911 KB/s
467+
AES-256-CFB-dec 4 KB took 1.023 seconds, 3.912 KB/s
468+
SHA1 8 KB took 1.203 seconds, 6.650 KB/s
469+
SHA256 8 KB took 1.208 seconds, 6.623 KB/s
470+
SHA384 8 KB took 1.209 seconds, 6.617 KB/s
471+
RSA 2048 key gen 10 ops took 19.106 sec, avg 1910.554 ms, 0.523 ops/sec
472+
RSA 2048 Public 14 ops took 1.046 sec, avg 74.740 ms, 13.380 ops/sec
473+
RSA 2048 Private 6 ops took 1.008 sec, avg 168.057 ms, 5.950 ops/sec
474+
RSA 2048 Pub OAEP 15 ops took 1.008 sec, avg 67.231 ms, 14.874 ops/sec
475+
RSA 2048 Priv OAEP 7 ops took 1.126 sec, avg 160.789 ms, 6.219 ops/sec
476+
ECC 256 key gen 4 ops took 1.244 sec, avg 311.031 ms, 3.215 ops/sec
477+
ECDSA 256 sign 14 ops took 1.009 sec, avg 72.057 ms, 13.878 ops/sec
478+
ECDSA 256 verify 18 ops took 1.043 sec, avg 57.921 ms, 17.265 ops/sec
479+
ECDHE 256 agree 9 ops took 1.025 sec, avg 113.888 ms, 8.781 ops/sec
480+
```
481+
440482
Run on STMicro ST33TPHF2XSPI at 33MHz:
441483

442484
```

0 commit comments

Comments
 (0)