LUKS brute force / Quantencomputer

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
mgzh
Beiträge: 48
Registriert: 24.08.2005 23:49:51
Wohnort: Singapore

LUKS brute force / Quantencomputer

Beitrag von mgzh » 28.01.2021 03:45:53

Ja hallo erstmal :P

An die Kryptographen unter Euch eine Frage:

Ich habe bei einem Kunden eine wirklich hochsensitive Datendisk mit LUKS verschlüsselt.
Angenommen, auf der Disk sind Atom-Nuklear-Entsperrcodes gespeichert.

Die veranschlagte Brute Force Zeit um das 12 stellige random alpha/numeric Passwort zu cracken wird auf entsprechenden Websites zwischen 7-13 Mio Jahre veranschlagt. Ich nehme an, dass diese Berechnungen auf heutigen Kapazitäten und Von Neumann und/oder Parallelrechner Architekturen basieren.

Wie sieht es aber mit Quantencomputern aus? Quantum cloud computing scheint sich ja zu einem allgemeinzugänglichen Commodity zu entwickeln.

Logisch, unmittelbar gefährdet sind die Daten nicht.
Ist die Sicherheit meiner Daten aber mittelfristig gefährdet?
Wie geht Ihr damit um?

Gruss
Marculix

fossonly
Beiträge: 23
Registriert: 10.06.2020 10:40:38

Re: LUKS brute force / Quantencomputer

Beitrag von fossonly » 28.01.2021 08:34:19

Praktisch gesehen ist ein Quantencomputer keine echte Bedrohung für symmetrische Verschlüsselungsalgorithmen. Zudem müsste ein ausreichend starker Quantencomputer überhaupt erstmal existieren, was effektiv nicht der Fall ist. Und selbst wenn dann könnte dieser die Sicherheit moderner symmetrischer Verschlüsselungsalgorithmen maximal halbieren, dem man mit höheren Schlüssellängen einfach entgegenwirken kann. Wobei man auch anmerken muss, dass selbst eine verbleibende 128-Bit-Sicherheit noch weit ausserhalb dessen liegt, was auf Basis moderner Technik mal eben geknackt werden kann. Hinzu kommt die PQC, die bereits heute diverse unter anderem gegen Quantencomputer resistente Verschlüsselungsverfahren bereitstellt, die in Teilen irgendwann zwischen 2022 und 2024 finalisiert standardisiert werden. Daher ist nicht wirklich davon auszugehen, dass Quantencomputer bezüglich dem brechen von Kryptographie je eine echte Rolle spielen werden. Aber dafür gibt es andere wissenschaftliche Probleme, die sich mithilfe von Quantencomputern zumindest theoretisch effektiver lösen lassen.

Die Sicherheit von dm-crypt/LUKS hängt zudem nicht unwesentlich von den gewählten Parametern ab, die deinerseits noch nicht genannt wurden. Ich gehe daher mal von den werkseitig definierten Vorgaben aus. Somit würde heute ein LUKS2-Header mit den Parametern "-s 512 -i 2000 -h sha256 -c aes-xts-plain64" geschrieben werden. Als KDF kommt PBKDF2 mit 2000 Hash-Iterationen zum Einsatz. Zudem kommt ein 256 Bit AES-Key, der mit einem 256 Bit XTS-Key vermengt wird, und in base-codierter Form als Masterkey für die Verschlüsselung der Daten dient. Also hat man hier einen 128 Byte starken Masterkey, der wiederum mit dem mittels KDF gehärteten Passwort des Nutzers verschlüsselt wird. Grundsätzlich gesehen ist die Vorgabe für die meisten Belange absolut ausreichend, doch bekanntermaßen geht es immer noch besser bei Bedarf. Zum einen könnte man durch Steigerung der Hash-Iterationen den Aufwand weiter erhöhen, oder man nutzt gleich ein PBKDF2 überlegenes Verfahren wie Argon2, um den Aufwand unabhängig der Hardware astronomisch zu steigern. Eine weitere Option wäre einen härteren Verschlüsselungsalgorithmus, wie Twofish oder besser noch Serpent zu wählen, zumal diese in Sachen Resistenz so einige Vorteile gegenüber AES aufweisen. Zwar haben beide nicht den Vorteil der Hardwarebeschleunigung, können aber die Kapazitäten einer SATA-SSD und etwas mehr in Software ausreizen, was für moderne Belange an sich völlig ausreicht.

