MQTT安全的3个基本概念

MQTT安全的3个基本概念

  随着物联网设备的不断增长,安全成为一个主要问题。在设计物联网设备的网络安全时,需要记住三个基本概念:身份、认证和授权。

  现在,灯泡、门锁、恒温器和电器的设计都考虑到了网络连接。不久的某一天,这些曾经孤立的设备中的大多数可以连接到家庭网络和更大的互联网中。

  对于消费者来说,这意味着提高生产力、健康、教育和生活水平。对于企业家来说,这意味着新的收入来源和市场。

  然而,随着物联网的发展,每一种新的联网产品都有可能成为黑客的目标,从僵尸网络到DDoS的威胁。例如,在2016年10月,最大的DDoS攻击是使用一个被感染了恶意软件Mirai的僵尸网络发动的。由于这种恶意攻击,Netflix、Reddit和Twitter等公司的网站被关闭。

  另一个例子是来自St. Jude的可被破解心脏设备。据CNN报道,“美国食品药品管理局证实,植入心脏设备存在漏洞,可以让黑客访问该设备。”

  MQTT安全基础

  在物联网网络安全方面,需要牢记三个基本概念:身份、认证和授权。

  在每个MQTT场景中,都有一个客户机和一个代理。客户机可以是从微控制器到服务器的任何东西。任何连接到代理的东西都被认为是客户机。

  代理程序接收所有消息并协调将消息发布到订阅的客户机。代理负责保持连接,以及识别和授权将数据传输到MQTT客户机。MQTT连接仅存在于在一个客户机和一个代理之间。

  身份

  为了让客户机与代理建立连接,它必须启动一个连接请求。MQTT协议指定客户端在请求连接时必须初始化一个客户端ID。理想情况下,每个客户机都有一个唯一的客户机标识;大多数设备都配有用于连接客户机的网络设备的通用唯一标识符(UUID)或MAC地址。(子午物联 ziwuiot.com)

  一旦代理从客户机接收到要连接的命令,它将确定如果收到的消息包含有效的客户机ID、用户名和密码,客户机是否有连接的资格。值得注意的是,在请求与代理的连接时,用户名和密码是可选的。

  使用X.509进行身份验证

  除了使用用户名和密码进行身份验证之外,MQTT协议还允许设备使用X.509证书进行身份验证。X.509是一种数字证书,它使用公钥基础设施来验证公钥是否属于客户端。

  为了让您的客户端使用X.509身份验证,它必须实现TLS(传输层安全性)作为其加密方法。TLS不在本文的讨论范围之内,但是对于上下文,值得注意的是,TLS加密是客户端的一部分,它是为TCP/IP保护通信信道的堆栈。

  在X.509场景中,引入证书颁发机构来验证客户机的身份。在连接握手过程中,客户端向代理提供包含身份和公钥等信息的证书。然后,代理将此证书转发给证书颁发机构进行验证。一旦经过验证,代理可以确保客户证书是真实的,并且在与客户名称和公钥绑定时获得信任。值得注意的是,一些MQTT代理不支持使用X.509证书。

  X.509证书提供了额外的好处,可以验证MQTT客户机的身份,并在传输级别提供身份验证。

  授权

  当客户端与代理建立连接时,它可以执行两个活动:发布和订阅主题。主题是客户端可用的主要资源,需要对安全系统进行授权/保护,否则,没有授权,任何客户端都可以订阅和发布到代理上可用的任何主题。

  最常用的授权类型是基于角色的访问控制(RBAC)和访问控制列表(ACL)。

  在RBAC中,角色在客户机和主资源(即本例中的主题)之间提供了一个抽象级别。权限总是与某个角色关联,允许代理授权客户机发布或订阅某个主题的能力。

  ACL将某些客户端与权限列表关联。这些权限提供有关客户端可以订阅/发布哪些主题的策略。

  使用ACL或RBAC,可以使用主题权限配置代理。在运行时期间,代理可以确定允许的主题、允许的操作和允许的服务质量。如果客户机试图执行未经授权的操作,代理程序可以执行诸如断开与客户机的连接或确认客户机,但阻止其将数据发布到订阅同一主题的其他客户机的操作。

  使用访问令牌进行授权

  访问令牌提供了一种额外的机制来为客户端确定权限范围。通过限定客户机的权限范围,您可以防止未经授权的访问你的物联网基础设施,因为这样未经授权的访问可能对其他客户机设备产生不利影响的读或写数据。

  在发布或订阅时,代理需要授权客户。令牌授权允许客户端声明其拥有的范围或权限。向服务器提供授权的另一种方法是为代理提供第三方源,以便根据令牌和唯一ID查找与客户机关联的授权。

  为了使用访问令牌连接到代理,客户端必须使用密码字段发送带有连接消息的访问令牌。在这种情况下,还可以在用户名字段中提供其他标识。在请求连接之前,必须向客户端提供访问令牌和作用域。

  有各种各样的令牌服务可用。最常用的是OAuth2.0。客户机凭证流在上面建模,其中客户机使用凭证请求令牌,并被授予访问令牌。

  有信心、有远见

  尽管在保护物联网框架时需要考虑更多的因素,本文提供了三个基本概念作为起点。在评估物联网框架的范围时,需要仔细考虑潜在的漏洞。即使在那时,仍然有潜力的未来,但未知的脆弱性。虽然其安全影响是巨大的,但是构建一个可行的安全框架可以成为在生产环境中执行安全性的基础。

  虽然在保护物联网框架时还有许多考虑事项,但本文提供了三个基本概念作为起点。在评估物联网框架的范围时,需要仔细考虑潜在的漏洞。即便如此,未来潜力巨大,但仍存在未知的漏洞。虽然安全的影响是巨大的,构建切实可行的安全框架可以为生产环境中安全的执行奠定基础。

  作者:DornerWorks
  编译:阿土伯
  参考:iotforall
  声明:本站原创,转载请注明(子午物联 ziwuiot.com)

声明:凡注明为其它来源的信息均转自其它平台,目的在于传递更多信息,并不代表本站观点及立场和对其真实性负责。若有侵权或异议请联系我们删除。
发表评论

相关文章

切换注册

登录

忘记密码 ?

切换登录

注册