Re: Access control for IoT
Bill Frantz <[email protected]> Mon, 18 Jan 2016 22:57:23 -0800
| Newsgroups | gmane.comp.capabilities.general |
|---|---|
| Message-ID | <r470Ps-10112i-FF07765E82324D21AC671B1199A05862@Williams-MacBook-Pro.local> |
I have been playing with Arduinos for a while now, and their update process might be a model. An Arduino is standard microcontroller chip with a boot loader in its program memory which works over a serial data connection. The ones with USB interfaces convert the USB data to serial data internally. The boot loader means you don't have to have a micro controller programmer to load new code into the machine. While it is possible to brick the Arduino -- it has no memory protection -- doing so is quite rare. I have never done it and I don't know anyone else who has either. I also have never heard of or experienced wearing out the flash memory, and it gets written much more frequently during the software development cycle than it would be updating deployed devices. If I were to change this architecture to make a secure update scheme, I would make the following changes: (1) Have enough program memory to be able to store two versions of the application software. The current program memory is 32K, so this won't be a serious budget breaker. We'll call them the current software and the new software candidate. (2) Have the boot loader verify the signature of the new software candidate against a public key installed with the boot loader. EC may be a win for the signature algorithm. After successfully verifying the signature, the new software candidate is copied over the current software completing the update. Cheers - Bill ----------------------------------------------------------------------- Bill Frantz |The nice thing about standards| Periwinkle (408)356-8506 |is there are so many to choose| 16345 Englewood Ave www.pwpconsult.com |from. - Andrew Tanenbaum | Los Gatos, CA 95032