一种物联网设备认证与密钥协商方法转让专利

申请号 : CN202211125240.5

文献号 : CN115208702B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖勇才杨浩徐建刘旷也章玲玲

申请人 : 国网江西省电力有限公司电力科学研究院国家电网有限公司

摘要 :

本发明涉及通信技术领域,具体涉及一种物联网设备认证与密钥协商方法。该方法用于访客终端与中心服务器之间的身份认证和密钥交换;在预设的中心服务器中含有预先填写的加密的访客注册信息以及访问时间段,所述注册信息包含访客终端的设备信息以及访客的身份信息,访客终端与中心服务器之间有共用的根密钥;通过引入通信双方产生的随机数计算认证令牌,用于生成认证令牌的随机数在传递过程中均进行了加密保护,并且,访客的注册信息采用动态加密,保证每次通信过程使用的密钥都不相同,有效防止密钥在信道传输过程中泄露的风险;并采用身份信息和访客终端双层认证,能够有效防止身份信息或访客终端其中一方遗失或泄露后造成的安全风险。

权利要求 :

1.一种物联网设备认证与密钥协商方法,用于访客终端与中心服务器之间的身份认证和密钥交换;在预设的中心服务器中含有预先填写的加密的访客注册信息以及访问时间段,所述注册信息包含访客终端的设备信息IDa以及访客的身份信息IDb,访客终端与中心服务器之间有共用的根密钥K;其特征在于,所述方法的认证流程步骤包括:步骤(1),中心服务器通过智能门锁设备M1接收到访客的身份信息IDb的信号后即为收到访客的认证请求,先检验访客的身份信息IDb是否与中心服务器预存储的身份信息相符,若相符则启动认证流程,若不相符则认证终止;

步骤(2),中心服务器判断当前时间点是否在预设的访问时间段内,若在访问时间段内,则进行下一步认证,若不在访问时间段内,则认证终止;

步骤(3),中心服务器生成随机数Rs,并先根据访客终端的设备信息IDa、随机数Rs以及当前时间节点生成动态ID信息IDat,再利用密钥派生算法计算认证密钥K1=KDF(IDat,Rs,K),然后使用对称密码算法计算认证令牌AUTNs=EK(1 Rs||IDat),并将随机数Rs、认证密钥K1和认证令牌AUTNs发给访客终端;其中,生成动态ID信息IDat的方式为将时间节点+访客终端的设备信息IDa+随机数Rs组合后通过短除法转化为二进制字符串;

步骤(4),访客终端收到中心服务器发来的信息后,使用认证密钥K1对认证令牌AUTNs进行逆运算解密获得随机数Rs'和二进制字符串IDat',再通过逆运算将二进制字符串IDat'转化为十进制字符串即解密后的访客终端的设备信息IDa',然后比较随机数Rs'与随机数Rs是否一致,同时比较解密后的访客终端的设备信息IDa'与存储在访客终端本地的访客终端的设备信息IDa是否一致,若均一致则中心服务器身份认证成功,进入下一步认证,若其中一个不一致则认证失败,认证终止;

