首页> 中国专利> 基于SM9算法的车辆身份认证方法、系统、装置及存储介质

基于SM9算法的车辆身份认证方法、系统、装置及存储介质

摘要

本申请实施例提供了一种基于SM9算法的车辆身份认证方法、系统、装置及存储介质,方法包括:根据第一车端的身份标识,生成第一车端的公钥,并基于第一车端的公钥对的验证信息进行加密并同第二车端的身份标识发送至第一车端,根据第二车端的身份标识,生成第二车端的公钥,再利用第二车端的公钥对验证信息进行加密并发送至第二车端;第二车端根据自身的私钥对验证信息进行解密,并与之前的验证信息进行比对,确定认证结果。在云端无需传统运维PKI系统,大幅降低了云端运营成本,采用对方身份标识基于SM9算法生成对方公钥证书,无须从云端同步车辆身份证书,解决了认证效率低、时延长的问题,并且不存在由于证书更新引发的身份假冒攻击风险。

著录项

  • 公开/公告号CN113852632A

    专利类型发明专利

  • 公开/公告日2021-12-28

    原文格式PDF

  • 申请/专利权人 北京明朝万达科技股份有限公司;

    申请/专利号CN202111124163.7

  • 申请日2021-09-24

  • 分类号H04L29/06(20060101);H04L9/08(20060101);H04L29/08(20060101);

  • 代理机构11319 北京润泽恒知识产权代理有限公司;

  • 代理人莎日娜

  • 地址 100142 北京市海淀区阜外亮甲店1号恩济西园产业园16号楼B座

  • 入库时间 2023-06-19 13:26:15

说明书

技术领域

本文涉及车联网领域,尤其涉及一种基于SM9算法的车辆身份认证方法、系统、装置及存储介质。

背景技术

随着互联网、人工智能、云计算和大数据等技术的应用,汽车的智能化、联网化程度越来越高,汽车已成为的万物互联时代的智能终端设备。通过更加开放的车内通信、车车通信、车人通信、车路通信、车和基础设施通信等方式,智能网联汽车将极大地增加了汽车上路行驶中信息的交互。智能网联后也为各个终端与智能网联汽车运营服务间应用、数据的安全、身份认证提出了新的要求。由于缺乏身份认证、传输数据加密,攻击者对车辆信息接口的攻击、拦截通信线路,造成车辆信息泄露甚至接管汽车控制系统,进而引起事故,后果不堪设想。在当前的车联网应用中,通过PKI公钥证书体系来保障车车通信、车云通信安全,验证对方的身份信息、加密通密数据

相关技术中,PKI公钥证书体系,由于其本身采用的SM2\SM3\SM4算法自身的特点,身份证书验证过程效率较低、时延长,无法适应车联网环境中,车辆快速移动过程中的通信要求。并且由于云端需要托管、运维车辆的身份证书,因此云端运维成本高。并且当车辆更新身份证书时,云端需要一定时间来完成证书更新,车辆需要一定时间同步新证书,因此存在身份假冒的攻击风险。

发明内容

本发明实施例提供一种基于SM9算法的车辆身份认证方法、系统、装置及存储介质,旨在针对以上特殊情况下存在的问题。

为了解决上述技术问题,本发明是这样实现的:

第一方面,本发明实施例提供了一种基于SM9算法的车辆身份认证方法,应用于车联网,所述车联网包括云平台,以及与所述云平台通信连接的多个车端,所述车端本地存储有经所述云平台根据所述车端的身份标识所生成的私钥,所述方法包括:第一车端向第二车端发送身份验证请求,所述身份验证请求携带有所述第一车端的身份标识;

所述第二车端根据所述第一车端的身份标识,生成第一车端的公钥,并基于所述第一车端的公钥对预先生成的验证信息进行加密,生成第一验证密文并同所述第二车端的身份标识发送至所述第一车端;

所述第一车端根据自身的私钥对所述第一验证密文进行解密,得到所述验证信息,并根据所述第二车端的身份标识,生成第二车端的公钥,再利用所述第二车端的公钥对所述验证信息进行加密,生成第二验证密文并发送至所述第二车端;

所述第二车端根据自身的私钥对所述第二验证密文进行解密,并将解密后得到的验证信息与所述预先生成的验证信息进行比对,在解密后得到的验证信息与所述预先生成的验证信息比对一致的情况下,确定认证成功。

