Caratteristiche, importanza e vantaggi del data masking in informatica

Caratteristiche, importanza e vantaggi del data masking in informatica

Che cos’è il data masking

Il data masking è una disciplina che consente di creare una versione simile, ma non autentica, dei dati reali conservati da un’organizzazione, in modo che mantengano la loro valenza funzionale, ma non consentano di risalire all’identità dei proprietari nel caso in cui avvenga un data breach.

In altri termini, il data masking ha l’obiettivo di proteggere i dati reali mettendo a disposizione dei processi aziendali un alter ego perfettamente funzionale nel soddisfare tutte le funzioni che non necessitano nello specifico dei dati reali.

L’esigenza di un data masking deriva dal fatto che anche il sistema di sicurezza informatico aziendale più sicuro, non sarà mai sicuro al 100%, per cui le organizzazioni non possono escludere a priori la possibilità di una violazione dei dati di cui dispongono, e di cui sono fermamente responsabili. Molte volte, anche il più blindato dei sistemi può cadere vittima di una data breach, per colpe di fatto non sue.

A complicare ulteriormente lo scenario consolidato, che potremmo identificare fino alla pandemia Covid-19, è intervenuto un ulteriore fattore: oggi non ha più alcun senso pratico parlare di perimetro di sicurezza, la circolazione dei dati nella rete rappresenta un concetto assolutamente fluido. Per rendercene conto, è sufficiente porci una domanda: chi ha accesso ai dati? Sicuramente i dipendenti delle varie linee di business dell’azienda stessa, ma non solo.

Nel novero di attori coinvolti nella supply chain aziendale rientrano anche tutti i partner, i fornitori e tutti quei consulenti in outsourcing che, oltretutto in un contesto di lavoro ibrido, dispongono di autenticazioni per accedere ai sistemi aziendali, con policy e autorizzazioni di accesso ai dati non sempre semplici da definire. I rischi ci sono, sono evidenti e in continua crescita, di pari passo con il fronte della minaccia informatica.

Il data masking ci viene in aiuto con una logica molto semplice: togliere valore ai dati, ai fini di renderli meno profittevoli possibile per gli eventuali malintenzionati. Per raggiungere questo scopo, il data masking utilizza un’ampia varietà di tecniche per mascherare i dati sensibili originali, rendendoli fittizi e assolutamente non correlabili con le identità di partenza. Tra queste ritroviamo le procedure di offuscamento, anonimazione e pseudonimazione. Le esamineremo a breve. Per ora ci basti sapere che il data masking non modifica il formato dei dati conservati nei sistemi aziendali; pertanto, non ne pregiudica l’impiego da parte delle applicazioni che vi accedono con le opportune autorizzazioni. A prescindere dal metodo scelto, vengono semplicemente variati i valori ai fini di renderli non riconoscibili, nemmeno impiegando i più avanzati processi di reverse engineering.

Il data masking si riferisce a molti tipi di dati. I principali sono convenzionalmente siglati come segue:

  • PII (Personally Identifable Information), genericamente intesi quali i dati personali
  • PHI (Protected Health Information), equivalenti ai dati di carattere sanitario
  • PCI-DSS (Payment Card Information Data Security Standard), equivalenti dai dati di natura finanziaria
  • ITAR (Intellectual Property), a cui fa riferimento l’ampio contesto correlabile alla proprietà intellettuale.

Il data masking generalmente si applica ai cosiddetti non-production environment, come lo sviluppo software, in particolare per quanto concerne il testing, in cui è fondamentale la relazione tra l’applicazione e il database, così come la formazione del personale ed altre situazioni in cui non è fondamentale conoscere il dato reale. Affinché un’applicazione funzioni, il più delle volte non mi interessa conoscere gli estremi dell’identità del soggetto a cui si riferiscono i dati, ma la semplice relazione tra i dati stessi.

Caratteristiche, importanza e vantaggi del data masking in informatica

Le principali tecniche di data masking

