一种基于PKI技术的设备间证书验证方法与流程

文档序号:20038470发布日期:2020-02-28 11:36阅读:599来源:国知局
一种基于PKI技术的设备间证书验证方法与流程

本发明涉及信息安全技术,尤其涉及一种基于pki技术的设备间证书验证系统。



背景技术:

pki(publickeyinfrastructure)是公钥基础设施的简称,是利用公钥理论和数字证书来提供系统信息安全服务,并负责验证数字证书持有者身份的一种体系。pki是目前网络安全建设的核心和关键,也是为电子商务发展提供保障的基础,它保证了通信数据的私密性、完整性、不可否认性和源认证性。

在设备之间传送数字信息的过程中,首先需要解析证书、验证完整的证书链以及设备的信息,认证通过后,才可以进行后续正常的业务操作。但是,每一次收到数字证书都要对其进行解析和验证,认证流程复杂且需要一定的时长。

随着物联网技术的快速发展,物物间设备相互认证的需求明显增加,而物联网设备普遍要求低功耗、低时延,设备间认证时原有的pki技术证书认证流程复杂且耗时,无法满足设备间相互快速认证的需求。



技术实现要素:

本发明的目的在于提供一种基于pki技术的设备间证书验证方法,用于解决设备间认证时,认证流程复杂,需要较长的时长、时延长的问题。

本发明提供了基于pki技术的设备间证书验证方法,验证设备至少包括证书授权中心ca、需要认证的设备a以及设备b,设备a内保存设备数字证书certa和以及证书授权中心ca的根证书certca,设备b内至少保存证书授权中心ca的根证书certca。

设备b内保存表tb,该表中记载已认证设备id和设备a的数字证书certa的hash值。

设备b对所述设备a的验证包括以下步骤:

第一步骤s1,设备a将其设备id和设备a数字证书certa发送给设备b;

第二步骤s2,设备b对设备a的certa进行哈希运算,得到哈希值h(certa),并检查设备a的设备id和certa的hash值h(certa)是否存在表tb中;

如果设备a的certa的hash值h(certa)以及设备id存在于表tb中,认证通过,否则,转入第三步骤s3;

第三步骤s3,设备b验证设备a数字证书有效性;

设备a数字证书有效时,转入第四步骤s4;

第四步骤s4,将设备a的设备id和certa记载在表tb中,认证通过。

进一步地,设备id为网络中可唯一标识设备的id。

进一步地,设备b验证设备a数字证书有效性包括:验证设备数字证书有效期以及通过根证书检查证书链有效性。

进一步地,设备b验证设备a数字证书有效性还包括:验证根证书有效性和证书吊销列表crl。

进一步地,设备b内还保存certb,所述设备a内还保存表ta,该表中记载已认证设备id和设备b的数字证书certb的hash值,设备a采用与所述设备b同样的步骤,认证设备b,所述设备a和所述设备b之间进行双向认证。

进一步地,包含多个证书授权中心ca,设备a和设备b内分别保存多个证书授权中心ca的根证书certca,设备a与设备b根据不同根ca交叉验证设备数字证书有效性。

附图说明

图1为pki技术的设备间证书验证系统

图2为数字证书结构图;

图3为设备数字证书快速验证流程的具体例;

图4为现有基于pki技术数字证书验证流程。

具体实施方式

下面结合附图和实施例对本发明进行详细阐述。

如图1所示,pki技术的设备间证书验证系统由证书授权中心ca(服务器)及需要进行认证的设备a、b、…、n组成。

ca负责设备的数字证书cert的发放。数字证书cert发放流程遵循传统pki技术下的发放流程,支持但不限于rsa、ecc和sm2等非对称算法。

设备a、b、…、n中分别保存了各自的数字证书certa、certb、…、certn以及根证书certca。

图2为数字证书结构图。数字证书cert是一个经证书授权中心ca(以下简称ca)数字签名的文件。数字证书cert包括两部分:拥有者(设备)的公钥及主体名等相关身份信息、颁发者(ca)的名称、密钥的有效期、颁发者颁发证书使用的签名算法等信息,构成证书信息;以及颁发者用私钥对证书信息部分使用签名算法进行签名,构成签名信息。

同时,设备a、b、…、n中,相互认证的两设备内还分别保存一张已认证通过的设备证书的hash表t,该表中包含已认证设备id和设备数字证书hash值。关于设备数字证书的hash表t的生成以下详细说明。

以下以设备a和设备b为例,说明设备a和设备b之间的设备数字证书认证流程。

设备数字证书cert发放流程完成后,设备a和b分别保存了各自的数字证书certa、certb以及根证书certca。

同时,设备a和设备b内还分别保存了设备证书certa和certb的hash表ta和tb,该表中包含已认证设备id和设备证书hash值。当无任何已认证设备时,hash表为空。

如图3所示,设备b认证设备a证书的流程如下:

第一步骤s1,设备a将其设备id和设备a的数字证书certa发送给设备b。

设备id可以为mac地址、imei号等在网络中可唯一标识设备的id。

第二步骤s2,设备b对设备a的certa进行哈希运算,得到哈希值h(certa),并检查设备a的设备id和certa的hash值h(certa)是否在表tb中。

如果设备a的数字证书certa的hash值h(certa)以及设备id存在于表tb中,表示设备a的数字证书certa已认证通过且其内容未被修改。此时认证通过,可以安全地进行后续正常业务操作。

否则,表示设备a的数字证书certa未被认证,由设备b对其有效性进行验证。转入第三步骤s3。

第三步骤s3,设备b验证设备a的数字证书certa有效性。

此步骤与现有基于pki技术数字证书验证流程相同。即如图4所示。

步骤s31,设备b得到数字证书certa的证书信息以及签名信息。

步骤s32,读取certa证书信息中“有效期”内容、判断当前日期是否在有效期内。如果当前日期不在有效期内,直接返回认证失败,否则,转入步骤s33。

步骤s33,读取certa证书信息中“签名算法”内容,使用根证书certca中ca的公钥对签名信息进行解密,得到哈希后的摘要h。

步骤s34,将数字证书certa的证书信息部分进行哈希操作,得到哈希后的摘要h’,并判断h和h’是否相同。如果相同,相关证书链有效,转入第四步骤s4。

第四步骤s4,设备b将设备a的id和数字证书certa加入表tb中,认证通过,认证流程结束。

以上实施方式中,设备b验证设备a的数字证书certa有效性是通过验证certa证书信息中“有效期”内容以及通过根证书检查证书链有效性。

变形例中,第三步骤s3中,设备b验证设备a数字证书有效性还包括:验证根证书有效性和证书吊销列表crl。

本实施方式由以上构成,由实施方式可知,本发明提供的基于pki技术的设备间证书验证方法,只要通过一次验证,通过在认证设备内保存首次通过认证的设备证书的hash表(包括设备id及设备证书hash值),后续认证只需查询hash表中是否包含相关信息就能得出认证结果,无需每一次认证都解析证书并进行验证,减少了步骤,降低了设备认证时所需计算资源,缩短了认证时延,提升了效率。

并且,无需改造ca服务器,在保证安全性的同时满足物联网环境下的设备认证需求。

以上对设备b认证设备a证书的流程进行了说明,但设备a同样能认证设备b数字证书,其流程与上述流程一致。数字证书认证通过后,设备a和b之间可进行后续正常业务操作,如密钥交换、数据加解密、签名验签等。

该方法同样适用多个跨ca间的认证,只需在设备端保存多张ca证书即可。首次认证时根据不同根ca交叉验证证书有效性,验证通过后,再次认证流程与单一ca认证流程保持一致。

本实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1