1.本发明属于电子文书签发技术领域,具体涉及一种基于区块链预防篡改的电子文书签署、校验方法及系统。
背景技术:2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.在司法、公证、仲裁等办案系统中,越来越多地使用电子文书代替纸质文书来记录案件信息、处理意见、裁决结果等。与纸质文书相比,电子文书具有填写简单、易于存储和传递方便等优点,但同时电子文书也存在容易被人篡改且不易发现的问题。
4.现有的电子文书防伪防篡改方法,大多是基于哈希算法、加密算法等生成水印或者二维码,校验或者验真时通过对电子文书利用同样的计算方法生成哈希值或者散列值,将水印或者二维码逆向还原后进行对比,来进行一致性校验。
5.现有的方法大多无法解决以下问题:
6.无法证明电子文书来源的真实性。电子文书不具备标记来源的唯一特异性属性,无法确定唯一签发来源,也无法做到抗抵赖性。
7.防伪防篡改依赖于加密算法的强壮性,易被破解和攻击。一旦获悉了水印或二维码的生成方法,很容易在对原始电子文书进行篡改后,再用同样方法生成新的水印或二维码,同样可以通过校验,达到伪造、篡改的攻击目的。
8.使用数字证书进行数字签名,虽然可以解决上面的问题,但通常具有以下弊端:
9.需要使用专门的设备,如数字证书一般存储在电子令牌之类的硬件设备中,在签发和审核过程中使用并不方便,而且存在被盗用的可能。
10.一般需要对接第三方的服务,由于使用的第三方系统的加密数据一般只存储于第三方系统中,从理论和实际上也无法保证数据不被篡改。
技术实现要素:11.为了解决上述问题,本发明提出了一种基于区块链预防篡改的电子文书签署、校验方法及系统,本发明利用手写签字和数字签名技术,解决了电子文书的签发来源认证问题和抗抵赖性问题,相比较现存的单纯基于手写签名来通过传统的笔迹鉴别方法,具有更加安全、高效、可靠和便捷的优点;相比较于单纯基于数字证书的数字签名技术,具有接入简单,不依赖于u盾ukey等硬件,灵活方便的优点。
12.根据一些实施例,本发明的第一方案提供了一种基于区块链预防篡改的电子文书签署方法,采用如下技术方案:
13.基于区块链预防篡改的电子文书签署方法,应用在服务器,所述方法包括:
14.获取签发用户端的身份验证信息进行身份验证,如果验证失败,则向签发用户端发送验证失败的信息;
15.如果验证成功,则生成非对称加密的签发者公私密钥对,并将验证成功的信息和签发者私钥发送给签发用户端,同时将签发者公钥发送给区块链;
16.采集签发用户端的签发者数字签名和签发者手写签名,并将其嵌入到电子文书,得到签名后的电子文书;
17.计算签名后的电子文书的哈希值,签名后的电子文书及其哈希值发送给区块链;
18.获取区块链反馈的存储信息并记录。
19.进一步地,所述采集签发用户端的签发者数字签名和签发者手写签名,并将其嵌入到电子文书,得到签名后的电子文书,包括:
20.通过签发用户端采集签发者手写签名和签发者数字签名;
21.对签发者手写签名进行解码得到图片格式的签发者手写签名;
22.对签发者数字签名进行解码得到图片格式的签发者数字签名;
23.将图片格式的签发者手写签名和图片格式的签发者数字签名插入到电子文书中;
24.得到签名后的电子文书。
25.进一步地,所述图片格式的签发者手写签名和图片格式的签发者数字签名采用二进制格式的图片;所述电子文书为pdf格式。
26.根据一些实施例,本发明的第二方案提供了一种基于区块链预防篡改的电子文书签署方法,采用如下技术方案:
27.基于区块链预防篡改的电子文书签署方法,应用于签发用户端,所述方法包括:
28.采集签发者的用户验证信息并发送给服务器;
29.如果收到服务器验证失败的信息,则继续采集签发者的用户验证信息并发送给服务器;
30.如果收到服务器验证成功的信息后,得到服务器反馈的签发者私钥;
31.采集签发者手写签名,利用签发者私钥对签发者手写签名进行数字签名;
32.将签发者数字签名和签发者手写签名发送给服务器,以使得服务器将其嵌入到电子文书中。
33.进一步地,所述采集签发者手写签名,利用签发者私钥对签发者手写签名进行数字签名,具体为:
34.通过签发用户端获取签发者手写签名并转换成图片格式的签发者手写签名;
35.对图片格式的签发者手写签名进行base64编码,得到最终的签发者手写签名;
36.基于图片格式的签发者手写签名,利用签名算法调用签发者的私钥进行数字签名,得到图片格式的签发者数字签名;
37.对图片格式的签发者数字签名进行base64编码,得到最终的签发者数字签名。
38.进一步地,所述将签发者数字签名和签发者手写签名发送给服务器,以使得服务器将其嵌入到电子文书中,具体为:
39.将签发者数字签名和签发者手写签名发送给服务器;
40.以使得所述服务器对签发者手写签名进行解码得到图片格式的签发者手写签名;
41.以使得所述服务器对签发者数字签名进行解码得到图片格式的签发者数字签名;
42.以使得所述服务器将图片格式的签发者手写签名和图片格式的签发者数字签名插入到电子文书中,得到签名后的电子文书。
43.根据一些实施例,本发明的第三方案提供了一种基于区块链预防篡改的电子文书校验方法,采用如下技术方案:
44.基于区块链预防篡改的电子文书校验方法,利用如第一方案或第二方案所述的基于区块链预防篡改的电子文书签署方法得到的签名后的电子文书,应用在服务器,包括:
45.获取签发用户端的签名后的电子文书,并计算签名后的电子文书的哈希值进行完整性校验;
46.获取区块链上存储的电子文书的哈希值与签名后的电子文书的哈希值进行比对,如果比对不一致,则向签发用户端发送校验失败的信息;
47.如果对比一致,则获取签发用户端的签名后的电子文书,提取签名后的电子文书上的签发者手写签名和签发者数字签名进行签名真实性校验;
48.获取区块链上的签发者公钥,利用签发者公钥对签发者数字签名解密,如果解密失败,则向签发用户端发送校验失败的信息;
49.如果解密成功,则向签发用户端发送校验成功的信息。
50.根据一些实施例,本发明的第四方案提供了一种基于区块链预防篡改的电子文书校验方法,采用如下技术方案:
51.基于区块链预防篡改的电子文书校验方法,利用如第一方案或第二方案所述的基于区块链预防篡改的电子文书签署方法得到的签名后的电子文书,应用在签收用户端,包括:
52.采集签名后的电子文书并发送给服务器进行完整性校验;
53.如果收到服务器校验失败的信息,则表明电子文书为伪造或被篡改;
54.如果收到服务器校验成功的信息,则采集签名后的电子文书并发送给服务器进行签名真实性校验;
55.如果收到服务器校验失败的信息,则表明签名数据为伪造或被篡改;
56.如果收到服务器校验成功的信息,则表明签名数据真实有效。
57.根据一些实施例,本发明的第五方案提供了一种基基于区块链预防篡改的电子文书签署校验系统,采用如下技术方案:
58.基于区块链预防篡改的电子文书签署校验系统,包括签发用户端、服务器以及签收用户端,所述签发用户端和签收用户端均与服务器通信;
59.所述服务器用于获取签发用户端的身份验证信息进行身份验证,如果验证成功,生成非对称加密的签发者公私密钥对,同时向签发用户端发送验证成功的信息以及签发者私钥,向区块链发送签发者公钥;
60.所述签发用户端用于向服务器发送身份验证信息,并在收到服务器发送的验证成功的信息后,采集签发者手写签名;获取服务器发送的签发者私钥对签发者手写签名进行数字签名,然后将签发者手写签名和签发者数字签名发送给服务器;
61.所述签收用户端用于采集签名后的电子文书并发送给服务器,以使得服务器对签名后的电子文书进行完整性校验和签名真实性校验。
62.进一步地,所述服务器对签名后的电子文书进行完整性校验和签名真实性校验,包括:
63.获取签发用户端的签名后的电子文书,并计算签名后的电子文书的哈希值进行完
整性校验;
64.获取区块链上存储的电子文书的哈希值与签名后的电子文书的哈希值进行比对,如果比对不一致,则向签发用户端发送校验失败的信息;
65.如果对比一致,则获取签发用户端的签名后的电子文书,提取签名后的电子文书上的签发者手写签名和签发者数字签名进行签名真实性校验;
66.获取区块链上的签发者公钥,利用签发者公钥对签发者数字签名解密,如果解密失败,则向签发用户端发送校验失败的信息;
67.如果解密成功,则向签发用户端发送校验失败的信息。
68.与现有技术相比,本发明的有益效果为:
69.本发明利用手写签字和数字签名技术,解决了电子文书的签发来源认证问题和抗抵赖性问题,相比较现存的单纯基于手写签名来通过传统的笔迹鉴别方法,具有更加安全、高效、可靠和便捷的优点;相比较于单纯基于数字证书的数字签名技术,具有接入简单,不依赖于u盾ukey等硬件,灵活方便的优点。
70.本发明利用区块链技术存储带有手写签名的电子文书的哈希值,实现了电子文书的防篡改防伪造,且区块链的分布式账本存储和共识算法应用,使得即使知道了哈希摘要算法和加密算法的计算方法过程也难以伪造和篡改,相较于水印或二维码方法更加安全。
附图说明
71.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
72.图1是本发明实施例一、二所述的基于区块链预防篡改的电子文书签署方法流程图;
73.图2是本发明实施例一、二所述的签发者在签发用户端进行用户注册流程图;
74.图3是本发明实施例三、四所述的基于区块链预防篡改的电子文书校验方法流程图。
具体实施方式
75.下面结合附图与实施例对本发明作进一步说明。
76.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
77.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
78.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
79.本发明涉及各种需要对电子文书有防伪防篡改要求的,包括但不限于如司法,金融,公证,仲裁等业务领域,涉及存证、文书送达、文档管理等利用电子文书并需要确保电子文书的真实合法有效性的信息系统技术领域。
80.本发明要解决的技术问题:
81.1)方便地解决文件来源认证问题,确保电子文书的真实性和权威性;
82.2)解决篡改原文后利用相同哈希算法和加密算法生成水印或二维码后不易识别伪造篡改的问题;
83.3)解决传统数字签名中心化存储和依赖专门硬件设备的问题。
84.实施例一
85.如图1-图2所示,本实施例提供了一种基于区块链预防篡改的电子文书签署方法,具体方案如下:
86.基于区块链预防篡改的电子文书签署方法,应用在服务器,所述方法包括:
87.获取签发用户端的身份验证信息进行身份验证,如果验证失败,则向签发用户端发送验证失败的信息;
88.如果验证成功,则生成非对称加密的签发者公私密钥对,并将验证成功的信息和签发者私钥发送给签发用户端,同时将签发者公钥发送给区块链;
89.采集签发用户端的签发者数字签名和签发者手写签名,并将其嵌入到电子文书,得到签名后的电子文书;
90.计算签名后的电子文书的哈希值,签名后的电子文书及其哈希值发送给区块链;
91.获取区块链反馈的存储信息并记录。
92.其中,所述采集签发用户端的签发者数字签名和签发者手写签名,并将其嵌入到电子文书,得到签名后的电子文书,包括:
93.通过签发用户端采集签发者手写签名和签发者数字签名;
94.对签发者手写签名进行解码得到图片格式的签发者手写签名;
95.对签发者数字签名进行解码得到图片格式的签发者数字签名;
96.将图片格式的签发者手写签名和图片格式的签发者数字签名插入到电子文书中;
97.得到签名后的电子文书。
98.实施例二
99.根据一些实施例,本实施例提供了一种基于区块链预防篡改的电子文书签署方法,采用如下技术方案:
100.基于区块链预防篡改的电子文书签署方法,应用于签发用户端,所述方法包括:
101.采集签发者的用户验证信息并发送给服务器;
102.如果收到服务器验证失败的信息,则继续采集签发者的用户验证信息并发送给服务器;
103.如果收到服务器验证成功的信息后,得到服务器反馈的签发者私钥;
104.采集签发者手写签名,利用签发者私钥对签发者手写签名进行数字签名;
105.将签发者数字签名和签发者手写签名发送给服务器,以使得服务器将其嵌入到电子文书中。
106.具体地,所述采集签发者手写签名,利用签发者私钥对签发者手写签名进行数字签名,具体为:
107.通过签发用户端获取签发者手写签名并转换成图片格式的签发者手写签名;
108.对图片格式的签发者手写签名进行base64编码,得到最终的签发者手写签名;
109.基于图片格式的签发者手写签名,利用签名算法调用签发者的私钥进行数字签名,得到图片格式的签发者数字签名;
110.对图片格式的签发者数字签名进行base64编码,得到最终的签发者数字签名。
111.其中,签名算法采用现有技术的中的算法,例如dsa或ecdsa等。
112.需要说明的是,进行base64编码的目的是为了将图片格式的签发者手写签名和图片格式的签发者数字签名转化为字符串格式,以便于向服务器端发送。
113.此处的图片格式为png格式或者其他二进制格式。
114.进一步地,所述将签发者数字签名和签发者手写签名发送给服务器,以使得服务器将其嵌入到电子文书中,具体为:
115.将签发者数字签名和签发者手写签名发送给服务器;
116.以使得所述服务器对签发者手写签名进行解码得到图片格式的签发者手写签名;
117.以使得所述服务器对签发者数字签名进行解码得到图片格式的签发者数字签名;
118.以使得所述服务器将图片格式的签发者手写签名和图片格式的签发者数字签名插入到电子文书中,得到签名后的电子文书。
119.其中,电子文书为pdf格式。
120.实施例三
121.如图3所示,本实施例案提供了一种基于区块链预防篡改的电子文书校验方法,采用如下技术方案:
122.基于区块链预防篡改的电子文书校验方法,利用如第一方案或第二方案所述的基于区块链预防篡改的电子文书签署方法得到的签名后的电子文书,应用在服务器,包括:
123.获取签发用户端的签名后的电子文书,并计算签名后的电子文书的哈希值进行完整性校验;
124.获取区块链上存储的电子文书的哈希值与签名后的电子文书的哈希值进行比对,如果比对不一致,则向签发用户端发送校验失败的信息;
125.如果对比一致,则获取签发用户端的签名后的电子文书,提取签名后的电子文书上的签发者手写签名和签发者数字签名进行签名真实性校验;
126.获取区块链上的签发者公钥,利用签发者公钥对签发者数字签名解密,如果解密失败,则向签发用户端发送校验失败的信息;
127.如果解密成功,则向签发用户端发送校验失败的信息。
128.实施例四
129.本实施例提供了一种基于区块链预防篡改的电子文书校验方法,采用如下技术方案:
130.基于区块链预防篡改的电子文书校验方法,利用如第一方案或第二方案所述的基于区块链预防篡改的电子文书签署方法得到的签名后的电子文书,应用在签收用户端,包括:
131.采集签名后的电子文书并发送给服务器进行完整性校验;
132.如果收到服务器校验失败的信息,则表明电子文书为伪造或被篡改;
133.如果收到服务器校验成功的信息,则采集签名后的电子文书并发送给服务器进行签名真实性校验;
134.如果收到服务器校验失败的信息,则表明签名数据为伪造或被篡改;
135.如果收到服务器校验成功的信息,则表明签名数据真实有效。
136.实施例五
137.本实施例提供了案提供了一种基基于区块链预防篡改的电子文书签署校验系统,采用如下技术方案:
138.基于区块链预防篡改的电子文书签署校验系统,包括签发用户端、服务器以及签收用户端,所述签发用户端和签收用户端均与服务器通信;
139.所述服务器用于获取签发用户端的身份验证信息进行身份验证,如果验证成功,生成非对称加密的签发者公私密钥对,同时向签发用户端发送验证成功的信息以及签发者私钥,向区块链发送签发者公钥;
140.所述签发用户端用于向服务器发送身份验证信息,并在收到服务器发送的验证成功的信息后,采集签发者手写签名;获取服务器发送的签发者私钥对签发者手写签名进行数字签名,然后将签发者手写签名和签发者数字签名发送给服务器;
141.所述签收用户端用于采集签名后的电子文书并发送给服务器,以使得服务器对签名后的电子文书进行完整性校验和签名真实性校验。
142.其中,所述服务器对签名后的电子文书进行完整性校验和签名真实性校验,包括:
143.获取签发用户端的签名后的电子文书,并计算签名后的电子文书的哈希值进行完整性校验;
144.获取区块链上存储的电子文书的哈希值与签名后的电子文书的哈希值进行比对,如果比对不一致,则向签发用户端发送校验失败的信息;
145.如果对比一致,则获取签发用户端的签名后的电子文书,提取签名后的电子文书上的签发者手写签名和签发者数字签名进行签名真实性校验;
146.获取区块链上的签发者公钥,利用签发者公钥对签发者数字签名解密,如果解密失败,则向签发用户端发送校验失败的信息;
147.如果解密成功,则向签发用户端发送校验成功的信息。
148.具体地,本实施例所述的系统的工作方法,如下:
149.(1)通过认证的手机号接收验证码验证或者人脸识别验证等手段进行签名操作者的真实身份认证;
150.(2)身份认证通过后,生成操作者专属的非对称加密公钥和私钥对,公钥和用户信息利用区块链的不可篡改和去中心化公开查询特性,存储于区块链上,私钥存储于操作者的手机等移动设备端;
151.需要说明的是,用户在注册时产生用户(操作者)专属的非对称加密公钥和私钥对,但是注册时需要进行真实身份验证,因此,在注册时并且真实身份验证通过后,才生成非对称加密公钥和私钥对。
152.如果注册时真实身份验证失败,则注册失败,也不产生密钥对。
153.且非对称加密公钥和私钥只产生一次。
154.(3)发布案件受理通知、进行案件裁决生成裁决书、或发布其他具有法律效用的电子公告等电子文书时,签署人或发布人通过手机扫描二维码或利用手机app进入手写签字采集页面或模块,采集用户真实的签字笔迹。可以通过笔迹区分签署人,防止代签。并且无
需“u盾”或手写板等硬件支持,解决传统电子签名对接和使用麻烦等问题;
155.(4)将用户手写签名(如有需要可加上国家授时中心取得的签名时间数据),利用签发者手机等移动设备上存储的非对称加密私钥进行数字签名;
156.(5)将手写签名原文和利用私钥加密后的签名数据嵌入电子文书原文,利用哈希摘要算法计算哈希值;需要说明的是,计算哈希值的方法,就是一般的哈希摘要算法,比如sha256,或者国密sm3算法都可以;其特点就是输入一个任何长度的原文,都可以输出一个固定长度的哈希值,且原文发生任何细微改变,输出的哈希值也会发生显著变化。
157.电子文书是服务器生成的,在用户签发端生成的手写签名原文和私钥加密后的数字签名数据发送至服务器后嵌入电子文书原文与之合成。
158.(6)将电子文书的哈希值(如有必要可以包括电子文书原文一起),存储到区块链系统的分布式账本中;
159.※
若电子文书有保密或访问控制要求,可以利用加密算法对电子文书原文加密后存储。
160.(7)基于区块链的数据一旦上链则无法删除,并且可追溯防篡改的特性,在相关方对电子文书的真实性提出质疑或需要对电子文书进行防伪防篡改验证时,通过哈希摘要算法对需验证的电子文书原文取哈希值,将算出的哈希值与区块链上链存储时的哈希值进行比对;
161.(8)若哈希值比对通过,说明带有手写签名数据的电子文书没有经过伪造或篡改,与上链时的原文一致;
162.(9)从电子文书上取出嵌入的利用签发者私钥加密过的签发者数字签名数据,从区块链上取得签发者的公钥进行解密。若能正确解密,则得到签发者原始电子签名数据(和签发时间数据),可由此判定验证电子文书签发者身份;若不能正确解密,则认定签发者数据系伪造或电子文书为非法签发。
163.仲裁员书面审理仲裁案件,出具裁决书,主要流程包括:
164.1)仲裁员注册办案审理系统,由系统分配账户和生成非对称加密的公私密钥对;
165.2)仲裁员书面审理仲裁案件,查看各方答辩内容和证据后,出具裁决书;
166.3)仲裁员通过扫描二维码跳转到手写签字页面或利用手机app相关模块,准备对裁决书进行签字;
167.4)通过手机验证码或人脸识别进行身份验证;
168.5)仲裁员通过手机触屏签字;
169.6)调取仲裁员手机上的私钥对手写签字进行数字签名,带有仲裁员手写签字和数字签名的裁决书,流转至审核员审核;
170.7)审核无误,将带有仲裁员手写签字和数字签名的裁决书的电子文书取哈希值,上区块链存证,并将裁决书的电子文书通过邮件送达至申请人和被申请人各方;
171.8)申请人、被申请人收到裁决书的电子文书后,可以通过基于区块链的存证系统,通过验证电子文书的哈希值与区块链上存储的哈希值是否一致验证裁决书的真伪和是否被篡改;
172.9)通过区块链上存储的公开的仲裁员的公钥对仲裁员的数字签名进行解密获取手写签字进行比对,认证是否为仲裁员本人所签发。
173.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。