如何在Wi-Fi模块中实现更好的物联网安全性
扫描二维码
随时随地手机看文章
在工业物联网部署中,无线技术(不包括低功耗)可大致分为蜂窝或短距离无线。短距离无线包括 Wi-Fi、蓝牙、Zigbee 和各种其他协议。
嵌入式系统设计人员通常决定使用现成的、经过认证的无线模块,而不是从头开始设计无线通信电路。其中一些模块现在可以在单个模块中容纳多种频率和协议。本文讨论了 Wi-Fi 模块的架构,以及设计人员利用此类模块中可用的资源来改善物联网设备和网络安全性的机会。实际上,无论涉及何种无线协议,相同的通用方法都可以应用于其他模块。
什么是Wi-Fi模块?
Wi-Fi 模块包括一个 2.4GHz 或 5GHz 频段(或两者)的无线收发器、一根天线和一个微控制器,用于运行固件、使无线电能够接收和发送数据以及操作协议。微控制器的外部接口通常是 SPI、I 2 C、USB 或 UART。
将 Wi-Fi 模块连接到网络
Wi-Fi 模块需要运行 IEEE 802.11 标准定义的几种不同协议才能连接到网络。连接后,它们还必须运行所需的机器对机器协议。连接到云服务器的典型协议栈和功能集可能包括:
· TLS
· TCP/IP
· HTTP/S
· FTP
· 消息队列传输协议
· 证书处理(安全)
· 加密密钥的使用(安全)
由于成本和功率限制,Wi-Fi 模块内的设备通常资源有限,因此通常会将一些网络协议卸载到主机应用处理器。与调制解调器一样,Wi-Fi 模块通过 UART 接口使用 AT 命令。随着模块变得越来越复杂,AT 命令也变得越来越强大,应用处理器的工作量也减少了。
无线系统分区
从安全角度来看,一个重要的考虑因素是每个协议堆栈和安全功能应位于何处。早期的物联网设备通常在 Wi-Fi 模块上运行 TCP/IP 和 HTTP 协议,而 HTTP 命令、客户应用程序和安全证书则由应用处理器处理。
由于 HTTPS 协议取代了 HTTP 以确保通过互联网发送的数据加密,因此 HTTPS 协议堆栈通常包含在 Wi-Fi 模块中,但 HTTPS 命令来自应用处理器。HTTPS 由 TLS 协议保护,需要使用加密技术。加密密钥通常由应用处理器存储在其本地安全内存中。但是,连接到应用处理器的安全元件通常用作替代安全存储机制。
上述方法的最大缺点是,通过UART/SPI链路传输的数据通常是清晰的。这意味着加密密钥不能安全地通过它发送。这个挑战是放大无线模块连接到物联网设备,如传感器,然后你需要存储根证书、url和api,除了加密密钥,任何软件平台用于安全管理这些设备时连接到服务和应用程序。
构建一个Wi-Fi模块,以加速物联网设备的管理
软件安全平台(例如 Crypto Quantique 的 QuarkLink (QL))可以节省数月的精力,用于实现安全连接到云服务器所需的复杂堆栈。它提供了固件 API 和针对流行微控制器的示例项目。该平台通过简单的图形用户界面提供物联网设备的入门和终身管理。用户几乎不需要安全专业知识。只需几分钟,数千台物联网设备就可以安全地连接到本地或基于云的服务器。
如果微控制器中有足够的资源来存储实现安全连接所需的元素,则可以配置更复杂的 Wi-Fi 模块以在网络中使用 QuarkLink。此类模块还将具有与应用处理器的加密链接。然后,将配置功能分区。
选择您的 Wi-Fi 模块:选择注意事项
在为安全物联网应用选择 Wi-Fi 模块时,请选择具有足够处理器和内存资源的模块,以便在模块本身内(而不是在应用处理器中)存储和处理所选安全平台的元素。这将降低开发可靠物联网产品所需的复杂性和工程资源。
这样,工程工作就可以集中在核心应用上,而无需调试复杂、安全的通信软件堆栈。结果是更安全、更可靠的结果,无需在 Wi-Fi 模块和应用处理器之间进行过于复杂的通信。