Codice documento: Pag. 22/30
Titolo Documento: Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali
Data: 09/10/2020 Versione: n.1.0
Nome file: SO.RE.SA_ Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali_09_10_2020_v1.0
3 AMBITI TECNOLOGICI
Le differenti tecniche per la protezione dei dati personali possono essere applicate nei differenti ambiti tecnologici in base alle diverse modalità di trattamento dei dati:
• Dati a riposo;
• Dati in transito.
Nei paragrafi successivi, per ognuna di tali modalità, vengono descritte le principali tecniche di protezione applicabili.
3.1 DATI A RIPOSO
Le tecniche di protezione e offuscamento dei dati a riposo trovano applicazione principalmente nei seguenti ambiti tecnologici:
• Database (DB);
• File system (file e cartelle);
• Dispositivi Portatili (PC portatili, smartphone, tablet, dispositivi di memorizzazione rimovibili, etc.);
• Backup.
3.2.1 DATABASE
La strategia da utilizzare per la protezione dei dati in ambito Database deve essere considerata già dalla fase di progettazione (Security by design) tenendo conto delle regole stabilite nei paragrafi precedenti.
Le tecniche per la protezione dei dati, quali la cifratura e il mascheramento dei dati, consumano risorse sul server (in termini di risorse computazionali, quali CPU e RAM, e di storage) con il conseguente decadimento delle prestazioni dello stesso, pertanto uno dei principali aspetti che devono essere presi in considerazione nella scelta della soluzione riguarda l’identificazione dei dati ai quali devono essere applicate. È infatti necessario individuare un set di attributi per i quali risulta indispensabile applicare tecniche di securizzazione, come la codifica e/o il mascheramento, tenendo in considerazione che l’applicazione di tali tecniche a campi chiave o a campi associati ad indici può generare un elevato sovraccarico dovuto alla decodifica ad ogni scansione della tabella a cui appartengono. Il livello di overhead dipende dalla tecnologia del Database e dalla tecnica di securizzazione individuata, pertanto risulta necessario effettuare preliminarmente delle opportune analisi di fattibilità al fine di determinare l’impatto delle tecniche di securizzazione sulle prestazioni del DB stesso.
Di seguito, vengono approfondite le tecniche di cifratura e di data masking applicabili ai Database:
1. Cifratura applicata al Database:
Codice documento: Pag. 23/30
Titolo Documento: Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali
Data: 09/10/2020 Versione: n.1.0
Nome file: SO.RE.SA_ Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali_09_10_2020_v1.0
Per l’implementazione di tecniche di cifratura sui dati a riposo archiviati nei Database, è possibile attuare due differenti strategie, la prima prevede che la cifratura venga realizzata a livello applicativo, la seconda, invece, prevede che la cifratura venga implementata al livello del Database, sfruttando le feature native offerte dallo stesso.
Di seguito vengono riportati i dettagli sul funzionamento di tali strategie:
• Cifratura a livello applicativo: tutta la gestione del processo di cifratura è demandata ad apposite librerie crittografiche del linguaggio di programmazione usato nello sviluppo dell’applicazione per la gestione della base dati (come ad esempio le Java Cryptographic Extensions). Questo approccio è completamente trasparente al Database. L’utilizzo di tecniche di questo tipo permette di soddisfare norme di sicurezza molto stringenti, ma risulta poco pratico perché limita l’utilizzo di stored
procedure e appesantisce lo sviluppo dell’applicazione;
• Cifratura a livello del Database: in questo caso si usano le funzionalità offerte dal DBMS o da estensioni sviluppate da terzi. Questo approccio prevede l’associazione di una chiave simmetrica ad ogni attributo da cifrare e la distribuzione di una chiave pubblica ed una privata personali agli utenti del Database. Per consentire ad un utente di accedere è necessario cifrare la chiave simmetrica associata all’attributo con la chiave pubblica dell’utente ed immagazzinare la chiave così ottenuta in una locazione accessibile. In questo modo, l’utente può accedere, mediante la sua chiave privata, all’attributo cifrato ed operare sullo stesso. Per implementare questa strategia di cifratura è necessario definire un apposito processo di gestione delle chiavi di cifratura pubbliche e private.
Un ulteriore aspetto relativo alle tecniche di cifratura da considerare riguarda le funzionalità di backup e ripristino.
2. Data Masking applicato ai Database:
Per implementare il mascheramento sui dati a riposo archiviati nei Database esistono due principali tecniche: il Data Masking statico e il Data Masking dinamico.
Nelle tecniche di Data Masking statico, il mascheramento dei dati viene applicato all’interno del Database stesso prima che questi risultino disponibili per le applicazioni che li richiedono. I dati quindi risultano mascherati indipendentemente dall’utenza o dall’applicazione che li richiede. Tuttavia, esiste il rischio che i dati personali siano ancora presenti in chiaro nei log, nei file di transazioni o nei file temporanei, oppure che i dati risultino esposti durante lo spostamento dal repository sorgente a quello di destinazione.
Per le tecniche di Data Masking dinamico, invece, il mascheramento dei dati si adatta all’utenza o all’applicazione che li richiede. Devono, pertanto, essere definite delle apposite policy per il mascheramento dei dati in funzione dei privilegi posseduti dall’utenza o dall’applicazione che effettua la query. In alcuni casi, per rendere più efficiente il processo di mascheramento è necessario posizionare un proxy nel flusso tra la richiesta dell’utente e l’estrazione dei dati. Tale agent si posiziona esternamente rispetto al Database, in modo da garantire un livello adeguato di protezione dei dati personali senza dover alterare il Database stesso. Tuttavia, l’impiego di tale tecnica richiede che vengano definite delle policy specifiche che tengano in considerazione le varie tipologie di richieste da parte degli utenti per le quali è necessario effettuare il Data Masking.
Codice documento: Pag. 24/30
Titolo Documento: Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali
Data: 09/10/2020 Versione: n.1.0
Nome file: SO.RE.SA_ Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali_09_10_2020_v1.0
Prima di definire la tecnica di protezione dei dati personali da adottare, è necessario uno studio di fattibilità, valutando in particolare le funzionalità messe a disposizione dai singoli DBMS.
3.2.2 FILE SYSTEM
La strategia da utilizzare per la protezione dei dati personali in ambito file system, analogamente a quanto avviene per i Database, deve essere considerata già dalla fase di progettazione (Security by design).
La cifratura a livello di file system, o cifratura di file/cartelle, è una forma di cifratura del disco in cui i singoli file o directory vengono cifrati dal file system stesso. Ciò è in alternativa alla cifratura completa del disco in cui l'intera partizione o disco, in cui risiede il file system, è crittografato.
I principali vantaggi della crittografia a livello di file system rispetto a quella effettuata a livello di Database sono i seguenti:
• Gestione flessibile delle chiavi, in modo che ogni file può essere crittografato con una chiave di cifratura dedicata;
• Gestione individuale dei file crittografati, per esempio backup incrementali dei singoli file modificati, anche in forma criptata, piuttosto che il backup dell'intero volume crittografato;
• Controllo degli accessi implementabile attraverso l'uso di crittografia a chiave pubblica;
• In fase di trattamento dei dati (file) le chiavi di crittografia risiedono solo nella memoria RAM.
Di seguito vengono riportate le principali strategie seguite per la cifratura a livello di file system:
• Stackable crypto-filesystem: questa tecnica prevede l’utilizzo di file system crittografici
specificamente progettati per garantire elevati livelli di sicurezza, attraverso la cifratura di tutti i dati in essi contenuti, inclusi i metadati. Invece di implementare una partizione di disco e la relativa allocazione dei blocchi, questi file system sono spesso implementati come uno strato superiore di un file system esistente. Questa tecnica risulta particolarmente efficace per le applicazioni basate sul cloud;
• General purpouse crypto-filesystem: questa tecnica, a differenza di quanto avviene con la cifratura completa del disco, non permette di cifrare i file di metadati di sistema (struttura di directory, nomi dei file, dimensioni o timestamp di modifica), ciò può rappresentare un problema se i metadati stessi devono essere considerati critici. I General purpouse crypto-filesystem, ad eccezione di quelli di tipo ZFS presente sulle macchine con Sistema operativo Solaris, permettono a chiunque abbia accesso al disco fisico di sapere quali documenti sono memorizzati al suo interno, senza però permettere di accedere al contenuto dei documenti stessi. Nei filesystem di tipo ZFS infatti, i metadati del filesystem, come i nomi dei file, le proprietà, le ACL, e gli attributi estesi sono tutti memorizzati in forma cifrata.
Codice documento: Pag. 25/30
Titolo Documento: Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali
Data: 09/10/2020 Versione: n.1.0
Nome file: SO.RE.SA_ Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali_09_10_2020_v1.0
3.2.3 DISPOSITIVI PORTATILI
I dispositivi portatili (PC portatili, smartphone, Tablet, dispositivi di memorizzazione rimovibili, etc.) rappresentano una categoria specifica di dispositivi che contengono dati a riposo.
L'utilizzo, da parte dei dipendenti, dei propri dispositivi personali (es. smarphone, tablet e pc portatili) per accedere alla rete e ai dati aziendali e svolgere le mansioni previste dal ruolo (BYOD) introduce ulteriori rischi specifici per la protezione dei dati personali quali le vulnerabilità presenti sui dispositivi mobili che possono essere sfruttate per eventuali attacchi finalizzati all’esfiltrazione dei dati, la perdita o il furto accidentale del dispositivo mobile personale in situazioni extra-lavorative, la manomissione da parte di terzi di un dispositivo lasciato incustodito o l’utilizzo improprio dello stesso da parte del dipendente. Risulta pertanto necessaria l’adozione di apposite procedure e strumenti di controllo remoto (Mobile Device Management). In particolare, risulta necessario effettuare una segregazione logica degli ambienti utilizzati a fini aziendali da quelli utilizzati a fini personali. Sulla partizione destinata all’utilizzo aziendale, dovranno essere implementate le soluzioni tecniche più adeguate alla securizzazione dei dati a riposo
e per i dati in transito. Infine, le tecniche di crittografia da adottare su tali dispositivi, devono essere certificate e devono prevedere, come ulteriore misura di protezione, l’autenticazione all’avvio dell’utilizzo di tali dispositivi.
3.2.4 BACKUP
I dati di backup, al pari dei dati in linea, devono essere adeguatamente codificati, altrimenti, in caso di attacco informatico, all’aggressore basterà procurarsi i file di backup per aggirare il problema e leggere i dati in chiaro.
L’archiviazione dei dati cifrati, al fine di garantire un adeguato livello di protezione ai dati di backup, potrebbe richiedere l’espansione dello storage dei dischi di Backup, poiché viene meno la possibilità di applicare la deduplica ai dati.
Inoltre, per applicare la cifratura ai dati di backup è necessario tenere in considerazione i seguenti aspetti:
• in caso di modifica periodica delle chiavi di cifratura, è necessario estendere il processo di gestione delle chiavi di cifratura anche a quelle utilizzate per la codifica dei dati di backup;
• è necessario stabilire quale chiave deve essere impiegata per la cifratura dei dati, se la stessa utilizzata a livello di Database oppure una chiave differente appositamente generata.
3.3 DATI IN TRANSITO
Per cifratura dei dati in transito si intende la cifratura delle comunicazioni, ovvero dei canali trasmissivi utilizzati per la trasmissione dei dati.
La protezione del canale di trasmissione viene realizzata attraverso l’utilizzo di protocolli sicuri riconosciuti e autorizzati.
Codice documento: Pag. 26/30
Titolo Documento: Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali
Data: 09/10/2020 Versione: n.1.0
Nome file: SO.RE.SA_ Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali_09_10_2020_v1.0
Il protocollo sicuro da utilizzare dipende dalla criticità dei dati trasmessi che può essere desunta dai servizi/sistemi coinvolti nella comunicazione.
Nel caso in cui i dispositivi endpoint di origine e di destinazione si trovino all'interno della stessa rete, la trasmissione dei dati deve comunque essere cifrata qualora siano coinvolti servizi/sistemi classificati come critici sulla base dei dati da essi gestiti. I tipi di trasmissione possono includere la comunicazione da client a server, da server a server, nonché qualsiasi trasferimento di dati tra sistemi core e sistemi di terze parti.
Per proteggere la trasmissione si possono adottare approcci diversi. Nello specifico, a titolo esemplificativo, ma non esaustivo, si possono adottare i seguenti meccanismi di protezione:
• Funzionalità dedicate interne al Database: alcuni DMBS offrono dei package per il supporto e la gestione della cifratura delle trasmissioni, come nel caso del pacchetto Oracle Advanced Security incluso nella versione Enterprise di Oracle e il protocollo TLS1.2 support disponibile su MSSQL server e Azure SQL Database;
• Connessioni sicure: tale approccio prevede l’uso del protocollo Transport Layer Security (TLS), che è adottato generalmente da tutti i DBMS sul mercato. Il protocollo TLS utilizza metodi di cifratura a chiave pubblica e richiede l’uso di certificati digitali per verificare l’identità del DB server e della macchina su cui è in esecuzione l’applicazione. Tale protocollo avanzato consente di garantire una comunicazione sicura dalla sorgente al destinatario (end-to-end) su reti TCP/IP, garantendo autenticazione, integrità dei dati e confidenzialità;
• VPN: in questo caso viene creata una rete virtuale privata all’interno della quale i dati vengono trasmessi attraverso protocolli crittografici a tunnel per garantire che i dati instradati in rete non vengano intercettati o utilizzati da utenti non autorizzati. Il tunneling, che consiste
nell’incapsulamento dei dati e del protocollo garantisce che tutti i dati che transitano per il tunnel non siano comprensibili a terzi che non sono in possesso delle chiavi di cifratura e delle
autorizzazioni necessarie a visualizzare i dati in chiaro;
• Demandare al sistema operativo: la cifratura avviene in modo trasparente per il Database, ma l’operazione è direttamente a carico del sistema operativo. Si usa generalmente lo standard IPSec, che a sua volta crea un tunnel cifrato (più specificatamente una VPN Host-to-Host), che però ha effetto su tutto lo stack TCP/IP. È fondamentale che il servizio di cifratura di IPSec sia attivo su tutte le macchine che devono essere coinvolte.
Codice documento: Pag. 27/30
Titolo Documento: Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali
Data: 09/10/2020 Versione: n.1.0
Nome file: SO.RE.SA_ Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali_09_10_2020_v1.0
4 GESTIONE DELLE CHIAVI CRITTOGRAFICHE
Il processo di gestione delle chiavi di crittografia, o Key Management, si riferisce all’insieme delle attività relative alla gestione del ciclo di vita delle chiavi di crittografia per device e applicazioni. Lo scopo di tali attività è quello di ridurre i rischi derivanti da una non corretta gestione e custodia delle chiavi di cifrature sui sistemi, attraverso l’impiego di sistemi software/hardware e l’applicazione di specifiche policy di sicurezza.
La realizzazione di un processo di gestione delle chiavi di cifratura affidabile è un aspetto critico per l’efficacia dell’intero sistema di cifratura poiché, se non eseguito correttamente, può compromettere sia la capacità dell’Organizzazione di disporre dei propri dati, sia la riservatezza dei dati stessi, a seguito della compromissione/pubblicazione delle chiavi utilizzate per codificare i dati personali.
4.1RUOLI
Per realizzare un processo di gestione delle chiavi di cifratura efficace, devono essere identificati i seguenti ruoli:
• Key Manager: ha la responsabilità della creazione, distribuzione e gestione delle chiavi di crittografia all’interno del processo di Key Management;
• Referente del Sistema: responsabile del sistema che utilizza le chiavi di cifratura per i sistemi di competenza;
• Custode: è la figura che si occupa di conservare una copia delle chiavi di cifratura senza possederne il diritto di utilizzarla. Tale ruolo è essenziale, soprattutto quando si cifrano i dati a riposo, per garantire la disponibilità dei dati in caso di perdita delle chiavi. Nel caso di dati particolarmente critici, possono essere identificati due custodi distinti, partizionando così degli oneri di
conservazione delle chiavi. Ciò riduce il rischio che il comportamento intenzionalmente fraudolento di un soggetto unico possa ripercuotersi sul patrimonio aziendale.
Per garantire una maggior sicurezza nella gestione delle chiavi di cifratura, in ottemperanza al principio di Segregation of Duties, i ruoli di Key Manager e Referente di Sistema devono essere separati. La stessa separazione deve essere applicata tra i ruoli di Key Manager e Custode.
4.2 PROCESSO DI GESTIONE DELLE CHIAVI
Un efficace processo di gestione delle chiavi di cifratura deve assicurare la gestione e la protezione delle stesse in tutte le fasi del suo ciclo di vita.
In particolare, devono essere previste le seguenti fasi:
• Generazione delle chiavi: la generazione delle chiavi di cifratura, indipendentemente dai sistemi di cifratura, deve essere effettuata dal Key Manager, il quale procede poi ad assegnarle, nel caso di
Codice documento: Pag. 28/30
Titolo Documento: Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali
chiavi private, e a distribuirle agli utenti, alle applicazioni, ai sistemi e agli apparati di rete che le utilizzeranno per la cifratura dei dati a riposo e in transito;
• Certificazione delle chiavi: la certificazione delle chiavi rappresenta la fase di associazione delle chiavi stesse ai soggetti o agli apparati ai quali sono destinate. La certificazione delle chiavi avviene solamente nei casi in cui vengano utilizzate tecniche di cifratura asimmetriche o ibride;
• Distribuzione delle chiavi: la distribuzione delle chiavi rappresenta la modalità con le quali le chiavi generate sono fisicamente distribuite e memorizzate presso i sistemi, le applicazioni ed i servizi ai quali sono logicamente assegnate. Tale attività può essere effettuata direttamente dal Key Manager sui sistemi interessati oppure distribuita dal Key Manager ai referenti del sistema direttamente o attraverso scambio delle chiavi effettuato tra più utenti o tra utenti e applicazioni, sistemi e servizi utilizzando tecniche di cifratura asimmetrica (es. certificati digitali);
• Custodia delle chiavi: la custodia delle chiavi consiste nell’insieme delle attività finalizzate alla conservazione delle chiavi di crittografia da parte del Custode. Quest’ultimo ha il compito di costruire e aggiornare l’archivio delle chiavi al fine di mantenere una copia di sicurezza delle chiavi stesse per le attività legate al Recovery Della chiave ed all’History della chiave;
• Rinnovo delle chiavi: il rinnovo delle chiavi rappresenta il prolungamento della durata di una chiave di cifratura o certificato digitale per un tempo superiore rispetto a quanto previsto in fase di
generazione della stessa. È compito del Key Manager, su richiesta del Referente del Sistema, prolungare la validità di una chiave di cifratura e certificato digitale. Alla revoca può seguire, in taluni casi, l’attivazione di procedure di decifratura dei dati e di successiva cifratura dei dati con nuove chiavi, appositamente generate;
• Recovery delle chiavi: il recovery delle chiavi è costituito dall’insieme delle attività volte al recupero di una chiave di cifratura attraverso la relativa copia di sicurezza, posta sotto la tutela del Custode, nel caso in cui il Referente del Sistema al quale è assegnata o il Key Manager che l’ha generata ne facciano richiesta formale. Il Recovery delle chiavi non si applica alle chiavi asimmetriche utilizzate per l’autenticazione o firma digitale in quanto, lo smarrimento di tali chiavi richiede la sostituzione delle stesse per i rischi legati alla loro compromissione;
• Revoca delle chiavi: la revoca delle chiavi è la procedura atta a rendere una o più chiavi di cifratura non più utilizzabili in maniera definitiva. La revoca non comporta la distruzione della chiave, ma ne impedisce il suo futuro utilizzo. A valle di un’operazione di revoca, la chiave resta comunque disponibile all’interno dell’archivio del Custode per le operazioni di History della chiave;
• History delle chiavi: l’History della chiave rappresenta l’insieme delle attività inerenti il mantenimento di tutte le chiavi utilizzate nei vari momenti sui vari sistemi quando le chiavi originarie non sono più utilizzate perché distrutte. Tale attività è necessaria per poter recuperare i dati dai backup cifrati. Il Custode è incaricato della conservazione dello storico delle chiavi. L’History della chiave, o Key History, come il Key Recovery, non si applica alle chiavi asimmetriche utilizzate per l’autenticazione o firma digitale;
• Distruzione delle chiavi: la distruzione delle chiavi è il processo irreversibile atto a non rendere più disponibile ed utilizzabile una chiave di cifratura. La richiesta di distruzione di una chiave deve garantire la distruzione di ogni copia della chiave di cifratura dandone esplicita comunicazione al Custode, il quale provvederà a cancellare la copia in suo possesso. Inoltre, la distruzione di una
Codice documento: Pag. 29/30
Titolo Documento: Linea guida sull'uso della crittografia, pseudonimizzazione e anonimizzazione dei dati personali
Data: 09/10/2020 Versione: n.1.0
Nome file: SO.RE.SA_ Linea guida sull'uso della crittografia,
Nome file: SO.RE.SA_ Linea guida sull'uso della crittografia,