È sicuro archiviare la chiave di crittografia (crittografata con la chiave principale) con i dati utilizzati per crittografare?

1

Sto lavorando su un sito Web di condivisione password. Vorrei che gli utenti potessero inserire le loro credenziali e condividerle con altri utenti. Sto pensando di utilizzare il servizio KMS per memorizzare la chiave principale (una sola) e avere un database per memorizzare le coppie chiave - credenziali. Le credenziali dell'utente verranno crittografate con la chiave dal database e la chiave memorizzata nel database (diversa per ogni credenziale) verrà crittografata utilizzando la chiave master KMS. Gli algoritmi di crittografia AES verranno utilizzati per entrambi: crittografare le credenziali dell'utente e crittografare la chiave utilizzata per crittografare le credenziali. Sarebbe abbastanza sicuro memorizzare la chiave crittografata insieme alle credenziali o c'è un approccio migliore?

    
posta Vitalii Kalinin 06.02.2018 - 05:12
fonte

1 risposta

-1

The real question to ask is "what is your threat model?" What sort of attack are you trying to prevent? Are you creating a digital lock on a diary to keep it safe from your sister's prying eyes, or are you Edward Snowden, on the run from several three letter agencies with billions of dollars of funding? AES-256 is currently labeled as sufficient to use in the US government for the transmission of TOP SECRET/SCI information. That's pretty much the highest classification level they could clear it for, so the US government is pretty darn confident that nobody can break AES-256 on the timescales required to protect our nation's greatest secrets. (Well, almost. What it really says is that they are confident that nobody outside of the US government can break AES-256. What you believe that that says about whether the US government, themselves, can break it depends on your threat model... and whether you engage in discussions of whether heavy-duty tin foil makes better hats or not)

Riferimento

La crittografia della chiave AES è sufficientemente sicura per mantenere i dati al sicuro. A mio parere, se la chiave master M è compromessa, può portare alla decodifica di tutta la chiave X. Se si utilizza una crittografia a chiave pubblica per crittografare la chiave X, solo una parte dei dati sarebbe compromessa. Supponiamo, ad esempio, che ci siano due utenti U1 e U2, e che le chiavi pubbliche siano PubU1 e PubU2, le chiavi private siano PriU1 e PriU2.

Quando U1 vuole condividere le sue credenziali con U2, l'applicazione usa PubU2 per crittografare la chiave X, in modo che quando U2 vuole accedere ai dati, prima decodifica usando PriU2 e poi usa la chiave X per decrittografare i dati.

    
risposta data 06.02.2018 - 10:21
fonte

Leggi altre domande sui tag