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.