6 ms·
A system called “WiKey” presented at a conference last year could tell what keys a user was pressing on a keyboard by monitoring minute finger movements. Once t
by bgentry 10y ago
A system called “WiKey” presented at a conference last year could tell what keys a user was pressing on a keyboard by monitoring minute finger movements. Once trained, WiKey could recognize a sentence as it was typed with 93.5 percent accuracy—all using nothing but a commercially available router and some custom code created by the researchers.
Ok that's pretty cool. But incredibly concerning.
The actual abstract of that paper mentions much higher figures for individual keys:
WiKey achieves more than 97.5\% detection rate for detecting the keystroke and 96.4% recognition accuracy for classifying single keys. In real-world experiments, WiKey can recognize keystrokes in a continuously typed sentence with an accuracy of 93.5%.
http://dl.acm.org/citation.cfm?id=2790109 http://dl.acm.org/citation.cfm?id=2790109
- ppod 10y agoIt can be done with a sound recording of the tapping of the keys too: http://www.cs.utexas.edu/~shmat/courses/cs6431/zhuang.pdf http://www.cs.utexas.edu/~shmat/courses/cs6431/zhuang.pdf
- blacksmith_tb 10y agoI wonder if it makes any assumptions about layout and keyboard shape (for example, it might not know that I was using Dvorak, or that I had an ergo keyboard where my fingers were in atypical places).
- 13of40 10y agoI'm sure it uses some kind of Markov chain statistical analysis technique that would have to be programmed to assume you were typing on a particular keyboard layout in a particular language. On the other hand, there's nothing stopping them from trying to decode the raw data with several different configurations and seeing which one sticks. The IBM Selectric bugs the Soviets planted [1] did a similar thing, where they only transmitted four bits per character, but the messages could be rehydrated knowing letter and word frequencies from the English language. [1] http://www.cryptomuseum.com/covert/bugs/selectric/ http://www.cryptomuseum.com/covert/bugs/selectric/
- 4ndr3vv 10y ago"Once trained..." It needs to know what keyboard/layout and also the person. I'd guess that the position of the keyboard in the room needs to stay constant too.
- gleenn 10y agoDoesn't mean they couldn't get enough data to do it in general.
- tzs 10y agoThat link goes to the ACM Digital Library, where the paper is behind a paywall. Oddly, it is also available on the ACM SIGMOBILE site without a paywall: https://www.sigmobile.org/mobicom/2015/papers/p90-aliA.pdf https://www.sigmobile.org/mobicom/2015/papers/p90-aliA.pdf If I am understanding this thing correctly, WTF...they are figuring out keystrokes by looking at the variations on a WiFi signal caused by the movement of human fingers during typing, which change how the signal propagates!? Note that the computer you are typing on does not even have to be using WiFi. Heck, you would not even need to be using a computer. This should work if you are using an old manual non-electric typewriter.
- ChuckMcM 10y agoPeople are mostly water, and the 2.4Ghz frequency is absorbed by water (the molecule makes a convenient antenna). That is why it is used in microwaves and why microwaves don't heat dry things well. So people are really good attenuators of the 2.4Ghz signal and mimo routers in particular are pretty good at localizing where attenuation is happening. That combination makes a WiFi base station a good hardware platform for tracking humans. As soon as my LimeSDR system arrives I'm looking at trying to replicate some of these results.
- ljk 10y agoi wonder if there's a way to delay each keystroke to make the time between pressing more uniform to beat this
- lvs 10y agoI think the primary countermeasure would be adding white noise to the system, e.g. a nearby robot arm flailing around a conductor or a piece of meat.