La stessa chiave di decrittografia utilizzata per i dati sul server è localmente con Lastpass?

6

Lastpass memorizza i database delle password crittografati sul server. Fornisce un database a chiunque lo chieda? Se no, allora quale autenticazione (vale a dire la password) viene utilizzata? Uso Lastpass su più dispositivi con la stessa password principale e non ho configurato altre password. Sarebbe sciocco se la password principale fosse utilizzata per autenticare i server Lastpass quando il database delle password di una persona viene recuperato.

C'è qualcosa di speciale in Lastpass nel senso che la maggior parte dei server quando memorizzano qualcosa in forma crittografata, sanno come decodificarlo, ad es. un ordine del tribunale potrebbe costringerli a farlo?

    
posta Celeritas 06.02.2015 - 09:54
fonte

2 risposte

3

Is the same decryption key used for data on the server as locally with Lastpass?

Sì, la stessa chiave di decrittografia viene utilizzata per i dati sul server come dati locali. Sebbene tu stia utilizzando un Yubikey , così puoi impostare la tua database delle password locali da crittografare anche con l'identificatore pubblico .

Does it give a database to anyone who asks?

Non chiunque. LastPass rispetterà la legge, quindi se un'agenzia di polizia competente richiede i dati con l'autorizzazione corretta, LastPass fornirà loro i dati crittografati.

If no, then what authentication (i.e. password) is used?

La tua password non viene mai inviata a LastPass. In base al podcast di sicurezza ora :

when you log in, when you give your system your LastPass username and password, the first thing it does is it runs it through this SHA - it lowercases the email address, removes the whitespace, adds the password, and then it does this hash to it, turning it into a 256-bit blob

( link Attrito obbligatorio )

Questa è la chiave simmetrica utilizzata per crittografare il database delle password prima di essere inviato a LastPass e per decrittografare il database delle password quando viene recuperato dai server LastPass.

Quindi la chiave utilizzata non lascia mai il tuo sistema.

Per quanto riguarda l'autenticazione:

they take that key, the cryptographic key, and they add your password to it, that is, they concatenate your password to your cryptographic key, and they hash that. So they do another one-way function on your crypto key with your password, which they don't know because they never get it. But they get another blob

So this second blob, this second output from the hash, that's your unique ID. That is, the only way to get that is if you take your username and password, hash it, then add the password to that and hash it again. So it absolutely depends upon both of those pieces of information. So then your username and that goes to LastPass to identify you. And because that contains your password twice hashed into it, nobody who doesn't have your password, even if they have your email address, is able to produce that blob. So you have to have your email address and your password run through this hash twice to get that blob.

But notice that your cryptographic key, which is sort of the first byproduct of that because that's the output from the first hash, that goes into the second hash but is lost in the hashing process, thanks to it being mixed with your password. So the LastPass people never get your crypto key. They get a different unique token that identifies you to them so that you're able to log on securely to their facility. And these guys are so paranoid that they don't even save that on their servers. They don't even save that special logon blob, the output from that second hashing process.

Instead they, at the time you create your account, they come up with, they use a random number generator at their headquarters to create a unique 256-bit token which they save with your account. And whenever you're logging in, they take this 256 blob you're sending them that's the result of these two hashing processes. They add that to this unique 256k random number, and they hash that. And that's what they compare to what's stored with your account. Which is to say they never store that logon token. They store the result of hashing that logon token with a unique 256-bit value that they created for you. So they dynamically see if it's the same, but they never save your logon token. They just - they don't want it. They don't need it. So they're able to perform a dynamic check whenever you need to authenticate, but they don't keep it statically.

Quindi per riassumere il podcast la tua chiave di crittografia è:

DK = sha256("[email protected]" + password)

(nota che LastPass indica che usano PBKDF2 su SHA-256).

La passkey di autenticazione effettiva è:

key = sha256(DK + password)

E lo memorizzano sul loro sistema solo in forma hash salata con un valore di 256 bit (il "numero casuale").

stored_value = sha256(key + salt)

(supponendo che sia di nuovo sha256. Questa risposta afferma che questo è PBKDF2 su HMAC-SHA256 con 100.000 rounds .)

they know how to decrypt it e.g. a court order could compel them to do so?

Poiché non hanno il DK, non possono decifrare i tuoi dati. Tuttavia, tieni presente che molti paesi hanno una legge sulla divulgazione delle chiavi che potrebbe costringerti a consegnare la tua password LastPass.

    
risposta data 07.02.2015 - 11:38
fonte
0

Lastpass crittografa e decrittografa i tuoi dati solo localmente, probabilmente usando Javascript, nel browser. La tua password principale non viene inviata ai server Lastpass. Bene, non dovrebbe e fino a ora mi fido di loro per non farlo.

Invia il database crittografato ai suoi server. Quando accedi su un altro computer, inserisci il tuo indirizzo e-mail e la password. Poi Lastpass scarica il tuo database, viene decrittografato localmente e via.

Ora c'è una cosa che non posso dirti. Quando qualcuno inserisce il tuo indirizzo e-mail e una password errata, il tuo database verrà scaricato su quel computer? Poiché la password non è caricata su Lastpass, non possono sapere con certezza che non sei tu fino a quando il database non viene decrittografato localmente. La mia ipotesi è che mandino un qualche tipo di hash (ecnriptato) basato sul tuo indirizzo e-mail e la tua password ai loro server, in modo tale che la tua password non possa essere estratta da esso con un tempo ragionevole.

Se basta semplicemente inserire l'indirizzo e-mail per scaricare il database, si apre la possibilità di un attacco locale di forza bruta.

    
risposta data 01.07.2015 - 12:59
fonte