CN112258169A - 基于密钥生成的并行签名系统和方法 - Google Patents

基于密钥生成的并行签名系统和方法 Download PDF

Info

Publication number
CN112258169A
CN112258169A CN202011287688.8A CN202011287688A CN112258169A CN 112258169 A CN112258169 A CN 112258169A CN 202011287688 A CN202011287688 A CN 202011287688A CN 112258169 A CN112258169 A CN 112258169A
Authority
CN
China
Prior art keywords
signature
expandable
module
request
key
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.)
Pending
Application number
CN202011287688.8A
Other languages
English (en)
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 Huashu Cloud Computing Technology Co ltd
Original Assignee
Shenzhen Huashu Cloud Computing 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 Huashu Cloud Computing Technology Co ltd filed Critical Shenzhen Huashu Cloud Computing Technology Co ltd
Priority to CN202011287688.8A priority Critical patent/CN112258169A/zh
Publication of CN112258169A publication Critical patent/CN112258169A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种基于密钥生成的并行签名系统和方法,涉及加密技术,系统包括:根密钥管理模块,用于响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,以及响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理;可拓展签名模块,用于向所述根私钥模块请求私钥派生以及请求销毁,并向签名请求网关发送公钥证书进行注册,根据签名请求网关的签名请求,基于私钥和所述随机数对签名请求中的数据进行签名;签名请求网关,用于接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名。本方案可以提高系统效率和安全性。

Description

