在工业物联网部署中,无线技术(不包括低功耗)可以大致分为蜂窝或短程无线。短程无线包括Wi-Fi、蓝牙、Zigbee和各种其他协议。
嵌入式系统设计人员通常决定使用现成且经过认证的无线模块,而不是从头开始设计无线通信电路。其中一些现在在单个模块中适应多种频率和协议。本文讨论了Wi-Fi模块的架构,以及设计师通过使用此类模块中的可用资源来提高物联网设备和网络安全性的机会。实际上,相同的一般方法可以应用于其他模块,而不管所涉及的无线协议。
什么是Wi-Fi模块?
Wi-Fi模块包括一个2.4GHz或5GHz频段(或两者都有)的无线收发器、一个天线和一个微控制器,用于运行固件、使无线电能够接收和发送数据以及操作协议。微控制器的外部接口通常是SPI,I2c、USB或UART。
图1:无线模块的基本元素。
将Wi-Fi模块连接到网络
Wi-Fi模块需要运行由IEEE802.11标准定义的几种不同的协议来连接到网络。一旦连接,它们还必须运行所需的机器对机器协议。用于连接到云服务器的一组典型的协议栈和功能可能包括:
坦克激光瞄准镜(Tank Laser-Sight的缩写);
传输控制协议;
HTTP/S;
文件传送协议;
推送消息;
证书处理(安全性);
加密密钥的使用(安全性);
由于成本和功耗限制,Wi-Fi模块内的设备通常资源有限,因此通常会将一些网络协议卸载到主机应用处理器。像调制解调器一样,Wi-Fi模块通过UART接口使用AT命令。随着模块变得越来越复杂,AT命令变得越来越强大,应用处理器的工作负载也减少了。
无线系统划分
从安全角度来看,一个重要的考虑因素是每个协议栈和安全功能应该驻留在哪里。早期的物联网设备通常在Wi-Fi模块上运行TCP/IP和HTTP协议,而HTTP命令、客户应用和安全证书由应用处理器处理。
随着HTTPS协议取代HTTP协议,以确保互联网上发送的数据加密,HTTPS协议栈通常包含在Wi-Fi模块中,但HTTPS命令来自应用处理器。HTTPS受TLS协议保护,需要使用加密技术。密钥通常由应用处理器存储在其本地安全存储器中。然而,连接到应用处理器的安全元件通常被用作替代的安全存储机制。
图2:在哪里存储各种协议栈、证书和密钥是一个安全关键的决策。
上述方法的最大缺点是,通过UART/SPI链路传输的数据通常是无干扰的。这意味着不能通过它安全地发送密钥。在无线模块连接到传感器等物联网设备的情况下,这一挑战会变得更加严峻,当这些设备连接到服务和应用时,除了加密密钥之外,您还需要为用于安全管理这些设备的任何软件平台存储根证书、URL和API。
构建Wi-Fi模块以加速物联网设备管理
像Crypto Quantique的QuarkLink(QL)这样的软件安全平台可以在实现安全连接到云服务器所需的复杂堆栈方面节省几个月的时间。这提供了面向流行微控制器的固件API和示例项目。该平台通过简单的图形用户界面提供物联网设备的入门和生命周期管理。用户几乎不需要安全专业知识。数以千计的物联网设备可以在几分钟内安全地连接到内部或基于云的服务器。
更复杂的Wi-Fi模块可以被配置为在网络中使用QuarkLink,如果在其微控制器中有足够的资源来存储促进安全连接所需的元素的话。这种模块还将具有到应用处理器的加密链接。功能划分将如图3所示进行配置。
图3:带有QuarkLink资源的无线模块,用于简化设备上线和生命周期管理。
选择Wi-Fi模块:选择注意事项
为安全物联网应用选择Wi-Fi模块时,请选择具有足够处理器和内存资源的模块,以便在模块本身而非应用处理器中存储和处理所选安全平台的元素。这将降低开发可靠物联网产品所需的复杂性和工程资源。
这样,工程工作就可以专注于核心应用,而无需调试复杂、安全的通信软件堆栈。结果是更加安全和可靠的结果,消除了Wi-Fi模块和应用处理器之间过于复杂的通信需求。