HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Windows Hello for Business WHfBTPMRequireSecurityDeviceTPM LockoutfTPMPTT

TPM and Windows Hello for Business: Require It, Diagnose It, and the Firmware-TPM Traps

IA
Imran Awan
31 July 2026

Everything that makes Windows Hello for Business (WHfB) more secure than a password comes down to one chip: the Trusted Platform Module (TPM). The TPM is what makes the private key unexportable - it never leaves the hardware, so a stolen credential cannot be replayed on another machine. But the TPM is also where a surprising number of Hello problems start: software-key fallback you did not intend, a lockout that blocks PIN entry, and firmware-TPM quirks on consumer hardware. This post explains how WHfB uses the TPM, how to require it properly, and how to diagnose the TPM-side failures.

The problem: "Hello isn't asking for hardware"

Two failure shapes bring admins here. The first is silent and dangerous: WHfB provisioned a credential in software because the device had no usable TPM, and nobody required hardware - so the "unexportable key" security guarantee simply is not there. The second is loud: a user cannot enter their PIN at all, or Hello throws errors, because the TPM has gone into lockout after too many failed operations. Same chip, opposite symptoms.

Why it happens: the TPM is optional unless you make it mandatory

During provisioning, WHfB generates the credential's key pair and, if a TPM is present, the TPM generates and seals the private key so it can never be exported. If the device has no usable TPM, WHfB will - by default - fall back to generating and encrypting the key in software. That fallback keeps Hello working on TPM-less hardware, but a software key does not carry the anti-theft guarantee. The default is "prefer TPM, accept software," and only a policy makes it "require TPM."

Watch out: If you have not set the Use a hardware security device policy (RequireSecurityDevice), some of your fleet may be running WHfB on software keys and you would never know from the portal. On those devices the credential is no more hardware-bound than a stored secret. Require the security device explicitly - do not assume every device provisioned into the TPM.

How WHfB uses the TPM

The mechanics are worth understanding because they explain both the security and the failure modes. The credential's protector key (tied to your PIN or biometric) performs a TPM seal operation using the gesture as entropy - so the key can only be released on this TPM, by this gesture. TPM-enabled devices also generate an attestation block proving the key really lives in hardware. That seal is the anti-replay property: move the on-disk data to another machine and it is useless, because the sealing TPM is not there.

Note: WHfB supports TPM 1.2 and 2.0, but TPM 1.2 only allows RSA and SHA-1 and has inconsistent lockout behaviour across implementations - which causes real support pain. Microsoft recommends excluding TPM 1.2 from provisioning. In practice, require TPM 2.0 and let the handful of ancient 1.2 devices fall out of scope deliberately rather than misbehave.

How to verify: diagnose the TPM state

Get-Tpm is the one command that answers "is the TPM present, ready, and healthy?" The fields that matter: TpmPresent, TpmReady, and the lockout fields:

Windows PowerShell (Administrator)
PS C:\> Get-Tpm TpmPresent : True # a TPM exists TpmReady : True # and it is usable by WHfB LockedOut : False # True here = PIN/Hello operations blocked LockoutCount : 0 LockoutHealTime : 0 minutes # how long until it self-heals ManufacturerVersion : 7.2

If LockedOut : True, the TPM has seen too many failed authorisation attempts and has throttled itself - that is why the PIN is being rejected. Most TPMs self-heal after a cooldown (LockoutHealTime); the fix is usually to wait, not to reset anything. A cleared or reset TPM, by contrast, destroys the sealed keys and forces re-provisioning of Hello for every user on the device - so clearing the TPM is a last resort, not a first step.

The fix, part 1: require the TPM

The Intune Settings Catalog toggle lives here:

Intune admin centerDevices › ConfigurationSettings catalogWindows Hello for BusinessRequire Security Device = true

Set the hardware-security-device policy so provisioning only happens on a usable TPM, and optionally exclude TPM 1.2:

ChannelSettingValue
Intune (Settings Catalog)Windows Hello for Business › Require Security Devicetrue
CSP.../PassportForWork/{TenantId}/Policies/RequireSecurityDeviceTrue
CSP (exclude 1.2).../PassportForWork/{TenantId}/Policies/ExcludeSecurityDevices/TPM12True
Group PolicyComputer Config › Admin Templates › Windows Components › Windows Hello for Business › Use a hardware security deviceEnabled
Gotcha: Requiring the security device means devices without a working TPM will not provision Hello at all - they stay on password. That is the correct security outcome, but it is also a support surprise if a batch of older or virtual machines silently stops offering Hello. Confirm your hardware actually has TPM 2.0 before you enforce, so "require" does not translate to "a chunk of the fleet can't use Hello."

Group Policy writes the requirement to the registry, which is where you can confirm it actually applied:

Registry Editor — applied hardware-device requirement
HKLM\SOFTWARE\Microsoft\Policies\PassportForWork\<TenantId>\Device\Policies
RequireSecurityDevice REG_DWORD 0x00000001 # 1 = TPM required, no software fallback

The fix, part 3: know the firmware-TPM quirks

Many business laptops do not have a discrete TPM chip - they use a firmware TPM baked into the CPU: Intel Platform Trust Technology (PTT) or AMD firmware TPM (fTPM). These are legitimate TPM 2.0 implementations, but they have known real-world quirks:

Watch out: Treat any firmware/BIOS update on your fleet as a potential TPM-clearing event. If Hello breaks for every user on a device right after a firmware update, the fTPM/PTT was almost certainly cleared - the credentials are gone and users must re-provision. This is not a WHfB bug; it is the seal working exactly as designed against a TPM that is no longer the same TPM.

Proof it worked

A correctly hardware-backed device shows Get-Tpm with TpmPresent : True, TpmReady : True, LockedOut : False; the WHfB policy shows RequireSecurityDevice enforced; and provisioning succeeded (so the key is sealed in hardware, not software). On a TPM-less device with the requirement enforced, Hello correctly does not provision - which is the intended, secure result.

Tip: Audit for software-key devices before you tighten. Run Get-Tpm across the fleet first: any device reporting TpmPresent : False or TpmReady : False is a candidate for a software-key Hello credential today. Fix the TPM state (enable PTT/fTPM in firmware, update firmware) on those devices before you flip RequireSecurityDevice, so you harden the credential rather than just knocking those users off Hello.

References

PowerShell Scripts — TPM + WHfB Health

Script for this post is in Daily-Tasks.

Get-TpmWhfbHealth.ps1 — read-only: reports TPM present/ready/lockout, version and manufacturer, the RequireSecurityDevice policy, and whether the Hello key is likely hardware- or software-backed
View all scripts on GitHub
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Windows Hello for Business
Inside the NGC Container: Why 'Just Delete the Ngc Folder' Is…
The NGC container is where your WHfB private key lives - and 'just delete the Ngc folder'…
Windows Hello for Business
dsregcmd /status Decoded: The Complete Field Reference for WHfB…
One command answers more WHfB questions than any portal - and its forty-plus fields come…
Windows Hello for Business
The Complete Windows Hello for Business Event ID Catalog (Across…
WHfB logs to three different places with cryptic IDs and no index. This catalog maps…