Will man die Kryptographie zusätzlich mit Authentifizierung auf eine höhere Ebene stellen, dann kann man sich des Parameters "--integrity" bedienen, um die Verschlüsselung zusätzlich via HMAC abzusichern. Allerdings kostet das massiv an Performance, was man mit den nativen AEAD-Verschlüsselungsalgorithmen Aegis und Morus umgehen könnte. Die AEAD-Verschlüsselung des Cryptsetup hat allerdings noch einen experimentellen Status, womit die Nutzung auf eigene Gefahr geht. Persönlich habe ich damit zwar recht positive Erfahrungen gemacht, jedoch sollte man dennoch vorsichtig sein damit sensible Daten abzusichern. In Sachen Performance reichen sowohl Aegis als auch Morus, an die Performance von AES mit AES-NI heran. Also ganz nützlich zu wissen für die Zukunft.

Kritik muss ich hinsichtlich eurer Passwörter äussern. Denn 12 Stellen sind nicht besonders viel, und liegen deutlich unter der Qualität des Masterkey bzw. der Schlüssellänge von AES selbst. Und auch wenn die KDF auf Basis von PBKDF2 das Passwort härtet, so ist PBKDF2 massiv anfällig für GPUs und ASICs und daher für enorme Parallelisierung, womit die Wirkung von PBKDF2 nahezu völlig kompensiert werden kann. Und spätestens dann ist das 12 stellige Passwort nur noch ein Witz für moderne Hardware. Für eine Verschlüsselung mit Langzeitschutz sollte es mindestens ein Passwort mit 20 Stellen sein, dass zudem idealer Weise mit Argon2 kombiniert wird.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: LUKS brute force / Quantencomputer

Beitrag von MSfree » 28.01.2021 08:45:23

Mal ein wenig Mathe:

Alphanumerisch heißt 26 kleine, 26 große Buchstaben und 10 Zahlen, also 62 Zeichen. Bei einem Codelänge von 12 Zeichen gibt es also 62^12 Kombinationen.

Ein 3GHz 4-Kerner sollte in der Lage sein, 500 Millionen Kobinationen pro Sekunde durchzuprobieren. OK, sind wir pessimistische und sagen 100 Millionen. Dann ergibt sich eine Dauer von

62^12 / 100e6 / 86400 / 365.25 Jahren = rund 1 Million Jahre. Wenn du dir eine Million Rechner mieten kannst, hast du die Antwort in spätestens einem Jahr.

Eine Million durchschnittliche PCs ist keine so riesige Menge. Alleine in der deutschen Verwaltng dürfte es neben 10 Millionen Faxgeräten (SCNR) auch nochmal die gleiche Menge PC geben. Damit würde sich die Suchzeit auf rund einen Monat reduzieren.

DeletedUserReAsG

Re: LUKS brute force / Quantencomputer

Beitrag von DeletedUserReAsG » 28.01.2021 12:34:52

MSfree hat geschrieben: ↑ zum Beitrag ↑
28.01.2021 08:45:23
Alphanumerisch heißt 26 kleine, 26 große Buchstaben und 10 Zahlen, also 62 Zeichen. Bei einem Codelänge von 12 Zeichen gibt es also 62^12 Kombinationen.
… heutzutage kann man für die Passphrase allerdings auch auf den Rest der 65k UTF-Zeichen zurückgreifen, was da eine noch etwas größere Zahl am Ende rauskommen lässt. Der Schlüssel selbst ist sowieso nicht an Zeichensätze gebunden.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: LUKS brute force / Quantencomputer

Beitrag von wanne » 29.01.2021 10:01:35

Als KDF kommt PBKDF2 mit 2000 Hash-Iterationen zum Einsatz.
Nicht per default.
Bei mir z.B.:

Code: Alles auswählen

