4 ms·
Strangely, I was thinking about this problem this morning. A "keychain code" (aka, randomly generated passphrase) doesn't seem any more usable. It moves from "i
by scosman 12y ago
Strangely, I was thinking about this problem this morning. A "keychain code" (aka, randomly generated passphrase) doesn't seem any more usable. It moves from "it's hard to securely sync private keys across devices", to "it's hard to securely sync long passphrases between devices".
Why not a user chosen passphrase, with pretty extreme key stretching (w seed)? Allow fetching the encrypted key with any piece of ID similar (email, twitter handle). The key stretching makes brute-force or dictionary attacks pretty much impossible.
http://en.wikipedia.org/wiki/Key_stretching http://en.wikipedia.org/wiki/Key_stretching
- wtbob 12y ago> Why not a user chosen passphrase, with pretty extreme key stretching (w seed)? Because users simply cannot be trusted to provide secure passphrases. Never, ever store or transmit data secured with a passphrase; it will be broken at some point. It's okay to secure data on a user's device with a passphrase; that requires that an attacker access the device itself. To move data between devices, consider systems like JPAKE and/or using NFC to communicate between the devices themselves.
- scosman 12y agoBoth NCF and JPAKE require a communication channel between devices. Neither fit the bill if the goal is user friendly, accessible from anywhere, and backup in case of loss (what they are proposing). Extreme key-stretching (w seed) mostly mitigates weak passphrases (I mean extreme stretching, 60s+ of CPU time for each guess). Even a 6 char password would take 100k years of CPU time to brute force. I'm aware if they use "12345" or "password" it'll be crackable, but it's a balance of user friendliness and security. Am I missing something, genuinely curious.
- wtbob 12y ago> Both NCF and JPAKE require a communication channel between devices. Well, I did state that the use of NCF or JPAKE would be when moving data between devices; moving data kinda presupposes some sort of communication channel☺ > Neither fit the bill if the goal is user friendly, accessible from anywhere, and backup in case of loss (what they are proposing). I think that this is a mutual-exclusion situation. If there's remote storage of data, the encryption must be high-entropy, which means that it cannot be user-friendly. > I'm aware if they use "12345" or "password" it'll be crackable, but it's a balance of user friendliness and security. I don't believe that's a good enough balance, given that so many users will choose poor passwords. Nor is waiting a minute or more to log into a system particularly friendly (although in the case of backups, maybe they only need to wait that long when accessing those backups). And of course, with Moore's Law, what took 60 sec today will take 40 sec in a a year and a half and 27 sec in three years,just over a second in a decade and .02 seconds in twenty years; an attacker will be able to make 3,195 guesses per second in 30 years and 184,288 guesses per second in 40 years. Better hope that none of the data stored remotely under that key is still valuable in four decades.