可选地,所述车端是通过以下步骤得到自身私钥的:

所述车端向所述云平台发送私钥请求,所述私钥请求携带由所述车端的身份标识;

所述云平台根据所述车端的身份标识,生成所述车端的私钥,并基于预先生成的车云共享密钥对所述私钥进行加密,生成车端的私钥密文并下发给所述车端;

所述车端基于所述车云共享密钥对所述车端的私钥密文进行解密,得到自身私钥,并存储在本地。

可选地,基于预先生成的车云共享密钥对所述私钥进行加密包括:

云平台基于SM9算法生成签名主密钥对和加密主密钥对,并通过Diffie-Hellman密钥交换协议与车端通信,生成车云共享密钥,其中,所述加密主密钥对包括加密主私钥和加密主公钥;

云平台基于SM4算法和所述车云共享密钥对所述车端的私钥进行加密。可选地,所述方法还包括:

在确定认证成功的情况下,第一车端根据二车端的公钥对待通信数据进行加密,生成待通信数据密文并发送至所述第二车端;

所述第二车端根据第一车端的公钥对待通信数据密文进行解密,生成待通信数据明文,并根据所述生成待通信数据明文生成响应数据,再利用所述第一车端的公钥对所述响应数据进行加密,生成响应数据密文并发送至所述第一车端;

所述第一车端根据第二车端的公钥对响应数据密文进行解密,生成响应数据明文。

第二方面,本发明实施例提供了一种基于SM9算法的车辆身份认证系统,所述系统包括:

身份请求模块,用于第一车端向第二车端发送身份验证请求,所述身份验证请求携带有所述第一车端的身份标识;

第一密文生成模块,用于所述第二车端根据所述第一车端的身份标识,生成第一车端的公钥,并基于所述第一车端的公钥对预先生成的验证信息进行加密,生成第一验证密文并同所述第二车端的身份标识发送至所述第一车端;

第二密文生成模块,用于所述第一车端根据自身的私钥对所述第一验证密文进行解密,得到所述验证信息,并根据所述第二车端的身份标识,生成第二车端的公钥,再利用所述第二车端的公钥对所述验证信息进行加密,生成第二验证密文并发送至所述第二车端;

验证模块,用于所述第二车端根据自身的私钥对所述第二验证密文进行解密,并将解密后得到的验证信息与所述预先生成的验证信息进行比对,在解密后得到的验证信息与所述预先生成的验证信息比对一致的情况下,确定认证成功。

可选地,所述系统还包括:

车端私钥请求模块,用于所述车端向所述云平台发送私钥请求,所述私钥请求携带由所述车端的身份标识;

车端私钥生成模块,用于所述云平台根据所述车端的身份标识,生成所述车端的私钥,并基于预先生成的车云共享密钥对所述私钥进行加密,生成车端的私钥密文并下发给所述车端;

车端私钥储存模块,用于所述车端基于所述车云共享密钥对所述车端的私钥密文进行解密,得到自身私钥,并存储在本地。

可选地,所述车端私钥生成模块包括:

主密钥对生成单元,用于云平台基于SM9算法生成签名主密钥对和加密主密钥对,并通过Diffie-Hellman密钥交换协议与车端通信,生成车云共享密钥,其中,所述加密主密钥对包括加密主私钥和加密主公钥;

车端私钥加密单元,用于云平台基于SM4算法和所述车云共享密钥对所述车端的私钥进行加密。可选地,所述系统还包括:

通信加密单元,用于在确定认证成功的情况下,第一车端根据二车端的公钥对待通信数据进行加密,生成待通信数据密文并发送至所述第二车端;

通信解密及响应加密单元,用于所述第二车端根据第一车端的公钥对待通信数据密文进行解密,生成待通信数据明文,并根据所述生成待通信数据明文生成响应数据,再利用所述第一车端的公钥对所述响应数据进行加密,生成响应数据密文并发送至所述第一车端;

响应解密单元,用于所述第一车端根据第二车端的公钥对响应数据密文进行解密,生成响应数据明文。

本发明实施例第三方面提出一种装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现本发明实施例第一方面提出方法步骤。

本发明实施例第四方面提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例第一方面提出方法。

本发明实施例包括以下优点:在进行身份认证时,在云端无须传统运维PKI系统,大幅降低了云端运营成本。在进行身份认证时,采用对方身份标识基于SM9算法生成对方公钥证书,无须从云端同步车辆身份证书,解决了认证效率低、时延长的问题,并且不存在由于证书更新引发的身份假冒攻击风险。

