Paraphrase of my #IOT hardware rant on slack (unsurprising, since I maintain https://github.com/unixorn/internet-of-trash/)
In a perfect world IOT hardware companies should:
- Have to escrow the firmware. And escrow the source code, not just the binary blob
- The firmware isn't allowed to use binary blobs as device drivers. Chip manufacturers will have to suck it up and document their chips or hardware companies won't be able to use them
- Have to escrow any keys required to update the firmware
- To be sold, have to have a local API, with at a minimum, functionality to update the firmware once the hardware company stops support. No "You have to use our crapware that only works on a phone/computer OS two major versions old, and it has to download firmware from our servers that got turned off when we went out of business / dropped the product's support
- Eighteen months with no updates causes release of the escrowed firmware and update keys. There are bound to be at least some security updates required in that time
- Have to have clearly labeled pads on the board for updating firmware and running diagnostics.
- Not be allowed to lock consumers out of reflashing the firmware. If someone flashes custom firmware before the escrowed firmware is released, and the custom firmware bricks the device, that's on the person who reflashed it, not the company.
@homeassistant