🇮🇷 Iran Proxy | https://www.wikipedia.org/wiki/Draft:WolfTPM
Jump to content

Draft:wolfTPM

From Wikipedia, the free encyclopedia
  • Comment: It's more like an advertisement and failed per WP:GNG. ROY is WAR Talk! 03:27, 5 December 2025 (UTC)
  • Comment: The new sources are good, but more would always help. Ping me if you're fine with it as it is, or if you want to add more sources ping me when you're done monkeysmashingkeyboards (talk) 21:34, 4 December 2025 (UTC)
  • Comment: Additional references in independent and reliable sources are needed to demonstrate notability per WP:GNG. Please remove references from GitHub, they are not useful while establishing notability. Hitro talk 11:22, 8 November 2025 (UTC)
  • Comment: These are not the sort of sources we are looking for, we need entirely independent, reliable sources. Theroadislong (talk) 21:26, 31 October 2025 (UTC)


wolfTPM
DeveloperDavid Garske
Initial releaseFebruary 6, 2018 (2018-02-06)[1]
Stable release
v3.9.2 [2] / 30 July, 2025
Written inC language
Operating systemMulti-platform
TypeSecurity library
LicenseGPL-3.0-or-later or proprietary license
Websitewww.wolfssl.com/products/wolftpm/

wolfTPM is a portable, open-source software stack that implements the Trusted Platform Module (TPM 2.0) specification for embedded and general-purpose platforms.[3]

It provides full TPM 2.0 API, backward compatibility, and a minimal dependency design suitable for Linux, Windows, real-time operating systems (RTOS), and bare-metal environments.[4]

Development and Design

[edit]

wolfTPM is written in the C programming language and organized as a layered library with hardware transport interfaces, TPM command handling, and optional wrapper functions for common cryptographic operations such as key generation, signing, and attestation.[5]

wolfTPM is designed as a portable TPM 2.0 software stack for embedded systems, implemented in native C with a low resource footprint.[6]

The stack provides the full set of TPM 2.0 commands along with example code for common use cases.[3]

wolfTPM includes wrapper functions for RSA, ECC, ECDH, AES, and key-generation operations.[6]

It supports communication with discrete TPM 2.0 devices over interfaces such as SPI and I²C and can integrate with the wolfSSL cryptographic library to enable hardware-backed key protection in TLS 1.3 connections.[7]

The library uses a single I/O callback for SPI communication with TPM hardware and has no external dependencies.[6]

wolfTPM has been used with SPI-connected TPM 2.0 modules on Raspberry Pi hardware, relying on the TPM2 Software Stack and ESAPI for command transport.[8]

The implementation includes support for vendor-specific TPM extensions, allowing device manufacturers to expose additional low-level commands for embedded use cases.[3]

A comparative study of TPM 2.0 software stacks found wolfTPM to be the only tested implementation supporting vendor-specific low-level TPM commands.[3]

wolfTPM has also been applied in prototype communication systems where TPM 2.0 features were used for secure key handling and authentication within Modbus-based networks.[9]

wolfTPM has been integrated into embedded systems research, including implementations on STM32 microcontrollers and the FreeRTOS real-time operating system to implement TPM-based secure boot and communication mechanisms.[10]

Platforms

[edit]

The library provides hardware interface examples for TPM 2.0 modules from Infineon, STMicroelectronics, Microchip, NSING Technologies, and Nuvoton, with reference ports available for platforms such as Raspberry Pi, STM32 CubeMX, Atmel ASF, Xilinx, and Infineon TriCore.[4]

Independent comparisons report that wolfTPM includes native support for Linux, Windows, Raspberry Pi, and STM32 platforms.[3]

wolfTPM has been integrated with Raspberry Pi systems using SPI-connected TPM 2.0 modules for authentication and signing workflows.[8] wolfTPM has also been used with the Infineon OPTIGA SLB 9670, an SPI-connected TPM 2.0 module commonly paired with Raspberry Pi hardware.[11]

Its hardware abstraction layer (HAL) design allows developers to adapt the stack to additional TPM devices or custom I/O interfaces through a single callback mechanism.[4]

Protocols

[edit]

The library implements the complete TPM 2.0 API set in accordance with the official specification. Supported operations include key creation, sealing and unsealing, non-volatile memory management, attestation, and certificate-signing-request generation.[5]

It also provides wrapper APIs for higher-level workflows such as TLS key usage and measured-boot implementations.[7]

wolfTPM enables integration of TPM functionality into the wolfSSL cryptographic library for TLS 1.3 client–server communication.[12]

Supported cryptographic primitives include RSA, ECC (including ECDH), AES, and HMAC.[5] Research systems using wolfTPM have employed its support for ECC key generation and ECDSA signing, including NIST P-256 curves for authentication workflows.[8]

Security

[edit]

In October 2025, a vulnerability identified as CVE-2025-7844 was reported in wolfTPM, involving improper handling of TPM command input under certain conditions. The issue was listed by both the U.S. National Vulnerability Database (NVD) and the Cybersecurity and Infrastructure Security Agency (CISA) and was patched in later releases of the library.[13][14]

Licensing

[edit]

wolfTPM is open source and dual licensed under both the GNU GPL-3.0-or-later and commercial licensing.[15]

See Also

[edit]

References

[edit]
  1. ^ "wolfTPM ChangeLog". GitHub.
  2. ^ "wolfTPM release note". GitHub.
  3. ^ a b c d e Pirker, Martin (2024). A Brief Reflection on Trusted Platform Module Support (PDF). SCITEPRESS.
  4. ^ a b c "wolfTPM".
  5. ^ a b c "wolfTPM Documentation" (PDF).
  6. ^ a b c Olivier Gilles, David Faura, and Daniel Gracia Pérez (2023). Securing communication on the field: Protecting geo-distributed computing in an untrusted environment (PDF). CEUR-WS.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  7. ^ a b Securing communication on the field: Protecting geo-distributed computing in an untrusted Environment (PDF). CEUR-WS. 2024.
  8. ^ a b c "Cryptographic Considerations for Automation and SCADA Systems Using Trusted Platform Modules". Sensors. 19 (19). MDPI: 4191. 2019.
  9. ^ "Implementation of TPM 2.0 Functions for Secure Communication in Industrial Systems". Sensors. MDPI. 2019.
  10. ^ Henrique Trevisan (2025). Estudo do TPM e RTOS para segurança cibernética em conversores estáticos (Thesis) (in Portuguese). Universidade do Estado de Santa Catarina (UDESC).
  11. ^ Bogdan Groza, Horatiu Gurban, Lucian Popa, Adriana Berdich, and Pal-Stefan Murvay (2019). Car-to-Smartphone Interactions: Experimental Setup, Risk Analysis and Security Technologies.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  12. ^ "Securing IIoT communications using OPC UA PubSub and Trusted Platform Modules". Journal of Systems Architecture. 2022.
  13. ^ "CISA Weekly Bulletin SB25-223". Cybersecurity and Infrastructure Security Agency. 2025-10-31. Archived from the original on 2025-09-15. Retrieved 2025-11-08.
  14. ^ "wolfTPM Release Notes". GitHub. Retrieved 2025-11-05.
  15. ^ "wolfTPM License Information".