标签:远程 网络 服务 img 自己的 access 实现 数据可靠性 security
系统升级包括本地升级和远程升级。
而当前的正在运行的应用程序不能直接升级自己,否则极有可能造成系统损坏。
因此可以考虑使用一个小的独立的程序完成该功能,可以考虑实现一个bootloader程序,主要用于检测完成系统升级功能
在本地,可以通过UART连接或者BLE OTA升级
对于升级时涉及到的数据传输,为了保证升级可靠,不能边下载边升级,而应该全部传输完成以后待验证数据的真实性和完整性以后再升级。
这就涉及到两类问题
第一类:由于网络传输的不可靠性,数据的延时以及无序达到,因此传输过程中可能会存在数据的错误性或者数据丢失的可能
如果没有检查而升级就会造成系统破坏,因此必须考虑如何解决这些数据可靠性和完整性问题,可以通过设计一个合理的数据
检测交互流程来实现。
第二类:安全服务(Security Service):对于系统传输和升级,可能存在如下问题
(1)数据传输过程中是否有人为的破坏
(2)我接收到文件是否来自我信任的设备
(3)文件数据的保密性,
而对于任何一个安全的系统,至少提供以下几种安全服务(详见密码学):
系统可以根据自己的需要实现上述中一种或者几种,只要能满足要求即可。
考虑到IoT设备的资源有限性,以及网络传输数据不安全性,决定提高如下几个安全特性:
1 Confidentiality
2. Integrity
3. Message Authentication
4. authentication
5. Access control
未完待续
标签:远程 网络 服务 img 自己的 access 实现 数据可靠性 security
原文地址:http://www.cnblogs.com/someone-device/p/6201028.html