校验方法及装置与流程

文档序号:12890036阅读:268来源:国知局
校验方法及装置与流程

本发明涉及安全控制领域,主要涉及了一种校验方法及装置。



背景技术:

根据现有ieee1609.2标准,为提升车联网的安全性,车联网内发送的消息都带有数字签名和数字证书,具体的验证方法流程如图1所示,接收消息的网络结点(车辆、路边单元等)要验证证书中心(certificateauthority,ca)分配的数字证书是否合法、且数字签名是否正确,其中数字证书是否合法包含验证数字证书的数字签名是否合法和数字证书是否不在证书撤销列表(certificaterevocationlist,crl)中,当三者验证通过后才读取消息内容。

该证书撤销列表记载了已经撤销的证书,各网络结点要定期从证书中心处下载证书撤销列表,并更新存储的证书撤销列表。由于存储的证书撤销列表会逐渐增长,当证书撤销列表中记载了大量的证书撤销信息时,消息接收者每次查询证书撤销列表都会耗费较多时间。尤其采用专用短程通信技术(dedicatedshortrangecommunications,dsrc)需要各车辆周期性广播信标帧,意味着车辆网中有大量的广播消息,进而各车辆需要耗费大量的资源在证书撤销列表的检索上。



技术实现要素:

本发明实施例提供一种校验方法及装置,用于解决验证发送端发送的消息中的数字证书是否未被撤销需要耗费较多时间的技术问题。

第一方面,本发明提出了一种校验方法,包括:

接收发送端发送的消息,所述消息至少包括消息内容和参考验证码,所述参考验证码由所述发送端根据所述消息内容和所述发送端存储的参考秘密值生成;

获取接收端存储的目标秘密值;

根据所述消息内容和所述目标秘密值生成目标验证码;

当所述目标验证码与所述参考验证码匹配时,确认所述发送端的数字证书未被撤销。

第二方面,本发明提出了另一种校验方法,包括:

获取消息内容和发送端存储的参考秘密值;

根据所述消息内容和所述参考秘密值生成参考验证码;

向接收端发送消息,所述消息至少包括所述消息内容和所述参考验证码。

第三方面,本发明提出了一种校验装置,包括:

接收模块,用于接收发送端发送的消息,所述消息至少包括消息内容和参考验证码,所述参考验证码由所述发送端根据所述消息内容和所述发送端存储的参考秘密值生成;

获取模块,用于获取接收端存储的目标秘密值;

第一计算模块,用于根据所述消息内容和所述目标秘密值生成目标验证码;

第一确认模块,用于当所述目标验证码与所述参考验证码匹配时,确认所述发送端的数字证书未被撤销。

第四方面,本发明提出了另一种校验装置,包括:

获取模块,用于获取消息内容和发送端存储的参考秘密值;

计算模块,用于根据所述消息内容和所述参考秘密值生成参考验证码;

发送模块,用于向接收端发送消息,所述消息至少包括所述消息内容和所述参考验证码。

实施本发明实施例,将具有如下有益效果:

采用了上述的校验方法及装置之后,当接收端接收发送端的消息时,获取消息的消息内容、参考验证码和存储的目标秘密值,由于参考验证码由发送端根据消息内容和参考秘密值生成,目标验证码由接收端根据消息内容和目标秘密值生成,当目标验证码与参考验证码匹配时,确认发送端的数字证书未被撤销。由于计算验证码的过程和查找秘密值的过程只需要获取消息内容、参考验证码和目标秘密值,可快速验证发送端的数字证书未被撤销,从而提高车联网设备的可靠性和安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为现有的一种校验方法的流程图;

图2为本发明实施例提供的一种校验方法的流程图;

图3为本发明实施例提供的一种数字证书未被撤销的网络结点生成秘密值的时序图;

图4为本发明实施例提供的一种校验数字签名的时序图;

图5为本发明实施例提供的一种校验签名值的时序图;

图6为本发明实施例提供的一种校验装置的结构图;

图7为本发明实施例提供的另一种校验方法的流程图;

图8为本发明实施例提供的另一种校验装置的结构图;

图9为本发明实施例提供的一种校验系统的时序图;

