CN112887080B - 基于sm2的密钥生成方法及系统 - Google Patents

基于sm2的密钥生成方法及系统 Download PDF

Info

Publication number
CN112887080B
CN112887080B CN202010923665.5A CN202010923665A CN112887080B CN 112887080 B CN112887080 B CN 112887080B CN 202010923665 A CN202010923665 A CN 202010923665A CN 112887080 B CN112887080 B CN 112887080B
Authority
CN
China
Prior art keywords
key
public key
certificate
partial
public
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010923665.5A
Other languages
English (en)
Other versions
CN112887080A (zh
Inventor
程朝辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Aolian Information Security Technology Co ltd
Original Assignee
Shenzhen Aolian Information Security Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Aolian Information Security Technology Co ltd filed Critical Shenzhen Aolian Information Security Technology Co ltd
Priority to CN202010923665.5A priority Critical patent/CN112887080B/zh
Publication of CN112887080A publication Critical patent/CN112887080A/zh
Application granted granted Critical
Publication of CN112887080B publication Critical patent/CN112887080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种基于SM2的密钥生成方法及系统,获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA;将所述部分私钥tA和所述声明公钥WA发送至对端。将车辆网通信中假名证书ToBeSignedCertificate作为可辨别标识IDA,用于生成公私密钥对,提高车联网通信的安全性,提高信息传输的效率。

Description

基于SM2的密钥生成方法及系统
技术领域
本发明涉及车联网技术领域,特别是涉及一种基于SM2的密钥生成方法和一种基于SM2的密钥生成系统。
背景技术
近来,嵌入物理对象中的数字技术激增,造成了今天所谓的物联网(IoT)。这种趋势也已出现在汽车行业中,汽车行业对开发统称为车辆到一切(V2X)通信的诸如车辆到车辆(V2V)、车辆到基础设施(V2I)和车辆到行人(V2P),这样的交互模式表现出日益浓厚的兴趣。V2X使得能够进行致力于改进运输安全性、效率以及人机交互的多种应用。例如,利用V2X,车辆可以交换或传达信息(例如,针对速率、方向和制动状态),该信息可以帮助驾驶员与其它车辆保持安全距离,同时保持合适的速度。
尽管V2X技术和联网车辆有望带来更高的安全性、交通流量、效率等,但是大规模部署这种技术还需要应对一些挑战,尤其是安全性和隐私问题。
具体地,V2X架构有望确保车辆之间交换的消息是合法的,禁止行为不当的用户,同时保留诚实用户的匿名性,所以其它车辆或系统本身不能容易地跟踪其移动。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于SM2的密钥生成方法和一种基于SM2的密钥生成系统。
为了解决上述问题,本发明实施例公开了一种基于SM2的密钥生成方法,包括:
获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;
将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA
将所述部分私钥tA和所述声明公钥WA发送至对端。
进一步地,若所述假名证书ToBeSignedCertificate中encryptionKey域存在且是普通证书对应的公钥,则可辨别标识IDA还包括encryptionKey域;
若否,则可辨别标识IDA不包括encryptionKey域。
进一步地,所述可辨别标识IDA所包含的数据域的编码格式与所述假名证书ToBeSignedCertificate的编码格式一致,所述可辨别标识IDA所包含的数据域的顺序与所述假名证书ToBeSignedCertificate的数据域的顺序一致。
进一步地,所述将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA的步骤,包括:
利用预设随机数算法生成随机数w∈[1,n-1];
利用所述部分公钥UA按照随机算法生成声明公钥WA
根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ;
利用所述随机数w、预设系统主私钥ms和所述第一参数λ计算得到部分私钥tA
进一步地,所述根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ的步骤,包括:
将所述可辨别标识IDA和所述预设系统公钥PPub的坐标值进行拼接得到第一值;
将所述第一值输入至预设密码杂凑算法中生成第一杂凑值HA
将所述声明公钥WA在预设椭圆曲线上的坐标值和所述第一杂凑值HA拼接后形成第二值;
将所述第二值输入至预设密码杂凑算法中生成第一参数λ。
进一步地,所述根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ的步骤,包括:
将所述声明公钥WA在预设椭圆曲线上的坐标值、所述预设系统公钥PPub在预设椭圆曲线上的坐标值和可辨别标识IDA拼接后形成第三值;
将所述第三值输入至预设密码杂凑算法中生成第一参数λ。
进一步地,所述将部分私钥tA和声明公钥WA发送至对端的步骤,包括:
将所述声明公钥WA作为假名证书中的数据域verifyKeyIndicator的数据进行编码,生成完整的假名证书;
将所述假名证书和所述部分私钥tA发送至对端。
进一步地,所述将所述假名证书和所述部分私钥tA发送至对端的步骤,包括:
获取加密公钥Q;
利用所述加密公钥Q对所述假名证书加密;
将所述加密后的假名证书和所述部分私钥tA形成第一密文;
将所述第一密文发送至对端。
进一步地,所述将所述假名证书和所述部分私钥tA发送至对端的步骤,包括:
利用所述部分公钥UA对所述假名证书加密;
将所述加密后的假名证书和所述部分私钥tA形成第二密文;
将所述第二密文发送至对端。
进一步地,所述将所述部分私钥tA和所述声明公钥WA发送至对端的步骤之后,还包括:
依据所述部分私钥tA和生成部分公钥UA所使用的的随机数d'A计算得到私钥dA
将基于假名证书的值与待签名的第一主动安全消息BSM的拼接、私钥dA输入到预设数字签名生成算法SIGN中,得到第一主动安全消息BSM的签名(r,s)。
进一步地,所述将基于完整公钥的值与待签名的第一主动安全消息BSM的拼接、私钥dA输入到预设数字签名生成算法SIGN中,得到第一主动安全消息BSM的签名(r,s)的步骤之后,还包括:
接收待验证的消息M'、数字签名(r',s')和假名证书;
根据声明公钥WA、可辨别标识IDA、系统公钥PPub生成完整公钥PA
将基于假名证书的值与待签名的第一主动安全消息BSM的拼接、完整公钥PA和数字签名(r',s')输入至预设数字签名验证算法VERIFY中,输出对所述数字签名(r',s')的验证结果。
本发明实施例公开了一种基于SM2的密钥生成系统,包括:
获取模块,用于获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;
生成模块,用于将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA
发送模块,用于将所述部分私钥tA和所述声明公钥WA发送至对端。
本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的基于SM2的密钥生成方法的步骤。
本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的基于SM2的密钥生成方法的步骤。
本发明实施例包括以下优点:将车辆网通信中假名证书ToBeSignedCertificate作为可辨别标识IDA,用于生成公私密钥对,提高车联网通信的安全性,提高信息传输的效率。
附图说明
图1是本发明的一种基于SM2的密钥生成方法实施例的步骤流程图;
图2是本发明的一种基于SM2的密钥生成装置实施例的结构框图;
图3是本发明一实施例的一种计算机设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,提供了一种基于SM2的密钥生成方法及系统,获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA;将所述部分私钥tA和所述声明公钥WA发送至对端。将车辆网通信中假名证书ToBeSignedCertificate作为可辨别标识IDA,用于生成公私密钥对,提高车联网通信的安全性,提高信息传输的效率。
参照图1,示出了本发明的一种基于SM2的密钥生成方法实施例的步骤流程图,具体可以包括如下步骤:
S110,获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;
S120,将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA
S130,将所述部分私钥tA和所述声明公钥WA发送至对端。
参照上述步骤S110所示,获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;
假名证书格式如下:
Figure BDA0002667575430000051
该数据结构包含:
-version:是证书格式的版本号,此字段应设置为“3”;
-type:指示证书是显式的或隐式的还是其他的。对于显式证书,此字段应设置为01,对于隐式证书或其他,此字段应设置为02;
-issuer:证书的签发方;
-toBeSigned:证书的内容。对于显式证书,在生成或校验证书签名时,该字段是哈希函数的输入;对于隐式证书,在基于重构值生成或校验公钥时,该字段是哈希函数的输入;
-signature:包含在ExplicitCertificate中。它由Issuer字段中标识的签名者在toBeSigned的散列上计算的签名。
Figure BDA0002667575430000061
(WITH COMPONENTS{...,appPermissions PRESENT}|
WITH COMPONENTS{...,certIssuePermissions PRESENT}|
WITH COMPONENTS{...,certRequestPermissions PRESENT})
ToBeSignedCertificate结构中的字段具有以下含义:
-id包含在必要时识别证书持有者的信息;.
-cracaId用于识别负责发布证书撤销列表(CRL)的证书撤销授权CA(CRA),它的证书可能出现在证书撤销列表(CRL)上;
-crlSeries表示与证书可能出现的特定证书撤销授权CA(CRACA)相关的CRL系列;
-validityPeriod包含证书的有效期;
-region(如果存在)表示证书的有效区域。如果省略,则有效区域表示如下:
-如果证书是自签名的,即证书结构中的签发者字段指示的选项是self,则证书在全球范围内有效;.
-否则,证书与签发证书的证书具有相同的有效区域;.
-assuranceLevel表示证书持有者的保证级别;
-appPermissions表示证书持有者使用此证书签署应用程序数据的权限。appPermissions的有效实例最多包含一个条目的任何特定Aid值.
-certIssuePermissions表示证书持有者使用此证书签署其他证书的权限。此数组通常不包含aidsRange字段指示"all"的多个条目。如果数组有多个条目,并且一个条目的aidssrange字段显示为“all”,则指示“all”的那个条目将指定除在其他条目中明确指定以外的所有aid的权限。
-certRequestPermissions表示证书持有者使用此证书签署证书请求的权限。此数组通常不包含aidsRange字段指示"all"的多个条目。如果数组有多个条目且一个条目的aidSspRange字段指示“all”,则表示“all”的那个条目指定除了在其他条目中明确指定的AID之外的所有AID的权限。
-canRequestRollover表示该证书可用于签署请求具有相同权限的另一个证书的请求消息;
-encryptionKey包含用于加密的公钥,证书持有者持有相应的私钥;
-verifyKeyIndicator包含可用于恢复公钥的材料,所恢复的公钥被用于验证被证书签名的数据。
在一具体实施例中,假名证书机构PCA的初始化步骤如下:
PCA生成系统主私钥Mst=ms,系统主公钥Ppub=[ms]G;
PCA将[ms]G作为其签名公钥向其根证书机构申请一张PCA根证书。
证书申请过程为标准公钥基础设施(PKI)证书申请过程,生成的证书为根CA为PCA签发的PCA根证书。若PCA无根CA,则可生成自签名的根证书。
参照上述步骤S120所示,将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA;具体地,如果假名证书中encryptionKey域存在,且是普通公钥,则该密钥按照普通密钥生成方法生成。若encryptionKey域存在且是隐式证书类型的加密公钥,则需要按照基于完整公钥的值来生成。假名证书机构PCA按照假名证书的构造方法构造可辨别标识IDA,并基于可辨别标识IDA生成声明公钥WA和部分私钥tA
参照上述步骤S130所示,将所述部分私钥tA和所述声明公钥WA发送至对端。本实施例中的对端为任何签名端或其他可签名的装置。
在本实施例中,若所述假名证书ToBeSignedCertificate中encryptionKey域存在且是普通证书对应的公钥,则可辨别标识IDA还包括encryptionKey域;
若否,则可辨别标识IDA不包括encryptionKey域。
在本实施例中,所述可辨别标识IDA所包含的数据域的编码格式与所述假名证书ToBeSignedCertificate的编码格式一致,所述可辨别标识IDA所包含的数据域的顺序与所述假名证书ToBeSignedCertificate的数据域的顺序一致。
在本实施例中,所述将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA的步骤,包括:
利用预设随机数算法生成随机数w∈[1,n-1];
利用所述部分公钥UA按照随机算法生成声明公钥WA
根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ;
利用所述随机数w、预设系统主私钥ms和所述第一参数λ计算得到部分私钥tA
在本实施例中,所述根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ的步骤,包括:
将所述可辨别标识IDA和所述预设系统公钥PPub的坐标值进行拼接得到第一值;
将所述第一值输入至预设密码杂凑算法中生成第一杂凑值HA
将所述声明公钥WA在预设椭圆曲线上的坐标值和所述第一杂凑值HA拼接后形成第二值;
将所述第二值输入至预设密码杂凑算法中生成第一参数λ。
在本实施例中,所述根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ的步骤,包括:
将所述声明公钥WA在预设椭圆曲线上的坐标值、所述预设系统公钥PPub在预设椭圆曲线上的坐标值和可辨别标识IDA拼接后形成第三值;
将所述第三值输入至预设密码杂凑算法中生成第一参数λ。
在本实施例中,所述将部分私钥tA和声明公钥WA发送至对端的步骤,包括:
将所述声明公钥WA作为假名证书中的数据域verifyKeyIndicator的数据进行编码,生成完整的假名证书;
将所述假名证书和所述部分私钥tA发送至对端。
在本实施例中,所述将所述假名证书和所述部分私钥tA发送至对端的步骤,包括:
获取加密公钥Q;
利用所述加密公钥Q对所述假名证书加密;
将所述加密后的假名证书和所述部分私钥tA形成第一密文;
将所述第一密文发送至对端。
在本实施例中,所述将所述假名证书和所述部分私钥tA发送至对端的步骤,包括:
利用所述部分公钥UA对所述假名证书加密;
将所述加密后的假名证书和所述部分私钥tA形成第二密文;
将所述第二密文发送至对端。
在本实施例中,所述将所述部分私钥tA和所述声明公钥WA发送至对端的步骤之后,还包括:
依据所述部分私钥tA和生成部分公钥UA所使用的的随机数d'A计算得到私钥dA
将基于假名证书的值与待签名的第一主动安全消息BSM的拼接、私钥dA输入到预设数字签名生成算法SIGN中,得到第一主动安全消息BSM的签名(r,s)。
参照上述步骤,在需要对消息数据进行签名时,车联万物(V2X)终端设备遵循上述过程进行数据签名计算。可选地,可以缓冲计算过程中的第一杂凑值HA。如果BSM消息需要携带完整证书,则附带完整假名证书;如果需要附带证书摘要值,则计算假名证书的摘要值,BSM附带证书摘要值。
在本实施例中,所述将基于完整公钥的值与待签名的第一主动安全消息BSM的拼接、私钥dA输入到预设数字签名生成算法SIGN中,得到第一主动安全消息BSM的签名(r,s)的步骤之后,还包括:
接收待验证的消息M'、数字签名(r',s')和假名证书;
根据声明公钥WA、可辨别标识IDA、系统公钥PPub生成完整公钥PA
将基于假名证书的值与待签名的第一主动安全消息BSM的拼接、完整公钥PA和数字签名(r',s')输入至预设数字签名验证算法VERIFY中,输出对所述数字签名(r',s')的验证结果。
具体地,V2X终端验签消息签名的基本过程如下:
如果消息包括假名证书摘要值,则根据假名证书摘要值,获得设备缓冲的完整假名证书,若未找到证书,则结束;如果找到多张假名证书,对上述多张假名证书进行验证。如果BSM包括V2X设备完整的假名隐式证书,则使用收到的假名隐式证书执行以下步骤:
验证证书的有效,包括验证假名证书的时间、地域、权限等域的有效性等。若验证无效,则停止使用该证书;
根据隐式证书内容形成可辨别标识IDA,从verifyKeyIndicator提取公钥还原数据作为PA,从PCA的根证书中提取公钥[ms]G作为PPub
验证签名的有效性。可选地,先根据证书摘要值查找该假名证书对应的完整公钥值PA直接验证签名有效性;
如果签名验签正确且是收到的是新的完整假名证书,则计算证书摘要值,并缓冲摘要值和证书数据,以及可选地缓冲验证签名过程计算的完整公钥值PA
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明的一种基于SM2的密钥生成系统实施例的结构框图,具体可以包括如下模块:
获取模块110,用于获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;
生成模块120,用于将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA
发送模块130,用于将所述部分私钥tA和所述声明公钥WA发送至对端。
进一步地,若所述假名证书ToBeSignedCertificate中encryptionKey域存在且是普通证书对应的公钥,则可辨别标识IDA还包括encryptionKey域;
若否,则可辨别标识IDA不包括encryptionKey域。
进一步地,所述可辨别标识IDA所包含的数据域的编码格式与所述假名证书ToBeSignedCertificate的编码格式一致,所述可辨别标识IDA所包含的数据域的顺序与所述假名证书ToBeSignedCertificate的数据域的顺序一致。
在本实施例中,所述生成模块包括:
随机数生成单元,用于利用预设随机数算法生成随机数w∈[1,n-1];
公钥生成单元,用于利用所述部分公钥UA按照随机算法生成声明公钥WA
第一计算单元,用于根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ;
私钥计算单元,用于利用所述随机数w、预设系统主私钥ms和所述第一参数λ计算得到部分私钥tA
在本实施例中,所述第一计算单元包括:
第一拼接子单元,用于将所述可辨别标识IDA和所述预设系统公钥PPub的坐标值进行拼接得到第一值;
第一计算子单元,用于将所述第一值输入至预设密码杂凑算法中生成第一杂凑值HA
第二拼接子单元,用于将所述声明公钥WA在预设椭圆曲线上的坐标值和所述第一杂凑值HA拼接后形成第二值;
第二计算子单元,用于将所述第二值输入至预设密码杂凑算法中生成第一参数λ。
在本实施例中,所述第一计算单元包括:
将第三拼接子单元,用于所述声明公钥WA在预设椭圆曲线上的坐标值、所述预设系统公钥PPub在预设椭圆曲线上的坐标值和可辨别标识IDA拼接后形成第三值;
第三计算子单元,用于将所述第三值输入至预设密码杂凑算法中生成第一参数λ。
在本实施例中,所述发送模块包括:
证书生成单元,用于将所述声明公钥WA作为假名证书中的数据域verifyKeyIndicator的数据进行编码,生成完整的假名证书;
证书发送单元,用于将所述假名证书和所述部分私钥tA发送至对端。
在本实施例中,所述证书发送单元包括:
第一获取子单元,用于获取加密公钥Q;
第一加密子单元,用于利用所述加密公钥Q对所述假名证书加密;
第一密文生成子单元,用于将所述加密后的假名证书和所述部分私钥tA形成第一密文;
第一发送子单元,用于将所述第一密文发送至对端。
在本实施例中,所述证书发送单元包括:
第二加密子单元,用于利用所述部分公钥UA对所述假名证书加密;
第二密文生成子单元,用于将所述加密后的假名证书和所述部分私钥tA形成第二密文;
第二发送子单元,用于将所述第二密文发送至对端。
在本实施例中,还包括:
私钥计算模块,用于依据所述部分私钥tA和生成部分公钥UA所使用的的随机数d'A计算得到私钥dA
消息拼接模块,用于将基于假名证书的值与待签名的第一主动安全消息BSM的拼接、私钥dA输入到预设数字签名生成算法SIGN中,得到第一主动安全消息BSM的签名(r,s)。
在本实施例中,还包括:
消息接收模块,用于接收待验证的消息M'、数字签名(r',s')、假名证书;
公钥生成模块,用于根据声明公钥WA、可辨别标识IDA、系统公钥PPub生成完整公钥PA
验签模块,用于将基于假名证书的值与待签名的第一主动安全消息BSM的拼接、完整公钥PA和数字签名(r',s')输入至预设数字签名验证算法VERIFY中,输出对所述数字签名(r',s')的验证结果。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
参照图3,示出了本发明的一种基于SM2的密钥生成方法的计算机设备,具体可以包括如下:
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线18,微通道体系结构(MAC)总线18,增强型ISA总线18、音视频电子标准协会(VESA)局域总线18以及外围组件互连(PCI)总线18。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)界面22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图3中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于SM2的密钥生成方法。
也即,上述处理单元16执行上述程序时实现:获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA;将所述部分私钥tA和所述声明公钥WA发送至对端。
在本发明实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的基于SM2的密钥生成方法:
也即,给程序被处理器执行时实现:获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA;将所述部分私钥tA和所述声明公钥WA发送至对端。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机克顿信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPOM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的基于SM2的密钥生成方法及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (13)

