Sicurezza nel trasferimento di dati sensibili su app web

1

Sto lavorando su un'app che deve trasferire dati sensibili su HTTPS e ho un'idea, ma mi chiedo se sia eccessivo o buono.

Uno dei problemi è che ho bisogno della capacità di "condividere dati" tra gli utenti, quindi ho creato l'idea di un gruppo.

Ogni utente ha una chiave segreta che è memorizzata nel proprio browser (se lo desidera o può scriverlo ogni volta che vuole ottenere i dati). Ogni chiave segreta degli utenti viene immediatamente crittografata al momento dell'inserimento utilizzando il "codice" dal server.

Ogni utente ha un "codice" che è memorizzato sul server. Questo è generato alla registrazione. Questo è usato per crittografare la chiave segreta memorizzata nel browser.

Ogni utente può far parte di un gruppo, ogni gruppo ha una chiave a 256 bit che viene generata al momento della creazione. Tutti i dati sensibili dei gruppi non sono crittografati con la chiave segreta degli utenti, ma con la chiave dei gruppi. Ogni membro del gruppo ha la stessa chiave crittografata con quella chiave segreta degli utenti. Quindi, per richiedere dati di gruppo, invia la chiave crittografata dell'utente al server, il server restituisce i dati crittografati (crittografati con la chiave di gruppo E la chiave di gruppo crittografata) il browser quindi decodifica il contenuto utilizzando la parola segreta nel browser per decodificare la chiave di gruppo e quindi utilizza la chiave di gruppo per decrittografare i dati.

Ragioni per tutto questo.

  1. Voglio essere sicuro che se la "persona malvagia" ha 2 pezzi del puzzle, non sono ancora in grado di accedere ai dati. Dite che la "persona malvagia" ruba il laptop degli utenti che ha la parola segreta e i possibili dati inviati. Voglio assicurarmi che abbiano ancora bisogno di effettuare l'accesso per decrittografare i dati (per ottenere il codice utilizzato per decrittografare la parola segreta). (Forse questo è eccessivo?)

  2. Il resto è solo materiale di crittografia standard. Con l'aggiunta della possibilità di condividere materiale crittografato tra più utenti.

Pensieri?

    
posta Steven 23.06.2016 - 22:00
fonte

1 risposta

0

Hai mai sentito parlare di RSA? Molto più sicuro e molto più semplice. Ogni client genera una chiave privata e invia la sua chiave pubblica al server. Il client che avvia un gruppo genera una chiave AES per crittografare i file di gruppo e decrittografare la chiave con ogni chiave pubblica degli altri membri. Poi invia le chiavi crittografate agli altri membri. Usano la loro chiave privata per aprire la chiave di gruppo. Ora sono tutti ormai segreti del gruppo e possono scambiarsi dati in segreto.

100% sicuro e semplice come sembra     
risposta data 23.06.2016 - 23:28
fonte

Leggi altre domande sui tag