附图说明

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

图1是现有基于PKI公钥证书体系的车联网身份认证与加密通讯示意图;

图2是本发明实施例中车辆身份认证与加密通讯示意图;

图3是本发明实施例中一种基于SM9算法的车辆身份认证方法中车端私钥生成的步骤流程图;

图4是本发明实施例中一种基于SM9算法的车辆身份认证方法中车端私钥生成的示意图;

图5是本发明实施例中一种基于SM9算法的车辆身份认证方法中车端身份认证的步骤流程图;

图6是本发明实施例中一种基于SM9算法的车辆身份认证方法中车端身份认证的示意图;

图7是本发明实施例中一种基于SM9算法的车辆身份认证系统的功能模块示意图;

图8是本发明实施例中一种基于SM9算法的车辆身份认证装置的功能模块示意图。

具体实施方式

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

术语解释:

车联网是指车联网与智能车的有机联合,是搭载先进的车载传感器、控制器、执行器等装置,并融合现代通信与网络技术,实现车与人、车、路、后台等智能信息交换共享,实现安全、舒适、节能、高效行驶,并最终可替代人来操作的新一代汽车。

PKI,Public Key Infrastructure,公钥基础设施。支持公开密钥管理并能支持认证、加密、完整性、抗抵赖服务的基础设施。

LDAP,Lightweight Directory Access Protocol,轻型目录访问协议。基于X.500标准的子集,通过IP协议提供访问控制和维护分布式信息。

Diffie-Hellman,由Whitefield与Martin Hellman在1976年提出了一种密钥交换协议,利用有限域质数分解数学难题实现在公开网络生成共享密钥

SM2,国家密码管理局发布的对称密码算法。

SM3,国家密码管理局发布的一种杂凑算法,能够计算任何小于264bit位二进制数,输出256bit位的哈希值。

SM4,国家密码管理局发布的非对称密码算法。

SM9,国家密码管理局发布的基于双线性对的标识密码算法。密钥长度256bit。

随机数,独立随机实验产生的结果。

明文,密码学中没有经过加密处理的文字或字符串。

密文,密码学中经过加密处理的文字或字符串。

加密,以某种算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。

解密,以某种算法还原被加密的数据,得到数据原始内容。

发明人发现,相关技术中,在现有的车辆间身份验证过程中,车辆需要从云端PKI的证书更新目录LDAP,下载身份证书,并查询证书吊销列表OCSP,查看身份证书是否被吊销。采用车辆数字证书中的公钥,验证数字证书是否由车辆私钥签名。采用云端的主签名公钥验证车辆的身份证书是否由云端PKI生成,上述步骤完成,车辆间身份验证完成。如图1所示的基于PKI公钥证书体系的车联网身份认证与加密通讯示意图,由于SM2\SM3\SM4算法自身的特点,身份证书验证过程效率较低、时延长,无法适应车联网环境中,车辆快速移动过程中的通信要求;并且由于云端需要托管、运维车辆的身份证书,因此云端运维成本高;而当车辆更新身份证书时,云端需要一定时间来完成证书更新,车辆需要一定时间同步新证书,这个时间段存在身份假冒攻击风险。

本发明实施例提供了一种基于SM9算法的车辆身份认证方法,基于图2所示的关系示意图,车联网包括云平台,以及与所述云平台通信连接的多个车端,图3示出了本申请实施例中车端私钥的生成步骤流程图,包括:

步骤S301:车端向所述云平台发送私钥请求,所述私钥请求携带由所述车端的身份标识。

在车联网云平台中部署密了钥生成中心KGC(key generation center KGC),车端向云平台发送私钥请求,私钥请求携带有车端的身份标识的信息,即车辆的大架号信息,标识信息在车辆的车辆标识存储器进行储存,从而保证车辆标识信息的唯一性,并且在该过程中,可以引入第三方的监督,即在车辆私钥的请求生成,发送过程中保证私钥不会泄露,从而保证私钥的安全性,KGC通过车辆标识接收器接收车辆发送的车辆标识。

步骤S302:云平台根据所述车端的身份标识,生成所述车端的私钥,并基于预先生成的车云共享密钥对所述私钥进行加密,生成车端的私钥密文并下发给所述车端。

