I had an idea while getting into my car at lunchtime today - what if you could modify your car to add keyless entry? This idea only really struck me because I'd misplaced my keys, but hey - an idea is an idea, so I ran with it.
I thought about plugging a Bluetooth shield into an Arduino and running it from the car's internal electronics (most cars have a cigarette lighter which provide 12v output - and they usually contain enough juice to run a small Arduino circuit for a few months at a time).
From there, you could run a small (it would have to be small - the amount of memory and processing power on an Arduino is highly limited). I'd run a small service that connected to Bluetooth devices and used a very simple (stupidly simple) authentication protocol to verify a person's identity based on their phone.
There were two authentication models I toyed with;
This is fairly common practice in basic authentication, and seems like it would be a best-practice approach for this sort of task.
I'm not sure of the security/cryptographic viability of this process (I'm not even sure of the formal name!) - but I do know that some car key fobs work on a variant of this method, and it seems notionally secure.
I couldn't really think of an eloquent way to explain this authentication method, so to help, I made a diagram.
Simple, fast, and extremely easy to implement.
Either way, the idea of
OpenSesame (that's what I'd call it, as it would be
open source - and I like puns) seems like a fun weekend project. Besides,
keyless entry on my car would be a nice little bonus feature!
Coming to think of it, I might buy an Arduino...