Master-Key in der Cloud?!

Hallo @thoko111! Schön, dass du das kritisch hinterfragst. Lass es mich mal mit einem Beispiel beantworten:

Der Trick liegt in der sogenannten Key Derivation Function (KDF). Wir setzen hier auf Scrypt mit einem Cost Factor von 2^15 (ehemals 2^14). Dies ist eine Funktion, die bewusst mathematisch so konstruiert wurde, dass sie eine gewisse Menge CPU-Zyklen und eine bestimmte Menge RAM benötigt.

Nehmen wir zunächst einmal an, dass der Angreifer einen single-threaded Offlinebruteforceangriff (d.h. er hat alle Daten lokal vorliegen und weiß alles über den verwendeten Algorithmus) startet:

Ein 12 Zeichen langes Passwort aus den 96 printable ASCII-Zeichen (a-z, A-Z, 0-9, $%&… ohne Umlaute und dergleichen). Das sind 96^12 oder 6 * 10^23 Möglichkeiten. Aufgrund der KDF benötigen wir nun mit dem heutigen Stand der Technik zwischen 10 und 200 ms (je nach Rechner), um aus dem Passwort den Schlüssel abzuleiten. Legen wir 10ms zugrunde, würde man für alle Möglichkeiten also 6 * 10^21 Sekunden oder 10^18 Stunden oder 4 * 10^16 Tage oder 116 Billion Jahre benötigen.

Gehen wir nun von einem parallelen Bruteforce-Angriff aus, der das Ziel hat den Schlüssel in einem einzigen Jahr herauszufinden. Benötigen wir also 116 Billion CPUs und das 116 billion-fache an RAM. Unter der Annahme, dass ein finanzkräftiger Angreifer existiert, der diese Ressourcen hat. Jetzt gibt es aber ein weiteres Problem: RAM benötigt Chip-Fläche, Chip-Fläche bedeutet Abwärme, Abwärme bedeutet Energiebedarf. Da sich die Schaltkreise nicht beliebig klein miniaturisieren lassen, da die Strukturen sonst an die Größe einzelner Atome stoßen, kann man den Energiebedarf nach unten abschätzen. Und hier sprechen wir derzeit noch NUR über die Chips, noch gar nicht über die Klimaanlagen.

Du kannst mal nach sogenannten Scrypt-ASICs googlen. Das sind Geräte, die den von uns verwendeten Algorithmus so energieeffizient wie möglich umsetzen, da sie für das Mining von Cryptocurrencies eingesetzt werden. Dort findest du immer die Angabe, wie viele Hashes pro Sekunde bzw. pro Joule diese Geräte schaffen. Hier mal ein weiteres Rechenbeispiel in Bezug auf den Energiebedarf (ohne Kühlleistung):

Laut diesem Blog ist wohl derzeit der Antminer L3+ das beste, was es für Scrypt auf dem Markt gibt. Für ca 1200 $ Anschaffungskosten kann er 504 MH/s bei 1,6 J/MH schaffen.

  • Dauer bei obigem Beispiel mit nur einem Gerät in Sekunden: 96^12 / 504M = 10^15s.

  • Benötigte Geräte, wenn der Angriff in einem Jahr stattfinden soll: 96^12 / (504M * 3600 * 24 * 365) = 38,5 Mio Stück. Anschaffungspreis: 46 Mrd. $

  • Energiebedarf: 96^12 * 1,6J / 1M = 10^18 Joule.

  • Willst du den Angriff in einem Jahr durchführen, sind das 10^18J / (3600s * 24 * 365) = 32,5 GW die ein Kraftwerk kontinuierlich das ganze Jahr lang bereitstellen müsste. Das größte Kraftwerk der Erde liefert 22,4 GW.


Disclaimer: Ich habe in diesem Beispiel angenommen, dass wir sämtliche Passwortmöglichkeiten durchprobieren müssen und erst der letzte Versuch zum Erfolg führt. Das ist genau genommen falsch. Das Beispiel dient eher dazu, ein Verständnis für die Größenordnung zu entwickeln.

Auch habe ich das Birthday Paradox nicht berücksichtigt, da der Schlüsselraum mit 2^256 erheblich größer ist als die im Beispiel genannte Menge an Passwortmöglichkeiten. Ich habe daher für das Beispiel unterstellt, dass keine Kollisionen existieren.

3 Likes