[P-5]对设备系统升级的考虑

系统升级包括本地升级和远程升级。

而当前的正在运行的应用程序不能直接升级自己,否则极有可能造成系统损坏。
因此可以考虑使用一个小的独立的程序完成该功能,可以考虑实现一个bootloader程序,主要用于检测完成系统升级功能
在本地,可以通过UART连接或者BLE OTA升级
对于升级时涉及到的数据传输,为了保证升级可靠,不能边下载边升级,而应该全部传输完成以后待验证数据的真实性和完整性以后再升级。

这就涉及到两类问题

第一类:由于网络传输的不可靠性,数据的延时以及无序达到,因此传输过程中可能会存在数据的错误性或者数据丢失的可能
如果没有检查而升级就会造成系统破坏,因此必须考虑如何解决这些数据可靠性和完整性问题,可以通过设计一个合理的数据
检测交互流程来实现。


第二类:安全服务(Security Service):对于系统传输和升级,可能存在如下问题

(1)数据传输过程中是否有人为的破坏

(2)我接收到文件是否来自我信任的设备

(3)文件数据的保密性,

而对于任何一个安全的系统,至少提供以下几种安全服务(详见密码学):

系统可以根据自己的需要实现上述中一种或者几种,只要能满足要求即可。

考虑到IoT设备的资源有限性,以及网络传输数据不安全性,决定提高如下几个安全特性:

1 Confidentiality
2. Integrity
3. Message Authentication
4. authentication
5. Access control

未完待续

posted @ 2016-12-19 23:18  美好的2020  阅读(209)  评论(0编辑  收藏  举报