Database
 sql >> Database >  >> RDS >> Database

Approcci di sicurezza nella modellazione dei dati. Parte 4

Questa è la quarta serie in più parti sulla modellazione dei dati per la sicurezza delle informazioni e le caratteristiche dei dati. Un semplice modello di dati per un sito Web fittizio che supporta organizzazioni con interessi condivisi (club di birdwatching, ecc.) ci ha fornito contenuti per esplorare la modellazione dei dati da un punto di vista della sicurezza.

Nella commedia di Oscar Wilde Lady Windermere's Fan , Lord Darlington etichetta un cinico come "qualcuno che conosce il prezzo di tutto e il valore di niente". Purtroppo, le informazioni nei nostri database possono essere trattate inconsciamente allo stesso modo. Un account cliente vale la somma dei suoi acquisti? Cosa subiamo se perdiamo quattro ore di dati di marketing durante la stagione degli acquisti natalizi?

Noi modellatori di dati non effettueremo queste valutazioni, ma dobbiamo archiviare i loro dati rilevanti per conto delle persone che lo faranno. Dovremo colmare le lacune della struttura dei dati impliciti. In questo articolo vedremo come aggiungere questo importante elemento di sicurezza al nostro database.

Mostrami i soldi!

Quanto dobbiamo proteggere ogni oggetto di dati? Considerali alla luce della Riservatezza , Integrità e Disponibilità — le qualità chiave che determinano la sicurezza di un sistema informativo. Dobbiamo anche tenere conto della differenza tra queste misure su base "intrinseca" e quanto questi dati possono influire sulla sicurezza.

Ci sono due ragioni per farlo. Innanzitutto, ci aiuterà a vedere come proteggere i dati nel database del nostro club. Alcune tabelle dovrebbero essere crittografate? Mettere in altri schemi? Forse a valle allegheremo i controlli del database privato virtuale? Queste informazioni ci aiuteranno a scegliere le misure di salvaguardia appropriate.

In secondo luogo, valuteremo i dati da una prospettiva di contabilità grezza:qual è il loro valore totale? Cosa potremmo perdere in caso di danneggiamento dei dati? Qual è la nostra responsabilità se i dati personali vengono divulgati? Quando aggiungiamo queste informazioni al nostro schema, aggiungiamo una metrica critica ai nostri dati archiviati:dollari e centesimi. Ciò consente alle persone che pagano le bollette di determinare cosa possono permettersi per la sicurezza ––– e, in modo monetario, quanto vale.

Tutte le relazioni sono esplicitate

Ricapitoliamo lo stato del nostro modello. A partire dall'ultimo articolo, la struttura dei dati è stata compilata. Persone, club, appartenenza, foto, album e contenuti sono tutti lì. Come si legano insieme è lì. Questo schema è pronto per archiviare i dati con le relazioni acquisite in modo esplicito, mentre le relazioni implicite sono state eliminate per quanto possibile.



Attribuzione di valore e sensibilità

Ora scopriremo come inserire i numeri nei dati. Non possiamo davvero allegare un singolo valore a un elemento di dati che ci dice quanto proteggerlo. Tuttavia, non possiamo, e non dobbiamo, nemmeno entrare in una raccolta di metriche. Ci concentreremo su quanto un dato può guadagnare per noi e quanto può costarci perdere o divulgare quei dati.

Usiamo i termini "valore" e "sensibilità" per questo:una misura positiva e una negativa, se vuoi. Il valore è spesso considerato in termini di valore futuro o opportunità. La sensibilità è molto difensiva; si tratta di rischi a livello finanziario (sanzioni regolamentari o legali) e di perdita di reputazione o di avviamento.

La valutazione si riferisce direttamente a Integrità e Disponibilità . Lo giudicheremo in base a quali benefici possono generare i dati o quanto danno verrà fatto se si perde l'accesso ad essi. Ci occupiamo della sensibilità principalmente in termini di Riservatezza , che deve essere misurato dal danno o dalla responsabilità se viene rivelato.

La struttura comune di valutazione e sensibilità

