Live data from Hacker News

Kaspersky Password Manager: All your passwords are belong to us

donjon.ledger.com

101–110 of 122 posts

Re: Kaspersky Password Manager: All your passwords are belong to us

#101

Earlier quoted context omitted.

It seems to be though that it is consisted of some structured elements(I don't know much about Finnish orthography\honology) So if it has some predictable structure, statistical attributes etc, it can be exploited to reduce the search space and therefore can be weaker than the actual raw entropy. Does that matter in the real world? I don't think so.

Yes it can, so I wonder if the double length offsets that. I would assume that assuming an attacker knows that it is nonce Finnish, that he would be able to craft a specific algorithm that is faster than 32 random character for specifically this, but that in practice if he not know that with all modern approaches it is æquivalent to attempting to bruteforce 32 characters, giving priority to letters and vowels, especi…

Again, it is hard to compare because I don't know enough about Finnish.

the first option is rather simple, assuming we have a good psuedo-random generator with low bias margins. we get:

A-Z,a-z,0-9 = 58 options, Length = 16

58^16/2 is the target.

Second option is weaker IMO because we know that plain brute-force is rarely being used today for anything over 13~14 characters.

We mostly use masks\dictionaries to try common passwords, phrases, sequences. So even if there's a very small chance that someone would have some kind of heuristic rule that targets Finnish orthography\honology, it is still more likely than someone successfully brute-forcing 16 random chars+numbers.

Another interesting observation is that fact that it contains common English words by chance. things like rock or tent. those can increase the chance of a dictionary success(our 32 chars starts breaking apart) whereas the 16 chars are random so in nature there are less prone to contain common English words

Re: Kaspersky Password Manager: All your passwords are belong to us

#103
post #37

Earlier quoted context omitted.

There is no better solution for the client-side web. getRandomValues() generates cryptographically secure random bytes in all current popular browsers.

Side question: what are cryptographically secure random bytes? I assume that with random bytes all we care about is that they are random. And since it's impossible to tell if any finite sized output is random or not, I suppose we simply show randomness with statistical significance tests. But how, precisely?

Passing statistical tests is the lowest, most basic, requirement for cryptographic RNGs.

Beyond that, you need to prove that no other party (i.e., the 'attacker') can predict the output any better than random chance, even if they've seen all the output leading up to it.

Beyond even that, many CSRNGs attempt to recover from 'state compromise': even if a snapshot of all the contents of the secret state get leaked somehow the system will soon return to producing secure output.

Re: Kaspersky Password Manager: All your passwords are belong to us

#104
post #87

Earlier quoted context omitted.

This is one of those areas where security in depth is a good idea. Gather all the sources of random sources you can and hash them together -- add in any information based on user input (key presses / mouse movements), and personally I'd provide each users with a securely generated random 1K string (which could be sent once at install) to provide more random data.

I like cloudflares solution for entropy. A webcam pointed at a wall of lavalamps in their HQ https://www.cloudflare.com/learning/ssl/lava-lamp-encryption...

Cool, but why are they on public display? Sufficiently hard to hack as-is?

Re: Kaspersky Password Manager: All your passwords are belong to us

#105

> It means every instance of Kaspersky Password Manager in the world will generate the exact same password at a given second. Whoa. That's just ... Wow.

The real fun thing would be if we discovered that they deliberately added the 1+ second animation to hide the bug. :)

Re: Kaspersky Password Manager: All your passwords are belong to us

#107
post #20

> It means every instance of Kaspersky Password Manager in the world will generate the exact same password at a given second. Whoa. That's just ... Wow.

I recall this was an issue too for certain RSA tokens.

That was because some RSA tokens had identical seeds, it was only affecting some of the older time based tokens.

Re: Kaspersky Password Manager: All your passwords are belong to us

#108

Ok, we know that Math.random() is bad, and they recommend using window.crypto.getRandomValues(). But the docs for getRandomValues() raise concerns too: - getRandomValues() is not guaranteed to be running in a secure context. - There is no minimum degree of entropy mandated by the Web Cryptography specification - User agents are instead urged to provide the best entropy they can when generating random numbers, using a…

This is one of those areas where security in depth is a good idea. Gather all the sources of random sources you can and hash them together -- add in any information based on user input (key presses / mouse movements), and personally I'd provide each users with a securely generated random 1K string (which could be sent once at install) to provide more random data.

getRandomValues() already takes input from keyboard and mouse interrupts (via the OS PRNG) and lots of other sources, no need to create own bug-ridden implementations of the same thing.

Re: Kaspersky Password Manager: All your passwords are belong to us

#109

Ok, we know that Math.random() is bad, and they recommend using window.crypto.getRandomValues(). But the docs for getRandomValues() raise concerns too: - getRandomValues() is not guaranteed to be running in a secure context. - There is no minimum degree of entropy mandated by the Web Cryptography specification - User agents are instead urged to provide the best entropy they can when generating random numbers, using a…

If you don't fully trust getRandomValues, you can collect entropy in JavaScript and then hash everything you got using something like Blake2b. Touch/mouse inputs time and positions can give a few bits of entropy for example.

I can't imagine a situation when you don't trust getRandomValues, but trust touch/mouse inputs. If your getRandomValues is untrusted, why would you trust the whole JS runtime that implements it? If you think there's a Debian-like bug with the system PRNG, then you can't even trust the TLS connection that downloaded your JS code.

Re: Kaspersky Password Manager: All your passwords are belong to us

#110
post #87

Earlier quoted context omitted.

I like cloudflares solution for entropy. A webcam pointed at a wall of lavalamps in their HQ https://www.cloudflare.com/learning/ssl/lava-lamp-encryption...

Cool, but why are they on public display? Sufficiently hard to hack as-is?

You said it yourself: "Cool"
Post reply on HN