PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verständnisfrage zur Verschlüsselungs-Theorie mit devicemapper usw.



Carcass
21.07.06, 18:16
servus!

ich bin gerade dabei ein raid5-system mit 960 GB daten zu verschlüsseln.
dabei verwende ich truecrypt mit dem twofish algorithmus auf meinem gesamten device (/dev/sda).
als verwendetes dateisystem habe ich none angegeben.
der datenbereich /dev/sda wird ja beim erstellungs-vorgang komplett neu beschrieben mit datenmüll, so wie es aussieht, das dauert bei 960 GB auch ein paar stündchen :ugly:
wenn die erstellung fertig ist und ich das verschlüsselte dateisystem mounte, kann ich es ja sofort benutzen, nur habe ich damit sehr bescheidene datenübertraungsraten von 2-3 MB/s.
wenn ich allerdings auf dieses verschlüsseltes dateisystem ein übliches dateisystem (ext3, reiserfs etc.) aufsetze, habe ich wesentlich höhere datenübertragungsraten, wie sie bei verschlüsselten dateisystemen üblich sind, so ca. 15-20 MB/s.
ich verstehe jetzt die zusammenhänge bei dieser technik nicht so ganz, ich mein, wenn ich nen crypt-fs mache, dann hab ich doch bereits ein dateisystem, mit dem ich arbeiten kann, wieso muss ich darauf erst ein übliches fs erstellen, damit ich akzeptable datenraten zustande bekomme.
kann mir jemand diese hirachie vieleicht mal erläutern, oder mir einschlägige links zu dieser thematik nennen, da ich ehrlichgesagt davon keine ahnung habe und mich damit mal näher beschäftigen möchte?

danke schon mal für die hilfe!

gruss, phil

choener
21.07.06, 21:25
Das Crypto-System ist eben kein Dateisystem sondern eine Art Container. Dieser Container verwürfelt auf reversible Art die Daten, die man dort hinein speichert. Damit die gespeicherten Daten geordnet sind, benötigt man innerhalb des Containers ein Dateisystem.

Warum das langsamer ist: Weil Verschlüsselung einiges an Rechenzeit benötigt.
Das ist auch der Grund für die Beliebtheit von AES; AES ist ein sehr schneller Algorithmus.

caspartroy
21.07.06, 23:07
wie speicherst du denn ohne dateisystem dateien?

choener
22.07.06, 11:55
Einfach roh drauf? Hindert einen ja keiner dran. Dateisysteme dienen dazu, Gespeichertes leicht auffindbar zu machen.

Carcass
22.07.06, 13:45
ja, das war ja der witz dabei, ich konnte die dateien roh speichern und dabei war die datenrate nicht allzu hoch, erst als ich ein dateisystem drauf hatte, war die datenrate mit 15-20 MB/s akzeptabel!

Warum das langsamer ist: Weil Verschlüsselung einiges an Rechenzeit benötigt.
Das ist auch der Grund für die Beliebtheit von AES; AES ist ein sehr schneller Algorithmus.
ach ne, da wäre ich jetzt nicht drauf gekommen :D
der knackpunkt meiner frage war im prinzip, warum es länger dauert die daten im rohformat zu übertragen als mit einem handelsüblichen dateisystem drauf.

interessante links zur verschlüsselungstheorie hat keiner mehr?
google war mir bisher nicht so hilfreich ;)

caspartroy
22.07.06, 16:43
ich versteh noch nicht ganz... klar kann man roh daten schreiben, aber das sind keine dateien, das sind bits in willkürlichen speicherbereichen, die einem kein dateimanager anzeigt, oder wie meint ihr roh schreiben? sowas wie
dd if=irgendwas of=/dev/sda count=soundso seek=irgendwas?
und zu jeder "datei" schreibt man sich dann länge und seek auf?
in dem fall würde ich mir über ganz andere sachen sorgen machen, als die übertragungsgeschwindigkeit :P