1.一种基于SM2的密钥生成方法,其特征在于,包括:
获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;
若所述假名证书ToBeSignedCertificate中encryptionKey域存在且是普通证书对应的公钥,则可辨别标识还包括encryptionKey域;
若否,则可辨别标识不包括encryptionKey域;
将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA
将所述部分私钥tA和所述声明公钥WA发送至对端。
2.根据权利要求1所述的方法,其特征在于,所述可辨别标识IDA所包含的数据域的编码格式与所述假名证书ToBeSignedCertificate的编码格式一致,所述可辨别标识IDA所包含的数据域的顺序与所述假名证书ToBeSignedCertificate的数据域的顺序一致。
3.根据权利要求1所述的方法,其特征在于,所述将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA的步骤,包括:
利用预设随机数算法生成随机数w∈[1,n-1];
利用所述部分公钥UA按照随机算法生成声明公钥WA
根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ;
利用所述随机数w、预设系统主私钥ms和所述第一参数λ计算得到部分私钥tA
4.根据权利要求3所述的方法,其特征在于,所述根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ的步骤,包括:
将所述可辨别标识IDA和所述预设系统公钥PPub的坐标值进行拼接得到第一值;
将所述第一值输入至预设密码杂凑算法中生成第一杂凑值HA
将所述声明公钥WA在预设椭圆曲线上的坐标值和所述第一杂凑值HA拼接后形成第二值;
将所述第二值输入至预设密码杂凑算法中生成第一参数λ。
5.根据权利要求3所述的方法,其特征在于,所述根据所述声明公钥WA、可辨别标识IDA、预设系统公钥PPub计算出第一参数λ的步骤,包括:
将所述声明公钥WA在预设椭圆曲线上的坐标值、所述预设系统公钥PPub在预设椭圆曲线上的坐标值和可辨别标识IDA拼接后形成第三值;
将所述第三值输入至预设密码杂凑算法中生成第一参数λ。
6.根据权利要求1所述的方法,其特征在于,所述将部分私钥tA和声明公钥WA发送至对端的步骤,包括:
将所述声明公钥WA作为假名证书中的数据域verifyKeyIndicator的数据进行编码,生成完整的假名证书;
将所述假名证书和所述部分私钥tA发送至对端。
7.根据权利要求6所述的方法,其特征在于,所述将所述假名证书和所述部分私钥tA发送至对端的步骤,包括:
获取加密公钥Q;
利用所述加密公钥Q对所述假名证书加密;
将所述加密后的假名证书和所述部分私钥tA形成第一密文;
将所述第一密文发送至对端。
8.根据权利要求6所述的方法,其特征在于,所述将所述假名证书和所述部分私钥tA发送至对端的步骤,包括:
利用所述部分公钥UA对所述假名证书加密;
将所述加密后的假名证书和所述部分私钥tA形成第二密文;
将所述第二密文发送至对端。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述将所述部分私钥tA和所述声明公钥WA发送至对端的步骤之后,还包括:
依据所述部分私钥tA和生成部分公钥UA所使用的的随机数d'A计算得到私钥dA
将基于假名证书的值与待签名的第一主动安全消息BSM的拼接、私钥dA输入到预设数字签名生成算法SIGN中,得到第一主动安全消息BSM的签名(r,s)。
10.根据权利要求9所述的方法,其特征在于,所述将基于完整公钥的值与待签名的第一主动安全消息BSM的拼接、私钥dA输入到预设数字签名生成算法SIGN中,得到第一主动安全消息BSM的签名(r,s)的步骤之后,还包括:
接收待验证的消息M'、数字签名(r',s')和假名证书;
根据声明公钥WA、可辨别标识IDA、系统公钥PPub生成完整公钥PA
将基于假名证书的值与待签名的第一主动安全消息BSM的拼接、完整公钥PA和数字签名(r',s')输入至预设数字签名验证算法VERIFY中,输出对所述数字签名(r',s')的验证结果。
11.一种基于SM2的密钥生成系统,其特征在于,包括:
获取模块,用于获取部分公钥UA和假名证书中的可辨别标识IDA,其中,所述可辨别标识IDA为所述假名证书ToBeSignedCertificate中从id域开始到encryptionKey之前的数据域;
若所述假名证书ToBeSignedCertificate中encryptionKey域存在且是普通证书对应的公钥,则可辨别标识还包括encryptionKey域;
若否,则可辨别标识不包括encryptionKey域;
生成模块,用于将所述可辨别标识IDA和部分公钥UA输入至预设密钥生成算法中,得到声明公钥WA和部分私钥tA
发送模块,用于将所述部分私钥tA和所述声明公钥WA发送至对端。
12.电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10中任一项所述的基于SM2的密钥生成方法的步骤。
13.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的基于SM2的密钥生成方法的步骤。
CN202010923665.5A 2020-09-04 2020-09-04 基于sm2的密钥生成方法及系统 Active CN112887080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010923665.5A CN112887080B (zh) 2020-09-04 2020-09-04 基于sm2的密钥生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010923665.5A CN112887080B (zh) 2020-09-04 2020-09-04 基于sm2的密钥生成方法及系统

