4 ms·
Why is it not a schoolbook example of public key crypto? "I am fob", "Checks out, I am car", "Checks out, please open", "Ok". Add some details such as nonces
by xorcist 4y ago
Why is it not a schoolbook example of public key crypto?
"I am fob", "Checks out, I am car", "Checks out, please open", "Ok".
Add some details such as nonces but not nothing out of the ordinary compared to things like mTLS or mobile phones that we use every day. What am I not seeing?
- amluto 4y agoYour example involves two-way communication. These cheap key fobs are one-way. It’s more like: (Press button) “hey, I’m the fob!” (Press button) “hey, I’m the fob!” There’s no communication back from the car because these systems are physically incapable of it. Also, without some elaboration, your example is vulnerable to a replay attack too, but it’s not conceptually hard to fix. A simple arrangement that probably works (but would want a proof!) is: “Hey, I’m fob #123” “Hey fob #123, I’m the car. The challenge is abc. Answer after 5ms.” “Hey car, HMAC(‘abc’, our secret) = ‘xyz’)” And the car answers and also checks that the answer was received no more than 5.0000001 ms later. There are more clever variants of this sort of thing in the literature, and I don’t think cars use them because the manufacturers don’t seem to care. (The main problem with the scheme above that I’m immediately aware of is that it requires very good timing. If the microcontroller in the fob takes nearly 5ms to calculate the MAC and the goal is 100ns of allowable latency (100 ms is about 100 light-feet), then the timing precision needed is 20 ppm. Getting precision that good on a cheap key fob may be challenging. For that matter, getting that level of precision in the car, which may be rather hot, may cost more than the manufacturer wants to pay. More clever schemes don’t need this kind of precision. Also, my silly scheme has the fob broadcasting its identity every time a button is pressed, which isn’t great.)
- xorcist 4y agoOf course, hence "nonces and stuff", but that's nothing out of the ordinary compared to what we use every day. I am surprised these things contains no receiver. Receiving is the easy part in a transducer, and there commercial off-the-shelf solutions to this for about a dollar. But that would explain it.