Eine sichere Zuflucht für Apps und Daten

Asylo: Googles Baukasten für das Erstellen von Trusted Execution Environments

Marcel Richters
Asylo

© Shutterstock.com / Matt Gibson

Mit Asylo stellt Google ein Framework und SDK zur Verfügung, mit dem sich einfacher sogenannte Trusted Execution Environments (TEEs) erstellen lassen sollen. Das Besondere dabei: Es bedarf keiner besonderen Kenntnisse oder Hardware mehr. Und bald sollen sich sogar fertige Anwendungen absichern lassen.

Asylo, das ist der griechische Begriff für „sicherer Ort“ – und genau den möchte Google mit seinem neuen Framework und SDK für Anwendungen und Daten bieten. Kern sind die Trusted Execution Environments (TEEs): sichere Laufzeitumgebungen, die unter ihnen befindliche Layer wie Treiber, Betriebssystem und Firmware vor Angriffen schützen.

Indem sie sogenannte Enklaven zur Verfügung stellen, helfen TEEs auch, das Risiko von Angriffen von innen oder durch unautorisierte Dritte zu verhindern. Mit dem Framework bietet Google nach eigenen Angaben Features und Dienste, um Kommunikation zu verschlüsseln und den Code zu verifizieren, der in einer Enklave läuft.

Damit soll die Entwicklung und Anwendung von TEEs unabhängig werden von spezialisiertem Wissen und Tools. Außerdem will Google TEEs von spezifischer Hardware loslösen und die Zugänglichkeit der Technik verbessern, sowohl vor Ort als auch für die Cloud. So soll Asylo helfen, Anwendungen zu bauen und sie für verschiedene Soft- und Hardware portierbar zu machen.

Um das zu erreichen, wird mit Asylo ein Docker Image über die Google Container Registry bereitgestellt. In diesem sind alle Abhängigkeiten vorhanden, um den Container überall auszuführen. Damit sollen die Vorteile verschiedener Hardwarearchitekturen nutzbar werden, ohne dass der Quellcode modifiziert werden muss.

Die wichtigsten Klassen für das Entwickeln und den Betrieb einer Enklave sind die folgenden:

  • TrustedApplication
  • Dies ist die vertrauenswürdige Komponente einer Enklavenanwendung, die für sensitive Berechnungen verantwortlich ist.

  • EnclaveClient
  • Dies ist die nicht gesicherte Komponente einer Enklavenanwendung, die für Nachrichten zwischen den vertrauenswürdigen Komponenten verantwortlich ist.

  • EnclaveManager
  • Dies ist das Einzelobjekt, das im ungesicherten System für das Management der Laufzeit der Enklaven und die gemeinsamenm Ressourcen zwischen den Enklaven verantwortlich ist.

Das Asylo-API und Nachrichtenweitergabe bildlich dargestellt. / Quelle: Google

Asylo 0.2 & beyond

In der aktuellen Version 0.2 bietet Asylo die Möglichkeit, Anwendungen in portierbaren Enklaven zu erstellen. Für die nahe Zukunft kündigt Google an, dass auch existierende Anwendungen ohne Probleme in Enklaven kopiert werden können. Lediglich das Backend soll spezifiziert werden und ein Rebuild erfolgen. Auch an der Integration von AMD Secure Encryption Virtualization (SEV) und Intel® Software Guard Extensions (Intel® SGX) und anderen verbreiteten Hardwarelösungen wird gearbeitet.

Für den Einstieg in Asylo bietet Google vorbereitete Container in der Google Container Registry. Außerdem steht ein Quickstart Guide zur Verfügung. Wer möchte, kann sich auf der Mailing-Liste eintragen oder im GitHub-Repository mitarbeiten. Und natürlich hat Asylo auch eine eigene Website. Mit seiner Apache-2.0-Lizenz ist Asylo selbstverständlich Open Source.

Geschrieben von
Marcel Richters
Marcel Richters
Marcel hat Soziologie an der Goethe-Universität in Frankfurt am Main studiert und danach als E-Commerce-Manager gearbeitet. Seit Februar 2018 unterstützt er das Team von JAXenter als Redakteur. Daneben arbeitet er als freier Journalist in der Mainmetropole.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: