CN110943844B - 一种基于网页客户端本地服务的电子文件安全签署方法及其系统 - Google Patents

一种基于网页客户端本地服务的电子文件安全签署方法及其系统 Download PDF

Info

Publication number
CN110943844B
CN110943844B CN201911157311.8A CN201911157311A CN110943844B CN 110943844 B CN110943844 B CN 110943844B CN 201911157311 A CN201911157311 A CN 201911157311A CN 110943844 B CN110943844 B CN 110943844B
Authority
CN
China
Prior art keywords
user
ser
web
signature
file
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.)
Active
Application number
CN201911157311.8A
Other languages
English (en)
Other versions
CN110943844A (zh
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.)
Jiangsu Weslink Network Technology Co ltd
Original Assignee
Jiangsu Weslink Network 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 Jiangsu Weslink Network Technology Co ltd filed Critical Jiangsu Weslink Network Technology Co ltd
Priority to CN201911157311.8A priority Critical patent/CN110943844B/zh
Publication of CN110943844A publication Critical patent/CN110943844A/zh
Application granted granted Critical
Publication of CN110943844B publication Critical patent/CN110943844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Abstract

一种基于网页客户端本地服务的电子文件安全签署方法及其系统,涉及对电子文书的电子签名服务领域,特别是为免Ukey的情况下,使用基于公钥密码学PKI标准的私钥,通过在服务端部署特定的WEB脚本命令,让WEB浏览器在访问特定内容时能够获取安全电子文件签署的模块,以代替传统需要Ukey或者手机终端配合的签署方式,用户仅需要使用网页浏览器即可安全的实现电子签署。

Description