Publications (2)

Publication Number Publication Date
CN112887080A CN112887080A (zh) 2021-06-01
CN112887080B true CN112887080B (zh) 2022-08-05

Family

ID=76043734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010923665.5A Active CN112887080B (zh) 2020-09-04 2020-09-04 基于sm2的密钥生成方法及系统

Country Status (1)

Country Link
CN (1) CN112887080B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113766452B (zh) * 2021-06-29 2023-10-27 国家计算机网络与信息安全管理中心 一种v2x通信系统、通信密钥分发方法与隐式认证方法
CN114661934B (zh) * 2022-03-21 2024-03-01 重庆市规划和自然资源信息中心 基于数据挖掘分析技术多维度监控政务新媒体舆情预警的方法
CN116156461B (zh) * 2023-04-21 2023-07-21 南京芯驰半导体科技有限公司 车载设备的假名证书处理方法、装置及车载设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452762A (zh) * 2016-11-25 2017-02-22 东南大学 一种车载自组织网络中基于身份的高效数据传输方法
CN109412816A (zh) * 2018-12-20 2019-03-01 东北大学 一种基于环签名的车载网匿名通信系统及方法
WO2019124953A1 (en) * 2017-12-20 2019-06-27 Lg Electronics Inc. Cryptographic methods and systems for authentication in connected vehicle systems and for other uses

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2365441C (en) * 2001-12-19 2010-02-16 Diversinet Corp. Method of establishing secure communications in a digital network using pseudonymic digital identifiers
CN103490894B (zh) * 2013-09-09 2016-08-10 飞天诚信科技股份有限公司 一种确定智能密钥设备生命周期的实现方法及装置
CN105790941B (zh) * 2016-04-22 2019-08-16 北京迪曼森科技有限公司 一种基于标识的具有域划分的组合密钥生成及认证方法
US11303458B2 (en) * 2018-04-09 2022-04-12 Blackberry Limited Method and system for reduced V2X receiver processing load using network based application layer message processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452762A (zh) * 2016-11-25 2017-02-22 东南大学 一种车载自组织网络中基于身份的高效数据传输方法
WO2019124953A1 (en) * 2017-12-20 2019-06-27 Lg Electronics Inc. Cryptographic methods and systems for authentication in connected vehicle systems and for other uses
CN109412816A (zh) * 2018-12-20 2019-03-01 东北大学 一种基于环签名的车载网匿名通信系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Certificateless Public Key Signature Schemes from Standard Algorithms;Zhaohui Cheng等;《ISPEC 2018 Information Security Practice and Experience》;20180906;2-6节 *
Development of life-cyclemanagement component;Jonathan Petit etal.;《PREparing SEcuRe VEhicle-to-X Communication Systems》;20130130;第4章 *
V2X通信异常行为管理体系;罗璎珞等;《网络空间安全》;20200225(第02期);1-5节 *
第2部分 数字签名算法;国家密码管理局;《SM2椭圆曲线公钥密码算法-中华人民共和国密码行业标准》;20120321;第2部分 *

