Il mio team sta lavorando a una soluzione per archiviare informazioni sensibili su una soluzione di archiviazione remota. Sto proponendo di utilizzare la crittografia simmetrica dei dati in cui esiste una chiave univoca per documento. Le chiavi per questo saranno memorizzate in modo tale da essere accessibili dove i dati saranno usati ma separati dai dati crittografati. I dati crittografati verranno scritti e letti dalla memoria. Anche se questo è probabilmente eccessivo, penso che allevierà alcune delle preoccupazioni che stanno ostacolando l'adozione di questa tecnologia. L'idea è che anche se qualcosa va storto e qualcuno accede alla memoria del documento, i dati non saranno utili senza l'accesso alle chiavi. Nel caso in cui qualcuno abbia accesso a queste chiavi, questi documenti saranno l'ultima delle nostre preoccupazioni.
In poche parole, la preoccupazione è che qualcuno possa accedere a questi dati praticamente da qualsiasi luogo e recuperare i documenti attraverso le interazioni con il solo provider di archiviazione. La soluzione proposta ha lo scopo di rendere tale che, anche se un utente malintenzionato dovesse ottenere un accesso completo e autenticato all'archivio documenti, non disporrebbe di informazioni sufficienti per ottenere il contenuto dei documenti. Avrebbe bisogno di accedere alle informazioni che non sono disponibili in quel provider di archiviazione. Questo (in teoria) rende la sicurezza di questi dati fondamentalmente non peggiore della situazione attuale. Questo potrebbe essere un obiettivo discutibile ma il problema che ho è in gran parte politico.
Devo anche aggiungere che questo non è destinato a essere l'unica sicurezza per questi documenti. Questo sarebbe ausiliario per le protezioni pronte all'uso. Una domanda a parte sarebbe se ci fosse qualcosa che potesse indebolire quegli approcci standard.
Dopo aver fatto qualche lettura, penso che usare 256 AES dovrebbe essere adeguato. È questo il caso e per quanto tempo dovremmo aspettarci che questo sia abbastanza buono?
Comprendo inoltre che utilizzare un MAC è standard per garantire che i dati non siano stati danneggiati. Dopo aver letto la pagina wiki qui e poi approfondire maggiori dettagli e un po 'di dibattito , sto faticando a dare un senso a questo in questo caso d'uso. La corruzione dei dati non è una preoccupazione primaria qui, ma non credo che faccia male. Ma se tutto ciò che voglio è verificare che il messaggio non sia stato corrotto, c'è qualche ragione per cui un hash (ad esempio, SHA-256) memorizzato con la mia chiave non soddisfa il mio requisito? Probabilmente mi manca qualcosa qui.
L'approccio generale e l'algoritmo sembrano legittimi? Qualsiasi aiuto con le cose MAC / hash è apprezzato.