|
|
|
|
|
by wolrah
595 days ago
|
|
> The problem is most cars remotes are one-way comms, and the car remote has no concept of time.
> Given those constraints, there is no fix possible. There are in fact multiple "fixes" which have been widely implemented in devices that care to get it right for decades. The simplest of course being a basic rolling code, where a counter is transmitted along with the command and this has to increment compared to the last press. That would be easy to spoof based on a single capture and likely could just be brute forced, so with a slight bit more effort you make it skip a fixed amount forward and lock out for a short period of time if it receives values outside of the expected possibilities. This could still be spoofed by logging multiple uses, so a bit more complexity for a massive amount more security can be had by using a PRNG for the code instead of an incrementing counter. Now you have to have a pairing process to sync the transmitters up, but that could be as simple as a button under the remote's battery cover that makes it transmit the RNG seed. In any of these cases you accept the next however many potential codes in the cycle based on how many times you want to tolerate someone using their remote as a fidget toy (or how much you want to support low battery operation). |
|
These attacks typically rely on jamming the receiver in the car (eg. with a tone at a frequency between the two frequencies used by the FSK of the key), whilst capturing the signal sent by the remote.
Then the attacker replays the signal to the car at a later date.
Since the car has never seen this signal, it defeats any rolling code mechanism. Without both sides having a clock, there is no defence.