E



TPM / HSM Modul

Die Integrität der Software wird am Besten durch Hardware basierte Vertrauensanker in Form eines Trusted Platform Modules (TPM) oder eines HSM realisiert. Ein HSM / TPM ist ein dediziertes vertrauenswürdiges Hard- oder Softwaremodul, das eine sichere Verwaltung kryptografischer Schlüssel, Verschlüsselung- und Signaturoperationen, sowie einen sicheren Speicher bereitstellt.

 

Secure Boot

Beim secure boot Prozess werden nur signierte Software Komponenten (Bootloader, Kernel, rfs etc.) geladen. Dies ist ein sehr empfehlenswerter, erster Schritt, um die Sicherheit des Gerätes gewährleisten zu können. Dieses Vorgehen ist relativ einfach umzusetzen, beinhaltet aber möglicherweise einige Restriktionen in Bezug auf die Lizenzpflichten von Open Source Software.
Das Ergebnis ist ein manipulationssicheres Gerät.

 

Measured Boot

Mittels eines von der Trusted Computing Group standardisierten Measured Boot Prozess wird beim Start des Systems die Integrität aller Betriebssystemkomponenten verifiziert und die Hashwerte der einzelnen Software Komponenten in den sog. PCR-Registern hinterlegt. Diese Werte können lokal oder auch zur RemoteAttestation verwendet werden, um die Integrität des Software-Stacks nachzuweisen. Bei dieser Vorgehensweise kann sichergestellt werden, dass alle Lizenzpflichten erfüllbar sind.

 

Disk und Anwendungs-Verschlüsselung 

Das HSM/TPM Modul wird auch zur sicheren Aufbewahrung der Schlüssel für die Verschlüsselung von Daten und Programmen auf dem Gerät eingesetzt. Damit kann die nicht autorisierte Vervielfältigung der Anwendung (also des Know-Hows) und (oder der daten wirkungsvoll verhindert werden. Und im Falle von IoT Geräten wird damit eine Device Identifizierung und Authentifizierung ermöglicht (siehe dazu auch Secure Device Onboarding).

TPM Alternativen

Anstelle der Hardware-Module kann hier auch eine Kombination von TrustZone und TEE im Falle einer ARM Architektur genutzt werden. Eine weitere Möglichkeit bietet der Einsatz von TZ und einer eMMC mit RPMB (replay protect memory block) Funktionalität.

User Land Sicherheit

User space Integrity – secure boot, dm-verity, white listing (Kombination aus IMA, Linux Security Module wie apparmor, SELinux usw.), control flow integrity (CFI) – zum großen Teil machbar mit Hilfe von LSM durch Definition, welche Programme von welchen Prozessen gestartet werden dürfen, und verfeinert mit seccomp Filtern, die festlegen, welche syscalls die Programme aufrufen dürfen [für den Kernel gilt das leider nicht].