choener
22.07.06, 17:28
Im Allgemeinen hat man einen Cache für r/w-Operationen zur Verfügung, wenn man Dateisysteme benutzt, das lässt die Operationen schneller erscheinen, solange der Cache nicht geleert, also geschrieben, werden muss.

Wer sich AES genauer ansieht, wird feststellen, das AES sich gut für Assembler-Programmierung eignet, auch bereits so implementiert ist im Kernel, das ist mit schnell gemeint. Irgendwo gibt es auch entsprechende Benchmarks dazu.

Und ja, Daten kann man, wenn man lustig ist, auch einfach nach Ort und Länge abspeichern, will man aber allgemein nicht.

Ansonsten, Verschlusselung? Nette Suchbegriffe sind "symmetrische Verschlüsselung" und "AES", sowie "Rijndael", das ist der Algorithmus, der zum AES wurde. Wikipedia hat da garantiert eine lustige Linkliste.

Carcass
22.07.06, 23:19
haja, so langsam verstehe ich die zusammenhänge.
ich war halt in sachen dateisystem-verschlüsselung total unwissend, deshalb diese dämlichen fragen ;)

wie würde man eigentlich die geschwindigkeit des AES algorithmuses der im kernel implementiert ist im vergleich zu dem truecrypt AES-algorithmus sehen?
wäre da nen arger geschwindigkeits-unterschied zu verzeichnen?

achja, danke für die such-hinweise, mit den suchbegriffen habe ich doch prompt verwertbare informationen gefuden ;)

choener
23.07.06, 00:31
Zu Truecrypt kann ich dir leider nichts genaues sagen; da ich das Programm nur vom Hören-Sagen kenne. Ich bevorzuge den "device-mapper" des Kernels zusammen mit dem "crypt target".

Ich würde vermuten, das der device-mapper effizienter arbeitet, zumindest ist er effizient genug für Datenpartionen im Hausgebrauch.
15-20 MiB/s bei Truecrypt wären allerdings auch deutlich genug. Besonders, da Wlan bzw. Lan dann oft die Grenze für die MiB/s darstellen.

Carcass
23.07.06, 19:35
jep, also momentan hab ich eine komplette 960 GB partition mit towfish verschlüsselt und da schaffe ich datenraten von 15-20 MB/s.

haja, schade ist bei mir halt, dass ich den "flaschenhals", das netzwerk, ausgemertzt und auf gigabit umgestellt habe. mit dem raid5 system hätte ich ohne verschlüsseltes dateisystem bis an die 55 MB/s.

bla!zilla
24.07.06, 08:45
Stellt sich nur die Frage welchen Sinn es hat 960GB zu verschlüsseln? Zumal es sich ja nicht mal um ein mobiles Device, sondern auch noch um ein RAID Array handelt. Da müsste dir schon jemand den ganzen Rechner klauen... oder da möchte jemand das jemand anderes im Zweifelsfall nichts findet... :rolleyes:

Verschlüsselung kostet nun mal Leistung. Mit diesem neu geschaffenen Flaschenhals wirst du dich anfreunden müssen.

maxxle
24.07.06, 09:08
Ich frage mich immer wieder, warum es Hersteller nicht schaffen, eine Verschlüsslungsfunktion in ihre Controller direkt einzubauen. (Ausgenommen HW-Verschlüsselung bei Notebooks) Das wäre enorm performant, wenn es in HW gegossen wäre und man müsste sich auch keine Gedanken über Cryptodevices, Mapper, Algorithmen etc machen.

AES256 sollte aus Sicherheitsaspekten ausreichen. Schnell und auf die nächsten Jahre gesehen sicher genug.

choener
24.07.06, 09:14
Was heißt "gibts nicht"? ;)

http://www.dlock.com.tw/pcicard.htm
http://www.xirguard.com/

Gut, ist nicht "direkt drin", auch wenn es das auch irgendwo gibt, meine ich.

bla!zilla
24.07.06, 10:04
Weil es keiner haben will. Die Leute, die es haben wollen, für die gibt es Produkte. RAID Controller mit eingebauter Verschlüsselung sind einfach kein Markt.