Skip to content

Add Support for External TPM 2.0 Module (Adafruit Breakout) #11

@mbz4

Description

@mbz4

Add Support for External TPM 2.0 Module (Adafruit Breakout)

Summary:
Consider integrating a hardware TPM (Trusted Platform Module) into the Robot Study Companion (RSC) project for enhanced security and future-proofing.

Image


What is a TPM?

A TPM (Trusted Platform Module) is a specialised chip that provides hardware-based security by:

  • Securely storing encryption keys, passwords, and certificates.
  • Providing integrity checks (e.g., measured boot).
  • Protecting against tampering and unauthorized firmware changes.
  • Enabling secure authentication and data encryption.

Why Add a TPM to the RSC?

Potential benefits:

  • Secure storage of sensitive data (e.g., authentication tokens, certificates, student data).
  • Verify firmware integrity at boot time.
  • Protect remote communication (e.g., robot-server, robot-student apps).
  • Enable secure firmware updates.
  • Provide a foundation for future research into secure educational robotics.

Notes on Current Hardware

  • The Raspberry Pi 4B currently used in the RSC does not include a built-in TPM.
  • TPM functionality can be added using an external SPI TPM module.
  • Adafruit's TPM 2.0 Breakout Board (Infineon SLB 9670) is a suitable candidate.

Integration Plan (Future Work)

  • Connect the TPM breakout to the Raspberry Pi 4B via the SPI bus.
  • Implement basic TPM interaction libraries in Python (e.g., using tpm2-pytss or direct SPI communication).
  • Define use cases (e.g., key storage, secure messaging).
  • Test and document TPM initialisation and key management for the RSC platform.

References

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions