Data masking: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichetta: Ripristino manuale
Funzionalità collegamenti suggeriti: 1 collegamento inserito.
 
(23 versioni intermedie di 9 utenti non mostrate)
Riga 1:
{{NN|informatica|gennaio 2021|}}
{{DISPLAYTITLE:Data Masking}}
Il '''data masking''' è una procedura di offuscamento dati; è impiegata per la salvaguardia della privacy nell’utilizzo e nel testing di piattaforme online.<ref>{{Cita pubblicazione|autore=enisa|titolo=Pseudonymisation techniques and best practices}}</ref><br>Attraverso il masking, i [[dati sensibili]] vengono sostituiti con altri dati o con stringhe di [[Carattere (informatica)|caratteri]], in modo da impedire l’identificazione della [[persona fisica]]. Questa procedura previene l’appropriazione indebita dei dati a fini commerciali, ma ne permette l’utilizzo per lo sviluppo di applicativi, siti web e collaudo [[software]]. Per questa ragione, il data masking deve sempre garantire la fruizione dei dati.<br>
 
Il data masking è utilizzato e raccomandato per attuare le misure di sicurezza previste dal [[Regolamento generale sulla protezione dei dati|Regolamento generale sulla protezione dei dati (GDPR).]]
Il data masking è una procedura di offuscamento dati, impiegata per la salvaguardia della privacy nell’utilizzo e nel testing di piattaforme online.<br>
Attraverso il masking, i dati sensibili vengono sostituiti con altri dati o con stringhe di caratteri, in modo da impedire l’identificazione della persona fisica. Questa procedura previene l’appropriazione indebita dei dati a fini commerciali, ma ne permette l’utilizzo per lo sviluppo di applicativi, siti web e collaudo software. Per questa ragione, il data masking deve sempre garantire la fruizione dei dati.<br>
 
Il data masking è utilizzato e raccomandato per attuare le misure di sicurezza previste dal Regolamento generale sulla protezione dei dati (GDPR).
 
==Regole generali per eseguire il data masking==
 
Il data masking deve essere irreversibile, qualsiasi sia la tecnica utilizzata. I dati in [[Output (informatica)|output]] non possono essere riconvertiti alla loro forma originale. I risultati devono comunque essere rappresentativi dei dati di origine.
 
È necessario mantenere l’integrità referenziale dei dati quandoQuando si utilizzano soluzioni di data masking. Questoè perchénecessario alcunimantenere l’integrità referenziale dei dati. Alcuni attributi presenti all’interno delledel tabelle[[Base di dati|database]] possono infatti essere utilizzati come riferimento per altri elementi. AdPer esempio, se unil numero di una carta di credito è utilizzato come [[chiave primaria]] eall'interno vienedi una tabella è convertito in un insieme di codificatocaratteri, tutti i valori ada esso collegati devono avereessere lacodificati stessasecondo codificai medesimi criteri.<ref name="Dynamic Data Masking">{{Cita web|url=https://docs.microsoft.com/it-it/sql/relational-databases/security/dynamic-data-masking?view=sql-server-ver15|titolo=Dynamic Data Masking}}</ref>
 
Molti database relazionali, per ottimizzare l’archiviazione dei dati, consentono agli elementi di relazionarsi tra loro attraverso chiavi. Per questo motivo, mescolareMescolare o sostituire queste chiavi durante i processi di mascheramento di dati, potrebbe avere grosse complicazioniconseguenze sul funzionamento del database a causa della perdita di relazioni tra i dati.
 
Non è necessario codificare l’intero database. Devono però essere codificati tutti i [[dati sensibili]] e i [[Dati sensibili|dati non sensibili, nel caso in]] cuiche possano ricondurre a quelli sensibili.
I dati mascherati devono rispettare il criterio di unicità. Ciò è fondamentale anche per l’integrità referenziale, perché le colonne utilizzate devono contenere valori univoci.
 
Il mascheramento dei dati deve essere un processo ripetibile,: non è consigliabile eseguire mascheramenti “una tantum”, che sarebbero difficili da mantenere e poco efficaci.
Non è necessario codificare l’intero database. Devono essere codificati tutti i dati sensibili e i dati non sensibili, nel caso in cui possano ricondurre a quelli sensibili.
 
