CN111600704B - 基于sm2的秘钥交换方法、***、电子设备及存储介质 - Google Patents

基于sm2的秘钥交换方法、***、电子设备及存储介质 Download PDF

Info

Publication number
CN111600704B
CN111600704B CN202010398070.2A CN202010398070A CN111600704B CN 111600704 B CN111600704 B CN 111600704B CN 202010398070 A CN202010398070 A CN 202010398070A CN 111600704 B CN111600704 B CN 111600704B
Authority
CN
China
Prior art keywords
key
information
electronic device
generating
parameter
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
CN202010398070.2A
Other languages
English (en)
Other versions
CN111600704A (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.)
Jingdong Technology Holding Co Ltd
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Holding Co Ltd
Jingdong Technology Information 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 Jingdong Technology Holding Co Ltd, Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202010398070.2A priority Critical patent/CN111600704B/zh
Publication of CN111600704A publication Critical patent/CN111600704A/zh
Application granted granted Critical
Publication of CN111600704B publication Critical patent/CN111600704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开提供一种基于SM2的秘钥交换方法、服务器、终端设备、***、电子设备及存储介质,涉及计算机技术领域,具体涉及人工智能及区块链技术,包括:接收第二电子设备发送的随机信息,接收参与秘钥交换的设备发送的秘钥信息,根据随机信息、秘钥信息、第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量,根据第一秘钥分量生成论证信息,将第一秘钥分量和论证信息发送至第二电子设备,一方面,通过根据第一秘钥分量生成用于验证第一电子设备的身份的论证信息,实现了防盗防攻击的技术效果,从而实现了确保用户信息的安全的技术效果;另一方面,通过结合第一电子设备和第二电子设备共同实现秘钥交换,可以提高秘钥交换的安全性和可靠性的技术效果。

Description

