<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[wolfSSL - Embedded SSL Library — Announcing wolfTPM v4.0.0]]></title>
		<link>https://www.wolfssl.com/forums/topic2513-announcing-wolftpm-v400.html</link>
		<atom:link href="https://www.wolfssl.com/forums/feed-rss-topic2513.xml" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Announcing wolfTPM v4.0.0.]]></description>
		<lastBuildDate>Fri, 24 Apr 2026 16:54:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Announcing wolfTPM v4.0.0]]></title>
			<link>https://www.wolfssl.com/forums/post8798.html#p8798</link>
			<description><![CDATA[<p><a href="https://www.wolfssl.com/products/wolftpm/">wolfTPM v4.0.0</a> is our largest release to date. It delivers three headline capabilities:</p><ul><li><p><strong>Firmware TPM (fwTPM)</strong> – a portable TPM 2.0 built on wolfCrypt.</p></li></ul><ul><li><p><strong>SPDM Secured Transport</strong> – encrypted host-to-TPM communication.</p></li></ul><ul><li><p><strong>ST33 TPM 2.0 Firmware Update</strong> – new update tool for STMicro ST33KTPM2X.</p></li></ul><p>All three are powered by the same wolfCrypt engine trusted in FIPS 140-3 and DO-178C DAL A deployments.</p><p><span class="bbu"><strong>Feature 1: Firmware TPM (fwTPM)</strong></span><br />The fwTPM is a portable TPM 2.0 command processor. It is implemented entirely on top of wolfCrypt. It covers 105 of 113 commands in the TPM 2.0 v1.38 specification (93%). The full object, session, policy, attestation, PCR, and NV families are included.</p><p>Use it as a drop-in replacement for a discrete TPM chip. Or use it in CI as a replacement for external simulators like the Microsoft TPM simulator and IBM swTPM.</p><p><strong>Why It Matters</strong><br /></p><ul><li><p><strong>Reduce BOM and physical attack surface</strong>. Parts that never shipped with a TPM can now gain TPM services. No extra chip. No exposed bus.</p></li></ul><ul><li><p><strong>Portability</strong>. The same fwTPM runs on a Cortex-M in TrustZone, a dedicated RPU on an MPSoC, a hardened RISC-V core, or an FPGA soft core.</p></li></ul><ul><li><p><strong>Supply-chain integrity</strong>. Your TPM becomes part of your signed firmware image. No separate silicon vendor in the trust path.</p></li></ul><ul><li><p><strong>Same crypto you already trust</strong>. RSA, ECC, SHA-2/3, AES, and HMAC all come from the FIPS 140-3 wolfCrypt module, qualifiable to DO-178C DAL A for avionics.</p></li></ul><p><strong>Where fwTPM Runs</strong></p><p>fwTPM is designed to live in an isolated execution environment. Proven homes include:<br /></p><ul><li><p><strong>Microchip PolarFire SoC (MPFS250T)</strong> – Run in FPGA with Mi-V RISC-V soft-core or run in a dedicated core (E51 Monitor or U54)</p></li></ul><ul><li><p><strong>Arm TrustZone-M</strong>. Reference port on STMicro STM32H5 (NUCLEO-H563ZI). TrustZone-M gives isolated code, data, flash, and crypto peripherals.</p></li></ul><ul><li><p><strong>AMD/Xilinx Zynq UltraScale+ MPSoC and Versal Gen 1 / Gen 2</strong>. Multiple deployment options on the same part: Arm TrustZone on the APU, a dedicated Cortex-R5F (UltraScale+) or R52 (Versal Gen 2) on the RPU, or a MicroBlaze V (RISC-V) soft core.</p></li></ul><ul><li><p><strong>AMD Spartan UltraScale+</strong> (MicroBlaze V or Cortex-M1 soft core)</p></li></ul><ul><li><p><strong>Altera Agilex 5</strong> (Nios V soft core). TPM functionality entirely inside programmable logic.</p></li></ul><p><strong>Integration</strong><br /></p><ul><li><p><strong>Transports</strong>: Socket mssim or swtpm (auto detected), shared memory IO and register-level TIS for bare-metal SPI, I2C or UART.</p></li></ul><ul><li><p><strong>NV storage</strong>: File-backed on hosted systems. HAL callback for embedded flash. TLV journal format suits wear-levelled flash.</p></li></ul><ul><li><p><strong>Footprint knobs</strong>: Features can be disabled if not required to reduce code size. Attestation, Policy, NV, Credential, Dictionary Attack.</p></li></ul><p><span class="bbu"><strong>Feature 2: SPDM Secured Transport</strong></span><br />When a TPM speaks to its host over a PCB trace, that trace is attackable. SPDM closes the gap. Commands and responses ride over a vendor-defined TCG channel. The channel is encrypted with AES-256-GCM and integrity-checked on every packet.</p><p><strong>What’s New</strong><br /></p><ul><li><p><strong>Vendors</strong>: Nuvoton NPCT75x and Nations Technologies NS350. (More coming soon)</p></li></ul><ul><li><p><strong>Session modes</strong>:<br /></p><ul><li><p>Identity-key mode over ECDH P-384, on both NPCT75x and NS350.</p></li></ul><ul><li><p>PSK mode on NS350.</p></li></ul></li></ul><ul><li><p><strong>Auto-connect with SPDM-only lock-down</strong>. Once locked, wolfTPM establishes the encrypted session on every open. Plaintext commands are rejected.</p></li></ul><ul><li><p><strong>New spdm_ctrl utility</strong>. Full lifecycle: enable, disable, provision PSK, clear PSK, lock, unlock.</p></li></ul><p><strong>Why It Matters</strong><br />Anywhere the TPM is physically accessible – servers in colocation, defense platforms, medical devices, industrial controllers, in-vehicle ECUs – SPDM closes the last-inch attack surface.</p><p><span class="bbu"><strong>Feature 3: ST33 TPM 2.0 Firmware Update</strong></span><br />STMicro’s ST33KTPM2X introduced a new Generation 2 firmware format using LMS signing. wolfTPM v4.0.0 adds the st33_fw_update example tool for supporting firmware updates on older Gen 1 and newer Gen 2 firmware versions. See examples/firmware/README.md for usage.</p><p><span class="bbu"><strong>Other v4.0.0 Release Improvements</strong></span></p><p><strong>New HALs</strong><br /></p><ul><li><p>Raspberry Pi 4 hardware SPI</p></li></ul><ul><li><p>U-Boot (tpm_io_uboot.c)</p></li></ul><ul><li><p>Espressif ESP-IDF SPI</p></li></ul><ul><li><p>Linux auto-detection between /dev/tpmX and direct SPI</p></li></ul><p><strong>Hardening</strong><br /></p><ul><li><p>Fenrir and Coverity findings addressed across tpm2_wrap, tpm2_packet, tpm2_asn, NV, session auth, SPDM, and fwTPM paths.</p></li></ul><ul><li><p>ForceZero on every sensitive stack buffer.</p></li></ul><ul><li><p>Constant-time export for ECDH shared secrets and ECC signature r/s.</p></li></ul><ul><li><p>Short-circuit OR removed from all auth paths.</p></li></ul><ul><li><p>Bounds checks and NULL-deref guards across ASN.1, PCR, and key-load code.</p></li></ul><p><strong>CI</strong><br /></p><ul><li><p>ASan and UBSan sanitizer jobs.</p></li></ul><ul><li><p>Pedantic gcc and clang matrices.</p></li></ul><ul><li><p>macOS and Windows fwTPM builds.</p></li></ul><ul><li><p>Weekly libFuzzer plus per-PR smoke.</p></li></ul><p><span class="bbu"><strong>Coming Soon: TPM 2.0 v1.85 Post-Quantum</strong></span></p><p>Right behind this release. Post-quantum algorithms from TPM 2.0 v1.85 are landing in both the fwTPM server and the wolfTPM client library:<br /></p><ul><li><p><strong>ML-KEM (Kyber)</strong> for key encapsulation</p></li></ul><ul><li><p><strong>ML-DSA (Dilithium)</strong> for signatures</p></li></ul><p>Why now? Harvest-Now-Decrypt-Later (HNDL) mitigation for long-lived device identity keys. Deploy fwTPM today. Get a drop-in PQC upgrade path without respinning silicon.</p><p><span class="bbu"><strong>Getting Started</strong></span><br /></p><div class="codebox"><pre><code>git clone https://github.com/wolfSSL/wolfTPM.git
cd wolfTPM
git checkout v4.0.0
./configure --enable-fwtpm
make &amp;&amp; make check</code></pre></div><ul><li><p>Source and tag: <a href="https://github.com/wolfSSL/wolfTPM">https://github.com/wolfSSL/wolfTPM</a> (tag v4.0.0)</p></li></ul><ul><li><p><a href="https://github.com/wolfSSL/wolfTPM/blob/master/ChangeLog.md">Changelog</a>: ChangeLog.md</p></li></ul><ul><li><p><a href="https://github.com/wolfSSL/wolfTPM/blob/master/src/fwtpm/README.md">fwTPM deep-dive</a>: src/fwtpm/README.md</p></li></ul><ul><li><p><a href="https://github.com/wolfSSL/wolfTPM/blob/master/src/spdm/README.md">SPDM deep-dive</a>: src/spdm/README.md</p></li></ul><ul><li><p><a href="https://github.com/wolfSSL/wolfTPM/blob/master/examples/firmware/README.md">ST33 firmware update</a>: examples/firmware/README.md</p></li></ul><p>For commercial licensing, FIPS 140-3 integration, DO-178C DAL A qualification kits, custom HAL ports, or early access to the v1.85 PQC branch, contact <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or +1 425 245 8247.</p><p><strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></description>
			<author><![CDATA[null@example.com (shizuka)]]></author>
			<pubDate>Fri, 24 Apr 2026 16:54:56 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8798.html#p8798</guid>
		</item>
	</channel>
</rss>
