Windows 10 TPM 2.0 Client Authentication in TLS 1.2 with RSA PSS making trouble

S1ngl3t0n 21 Reputation points
2021-07-08T07:55:53.607+00:00

Hi everyone

I just wanted let you know that we have found an error in combination with TPM-saved RSA certificates and Client Authentication on TLS1.2 with newer Windows 10 Clients (probably all after 1909).
It seems that a lot of 2.0 TPMs have a problem with RSA PSS.

I wanted to share this problem because we have spent a lot of time to identify the issue. So I hope that other admins will find this post before they spend a lot of time in troubleshooting.

The issue happens during the TLS handshake. The TPM just doesn't signs the certificate verify step as shown on this print screen:
112943-1.jpg

By disabling RSA PSS on the client, the client uses another cipher to sign the packet and then it works.
You can disable RSA PSS by following those steps:

  • Backup this key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010003
  • Under Functions remove the following signature suites from the list:
  • RSAE-PSS/SHA256
  • RSAE-PSS/SHA384
  • RSAE-PSS/SHA512
  • Reboot

After the reboot, the client uses now RSA PKCS1 and the signature step runs successful:
112928-2.jpg

The issue was initially identified on a EAP-TLS authentication for an IPSec tunnel. But the issue happens also on client certificate authentication on https websites as both use TLS for the handshake.

Keep in mind that this is only a workaround and should not be used as a final solution. We are actually still working with Microsoft on a solution.
It's still not 100% clear if it's the TPM that is making the issue or if it is the OS.

I will keep you updated...

Windows 10 Security
Windows 10 Security
Windows 10: A Microsoft operating system that runs on personal computers and tablets.Security: The precautions taken to guard against crime, attack, sabotage, espionage, or another threat.
2,926 questions
{count} votes

8 answers

Sort by: Most helpful
  1. James Edmonds 821 Reputation points
    2022-08-23T14:50:43.72+00:00

    Was there ever any proper solution to this issue?

    We are encountering this with our older TPM 1.2 devices with always on VPN tunnels using PEAP-TLS, and wondered if we could have Windows instead store certs/keys for the VPN certificates in the software crypto provider rather than TPM?

    Cheers
    James

    0 comments No comments

  2. danwheeler 10 Reputation points
    2023-01-18T23:17:03.91+00:00

    THANK YOU for this. Mystery handshake error with EAP/TLS Wi-Fi authentication to Cisco ISE on Surface Pro 4 solved instantly. (after hours of head scratching in the lab)


  3. Heinonen, Ari Seppo 0 Reputation points
    2024-07-18T10:01:25.8533333+00:00

    Thanks for the information! This caused connection problems to the AlwaysOn VPN service in Azure on our user computers that were recently updated to the Win 10 23H2 version. Manually removing those three ciphers did fix the issue. Another solution is to revert back to 22H2 update.

    The error message in Event viewer was:
    The user xxxxx dialed a connection named xxxxx which has failed. The error code returned on failure is -1878457596.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.