This page provides instructions on how to install and configure the Raspberry Pi® to enable the OPTIGA™ TPM 2.0 in order to use the OPTIGA™ TPM 2.0 Explorer.
- Prerequisites
- Enable OPTIGA™ TPM 2.0 support on Raspberry Pi
- Interface Set Up
- Install OPTIGA™ TPM 2.0 Explorer
- References
- Raspberry Pi® 3 Model B+ / Raspberry Pi® 4 Model B
- Micro SD card (≥8GB) flashed with Raspberry Pi® Bullseye OS (Released on 2022-09-26). Download the official image from [1].
- OPTIGA™ TPM 2.0 evaluation board
Table 1 shows a summary of the hardware and environment used.
Hardware | Version and Firmware/OS | Comment |
---|---|---|
Host PC | Running Linux/Windows®, for example Ubuntu® 18.04 above or Windows 10 as long as VNC viewer is present | This platform is used for interacting with the Raspberry Pi® in a more convenient and faster way compared to doing all actions directly on the Raspberry Pi®. |
OPTIGA™ TPM 2.0 evaluation board | • IRIDIUM9670 TPM2.0 LINUX • OPTIGA™ TPM SLB 9672 RPI evaluation board |
These boards contains Infineon OPTIGA™ TPM SLB 9670/72 TPM2.0 mounted on an easy-to-use hardware board, which can be attached to the Raspberry Pi®. |
Raspberry Pi® Board | • Model 3 B+/ 4 B, Bullseye OS (2022-09-26) • Micro SD Card with at least 8 GB • Micro-B/ Type C USB cable for power supply |
A SD card with Raspberry Pi® Bullseye OS and kernel version 5.15.61 on it is required, which can be downloaded at [1]. This SD card will be plugged in the developer PC |
Table 2 shows a summary of the software used.
Software | Version | Comment |
---|---|---|
tpm2-tools | 5.2 | https://github.com/tpm2-software/tpm2-tools Tag: ebd59ef827f1fc8e0efa43f9cade4d3d7efee59a |
tpm2-abrmd | 2.4.1 | https://github.com/tpm2-software/tpm2-abrmd Tag: 71bfb9457267683e1f6a6dea42622442a62203a5 |
tpm2-tss | 3.2.0 | https://github.com/tpm2-software/tpm2-tss Tag: e237e4d33cbf280292a480edd8ad061dcd3a37a2 |
tpm2-tss-engine | 1.1.0 | https://github.com/tpm2-software/tpm2-tss-engine Tag: 6f387a4efe2049f1b4833e8f621c77231bc1eef4 |
Insert the flashed SD card and boot the Raspberry Pi®.
Open the configuration file in an editor:
sudo nano /boot/config.txt
Insert the following lines to enable SPI and TPM( for SLB9670 and SLB9672):
dtoverlay=tpm-slb9670
Save the file and exit the editor.
This step will guide you on how to enable the SPI interface needed for TPM and VNC connection to allow easy access from your computer to RPI. This step requires a flashed MicroSD with the Raspberry Pi® image [1] in an RPI3/4 and VNC Viewer installed on your computer.
Start-up the Raspberry Pi® with HDMI cable to monitor and start the terminal.
Figure 1: RPI Home Screen on monitor
Enter the Raspberry Pi® Software Configuration Menu
sudo raspi-config
Select option 5 Interfacing Options.
Figure 2: Raspberry Pi® Software Configuration Tool
Select P2 SSH and enable.
Figure 3: SSH Selection
Figure 4: SSH Enable
Select P3 VNC and enable.
Figure 5: VNC Selection
Figure 6: VNC Enable
Select SPI and enable.
Figure 7: SPI Selection
Figure 8: SPI Enable
Select finish and return to the terminal
Figure 9: Raspberry Pi® Terminal
Connect the RPI to local wireless AP. Enter "hostname -I" into the terminal and copy the IP address.
hostname -I
192.168.###.###
Paste the IP Address of RPI3 into VNC Viewer and connect.
Figure 10: VNC Viewer Connection Screen
Enter the Username and the Password.
Username: pi
Password: Enter your RPI password
Figure 11: VNC Viewer Authentication Menu
You should be successfully connected and able to view the RPI through VNC connection on your device.
Figure 12: RPI Home Screen on VNC Viewer
Download TPM Explorer Source Code (Approx. 175MB):
via: https://github.com/Infineon/optiga-tpm-explorer/releases
or
via https:
git clone https://github.com/Infineon/optiga-tpm-explorer.git
via ssh:(Need to setup SSH keys associated with your account)
git clone [email protected]:Infineon/optiga-tpm-explorer.git
Execute Installation script:
cd optiga-tpm-explorer
./installation_script.sh
The installation script installs the following dependencies required and compiles the source code for the OPTIGA™ TPM 2.0 Explorer Application.
- python-wxtools
- tpm2-tss
- tpm2-tools
- tpm2-abrmd
- tpm2-tss-engine
Once complete, to run from binary:
cd ~/optiga-tpm-explorer/Python_TPM20_GUI/bin
python main.pyc
To run from start up script:
go to your home directory and access the file called TPM_Explorer.
Figure 13: TPM_Explorer File Directory
Next, access the file called Python_TPM20_GUI.
Figure 14: Python_TPM20_GUI File Directory
Next, enter the bin file.
Figure 15: Python_TPM20_GUI Bin File Directory
Execute "start_gui.sh" and select execute in terminal.
Figure 16: Selecting start_gui.sh
Figure 17: Executing start_gui.sh in terminal
A terminal will pop up and the OPTIGA TPM 2.0 Explorer interface will be open.
Figure 18: Home Screen of OPTIGA TPM 2.0 Explorer
For more information on the OPTIGA™ TPM 2.0 Explorer, please refer to the OPTIGA™ TPM 2.0 Explorer User Guide.