用户使用家庭智能设备的授权认证与密钥协商方法

allin2022-07-30  146



1.本发明涉及信息安全技术领域,特别是涉及一种用户使用家庭智能设备的授权认证与密钥协商方法、计算设备、可存储介质。


背景技术:

2.当今智能家居发展迅猛,吸引了全社会各方面的关注。人们通过控制部署在家中的智能设备,例如监控摄像头、扫地机器人以及温度控制器等,给自己的生活带来了极大的舒适性,有效降低了生活的运营成本。
3.在一个智慧家庭中,通常会部署大量的家庭智能设备。这些家庭智能设备可能会被家庭中不同的类型用户共同使用。例如,成人和小孩都可能使用家中智能烤箱等相对危险系数较高的电气设备,这就可能因为操作不当给该智能家庭带来财产安全甚至生命健康的威胁。同时,这些家庭智能设备中有的可能包含用户的个人隐私,该用户的个人隐私可能会被其他使用该家庭智能设备的用户获取。例如维修人员或家政保姆可能会访问家庭网络中某些智能设备上敏感的信息,这将给用户的个人隐私安全造成了威胁。因此,如何对不同身份的用户进行身份认证及授权管理还有待深入研究。
4.为了解决上述问题,目前提出的方案有基于角色、基于属性和基于能力等授权管理方法。但这些方案为了保证安全性,使用了复杂的安全算法,而对于计算、存储能力都受限的家庭智能设备,并不适合使用这些复杂的安全协议。因此,如何在保证认证效率与认证安全的前提下,对不同类型的用户授予不同的访问权限亟待研究。同时,考虑到智能家庭网络会话密钥的安全性,如何解决家庭智能设备被物理捕获攻击也亟待社会各界的深入研究。


技术实现要素:

