Verschluesselung und Komprimierung

From Bitbull Wiki
Jump to navigation Jump to search

Hallo zusammen, in diesem PuK mal ein greifbarer Praxis Beitrag zum Thema Verschlüsselung und Komprimierung. openssh ist ein heute ein Industrie Standard in der sicheren Datenübertragung geworden. Es ist in vielen Applikationen als Subsystem fest verbaut.

Damit lassen sich unter anderem: - Server Administrieren - Dateien übertragen - Ports Forwarden (forward and reverse) - Grafische Bildschirm inhalte des Xorg Protokolls übertragen (remote App, Xtunneling) - VPN tunnel aufbauen - Dateisysteme anbinden (fusessh)

Nun ist die Performance nicht immer so hervorragend und es kommt stark auf die Daten an.

Hier ein Auszug eines Benchmarks mit 256MB Entropischen Daten (zufällig, nicht komprimierbar) Es wurde immer das gleiche File übertragen, so das Unterschiede durch Zusammensetzung der Zufallsdaten ausgeschlossen werden kann.

  • Algorithmus
Menge
Ohne Kompr.
GZIP
  • 3des-cbc
256MB
27.5MB/s
14.2MB/s
  • blowfish-cbc
256MB
97.3MB/s
23.4MB/s
  • cast128-cbc
256MB
80.4MB/s
23.4MB/s
  • arcfour
256MB
163.2MB/s
27.2MB/s
  • arcfour128
256MB
146.5MB/s
27.2MB/s
  • arcfour256
256MB
144.9MB/s
26.6MB/s
  • aes128-cbc
256MB
162.9MB/s
28.9MB/s
  • aes192-cbc
256MB
199.2MB/s
28.0MB/s
  • aes256-cbc
256MB
244.7MB/s
26.8MB/s
  • rijndael-cbc@lysator.liu.se
256MB
205.3MB/s
27.2MB/s
  • aes128-ctr
256MB
289.8MB/s
28.7MB/s
  • aes192-ctr
256MB
272.2MB/s
28.1MB/s
  • aes256-ctr
256MB
195.3MB/s
28.3MB/s
  • aes128-gcm@openssh.com
256MB
322.7MB/s
28.5MB/s
  • aes256-gcm@openssh.com
256MB
318.6MB/s
28.5MB/s
  • chacha20-poly1305@openssh.com
256MB
139.7MB/s
25.9MB/s


Ihr seht hier, das es eine grosse Rolle spielt wo oder ob Daten Komprimiert werden. Gerade im Backup Bereich eine Beachtung dieser Zusammenhänge zum Erfolg führen.

Daraus lässt sich natürlich ableiten das eine komprimierte Übertragung von von de-duplizierten Daten über einen verschlüsselten Weg niemals trivial ist und selten wünschenswert ist. Auch grosse Mathematiker können selten voraussagen was zusammen passt (es gibt Kombinationen die recht harmonisch zusammen arbeiten).

Eine Analyse der Daten Streams bringt hier viel mehr Gewissheit. Ich habe viele Stunden investiert (und einige Haare gelassen :-) um solche Streams zu analysieren.

Einen Rat kann ich euch geben: Prüft welche Verschlüsselungsart und welche Komprimierungs Algorithmen hintereinander geschalten sind und stellt dies mit einem Powershell oder einem Shell Skript nach. Unter Linux eignen sich SSH, OPENSSL und DD bestens um eine brauchbare Aussage machen zu können.

Wie Ihr seht tauchen auch viele neue Algorithmen wie zum Beispiel chacha20 welches ich von der Embedded Programmierung kenne. Der ESP8266 chip welcher 64k Memory hat und in WifiCams, DashButtons, Gebäude Sicherheits Sensoren, ... verbaut wird kann diesen Algorithmus verwenden. Aktuelle Betriebssysteme profiteren von diesen Schlanken Methoden ungeheuer, da sie eine grosse Bandbreite an verschlüsselten Daten mit geringer Rechenleistung ermöglichen.

LG Chris