Timing Attack

Was ist eine Timing Attack?

Im Bereich der Kryptografie beschreibt eine Timing Attack einen Seitenkanal-Angriff, bei dem der Angreifer versucht, das kryptografische System zu kompromittieren, indem er die Zeitspanne für die Ausführung kryptografischer Algorithmen analysiert. Jede logische Operation benötigt im Computer eine gewisse Zeit für die Ausführung und die erforderliche Zeit variiert abhängig von der Eingabe. Mithilfe präziser Messungen der Zeit erhält der Angreifer Rückschlüsse auf die Eingabedaten. Die Durchführung gestaltet sich für den Angreifer wesentlich leichter, wenn die Hardwarekonfiguration und das kryptografische System bekannt sind, da die Berechnungsdauer von der Leistung des Prozessors und weiteren Variablen abhängt.

Wie werden Timing Attacks verhindert?

Für Timing Attacks gibt es viele Einsatzszenarien. Angreifer können diese auf alle Algorithmen anwenden, deren Ausführungszeit von den Eingabedaten abhängt. Allerdings lassen sich viele Algorithmen so verändern, dass die Ausführungszeit keine Rückschlüsse auf die eingegebenen Daten ermöglicht. Dafür muss für jede Berechnung die bei gegebener Wertemenge maximal benötigte Zeit auf alle Eingaben angewandt werden. Selbst wenn der Prozessor die Lösung bestimmter Eingaben schneller berechnen kann, dauert die Berechnung immer die maximale Zeit. Auf diese Weise sind durch eine Timing Attack keine Rückschlüsse möglich. Der Nachteil: Die Geschwindigkeit einer solchen Berechnungsfunktion ist drastisch reduziert und die Performance entspricht immer dem Worst-Case-Szenario des Algorithmus.