一种智能家庭网关的安全连接方法与流程

文档序号:14574515发布日期:2018-06-02 01:09阅读:297来源:国知局

本发明属于智能家居和计算机安全领域,尤其涉及一种智能家居的安全连接方法。



背景技术:

近年来,随着计算机行业的快速发展,计算机技术已经深入人们的生活,已经开始逐渐和我们的居住环境结合起来,出现了智能家庭的概念。所谓智能家庭,就是利用计算机、通信、传感器、家电等技术,将家庭中的各种电器设备都连接到一起,由一个中央控制器进行控制,从而给人们提供一个极其便利的生活环境。

在引入智能家庭后,人们还可以通过客户端(例如智能手机)远程对家中的智能设备进行控制,例如在快到家前,先打开家中的空调,等等。为了实现这一目的,智能家庭通常设置了一个家庭网关,该家庭网关作为智能家庭中所有设备的互联网出口,客户端通过互联网远程连接该家庭网关,从而通过该家庭网关控制家庭内的智能设备。

在这种情况下,需要考虑家庭网关的安全性,一方面家庭网关的互联网地址很可能不是固定的,远程客户端的互联网地址也是不确定的。因此当客户端需要远程连接家庭网关时,如何确定家庭网关的地址就成了一个问题。同样的,家庭网关对于远程连接的客户端,也需要确认客户端是合法的客户端。



技术实现要素:

为了解决现有的技术问题,本发明提出了一种智能家庭网关的安全连接方法。

本发明采用的技术方案如下:

一种智能家庭网关的安全连接方法,包括以下步骤:

(1)用户在可信的第三方服务器进行注册,注册信息包括该家庭网关的标识符ID,以及一个初始密钥Key,所述注册信息同时存储在该第三方服务器、家庭网关和客户端中;

(2)当所述家庭网关连接到互联网后,其随机生成一个通信密钥K,并组装一个地址通知消息包M0发送给所述第三方服务器,其中:

M0={ID,EKey(K,ID,Date)}

EKey()是一个使用密钥Key进行加密的对称加密函数,Date是当前日期;并且,家庭网关随时监控自身的网络地址,一旦自身的网络地址发生变化,该家庭网关就重新执行一遍步骤(2);

(3)所述第三方服务器获取连接的家庭网关的网络地址,并对所述地址通知消息包M0进行解析,获得其中的ID和EKey(K,ID,Date);

(4)所述第三方服务器根据解析得到的ID获取相应的注册信息,并获取对应的初始密钥Key,使用该初始密钥Key对EKey(K,ID,Date)进行解密,检查解密得到的ID与所述解析得到的ID是否相同,如果不相同,则该地址通知消息包M0不合法,直接忽略该地址通知消息包M0;如果相同,则获取解密得到的三元组(K,ID,Date);

(5)所述第三方服务器判断解密获得的三元组是否在数据库中已经存在,如果存在,则忽略该地址通知消息包M0,如果不存在,则将该三元组保存在该数据库中,同时保存所述家庭网关的网络地址;

(6)当客户端需要获取家庭网关的网络地址时,其组装一个地址询问消息包M1,即:

M1={ID,EKey(ID,Salt,Date1)}

其中,Salt是一个随机数,Date1是当前日期;

(7)所述客户端将所述地址询问消息包M1发送给所述第三方服务器,所述第三方服务器对M1进行解析,获得其中的ID和EKey(ID,Salt,Date1);

(8)所述第三方服务器根据解析M1得到的ID获取相应的注册信息,并获取对应的初始密钥Key,使用该初始密钥Key对EKey(ID,Salt,Date1)进行解密,检查解密得到的ID和解析M1得到的ID是否相同,如果不相同,则该地址询问消息包M1不合法,忽略该地址询问消息包M1,结束处理;如果相同,则获取解密得到的三元组(ID,Salt,Date1);

(9)所述第三方服务器判断三元组(ID,Salt,Date1)是否在数据库中已经存在,如果存在,则忽略该地址询问消息包M1,结束处理;如果不存在,则将该三元组(ID,Salt,Date1)保存在数据库中,继续后续步骤;

(10)所述第三方服务器组装一个地址应答消息包M2返回给所述客户端,即:M2=EKey(IP,ID,K),其中IP是所述家庭网关的网络地址;

(11)所述客户端使用初始密钥Key对M2进行解密,获得IP、ID和K;

(12)所述客户端判断解密得到的ID是否是所要连接的家庭网关的ID,如果不是,则忽略该地址应答消息包M2,如果是,则可以认为IP是所需要连接的家庭网关的网络地址,从而客户端基于该IP与家庭网关建立网络连接,并使用通信密钥K与该家庭网关进行加密通信。

进一步地,所述第三方服务器由家庭网关的的生产商搭建。

进一步地,该第三方服务器连接到互联网,并且具有固定的互联网域名或网络地址,该互联网域名或网络地址预先存储在所述家庭网关和客户端中。

进一步地,所述家庭网关的标识符ID是一个全球唯一编码。

进一步地,所述初始密钥Key的长度根据后续加密算法的需求确定。

本发明所实现的技术效果是:使得客户端可以安全地获知家庭网关的网络地址,并与家庭网关建立安全连接。

【附图说明】

此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:

图1是本发明的应用场景图。

【具体实施方式】

下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的不当限定。

参见附图1,其示出了本发明所应用的智能家庭,该智能家庭内包括多个智能设备以及一个家庭网关,多个智能设备和该家庭网关之间通过家庭内部网络连接,例如WIFI网络等。所述家庭网关可以连接到互联网,作为整个智能家庭的互联网出口。用户可以使用客户端(例如智能手机)通过互联网和所述家庭网关远程连接,从而可以通过家庭网关访问和控制家中的各个智能设备。