步骤(5),访客终端生成随机数Ra,并利用密钥派生算法计算认证密钥K2=KDF(IDa,Ra,K),然后使用对称密码算法计算认证令牌AUTNa=EK2(Ra||Rs'),将随机数Ra、认证密钥K2和认证令牌AUTNa发送给中心服务器;

步骤(6),中心服务器收到访客终端发来的认证令牌AUTNa后,使用认证密钥K2执行逆运算解密认证令牌AUTNa获得随机数Ra'和随机数Rs'',比较随机数Ra'与随机数Ra是否一致,同时比较随机数Rs''与随机数Rs是否一致,若均一致则访客终端身份认证成功,若其中一个比较不一致,则认证失败;

步骤(7),若步骤(6)认证成功,则中心服务器向智能门锁设备M1发送认证成功的信号,即智能门锁设备M1开启;若步骤(6)认证失败,则认证终止,即智能门锁设备M1不开启;

步骤(8),需要开启智能门锁设备M2时,重复步骤(1)步骤(6),若步骤(6)认证失败,则~

认证终止;若步骤(6)认证成功,则中心服务器生成临时随机字段Rc作为临时密码,并利用密钥派生算法计算通信密钥Kc=KDF(K,Ra',Rc),再将通信密钥Kc发送给访客终端;

步骤(9),访客终端利用根密钥K对通信密钥Kc进行解密,获得解密后的临时密码Rc';

访客通过智能门锁设备M2将解密后的临时密码Rc'传递给中心服务器,中心服务器比较解密后的临时密码Rc'与临时随机字段Rc是否一致;若一致,则认证成功,中心服务器向智能门锁设备M2发送认证成功的信号,即智能门锁设备M2开启;

若比较不一致,则在一定预设时间内访客能够再次输入密码重复步骤(9)的步骤进行身份验证,中心服务器再次比较访客输入的临时密码与临时随机字段Rc是否一致;若一致,则访客再次输入身份信息即指纹信息,中心服务器检验访客的身份信息IDb是否正确,若正确,则认证成功,中心服务器向智能门锁设备M2发送认证成功的信号,即智能门锁设备M2开启;若比较不一致访客的身份信息IDb错误,则认证失败,认证终止,即智能门锁设备M2不开启。

2.根据权利要求1所述的物联网设备认证与密钥协商方法,其特征在于,访客的身份信息IDb包括指纹信息、瞳孔信息和临时门禁卡信息中的一种或多种。

说明书 :

一种物联网设备认证与密钥协商方法

技术领域

[0001] 本发明涉及通信技术领域,具体涉及一种物联网设备认证与密钥协商方法。

背景技术

[0002] 随着物联网和智能设备的普及,物联网通信技术以及智能设备交互应用越来越普遍,例如手机、电脑以及智能家电的远程交互、控制等。身份认证机制是确保通信有效性的重要工具,相应地,身份认证机制的安全性以及物联网通信安全是必需要考虑的问题。例如,现有的智能门禁系统的身份认证机制中,有些会使用授权的方式提供临时密码或临时门禁卡给临时清洁人员或检修的工作人员使用。但简单的临时数字密码和临时门禁卡的安全性仍有待提高,部分居民住宅需要打开单元门和入户门,独栋住宅则可能需要打开院门和入户门,若设有不同的密码则不便于密码的传递,使用较为麻烦,设置相同密码则安全性不够,密码也容易泄露或被破解,且临时密码也会在一定范围时间内有效,不能完全避免密码被传播导致的风险。

发明内容

[0003] 针对现有技术的的不足,本发明提供一种物联网设备认证与密钥协商方法,以提高身份认证的安全性。
[0004] 为实现上述目的,本发明采用的技术方案如下。
[0005] 一种物联网设备认证与密钥协商方法,用于访客终端与中心服务器之间的身份认证和密钥交换;在预设的中心服务器中含有预先填写的加密的访客注册信息以及访问时间段,所述注册信息包含存储在访客终端本地的访客终端的设备信息IDa以及访客的身份信息IDb,访客终端与中心服务器之间有共用的根密钥K;所述方法的认证流程步骤包括:
[0006] 步骤(1),中心服务器通过智能门锁设备M1接收到访客的身份信息认证请求信号后,检验访客的身份信息IDb是否与中心服务器预存储的身份信息相符,若相符则启动认证流程,若不相符则认证终止;
[0007] 步骤(2),中心服务器判断当前时间点是否在预设的访问时间段内,若在访问时间段内,则进行下一步认证,若不在访问时间段内,则认证终止;
[0008] 步骤(3),中心服务器生成随机数Rs,并利用密钥派生算法计算认证密钥K1=KDF(IDa,Rs,K),然后使用对称密码算法计算认证令牌AUTNs=EK(1 Rs||IDa),并将随机数Rs、认证密钥K1和认证令牌AUTNs发给访客终端;
[0009] 步骤(4),访客终端收到中心服务器发来的信息后,使用认证密钥K1对认证令牌AUTNs进行逆运算解密获得随机数Rs'和解密后的访客终端的设备信息IDa',然后比较随机数Rs'与随机数Rs是否一致,同时比较解密后的访客终端的设备信息IDa'与存储在访客终端本地的访客终端的设备信息IDa是否一致,若均一致则中心服务器身份认证成功,进入下一步认证,若不一致则认证失败,认证终止;
[0010] 步骤(5),访客终端生成随机数Ra,并利用密钥派生算法计算认证密钥K2=KDF(IDa,Ra,K),然后使用对称密码算法计算认证令牌AUTNa=EK2(Ra||Rs'),将随机数Ra、认证密钥K2和认证令牌AUTNa发送给中心服务器;
[0011] 步骤(6),中心服务器收到访客终端发来的认证令牌AUTNa后,使用认证密钥K2执行逆运算解密认证令牌AUTNa获得随机数Ra'和随机数Rs'',比较随机数Ra'与随机数Ra是否一致,同时比较随机数Rs''与Rs是否一致,若均一致则访客终端身份认证成功,若比较不一致,则认证失败;
[0012] 步骤(7),若步骤(6)认证成功,则中心服务器向智能门锁设备M1发送认证成功的信号,即智能门锁设备M1开启;若步骤(6)认证失败,则认证终止,即智能门锁设备M1不开启;
[0013] 步骤(8),需要开启智能门锁设备M2时,重复步骤(1)步骤(6),若步骤(6)认证失~败,则认证终止;若步骤(6)认证成功,则中心服务器生成临时随机字段Rc作为临时密码,并利用密钥派生算法计算通信密钥Kc=KDF(K,Ra',Rc),再将通信密钥Kc发送给访客终端;
[0014] 步骤(9),访客终端利用根密钥K对通信密钥Kc进行解密,获得解密后的临时密码Rc';访客通过智能门锁设备M2将解密后的临时密码Rc'传递给中心服务器,中心服务器比较解密后的临时密码Rc'与临时随机字段Rc是否一致;若一致,则认证成功,中心服务器向智能门锁设备M2发送认证成功的信号(即智能门锁设备M2开启);若比较不一致,则认证失败,认证终止(即智能门锁设备M2不开启)。
[0015] 其中,KDF(X1,X2,X3)为密钥派生算法,X1/X2/X3为算法输入参数;E()为对称密码算法,EK1/EK2为使用K1/ K2密钥的对称密码算法,||为字符连接符号。
[0016] 进一步地,步骤(3)中,计算认证密钥K1前,可先根据存储在访客终端本地的访客终端的设备信息IDa、随机数Rs以及当前时间节点生成动态ID信息IDat,再利用密钥派生算法计算认证密钥K1=KDF(IDat,Rs,K),然后使用对称密码算法计算认证令牌AUTNs=EK(1 Rs||IDat);则步骤(4)中,使用认证密钥K1对认证令牌AUTNs进行逆运算解密获得随机数Rs'和二进制字符串IDat',此时先通过逆运算将二进制字符串IDat'转化为字符串IDa'(即解密后的访客终端的设备信息IDa'),再来比较随机数Rs'与随机数Rs是否一致,同时比较解密后的访客终端的设备信息IDa'与存储在访客终端本地的访客终端的设备信息IDa是否一致。
[0017] 进一步地,生成动态ID信息IDat的方式为将时间节点+存储在访客终端本地的访客终端的设备信息IDa+随机数Ra组合后通过短除法转化为二进制字符串。
[0018] 其中,访客的身份信息IDb包括指纹信息、瞳孔信息和临时门禁卡信息中的一种或多种;访客终端是指手机、智能手环或智能手表等。
[0019] 本发明的有益效果:
[0020] (1)本发明通过引入通信双方产生的随机数计算认证密钥和认证令牌,用于生成认证密钥和认证令牌的随机数在传递过程中均进行了加密保护,有效防止密钥在信道传输过程中泄露的风险,提高了通信密钥的安全性。
[0021] (2)通信双方每次认证均会协商产生密钥,且访客终端的设备信息采用动态加密,保证每次通信过程使用的密钥都不相同;并采用身份信息和访客终端双层认证,生成临时密码,能够有效防止身份信息或访客终端其中一方遗失或泄密后造成的安全风险。
[0022] (3)该方法能够用于具备单元门和入户门,或具备院门和入户门的住宅门禁系统,便于临时清洁人员、维修工作人员或临时访客的进出门禁,安全性强,给住户提供便利。

附图说明

[0023] 图1为本发明实施例中身份认证与密钥协商方法的认证流程图。

具体实施方式

[0024] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
[0025] 如图1所示的一种物联网设备认证与密钥协商方法,用于访客终端与中心服务器之间的身份认证和密钥交换;本实施例中,该方法应用于包含院门和入户门以及两个智能门锁(设备M1和设备M2)的门禁系统;在预设的中心服务器中含有预先填写的加密的访客注册信息以及访问时间段,所述注册信息包含存储在访客终端本地的访客终端的设备信息IDa以及访客的身份信息IDb,访客终端与中心服务器之间有共用的根密钥K;所述方法的认证流程步骤包括:
[0026] 步骤(1),中心服务器通过智能门锁设备M1接收到访客的身份信息IDb的信号后即为收到访客的认证请求,先检验访客的身份信息IDb是否与中心服务器预存储的身份信息相符,若相符则启动认证流程,若不相符则认证终止;在本实施例中,访客的身份信息IDb为指纹信息;
[0027] 步骤(2),中心服务器判断当前时间点是否在预设的访问时间段内,若在访问时间段内,则进行下一步认证,若不在访问时间段内,则认证终止;
[0028] 步骤(3),中心服务器生成随机数Rs,并先根据存储在访客终端本地的访客终端的设备信息IDa、随机数Rs以及当前时间节点生成动态ID信息IDat,再利用密钥派生算法计算认证密钥K1=KDF(IDat,Rs,K),然后使用对称密码算法计算认证令牌AUTNs=EK(1 Rs||IDat),并将随机数Rs、认证密钥K1和认证令牌AUTNs发给访客终端;其中,生成动态ID信息IDat的方式为将时间节点+存储在访客终端本地的访客终端的设备信息IDa+随机数Ra组合后通过短除法转化为二进制字符串;
[0029] 步骤(4),访客终端收到中心服务器发来的信息后,使用认证密钥K1对认证令牌AUTNs进行逆运算解密获得随机数Rs'和二进制字符串IDat',再通过逆运算将二进制字符串IDat'转化为十进制字符串即解密后的访客终端的设备信息IDa',然后比较随机数Rs'与随机数Rs是否一致,同时比较解密后的访客终端的设备信息IDa'与存储在访客终端本地的访客终端的设备信息IDa是否一致,若均一致则中心服务器身份认证成功,进入下一步认证,若其中一个不一致则认证失败,认证终止;
[0030] 步骤(5),访客终端生成随机数Ra,并利用密钥派生算法计算认证密钥K2=KDF(IDa,Ra,K),然后使用对称密码算法计算认证令牌AUTNa=EK2(Ra||Rs'),将随机数Ra、认证密钥K2和认证令牌AUTNa发送给中心服务器;
[0031] 步骤(6),中心服务器收到访客终端发来的认证令牌AUTNa后,使用认证密钥K2执行逆运算解密认证令牌AUTNa获得随机数Ra'和随机数Rs'',比较随机数Ra'与随机数Ra是否一致,同时比较随机数Rs''与随机数Rs是否一致,若均一致则访客终端身份认证成功,若其中一个比较不一致,则认证失败;
[0032] 步骤(7),若步骤(6)认证成功,则中心服务器向智能门锁设备M1发送认证成功的信号(即智能门锁设备M1开启);若步骤(6)认证失败,则认证终止(即智能门锁设备M1不开启);
[0033] 步骤(8),需要开启智能门锁设备M2时,重复步骤(1)步骤(6),若步骤(6)认证失~败,则认证终止;若步骤(6)认证成功,则中心服务器生成临时随机字段Rc作为临时密码,并利用密钥派生算法计算通信密钥Kc=KDF(K,Ra',Rc),再将通信密钥Kc发送给访客终端;
[0034] 步骤(9),访客终端利用根密钥K对通信密钥Kc进行解密,获得解密后的临时密码Rc';访客通过智能门锁设备M2将解密后的临时密码Rc'传递给中心服务器,中心服务器比较解密后的临时密码Rc'与临时随机字段Rc是否一致;若一致,则认证成功,中心服务器向智能门锁设备M2发送认证成功的信号(即智能门锁设备M2开启);若比较不一致,则认证失败,认证终止(即智能门锁设备M2不开启)。
[0035] 在另一实施例中,考虑到访客误操作导致输入密码错误,若步骤(9)中心服务器比较解密后的临时密码Rc'与临时随机字段Rc结果为不一致,则在一定预设时间内(例如预设为30s)访客能够再次输入密码重复步骤(9)的步骤进行身份验证,中心服务器再次比较访客输入的临时密码与临时随机字段Rc是否一致;若一致,则访客再次输入身份信息即指纹信息,中心服务器检验访客的身份信息IDb是否正确,若正确,则认证成功,中心服务器向智能门锁设备M2发送认证成功的信号(即智能门锁设备M2开启);若比较不一致访客的身份信息IDb错误,则认证失败,认证终止(即智能门锁设备M2不开启)。该设置避免了访客最后验证时误操作后需要重复所有认证步骤,节省了身份认证的时间,同时又能够保证身份认证的安全性。