一种基于网页客户端本地服务的电子文件安全签署方法及其 系统
技术领域
本发明涉及对电子文书的电子签名服务领域,特别是为免Ukey的情况下,实现在线电子签名的功能,其显著特点是用户仅需要通过网页浏览器,而无须外设Ukey或手机终端智能设备等,即可完成安全的电子签名。
背景技术
电子文件的在线电子签署服务,已经是电子商务环境下日益广泛的应用需求;传统的有效电子签署服务,往往需要依赖于外设Ukey才能进行安全使用,基于公钥密码学的PKI(public key infrastructure)体系保障了Ukey电子签名的可靠性;但随着信息化技术在社会生活、特别是移动互联网的发展,Ukey的使用已经越来越不便于移动互联网的需求。
为了摆脱Ukey的束缚,已经出现的一些做法是使用智能移动手机设备代替Ukey,通常的做法是在手机设备中安装特定的应用APP程序,用以对密钥的管理,当需要进行电子签署时,通过使用APP的特定流程,配合完成一份电子文件的签署。
然而在很多电子商务场景中,用户电子签署的需求可能是非常发散和临时性的,为了一次签署行为就要求用户下载安装一个特定的APP应用软件,对用户而言成为了一个巨大的障碍,为此寻找一种无需特别门槛,具备通用性的电子文件签署方法具有重要的意义。
发明内容
本发明的目的是针对网页客户端电子文件签署安全性的问题,提出一种基于网页客户端本地服务的电子文件安全签署系统。
本发明的技术方案是:
本发明提供一种基于网页客户端本地服务的电子文件安全签署方法,该方法包括:执行服务端Ser脚本部署步骤、执行用户注册步骤和执行电子文件签署步骤,具体为:
执行服务端Ser脚本部署步骤:
在服务端Ser执行,定义脚本命令如下,当用户使用网页浏览器访问Ser时,执行操作A:将包含执行模块的脚本命令加载到用户浏览器本地;前述执行模块包括:公私钥对生成模块ModK、数据签名运算模块ModS、计算哈希值的运算模块ModH、消息认证码计算模块ModHMAC
执行用户注册步骤:在网页浏览器WEB端和服务端Ser端分别执行如下操作:
在网页浏览器WEB端执行,
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的真实的身份信息IDU、联系方式Phnum,以及用户U设置的签章图样SealU;WEB端调用公私钥对生成模块ModK,请求用户U输入一个密码Ukey;ModK以用户输入的Ukey为生成元并结合身份信息IDU,生成公私钥对,私钥为KprU,公钥为KpbU。WEB端调用数据签名运算模块ModS,使用私钥KprU对用户身份信息IDU、联系方式Phnum、图样SealU进行数字签名
Figure BDA0002285146790000021
得到签名值
Figure BDA0002285146790000022
WEB端将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值
Figure BDA0002285146790000023
和公钥KpbU,一起发送至服务端Ser;
WEB端接收服务端Ser返回的注册成功或者注册失败的信息;
在服务端Ser端执行,
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令,
服务端Ser接收WEB端发送的用户身份信息IDU、联系方式Phnum、图样SealU、签名值
Figure BDA0002285146790000031
和公钥KpbU,进行真实性审核,审核通过的,使用公钥KpbU对签名
Figure BDA0002285146790000032
进行验签,验签通过的,将用户身份信息IDU、联系方式Phnum、签章图样SealU记入数据库并进行关联绑定,同时向WEB端返回注册成功;审核不通过或者验签不通过的,向WEB端返回注册失败信息;
执行电子文件签署步骤:在网页浏览器WEB端、服务端Ser和认证机构CA端分别执行如下操作:
在网页浏览器WEB端执行,
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的身份信息IDU,用户U上传的需要签署的文件M0,以及指定签章所在的位置,转发给服务端Ser;
WEB端接收服务端Ser发送的要求用户注册的指令,以及拒绝上传文件的信息,向用户提示进行注册;
WEB端接收服务端Ser发送的唯一访问地址
Figure BDA0002285146790000033
Ntask,并将
Figure BDA0002285146790000034
展示给用户;
WEB端接收用户U对地址
Figure BDA0002285146790000035
的访问,以二进制数据流的形式加载文件M1显示给用户供其审阅内容,确认无误后提交签署指令,WEB端调用公私钥对生成模块ModK,请求用户输入密码;
WEB端接收用户U输入的密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K′prU和对应的公钥K′pbU;WEB端调用数据签名运算模块ModS,使用私钥K′prU对文件M1进行签名运算,得到签名值
Figure BDA0002285146790000036
WEB端将签名值
Figure BDA0002285146790000037
公钥K′pbU、Ntask发送到服务器Ser;
在服务端Ser执行,
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令;
服务端Ser接收到IDU后,在Ser的数据库查验IDU是否存在:查验不存在的,向WEB端发送指令要求用户注册,并拒绝上传文件的请求;查验IDU在数据库中存在的,接受文件上传请求,并继续执行;
服务端Ser对M0进行格式转换,统一转换为标准格式,并将用户U的印章图样Sealu按照用户指定的签章所在的位置插入文件中,生成新的文件M1,并产生一个唯一的任务编号Ntask,将M1、Ntask与IDU建立关联记入数据库;服务端Ser将文件M1结合Ntask,生成唯一访问地址
Figure BDA0002285146790000041
并将
Figure BDA0002285146790000042
Ntask返回至用户U的WEB端浏览器;
服务端Ser接收WEB端发送的签名值
Figure BDA0002285146790000043
公钥K′pbU和Ntask;通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步获取用户U的公钥KpbU;服务端Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则继续执行;
服务端Ser使用KpbU对签名值
Figure BDA0002285146790000044
进行验签的运算
Figure BDA0002285146790000045
验签结果为假,则终止任务;验签结果为真,则签名正确,继续执行;
服务端Ser将签名值
Figure BDA0002285146790000046
添加至文件M1,合成文件M2,M2包含了文件M0一致的内容、用户U的签章图样Sealu、以及签名值
Figure BDA0002285146790000047
服务端Ser生成公私钥对,公钥为
Figure BDA0002285146790000048
私钥为
Figure BDA0002285146790000049
并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥
Figure BDA00022851467900000410
对文件M2进行数字签名,生成包含Ser私钥
Figure BDA00022851467900000411
签名信息的文件M3;服务端Ser为文件M3签发经证书签名的凭证文件
Figure BDA00022851467900000412
凭证文件
Figure BDA00022851467900000413
载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M3和文件
Figure BDA00022851467900000414
组合成最终作准文件包;服务端Ser通知用户文件M0的电子签署任务完成,并将文件M3和文件
Figure BDA00022851467900000415
组合成的最终作准文件包返回给WEB端浏览器,或者发送给用户。
在认证机构CA端执行,
CA机构收到服务端Ser发送的申请颁发数字证书的请求,生成数字证书并且发送至服务端Ser。
进一步地:执行服务端脚本部署步骤中,
在公私钥对生成模块ModK处,执行:当用户输入一个字符串(Str1)后,模块使用密钥派生函数KDF将字符串(Str1)结合用户的身份信息ID进行派生演算,产生一个符合公钥密码算法规则的大整数(Bn),作为用户的私钥(kpr),运用公钥密码算法推算产生对应公钥(kpb);
在数据签名运算模块ModS处,执行:当输入待签名消息(x),并给定私钥(kpr)后,模块执行基于公钥密码学的数字签名计算Sign(kpr,x),输出签名值(Six);
在计算哈希值的运算模块ModH处,执行:当输入待计算消息(x),模块执行哈希计算H(x),输出哈希值(z);
在消息认证码计算模块ModHMAC处,执行:当输入待计算消息(x),并给定一个密钥(k)后,模块执行计算HMACk(x),输出HMAC值(y)。
进一步地:签章图样SealU包括签名字样和/或印章图样;用户U输入的密码Ukey要求采用复杂的密码规则;服务端Ser对M0进行格式转换,统一转换为标准格式,包括PDF格式。
进一步地:执行电子文件签署步骤中,在网页浏览器WEB端执行到将
Figure BDA0002285146790000051
展示给用户之后,在服务端Ser执行到将
Figure BDA0002285146790000052
Ntask返回至用户U的WEB端浏览器之后,分别执行以下操作:
在网页浏览器WEB端执行,
WEB端接收用户U对地址
Figure BDA0002285146790000053
的访问,以二进制数据流的形式加载文件M1并显示给用户供其审阅内容,WEB端接收用户U确认无误后提交的签署指令,WEB端浏览器将任务编号Ntask提交至服务器Ser;
WEB端接收用户U输入的随机码Code;WEB端调用哈希值的运算模块ModH,对文件M1计算哈希值H(M1)=e1;对随机码Code计算哈希值H(Code)=r;WEB端调用消息认证码计算模块ModHMAC,对e1和r进行计算HMAC值HMACr(e1)=m;WEB端调用公私钥对生成模块ModK,请求用户输入密码;
WEB端接收用户输入的密码U″Key,ModK以用户输入的U″Key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K″prU和对应的公钥K″pbU;WEB端调用数据签名运算模块ModS,使用私钥K″prU对HMAC值m、任务编号Ntask进行签名运算
Figure BDA0002285146790000061
得到签名值
Figure BDA0002285146790000062
WEB端将签名值
Figure BDA0002285146790000063
公钥K″pbU、Ntask、m发送到服务器Ser;
在服务端Ser执行,
服务端Ser接收WEB端浏览器发送的任务编号Ntask,通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步得到用户U注册时提交的联系方式Phnum;服务端Ser生成一个随机码Code,将Code与任务编号Ntask建立关联记入数据库,并将Code通过联系方式Phnum发送给用户U;
服务端Ser接收WEB端发送的签名值
Figure BDA0002285146790000064
公钥K″pbU、Ntask和m;通过Ntask在数据库查询得到对应的IDU、M1、Code,并通过IDU进一步得到用户U的公钥KpbU;服务端Ser比对K″pbU与KpbU,如比对不一致则终止任务,比对一致则继续执行;
服务端Ser使用与ModH模块同样的哈希算法,对文件M1计算哈希值H(M1)=e′1;对随机码Code计算哈希值H(Code)=r′;服务端Ser使用与ModHMAC模块同样的HMAC算法,对e′1和r′进行HMAC计算HMACr′(e′1)=m′,比对m′与m,如比对不一致则终止任务,比对一致则继续执行;
服务端Ser使用KpbU对签名值
Figure BDA0002285146790000065
进行验签的运算
Figure BDA0002285146790000066
Figure BDA0002285146790000067
验签结果为假,则终止任务;验签结果为真,则签名正确,继续执行;
服务端Ser生成公私钥对,公钥为
Figure BDA0002285146790000071
私钥为
Figure BDA0002285146790000072
并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥
Figure BDA0002285146790000073
对文件M1进行数字签名,生成包含Ser私钥签名信息的文件M4;服务端Ser为文件M4签发经证书签名的凭证文件
Figure BDA0002285146790000074
凭证文件
Figure BDA0002285146790000075
载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M4和文件
Figure BDA0002285146790000076
组合成最终作准文件包;服务端Ser通知用户U文件M0的电子签署任务完成,并将文件M4和文件
Figure BDA0002285146790000077
组合成的作准文件包返回给WEB端浏览器,或者发送给用户。
一种在网页浏览器WEB端的电子文件安全签署方法,该方法包括执行用户注册步骤和执行电子文件签署步骤;其中,
执行用户注册步骤,具体包括:
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的真实的身份信息IDU、联系方式Phnum,以及用户U设置的签章图样SealU;WEB端调用公私钥对生成模块ModK,请求用户U输入一个密码Ukey;ModK以用户输入的Ukey为生成元并结合身份信息IDU;WEB端调用数据签名运算模块ModS,使用私钥KprU对用户身份信息IDU、联系方式Phnum、图样SealU进行数字签名
Figure BDA0002285146790000078
Figure BDA0002285146790000079
得到签名值
Figure BDA00022851467900000710
WEB端将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值
Figure BDA00022851467900000711
和公钥KpbU,一起发送至服务端Ser;
WEB端接收服务端Ser返回的注册成功或者注册失败的信息。
执行电子文件签署步骤,具体包括:
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的身份信息IDU,用户U上传的需要签署的文件M0,以及指定签章所在的位置,转发给服务端Ser;
WEB端接收服务端Ser发送的要求用户注册的指令,以及拒绝上传文件的信息,向用户提示进行注册;
WEB端接收服务端Ser发送的唯一访问地址
Figure BDA0002285146790000081
Ntask,并将
Figure BDA0002285146790000082
展示给用户;
WEB端接收用户U对地址
Figure BDA0002285146790000083
的访问,以二进制数据流的形式加载文件M1显示给用户供其审阅内容,WEB端接收用户U确认后提交的签署指令,WEB端调用公私钥对生成模块ModK,请求用户输入密码;
WEB端接收用户U输入的密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K′prU和对应的公钥K′pbU;WEB端调用数据签名运算模块ModS,使用私钥K′prU对文件M1进行签名运算,得到签名值
Figure BDA0002285146790000084
WEB端将签名值
Figure BDA0002285146790000085
公钥K′pbU、Ntask发送到服务器Ser。
一种网页浏览器WEB端设备,该设备包括用户注册模块和电子文件签署模块;其中,
用户注册模块执行权利要求5中的执行用户注册步骤;
电子文件签署模块执行权利要求5中的执行电子文件签署步骤。
一种在服务端Ser处的电子文件安全签署方法,其特征在于:该方法包括执行服务端Ser脚本部署步骤、用户注册步骤和电子文件签署步骤;其中,
执行服务端Ser脚本部署步骤,具体包括:
定义脚本命令如下,当用户使用网页浏览器访问Ser时,执行操作A:将包含执行模块的脚本命令加载到用户浏览器本地;前述执行模块包括:公私钥对生成模块ModK、数据签名运算模块ModS、计算哈希值的运算模块ModH、消息认证码计算模块ModHMAC
执行用户注册步骤,具体包括:
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令,
服务端Ser接收WEB端发送的用户身份信息IDU、联系方式Phnum、图样SealU、签名值
Figure BDA0002285146790000091
和公钥KpbU,进行真实性审核,审核通过的,使用公钥KpbU对签名
Figure BDA0002285146790000092
进行验签,验签通过的,将用户身份信息IDU、联系方式Phnum、签章图样SealU记入数据库并进行关联绑定,同时向WEB端返回注册成功;审核不通过或者验签不通过的,向WEB端返回注册失败信息;
执行电子文件签署步骤,具体包括:
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令;
服务端Ser接收到IDU后,在Ser的数据库查验IDU是否存在:查验不存在的,向WEB端发送指令要求用户注册,并拒绝上传文件的请求;查验IDU在数据库中存在的,接受文件上传请求,并继续对M0进行格式转换,统一转换为标准格式,并将用户U的印章图样Sealu按照用户指定的签章所在的位置插入文件中,生成新的文件M1,并产生一个唯一的任务编号Ntask,将M1、Ntask与IDU建立关联记入数据库;服务端Ser将文件M1结合Ntask,生成唯一访问地址
Figure BDA0002285146790000093
并将
Figure BDA0002285146790000094
Ntask返回至用户U的WEB端浏览器;
服务端Ser接收WEB端发送的签名值
Figure BDA0002285146790000095
公钥K′pbU和Ntask;通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步获取用户U的公钥KpbU;服务端Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则使用KpbU对签名值
Figure BDA0002285146790000096
进行验签的运算
Figure BDA0002285146790000097
验签结果为假,则终止任务;验签结果为真,则签名正确;服务端Ser将签名值
Figure BDA0002285146790000098
添加至文件M1,合成文件M2,M2包含了文件M0一致的内容、用户U的签章图样Sealu、以及签名值
Figure BDA0002285146790000099
服务端Ser生成公私钥对,公钥为
Figure BDA00022851467900000910
私钥为
Figure BDA00022851467900000911
并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥
Figure BDA0002285146790000101
对文件M2进行数字签名,生成包含Ser私钥
Figure BDA0002285146790000102
签名信息的文件M3;服务端Ser为文件M3签发经证书签名的凭证文件
Figure BDA0002285146790000103
凭证文件
Figure BDA0002285146790000104
载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M3和文件
Figure BDA0002285146790000105
组合成最终作准文件包;服务端Ser通知用户文件M0的电子签署任务完成,并将文件M3和文件
Figure BDA0002285146790000106
组合成的最终作准文件包返回给WEB端浏览器,或者发送给用户。
一种服务端Ser设备,该设备包括服务端Ser脚本部署模块、用户注册模块和电子文件签署模块;其中,
服务端Ser脚本部署模块执行执行服务端Ser脚本部署步骤;
用户注册模块执行执行用户注册步骤;
电子文件签署模块执行电子文件签署步骤。
一种基于网页客户端本地服务的电子文件安全签署系统,该系统包括所述的网页浏览器WEB端设备,以及所述的服务端Ser设备。
本发明的有益效果:
本发明则从充分发挥WEB浏览器性能的角度出发,通过在服务端部署特定的WEB脚本命令,让WEB浏览器在访问特定内容时能够获取安全电子文件签署的模块,以代替传统需要Ukey或者手机终端配合的签署方式,用户仅需要使用网页浏览器即可安全的实现电子签署。
本发明无需外设的Ukey,也无需手机下载特定APP应用软件,实现了高安全的电子签署;充分发挥现代浏览器的性能,用户的浏览器无需安装控件,也无需安装应用软件;直接支持网页模式的电子签署场景,而无需将待签章的文件下载的电脑本地;方便快捷、安全性能高
本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
具体实施方式
下面将参照实施例更详细地描述本发明的优选实施方式。虽然实施例显示了本发明的优选方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。
一种基于网页客户端本地服务的电子文件安全签署方法,该方法包括如下步骤:
1、服务器端脚本部署
1.1服务器Ser部署WEB脚本语言JavaScript,定义脚本命令执行如下操作:
1.1.1当用户使用网页浏览器访问Ser时,将包含1.1.2模块的脚本命令加载到用户浏览器本地;
1.1.2脚本命令中,包含公私钥对生成模块ModK、数据签名运算模块ModS、计算哈希值的运算模块ModH、消息认证码计算模块ModHMAC
1.1.2.1公私钥对生成模块ModK的功能为:
当用户输入一个字符串(Str1)后,模块使用密钥派生函数KDF将字符串(Str1)结合用户的身份信息ID进行派生演算,产生一个符合公钥密码算法规则的大整数(Bn),作为用户的私钥(kpr),运用公钥密码算法推算产生对应公钥(kpb);
1.1.2.2数据签名运算模块ModS的功能为:
当输入待签名消息(x),并给定私钥(kpr)后,模块执行基于公钥密码学的数字签名计算Sign(kpr,x),输出签名值(Six)。
1.1.2.3计算哈希值的运算模块ModH的功能为:
当输入待计算消息(x),模块执行哈希计算H(x),输出哈希值(z)。
1.1.2.4消息认证码计算模块ModHMAC的功能为:
当输入待计算消息(x),并给定一个密钥(k)后,模块执行计算HMACk(x),输出HMAC值(y)。
2、用户注册
2.1用户U使用网页浏览器访问服务器Ser,Ser返回1.1确定的指令,由浏览器按照1.1.1加载1.1.2中的模块至用户浏览器本地;
2.2用户U在浏览器中输入真实的身份信息IDU、联系方式Phnum,并设置签名的字样或印章图样SealU
2.3浏览器调用公私钥对生成模块ModK,请求用户输入一个密码Ukey,为保证密码的安全性可以采用复杂的密码规则;
2.3.1 ModK以用户输入的Ukey为生成元并结合用户身份信息IDU,使用密钥派生函数KDF为用户产生一个符合公钥密码算法规则的私钥KprU,进而使用公钥密码算法计算产生对应的公钥KpbU
2.4浏览器调用数据签名运算模块ModS,使用私钥KprU对用户身份信息IDU、联系方式Phnum、图样SealU进行数字签名
Figure BDA0002285146790000121
Figure BDA0002285146790000122
得到签名值
Figure BDA0002285146790000123
2.5浏览器将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值
Figure BDA0002285146790000124
和公钥KpbU,一起发送至服务器Ser;
2.6服务器Ser对用户的身份信息IDU、联系方式Phnum进行真实性审核,审核通过的,使用公钥KpbU对签名
Figure BDA0002285146790000125
进行验签,验签通过的,将用户身份信息IDU、联系方式Phnum、签章图样SealU记入数据库并进行关联绑定,同时向用户浏览器返回注册成功;审核不通过或者验签不通过的,向用户浏览器返回注册失败。
3、电子文件签署流程
3.1用户U使用网页浏览器访问服务器Ser,Ser返回1.1确定的指令,由浏览器按照1.1.1加载1.1.2中的模块至用户浏览器本地;
3.2用户U通过网页浏览器,向服务器Ser提交用户的身份信息IDU,并上传需要签署的文件M0,以及指定签章所在的位置;
3.3 Ser接收到IDU后,在Ser的数据库查验IDU是否存在,查验不存在的,要求用户注册,并拒绝上传文件的请求;查验IDU在数据库中存在的,接受文件上传请求,并执行3.4;
3.4 Ser收到文件M0后,对M0进行格式转换,统一转换为标准格式,比如PDF格式,并将用户U的印章图样Sealu按照用户指定的位置插入文件中,生成新的文件M1,并产生一个唯一的任务编号Ntask,将M1、Ntask与IDU建立关联技术数据库;
3.5 Ser将文件M1结合Ntask,生成唯一访问地址
Figure BDA0002285146790000131
并将
Figure BDA0002285146790000132
Ntask返回至用户U的浏览器;
3.6用户U通过网页浏览器访问
Figure BDA0002285146790000133
以二进制数据流的形式加载文件M1并审阅内容,确认无误后提交签署指令,浏览器调用已经加载到浏览器本地的公私钥对生成模块ModK,请求用户输入密码;
3.7用户输入密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,使用密钥派生函数KDF为用户产生一个符合公钥密码算法规则的私钥K′prU,进而使用公钥密码算法计算产生对应的公钥K′pbU
3.8浏览器调用已经加载到浏览器本地的数据签名运算模块ModS,使用私钥K′prU对文件M1进行签名运算,得到签名值
Figure BDA0002285146790000134
3.9浏览器将签名值
Figure BDA0002285146790000138
公钥K′pbU、Ntask发送到服务器Ser;
3.10 Ser通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步得到用户U注册时提交的公钥KpbU
3.11 Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则执行3.12;
3.12 Ser使用KpbU对签名值
Figure BDA0002285146790000135
进行验签的运算
Figure BDA0002285146790000136
验签结果为假,则终止任务;验签结果为真,则签名正确,执行3.13;
3.13 Ser将签名值
Figure BDA0002285146790000137
添加至文件M1,合成最终作准文件包含文件M2,M2包含了文件M0一致的内容、用户U的签章图样Sealu、以及签名值
Figure BDA0002285146790000141
3.14 Ser向可信的CA机构申请颁发数字证书,其中证书公钥为
Figure BDA0002285146790000142
证书私钥为
Figure BDA0002285146790000143
3.15 Ser使用自己的证书私钥
Figure BDA0002285146790000144
对文件M2进行数字签名,生成包含Ser私钥签名信息的文件M3
3.16 Ser为文件M3签发一份经证书私钥
Figure BDA0002285146790000145
签名的凭证文件
Figure BDA0002285146790000146
凭证明文载明用户U对文件M1的签署行为已经由Ser认证通过,。
3.17 Ser将文件M3和文件
Figure BDA0002285146790000147
组合成最终作准文件包;
3.18 Ser通知用户U文件M0的电子签署任务完成,并将作准文件包M3
Figure BDA0002285146790000148
返回给浏览器,或者发送给用户。
4、安全加强流程
4.1为了降低社会工程学根据用户的习惯,对用户U设定的密码Ukey进行攻击的风险,对3.6~3.18的签署流程按4.2进行安全强化;
4.2用户U通过网页浏览器访问
Figure BDA0002285146790000149
以二进制数据流的形式加载文件M1并审阅内容,确认无误后浏览器将任务编号Ntask提交至服务器Ser;
4.3 Ser通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步得到用户U注册时提交的联系方式Phnum
4.4 Ser生成一个随机码Code,将Code与任务编号Ntask建立关联记入数据库,并将Code通过联系方式Phnum发送给用户U;
4.5用户U在浏览器输入随机码Code;
4.6浏览器调用已经加载到浏览器本地的哈希值的运算模块ModH,对文件M1计算哈希值H(M1)=e1;对随机码Code计算哈希值H(Code)=r;
4.7浏览器调用已经加载到浏览器本地的消息认证码计算模块ModHMAC,对e1和r进行计算HMAC值HMACr(e1)=m;
4.8浏览器调用加载到浏览器本地的公私钥对生成模块ModK,请求用户输入密码;
4.9用户输入密码U″key,ModK以用户输入的U″key为生成元并结合用户输入的身份信息IDU,使用密钥派生函数KDF为用户产生一个符合公钥密码算法规则的私钥K″prU,进而使用公钥密码算法计算产生对应的公钥K″pbU
4.10浏览器调用已经加载到浏览器本地的数据签名运算模块ModS,使用私钥K″prU对HMAC值m、任务编号Ntask进行签名运算
Figure BDA0002285146790000151
Figure BDA0002285146790000152
得到签名值
Figure BDA0002285146790000153
4.11浏览器将签名值
Figure BDA0002285146790000154
公钥K″pbU、Ntask、m发送到服务器Ser;
4.12 Ser通过Ntask在数据库查询得到对应的IDU、M1、Code,并通过IDU进一步得到用户U注册时提交的公钥KpbU
4.13 Ser比对K″pbU与KpbU,如比对不一致则终止任务,比对一致则执行4.14;
4.14 Ser使用与ModH模块同样的哈希算法,对文件M1计算哈希值H(M1)=e′1;对随机码Code计算哈希值H(Code)=r′;
4.15 Ser使用与ModHMAC模块同样的HMAC算法,对e′1和r′进行HMAC计算HMACr′(e′1)=m′,比对m′与m,如比对不一致则终止任务,比对一致则执行4.16;
4.16 Ser使用KpbU对签名值
Figure BDA0002285146790000155
进行验签的运算
Figure BDA0002285146790000156
验签结果为假,则终止任务;验签结果为真,则签名正确,执行4.17;
4.17 Ser向可信的CA机构申请颁发数字证书,其中证书公钥为
Figure BDA0002285146790000157
证书私钥为
Figure BDA0002285146790000158
4.18 Ser使用自己的证书私钥
Figure BDA0002285146790000159
对文件M1进行数字签名,生成包含Ser私钥签名信息的文件M4
4.19 Ser为文件M4签发一份经证书私钥
Figure BDA00022851467900001510
签名的凭证文件
Figure BDA00022851467900001511
凭证明文载明用户U对文件M1的签署行为已经由Ser认证通过,。
4.20 Ser将文件M4和文件
Figure BDA0002285146790000161
组合成最终作准文件包;
4.21 Ser通知用户U文件M0的电子签署任务完成,并将作准文件包M4
Figure BDA0002285146790000162
返回给浏览器,或者发送给用户。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。

