Passa al contenuto principale

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:

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.