发明名称 一种基于智能家居设备安全挂件的家居信任组网的实现方法
摘要 一种基于智能家居设备安全挂件的家居信任组网的实现方法,步骤为:智能家居设备与家居网关的自主信任组网,智能家居设备安全挂件获得公私密钥对、硬件PIN码和统一密钥K,同时将挂件公钥上传到云端的家居数据服务中心,完成对智能家居设备安全挂件出厂初始化工作;智能家居网关与集成了初始化的智能家居设备安全挂件的智能家居设备,借助云端的家居数据服务中心完成智能家居设备的合法验证后,与智能家居设备自主的信任组网及协商随机性的通信加密密钥,实现家居网关与用户智能家居设备的可信身份绑定;智能家居网关通过随机性的通信加密秘钥实现对智能家居内部网络环境的通信加密。本发明具有用户体验性好、通用性、安全性高、机密性强的优点。
申请公布号 CN103873487A 申请公布日期 2014.06.18
申请号 CN201410137390.7 申请日期 2014.04.04
申请人 中国科学院信息工程研究所 发明人 王雅哲;王瑜;韩振;张城毅
分类号 H04L29/06(2006.01)I;H04L9/30(2006.01)I;H04L9/32(2006.01)I;H04L29/08(2006.01)I;H04L12/46(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 成金玉;杨学明
主权项 1.一种基于智能家居设备安全挂件的家居信任组网的实现方法,其特征在于实现步骤如下:第一步,用户能便捷的完成智能家居设备与家居网关的自主信任组网,智能家居设备安全挂件要获得公私密钥对[K<sub>D(pub)</sub>,K<sub>D(pri)</sub>]、硬件PIN码和统一密钥K,同时将智能家居设备安全挂件公钥K<sub>D(pub)</sub>上传到云端的家居数据服务中心,从而完成对智能家居设备安全挂件出厂的初始化工作;第二步,用户的智能家居网关与集成了初始化的智能家居设备安全挂件的智能家居设备,借助云端的家居数据服务中心完成智能家居设备的合法验证后,与智能家居设备自主的信任组网及协商随机性的通信加密密钥<img file="FDA0000487697060000011.GIF" wi="221" he="81" />实现家居网关与用户智能家居设备的可信身份绑定;第三步,用户的智能家居网关通过随机性的通信加密秘钥<img file="FDA0000487697060000012.GIF" wi="196" he="81" />实现对智能家居内部网络环境的通信加密保护;所述第一步,具体实现如下:(11)智能家居设备安全挂件在出厂使用前,需将智能家居设备安全挂件与已预装挂件初始化程序的计算机连接,连接成功后,预装初始化程序将自主的启动智能家居设备安全挂件的初始化操作;(12)智能家居设备安全挂件接受到初始化操作指令后,通过智能家居设备安全挂件挂件内预置的安全程序生成统一密钥K,并对所述统一密钥K进行保存;(13)智能家居设备安全挂件在成功生成并保存统一密钥K后,通过智能家居设备安全挂件内的安全计算模块生成基于智能家居设备安全挂件的硬件信息的唯一公私钥对[K<sub>D(pub)</sub>,K<sub>D(pri)</sub>]和硬件PIN码;(14)智能家居设备安全挂件利用安全计算模块的安全处理能力,使用具有唯一性的硬件PIN码对智能家居设备安全挂件私钥K<sub>D(pri)</sub>进行加密,并将加密后的密文信息<img file="FDA0000487697060000013.GIF" wi="276" he="77" />保存在智能家居设备安全挂件内部的可信安全区域,所述可信安全区域只能被智能家居设备安全挂件内的安全计算模块读取;(15)智能家居设备安全挂件利用安全计算模块的安全处理能力对硬件PIN码进行混淆处理,并将和公钥K<sub>D(pub)</sub>和混淆后的硬件PIN码保存在挂件内部特殊的区域,该区域只能被智能家居设备安全挂件内部的程序读取;(16)通过操作计算机读取智能家居设备安全挂件的公钥K<sub>D(pub)</sub>和标识ID<sub>D</sub>,通过安全信道上传至云端的家居数据服务中心,该云端的家居数据服务中心将当前上传信息作为一条重要记录存储,智能家居设备安全挂件的初始化工作完成;所述第二步,具体实现如下:(21)用户在智能云电视网关TV上启动家居组网,通过调用智能家居设备安全挂件内预置的安全程序生成统一密钥K,并将统一密钥K在智能云电视网关安全存储区保存,同时生成随机数N,再使用统一密钥K对该随机数N加密,形成随机数N的密文,然后将随机数N的密文、随机数N和组网指令作为家居组网广播信息,最后通过智能家居设备安全挂件的无线通信模块将组网信息进行广播;(22)智能家居设备D接收到智能云电视网关TV广播的组网信息后,使用挂件初始化过程生成的统一密钥K解密随机数密文,获得随机数N<sup>·</sup>,然后比较解密获得随机数N<sup>·</sup>和接受到随机数N是否一致,若两者不一致,则表明智能云电视网关为不可信网关,智能家居设备D停止下一步的工作,丢弃接受到信息;若两者相同,则表明TV为可信网关,从智能家居设备安全挂件内部特殊区域读取硬件PIN码,使用硬件PIN码解密私钥密文,获得挂件私钥<img file="FDA0000487697060000021.GIF" wi="134" he="77" />同时生成随机数N<sub>D</sub>,并对随机数N<sub>D</sub>和挂件的标识ID<sub>D</sub>进行哈希计算,形成哈希值H,使用解密获得私钥<img file="FDA0000487697060000022.GIF" wi="104" he="77" />对哈希值H进行加密,作为智能家居设备D的签名,将智能家居设备安全挂件的标识ID<sub>D</sub>、随机数N<sub>D</sub>和签名值作为设备组网响应信息,通过智能家居设备安全挂件的无线通信模块进行广播发送;如果用户家庭内非法的智能家居设备D<sup>×</sup>接收到智能家居设备D的广播信息后,因无法伪造智能家居设备D的签名而向智能云电视网关TV发起中间人攻击,同时因组网响应信息中存在随机数,使得非法设备D<sup>×</sup>无法发起重放攻击;(23)智能云电视网关TV接受到智能家居设备D广播信息后,解析获得广播信息中智能家居设备安全挂件的标识ID<sub>D</sub>,并将智能家居设备安全挂件的标识ID<sub>D</sub>通过智能云电视网关TV与云端家居数据服务中心建立的安全信道,发送给云端的家居数据服务中心;(24)云端的家居数据服务中心依据接受到的智能家居设备安全挂件的标识ID<sub>D</sub>,查询是否存在智能家居设备安全挂件的标识ID<sub>D</sub>和该智能家居设备安全挂件对应的公钥K<sub>D(pub)</sub>这条记录,若不存在这条记录,则返回该智能家居设备安全挂件的标识ID<sub>D</sub>对应的验证失败信息,智能云电视网关TV拒绝该智能家居设备D的接入;若存在这条记录,则返回该智能家居设备安全挂件的标识ID<sub>D</sub>和该智能家居设备安全挂件对应的公钥K<sub>D(pub)</sub>给智能云电视网关TV;(25)智能云电视网关TV使用(24)步骤获得智能家居设备安全挂件的标识ID<sub>D</sub>对应的公钥K<sub>D(pub)</sub>验证智能家居设备安全挂件的签名,获得哈希值H,并采用与智能家居设备安全挂件相同的哈希算法计算(23)步骤接受到智能家居设备安全挂件的标识ID<sub>D</sub>和随机数N<sub>D</sub>的哈希值H<sup>·</sup>,比较哈希值H和H<sup>·</sup>是否相等,若两者不相同,则表明要组网设备签名被伪造,该组网申请为非法组网请求,智能云电视网关TV拒绝该次的组网请求;若两者相同,则表示该组网申请为合法组网请求,智能云电视网关TV生成随机数N<sub>TV</sub>和对(23)步骤接受的随机数N<sub>D</sub>进行加1处理,使用(24)步骤接收到智能家居设备安全挂件公钥K<sub>D(pub)</sub>对随机数N<sub>TV</sub>和随机数N<sub>D</sub>+1进行加密处理,形成公钥K<sub>D(pub)</sub>加密密文,将挂件的标识ID<sub>D</sub>和随机数N<sub>TV</sub>作为一条记录临时安全存储,同时将公钥加密密文和智能家居设备安全挂件的标识ID<sub>D</sub>作为智能云电视网关组网响应信息,通过智能家居设备安全挂件的无线通信模块进行广播发送;(26)智能家居设备D接收到TV广播数据后,使用智能家居设备安全挂件私钥K<sub>D(pri)</sub>解密公钥加密密文,获得随机数N<sub>D</sub>+1和N<sub>TV</sub>,并对(22)步骤生成的随机数N<sub>D</sub>进行加1处理,计算得N<sub>D</sub><sup>·</sup>=N<sub>D</sub>+1,比较随机数N<sub>D</sub>+1与N<sub>D</sub><sup>·</sup>值是否相等,若两者不相等,则表明智能电视网关为不可信网关,重复(22)步骤中广播设备组网响应信息的操作;若两者相等,则智能家居设备D安全存储随机数N<sub>TV</sub>,作为后续智能家居内部网络通信的加密秘钥<img file="FDA0000487697060000031.GIF" wi="223" he="80" />同时用<img file="FDA0000487697060000032.GIF" wi="194" he="80" />对成功组网标识Succ进行加密,形成密文信息,并将该密文信息附带智能家居设备安全挂件的标识ID<sub>D</sub>作为成功组网的响应信息,通过智能家居设备安全挂件的无线通信模块进行广播;(27)智能云电视网关接受智能家居设备D广播信息后,获取智能家居设备安全挂件的标识ID<sub>D</sub>,依据该智能家居设备安全挂件的标识ID<sub>D</sub>查找到智能云电视网关临时安全区中保存的随机数N<sub>TV</sub>,并使用该随机数N<sub>TV</sub>对成功组网密文信息解密,获得成功组网标记Succ<sup>·</sup>,比较获得成功组网标记Succ<sup>·</sup>与Succ的一致性,若获得的成功组网标记Succ<sup>·</sup>与Succ不一致,则重复(25)广播智能云电视网关组网响应信息;若获得的成功组网标记Succ<sup>·</sup>与Succ一致,则将随机数N<sub>TV</sub>看作后续智能家居内部网络通信的加密秘钥<img file="FDA0000487697060000041.GIF" wi="202" he="81" />和对应挂件的标识ID<sub>D</sub>,作为一条重要记录存储于智能云电视网关的安全存储区;所述第三步,具体实现过程如下:(31)智能云电视网关TV接收到用户对智能家居设备D的控制指令后,首先查找安全存储区该挂件的标识ID<sub>D</sub>对应的通信加密秘钥<img file="FDA0000487697060000042.GIF" wi="226" he="80" />并利用<img file="FDA0000487697060000043.GIF" wi="196" he="80" />对标识ID<sub>D</sub>和控制指令cmd加密,形成智能家居设备D被加密控制指令,将被内网加密控制指令附带挂件的标识ID<sub>D</sub>,通过网关的家居设备安全挂件中无线通信模块将该控制信息进行广播;(32)智能家居设备D接收到智能云电视网关TV广播的信息后,用其存储的通信加密秘钥<img file="FDA0000487697060000044.GIF" wi="195" he="80" />对加密控制指令进行解密,获得控制命令cmd和智能家居设备安全挂件标识ID<sub>D</sub>,验证获得智能家居设备安全挂件标识ID<sub>D</sub>与智能家居设备安全挂件的标识是否一致,若验证一致,则智能家居设备D执行该控制命令并获取该命令的执行后的数据;若验证不一致,则智能家居设备D不做任何操作;(33)智能家居设备D使用其通信加密秘钥<img file="FDA0000487697060000045.GIF" wi="192" he="80" />对(32)步骤获得执行数据和其智能家居设备安全挂件标识ID<sub>D</sub>进行加密,形成加密密文,将该加密密文附带智能家居设备安全挂件的标识ID<sub>D</sub>作为智能家居设备执行数据,通过智能家居设备安全挂件的无线通信模块进行广播;(34)智能云电视网关TV接收到广播数后,利用步骤(31)获得通信加密秘钥<img file="FDA0000487697060000046.GIF" wi="198" he="81" />解密加密密文,获得智能家居设备安全挂件的标识ID<sub>D</sub>和执行数据data,验证接收到的智能家居设备安全挂件标识ID<sub>D</sub>和解密获得挂件的标识ID<sub>D</sub>是否一致,若验证不一致,则重复执行M次步骤(31)中的广播操作,M≥1;若验证一致,则将智能家居设备D的执行数据显示在智能云电视网关上。
地址 100093 北京市海淀区闵庄路甲89号信息工程研究所京香园区B2座