Client Side Encryption: The Last Mile

1

Esiste una procedura ottimale su come gestire "l'ultimo miglio" in uno scenario crittografato memorizzato sul cloud, lato client per un'applicazione Web? (I dati sensibili devono essere crittografati prima di essere inviati e memorizzati sul server)

Dove sono archiviate le chiavi e qual è il modo migliore per ottenerle nel modo più sicuro possibile nell'applicazione browser / client?

Capisco che questo sia uno scenario imperfetto per cominciare, ma se questi sono i vincoli, qual è il modo migliore per gestirlo?

Cercando di chiarire di più:
Stiamo eseguendo un'applicazione web che consente ai medici di pianificare le visite dei pazienti. Ora ci viene chiesto di fornire la possibilità di memorizzare anche dati sensibili dei pazienti.
L'unico modo in cui vogliamo anche considerarlo è con la crittografia lato client, cioè non vediamo mai o possiamo accedere a nessuno di quei dati sensibili.
Allo stesso tempo deve essere visualizzabile / modificabile nell'app Web sul computer degli utenti. L'autenticazione utente, TLS / SSL ecc. È già utilizzata e implementata correttamente.

Per decodificare i dati esistenti o crittografare nuovi dati l'utente dovrà fornire un file chiave (assumiamo per ora una normale chiave privata asimmetrica anche se non ne siamo ancora completamente sicuri - ma questa è una discussione diversa).

La domanda ora è quale sia l'approccio migliore per archiviare in sicurezza questo file di chiavi dal lato utente e come abilitare la webapp durante l'uso per decodificare / crittografare i dati riducendo al minimo il rischio di perdite accidentali di una chiave o di qualcuno che lo ruba attivamente.

Capisco che non c'è modo che questo sarà uno scenario "sicuro" dati i vincoli ma stiamo cercando il modo "meno sicuro" per eseguire CSE in un contesto di app web.

    
posta TommyF 09.10.2018 - 07:05
fonte

0 risposte

Leggi altre domande sui tag