CN113300841A - 一种基于身份的协同签名方法及*** - Google Patents
一种基于身份的协同签名方法及*** Download PDFInfo
- Publication number
- CN113300841A CN113300841A CN202110569155.7A CN202110569155A CN113300841A CN 113300841 A CN113300841 A CN 113300841A CN 202110569155 A CN202110569155 A CN 202110569155A CN 113300841 A CN113300841 A CN 113300841A
- Authority
- CN
- China
- Prior art keywords
- signature
- key
- share
- signing
- participant
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 239000003999 initiator Substances 0.000 claims abstract description 28
- 230000004931 aggregating effect Effects 0.000 claims abstract description 13
- 238000012795 verification Methods 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 23
- 239000003795 chemical substances by application Substances 0.000 claims description 5
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
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)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于身份的协同签名方法及***。该方法包括:根据签名发起者的手机IMEI号生成第一签名信息;第一签名信息包括第一签名私钥和第一签名公钥,第一签名公钥用于对协同签名进行验证;根据第一签名私钥,为每一签名参与者生成并分发一个份额秘钥;签名参与者由签名发起者确定;接收来自签名参与者的份额秘钥;将来自于各签名参与者的份额秘钥聚合,得到目标签名私钥并返回各签名参与者;目标签名私钥用于签名参与者对第一文件进行签名以得到第一文件对应的第一协同签名;第一文件由签名发起者提供。本申请一方面协同签名的方式保障了签名的安全性,另一方面基于身份的密码体制,不需要公私秘钥的存放与维护,降低了***开销和复杂度。
Description
技术领域
本发明涉及数字签名领域,特别是涉及一种基于身份的协同签名方法及***。
背景技术
在传统的日常生活中,人们通过手写签名或***的方式对政治外交活动中的文件、商业上的契约合同和日常书信等进行认证、核准。在信息社会,通过网络传递的数据,其数据来源、真实性和完整性也需要认证,数字签名技术就能很好的实现这些功能。
数字签名技术依托于密码体制。传统的密码体制往往考虑的是只存在一个发送者和一个接受者的情况,然而在现实生活中,大量与信息安全有关的通信和商业活动都是在组织与个人、组织与组织之间进行的。在一个组织中,如果每个成员都拥有各自的公私钥对,在签名时,成员使用自己的私钥进行签名,使用自己的公钥验证签名,这样会增大整个密码***的开销;然而,若全体成员共享同一公私钥对(各成员拥有相同的公私钥对),则会增加***私钥暴露的机会,使得***不安全。
发明内容
本发明的目的是提供一种基于身份的协同签名方法及***,以保障签名***的安全。
为实现上述目的,本发明提供了如下方案:
一种基于身份的协同签名方法,包括:
根据签名发起者的手机IMEI号生成第一签名信息;所述第一签名信息包括第一签名私钥和第一签名公钥,所述第一签名公钥用于对协同签名进行验证;
根据所述第一签名私钥,为每一签名参与者生成并分发一个份额秘钥;所述签名参与者由所述签名发起者确定;
接收来自所述签名参与者的份额秘钥;
将来自于各所述签名参与者的份额秘钥聚合,得到目标签名私钥并返回各所述签名参与者;所述目标签名私钥用于所述签名参与者对第一文件进行签名以得到所述第一文件对应的第一协同签名;所述第一文件由所述签名发起者提供。
可选的,所述基于身份的协同签名方法还包括:
获取协同签名数据;所述协同签名数据包括第二文件和第二协同签名;
根据所述第二文件计算第一摘要值;
采用第一签名公钥对所述第二协同签名进行解密,得到第二摘要值;
判断所述第一摘要值与所述第二摘要值是否相等,并在所述第一摘要值与所述第二摘要值相等时,确认所述第二协同签名通过验证。
在将来自于各所述签名参与者的份额秘钥聚合之前,还包括:
代理签名参与者进行第一签名处理;
所述第一签名处理包括:
根据签名参与者手机号生成第二签名信息;所述第二签名信息包括第二签名私钥和第二签名公钥;
采用签名参与者对应的第二签名私钥对所述签名参与者对应的份额秘钥进行签名,得到第一份额秘钥签名。
可选的,在所述将来自于各所述签名参与者的份额秘钥聚合之前,还包括:
对来自签名参与者的份额秘钥进行第一验证处理;
所述第一验证处理包括:
获取来自签名参与者的第一签名验证数据,所述第一签名验证数据包括第一传来份额秘钥签名、传来份额秘钥和传来签名公钥,所述第一传来份额秘钥签名与所述第一份额秘钥签名相同或不同,所述传来份额秘钥与所述第一份额秘钥签名对应的份额秘钥相同或不同,所述传来签名公钥与所述第二签名公钥相同或不同;
根据所述第一传来份额秘钥签名和所述第二传来签名公钥对所述传来份额秘钥进行验证。
可选的,在向所述签名参与者分发所述份额秘钥之前,还包括:
根据签名表的主键sid生成第三签名信息,所述第三签名信息包括第三签名私钥和第三签名公钥,所述签名表用于记录签名信息;
采用所述第三签名私钥对所述份额秘钥进行签名,得到第二份额秘钥签名;
将所述第二份额秘钥签名、份额秘钥和第三签名公钥一同发送至签名参与者。
可选的,在所述将所述第一份额秘钥签名、份额秘钥和第二签名公钥一同发送至签名参与者之后,还包括:
对签名参与者接收到的份额秘钥进行第二验证处理;
所述第二验证处理包括:
获取来自签名参与者的第二签名验证数据,所述第二签名验证数据包括第二传来份额秘钥签名、传来份额秘钥和第三传来签名公钥;
根据所述第二传来份额秘钥签名和所述第三传来签名公钥对所述传来份额秘钥进行验证。
在将目标签名私钥返回各所述签名参与者之前,还包括:
根据签名参与者的手机号生成加密私钥和加密公钥;所述加密私钥用于在目标签名私钥返回签名参与者之前,对所述目标签名私钥进行加密;所述加密公钥用于目标签名私钥的解密;
代理签名参与者进行解密处理;
所述解密处理包括:
获取来自签名参与者的解密相关数据,所述解密相关数据包括传来加密公钥和传来目标签名私钥密文;
采用所述传来加密公钥对所述传来目标签名私钥密文进行解密。
本发明提供了一种基于身份的协同签名***,包括:秘钥分发中心、份额分发中心和验证中心;其中,
所述秘钥分发中心用于:
根据签名发起者的手机IMEI号生成第一签名信息;所述第一签名信息包括第一签名私钥和第一签名公钥,所述第一签名公钥用于对协同签名进行验证;
所述份额分发中心用于:
根据所述第一签名私钥,为每一签名参与者生成并分发一个份额秘钥,所述签名参与者由所述签名发起者确定;
接收来自所述签名参与者的份额秘钥;
将来自于各所述签名参与者的份额秘钥聚合,得到目标签名私钥并返回各所述签名参与者;所述目标签名私钥用于所述签名参与者对第一文件进行签名以得到所述第一文件对应的第一协同签名;所述第一文件由所述签名发起者提供;
所述验证中心用于:
获取协同签名数据;所述协同签名数据包括第二文件和第二协同签名;
根据所述第二文件计算第一摘要值;
采用第一签名公钥对所述第二协同签名进行解密,得到第二摘要值;
判断所述第一摘要值与所述第二摘要值是否相等,并在所述第一摘要值与所述第二摘要值相等时,确认所述第二协同签名通过验证。
可选的,所述***还包括:第一签名验证模块,所述第一签名验证模块包括第一签名单元和第一验证单元;
所述第一签名单元用于代理签名参与者进行第一签名处理;
所述第一签名处理包括:
根据签名参与者手机号生成第二签名信息;所述第二签名信息包括第二签名私钥和第二签名公钥;
采用签名参与者对应的第二签名私钥对所述签名参与者对应的份额秘钥进行签名,得到第一份额秘钥签名;
第一验证单元用于对来自签名参与者的份额秘钥进行第一验证处理;
所述第一验证处理包括:
获取来自签名参与者的第一签名验证数据,所述第一签名验证数据包括第一传来份额秘钥签名、传来份额秘钥和传来签名公钥,所述第一传来份额秘钥签名与所述第一份额秘钥签名相同或不同,所述传来份额秘钥与所述第一份额秘钥签名对应的份额秘钥相同或不同,所述传来签名公钥与所述第二签名公钥相同或不同;
根据所述第一传来份额秘钥签名和所述第二传来签名公钥对所述传来份额秘钥进行验证。
可选的,所述***还包括:第二签名验证模块,所述第二签名验证模块包括第二签名单元和第二验证单元;
所述第二签名单元用于:
根据签名表的主键sid生成第三签名信息,所述第三签名信息包括第三签名私钥和第三签名公钥,所述签名表用于记录签名信息;
采用所述第三签名私钥对所述份额秘钥进行签名,得到第二份额秘钥签名;
将所述第二份额秘钥签名、份额秘钥和第三签名公钥一同发送至签名参与者;
所述第二验证单元用于:
对签名参与者接收到的份额秘钥进行第二验证处理;
所述第二验证处理包括:
获取来自签名参与者的第二签名验证数据,所述第二签名验证数据包括第二传来份额秘钥签名、传来份额秘钥和第三传来签名公钥;
根据所述第二传来份额秘钥签名和所述第三传来签名公钥对所述传来份额秘钥进行验证。
根据本发明提供的具体实施例,公开了以下技术效果:本发明实施例采用多个签名参与者协同签名的方式完成文件的签名,即每个签名参与者持有密钥的一个份额,合作重构出密钥,使用合成的秘钥产生签名,完成了协同签名。采用这种方式,每一签名参与者可持有部分私钥(份额私钥),减少了完整秘钥暴露的可能性,进而保障了签名的安全性。同时,由签名发起者确定的各签名参与者持有部分私钥,对应同一签名公钥,而非每一参与者拥有各自的公私钥对,也减少了整个密码***的开销。而且,本发明实施例采用基于身份的密码体制,公私钥可由主体的身份信息直接计算出来,因此不需要公私秘钥的存放与维护,降低了***开销和复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的基于身份的协同签名方法的流程示意图;
图2为本发明实施例1中协同签名的验证方法流程图;
图3为本发明实施例1中基于身份的协同签名方法的具体流程示意图;
图4为本发明实施例1中份额密钥产生过程流程图;
图5为本发明实施例1中份额密钥分发过程流程图;
图6为本发明实施例1中聚合签名密钥流程图;
图7为本发明实施例1中电子签名的生成验证过程流程图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于身份的协同签名方法及***,以保障签名***的安全。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
参见图1,本实施例提供了一种基于身份的协同签名方法,该方法由基于身份的协同签名***执行,该基于身份的协同签名***包括秘钥分发中心以及份额分发中心;该基于身份的协同签名方法包括以下步骤:
步骤101:根据签名发起者的手机IMEI号生成第一签名信息;第一签名信息包括第一签名私钥和第一签名公钥,第一签名公钥用于对协同签名进行验证;
步骤102:根据第一签名私钥,为每一签名参与者生成并分发一个份额秘钥;签名参与者由签名发起者确定;
步骤103:接收来自签名参与者的份额秘钥;
步骤104:将来自于各签名参与者的份额秘钥聚合,得到目标签名私钥并返回各签名参与者;目标签名私钥用于签名参与者对第一文件进行签名以得到第一文件对应的第一协同签名;第一文件由签名发起者提供。
其中,步骤101由秘钥分发中心执行,步骤102至步骤104由份额分发中心执行。
在一个示例中,本发明提供的基于身份的协同签名方法还包括对协同签名的验证过程,对应的基于身份的协同签名***还包括验证中心。
参见图2,协同签名的验证过程包括以下步骤:
步骤201:获取协同签名数据;所述协同签名数据包括第二文件和第二协同签名;
步骤202:根据所述第二文件计算第一摘要值;
步骤203:采用第一签名公钥对所述第二协同签名进行解密,得到第二摘要值;
步骤204:判断所述第一摘要值与所述第二摘要值是否相等,并在所述第一摘要值与所述第二摘要值相等时,确认所述第二协同签名通过验证。
参见图3,在一个示例中,为确保用于聚合的份额秘钥的真实性,在步骤102之后,且在签名参与者将份额秘钥发送至份额分发中心进行份额秘钥聚合之前,对份额秘钥进行了签名验证操作。对于该签名验证操作:
基于身份的协同签名***的秘钥分发中心代理签名参与者进行第一签名处理。所述第一签名处理包括:根据签名参与者手机号生成第二签名信息;所述第二签名信息包括第二签名私钥和第二签名公钥。采用签名参与者对应的第二签名私钥对所述签名参与者对应的份额秘钥进行签名,得到第一份额秘钥签名。
基于身份的协同签名***的验证中心对上述第一份额秘钥签名进行第一验证处理。所述第一验证处理包括:获取来自签名参与者的第一签名验证数据,所述第一签名验证数据包括第一传来份额秘钥签名、传来份额秘钥和第二传来签名公钥,所述第一传来份额秘钥签名与所述第一份额秘钥签名相同或不同,所述传来份额秘钥与所述第一份额秘钥签名对应的份额秘钥相同或不同,所述第二传来签名公钥与所述第二签名公钥相同或不同。根据所述第一传来份额秘钥签名和所述第二传来签名公钥对所述传来份额秘钥进行验证。
参见图3,在一个示例中,签名参与者为确保接收到的份额秘钥的真实性,基于身份的协同签名***的秘钥分发中心在向签名参与者分发份额秘钥之前,对份额秘钥进行了签名验证操作。对于该签名验证操作:
基于身份的协同签名***的秘钥分发中心执行以下签名操作:
根据签名表的主键sid生成第三签名信息,所述第三签名信息包括第三签名私钥和第三签名公钥,所述签名表用于记录签名信息。
采用所述第三签名私钥对所述份额秘钥进行签名,得到第二份额秘钥签名。
将所述第二份额秘钥签名、份额秘钥和第三签名公钥一同发送至签名参与者。
基于身份的协同签名***的验证中心执行以下验证操作:
获取来自签名参与者的第二签名验证数据,所述第二签名验证数据包括第二传来份额秘钥签名、传来份额秘钥和第三传来签名公钥;
根据所述第二传来份额秘钥签名和所述第三传来签名公钥对所述传来份额秘钥进行验证。
在一个示例中,为确保签名参与者接收到的目标签名私钥(即聚合后的签名私钥)的安全性,在将目标签名私钥发送至签名参与者之前,还对目标签名私钥进行了加密处理,具体的加密处理如下:
份额分发中心根据签名参与者的手机号生成加密私钥和加密公钥;所述加密私钥用于在目标签名私钥返回签名参与者之前,对所述目标签名私钥进行加密;所述加密公钥用于目标签名私钥的解密。
在签名参与者接收到上述目标签名私钥的密文后,采用加密公钥对密文进行解密,便可以的目标签名私钥。该解密过程可以由基于身份的协同签名***代理完成,具体解密过程如下:获取来自签名参与者的解密相关数据,所述解密相关数据包括传来加密公钥和传来目标签名私钥密文。采用所述传来加密公钥对所述传来目标签名私钥密文进行解密。
本实施例所涉及的签名采用的签名算法优选为SM9签名算法。
参见图3,下面对本实施例具体的执行流程进行介绍
本发明实施例提供的基于身份的协同签名方法主要包括产生份额密钥、分发份额密钥、聚合签名密钥以及电子签名生成验证阶段。
一、产生份额密钥:签名发起者选择签名参与者,发送签名发起者的手机IMEI号(国际移动设备识别码)和手机号到密钥分发中心,使用IMEI号生成SM9签名公私钥,使用签名发起者手机生成SM9加密公私钥,创建签名表随机生成主键sid,除主键外还有签名发起者手机号、SM9签名私钥、SM9加密公钥、SM9加密私钥,将手机号、SM9签名私钥和SM9加密公私钥存入签名表,发送SM9签名公钥和签名发起者手机号到签名参与者,然后发送SM9签名私钥和所有签名参与者手机号到份额分发中心,设置Shamir秘密共享方案的参数k和n,k表示大于等于k个签名参与者就可以聚合签名,n表示共有n个签名参与者,由于需要所有签名参与者都签署才能聚合原始的SM9签名密钥,所以秘密共享方案的参数k设置为n,运行Shamir秘密共享方案,为每个签名参与者分配相应的份额密钥。具体如图4所示。
二、分发份额密钥:根据签名发起者手机号查询数据库中的签名表sid,使用签名表中的主键sid作为身份id产生SM9签名公私钥,使用SM9签名私钥对密钥份额进行签名(第二份额秘钥签名),将签名过后的密钥份额、密钥份额、SM9签名公钥发送给签名参与者,签名参与者接收后发送密钥份额签名、密钥份额以及SM9签名公钥到验证中心进行验证,验证通过则接收密钥份额,否则不接收,签名失败。具体如图5所示。
三、聚合签名密钥:签名参与者发送签名发起者手机号、自身手机号和密钥份额到密钥分发中心,使用自身手机号生成SM9签名公私钥,使用SM9签名私钥对密钥份额进行签名,产生密钥份额签名(第一份额秘钥签名),然后密钥分发中心发送份额密钥签名、份额密钥以及SM9签名公钥到验证中心验证份额密钥签名,验证通过后,发送到份额分发中心,当所有参与者的份额密钥都验证通过后,使用秘密共享聚合份额密钥生成SM9签名私钥,根据签名发起者手机号查询签名表SM9加密公钥和SM9加密私钥,使用SM9加密公钥对SM9签名私钥进行加密,发送SM9签名私钥密文和SM9加密私钥到签名参与者,签名参与者接收后,发送SM9签名私钥密文和SM9加密私钥到密钥分发中心,使用SM9加密私钥解密SM9签名私钥密文,将解密后的SM9签名私钥发送到签名参与者。具体如图6所示。
四、电子签名的生成验证:签名参与者发送签名发起者手机号、文件、SM9签名私钥、***图片到密钥分发中心,根据签名发起者手机号查询SM9签名私钥和签名发起者发送的SM9签名私钥比较,如果相等将文件使用SM3处理生成消息摘要,使用聚合后的SM9签名私钥对文件的消息摘要进行签名形成签名摘要,签名摘要异或相关信息通过水印嵌到***图片中,相关信息有:手机IMEI号,手机号、当前时间戳,使用***控件加盖***在文件上,发送签名文件到签名参与者。电子签名的验证步骤如下:签名参与者发送签名文件、SM9签名公钥到验证中心,文件经SM3产生摘要值D1,使用聚合后的SM9签名公钥验证签名摘要,验证通过后,经过SM9公钥解密后得到摘要值D2;比较D1和D2,相等则验证通过。具体如图7所示。
实施例2
本实施例提供了一种基于身份的协同签名***,该***包括:秘钥分发中心、份额分发中心和验证中心。其中,
所述秘钥分发中心用于:
根据签名发起者的手机IMEI号生成第一签名信息;所述第一签名信息包括第一签名私钥和第一签名公钥,所述第一签名公钥用于对协同签名进行验证。
所述份额分发中心用于:
根据所述第一签名私钥,为每一签名参与者生成并分发一个份额秘钥,所述签名参与者由所述签名发起者确定;
接收来自所述签名参与者的份额秘钥;
将来自于各所述签名参与者的份额秘钥聚合,得到目标签名私钥并返回各所述签名参与者;所述目标签名私钥用于所述签名参与者对第一文件进行签名以得到所述第一文件对应的第一协同签名;所述第一文件由所述签名发起者提供。
所述验证中心用于:
获取协同签名数据;所述协同签名数据包括第二文件和第二协同签名;
根据所述第二文件计算第一摘要值;
采用第一签名公钥对所述第二协同签名进行解密,得到第二摘要值;
判断所述第一摘要值与所述第二摘要值是否相等,并在所述第一摘要值与所述第二摘要值相等时,确认所述第二协同签名通过验证。
在一个示例中,所述基于身份的协同签名***还包括:第一签名验证模块,所述第一签名验证模块包括第一签名单元和第一验证单元。
所述第一签名单元用于代理签名参与者进行第一签名处理。
所述第一签名处理包括:
根据签名参与者手机号生成第二签名信息;所述第二签名信息包括第二签名私钥和第二签名公钥;
采用签名参与者对应的第二签名私钥对所述签名参与者对应的份额秘钥进行签名,得到第一份额秘钥签名。
第一验证单元用于对来自签名参与者的份额秘钥进行第一验证处理。
所述第一验证处理包括:
获取来自签名参与者的第一签名验证数据,所述第一签名验证数据包括第一传来份额秘钥签名、传来份额秘钥和第二传来签名公钥,所述第一传来份额秘钥签名与所述第一份额秘钥签名相同或不同,所述传来份额秘钥与所述第一份额秘钥签名对应的份额秘钥相同或不同,所述第二传来签名公钥与所述第二签名公钥相同或不同。
根据所述第一传来份额秘钥签名和所述第二传来签名公钥对所述传来份额秘钥进行验证。
在一个示例中,所述基于身份的协同签名***还包括:第二签名验证模块,所述第二签名验证模块包括第二签名单元和第二验证单元。
所述第二签名单元用于:
根据签名表的主键sid生成第三签名信息,所述第三签名信息包括第三签名私钥和第三签名公钥,所述签名表用于记录签名信息;
采用所述第三签名私钥对所述份额秘钥进行签名,得到第二份额秘钥签名;
将所述第二份额秘钥签名、份额秘钥和第三签名公钥一同发送至签名参与者。
所述第二验证单元用于:
对签名参与者接收到的份额秘钥进行第二验证处理;
所述第二验证处理包括:
获取来自签名参与者的第二签名验证数据,所述第二签名验证数据包括第二传来份额秘钥签名、传来份额秘钥和第三传来签名公钥;
根据所述第二传来份额秘钥签名和所述第三传来签名公钥对所述传来份额秘钥进行验证。
本发明实施例采用多个签名参与者协同签名的方式完成文件的签名,即每个签名参与者持有密钥的一个份额,合作重构出密钥,使用合成的秘钥产生签名,完成了协同签名。采用这种方式,每一签名参与者可持有部分私钥(份额私钥),减少了完整秘钥暴露的可能性,进而保障了签名的安全性。同时,由签名发起者确定的各签名参与者持有部分私钥,对应同一签名公钥,而非每一参与者拥有各自的公私钥对,也减少了整个密码***的开销。而且,本发明实施例采用基于身份的密码体制,公私钥可由主体的身份信息直接计算出来,因此不需要公私秘钥的存放与维护,降低了***开销和复杂度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于身份的协同签名方法,其特征在于,包括:
根据签名发起者的手机IMEI号生成第一签名信息;所述第一签名信息包括第一签名私钥和第一签名公钥,所述第一签名公钥用于对协同签名进行验证;
根据所述第一签名私钥,为每一签名参与者生成并分发一个份额秘钥;所述签名参与者由所述签名发起者确定;
接收来自所述签名参与者的份额秘钥;
将来自于各所述签名参与者的份额秘钥聚合,得到目标签名私钥并返回各所述签名参与者;所述目标签名私钥用于所述签名参与者对第一文件进行签名以得到所述第一文件对应的第一协同签名;所述第一文件由所述签名发起者提供。
2.如权利要求1所述的基于身份的协同签名方法,其特征在于,基于身份的协同签名方法,还包括:
获取协同签名数据;所述协同签名数据包括第二文件和第二协同签名;
根据所述第二文件计算第一摘要值;
采用第一签名公钥对所述第二协同签名进行解密,得到第二摘要值;
判断所述第一摘要值与所述第二摘要值是否相等,并在所述第一摘要值与所述第二摘要值相等时,确认所述第二协同签名通过验证。
3.如权利要求1所述的基于身份的协同签名方法,其特征在于,在将来自于各所述签名参与者的份额秘钥聚合之前,还包括:
代理签名参与者进行第一签名处理;
所述第一签名处理包括:
根据签名参与者手机号生成第二签名信息;所述第二签名信息包括第二签名私钥和第二签名公钥;
采用签名参与者对应的第二签名私钥对所述签名参与者对应的份额秘钥进行签名,得到第一份额秘钥签名。
4.如权利要求3所述的基于身份的协同签名方法,其特征在于,在所述将来自于各所述签名参与者的份额秘钥聚合之前,还包括:
对来自签名参与者的份额秘钥进行第一验证处理;
所述第一验证处理包括:
获取来自签名参与者的第一签名验证数据,所述第一签名验证数据包括第一传来份额秘钥签名、传来份额秘钥和第二传来签名公钥,所述第一传来份额秘钥签名与所述第一份额秘钥签名相同或不同,所述传来份额秘钥与所述第一份额秘钥签名对应的份额秘钥相同或不同,所述第二传来签名公钥与所述第二签名公钥相同或不同;
根据所述第一传来份额秘钥签名和所述第二传来签名公钥对所述传来份额秘钥进行验证。
5.如权利要求1所述的基于身份的协同签名方法,其特征在于,在向所述签名参与者分发所述份额秘钥之前,还包括:
根据签名表的主键sid生成第三签名信息,所述第三签名信息包括第三签名私钥和第三签名公钥,所述签名表用于记录签名信息;
采用所述第三签名私钥对所述份额秘钥进行签名,得到第二份额秘钥签名;
将所述第二份额秘钥签名、份额秘钥和第三签名公钥一同发送至签名参与者。
6.根据权利要求5所述的基于身份的协同签名方法,其特征在于,在所述将所述第一份额秘钥签名、份额秘钥和第二签名公钥一同发送至签名参与者之后,还包括:
对签名参与者接收到的份额秘钥进行第二验证处理;
所述第二验证处理包括:
获取来自签名参与者的第二签名验证数据,所述第二签名验证数据包括第二传来份额秘钥签名、传来份额秘钥和第三传来签名公钥;
根据所述第二传来份额秘钥签名和所述第三传来签名公钥对所述传来份额秘钥进行验证。
7.如权利要求1所述的基于身份的协同签名方法,其特征在于,在将目标签名私钥返回各所述签名参与者之前,还包括:
根据签名参与者的手机号生成加密私钥和加密公钥;所述加密私钥用于在目标签名私钥返回签名参与者之前,对所述目标签名私钥进行加密;所述加密公钥用于目标签名私钥的解密;
代理签名参与者进行解密处理;
所述解密处理包括:
获取来自签名参与者的解密相关数据,所述解密相关数据包括传来加密公钥和传来目标签名私钥密文;
采用所述传来加密公钥对所述传来目标签名私钥密文进行解密。
8.一种基于身份的协同签名***,其特征在于,包括:秘钥分发中心、份额分发中心和验证中心;其中,
所述秘钥分发中心用于:
根据签名发起者的手机IMEI号生成第一签名信息;所述第一签名信息包括第一签名私钥和第一签名公钥,所述第一签名公钥用于对协同签名进行验证;
所述份额分发中心用于:
根据所述第一签名私钥,为每一签名参与者生成并分发一个份额秘钥,所述签名参与者由所述签名发起者确定;
接收来自所述签名参与者的份额秘钥;
将来自于各所述签名参与者的份额秘钥聚合,得到目标签名私钥并返回各所述签名参与者;所述目标签名私钥用于所述签名参与者对第一文件进行签名以得到所述第一文件对应的第一协同签名;所述第一文件由所述签名发起者提供;
所述验证中心用于:
获取协同签名数据;所述协同签名数据包括第二文件和第二协同签名;
根据所述第二文件计算第一摘要值;
采用第一签名公钥对所述第二协同签名进行解密,得到第二摘要值;
判断所述第一摘要值与所述第二摘要值是否相等,并在所述第一摘要值与所述第二摘要值相等时,确认所述第二协同签名通过验证。
9.如权利要求8所述的基于身份的协同签名***,其特征在于,所述***还包括:第一签名验证模块,所述第一签名验证模块包括第一签名单元和第一验证单元;
所述第一签名单元用于代理签名参与者进行第一签名处理;
所述第一签名处理包括:
根据签名参与者手机号生成第二签名信息;所述第二签名信息包括第二签名私钥和第二签名公钥;
采用签名参与者对应的第二签名私钥对所述签名参与者对应的份额秘钥进行签名,得到第一份额秘钥签名;
第一验证单元用于对来自签名参与者的份额秘钥进行第一验证处理;
所述第一验证处理包括:
获取来自签名参与者的第一签名验证数据,所述第一签名验证数据包括第一传来份额秘钥签名、传来份额秘钥和第二传来签名公钥,所述第一传来份额秘钥签名与所述第一份额秘钥签名相同或不同,所述传来份额秘钥与所述第一份额秘钥签名对应的份额秘钥相同或不同,所述第二传来签名公钥与所述第二签名公钥相同或不同;
根据所述第一传来份额秘钥签名和所述第二传来签名公钥对所述传来份额秘钥进行验证。
10.如权利要求1所述的基于身份的协同签名***,其特征在于,所述***还包括:第二签名验证模块,所述第二签名验证模块包括第二签名单元和第二验证单元;
所述第二签名单元用于:
根据签名表的主键sid生成第三签名信息,所述第三签名信息包括第三签名私钥和第三签名公钥,所述签名表用于记录签名信息;
采用所述第三签名私钥对所述份额秘钥进行签名,得到第二份额秘钥签名;
将所述第二份额秘钥签名、份额秘钥和第三签名公钥一同发送至签名参与者;
所述第二验证单元用于:
对签名参与者接收到的份额秘钥进行第二验证处理;
所述第二验证处理包括:
获取来自签名参与者的第二签名验证数据,所述第二签名验证数据包括第二传来份额秘钥签名、传来份额秘钥和第三传来签名公钥;
根据所述第二传来份额秘钥签名和所述第三传来签名公钥对所述传来份额秘钥进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569155.7A CN113300841B (zh) | 2021-05-25 | 2021-05-25 | 一种基于身份的协同签名方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569155.7A CN113300841B (zh) | 2021-05-25 | 2021-05-25 | 一种基于身份的协同签名方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300841A true CN113300841A (zh) | 2021-08-24 |
CN113300841B CN113300841B (zh) | 2022-11-25 |
Family
ID=77324575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110569155.7A Active CN113300841B (zh) | 2021-05-25 | 2021-05-25 | 一种基于身份的协同签名方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300841B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819585A (zh) * | 2017-11-17 | 2018-03-20 | 武汉理工大学 | Sm9数字签名协同生成方法及*** |
CN108471352A (zh) * | 2018-03-16 | 2018-08-31 | 数安时代科技股份有限公司 | 基于分布式私钥的处理方法、***、计算机设备及存储介质 |
CN109088726A (zh) * | 2018-07-19 | 2018-12-25 | 郑州信大捷安信息技术股份有限公司 | 基于sm2算法的通信双方协同签名及解密方法和*** |
CN109547212A (zh) * | 2018-12-04 | 2019-03-29 | 中国电子科技集团公司第三十研究所 | 一种基于sm2签名算法的门限签名方法 |
CN109660361A (zh) * | 2019-02-27 | 2019-04-19 | 武汉大学 | 一种对称环境下多方联合生成sm9数字签名的方法 |
CN110011803A (zh) * | 2019-02-27 | 2019-07-12 | 武汉大学 | 一种轻量级sm2两方协同生成数字签名的方法 |
CN110011802A (zh) * | 2019-02-27 | 2019-07-12 | 武汉大学 | 一种高效的sm9两方协同生成数字签名的方法及*** |
WO2019180588A1 (en) * | 2018-03-23 | 2019-09-26 | nChain Holdings Limited | Computer-implemented system and method for enabling zero-knowledge proof |
CN110651291A (zh) * | 2017-05-15 | 2020-01-03 | 区块链控股有限公司 | 安全链外区块链交易 |
CN110971405A (zh) * | 2019-12-06 | 2020-04-07 | 支付宝(杭州)信息技术有限公司 | 多方协同的sm2签名、解密方法及其*** |
CN111049650A (zh) * | 2019-12-27 | 2020-04-21 | 上海市数字证书认证中心有限公司 | 一种基于sm2算法的协同解密方法及装置、***、介质 |
WO2020078591A1 (en) * | 2018-10-17 | 2020-04-23 | Nokia Solutions And Networks Oy | Secure cryptoprocessor |
CN111314080A (zh) * | 2019-12-13 | 2020-06-19 | 北京海泰方圆科技股份有限公司 | 一种基于sm9算法的协同签名方法、装置、介质 |
CN111582867A (zh) * | 2020-05-11 | 2020-08-25 | 浙江同花顺智能科技有限公司 | 一种协同签名和解密方法、装置、电子设备和存储介质 |
CN111669275A (zh) * | 2020-07-07 | 2020-09-15 | 广东工业大学 | 一种无线网络环境下可选择从节点的主从协作签名方法 |
CN112118113A (zh) * | 2020-09-18 | 2020-12-22 | 上海市数字证书认证中心有限公司 | 一种基于sm2算法的多方协同群签名方法及装置、***、介质 |
CN112311772A (zh) * | 2020-10-12 | 2021-02-02 | 华中师范大学 | 基于Hyperledger的跨域证书管理***及方法 |
-
2021
- 2021-05-25 CN CN202110569155.7A patent/CN113300841B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110651291A (zh) * | 2017-05-15 | 2020-01-03 | 区块链控股有限公司 | 安全链外区块链交易 |
CN107819585A (zh) * | 2017-11-17 | 2018-03-20 | 武汉理工大学 | Sm9数字签名协同生成方法及*** |
CN108471352A (zh) * | 2018-03-16 | 2018-08-31 | 数安时代科技股份有限公司 | 基于分布式私钥的处理方法、***、计算机设备及存储介质 |
WO2019180588A1 (en) * | 2018-03-23 | 2019-09-26 | nChain Holdings Limited | Computer-implemented system and method for enabling zero-knowledge proof |
CN109088726A (zh) * | 2018-07-19 | 2018-12-25 | 郑州信大捷安信息技术股份有限公司 | 基于sm2算法的通信双方协同签名及解密方法和*** |
WO2020078591A1 (en) * | 2018-10-17 | 2020-04-23 | Nokia Solutions And Networks Oy | Secure cryptoprocessor |
CN109547212A (zh) * | 2018-12-04 | 2019-03-29 | 中国电子科技集团公司第三十研究所 | 一种基于sm2签名算法的门限签名方法 |
CN109660361A (zh) * | 2019-02-27 | 2019-04-19 | 武汉大学 | 一种对称环境下多方联合生成sm9数字签名的方法 |
CN110011802A (zh) * | 2019-02-27 | 2019-07-12 | 武汉大学 | 一种高效的sm9两方协同生成数字签名的方法及*** |
CN110011803A (zh) * | 2019-02-27 | 2019-07-12 | 武汉大学 | 一种轻量级sm2两方协同生成数字签名的方法 |
CN110971405A (zh) * | 2019-12-06 | 2020-04-07 | 支付宝(杭州)信息技术有限公司 | 多方协同的sm2签名、解密方法及其*** |
CN111314080A (zh) * | 2019-12-13 | 2020-06-19 | 北京海泰方圆科技股份有限公司 | 一种基于sm9算法的协同签名方法、装置、介质 |
CN111049650A (zh) * | 2019-12-27 | 2020-04-21 | 上海市数字证书认证中心有限公司 | 一种基于sm2算法的协同解密方法及装置、***、介质 |
CN111582867A (zh) * | 2020-05-11 | 2020-08-25 | 浙江同花顺智能科技有限公司 | 一种协同签名和解密方法、装置、电子设备和存储介质 |
CN111669275A (zh) * | 2020-07-07 | 2020-09-15 | 广东工业大学 | 一种无线网络环境下可选择从节点的主从协作签名方法 |
CN112118113A (zh) * | 2020-09-18 | 2020-12-22 | 上海市数字证书认证中心有限公司 | 一种基于sm2算法的多方协同群签名方法及装置、***、介质 |
CN112311772A (zh) * | 2020-10-12 | 2021-02-02 | 华中师范大学 | 基于Hyperledger的跨域证书管理***及方法 |
Non-Patent Citations (1)
Title |
---|
刘宏伟等: "基于身份密码体制的高效门限群签名方案", 《通信学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113300841B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667626B (zh) | 安全的两方协作sm2签名方法 | |
CN107579819B (zh) | 一种sm9数字签名生成方法及*** | |
CN107634836B (zh) | 一种sm2数字签名生成方法及*** | |
CN109309569B (zh) | 基于sm2算法的协同签名的方法、装置及存储介质 | |
CN109088726B (zh) | 基于sm2算法的通信双方协同签名及解密方法和*** | |
CN108199835B (zh) | 一种多方联合私钥解密方法 | |
CN111314089B (zh) | 一种基于sm2的两方协同签名方法及解密方法 | |
US6298153B1 (en) | Digital signature method and information communication system and apparatus using such method | |
US9166957B2 (en) | Digital file authentication using biometrics | |
CN111526023B (zh) | 一种基于ipk的区块链上链数据安全认证方法与*** | |
CN107483212A (zh) | 一种双方协作生成数字签名的方法 | |
CN1922816B (zh) | 单向认证 | |
CN104301108B (zh) | 一种从基于身份环境到无证书环境的签密方法 | |
US9438589B2 (en) | Binding a digital file to a person's identity using biometrics | |
CN110113150B (zh) | 基于无证书环境的可否认认证的加密方法和*** | |
CN111464315B (zh) | 数字签名处理方法、装置、计算机设备以及存储介质 | |
CN114095181B (zh) | 一种基于国密算法的门限环签名方法及*** | |
CN112069547A (zh) | 一种供应链责任主体身份认证方法及*** | |
CN115567326B (zh) | 一种基于区块链的数据交易方法及装置 | |
CN112564906A (zh) | 一种基于区块链的数据安全交互方法及*** | |
CN114726546A (zh) | 数字身份认证方法、装置、设备和存储介质 | |
CA2819211A1 (en) | Data encryption | |
CN111262691A (zh) | 基于混合主密钥的标识私钥生成及使用方法及***和装置 | |
CN111049738A (zh) | 基于混合加密的电子邮件数据安全保护方法 | |
TWI593267B (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 |