5.有鉴于此,本发明实施例提供一种智能家居中用户使用智能家庭设备授权访问认证与密钥协商方法,有效地解决智能家庭中不同类型的用户被授予不同的家庭智能设备访问权限的问题,以及家庭智能设备被物理捕获攻击的问题。
6.为实现上述发明目的,本发明实施例提供一种用户使用家庭智能设备的授权认证与密钥协商方法,所述方法包括:
7.s1、所述智能家居中家庭主人设备绑定家庭网关;
8.s2、所述智能家居中家庭智能设备向所述家庭网关进行注册;
9.s3、所述家庭主人对家庭用户进行授权,并将授权信息向所述家庭网关备案;
10.s4、所述家庭网关对家庭用户所能使用的家庭智能设备进行认证与密钥协商。
11.第二方面,本发明实施例还提供了一种计算设备,所述计算设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如前所述的用户使用家庭智能设备的授权认证与密钥协商方法。
12.第三方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如前所述的用户使用家庭智能设备的授权认证与密钥协商方法
13.本发明实施例的智能家庭包括家庭主人、家庭用户、家庭网关、家庭智能设备:所述家庭主人是指给不同类型的家庭用户授予不同家庭智能设备访问权限的实体,并且一个家庭中只有一个家庭主人;所述家庭用户是指需要与家庭智能设备通信的实体;所述家庭网关是指帮助家庭用户与家庭智能设备建立起临时会话密钥的实体,并且家庭网关绑定一名家庭主人,一个家庭中只有一个家庭网关;所述家庭智能设备是指需要与家庭用户通信的实体。本发明实施例能够解决一个智能家庭中不同类型的用户应该被授予不同家庭智能设备访问权限的问题,并且,本发明实施例在家庭智能设备中嵌入了一个物理不可克隆函数,提高了家庭网络临时会话密钥的安全性。
附图说明
14.下面将结合附图说明对本发明的具体实施方式进行举例说明。
15.图1为本发明实施例家庭主人绑定家庭网关流程图;
16.图2为本发明实施例家庭智能设备注册流程图;
17.图3为本发明实施例用户授权程图;
18.图4为本发明实施例用户认证与密钥协商流程图;
19.图5为本发明实施例用于用户认证与密钥协商的计算设备结构图。
具体实施方式
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。为使图面简洁,各图中的只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。
21.为了解决本发明实施例的技术问题,本发明实施例提供了以下技术方案:
22.一种用户使用家庭智能设备的授权认证与密钥协商方法,包括以下步骤:
23.s1、所述智能家居中家庭主人设备绑定家庭网关;
24.s2、所述智能家居中家庭智能设备向所述家庭网关进行注册;
25.s3、所述家庭主人对家庭用户进行授权,并将授权信息向所述家庭网关备案;
26.s4、所述家庭网关对家庭用户所能使用的家庭智能设备进行认证与密钥协商。
27.优选的,所述s1包括步骤:
28.s1.1:移动设备mdo接收家庭主人随机选择的身份ido和密码pwo,生成第一随机数ro,并将所述密码pwo与所述第一随机数ro合并后生成第一哈希值rpwo=h(pwo||ro),之后,mdo通过安全信道向家庭网关发送所述身份ido与所述第一哈希值rpwo;
29.这里的移动设备mdo可以是家庭主人的手机,也可以是其他设备。
30.s1.2:家庭网关收到所述身份ido与所述第一哈希值rpwo,随机选择第一挑战ck,将
所述第一挑战ck输入嵌入在家庭网关中的物理不可克隆函数pufk(
·
)中生成第一响应rk=pufk(ck),并将所述身份ido与所述第一响应rk合并后生成第二哈希值uido=h(ido||rk),所述第二哈希值uido为家庭主人的身份假名;
31.s1.3:家庭网关将所述家庭网关中的私钥s与所述第一响应rk合并后生成第三哈希值ko=h(s||rk);
32.所述第三哈希值ko为家庭主人与家庭网关间认证的密钥;将所述第三哈希值ko与所述第一哈希值rpwo异或后生成
33.通过安全信道向mdo发送所述第二哈希值uido与所述ao;
34.家庭网关将所述第二哈希值uido与所述第一挑战ck存入网关数据库中;
35.s1.4:mdo收到所述第二哈希值uido与所述ao后,将所述身份ido与所述密码pwo合并后生成第四哈希值h(ido||pwo),将所述第四哈希值h(ido||pwo)与所述第一随机数ro异或后生成并将所述身份ido、所述密码pwo与所述第一随机数ro合并后生成第五哈希值co=h(ido||pwo||ro);
36.之后,mdo将所述第二哈希值uido、所述ao、所述bo、所述第五哈希值co与所述哈希函数h(
·
)存入mdo内存中;
37.最后,本发明实施例中,一个家庭只能有一个家庭网关,一个家庭网关只能注册一个家庭主人。
38.优选的,所述s2包括步骤:
39.s2.1:家庭智能设备随机选择第二挑战cq,并将所述第二挑战cq输入嵌入在家庭智能设备中的物理不可克隆函数pufq(
·
)中生成第二响应rq=pufq(cq),之后,家庭智能设备通过安全信道向家庭网关发送所述第二挑战cq与所述第二响应rq;
40.s2.2:家庭网关收到所述第二挑战cq与所述第二响应rq后为家庭智能设备随机生成一个假名pidq,并提取存储在网关数据库中的所述第一挑战ck;
41.s2.3:家庭网关将所述第一挑战ck输入嵌入在家庭网关中的物理不可克隆函数pufk(
·
)中生成所述第一响应rk=pufk(ck),将所述第一挑战rk哈希后生成第六哈希值h(ck),并将所述第六哈希值h(ck)与所述假名pidq合并,将合并后的值h(ck)||pidq与所述第二响应rq异或后生成
42.s2.4:家庭网关通过安全信道向家庭智能设备发送所述假名pidq,并将所述假名pidq、所述fq与所述第二挑战cq存入网关数据库中,同时公开所述假名pidq;
43.s2.5:家庭智能设备收到所述假名pidq后将所述假名pidq存入家庭智能设备内存中。
44.进一步的,所述s3包括步骤:
45.s3.1:家庭用户与家庭主人通过面对面的方式协商一个秘密值k,家庭用户的移动设备mdi接收家庭用户随机选择的用户身份idi、密码pwi和所述秘密k,生成第二随机数ri,使用所述用户身份idi与所述第二随机数ri合并后生成第七哈希值uidi=h(idi||ri),所述第七哈希值uidi为家庭用户的身份假名,使用所述用户密码pwi与所述第二随机数ri合并后生成第八哈希值rpwi=h(pwi||ri);
46.这里的家庭用户的移动设备mdi为家庭用户的手机,也可以是家庭用户所用的其
他设备;
47.s3.2:mdi将所述第八哈希值rpwi与所述秘密k异或,得到将所述第七哈希值uidi与所述第八哈希值rpwi合并后得到第九哈希值m2=h(uidi||rpwi),并通过公开信道向家庭主人的移动设备mdo发送所述第七哈希值uidi、所述m1与所述第九哈希值m2;
48.s3.3:家庭主人与家庭用户通过面对面的方式协商所述秘密值k后,mdo接收家庭主人输入的身份密码与所述秘密k,使用所述主人身份与所述主人密码合并生成第十哈希值将所述第十哈希值与存储mdo中的所述bo异或后得到第三随机数将所述主人身份所述主人密码与所述第三随机数合并后生成第十一哈希值验证所述第十一哈希值是否与存储在mdo中的所述第五哈希值co相等,如果不相等,用户授权阶段结束;否则继续执行s3.4;
49.s3.4:mdo收到所述第七哈希值uidi、所述m1与所述第九哈希值m2后,将所述m1与所述秘密k异或得到将所述第七哈希值uidi与所述合并生成第十二哈希值验证所述第十二哈希值是否与用户发送的第九哈希值m2相等,如果不相等,用户授权阶段结束;否则继续执行s3.5;
50.s3.5:mdo接收家庭主人输入的家庭用户能够访问的家庭智能设备假名{pidg,...,pidn},将所述家庭主人密码pwo与所述第一随机数ro合并生成第十三哈希值rpwo=h(pwo||ro),将存储在mdo中的所述ao与所述第十三rpwo异或得到将ko与所述第七哈希值uidi合并生成第十四哈希值所述第十四哈希值作为家庭用户与家庭网关间的认证密钥,将所述秘密值k哈希后得到第十五哈希值h(k);
51.s3.6:mdo将所述第十四哈希值所述第十五哈希值h(k)与所述第八哈希值rpwi异或后得到将所述m3合并所述秘密k后生成第十六哈希值m4=h(m3||k),mdo通过公开信道向mdi发送所述m3与所述第十六哈希值m4;
52.s3.7:mdi收到所述所述m3与所述第十六哈希值m4后,将所述m3与所述秘密k合并生成所述第十七哈希值h(m3||k),验证所述第十七哈希值h(m3||k)与mdo发送的所述第十六哈希值m4是否相等,如果不相等,用户授权阶段结束;否则继续执行s3.8;
53.s3.8:mdi将所述秘密k哈希后生成所述第十八哈希值h(k),将所述m3与所述第十八哈希值h(k)异或生成并接收家庭用户输入的生物特征bioi,在模糊提取器生成函数gen(
·
)中输入所述生物特征bioi得到生物特征密钥σi与生物特征模板参数τi,将所述用户身份idi、密码pwi与生物特征密钥σi合并生成第十九哈希值h(idi||pwi||σi),将所述第十九哈希值h(idi||pwi||σi)与所述第二随机数ri异或生成将所述用户身份idi、密码pwi、生物特征密钥σi与所述第二随机数ri合并生成第二十哈希值ci=h(idi||pwi||σi||ri),并将所述第七哈希值uidi、bi、第二十哈希值ci、哈希函数h(
·
)与所述生物特征模板参数τi存入mdi内存中;
54.s3.9:mdo向mdi发送所述m3与所述第十六哈希值m4后,将所述第七哈希值uidi、所述ko与所述家庭智能设备假名{pidg,...,pidn}合并生成第二十一哈希值m5=h(uidi||ko||pidg||...||pidn),并通过公开信道向家庭网关发送所述第七哈希值uidi、所述第二十一哈希值m5与所述家庭智能设备假名{pidg,...,pidn};
55.s3.10:家庭网关收到所述第七哈希值uidi、所述第二十一哈希值m5与所述家庭智能设备假名{pidg,...,pidn}后,在网关数据库中提取所述第一挑战ck,将所述第一挑战ck输入嵌入在家庭网关中的物理不可克隆函数pufk(
·
)中得到第三响应将所述网关私钥s与所述第三响应合并生成第二十二哈希值并将所述第七哈希值uidi、所述第二十二哈希值与所述家庭智能设备假名{pidg,...,pidn}合并生成所述第二十三哈希值验证所述第二十三哈希值与mdo发送的所述第二十一哈希值m5是否相等,如果不相等,用户授权阶段结束;否则家庭网关将所述第七哈希值uidi、所述家庭智能设备假名{pidg,...,pidn}存入网关数据库中。
56.优选的,所述s4包括步骤:
57.s4.1:家庭用户的移动设备mdi接收用户输入的身份密码与生物特征并在模糊提取器再现函数rep(
·
)中输入生物特征与存储在mdi中的所述生物特征模板参数τi后得到生物特征密钥将所述身份所述密码与所述生物特征密钥合并生成所述第二十四哈希值使用存储在mdi中的bi与所述第二十四哈希值异或生成第四随机数使用所述身份密码生物特征密钥与所述第四随机数合并生成所述第二十五哈希值验证存储在mdi中的第二十哈希值ci与所述第二十五哈希值是否相等。如果不相等,用户认证与密钥协商阶段结束;否则,继续执行s4.2;
58.s4.2:mdi接收用户输入的家庭智能设备假名pidg,生成第五随机数n1和第一时间戳t1,将所述密码pwi与所述第二随机数ri合并生成第二十六哈希值rpwi=h(pwi||ri),将所述第二十六哈希值rpwi与存储在mdi内存中的所述异或生成所述为用户与家庭网关间认证的密钥;
59.s4.3:mdi使用所述第五随机数n1与所述异或生成使用存储mdi中的所述第七哈希值uidi、所述家庭智能设备假名pidq、所述第五随机数n1与所述第一时间戳t1合并生成第二十七哈希值m7=h(uidi||pidq||n1||t1),并通过公开信道向家庭网关发送所述第七哈希值uidi、所述家庭智能设备假名pidq、所述m6、所述第二十七哈希值m7与所述第一时间戳t1;
60.s4.4:家庭网关收到所述第七哈希值uidi、所述家庭智能设备假名pidq、所述m6、所述第二十七哈希值m7与所述第一时间戳t1后生成第二时间戳检查所述第一时间戳t1与所述第二时间戳间的时间差是否在最大时间延迟范围内如果所述时
间差不在最大时间延迟范围内,用户认证与密钥协商阶段结束;否则,继续执行s4.5;
61.s4.5:家庭网关提取存储在网关数据库中的所述第一挑战ck,将所述第一挑战ck输入嵌入在家庭网关中的物理不可克隆函数pufk(
·
)后生成第四响应将存储在网关中的私钥s与所述第四响应合并生成第二十八哈希值所述第二十八哈希值为家庭主人与家庭网关间的认证密钥;
62.s4.6:家庭网关使用所述第二十八哈希值与所述第七哈希值uidi合并生成第二十九哈希值所述第二十九哈希值为家庭用户与家庭网关间认证的密钥,使用所述m6与所述第二十九哈希值异或生成第六随机数使用所述第七哈希值uidi、所述家庭智能设备假名pidq、所述第六随机数与所述第一时间戳t1合并生成第三十哈希值验证所述第三十哈希值m7与mdi发送的所述第二十七哈希值m7是否相等,如果不相等,用户认证与密钥协商阶段结束;否则,继续执行s4.7;
63.s4.7:家庭网关检查所述家庭智能设备假名pidq是否存在于网关数据中的访问列表中。如果不存在,用户认证与密钥协商阶段结束,并向mdi返回没有该设备的的访问权限;否则,继续执行s4.8;
64.s4.8:家庭网关生成第七随机数n2与第三时间戳t2,使用所述第四响应rk生成第三十一哈希值h(rk);
65.将所述第三十一哈希值h(rk)与所述家庭智能设备假名pidq合并,并使用存储在网关数据库中的所述fq与合并后的值h(rk)||pidq异或生成第五响应
66.s4.9:家庭网关将所述第五随机数n1与第七随机数n2拼接,并使用拼接后的值n1||n2与所述第五响应rq异或生成使用所述第五随机数n1、所述第七随机数n2与存储在网关数据库中的所述第二挑战cq以及第三时间戳t2合并生成第三十二哈希值m
10
=h(n1||n2||cq||t2),并通过公开信道向家庭智能设备发送所述m9、所述第三十二哈希值m
10
、所述第二挑战cq与所述第三时间戳t2;
67.s4.10:家庭智能设备收到所述m9、所述第三十二哈希值m
10
、所述第二挑战cq与所述第三时间戳t2后生成第四时间戳检查所述第三时间戳t2与所述第四时间戳间的时间差是否在最大时间延迟范围内如果所述时间差不在最大时间延迟范围内,用户认证与密钥协商阶段结束;否则,继续执行s4.11;
68.s4.11:家庭智能设备将所述第二挑战cq输入嵌入在家庭智能设备中的物理间戳t2合并生成所述第三十三哈希值
69.s4.12:家庭智能设备生成第十随机数n3与第五时间戳t3;
70.使用所述第八随机数n1、第九随机数n2与第十随机数n3合并生成第三十四哈希值sski=h(n1||n2||n3);
71.所述第三十四哈希值sski为家庭用户与家庭智能设备间临时的安全会话密钥;
72.s4.13:家庭智能设备使用存在内存中的所述家庭智能设备假名pidq与所述第六响应rq合并生成第三十五哈希值h(pidq||rq),使用所述第十随机数n3与所述第三十五哈希值h(pidq||rq)异或生成使用所述家庭智能设备假名pidq、所述第三十四哈希值sski与所述第五时间戳t3合并生成第三十七哈希值m
12
=h(pidq||sski||t3),并向家庭网关发送所述m
11
、所述第三十七哈希值m
12
与所述第五时间戳t3;
73.s4.14:家庭网关收到所述m
10
、所述第三十七哈希值m
12
与所述第五时间戳后t3生成第六时间戳检查所述第五时间戳t3与所述第六时间戳间的时间差是否在最大时间延迟范围内如果所述时间差不在最大时间延迟范围内,用户认证与密钥协商阶段结束;否则,继续执行s4.15;
74.s4.15:家庭网关使用所述家庭智能设备假名pidq与所述第五响应rq合并生成所述第三十八哈希值h(pidq||rq),使用所述m
11
与所述第三十八哈希值h(pidq||rq)异或生成第十一随机数使用所述第六随机数n1、所述第七随机数n2与所述第十一随机数合并生成所述第三十九哈希值使用所述家庭智能设备假名pidq、所述第三十九哈希值与所述第五时间戳t3合并生成所述第四十哈希值验证所述第四十哈希值与家庭智能设备发送的所述第三十七哈希值m
12
是否相等。如果不相等,用户认证与密钥协商阶段结束;否则,继续执行s4.16;
75.s4.16:家庭网关生成第七时间戳t4,使用所述第六随机数n1与所述第二十八哈希值合并生成第四十一哈希值使用所述第七哈希值uidi与所述第二十九哈希值合并生成第四十二哈希值将所述第四十一哈希值与所述第四十二哈希值拼接生成使用所述第七随机数n2与所述第十一随机数n3拼接生成n2||n3,使用所述与所述n2||n3异或生成使用所述第七哈希值uidi、所述第三十九哈希值sski与所述第七时间戳t4合并生成第四十三哈希值m
14
=h(uidi||sski||t4),并通过公开信道向mdi发送所述m
13
、所述第四十三哈希值m
14
与所述第七时间戳t4;
76.s4.17:mdi收到所述m
12
、所述第四十三哈希值m
14
与所述第七时间戳t4后生成第八时间戳检查所述第七时间戳t4与所述第八时间戳间的时间差是否在最大时间延迟范围内如果所述时间差不在最大时间延迟范围内,用户认证与密钥协商阶段结束;否则,继续执行s4.18;
77.s4.18:mdi使用所述第五随机数n1与步骤s4.2中生成的所述合并生成第四十四哈希值
78.使用所述第七哈希值uidi与所述合并生成第四十五哈希值
79.将所述第四十四哈希值与所述第四十五哈希值拼接生成
80.使用所述m
13
与所述异或后生成所述第七随机数与所述第十一随机数的拼接值拆分所述后生成第十二随机数与第十三随机数
81.s4.19:mdi使用所述第五随机数n1、所述第十二随机数与所述第十三随机数合并后生成第四十六哈希值所述第四十六哈希值为家庭用户与家庭智能设备间临时的安全会话密钥,使用所述第七哈希值uidi、所述第四十六哈希值与所述第七时间戳t4合并生成所述第四十七哈希值验证所述第四十七哈希值与家庭智能设备发送的所述第四十三哈希值m
14
是否相等。如果不相等,用户认证与密钥协商阶段结束;否则,家庭用户与家庭智能设备都将所述第四十七哈希值sski作为临时的安全会话密钥,至此用户认证与密钥协商阶段结束。
82.请参考图5,其示出了本技术一个实施例提供的计算设备1500的结构示意图。该计算设备1500可用于实施上述实施例中提供的用户使用家庭智能设备的授权认证与密钥协商方法。
83.具体来讲:
84.所述计算设备1500包括中央处理单元(cpu)1501、包括随机存取存储器(ram)1502和只读存储器(rom)1503的系统存储器1504,以及连接系统存储器1504和中央处理单元1501的系统总线1505。所述计算设备1500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1506,和用于存储操作系统1513、应用程序1514和其他程序模块1515的大容量存储设备1507。
85.所述基本输入/输出系统1506包括有用于显示信息的显示器1508和用于用户输入信息的诸如鼠标、键盘之类的输入设备1509。其中,所述显示器1508和输入设备1509都通过连接到系统总线1505的输入输出控制器1510连接到中央处理单元1501。所述基本输入/输出系统1506还可以包括输入输出控制器1510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1510还提供输出到显示屏、打印机或其他类型的输出设备。
86.所述大容量存储设备1507通过连接到系统总线1505的大容量存储控制器(未示出)连接到中央处理单元1501。所述大容量存储设备1507及其相关联的计算机可读介质为计算设备1500提供非易失性存储。也就是说,所述大容量存储设备1507可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。
87.不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。
88.当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1504和大容量存储设备1507可以统称为存储器。
89.根据本技术的各种实施例,所述计算设备1500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算设备1500可以通过连接在所述系统总线1505上的网络接口单元1511连接到网络1512,或者说,也可以使用网络接口单元1511来连接到其他类型的网络或远程计算机系统(未示出)。
90.所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于实现上述用户使用家庭智能设备的授权认证与密钥协商方法。
91.在示例性实施例中,还提供了一种计算设备,所述计算设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集。所述至少一条指令、至少一段程序、代码集或指令集经配置以由所述处理器执行,以实现上述用户使用家庭智能设备的授权认证与密钥协商方法。
92.在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被终端的处理器执行时实现上述实施例的用户使用家庭智能设备的授权认证与密钥协商方法。可选地,上述计算机可读存储介质可以是rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、cd-rom(compact disc read-onlymemory,只读光盘)、磁带、软盘和光数据存储设备等。
93.在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述用户使用家庭智能设备的授权认证与密钥协商方法。
94.两个以上“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
95.另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本技术实施例对此不作限定。
96.以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
97.以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:
1.一种用户使用家庭智能设备的授权认证与密钥协商方法,其特征在于,所述方法包括:s1、所述智能家居中家庭主人设备绑定家庭网关;s2、所述智能家居中家庭智能设备向所述家庭网关进行注册;s3、所述家庭主人对家庭用户进行授权,并将授权信息向所述家庭网关备案;s4、所述家庭网关对家庭用户所能使用的家庭智能设备进行认证与密钥协商。2.根据权利要求1所述的用户使用家庭智能设备的授权认证与密钥协商方法,其特征在于,所述s1包括步骤:s1.1、移动设备md
o
接收家庭主人随机选择的身份id
o
和密码pw
o
,生成第一随机数r
o
,并将所述密码pw
o
与所述第一随机数r
o
合并后生成第一哈希值rpw
o
=h(pw
o
||r
o
),之后,md
o
通过安全信道向家庭网关发送所述身份id
o
与所述第一哈希值rpw
o
;s1.2、家庭网关收到所述身份id
o
与所述第一哈希值rpw
o
,随机选择第一挑战c
k
,将所述第一挑战c
k
输入嵌入在家庭网关中的物理不可克隆函数puf
k
(
·
)中生成第一响应r
k
=puf
k
(c
k
),并将所述身份id
o
与所述第一响应r
k
合并后生成第二哈希值uid
o
=h(id
o
||r
k
),所述第二哈希值uid
o
为家庭主人的身份假名;s1.3、家庭网关将所述家庭网关中的私钥s与所述第一响应r
k
合并生成第三哈希值k
o
=h(s||r
k
),所述第三哈希值k
o
为家庭主人与家庭网关间认证的密钥;将所述k
o
与所述第一哈希值rpw
o
异或后生成并通过安全信道向md
o
发送所述第二哈希值uid
o
与所述a
o
;家庭网关将所述第二哈希值uid
o
与所述第一挑战c
k
存入网关数据库中;s1.4、md
o
收到所述第二哈希值uid
o
与所述a
o
后,将所述身份id
o
与所述密码pw
o
合并后生成第四哈希值h(id
o
||pw
o
),将所述第四哈希值h(id
o
||pw
o
)与所述第一随机数r
o
异或后生成并将所述身份id
o
、所述密码pw
o
与所述第一随机数r
o
合并后生成第五哈希值c
o
=h(id
o
||pw
o
||r
o
),之后,md
o
将所述第二哈希值uid
o
、所述a
o
、所述b
o
、所述第五哈希值c
o
与所述哈希函数h(
·
)存入md
o
内存中。3.根据权利要求2所述的用户使用家庭智能设备的授权认证与密钥协商方法,其特征在于,所述s2包括步骤:s2.1、家庭智能设备随机选择第二挑战c
q
,并将所述第二挑战c
q
输入嵌入在家庭智能设备中的物理不可克隆函数puf
q
(
·
)中生成第二响应r
q
=puf
q
(c
q
),之后,家庭智能设备通过安全信道向家庭网关发送所述第二挑战c
q
与所述第二响应r
q
;s2.2、家庭网关收到所述第二挑战c
q
与所述第二响应r
q
后为家庭智能设备随机生成一个假名pid
q
,并提取存储在网关数据库中的所述第一挑战c
k
;s2.3、家庭网关将所述第一挑战c
k
输入嵌入在家庭网关中的物理不可克隆函数puf
k
(
·
)中生成所述第一响应r
k
=puf
k
(c
k
),将所述第一挑战c
k
哈希后生成第六哈希值h(c
k
),并将所述第六哈希值h(c
k
)与所述假名pid
q
合并,将合并后的值h(c
k
)||pid
q
与所述第二响应r
q
异或后生成s2.4、家庭网关通过安全信道向家庭智能设备发送所述假名pid
q
,并将所述假名pid
q
、所述f
q
与所述第二挑战c
q
存入网关数据库中,同时公开所述假名pid
q

