Verschluesselung und Komprimierung
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