一种基于数字证书的物联网终端身份认证方法与流程
未命名
10-18
阅读:153
评论:0
1.本发明涉及物联网技术领域,具体涉及一种基于数字证书的物联网终端身份认证方法。
背景技术:
2.在物联网系统中需要对终端设备进行身份认证。在诸多身份认证解决方案中,基于pki(公钥基础设施)的数字证书认证方案因其安全性得到广泛应用。
3.传统的pki数字证书体系一般采用树状结构,在这种结构中判断终端证书是否可信的方法,是以终端证书为起点向上逐级查找直到根证书,从而建立证书链;如果证书链完整且根证书可信,则终端证书可信。在这种以根证书为信任锚的安全体系中,根证书自身的安全成为关键。为确保安全,传统的pki体系要求定期更换根证书,更换根证书后,需要使用新的根证书重新签发所有旧的根证书签发的证书,还要尽快将新的根证书加入到物联网系统内所有终端设备中以替换旧的根证书。
4.物联网系统中使用传统的pki数字证书,需要在所有终端设备中预先存入根证书。而物联网的特点决定了终端设备一旦部署后不易改变内部数据,而且为了防止终端设备中的根证书不被恶意删除或篡改,往往还会采用一些额外的保护措施;这导致所有更新证书的机制都必然会增加设备的复杂性并带来更多的稳定性与安全性隐患。物联网系统可以设置超长有效期的根证书,但随着系统长期运行将不断积累根证书私钥泄露的风险。
5.另一种情况,物联网终端可以无条件信任自己持有的终端证书,却不能将其作为信任锚。采用传统证书体系的证书签名方法,终端可以通过验证数字签名来确认自己持有的证书确实由证书链的上一级证书公钥对应的私钥所签名,却无法确认签发上一级证书的更上一级证书是否可信,因为任何证书都能为上一级证书签名而不改变上一级证书的公钥,所以信任链只能延伸一级。如果采用以终端证书为信任锚的信任模型,系统只能由根证书直接签发终端证书,并且,要么在系统运行过程中从不更换根证书,要么连同终端证书一并更换,问题依然存在。
6.基于根证书为信任锚的安全体系中,对终端设备进行身份认证时需要在终端内预置的根证书,当根证书更换后,终端证书也需要一并更换,使身份认证工作极为不便,上述问题亟待解决,为此,提出一种基于数字证书的物联网终端身份认证方法。
技术实现要素:
7.本发明所要解决的技术问题在于:如何改变传统pki体系以根证书为信任锚的信任模型,进而改变身份认证方式,提供了一种基于数字证书的物联网终端身份认证方法。
8.本发明是通过以下技术方案解决上述技术问题的,本基于数字证书的物联网终端身份认证方法,包括以下步骤:
9.s1:证书签发
10.利用数字证书系统签发物联网系统中的证书;
11.s2:请求身份认证
12.物联网系统中的第一终端向第二终端请求身份认证并发送第一终端证书,并通过第二终端接收第一终端证书;
13.s3:证书链及签名验证
14.第二终端分别建立第一终端证书、第二终端证书的证书链,并验证两条证书链中的终端证书和中间证书的签发者签名,以及中间证书和根证书的自签名,当两条证书链均完整且各签名验证无误后则进入步骤s4,否则身份认证失败;
15.s4:交叉点存在判断
16.检查其中一条证书链中的中间证书和根证书,是否至少有一个中间证书或根证书存在于另一条证书链中,如果有,则进入步骤s5中,否则身份认证失败;
17.s5:私钥持有判断
18.判断第一终端是否持有第一终端证书的私钥,如是则身份认证成功,否则身份认证失败,进而完成身份认证过程。
19.更进一步地,在所述步骤s1中,所述数字证书系统包括根证书、使用根证书签发的中间证书、使用中间证书签发的下级中间证书或终端证书;所有证书在签发时均被写入系统内唯一标识,所有证书中都包含至少一组非对称密码算法的密钥对中的公钥,匹配的私钥由证书持有者保存;根证书对本证书数据域进行签名并将签名值保存到本证书的自签名域,中间证书由根证书或上级中间证书对本证书的数据域进行签名并将签名值和签发者证书的唯一标识保存到本证书的签发者签名域,再由本证书对本证书的数据域和签发者签名域进行签名并将签名值保存到本证书的自签名域,终端证书由中间证书对本证书的数据域进行签名并将签名值和签发者证书的唯一标识保存到本证书的签发者签名域;终端证书保存到物联网终端中,根证书和所有中间证书保存在能够被物联网终端获取的位置。
20.更进一步地,中间证书进行自签名时,即中间证书的持有者通过对中间证书及其签发者签名值进行签名,承认签发者的合法性。
21.更进一步地,在所述步骤s2中,物联网系统中至少包括两个物联网终端,即第一终端、第二终端,两个终端分别持有对应的第一终端证书、第二终端证书。
22.更进一步地,在所述步骤s3中,在建立证书链时,分别以第一终端证书、第二终端证书为起点,通过证书签发者签名域中的签发者证书唯一标识向上逐级查找并验证签发者证书,获取向上各级的中间证书直至根证书,进而形成两条证书链。
23.更进一步地,在所述步骤s3中,获取证书链后,通过证书链的结构判断证书链是否完整,当证书链中包含终端证书、至少一个中间证书和根证书时,则表示证书链为完整证书链,否则为不完整证书链。
24.更进一步地,在所述步骤s3中,验证两条证书链中的终端证书和中间证书的签发者签名的过程具体如下:
25.s301:获取各条证书链中终端证书和所有的中间证书;
26.s302:读取当前证书的数据域、签发者签名域中的签名值,并读取当前证书的签发者证书的公钥;
27.s303:使用当前证书的签发者证书的公钥和当前证书的签发者签名域中的签名值,对当前证书的数据域进行验签;
28.s304:当各条证书链中终端证书和所有的中间证书均能验签成功则表示签发者签名值验证无误,否则表示签名值验证错误,身份认证失败。
29.更进一步地,在所述步骤s3中,验证中间证书和根证书的自签名的具体过程如下:
30.s311:获取各条证书链中的所有中间证书和根证书;
31.s312:读取当前证书的公钥、自签名域中的签名值,当前证书是中间证书时则读取数据域和签发者签名域,当前证书是根证书时则读取数据域;
32.s313:当前证书是中间证书时,使用当前证书的公钥和当前证书的自签名域中的签名值,对当前证书的数据域和签发者签名域进行验签;当前证书是根证书是,使用当前证书的公钥和当前证书的自签名域中的签名值,对当前证书的数据域进行验签;
33.s314:当各条证书链中所有中间证书和根证书均能验签成功则表示自签名值验证无误,否则表示自签名值验证错误,身份认证失败。
34.更进一步地,在所述步骤s4中,根据步骤s3中获取的证书链结构,读取证书链结构中终端证书、中间证书、根证书的内容,基于各证书的唯一标识,进行逐一查找对比,当其中一条证书链的中间证书/根证书的唯一标识能够在另一条证书链中查找到时,再将已查找到的两条证书链中相同的中间证书/根证书中的其余内容进行比对,比对一致后则进入步骤s5,否则身份认证失败。
35.更进一步地,在所述步骤s5中,在判断第一终端是否持有第一终端证书的私钥时,第二终端读取第一终端证书的公钥,并利用公钥对设定数据进行加密,将加密后的设定数据密文发送至第一终端,第一终端尝试利用其持有的私钥进行解密并将结果发送给第二终端,第二终端判断收到的结果与设定数据是否一致,一致则表示第一终端持有第一终端证书的私钥,否则表示第一终端未持有第一终端证书的私钥,身份认证失败。
36.本发明相比现有技术具有以下优点:该基于数字证书的物联网终端身份认证方法,以终端证书为信任锚,通过终端证书的证书链、对终端证书的证书链以及两条证书链的交叉点将信任链延伸至对端设备进而完成身份认证,该认证方法不需要在终端内预置的根证书,能够在不更换终端证书的前提下更新根证书。
附图说明
37.图1是本发明实施例一中基于数字证书的物联网终端身份认证方法的流程示意图。
具体实施方式
38.下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
39.实施例一
40.如图1所示,本实施例提供一种技术方案:一种基于数字证书的物联网终端身份认证方法,包括以下步骤:
41.s1:证书签发
42.利用数字证书系统签发物联网系统中的证书;
43.s2:请求身份认证
44.物联网系统中的第一终端向第二终端请求身份认证并发送第一终端证书,并通过第二终端接收第一终端证书;
45.s3:证书链及签名验证
46.第二终端分别建立第一终端证书、第二终端证书的证书链,并验证两条证书链中的终端证书和中间证书的签发者签名,以及中间证书和根证书的自签名,当两条证书链均完整且各签名验证无误后则进入步骤s4,否则身份认证失败;
47.s4:交叉点存在判断
48.检查其中一条证书链中的中间证书和根证书,是否至少有一个中间证书或根证书存在于另一条证书链中,如果有,则进入步骤s5中,否则身份认证失败;
49.s5:私钥持有判断
50.判断第一终端是否持有第一终端证书的私钥,如是则身份认证成功,否则身份认证失败,进而完成身份认证过程。
51.在本实施例中,在步骤s1中,数字证书系统包括根证书、使用根证书签发的中间证书、使用中间证书签发的下级中间证书或终端证书;所有证书均具有系统内唯一标识,所有证书中都包含至少一组非对称密码算法的密钥对中的公钥,匹配的私钥由证书持有者保存;根证书对本证书数据域进行签名并将签名值保存到本证书的自签名域,中间证书由根证书或上级中间证书对本证书的数据域进行签名并将签名值和签发者证书的唯一标识保存到本证书的签发者签名域,再由本证书对本证书的数据域和签发者签名域进行签名并将签名值保存到本证书的自签名域,终端证书由中间证书对本证书的数据域进行签名并将签名值和签发者证书的唯一标识保存到本证书的签发者签名域;终端证书保存到物联网终端中,根证书和所有中间证书保存在能够被物联网终端获取的位置。中间证书进行自签名时,即中间证书的持有者通过对中间证书及其签发者签名值进行签名,承认签发者的合法性;当中间证书可信,则签发该中间证书的上级中间证书或根证书也可信,实现了信任链沿证书链自下而上延伸。
52.需要说明的是,在本实施例中的证书的唯一标识包括但不限于序列号,在证书签发时写入证书数据域。
53.在本实施例中,在步骤s2中,物联网系统中至少包括两个物联网终端,即第一终端、第二终端,两个终端分别持有对应的第一终端证书、第二终端证书;在步骤s3中,在建立证书链时,分别以第一终端证书、第二终端证书为起点,通过证书签发者签名域中的签发者证书唯一标识向上逐级查找并验证签发者证书,获取向上各级的中间证书及根证书,进而形成两条证书链。在步骤s3中,获取证书链后,通过证书链的结构判断证书链是否完整,当证书链中包含终端证书、至少一个中间证书和根证书时,则表示证书链为完整证书链,否则为不完整证书链。
54.在本实施例中,在步骤s3中,验证两条证书链中的终端证书和中间证书的签发者签名的过程具体如下:
55.s301:获取各条证书链中终端证书和所有的中间证书;
56.s302:读取当前证书的数据域、签发者签名域中的签名值,并读取当前证书的签发者证书的公钥;
57.s303:使用当前证书的签发者证书的公钥和当前证书的签发者签名域中的签名值,对当前证书的数据域进行验签;
58.s304:当各条证书链中终端证书和所有的中间证书均能验签成功则表示签发者签名值验证无误,否则表示签名值验证错误,身份认证失败。
59.在本实施例中,步骤s3中,验证中间证书和根证书的自签名的具体过程如下:
60.s311:获取各条证书链中的所有中间证书和根证书;
61.s312:读取当前证书的公钥、自签名域中的签名值,当前证书是中间证书时则读取数据域和签发者签名域,当前证书是根证书时则读取数据域;需要说明的是,签名域中包括签名值和签名证书的唯一标识,均纳入签名和验签范围;
62.s313:当前证书是中间证书时,使用当前证书的公钥和当前证书的自签名域中的签名值,对当前证书的数据域和签发者签名域进行验签;当前证书是根证书是,使用当前证书的公钥和当前证书的自签名域中的签名值,对当前证书的数据域进行验签;
63.s314:当各条证书链中所有中间证书和根证书均能验签成功则表示自签名值验证无误,否则表示自签名值验证错误,身份认证失败。
64.在本实施例中,在步骤s4中,根据步骤s3中获取的证书链结构,读取证书链结构中终端证书、中间证书、根证书的内容,基于各证书的唯一标识,进行逐一查找对比,当其中一条证书链的中间证书/根证书的唯一标识能够在另一条证书链中查找到时,再将已查找到的两条证书链中相同的中间证书/根证书中的其余内容进行比对,比对一致后则进入步骤s5,否则身份认证失败。
65.在本实施例中,在步骤s5中,在判断第一终端是否持有第一终端证书的私钥时,第二终端读取第一终端证书的公钥,并利用公钥对设定数据进行加密,将加密后的设定数据密文发送至第一终端,第一终端尝试利用其持有的私钥进行解密并将结果发送给第二终端,第二终端判断收到的结果与设定数据是否一致,一致则表示第一终端持有第一终端证书的私钥,否则表示第一终端未持有第一终端证书的私钥,身份认证失败。
66.需要说明的是,本实施例以第二终端验证第一终端的身份进行描述,当第一终端验证第二终端的身份时,与第二终端验证第一终端的身份时原理的相同。
67.实施例二
68.在本实施例中,提供一种物联网数字证书签名方法,建立了基于公钥密码技术的数字证书系统,利用该数字证书系统进行数字证书的签名工作,所述数字证书系统包括数字证书管理机构ca,ca具有自签名的根证书rootcer,使用自签名的根证书rootcer签发中间证书middcer,使用中间证书middcer签发下级中间证书或终端证书endcer;所述中间证书middcer在由根证书rootcer或上级中间证书签名后进行自签名;并且,所述中间证书的自签名数据,包含根证书或上级中间证书的签名值。
69.本签名方法重构了pki体系的信任模型,物联网终端设备只需要存储终端证书而不必保存根证书;当物联网系统根证书过期需要更换时,只需使用新根证书重新签发旧根证书签发的、仍在有效期内的中间证书,并且进行中间证书的自签名,而后发布更新后的根证书和中间证书,能够解决物联网应用场景下更换终端中预置的根证书的难题,增强系统安全性、保持系统稳定性、提高管理灵活性。
70.在本实施例中,中间证书进行自签名,相当于中间证书的持有者,通过对中间证书
及其签发者签名值进行签名,承认签发者的合法性;因而如果中间证书可信,则签发该中间证书的上级中间证书或根证书也可信,实现了信任链沿证书链自下而上延伸。
71.本实施例中还提供了一种基于数字证书的物联网终端身份认证方法,利用上述的数字证书系统进行数字证书的签名工作,终端ea和eb分别持有终端证书endcera和endcerb,终端ea向终端eb请求身份认证,其认证过程包括以下步骤:
72.第一步:终端eb收到ea请求身份认证时发送的终端证书endcera
73.第二步:终端eb分别建立终端证书endcera和终端证书endcerb的证书链,每条证书链中包含终端证书、一个或多个中间证书和根证书;终端eb需要验证终端证书和中间证书的签发者签名,还需要验证中间证书和根证书的自签名;如两条证书链均完整且验证无误则继续下一步,否则认证失败;
74.第三步:终端eb检查其中一条证书链中的中间证书和根证书,是否至少有一个中间证书或根证书存在于另一条证书链中,如有则继续下一步,否则认证失败;
75.第四步:终端eb判断终端ea是否持有终端证书endcera的私钥,如是则认证成功,否则认证失败,进而完成身份认证过程。
76.综上所述,上述实施例的基于数字证书的物联网终端身份认证方法,以终端证书为信任锚,通过终端证书的证书链、对终端证书的证书链以及两条证书链的交叉点将信任链延伸至对端设备进而完成身份认证,该认证方法不需要在终端内预置的根证书,能够在不更换终端证书的前提下更新根证书。
77.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
78.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
79.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:
1.一种基于数字证书的物联网终端身份认证方法,其特征在于,包括以下步骤:s1:证书签发利用数字证书系统签发物联网系统中的证书;s2:请求身份认证物联网系统中的第一终端向第二终端请求身份认证并发送第一终端证书,并通过第二终端接收第一终端证书;s3:证书链及签名验证第二终端分别建立第一终端证书、第二终端证书的证书链,并验证两条证书链中的终端证书和中间证书的签发者签名,以及中间证书和根证书的自签名,当两条证书链均完整且各签名验证无误后则进入步骤s4,否则身份认证失败;s4:交叉点存在判断检查其中一条证书链中的中间证书和根证书,是否至少有一个中间证书或根证书存在于另一条证书链中,如果有,则进入步骤s5中,否则身份认证失败;s5:私钥持有判断判断第一终端是否持有第一终端证书的私钥,如是则身份认证成功,否则身份认证失败,进而完成身份认证过程。2.根据权利要求1所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:在所述步骤s1中,所述数字证书系统包括根证书、使用根证书签发的中间证书、使用中间证书签发的下级中间证书或终端证书;所有证书在签发时均被写入系统内唯一标识,所有证书中都包含至少一组非对称密码算法的密钥对中的公钥,匹配的私钥由证书持有者保存;根证书对本证书数据域进行签名并将签名值保存到本证书的自签名域,中间证书由根证书或上级中间证书对本证书的数据域进行签名并将签名值和签发者证书的唯一标识保存到本证书的签发者签名域,再由本证书对本证书的数据域和签发者签名域进行签名并将签名值保存到本证书的自签名域,终端证书由中间证书对本证书的数据域进行签名并将签名值和签发者证书的唯一标识保存到本证书的签发者签名域;终端证书保存到物联网终端中,根证书和所有中间证书保存在能够被物联网终端获取的位置。3.根据权利要求2所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:中间证书进行自签名时,即中间证书的持有者通过对中间证书及其签发者签名值进行签名,承认签发者的合法性。4.根据权利要求1所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:在所述步骤s2中,物联网系统中至少包括两个物联网终端,即第一终端、第二终端,两个终端分别持有对应的第一终端证书、第二终端证书。5.根据权利要求1或3所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:在所述步骤s3中,在建立证书链时,分别以第一终端证书、第二终端证书为起点,通过证书签发者签名域中的签发者证书唯一标识向上逐级查找并验证签发者证书,获取向上各级的中间证书直至根证书,进而形成两条证书链。6.根据权利要求5所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:在所述步骤s3中,获取证书链后,通过证书链的结构判断证书链是否完整,当证书链中包含终端证书、至少一个中间证书和根证书时,则表示证书链为完整证书链,否则为不完整证书
链。7.根据权利要求6所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:在所述步骤s3中,验证两条证书链中的终端证书和中间证书的签发者签名的过程具体如下:s301:获取各条证书链中终端证书和所有的中间证书;s302:读取当前证书的数据域、签发者签名域中的签名值,并读取当前证书的签发者证书的公钥;s303:使用当前证书的签发者证书的公钥和当前证书的签发者签名域中的签名值,对当前证书的数据域进行验签;s304:当各条证书链中终端证书和所有的中间证书均能验签成功则表示签发者签名值验证无误,否则表示签名值验证错误,身份认证失败。8.根据权利要求7所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:在所述步骤s3中,验证中间证书和根证书的自签名的具体过程如下:s311:获取各条证书链中的所有中间证书和根证书;s312:读取当前证书的公钥、自签名域中的签名值,当前证书是中间证书时则读取数据域和签发者签名域,当前证书是根证书时则读取数据域;s313:当前证书是中间证书时,使用当前证书的公钥和当前证书的自签名域中的签名值,对当前证书的数据域和签发者签名域进行验签;当前证书是根证书是,使用当前证书的公钥和当前证书的自签名域中的签名值,对当前证书的数据域进行验签;s314:当各条证书链中所有中间证书和根证书均能验签成功则表示自签名值验证无误,否则表示自签名值验证错误,身份认证失败。9.根据权利要求8所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:在所述步骤s4中,根据步骤s3中获取的证书链结构,读取证书链结构中终端证书、中间证书、根证书的内容,基于各证书的唯一标识,进行逐一查找对比,当其中一条证书链的中间证书/根证书的唯一标识能够在另一条证书链中查找到时,再将已查找到的两条证书链中相同的中间证书/根证书中的其余内容进行比对,比对一致后则进入步骤s5,否则身份认证失败。10.根据权利要求1或9所述的一种基于数字证书的物联网终端身份认证方法,其特征在于:在所述步骤s5中,在判断第一终端是否持有第一终端证书的私钥时,第二终端读取第一终端证书的公钥,并利用公钥对设定数据进行加密,将加密后的设定数据密文发送至第一终端,第一终端尝试利用其持有的私钥进行解密并将结果发送给第二终端,第二终端判断收到的结果与设定数据是否一致,一致则表示第一终端持有第一终端证书的私钥,否则表示第一终端未持有第一终端证书的私钥,身份认证失败。
技术总结
本发明公开了一种基于数字证书的物联网终端身份认证方法,属于物联网技术领域,包括以下步骤:S1:证书签发;S2:请求身份认证;S3:证书链及签名验证;S4:交叉点存在判断;S5:私钥持有判断。本发明以终端证书为信任锚,通过终端证书的证书链、对终端证书的证书链以及两条证书链的交叉点将信任链延伸至对端设备进而完成身份认证,该认证方法不需要在终端内预置的根证书,能够在不更换终端证书的前提下更新根证书。新根证书。新根证书。
技术研发人员:吕浩文
受保护的技术使用者:淮南市公安局
技术研发日:2023.06.12
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:流媒体信源模拟方法及装置与流程 下一篇:一种防蓝光光致变色镜片基片的制备方法与流程