图10为一个实施例中运行校验方法的计算机设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据现有标准为提升车联网的安全性,车联网内发送的消息都带有数字签名和数字证书,数字证书是由权威机构——证书中心发行的进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份。用于验证数字证书是否合法的数字签名,又称公钥数字签名或电子签章,是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

为解决现有标准中验证发送端发送的消息中的数字证书是否未被撤销需要耗费较多时间的技术问题,在一个实施例中,本发明第一方面提供了一种校验方法。该方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机系统之上,该计算机程序可以是车联网设备中的一个独立的安全验证软件应用,或者基于安全验证软件应用开发的功能选项或应用插件,该发送端和接收端为车联网设备,可以是汽车设备,也可以是路测单元、移动终端、个人计算机、手持式、膝上型或可穿戴型电子设备、平板电脑和媒体播放器等接入车联网的设备。

常用的加密方法有对称密钥加密或非对称密钥加密,其中,对称密钥又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。非对称密钥加密,又称公钥密钥加密。它需要使用一对密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。需要说明的是,公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密。本发明实施例对于采用加密的方法不作限定,优选的采用非对称密码进行加密。

结合一个发送电子邮件的例子来说,假设收件人拥有发件人的公钥,且存在多个收件人。发件人用私钥对邮件内容进行加密,然后发送给收件人,收件人分别使用发件人的公钥对邮件内容进行解密,当邮件内容在传送过程中没有被修改,则能保证解密处理的邮件内容为发件人发送的内容,从而读取邮件内容。且私钥只有发件人有,这样就保证了这个邮件是发件人发送的。

本实施例中,证书中心、发送端和接收端都有属于自己的公钥和私钥,也就是说发送端和接收端可以有证书中心的公钥,发送端和证书中心可以有接收端的公钥,证书中心和接收端可以有发送端的公钥,而它们各自的私钥只有自己拥有。

哈希函数,也可称为散列函数,将任意长度的消息映射为较短的、固定长度的一个值作为认证符,该认证符可称为哈希值、散列值、杂凑值、杂凑码或消息摘要、数组指纹等。哈希函数主要用于信息安全领域中加密算法,哈希函数在信息安全方面的应用主要体现在文件校验、数字签名和校验协议3个方面。哈希函数为一种单向密码体制,即它从一个明文到密文是不可逆映射,只有加密过程,不能解密,从而提供一种错误检测能力,即改变消息中任何一个比特或几个比特都会使认证符发生变化。

本实施例中,哈希函数的构造方法可为直接定址法、数字分析法、平均取中法、折叠法、除留余数法和随机数法等中的一种或多种构造方法的结合,本发明实施例不作限定。

具体的,如图2所示,一种校验方法,包括:

步骤s102:接收发送端发送的消息。

本实施例中,消息至少包括消息内容和参考验证码,还可包括数字证书的数字签名和签名值等等,其中,数字签名用于验证发送端是否合法,签名值用于验证接收端接收的消息是否来自发送端。

参考验证码将消息内容和参考秘密值进行加密,用于判断发送端的数字证书是否未被撤销,当接收端接收到的参考验证码与接收端计算得到的目标验证码匹配时,则确认发送端的数字证书未被撤销。本实施例中,对于参考验证码的计算方法不作限定。

可选的,参考验证码由发送端采用哈希函数对消息内容和发送端存储的参考秘密值进行计算得到。参考验证码v的计算公式为:

v=hash(m,s)(1)

其中,m为消息内容,s为参考秘密值。

本实施例中,将发送端存储的秘密值作为参考秘密值,将接收端存储的秘密值作为目标秘密值。将数字证书未被撤销的网络结点作为参考端,参考端的秘密值的生成过程如图3所示,证书中心定期为参考端分配秘密值,接收所有参考端的公钥,分别使用参考端的公钥对秘密值进行加密得到加密秘密值,将加密秘密值发送给参考端,每个参考端收到加密秘密值后使用自己的私钥进行解密得到秘密值,并将秘密值进行存储。

需要说明的是,发送端获取新的参考秘密值时,将参考秘密值进行存储,并删除原来存储的参考秘密值,也就是说存储的参考秘密值是根据证书中心定期更新的,从而提高了秘密值的有效性。

