I've been looking into home automation gadgets like X10 for quite some time now. My interest in home automation revolves around reducing power consumption, recording anomalous events with cameras as evidence and because I'm super lazy and only like doing things once (but the right way) and want my CFL's to flick on when I stumble in after a long day at work. I also want to build a DIY BIDS: Burglar Intrusion Detection System.
I even admit to visiting my local library and borrowing books on the subject solely with the goal of pimping the geek out of my home. So did I find true trekkie bliss, full of motion sensing lighting, sexy sounding verbal computer readouts, intelligent power management and enhanced security?
Fat chance. In fact, I have to wonder if any information security kung fu has been applied to this home automation stuff at all.
Looking at this list of criticisms makes Microsoft's spotty past suddenly look peachy.
For those who haven't looked into the X10 home automation technology, let me introduce you to a couple of it's significant figures:
- 256 - The number of unique addresses that are possible using X10
- 16 - Unique transmittable commands
- 4096 - Total number of unique packets
- 0.75 seconds - Time it takes to transmit one X10 packet
- 42 - Number of bikini clad girls on the X10.com website in GIF image glory (unnecessary!)
- 1 hr - Worst case total time it takes to transmit every unique X10 packet towards your neighbors house using a $9.99 X10 universal remote since both X10 RF or OtW transmissions may bleed to neighboring circuits
For example: if two X10 devices (say your glass vibration sensor and motion detector) transmit within a second of each other, the message is garbled, bringing your Jura F90 Ethernet Coffee Pot to boil right when that burglar breaks in to your computer room instead of the Star Trek: TNG Red Alert Klaxon you deny purchasing. Granted, X10 was developed in 1975 but Ethernet has been around nearly as long and it handles transmission collisions just fine. A little piece of mind regarding retransmissions would be nice.
What really worries me about deploying an X10 home is how easy it is to cause mayhem. It's like guessing the IP Address of computers on a class C LAN (ie: 192.168.1.XXX.) How long will it take to transmit all commands to all X10 IDs using a perl script and a X10 enabled laptop? Really.
In addition, most of these devices do not have backup batteries and are knocked offline during blackouts. While I'm interested in +5-ing the geek of my home, I'm not going to do it because I value sleeping more. And also because my girl gave me "the look" when I brought it up.
So please, please, please let me know if you know of any hacks to fix these issues or if you can suggest a better product.
P.S. Doesn't it make you wonder about automobile remote entry systems? I wonder how long it really takes to transmit every possible unlock code for every car manufacturer? What are your observations?
I didn't know X10 was still so underpowered for how mature it is. I've been flirting with the idea for quite some time, but kitting out the apartment would be a tiny bit more money than I could easily justify.
ReplyDeleteAs for car remote entry systems, from what I've read a typical keyfob uses a 40-bit code, which presents over 1 trillion combinations. The car and keyfob are both synched to the same pseudorandom number generator, so only the next x expected codes (x usually = 256) will open the door. If you COULD capture traffic on the 300-400MHz band (what the keyfob transmits in) you could get the freshly-expired codes, but I also wouldn't know how difficult it would be to deduce the PRN algo from what you got. You'd probably need to capture a hell of a lot of traffic from the exact same car, in which case you're probably better off just walking up and smashing the windows.