本发明涉及电子签名领域,特别涉及一种电子文件签名方法、装置、设备及介质。
背景技术:
1、在电子时代,越来越多的文件需要通过电子方式进行交流和签名,电子签名是一种数字化的、符合法律规范的签名方式,需要依赖公钥基础设施、数字证书等技术支持。随着互联网技术的不断发展,数字签名技术作为一种安全可靠的身份认证和文件签署手段,已经得到广泛应用。传统的数字签名技术主要采用客户端签名和服务端签名两种方式。
2、对于客户端签名方式,签名人安装签名客户端对文件完成签名,签名人的私钥保存在客户端密码模块(如ukey(usb key,一种usb接口的硬件设备)、密码卡、密码软模块等)中,签章后的文档可以在任何地方进行验证。但是客户端签名方式操作不便,需要安装签名客户端、阅读器等,且客户端签名需要逐个文件打开进行手工签名,效率低下。
3、对于服务端签名方式,服务器签章是指签章操作在服务器上进行的签章方式。签章者将需要签名的文件上传到服务器,由服务器进行签名生成签名后的文档,再将签名后的文档返回给签名者。但是服务端签名可能存在篡改文件的风险,且签名密钥不由签名人唯一控制(保存在服务端,服务端也可能有签名权限),难以保证签名的不可否认性。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种电子文件签名方法、装置、设备及介质,能够通过采用前后端协同的方式对电子文件进行签名,并在前端调用使用权限由签名人掌握的密码模块,避免后端签名可能存在的文件篡改风险,从而保证签名的安全性和不可否认性。其具体方案如下:
2、第一方面,本技术提供了一种电子文件签名方法,应用于签名系统前端,包括:
3、获取针对待签名文件的签名外观图片,并提取所述签名外观图片在所述待签名文件中的签名外观位置;
4、在对针对密码模块的身份识别码校验通过后,利用所述密码模块对基于所述签名外观图片和所述签名外观位置确定的签名信息获取参数进行签名,以得到第一签名值;
5、将基于所述签名信息获取参数和所述第一签名值确定的签名信息获取请求发送至签名系统后端,以便所述签名系统后端在对所述第一签名值、所述签名外观图片均校验通过后,对基于所述签名外观图片和所述签名外观位置生成的签名信息进行提取以得到签名信息摘要,并将所述签名信息摘要以及对应的第二签名值返回至所述签名系统前端;
6、在对所述第二签名值校验通过后,利用所述密码模块对所述签名信息摘要进行签名以得到签名信息签名;
7、将所述签名信息签名以及对应的第三签名值发送至所述签名系统后端,以便所述签名系统后端在对所述第三签名值和所述签名信息签名均校验通过后,基于所述签名信息签名完成对所述待签名文件的签名。
8、可选的,所述获取针对待签名文件的签名外观图片之前,还包括:
9、获取待签名文件预览请求,并基于所述待签名文件预览请求从所述签名系统后端获取相应的所述待签名文件;
10、对所述待签名文件在当前显示屏上进行预览显示。
11、可选的,所述利用所述密码模块对基于所述签名外观图片和所述签名外观位置确定的签名信息获取参数进行签名,以得到第一签名值,包括:
12、对所述待签名文件进行哈希提取,以得到原文摘要;
13、基于所述待签名文件对应的文件标识、所述原文摘要、所述签名外观图片和所述签名外观位置确定所述签名信息获取参数,并利用所述密码模块对所述签名信息获取参数进行签名,以得到所述第一签名值;
14、相应的,所述将基于所述签名信息获取参数和所述第一签名值确定的签名信息获取请求发送至签名系统后端,包括:
15、基于所述签名信息获取参数、所述第一签名值、与所述密码模块对应的密码模块签名证书确定所述签名信息获取请求,并将所述签名信息获取请求发送至所述签名系统后端。
16、可选的,所述在对所述第一签名值、所述签名外观图片均校验通过后,对基于所述签名外观图片和所述签名外观位置生成的签名信息进行提取以得到签名信息摘要,并将所述签名信息摘要以及对应的第二签名值返回至所述签名系统前端,包括:
17、在接收到所述签名信息获取请求之后,利用所述密码模块签名证书对所述第一签名值进行校验,并利用预先存储的签名外观图片与签名证书之间的绑定关系对所述签名信息获取参数中的签名外观图片进行校验;
18、若对所述第一签名值、所述签名外观图片均校验通过,则基于所述签名信息获取参数中的文件标识获取本地存储的待校验文件,并利用对所述待校验文件进行哈希提取得到的待校验摘要对所述原文摘要进行校验;
19、若对所述原文摘要校验通过,则表征所述待签名文件与所述待校验文件一致,并基于所述签名信息获取参数中的签名外观图片和签名外观位置生成所述签名信息,以及对所述签名信息进行哈希提取得到所述签名信息摘要;
20、利用所述签名外观图片和所述签名外观位置对所述待签名文件进行处理,以得到签名中间态文件数据,并基于所述签名信息、所述签名信息摘要、所述签名中间态文件数据和所述密码模块签名证书确定签名进度快照数据,以及生成与所述签名进度快照数据对应的会话标识;
21、利用密码机对基于所述签名信息摘要和所述会话标识确定的返回参数进行签名,以得到所述第二签名值,并将基于所述返回参数、所述第二签名值、与所述密码机对应的签名系统身份证书确定的返回结果返回至所述签名系统前端。
22、可选的,所述在对所述第二签名值校验通过后,利用所述密码模块对所述签名信息摘要进行签名以得到签名信息签名,包括:
23、在接收到所述返回结果之后,利用所述签名系统身份证书对所述第二签名值进行校验,并在对所述第二签名值校验通过后,利用所述密码模块对所述返回参数中的签名信息摘要进行签名,以得到所述签名信息签名;
24、相应的,所述将所述签名信息签名以及对应的第三签名值发送至所述签名系统后端,包括:
25、基于所述签名信息签名和所述返回参数中的会话标识确定签名提交参数,并利用所述密码模块对所述签名提交参数进行签名,以得到所述第三签名值;
26、基于所述签名提交参数、所述第三签名值和其他信息确定签名提交请求,并将所述签名提交请求发送至所述签名系统后端;所述其他信息包括用于指示是否将与所述待签名文件对应的签名后文件返回至所述签名系统前端的信息。
27、可选的,所述在对所述第三签名值和所述签名信息签名均校验通过后,基于所述签名信息签名完成对所述待签名文件的签名,包括:
28、在接收到所述签名提交请求之后,基于所述签名提交参数中的会话标识确定对应的所述签名进度快照数据,并利用所述签名进度快照数据中的密码模块签名证书对所述第三签名值和所述签名信息签名进行校验;
29、若对所述第三签名值和所述签名信息签名均校验通过,则基于所述签名信息签名对所述签名进度快照数据中的签名中间态文件数据进行处理,以完成对所述待签名文件的签名得到所述签名后文件;
30、基于所述其他信息确定是否将所述签名后文件返回至所述签名系统前端,若是,则将所述签名后文件返回至所述签名系统前端,以便所述签名系统前端在接收到所述签名后文件之后,对所述签名后文件进行渲染显示。
31、可选的,所述方法还包括:
32、若获取到批量同步签名指令,则确定与所述批量同步签名指令对应的批量文件;
33、遍历所述批量文件中的第一个目标文件,并将当前遍历到的所述目标文件确定为当前待签名文件,然后重新跳转至所述利用所述密码模块对基于所述签名外观图片和所述签名外观位置确定的签名信息获取参数进行签名的步骤,直至完成对所述当前待签名文件的签名;
34、判断所述当前待签名文件是否为所述批量文件中的最后一个文件,若否,遍历所述批量文件中的下一个目标文件,并重新跳转至所述将当前遍历到的所述目标文件确定为当前待签名文件的步骤,直至遍历完所述批量文件中的所有所述目标文件,以完成对所述批量文件中所有目标文件的签名。
35、第二方面,本技术提供了一种电子文件签名装置,应用于签名系统前端,包括:
36、签名外观获取模块,用于获取针对待签名文件的签名外观图片,并提取所述签名外观图片在所述待签名文件中的签名外观位置;
37、第一签名模块,用于在对针对密码模块的身份识别码校验通过后,利用所述密码模块对基于所述签名外观图片和所述签名外观位置确定的签名信息获取参数进行签名,以得到第一签名值;
38、第一发送模块,用于将基于所述签名信息获取参数和所述第一签名值确定的签名信息获取请求发送至签名系统后端,以便所述签名系统后端在对所述第一签名值、所述签名外观图片均校验通过后,对基于所述签名外观图片和所述签名外观位置生成的签名信息进行提取以得到签名信息摘要,并将所述签名信息摘要以及对应的第二签名值返回至所述签名系统前端;
39、第二签名模块,用于在对所述第二签名值校验通过后,利用所述密码模块对所述签名信息摘要进行签名以得到签名信息签名;
40、第二发送模块,用于将所述签名信息签名以及对应的第三签名值发送至所述签名系统后端,以便所述签名系统后端在对所述第三签名值和所述签名信息签名均校验通过后,基于所述签名信息签名完成对所述待签名文件的签名。
41、第三方面,本技术提供了一种电子设备,包括:
42、存储器,用于保存计算机程序;
43、处理器,用于执行所述计算机程序以实现前述的电子文件签名方法。
44、第四方面,本技术提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的电子文件签名方法。
45、本技术中,签名系统前端获取针对待签名文件的签名外观图片,并提取所述签名外观图片在所述待签名文件中的签名外观位置;在对针对密码模块的身份识别码校验通过后,利用所述密码模块对基于所述签名外观图片和所述签名外观位置确定的签名信息获取参数进行签名,以得到第一签名值;将基于所述签名信息获取参数和所述第一签名值确定的签名信息获取请求发送至签名系统后端,以便所述签名系统后端在对所述第一签名值、所述签名外观图片均校验通过后,对基于所述签名外观图片和所述签名外观位置生成的签名信息进行提取以得到签名信息摘要,并将所述签名信息摘要以及对应的第二签名值返回至所述签名系统前端;在对所述第二签名值校验通过后,利用所述密码模块对所述签名信息摘要进行签名以得到签名信息签名;将所述签名信息签名以及对应的第三签名值发送至所述签名系统后端,以便所述签名系统后端在对所述第三签名值和所述签名信息签名均校验通过后,基于所述签名信息签名完成对所述待签名文件的签名。由此可见,本技术通过在签名系统前端使用签名模块,并对签名人输入的针对密码模块的身份识别码进行校验,只有在校验通过后,才可以调用密码模块进行签名,也即密码模块的使用权限由签名人掌握,从而保证了签名的真实性和不可否认性;并且,本技术通过对各签名值进行校验,从而防止在签名过程中签名信息被篡改的风险,保证前后端信息的一致性和完整性;另外,本技术通过采用前后端协同的方式对电子文件进行签名,并在前端调用密码模块,避免后端签名可能存在的文件篡改风险以及解决后端签名难以保障签名的不可否认性问题,但同时又利用了后端处理能力强的优点,实现对电子文件签名的高效性,并进一步提高电子文件签名的安全性和不可否认性。
1.一种电子文件签名方法,其特征在于,应用于签名系统前端,包括:
2.根据权利要求1所述的电子文件签名方法,其特征在于,所述获取针对待签名文件的签名外观图片之前,还包括:
3.根据权利要求1所述的电子文件签名方法,其特征在于,所述利用所述密码模块对基于所述签名外观图片和所述签名外观位置确定的签名信息获取参数进行签名,以得到第一签名值,包括:
4.根据权利要求3所述的电子文件签名方法,其特征在于,所述在对所述第一签名值、所述签名外观图片均校验通过后,对基于所述签名外观图片和所述签名外观位置生成的签名信息进行提取以得到签名信息摘要,并将所述签名信息摘要以及对应的第二签名值返回至所述签名系统前端,包括:
5.根据权利要求4所述的电子文件签名方法,其特征在于,所述在对所述第二签名值校验通过后,利用所述密码模块对所述签名信息摘要进行签名以得到签名信息签名,包括:
6.根据权利要求5所述的电子文件签名方法,其特征在于,所述在对所述第三签名值和所述签名信息签名均校验通过后,基于所述签名信息签名完成对所述待签名文件的签名,包括:
7.根据权利要求1至6任一项所述的电子文件签名方法,其特征在于,还包括:
8.一种电子文件签名装置,其特征在于,应用于签名系统前端,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的电子文件签名方法。