Nel corso degli anni sono stati sviluppati vari metodi di data masking, ciascuno valido entro le condizioni e gli obiettivi che vengono determinati. Vediamo pertanto quali sono i metodi di data masking più diffusi e cosa consentono di realizzare.

Pseudonimizzazione

La pseudonimizzazione rappresenta il metodo di data masking per eccellenza, al punto da essere enfatizzato e suggerito in varie occasioni anche nel testo del GDPR. La sua applicazione consente di nascondere a terzi l’identità del soggetto che si intende tutelare, riducendo al tempo stesso che i dati vengano collegati a domini diversi. Ciò avviene sostituendo il dato reale con uno pseudonimo, che non può essere in alcun modo ricondotto al dato originale se non mediante informazioni aggiuntive, conservate in separata sede rispetto ai dati sensibili, seguendo adeguate logiche di sicurezza.

Nella sua generica contestualizzazione, la pseudonimizzazione dei dati può avvenire eseguendo varie tecniche di sostituzione, tra cui:

  • Contatore incrementale: al dato reale viene associato un numero fornito da un contatore che genera dei valori con una logica incrementale (es. 001, 002, ecc.), conservando in separata sede una tabella di associazione;
  • Generazione di numeri casuali: tecnica di per sé identica rispetto all’impiego di un contatore incrementale, rispetto a cui l’unica differenza risiede nella generazione casuale dei valori associati al dato reale per la sua mascheratura (es. 001, 004, 014, ecc.);
  • Variazione di numero e data: vengono modificati i valori entro un intervallo specificato, in modo da non consentire la sua identificazione. Ad esempio, il campo relativo alla data di nascita può essere variato dal 10 dicembre al 6 gennaio, applicando un range di +/- 30 giorni rispetto al valore reale.

A prescindere dalla tecnica impiegata, il data masking per pseudonimizzazione viene solitamente eseguita dal titolare del trattamento dei dati, in conformità con le disposizioni del GDPR, durante la raccolta dei dati, ancor prima della loro elaborazione. Nulla esclude che il data masking venga eseguito da soggetti terzi, delegati al trattamento dei dati dal legittimo titolare, a patto rispettare le condizioni normative e di policy vigenti.

Anonimizzazione

Rispetto alla pseudonimizzazione, l’anonimizzazione risolve il problema alla radice, eliminando qualsiasi possibile correlazione tra il dato reale e il dato reso anonimo. In questo caso, viene infatti a mancare proprio lo pseudonimo che consente l’associazione con il dato originale. Esistono moltissime tecniche di anonimizzazione del dato, tra cui:

  • Generalizzazione: consente nel variare la scala di grandezza degli attributi, mediante la loro estensione. Torrente diventa fiume, nazione diventa continente, e così via;
  • Scrambling: si tratta di un metodo che impiega un algoritmo in grado di mescolare le lettere dell’alfabeto, per rendere del tutto irriconoscibile la fonte originale;
  • Rumore statico: analogamente allo scrambling, vengono utilizzati algoritmi in grado di alterare la natura degli attributi, rendendoli irriconoscibili rispetto alla condizione originale, senza tuttavia pregiudicare il loro impiego da parte delle applicazioni;
  • Annullamento / cancellazione: il dato sensibile viene risolto con la sua totale eliminazione, che equivale alla sua sostituzione con un valore nullo. È facile intuire la robustezza di tale metodo che, a causa della definitiva perdita di integrità referenziale, rende il dato inutilizzabile per le applicazioni.

Shuffling

Sotto il generico cappello di shuffling vengono ricondotte tutte le tecniche di data masking che consistono nel mischiare in modo del tutto casuale i dati contenuti all’interno di un database, pur mantenendo le relazioni logiche che consentono di utilizzare funzionalmente i dati stessi all’interno delle applicazioni.