s2.5、家庭智能设备收到所述假名pid
q
后将所述假名pid
q
存入家庭智能设备内存中。4.根据权利要求3所述的用户使用家庭智能设备的授权认证与密钥协商方法,其特征在于,所述s3包括步骤:s3.1、家庭用户与家庭主人通过面对面的方式协商一个秘密值k,家庭用户的移动设备md
i
接收家庭用户随机选择的用户身份id
i
、密码pw
i
和所述秘密k,生成第二随机数r
i
,使用所述用户身份id
i
与所述第二随机数r
i
合并后生成第七哈希值uid
i
=h(id
i
||r
i
),所述第七哈希值uid
i
为家庭用户的身份假名,将所述用户密码pw
i
与所述第二随机数r
i
合并后生成第八哈希值rpw
i
=h(pw
i
||r
i
);s3.2、md
i
将所述第八哈希值rpw
i
与所述秘密k异或后得到将所述第七哈希值uid
i
与所述第八哈希值rpw
i
合并后得到第九哈希值m2=h(uid
i
||rpw
i
),并通过公开信道向家庭主人的移动设备md
o
发送所述第七哈希值uid
i
、所述m1与所述第九哈希值m2;s3.3、家庭主人与家庭用户通过面对面的方式协商所述秘密值k后,md
o
接收家庭主人输入的身份密码与所述秘密k,使用所述主人身份与所述主人密码合并生成第十哈希值将所述第十哈希值与存储md
o
中的所述b
o
异或后得到第三随机数将所述主人身份所述主人密码与所述第三随机数合并后生成第十一哈希值验证所述第十一哈希值是否与存储在md
o
中的所述第五哈希值c
o
相等,如果不相等,用户授权阶段结束;否则继续执行s3.4;s3.4、md
o
收到所述第七哈希值uid
i
、所述m1与所述第九哈希值m2后,将所述m1与所述秘密k异或得到将所述第七哈希值uid
i
与所述rpw
i*
合并生成第十二哈希值h(uid
i
||rpw
i*
),验证所述第十二哈希值h(uid
i
||rpw
i*
)是否与用户发送的第九哈希值m2相等,如果不相等,用户授权阶段结束;否则继续执行s3.5;s3.5、md
o
接收家庭主人输入的家庭用户能够访问的家庭智能设备假名{pid
g
,...,pid
n
},将所述家庭主人密码pw
o
与所述第三随机数r
o
合并生成第十三哈希值rpw
o
=h(pw
o
||r
o
);将存储在md
o
中的所述a
o
与所述第十三rpw
o
异或得到将k
o
与所述第七哈希值uid
i
合并生成第十四哈希值所述第十四哈希值作为家庭用户与家庭网关间的认证密钥,将所述秘密值k哈希后得到第十五哈希值h(k);s3.6、md
o
将所述第十四哈希值所述第十五哈希值h(k)与所述第八哈希值rpw
i
异或后得到将所述m3合并所述秘密k后生成第十六哈希值m4=h(m3||k),md
o
通过公开信道向md
i
发送所述m3与所述第十六哈希值m4;s3.7、md
i
收到所述所述m3与所述第十六哈希值m4后,将所述m3与所述秘密k合并生成所述第十七哈希值h(m3||k),验证所述第十七哈希值h(m3||k)与md
o
发送的所述第十六哈希值m4是否相等,如果不相等,用户授权阶段结束;否则继续执行s3.8;s3.8、md
i
将所述秘密k哈希后生成所述第十八哈希值h(k),将所述m3与所述第十八哈希值h(k)异或生成并接收家庭用户输入的生物特征bio
i
,在模糊提取器生
成函数gen(
·
)中输入所述生物特征bio
i
得到生物特征密钥σ
i
与生物特征模板参数τ
i
,将所述用户身份id
i
、密码pw
i
与生物特征密钥σ
i
合并生成第十九哈希值h(id
i
||pw
i
||σ
i
),将所述第十九哈希值h(id
i
||pw
i
||σ
i
)与所述第二随机数r
i
异或生成将所述用户身份id
i
、密码pw
i
、生物特征密钥σ
i
与所述第二随机数r
i
合并生成第二十哈希值c
i
=h(id
i
||pw
i
||σ
i
||r
i
),并将所述第七哈希值uid
i
、b
i
、第二十哈希值c
i
、哈希函数h(
·
)与所述生物特征模板参数τ
i
存入md
i
内存中;s3.9、md
o
向md
i
发送所述m3与所述第十六哈希值m4后,将所述第七哈希值uid
i
、所述k
o
与所述家庭智能设备假名{pid
g
,...,pid
n
}合并生成第二十一哈希值m5=h(uid
i
||k
o
||pid
g
||...||pid
n
),并通过公开信道向家庭网关发送所述第七哈希值uid
i
、所述第二十一哈希值m5与所述家庭智能设备假名{pid
g
,...,pid
n
};s3.10、家庭网关收到所述第七哈希值uid
i
、所述第二十一哈希值m5与所述家庭智能设备假名{pid
g
,...,pid
n
}后,在网关数据库中提取所述第一挑战c
k
,将所述第一挑战c
k
输入嵌入在家庭网关中的物理不可克隆函数puf
k
(
·
)中得到第三响应将所述网关私钥s与所述第三响应合并生成第二十二哈希值并将所述第七哈希值uid
i
、所述第二十二哈希值与所述家庭智能设备假名{pid
g
,...,pid
n
}合并生成所述第二十三哈希值验证所述第二十三哈希值与md
o
发送的所述第二十一哈希值m5是否相等,如果不相等,用户授权阶段结束;否则家庭网关将所述第七哈希值uid
i
、所述家庭智能设备假名{pid
g
,...,pid
n
}存入网关数据库中。5.根据权利要求4所述的用户使用家庭智能设备的授权认证与密钥协商方法,其特征在于,所述s4包括步骤:s4.1、家庭用户的移动设备md
i
接收用户输入的身份密码pw
i*
与生物特征并在模糊提取器再现函数rep(
·
)中输入生物特征与存储在md
i
中的所述生物特征模板参数τ
i
后得到生物特征密钥将所述身份所述密码pw
i*
与所述生物特征密钥合并生成所述第二十四哈希值使用存储在md
i
中的b
i
与所述第二十四哈希值异或生成第四随机数使用所述身份密码pw
i*
、生物特征密钥与所述第四随机数合并生成所述第二十五哈希值验证存储在md
i
中的第二十哈希值c
i
与所述第二十五哈希值是否相等,如果不相等,用户认证与密钥协商阶段结束;否则,继续执行s4.2;s4.2、md
i
接收用户输入的家庭智能设备假名pid
g
,生成第五随机数n1和第一时间戳t1,将所述密码pw
i
与所述第二随机数r
i
合并生成第二十六哈希值rpw
i
=h(pw
i
||r
i
),将所述第二十六哈希值rpw
i
与存储在md
i
内存中的所述异或生成所述为用户与家庭网关间认证的密钥;s4.3、md
i
使用所述第五随机数n1与所述异或生成使用存储md
i
中的所述第七哈希值uid
i
、所述家庭智能设备假名pid
q
、所述第五随机数n1与所述第一时间戳t1合并生成第二十七哈希值m7=h(uid
i
||pid
q
||n1||t1),并通过公开信道向家庭网关发送所述第七哈希值uid
i
、所述家庭智能设备假名pid
q
、所述m6、所述第二十七哈希值m7与所述第一时间戳t1;s4.4、家庭网关收到所述第七哈希值uid
i
、所述家庭智能设备假名pid
q
、所述m6、所述第二十七哈希值m7与所述第一时间戳t1后生成第二时间戳检查所述第一时间戳t1与所述第二时间戳间的时间差是否在最大时间延迟范围内如果所述时间差不在最大时间延迟范围内,用户认证与密钥协商阶段结束;否则,继续执行s4.5;s4.5、家庭网关提取存储在网关数据库中的所述第一挑战c
k
,将所述第一挑战c
k
输入嵌入在家庭网关中的物理不可克隆函数puf
k
(
·
)后生成第四响应将存储在网关中的私钥s与所述第四响应合并生成第二十八哈希值所述第二十八哈希值为家庭主人与家庭网关间的认证密钥;s4.6、家庭网关使用所述第二十八哈希值与所述第七哈希值uid
i
合并生成第二十九哈希值所述第二十九哈希值为家庭用户与家庭网关间认证的密钥,使用所述m6与所述第二十九哈希值异或生成第六随机数使用所述第七哈希值uid
i
、所述家庭智能设备假名pid
q
、所述第六随机数与所述第一时间戳t1合并生成第三十哈希值验证所述第三十哈希值m7与md
i
发送的所述第二十七哈希值m7是否相等,如果不相等,用户认证与密钥协商阶段结束;否则,继续执行s4.7;s4.7、家庭网关检查所述家庭智能设备假名pid
q
是否存在于网关数据中的访问列表中,如果不存在,用户认证与密钥协商阶段结束,并向md
i
返回没有该设备的的访问权限;否则,继续执行s4.8;s4.8、家庭网关生成第七随机数n2与第三时间戳t2,使用所述第四响应r
k
生成第三十一哈希值h(r
k
),将所述第三十一哈希值h(r
k
)与所述家庭智能设备假名pid
q
合并,并使用存储在网关数据库中的所述f
q
与合并后的值h(r
k
)||pid
q
异或生成第五响应s4.9、家庭网关将所述第五随机数n1与第七随机数n2拼接,并使用拼接后的值n1||n2与所述第五响应r
q
异或生成使用所述第五随机数n1、所述第七随机数n2与存储在网关数据库中的所述第二挑战c
q
以及第三时间戳t2合并生成第三十二哈希值m
10
=h(n1||n2||c
q
||t2),并通过公开信道向家庭智能设备发送所述m9、所述第三十二哈希值m
10
、所述第二挑战c
q
与所述第三时间戳t2;s4.10、家庭智能设备收到所述m9、所述第三十二哈希值m
10
、所述第二挑战c
q
与所述第三时间戳t2后生成第四时间戳检查所述第三时间戳t2与所述第四时间戳间的时间差是否在最大时间延迟范围内如果所述时间差不在最大时间延迟范围内,用户认证与密钥协商阶段结束;否则,继续执行s4.11;
s4.11、家庭智能设备将所述第二挑战c
q
输入嵌入在家庭智能设备中的物理不可克隆函数puf
q
(
·
)中生成第六响应使用所述m9与所述第六响应异或生成所述第六随机数与第七随机数的拼接值拆分所述拼接值生成第八随机数与第九随机数使用所述第八随机数所述第九随机数所述第二挑战c
q
与所述第三时间戳t2合并生成所述第三十三哈希值s4.12、家庭智能设备生成第十随机数n3与第五时间戳t3;使用所述第八随机数n1、第九随机数n2与第十随机数n3合并生成第三十四哈希值ssk
i
=h(n1||n2||n3);所述第三十四哈希值ssk
i
为家庭用户与家庭智能设备间临时的安全会话密钥;s4.13、家庭智能设备使用存在内存中的所述家庭智能设备假名pid
q
与所述第六响应r
q
合并生成第三十五哈希值h(pid
q
||r
q
);使用所述第十随机数n3与所述第三十五哈希值h(pid
q
||r
q
)异或生成使用所述家庭智能设备假名pid
q
、所述第三十四哈希值ssk
i
与所述第五时间戳t3合并生成第三十七哈希值m
12
=h(pid
q
||ssk
i
||t3),并向家庭网关发送所述m
11
、所述第三十七哈希值m
12
与所述第五时间戳t3;s4.14、家庭网关收到所述m
10
、所述第三十七哈希值m
12
与所述第五时间戳后t3生成第六时间戳检查所述第五时间戳t3与所述第六时间戳间的时间差是否在最大时间延迟范围内如果所述时间差不在最大时间延迟范围内,用户认证与密钥协商阶段结束;否则,继续执行s4.15;s4.15:家庭网关使用所述家庭智能设备假名pid
q
与所述第五响应r
q
合并生成所述第三十八哈希值h(pid
q
||r
q
),使用所述m
11
与所述第三十八哈希值h(pid
q
||r
q
)异或生成第十一随机数使用所述第六随机数n1、所述第七随机数n2与所述第十一随机数合并生成所述第三十九哈希值使用所述家庭智能设备假名pid
q
、所述第三十九哈希值与所述第五时间戳t3合并生成所述第四十哈希值验证所述第四十哈希值与家庭智能设备发送的所述第三十七哈希值m
12
是否相等,如果不相等,用户认证与密钥协商阶段结束;否则,继续执行s4.16;s4.16、家庭网关生成第七时间戳t4,使用所述第六随机数n1与所述第二十八哈希值合并生成第四十一哈希值使用所述第七哈希值uid
i
与所述第二十九哈希值合并生成第四十二哈希值将所述第四十一哈希值与所述第四十二哈希值拼接生成使用所述第七随机数n2与所述第十一随机数n3拼接生成n2||n3,使用所述与所述n2||n3异或生成
使用所述第七哈希值uid
i
、所述第三十九哈希值ssk
i
与所述第七时间戳t4合并生成第四十三哈希值m
14
=h(uid
i
||ssk
i
||t4),并通过公开信道向md
i
发送所述m
13
、所述第四十三哈希值m
14
与所述第七时间戳t4;s4.17、md
i
收到所述m
12
、所述第四十三哈希值m
14
与所述第七时间戳t4后生成第八时间戳检查所述第七时间戳t4与所述第八时间戳间的时间差是否在最大时间延迟范围内如果所述时间差不在最大时间延迟范围内,用户认证与密钥协商阶段结束;否则,继续执行s4.18;s4.18、md
i
使用所述第五随机数n1与步骤s4.2中生成的所述合并生成第四十四哈希值使用所述第七哈希值uid
i
与步骤s4.2中生成的所述合并生成第四十五哈希值将所述第四十四哈希值与所述第四十五哈希值拼接生成使用所述m
13
与所述异或后生成所述第七随机数与所述第十一随机数的拼接值拆分所述后生成第十二随机数与第十三随机数s4.19、md
i
使用所述第五随机数n1、所述第十二随机数与所述第十三随机数合并后生成第四十六哈希值所述第四十六哈希值为家庭用户与家庭智能设备间临时的安全会话密钥,使用所述第七哈希值uid
i
、所述第四十六哈希值与所述第七时间戳t4合并生成所述第四十七哈希值验证所述第四十七哈希值与家庭智能设备发送的所述第四十三哈希值m
14
是否相等,如果不相等,用户认证与密钥协商阶段结束;否则,家庭用户与家庭智能设备都将所述第四十七哈希值ssk
i
作为临时的安全会话密钥,至此用户认证与密钥协商阶段结束。6.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一项所述的用户使用家庭智能设备的授权认证与密钥协商方法。7.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一项所述的用户使用家庭智能设备的授权认证与密钥协商方法。

技术总结
本发明提供一种用户使用家庭智能设备的授权认证与密钥协商方法,所述方法包括:S1、所述智能家居中家庭主人设备绑定家庭网关;S2、所述智能家居中家庭智能设备向所述家庭网关进行注册;S3、所述家庭主人对家庭用户进行授权,并将授权信息向所述家庭网关备案;S4、所述家庭网关对家庭用户所能使用的家庭智能设备进行认证与密钥协商。本发明实施例能够解决一个智能家庭中不同类型的用户应该被授予不同家庭智能设备访问权限的问题,并且,本发明实施例在家庭智能设备中嵌入了一个物理不可克隆函数,提高了家庭网络临时会话密钥的安全性。性。性。


技术研发人员:张媛媛 黄志豪 张明武 阮鸥
受保护的技术使用者:湖北工业大学
技术研发日:2022.03.31
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-2226.html

最新回复(0)