Verschlüsselung im Prozessor

Sichere Embedded-Systeme

12. Mai 2016, 14:26 Uhr | von Domenico Magnifico
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Welches Verfahren ist geeignet?

Sobald ein Ingenieur für eingebettete Systeme mit Sicherheitsanforderungen konfrontiert wird, muss er sich für eine der Möglichkeiten entscheiden. Die Auswahl ist von der Rechenleistung, den Schnittstellen wie TFT-Steuerung, Video-Engine sowie Gleitkommaeinheit und von den Kommunikationsschnittstellen wie USB, CAN und Ethernet abhängig. Oft wird ein kombiniertes Verschlüsselungssystem verwendet, wodurch von den Vorteilen symmetrischer und asymmetrischer Verfahren profitiert wird, ohne die Rechenleistung zu beinträchtigen. Eine andere Möglichkeit ist die Verbesserung des Code-Verschlüsselungsalgorithmus. Dabei ist auf größte Sorgfalt zu achten, um die Effektivität nicht zu beeinträchtigen oder Sicherheitslücken zu verursachen. Eine dritte Möglichkeit bietet Atmel mit dem neuen 500-MHz-Mikrocon­troller SAMA5D2, basierend auf dem ARM-Prozessorkern Cortex-A5. Im Hinblick auf die Sicherheit sind Hardware-Verschlüsselungsalgorithmen effizient, ohne die Rechenleistung zu beeinträchtigen. Gemäß dem US-amerikanischen Bundesstandard für Informationsverbreitung FIPS PUB 197 [1] verwendet der Mikrocontroller von Atmel symmetrische Schlüssel: Einen AES mit 256 bit und einen mit 128 bit für die Verschlüsselung des externen Busses zum Speicher. Noch dazu sind DES- und 3DES-Schlüssel verfügbar, die vom Standard FIPS PUB 46-3 [2] als Schutz-Algorithmen für sensible Daten während der Übertragung spezifiziert sind. Außerdem gibt es nach dem Standard FIPS 180-4 [3] in der Hardware eine Hash-Funktion mit dem Schlüssel SHA-512 und SHA-255. Der Standard spezifiziert Hash-Algorithmen, die einen Streuwert für Nachrichten generieren, mit dem überprüft werden kann, ob sie im Nachhinein verändert wurden. Zusätzlich steht ein physischer Zufallszahlengenerator in der Hardware (TRNG – True Random Number Generator) zur Verfügung entsprechend der NIST Special Publication 800-22 [4] des US-amerikanischen National Institute of Standards and Technology (NIST).

Sicherheitsmerkmale der MCU

passend zum Thema

Der Atmel-Microcontroller SAMA5D2 kann mit einem DRAM-Speicher konfiguriert werden. Wird ein externer Flash-Speicher über die QSPI-Schnittstelle angeschlossen, kann auf den DRAM-Speicher jedoch verzichtet werden.
Bild 1. Der Atmel-Mikrocontroller SAMA5D2 kann mit einem DRAM-Speicher konfiguriert werden. Wird ein externer Flash-Speicher über die QSPI-Schnittstelle angeschlossen, kann auf den DRAM-Speicher jedoch verzichtet werden.
© Atmel

Der Atmel SAMA5D2 enthält einen internen 160-KB-Festspeicher mit einem standardmäßigen und einem sicheren Startprogramm sowie BCH-Code-Tabellen für die NAND-Flash-ECC-Korrektur. Der 5 KB große SRAM des Mikrocontrollers wird durchgehend überwacht, um Angriffe zu vermeiden. Davon ist ein Bereich von 1 KB bei Manipulationserkennung nicht löschbar. 4 KB verfügen über Non-Imprinting-Unterstützung und 245 Register, die bei einer Manipulationserkennung löschbar sind. Da das Bussystem Quad-SPI unterstützt, kann der Entwickler für sein Embedded-System serielle Flash-Speicher nutzen, die eine gute Alternative zu dem größeren und teureren parallelen Flash-Speicher darstellen. Durch die XIP-Unterstützung (Execute In Place) kann ein Code direkt von einem seriellen Flash-Speicher ausgeführt werden, was eine Echtzeitbetriebssystem-optimierte Konfiguration erlaubt (Bild 1).

Durch ein dediziertes Bit (SM) im einmal programmierbaren Speicher kann der Entwickler festlegen, ob beim Booten das gesicherte Startprogramm oder das Standard-Startprogramm ausgeführt wird.
Bild 2. Durch ein dediziertes Bit (SM) im einmal programmierbaren Speicher kann der Entwickler festlegen, ob beim Booten das gesicherte Startprogramm oder das Standard-Startprogramm ausgeführt wird.
© Atmel

Secure Boot Strategy

Die „Secure Boot Strategy“ des Mikrocontrollers stellt sicher, dass die Anwendung während des Boot-Vorgangs nicht gehackt werden kann, was verheerende Folgen hätte. Mit einem ungesicherten Startprogramm könnte die Kontrolle über das System erlangt werden, indem eine Anwendung durch eine bösartige Software ersetzt und beim Booten geladen wird. Wird jedoch ein dediziertes Bit (SM) (Bild 2) im einmal programmierbaren Speicher gebrannt, lässt sich ein Angriff verhindern. Anschließend kann das Bit nicht mehr gelöscht werden. Das Bit verändert das Startprogramm, das im Festspeicher hinterlegt ist. Dadurch führt die MCU beim Booten das gesicherte und nicht das unsichere Programm aus. Im sicheren Boot-Modus wird ein privater Schlüssel aus der SAMA5-MCU verwendet.

TrustZone

Eine zusätzliche Sicherheitsfunktion ist die „TrustZone“, ein systemweiter Sicherheitsansatz für unterschiedliche Anwendungen. Sie ist flexibel und umfasst eine Technik für den Zahlungsschutz und eine digitale Rechteverwaltung (DRM). Sie ist im Kern der Atmel-MCU integriert. Zudem wird der sichere Status über den internen Monitor-Bus ausgedehnt. Somit ist auch die Peripherie, wie Speicher, Kryptofunktionen, Tastatur und Bildschirm, vor Software-Angriffen geschützt. cd
 
Literatur

[1] Dworkin, M. J.; et al.: FIPS 197 – Advanced Encryption Standard (AES). National Institute of Standards and Technology, www.nist.gov/customcf/get_pdf.cfm?pub_id=90142, Stand April 2016.
[2] FIPS 46-3 – Data Encryption Standard (DES). National Institute of Standards and Technology, zurückgezogen am 19. Mai 2005.
[3] FIPS 180-4 – Secure Hash Standard (SHS). National Institute of Standards and Technology, nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf, Stand April 2016.
[4] Rukhin, A. L.; et al.: Special Publication 800-22 – A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. National Institute of Standards and Technology, www.nist.gov/manuscript-publication-search.cfm?pub_id=151222, Stand April 2016.

Der Autor:

Domenico Magnifico

ist Distribution Senior Field Application Engineer bei Atmel und seit 2008 für das Unternehmen tätig. Zuvor arbeitete er bei Firmen wie Rutronik und Silica, unter anderem als Business Development Manager.

 


  1. Sichere Embedded-Systeme
  2. Welches Verfahren ist geeignet?

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!