Gian Marco Toso
Drinking coffee and saving the world. Software Engineer and professional geek
Una sfida o un'opportunità?
Don't Panic
Gian Marco Toso
Software Engineer, The Pirate I Was Meant To Be
@gianmarcotoso
gianmarcotoso
gianmarcotoso.com
polarityb.it
Laurea Magistrale in Ing. Informatica al Politecnico di Torino
Libero Professionista
Ingegnere del Software, Software Architect e Sviluppatore
Docker
PHP/Laravel
"It was working on my machine!"
The monolith is here to stay
NodeJS/TypeScript
Seriously, it's awesome!
React + Redux
The Flux Capacitor!
Concetto introdotto nel 2010
Presenta sette punti cardine
Si applica tanto al software quanto ai processi commerciali
Prevenire, non correggere
La configurazione di default è quella che garantisce la maggior privacy
I dati raccolti sono minimizzati e pseudoanonimizzati
Le funzionalità non vengono ridotte per avere maggior privacy
La sicurezza ha un ruolo centrale durante tutto il ciclo di vita del progetto
Il trattamento dei dati deve essere visibile e trasparente
L'utente è al centro del processo
Le applicazioni nel Cloud sono spesso distribuite su più servizi differenti
I servizi possono essere forniti da chi sviluppa l'applicazione o da fornitori di terze parti.
L'infrastruttura è per definizione fornita da terzi (AWS, Azure, Google, ecc...)
Bisogna accertarsi e garantire che i servizi forniti da terzi rispettino determinate condizioni di sicurezza, privacy, data availability e disaster recovery.
Cosa si intende per anonimizzazione dei dati?
L'anonimizzazione è la pratica di rendere i dati personali completamente anonimi, ed è un processo irreversibile.
Cosa si intende per pseudo-anonimizzazione dei dati?
La pseudo-anonimizzazione è la pratica di separare i dati personali dai dati che rappresentano l'utente nella business logic.
Il processo è comunque reversibile.
Cosa comporta applicare tecniche di cifratura ai dati pseudoanonimizzati?
Cifrare i dati rende impossibile, anche in caso di data breach, esfiltrare informazioni personali.
Applicare tecniche di pseudoanonimizzazione e cifratura dei dati in sistemi distribuiti rende i nostri servizi più sicuri.
È importante applicare dove possibile queste tecniche per ridurre la possibilità che vengano esfiltrati dati personali dai nostri servizi o dai servizi di fornitori terzi.
Cosa si intende per diritto all'oblio?
Ogni utente può richiere, in qualunque momento, la cancellazione permanente e completa dei suoi dati personali.
Il fornitore del servizio deve ottemperare entro pochi giorni* alla richiesta.
Quali dati dobbiamo cancellare? Quali invece dobbiamo conservare?
Vanno cancellati tutti i dati, ad eccezione di quelli richiesti per l'adempimento ad altri obblighi di legge.
Vanno quindi conservate, per esempio, fatture, bolle di spedizione, elenco ordini effettuati dal cliente, ecc...
Come gestire una richiesta di cancellazione in un sistema distribuito?
È necessario tenere traccia dei dati raccolti, e della loro ubicazione sui nostri servizi.
Possiamo conservare i log, fintanto che questi ci servono per garantire la sicurezza e l'operatività della piattaforma.
Dobbiamo essere in grado di cancellare tutti i dati salvati sui database dei singoli servizi, compresi quelli di terze parti
È fondamentale accertarsi che i fornitori di terze parti forniscano gli strumenti necessari per ottemperare alle richieste!
Un utente può chiedere al fornitore di un servizio di avere una copia completa di tutti i dati personali a sua disposizione.
Ricevuta tale richiesta, il fornitore deve essere in grado di rispondere nel più breve tempo possibile.
Molti servizi implementano un sistema automatizzato per fornire all'utente una copia dei suoi dati.
La cancellazione dei dati riguarda anche i backup. In che misura?
Dobbiamo essere in grado di recuperare, in caso di disastro, qualunque dato precedentemente salvato, per legge.
Dobbiamo anche garantire il diritto all'oblio di qualunque utente.
Modificare un backup rischia di comprometterne l'integrità.
Il backup non modificato conserva dati che sarebbero dovuti essere cancellati.
🤔
Alcune delle soluzioni più diffuse, solitamente applicate in concerto, sono:
Cifratura di ogni backup, in maniera da renderne impossibile la lettura a eventuali cracker o attori malevoli.
Salvataggio degli ID delle risorse cancellate dai database di produzione, possibilmente in un database dedicato e separato dal principale.
Automazione della cancellazione dei dati in fase di ripristino del backup.
Granularità ragionevole nella conservazione dei dati (un backup al giorno per 30 giorni, poi uno al mese, ecc...)
Le sanzioni sono pesanti e con conseguenze importanti.
Sanzioni di carattere economico
Paghiamo l'inadempienza con il portafoglio
Sanzioni di carattere correttivo
Paghiamo l'inadempienza con la reputazione e l'operatività.
https://www.enforcementtracker.com/
Grazie! :)
Domande?
By Gian Marco Toso
Slides del mio talk alla CloudConf 2020 a Torino (online)
Drinking coffee and saving the world. Software Engineer and professional geek