Sto creando un servizio di cloud storage e ho bisogno di avere la capacità di fornire sicurezza affidabile per i clienti. Nella mia domanda precedente , Ho usato uno schema diverso e ho detto che avrei posto una nuova domanda.
Sto ancora cercando di ottenere sicurezza contro la NSA e la possibilità di problemi legali. Vorrei che i miei utenti crittografassero i loro file prima di inviarli ai miei server. Userò AES-256 e la chiave verrà creata tagliando la password dell'utente 1.048.576 (2 ^ 20) volte per evitare tentativi di forza bruta.
Il problema è che chiunque può caricare file, eliminare file o modificarli in questo modo. Devo essere in grado di verificare la password, ma allo stesso tempo non esporla al server. Mi chiedevo se la password potesse essere utilizzata per firmare le informazioni inviate al server, non solo per verificare l'identità dell'utente, ma anche per impedire la manomissione dei contenuti durante il trasporto. Qual è il modo migliore per farlo senza esporre la password o il suo hash?