Seitenkanalangriffe und Timing
Kurz: Seitenkanalangriffe gewinnen Geheimnisse nicht durch Brechen des Algorithmus, sondern aus Nebeneffekten wie Rechenzeit, Stromverbrauch oder Cache-Verhalten.
Genauer: Dauert ein Vergleich länger, je mehr Zeichen übereinstimmen, kann ein Angreifer ein Passwort oder Token Zeichen für Zeichen erraten. Auch gemeinsam genutzte CPU-Caches verraten Zugriffsmuster (Spectre, Meltdown). Die Gegenmittel sind konstante Laufzeit und Isolation.
Im Detail
- Timing-Angriff: Unterschiedliche Laufzeit verrät Information. Gegenmittel: Vergleich in konstanter Zeit (
crypto.timingSafeEqual,hmac.compare_digest). - Cache-Angriffe: Flush+Reload, Prime+Probe.
- Spectre/Meltdown: Spekulative Ausführung der CPU lässt Daten über Cache-Zustand lecken.
- Leistungs-/Strom- und Schall-Analyse: Bei Chipkarten, Hardware.
- Fehlermeldungen als Seitenkanal: „Nutzer existiert nicht“ vs. „Passwort falsch“ verrät Konten.
- Gegenmittel: Konstante Laufzeit, Blinding, Isolation (keine gemeinsame Hardware für Unvertrauliches), Updates/Mikrocode.
- Praxis: Für Tokens und MACs immer konstanten Vergleich nutzen.
Siehe auch: Schlüsselableitung und Passwort-Hashing (Argon2), Speicherhierarchie und Cache-Lines