举例来说,假设认证中心每隔10天更新秘密值,2017年3月6日分配秘密值为010,某一结点的数字证书在2017年3月6日时未被撤销,经过一系列计算秘密值为010。在2017年3月16日证书中心分配秘密值为011,若此时该结点的数字证书仍然未被撤销,则经过一系列计算秘密值为011;若在2017年3月12日该结点的数字证书为已撤销,则该结点的存储的秘密值仍然为010,该秘密值已经失效。

步骤s104:获取接收端存储的目标秘密值。

如图3所示,上述步骤s102已介绍证书中心定期为每一个数字证书未被撤销的结点分配了一个秘密值,则将接收端存储的秘密值作为目标秘密值。本实施例中,假设接收端的数字证书未被撤销,则接收端存储的目标秘密值与证书中心分配的秘密值匹配。

步骤s106:根据消息内容和目标秘密值生成目标验证码。

需要说明的是,根据消息内容和目标秘密值生成目标验证码的计算方法和根据消息内容和目标秘密值生成参考验证码的计算方法一致。

当参考验证码由发送端采用哈希函数对消息内容和参考秘密值进行计算得到,则目标验证码由发送端采用哈希函数对消息内容和接收端存储的目标秘密值进行计算得到,则目标验证码v*的计算公式为:

v*=hash(m,s)(2)

其中,m为消息内容,s为目标秘密值。

步骤s108:当目标验证码与参考验证码匹配时,确认发送端的数字证书未被撤销。

本实施例中,当v*=v时,也就是目标验证码与参考验证码匹配时,确认该发送端的数字证书未被撤销,也就是说数字证书未被证书中心撤销。由于接收得到的参考验证码是发送端采用哈希函数对消息内容和参考秘密值进行计算得到的,计算得到的目标验证码是接收端采用哈希函数对消息内容和目标秘密值进行计算得到的,则只有目标秘密值与参考秘密值匹配时,才有可能得到匹配的秘密值。由于计算验证码的过程和查找秘密值的过程只需要获取消息内容、参考验证码和目标秘密值,从而提高了判断数字证书是否未被撤销的效率。

举例来说,假设认证中心每隔10天更新秘密值,2017年3月6日分配秘密值为010,某发送端在2017年3月6日时的数字证书未被撤销,经过一系列计算参考秘密值为010。若在2017年3月12日该发送端的数字证书已被撤销,当证书中心在2017年3月16日分配秘密值为011,则该发送端的存储的参考秘密值仍然为010,采用哈希函数根据该参考秘密值010和消息内容生成参考验证码110,将包含消息内容和参考验证码110的消息发送给接收端。由于接收端为合法结点,则存储的目标秘密值为011,采用哈希函数根据该目标秘密011值和消息内容生成目标验证码111,则目标验证码111和参考验证码110不匹配,该发送端的数字证书已被撤销,是非法证书。

此外,除了验证发送端的数字证书未被撤销之外,还应验证发送端是否合法,且消息是否为发送端发送的。

可选的,在接收发送端发送的消息之后,方法还包括:对发送端的公钥进行加密生成第一加密摘要,采用证书中心的公钥对数字签名进行解密,得到第一解密摘要;当第一解密摘要与第一加密摘要匹配时,确认数字签名合法。

其中,数字签名由证书中心采用其私钥对第一参考摘要进行加密生成,该第一加密摘要由由证书中心对发送端的公钥进行加密生成。当第一解密摘要与第一加密摘要匹配时,确认该发送端的数字证书的数字签名合法。

需要说明的是,当数字签名合法且数字证书未被撤销时,则确认发送端的数字证书合法,也就是说,发送端是合法的。

具体的,验证数字证书是否合法的过程如图4所示,证书中心采用哈希函数对发送端的公钥生成第一参考摘要,使用证书中心的私钥对第一参考摘要进行加密得到的数字签名。发送端向接收端发送消息,消息中包括数字签名。接收端获取消息包括的数字签名,采用哈希函数对发送端的公钥生成第一加密摘要,使用证书中心的公钥对数字签名进行解密得到第一解密摘要;当第一解密摘要与第一加密摘要匹配时,确认数字签名合法。