Claims (9)

1.一种基于网页客户端本地服务的电子文件安全签署方法,其特征在于该方法包括:执行服务端Ser脚本部署步骤、执行用户注册步骤和执行电子文件签署步骤,具体为:
执行服务端Ser脚本部署步骤:
在服务端Ser执行,定义脚本命令如下,当用户使用网页浏览器访问Ser时,执行操作A:将包含执行模块的脚本命令加载到用户浏览器本地;前述执行模块包括:公私钥对生成模块ModK、数据签名运算模块ModS、计算哈希值的运算模块ModH、消息认证码计算模块ModHMAC
执行用户注册步骤:在网页浏览器WEB端和服务端Ser端分别执行如下操作:
在网页浏览器WEB端执行,
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的真实的身份信息IDU、联系方式Phnum,以及用户U设置的签章图样SealU;WEB端调用公私钥对生成模块ModK,请求用户U输入一个密码Ukey;ModK以用户输入的Ukey为生成元并结合身份信息IDU,生成公私钥对,私钥为KprU,公钥为KpbU。WEB端调用数据签名运算模块ModS,使用私钥KprU对用户身份信息IDU、联系方式Phnum、图样SealU进行数字签名
Figure FDA0003524130760000011
得到签名值
Figure FDA0003524130760000012
WEB端将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值
Figure FDA0003524130760000013
和公钥KpbU,一起发送至服务端Ser;
WEB端接收服务端Ser返回的注册成功或者注册失败的信息;
在服务端Ser端执行,
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令,
服务端Ser接收WEB端发送的用户身份信息IDU、联系方式Phnum、图样SealU、签名值
Figure FDA0003524130760000021
和公钥KpbU,进行真实性审核,审核通过的,使用公钥KpbU对签名
Figure FDA0003524130760000022
进行验签,验签通过的,将用户身份信息IDU、联系方式Phnum、签章图样SealU记入数据库并进行关联绑定,同时向WEB端返回注册成功;审核不通过或者验签不通过的,向WEB端返回注册失败信息;
执行电子文件签署步骤:在网页浏览器WEB端、服务端Ser和认证机构CA端分别执行如下操作:
在网页浏览器WEB端执行,
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的身份信息IDU,用户U上传的需要签署的文件M0,以及指定签章所在的位置,转发给服务端Ser;
WEB端接收服务端Ser发送的要求用户注册的指令,以及拒绝上传文件的信息,向用户提示进行注册;
WEB端接收服务端Ser发送的唯一访问地址
Figure FDA0003524130760000023
Ntask,并将
Figure FDA0003524130760000024
展示给用户;
WEB端接收用户U对地址
Figure FDA0003524130760000025
的访问,以二进制数据流的形式加载文件M1显示给用户供其审阅内容,确认无误后提交签署指令,WEB端调用公私钥对生成模块ModK,请求用户输入密码;
WEB端接收用户U输入的密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K′prU和对应的公钥K′pbU;WEB端调用数据签名运算模块ModS,使用私钥K′prU对文件M1进行签名运算,得到签名值
Figure FDA0003524130760000026
WEB端将签名值
Figure FDA0003524130760000027
公钥K′pbU、Ntask发送到服务器Ser;
在服务端Ser执行,
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令;
服务端Ser接收到IDU后,在Ser的数据库查验IDU是否存在:查验不存在的,向WEB端发送指令要求用户注册,并拒绝上传文件的请求;查验IDU在数据库中存在的,接受文件上传请求,并继续执行;
服务端Ser对M0进行格式转换,统一转换为标准格式,并将用户U的印章图样Sealu按照用户指定的签章所在的位置插入文件中,生成新的文件M1,并产生一个唯一的任务编号Ntask,将M1、Ntask与IDU建立关联记入数据库;服务端Ser将文件M1结合Ntask,生成唯一访问地址
Figure FDA0003524130760000031
并将
Figure FDA0003524130760000032
Ntask返回至用户U的WEB端浏览器;
服务端Ser接收WEB端发送的签名值
Figure FDA0003524130760000033
公钥K′pbU和Ntask;通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步获取用户U的公钥KpbU;服务端Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则继续执行;
服务端Ser使用KpbU对签名值
Figure FDA0003524130760000034
进行验签的运算
Figure FDA0003524130760000035
验签结果为假,则终止任务;验签结果为真,则签名正确,继续执行;
服务端Ser将签名值
Figure FDA0003524130760000036
添加至文件M1,合成文件M2,M2包含了文件M0一致的内容、用户U的签章图样Sealu、以及签名值
Figure FDA0003524130760000037
服务端Ser生成公私钥对,公钥为
Figure FDA0003524130760000038
私钥为
Figure FDA0003524130760000039
并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥
Figure FDA00035241307600000310
对文件M2进行数字签名,生成包含Ser私钥
Figure FDA00035241307600000311
签名信息的文件M3;服务端Ser为文件M3签发经证书签名的凭证文件
Figure FDA00035241307600000312
凭证文件
Figure FDA00035241307600000313
载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M3和文件
Figure FDA00035241307600000314
组合成最终作准文件包;服务端Ser通知用户文件M0的电子签署任务完成,并将文件M3和文件
Figure FDA00035241307600000315
组合成的最终作准文件包返回给WEB端浏览器,或者发送给用户。
在认证机构CA端执行,
CA机构收到服务端Ser发送的申请颁发数字证书的请求,生成数字证书并且发送至服务端Ser。
2.根据权利要求1所述的基于网页客户端本地服务的电子文件安全签署方法,其特征在于:执行服务端脚本部署步骤中,
在公私钥对生成模块ModK处,执行:当用户输入一个字符串(Str1)后,模块使用密钥派生函数KDF将字符串(Str1)结合用户的身份信息ID进行派生演算,产生一个符合公钥密码算法规则的大整数(Bn),作为用户的私钥(kpr),运用公钥密码算法推算产生对应公钥(kpb);
在数据签名运算模块ModS处,执行:当输入待签名消息(x),并给定私钥(kpr)后,模块执行基于公钥密码学的数字签名计算Sign(kpr,x),输出签名值(Six);
在计算哈希值的运算模块ModH处,执行:当输入待计算消息(x),模块执行哈希计算H(x),输出哈希值(z);
在消息认证码计算模块ModHMAC处,执行:当输入待计算消息(x),并给定一个密钥(k)后,模块执行计算HMACk(x),输出HMAC值(y)。
3.根据权利要求1所述的基于网页客户端本地服务的电子文件安全签署方法,其特征在于:签章图样SealU包括签名字样和/或印章图样;用户U输入的密码Ukey要求采用复杂的密码规则;服务端Ser对M0进行格式转换,统一转换为标准格式,包括PDF格式。
4.根据权利要求1所述的基于网页客户端本地服务的电子文件安全签署方法,其特征在于:执行电子文件签署步骤中,在网页浏览器WEB端执行到将
Figure FDA0003524130760000041
展示给用户之后,在服务端Ser执行到将
Figure FDA0003524130760000042
Ntask返回至用户U的WEB端浏览器之后,分别执行以下操作:
在网页浏览器WEB端执行,
WEB端接收用户U对地址
Figure FDA0003524130760000051
的访问,以二进制数据流的形式加载文件M1并显示给用户供其审阅内容,WEB端接收用户U确认无误后提交的签署指令,WEB端浏览器将任务编号Ntask提交至服务器Ser;
WEB端接收用户U输入的随机码Code;WEB端调用哈希值的运算模块ModH,对文件M1计算哈希值H(M1)=e1;对随机码Code计算哈希值H(Code)=r;WEB端调用消息认证码计算模块ModHMAC,对e1和r进行计算HMAC值HMACr(e1)=m;WEB端调用公私钥对生成模块ModK,请求用户输入密码;
WEB端接收用户输入的密码U″key,ModK以用户输入的U″key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K″prU和对应的公钥K″pbU;WEB端调用数据签名运算模块ModS,使用私钥K″prU对HMAC值m、任务编号Ntask进行签名运算
Figure FDA0003524130760000052
得到签名值
Figure FDA0003524130760000053
WEB端将签名值
Figure FDA0003524130760000054
公钥K″pbU、Ntask、m发送到服务器Ser;
在服务端Ser执行,
服务端Ser接收WEB端浏览器发送的任务编号Ntask,通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步得到用户U注册时提交的联系方式Phnum;服务端Ser生成一个随机码Code,将Code与任务编号Ntask建立关联记入数据库,并将Code通过联系方式Phnum发送给用户U;
服务端Ser接收WEB端发送的签名值
Figure FDA0003524130760000055
公钥K″pbU、Ntask和m;通过Ntask在数据库查询得到对应的IDU、M1、Code,并通过IDU进一步得到用户U的公钥KpbU;服务端Ser比对K″pbU与KpbU,如比对不一致则终止任务,比对一致则继续执行;
服务端Ser使用与ModH模块同样的哈希算法,对文件M1计算哈希值H(M1)=e′1;对随机码Code计算哈希值H(Code)=r′;服务端Ser使用与ModHMAC模块同样的HMAC算法,对e′1和r′进行HMAC计算HMACr′(e′1)=m′,比对m′与m,如比对不一致则终止任务,比对一致则继续执行;
服务端Ser使用KpbU对签名值
Figure FDA0003524130760000061
进行验签的运算
Figure FDA0003524130760000062
Figure FDA0003524130760000063
验签结果为假,则终止任务;验签结果为真,则签名正确,继续执行;
服务端Ser生成公私钥对,公钥为
Figure FDA0003524130760000064
私钥为
Figure FDA0003524130760000065
并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥
Figure FDA0003524130760000066
对文件M1进行数字签名,生成包含Ser私钥签名信息的文件M4;服务端Ser为文件M4签发经证书签名的凭证文件
Figure FDA0003524130760000067
凭证文件
Figure FDA0003524130760000068
载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M4和文件
Figure FDA0003524130760000069
组合成最终作准文件包;服务端Ser通知用户U文件M0的电子签署任务完成,并将文件M4和文件
Figure FDA00035241307600000610
组合成的作准文件包返回给WEB端浏览器,或者发送给用户。
5.一种在网页浏览器WEB端的电子文件安全签署方法,其特征在于:该方法包括执行用户注册步骤和执行电子文件签署步骤;其中,
执行用户注册步骤,具体包括:
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的真实的身份信息IDU、联系方式Phnum,以及用户U设置的签章图样SealU;WEB端调用公私钥对生成模块ModK,请求用户U输入一个密码Ukey;ModK以用户输入的Ukey为生成元并结合身份信息IDU,生成公私钥对,私钥为KprU,公钥为KpbU;WEB端调用数据签名运算模块ModS,使用私钥KprU对用户身份信息IDU、联系方式Phnum、图样SealU进行数字签名
Figure FDA00035241307600000611
得到签名值
Figure FDA00035241307600000612
WEB端将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值
Figure FDA0003524130760000071
和公钥KpbU,一起发送至服务端Ser;
WEB端接收服务端Ser返回的注册成功或者注册失败的信息;
执行电子文件签署步骤,具体包括:
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的身份信息IDU,用户U上传的需要签署的文件M0,以及指定签章所在的位置,转发给服务端Ser;
WEB端接收服务端Ser发送的要求用户注册的指令,以及拒绝上传文件的信息,向用户提示进行注册;
WEB端接收服务端Ser发送的唯一访问地址
Figure FDA0003524130760000072
任务编号Ntask,并将
Figure FDA0003524130760000073
展示给用户;
WEB端接收用户U对地址
Figure FDA0003524130760000074
的访问,以二进制数据流的形式加载文件M1显示给用户供其审阅内容,WEB端接收用户U确认后提交的签署指令,WEB端调用公私钥对生成模块ModK,请求用户输入密码;
WEB端接收用户U输入的密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K′prU和对应的公钥K′pbU;WEB端调用数据签名运算模块ModS,使用私钥K′prU对文件M1进行签名运算,得到签名值
Figure FDA0003524130760000075
WEB端将签名值
Figure FDA0003524130760000076
公钥K′pbU、Ntask发送到服务器Ser。
6.一种网页浏览器WEB端设备,用于执行权利要求5所述的在网页浏览器WEB端的电子文件安全签署方法,其特征在于:该设备包括用户注册模块和电子文件签署模块。
7.一种在服务端Ser处的电子文件安全签署方法,其特征在于:该方法包括执行服务端Ser脚本部署步骤、用户注册步骤和电子文件签署步骤;其中,
执行服务端Ser脚本部署步骤,具体包括:
定义脚本命令如下,当用户使用网页浏览器访问Ser时,执行操作A:将包含执行模块的脚本命令加载到用户浏览器本地;前述执行模块包括:公私钥对生成模块ModK、数据签名运算模块ModS、计算哈希值的运算模块ModH、消息认证码计算模块ModHMAC
执行用户注册步骤,具体包括:
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令,
服务端Ser接收WEB端发送的用户身份信息IDU、联系方式Phnum、图样SealU、签名值
Figure FDA0003524130760000081
和公钥KpbU,进行真实性审核,审核通过的,使用公钥KpbU对签名
Figure FDA0003524130760000082
进行验签,验签通过的,将用户身份信息IDU、联系方式Phnum、签章图样SealU记入数据库并进行关联绑定,同时向WEB端返回注册成功;审核不通过或者验签不通过的,向WEB端返回注册失败信息;
执行电子文件签署步骤,具体包括:
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令;
服务端Ser接收到IDU后,在Ser的数据库查验IDU是否存在:查验不存在的,向WEB端发送指令要求用户注册,并拒绝上传文件的请求;查验IDU在数据库中存在的,接受文件上传请求,并继续对M0进行格式转换,统一转换为标准格式,并将用户U的印章图样Sealu按照用户指定的签章所在的位置插入文件中,生成新的文件M1,并产生一个唯一的任务编号Ntask,将M1、Ntask与IDU建立关联记入数据库;服务端Ser将文件M1结合Ntask,生成唯一访问地址
Figure FDA0003524130760000083
并将
Figure FDA0003524130760000084
Ntask返回至用户U的WEB端浏览器;
服务端Ser接收WEB端发送的签名值
Figure FDA0003524130760000085
公钥K′pbU和Ntask;通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步获取用户U的公钥KpbU;服务端Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则使用KpbU对签名值
Figure FDA0003524130760000086
进行验签的运算
Figure FDA0003524130760000087
验签结果为假,则终止任务;验签结果为真,则签名正确;服务端Ser将签名值
Figure FDA0003524130760000088
添加至文件M1,合成文件M2,M2包含了文件M0一致的内容、用户U的签章图样
Figure FDA0003524130760000091
以及签名值
Figure FDA0003524130760000092
服务端Ser生成公私钥对,公钥为
Figure FDA0003524130760000093
私钥为
Figure FDA0003524130760000094
并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥
Figure FDA0003524130760000095
对文件M2进行数字签名,生成包含Ser私钥
Figure FDA0003524130760000096
签名信息的文件M3;服务端Ser为文件M3签发经证书签名的凭证文件
Figure FDA0003524130760000097
凭证文件
Figure FDA0003524130760000098
载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M3和文件
Figure FDA0003524130760000099
组合成最终作准文件包;服务端Ser通知用户文件M0的电子签署任务完成,并将文件M3和文件
Figure FDA00035241307600000910
组合成的最终作准文件包返回给WEB端浏览器,或者发送给用户。
8.一种服务端Ser设备,用于执行权利要求7所述的在服务端Ser处的电子文件安全签署方法,其特征在于:该设备包括服务端Ser脚本部署模块、用户注册模块和电子文件签署模块。
9.一种基于网页客户端本地服务的电子文件安全签署系统,其特征在于该系统包括权利要求6所述的网页浏览器WEB端设备,以及权利要求8所述的服务端Ser设备。
CN201911157311.8A 2019-11-22 2019-11-22 一种基于网页客户端本地服务的电子文件安全签署方法及其系统 Active CN110943844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911157311.8A CN110943844B (zh) 2019-11-22 2019-11-22 一种基于网页客户端本地服务的电子文件安全签署方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911157311.8A CN110943844B (zh) 2019-11-22 2019-11-22 一种基于网页客户端本地服务的电子文件安全签署方法及其系统

