element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Industrial Automation
  • Technologies
  • More
Industrial Automation
Blog Infineon SLx9670 Trusted Platform Module (TPM) for IoT Security
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Industrial Automation to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Jan Cumps
  • Date Created: 23 May 2021 5:24 PM Date Created
  • Views 2481 views
  • Likes 4 likes
  • Comments 0 comments
  • infineon
  • slb9670
  • smartedge
  • trusted_platform_module
  • tpm
Related
Recommended

Infineon SLx9670 Trusted Platform Module (TPM) for IoT Security

Jan Cumps
Jan Cumps
23 May 2021

A hardware and Linux software look into a Trusted Platform Module authentication example for Linux.

Side story for Connect to AVNET iotconnect.io with Node-RED - part 10: Trusted Platform Module (TPM) Security.

  • check the schematics
  • run integration tests on the actual device, on Linux.

 

image

image source: TPM on Avnet SmartEdge, taken by me with a tablet and a magnifying glass

 

The TPM IC that I'm reviewing is the Infineon SLB 9670SLB 9670 (datasheet).

It is built into Avnet's SmartEdge IIoT Gateway. The SmartEdge is an industrial design based on A Raspberry Pi 3 Compute module.

For standard Raspberry and Compute boards, there is an evaluation board from Infineon, with the same device (software instructions here).

 

image

image source: Infineon Evaluation Board for OPTIGATm Trusted Platform Module documentation

 

I haven't buzzed out the connections on the SmartEdge yet. It definitely doesn't have the Reset jumper and the related button.

On the Infineon evaluation board, the pins are broken out like this:

image

image source: Infineon Evaluation Board for OPTIGATm Trusted Platform Module documentation

 

The layout is not complex. The SPI lines, power, reset and interrupt.

The footprint isn't difficult either.

 

Linux Device

 

Although the IC is a SPI device, you do not talk to it directly on Linux.

When installed correctly, the 9670 driver (part of core Linux) uses a character device to interact:

 

image

 

Low level direct interaction is possible:

image

 

When you want to check the higher level API,s check the source of the test suite in the next section.

 

Hardware test suite to test standard compliance

 

I have used the TPM module in a real scenario, using Avnet's IoTConnect SDK (the Python and Node-RED flavours).

There is also a test suite available on GitHub. As part of my review, I've cloned the repository, and executed the mandatory tests.

In order to complete the exercise, I had to update the AutoConfig version from within the tpm2-tss directory (instructions), and install these packages:

 

sudo apt install acl
sudo apt-get install libjson-c-dev
sudo apt-get install -y uthash-dev

 

Although not used, I had to download software TPM simulator, make it and add the location of the binary to my path.

 

export PATH="/home/avnet/develop/tpm/ibmtpm1661/src:$PATH"

 

Then, I set up the sources, configured for testing the actual hardware device, and executed the tests:

 

./bootstrap
# prepare and run software - simulation test
./configure --enable-unit --enable-integration --enable-self-generated-certificate
make -j$(nproc) check
# prepare and run hardware test
./configure --with-device=/dev/tpm0 --with-devicetests="mandatory,optional"
sudo make check-device

 

image

image source: starting to run the "mandatory" TPM test suite on my actual hardware

 

Result of Mandatory and Optional tests on the Infineon hardware:

image

image source: starting to run the "mandatory" TPM test suite on my actual hardware

 

Results of the test with the software simulation, using the IBM TPM simulator:

image

image source: executing the "mandatory" TPM test suite with software simulator

 

This software emulator is not something to use in production. But a great tool to develop TPM software solutions on generic hardware.

 

One of the test logs:

image

The "failed to stop ..." line is normal. Because we use a hardware TPM IC and not a software simulation daemon, there is no process related to the simulator running.

 

Infineon Utilities

 

Infineon has an evaluation project on GitHub.

 

git clone https://github.com/Infineon/eltt2.git
cd eltt2
make

 

image

 

 

The Python SDK with On Semiconductor RSL10 BLE article series Industry
part 1: overview and goal
part 2: WiFi Provisioning
part 3: Adding a Module (RSL10)
part 4: Talk BLE to the On Semi RSL10 Sensor Kit
part 5: A Cloud User Experience Example
part 6: Register as a Gateway Device
part 7: Register a Gateway and Client Devices
part 8: Get BLE Image from Camera and Send to Cloud
The NODE-Red SDK article series Industry
part 1: overview and goal
register a Thing and connect to IoTConnect.io cloud
part 2: create an account and log on to the portal
part 3: set up the thing and its interface in the cloud
part 4: set up Node-RED and first exchange
interact with IoTConnect.io cloud
part 5: online dashboard
part 6: rules and alerts
part 7: messages and commands from the cloud
safer connections with certificates
part 8a: safer connect with Self Signed Certificates
part 8b: safer connect with CA certificates Y
commercial and industrial scale: outsource certificate generation and programming to subcontractors and suppliers
part 9a: Outsource Certificate Signing in IIoT Supply Chain Y
part 9b: IIoT supply chain and Certificates - Create Ca Root certificate, Load to IoTConnect Cloud and Validate Y
part 9c: IIoT supply chain and Certificates - Create an Intermediate CA Certificate for your Subcontractor Y
part 9d: IIoT supply chain and Certificates - Subcontractor Generates a Thing Certificate for Your Device Y
part 9e: IIoT supply chain and Certificates - Test! Y
commercial and industrial scale: Trusted Platform Module (TPM) Authentication
part 10: Trusted Platform Module (TPM) Security Y
Infineon SLx9670 Trusted Platform Module (TPM) for IoT Security Y
Infineon Trust Platform Module + Raspberry Pi 3 B - Review (road test) Y
Infineon SLx9670 Trusted Platform Module (TPM) on Debian 11 "bullseye" - part1: OS and Azure Cloud validation Y
Infineon SLx9670 Trusted Platform Module (TPM) on Debian 11 "bullseye" - part2: Trusted Software Stack (tss) Y
Infineon SLx9670 Trusted Platform Module (TPM): TSS Programming in C, with cross-compile and remote debug in Eclipse Y
part 11: Act as Gateway with Clients Y
The Automate Device Provisioning and Cloud Configuration article series Industry
Automatic Provisioning with REST API Y
  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube