首页 > 代码库 > 互联互通协议安全设计

互联互通协议安全设计

互联互通协议安全设计

1、背景:

         物联网时代即将到来,智能家居是这个时代的一个典型的应用场景,目前基于智能家居的解决方案也越来越成熟,在智能家居方案里,感知层的设备之间的互动和学习将是一种特色,这也是使得家居变得智能的手段。由于智能家居将会是一套相对复杂的系统,所以同样会面临着各种各样的安全问题,从整体上看,除了传统的互联网安全问题外,还有其独具特色的感知层设备的安全问题,本文档也主要是基于这一层面来提出和解决问题的。

2、业务需求:

         YS报警器能够接入各种类型的传感器,比如:烟雾传感和门磁等等,当传感器产生报警信号时,报警器向平台推送一条报警信息,并由平台把报警信息推送到用户客户端。其优点是支持各种传感类型的报警,缺点是报警器只能产生报警,用户无法在客户端上查看实时的现场状况,也不能执行任何操作,因此大大限制的报警器的推广和使用。

         IPC报警是一种基于视频监控报警的解决方案,该方案的基于通过视频监控上的画面识别进行报警,优点是可以看到现场的实时状况和录像回放,缺点是基于视频的分析限制了报警的类型。

         基于以上2点,YS需要设计一套协议,能够让跟让处于同一个局域网内的YS报警器和IPC产生互动,进行联动报警,即当报警器产生报警时,也能够通知IPC进行抓拍和录像,并由平台推送到用户的客户端,如下图所示:

技术分享

3、风险分析:

         虽然互联互通协议是基于局域网设计的,但由于用户使用设备的环境我们无法预估,可能存在较复杂的情况,在此,我们假设攻击者可能和受害者在同一个局域网内(群租环境下可能性很高)可能造成的风险。

3.1、仿冒:

1)、攻击者仿冒一个合法的SensorAlarm发送报警触发信号。

2)、攻击者仿冒一个合法的AlarmIPC发送报警触发信号。

3)、攻击者仿冒AlarmIPC向平台发送报警信息。

3.2、伪造:

1)、攻击者伪造合法的sensor报文发送给Alarm

2)、攻击者伪造合法的Alarm报文发给IPC

3)、攻击者伪造合法的AlarmIPC报警报文发送给平台。

3.3、泄密:

1)、由于传感器功耗小,处理能力差,故不和平台进行通信,sensoralarm建立绑定关系不依赖于平台,而是双方使用点对点的方式,通过RF信道进行绑定。RF具有辐射范围大的优点,但也意味着,当sensor第一次通过RFalarm发送绑定数据的时候,有可能被辐射范围内的监听器监听到,进而获得双方的交换的授权信息。

关于该问题,和本人在另外一篇《Smart config安全风险分析与对策》文章中描述的问题类似,在此不再详述。

PS:绑定就是指将sensor关联到指定的alarm,即sensor将授权信息发送给alarm的过程,后续的通信,alarm将通过授权信息验证sensor的合法身份。

2)、sensoralarmalarmIPC以及alarmIPC和平台之间通信的泄密。

3)、设备转移或被盗窃后导致的泄密

3.4、拒绝服务:

         参考本人另外一篇《门磁报警破解猜想》,在此不再详述。

4、解决方案设计:

4.1、解决方案分析:

         AlarmIPC为例,根据以上分析,其实主要面临3方面的问题:

1)、身份认证:

         AlarmIPC之间的身份合法性验证问题。

2)、权限控制:

         解决AlarmIPC都必须同属一个用户的问题。

3)、通信安全:

         解决通信过程中发生的信息泄漏、伪造和篡改问题。

4.2、解决方案流程图:

4.1、设备绑定:

         即一个设备必须拥有一个属主,设备添加到平台时必须归属一个用户才能够正常使用,设备被绑定后无法再被其他用户绑定,决定了其一对一的关系

技术分享

4.2、设备关联:

         即对同一个用户下的设备建立关联关系,其实际是通过平台向同一个用户下的AlarmIPC推送互联鉴权token

技术分享

备注:

1)、互联互通鉴权token应满足sessionID的长度、复杂度和随机性要求,建议使用UUID来生成,用于防止攻击者对鉴权token进行猜解。

2)、鉴权token应设置适当有效期,从平衡用户体验角度,有效期可以设置长一些(比如3个月),用户防止鉴权token泄漏,导致攻击者可以进行长期控制。此外,当鉴权token过期时,还可以设计让设备自动向平台提请刷新。

3)、当多个A1关联同一个IPC时,应当使用不同的互联互通鉴权token区分,避免当其中某个A1转让或被盗时,导致互联ID泄漏,相当于获得了触发IPC报警的有效身份。

4.3、设备通信:

 

技术分享

备注:

Alarm和IPC通信安全可以使用消息摘要算法或者SSL协议来保证,细节可以参考本人另外一篇文章:《YS私有通信协议安全整改方案》。

互联互通协议安全设计