介绍
这是一篇来自2020USENIX的论文,作者有Bin Yuan, Yan Jia, Luyi Xing, Dongfang Zhao, XiaoFeng Wang, Deqing Zou, Hai Jin, Yuqing Zhang。
概述
一般情况下,IoT设备在供应商指定的云平台下进行管理,设备和用户也可以通过云来进行连接交互。
目前,一些主流的IoT云平台还支持跨供应商的设备访问管理, 例如Philips和SmartThings云支持委派设备访问另一个云(Google Home),这样用户就可以通过Google Home来管理来自不同供应商的多种设备。
作者发现在缺少标准化的IoT委派协议的情况下,IoT云委派机制存在普遍的安全缺陷。本文系统化的分析了IoT访问授权委派机制的安全性,开发了一个半自动化的验证工具VerioT,结果表明几乎所有的委派机制都存在安全问题,可能会导致设备的未授权访问和设备冒充;为此作者实施了端到端PoC攻击来对这些问题进行确认,并进行了相应的评估。
跨云IoT访问委托
基于云的IoT访问
用户直接通过云访问设备,主要流程:
(1)设备用户将设备注册到云平台(device vendor cloud)上
(2)当用户访问设备时,云端对用户进行认证,然后将其指令发送给指定设备
跨云访问委托
随着设备和供应商的数量急剧增加,为了便于管理,跨云IoT委派机制被提出并实施,来为不同的供应商的多种设备提供一个同一的管理接口,如图1所示。
例如, Google Home想要访问SmartThings云上的一个智能门锁,需要先从SmartThings Cloud上获得一个访问token(例如OAuth),SmartThings需要将访问设备的权限通过OAuth或其他方法分配给Google。
- 用户登录到Google Home控制台(例如手机应用)
- 输入她的SmartThings账户凭据
- 如果通过认证,SmartThings会生成一个access token并将其传递给Google Home