Generated by GPT-5-mini| tpm2-tools | |
|---|---|
| Name | tpm2-tools |
| Developer | Trusted Computing Group contributors, IBM, Intel, Google (company), Red Hat |
| Released | 2014 |
| Programming language | C (programming language) |
| Operating system | Linux, FreeBSD |
| Platform | x86-64, ARM architecture |
| Genre | Security (computer), Cryptography |
| License | BSD licenses |
tpm2-tools
tpm2-tools is an open-source suite of command-line utilities implementing client-side operations for the Trusted Platform Module 2.0 specification. It provides an operational interface for platform integrators, system administrators, and developers to perform tasks related to hardware-based cryptography, secure boot, measured boot, and key management on platforms that include a TPM 2.0 device. The project interoperates with firmware vendors, kernel subsystems, and enterprise vendors to enable platform attestation, sealing, and credential provisioning.
tpm2-tools exposes TPM 2.0 capabilities through a set of user-space commands that invoke the TPM via an underlying software stack. The tools rely on a TPM access layer and middleware provided by vendors and open-source projects, integrating with kernel drivers and user-space libraries to perform operations such as key generation, signing, encryption, policy management, and attestation. They serve as a bridge between hardware implementations from manufacturers and higher-level systems from organizations such as Microsoft, Google (company), Red Hat, and Canonical that build security features into operating systems and cloud platforms.
Development of the toolset began following the ratification of the TPM 2.0 specification by the Trusted Computing Group to replace earlier TPM 1.2 tooling ecosystems. Early contributions came from engineering teams at IBM, Intel, and security-focused organizations collaborating to define interoperable command semantics. The project has evolved through coordinated patches, design discussions, and versioned releases tied to changes in the upstream TPM specification and implementations in firmware projects like Coreboot, UEFI, and platform initiatives from Dell, HP, and Lenovo. Community-driven governance models and contribution processes attracted maintainers from companies such as Red Hat and Google (company) to ensure compatibility with kernel subsystems maintained by contributors from Linux kernel organizations and distribution vendors like Debian, Fedora, and Ubuntu.
tpm2-tools implements a wide set of TPM 2.0 commands mapped to user-friendly operations. Core features include Endorsement Key handling, Attestation Identity Key operations, creation and loading of primary and child keys, PCR (Platform Configuration Register) reads and extends, sealed object creation and unsealing based on PCR policies, and cryptographic primitives such as RSA, ECC, and HMAC. The suite also includes utilities for persistent object management, session handling, policy composition, and credential activation. Integration points extend to firmware and OS components such as Secure Boot implementations in UEFI firmware, measured boot chains involving Linux kernel extensions, and key provisioning workflows used by cloud providers like Amazon Web Services, Microsoft Azure, and Google Cloud Platform.
The project is organized as numerous discrete commands that each map to TPM functions. Commands cover lifecycle operations (create, load, flush), cryptographic actions (sign, encrypt, decrypt), policy and session management (startauthsession, policycommandcode), and diagnostics (getrandom, getcapability). Administrators and developers invoke these tools in scripted workflows tied to system initialization, provisioning, or attestation services provided by enterprises such as VMware or orchestration systems like Kubernetes. Common usage patterns include generating attestation quotes for integrity checks, sealing secrets to PCR values during manufacturing at vendors such as Foxconn or Quanta Computer, and integrating with configuration management tools produced by Ansible and Puppet.
At runtime the tools interact with a TPM device through a stack typically composed of a kernel driver, an access broker, and a TPM library. Implementations of the access and library layers include projects maintained by tpm2-tss contributors, vendor-provided firmware, and kernel modules in the Linux kernel. The modular architecture permits alternative transports such as SPI, I2C, or TPM over TCP proxies used in virtualized environments offered by QEMU and KVM. Integration points also exist for higher-level identity and key management systems from vendors like Okta, Yubico, and HashiCorp that leverage TPM-backed keys for secure credential storage and attestation workflows.
The security model implemented by the tools derives from the TPM 2.0 specification's root of trust for measurement and storage. Keys can be created such that private material never leaves the TPM, enabling attestation and unforgeable sealing tied to platform state. Policy mechanisms allow composition of authorization conditions tied to PCR values or external authorization structures used in supply-chain scenarios involving vendors like Foxconn, Pegatron, and Wistron. Threat models addressed include tamper-resistance against local adversaries, mitigation of software compromise through measured boot attestation, and protection of long-term keys in cloud onboarding scenarios championed by providers like Microsoft Azure and Amazon Web Services.
Adoption spans laptop and server manufacturers, enterprise IT departments, cloud providers, and open-source projects building secure provisioning and attestation pipelines. Use cases include disk encryption key protection in conjunction with LUKS and dm-crypt, platform attestation for fleet integrity monitoring used by Google (company) and Microsoft, secure credential provisioning for IoT devices manufactured by companies such as Arm Holdings partners, and hardware-backed signing for secure boot and firmware validation in projects like Coreboot and Chromium OS. The tools are also used in academic and research settings studying hardware roots of trust by groups at institutions like MIT, Stanford University, and University of Cambridge.
The codebase is distributed under permissive BSD licenses and accepts contributions from individual and corporate contributors. The project's governance encourages code review, issue tracking, and maintenance by contributors affiliated with organizations such as IBM, Intel, Red Hat, and independent developers. Packaging and distribution are handled by major distributions including Debian, Fedora, openSUSE, and Ubuntu, enabling downstream projects and vendors to incorporate TPM functionality into commercial and open-source offerings.
Category:Security software