4 ms·
It sounds like security theatre to me, however, there are a number of things that can be done to make it fairly difficult but not impossible to dump from an emb
by kevin_nisbet 8y ago
It sounds like security theatre to me, however, there are a number of things that can be done to make it fairly difficult but not impossible to dump from an embedded device.
IIRC, many embedded processors have a sort of secure enclave, that allows encryption of small amounts of data. The key is basically baked into the CPU, so if someone just takes the flash out of the device and tries to read it somewhere else, the file will need the CPU to be decrypted. I think mostly this is obsolete encryption, but that doesn't necessarily mean it's trivial to break.
Some vendors also embed secrets in their software, to "encrypt" on disk. This doesn't tend to be real security, but does add the barrier that someone needs to go through the software to find the hardcoded keys.
Shipping hardware should also have things like the JTAG and debug pins disabled, this makes it a lot harder to memory dump the in-memory state or get the device to load a custom image that would export the unencrypted keys in memory.
So, there are barriers that can be placed, that does make attacking the hardware harder and out of reach of unsophisticated attacks, but nothing is perfect. In my experience and from what I've heard from the community, it's safer to assume meaningful security measures haven't been taken by the vendors, even if they say they really care about security. Many of the barriers will be like you suggested, encrypted on disk, with the decryption key also on disk.
- jtaft 8y agoIt's an interesting problem, because all the connected devices would need the attack mitigation. Would be interesting to see a protocol which auto-revokes certificates for devices which do not digitally sign some "ping" message periodically. That way if someone digs through the dumpster, the credentials probably won't be valid.
- kayfox 8y agoMany embedded processors these days allow you to disable the JTAG/SWD debugging port. So once that is disabled it becomes quite a bit harder to read data from any of the on chip memory using external devices.
- jdietrich 8y agoIIRC, many embedded processors have a sort of secure enclave, that allows encryption of small amounts of data. The key is basically baked into the CPU, so if someone just takes the flash out of the device and tries to read it somewhere else, the file will need the CPU to be decrypted. I think mostly this is obsolete encryption, but that doesn't necessarily mean it's trivial to break. This would be the sensible implementation, but I doubt that LiFX have used a suitable (and more expensive) MCU. https://www.digikey.com/en/articles/techzone/2015/apr/security-is-the-key-to-success-for-mcu-based-iot-applications https://www.digikey.com/en/articles/techzone/2015/apr/securi...