KGC中的车辆私钥生成器基于SM9算法和预先生成的加密主私钥KG C_Pri,车辆身份标识Car_Iden,生成车辆私钥Car_Pri,即Car_Pri=SM9(KGC_Pri、Car_Iden)。并基于SM4算法、车云共享密钥Car_Could_Pri,加密车辆私钥,得到车端的私钥密文,即SM4(Car_Could_Pri、Car_Pri),并发送车辆私钥密文到车端。

步骤S303:车端基于所述车云共享密钥对所述车端的私钥密文进行解密,得到自身私钥,并存储在本地。

当车端接收到云平台下发的私钥密文后,通过车云共享密钥进行解密,得到私钥明文,并存储在车辆私钥存储器,用于后续车辆之间的验证和车辆间的通信。

在本实施方式中,通过KGC依据车端的身份标识生成车端私钥,保证了车端私钥的唯一性,从而保证了车端通信的安全性。

在一种可行实施方式中,基于预先生成的车云共享密钥对所述私钥进行加密包括:

云平台基于SM9算法生成签名主密钥对和加密主密钥对,并通过Diffie-Hellman密钥交换协议与车端通信,生成车云共享密钥,其中,所述加密主密钥对包括加密主私钥和加密主公钥;

云平台基于SM4算法和所述车云共享密钥对所述车端的私钥进行加密。

在本实施方式中,如图4所示的车端私钥生成过程,KGC基于SM9算法,通过KGC签名主密钥生成器生成签名主密钥对,通过KGC加密主密钥生成器加密主密钥对。加密主私钥KGC_Pri,加密主公钥KGC_Pub,主加密私钥,用于KGC为车辆生成车辆加密私钥。主加密公钥,用于车辆与云端通信时,回收通信数据。当完成签名主密钥对,加密主密钥对生成后,KGC采用Diffie-Hellman密钥交换协议与车端进行通信,通过共享密钥生成器生成车云共享密钥,车云共享密钥属于对称秘钥,即没有公钥和私钥的区别。协商确定的车云共享密钥在车端和云平台的共享密钥存储器分别进行储存。云平台基于SM4算法和车云共享密钥对车端的私钥进行加密,车端基于SM4算法和车云共享密钥对车端的私钥进行解密即得到车端的私钥明文Car_Pri;即Car_Pri=SM4(Car_Could_Pri、Car_Pri_Enc)。

在车端完成车端私钥的请求后,即可实现车端之间的身份的验证,则基于SM9算法的车辆身份认证方法如图5所示,具体包括以下步骤:

步骤S501:第一车端向第二车端发送身份验证请求,所述身份验证请求携带有所述第一车端的身份标识。

以车辆A和车辆B之间的身份验证为例,通过车辆A的身份认证请求器,车辆A携带自身的身份标识(车辆大架号)向车辆B发起身份验证请求。

步骤S502:所述第二车端根据所述第一车端的身份标识,生成第一车端的公钥,并基于所述第一车端的公钥对预先生成的验证信息进行加密,生成第一验证密文并同所述第二车端的身份标识发送至所述第一车端。

车辆B接收到车辆A发送的身份认证请求后,基于SM9算法服务单元和车辆的身份标识CarA_Iden通过车辆公钥生成器生成车辆A的公钥CarA_Pub。即CarA_Pub=SM9(CarA_Iden),车辆B通过车辆公钥存储器对车辆A的公钥进行存储,并通过随机数生成器生成一组随机数,即验证信息Ran,并基于车辆A的公钥和SM9算法对验证进行加密,即生成随机数密文(即第一验证密文)Ran_Enc,Ran_Enc=SM9(CarA_Pub,Ran),并和车辆B的身份标识CarB_Iden一起发送给车辆A。

步骤S503:所述第一车端根据自身的私钥对所述第一验证密文进行解密,得到所述验证信息,并根据所述第二车端的身份标识,生成第二车端的公钥,再利用所述第二车端的公钥对所述验证信息进行加密,生成第二验证密文并发送至所述第二车端。

车辆A在接收到车辆B返回的数据后,采用SM9算法、车A私钥CarA_Pri,解密随机数密文Ran_Enc,得到随机数明文Ran,即Ran=SM9(CarA_Pri,Ran_Enc),并采用SM9算法和车辆B的身份标识生成车辆B的公钥,即CarB_Pub=SM9(CarB_Iden),然后基于SM9算法、车B的公钥,加密随机数Ran,得到随机数密文(即第二验证密文)。Ran_Enc=SM9(CarB_Pub,Ran),并发送至车辆B。