可选的,在接收发送端发送的消息之后,方法还包括:根据消息内容和参考验证码生成第二加密摘要,采用发送端的公钥对签名值进行解密生成第二解密摘要,当第二解密摘要与第二加密摘要匹配时,确认消息来自发送端。

其中,签名值由发送端采用其私钥对第二参考摘要进行加密生成,该第二参考摘要由发送端根据消息内容和参考验证码生成。具体的,验证消息内容是否为发送端发送的过程如图5所示,发送端采用哈希函数对消息内容和参考验证码生成第二参考摘要;使用发送端的私钥对第二参考摘要进行加密得到的签名值。发送端向接收端发送消息,消息中包括签名值。接收端接收发送端发送的消息,获取消息包括的签名值,采用哈希函数对消息内容和参考验证码生成第二加密摘要,使用发送端的公钥对签名值进行解密得到的第二解密摘要;当第二解密摘要与第二加密摘要匹配时,确认消息来自发送端。

需要说明的是,确认消息内容是否是发送端发送的、发送端的数字证书是否未被撤销和发送端的数字证书是否合法三者的验证顺序可变化,当且仅当三者验证通过时接收端校验完毕,读取消息内容。

可选的,当确认数字证书未被撤销、数字签名合法且消息来自发送端时,读取消息内容。

其中,当确认数字证书未被撤销且数字签名合法时,确认数字证书合法,即发送端合法。也就是说,当发送端合法且消息来自发送端时,才读取消息内容。

本发明第二方面提供还提供了另一种校验方法,具体的,如图6所示,一种校验方法,包括:

步骤s202:获取消息内容和发送端存储的参考秘密值。

本实施例中,将发送端存储的秘密值作为参考秘密值,将接收端存储的秘密值作为目标秘密值。将数字证书未被撤销的终端作为参考端,参考端的秘密值的生成过程如图3所示,证书中心定期为参考端分配秘密值,接收所有参考端的公钥,分别使用参考端的公钥对秘密值进行加密得到加密秘密值,将加密秘密值发送给参考端,每个参考端收到加密秘密值后使用自己的私钥进行解密得到秘密值,并将秘密值进行存储。

需要说明的是,发送端获取新的参考秘密值时,将参考秘密值进行存储,并删除原来存储的参考秘密值,也就是说存储的参考秘密值是根据证书中心定期更新的,从而提高了秘密值的有效性。

举例来说,假设认证中心每隔10天更新秘密值,2017年3月6日分配秘密值为010,某一结点的数字证书在2017年3月6日时未被撤销,经过一系列计算秘密值为010。在2017年3月16日证书中心分配秘密值为011,若此时该结点的数字证书仍然未被撤销,则经过一系列计算秘密值为011;若在2017年3月12日该结点的数字证书为已撤销,则该结点的存储的秘密值仍然为010,该秘密值已经失效。

步骤s204:根据消息内容和参考秘密值生成参考验证码。

本实施例中,参考验证码将消息内容和参考秘密值进行加密,用于判断发送端的数字证书是否未被撤销,当接收端接收到的参考验证码与接收端计算得到的目标验证码匹配时,则确认发送端的数字证书未被撤销。本实施例中,对于参考验证码的计算方法不作限定。

可选的,参考验证码由发送端采用哈希函数对消息内容和发送端存储的参考秘密值进行计算得到。

步骤s206:向接收端发送消息。

本实施例中,消息至少包括消息内容和参考验证码。具体的校验方法如图1所示的校验方法的流程图所示,在此不再赘述。

可选的,消息还包括数字证书的数字签名。

其中,数字签名由证书中心采用其私钥对第一参考摘要进行加密生成,第一参考摘要由证书中心对发送端的公钥进行加密生成。数字签名用于验证发送端的数字证书是否合法,具体的,验证数字证书是否合法的过程如图4所示,在此不再赘述。

需要说明的是,当数字签名合法且数字证书未被撤销时,则确认发送端的数字证书合法,也就是说,发送端是合法的。

可选的,消息还包括签名值。

其中,签名值由发送端采用其私钥对第二参考摘要进行加密生成,第二参考摘要由发送端根据消息内容和参考验证码生成。签名值用于验证接收端接收的消息是否来自发送端,具体的,验证签名值是否为发送端发送的过程如图5所示,在此不再赘述。

需要说明的是,生成消息内容是否是发送端发送的、发送端是否为合法结点和发送端的数字证书是否合法三者的验证顺序可变化,当且仅当三者验证通过时接收端校验完毕,读取消息内容。

本发明第三方面提供一种校验装置。如图7所示,上述校验装置包括接收模块102、获取模块104、第一计算模块106以及第一确认模块108,其中:

接收模块102,用于接收发送端发送的消息,消息至少包括消息内容和参考验证码,参考验证码由发送端根据消息内容和发送端存储的参考秘密值生成;

获取模块104,用于获取接收端存储的目标秘密值;

第一计算模块106,用于根据消息内容和目标秘密值生成目标验证码;

第一确认模块108,用于当目标验证码与参考验证码匹配时,确认发送端的数字证书未被撤销。

在其中一个实施例中,消息还包括数字证书的数字签名,数字签名由证书中心采用其私钥对第一参考摘要进行加密生成,第一参考摘要由证书中心对发送端的公钥进行加密生成;

装置还包括:

第二计算模块110,用于对发送端的公钥进行加密生成第一加密摘要,采用证书中心的公钥对数字签名进行解密,得到第一解密摘要;

第二确认模块112,用于当第一解密摘要与第一加密摘要匹配时,确认数字签名合法。

在其中一个实施例中,消息还包括签名值,签名值由发送端采用其私钥对第二参考摘要进行加密生成,第二参考摘要由发送端根据消息内容和参考验证码生成;

装置还包括:

第三计算模块114,用于根据消息内容和参考验证码生成第二加密摘要,采用发送端的公钥对签名值进行解密生成第二解密摘要;

第三确认模块116,用于当第二解密摘要与第二加密摘要匹配时,确认消息来自发送端。

在其中一个实施例中,第一计算模块106具体用于采用哈希函数对消息内容和目标秘密值进行计算得到目标验证码。

在其中一个实施例中,装置还包括:

读取模块118,用于当确认数字证书未被撤销、数字签名合法且消息来自发送端时,读取消息内容。

可理解的是,本实施例的校验装置的各功能模块的功能可根据上述图2方法实施例的方法具体实现,此处不再赘述。

本发明第四方面还提供了一种校验装置。如图8所示,上述校验装置包括获取模块202、计算模块204以及发送模块206,其中:

获取模块202,用于获取消息内容和发送端存储的参考秘密值;

计算模块204,用于根据消息内容和参考秘密值生成参考验证码;

发送模块206,用于向接收端发送消息,消息至少包括消息内容和参考验证码。

在其中一个实施例中,消息还包括数字证书的数字签名,数字签名由证书中心采用其私钥对第一参考摘要进行加密生成,第一参考摘要由证书中心对发送端的公钥进行加密生成。

在其中一个实施例中,消息还包括签名值,签名值由发送端采用其私钥对第二参考摘要进行加密生成,第二参考摘要由发送端根据消息内容和参考验证码生成。

在其中一个实施例中,计算模块204具体用于采用哈希函数对消息内容和参考秘密值进行计算得到参考验证码。

可理解的是,本实施例的校验装置的各功能模块的功能可根据上述图6方法实施例的方法具体实现,此处不再赘述。

此外,本发明第五方面还提供了一种校验系统。如图9所示的校验系统的时序图,上述校验系统包括证书中心302、与证书中心302连接的发送端304、与发送端304连接的接收端306,其中:

步骤s302:证书中心302采用证书中心302的私钥对发送端304的第一参考摘要进行加密生成发送端304的数字证书的数字签名。

本实施例中,证书中心302、发送端304和接收端306都有属于自己的公钥和私钥,也就是说发送端304和接收端306可以有证书中心的公钥,发送端304和证书中心302可以有接收端306的公钥,证书中心302和接收端306可以有发送端304的公钥,而它们各自的私钥只有自己拥有。可选的,采用哈希函数进行加密或解密。