Il mascheramento dei dati deve essere un processo ripetibile, non è consigliabile eseguire mascheramenti “una tantum”, che sarebbero difficili da mantenere e poco efficaci.
È fondamentalespesso mantenereimportante che il mascheramento mantenga inalterato il tipo di dato quandoall'interno questodei vienedatabase, mascherato.perché Ii database per esempio non accettano testo in campi numerici o riferiti a date. Solitamente il data masking conserva implicitamente il tipo di dato. Ci sono però situazioni in cui un dato specifico può essere conservato come un dato generico (adper esempio, conservatoun comenumero varchar,può ovveroessere conservato come testo generico).
 
Bisogna mantenere inalterataAnche la struttura dei dati mascherati.deve Ovverodi regola rimanere inalterata: se i dati originali hanno una lunghezza checompresa varia datra due ae venti caratteri, i dati riprodotti dalla macchinaalterati dovrebbero avere la stessa lunghezza.
 
Possono verificarsiIn alcuni casi inpuò cuianche siaessere richiestonecessario mantenere i raggruppamenti logici di valori, quindi è necessario mantenere questi ultimi. AdPer esempio, il mescolamento casuale di dati relativi alla posizione geografica di determinati soggetti, indicata attraverso il codice postale, risulterebbe nella perdita di informazioni geografiche importanti.
 