Consideriamo ora la valutazione e la sensibilità rispetto al nostro database. Quando esaminiamo nuovamente il modello dei dati, scopriamo che queste qualità sono relative solo a un club o a una persona. Un club o una persona beneficia del valore di qualcosa e soffre quando qualcosa di sensibile viene reso pubblico. Pertanto, ciascuna di queste valutazioni viene catturata in relazione a un club o a una persona. mentre esaminiamo le nostre entità di dati, ci assicureremo che ciascuna di esse abbia un valore (beneficio) comporti anche una sensibilità (rischio) e viceversa. Quindi ogni entità coinvolta avrà entrambi i campi Valutazione e Sensibilità separati. Saranno facoltativi o predefiniti nella maggior parte dei casi. Inoltre, entrambi saranno pesati in termini di denaro:un valore di valuta, preciso ai centesimi di dollaro USA. (Per motivi di chiarezza, useremo solo una valuta.) Festeggialo o lamentati, il denaro è la nostra unica metrica utilizzabile per entrambi. Per sfruttare questa comunanza li chiameremo "Importanza".

In quanto modellatori di dati, non possiamo effettivamente dare dei numeri a questo noi stessi. Anche come operatore del sito o del database, non sappiamo abbastanza per assegnare questi valori; inoltre, i dati non sono completamente nostri. Per i dati specifici di un club, dobbiamo lasciare che quel club assegni i propri livelli di importanza e le relative regole per l'utilizzo di tali livelli. Quindi applichiamo le loro regole ai loro dati.

Iniziamo con i tipi di entità che i club possono assegnare.

Dati del club

Le entità del Club sono:

  • Club
  • Ufficio_club
  • Ufficiale
  • Membro
  • Album
  • Album_Foto
  • Foto

Aggiungeremo Valuation e Sensitivity colonne a ciascuno di questi. Perché queste colonne sono allegate al Club , i loro nomi sono specifici, ad es. club_sensitivity .

Ecco la nostra serie di tabelle di focus per Club , inclusa Persona :



Dati personali

Ora dobbiamo rivolgerci alla Person entità. Ancora una volta, qui non assegniamo i valori – questa è prerogativa della persona. Naturalmente, dobbiamo aggiungere le colonne Importanza a Persona . Ma per supportare meglio la privacy personale, taglieremo questa entità più finemente. Dopotutto, la privacy è la chiave per la riservatezza dei dati.

Per prima cosa, aggiungeremo una nuova colonna chiamata monicker è come un nome utente o un alias. I membri del club possono usarlo per l'identificazione piuttosto che per i loro nomi reali. Forniremo una coppia di colonne valutazione/sensibilità per l'associazione nome-monicker. Questi saranno person_name_valuation e person_name_sensitivity . Il resto dei campi è controllato da queste due coppie.

Una Persona l'attività del club è di loro interesse tanto quanto il Club 'S. Pertanto aggiungeremo gli stessi campi Importanza a Membro e Ufficiale .

Ora potremmo aggiungere person_importance campi nella Foto entità, ma guarda il contenuto_foto colonna. Una foto può coinvolgere più persone e questo fa parte di ciò che memorizziamo in photo_content. Pertanto, inseriremo i campi dell'importanza su photo_content. invece che su Foto.

Il modello “sensibilizzato”

Abbiamo modificato il nostro modello di dati per attribuire valore e sensibilità dei dati ovunque sia necessario. Quello che segue è il nostro schema finale.

Siamo stati attenti a evitare di distorcere lo schema originale con ulteriori relazioni o vincoli. Questo è fondamentale perché prendiamo quello schema come un'analisi accurata dei dati reali con regole di business reali.




Allegare qualsiasi tipo di importanza intrinseca ai tuoi dati è difficile. È peggio se stai cercando di applicarlo a un database senza supporto nel modello o nello schema. Questo articolo illustra una tecnica per allegare queste informazioni in modo da non distorcere le parti aziendali intrinseche del modello.

La flessibilità e la modificabilità del Valore e Sensibilità sono obiettivi chiave qui. Quando inizi ad applicare valori reali a questi attributi, scoprirai che devi modificarli e rivedere il tuo approccio. Questo è uno dei motivi per allegare individualmente questi valori alle tabelle stesse, piuttosto che averli fuori bordo. Lo svantaggio è che diventa piuttosto complicato, a causa delle molte posizioni per questi valori. Questo può anche apparire nel modo in cui viene utilizzato il modello. Affronteremo la multiforme questione della gestione della complessità nella sicurezza delle informazioni nel nostro prossimo articolo.

Si prega di lasciare commenti o critiche nel nostro combox.