Publications (2)

Publication Number Publication Date
CN110943844A CN110943844A (zh) 2020-03-31
CN110943844B true CN110943844B (zh) 2022-04-12

Family

ID=69907901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911157311.8A Active CN110943844B (zh) 2019-11-22 2019-11-22 一种基于网页客户端本地服务的电子文件安全签署方法及其系统

Country Status (1)

Country Link
CN (1) CN110943844B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464555B (zh) * 2020-04-14 2021-10-15 江苏慧世联网络科技有限公司 一种基于客户端屏幕录像的文件签署确认方法以及业务服务器、认证服务器和客户端
CN111817857B (zh) * 2020-07-03 2022-08-30 江苏慧世联网络科技有限公司 一种基于电子公证和sm2协同签名的电子文件签署方法及其所采用的服务器
CN113162761B (zh) * 2020-09-18 2022-02-18 广州锦行网络科技有限公司 一种webshell监控系统
CN112737791B (zh) * 2020-12-31 2021-09-21 北京海泰方圆科技股份有限公司 一种网页数据处理系统、方法、装置、介质和设备
CN114491462B (zh) * 2022-02-10 2023-07-18 重庆傲雄在线信息技术有限公司 单次签署多份电子文件的方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457736A (zh) * 2013-08-29 2013-12-18 无锡华御信息技术有限公司 一种基于web的公文收发系统及公文收发方法
CN107579827A (zh) * 2017-06-06 2018-01-12 江苏慧世联网络科技有限公司 一种基于可信第三方和面部识别技术的电子文书签署方法
CN108229188A (zh) * 2017-12-29 2018-06-29 齐宇庆 一种用标识密钥签署文件及验证方法
CN110098932A (zh) * 2019-05-16 2019-08-06 江苏慧世联网络科技有限公司 一种基于安全电子公证技术的电子文书签署方法
CN110266469A (zh) * 2019-06-18 2019-09-20 江苏慧世联网络科技有限公司 一种基于web脚本数据流运算的远程在线电子签章方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090240936A1 (en) * 2008-03-20 2009-09-24 Mark Lambiase System and method for storing client-side certificate credentials

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457736A (zh) * 2013-08-29 2013-12-18 无锡华御信息技术有限公司 一种基于web的公文收发系统及公文收发方法
CN107579827A (zh) * 2017-06-06 2018-01-12 江苏慧世联网络科技有限公司 一种基于可信第三方和面部识别技术的电子文书签署方法
CN108229188A (zh) * 2017-12-29 2018-06-29 齐宇庆 一种用标识密钥签署文件及验证方法
CN110098932A (zh) * 2019-05-16 2019-08-06 江苏慧世联网络科技有限公司 一种基于安全电子公证技术的电子文书签署方法
CN110266469A (zh) * 2019-06-18 2019-09-20 江苏慧世联网络科技有限公司 一种基于web脚本数据流运算的远程在线电子签章方法