步骤S504:所述第二车端根据自身的私钥对所述第二验证密文进行解密,并将解密后得到的验证信息与所述预先生成的验证信息进行比对,在解密后得到的验证信息与所述预先生成的验证信息比对一致的情况下,确定认证成功。

车B接收到随机数密文Ran_Enc(第二验证密文)后,采用SM9算法、车B私钥CarB_Pri,解密随机数密文Ran_Enc,得到随机数明文Ran;Ran=SM9(CarB_Pri,Ran_Enc).比较此随机数明文,与车B在第一验证密文种生成的随机数是否相同;SM9(CarB_Pri,Ran_Enc)==random(time),若相同则身份认证成功,返回身份认证成功标识;不相同则身份认证失败,不返回信息。

在本实施方式中,如图6所示的基于KGC的身份认证过程,在进行身份认证时,采用对方身份标识生成对方公钥证书,无须从云端同步车辆身份证书,解决了认证效率低、时延长的问题,并且在认证过程中无须从云端同步车辆身份证书,因此不存在由于证书更新引发的身份假冒攻击风险,并且整个身份认证过程由于不依赖于数字证书,因此在云端无需运维PKI系统,从而大幅降低了云端运营成本。

在一种可行的实施方式中,在确定车辆A和车辆B的身份验证成功后,车辆A和车辆B可以进行相应的通信,具体包括:

第一车端根据二车端的公钥对待通信数据进行加密,生成待通信数据密文并发送至所述第二车端;

所述第二车端根据第一车端的公钥对待通信数据密文进行解密,生成待通信数据明文,并根据所述生成待通信数据明文生成响应数据,再利用所述第一车端的公钥对所述响应数据进行加密,生成响应数据密文并发送至所述第一车端;

所述第一车端根据第二车端的公钥对响应数据密文进行解密,生成响应数据明文。

在本实施方式中,车辆A与车辆B完成身份认证后,即可进行车辆间的通信,车辆A基于身份认证过程中存储的车辆B的公钥,采用SM9算法对待通信数据进行加密,生成待通信数据密文,待通信数据可以为交互请求,预警信息等。车辆B接收到待通信数据密文,通过采用SM9算法和自身的私钥对待通信数据密文进行解密,获得待通信数据明文,车辆B的驾驶员可以根据明文信息的数据知晓车辆A驾驶员传达的信息,并做出相应的响应信息,对响应信息采用SM9算法和车辆A的公钥进行加密,生成响应数据密文并发送给车辆B,车辆B基于自身的私钥和SM9算法对响应数据密文进行解密,得到响应数据明文,车辆B的驾驶员即可根据响应数据明文确定车辆A的驾驶员的反馈信息,完成一次通信过程。上述过程即为车辆间的数据加密通信过程。

在一种可行的实施方式中,车辆还包括:车辆公钥更新时钟,车辆间通信过程中,存储了其它车辆的公钥。由于车辆标识可能发生变化,因此需要基于请求车辆当前标识,生成新公钥。

本发明实施例还提供了一种基于SM9算法的车辆身份认证系统,参照图7,示出了本发明一种基于SM9算法的车辆身份认证系统实施例一的功能模块图,该系统可以包括以下模块:

身份请求模块701,用于第一车端向第二车端发送身份验证请求,所述身份验证请求携带有所述第一车端的身份标识;

第一密文生成模块702,用于所述第二车端根据所述第一车端的身份标识,生成第一车端的公钥,并基于所述第一车端的公钥对预先生成的验证信息进行加密,生成第一验证密文并同所述第二车端的身份标识发送至所述第一车端;

第二密文生成模块703,用于所述第一车端根据自身的私钥对所述第一验证密文进行解密,得到所述验证信息,并根据所述第二车端的身份标识,生成第二车端的公钥,再利用所述第二车端的公钥对所述验证信息进行加密,生成第二验证密文并发送至所述第二车端;

验证模块704,用于所述第二车端根据自身的私钥对所述第二验证密文进行解密,并将解密后得到的验证信息与所述预先生成的验证信息进行比对,在解密后得到的验证信息与所述预先生成的验证信息比对一致的情况下,确定认证成功。

在一种可行的实施方式中,所述系统还包括:

