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: <i>hardware accelerated support for AES</i>, as well as a <i>hardware random number generator</i> [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 <i>not</i> significantly increase power consumption. It does <i>not</i> bloat the code that much.<p>(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.)<p>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 :-(<p>[1] <a href="http://www.keil.com/dd/docs/datashts/nordic/nrf24le1_ds_v1_1.pdf" rel="nofollow">http://www.keil.com/dd/docs/datashts/nordic/nrf24le1_ds_v1_1...</a><p>[2] The $1 chip Sammy is talking about is another variant: the nRF24L01 which is just the bare radio without the 8051 core<p>[3] <a href="http://dmitry.gr/index.php?r=05.Projects&proj=11.%20Bluetooth%20LE%20fakery" rel="nofollow">http://dmitry.gr/index.php?r=05.Projects&proj=11.%20Bluetoot...</a><p>[4] <a href="http://matias.ca/securepro/pc/" rel="nofollow">http://matias.ca/securepro/pc/</a> ($170!)<p>Edit #1: a colleague of mine opened up the Matias Secure Pro keyboard and confirmed it uses an nRF24LE1.<p>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.