Lavoro in un'azienda con sede nell'UE e vorremmo offrire ai clienti business una piattaforma SaaS basata su cloud indipendente dal sistema operativo per elaborare e archiviare dati sensibili (sanitari). Vorremmo implementare il nostro software su Google Cloud Platform.
Tutti i dati sensibili devono essere crittografati con chiavi simmetriche fornite dal cliente e non archiviate sulla piattaforma cloud. (Ci fidiamo di google ma l'atto patriottico è un problema.)
Tuttavia, l'interfaccia del client dovrebbe preferibilmente essere eseguita come app web nel browser. Ciò rende complicata la crittografia lato client. Inoltre, molti dipendenti dovrebbero avere accesso ai dati crittografati all'interno del dominio del cliente commerciale. Pertanto, la chiave di crittografia deve essere condivisa in qualche modo tra i dipendenti.
Un'idea è di generare la chiave di crittografia da una passphrase condivisa (usando PBKDF2), di memorizzarla all'interno di un cookie di sessione (lifetime = 0) e di trasferirla sul server cloud per ogni richiesta di accesso ai dati sensibili. Il server esegue l'operazione richiesta e quindi elimina la chiave dalla sua memoria.
Naturalmente, potrebbero esserci sempre dei modi per estrarre la chiave se noi o Google volessimo farlo, ma possiamo assicurarci che i dati siano archiviati crittografati con una chiave fornita dall'utente gestita solo dal cliente.
Mi chiedo se qualcuno ha idee migliori. Grazie mille in anticipo.