Hash password con bcrypt prima di crittografare il documento con openpgp

2

Ciao a tutti per la prima volta, grazie per aver messo insieme questa grande community.

Sto lavorando su un'estensione per consentire agli utenti di archiviare documenti crittografati su un server I host. Mi piacerebbe evitare che vengano reinseriti nella password ogni volta che vogliono crittografare o decrittografare un documento, ma spero anche di evitare di dover mantenere la loro password, anche se solo in memoria.

Per l'accesso, il mio processo di pensiero per questo è quello di hash la password sul client con bcrypt e inviarlo al server. Sul server eseguirò l'hash dell'input dal client e memorizzerò i sali del client e del server.

Per la crittografia, eseguirò nuovamente l'hash della password sul client con bcrypt e un altro salt (conserverò anche questo salt sul server in modo che l'utente possa rigenerare l'hash). Quindi genererò una coppia di chiavi con openPGP per crittografare il documento. Criptò la chiave privata con una chiave simmetrica generata dall'hash della password e memorizzerò la chiave privata crittografata, il documento crittografato e la chiave pubblica sul mio server.

La mia domanda è se c'è qualche preoccupazione nell'usare un hash come input per openpgp o nel generare due hash diversi dalla stessa password usando due differenti sali.

    
posta Dmitri Rabinowitz 21.11.2018 - 16:50
fonte

1 risposta

0

I'll then generate a key pair with openPGP for encrypting the document. I'll encrypt the private key with a symmetric key generated from the password hash and I'll store the encrypted private key, encrypted document, and public key on my server.

Modifica: non vedo una debolezza crittografica in questo, tuttavia sembra molto complicato per quello che stai cercando di ottenere. Ti suggerisco di annotare i tuoi requisiti esatti e quindi cercare il modo più semplice in cui la tua infrastruttura e la crittografia possono soddisfarli.

Ad esempio, non vedo un motivo particolare per utilizzare la crittografia asimmetrica qui (oltre ad essere ridicolmente lento rispetto alla crittografia simmetrica).

any concern [...] in generating two different hashes from the same password using two different salts.

No. Salt semplicemente "estende" i dati originali per rendere più difficile per un utente malintenzionato utilizzare le tabelle arcobaleno una volta ottenuto il database. A mia conoscenza non c'è attacco, che permette (o facilita) di rompere l'hash, se vengono forniti due hash con diversi sali.

    
risposta data 21.11.2018 - 17:05
fonte

Leggi altre domande sui tag