Frage

Ich frage mich, ob es möglich ist, TPM zu programmieren ( http://en.wikipedia.org/wiki/)Trusted_Platform_Module ) ist in den meisten Intel-Chips so vorhanden, dass:

- decide what to store in the persistent memory
- decide which cryptographic algorithms to implement.

Offensichtlich sollte es nicht umprogrammierbar sein, sobald es funktioniert (wissen Sie, ob diese Aussage korrekt ist?).

War es hilfreich?

Lösung

Das Verhalten eines TPM wird durch die von der Trusted Computing Group herausgegebenen Spezifikationen definiert. Ein TPM muss sich genau wie angegeben verhalten, damit Sie die Funktionalität eines ordnungsgemäß implementierten TPM nicht ändern können. Die Hersteller von TPMs können ihre Produkte nach dem Versand nur eingeschränkt aktualisieren. Zum Beispiel bietet Infineon Firmware-Updates für ihre Geräte an.

Intel TPMs können jedoch unterschiedlich sein. Einige Chipsätze enthielten ein emuliertes / Software-TPM anstelle eines tatsächlichen Hardware-TPM. Diese TPMs können mit einem BIOS-Update aktualisiert werden. Aber auch in diesem Fall muss das Update von Intel bereitgestellt werden. Neuere Boards wie das DQ67SW verfügen über eigenständige Hardware-TPMs, die nicht von Intel hergestellt wurden.

Die Antwort auf Ihre zweite Frage lautet also: Nein, Sie können die kryptografischen Algorithmen , die ein TPM verwendet, nicht programmieren / definieren.


Zu Ihrer ersten Frage: Ja, Sie können festlegen, was in gewissem Umfang im persistenten Speicher gespeichert werden soll. Dieser Speicherbereich wird als nichtflüchtiger Speicher oder NV bezeichnet. Sie müssen zuerst mit dem Befehl TPM_NV_DefineSpace etwas Speicherplatz definieren. Anschließend können Sie mit TPM_NV_ReadValue und TPM_NV_WriteValue vom / zum Speicherort lesen und schreiben. Durch das Definieren wird eine bestimmte Speichermenge in NV reserviert und auch die Sicherheitsattribute dieses Speicherorts eingerichtet. Bei diesen Befehlen handelt es sich um TPM-Befehle auf niedriger Ebene. Es wird dringend empfohlen, einen Trusted Software Stack (TSS) zu verwenden, um eine Schnittstelle zum TPM herzustellen. Sie können entweder jTSS mit jTpmTools oder TrouSerS .

Einige Hinweise zu NV:

  • In der NV ist der Speicherplatz sehr begrenzt, aber die genaue Menge ist herstellerspezifisch (normalerweise weniger als 5 KB). Die Mindestmenge für die PC-Plattform beträgt 2048 Byte.
  • Das TPM ist ein passives Gerät und kann ohne einen Befehl nichts tun. Wenn Sie etwas im TPM speichern möchten, benötigen Sie ein aktives Teil (BIOS, Software, Chipsatz, CPU), das diese Befehle ausgibt.
  • Selbst die meisten kryptografischen Schlüssel werden nicht im TPM gespeichert. Es gibt eine Schlüsselhierarchie und nur der Stammschlüssel (Storage Root Key - SRK) wird im TPM gespeichert. Alle anderen Schlüssel werden verschlüsselt im Freien gespeichert.

Andere Tipps

Das TPM soll nicht programmierbar sein. Es gibt einen festen Satz unterstützter Algorithmen. Der Code wird im ROM gespeichert (oder, falls nicht, in einem EEPROM, das sich in einem etwas manipulationssicheren Paket befindet und nicht überschrieben werden kann).

Das TPM definiert verschiedene Verwaltungsrollen. Wenn Sie es zum ersten Mal verwenden, richten Sie Administratorkennwörter ein (oder Ihre Software erledigt dies für Sie. In diesem Fall sollten Sie diese Kennwörter sorgfältig sichern). Wenn Sie sich beim Empfang des TPM nicht sicher sind, können Sie es auf die werkseitigen Standardeinstellungen zurücksetzen (alle vorhandenen Schlüssel und Anmeldeinformationen löschen). Dies wird als Löschen des TPM bezeichnet und erfolgt normalerweise über das BIOS.

Eine Übersicht über die verschiedenen vom TPM gespeicherten und verwendeten Anmeldeinformationen finden Sie in den Anmeldeinformationsprofilen . Zusätzlich zu den Schlüsseln, die Teil des normalen Lebenszyklus sind, können Sie mit dem RNG des TPM eigene Schlüssel importieren und nicht exportierbare Schlüssel erstellen.

Es gibt ein standardmäßiges TPM-Schutzprofil . Ich weiß nicht, ob Intels TPM in Bezug darauf bewertet wurde. Abbildung 1 ist ein Diagramm des TPM-Lebenszyklus, das zeigt, wann Schlüssel generiert werden können.

In der Praxis werden Sie wahrscheinlich über TrouSerS (eine vollständig Open-Source-TPM-API) mit dem TPM interagieren. oder in begrenztem Umfang über Bitlocker unter Windows.

Ja, Sie können den TPM-Chip für genau diese und viele weitere Vorgänge verwenden.

Der TrouSerS -Stack ist eine Open-Source-Implementierung des Trusted-Computing-Software-Stacks, der für die Verwendung des Stacks erforderlich istTPM-Chip zuverlässig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top