Wallet32 icon indicating copy to clipboard operation
Wallet32 copied to clipboard

Remove scrypt hardening

Open slush0 opened this issue 10 years ago • 7 comments

I vote for removing scrypt hardening of seed, which will significantly speed up start of application.

In my opinion scrypt hardening provides false sense of security for two reasons: a) When the system is not rooted, application stores the seed in separate container, which is not accessible by other apps anyway. b) Seed is encrypted by the PIN, which is short number. So even if somebody get encrypted seed, normal computer will decrypt it in matter of hours, or maybe days (only if the user is extra paranoid - I bet normal users use normal 4-digit PIN).

Actually the application boots really slow even on fast phone, which limits its usage in bars and shops, where every second counts.

slush0 avatar Jun 23 '14 02:06 slush0

+1

dabura667 avatar Jun 23 '14 10:06 dabura667

The pin can be long as much as you want; I personally used 20-digit pin :)

On Mon, Jun 23, 2014 at 12:42 PM, dabura667 [email protected] wrote:

+1

— Reply to this email directly or view it on GitHub https://github.com/ksedgwic/Wallet32/issues/20#issuecomment-46828901.

karelbilek avatar Jun 23 '14 10:06 karelbilek

Don't get me wrong; I have nothing against PIN, which protects coins from being stolen by random guy finding the phone on bar. I just think scrypt is overkill for this purpose.

slush0 avatar Jun 23 '14 10:06 slush0

I don't necesarilly agree.

A lot of people will use Wallet32 on a device that doesn't get any system and security upgrades, because most of Android manufacturers just don't update their phones. (It's sad, but true. My phone stopped getting upgrades about 10 months ago.)

Therefore there can be some rootkit that allows bad application to read the directory.

You can say that "if you have broken system, all is lost anyway", but some hardening just can't hurt. That's my opinion.

On Mon, Jun 23, 2014 at 12:47 PM, slush0 [email protected] wrote:

Don't get me wrong; I have nothing against PIN, which protects coins from being stolen by random guy finding the phone on bar. I just think scrypt is overkill for this purpose.

— Reply to this email directly or view it on GitHub https://github.com/ksedgwic/Wallet32/issues/20#issuecomment-46829341.

karelbilek avatar Jun 25 '14 21:06 karelbilek

Firstly, running bitcoin wallet on unsupported platform is crazy.

Then, as I explained, pin-based hardening does add pnly a feeling of security, because hacker can crack it in matter of hours.

I doubt that people running wallet on insecure platform are those using 20-digits pin.

Current implementation annoys 90% of normal users and adds only very limited protection for small percentage of others. Dne 25. 6. 2014 23:29 "Karel Bílek" [email protected] napsal(a):

I don't necesarilly agree.

A lot of people will use Wallet32 on a device that doesn't get any system and security upgrades, because most of Android manufacturers just don't update their phones. (It's sad, but true. My phone stopped getting upgrades about 10 months ago.)

Therefore there can be some rootkit that allows bad application to read the directory.

You can say that "if you have broken system, all is lost anyway", but some hardening just can't hurt. That's my opinion.

On Mon, Jun 23, 2014 at 12:47 PM, slush0 [email protected] wrote:

Don't get me wrong; I have nothing against PIN, which protects coins from being stolen by random guy finding the phone on bar. I just think scrypt is overkill for this purpose.

Reply to this email directly or view it on GitHub https://github.com/ksedgwic/Wallet32/issues/20#issuecomment-46829341.

Reply to this email directly or view it on GitHub https://github.com/ksedgwic/Wallet32/issues/20#issuecomment-47161371.

slush0 avatar Jun 25 '14 21:06 slush0

I am not sure what you mean by "unsupported platform". But very small fraction of Google phones have long-time, regular support. (Probably only Nexus phones?)

Sure, 4-digit pin is kind of useless.

On Wed, Jun 25, 2014 at 11:48 PM, slush0 [email protected] wrote:

Firstly, running bitcoin wallet on unsupported platform is crazy.

Then, as I explained, pin-based hardening does add pnly a feeling of security, because hacker can crack it in matter of hours.

I doubt that people running wallet on insecure platform are those using 20-digits pin.

Current implementation annoys 90% of normal users and adds only very limited protection for small percentage of others. Dne 25. 6. 2014 23:29 "Karel Bílek" [email protected] napsal(a):

I don't necesarilly agree.

A lot of people will use Wallet32 on a device that doesn't get any system and security upgrades, because most of Android manufacturers just don't update their phones. (It's sad, but true. My phone stopped getting upgrades about 10 months ago.)

Therefore there can be some rootkit that allows bad application to read the directory.

You can say that "if you have broken system, all is lost anyway", but some hardening just can't hurt. That's my opinion.

On Mon, Jun 23, 2014 at 12:47 PM, slush0 [email protected] wrote:

Don't get me wrong; I have nothing against PIN, which protects coins from being stolen by random guy finding the phone on bar. I just think scrypt is overkill for this purpose.

Reply to this email directly or view it on GitHub https://github.com/ksedgwic/Wallet32/issues/20#issuecomment-46829341.

Reply to this email directly or view it on GitHub https://github.com/ksedgwic/Wallet32/issues/20#issuecomment-47161371.

— Reply to this email directly or view it on GitHub https://github.com/ksedgwic/Wallet32/issues/20#issuecomment-47163394.

karelbilek avatar Jun 25 '14 21:06 karelbilek

If anything is done... Don't remove scrypt. Do allow a toggle button to disable it. Why not provide something decent for the 10% and allow the 90% to be un-annoyed and turn scrypt off.

Another nice thing about the encryption is that the flash storage, when eventually reused or whatever will mostly look like noise and not clearly private seed.

An even quicker startup would be to store the un encrypted xpub* of the active "accounts". When it's time to spend, then ask for pin and unlock the seed. Even a login "pin" and a spend "pin" UI wise similar to blockchain.info.

sir-lebowski avatar Sep 04 '14 19:09 sir-lebowski