博客

物联网消息协议: 服务提供商面临的下一个安全挑战是什么?

F5 缩略图
F5
2017 年 2 月 24 日发布

物联网现状


Gartner 预测,到 2020 年,全球联网设备数量将达到 208 亿台。 物联网 (IoT) 中连接设备数量的不断增长为服务提供商提供了开拓新收入来源的机会。 对于最终用户来说,物联网有可能提供可大幅提高安全、医疗、教育和许多其他领域的生产力和质量的解决方案。 为了利用这个机会,服务提供商必须提供最佳的客户体验,同时确保绝对的数据保护、隐私和用户安全。

然而,如此庞大数量的多样化设备也会增加网络脆弱性,许多设备都有可能成为黑客和拒绝服务攻击的目标。 物联网设备通常受到内存、存储和计算资源的限制。 这些限制使得支持复杂且不断发展的安全算法变得非常困难,因为这些算法需要更高的处理能力和较低的 CPU 周期。 联网设备的寿命也可能比加密的有效性更长。

在 2016 年 2 月关于移动服务交付的未来调查和报告中,Heavy Reading 高级分析师 Jim Hodges 指出,服务提供商面临的最大安全问题是分布式拒绝服务 (DDoS) 和僵尸网络攻击导致的中断。 紧随其后的是与系统完整性相关的威胁,其中流量被外部攻击者操纵,同时伪造用户身份。

图 1: 服务提供商对安全性的关注程度进行了排序。

物联网安全的基础是三个概念:身份、身份验证和授权。 身份是关于命名并向客户端提供授权。 身份验证意味着证明客户端的身份,而授权是指管理赋予客户端的权利。 为了进一步实现设备数据收集以进行实时情报分析,还必须就物联网通信协议达成一致。

物联网消息协议应包括以下高级功能:

  • 消息协议验证和 DDoS 缓解
  • 协议中介,翻译各种物联网协议
  • IoT 消息协议互操作性
  • 检测并预防物联网信令风暴

目前,最流行的物联网消息协议是MQTT (消息队列遥测传输)。 MQTT 被用作跨垂直行业的主要传输协议,包括制造、航运/资产跟踪、能源和联网家居。 包括 IBM、微软、亚马逊网络服务以及Facebook Messenger在内的公司都使用 MQTT 来快速传递消息并节省设备的电池寿命。

协议安全

MQTT 基础知识

MQTT 等物联网协议用于设备之间安全可靠的通信。 MQTT 基于传输控制协议 (TCP),并且可以通过传输层安全性 (TLS) 进行保护。 MQTT 协议的设计对计算和内存的要求较低,并且针对某些物联网应用进行了优化,其数据包大小比 HTTP 更简单、更小。

MQTT 最初于 1999 年为远程传感器而创建,但在基于发布和订阅模型的各种物联网应用中获得了新生。 设备/传感器将“发布”数据到物联网平台(代理),然后物联网应用将“订阅”与其用例相关的数据。 发布和订阅的数据被称为“主题”,它可以根据用例和数据类型类别以分层结构进行组织。 设备与其平台之间的连接和通信会影响每个用例所需的负载、控制和安全性。

为了让协议对于资源受限的物联网设备尽可能轻量,MQTT 提供了除 TCP 之外的最低限度的安全性。 MQTT 仅建议对需要额外级别身份验证的应用使用 TLS 协议。 因此,仅依赖 TCP 的 MQTT 通信未加密,并且容易受到中间人攻击。

MQTT 漏洞

MQTT 协议存在许多潜在的漏洞。 例如,开放端口可用于跨网络和设备发起拒绝服务(DoS)攻击以及缓冲区溢出攻击。 根据连接的物联网设备数量和支持的用例,“主题”结构的复杂性可能会显著增加并导致可扩展性问题。 MQTT 消息负载以二进制编码,并且相应的应用/设备类型必须能够互操作。 另一个问题区域是 MQTT 消息用户名和密码,它们以明文形式发送。

虽然这不是 MQTT 规范的具体部分,但物联网平台代理支持使用 SSL/TLS 客户端证书进行客户端身份验证已成为惯例。 如果正确实施,使用 SSL 和 TLS 的传输加密可以保护数据。 为了防范威胁,应始终对包括用户 ID、密码和任何其他类型的凭证在内的敏感数据进行加密。

使用 TLS、SSL 和其他加密方法的缺点是它们会增加大量开销。 但是,TLS 会话恢复等技术可以弥补 TLS 的一些连接成本。 硬件加速是减少加密大小损失的另一种方法。 对于受限设备上的复杂应用,优化的加密库非常有用。 当应用程序代码较大时,加密库可以减少处理内存并提高性能。

MQTT 的架构依赖于代理的高可用性。 当许多客户端尝试使用代理服务(例如数据库查找或 Web 服务调用)时,使用 X.509 证书进行客户端身份验证可以节省代理端的资源。 将 MQTT 与 TLS 等最先进的安全标准相结合并使用 X.509 证书也有助于提高安全性和性能。

端到端物联网application安全

物联网对于服务提供商来说是一个重要的新商机。 虽然使用 TLS 保护 MQTT 消息传递协议是一项重要的安全考虑,但也可以利用许多其他攻击媒介。 服务提供商必须通过严格的设备身份验证、授权和网络强制执行的通信路径访问策略来确保端到端的安全。 为了保证安全和隐私,对数据进行加密对于服务提供商提供最佳客户体验的收入来源也至关重要。

图 2: 物联网应用安全使用 SSL 和 TLS 传输加密来保护数据。