Also Published As

Publication number Publication date
CN112887080A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN112887080B (zh) 基于sm2的密钥生成方法及系统
US10715334B2 (en) Methods and apparatus for validating a digital signature
JP2021516495A (ja) キー管理方法、装置、システム、コンピュータ機器及びコンピュータプログラム
US10560274B2 (en) Credential-based authorization
EP3847565A1 (en) Methods and devices for managing user identity authentication data
US10447467B2 (en) Revocable PKI signatures
EP2634957A1 (en) Authentication Device and System
MX2007000467A (es) Aparato y metodo para procesar objeto de derecho digital.
CN102171652A (zh) 为电子装置提供可信软件的方法
CN111917552B (zh) 一种基于标识密钥的句柄权限控制方法、装置和系统
CN109981287B (zh) 一种代码签名方法及其存储介质
CN111931158A (zh) 一种双向认证方法、终端以及服务器
CN111917551B (zh) 一种基于无证书公钥的句柄访问保护方法和系统
US11379213B1 (en) Decentralized identifiers for securing device registration and software updates
CN111130777B (zh) 一种用于短效证书的签发管理方法和系统
CN112883382B (zh) 一种车辆刷写的方法、车联网盒、车辆及存储介质
US20150143107A1 (en) Data security tools for shared data
CN110190958A (zh) 一种车辆的身份验证方法、装置、电子设备及存储介质
CN112887081B (zh) 基于sm2的签名验签方法、装置及系统
US20190296918A1 (en) Method and system for issuing proof-equipped certificates for certificate authority
CN113610526A (zh) 一种数据信任方法、装置、电子设备及存储介质
Ansey et al. Gnomon: Decentralized identifiers for securing 5g iot device registration and software update
CN110719174B (zh) 基于Ukey的证书签发方法
CN110351090B (zh) 群签名数字证书吊销方法及装置、存储介质、电子设备
CN114024678A (zh) 一种信息处理方法及系统、相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant