OpenBSD 4.4-beta: crypto(9) AES XTS

Columbo0815

Kaffeemann
Staff member
Moin,

im Changelog für das zukünftige OpenBSD 4.4 ist vermerkt:
Implemented an AES XTS mode in the crypto(9) framework.
In crypto(9) http://www.openbsd.org/cgi-bin/man.cgi?query=crypto&sektion=9&format=html finde ich zwar etwas zu AES XTS, verstehe es jedoch nicht.

Ich habe eine VIA-CPU. OpenBSD unsterstützt die "VIA-C3-AES-Befehle". Bislang jedoch leider nicht um zB eine Festplatte zu verschlüsseln. Heißt die oben erwähnte Änderung, dass dies zukünftig möglich ist? Zumindest würde ich den folgenden Satz so
crypto(9) said:
"crypto is a framework for drivers of cryptographic hardware to register with the kernel so ``consumers'' (other kernel subsystems, and eventually users through an appropriate device) are able to make use of it."

Geht das nun ab OpenBSD 4.4?
 
Welche Crypto-Modi das crypto(9) untersützt ist realtiv egal solange die Festplattenverschlüsselung von crypto(9) keinen Gebrauch macht, was momentan bei OpenBSD wohl der Fall ist.
Solange diesbez. nichts im Changelog steht musst du wohl warten...
 
In crypto(9) http://www.openbsd.org/cgi-bin/man.cgi?query=crypto&sektion=9&format=html finde ich zwar etwas zu AES XTS, verstehe es jedoch nicht.

Die meisten Blockchiffren wie z.B. AES oder DES haben verschiedene "Modes of Operation" für verschiedene Einsatzzwecke. Bei DES z.B. gibt's den EBC Modus, das ist der einfachste. Da wird einfach jeder Block mit dem Schlüssel verknüpft. Das erzeugt einige Probleme, z.B. werden gleiche Eingabeblöcke zu gleichen Ausgabeblöcken verarbeitet. Das aber öffnet Tür und Tor für sog. "Replay" Attacken. Ein anderer Modus ist der CBC Mode. Dort wird der verschlüsselte Block zusätzlich mit dem vorherigen Block verknüft. So werden zwei gleiche Eingabeblöcke nicht unbedingt zu gleichen Ausgabeblöcken verwandelt.

Bei AES ist das ähnlich, da gibt's auch verschiedene Operationsweisen. XTS ist vermutlich eine davon.

Ich habe eine VIA-CPU. OpenBSD unsterstützt die "VIA-C3-AES-Befehle". Bislang jedoch leider nicht um zB eine Festplatte zu verschlüsseln. Heißt die oben erwähnte Änderung, dass dies zukünftig möglich ist?

Generell meine ich, kann mich aber auch täuschen, dass im crypto(9) Framework erstmal alle Operationen verfügbar sind, die vom Framework implementiert werden. Wenn der Kernel entsprechende Beschleuniger-Hardware findet, dann benutzt er diese transparent - ansonsten wird die Operation in Software nachgebildet.

Wenn ich also den Change richtig interpretiere, dann heisst das, dass Du jetzt den XTS Modus im crypto(9) Framework von OpenBSD verwenden kannst, ob (in Deinem Fall) auch durch Hardware beschleunigt ist eine andere Frage. Die Antwort darauf hängt davon ab, ob der Prozessor den XTS Modus implementiert. Eventuell werden auch nur die Basis-AES Operationen im Prozessor abgebildet und der Betriebsmodus wird von Software gesteuert. Ich würde vorschlagen: Probier's doch einfach mal aus?!

Weil's mich jetzt auch irgendwie interessiert wollt ich mal nachschauen. Leider ist der VIA Link zum CPU Data Sheet kaputt. Wenn also wer ein Datenblatt hat möge es doch bitte irgendwo posten ;)
 
Ok, danke für die ausführlichen Infos! Waren wohl mehrere Denkfehler. Letztendlich wird es daran scheitern, dass crypto nicht zum Verschlüsseln von Festplatten verwendet wird. Schade eigentlich.

Die Hardware scheint XTS ebenfalls nicht zu unterstützen *hust*, dmesg gibt
PadLock: HW support loaded for AES-CBC,SHA1,SHA256.
aus. Ich unterstelle jetzt mal einfach, das padlock aus FreeBSD das Ding vollständig unterstützt.

Gruß und Danke!
 
Da AES-XTS demnächst als Standard für Storage-Verschlüsselung festgeschrieben werden soll (siehe http://en.wikipedia.org/wiki/IEEE_P1619) könnte es wohl passieren, dass es in Zukunft mal Kryptobeschleuniger-Coprozessoren dafür gibt. Die momentan im Einsatz befindlichen können's natürlich wegen des nötigen zeitlichen Vorlaufs noch nicht. Und wenn, dann würde da LRW implementiert sein, XTS ist ja noch recht jung...

Da geli aber momentan eh' nur CBC verwendet wird zumindest das durch crypto(9) beschleunigt. :) Vielleicht kann man ja in Zukunft wählen, ob man lieber beschleunigtes CBC (z. B. für Geode LX, glxsb(4)) oder XTS in Software (für schnellere CPUs) nimmt.
 
Back
Top