L'uso di LastPass di Salt lato client

8

Il Team LastPass afferma quanto segue nelle Domande frequenti :

Do you use a salted hash for logging in?

Yes, we first do a 'salt' of your LastPass password with your username on the client side (on your computer, LastPass never gets your password), then server side we pull a second 256 bit random hex-hash salt from the database, use that to make a salted hash which is compared to what's stored in the database.

Qualcuno sa se la parte "prima facciamo un 'sale' della tua password LastPass con il tuo nome utente sul lato client" è inteso letteralmente?

Secondo questa risposta sembra quasi che questo sia il caso:

Da questi dettagli, la mia ipotesi migliore è che la chiave di decrittografia LastPass sia calcolata da:

DK = PBKDF2(HMAC-SHA256, password, email, <user set>, 256)

Poiché questo sembra essere Pseudocodice, posso solo supporre che il terzo argomento per PBKDF2 sia il sale.

Mi rendo conto che la cosa giusta da fare sarebbe eseguire email tramite PBKDF2 per renderlo più adatto come sale. Questo è ovviamente il punto in cui il gatto insegue la propria coda che probabilmente li ha costretti a usare l'e-mail come sale in primo luogo.

    
posta Oliver Weichhold 06.02.2017 - 10:00
fonte

1 risposta

3

Interpreterei " prima facciamo un salt della tua password LastPass con il tuo nome utente sul lato client " come: facciamo una funzione PBKDF2 sul lato client che include la tua password e il nome utente (email ) come sale:

client_encryption_key = PBKDF2(HMAC-SHA256, password, salt_email, 5000, 256) // 5000 rounds, 256 bits
auth_key = sha256(client_encryption_key) // this is what is sent to the server for authentication
server_key = PBKDF2(HMAC-SHA256, auth_key, salt_random, 100000, 256) // this is what is stored in the auth db

Nota che la chiave del client viene anche utilizzata per crittografare / decrittografare i tuoi dati.

Anche per rispondere al commento di NH sull'e-mail in quanto il sale potrebbe non essere adatto: i sali in genere non sono considerati segreti. Il loro scopo è quello di garantire che la chiave risultante sia diversa per due password identiche.

    
risposta data 16.01.2018 - 17:37
fonte

Leggi altre domande sui tag