Iterations: 831120
Und das ist ein altes Dateisystem. Die Idee ist, dass er so viele Iterantionen macht, wie er in einer Sekunde hinbekommt.
ein PBKDF2 überlegenes Verfahren wie Argon2
Ich mag klassiche Hash basierte Verfahren. Funktionieren seit 3 Jahrzehnten. Selbst mit MD5 ungebrochen. Wenn man vernünftige Passwörter nutzt ist der erweiterte Schutz für schlechte Passwörter, den Argon2 bietet ist überflüssig.
Eine weitere Option wäre einen härteren Verschlüsselungsalgorithmus, wie Twofish oder besser noch Serpent zu wählen, zumal diese in Sachen Resistenz so einige Vorteile gegenüber AES aufweisen.
Nein. Nicht unbedingt. Das AES Konsortium hat zwar fürs Finale Serpent als sicherer eingestuft sich dann aber auf AES umentschiden. Im allgemeinen ist AES eleganter und einfacher zu überblicken und einfacher performant zu programmieren. Serpent lässt sich einfacher in HW gießen. Und arbeitet "traditioneller".
Und auch wenn die KDF auf Basis von PBKDF2 das Passwort härtet, so ist PBKDF2 massiv anfällig für GPUs und ASICs und daher für enorme Parallelisierung, womit die Wirkung von PBKDF2 nahezu völlig kompensiert werden kann. Und spätestens dann ist das 12 stellige Passwort nur noch ein Witz für moderne Hardware.
Dann mach mal:

Code: Alles auswählen

$5$rounds=2000$ouRk9ZbFFw$jo5UumPea9.0b1tbVpUaV0l.M3Pgw52Ax7ZLFltes08
Wenn du es schaffst, bevor ich es posote gibts direkt 500€ überwiesen.
rot: Moderator wanne spricht, default: User wanne spricht.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: LUKS brute force / Quantencomputer

Beitrag von wanne » 29.01.2021 19:36:12

Hitergrund:
Der wohl drei größten bekannten Rechenprojekte dürften Bitcoin, SHAttered und Facebooks Onion Adresse sein.
Google brauchte für SHAttered im Jahr 2017 für 2⁶³ SHA-1-Iterationen und dafür 140000kWh. Selbst mit super günstigem Industriestrom also rund 7000€ Strom. Bei Amazon mit Rechner und RZ angemietet wäre man mit $110K dabei gewesen. Aber gehen wir mal von den 7000€ aus. Jetzt sind wir 3 Jahre später also kann man annehmen, dass man heute noch etwa ¼ des Stroms braucht. (Auf Stromeffizienz passt Moors Law eigentlich in jedem Jahr der letzten 50 fast perfekt.) Wären wir heute bei 1750€ Strom.
Für die 12 Buchstaben bäuchte man 2^(12*6+11) also 2^(12*6+11-63)=2^20=1Mio mal mehr Rechenleistung. Kommen wir bei 1.8Mrd € raus. – Nur für Strom für die GPU. Da ist noch kein Rechner dabei.
Das ist jetzt auf GPUs. FPGAs und Asics sind deutlich effizienter. Aber ausreichend viele FPGAs oder gar ASICs für SHA-265 hat wohl kaum einer rum liegen – Halt da war doch was... Die Bitcoinminer machen das. SHA-265 mit ASICs. Im Moment bekommt man da für $0.20 2⁵⁶ Hashes.
=> ~25 Mio. €. Man beachte den unterschied zu GPUs!
Und das "mit Haut und Haaren". Nicht nur Strom. Im Vergleich zu Amazon-GPUs ist das der Faktor 5000. Mittlerweile dürfe das Bitcoin Netzwerk auch die NSA und Co in den Schatten stellen. Trotzdem: Weit out of reach für mal eben. Und das sind die 2000-Iterationen. Nicht 500000. Aber eben eventuell erreichbar in ein paar Jahrzehnten.
Btw. Hilft Argon2 nichts gegen GPUs. Die haben genug speicher. Und die ersten FPGAs in die Richtung sind auch raus. Bei ASICS ist natürlich alles eine Frage des Preises. Sind ja Individualfertigungen.
rot: Moderator wanne spricht, default: User wanne spricht.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: LUKS brute force / Quantencomputer

Beitrag von wanne » 29.01.2021 19:54:03

Ein 3GHz 4-Kerner sollte in der Lage sein, 500 Millionen Kobinationen pro Sekunde durchzuprobieren.
Sicher nicht. Die macht eventuell 500 Mio. Hashes pro Sekunde. Um eine Kombination Durczuprobieren, muss manaber 500000 Hashes berechnen. Gehen wir von den genannten 2000 aus, weil man an den Parametern rum geschraubt hat: So ne CPU wird 50W brauchen. Wären wir bei 250 Mrd. € Stromkosten, wenn man das auf der CPU versucht zu rechnen.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten