Hardwaresicherheit

Was ist bei der Implementierung kryptografischer Verarbeitung in „konstanter Zeit“ (Constant-Time) zu beachten?

  1. ADie gesamte Verarbeitung soll stets genau eine Sekunde dauern
  2. BMitten in der Verarbeitung wird die Uhr angehalten
  3. CDie Richtung von bedingten Verzweigungen, die Schleifenzahl und die gelesenen oder beschriebenen Speicheradressen dürfen nicht von geheimen Werten abhängen
Antwort und Erläuterung anzeigen

Antwort: C. Die Richtung von bedingten Verzweigungen, die Schleifenzahl und die gelesenen oder beschriebenen Speicheradressen dürfen nicht von geheimen Werten abhängen

Konstante Zeit bedeutet, dass die Verarbeitungszeit nicht vom geheimen Wert abhängt. Ändert sich die Richtung einer if-Anweisung mit dem geheimen Wert, ändert sich die Zeit; bestimmt der geheime Wert den Array-Index, ändert sich die Spur im Cache. Daher wird anstelle von Verzweigungen mit Bitoperationen beides berechnet und ausgewählt, und es wird nicht mit geheimen Werten in Tabellen gesucht. Es ist auch zu prüfen, ob durch Compileroptimierungen Verzweigungen entstehen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Hardwaresicherheit

  1. Welche Idee hat die Aufteilung (Partitionierung) des geteilten Caches als Gegenmaßnahme gegen Cache-Seitenkanäle?
  2. Warum wird in Systemen, die vertrauliche Verarbeitung ausführen, mitunter das Simultaneous Multithreading (SMT) der CPU deaktiviert?
  3. Welche Gegenmaßnahme gegen Angriffe ist richtig, bei denen ein an einen PC angeschlossenes externes Gerät per DMA den Hauptspeicher eigenmächtig liest und beschreibt?
  4. Welche Idee der in Hardware- und Software-Sicherheit betonten „mehrstufigen Verteidigung“ (Defense in Depth) ist richtig?
  5. Warum erhält bei der Fertigung vieler Geräte jedes Gerät einen anderen Schlüssel, statt allen denselben einzusetzen?