Live data from Hacker News

KeySweeper – Arduino-based passive wireless keyboard sniffer

samy.pl

21–30 of 61 posts

Re: KeySweeper – Arduino-based passive wireless keyboard sniffer

#22
The added electronics just rest against the adapter's boards: http://samy.pl/keysweeper/testingsize.jpg. This looks quite unsafe because of reduced clearances. It has a chance of either exposing HV on the LV (USB power) side or shorting the various boards, potentially starting a fire.

It's a pretty cool proof-of-concept, but I wouldn't connect anything to the USB port. These issues could be solved for deployment by potting or by using a custom smaller PCB integrating the various boards.

Re: KeySweeper – Arduino-based passive wireless keyboard sniffer

#24
The most frustrating thing when reading about keyboard vendors implementing such insecure protocols is knowing that the nRF24LE1 chip Microsoft uses has all it needs for security: hardware accelerated support for AES, as well as a hardware random number generator [1]. Some comments here suggest using public/private crypto as a fix, but it would not even be necessary. During manufacturing they could simply generate a unique secret AES key for each keyboard/dongle pair, store it in the 1536-byte non-volatile area of the chips, have the hardware RNG on the keyboard generate the IV when a wireless session begins, and use AES in CTR mode. Heck you could even afford to reserve a few bytes in each packet to store the counter in plaintext for automatic resynchronization when packets are lost, since the nRF24 radios support big enough packets (32 bytes). There are absolutely zero technical reasons not to implement security. It does not significantly increase power consumption. It does not bloat the code that much.

(I know all this because I have done a lot of work with the nRF24LE1. It is cheap: $4 for a fully assembled module on eBay [2]. It "supports" Bluetooth by bit-banging it [3]. And code for the builtin 8051 core can be compiled by the open source compiler sdcc. These are reasons why I selected this chip for my DIY home automation system.)

In fact the nRF24 radios are so popular that the vast majority of non-Bluetooth wireless keyboards use them. And I guarantee you that even though they use different protocols, they are almost certainly just as insecure as these Microsoft keyboards. The only reason vendors do not implement secure protocols is because customers do not know or care about security. The very few vendors who do such as [4] sell keyboards for hundreds of dollars... there is again zero reasons why it would cost that much given that it could be done with a standard nRF24LE1 :-(

[1] http://www.keil.com/dd/docs/datashts/nordic/nrf24le1_ds_v1_1...

[2] The $1 chip Sammy is talking about is another variant: the nRF24L01 which is just the bare radio without the 8051 core

[3] http://dmitry.gr/index.php?r=05.Projects&proj=11.%20Bluetoot...

[4] http://matias.ca/securepro/pc/ ($170!)

Edit #1: a colleague of mine opened up the Matias Secure Pro keyboard and confirmed it uses an nRF24LE1.

Edit #2: @cortesoft: The way I would support this "one dongle many devices" feature is by doing the key generation during pairing (sometimes done by pressing a small switch under the keyboard) instead of during manufacturing. The only window of attack would be if an active attacker was present during pairing and pretended to be the dongle. It would still be significantly more secure than current keyboard protocols.

Re: KeySweeper – Arduino-based passive wireless keyboard sniffer

#25
post #24

The most frustrating thing when reading about keyboard vendors implementing such insecure protocols is knowing that the nRF24LE1 chip Microsoft uses has all it needs for security: hardware accelerated support for AES , as well as a hardware random number generator [1]. Some comments here suggest using public/private crypto as a fix, but it would not even be necessary. During manufacturing they could simply generate a…

It's a free market, and the vendor has all the incentives to maximize the money-in minus the money-out. If reducing the money-out means selling cheap junk that anyone could crack with a $7 microcontroller, so be it.

The invisible hand, fumbling as usual.

Re: KeySweeper – Arduino-based passive wireless keyboard sniffer

#26
post #24

The most frustrating thing when reading about keyboard vendors implementing such insecure protocols is knowing that the nRF24LE1 chip Microsoft uses has all it needs for security: hardware accelerated support for AES , as well as a hardware random number generator [1]. Some comments here suggest using public/private crypto as a fix, but it would not even be necessary. During manufacturing they could simply generate a…

Logitech keyboards (and probably others as well) let you use a single receiver for all the logitech wireless devices (http://www.logitech.com/en-us/promotions/6072).

If you have a unique key embedded in each keyboard/dongle pair, you would lose the ability to do this. In addition, if you lost the dongle, you would be SOL.

I think more people will care about the convenience instead of the security.

Ideally, you could have both; what if the keyboard had a USB slot that you plug in a dongle to pair it? You could have it generate a random key whenever a dongle is plugged in, to prevent someone plugging in their dongle to your keyboard (it would only pair with one dongle at a time).

Re: KeySweeper – Arduino-based passive wireless keyboard sniffer

#27
post #24

The most frustrating thing when reading about keyboard vendors implementing such insecure protocols is knowing that the nRF24LE1 chip Microsoft uses has all it needs for security: hardware accelerated support for AES , as well as a hardware random number generator [1]. Some comments here suggest using public/private crypto as a fix, but it would not even be necessary. During manufacturing they could simply generate a…

It's a free market, and the vendor has all the incentives to maximize the money-in minus the money-out. If reducing the money-out means selling cheap junk that anyone could crack with a $7 microcontroller, so be it. The invisible hand, fumbling as usual.

Yes, let's get the government involved. They obviously have the best incentives for enforcing strong crypto here.

The strong fist of the government never fumbles.

Re: KeySweeper – Arduino-based passive wireless keyboard sniffer

#28
post #17

This is a beautifully done hack. Using a legitimate USB charger. The GSM radio for 2G internet broadcast. The built in battery for short term unplugged continued sniffing. Trigger word SMS messages. Live streaming web portal. That is very, very cool. This is the kind of stealth monitoring device people just would never think to check and could easily be replaced without the user being any the wiser. This is a beautif…

He's done a number of (in)famous things. E.g. http://en.wikipedia.org/wiki/Samy_%28computer_worm%29

Even if they received no jail time, that sentence still seems disproportionately harsh. Heck most drunk drivers receive a lighter sentence and they're endangering human life.

Re: KeySweeper – Arduino-based passive wireless keyboard sniffer

#29
post #17

This is a beautifully done hack. Using a legitimate USB charger. The GSM radio for 2G internet broadcast. The built in battery for short term unplugged continued sniffing. Trigger word SMS messages. Live streaming web portal. That is very, very cool. This is the kind of stealth monitoring device people just would never think to check and could easily be replaced without the user being any the wiser. This is a beautif…

He's done a number of (in)famous things. E.g. http://en.wikipedia.org/wiki/Samy_%28computer_worm%29

[deleted]
Post reply on HN