Security in Embedded Hardware - Cheatsheet
Architekturen und Prozessoren für eingebettete Systeme
Definition:
Architekturen und Prozessoren für eingebettete Systeme spezialisieren sich auf geringe Größe, Energieeffizienz und spezifische Aufgaben in Hardware-Designs.
Details:
- Embedded Systems: sind Mikrocontroller-basierte Systeme, optimiert für spezifische Aufgaben.
- Prozessoren: häufig genutzte Typen sind RISC (z.B. ARM), CISC (z.B. x86), DSPs.
- Energieeffizienz: Energiesparende Betriebsmodi, z.B. Sleep-Modus.
- Speicher: begrenzte Ressourcen, typischerweise SRAM, DRAM, Flash-Speicher.
- Echtzeitfähigkeit: RTOS für deterministisches Verhalten erforderlich.
- Sicherheitsaspekte: Hardware-Verschlüsselung, sichere Boot-Mechanismen.
Speicherverwaltung und Energieeffizienz in eingebetteten Systemen
Definition:
Speicherverwaltung und Energieeffizienz sind entscheidend für die Leistung und Lebensdauer eingebetteter Systeme. Effiziente Techniken reduzieren Leistungsaufnahme und verlängern Batteriehaltbarkeit.
Details:
- Speicherverwaltung: Verwenden von Speicherschutz, Paging, und Caching.
- Speicherschutz: Implementierung von MMU, MPU.
- Caching: Erhöhung der Zugriffszeitminimierung.
- Energieeffizienz: Verwendung von Low-Power-Modi, Taktregelung.
- Dynamisches Powermanagement: DVS/DFS zur Anpassung der Spannung/Frequenz.
- Softwaretechniken: Energieeffiziente Algorithmen, optimierter Code.
- Hardwaretechniken: Energiesparende Peripherie, effiziente Schaltungstechnik.
Physically Unclonable Functions (PUFs)
Definition:
Physically Unclonable Functions (PUFs) sind hardwarebasierte Sicherheitsmerkmale, die auf den inhärenten physikalischen Unterschieden bei der Herstellung elektronischer Bauteile basieren.
Details:
- Einzigartige physikalische Eigenschaften jedes Chips, schwer klonbar.
- Wird zur Authentifizierung und für kryptographische Schlüssel genutzt.
- Erzeugung eines eindeutigen und reproduzierbaren Outputs aus einem gegebenen Input.
- Mathematisch beschrieben durch: \( PUF(x_i) = y_i \)
- Vorteile: Einfache Implementierung, geringe Kosten, hohe Sicherheit.
- Typische Implementierungen: SRAM PUFs, Arbiter PUFs, Ring-Oszillator PUFs.
- Herausforderungen: Zuverlässigkeit, Umwelteinflüsse, Alterung.
Hardware-Implementierung kryptografischer Algorithmen
Definition:
Optimiert kryptografische Algorithmen für physische Hardware zur Verbesserung von Geschwindigkeit und Sicherheit.
Details:
- ASICs und FPGAs häufig genutzt.
- Erhöhung der parallelen Verarbeitung durch spezialisierte Hardware.
- Weniger anfällig für Seitenkanalattacken als Software.
- Erfordert Design- und Implementierungskenntnisse.
- Typische Algorithmen: AES, RSA, ECC.
- Energieeffizienz und Leistungsfähigkeit optimiert.
Seitenkanalangriffe und deren Schutzmaßnahmen
Definition:
Angriffe, die zusätzliche Informationen (z.B. Laufzeit, Stromverbrauch) ausnutzen, um an geheime Daten zu gelangen.
Details:
- Typen: Timing-Angriffe, Power Analysis (DPA/SPA), Elektromagnetische Angriffe
- Timing-Angriff: Misst die Zeit, die für kryptographische Operationen benötigt wird.
- Power Analysis: SPA (Simple Power Analysis), DPA (Differential Power Analysis) – Analysiert Stromverbrauch.A
- Elektromagnetische Angriffe: Nutzt elektromagnetische Emissionen von Geräten.
- Schutzmaßnahmen: Maskierung, Blinding, Zufallseinflüsse, Verwendung von konstanten Laufzeiten.
- Maskierung: Verwendet Zufallswerte zur Veränderung der Daten vor der Verarbeitung.
- Blinding: Zufallszahlen modifizieren die Eingaben/Ausgaben kryptographischer Operationen.
- Konstante Laufzeit: Algorithmen so entwerfen, dass sie immer gleich lange brauchen.
Hardware-Trojaner: Erkennung und Abwehr
Definition:
Hardware-Trojaner: Manipulierte Hardwarekomponenten, die unbefugten Zugriff oder Schaden ermöglichen.
Details:
- Erkenntnis: Laufzeitanalyse, Elektromagnetische Emissionsanalyse, Side-Channel Analyse
- Abwehr: Physische Sicherheitsmaßnahmen, kryptografische Techniken, Design-for-Security
- Analyse: Unterschiede zwischen beabsichtigtem und tatsächlichem Verhalten des Systems
- Formeln: Jaccard Similarity Index zur Erkennung \[ JS(A,B) = \frac{|A \cap B|}{|A \cup B|} \]
Anti-Reverse Engineering Techniken
Definition:
Techniken, um das einfache Analysieren und Nachbauen von Soft- und Hardware zu verhindern.
Details:
- Code Obfuscation: Verschleierung des Quellcodes zur Erschwernis der Analyse.
- Hardware-basierte Ansätze: Physische Schutzmaßnahmen (z.B. aktive Meshr, Holographic Overlay).
- Secure Boot: Sicherstellen, dass nur authentischer Code ausgeführt wird.
- Tamper Detection: Erkennen und Reagieren auf Manipulationsversuche.
- Encryption: Verschlüsselung von Code und Daten.
Intrusion Detection Systeme für eingebettete Hardware
Definition:
Systeme, die unautorisierte Zugriffe oder Anomalien auf eingebetteter Hardware erkennen und melden.
Details:
- Überwachen Datenflüsse, Speicherzugriffe und Systemaktivitäten
- Anomaliebasierte und signaturbasierte Erkennung
- Echtzeit-Erkennung und -Reaktion
- Integration in Hardware für Energieeffizienz und schnelle Reaktionszeiten
- Wichtige Algorithmen: Maschinelles Lernen, statistische Analyse
- Ziel: Schutz vor physischen und digitalen Angriffen