logo好方法网

基于SM2的签名方法、系统、电子设备及存储介质


技术摘要:
本公开提供一种基于SM2的签名方法、终端设备、服务器、系统、电子设备及存储介质,涉及计算机技术领域,具体涉及人工智能及区块链技术,包括:接收第二电子设备发送的与待签名信息对应的随机信息,根据随机信息确定签名结果的承诺分量,根据承诺分量生成论证信息,根据  全部
背景技术:
随着互联网技术的发展,信息传输或存储的安全性和可靠性称为了关注的焦点。 在现有技术中,服务器或者终端设备通常以软件的形式存储和使用私钥。比如,如 果私钥完整的存储在服务器或者终端设备中,并基于服务器或者终端设备对待签名信息进 行签名,那么攻击者通过权限提升则可以获得私钥,并根据私钥进行签名。 然而发明人在实现本申请的过程中,发现至少存在如下问题:通过终端设备进行 签名,或者,通过服务器进行签名时,容易造成伪签名的问题。
技术实现要素:
本公开提供一种基于SM2的签名方法、终端设备、服务器、系统、电子设备及存储介 质,用以解决现有技术中的伪签名问题。 一方面,本公开实施例提供一种基于SM2的签名方法,应用于第一电子设备,所述 方法包括: 接收第二电子设备发送的与待签名信息对应的随机信息; 根据所述随机信息确定用于签名的承诺分量; 根据所述承诺分量生成论证信息,所述论证信息用于验证所述第一电子设备的身 份; 根据所述承诺分量和所述待签名信息生成,用于签名的所述第一电子设备的证明 分量; 将所述论证信息和所述第一电子设备的证明分量发送至所述第二电子设备。 在一些实施例中,所述根据所述承诺分量生成论证信息包括: 通过与所述第二电子设备预先协商的零知识证明算法生成所述论证信息。 在一些实施例中,所述零知识证明算法包括论证模型,所述通过与所述第二电子 设备预先协商的零知识证明算法生成所述论证信息包括: 获取所述论证模型; 根据所述论证模型对所述承诺分量进行计算,生成所述论证信息,其中,所述论证 信息中包括待验证参数和验证参数。 在一些实施例中,在所述根据所述承诺分量和所述待签名信息生成,用于签名所 述第一电子设备的证明分量之后,所述方法还包括: 生成盲化信息,所述盲化信息中包括所述第一电子设备的证明分量的盲化信息; 以及,所述将所述论证信息和所述第一电子设备的证明分量发送至所述第二电子 设备包括: 5 CN 111600703 A 说 明 书 2/14 页 将所述论证信息和所述盲化信息发送至所述第二电子设备。 在一些实施例中,所述盲化信息还包括所述第一电子设备的随机参数的盲化信 息,所述生成盲化信息包括: 生成所述第一电子设备的私钥分片的所述随机参数; 根据所述第一电子设备的私钥分片和预设的公私钥对中的私钥生成第一盲化因 子; 根据所述第一盲化因子对所述随机参数进行盲化处理,生成所述随机参数的盲化 信息; 根据所述第一电子设备的私钥分片和所述承诺分量生成第二盲化因子; 根据所述第二盲化因子对所述第一电子设备的证明分量进行盲化处理,生成所述 第一电子设备的证明分量的盲化信息。 另一方面,本公开实施例还提供了一种基于SM2的签名方法,应用于第二电子设 备,所述方法包括: 生成并向第一电子设备发送与待签名信息对应的随机信息; 接收所述第一电子设备发送的论证信息和所述第一电子设备的证明分量,所述论 证信息用于验证所述第一电子设备的身份; 根据所述论证信息对所述第一电子设备的身份进行验证; 若验证成功,则生成用于签名的所述第二电子设备的证明分量; 根据所述论证信息、所述第一电子设备的证明分量及所述第二电子设备的证明分 量对所述待签名信息进行签名。 在一些实施例中,所述根据所述论证信息对所述第一电子设备的身份进行验证包 括: 通过与所述第一电子设备预先协商的零知识证明算法进行验证。 在一些实施例中,所述零知识证明算法包括论证模型,所述论证信息中包括待验 证参数和验证参数,所述通过与所述第二电子设备预先协商的零知识证明算法进行验证包 括: 获取所述论证模型; 根据所述论证模型对所述论证参数进行计算; 若计算的结果与所述待验证参数相同,则验证成功。 在一些实施例中,若接收到的为盲化信息,则所述用于签名的所述第二电子设备 的证明分量包括: 根据所述盲化信息、所述论证信息及所述第二电子设备的私钥分片生成所述第二 电子设备的证明分量。 在一些实施例中,所述盲化信息还包括所述第一电子设备的随机参数的盲化信 息,所述根据所述盲化信息、所述论证信息及所述第二电子设备的私钥分片生成所述第二 电子设备的证明分量包括: 根据所述第二电子设备的私钥分片和预设的公私钥对中的私钥生成第三盲化因 子; 根据所述第三盲化因子对所述盲化信息进行去盲化处理,生成所述随机参数; 6 CN 111600703 A 说 明 书 3/14 页 根据所述随机参数、所述第二电子设备的私钥分片生成去盲参数; 根据所述论证信息的承诺分量、所述第二电子设备私钥分片及所述盲参数生成所 述第二电子设备的证明分量。 在一些实施例中,所述根据所述论证信息、所述第一电子设备的证明分量及所述 第二电子设备的证明分量对所述待签名信息进行签名包括: 根据所述论证信息和所述待签名信息中的消息摘要生成用于签名的承诺值; 根据所述承诺分量、所述去盲参数及所述第二电子设备的私钥分片生成第四盲化 因子; 根据所述第二电子设备的证明分量、所述第四盲化因子及所述第一电子设备的证 明分量的盲化信息生成用于签名的证明值; 根据所述用于签名的承诺值和所述用于签名的证明值,对所述待签名信息进行签 名。 另一个方面,本公开实施例还提供了一种终端设备,所述终端设备包括: 第一接收模块,用于接收服务器发送的与待签名信息对应的随机信息; 确定模块,用于根据所述随机信息确定用于签名的承诺分量; 第一生成模块,用于根据所述承诺分量生成论证信息,所述论证信息用于验证所 述终端设备的身份; 所述第一生成模块还用于,根据所述承诺分量和所述待签名信息,生成用于签名 的所述终端设备的证明分量; 第一发送模块,用于将所述论证信息和所述终端设备的证明分量发送至所述服务 器。 在一些实施例中,所述第一生成模块用于,通过与所述服务器预先协商的零知识 证明算法生成所述论证信息。 在一些实施例中,所述零知识证明算法包括论证模型,所述第一生成模块用于,获 取所述论证模型; 根据所述论证模型对所述承诺分量进行计算,生成所述论证信息,其中,所述论证 信息中包括待验证参数和验证参数。 在一些实施例中,所述第一生成模块用于,生成盲化信息,所述盲化信息中包括所 述终端设备的证明分量的盲化信息; 以及,所述第一发送模块用于,将所述论证信息和所述盲化信息发送至所述服务 器。 在一些实施例中,所述盲化信息还包括所述终端设备的随机参数的盲化信息,所 述第一生成模块用于,生成所述终端设备的私钥分片的所述随机参数; 根据所述终端设备的私钥分片和预设的公私钥对中的私钥生成第一盲化因子; 根据所述第一盲化因子对所述随机参数进行盲化处理,生成所述随机参数的盲化 信息; 根据所述终端设备的私钥分片和所述承诺分量生成第二盲化因子; 根据所述第二盲化因子对所述终端设备的证明分量进行盲化处理,生成所述终端 设备的证明分量的盲化信息。 7 CN 111600703 A 说 明 书 4/14 页 另一个方面,本公开实施例还提供了一种服务器,所述服务器包括: 第二发送模块,用于生成并向终端设备发送与待签名信息对应的随机信息; 第二接收模块,用于接收所述终端设备发送的论证信息和所述终端设备的证明分 量,所述论证信息用于验证所述终端设备的身份; 验证模块,用于根据所述论证信息对所述终端设备的身份进行验证; 第二生成模块,用于若验证成功,则生成用于签名的所述服务器的证明分量; 签名模块,用于根据所述论证信息、所述终端设备的证明分量及所述服务器的证 明分量对所述待签名信息进行签名。 在一些实施例中,所述验证模块用于,通过与所述终端设备预先协商的零知识证 明算法进行验证。 在一些实施例中,所述零知识证明算法包括论证模型,所述论证信息中包括待验 证参数和验证参数,所述验证模块用于,获取所述论证模型,根据所述论证模型对所述论证 参数进行计算,若计算的结果与所述待验证参数相同,则验证成功。 在一些实施例中,若接收到的为盲化信息,则所述第二生成模块用于,根据所述盲 化信息、所述论证信息及所述服务器的私钥分片生成所述服务器的证明分量。 在一些实施例中,所述盲化信息还包括所述终端设备的随机参数的盲化信息,所 述第二生成模块用于,根据所述服务器的私钥分片和预设的公私钥对中的私钥生成第三盲 化因子; 根据所述第三盲化因子对所述盲化信息进行去盲化处理,生成所述随机参数; 根据所述随机参数、所述服务器的私钥分片生成去盲参数; 根据所述论证信息的承诺分量、所述服务器私钥分片及所述盲参数生成所述服务 器的证明分量。 在一些实施例中,所述签名模块用于,根据所述论证信息和所述待签名信息中的 消息摘要生成用于签名的承诺值; 根据所述承诺分量、所述去盲参数及所述服务器的私钥分片生成第四盲化因子; 根据所述服务器的证明分量、所述第四盲化因子及所述终端设备的证明分量的盲 化信息生成用于签名的证明值; 根据所述用于签名的承诺值和所述用于签名的证明值,对所述待签名信息进行签 名。 另一个方面,本公开实施例还提供了一种签名系统,所述签名系统包括: 如上任一实施例所述的终端设备; 如上任一实施例所述的服务器。 另一个方面,本公开实施例还提供了一种电子设备,包括:存储器,处理器; 所述存储器用于存储所述处理器可执行指令的存储器; 其中,当执行所述存储器中的指令时,所述处理器被配置为实现如上任一实施例 所述的方法。 另一个方面,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读 存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上任 一实施例所述的方法。 8 CN 111600703 A 说 明 书 5/14 页 本公开提供一种基于SM2的签名方法、终端设备、服务器、系统、电子设备及存储介 质,包括:接收第二电子设备发送的与待签名信息对应的随机信息,根据随机信息确定用于 签名承诺分量,根据承诺分量生成论证信息,根据承诺分量和待签名信息生成用于签名的 第一电子设备的证明分量,将论证信息和第一电子设备的证明分量发送至第二电子设备, 一方面,通过在第一电子设备得到承诺分量时,根据承诺分量生成论证信息,避免了当第一 电子设备的信息被盗取,被用于签名时造成用户信息(包括用户的个人信息和财务相关信 息等)被盗用的问题,从而实现防盗防攻击的技术效果,进而实现了确保用户信息的安全的 技术效果;另一方面,通过结合第一电子设备和第二电子设备共同进行签名,可以提高签名 的安全性和可靠性的技术效果。 附图说明 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施 例,并与说明书一起用于解释本公开的原理。 图1为本申请实施例的基于SM2的签名方法的应用场景示意图; 图2为本申请一个实施例的基于SM2的签名方法的流程示意图; 图3为本申请实施例的基于SM2的签名方法的交互示意图; 图4为本申请另一实施例的基于SM2的签名方法的流程示意图; 图5为本申请另一实施例的基于SM2的签名方法的流程示意图; 图6为本申请实施例的终端设备的示意图; 图7为本申请实施例的服务器的示意图; 图8为本公开实施例的电子设备的结构示意图; 通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图 和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为 本领域技术人员说明本公开的概念。
分享到:
收藏