智能设备逐渐进入了我们的生活,它们在带给人们便捷的同时,也带来了一系列的安全隐患。经过对当前多种不同类别,不同功能的智能设备的调研后,本系统采用了使用无线路由器作为智能家居管理中心的方式。这相比于当前智能家居控制模式,主要有以下优势:

1、针对摄像头等官方服务器泄露信息的问题,采取以无线路由器作管理中心的模式,避免使用厂商所提供的服务器管理智能设备,从“厂商代为管理”转为“谁拥有谁管理”,大大降低了安全风险。
2、针对无线路由器与移动端远程连接问题,采用了中转服务器的方式,中转服务器无法获得任何指令和数据,仅具备认证识别和转发流量的功能。
3、针对设备种类繁杂的问题,在无线路由器上对于不同品牌和类别的设备进行了整合,采取有路由器集中管理智能设备的方式,用户无需再安装多款功能相似的移动端APP,简化了使用的方式。
4、针对智能设备首次联入局域网时WiFi密码泄露的问题,我们采取无线路由器双热点的控制策略,降低了安全风险。
本系统对于当前智能设备出现的问题进行了一定程度的解决。利用家中常见设备路由器,没有增加任何成本,同时由于采用了一系列的安全策略来优化智能家居管理模式,实现了安全高效便捷的目标,有很好的应用前景与市场前景。
1、概述
本章将从项目背景,作品简介与作品特点三个方面来介绍本系统,从而能让使得读者对于整个系统能够有一定的了解。
1.1背景介绍:
随着物联网时代的到来,越来越多的智能设备和智能产品走进了人们的生活。这个大大地方便了大家的生活,但同时也引起了一大部分的智能设备安全问题。2016年10月美国发生了智能摄像头劫持事件;同年11月,360公司提出了对于智能摄像头的评测报告;在2014至今,互联网上多次出现黑客利用网络摄像头泄露进行家庭“直播”的事件,甚至现在在淘宝等网购商店还有类似的技术进行出售。这些安全事件的出现,使得很多人对于智能设备望而却步。
我们团队对于智能设备的安全性问题进行调研,发现大多数智能设备存在以下几个安全问题:
1、利用厂家的服务器作为中转。对于远程设备请求进行分析后,重新发送指令到智能设备,一旦厂家的服务器遭到挟持,那么该厂商的大批智能设备都将面临巨大的威胁;
2、设备种类繁多参差不齐,缺乏统一的管理平台。不同设备利用不同的平台进行管理。不方便的同时,使用安全中的不确定不稳定因素会大大增多;
3、各个智能厂商重视使用,而忽略了安全性,导致各种智能设备的安全性良莠不齐;
4、智能设备联入网络时存在泄漏无线路由器密码的问题,当设备与路由器连接的时,部分设备存在将密码以简单加密的形式在子网内广播的问题;
因此在本文中提出了一套系统来对于这些问题进行针对性地解决。
1.2作品简介:
系统分为三个部分:作为智能设备控制中心的无线路由器,承担流量转发任务的中转服务器,发送控制指令的手机移动端。
系统以现代家庭中的网络中心路由器作为家中智能家居设备的控制中心。用户的控制请求通过手机客户端经过加密发送到路由器,路由器解密得到相应控制指令,然后对于相应的智能设备实现相应的控制。而以往作为控制中心的服务器,在本系统中仅发挥客户端外网访问智能设备时,流量转发和一定的认证识别功能,对于指令传输没有任何操作和影响。
针对现有大多数的智能设备在接入网络中时,会将WiFi密码[]以近乎明文的形式进行广播,导致密码泄露的问题。我们设计在无线路由器上配置两个热点对外提供服务,一个专门针对于普通用户,如同家中正常的路由器网一样(对应联网热点);另外一个允许连接进入并关闭了所有的网络服务,仅对于智能设备有效(对应控制热点)。这样即使丢失,也仅仅是控制密码,但控制热点不提供任何网络服务。从而避免了丢失联网密码可能造成的隐患。
在系统中,路由器作为控制中心承担了指令的解析以及防火墙隔离智能家居设备和常规手机等家用上网设备的功能,充分发挥了现在路由器的计算性能,在保证智能家居设备正常使用的同时,确保了使用的安全性。
系统采用仿Oauth2.0协议方式实现Android手机移动端和路由器之间的认证。双方协商DH密钥,客户端向路由器发送用DH密钥加密的root密码,路由器确认正确后,生成AES密钥以及刷新凭据并发给客户端,至此认证结束。之后客户端与路由器间的数据交互均通过AES加密,完成对于智能设备的安全可靠控制。
本系统利用家中常见的设备无线路由器作为中转服务器,实现移动端对多种品牌和种类的智能设备进行便捷远程控制。避免了使用设备厂商提供的服务器作为中转服务器时有可能造成的安全隐患。与此同时,设计出一种适合于该系统的安全协议,从而保证整个系统的安全性,完整性和可用性。
1.3系统特点:
(1)以无线路由器为核心的智能设备管理:
我们将传统的利用厂家服务器,提供身份认证,数据传输,指令中转等服务的工作模式变为,利用家中常见的路由器作为服务器来完成上述功能。可以避免厂家服务器被攻破有可能造成的大规模的安全事故,将损失降到最低;使用本系统可以将风险控制在单个家庭之内,实现了风险最小化。
同时,我们将不同厂商提供的智能设备,参照提供使用说明,将设备控制进行整合,并加入相应安全控制策略,实现统一的平台管理与用户的一键处理,不需要多APP控制和冗余的操作,在方便使用的同时,加强了设备使用的安全性,更加人性化,更加简单便捷。
(2)双热点控制技术:
为消除现有智能设备在初次连接路由器时存在的以明文的形式在子网内广播路由器密码所导致的安全隐患,本系统采用一种双热点控制技术,在路由器现有网段上开辟一个未使用的热点,此热点为控制热点,用于智能设备接入服务,不提供联网服务;原有热点为联网热点,用于提供移动端访问等联网服务。2个热点有不同密码(联网密码和控制密码)。
移动端通过联网热点IP访问路由器,路由器通过控制热点IP访问智能设备,基于此进行防火墙访问规则制定,消除明文密码广播所导致的安全隐患。
(3)三方认证中转协议:
在远程管理的时候,使用中转服务器承担流量转发和一定的用户身份识别功能,基于此,设计出一种三方认证中转协议,保证数据在无线路由器与移动端传输过程中,中转服务器无法获得任何数据信息,在数据向中转服务器进行传输时,对用户进行身份识别,避免了无线路由器可能遇到的重放攻击。
2、系统总体框架设计
2.1系统总览:
本系统分为四个部分:移动端、路由器、中转服务器、智能设备
移动端:包括数据交互模块、数据处理模块、登录模块
路由器:包括认证识别模块、设备管理模块、数据交互模块、数据处理模块以及安全防护模块。
中转服务器:包括数据交互模块。
智能设备:不做处理,只利用设备API。
2.2功能模块介绍:
2.2.1数据处理模块
【位置】:存在于路由器端、移动端;
【功能】:处理通信中的数据(对数据做加密和解密),对于用户的认证和识别;
【原理】:客户端与路由器上的服务端利用了认证识别模块协商获得了通信所需的密钥,然后由客户端发送对于路由器或者智能设备的控制指令,路由器接受指令,分析识别并执行用户的指令,并向用户返回相应的设备状态;使用RSA加密算法进行数字签名和认证。
2.2.2数据交互模块
【位置】:存在于路由器端、移动端以及中转服务器端;
【功能】:同属于一个局域网内的用户直接进行数据交互;将属于两个内网的移动终端和无线路由器进行连接,实现数据交互;通过加密,在保证数据能够传输的同时,保证了数据的机密性;同时,使用了数字签名技术保证了交互数据的完整性、不可伪造性;
【原理】:在用户进行认证时,路由器生成一套公私钥对,并且将公钥提交到中转服务器,将私钥交给用户APP,用户使用私钥对于加密的请求数据进行签名,中转服务器接收到公钥后,使用该公钥对于APP访问请求进行验证,确认发送请求者身份,避免了可能出现的重放攻击;使用AES加密方法保证了数据的保密性;使用RSA的数字签名方法,保证了数据的完整性与不可伪造性。
2.2.3设备管理模块
【位置】:存在于路由器端;
【功能】:实现路由器对于智能设备的管理,即向设备发送控制指令并处理得到的设备信息。
【原理】:本系统在路由器上根据相应设备API进行编程,对于各种不同的智能设备采取不同的方式进行管理和控制。
2.2.4认证识别模块
【位置】:存在于路由器端、移动端以及中转服务器端;
【功能】:用户利用该模块获得路由器的操作凭据,该凭据可用于用户的移动端在局域网内或者远程连接路由器;路由器利用该模块识别智能设备并进行控制。
【原理】:用户通过输入路由器管理员密码进行获得智能设备管理权限,无线路由器将会返回给用户一个认证凭据,以及使用的时间戳和另外一个认证重申凭据;之后都要进行认证,若是认证成功,那么进行控制;若是认证凭据超时,那么使用认证重申凭据进行重新认证,认证过程主要参考Oauth2.0协议。对于智能设备的认证,采用针对性的方式,分别根据智能设备的API进行认证。
2.2.5安全防护模块
【位置】:存在于路由器端;
【功能】:对内进行连接路由器的设备的权限控制,对外进行外来数据的过滤以及外来请求的访问控制。创建智能设备专用子网即控制热点,将智能设备连接在此子网内,限制智能设备的联网权限,基于双网配置防火墙,实现移动端与智能设备的隔离;
【原理】:当有设备从路由器访问时,根据预先制定好的规则,过滤掉非法访问请求(非法请求可以是重放攻击等),并对发出请求的设备进行身份检查。
3、系统具体实现
3.1开发环境介绍:
开发系统MicrosoftWindows10x64,Ubuntu16.04
开发工具g++,OpenSSL,gdb,AndriodStudio,eclipse
测试系统openwrt15.01,Ubuntu16.04,
MicrosoftWindows10x64
3.2数据处理模块
本模块主要用于数据传输前后对于数据进行加解密以及签名认证等。由于本项目采用了跨平台的操作,所以我们利用OpenSSL加密函数库来实现这些加密认证算法。接下来进行介绍具体的各个操作的封装:
3.3数据交互模块
数据交互包括两种,局域网内进行交互以及通过互联网后进行交互。为了能够保证数据传输的完整性,设计并实现了一种认证协议——“三方认证中转协议”。
1、在无线路由器首次经过了配置之后进行生成一套公私钥对,其中将无线路由器与公钥上传至中转服务器,将私钥通过在局域网时首次认证时传输给手机APP;
2、无线路由器与中转服务器建立TCP长连接,等待外界指令的到来;
3、移动端向中转服务器发送请求,请求使用了AES加密,同时里面也包含着时间戳,之后将数据使用首次认证时得到的私钥进行签名;
4、中转服务器对于收到的移动端请求进行请求分析,使用对应的公钥进行数据验证,如果成功则发送到对应的无线路由器,否则,放弃;
5、无线路由进行数据处理后,返回给中转服务器,中转服务器返回给了移动端。
同时,在其中传输的报文中,我们基于http协议进行设计了一种新的协议,协议报文内容如下:
3.4设备管理模块
本模块对于设备进行相关的操作和管理。主要针对于本系统中暂时的两种设备:RECO智能插排,海康威视摄像头。
首先我们经过在网络上进行查找发现了当前的开放API的设备主要包括RECO智能插排和海康威视网络摄像头,经过与这两家厂商的联系获得了两种设备的API文档并进行测试与实现。
系统中对于两种设备分别实现了控制:
1RECO智能插排:
根据设备的API进行设计实现,从而得到了对于设备的控制代码。
2海康威视摄像头:
海康威视提供了对外的网络服务,于是我们采用的是利用无线路由器上的服务端对其进行访问,将流量进行转发的方式,从而可以使得手机移动端可以获得视频流进行播放。
3.5认证识别模块
身份认证模块可以参考图10身份认证示意图。这种方式主要参考了Oauth2.0协议;
其中共包含7个步骤:
1、移动端首次进行认证,向路由器发送请求,请求协商DH密钥;
2、路由器接到请求后进行响应,并判断是否合理(若是多次请求,那么就考虑为攻击,不返回值),响应一个DH密钥,协商成功;
3、移动端使用DH协商好的密钥对于输入的root密码加密发送给服务器;
4服务器接收后,发现数据进行验证root密码,如果成功,生成一个AES密钥,以及一个密钥刷新凭据,并发送给移动端;
5、移动端接收到AES密钥后,与服务端交互均使用AES的加密方式;
6、每个AES密钥有一定的使用期限,若是使用超时,那么就使用密钥刷新凭据向服务端申请新的密钥;
7、服务端向移动端发送新的密钥。
3.6安全防护模块
本模块通过双网段控制技术(图中的联网子网和控制子网),解决智能设备连接时以明文形式扩散路由器控制密码问题,进而通过防火墙配置,实现智能设备和移动端的IP有效隔离:
联网子网对应联网密码,控制子网对应控制密码,设备连接时路由器广播的密码为控制密码,我们针对控制子网进行访问规则配置,关闭所有网络服务,仅供智能设备连接。控制子网内设备无法访问路由器后台。
移动端有2种途径访问智能设备:途径1、途径2。
途径1:当移动端处于外网时,先访问联网热点网关(192.168.1.1),然后再通过控制子网网关(192.168.2.1)控制相应的智能设备。
途径2:当移动端处在联网子网时,也先访问联网热点网关(192.168.1.1),然后再通过控制热点网关(192.168.2.1)控制相应的智能设备。
每次无论时通过途径1还是途径2访问路由器,其目的地址必须为联网热点网关192.168.1.1.而后经过控制热点访问到智能设备,联网热点内的设备目的地址若为控制热点的地址或为其他地址则被拒绝。从而解决了通过直接连接对智能设备进行控制的途径,也就意味者必须通过路由器进行访问,所有数据指令必须通过路由器,经过路由器检查后转发,实现多平台的统一管理。
但是,这种情况下,仍可能会得到控制密码,虽能连接到路由器,但是路由器将其划分到控制热点内,根据防火墙配置规则,控制热点内设备不能进行互相访问,因此,“入侵者”无法对我们的设备进行控制等操作。此外,控制热点内的设备不被允许访问互联网。
通过双热点技术和防火墙,解决了控制密码泄露的问题并实现了路由器对所有指令的控制。
基于此实现了正常家用联网设备(手机,电脑等)和智能家具设备间的隔离。我们设置控制热点的目的在于即使智能设备通过广播的方式将控制热点的密码泄露出去,也不会或者是仅仅对用户造成轻微的影响,并不会影响用户对于自家网络的正常使用。
4、系统测试
4.1无线路由器转发性能的测试:
【测试原因】:
在本系统中,路由器承担数据转发功能,面对面对大量的视频,路由器是否具有相应的能力转发大量的数据流,我们对其进行测试:
【测试方法】:
在两台主机之间,让其中一台主机发送11个大小分别为10MB、20MB、30MB、40MB、50MB、60MB、70MB、80MB、90MB、100MB、110MB的文件,经过路由器简单处理后转发到另外一台主机。从而来测试无线路由器的数据转发的速度;
【测试结果】:
路由器的转发速率可以达到:700KB/s~800KB/s;
【测试分析】:
此速度可以满足数据转发的速度需求:
4.2无线路由器计算性能的测试:
【测试原因】:
在本系统中,路由器承担着加密解密,指令解析等计算功能,面对大数据流的加密解密等计算的压力,路由器是否能够承载,我们对其测试:
【测试方法】:
在路由器上,使用密钥长度为256位的AES算法对大小为1MB1.5MB3MB4.5MB6MB7.5MB的文件进行加密解密测试。使用密钥长度为1024位的RSA算法对大小为12B24B36B48B64B的文件进行加密解密;
【测试结果】:
AES算法:对于大小为7.5MB的文件,加密时间为1950ms,解密加密文件的时间为2150ms;
RSA算法:对于大小为64B的文件,加密时间为10ms,解密时间为20ms;
其余如折线图所示。
【测试分析】:
对于AES加密速度来说,AES加密的对象是HTTP数据包,此速度足够同时相应10个以下的HTTP请求,
对于RSA加密速度来说,RSA加密的对象是AES的密钥,只是在协商过程中使用,故其速度对整个系统的性能影响较小。
综上所述:路由器的计算速率可以满足我们的需求。
4.3无线路由器防火墙双网测试:
【测试原因】:
我们发现,大部分的智能设备在连接路由器的时候,会以几乎明文形式广播密码,把路由器控制密码设为12345678,在智能设备连接路由器时进行捕包,发现路由器会将密码用简单的移位密码加密后广播,如图16中红框所示,当125126……132减去124时,就变为12345678,此密码为路由器控制密码。
我们采用了双网段控制技术来解决这个问题,进行测试;
【测试方法】:
在用户设备(连接到用户热点)和智能设备(连接到控制热点)之间进行捕包。
【测试结果】:
智能设备不能直接和外部或控制热点上连接的其他设备直接进行通讯,它所有的数据包必须经过路由器的过滤和处理,才能送到外部。证明即使控制热点的密码泄露,连接到控制热点的非法设备也进行程序规定的有限的几个操作,不会对用户的安全造成威胁。
根据RECO智能插排的API文档,使用TCP进行控制,此时没有防火墙配置,可以进行RECO控制以及获得RECO状态。
当进行了防火墙配置后,发现进行设备扫描后,无法找到设备,同时也无法进行设备的TCP连接。
4.4三方认证中转协议数据报文测试:
【测试原因】:
为确保安全性,在本系统中的所有数据都为加密传输。未验证我们设计的协议可以抵抗窃听攻击、重放攻击以及中间人攻击,对协议报文进行测试。
【测试方法】:
我们采用AES加密标准进行数据加密。首先我们模仿窃听攻击,截获一段由中转服务器传给路由器的报文,尝试进行破解。然后我们利用同一段报文,伪装成中转服务器,在刚截获报文之后的8秒(8秒为时间戳的生存期)内重复发送给路由器1000次,这是第一次重放攻击。截获报文8秒后再重复发送给路由器1000次,这是第二次重放攻击。最后,我们篡改时间戳,利用程序每次将时间戳加一秒,然后发送到路由器、篡改随机数,每次发送给路由器带有不一样随机数的报文,重复发送1000次、篡改加密后的数据,发送给路由器。
【测试结果】:
通过查阅资料得知,在我们的能力范围内无法对AES进行破解,因此我们认为我们采用的加密算法足够安全,足以抵御窃听攻击。在第一次重放攻击中,由于随机数的存在,所有攻击流量都被路由器过滤掉了,没有得到响应。在第二次重放攻击中,由于时间戳生存期的存在,所有的攻击流量都被路由器过滤掉了,没有得到响应。在模拟中间人攻击中,由于私钥签名的存在,所有的被篡改的报文都被路由器过滤掉了,没有得到响应。如图所示。
8秒内多次重复发送数据报文,除第一个数据包被接收之外其余全被拒绝。
8秒后重复发送1000次数据包,时间戳失效数据包被丢弃。
篡改数据报文后签名验证无法通过,数据报文被丢弃。
4.5无线路由器视频实时性测试:
【测试原因】:
传统的视频流一般为达到实时性的目的,而选择不去进行加密处理。但是对于一套安全的智能家居系统来说,我们必须对视频进行加密。我们的程序整合了rtsp协议,利用此协议,不仅可以保护摄像头的密码而且可以对视频流进行加密处理。为验证此加密算法能达到实时视频加密传输的效果,我们进行测试:
【测试方法】:
我们使用路由器作为中转利用手机客户端远程获取实时视频流;
【测试结果】:
经过测试,视频流的延迟为2s,且视屏帧率可以保持在25帧;
【测试分析】:
经过多次实验,我们发现,视频流没有明显卡顿,可以流畅播放,并且对于远程传输视频流来说,2S的延迟是可以接受的。所以,采用此加密方法能够保证实时性和流畅度;
5、总结与展望改进
本系统想法源于一次偶然的摄像头的泄露事件,经过调研,发现当前对智能设备望而却步很大程度是考虑到了隐私泄露的问题。厂家过分关注于功能而不去考虑安全性,忽略自己搭建服务器的安全问题,给黑客留下可乘之机。
本文中提出的基于无线路由器进行设计实现的智能控制系统,在一定程度上可以将不安全风险尽可能地降低,而且利用家中常见设备开发,避免了另外需要向厂商的服务器提供相对应的费用。
本系统涉及范围广,如信息安全方面(认证,加密等),硬件开发(openwrt等),移动端开发(Andriod等),协议网络知识,对我们都是极大的挑战,经过7个月的知识储备,编码,调试克服了重重困难,终于可以实现基本功能,并且在最后也获得了不错的结果。
但我们深知,我们的系统仍有不足,主要针对于三方中转协议的设计与完善,以及对于无线路由器性能方面的缺陷,需要进一步通过对于安全的视频流协议进行进一步的研究与完善,最后才能获得更好的效果。

文章来源:RFID世界网
(本文来源于网络,由千家智客进行整理编辑,如有侵权,请联系删除。)










参与评论 (0)