构建安全的物联网解决方案(1-2)IoT 应用程序设计开发

大部分 IoT 解决方案都包含三个主要的层。在每层中运行的 IoT 解决方案组件需要包含特定的安全措施,以防范各种漏洞。
  • 设备/网关层:防范发送恶意命令的“虚假”服务器,或者防范尝试监听从设备发来的私有传感器数据的黑客。这一层的安全考虑因素将在系列的第 1 部分(本文)中讨论。
  • 网络/传输层:防范发送假的度量数据的“虚假”设备,这些数据可能损坏应用程序中持久保存的数据。这一层的安全考虑因素将在系列的第 2 部分中讨论。
  • 应用层:防范非法的数据使用,或防范在应用层中运行的分析流程被恶意操纵。这一层的安全考虑因素将在系列的第 3 部分中讨论。
IoT 设备的应用层为黑客提供了最大的攻击面。应用层包含任何连接 IoT 设备的应用程序,这可能包括本地 Web 应用程序、基于云的应用程序和移动应用程序。应用程序安全性必须是所有 IoT 应用程序的软件开发生命周期(SDLC)的内在组成部分,尤其是在设计、开发和测试阶段。在 IoT 应用程序的计划或设计阶段,必须对所计划的应用程序的安全和隐私需求执行一次正式的“自上而下”评估。下图展示了一个典型的 IoT 应用程序的三层,该应用程序在网络/传输层中使用了 IBM Watson IoT Platform,在应用层中使用了 IBM Bluemix 云平台。下表简要描述了每一层以及在该层中开发人员必须重视的安全考虑因素。层描述安全考虑因素应用层IoT 应用程序部署在 Bluemix 平台中。
    • 应用程序安全性
    • 对 IBM Watson IoT Platform 的受保护的 API 调用
    • Node-RED 安全性
    • 解密消息
    • 消息校验和验证
网络/传输层IBM Watson IoT Platform 为 IoT 应用程序提供了基于 MQTT 的消息平台。
    • 对设备执行身份验证(只有受信任的设备才能发送数据)
    • 授权
    • API 安全性
    • 安全配置
    • 安全的传输
设备/网关设备(直接或通过网关)将传感器数据发布到 IBM Watson IoT Platform,并接收执行控制功能的指令。
    • 身份验证
    • 消息有效负载加密
    • 证书配置和验证
    • 安全的 MQTT 传输
    • 安全引导
    • 防火墙
    • 固件更新和补丁
设备(直接或通过网关)将传感器数据发布到 IBM Watson IoT Platform,并接收执行控制功能的指令。保护设备设备安全性主要关注于确保在解决方案中使用了一组受信任的设备,并且这些设备可信任发送控制命令的代理或应用程序。本文将讨论可用于建立这一信任的各种安全机制。此外,我们(在 JavaFX 中)开发了一个设备模拟器程序来演示这些安全机制:
  • 用户 ID/密码身份验证
  • 一次性密码(One Time Password,OTP)身份验证
  • 服务器唯一 ID 身份验证
  • 消息有效负载身份验证
您可以下载设备模拟器程序的代码,并按照自述文件中的说明在本地构建和运行它。
获取设备模拟器的代码
MQTT 是一种用于 IoT 设备和应用程序的最流行的消息协议,它得到了 IoT 领域的许多关键参与者的支持。MQTT 为 IoT 解决方案提供了一种轻量型、容易使用的通信协议。
MQTT 本身指定了一些安全机制,但所有常见的实现都支持最新的安全标准,比如用于传输安全的 SSL/TLS。MQTT 没有强制要求对其应用程序使用某种特定的安全方法,而是将决定权留给了应用程序设计者。因此,IoT 解决方案可以基于应用程序上下文和特定的安全需求。
大部分 MQTT 部署都使用了传输层安全(Transport Layer Security,TLS),所以数据已加密并经过了完整性验证。类似地,大部分 MQTT 实现(包括 IBM Watson IoT Platform 中的实现)也在 MQTT 服务器中使用了授权功能来控制访问。
除了设备模拟器程序之外,我们还提供了一个代理应用程序客户端,用于显示从设备收到的 MQTT 消息并向设备发送示例命令。这个代理应用程序客户端示例应用程序生成用于设备身份验证的 OTP 密钥,并发送唯一的应用程序 ID 供设备执行应用程序验证。这个客户端生成命令消息(包括有效和无效的消息)来测试不同的场景。
您可以下载代理应用程序客户端的代码,并按照自述文件中的说明来在本地构建和运行它。
获取代理应用程序客户端的代码
Q物联网 » 设计和构建安全的 IoT 解决方案(1) 保护 IoT 设备和网关
http://www.qwulian.cn/miothtml/1986.html
徐占强

物联网开放平台和系统分析师
水态组织理论提出者和实践者
自由职业高级研究员及导师
Q物联网(www.qwulian.cn)创始人
水滴儿(www.shuidier.com)创始人
水态组织创办人及《水态组织》 作者

0 个评论

要回复文章请先登录注册