smartMINI/smartRAIL: crittografia dei file di log
A partire dalla versione Yocto 4.3.0 o dalla versione 20.19 di DeviceManager è possibile crittografare i file di log che possono essere richiesti dal cloud.
Se la crittografia è attivata, gli archivi TAR.GZ vengono crittografati in modo simmetrico con AES-256-CBC e derivazione della chiave PBKDF2. I file hanno l'estensione tar.gz.enc
Per la decrittografia è possibile utilizzare il software open source OpenSSL, disponibile anche per Windows:
- https://slproweb.com/products/Win32OpenSSL.html
- https://slproweb.com/download/Win64OpenSSL_Light-3_0_8.msi
In Linux, OpenSSL può essere installato dai repository dei pacchetti della distribuzione.
Nota sull'implementazione
Quando vengono richiesti i file di log, i file di log aperti vengono copiati, integrati con l'output di vari programmi a riga di comando, completati con i file di configurazione e salvati in una cartella temporanea per poterli comprimere. Nelle versioni precedenti questa cartella temporanea veniva creata sulla scheda SD (e lasciata lì come backup). Nella versione attuale viene verificato se sulla eMMC è disponibile spazio sufficiente per la cartella temporanea. (Questo dovrebbe essere sempre il caso nei dispositivi Quad Core, poiché dispongono di una memoria flash eMMC di capacità doppia rispetto ai dispositivi Single Core). A seconda dello spazio disponibile, i file di log non finiscono quindi più sulla scheda SD. Dopo la copia, i file di log vengono compressi (e opzionalmente crittografati). Successivamente la cartella temporanea, a differenza delle versioni precedenti, viene eliminata immediatamente per motivi di sicurezza.
Attivazione della crittografia
Comando SCPI a DeviceManager: SYSTEM:LOGFILE:PASSWORD somepassword
Disattivazione della crittografia (eliminando la password)
Comando SCPI a DeviceManager: SYSTEM:LOGFILE:PASSWORD
Decrittografia in 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
Successivamente il file TAR.GZ può essere estratto normalmente ...
Decrittografia in 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
In questo caso la decrittografia e l'estrazione vengono eseguite in un unico passaggio.