基于密钥生成的并行签名系统和方法
技术领域
本申请涉及加密技术,特别是一种基于密钥生成的并行签名系统和方法。
背景技术
数字货币是新一代货币,它与现有的流通币等价。发行机构会以发行货币的方式发行产生加密字符串,这些加密字符串便是代表有面额的真实货币。用户可以在钱包中真实存储和管理这些货币。同时发行机构会运营数字货币登记中心,记录货币在流转过程中的所有权转换关系。数字货币登记中心采用公钥相关联的字符串标记货币的所有权。用户在使用货币时,需要利用自己的私钥对交易进行签名,数字货币登记中心会根据货币的编号与对应的公钥对交易本身进行验证,在确定货币所有者的身份后,进行货币所有权的转换,将对应的货币所有权标记为新的公钥。本质上,数字货币的交易支付过程即是货币所有权的转移过程。由于现有数字货币是基于公钥密码学签名实现具体功能的系统,系统中进行数字签名的性能会成为整个系统的重要性能瓶颈点。而现有的数字签名算法流程依赖于系统所管理的私钥,出于安全性考虑,私钥需要被妥善保管,甚至需要被放置于专有的密码学硬件中,因此如何对现有的签名模式进行平衡,实现安全性与性能的平衡。
通用的对私钥进行管理的方案是使用TEE或者SE芯片来完成。通用的TEE方案允许用户随意导入导出私钥,其实现原理是将固定的内存区域与CPU寄存器组进行保护,防止违规访问。这种方案可以一定程度上保证安全性,同时其运算资源也并不是那么宝贵,可以不仅仅运行密钥相关的代码。而SE中的计算资源则较为宝贵,往往导入SE中的私钥是不允许随意导出的,同时SE的计算资源也比较宝贵,性能不高,但在高安全性要求的场景下往往需要使用SE来进行,这种场景同时又可能会有高性能的场景需求,因此需要在这种情况下去平衡性能与安全性。
公钥基础设施是一种基于数字签名实现的数字证书体系,通过CA的签名认证来保证分发的公钥的安全性。这种只要保证根公钥的安全性即可保证整个公钥树下所有公钥的可信任性。本质上,数字证书是一种将公钥与认证信息进行绑定的一种数据结构,通过这种模式,数字证书可以形成链式的数据认证模式,保证用户公钥的安全性。
综上所述,现有密码学的每一个数字签名都需要私钥的参与,这导致了根私钥有泄露的风险。考虑到高安全性的需求,私钥放置于硬件中会受到安全保护硬件的性能限制,这种性能限制难以直接突破。由于私钥的敏感性,将私钥并行部署时势必会对私钥的隐秘性造成威胁,而单纯的密码加密服务会成为系统的性能瓶颈。
发明内容
有鉴于此,本申请的目的在于:提供一种基于密钥生成的并行签名系统和方法,以在提升私钥安全性和系统效率。
第一方面,本申请实施例提供了:
一种基于密钥生成的并行签名系统,包括:
根密钥管理模块,用于响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,以及响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理;
可拓展签名模块,用于向所述根私钥模块请求私钥派生以及请求销毁,并向签名请求网关发送公钥证书进行注册,根据签名请求网关的签名请求,基于私钥和所述随机数对签名请求中的数据进行签名;
签名请求网关,用于接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,将所述可拓展签名模块签名后的数据返回到外部系统。
在部分实施例中,所述响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,具体包括:
响应于可拓展模块的私钥派生请求,获取根私钥、根随机码、根公钥和所述私钥派生请求中所述可拓展签名模块的标志;
将所述根公钥、所述根随机码和所述可拓展签名模块的标志进行链接并进行哈希处理,得到第一哈希值;
取所述第一哈希值设定长度的高位作为第二哈希值,取所述第一哈希值设定长度的低位分别得到第三哈希值;
将第二哈希值和所述根私钥相加得到所述可拓展签名模块的私钥;
将所述第三哈希值作为所述可拓展签名模块的私钥的随机码;
根据所述可拓展签名模块的私钥得到可拓展签名模块的公钥。
在部分实施例中,所述根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,包括:
生成随机数k,且k属于区间[1,n-1],其中n为SM2算法中椭圆曲线元素的个数;
计算椭圆曲线点(x0,y0),其中(x0,y0)=kG,G为SM2算法所选取的椭圆曲线的生成元;
计算r值,其中,r=(h0+x0)mod(n),h0是需要签名的哈希值,mod余数运算,若r=0,则返回生成随机数k的步骤;
计算s=((1+xA)-1*(k-r*xA))mod(n),若S=0,则返回生成随机数k的步骤;其中,xA是所述可拓展签名模块的私钥;
根据s和r得到签名。
在部分实施例中,所述可拓展签名模块向所述根私钥模块请求私钥派生时,包括:
所述可拓展签名模块生成一个唯一的标志;
所述可拓展签名模块向所述根密钥管理模块发送携带所述标志的私钥派生请求;
所述可拓展签名模块接收并保存所述根密钥管理模块返回的随机码和公钥证书。
在部分实施例中,所述签名网关通过以下方式验证可拓展签名模块的公钥证书:
从所述可拓展签名模块的公钥证书中读取所述可拓展签名模块的公钥Y1和随机码c1
使用根公钥证书对所述可拓展签名模块的公钥证书进行验证,其中,验证过程包括:
读取根公钥证书的根公钥Y0
当Y1=Y0+c1G时,通过验证。
在部分实施例中,所述响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理,包括:
接收所述可拓展签名模块的销毁请求;
读取所述可拓展签名模块的公钥证书;
根据所述可拓展签名模块的公钥证书确定是否有效的可拓展签名模块,当所述可拓展签名模块有效时,根据所述销毁请求生成吊销证书;
通过根私钥对所述吊销证书进行签名,将签名后的所述吊销证书返回给可拓展签名模块。
在部分实施例中,所述可拓展签名模块向所述根私钥模块请求销毁时,包括:
所述可拓展签名模块根据自身的标志和公钥证书生成销毁请求;
所述可拓展签名模块通过自身的私钥对所述销毁请求进行签名后,发送给根密钥管理模块;
接收根密钥管理模块返回的吊销证书。
在部分实施例中,在所述可拓展签名模块接收到吊销证书之后,所述可拓展签名模块将所述吊销证书发送给签名请求网关,以吊销存储在所述签名请求网关中的公钥证书,并停止服务。
在部分实施例中,所述根密钥管理模块基于SE芯片运行。
第二方面,本申请实施例提供了:
一种基于密钥生成的并行签名方法,由上述的基于密钥生成的并行签名系统执行,所述方法包括以下步骤:
根密钥管理模块响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码;
签名请求网关接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,将所述可拓展签名模块签名后的数据返回到外部系统。
本申请实施例通过根密钥管理模块对可拓展签名模块进行注册和注销的管理,可以使用多个可拓展签名模块对签名请求网关所接收到的签名请求进行签名处理,同时由于根密钥仅用于对可拓展签名模块进行签名,可以减少泄露风险,通过注销机制也可以在一定程度上保障可拓展签名模块的私钥安全,因此大幅提升了系统的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于密钥生成的并行签名系统的模块框图;
图2是本申请实施例提供的一种可扩拓展签名模块私钥派生过程的流程图;
图3是本申请实施例提供的一种可拓展签名模块注销过程的流程图;
图4是本申请实施例提供的一种基于密钥生成的并行签名方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,以下将参照本申请实施例中的附图,通过实施方式清楚、完整地描述本申请的技术方案,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,本实施例公开了一种基于密钥生成的并行签名系统,包括:
根密钥管理模块,用于响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,以及响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理;
可拓展签名模块,用于向所述根私钥模块请求私钥派生以及请求销毁,并向签名请求网关发送公钥证书进行注册,根据签名请求网关的签名请求,基于私钥和所述随机数对签名请求中的数据进行签名;
签名请求网关,用于接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,将所述可拓展签名模块签名后的数据返回到外部系统。
需要理解的是,本实施例可以解决基于数字签名的系统难以实现签名并行加速的问题,通过密钥派生算法避免根密钥的丢失,同时也可以根据系统性能的要求派生出更多的私钥用于数据的加速。结合公钥基础设施的证书,可以在密钥泄露的时候直接把证书吊销掉,避免造成更大范围的系统安全性问题。
本实施例提出了一套高性能的基于密钥派生算法的并行签名系统。外部系统将需要签名的数据发送给请求网关,请求网关将签名后的数据,以及对应的签名证书返回给外部系统。本方案中以椭圆曲线签名算法SM2为例,实际上这种算法可以扩展到任何一种基于椭圆曲线的签名算法。
本设计中,每一个密钥对都需要如下几个元素:私钥x,公钥Y,随机码c与索引i。其中x与c是长度相等的数字,以椭圆曲线签名算法SM2为例,私钥x长度为32个字节,那么随机码c同样也为32个字节。本设计需要选定一个哈希函数,这个哈希函数的输出长度需要时私钥x长度的二倍。例如在私钥x长度为32个字节的情况下,可以选择SHA512作为哈希函数,因为它的输出长度为64位。下面实施例的描述以椭圆曲线签名算法SM2为例,其中SM2的生成元为G,使用SHA512作为哈希函数,哈希函数采用H()表示,SM2数字签名算法函数为:s=Sign(x,H(M))。
根密钥管理模块管理的是系统中最核心的根密钥,这个密钥是需要被严格保护的。在实际应用中可以将私钥存储在SE硬件芯片中,让私钥不能导出,保证私钥整体的安全性。同时根私钥管理模块负责对可扩展签名模块的未签名证书进行签名,负责管理可扩展签名模块的信息。
根密钥管理模块还需要记录一个可扩展签名模块列表,这个可扩展签名模块列表中会记录有哪些可扩展签名模块是在线有效的,有多少可扩展签名模块曾经注销离线过。
可扩展签名模块是一个可以被并行扩展的基础模块,每一个可扩签名模块持有一个派生私钥,负责从派生私钥执行签名。可扩展签名模块负责签名流程中计算签名的过程;向根密钥管理模块申请派生私钥;生成当前派生私钥对应的公钥证书;负责生成当前可扩展签名模块的吊销证书。系统在同一时间可以存在不仅仅一个可扩展签名模块,系统的使用者可以按照系统的需要,自由的增加新的模块来提升系统整体的性能。
签名请求网关负责接收外部的签名请求,完成计算签名请求的哈希值部分,选择一个可扩展签名模块,并将需要签名的数据发送给可扩展签名模块,同时也要负责将签名的可扩展签名模块的对应证书返回给请求者。
签名请求网关存在一个可扩展签名模块的映射表,这个表中记录了所有可扩展签名模块的标志与可扩展签名模块对应的公钥证书。外部系统可以根据可扩展签名模块的标志获取到对应的公钥证书。
参照图2,在部分实施例中,所述响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,具体包括:
响应于可拓展模块的私钥派生请求,获取根私钥x0、根随机码Cr0、根公钥Y0=x0G和所述私钥派生请求中所述可拓展签名模块的标志i;需要理解的是,根私钥x0和根随机码Cr0由随机数种子r0计算的哈希值l=H(r0),并取哈希值l的高32字节作为私钥x0,将低32字节作为随机码cr0
将所述根公钥Y0、所述根随机码Cr0和所述可拓展签名模块的标志i进行链接并进行哈希处理,得到第一哈希值l=H(X0||cr0||i);
取所述第一哈希值设定长度的高位作为第二哈希值,取所述第一哈希值设定长度的低位分别得到第三哈希值;其中,l的高32字节为lR,低32字节为lL
将第二哈希值lR和所述根私钥x0相加得到所述可拓展签名模块的私钥xi=lR+x0
将所述第三哈希值lL作为所述可拓展签名模块的私钥的随机码ci;
根据所述可拓展签名模块的私钥得到可拓展签名模块的公钥Yi=xiG。
在部分实施例中,所述根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,包括:
生成随机数k,且k属于区间[1,n-1],其中n为SM2算法中椭圆曲线元素的个数;
计算椭圆曲线点(x0,y0),其中(x0,y0)=kG,G为SM2算法所选取的椭圆曲线的生成元;
计算r值,其中,r=(h0+x0)mod(n),h0是需要签名的哈希值,mod余数运算,若r=0,则返回生成随机数k的步骤;
计算s=((1+xA)-1*(k-r*xA))mod(n),若S=0,则返回生成随机数k的步骤;其中,xA是所述可拓展签名模块的私钥;
根据s和r得到签名,可以用(s,r)表示。
可以理解的是通过上述的注册机制,可以基于SM2算法灵活增加可拓展签名模块来实现高并发的签名处理,并通过派生密钥的方式保障根密钥的安全。
参照图2,在部分实施例中,所述可拓展签名模块向所述根私钥模块请求私钥派生时,包括:
所述可拓展签名模块生成一个唯一的标志i;
所述可拓展签名模块向所述根密钥管理模块发送携带所述标志i的私钥派生请求;
所述可拓展签名模块接收并保存所述根密钥管理模块返回的随机码ci和公钥证书。
在部分实施例中,所述签名网关通过以下方式验证可拓展签名模块的公钥证书:
从所述可拓展签名模块的公钥证书中读取所述可拓展签名模块的公钥Yi和随机码c1
使用根公钥证书对所述可拓展签名模块的公钥证书进行验证,其中,验证过程包括:
读取根公钥证书的根公钥Y0
当Yi=Y0+c1G时,通过验证。
通过签名网关对可拓展模块的公钥证书进行验证,可以确保可拓展模块注册的有效性。
参照图3,在部分实施例中,所述响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理,包括:
接收所述可拓展签名模块的销毁请求;
读取所述可拓展签名模块的公钥证书;
根据所述可拓展签名模块的公钥证书确定是否有效的可拓展签名模块,当所述可拓展签名模块有效时,根据所述销毁请求生成吊销证书;
通过根私钥对所述吊销证书进行签名,将签名后的所述吊销证书返回给可拓展签名模块。
参照图3,在部分实施例中,所述可拓展签名模块向所述根私钥模块请求销毁时,包括:
所述可拓展签名模块根据自身的标志和公钥证书生成销毁请求;
所述可拓展签名模块通过自身的私钥对所述销毁请求进行签名后,发送给根密钥管理模块;
接收根密钥管理模块返回的吊销证书。
在部分实施例中,在所述可拓展签名模块接收到吊销证书之后,所述可拓展签名模块将所述吊销证书发送给签名请求网关,以吊销存储在所述签名请求网关中的公钥证书,并停止服务。
在部分实施例中,所述根密钥管理模块基于SE芯片运行。其中根密钥存放在SE芯片中,可以保证根密钥的安全。
在部分实施例中签名请求网关收到外部系统的签名请求信息的时候,具体的签名执行流程如下
读取到需要签名的请求信息M,计算签名信息对应的哈希值h0=H(M),其中h0是计算出来的哈希值,H是哈希算法。
签名请求网关根据分布式系统节点选择算法,选择一个在线的可扩展签名模块,将哈希值发送给它。
得到签名后的数字签名,之后读取对应的可扩展签名模块证书,返回给请求者。
参照图4,本实施例公开了一种基于密钥生成的并行签名方法,由上述的基于密钥生成的并行签名系统执行,所述方法包括以下步骤:
根密钥管理模块响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码;
签名请求网关接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,将所述可拓展签名模块签名后的数据返回到外部系统。
需要理解的是,上述方法实施例基于系统实施例实现,可以达到相同的技术效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.一种基于密钥生成的并行签名系统,其特征在于,包括:
根密钥管理模块,用于响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,以及响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理;
可拓展签名模块,用于向所述根私钥模块请求私钥派生以及请求销毁,并向签名请求网关发送公钥证书进行注册,根据签名请求网关的签名请求,基于私钥和所述随机数对签名请求中的数据进行签名;
签名请求网关,用于接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,将所述可拓展签名模块签名后的数据返回到外部系统。
2.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,具体包括:
响应于可拓展模块的私钥派生请求,获取根私钥、根随机码、根公钥和所述私钥派生请求中所述可拓展签名模块的标志;
将所述根公钥、所述根随机码和所述可拓展签名模块的标志进行链接并进行哈希处理,得到第一哈希值;
取所述第一哈希值设定长度的高位作为第二哈希值,取所述第一哈希值设定长度的低位分别得到第三哈希值;
将第二哈希值和所述根私钥相加得到所述可拓展签名模块的私钥;
将所述第三哈希值作为所述可拓展签名模块的私钥的随机码;
根据所述可拓展签名模块的私钥得到可拓展签名模块的公钥。
3.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,包括:
生成随机数k,且k属于区间[1,n-1],其中n为SM2算法中椭圆曲线元素的个数;
计算椭圆曲线点(x0,y0),其中(x0,y0)=kG,G为SM2算法所选取的椭圆曲线的生成元;
计算r值,其中,r=(h0+x0)mod(n),h0是需要签名的哈希值,mod余数运算,若r=0,则返回生成随机数k的步骤;
计算s=((1+xA)-1*(k-r*xA))mod(n),若S=0,则返回生成随机数k的步骤;其中,xA是所述可拓展签名模块的私钥;
根据s和r得到签名。
4.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述可拓展签名模块向所述根私钥模块请求私钥派生时,包括:
所述可拓展签名模块生成一个唯一的标志;
所述可拓展签名模块向所述根密钥管理模块发送携带所述标志的私钥派生请求;
所述可拓展签名模块接收并保存所述根密钥管理模块返回的随机码和公钥证书。
5.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述签名网关通过以下方式验证可拓展签名模块的公钥证书:
从所述可拓展签名模块的公钥证书中读取所述可拓展签名模块的公钥Y1和随机码c1
使用根公钥证书对所述可拓展签名模块的公钥证书进行验证,其中,验证过程包括:
读取根公钥证书的根公钥Y0
当Y1=Y0+c1G时,通过验证。
6.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理,包括:
接收所述可拓展签名模块的销毁请求;
读取所述可拓展签名模块的公钥证书;
根据所述可拓展签名模块的公钥证书确定是否有效的可拓展签名模块,当所述可拓展签名模块有效时,根据所述销毁请求生成吊销证书;
通过根私钥对所述吊销证书进行签名,将签名后的所述吊销证书返回给可拓展签名模块。
7.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述可拓展签名模块向所述根私钥模块请求销毁时,包括:
所述可拓展签名模块根据自身的标志和公钥证书生成销毁请求;
所述可拓展签名模块通过自身的私钥对所述销毁请求进行签名后,发送给根密钥管理模块;
接收根密钥管理模块返回的吊销证书。
8.根据权利要求7所述的基于密钥生成的并行签名系统,其特征在于,在所述可拓展签名模块接收到吊销证书之后,所述可拓展签名模块将所述吊销证书发送给签名请求网关,以吊销存储在所述签名请求网关中的公钥证书,并停止服务。
9.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述根密钥管理模块基于SE芯片运行。
10.一种基于密钥生成的并行签名方法,其特征在于,由如权利要求1-9任一项所述的基于密钥生成的并行签名系统执行,所述方法包括以下步骤:
根密钥管理模块响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码;
签名请求网关接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,将所述可拓展签名模块签名后的数据返回到外部系统。
CN202011287688.8A 2020-11-17 2020-11-17 基于密钥生成的并行签名系统和方法 Pending CN112258169A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011287688.8A CN112258169A (zh) 2020-11-17 2020-11-17 基于密钥生成的并行签名系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011287688.8A CN112258169A (zh) 2020-11-17 2020-11-17 基于密钥生成的并行签名系统和方法

