Systemdesign

Viele vertrauenswürdige Umgebungen

28. August 2019, 15:33 Uhr | Von Boran Car und Cesare Garlati

Fortsetzung des Artikels von Teil 1

Software teilt Hardware in sichere Zonen

 Die Multizonen-Sicherheitskonfiguration sorgt für eine sichere Isolation der Funktionsblöcke und steuert die Kommunikation
Bild 1. Die Multizonen-Sicherheits-konfiguration sorgt für eine sichere Isolation der Funktionsblöcke und steuert die Kommunikation.
© Hex Five

Auf der Software-Seite wird die Multi­Zone Security TEE eingesetzt, um die Hardware in vier separate Zonen auf­zuteilen (Bild 1). Die Anwendung, der sichere TCP/IP-Server, die Root of Trust und die UART erhalten alle ihre separaten Zonen und kommunizieren nach einem klar definierten sicheren Protokoll. Dieses Protokoll basiert auf der vom TEE bereitgestellten InterZone-Mes­senger-Schicht mit einem einfachen Schema zur Unterstützung von Nachrichtenbestätigungen.

Multizonen-Nachrichten sind in ihrer Größe festgelegt und in 16 Byte langen Datagrammen organisiert. Bild 2 zeigt, wie die vier 4-Byte-Blöcke für die Machbarkeitsstudie organisiert wurden, um ein einfaches Rückstau-Routing (Backpressure) zu implementieren. Der Absender sendet eine Nachricht an das Ziel und wartet auf die Empfangsbestä­tigung, bevor er eine neue Nachricht sendet. Der Empfänger quittiert die Daten durch Beantwortung der Nachricht. Die getrennten ACK- und MSG-Zähler unterstützen getrennte FIFO-Strukturen für Produzent und Konsument und eine konfigurierbare Anzahl von Meldungen auf dem Übertragungsweg vor dem Rückstau.

Anbieter zum Thema

zu Matchmaker+
Die InterZone-Nachrichten haben eine feste Länge von 16Byte: vier Blöcke zu je 4Byte
Bild 2. Die InterZone-Nachrichten haben eine feste Länge von 16Byte: vier Blöcke zu je 4Byte.
© Hex Five

Die Anwendungszone reagiert auf die Benutzerbefehle, meldet den Status der an die Interrupts angeschlossenen Taster auf dem Modul und steuert in Echtzeit die Bewegungen eines über SPI angeschlossenen Roboterarms. Dies soll ein typisches industrielles IoT-Szenario demonstrieren, das Fähigkeiten zur lokalen Erfassung und Betätigung sowie die Fernsteuerung über eine sichere Internetverbindung beinhaltet.

Zunächst wurde die eigenständige Anwendung nur für die UART-Kommunikation geschrieben und getestet. Dann wurde das vollständig verlinkte, ausführbare Programm in die MultiZone TEE »fallen gelassen«, um ihre sicherheitskritische Steuerungslogik von der Internetverbindungszone zu entkoppeln, die aus der Ferne angegriffen wird.

Der für die Machbarkeitsstudie gebaute Multizonen-Prototyp basiert auf dem FPGA-Modul Arty von Digilent und steuert einen Roboterarm
Bild 3. Der für die Machbarkeitsstudie gebaute Multizonen-Prototyp basiert auf dem FPGA-Modul Arty von Digilent und steuert einen Roboterarm.
© Hex Five

Für die internetexponierte Zone wurde für die Machbarkeitsstudie der TCP/IP-Stack picoTCP [12] ausgewählt, weil er Open Source, leicht und hochgradig konfigurierbar ist (Bild 3). Für die TLS-Bibliothek fiel die Wahl auf wolfSSL [13], sie ist ebenfalls Open Source und leicht mit picoTCP zu kombinieren. Darüber hinaus wurde für die Machbarkeitsstudie ein einfacher Telnet-Server entwickelt, um die Verbindung einzurichten und Daten von und zur Anwendungszone weiterzuleiten.

Die minimalistische Implementierung der Root of Trust basiert auf einem einmal programmierbaren Speicher, der dauerhaft die Zertifikate speichert, die zur Sicherung der TLS-Kommunikation erforderlich sind. Die Isolierung in einer separaten Zone ermöglicht es, hardwaregestützte Methoden anzuwenden, um den Zugriff auf die Zertifikate nur von der TCP/IP-Serverzone aus zu ermöglichen.

Die UART-Zone bietet einen unabhängigen lokalen Seitenbandkanal, um die Funktion der MultiZone TEE über eine einfache Benutzerkonsole zu überprüfen und zu bewerten.

Isolation von Funktionsblöcken ohne großen Aufwand

