Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android: Do not use system keyboard #3757

Open
hrishikeshio opened this issue Jan 11, 2016 · 5 comments
Open

Android: Do not use system keyboard #3757

hrishikeshio opened this issue Jan 11, 2016 · 5 comments

Comments

@hrishikeshio
Copy link

User may be using third party keyboard such as swiftkey which can capture use inputs. Please use a inbuilt keyboard for more security.

E.g. Mycelium
image

@dabura667
Copy link
Contributor

+1

@matiu
Copy link
Contributor

matiu commented Jun 9, 2016

Just to understand this better.: If the system keyboard is compromised, how the device file system could be trusted? Copay stores its key on the file system. What is the point of implementing a custom keyboard given that if the device is compromised the attacker you still have access to the key from, for example, the file system.

@dabura667
Copy link
Contributor

If the third party keyboard app developer sends out data, it will ask for internet permissions. This is very benign and most users would think it is for "error reporting" or something...

But some may be logging keys.

Wheras, for a keyboard app to access the file system of another app, the device must be rooted.

Adding the software keyboard helps with the mnemonic, as even if the attacker key logged your PIN or spending password, they would need your file as well.

But with mnemonic, that is all they need.

I don't think it is high priority, as someone with malware keyboard install has more problems than just bitcoin, I'm sure.

@matiu
Copy link
Contributor

matiu commented Jun 9, 2016

thanks for the explanation. It is much clear now.

On Wed, Jun 8, 2016 at 11:19 PM, Dabura667 [email protected] wrote:

If the third party keyboard app developer sends out data, it will ask for
internet permissions. This is very benign and most users would think it is
for "error reporting" or something...

But some may be logging keys.

Wheras, for a keyboard app to access the file system of another app, the
device must be rooted.

Adding the software keyboard helps with the mnemonic, as even if the
attacker key logged your PIN or spending password, they would need your
file as well.

But with mnemonic, that is all they need.

I don't think it is high priority, as someone with malware keyboard
install has more problems than just bitcoin, I'm sure.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bitpay/copay/issues/3757#issuecomment-224784525, or mute
the thread
https://github.com/notifications/unsubscribe/AAGCHKJgngbXzosy_V0iIvYq4EmbMNlIks5qJ3hEgaJpZM4HCGym
.

Matías Alejo Garcia
@EMATIU
Roads? Where we're going, we don't need roads!

@bitjson
Copy link
Contributor

bitjson commented Nov 13, 2016

This is also a possibility on iOS now, with installable keyboards like GBoard.

The only place where this could really be an issue is the backup restoration flow. (Since the backup flow does not require a keyboard.)

For that flow, we could either:

  1. warn the user before they begin typing (esp. if it's possible to detect which keyboard they're using)
  2. provide a custom auto-completing keyboard which is better suited for entering the words anyways

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants