什么是Wi-Fi模块?WiFi如何实现物联网安全性
在工业物联网部署中,无线技术(不包括低功率)可大致分为蜂窝或短程无线。短距离无线包括 Wi-Fi、蓝牙、Zigbee 和各种其他协议。
嵌入式系统设计人员通常决定使用现成且经过认证的无线模块,而不是从头开始设计无线通信电路。其中一些现在在单个模块中适应各种频率和协议。本文讨论了 Wi-Fi 模块的架构,以及设计人员通过使用此类模块中可用的资源来提高物联网设备和网络安全性的机会。在实践中,相同的通用方法可以应用于其他模块,而不管所涉及的无线协议如何。
什么是 Wi-Fi 模块?
Wi-Fi 模块包括用于 2.4GHz 或 5GHz 频段(或两者)的无线收发器、天线和用于运行固件、使无线电能够接收和传输数据以及操作协议的微控制器。微控制器的外部接口通常是 SPI、I 2 C、USB 或 UART。
图 1:无线模块的基本元素。
将 Wi-Fi 模块连接到网络
Wi-Fi 模块需要运行 IEEE 802.11 标准定义的几种不同协议才能连接到网络。连接后,它们还必须运行所需的机器对机器协议。用于连接到云服务器的一组典型协议栈和函数可能包括:
- TLS
- TCP/IP
- HTTP/S
- FTP
- MQTT
- 证书处理(安全)
- 加密密钥使用(安全性)
由于成本和功率限制,Wi-Fi 模块中的设备通常资源有限,因此通常会将一些网络协议卸载到主机应用处理器。与调制解调器一样,Wi-Fi 模块通过 UART 接口使用 AT 命令。随着模块变得更加复杂,AT 命令变得更加强大,应用处理器的工作量也减少了。
无线系统分区
从安全的角度来看,一个重要的考虑因素是每个协议栈和安全功能应该驻留在哪里。早期的物联网设备通常会在 Wi-Fi 模块上运行 TCP/IP 和 HTTP 协议,而 HTTP 命令、客户应用程序和安全证书由应用程序处理器处理。
由于 HTTPS 协议取代了 HTTP 以确保对通过 Internet 发送的数据进行加密,因此 HTTPS 协议栈通常包含在 Wi-Fi 模块中,但 HTTPS 命令来自应用程序处理器。HTTPS 由 TLS 协议保护,需要使用加密技术。加密密钥通常由应用处理器存储在其本地安全存储器中。然而,连接到应用处理器的安全元件通常用作替代的安全存储机制。
图 2:在哪里存储各种协议栈、证书和密钥是一个安全关键的决定。
上述方法的最大弱点是通过 UART/SPI 链路传输的数据通常是明文的。这意味着无法通过它安全地发送加密密钥。当无线模块连接到 IoT 设备(例如传感器)时,这一挑战会更加严重,然后您需要为用于安全管理此类设备的任何软件平台存储根证书、URL 和 API,以及加密密钥当它们连接到服务和应用程序时。
构建 Wi-Fi 模块以加速物联网设备管理
Crypto Quantique 的 QuarkLink (QL) 等软件安全平台可以节省数月的时间来实施安全连接到云服务器所需的复杂堆栈。这提供了针对流行微控制器的固件 API 和示例项目。该平台通过简单的图形用户界面提供物联网设备的入职和生命周期管理。用户几乎不需要安全专业知识。数以千计的物联网设备可以在几分钟内安全地连接到本地或基于云的服务器。
如果微控制器中有足够的资源来存储促进安全连接所需的元素,则可以配置更复杂的 Wi-Fi 模块以在网络中使用 QuarkLink。此类模块还将具有到应用处理器的加密链接。然后将配置功能划分,如图 3 所示。
图 3:具有简化设备启动和生命周期管理所需的 QuarkLink 资源的无线模块。
选择您的 Wi-Fi 模块:选择注意事项
在为安全物联网应用选择 Wi-Fi 模块时,请选择具有足够处理器和内存资源的模块,以便在模块本身而非应用处理器中存储和处理所选安全平台的元素。这将降低开发可靠物联网产品所需的复杂性和工程资源。
然后可以将工程工作集中在核心应用程序上,而无需调试复杂、安全的通信软件堆栈。结果是更安全和可靠的结果,消除了 Wi-Fi 模块和应用处理器之间过于复杂的通信的需要。
Chris Jones是Crypto Quantique 的物联网安全专家。在项目管理和现场应用工程领域拥有 28 年的职业生涯之后,Chris 在英国剑桥的 Secure ThingZ 担任了两年的高级应用工程师,从事物联网安全工作。他于 2020 年 5 月加入 Crypto Quantique。Chris 拥有英国考文垂大学电气和电子工程学士学位