Caratteristiche dei dati immutabili, ambiti di applicazione e importanza dei dati inalterabili per la sicurezza, la compliance e la continuità operativa
Per introdurre il concetto di dato immutabile è possibile formulare un esempio basato sul fascicolo sanitario elettronico di un paziente in cura presso il servizio sanitario nazionale. Questo documento contiene generalmente tutti i dati relativi ai referti medici, alle prescrizioni dei farmaci e all’eventuale cartella clinica ospedaliera, così come informazioni riguardanti i certificati vaccinali e le prestazioni erogate.
Le condizioni di salute di un individuo possono inoltre evolvere nel tempo. Diagnosi, terapie, trattamenti e guarigioni rappresentano quindi la sua storia clinica e ogni dato aggiuntivo è rilevante ma non sostituisce quelli registrati in precedenza. Abbiamo così una prima definizione di dato immutabile, cioè un’informazione che non può (o non dovrebbe) essere alterata, sovrascritta o rimossa
Quello sanitario non è naturalmente l’unico contesto di applicazione dei dati immutabili. Questi ultimi sono impiegati anche nelle analisi di mercato, nel marketing, nella Fintech, in meteorologia e in qualsiasi ambito in cui sia possibile attualizzare il valore di dati storici.
Dati immutabili e database
Secondo un’impostazione tradizionale, in genere i database basati sul modello relazionale vengo progettati per ospitare dati mutabili. Se un nostro contatto cambia numero di telefono, non è necessario conservare l’informazione relativa a quello precedente e la si sovrascrivere con la registrazione del nuovo recapito.
Esistono dati che per loro natura non dovrebbero essere mutabili, come per esempio le date di nascita, ma possono essere gestiti anche con questo tipo di database perché, in assenza di alterazioni volontarie o accidentali, il rischio che vengano modificati è almeno teoricamente nullo, salvo la necessità di correzioni a seguito di inserimenti errati. Le basi di dati pensate per memorizzare dati immutabili sono però strutturate per consentire il confronto tra di essi e ciò implica che le informazioni archiviate lo siano in modo permanente nella loro forma originale. Senza eccezioni.
È appunto il caso dei dati sanitari ma anche un’azienda che deve rispettare determinati standard, si pensi a quelli previsti dalle normative sul trattamento dei dati personali, può avere necessità di dati immutabili con cui dimostrare la conformità nel tempo del proprio operato con i requisiti richiesti. Stesso discorso per quanto riguarda i log generati da un’applicazione, utili per le procedure di debugging, o per tutti i dati legati al controllo di gestione che possono essere utilizzati per l’auditing aziendale.
Dati immutabili e performance
I dati immutabili presentano dei vantaggi anche per quanto riguarda le performance in fase di allocazione e sono quindi una soluzione ottimale per la riduzione delle latenze.
Nel caso dei dati database progettati per dati mutabili le informazioni da sostituire devono essere identificate e rimosse per poi procedere con la registrazione dei nuovi dati e la verifica della loro integrità. Ciò richiede un dispendio di tempo che può diventare significativo nel caso in cui si debba gestire una quantità molto elevata di transazioni.
Un sistema destinato a raccogliere grandi volumi di dati e un flusso costante di informazioni, come per esempio quelle provenienti da sensori attraverso network di device IoT, può quindi operare in modo più efficace allocando dati immutabili in sequenza e associando ciascuno di essi ad una marca temporale che ne certifichi il momento della registrazione.
Dati immutabili e struttura dei database
Un classico database relazionale è strutturato in una o più tabelle popolate da record in cui sono archiviati i dati. Nei database progettati per i dati immutabili il concetto di record viene invece sostituito da quello di log, cioè il risultato della registrazione sequenziale e cronologica dei task eseguiti da un sistema.
Chiaramente un approccio del genere presenta anche degli svantaggi, per esempio il fatto che ogni nuovo log è in pratica un registro addizionale che necessita di spazio disco aggiuntivo. I dati preesistenti non possono essere aggiornati o eliminati, quindi ad ogni transazione corrisponde una quota di storage occupato.
Vi è poi da considerare il fatto che un database pensato per contenere dati immutabili può essere più complesso da gestire rispetto ad un comune struttura relazionale. Le più recenti normative sulla tutela della privacy impongono ad esempio che un dato personale debba essere cancellato dal titolare del trattamento su richiesta dell’interessato. A rigor di logica ciò non è possibile nel caso dei dati immutabili e anche per questo motivo si adottano sistemi di crittografia con cui cifrare le informazioni. Una volta rimossa o sovrascritta la chiave necessaria per decifrare un dato questo diventa indisponibile e inaccessibile.
Dati immutabili e infrastrutture Cloud
L’esempio citato in precedenza ci dimostra come anche alla maggiore complessità portata dai dati immutabili vi sia una soluzione. Ma torniamo al discorso riguardante il rapporto tra dati immutabili e spazio di allocazione: appare chiaro come le infrastrutture in grado di garantire un livello elevato di scalabilità delle risorse rappresentino un ambiente ideale per ospitare database organizzati in registri. Anche in questo caso abbiamo quindi una soluzione ai problemi di storage: le infrastrutture Cloud.
A differenza di quanto accade con un’infrastruttura on-premise che deve essere implementata, mantenuta e aggiornata localmente con tutte le rigidità che tale approccio potrebbe comportare, il Cloud offre una scalabilità virtualmente illimitata, consentendo di archiviare grandi quantità di informazioni senza preoccuparsi delle limitazioni legate allo spazio fisico disponibile.
Un provider Cloud, inoltre, fornisce in genere maggiori garanzie dal punto di vista della conservazione e della protezione dei dati e questi rimangono costantemente accessibili indipendentemente dal momento e dal luogo in cui viene effettuata una richiesta. Ciò si accompagna anche ad una riduzione degli investimenti in hardware e manutenzione, trasformando i costi fissi in costi variabili, più prevedibili e più gestibili.
I backup immutabili
I backup immutabili sono una garanzia di immutabilità del dato in quanto, una volta generati, non posso essere modificati. Non possono essere inoltre rimossi se non per decisione dell’utente o dell’organizzazione che li ha creati.
Questa caratteristica li rende delle soluzioni ideali per la protezione dei dati contro tentativi di violazione e per garantire l’integrità delle informazioni nel tempo.
Si pensi per esempio ad un attacco basato su un ransomware. Quest’ultimo potrebbe infatti crittografare tutti i dati presenti in un network rendendoli inaccessibili fino al pagamento del riscatto richiesto, ammesso che ciò sia sufficiente per entrare in possesso della necessaria chiave di decriptazione. L’immutable storage applicato ai backup permette invece di evitare che i dati possano essere alterati, garantendone la disponibilità anche in caso di attacchi su larga scala da parte di utenti malintenzionati. Un’intera rete potrebbe essere compromessa da un ransomware ma non i dati backup immutabili.
Nel caso in cui si dovessero verificare eventi avversi, come guasti a carico dell’hardware o cancellazioni intenzionali o involontarie, i backup immutabili rappresenterebbero una fonte affidabile per il recupero dei dati. Sono inoltre un riferimento per le attività di audit e la tracciabilità, in quanto forniscono una cronologia affidabile di eventi e processi, restituendone anche il contesto storico.