车端私钥请求模块,用于所述车端向所述云平台发送私钥请求,所述私钥请求携带由所述车端的身份标识;

车端私钥生成模块,用于所述云平台根据所述车端的身份标识,生成所述车端的私钥,并基于预先生成的车云共享密钥对所述私钥进行加密,生成车端的私钥密文并下发给所述车端;

车端私钥储存模块,用于所述车端基于所述车云共享密钥对所述车端的私钥密文进行解密,得到自身私钥,并存储在本地。

在一种可行的实施方式中,所述车端私钥生成模块包括:

主密钥对生成单元,用于云平台基于SM9算法生成签名主密钥对和加密主密钥对,并通过Diffie-Hellman密钥交换协议与车端通信,生成车云共享密钥,其中,所述加密主密钥对包括加密主私钥和加密主公钥;

车端私钥加密单元,用于云平台基于SM4算法和所述车云共享密钥对所述车端的私钥进行加密。在一种可行的实施方式中,所述系统还包括:

通信加密单元,用于在确定认证成功的情况下,第一车端根据二车端的公钥对待通信数据进行加密,生成待通信数据密文并发送至所述第二车端;

通信解密及响应加密单元,用于所述第二车端根据第一车端的公钥对待通信数据密文进行解密,生成待通信数据明文,并根据所述生成待通信数据明文生成响应数据,再利用所述第一车端的公钥对所述响应数据进行加密,生成响应数据密文并发送至所述第一车端;

响应解密单元,用于所述第一车端根据第二车端的公钥对响应数据密文进行解密,生成响应数据明文。

本发明实施例还提供了一种基于SM9算法的车辆身份认证装置,如图8所示,包括处理器81、通信接口82、存储器83和通信总线84,其中,处理器81,通信接口82,存储器83通过通信总线84完成相互间的通信,

存储器83,用于存放计算机程序;

处理器81,用于执行存储器83上所存放的程序时,实现如下步骤:

第一车端向第二车端发送身份验证请求,所述身份验证请求携带有所述第一车端的身份标识;

所述第二车端根据所述第一车端的身份标识,生成第一车端的公钥,并基于所述第一车端的公钥对预先生成的验证信息进行加密,生成第一验证密文并同所述第二车端的身份标识发送至所述第一车端;

所述第一车端根据自身的私钥对所述第一验证密文进行解密,得到所述验证信息,并根据所述第二车端的身份标识,生成第二车端的公钥,再利用所述第二车端的公钥对所述验证信息进行加密,生成第二验证密文并发送至所述第二车端;

所述第二车端根据自身的私钥对所述第二验证密文进行解密,并将解密后得到的验证信息与所述预先生成的验证信息进行比对,在解密后得到的验证信息与所述预先生成的验证信息比对一致的情况下,确定认证成功。

所述车端是通过以下步骤得到自身私钥的:

所述车端向所述云平台发送私钥请求,所述私钥请求携带由所述车端的身份标识;

所述云平台根据所述车端的身份标识,生成所述车端的私钥,并基于预先生成的车云共享密钥对所述私钥进行加密,生成车端的私钥密文并下发给所述车端;

所述车端基于所述车云共享密钥对所述车端的私钥密文进行解密,得到自身私钥,并存储在本地。

基于预先生成的车云共享密钥对所述私钥进行加密包括:

云平台基于SM9算法生成签名主密钥对和加密主密钥对,并通过Diffie-Hellman密钥交换协议与车端通信,生成车云共享密钥,其中,所述加密主密钥对包括加密主私钥和加密主公钥;

云平台基于SM4算法和所述车云共享密钥对所述车端的私钥进行加密。可选地,所述方法还包括:

在确定认证成功的情况下,第一车端根据二车端的公钥对待通信数据进行加密,生成待通信数据密文并发送至所述第二车端;

所述第二车端根据第一车端的公钥对待通信数据密文进行解密,生成待通信数据明文,并根据所述生成待通信数据明文生成响应数据,再利用所述第一车端的公钥对所述响应数据进行加密,生成响应数据密文并发送至所述第一车端;

所述第一车端根据第二车端的公钥对响应数据密文进行解密,生成响应数据明文。

上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于SM9算法的车辆身份认证的方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。“和/或”表示可以选择两者之中的任意一个,也可以两者都选择。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种基于SM9算法的车辆身份认证方法、系统、装置及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号