Trusted Execution Environment
# Trusted Execution Environment

Eine Trusted Execution Environment (TEE) stellt eine sichere bzw. vertrauenswürdige Laufzeitumgebung für Applikationen zur Verfügung. Dabei kann ein TEE isoliert auf einem separaten Prozessor, direkt auf dem Hauptprozessor(en) eines Computersystems oder aber in einem Die eines Multiprozessor-Systems bzw. eines Ein-Chip-Systems (SoC) existieren. Auf dem TEE können nur speziell dafür freigeschaltete Applikationen ausgeführt werden.

Das TEE-Konzept verfeinert das Konzept des Trusted Computing. Ein oder mehrere vertrauenswürdige Laufzeitumgebungen können parallel existieren, daneben können noch weitere unsichere oder ungeschützte Umgebungen existieren.

## Technologien

Je nach Hersteller existieren zur Realisierung eines TEE verschiedene Technologien.

* AMD:
   * Platform Security Processor (PSP), ein zusätzlicher ARM-basierter Sicherheitsprozessor. Einen Überblick in deutscher Sprache gibt es hier.
   * Secure Extension Mode (SEM)
   * Secure Memory Encryption (SME)
* ARM:
   * TrustZone
* Intel:
   * Trusted Execution Technology (TXT)
   * Intel Active Management Technology
   * Software Guard Extensions (SGX)
* MIPS:
   * Virtualisierung

## Abgrenzung zu anderen Technologien

Ein Hypervisor alleine stellt noch kein TEE bereit. Er kann zwar verschiedene Betriebssysteme auf einem Prozessor ausführen, die Isolierung ist jedoch auf den Prozessor beschränkt. Ein TEE umfasst auch Peripheriegeräte, die zwischen Zugriffen aus sicheren und nicht-sicheren Applikationen oder Betriebssystemen unterscheiden können.

Auch ein TPM alleine stellt noch kein TEE dar, da auf dem Chip selber keine Applikationen ausgeführt werden können. Ein TPM kann jedoch von TEE verwendet werden, z. B. bei Intels TXT Konzept.

Chipkarten, USB-Tokens oder Hardware-Sicherheitsmodule stellen ein TEE dar, bieten wegen der fehlenden Ein- und Ausgabekomponenten (Tastatur, Monitor) jedoch nur beschränkte Möglichkeiten. Darüber hinaus sind sie oft nur für einen bestimmten Zweck ausgelegt und bieten keine freie Programmierbarkeit. Bei Chipkarten oder Token können sich aus der im Vergleich zum Hauptprozessor geringen Rechenleistung und Speicherkapazität weitere Einschränkungen ergeben.

## Anwendungen

Die TEE-Technologie kommt heute hauptsächlich auf Smartphones und Tablets zum Einsatz, z. B. für DRM. Die Weiterentwicklung und Standardisierung dieser Technologie ist von entscheidender Bedeutung für Anwendungen wie Mobile-Banking und NFC-Zahlungsmöglichkeiten. Auch das Konzept Bring your own device (BYOD), die Schaffung eines privaten Bereiches parallel zu einem sicheren Bereich für Firmendaten, stützt sich auf das TEE-Konzept.

## Standardisierung

Der Industrieverband Global Platform, der auch Spezifikationen für Laufzeitumgebungen auf Chipkarten und herausgibt, arbeitet an einer Standardisierung von TEEs in folgenden Bereichen:

* Laufzeitumgebung für Applikationen
* Installation und Verwaltung von Applikationen

Eine Definition des Trusted Execution Environment im Sinne von GlobalPlatform wurde 2011 in einem White Paper zusammengefasst.

Im Rahmen der Linaro-Initiative existiert auch eine Arbeitsgruppe, die den Zugriff auf ARM TrustZone basierte TEEs von Linux aus standardisiert.