Publications (1)

Publication Number Publication Date
CN112258169A true CN112258169A (zh) 2021-01-22

Family

ID=74266057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011287688.8A Pending CN112258169A (zh) 2020-11-17 2020-11-17 基于密钥生成的并行签名系统和方法

Country Status (1)

Country Link
CN (1) CN112258169A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921496A (zh) * 2015-12-25 2017-07-04 卓望数码技术(深圳)有限公司 一种数字签名方法和系统
CN106953732A (zh) * 2017-03-10 2017-07-14 南方城墙信息安全科技有限公司 芯片卡的密钥管理系统及方法
CN111783097A (zh) * 2020-05-28 2020-10-16 东方红卫星移动通信有限公司 一种星载计算系统的信息完整性度量验证方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921496A (zh) * 2015-12-25 2017-07-04 卓望数码技术(深圳)有限公司 一种数字签名方法和系统
CN106953732A (zh) * 2017-03-10 2017-07-14 南方城墙信息安全科技有限公司 芯片卡的密钥管理系统及方法
CN111783097A (zh) * 2020-05-28 2020-10-16 东方红卫星移动通信有限公司 一种星载计算系统的信息完整性度量验证方法及系统

Similar Documents

Publication Publication Date Title
US11842317B2 (en) Blockchain-based authentication and authorization
CN109325331B (zh) 基于区块链和可信计算平台的大数据采集交易系统
US10880089B2 (en) Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication
CN110046996B (zh) 数据处理方法和装置
JP6841911B2 (ja) 情報保護用のシステム及び方法
CN108292402B (zh) 用于信息的安全交换的公共秘密的确定和层级确定性密钥
JP2023109981A (ja) 低エントロピーパスワードを用いてブロックチェーントランザクションを許可するためのコンピュータ実装されたシステム及び方法
US20190295069A1 (en) Systems and methods for integrating cryptocurrency wallet identifiers with digital certificates
JP6756041B2 (ja) 情報保護用のシステム及び方法
US9614847B2 (en) User authentication
WO2021174927A1 (zh) 基于区块链的身份校验方法、装置、设备及存储介质
CN109889497A (zh) 一种去信任的数据完整性验证方法
CN111476573B (zh) 一种账户数据处理方法、装置、设备及存储介质
CN110716724B (zh) 基于fpga实现隐私区块链的方法及装置
Homoliak et al. An air-gapped 2-factor authentication for smart-contract wallets
CN114268447B (zh) 一种文件传输方法、装置、电子设备和计算机可读介质
WO2024011863A1 (zh) 通信方法、装置、sim卡、电子设备和终端设备
TW202107871A (zh) 產生非對稱算法密鑰對之方法
CN113159774B (zh) 一种区块链中可监管零知识证明验证方法及系统
CN112258170A (zh) 基于pki的并行签名系统和方法
KR102354044B1 (ko) 니모닉 코드를 이용한 개인키 복구 방법
CN114629663A (zh) 基于区块链的数字商品交易方法及装置
Abdelrahman Blockchain cryptography and security issues
CN112258169A (zh) 基于密钥生成的并行签名系统和方法
Ren et al. Security analysis of delegable and proxy provable data possession in public cloud storage

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