Ich sehe, dass immer mehr PCs mit Firmware-basiertem TPM (fTPM) ausgeliefert werden, z. die Intel NUC .
Soweit ich weiß, emulieren diese Lösungen praktisch einen TPM-Chip unter Verwendung der speziellen Anweisungen der CPU ( ARM TrustZone oder Intel SGX ). Dies macht fTPM zu einer billigeren und einfacheren Lösung, da kein weiterer Chip im System erforderlich ist.
Diskrete TPM-Chips bieten jedoch einen gewissen Schutz vor physischen Angriffen, aber ich verstehe nicht, wie Ist dies mit aktuellen fTPM-Implementierungen möglich?
Zum Beispiel geben die Autoren in dieses Dokuments zu diesem Thema ausdrücklich an, dass diese Form des Angriffs wurde nicht berücksichtigt:
[…] Wir verteidigen uns jedoch nicht gegen Leistungsanalysen oder andere Sidechannel-Angriffe, die physischen Zugriff auf Hardware oder Hardwaremodifikationen erfordern
In diesem Dokument werden auch eine Reihe von Mängeln für einen Intel SGX-basierten Ansatz aufgeführt. Werden diese Einschränkungen durch die spätere Entwicklung behoben? Platform Trust Technology (PTT), Vielleicht?
Oder fehlt mir etwas und die vom fTPM generierten privaten Schlüssel können auch bei physischem Zugriff nicht gelesen werden?
Kommentare
- Viele Mütter Boards mit einem Hardware-TPM sind auch anfällig für physische Angriffe. Selbst wenn das TPM selbst gehärtet ist – was AFAIK viele nicht ' t – ist der Bus zwischen der CPU und dem TPM normalerweise nicht ' t, Selbst wenn der Angreifer ' den Schlüssel nicht aus dem TPM extrahieren kann, kann er davon ausgehen, dass sich die CPU in einem guten Zustand befindet, und das TPM-Zeichenmaterial erstellen.
Antwort
Jede Software-Implementierung ist schwächer als die Hardware-Implementierung. Wenn ein echter Chip für tpm so konstruiert ist, dass er selbst physischen Manipulationen standhält, ist die CPU ein Allzweckchip und kann leicht zurückverfolgt werden.
Kommentare
- Eine Software-Implementierung ist nicht unbedingt schwächer als eine Hardware-Implementierung. Sowohl in der Software als auch in der Hardware gibt es schlechte Lösungen. Haben Sie eine Quelle, die behauptet, dass eine fTPM-Lösung gegen diese Angriffsform nicht resistent ist?
- @AlexeyVesnin OP erwähnt TrustZone und SGX, die keine normalen Anweisungen sind, die Sie emulieren können. Sie bieten eine einfache, aber dennoch HW-basierte Vertrauensbasis, auf die sich die TPM-Firmware stützen kann. Mit anderen Worten, ein fTPM wird nicht rein in Software ausgeführt.
- SGX und mehrere TZ-Implementierungen verschlüsseln den Speicherbus: Abhören führt zu keinen Informationen. Tatsächlich sind sie dadurch möglicherweise sicherer als die Implementierung von TPM über einen separaten Chip auf dem Motherboard.
- Was meinen Sie mit " kann dies leicht sein verfolgt "? Das macht keinen Sinn. Ganz zu schweigen davon, dass ein dTPM (insbesondere vor Version 1.2) anfällig für Plattform-Reset-Angriffe ist, die sich nicht auf fTPM auswirken.
- Aber es ist in der CPU gespeichert. Ich meine, technisch gesehen ist es im Chipsatz gespeichert (da die CPU ein bestimmter Teil des Chipsatzes ist), aber es ist in der physischen Komponente selbst gespeichert, die manipulationssicher ist. Sie können ' Traces nicht mehr überwachen, um die Schlüssel abzurufen, als Sie Daten zwischen dem PCH und der CPU abfangen können. Um die Schlüssel zu erhalten, müssten Sie entweder 1) die CPU angreifen, um sie zu gefährden (Glitching usw.), 2) sie mit JTAG debuggen oder 3) sie physisch enthaupten und an die internen mikroskopischen Spuren gelangen. Es gibt keinen exponierten Bus, der die Schlüssel trägt, wie es für den LPC auf einem dTPM der Fall ist.