Also Published As

Publication number Publication date
CN110943844A (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
CN110943844B (zh) 一种基于网页客户端本地服务的电子文件安全签署方法及其系统
CN110677240B (zh) 通过证书签发提供高可用计算服务的方法、装置及介质
CN101631022B (zh) 一种签名方法和系统
CN106452782A (zh) 为终端设备生成安全通信信道的方法和系统
CN110570569B (zh) 虚拟钥匙配置信息的激活方法、移动终端及服务器
CN112671720B (zh) 一种云平台资源访问控制的令牌构造方法、装置及设备
JP2004265026A (ja) アプリケーション認証システムと装置
CN104283886A (zh) 一种基于智能终端本地认证的web安全访问的实现方法
CN114008968A (zh) 用于计算环境中的许可授权的系统、方法和存储介质
CN112165382B (zh) 软件授权方法、装置、授权服务端及终端设备
US11652647B2 (en) Authentication system and computer readable medium
WO2021190197A1 (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
CN111817857B (zh) 一种基于电子公证和sm2协同签名的电子文件签署方法及其所采用的服务器
WO2019178763A1 (zh) 一种证书导入方法及终端
CN111651745B (zh) 基于密码设备的应用授权签名方法
CN114301617A (zh) 多云应用网关的身份认证方法、装置、计算机设备及介质
CN111062059B (zh) 用于业务处理的方法和装置
WO2019178762A1 (zh) 一种验证终端合法性的方法、服务端及系统
US7073062B2 (en) Method and apparatus to mutually authentication software modules
CN112968779B (zh) 一种安全认证与授权控制方法、控制系统、程序存储介质
US8452966B1 (en) Methods and apparatus for verifying a purported user identity
CN116707758A (zh) 可信计算设备的认证方法、设备和服务器
CN114679276B (zh) 基于时间的一次性密码算法的身份认证方法和装置
US20240113898A1 (en) Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity
CN115001714A (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