smartMINI/smartRAIL : chiffrement des fichiers journaux
À partir de la version Yocto 4.3.0 ou de la version 20.19 du DeviceManager, il est possible de chiffrer les fichiers journaux pouvant être demandés par le cloud.
Lorsque le chiffrement est activé, les archives TAR.GZ sont chiffrées de manière symétrique avec AES-256-CBC et une dérivation de clé PBKDF2. Les fichiers portent l'extension tar.gz.enc
Le logiciel open source OpenSSL peut être utilisé pour le déchiffrement. Il existe également pour Windows :
- https://slproweb.com/products/Win32OpenSSL.html
- https://slproweb.com/download/Win64OpenSSL_Light-3_0_8.msi
Sous Linux, OpenSSL peut être installé à partir des dépôts de paquets des distributions.
Remarque sur la réalisation
Lorsque les fichiers journaux sont demandés, les fichiers journaux ouverts sont copiés, complétés par les sorties de divers programmes en ligne de commande, enrichis des fichiers de configuration, puis placés dans un dossier temporaire afin d'être compressés. Dans les versions antérieures, ce dossier temporaire était placé sur la carte SD (et y restait comme sauvegarde). Dans la version actuelle, il est vérifié si l'eMMC dispose de suffisamment d'espace pour le dossier temporaire. (Cela devrait toujours être le cas sur les appareils Quad Core, car ils disposent de deux fois plus de mémoire flash eMMC que les appareils Single Core). Selon l'espace disponible, les fichiers journaux ne se retrouvent donc plus sur la carte SD. Après la copie, les fichiers journaux sont compressés (et éventuellement chiffrés). Ensuite, contrairement aux versions antérieures, le dossier temporaire est immédiatement supprimé pour des raisons de sécurité.
Activation du chiffrement
Commande SCPI vers le DeviceManager : SYSTEM:LOGFILE:PASSWORD somepassword
Désactivation du chiffrement (en supprimant le mot de passe)
Commande SCPI vers le DeviceManager : SYSTEM:LOGFILE:PASSWORD
Déchiffrement sous Windows
"c:\Program Files\OpenSSL-Win64\bin\openssl.exe" aes-256-cbc -pbkdf2 -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
Ensuite, le fichier TAR.GZ peut être décompressé normalement ...
Déchiffrement sous 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
Ici, le déchiffrement et la décompression sont effectués en une seule étape.