1.本发明涉及信息化软件系统、互联网及区块链技术领域,具体地说是一种基于区块链的文书签名管理方法及系统。
背景技术:2.在电子商务、电子政务等领域,涉及商务合作、部门间协作时,常常需要签订法律文书以便明确合作双方各自的权利与义务。文书需要双方签名盖章后才能产生严格意义上的法律约束力。签名由最初的纸质亲笔签名发展到基于pki证书体系(公钥基础设施)的数字签名。
3.pki证书体系是一种中心化的认证体系,需要中心化的权威机构颁发证书及认证身份。当信息系统分别使用由不同权威机构颁发的证书签名法律文书时,文书很难在不同的信息系统间进行相互的鉴证与自由流动。当法律文书需要跨部门、跨业务、跨层级、跨地域、甚至跨越不同主权系统进行协作时,基于pki证书体系的签名系统实现复杂、效率低下。另外,中心化的系统有可能出现删除数据、篡改数据的现象。
技术实现要素:4.本发明的技术任务是针对以上不足之处,提供一种基于区块链的文书签名管理方法及系统,能够实现文书签名信息的不可删除、不可篡改、可追溯及不可抵赖性,进而实现跨越不同pki证书体系、不同主权信息系统之间的信任价值传递。
5.本发明解决其技术问题所采用的技术方案是:
6.一种基于区块链的文书签名管理方法,包括文书签名客户端、文书签名管理系统和文书签名智能合约,
7.文书签名客户端将签名信息包括业务id、业务名称、签名算法、签名人数、签名公钥列表发送至文书签名管理系统;文书签名管理系统计算签名公钥列表
8.得到签名验证公钥,并将业务id、业务名称、签名算法、签名人数及签名验证
9.公钥存储为文书签名规则;文书签名管理系统将业务id、业务名称、签名算法
10.及签名验证公钥发送至文书签名智能合约,文书签名智能合约将业务id、业务名称、签名算法及签名验证公钥作为文书签名验证规则存储在区块链账本中;
11.所述文书签名客户端对文书哈希值进行签名得到第一文书签名值,并将业务id、文书哈希值及第一文书签名值发送至所述文书签名管理系统;所述文书签名管理系统对至少一个第一文书签名值进行计算得到第二文书签名值,并将第二文书签名值发送至所述文书签名智能合约;所述文书签名智能合约对第二文书签名值进行验证,并将验证结果保存在区块链账本中。
12.区块链通过去中心化的共识机制,实现信息的不可篡改、不可抵赖及可信性。区块链,特别是公共区块链上的数据具有公开性及透明性。去中心化的区块链技术为解决跨越不同主权信息系统之间的互信问题提供了全新的解决方案。
13.本方法结合区块链的技术特性,提出的基于区块链的文书签名管理方法,通过建设基于区块链的文书签名管理系统,实现签名规则管理、签名验证管理及签名审计管理。可以通过区块链不可篡改、不可删除、不可冒用的可信技术特性,实现文书签名信息的不可删除、不可篡改、可追溯及不可抵赖性,进而实现跨越不同pki证书体系、不同主权信息系统之间的信任价值传递。
14.优选的,所述文书签名管理系统在签名人数大于1时采用聚合签名算法对签名公钥列表的所有签名公钥进行加算合并得到签名验证公钥;
15.所述文书签名管理系统在签名人数等于1时直接将签名公钥列表中唯一的签名公钥复制为签名验证公钥。
16.优选的,所述文书签名管理系统将业务id、业务名称、签名算法、签名人数及签名验证公钥存储为文书签名规则,
17.文书签名管理系统首先检查业务id是否与已经存在的业务id冲突,如果业务id不与已经存在的业务id冲突,则文书签名管理系统将业务id、业务名称、签名算法、签名人数及签名验证公钥存储为文书签名规则。
18.优选的,所述文书签名智能合约将业务id、业务名称、签名算法及签名验证公钥作为文书签名验证规则存储在区块链账本中,
19.文书签名智能合约首先检查业务id是否与已经存在的业务id冲突,如果业务id不与已经存在的业务id冲突,则文书签名智能合约将业务id、业务名称、签名算法及签名验证公钥作为文书签名验证规则存储在区块链账本中。
20.进一步的,所述文书签名管理系统对至少一个第一文书签名值进行计算得到第二文书签名值,
21.文书签名管理系统依据业务id从系统存储的文书签名规则中查找相对应的签名人数,进一步依据签名人数决定是否加算合并第一文书签名值;
22.如果签名人数大于1,则文书签名管理系统首先将业务id、文书哈希值、第一文书签名值暂存为临时文书签名信息,并在收集到签名人数规定数量的临时文书签名信息时,利用聚合签名算法对同一业务id及文书哈希值的第一文书签名值进行加算合并成为第二文书签名值;
23.如果签名人数等于1,则文书签名管理系统直接将第一文书签名值复制为第二文书签名值。
24.优选的,所述文书签名管理系将第二文书签名值发送至所述文书签名智能合约,
25.文书签名管理系统发送至所述文书签名智能合约的内容还包括业务id和文书哈希值。
26.优选的,所述文书签名智能合约对第二文书签名值进行验证,
27.文书签名智能合约依据业务id从区块链账本存储的文书签名验证规则中查找相应的签名算法及签名验证公钥;
28.所述文书签名智能合约使用相应的签名算法及签名验证公钥验证第二文书签名值的正确性。
29.进一步的,所述文书签名智能合约将验证结果保存在区块链账本中,
30.文书签名智能合约将业务id、文书哈希值、第二文书签名值、验证结果、验证时间
作为文书签名验证结果记录保存在区块链账本中。
31.进一步的,该方法还包括文书签名审计管理,
32.用户从文书签名客户端输入查询条件,包括业务id、文书哈希值;文书签名客户端将查询条件发送给文书签名管理系统;
33.文书签名管理系统将查询条件发送给文书签名智能合约;
34.文书签名智能合约依据业务id、文书哈希值从文书签名验证结果记录中查找符合条件的数据,并将结果返回。
35.本方法还要求保护一种基于区块链的文书签名系统,包括文书签名客户端、文书签名管理系统和文书签名智能合约,
36.文书签名管理系统包括文书签名规则管理、文书签名管理、文书签名审计管理;
37.文书签名智能合约包括文书签名验证规则、文书签名验证、文书签名验证记录查询;
38.本系统实现上述的基于区块链的文书签名管理方法。
39.本发明的一种基于区块链的文书签名管理方法及系统与现有技术相比,具有以下有益效果:
40.本方法基于区块链实现文书签名管理,将签名验证规则通过智能合约写入区块链账本,使其不可篡改、不可删除;
41.将验证结果通过智能合约写入区块链账本,使签名行为不可篡改、不可删除,从而达到不可抵赖的可信效果;
42.本方法支持单人签名及多人签名的业务场景,适用于不同安全级别的文书签名业务场景;
43.本方法支持对签名结果随时进行再次验证与审计。用户通过文书签名客户端依据业务id、文书哈希值等条件,查询特定业务文书的签名,从而完成再次验证、核对及审计的任务。
附图说明
44.图1是本发明实施例提供的基于区块链的文书签名管理方法总体架构图;
45.图2是本发明实施例提供的文书签名规则录入流程示图;
46.图3是本发明实施例提供的文书签名验证流程示图;
47.图4是本发明实施例提供的文书签名审计流程示图。
具体实施方式
48.本发明实施例提供一种基于区块链的文书签名管理方法,包括文书签名客户端、文书签名管理系统和文书签名智能合约,
49.文书签名客户端将签名信息包括业务id、业务名称、签名算法、签名人数、签名公钥列表发送至文书签名管理系统;文书签名管理系统计算签名公钥列表
50.得到签名验证公钥,并将业务id、业务名称、签名算法、签名人数及签名验证
51.公钥存储为文书签名规则;文书签名管理系统将业务id、业务名称、签名算法
52.及签名验证公钥发送至文书签名智能合约,文书签名智能合约将业务id、业务名
称、签名算法及签名验证公钥作为文书签名验证规则存储在区块链账本中;
53.所述文书签名客户端对文书哈希值进行签名得到第一文书签名值,并将业务id、文书哈希值及第一文书签名值发送至所述文书签名管理系统;所述文书签名管理系统对至少一个第一文书签名值进行计算得到第二文书签名值,并将第二文书签名值发送至所述文书签名智能合约;所述文书签名智能合约对第二文书签名值进行验证,并将验证结果保存在区块链账本中。
54.本方法的具体实现过程如下:
55.一、文书签名规则录入,参考图2所示:
56.1)、用户通过文书签名客户端将业务id、业务名称、签名算法、签名人数、签名公钥列表等文书签名规则信息录入到文书签名管理系统中。
57.2)、基于区块链的文书签名管理系统支持单人签名及多人签名的业务场景。在多人签名的业务场景下,签名人数大于1人,文书签名管理系统利用聚合签名算法(例如schnorr)将签名公钥列表中的所有签名公钥进行加算合并成为一个签名验证公钥。
58.3)、文书签名管理系统负责验证用户录入的业务id是否具有全局唯一性。
59.4)、如果用户录入的业务id具有全局唯一性,则文书签名管理系统保存“文书签名规则”。“文书签名规则”包括:业务id、业务名称、签名算法、签名人数、签名验证公钥5个数据项目。
60.5)、文书签名管理系统将“文书签名验证规则”发送给文书签名智能合约。“文书签名验证规则”包括:业务id、业务名称、签名算法、签名验证公钥4个数据项目。
61.6)、文书签名智能合约负责验证新“文书签名验证规则”的业务id是否具有全局唯一性。
62.7)、如果新“文书签名验证规则”的业务id具有全局唯一性,则文书签名智能合约保存“文书签名验证规则”。
63.二、签名与验证,参考图3所示:
64.1)、用户通过文书签名客户端对文书哈希值进行签名,形成文书签名1。
65.2)、文书签名客户端将业务id、文书哈希值、文书签名1发送给文书签名管理系统。
66.3)、文书签名管理系统依据业务id查找相应的“文书签名规则”,进一步找到签名人数,然后依据签名人数决定是否加算合并文书签名1。
67.如果签名人数大于1,则文书签名管理系统首先暂存业务id、文书哈希值、文书签名1等文书签名信息,并在收集到签名人数规定数量的文书签名1时,利用聚合签名算法对同一业务id及文书哈希值的文书签名1进行加算合并成为文书签名2;
68.如果签名人数等于1,则直接将文书签名1作为文书签名2。
69.4)、文书签名管理系统向文书签名智能合约发送签名内容。签名内容包括:业务id、文书哈希值、文书签名2。
70.5)、文书签名智能合约依据业务id从“文书签名验证规则”中查找相应的签名算法及签名验证公钥。
71.6)、文书签名智能合约使用相应的签名算法及签名验证公钥验证签名的正确性。
72.7)、文书签名智能合约并把签名验证结果存储在区块链账本中。签名验证结果包括:业务id、文书哈希值、文书签名、验证结果、验证时间。
73.三、签名审计,参考图4所示:
74.1)、用户从文书签名客户端输入业务id、文书哈希值等查询条件;
75.2)、文书签名客户端将查询条件发送给文书签名管理系统;
76.3)、文书签名管理系统将查询条件发送给文书签名智能合约;
77.4)、文书签名智能合约依据业务id、文书哈希值从文书签名验证结果记录中查找符合条件的数据,并返回结果。
78.本发明实施例还提供了一种基于区块链的文书签名系统,参考图1所示,包括文书签名客户端、文书签名管理系统和文书签名智能合约,
79.所述文书签名管理系统包括文书签名规则管理、文书签名管理、文书签名审计管理;
80.所述文书签名智能合约包括文书签名验证规则、文书签名验证、文书签名验证记录查询;
81.本系统通过所述文书签名客户端、文书签名管理系统和文书签名智能合约实现本发明上述实施例所述的基于区块链的文书签名管理方法。
82.通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
83.除说明书所述的技术特征外,均为本专业技术人员的已知技术。
技术特征:1.一种基于区块链的文书签名管理方法,其特征在于包括文书签名客户端、文书签名管理系统和文书签名智能合约,文书签名客户端将签名信息包括业务id、业务名称、签名算法、签名人数、签名公钥列表发送至文书签名管理系统;文书签名管理系统计算签名公钥列表得到签名验证公钥,并将业务id、业务名称、签名算法、签名人数及签名验证公钥存储为文书签名规则;文书签名管理系统将业务id、业务名称、签名算法及签名验证公钥发送至文书签名智能合约,文书签名智能合约将业务id、业务名称、签名算法及签名验证公钥作为文书签名验证规则存储在区块链账本中;所述文书签名客户端对文书哈希值进行签名得到第一文书签名值,并将业务id、文书哈希值及第一文书签名值发送至所述文书签名管理系统;所述文书签名管理系统对至少一个第一文书签名值进行计算得到第二文书签名值,并将第二文书签名值发送至所述文书签名智能合约;所述文书签名智能合约对第二文书签名值进行验证,并将验证结果保存在区块链账本中。2.根据权利要求1所述的一种基于区块链的文书签名管理方法,其特征在于,所述文书签名管理系统在签名人数大于1时采用聚合签名算法对签名公钥列表的所有签名公钥进行加算合并得到签名验证公钥;所述文书签名管理系统在签名人数等于1时直接将签名公钥列表中唯一的签名公钥复制为签名验证公钥。3.根据权利要求1或2所述的一种基于区块链的文书签名管理方法,其特征在于,所述文书签名管理系统将业务id、业务名称、签名算法、签名人数及签名验证公钥存储为文书签名规则,文书签名管理系统首先检查业务id是否与已经存在的业务id冲突,如果业务id不与已经存在的业务id冲突,则文书签名管理系统将业务id、业务名称、签名算法、签名人数及签名验证公钥存储为文书签名规则。4.根据权利要求3所述的一种基于区块链的文书签名管理方法,其特征在于,所述文书签名智能合约将业务id、业务名称、签名算法及签名验证公钥作为文书签名验证规则存储在区块链账本中,文书签名智能合约首先检查业务id是否与已经存在的业务id冲突,如果业务id不与已经存在的业务id冲突,则文书签名智能合约将业务id、业务名称、签名算法及签名验证公钥作为文书签名验证规则存储在区块链账本中。5.根据权利要求2所述的一种基于区块链的文书签名管理方法,其特征在于,所述文书签名管理系统对至少一个第一文书签名值进行计算得到第二文书签名值,文书签名管理系统依据业务id从系统存储的文书签名规则中查找相对应的签名人数,进一步依据签名人数决定是否加算合并第一文书签名值;如果签名人数大于1,则文书签名管理系统首先将业务id、文书哈希值、第一文书签名值暂存为临时文书签名信息,并在收集到签名人数规定数量的临时文书签名信息时,利用聚合签名算法对同一业务id及文书哈希值的第一文书签名值进行加算合并成为第二文书签名值;如果签名人数等于1,则文书签名管理系统直接将第一文书签名值复制为第二文书签
名值。6.根据权利要求1所述的一种基于区块链的文书签名管理方法,其特征在于,所述文书签名管理系将第二文书签名值发送至所述文书签名智能合约,文书签名管理系统发送至所述文书签名智能合约的内容还包括业务id和文书哈希值。7.根据权利要求1或5或6所述的一种基于区块链的文书签名管理方法,其特征在于,所述文书签名智能合约对第二文书签名值进行验证,文书签名智能合约依据业务id从区块链账本存储的文书签名验证规则中查找相应的签名算法及签名验证公钥;所述文书签名智能合约使用相应的签名算法及签名验证公钥验证第二文书签名值的正确性。8.根据权利要求7所述的一种基于区块链的文书签名管理方法,其特征在于,所述文书签名智能合约将验证结果保存在区块链账本中,文书签名智能合约将业务id、文书哈希值、第二文书签名值、验证结果、验证时间作为文书签名验证结果记录保存在区块链账本中。9.根据权利要求8所述的一种基于区块链的文书签名管理方法,其特征在于,该方法还包括文书签名审计管理,用户从文书签名客户端输入查询条件,包括业务id、文书哈希值;文书签名客户端将查询条件发送给文书签名管理系统;文书签名管理系统将查询条件发送给文书签名智能合约;文书签名智能合约依据业务id、文书哈希值从文书签名验证结果记录中查找符合条件的数据,并将结果返回。10.一种基于区块链的文书签名系统,其特征在于,包括文书签名客户端、文书签名管理系统和文书签名智能合约,文书签名管理系统包括文书签名规则管理、文书签名管理、文书签名审计管理;文书签名智能合约包括文书签名验证规则、文书签名验证、文书签名验证记录查询;本系统实现权利要求1至9任一项所述的基于区块链的文书签名管理方法。
技术总结本发明公开了一种基于区块链的文书签名管理方法及系统,属于信息化软件系统、互联网及区块链技术领域,该方法包括文书签名客户端、文书签名管理系统和文书签名智能合约,文书签名客户端将签名信息包括业务ID、业务名称、签名算法、签名人数、签名公钥列表发送至文书签名管理系统;文书签名管理系统计算签名公钥列表得到签名验证公钥,并存储文书签名规则;文书签名管理系统将业务ID、业务名称、签名算法及签名验证公钥发送至文书签名智能合约,存储在区块链账本中。本发明能够实现文书签名信息的不可删除、不可篡改、可追溯及不可抵赖性,进而实现跨越不同PKI证书体系、不同主权信息系统之间的信任价值传递。息系统之间的信任价值传递。息系统之间的信任价值传递。
技术研发人员:屈肖军 董广立
受保护的技术使用者:浪潮软件股份有限公司
技术研发日:2022.07.01
技术公布日:2022/11/1