3.8 Sichere Hardware
215
Die Angriffe können von verschiedenen Klassen von Personen versucht werden
und wiederum unterschiedliche Klassen von Personen können ein Interesse daran
haben, diese Angriffe zu verhindern. Beispielsweise können Angriffe durch reguläre
Benutzer gestartet werden, die unberechtigten Zugriff auf ein Netzwerk oder eine
geschützte Mediendatei haben möchten.
Wir können zwischen den folgenden Gegenmaßnahmen unterscheiden:
• Bei der Softwareentwicklung muss man sich der Sicherheitsrisiken bewusst sein,
um Gegenmaßnahmen gegen Angriffe ergreifen zu können.
• Mit physischen Mitteln wie einer Abschirmung oder Sensoren, die Manipulationsversuche erkennen, können Geräte geschützt werden.
• Geräte können so entwickelt werden, dass Datenmuster einen möglichst geringen
Einfluss auf die Stromaufnahme haben. Hierfür sind teilweise spezielle Schaltungen erforderlich, wie sie meistens in komplexen Chips nicht eingesetzt werden.
• Logische Sicherheit, die i.d.R. mit kryptographischen Methoden erreicht wird:
diese basieren entweder auf symmetrischen oder auf asymmetrischen Codes.
– Bei symmetrischen Codes benutzen Sender und Empfänger denselben Schlüssel, um Nachrichten zu ver- und entschlüsseln.
– Bei asymmetrischen Codes werden Nachrichten mit einem öffentlichen Schlüssel verschlüsselt und mit einem privaten Schlüssel entschlüsselt. So sind RSAund Diffie-Hellman-Verschlüsselung asymmetrische Verschlüsselungen.
– Werden Nachrichten Hash Codes zugefügt, so können Modifikationen der
Nachricht erkannt werden.
Aufgrund der begrenzten Performanz von Prozessoren in eingebetteten Systemen
gibt es teilweise spezielle Maschinenbefehle zur Verschlüsselung und Entschlüsselung, welche die Effizienz steigern. Es gibt auch spezialisierte Lösungen wie
die TrustZone von ARM. „ At the heart of the TrustZone approach is the concept
of secure and non-secure worlds that are hardware separated, with non-secure
software blocked from accessing secure resources directly. Within the processor,
software either resides in the secure world or the non-secure world; a switch
between these two worlds is accomplished via software referred to as the secure monitor (Cortex-A) or by the core logic (Cortex-M). This concept of secure
(trusted) and non-secure (non-trusted) worlds extends beyond the processor to
encompass memory, software, bus transactions, interrupts and peripherals within
an SoC ” (siehe https://www.arm.com/products/security-on-arm/trustzone).
Der Kalray MPPA2 ® -256 Mehrkern-Prozessor-Chip enthält 128 Krypto-Coprozessoren, die mit einer Matrix von „regulären” 64-Bit VLIW-Kernen verbunden
sind (siehe http://www.kalrayinc.com/kalray/products/).
Beim Entwurf von Gegenmaßnahmen gibt es Herausforderungen [301]:
1. Die Performanzlücke: aufgrund der begrenzten Performanz von eingebetteten Systemen sind fortgeschrittene Verschlüsselungstechniken möglicherweise
zu langsam, v.a. wenn hohe Datenraten verarbeitet werden sollen.
215
Die Angriffe können von verschiedenen Klassen von Personen versucht werden
und wiederum unterschiedliche Klassen von Personen können ein Interesse daran
haben, diese Angriffe zu verhindern. Beispielsweise können Angriffe durch reguläre
Benutzer gestartet werden, die unberechtigten Zugriff auf ein Netzwerk oder eine
geschützte Mediendatei haben möchten.
Wir können zwischen den folgenden Gegenmaßnahmen unterscheiden:
• Bei der Softwareentwicklung muss man sich der Sicherheitsrisiken bewusst sein,
um Gegenmaßnahmen gegen Angriffe ergreifen zu können.
• Mit physischen Mitteln wie einer Abschirmung oder Sensoren, die Manipulationsversuche erkennen, können Geräte geschützt werden.
• Geräte können so entwickelt werden, dass Datenmuster einen möglichst geringen
Einfluss auf die Stromaufnahme haben. Hierfür sind teilweise spezielle Schaltungen erforderlich, wie sie meistens in komplexen Chips nicht eingesetzt werden.
• Logische Sicherheit, die i.d.R. mit kryptographischen Methoden erreicht wird:
diese basieren entweder auf symmetrischen oder auf asymmetrischen Codes.
– Bei symmetrischen Codes benutzen Sender und Empfänger denselben Schlüssel, um Nachrichten zu ver- und entschlüsseln.
– Bei asymmetrischen Codes werden Nachrichten mit einem öffentlichen Schlüssel verschlüsselt und mit einem privaten Schlüssel entschlüsselt. So sind RSAund Diffie-Hellman-Verschlüsselung asymmetrische Verschlüsselungen.
– Werden Nachrichten Hash Codes zugefügt, so können Modifikationen der
Nachricht erkannt werden.
Aufgrund der begrenzten Performanz von Prozessoren in eingebetteten Systemen
gibt es teilweise spezielle Maschinenbefehle zur Verschlüsselung und Entschlüsselung, welche die Effizienz steigern. Es gibt auch spezialisierte Lösungen wie
die TrustZone von ARM. „ At the heart of the TrustZone approach is the concept
of secure and non-secure worlds that are hardware separated, with non-secure
software blocked from accessing secure resources directly. Within the processor,
software either resides in the secure world or the non-secure world; a switch
between these two worlds is accomplished via software referred to as the secure monitor (Cortex-A) or by the core logic (Cortex-M). This concept of secure
(trusted) and non-secure (non-trusted) worlds extends beyond the processor to
encompass memory, software, bus transactions, interrupts and peripherals within
an SoC ” (siehe https://www.arm.com/products/security-on-arm/trustzone).
Der Kalray MPPA2 ® -256 Mehrkern-Prozessor-Chip enthält 128 Krypto-Coprozessoren, die mit einer Matrix von „regulären” 64-Bit VLIW-Kernen verbunden
sind (siehe http://www.kalrayinc.com/kalray/products/).
Beim Entwurf von Gegenmaßnahmen gibt es Herausforderungen [301]:
1. Die Performanzlücke: aufgrund der begrenzten Performanz von eingebetteten Systemen sind fortgeschrittene Verschlüsselungstechniken möglicherweise
zu langsam, v.a. wenn hohe Datenraten verarbeitet werden sollen.
