Live data from Hacker News

Guessing smart phone PINs by monitoring the accelerometer

schneier.com

21–30 of 72 posts

Re: Guessing smart phone PINs by monitoring the accelerometer

#21

I came across an interesting solution to this while paying at a restaurant in Ecuador: they used an Android device which randomized the position of the numbers of the on-screen keypad before each transaction. The original intent is to make it much harder for onlookers to guess your pin based on finger movements. This could however apply equally well to the usecase of the article. It is a bit of a usability trade-off…

You could shrink the keypad and randomly place it on the screen. Or independently change the width and height of the columns and rows of buttons. Or combine the two. This would make it harder to guess the PIN from the accelerometer and you could still use your muscle memory. Designers would have a fit though.

Edit: though on reflection, this might make no difference. Knowing the relative locations of the key presses is probably enough.

Re: Guessing smart phone PINs by monitoring the accelerometer

#23

Why can't Android manage to do basic security things, like disable the accelerometers during keyboard input?

It's probably not that simple and clear cut. There are probably some reasonable use cases for apps that need the accelerometer on continuously. Which makes it a trade-off.

One example could be a pedometer / activity tracker app that totals up your number of steps per day. Suppose the user decides to get on a treadmill and walk for 30 minutes but finds it boring so they text their friends while doing it. Maybe they have the keyboard open the entire time, so at the end of their 30 minutes of exercise, the pedometer registers zero activity.

Or maybe you have an app that uses certain accelerometer-based gestures to trigger certain actions. If Android gets an update that turns off the accelerometer when the keyboard is open, many users won't understand why the gesture only works sometimes, and the app developer will get a ton of bug reports.

And you'd be creating these potential problems to solve a privacy leak which doesn't seem that severe given that it can only give you weak information about a person's pin.

I'm not saying that shutting off the accelerometer isn't ultimately the right decision, but I am saying it's not a no-brainer.

Re: Guessing smart phone PINs by monitoring the accelerometer

#24

Why can't Android manage to do basic security things, like disable the accelerometers during keyboard input?

I wish iOS didn't show each character as you type your password. HOW is that even helpful, let alone not having an option to disable that?

Re: Guessing smart phone PINs by monitoring the accelerometer

#26

Why can't Android manage to do basic security things, like disable the accelerometers during keyboard input?

It's probably not that simple and clear cut. There are probably some reasonable use cases for apps that need the accelerometer on continuously. Which makes it a trade-off. One example could be a pedometer / activity tracker app that totals up your number of steps per day. Suppose the user decides to get on a treadmill and walk for 30 minutes but finds it boring so they text their friends while doing it. Maybe they ha…

Doesn't Android know when the user is authenticating? How many seconds a day are you inputting to the lock screen? Doesn't need to be for any time the keyboard is open. (Of course, doing it semi randomly is also now necessary, to obscure user unlock times.)

As to weak info, you do it again and again, I'd say it's pretty good info.

Re: Guessing smart phone PINs by monitoring the accelerometer

#27

I came across an interesting solution to this while paying at a restaurant in Ecuador: they used an Android device which randomized the position of the numbers of the on-screen keypad before each transaction. The original intent is to make it much harder for onlookers to guess your pin based on finger movements. This could however apply equally well to the usecase of the article. It is a bit of a usability trade-off…

When I was in Barcelona an ATM had its keypad numbers flipped (7 8 9; 4 5 6; 1 2 3), which I only realized after the first attempt. Second attempt I got my PIN wrong, and I did not dare to try it a third (and final) attempt. Apparently it's really muscle memory.

Could this have been a skimmer on top of the legit keypad, or is 10-key (vs phone) layout standard in Spain?

Re: Guessing smart phone PINs by monitoring the accelerometer

#28
post #2

I suspect issues like this are one of the reasons why iOS locked down accelerometer access in Safari. Motion sensors have a lot more potential for malicious use than most users think.

By locked down, do you mean requiring justification to get through the app store or accessing the data at all? The latter is no problem for iOS-only [0] or Flutter [1]. I've been spending much time with cross-platform sensor access in Flutter. It works.

[0] https://developer.apple.com/documentation/coremotion/getting...

[1] https://pub.dev/packages/sensors

Re: Guessing smart phone PINs by monitoring the accelerometer

#29

I came across an interesting solution to this while paying at a restaurant in Ecuador: they used an Android device which randomized the position of the numbers of the on-screen keypad before each transaction. The original intent is to make it much harder for onlookers to guess your pin based on finger movements. This could however apply equally well to the usecase of the article. It is a bit of a usability trade-off…

This is the one feature I miss from CyanogenMod!

Re: Guessing smart phone PINs by monitoring the accelerometer

#30

"Figure out" means, in this case, classify. So it can tell which of 50 is 'the one'if its in that set. That's a hell of a long way away from decoding your PIN from the tens of thousands possible.

This was a paper from 2013 though, 7 years ago. I'm sure they've more than made it a proper technology now, with all the compute power and deep learning and what not. Maybe unrelated, but WhatsApp does monitor your phone accelerometer data 100% of the time, even when it's in the background. An app doesn't even need to ask for permission to get access to the accelerometer data, so there's not even a pop up of any sort.
Post reply on HN