Die Machbarkeitsstudie zeigt, wie sich eine typische IoT-Anwendung in einer Reihe von unabhängigen, physisch isolierten Funktionsblöcken – den Zonen – sichern lässt, ohne die Kosten und Komplexität, die für veraltete proprietäre Codebausteine (Primitive) typisch sind. Für die Machbarkeitsstudie wurden innovative Open-Source-Techniken angewendet, darunter RISC-V-Prozessoren, MultiZone Security TEE, picoTCP, wolfSSL und FreeRTOS.

Zur Weiterentwicklung bieten sich das Hinzufügen von OpenSSH-Zugriffen, die Unterstützung von Krypto-Beschleunigern und eine leistungsfähigere
Implementierung des zonenübergreifenden Nachrichtensynchronisationsprotokolls an. Darüber hinaus könnten UART-, Root-of-Trust- und TCP/IP-Zonen als wiederverwendbare Multizonen-Komponenten zusammengefasst werden, ähnlich wie Docker-Container für Silizium.

 

Literatur

[1] Mittal, S.; Tam, T. W.; Ko, C.: Internet of Things – The Pillar of Artificial Intelligence. DBS Group Research, Sector Briefing 63, Juni 2018, www.dbs.com/aics/templatedata/article/generic/data/en/GR/062018/180625_insights_internet_of_things_the_pillar_of_artificial_intelligence.xml
[2] Karliner, O.: FreeRTOS TCP/IP Stack Vulnerabilities Put A Wide Range of Devices at Risk of Compromise: From Smart Homes to Critical Infrastructure Systems. Zimperium, 18.10.2018, https://blog.zimperium.com/freertos-tcpip-stack-vulnerabilities-put-wide-range-devices-risk-compromise-smart-homes-critical-infrastructure-systems
[3] Huang, J.: F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems. 1.1.2014, www.slideshare.net/jserv/f9-microkernel
[4] Huang, J.; Lu, L.: Secure Microkernel for Deeply Embedded Devices. FOSDEM 2017, Konferenzarchiv, https://archive.fosdem.org/2017/schedule/event/microkernel_microkernel_for_embedded_devices
[5] Saltzer, J. H.: Protection and the Control of Information Sharing in Multics. Communication of the ACM, 1974, H. 7, S. 388–402, DOI: 10.1145/361011.361067, https://dl.acm.org/citation.cfm?id=361067
[6] Sidecar-Muster. Microsoft Azure, https://docs.microsoft.com/de-de/azure/architecture/patterns/sidecar
[7] Song, J.: Understanding How Envoy Sidecar Intercept and Route Traffic in Istio Service Mesh. 27.12.2018, https://jimmysong.io/en/posts/understanding-how-envoy-sidecar-intercept-and-route-traffic-in-istio-service-mesh/
[8] Evans, C.: vsftpd – Design. https://security.appspot.com/vsftpd/DESIGN.txt
[9] sifive / freedom –the RTL created by SiFive for its Freedom E300 and U500 platforms. SiFive, https://github.com/sifive/freedom
[10] Arty: The most adaptable development platform for your project toolbox. Digilent, https://store.digilentinc.com/arty
[11] hex-five / multizone-fpga – X300 a modified version of SiFive‘s Freedom E300 Platform to support MultiZone and IoT applications. Hex Five Security, https://github.com/hex-five/multizone-fpga
[12] tass-belgium / picotcp – a size, speed and feature conscious open source TCP/IP stack for embedded devices. Altran Intelligent Systems Benelux, https://github.com/tass-belgium/picotcp/wiki
[13] Embedded TSL Library. wolfSSL, www.wolfssl.com

 

Die Autoren

 

 

 

Boran Car von Hex-Five
Boran Car von Hex-Five.
© Hex Five

Boran Car

unterstützt Hex Five derzeit bei der Markteinführung der MultiZone Sicherheitstechnik. Car engagiert sich leidenschaftlich für Open Source und möchte ein gesundes Wirtschaftsökosystem fördern, das einerseits Open Source und andererseits sicher bis zum Transistor ist.
boran@hex-five.com

 

Cesare Garlati von prpl Foundation
Cesare Garlati von prpl Foundation.
© Hex Five

Cesare Garlati

ist ein international anerkannter Experte in der Informationssicherheit. Bevor er Chefstratege für Sicherheit bei der prpl Foundation wurde, war er als Vizepräsident für mobile Sicherheit bei Trend Micro tätig. Garlati ist ein langjähriger Unterstützer der RISC-V Foundation, ein wichtiges Mitglied der RISC-V-Sicherheitsgruppe und Mitgründer von Hex Five Security. Er hat einen Master-Abschluss der Universität von Kalifornien in Betriebswirtschaft (MBA), einen Master-Abschluss in Elektrotechnik und Informatik.
cesare@prplFoundation.org

 


  1. Viele vertrauenswürdige Umgebungen
  2. Software teilt Hardware in sichere Zonen

Das könnte Sie auch interessieren

Verwandte Artikel

RISC-V Foundation