本实施例中,数字签名由证书中心302采用其私钥对第一参考摘要进行加密生成,该第一加密摘要由由证书中心302对发送端304的公钥进行加密生成。当第一解密摘要与第一加密摘要匹配时,确认该发送端的数字证书的数字签名合法。

步骤s304:证书中心302向发送端304发送发送端304的数字签名。

步骤s306:发送端304获取消息内容和发送端304存储的参考秘密值,根据消息内容和参考秘密值生成参考验证码,根据消息内容和参考验证码生成签名值。

本实施例中,将发送端304存储的秘密值作为参考秘密值,将接收端306存储的秘密值作为目标秘密值。将数字证书未被撤销的网络结点作为参考端,参考节点的秘密值的生成过程如图3所示,证书中心定期为参考端分配秘密值,接收所有参考端的公钥,分别使用参考端的公钥对秘密值进行加密得到加密秘密值,将加密秘密值发送给参考端,每个参考端收到加密秘密值后使用自己的私钥进行解密得到秘密值,并将秘密值进行存储。

需要说明的是,发送端304获取新的参考秘密值时,将参考秘密值进行存储,并删除原来存储的参考秘密值,也就是说存储的参考秘密值是根据证书中心定期更新的,从而提高了秘密值的有效性。

举例来说,假设认证中心每隔10天更新秘密值,2017年3月6日分配秘密值为010,某一结点的数字证书在2017年3月6日时未被撤销,经过一系列计算秘密值为010。在2017年3月16日证书中心分配秘密值为011,若此时该结点的数字证书仍然未被撤销,则经过一系列计算秘密值为011;若在2017年3月12日该结点的数字证书为已撤销,则该结点的存储的秘密值仍然为010,该秘密值已经失效。

本实施例中,参考验证码将消息内容和参考秘密值进行加密,用于判断发送端304的数字证书是否未被撤销,当接收端306接收到的参考验证码与接收端306计算得到的目标验证码匹配时,则确认发送端304的数字证书未被撤销。本实施例中,对于参考验证码的计算方法不作限定。

可选的,参考验证码由发送端304采用哈希函数对消息内容和发送端304存储的参考秘密值进行计算得到。

可选的,签名值由发送端304采用其私钥对第二参考摘要进行加密生成,第二参考摘要由发送端304根据消息内容和参考验证码生成。签名值用于验证接收端306接收的消息是否来自发送端304。

步骤s308:发送端304向接收端306发送消息。

本实施例中,消息至少包括消息内容、参考验证码、数字签名和签名值。

步骤s310:接收端306获取接收端306存储的目标秘密值,根据消息内容和目标秘密值生成目标验证码,当目标验证码与参考验证码匹配时,确认发送端304的数字证书未被撤销。

如图3所示,上述步骤s306已介绍证书中心302定期为每一个数字证书未被撤销的结点分配了一个秘密值,则将接收端306存储的秘密值作为目标秘密值。本实施例中,假设接收端306的数字证书未被撤销,则接收端306存储的目标秘密值与证书中心302分配的秘密值匹配。

需要说明的是,根据消息内容和目标秘密值生成目标验证码使用的方法必须和根据消息内容和目标秘密值生成参考验证码的方法相同。

当参考验证码由发送端304采用哈希函数对消息内容和参考秘密值进行计算得到,则目标验证码由发送端304采用哈希函数对消息内容和接收端306存储的目标秘密值进行计算得到。

本实施例中,当目标验证码与参考验证码匹配时,确认该发送端的数字证书未被撤销,也就是说数字证书未被证书中心撤销。由于接收得到的参考验证码是发送端采用哈希函数对消息内容和参考秘密值进行计算得到的,计算得到的目标验证码是接收端采用哈希函数对消息内容和目标秘密值进行计算得到的,则只有目标秘密值与参考秘密值匹配时,才有可能得到匹配的秘密值。由于计算验证码的过程和查找秘密值的过程只需要获取消息内容、参考验证码和目标秘密值,从而提高了判断数字证书是否未被撤销的效率。

