Author

Topic: Protection against keyloggers (Read 1087 times)

staff
Activity: 4326
Merit: 8951
October 12, 2011, 04:51:25 AM
#7
Problem with encrypting wallet is that the user can take millions of guesses a second if they have stolen a copy of if off your computer.
The encryption mechanism in the bitcoin client uses key strengthening to make sure an attempt costs around 0.1s (on your own system). It's possible that the attacker has thousands of units of specialized hardware for cracking passwords, but in general he won't be able to take a million guesses a second.

Still— the point remains, you can't get away with a six digit numeric pin here... Smiley
legendary
Activity: 1072
Merit: 1189
October 12, 2011, 04:27:11 AM
#6
Problem with encrypting wallet is that the user can take millions of guesses a second if they have stolen a copy of if off your computer.

The encryption mechanism in the bitcoin client uses key strengthening to make sure an attempt costs around 0.1s (on your own system). It's possible that the attacker has thousands of units of specialized hardware for cracking passwords, but in general he won't be able to take a million guesses a second.
sr. member
Activity: 314
Merit: 250
October 12, 2011, 01:28:42 AM
#5
The only way I can imagine a real protection:
Some external Hardware-Keyboard integrated with the App using kind of OTR (per session created keys for message-sending, similar to TLS in terms of website-security).

But that would be expensive to create (at least the hw-part).
Any other, perhaps "cheaply" achievable Ideas?
hero member
Activity: 931
Merit: 500
October 11, 2011, 08:04:53 PM
#4
For 6 digits, I would say that someone who knows what was clicked will have 64 possibilities, only 1 of which is the actual PIN.  It's 2^n where n=length of PIN.

Actually, I was asking how many sessions an attacker would have to log to be able to crack the PIN code exactly, with one or two chances, at max.

As a rough guess, a 6 PIN code can be cracked if an attacker has 10 - 30 sessions logged to study for patterns.

So, I think this idea don't work (a virtual keyboard with dual random numeric characters) well enough, because it will be only a matter of time...

Problem with encrypting wallet is that the user can take millions of guesses a second if they have stolen a copy of if off your computer.
So password needs to be much longer.

That's right, edited.

The reason it works for your bank is that if you get it wrong 3 times they lock your account. So the criminal has little chance of get through.

And you have to go there in person to reactivate it. This idea won't even works for online wallets, since the semi anonymous feature is inherent in the bitcoin's system, unless you prefer to identify yourself (not so much of a concern for some folks).

Heavily edited the head of the original post. This only neither works well with physical banks (because of the "10-30 sessions logged pattern recognition" problem)!
sr. member
Activity: 438
Merit: 291
October 11, 2011, 04:13:21 PM
#3
The reason it works for your bank is that if you get it wrong 3 times they lock your account. So the criminal has little chance of get through.

Problem with encrypting wallet is that the user can take millions of guesses a second if they have stolen a copy of if off your computer.
So password needs to be much longer.

vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
October 11, 2011, 11:05:27 AM
#2
For 6 digits, I would say that someone who knows what was clicked will have 64 possibilities, only 1 of which is the actual PIN.  It's 2^n where n=length of PIN.
hero member
Activity: 931
Merit: 500
October 11, 2011, 10:40:07 AM
#1
Idea for online wallets, bitcoin client wallet encryption or 2-way authentication.

How my online bank prevents keyloggers from stealing the 6-digit PIN code:

[image removed]

Although this is just another step to access my account (tokens, etc.).

It's a virtual keyboard with two numbers for each "click". Ramdomly placed.

My thinking is that with enough length, any PIN code can be relatively safe, even on public computers, BUT, nobody wants to click a 24 characters passphrase at a virtual keyboard, so it has to be combined with another security measures:

6 or 8 numeric digit PIN-code plus passphrase field.

I wonder how many "screen captures" the attacker has to have to guess the PIN-code. Anyone care to make that odd calculation?


edit:

It doesn't work. Take the usual precautions: don't get compromised, use Unix, don't use public computers.


Jump to: