TPM Software

Microsoft
TPM Stack

  • Richest TSS implementation
  • Cross-platform capable
  • Well documented C# and C++
GITHUB
IBM
TPM Stack

  • Own API equivalent to  ESAPI
  • Remote attestation example
  • Brief documentation
SOURCEFORGE
INFINEON / INTEL
TPM Stack

  • ESAPI Interface, FAPI in development
  • Overall most contributors
  • Doxygen documentation
GITHUB
WolfTPM
TPM Stack

  • Direct TPM interface using TIS
  • Small footprint and memory needs
  • OK for Embedded Systems
GITHUB
Google
TPM Stack

  • Direct TPM interface in Go using TIS
  • Remote attesatation example
  • Memory-safe language
GITHUB
TPM.dev
COMING SOON

  • To be decided
  • For remote attestation applications
  • Minimal codebase
JOIN THE DISCUSSION
Microsoft
Return code decoder

  • Helps understand TPM error codes
  • Cross check with TPM specification
GITHUB
IBM
TPM Simulator

  • Can be used with most TPM stacks
  • Microsoft donated part of the code
SOURCEFORGE
Intel
TPM 2.0
Tools

  • Big number of TPM2.0 examples
  • Some important tools need refactoring
GITHUB
Microsoft
TPM 2.0 parser

  • Parse TPM2.0 command and response
  • Useful for debugging with HW TPM
GITHUB
Infineon technologies
ELTT 2

  • Uses TIS to send TPM commands
  • Testing and diganostic of TPM modules
GITHUB
GOOGLE
TPM Simulator

  • Interactive web TPM 2.0 simulator
  • Contains ready for use examples
GITHUB
IBM

Client & Server


  • Uses IBM's TPM Stack
  • Demo included, Web GUI included
  • Brief documentation
SOURCEFORGE
MOC & REDHAT

Keylime


  • Uses Intel/TCG's TPM Stack
  • Demo included, console UI
  • Long and detailed documentation
GITHUB
GOOGLE

Go-Attestation


  • Uses Google's TPM Stack
  • Demo instructions
  • Funfact: Used on 20,000 servers
GITHUB
Microsoft
TPM 2.0 parser

  • Parse TPM2.0 command and response
  • Useful for debugging with HW TPM
GITHUB
TPM DEVELOPER
Are there more tools?

  • Let us know if you need different tool or software
  • This is an ongoing list of TPM tools
MAKE A PROPOSAL
TPM.DEV
Are there more tools?

  • Let us know if you need different tool
  • This is an ongoing list of TPM tools
Make a proposal

Terminology

SAPI ESAPI FAPI

Defined by the Trusted Computing Group(TCG), each abstraction layer adds onto the previous one and adds new software functionalities


FAPI - Functional API
ESAPI - Enhanced SAPI
SAPI - System API Interface

TCTI

Standardized API for compatibility across platforms, also defined by TCG

On top of the TCTI typically stands SAPI

TIS

TPM Interface Specification, the low-level interface used between a device and the TPM.

The lowest possible abstraction between a programmer and any Trusted Platform Module