本发明所关注的,就是客户端如何在互联网上远程确定家庭网关的网络地址,并与该家庭网关建立安全连接。详细说明如下:

(1)首先由用户在一个可信的第三方服务器进行注册,注册信息包括该家庭网关的标识符ID,以及一个初始密钥Key。所述注册信息分别存储在该第三方服务器、家庭网关和客户端中,以用于后续使用。

具体地,可以由家庭网关的生产商来搭建该第三方服务器,该第三方服务器连接到互联网,并且具有固定的互联网域名或网络地址,该互联网域名或网络地址预先存储在所述家庭网关和客户端中,从而方便家庭网关和客户端直接连接到该第三方服务器。

所述家庭网关的标识符ID可以是一个全球唯一编码,用来唯一标识该家庭网关。所述初始密钥Key是一个较大的随机数,其长度根据后续加密算法的需求确定,例如是一个128位的随机数。

(2)当所述家庭网关连接到互联网后,其随机生成一个通信密钥K,并组装一个地址通知消息包M0发送给所述第三方服务器,其中:

M0={ID,EKey(K,ID,Date)}

EKey()是一个使用密钥Key进行加密的对称加密函数,这里可以使用本领域中任意一种公知的对称加密算法,例如AES算法。Date是当前日期。

需要说明的是,家庭网关随时监控自身的网络地址(例如IP地址),一旦自身的网络地址发生变化,该家庭网关就需要重新执行一遍上述步骤(2),也就是重新随机生成新的通信密钥,并组装和发送新的地址通知信息包。

(3)所述第三方服务器获取连接的家庭网关的网络地址,并对所述地址通知消息包M0进行解析,获得其中的ID和EKey(K,ID,Date)。

由于家庭网关发送消息包必然需要和第三方服务器建立网络连接,则该第三方服务器可以通过该网络连接直接获取家庭网关的网络地址。

(4)所述第三方服务器根据解析得到的ID获取相应的注册信息,并获取对应的初始密钥Key,使用该初始密钥Key对EKey(K,ID,Date)进行解密,检查解密得到的ID与所述解析得到的ID是否相同,如果不相同,则该地址通知消息包M0不合法,直接忽略该地址通知消息包M0;如果相同,则获取解密得到的三元组(K,ID,Date)。

如前所述,注册信息在用户注册后存储在第三方服务器中,通常而言,第三方服务器可以使用一个用户数据库保存所有的注册信息,则其可以通过注册信息中的唯一标识符ID,在数据库中检索到相应的初始密钥。

(5)所述第三方服务器判断解密获得的三元组是否在数据库中已经存在,如果存在,则忽略该地址通知消息包M0,如果不存在,则将该三元组保存在该数据库中,同时保存所述家庭网关的网络地址。

所述通信密钥K是一个随机数,每一次都应当是不一样的,再加上ID和日期的限制,真正出现相同三元组的概率极其微小,因此如果三元组在数据库中已经存在,则可以认为这个地址通知消息包以前已经接收过,当前的消息包很可能是黑客的一次重放攻击,是不合法的。

上述步骤(2)-(5)实际上是家庭网关基于注册信息向第三方服务器认证自己的过程,第三方服务器在认证后获取家庭网关的网络地址和通信密钥。

(6)当客户端需要获取家庭网关的网络地址时,其组装一个地址询问消息包M1,即:

M1={ID,EKey(ID,Salt,Date1)}

其中,Salt是一个随机数,用于起到随机干扰的作用,避免被重放攻击。Date1是当前日期。

(7)所述客户端将所述地址询问消息包M1发送给所述第三方服务器,所述第三方服务器对M1进行解析,获得其中的ID和EKey(ID,Salt,Date1)。

(8)所述第三方服务器根据解析得到的ID获取相应的注册信息,并获取对应的初始密钥Key,使用该初始密钥Key对EKey(ID,Salt,Date1)进行解密,检查解密得到的ID和解析M1得到的ID是否相同,如果不相同,则该地址询问消息包M1不合法,忽略该地址询问消息包M1,结束处理,如果相同,则获取解密得到的三元组(ID,Salt,Date1)。

(9)所述第三方服务器判断三元组(ID,Salt,Date1)是否在数据库中已经存在,如果存在,则忽略该地址询问消息包M1,结束处理;如果不存在,则将该三元组(ID,Salt,Date1)保存在数据库中,继续后续步骤。

与上述步骤(5)类似,步骤(9)也是为了防止黑客的重放攻击。上述步骤(6)-(9)实际上是客户端基于注册信息向第三方服务器认证自己的过程。

(10)所述第三方服务器组装一个地址应答消息包M2返回给所述客户端,即:M2=EKey(IP,ID,K),其中IP是所述家庭网关的网络地址。

(11)所述客户端使用初始密钥Key对M2进行解密,获得IP、ID和K。

(12)所述客户端判断解密得到的ID是否是所要连接的家庭网关的ID,如果不是,则忽略该地址应答消息包M2,如果是,则可以认为IP是所需要连接的家庭网关的网络地址,从而客户端基于该IP与家庭网关建立网络连接,并使用通信密钥K与该家庭网关进行加密通信。这样,客户端就与家庭网关建立了安全连接。

在此之后,客户端可以存储IP和K,在每次需要连接家庭网关时,都首先使用该IP和K进行连接,但是一旦某一次发现使用该IP和K无法连接家庭网关时,说明该家庭网关的网络地址可能发生了变化,则客户端重复步骤6-12,以获取新的IP和K。

以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1