TPM 2 on USB stick possible for W11???

  • Release Candidate 6
    Guest:
    We are at a “proposed final” true release candidate with nothing known remaining to be changed or fixed. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
    /Steve.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in:

    This forum does not automatically send notices of new content. So if, for example, you would like to be notified by mail when Steve posts an update to his blog (or of any other specific activity anywhere else), you need to tell the system what to “Watch” for you. Please checkout the “Tips & Tricks” page for details about that... and other tips!

    /Steve.

coffeeprogrammer

Well-known member
Jul 19, 2021
116
11
I am in absolutely no hurry to upgrade to Windows 11, I still use a Windows XP VM and a Windows 7 VM. Really the only thing I use Windows 10 is for Zoom and newer versions of Vs. I did run 11 in a VM early on but I deleted because I did really need it or use it. I also use Linux. I believe my current workstation can have a TPM 2 module added to the motherboard, but my guess it this machine will never run Windows 11 as the primary OS. My question is this, I know some machines can take TPM 2 add in module that go directly on the motherboard, but could a company invent a TPM 2 on a USB stick for laptops and ease of installation on desktops? I think the CPU model plays a role. Just wondering, I don't need anything like this soon, but it would be nice if that were an option. I checked online is there does not seem to be any agreement. I thought Steve might have a clear answer if it is even possible.
 
Surely someone could put the TPM hardware on a USB stick, and certainly an OS could have the driver to look for it there. The crucial bit of the issue is the "T"... the TRUST. One aspect of the trust is that the OS needs to trust the device will always be available. It would probably kill the OS if it was relying on a trusted device to be present at all times and you could easily pull it away by pulling it out of the USB port at any time.
 
TPM almost always runs on a special bus, only either brought out on dedicated CPU pins, or as part of the CPU package itself. Separate trusted bus, either SPI or LPC, which is basically a bus that is direct from the South Bridge that has things like BIOS, all the original ISA peripherals that are in the PC, like counters, timers, interrupt controllers and legacy keyboard and mouse connections. Basically the parts that are basic to the very operation and support of the computer, along with most of the on board sensors. Hard to bring out to USB, as by definition these devices are core peripherals, and can only be changed during power off, and are using code running in ring 0 of the processor.

To split it off to USB means having to write ring 0 code that can both enumerate USB, coexist with user level USB control code (very difficult to split this, you will introduce massive instability with every code change on user side that varies any entry points used) and also allow hot plugging to work, and not crash hard when a USB peripheral changes state or address. Basically near impossible, and very likely to only run on a very tiny subset of machines, without a near total rewrite for each different south bridge chipset, and each BIOS revision. Even a microcode update may break it, or even any update that touches the kernel and moves any of the code entry points for USB, IO or disk interaction.