==Data masking statico e dinamico==
Durante le fasi di sviluppo è necessario impiegare i dati per ileseguire testingdei test sul corretto funzionamento del database. Per permettere questa operazione senza compromettere la privacy dell’utente, si fa ricorso a due tipologie di masking: statico e dinamico.<ref>{{Cita web|url=https://docs.microsoft.com/it-it/sql/relational-databases/security/dynamic-data-masking?view=sql-server-ver15|titolo=Dynamic Data Masking|data=24/03/2021|lingua=italiano|citazione=La maschera dati dinamica (DDM) limita l'esposizione dei dati sensibili nascondendoli agli utenti senza privilegi. Può essere usata per semplificare notevolmente la progettazione e la codifica della sicurezza nell'applicazione}}</ref>
 
==== Data masking statico= ===
Il data masking statico viene utilizzato per il testing di applicativi su un database. Viene creata una copia del database originale, che viene poi caricata su un [[server]] separato. Il numero di informazioni contenute nel database copia viene ridotto, lasciando a disposizione solo i dati necessarienecessari per condurre test specifici. I dati rimasti subiscono un processo di mascheramento, e la versione offuscata del database viene inviata ai [[Programmatore informatico|programmatori]].
 
==== Data masking dinamico= ===
Il data masking dinamico (masking on-the-fly) avviene durante il processo di trasferimento dei dati necessari alla progettazione agli sviluppatori<ref name="Dynamic Data Masking" />, e non prevede la registrazione intermedia su alcun supporto di memorizzazione.<br> Questo tipo di masking è più efficiente per le organizzazioni che utilizzano un’integrazione continua dei dati e non hanno il tempo necessario per creare e caricare i [[backup]] del database. Con l’integrazione continua è possibile inviare agli sviluppatori piccoli set di dati per i test.
Questo tipo di masking è più efficiente per le organizzazioni che utilizzano un’integrazione continua dei dati, e non hanno il tempo necessario per creare e caricare i backup del database. Con l’integrazione continua è possibile inviare agli sviluppatori piccoli set di dati per i test.
 
Attraverso il data masking dinamico è anche possibile effettuare un offuscamento parziale dei dati. Attraverso questa procedura vengono mascherati dati sensibili ada utenti non autorizzati, permettendo comunque la fruizione dell’interfaccia.
 
AdPer esempio, un addetto di un call center può identificare un cliente tramite gli ultimi quattro numeri della sua carta di credito, senza però accedere al numero completo.
 
== Metodi di data masking ==
 
===Pseudonimizzazione===
La [[Pseudonimo|pseudonimizzazione]] nasconde l’identità del soggetto a terzi e riduce il rischio che i dati vengano collegati a domini diversi,.<ref graziename="Pseudonymisation all’inassociabilità.techniques and best practices">{{Cita libro|autore=enisa|titolo=Pseudonymisation techniques and best practices|annooriginale=2019|lingua=inglese}}</ref>
 
Attraverso questo metodo i dati personali vengono trattati in modo tale che non possano più essere attribuiti ada uno specifico interessato senza l’utilizzo di informazioni aggiuntive, che devono essere conservate separatamente.
 
La pseudonimizzazione può essere applicata in diversi modi. AdPer esempio, può essere effettuata dal titolare del trattamento, al momento della raccolta dei dati, per una successiva elaborazione. Un’altraUn'altra possibilità di applicazione è la pseudonimizzazione affidata a terzi che, una volta effettuato il trattamento, inoltreranno i dati al titolare<ref>{{Cita pubblicazione|autore=Enisa|anno=3 dicembre 2019|titolo=Pseudonymisation techniques and best practices|pp=12-17}}</ref>.
 
Le tecniche di pseudonimizzazione sono:
 
* '''Contatore''': si tratta della forma più semplice di pseudonimizzazione. AdA ogni dato viene associato un numero da un contatore monotono (ovvero un contatore che fornisce numeri incrementandoli). Questa tecnica è utile per set di caratteri molto semplici.
* '''Generatore di numeri casuali''': è simile al contatore, ma fornisce [[Numero casuale|numeri casuali]].
* '''Funzione crittografica di hash''': questo metodo permette di associare a stringhe di lunghezza variabile altre di [[lunghezza]] fissa.
* '''Codice di autenticazione del messaggio''': funziona come la precedente ma viene generatagenera una chiave segreta per pseudonimizzare.<ref>{{Cita pubblicazione|autore=Enisa|data=3 dicembre 2019|titolo=Pseudonymisation techniques and best practices|pp=24-30}}</ref>
 
=== Anonimizzazione===
L’anonimizzazione è una procedura che fornisce informazioni anonime, ovvero informazioni che non fanno riferimento ada una persona fisica identificata o identificabile.<ref name="Pseudonymisation techniques and best practices" />
 
Si differenzia dalla pseudonimizzazione, che associa uno “pseudonimo” ada ogni dato.
 
Anche in questo caso non esiste un’unicaun'unica tecnica o metodologia.
 
* '''CorrelabilitàBlocco della correlabilità''': questo metodo impedisce di risalire ada una singola persona o ada un gruppo di persone che hanno dati in diverse banche dati, come può avvenireattraverso, adper esempio, tramite un’analisi di correlazione.
* '''Rumore statico''': il metodo che consiste nell’alterare gli attributi dei dati in modo che non siano riconducibili al soggetto, ma mantengano comunque la possibilità di essere utilizzarliutilizzati.
* '''Scrambling''': tecnicail metodo mescola tra di loro le lettere dell’alfabeto, secondo un determinato schema.
* '''Generalizzazione''': metodoil chemetodo consiste nell’estendere o aumentare le scale di grandezza dei vari attributi. AdPer esempio, una regione può essere sostituita una nazione con una regionenazione.
 
=== Shuffling ===
Le tecniche di data shuffling consistono nel mescolare in modo casuale i dati all’interno di un database, tra una colonna e l’altra. Si possono mantenere relazioni logiche tra colonne.
 
Un classico caso per l’utilizzo di queste metodologie è la generazione di dati per test, dove si richiede di avere dati reali come input per nuovi progetti, maevitando garantendoperò semprepossibili la totale anonimità dei dati utilizzatiidentificazioni.
 
Le tecniche di shuffling non andrebbero usate da sole, ma dovrebbero accompagnare le tecniche di data masking. Questo perché non sono perfette e spesso potrebberopossono mantenere alcune relazioni tra i valori.
 
Esistono diversi tipi di shuffling:
 
* '''Shuffling casuale''': mescola casualmente i dati tra le colonne senza però mantenere un collegamento logico tra esse.
* '''Designazione di gruppi''': consiste nel collegare le colonne che appartengono allo stesso gruppo (adper esempio numero di telefono con prefisso e nazione), e mescolare i loro valori insieme. Il difetto di questa metodologia è che le colonne collegate fra loro inizialmente, mantengono i valori iniziali, il che da la possibilità di stabilire alcune relazioni iniziali.
* '''Designazione delle partizioni''': i dati vengono mescolati all’interno di partizioni specifiche (adper esempio usare il valore “Giappone” nella colonna “nazione” come partizione, e mescolaremescolando i valori di tutte le righe che hanno “Giappone “"Giappone" come valore della colonna “nazione”"nazione"). Questo metodo permette di mantenere intatti alcuni collegamenti fra attributi. Lo svantaggio principale è che valoriresta di partizioni diverse non vengono mai mischiati tra di loro, il che permette dipossibile vedere alcune relazioni iniziali.
 
===Crittografia===
In termini informatici, la [[crittografia]] consiste nel rendere illeggibile un set di dati crittografato. Per rendere leggibile i dati è necessaria una chiave di [[Decriptazione|decrittatura]].<ref name="Cos'è la crittografia dei dati?">{{Cita web|url=https://www.kaspersky.it/resource-center/definitions/encryption|titolo=Cos'è la crittografia dei dati?}}</ref>
 
La crittografia si basa sull’utilizzo di [[Algoritmo|algoritmi]] di cifratura ed è il metodo più difficile di mascheramento dati. I dati non criptati, detti [[plaintext]], subito il processo di cifratura non sono più interpretabili dalla macchina ([[Ciphertext autokey|ciphertext]]). Questo processo previene la perdita di informazioni sensibili tramite [[hacking]].<ref>{{Cita web|url=https://www.garykessler.net/library/crypto.html|titolo=An Overview of Cryptography}}</ref>
 
Sono molti iI metodi di crittografia sono molti, affidati a svariati [[software]] e in costante evoluzione.
La crittografia si basa sull’utilizzo di algoritmi di cifratura ed è il metodo più difficile di mascheramento dati.
 
* '''Cifratura a chiave simmetrica''': utile per sistemi chiusi o singoli utenti. La chiave di cifratura è la stessa sia per la codifica che per la decodifica, e viene fornita direttamente al destinatario. Il vantaggio di questoQuesto metodo è lapiù maggiore velocitàveloce rispetto alla cifratura asimmetrica, ma è molto più rischiosarischioso, perché la chiave di cifratura potrebbe essere intercettata.
Sono molti i metodi di crittografia, affidati a svariati software e in costante evoluzione.
* '''Cifratura a chiave asimmetrica''': questo metodo utilizza due tipi di chiavi: una privata, che deve rimanere segreta, e una pubblica, che può essere condivisa. C’è un collegamento matematico tra le due. Entrambe possono decrittare o crittografare un messaggio, utilizzando sempre la chiave opposta a quella utilizzata per uno dei due passaggi.<ref name="Cos'è la crittografia dei dati?" />
 
==Note==
* '''Cifratura a chiave simmetrica''': utile per sistemi chiusi o singoli utenti. La chiave di cifratura è la stessa sia per la codifica che per la decodifica, e viene fornita direttamente al destinatario. Il vantaggio di questo metodo è la maggiore velocità rispetto alla cifratura asimmetrica, ma è molto più rischiosa, perché la chiave di cifratura potrebbe essere intercettata.
<references/>
* '''Cifratura a chiave asimmetrica''': questo metodo utilizza due tipi di chiavi: una privata, che deve rimanere segreta e una pubblica che può essere condivisa. C’è un collegamento matematico tra le due. Entrambe possono decrittare o crittografare un messaggio, utilizzando sempre la chiave opposta a quella utilizzata per uno dei due passaggi.
 
==Bibliografia==
Riga 95 ⟶ 93:
* {{cita web|url=https://www.enisa.europa.eu/publications/pseudonymisation-techniques-and-best-practices|titolo=Pseudonymisation techniques and best practices}}
* {{cita web|url=https://www.kaspersky.it/resource-center/definitions/encryption|titolo=Cos'è la crittografia dei dati?}}
*{{Cita web|url=https://www.garykessler.net/library/crypto.html|titolo=An Overview of Cryptography|cognome=Kessler|nome=Gary C.}}
[[Categoria:Sicurezza informatica]]