基于SM2的秘钥交换方法、***、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,具体涉及人工智能及区块链技术,尤其涉及一种基于SM2的秘钥交换方法、服务器、终端设备、***、电子设备及存储介质。
背景技术
随着互联网技术的发展,信息传输或存储的安全性和可靠性称为了关注的焦点。
在现有技术中,服务器或者终端设备通常以软件的形式存储和使用私钥。比如,如果私钥完整的存储在服务器或者终端设备中,并基于服务器或者终端设备,与其他设备进行秘钥交换,那么攻击者通过权限提升则可以获得私钥,并根据私钥进行秘钥交换。
然而发明人在实现本申请的过程中,发现至少存在如下问题:通过终端设备进行秘钥交换,或者,通过服务器进行秘钥交换时,容易造成终端设备或者服务器被其他设备伪装,盗取参与秘钥交换的设备的相关信息的问题。
发明内容
本公开提供一种基于SM2的秘钥交换方法、服务器、终端设备、***、电子设备及存储介质,用以解决现有技术中容易造成终端设备或者服务器被其他设备伪装,盗取参与秘钥交换的设备的相关信息的问题。
一方面,本公开实施例提供一种基于SM2的秘钥交换方法,应用于第一电子设备,所述方法包括:
接收第二电子设备发送的随机信息;
接收参与秘钥交换的设备发送的秘钥信息;
根据所述随机信息、所述秘钥信息、所述第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量,所述第一电子设备和所述第二电子设备具有相互独立的密钥分片以及共享的所述公钥;
根据所述第一秘钥分量生成论证信息,所述论证信息用于验证所述第一电子设备的身份;
将所述第一秘钥分量和所述论证信息发送至所述第二电子设备。
在一些实施例中,所述根据所述第一秘钥分量生成论证信息包括:
通过与所述第二电子设备预先协商的零知识证明算法生成所述论证信息。
在一些实施例中,所述零知识证明算法包括论证模型,所述通过与所述第二电子设备预先协商的零知识证明算法生成所述论证信息包括:
获取所述论证模型;
根据所述论证模型对所述第一秘钥分量进行计算,生成所述论证信息,其中,所述论证信息中包括待验证参数和验证参数。
在一些实施例中,所述根据所述随机信息、所述秘钥信息、所述第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量包括:
根据所述秘钥信息和所述随机信息生成整数类型的参数;
根据所述整数类型的参数、所述第一电子设备的秘钥分片、所述秘钥信息及所述公钥生成所述第一秘钥分量。
在一些实施例中,所述整数类型的参数包括所述随机信息的第一整数类型的参数和所述秘钥信息的第二整数类型的参数,所述根据所述随机信息、所述秘钥信息、所述第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量包括:
根据所述第一整数类型的参数和所述第一电子设备的秘钥分片生成所述第一电子设备的私钥参数;
根据所述第二整数类型的参数、所述秘钥信息和所述公钥生成所述第一电子设备的公钥参数;
根据所述第一电子设备的私钥参数和所述第一电子设备的公钥参数生成所述第一秘钥分量。
另一方面,本公开实施例还提供了一种基于SM2的秘钥交换方法,应用于第二电子设备,所述方法包括:
根据预设基点生成随机信息;
将所述随机信息发送至第一电子设备;
接收所述第一电子设备发送的第一秘钥分量和,与所述第一秘钥分量对应的论证信息,所述论证信息用于验证所述第一电子设备的身份;
根据所述论证信息对所述第一电子设备的身份进行验证;
若验证成功,则根据所述随机信息、所述秘钥信息及所述第一秘钥分量,生成参与秘钥交换的设备的秘钥。
在一些实施例中,所述根据所述论证信息对所述第一电子设备的身份进行验证包括:
通过与所述第一电子设备预先协商的零知识证明算法进行验证。
在一些实施例中,所述零知识证明算法包括论证模型,所述论证信息中包括待验证参数和验证参数,所述通过与所述第一电子设备预先协商的零知识证明算法进行验证包括:
获取所述论证模型;
根据所述论证模型对所述论证参数进行计算;
若计算的结果与所述待验证参数相同,则验证成功。
在一些实施例中,根据所述随机信息、所述秘钥信息及所述第一秘钥分量,生成参与秘钥交换的设备的秘钥,包括:
根据所述秘钥信息和所述随机信息生成整数类型的参数;
根据所述整数类型的参数、所述第二电子设备的秘钥分片、所述秘钥信息及预设公钥,生成第二秘钥分量,所述第二电子设备和所述第一电子设备具有相互独立的密钥分片以及共享的所述公钥;
根据所述第二秘钥分量、所述第一秘钥分量、所述第一电子设备的杂凑值及所述参与秘钥交换的设备的杂凑值,生成所述参与秘钥交换的设备的秘钥。
在一些实施例中,所述整数类型的参数包括所述随机参数的第一整数类型的参数、所述秘钥信息的第二整数类型的参数,所述根据所述整数类型的参数、所述第二电子设备的秘钥分片、所述秘钥信息及预设公钥,生成第二秘钥分量包括:
根据所述第一整数类型的参数和所述第二电子设备的秘钥分片,生成所述第二电子设备的私钥参数;
根据所述第二整数类型的参数、所述秘钥信息和所述公钥生成所述第二电子设备的公钥参数;
根据所述第二电子设备的私钥参数和所述第二电子设备的公钥参数生成所述第二秘钥分量。
另一方面,本公开实施例还提供了一种服务器,所述服务器包括:
第一接收模块,用于接收终端设备发送的随机信息,并接收参与秘钥交换的设备发送的秘钥信息;
第一生成模块,用于根据所述随机信息、所述秘钥信息、服务器的秘钥分片及预设的公钥生成第一秘钥分量,并根据所述第一秘钥分量生成论证信息,所述服务器和所述终端设备具有相互独立的密钥分片以及共享的所述公钥,所述论证信息用于验证所述服务器的身份;
第一发送模块,用于将所述第一秘钥分量和所述论证信息发送至所述终端设备。
在一些实施例中,所述第一生成模块用于,通过与所述终端设备预先协商的零知识证明算法生成所述论证信息。
在一些实施例中,所述零知识证明算法包括论证模型,所述第一生成模块用于,获取所述论证模型,根据所述论证模型对所述第一秘钥分量进行计算,生成所述论证信息,其中,所述论证信息中包括待验证参数和验证参数。
在一些实施例中,所述第一生成模块用于,根据所述秘钥信息和所述随机信息生成整数类型的参数,根据所述整数类型的参数、所述服务器的秘钥分片、所述秘钥信息及所述公钥生成所述第一秘钥分量。
在一些实施例中,所述整数类型的参数包括所述随机信息的第一整数类型的参数和所述秘钥信息的第二整数类型的参数,所述第一生成模块用于,根据所述第一整数类型的参数和所述服务器的秘钥分片生成所述服务器的私钥参数,根据所述第二整数类型的参数、所述秘钥信息和所述公钥生成所述服务器的公钥参数,根据所述服务器的私钥参数和所述服务器的公钥参数生成所述第一秘钥分量。
另一方面,本公开实施例还提供了一种终端设备,所述终端设备包括:
第二生成模块,用于根据预设基点生成随机信息;
第二发送模块,用于将所述随机信息发送至服务器;
第二接收模块,用于接收所述服务器发送的第一秘钥分量和,与所述第一秘钥分量对应的论证信息,所述论证信息用于验证所述服务器的身份;
验证模块,用于根据所述论证信息对所述服务器的身份进行验证;
第二生成模块,用于若验证成功,则根据所述随机信息、所述秘钥信息及所述第一秘钥分量,生成参与秘钥交换的设备的秘钥。
在一些实施例中,所述验证模块用于,通过与所述服务器预先协商的零知识证明算法进行验证。
在一些实施例中,所述零知识证明算法包括论证模型,所述论证信息中包括待验证参数和验证参数,所述验证模块用于,获取所述论证模型,根据所述论证模型对所述论证参数进行计算,若计算的结果与所述待验证参数相同,则验证成功。
在一些实施例中,所述第二生成模块用于,根据所述秘钥信息和所述随机信息生成整数类型的参数,根据所述整数类型的参数、所述终端设备的秘钥分片、所述秘钥信息及预设公钥,生成第二秘钥分量,根据所述第二秘钥分量、所述第一秘钥分量、所述服务器设备的杂凑值及所述参与秘钥交换的设备的杂凑值,生成所述参与秘钥交换的设备的秘钥,所述终端设备和所述服务器具有相互独立的密钥分片以及共享的所述公钥。
在一些实施例中,所述整数类型的参数包括所述随机参数的第一整数类型的参数、所述秘钥信息的第二整数类型的参数,所述第二生成模块用于,根据所述第一整数类型的参数和所述终端设备的秘钥分片,生成所述终端设备的私钥参数,根据所述第二整数类型的参数、所述秘钥信息和所述公钥生成所述终端设备的公钥参数,根据所述终端设备的私钥参数和所述终端设备的公钥参数生成所述第二秘钥分量。
另一方面,本公开实施例还提供了一种秘钥交换***,所述***包括:如上任一实施例所述的服务器和,如上任一实施例所述的终端设备。
另一方面,本公开实施例还提供了一种电子设备,包括:存储器,处理器;
所述存储器用于存储所述处理器可执行指令的存储器;
其中,当执行所述存储器中的指令时,所述处理器被配置为实现如上任一实施例所述的方法。
另一方面,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上任一实施例所述的方法。
本公开提供一种基于SM2的秘钥交换方法、服务器、终端设备、***、电子设备及存储介质,包括:接收第二电子设备发送的随机信息,接收参与秘钥交换的设备发送的秘钥信息,根据随机信息、秘钥信息、第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量,第一电子设备和第二电子设备具有相互独立的密钥分片以及共享的公钥,根据第一秘钥分量生成论证信息,论证信息用于验证第一电子设备的身份,将第一秘钥分量和论证信息发送至第二电子设备,一方面,通过在生成第一秘钥分量的同时,根据第一秘钥分量生成论证信息,避免了当第一电子设备的私钥分片被盗取,被用于秘钥交换时造成用户信息(包括用户的个人信息和财务相关信息等)被盗用的问题,从而实现了防盗防攻击的技术效果,进而实现了确保用户信息的安全的技术效果;另一方面,通过结合第一电子设备和第二电子设备共同实现秘钥交换,可以提高秘钥交换的安全性和可靠性的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例的基于SM2的秘钥交换方法的应用场景示意图;
图2为本申请一个实施例的基于SM2的秘钥交换方法的流程示意图;
图3为本申请实施例的基于SM2的秘钥交换方法的交互示意图;
图4为本申请另一实施例的基于SM2的秘钥交换方法的流程示意图;
图5为本申请另一实施例的基于SM2的秘钥交换方法的流程示意图;
图6为本申请实施例的服务器的示意图;
图7为本申请实施例的终端设备的示意图;
图8为本申请实施例的电子设备的结构示意图;
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
请参阅图1,图1为本申请实施例的基于SM2的秘钥交换方法的应用场景示意图。
如图1所示,用户A与用户B可以进行秘钥交换,在如图1所示的实施例中,用户A可以为发起秘钥交换的发起者,用户B可以为响应秘钥交换的响应者。
值得说明地是,图1只是用于示范性地说明,而不能理解为对发起者和响应者的限定。例如,在另一些实施例中,用户B也可以为发起秘钥交换的发起者,用户A也可以为相应秘钥交换的响应者。
其中,结合图可知,用户A可以通过客户端AC和服务器AS共同生成,用于与用户B进行秘钥交换的秘钥RA。同理,用户B可以通过客户端BC和服务器BS共同生成,用于与用户A进行秘钥交换的秘钥RB。
且客户端AC为用户A在终端设备安装的应用程序,客户端BC为在用户B在终端设备安装的服务程序,用于实现用户A和用户B之间的数据交互。
当本申请实施例的基于SM2的秘钥交换方法应用于如图1所示的应用场景中,以用户A为例,可以先由客户端AC生成待交换秘钥的分量,且进行证明,而后由服务器AS生成完整的待交换秘钥RA。当然,也可以先由服务器AS生成待交换秘钥的分量,且进行证明,而后由客户端AC生成完整的待交换秘钥RA。具体原理可参见后文的阐述,此处不再赘述。
同理,若以用户B为例,可以先由客户端BC生成待交换秘钥的分量,且进行证明,而后由服务器BS生成完整的待交换秘钥RB。当然,也可以先由服务器BS生成待交换秘钥的分量,且进行证明,而后由客户端BC生成完整的待交换秘钥RB。
其中,客户端AC和/或客户端BC可以为终端设备。且,终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(Personal CommunicationService,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(PersonalDigital Assistant,简称PDA)等设备。无线终端也可以称为***、订户单元(SubscriberUnit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
秘钥交换是指将某一电子设备的秘钥与另一电子设备的秘钥进行交换。在相关技术中,一般是由两个电子设备之间直接进行交换,例如,由有秘钥交换需求的两个终端设备进行秘钥交换,或者,由有秘钥交换需求的两个服务器实现秘钥交换。
然而,由有秘钥交换需求的两个终端设备进行秘钥交换,或者,由有秘钥交换需求的两个服务器实现秘钥交换时,可能造成某电子设备的私钥被盗用,且造成伪交换,使得参与秘钥交换的电子设备的相关信息也被盗用的问题。
为了由有秘钥交换需求的两个终端设备进行秘钥交换,或者,由有秘钥需求的两个服务器实现秘钥交换的问题,本申请的发明人在经过创造性地劳动之后,得到了本申请的发明构思:以有秘钥交换需求的任意方而言,通过两个电子设备(如上述示例中描述的终端设备和服务器)综合生成用于进行秘钥交换的秘钥,且由在先的电子设备对其身份进行证明。
下面以具体地实施例对本公开的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
根据本申请实施例的一个方面,本申请实施例提供了一种基于SM2的秘钥交换方法,该方法可以应用于第一电子设备。
请参阅图2,图2为本申请一个实施例的基于SM2的秘钥交换方法的流程示意图。
如图2所示,该方法包括:
S101:接收第二电子设备发送的随机信息。
其中,本申请实施例的执行主体可以为第一电子设备,且第一电子设备可以为终端设备,当然,第一电子设备也可以为服务器。
例如,在如图1所示的应用场景中,第一电子设备可以为客户端AC或者客户端BC,第二电子设备可以为服务器AS或者服务器BS;当然,第一电子设备可以为服务器AS或者服务器BS,第二电子设备可以为客户端AC或者客户端BC。
S102:接收参与秘钥交换的设备发送的秘钥信息。
S103:根据随机信息、秘钥信息、第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量,第一电子设备和第二电子设备具有相互独立的密钥分片以及共享的公钥。
也就是说,可以在执行本申请实施例的基于SM2的秘钥交换方法之前,可以为第一电子设备配置私钥分片,并将为第一电子设备配置的该私钥分片称为第一私钥分片,还可以为第二电子设备配置私钥分片,并将为第二电子设备配置的私钥分片称为第二私钥分片。
在一些实施例中,第一私钥分片是基于第二私钥分片和预设公私钥对中的私钥生成的。也就可以理解为,可以根据公私钥对中的私钥分别配置第一私钥分片和第二私钥分片。
在本申请实施例中,由第一电子设备生成第一秘钥分量,可以避免相关技术中,直接通过第一电子设备生成完整的用于交换的秘钥时,造成的当第一电子设备的秘钥被盗用时,与第一电子设备进行秘钥交换的电子设备容易被攻击的弊端,实现了提高秘钥交换的安全性和可靠性的技术效果。
S104:根据第一秘钥分量生成论证信息,论证信息用于验证第一电子设备的身份。
其中,该步骤可以具体包括:对第一秘钥分量进行证明,生成论证信息。
也就是说,在本申请实施例中,在生成第一秘钥分量时,还对第一秘钥分量进行证明,可以理解为对第一电子设备的身份的真实性的证明,避免了当第一电子设备的信息被盗取,被用于秘钥交换时造成用户信息(包括用户的个人信息和财务相关信息等)被盗用的问题,从而实现了防盗防攻击的技术效果,进而实现了确保用户信息的安全的技术效果。
S105:将第一秘钥分量和论证信息发送至第二电子设备。
也就是说,在本申请实施例中,在由第一电子设备生成第一秘钥分量,并生成第一秘钥分量的论证信息之后,第一电子设备可以将第一秘钥分量和论证信息发送至第二电子设备,以便由第二电子设备对第一电子设备的身份进行验证,并生成完整的用于秘钥交换的秘钥。
基于上述分析可知,本申请实施例提供了一种基于SM2的秘钥交换方法,该方法可以应用于第一电子设备,且该方法包括:接收第二电子设备发送的随机信息,接收参与秘钥交换的设备发送的秘钥信息,根据随机信息、秘钥信息、第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量,第一电子设备和第二电子设备具有相互独立的密钥分片以及共享的公钥,生成对第一秘钥分量进行证明的论证信息,论证信息用于验证第一电子设备的身份,将第一秘钥分量和论证信息发送至第二电子设备,一方面,通过在生成第一秘钥分量的同时,生成论证信息,避免了当第一电子设备的私钥分片被盗取,被用于秘钥交换时造成用户信息(包括用户的个人信息和财务相关信息等)被盗用的问题,从而实现了防盗防攻击的技术效果,进而实现了确保用户信息的安全的技术效果;另一方面,通过结合第一电子设备和第二电子设备共同实现秘钥交换,可以提高秘钥交换的安全性和可靠性的技术效果。
为使读者对本申请实施例的基于SM2的秘钥交换方法理解得更为透彻,现结合图3对本申请实施例的基于SM2的秘钥交换方法进行更为详细地阐述。其中,图3为本申请实施例的基于SM2的秘钥交换方法的交互示意图。
在图3中,我们以第一电子设备为服务器,第二电子设备为终端设备为例进行阐述。
如图3所示,该方法包括:
S1:终端设备根据SM2算法的椭圆曲线上的基点G生成并向服务器发送第一随机数RAC(即上述示例中第一电子设备接收到的随机信息)。
S2:服务器接收参与秘钥交换的设备发送的秘钥信息。
在一些实施例中,该步骤可以具体包括:接收参与秘钥交换的设备发送的第一椭圆曲线点RB
S3:服务器根据随机信息、秘钥信息、第一秘钥分片及预设的公钥生成第一秘钥分量,服务器和终端设备具有相互独立的密钥分片以及共享的公钥。
在一些实施例中,S3可以具体包括:根据秘钥信息和随机信息生成整数类型的参数,根据整数类型的参数、第一秘钥分片、秘钥信息及公钥生成第一秘钥分量。
在一些实施例中,整数类型的参数包括随机信息的第一整数类型的参数和秘钥信息的第二整数类型的参数,根据随机信息、秘钥信息、第一秘钥分片及预设的公钥生成第一秘钥分量包括:根据第一整数类型的参数和第一秘钥分片生成服务器的私钥参数,根据第二整数类型的参数、秘钥信息和公钥生成服务器的公钥参数,根据服务器的私钥参数和服务器的公钥参数生成第一秘钥分量。
在一些实施例中,该步骤可以具体包括:根据第一随机数RAC和SM2算法的椭圆曲线上的基点G生成第二随机数RAS,根据第一随机数RAC和第二随机数RAS生成第三椭圆曲线点RA,根据第三椭圆曲线点RA、第一椭圆曲线点RB、第一秘钥分片dAS和公钥生成第二椭圆曲线点UAS
在一些实施例中,根据第三椭圆曲线点RA、第一椭圆曲线点RB、服务器的秘钥分片dAS和公钥生成第二椭圆曲线点UAS可以具体包括:根据第一椭圆曲线点RB和第三椭圆曲线点RA生成整数类型的参数,根据整数类型的参数、第一秘钥分片dAS、第一椭圆曲线点RB和公钥生成第二椭圆曲线点UAS
在一些实施例中,整数类型的参数包括第三椭圆曲线点RA的第一整数类型、第一椭圆曲线点RB的第二整数类型的参数,根据整数类型的参数、第一秘钥分片dAS、第一椭圆曲线点RB和公钥生成第二椭圆曲线点UAS包括:根据第一整数类型的参数和第一秘钥分片dAS生成服务器的私钥参数,根据第二整数类型的参数、第一椭圆曲线点RB和公钥生成服务器的公钥参数,根据服务器的私钥参数和公钥参数生成生成第二椭圆曲线点UAS
S4:服务器根据第一秘钥分量生成论证信息,论证信息用于验证服务器的身份。
在一些实施例中,该步骤可以具体包括:通过与终端设备预先协商的零知识证明算法生成论证信息。
在一些实施例中,通过与终端设备预先协商的零知识证明生算法成论证信息可以具体包括:获取与终端设备预先设定的论证模型,根据论证模型对第一秘钥分量进行计算,生成论证信息,其中,论证信息中包括待验证参数和验证参数。
也就是说,服务器和终端设备可以预先对论证模型进行设定。由于服务器和终端设备预先设定了论证模型,因此,当服务器生成第一秘钥分量时,可以基于论证模型对第一秘钥分量进行计算,生成包括待验证参数和验证参数的论证信息。
S5:服务器将第一秘钥分量和论证信息发送至终端设备。
基于上述示例,该步骤可以具体包括:将第一椭圆曲线点RB、第二随机数RAS、第二椭圆曲线点UAS和论证信息发送至终端设备。
S6:终端设备根据论证信息对服务器的身份进行验证。
在一些实施例中,该步骤可以具体包括:通过与服务器预先协商的零知识证明算法进行验证。
在一些实施例中,论证信息中包括待验证参数和验证参数,通过与服务器预先协商的零知识证明算法进行验证可以具体包括:获取与服务器预先设定的论证模型,根据论证模型对论证参数进行计算,若计算的结果与待验证参数相同,则验证成功。
S7:终端设备若验证成功,则根据随机信息、秘钥信息及第一秘钥分量生成参与秘钥交换的设备的秘钥。
值得说明地是,计算的结果与待验证参数可能相同,也可能不相同,如果计算的结果与待验证参数相同,则说明对验证成功,如果不同,则说明验证失败,则服务器可能为盗取用户信息的伪服务器,则流程结束。
在一些实施例中,S7可以具体包括:根据秘钥信息和随机信息生成整数类型的参数,根据整数类型的参数、第二秘钥分片、秘钥信息及预设公钥,生成第二秘钥分量,根据第二秘钥分量、第一秘钥分量、服务器的杂凑值及参与秘钥交换的设备的杂凑值,生成参与秘钥交换的设备的秘钥。
基于上述示例,该步骤可以具体包括:根据第一随机数RAC和第二随机数RAS生成第三椭圆曲线点RA,根据第一椭圆曲线点RB和第三椭圆曲线点RA生成整数类型的参数,根据整数类型的参数、第二秘钥分片dAC、第一椭圆曲线点RB和预设公钥生成第四椭圆曲线点UA,根据第四椭圆曲线点UA、服务器的杂凑值和参与秘钥交换的设备的杂凑值,生成参与秘钥交换的设备的秘钥。
在一些实施例中,整数类型的参数包括随机参数的第一整数类型的参数、秘钥信息的第二整数类型的参数,根据整数类型的参数、第二秘钥分片、秘钥信息及预设公钥,生成第二秘钥分量包括:根据第一整数类型的参数和第二秘钥分片,生成终端设备的私钥参数,根据第二整数类型的参数、秘钥信息和公钥生成终端设备的公钥参数,根据终端设备的私钥参数和终端设备的公钥参数生成第二秘钥分量。
基于上述示例,该步骤可以具体包括:根据第一整数类型的参数和第二秘钥分片dAC生成终端设备的私钥参数,根据第二整数类型的参数、第一椭圆曲线点RB和公钥生成终端设备的公钥参数,根据终端设备的私钥参数和公钥参数生成生成第四椭圆曲线点UA
值得说明地是,在一些实施例中,第一私钥分片dC和第二私钥分片dS可以基于dC+dS=d+n进行确定,其中,d为公私钥对中的私钥,n为基于需求、经验和试验进行设置的参数,如可以将n设置为1。
也就是说,在本申请实施例中,一方面,采用终端设备与服务器相结合,共同实现秘钥交换,可以避免单独采用终端设备进行秘钥交换,或者单独采用服务器进行秘钥交换时,造成的用于交换的秘钥被伪造的弊端,确保了用户信息(包括用户的个人信息和财务相关信息等)的安全的技术效果;另一方面,在生成用于秘钥交换的秘钥过程中,通过由在前的电子设备,如本申请实施例中的服务器对相关信息进行证明,如对第一秘钥分量进行证明,可以进一步确保终服务器的准确性,避免了当服务器的信息被盗取,被用于秘钥交换时造成用户信息被盗用的问题,从而实现了防盗防攻击的技术效果。
值得说明地是,图3所示的示例只是用于示范性地说明,而不能理解为对第一电子设备和第二电子设备的具体限定。也就是说,在一些实施例中,第一电子设备可以为如图3中所示的服务器,第二电子设备可以为如图3中所示的终端设备,在另一些实施例中,第一电子设备也可以为如图3中所示的终端设备,第二电子设备也可以为如图3中所示的服务器,且当第一电子设备也可以为如图3中所示的终端设备,第二电子设备也可以为如图3中所示的服务器时,其实现原理与上述示例相同,因此,此处不再赘述。
根据本申请实施例的另一个方面,本申请实施例还提供了一种基于SM2的秘钥交换方法,该方法可以应用于第二电子设备。
请参阅图4,图4为本申请另一实施例的基于SM2的秘钥交换方法的流程示意图。
如图4所示,该方法包括:
S201:根据预设基点生成随机信息。
其中,本申请实施例的执行主体可以为第二电子设备,且第二电子设备可以为终端设备,当然,第二电子设备也可以为服务器。
例如,在如图1所示的应用场景中,第二电子设备可以为客户端AC或者客户端BC,第一电子设备可以为服务器AS或者服务器BS;当然,第二电子设备可以为服务器AS或者服务器BS,第一电子设备可以为客户端AC或者客户端BC。
S202:将随机信息发送至第一电子设备。
S203:接收第一电子设备发送的第一秘钥分量和,与第一秘钥分量对应的论证信息,论证信息用于验证第一电子设备的身份。
S204:根据论证信息对第一电子设备的身份进行验证。
S205:若验证成功,则根据随机信息、秘钥信息及第一秘钥分量,生成参与秘钥交换的设备的秘钥。
值得说明地是,第二电子设备在验证时,可能为验证成功,也可能为验证失败,若验证成功,则说明第一电子设备为伪电子设备的可能性偏低,则第二电子设备根据生成参与秘钥交换的设备的秘钥;若验证失败,则说明第一电子设备为伪电子设备的可能性偏高,为了避免第二电子设备遭到攻击,且避免参与秘钥交换的设备遭到攻击,造成用户信息的丢失等问题,流程结束。
基于上述分析可知,本申请实施例提供了一种基于SM2的秘钥交换方法,该方法可以应用于第二电子设备,且该方法包括:根据预设基点生成随机信息,将随机信息发送至第一电子设备,接收第一电子设备发送的第一秘钥分量和与第一秘钥分量对应的论证信息,论证信息用于验证第一电子设备的身份,根据论证信息对第一电子设备的身份进行验证,若验证成功,则根据随机信息、秘钥信息及第一秘钥分量生成参与秘钥交换的设备的秘钥,一方面,通过结合第一电子设备和第二电子设备共同生成用于秘钥交换的秘钥,可以提高秘钥交换的可靠性和安全性的技术效果;另一方面,通过结合论证信息对第一电子设备的身份进行验证,以便当验证成功时,第二电子设备生成完整的用于秘钥交换的秘钥,可以避免第二电子设备和参与秘钥交换的设备遭到攻击,造成用户信息的丢失等问题,从而提高秘钥交换的安全性和可靠性的技术效果。
在一些实施例中,S204包括:通过与第一电子设备预先协商的零知识证明算法进行验证。
为使读者更加深刻地理解本申请实施例的基于SM2的秘钥交换方法,现结合图5对本申请实施例的基于SM2的秘钥交换方法进行详细地阐述。其中,图5为本申请另一实施例的基于SM2的秘钥交换方法的流程示意图。
如图5所示,该方法包括:
S301:根据预设基点生成随机信息。
其中,关于S301的描述可参见S201,此处不再赘述。
S302:将随机信息发送至第一电子设备。
S303:接收第一电子设备发送的第一秘钥分量和,与第一秘钥分量对应的论证信息,论证信息用于验证第一电子设备的身份。
S304:获取与第一电子设备预先设定的论证模型。
S305:根据论证模型对论证参数进行计算。
S306:判断计算的结果与待验证参数是否相同,若是,则执行S307,若否,则流程结束。
S307:根据随机信息、秘钥信息及第一秘钥分量,生成参与秘钥交换的设备的秘钥。
在一些实施例中,S307包括:
S71:根据秘钥信息和随机信息生成整数类型的参数。
S72:根据整数类型的参数、第二电子设备的秘钥分片、秘钥信息及预设公钥,生成第二秘钥分量。
在一些实施例中,整数类型的参数包括随机参数的第一整数类型的参数、秘钥信息的第二整数类型的参数,S72包括:
S721:根据第一整数类型的参数和第二电子设备的秘钥分片,生成第二电子设备的私钥参数。
S722:根据第二整数类型的参数、秘钥信息和公钥生成第二电子设备的公钥参数。
S723:根据第二电子设备的私钥参数和第二电子设备的公钥参数生成第二秘钥分量。
S73:根据第二秘钥分量、第一秘钥分量、第一电子设备的杂凑值及参与秘钥交换的设备的杂凑值,生成参与秘钥交换的设备的秘钥。
根据本申请实施例的另一个方面,本申请实施例还提供了一种服务器,用于执行如图2所示的方法。
请参阅图6,图6为本申请实施例的服务器的示意图。
如图6所示,该服务器包括:
第一接收模块11,用于接收终端设备发送的随机信息,并接收参与秘钥交换的设备发送的秘钥信息;
第一生成模块12,用于根据所述随机信息、所述秘钥信息、服务器的秘钥分片及预设的公钥生成第一秘钥分量,并根据所述第一秘钥分量生成论证信息,所述服务器和所述终端设备具有相互独立的密钥分片以及共享的所述公钥,所述论证信息用于验证所述服务器的身份;
第一发送模块13,用于将所述第一秘钥分量和所述论证信息发送至所述终端设备。
在一些实施例中,所述第一生成模块12用于,通过与所述终端设备预先协商的零知识证明算法生成所述论证信息。
在一些实施例中,所述零知识证明算法包括论证模型,所述第一生成模块12用于,获取所述论证模型,根据所述论证模型对所述第一秘钥分量进行计算,生成所述论证信息,其中,所述论证信息中包括待验证参数和验证参数。
在一些实施例中,所述第一生成模块12用于,根据所述秘钥信息和所述随机信息生成整数类型的参数,根据所述整数类型的参数、所述服务器的秘钥分片、所述秘钥信息及所述公钥生成所述第一秘钥分量。
在一些实施例中,所述整数类型的参数包括所述随机信息的第一整数类型的参数和所述秘钥信息的第二整数类型的参数,所述第一生成模块12用于,根据所述第一整数类型的参数和所述服务器的秘钥分片生成所述服务器的私钥参数,根据所述第二整数类型的参数、所述秘钥信息和所述公钥生成所述服务器的公钥参数,根据所述服务器的私钥参数和所述服务器备的公钥参数生成所述第一秘钥分量。
根据本申请实施例的另一个方面,本申请实施例还提供了一种终端设备,用于执行如图4和图5所示的方法。
请参阅图7,图7为本申请实施例的终端设备的示意图。
如图7所示,该终端设备包括:
第二生成模块21,用于根据预设基点生成随机信息;
第二发送模块22,用于将所述随机信息发送至服务器;
第二接收模块23,用于接收所述服务器发送的第一秘钥分量和,与所述第一秘钥分量对应的论证信息,所述论证信息用于验证所述服务器的身份;
验证模块24,用于根据所述论证信息对所述服务器的身份进行验证;
第二生成模块21,用于若验证成功,则根据所述随机信息、所述秘钥信息及所述第一秘钥分量,生成参与秘钥交换的设备的秘钥。
在一些实施例中,所述验证模块24用于,通过与所述服务器预先协商的零知识证明算法进行验证。
在一些实施例中,所述零知识证明算法包括论证模型,所述论证信息中包括待验证参数和验证参数,所述验证模块24用于,获取所述论证模型,根据所述论证模型对所述论证参数进行计算,若计算的结果与所述待验证参数相同,则验证成功。
在一些实施例中,所述第二生成模块21用于,根据所述秘钥信息和所述随机信息生成整数类型的参数,根据所述整数类型的参数、所述终端设备的秘钥分片、所述秘钥信息及预设公钥,生成第二秘钥分量,根据所述第二秘钥分量、所述第一秘钥分量、所述服务器的杂凑值及所述参与秘钥交换的设备的杂凑值,生成所述参与秘钥交换的设备的秘钥,所述终端设备和所述服务器具有相互独立的密钥分片以及共享的所述公钥。
在一些实施例中,所述整数类型的参数包括所述随机参数的第一整数类型的参数、所述秘钥信息的第二整数类型的参数,所述第二生成模块21用于,根据所述第一整数类型的参数和所述终端设备的秘钥分片,生成所述终端设备的私钥参数,根据所述第二整数类型的参数、所述秘钥信息和所述公钥生成所述终端设备的公钥参数,根据所述终端设备的私钥参数和所述终端设备的公钥参数生成所述第二秘钥分量。
根据本申请实施例的另一个方面,本申请实施例还提供了一种秘钥交换***,该***包括如图6所示的服务器和,如图7所示的终端设备。
根据本申请实施例的另一个方面,本申请实施例还提供了一种电子设备,包括:存储器,处理器;
存储器用于存储处理器可执行指令的存储器;
其中,当执行存储器中的指令时,处理器被配置为实现如上任一实施例所述的方法。例如,执行如图2、图4和图5所示的方法。
请参阅图8,图8为本申请实施例的电子设备的结构示意图。
如图8所示,该电子设备包括存储器和处理器,该电子设备还可以包括通信接口和总线,其中,处理器、通信接口和存储器通过总线连接;处理器用于执行存储器中存储的可执行模块,例如计算机程序。
其中,存储器可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序,前述本公开实施例任一实施例揭示的方法可以应用于处理器中,或者由处理器实现。
处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
根据本公开实施例的另一个方面,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上任一实施例所述的方法。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本公开实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
还应理解,在本公开各实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种基于SM2的秘钥交换方法,其特征在于,应用于第一电子设备,所述方法包括:
接收第二电子设备发送的随机信息;
接收参与秘钥交换的设备发送的秘钥信息;
根据所述随机信息、所述秘钥信息、所述第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量,所述第一电子设备和所述第二电子设备具有相互独立的密钥分片以及共享的所述公钥;
根据所述第一秘钥分量生成论证信息,所述论证信息用于验证所述第一电子设备的身份;
将所述第一秘钥分量和所述论证信息发送至所述第二电子设备;
所述根据所述随机信息、所述秘钥信息、所述第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量包括:
根据所述秘钥信息和所述随机信息生成整数类型的参数;
根据所述整数类型的参数、所述第一电子设备的秘钥分片、所述秘钥信息及所述公钥生成所述第一秘钥分量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一秘钥分量生成论证信息包括:
通过与所述第二电子设备预先协商的零知识证明算法生成所述论证信息。
3.根据权利要求2所述的方法,其特征在于,所述零知识证明算法包括论证模型,所述通过与所述第二电子设备预先协商的零知识证明算法生成所述论证信息包括:
获取所述论证模型;
根据所述论证模型对所述第一秘钥分量进行计算,生成所述论证信息,其中,所述论证信息中包括待验证参数和验证参数。
4.根据权利要求1所述的方法,其特征在于,所述整数类型的参数包括所述随机信息的第一整数类型的参数和所述秘钥信息的第二整数类型的参数,所述根据所述随机信息、所述秘钥信息、所述第一电子设备的秘钥分片及预设的公钥生成第一秘钥分量包括:
根据所述第一整数类型的参数和所述第一电子设备的秘钥分片生成所述第一电子设备的私钥参数;
根据所述第二整数类型的参数、所述秘钥信息和所述公钥生成所述第一电子设备的公钥参数;
根据所述第一电子设备的私钥参数和所述第一电子设备的公钥参数生成所述第一秘钥分量。
5.一种基于SM2的秘钥交换方法,其特征在于,应用于第二电子设备,所述方法包括:
根据预设基点生成随机信息;
将所述随机信息发送至第一电子设备;
接收所述第一电子设备发送的第一秘钥分量和,与所述第一秘钥分量对应的论证信息,所述论证信息用于验证所述第一电子设备的身份;
根据所述论证信息对所述第一电子设备的身份进行验证;
若验证成功,则根据所述随机信息、所述秘钥信息及所述第一秘钥分量,生成参与秘钥交换的设备的秘钥;
根据所述随机信息、所述秘钥信息及所述第一秘钥分量,生成参与秘钥交换的设备的秘钥,包括:
根据所述秘钥信息和所述随机信息生成整数类型的参数;
根据所述整数类型的参数、所述第二电子设备的秘钥分片、所述秘钥信息及预设公钥,生成第二秘钥分量,所述第二电子设备和所述第一电子设备具有相互独立的密钥分片以及共享的所述公钥;
根据所述第二秘钥分量、所述第一秘钥分量、所述第一电子设备的杂凑值及所述参与秘钥交换的设备的杂凑值,生成所述参与秘钥交换的设备的秘钥。
6.根据权利要求5所述的方法,其特征在于,所述根据所述论证信息对所述第一电子设备的身份进行验证包括:
通过与所述第一电子设备预先协商的零知识证明算法进行验证。
7.根据权利要求6所述的方法,其特征在于,所述零知识证明算法包括论证模型,所述论证信息中包括待验证参数和验证参数,所述通过与所述第一电子设备预先协商的零知识证明算法进行验证包括:
获取所述论证模型;
根据所述论证模型对所述验证参数进行计算;
若计算的结果与所述待验证参数相同,则验证成功。
8.根据权利要求5所述的方法,其特征在于,所述整数类型的参数包括所述随机参数的第一整数类型的参数、所述秘钥信息的第二整数类型的参数,所述根据所述整数类型的参数、所述第二电子设备的秘钥分片、所述秘钥信息及预设公钥,生成第二秘钥分量包括:
根据所述第一整数类型的参数和所述第二电子设备的秘钥分片,生成所述第二电子设备的私钥参数;
根据所述第二整数类型的参数、所述秘钥信息和所述公钥生成所述第二电子设备的公钥参数;
根据所述第二电子设备的私钥参数和所述第二电子设备的公钥参数生成所述第二秘钥分量。
9.一种服务器,其特征在于,所述服务器包括:
第一接收模块,用于接收终端设备发送的随机信息,并接收参与秘钥交换的设备发送的秘钥信息;
第一生成模块,用于根据所述随机信息、所述秘钥信息、所述服务器的秘钥分片及预设的公钥生成第一秘钥分量,所述服务器和所述终端设备具有相互独立的密钥分片以及共享的所述公钥;
根据所述第一秘钥分量生成论证信息,所述论证信息用于验证所述服务器的身份;
第一发送模块,用于将所述第一秘钥分量和所述论证信息发送至所述终端设备;
所述第一生成模块,具体用于根据所述秘钥信息和所述随机信息生成整数类型的参数;
根据所述整数类型的参数、所述终端设备的秘钥分片、所述秘钥信息及所述公钥生成所述第一秘钥分量。
10.一种终端设备,其特征在于,所述终端设备包括:
第二生成模块,用于根据预设基点生成随机信息;
第二发送模块,用于将所述随机信息发送至服务器;
第二接收模块,用于接收所述服务器发送的第一秘钥分量和与所述第一秘钥分量对应的论证信息;
验证模块,用于根据所述论证信息对所述服务器的身份进行验证;
第二生成模块,用于若验证成功,则根据所述随机信息、所述秘钥信息及所述第一秘钥分量生成参与秘钥交换的设备的秘钥;
所述第二生成模块,具体用于根据所述秘钥信息和所述随机信息生成整数类型的参数;
根据所述整数类型的参数、所述服务器的秘钥分片、所述秘钥信息及预设公钥,生成第二秘钥分量,所述服务器和所述终端设备具有相互独立的密钥分片以及共享的所述公钥;
根据所述第二秘钥分量、所述第一秘钥分量、所述终端设备的杂凑值及所述参与秘钥交换的设备的杂凑值,生成所述参与秘钥交换的设备的秘钥。
11.一种秘钥交换***,其特征在于,所述***包括:
如权利要求9所述的服务器;
如权利要求10所述的终端设备。
12.一种电子设备,包括:存储器,处理器;
所述存储器用于存储所述处理器可执行指令的存储器;
其中,当执行所述存储器中的指令时,所述处理器被配置为实现如权利要求1至4中任一项所述的方法;或者,
所述处理器被配置为实现如权利要求5至8中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至4中任一项所述的方法;或者,
所述处理器被配置为实现如权利要求5至8中任一项所述的方法。
CN202010398070.2A 2020-05-12 2020-05-12 基于sm2的秘钥交换方法、***、电子设备及存储介质 Active CN111600704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010398070.2A CN111600704B (zh) 2020-05-12 2020-05-12 基于sm2的秘钥交换方法、***、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010398070.2A CN111600704B (zh) 2020-05-12 2020-05-12 基于sm2的秘钥交换方法、***、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111600704A CN111600704A (zh) 2020-08-28
CN111600704B true CN111600704B (zh) 2023-08-08

Family

ID=72191251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010398070.2A Active CN111600704B (zh) 2020-05-12 2020-05-12 基于sm2的秘钥交换方法、***、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111600704B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779634A (zh) * 2021-09-17 2021-12-10 江苏通付盾区块链科技有限公司 一种数据存储方法及***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100579007C (zh) * 2007-08-07 2010-01-06 上海交通大学 生成密钥的方法、通信***、通信设备和服务器
EP2334008A1 (en) * 2009-12-10 2011-06-15 Tata Consultancy Services Limited A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure
CN108667624B (zh) * 2018-06-27 2020-11-13 深圳大学 一种标准模型下的紧凑环签名方法及***
CN109246129B (zh) * 2018-10-12 2020-12-25 天津赢达信科技有限公司 一种可验证客户端身份的sm2协同签名方法及***
CN110705985B (zh) * 2019-10-21 2020-09-29 北京海益同展信息科技有限公司 用于存储信息的方法和装置

Also Published As

Publication number Publication date
CN111600704A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
JP7272960B2 (ja) 信頼されるハードウェアを利用するセキュア・ダイナミック閾値署名スキームのための方法、記憶媒体及び電子デバイス
US11432150B2 (en) Method and apparatus for authenticating network access of terminal
JP4719749B2 (ja) セキュア認証チャネル
CN109345245B (zh) 基于区块链的短信验证方法、设备、网络及存储介质
CN109818730B (zh) 盲签名的获取方法、装置和服务器
CN109861828B (zh) 一种基于边缘计算的节点接入和节点认证方法
CN111064583B (zh) 一种门限sm2数字签名方法、装置、电子设备及存储介质
KR20140054151A (ko) 크레덴셜 검증
CN111131300B (zh) 通信方法、终端及服务器
CN107370599B (zh) 一种远程销毁私钥的管理方法、装置和***
CN107483191A (zh) 一种sm2算法密钥分割签名***及方法
CN112653554B (zh) 一种签名方法、***、设备及可读存储介质
CN112311543B (zh) Gba的密钥生成方法、终端和naf网元
CN113779606A (zh) 一种降低隐私泄露风险的信息校验方法及***
CN110191467B (zh) 一种物联网设备的鉴权方法、设备、装置及存储介质
US8433918B2 (en) Methods and systems for improving the security of password-based authentication protocols for IEEE 802.11 networks
CN111600703B (zh) 基于sm2的签名方法、***、电子设备及存储介质
JPWO2018179293A1 (ja) 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム
CN114553590A (zh) 数据传输方法及相关设备
CN111654481A (zh) 一种身份认证方法、装置和存储介质
CN111600704B (zh) 基于sm2的秘钥交换方法、***、电子设备及存储介质
CN111600717B (zh) 基于sm2的解密方法、***、电子设备及存储介质
US10812480B2 (en) Method and device for verifying validity of identity of entity
CN107223322A (zh) 签名验证的方法、设备和***
CN113923668B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Information Technology Co.,Ltd.

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Shuke Haiyi Information Technology Co.,Ltd.

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Shuke Haiyi Information Technology Co.,Ltd.

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Beijing Economic and Technological Development Zone, Beijing 100176

Applicant before: BEIJING HAIYI TONGZHAN INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant