IOT协议中的调试方案

文章:Lars Lydersen

保护无线链路的关键是分发链接键。这通常在调试步骤期间发生,其中设备与无线网络相关联。

«此前:解决保护无线链路的挑战

本节包含最常见的IOT协议中标准化调试方案的审查。所有协议还支持从协议之外获取链接/网络密钥,也称为带外调试。因此,流行的带外方案的主题将在下一节中单独处理。

无线上网

Wi-Fi通常是大多数人接触并熟悉的物联网技术。多年来有许多方案来保护Wi-Fi连接,例如WEP,WPA(个人),现在是最常见的计划WPA2(个人)。这些方案已经发展为反击发现的各种攻击。常见的是它们是共享的关键调试方案:用户必须在设备上输入预共享密钥。如前所述,共享密钥方案具有可用性缺陷。特别是,在钥匙中有必要具有显着的随机性,以避免对来自强力攻击的对手。在实践中,这意味着16个或更多字符的密码。

为简化Wi-Fi调试过程,Wi-Fi联盟推出了Wi-Fi保护设置(WPS)。对于WPS,有一个强制性的8位引脚输入方法。理论上,这种方法应该需要108次尝试进行蛮力攻击,但由于该方案中的缺点,只需要11,000次尝试。这是24小时内的暴力。这呈现了WPS不安全,因此,建议用户关闭WPS,并留下长密码。WPS还通过按住登机设备上的按钮来支持时间,允许调试,但由于引脚方法强制性,因此禁用WPS时,也会禁用按钮 - 按方法。

Wi-Fi还支持更精致的计划,称为WPA“企业”调试。“个人”WPA方案的缺点之一是所有设备共享相同的密钥。这意味着它们可以解密网络上的所有流量,此外,从网络中删除设备需要更改所有设备中的密钥。WPA Enterprise是一种证书和/或共享密钥的调试方案,其需要一个服务器,该服务器包含网络上所有有效设备的证书。这种方法的好处是每个设备都获得单独的链接密钥。企业方案的最大缺点是它需要一个后端,它通常需要更精细的UI来支持用户名和密码。因此,许多物联网设备不支持WPA“Enterprise”。

蓝牙低能量

蓝牙通常用于将相对简单的设备连接到移动电话,用于仅与移动电话通信,或者将手机用作互联网网关。蓝牙标准已进化,已释放多个版本。值得注意的是,蓝牙版本4.2通过使用基于公钥的密钥交换来显着提高协议的安全性,因此需要攻击者执行MITM。蓝牙经典协议具有显着的跳频,因此,黑客报告了有必要进行活跃的MITM,以便执行被动窃听以控制跳频。因此,此类工具现在可以轻松获得,并且它们还可以在最新版本的蓝牙低能量上工作。本文仅讨论蓝牙版本4.2之后介绍的调试方法。注意,在蓝牙语言中,调试通常被称为“配对”。

除了带外调试外,蓝牙标准三种调试方法。“只是作品”是一个允许的,未经身份验证的方案,可能很容易受到Mitm攻击的影响。“数字比较”希望用户比较设备上的两个6位数字。该方案被认证,启动成功的MITM攻击的可能性等于10-6。根据蓝牙SIG,这是一个可接受的残余风险,特别是因为如果用户重复调试尝试失败,因此用户通常会得到可疑。另一个方案是“密钥条目”,其中一个设备显示需要输入的6位代码。这会使“数字比较”提供与“数字比较”相同的安全级别。

调试方法的选择取决于每个连接设备上可用的用户界面。值得注意的是,对于许多蓝牙连接,用户界面是不对称的,这在其中一个设备(通常是移动电话)具有比其他设备具有大得多的界面。图2显示了基于每个设备的UI使用的方法。

20170727_EDNA_IOT-Security-Transtoffs_02(CR)
图2:UI功能与蓝牙的调试方法。黄色表示允许方案,特别是这些方案未经身份验证。绿色表示已验证的共享密钥方案。

Zigbee.

ZigBee是用于家庭自动化的常用网格协议。它与具有非常有限的接口具有非常有限的智能家居设备,如智能灯泡,无线灯开关,风扇控制,温度控制,能量控制和测量等。由于这个原因,ZigBee造成了刻意的安全性和用户友好之间的权衡。通常,ZigBee Home Automation(HA)设备将愉快地加入他们看到的第一个网络,如果网络将允许设备加入。该方案可以被归类为无源窃听者的允许和容易影响,并且网络密钥被分发到新设备,使用在ZigBee标准中设置的固定键加密。每个供应商都可以使用不同的密钥分布密钥替换此键,但这将使设备非标准ZigBee,违反不同供应商之间的设备之间的互操作性。

Zigbee还有不同的版本和配置文件,特别是ZigBee Light Link(ZLL),ZigBee智能能量(SE)。HA佣金方法还有更新和更多选项,ZigBee 3.0发布。下面将讨论变体和更新。

ZLL是一种用于照明和照明控制的型材。就用户友好而言,调试挑战对照明设备尤为重要。灯泡几乎没有UI,他们必须便宜,他们必须易于更换和佣金,他们通常坐在不一定容易访问的地方。ZLL TouchLink是一种允许调试方案,使用RSSI测量来确保设备彼此的物理地靠近,通常在小于1米的范围内。ZLL的密钥分布密钥与其他配置文件的标准不同,并且努力保持对称调试关键秘密。尽管如此,它现在已经在互联网上泄露了。

SE使用证书来执行密钥交换,并因此使网络抵抗被动窃听。此外,它要求使用名为频段外产生的安装代码的唯一共享秘密。因此,SE调试计划是一项共享秘密计划,抵御被动和活跃的窃听者。

ZigBee 3.0还包括使用唯一的共享秘密,所以称为安装代码。此外,标准固定键被每个网络替换,并且可选地每个设备唯一键。这样,窃听者必须在初始首次调试中出现用于利用标准ZigBee密钥的初始调试,因为后续调试将在密钥中发生。最后,ZigBee 3.0留下了TranchLink的选项,以确保ZigBee 3.0和遗留设备之间的互操作性。

线

线程是一个相当新的网格协议,其定位为ZigBee的大多数相同的网格应用程序。值得注意的是,线程增加了IP-Connectivity,它允许在启用节点和IP的设备之间的端到端通信。IP连接还支持新的调试方案,因为这意味着调试设备和登机设备可以通过IP进行通信。

线程标准调试方案是基于秘密密钥的方案,具有相对短的安装代码,通常是每个设备唯一的。为保护调试链接,在设备之间建立数据报传输层安全性(DTL)安全链接。使用DTL的一个好处是,未来对TLS标准的改进也将提高调试方案的安全性。为了从短代码获得充分的安全性,J-PAGE用于关键交换。

带外调试计划

如前所述,所有协议都支持从协议本身外部获取链接密钥,所谓的带外调试。使用带外调试时,调试的安全性是安全性,可用性和UI约束由带外调试方案设置。本段讨论了一些常见的选择。

带外调试的一个选项正在使用不同的通信协议来建立密钥。这正在成为一个特别相关的选择,因为越来越多的设备能够操作多个协议。如前所述,ZigBee已经完成了一些刻意的安全可用性权衡。硬化方案击败被动窃听者的一种方法是使用蓝牙作为调试方案来馈送ZigBee键的带外。

近场通信

近场通信(NFC)是一种协议,其允许近物理接近的两个设备,通常为一厘米的设备进行通信。它由大多数现代智能手机支持,也用于非接触式付款。由于物理接近约束,它被认为是相当安全的从活性和被动的窃听者身上是相当安全的,尽管已经从10米的距离有被动窃听的报道。特别是,从距离开始,可能会挑战。

可以在NFC上使用基于公钥的密钥交换。这将需要攻击者的MITM,并且如上所述,这被认为比在没有接近约束的情况下使用方案更加困难。从可用性和成本的角度来看,NFC似乎很有吸引力。NFC芯片通常比本文讨论的其他技术便宜。此外,它需要来自用户的最小相互作用。

概括

调试设备到无线网络上时,有许多选项:

  • 需要不同的资源
  • 为用户提供各种级别的简单
  • 提供不同的安全级别。

开发人员必须在为IOT产品设计安全性时考虑各种选项及其相应的副作用。

Lars Lydersen作为安全研究人员的广泛背景,是团队的一部分,闯入“不可用”的商业量子加密系统。他目前在挪威奥斯陆硅实验室的产品安全高级总监。

首先由EDN发布。


«此前:解决保护无线链路的挑战

发表评论