步骤s312:接收端306对发送端304的公钥进行加密生成第一加密摘要,采用证书中心302的公钥对数字签名进行解密,得到第一解密摘要;当第一解密摘要与第一加密摘要匹配时,确认数字签名合法。

需要说明的是,当数字签名合法且数字证书未被撤销时,则确认发送端304的数字证书合法,也就是说,发送端304是合法的。

具体的,证书中心采用哈希函数对发送端的公钥生成第一参考摘要,使用证书中心的私钥对第一参考摘要进行加密得到的数字签名。验证数字证书是否合法的过程如图4所示,接收端接收发送端发送的消息,获取消息包括的数字签名,采用哈希函数对发送端的公钥生成第一加密摘要;使用证书中心的公钥对数字签名进行解密得到第一解密摘要;当第一解密摘要与第一加密摘要匹配时,确认数字签名合法。

步骤s314:接收端306根据消息内容和参考验证码生成第二加密摘要,采用发送端的公钥对签名值进行解密生成第二解密摘要,当第二解密摘要与第二加密摘要匹配时,确认消息来自发送端。

具体的,发送端采用哈希函数对消息内容和参考验证码生成第二参考摘要;使用发送端的私钥对第二参考摘要进行加密得到的签名值。验证消息内容是否为发送端发送的过程如图5所示,接收端接收发送端发送的消息,获取消息包括的签名值,采用哈希函数对消息内容和参考验证码生成第二加密摘要,使用发送端的公钥对签名值进行解密得到的第二解密摘要;当第二解密摘要与第二加密摘要匹配时,确认消息来自发送端。

步骤s316:接收端306读取消息内容。

当接收端306确认数字证书未被撤销且数字签名合法时,确认数字证书合法,即发送端304合法。也就是说,当发送端304合法且消息来自发送端304时,才读取消息内容。

需要说明的是,生成消息内容是否是发送端304发送的、发送端304是否为合法结点和发送端304的数字证书是否合法三者的验证顺序可变化,也就是说,步骤s310、步骤s312和步骤s314的顺序可变,当且仅当三者验证通过时接收端校验完毕,读取消息内容。

综上,当接收端接收发送端的消息时,获取消息的消息内容、参考验证码和存储的目标秘密值,由于参考验证码由发送端根据消息内容和参考秘密值生成,目标验证码由接收端根据消息内容和目标秘密值生成,当目标验证码与参考验证码匹配时,确认发送端的数字证书未被撤销。由于计算验证码的过程和查找秘密值的过程只需要获取消息内容、参考验证码和目标秘密值,可快速验证发送端的数字证书未被撤销,从而提高车联网设备的可靠性和安全性。

参见图10,本发明实施例还提供一种设备600,该设备600包括但不限于:智能手机、智能手表、平板电脑、个人计算机、笔记本电脑或计算机群组,如图10所示,该设备600包括:处理器601、存储器602、收发器603和总线604。收发器603用于与外部设备之间收发数据。设备600中的处理器601的数量可以是一个或多个。本申请的一些实施例中,处理器601、存储器602和收发器603可通过总线系统或其它方式连接。设备600可以用于执行图2、图6所示的方法。关于本实施例涉及的术语的含义以及举例,可以参考图2、图6对应的说明。此处不再赘述。

其中,存储器602中存储程序代码。处理器601用于调用存储器602中存储的程序代码,用于执行如图2、图6所示的步骤。

需要说明的是,这里的处理器601可以是一个处理元件,也可以是多个处理元件的统称。例如,该处理元件可以是中央处理器(centralprocessingunit,cpu),也可以是特定集成电路(applicationspecificintegratedcircuit,asic),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalsignalprocessor,dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,fpga)。

存储器602可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或应用程序运行装置运行所需要参数、数据等。且存储器603可以包括随机存储器(ram),也可以包括非易失性存储器(non-volatilememory),例如磁盘存储器,闪存(flash)等。

总线604可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

该设备还可以包括输入输出装置,连接于总线604,以通过总线与处理器601等其它部分连接。该输入输出装置可以为操作人员提供一输入界面,以便操作人员通过该输入界面选择布控项,还可以是其它接口,可通过该接口外接其它设备。

在上述实施例中,可以全部或部分的通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或者数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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