Rispetto ai precedenti metodi analizzati, che eliminano dichiaratamente qualsiasi possibile correlazione, lo shuffling si caratterizza per il fatto di poter mantenere intatte alcune relazioni tra gli attributi, con tutti i pro (maggiori informazioni) e i contro (minor robustezza) del caso. Esiste tuttavia la possibilità di eseguire uno shuffling totalmente casuale, al punto da eliminare qualsiasi relazione all’origine, anche se questa equivale probabilmente alla condizione meno interessante.

Le due varianti di data shuffling “non casuali” più diffuse sono:

  • Designazione dei gruppi: le colonne del database vengono associate in base all’appartenenza allo stesso gruppo, mescolando contestualmente i valori interessati. La colonna automobile può essere ad esempio collegata a marca e modello. I valori iniziali non vengono tuttavia modificati;
  • Designazione delle partizioni: i dati vengono mischiati all’interno delle partizioni, mantenendo in maniera più o meno evidente i collegamenti originali tra gli attributi. Ad esempio, è possibile effettuare lo shuffling di tutte le righe che prevedono il valore automobile sotto la colonna veicolo, e via dicendo;

Crittografia

Seconda la sua definizione più diffusa, la crittografia informatica consente di rendere illeggibile un set di dati, a meno di utilizzare un’apposita chiave, generata durante il processo crittografico. Tale informazione va ovviamente conservata in separata sede rispetto ai dati trattati.

Dal punto di vista informatico, la crittografia impiega degli appositi algoritmi di cifratura, la cui natura rende più o meno robusta la mascheratura del dato. In base alle sue caratteristiche, la chiave di cifratura generata viene definita simmetrica o asimmetrica:

  • Cifratura a chiave simmetrica: la simmetria è data dal fatto che la medesima chiave viene impiegata sia per cifrare che per decodificare i dati. Si tratta di un processo veloce, ma poco robusto dal punto di vista della sicurezza, in quanto, utilizzando determinate tecniche, può risultare anche piuttosto semplice intercettare la chiave stessa;
  • Cifratura a chiave asimmetrica (double hash): come il nome stesso lascia presumere, questo metodo crittografico applica due differenti chiavi, una privata e una pubblica, rendendo indispensabile il possesso di entrambe per poter decifrare i dati. Le due chiavi generate sono tra loro funzionali grazie ad una correlazione di tipo matematico.

Il processo di data masking

A prescindere dalla sua natura, statica o dinamica, il data masking prevede solitamente un processo ciclico, la cui natura è il risultato di una precisa scelta in termini di design da parte degli specialisti. In una condizione generalizzata, potremmo descrivere un processo di data masking attraverso le seguenti fasi:

  1. Selezione dei dati: prima di procedere alla mascheratura in senso stretto, è necessario analizzare i database ai fini di capire quali sono i dati sensibili che vanno necessariamente offuscati. Tale fase risulta essenziale per il fatto che comporta la scelta di quali relazioni e vincoli di integrità referenziale vadano o meno conservati ai fini della fruibilità dei dati da parte delle applicazioni a cui il database è connesso, per svolgere correttamente tutti i test e le analisi che si rendono necessarie;
  2. Scelta della tecnica di data masking: funzionalmente agli obiettivi e ai requisiti contestuali, viene scelta la tecnica di data masking in grado di dare le migliori risposte sia dal punto di vista della qualità operativa che dei termini di impegno che necessariamente comporta, in termini di tempi e budget a disposizione;
  3. Esecuzione del data masking: applicazione della tecnica statica o dinamica prescelta, con l’obiettivo di mascherare i dati attraverso procedure ripetitibili e irreversibili come quelle che abbiamo precedentemente illustrato, ai fini di ottenere dati equivalenti dal punto di vista della struttura, ma numericamente differenti rispetto al dato reale. Tale condizione è infatti quella che offre le maggiori garanzie di fruibilità da parte delle applicazioni. Ad esempio, un numero di carta di credito offuscato presenterà dei valori mescolati o del tutto differenti rispetto al dato reale, ma la struttura caratteristica rimarrà invariata, altrimenti nessuna applicazione predisposta per tale scopo sarebbe mai in grado di riconoscerla.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *