基于嵌入式操作系统的物联网安全
并且很多人认为NSA(国家安全局)参与开发的算法不安全,导致它没有被广泛使用。
HTTPS是建立在TLS上的安全网络服务器访问协议,它提供了安全的应用访问,通过与SSH相同的方式,为远程用户提供安全的模拟终端访问。
安全的无线连接确保无线信息不会被收集,数据不会被其他人通过天线获取。
安全电子邮件用于确保数据不会通过电子邮件直接传输。一种方式是在邮件发送之前加密数据,另一种更简单更通用的方案是在加密连接中提供邮件服务,以确保管理邮件的服务器接收的所有邮件数据都是安全的。
基于SNMPv3的安全文件传输
使用加密和解密程序保护数据时,SNMPv3用于加密数据。如果所有的数据都很重要,可以使用文件加密,尽管文件加密方式会降低性能。
过滤和防火墙
防火墙通过过滤网络服务器发送的所有数据包,拒绝未授权的访问。通过过滤,设计者可以确保只有真正的用户才能访问系统,阻止非法访问,以保证系统安全。这些过滤规则需要在设备上配置,过滤功能通常需要结合SSH或SNMPv3使用。
安全启动
安全启动是安全系统的重要组成部分(图2),支持固件更新并通过安全的方式实现更新非常重要。固件更新可以删除所有工厂固件,并通过自动回退(fall back)机制增强该功能。通过自动回退,如果新的固件(可能损坏)导致启动失败,可以使用旧的安全版本重新启动系统,这是分层安全机制的部分功能。
![](../img/eep/emb/emb-49766uif14u2csfq.jpg)
通过解释器或其他方式加载的程序运行时,可能破坏系统。Unison的操作系统在底层提供了额外的安全启动功能来保护系统,该功能使得系统很难被攻击。
系统安全的考虑
MCU或资源有限的MPU如果需要应用很多协议来实现安全目的,一个参考实例是Unison的操作系统,它是一个小型的POSIX实时操作系统,以非常小的代码尺寸提供了安全功能。
Unison系统使用了安全通信协议,目标设备的所有应用都是安全的。这些应用包括手机应用、面向小型网络服务器的安全Web访问等。类似缓冲区溢出之类的攻击是不可能出现的,因为Unison系统在运行时占用很少的资源,禁止任何不合理的资源占用,还可以使用安全无线连接,但要使用VPN。
可以使用SFTP将文件传输到系统,该机制保证数据在传输时不被破坏,对安全系统更新非常重要。在TCP服务器前端增加过滤处理,可以确保只处理授权的请求和更新,防止设备被入侵,极大提高了安全性。此外,还可以使用终端通过SSH协议远程配置设备,与使用网络服务器相比,使用脚本的方法更可靠,这种配置方式确保了配置设备也是安全的。此时,设备接收和发送的数据是安全的,任何更改或配置是可靠的,授权的应用和用户可以使用设备的数据和功能。
如果设备被偷了,怎么办?为了防止这种情况发生,可以加密设备存储的数据,不使用本地数据而使用加密文件系统,这将确保设备的关键数据是安全的。如果用户的设备有密码,通常这被认为是合适的安全措施,还可以使用其他安全措施,如增加指纹扫描、虹膜扫描、掌纹和其他功能给设备或将其连接到安全工作站,以增加设备的可靠性。
前面列出的安全场景,除了程序执行时,可能破坏系统安全的情况都考虑过了。对MCU或一些MPU来说,程序是一个运行在Flash中的单个映像文件,在这种情况下,由于整个映像在Flash中运行,并且如果启动机制和刷新机制是安全的,不可能添加任何东西到系统中,因此入侵者不能加入新的代码。在使用Unison时,该功能是可以实现的,因此Uni son使整个系统非常安全。
但如果系统中有解释器,Unison不能保证整个系统是安全的。解释程序可以在MCU或MPU上自由运行,不受限制地更改系统映像,除非建立了安全机制,例如使用了内存管理单元(MMU)。
结语
通过使用标准IT安全协议、安全启动及限制解释器,可以完全保护MCU和小的MPU系统。安全不应该事后考虑或位于操作系统之上,而应该集成到系统中,作为一个功能单元测试,以实现真正的系统安全。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)