Zum Hauptinhalt springen

smartMINI/smartRAIL: Verschlüsselung der Logfiles

Ab Yocto Version 4.3.0 bzw. DeviceManager Version 20.19 besteht die Möglichkeit die Logfiles welche durch die Cloud angefordert werden können zu verschlüsseln.

Wird die Verschlüsselung eingeschaltet, werden die TAR.GZ Archive symmetrisch per AES-256-CBC mit PBKDF2 Schlüsselableitung verschlüsselt. Die Dateien haben die Endung tar.gz.enc

Zur Entschlüsselung kann die Open Source Software OpenSSL eingesetzt werden. Diese gibt es auch für Windows:

  • htps://slproweb.com/products/Win32OpenSSL.html
  • htps://slproweb.com/download/Win64OpenSSL_Light-3_0_8.msi

Unter Linux kann OpenSSL aus den Paketquellen der Distributionen installiert werden.

Hinweis zur Realisierung

Werden die Logfiles angefordert, werden die offenen Logfiles umkopiert, um die Ausgaben diverser Kommandozeilen Programme erweitert, die Konfigurationsdateien hinzugefügt, und in einem temporären Ordner abgelegt, um diese zu komprimieren. In früheren Versionen wurde dieser temporäre Ordner auf der SD-Karte abgelegt (und dort als Backup liegen gelassen). In der aktuellen Version wird geprüft ob auf der eMMC genug Platz für den temporären Ordner vorhanden ist. (Dies sollte bei Quad Core Geräten immer der Fall sein, da sie doppelt so viel eMMC Flash haben als die Single Core Geräte). Je nach verfügbarem Platz landen die Logfiles also nicht mehr auf der SD-Karte. Nach dem Umkopieren werden die Logfiles komprimiert (und optional verschlüsselt). Danach wird der temporären Ordner im Gegensatz zu älteren Versionen aus Sicherheitsgründen direkt wieder gelöscht.

Einschalten der Verschlüsselung

SCPI Kommando an DeviceManager: SYSTEM:LOGFILE:PASSWORD somepassword

Ausschalten der Verschlüsselung (durch löschen des Passwortes)

SCPI Kommando an DeviceManager: SYSTEM:LOGFILE:PASSWORD

Entschlüsselung unter Windows

"c:\Program Files\OpenSSL-Win64\bin\openssl.exe" aes-256- cbc -pbkdf -salt -d -in d:\Temp\20230209_091352-log_2023_02_09__09_13_47.tar.gz.enc --pass pass:somepassword > d:\ Temp\logfiles.tar.gz

Anschließend kann die TAR.GZ Datei normal entpackt werden ...

Entschlüsselung unter Linux

openssl aes-256- cbc -pbkdf2 -salt -d -in 20230209_091352-log_2023_02_09__09_13_47.tar.gz.enc --pass pass:somepassword | tar xz

Hier wird entschlüsseln und entpacken in einem Schrit durchgeführt.