|
一、机智云安全机制描述
1、 设备首次连接云端时自动注册。注册需提供一个由云端生成的随机字符串product_key并预烧录到设备的固件中, 以及一个由设备随机生成的密匙passcode。设备注册成功后,会收到一个由云端统一分配的did。设备注册成功后,每次连接云端时都必须使用did和passcode登陆云端。
2、用户在使用手机App前,必须要先在云端注册生成用户帐号。
3、用户想通过手机控制设备前,必须先与该设备绑定。绑定的过程其实就是获取设备的did和passcode的过程。需要能物理接触设备权限的用户才能获取设备的passcode。当用户按下设备的某个按钮后,设备会在短时间内处于可被配对状态,这时用户可以通过手机获取到设备的did和passcoce。手机会把用户与设备的绑定信息同步到云端。
4、 用户在内网的环境下,必须要首先通过设备的passcode登陆设备。只有登陆了设备的手机才能控制设备。
5、用户在因特网的环境下,必须要登陆云端,且当用户有对该设备具有访问权限时(也就是用户与设备存在绑定关系)才能远程和设备交互。
6、当设备的passcode泄露后,设备可以重新随机生成新的passcode并通知到云端。基于原设备passcode的用户绑定自动失效。
7、所有在因特网场景下的网络通讯全部采用SSL/TLS加密。
8、设备passcode只会存在于机器与机器之间的通讯,用户无需接触passcode也无需知道设备的passcode是什么。
9、客户端连接云端的TCP服务端口后,如不发送登陆指令而只是长期占用该端口资源,30秒后,云端自动会断开该客户端的连接并释放该端口资源。
10、请求云端的数据包中,如出现格式不正确或超出允许的权限,该TCP连接会马上被断开,避免对云端或其它在线用户造成干扰。
二、各种攻击行为分析
1、 攻击者得知设备的id后(如设备的MAC地址)想远程控制该设备。由于用户需要先绑定设备(获取到设备的did和passcode)后,凭did远程控制设备才能成功。单靠设备id(如设备的MAC地址)是不能控制设备的。
2、攻击者假冒设备的身份连接云端,用于接收用户对设备的控制信息,从而得知用户对设备的使用情况。因为所有设备在首次连接云端时都生成一个随机的passcode并向云端注册得到did,后每次连接云端时都必须使用did和passcode登陆云端,攻击者因没有正确的设备passcode所以无法假冒设备的身份连接云端,因此无法监控用户对设备的使用情况。
3、攻击者进入到设备所在的局域网(可以是以朋友的身份到设备的拥有者家里作客),偿试在内网的环境下控制设备。因为在在内网的环境下,必须要首先通过设备的passcode登陆设备才能控制设备,而攻击者无法物理接触设备(如果能物理接触设备就什么权限都有了,因此不考虑这种情况),所以攻击者无法获取设备的passcode,进而无法在内网的环境下控制设备。
4、攻击者想通过检测(监听)用户与设备远程交互的信息流的方式得到设备的passcode,或得知手机与设备交互的信息内容。由于手机与云端,设备与云端在不安全的因特网环境下的通讯全部使用了SSL/TLS加密,所以攻击者很难通过检测通讯信息流的方式获取设备passcode或手机与设备的通讯内容等信息。
5、 保存有用户密码或设备的passcode手机丢失。用户密码可以通过网站或另一台手机的方式重置。设备passcode可以通过按下设备上的重置passcode按钮重新设置一个新的passcode。
6、设备转让所有权后,原用户想继续控制该设备。新用户接手设备后,给设备设置一个新的passcode即可。基于原设备passcode的用户绑定自动失效,原用户无法再控制该设备。
|
|