@@ -100,7 +100,7 @@ <h2 id="qubes-contents-heading">Contents</h2>
100100 </ li >
101101
102102 < li class ="toc-level-2 ">
103- < a href ="#qubes-7 "> TPM 1.2/2.0 requirements</ a >
103+ < a href ="#qubes-7 "> Anti Evil Maid and TPM 1.2 requirements</ a >
104104 </ li >
105105
106106 < li class ="toc-level-2 ">
@@ -663,7 +663,7 @@ <h2 id="qubes-6">6 - Hardware support and compatibility problems</h2>
663663 when stable IOMMU, SLAT, and all Qubes OS features are required without
664664 workarounds. Having 100% compatibility with the Linux kernel in its
665665 latest version + Qubes OS in its latest version + IOMMU + SLAT + HVM (+
666- TPM 2.0 if you want it ) is a real Russian roulette.</ p >
666+ TPM 1.2 and Intel TXT if you use AEM ) is a real Russian roulette.</ p >
667667
668668 < p > < a href ="https://www.qubes-os.org/hcl/ "> Qubes OS community hardware
669669 compatibility list (HCL)</ a >
@@ -856,52 +856,41 @@ <h2 id="qubes-6">6 - Hardware support and compatibility problems</h2>
856856 </ section >
857857
858858 < section aria-labelledby ="qubes-7 ">
859- < h2 id ="qubes-7 "> 7 - TPM 1.2/2.0 requirements</ h2 >
859+ < h2 id ="qubes-7 "> 7 - Anti Evil Maid and TPM 1.2 requirements</ h2 >
860860
861- < p > Qubes OS needs TPM 1.2 support to implement the basics of AEM (Anti
862- Evil Maid). Without it, the system is presented as highly vulnerable to
863- physical attacks. My criticism is simple: a system praised as secure
864- can become very weak once physical compromise enters the threat model,
865- yet it "requires" more proprietary and vulnerable code to "protect"
866- itself?</ p >
861+ < p > Qubes OS itself does not require a TPM. Its optional Anti Evil Maid
862+ (AEM) package requires a TPM 1.2 interface and a working Intel TXT
863+ engine; it does not use TPM 2.0. Without AEM, Qubes OS remains
864+ vulnerable to physical attacks such as an Evil Maid attack.</ p >
867865
868866 < p > < a href =
869867 "https://doc.qubes-os.org/en/latest/user/security-in-qubes/anti-evil-maid.html ">
870868 Anti Evil Maid (AEM) package</ a >
871869 </ p >
872870
873- < p > But that is not the problem. The real problem is that TPM2 adds more
874- code, firmware, and initrd complexity (tpm2-tss, stack integration,
875- dracut/hooks, crypttab, signed UKIs and operational dependencies). That
876- raises the boot-time attack surface and operational fragility.
877- Misconfiguration can also break boot or weaken security. TPM2 relies on
878- vendor (closed-source) firmware and tpm2-tss implementations. Firmware
879- or vendor backdoors/bugs in TPM microcode are a single point of
880- persistent compromise. If TPM firmware (or Intel PTT/ME interactions)
881- is compromised (even remotely), TPM attestation/sealing can be
882- subverted and used to hide persistent tampering from the user.</ p >
883-
884- < p > Many TPM vulnerabilities have already emerged and require more
885- patches from vendors. If you don't have supported hardware, you will be
886- out of date in security fixes (this happens sooner or later).</ p >
871+ < p > But that is not a defense. AEM adds a dependency on TPM 1.2, Intel
872+ TXT, firmware, and a separate boot-time security workflow. That adds
873+ proprietary code, operational complexity, and more ways for
874+ misconfiguration to break boot or weaken security. Firmware or vendor
875+ bugs in the TPM or Intel TXT chain can become a persistent compromise
876+ point and can subvert the measurements AEM relies on.</ p >
877+
878+ < p > Many TPM vulnerabilities have already emerged, which require more
879+ patches from vendors, and if you don't have supported hardware, you will
880+ be out of date in security fixes sooner or later.</ p >
887881
888882 < p > The TPM acts more like a backdoor than anything else. TPM
889- manufacturers/suppliers have a unique identification key (EK) that, if
890- linked to an actual identity or shared with third parties, could allow
891- device identification or correlation. These keys can be easily
892- discovered through the operating system (especially Windows), and
893- malware could use this to totally deanonymize a Qubes OS user in the
894- future through the TPM unique ID, which consists of hardware
895- identifiers. That is, if you did not buy your device in a 100%
896- anonymous way, it's over. Not to mention all the other remote
897- vulnerabilities involving TPM.</ p >
898-
899- < p > This could easily be mitigated if Qubes OS did not support TPM or
900- most TPM-based features (like OpenBSD, whose TPM "Functionality is
901- limited to instructing the device to save its state before a system
902- suspend."), so it would be impossible to access such keys without
903- physical access. And TPM 2.0 is even worse than 1.2: much more code and
904- complexity (in other words, much more attack surface).</ p >
883+ manufacturers and suppliers have a unique endorsement key (EK) that, if
884+ linked to an actual identity or shared with third parties, can allow
885+ device identification or correlation. A privileged attacker may be able
886+ to access TPM material through the operating system; this creates an
887+ additional privacy and persistence risk for a Qubes OS user.</ p >
888+
889+ < p > Qubes OS could avoid this dependency by providing a physical-attack
890+ mitigation that does not require TPM or Intel TXT. Instead, AEM
891+ requires hardware and firmware that ordinary users cannot meaningfully
892+ audit. That is more code and complexity, and therefore more attack
893+ surface.</ p >
905894
906895 < p > More on this topic from an authority in the field: < a href =
907896 "https://www.youtube.com/watch?v=t1eX_vvAlUc "> Rob Braxman video: "Your
0 commit comments