CN110943844B - 一种基于网页客户端本地服务的电子文件安全签署方法及其系统 - Google Patents
一种基于网页客户端本地服务的电子文件安全签署方法及其系统 Download PDFInfo
- 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
Links
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0819—Key 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/0825—Key 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
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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进行数字签名得到签名值WEB端将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值和公钥KpbU,一起发送至服务端Ser;
WEB端接收服务端Ser返回的注册成功或者注册失败的信息;
在服务端Ser端执行,
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令,
服务端Ser接收WEB端发送的用户身份信息IDU、联系方式Phnum、图样SealU、签名值和公钥KpbU,进行真实性审核,审核通过的,使用公钥KpbU对签名进行验签,验签通过的,将用户身份信息IDU、联系方式Phnum、签章图样SealU记入数据库并进行关联绑定,同时向WEB端返回注册成功;审核不通过或者验签不通过的,向WEB端返回注册失败信息;
执行电子文件签署步骤:在网页浏览器WEB端、服务端Ser和认证机构CA端分别执行如下操作:
在网页浏览器WEB端执行,
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的身份信息IDU,用户U上传的需要签署的文件M0,以及指定签章所在的位置,转发给服务端Ser;
WEB端接收服务端Ser发送的要求用户注册的指令,以及拒绝上传文件的信息,向用户提示进行注册;
WEB端接收用户U输入的密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K′prU和对应的公钥K′pbU;WEB端调用数据签名运算模块ModS,使用私钥K′prU对文件M1进行签名运算,得到签名值WEB端将签名值公钥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,生成唯一访问地址并将Ntask返回至用户U的WEB端浏览器;
服务端Ser接收WEB端发送的签名值公钥K′pbU和Ntask;通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步获取用户U的公钥KpbU;服务端Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则继续执行;
服务端Ser生成公私钥对,公钥为私钥为并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥对文件M2进行数字签名,生成包含Ser私钥签名信息的文件M3;服务端Ser为文件M3签发经证书签名的凭证文件凭证文件载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M3和文件组合成最终作准文件包;服务端Ser通知用户文件M0的电子签署任务完成,并将文件M3和文件组合成的最终作准文件包返回给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端执行,
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进行签名运算得到签名值WEB端将签名值公钥K″pbU、Ntask、m发送到服务器Ser;
在服务端Ser执行,
服务端Ser接收WEB端浏览器发送的任务编号Ntask,通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步得到用户U注册时提交的联系方式Phnum;服务端Ser生成一个随机码Code,将Code与任务编号Ntask建立关联记入数据库,并将Code通过联系方式Phnum发送给用户U;
服务端Ser接收WEB端发送的签名值公钥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生成公私钥对,公钥为私钥为并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥对文件M1进行数字签名,生成包含Ser私钥签名信息的文件M4;服务端Ser为文件M4签发经证书签名的凭证文件凭证文件载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M4和文件组合成最终作准文件包;服务端Ser通知用户U文件M0的电子签署任务完成,并将文件M4和文件组合成的作准文件包返回给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进行数字签名 得到签名值WEB端将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值和公钥KpbU,一起发送至服务端Ser;
WEB端接收服务端Ser返回的注册成功或者注册失败的信息。
执行电子文件签署步骤,具体包括:
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的身份信息IDU,用户U上传的需要签署的文件M0,以及指定签章所在的位置,转发给服务端Ser;
WEB端接收服务端Ser发送的要求用户注册的指令,以及拒绝上传文件的信息,向用户提示进行注册;
WEB端接收用户U输入的密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K′prU和对应的公钥K′pbU;WEB端调用数据签名运算模块ModS,使用私钥K′prU对文件M1进行签名运算,得到签名值WEB端将签名值公钥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、签名值和公钥KpbU,进行真实性审核,审核通过的,使用公钥KpbU对签名进行验签,验签通过的,将用户身份信息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,生成唯一访问地址并将Ntask返回至用户U的WEB端浏览器;
服务端Ser接收WEB端发送的签名值公钥K′pbU和Ntask;通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步获取用户U的公钥KpbU;服务端Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则使用KpbU对签名值进行验签的运算验签结果为假,则终止任务;验签结果为真,则签名正确;服务端Ser将签名值添加至文件M1,合成文件M2,M2包含了文件M0一致的内容、用户U的签章图样Sealu、以及签名值
服务端Ser生成公私钥对,公钥为私钥为并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥对文件M2进行数字签名,生成包含Ser私钥签名信息的文件M3;服务端Ser为文件M3签发经证书签名的凭证文件凭证文件载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M3和文件组合成最终作准文件包;服务端Ser通知用户文件M0的电子签署任务完成,并将文件M3和文件组合成的最终作准文件包返回给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.6服务器Ser对用户的身份信息IDU、联系方式Phnum进行真实性审核,审核通过的,使用公钥KpbU对签名进行验签,验签通过的,将用户身份信息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.7用户输入密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,使用密钥派生函数KDF为用户产生一个符合公钥密码算法规则的私钥K′prU,进而使用公钥密码算法计算产生对应的公钥K′pbU;
3.10 Ser通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步得到用户U注册时提交的公钥KpbU;
3.11 Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则执行3.12;
4、安全加强流程
4.1为了降低社会工程学根据用户的习惯,对用户U设定的密码Ukey进行攻击的风险,对3.6~3.18的签署流程按4.2进行安全强化;
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.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;
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
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进行数字签名得到签名值WEB端将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值和公钥KpbU,一起发送至服务端Ser;
WEB端接收服务端Ser返回的注册成功或者注册失败的信息;
在服务端Ser端执行,
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令,
服务端Ser接收WEB端发送的用户身份信息IDU、联系方式Phnum、图样SealU、签名值和公钥KpbU,进行真实性审核,审核通过的,使用公钥KpbU对签名进行验签,验签通过的,将用户身份信息IDU、联系方式Phnum、签章图样SealU记入数据库并进行关联绑定,同时向WEB端返回注册成功;审核不通过或者验签不通过的,向WEB端返回注册失败信息;
执行电子文件签署步骤:在网页浏览器WEB端、服务端Ser和认证机构CA端分别执行如下操作:
在网页浏览器WEB端执行,
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的身份信息IDU,用户U上传的需要签署的文件M0,以及指定签章所在的位置,转发给服务端Ser;
WEB端接收服务端Ser发送的要求用户注册的指令,以及拒绝上传文件的信息,向用户提示进行注册;
WEB端接收用户U输入的密码U′key,ModK以用户输入的U′key为生成元并结合用户输入的身份信息IDU,为用户产生一个私钥K′prU和对应的公钥K′pbU;WEB端调用数据签名运算模块ModS,使用私钥K′prU对文件M1进行签名运算,得到签名值WEB端将签名值公钥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,生成唯一访问地址并将Ntask返回至用户U的WEB端浏览器;
服务端Ser接收WEB端发送的签名值公钥K′pbU和Ntask;通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步获取用户U的公钥KpbU;服务端Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则继续执行;
服务端Ser生成公私钥对,公钥为私钥为并生成证书请求,向可信的CA机构发送申请颁发数字证书的请求,Ser收到证书;服务端Ser使用私钥对文件M2进行数字签名,生成包含Ser私钥签名信息的文件M3;服务端Ser为文件M3签发经证书签名的凭证文件凭证文件载明用户U对文件M1的签署行为已经由服务端Ser认证通过;服务端Ser将文件M3和文件组合成最终作准文件包;服务端Ser通知用户文件M0的电子签署任务完成,并将文件M3和文件组合成的最终作准文件包返回给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端执行到将展示给用户之后,在服务端Ser执行到将Ntask返回至用户U的WEB端浏览器之后,分别执行以下操作:
在网页浏览器WEB端执行,
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进行签名运算得到签名值WEB端将签名值公钥K″pbU、Ntask、m发送到服务器Ser;
在服务端Ser执行,
服务端Ser接收WEB端浏览器发送的任务编号Ntask,通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步得到用户U注册时提交的联系方式Phnum;服务端Ser生成一个随机码Code,将Code与任务编号Ntask建立关联记入数据库,并将Code通过联系方式Phnum发送给用户U;
服务端Ser接收WEB端发送的签名值公钥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,如比对不一致则终止任务,比对一致则继续执行;
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进行数字签名得到签名值WEB端将用户身份信息IDU、联系方式Phnum、图样SealU,连同签名值和公钥KpbU,一起发送至服务端Ser;
WEB端接收服务端Ser返回的注册成功或者注册失败的信息;
执行电子文件签署步骤,具体包括:
WEB端接收用户U输入的访问服务端Ser的消息,访问Ser端,接收Ser端返回的执行操作A的指令;
WEB端接收用户U输入的身份信息IDU,用户U上传的需要签署的文件M0,以及指定签章所在的位置,转发给服务端Ser;
WEB端接收服务端Ser发送的要求用户注册的指令,以及拒绝上传文件的信息,向用户提示进行注册;
6.一种网页浏览器WEB端设备,用于执行权利要求5所述的在网页浏览器WEB端的电子文件安全签署方法,其特征在于:该设备包括用户注册模块和电子文件签署模块。
7.一种在服务端Ser处的电子文件安全签署方法,其特征在于:该方法包括执行服务端Ser脚本部署步骤、用户注册步骤和电子文件签署步骤;其中,
执行服务端Ser脚本部署步骤,具体包括:
定义脚本命令如下,当用户使用网页浏览器访问Ser时,执行操作A:将包含执行模块的脚本命令加载到用户浏览器本地;前述执行模块包括:公私钥对生成模块ModK、数据签名运算模块ModS、计算哈希值的运算模块ModH、消息认证码计算模块ModHMAC;
执行用户注册步骤,具体包括:
服务端Ser接收用户U的WEB端的访问,返回执行操作A的指令,
服务端Ser接收WEB端发送的用户身份信息IDU、联系方式Phnum、图样SealU、签名值和公钥KpbU,进行真实性审核,审核通过的,使用公钥KpbU对签名进行验签,验签通过的,将用户身份信息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,生成唯一访问地址并将Ntask返回至用户U的WEB端浏览器;
服务端Ser接收WEB端发送的签名值公钥K′pbU和Ntask;通过Ntask在数据库查询得到对应的IDU和M1,并通过IDU进一步获取用户U的公钥KpbU;服务端Ser比对K′pbU与KpbU,如比对不一致则终止任务,比对一致则使用KpbU对签名值进行验签的运算验签结果为假,则终止任务;验签结果为真,则签名正确;服务端Ser将签名值添加至文件M1,合成文件M2,M2包含了文件M0一致的内容、用户U的签章图样以及签名值
8.一种服务端Ser设备,用于执行权利要求7所述的在服务端Ser处的电子文件安全签署方法,其特征在于:该设备包括服务端Ser脚本部署模块、用户注册模块和电子文件签署模块。
9.一种基于网页客户端本地服务的电子文件安全签署系统,其特征在于该系统包括权利要求6所述的网页浏览器WEB端设备,以及权利要求8所述的服务端Ser设备。
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)
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)
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)
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 |
-
2019
- 2019-11-22 CN CN201911157311.8A patent/CN110943844B/zh active Active
Patent Citations (5)
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 |