1.一种智能家庭网关的安全连接方法,其特征在于,包括以下步骤:
(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与该家庭网关进行加密通信。
2.根据权利要求1所述的方法,其特征在于,所述第三方服务器由家庭网关的的生产商搭建。
3.根据权利要求1-2任意一项所述的方法,其特征在于,该第三方服务器连接到互联网,并且具有固定的互联网域名或网络地址,该互联网域名或网络地址预先存储在所述家庭网关和客户端中。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述家庭网关的标识符ID是一个全球唯一编码。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述初始密钥Key的长度根据后续加密算法的需求确定。