CN110098932A - 一种基于安全电子公证技术的电子文书签署方法 - Google Patents
一种基于安全电子公证技术的电子文书签署方法 Download PDFInfo
- Publication number
- CN110098932A CN110098932A CN201910406879.2A CN201910406879A CN110098932A CN 110098932 A CN110098932 A CN 110098932A CN 201910406879 A CN201910406879 A CN 201910406879A CN 110098932 A CN110098932 A CN 110098932A
- Authority
- CN
- China
- Prior art keywords
- user
- signature
- app
- cryptographic hash
- task
- 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.)
- Granted
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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/3226—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 using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- 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/3236—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 using cryptographic hash functions
-
- 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
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于安全电子公证技术的电子文书签署方法,该方法包括:用户身份注册、发起签署任务、第一顺序签署任务和其余各方按照顺序签署任务。本发明中签署任务时,随机码由用户自己在移动终端上生成,并仅把验证码的哈希指纹提交给服务端,从而保证验证码明文只有用户自己持有和控制,具有了私钥的特性;只有当用户主动发起鉴权时,可以提交验证码明文给服务端,让服务端通过比对哈希指纹以完成验证,从而让任何人都不能伪造用户的认证;本发明为直接发生在线上的法律文书签署场景,提供了无须依赖Ukey的可靠方法,达到可证明安全的可靠性。
Description
技术领域
本发明涉及电子文书的签署领域,尤其是基于电子公证方式的电子文书签署方法,其显著特点是通过用户智能移动终端与电子公证系统的配合使用,保证未经用户的同意参与,任何人都不能伪造用户签署行为。
背景技术
使用Ukey证书的电子签名曾经是实现可靠电子签名最为主要的方式,基于公钥密码学的PKI(public key infrastructure)体系保障了Ukey电子签名的可靠性;但随着信息化技术在社会生活、特别是经济生产领域的深度发展,已经让大量的商务行为直接发生在网络上,一个显著的特征是用户不再需要将网络上的数据下载到本地电脑后再进行处理,而是直接通过类浏览器的工具直接在网络上处理数据;由于Ukey的签名方式需要将数据文件下载到电脑本地,插入Ukey调用电脑本地安全的客户端控件才能进行,因此Ukey模式对于当前直接发生于网上的数据行为已经无法再适用,需要寻求新的可靠的电子签署方法。
发明内容
本发明的目的是针对上述问题,提出一种基于安全电子公证技术的电子文书签署方法。
本发明的技术方案是:
本发明提供一种基于安全电子公证技术的电子文书签署方法,该方法包括以下步骤:
S1、用户身份注册:
1.1用户使用移动终端MT下载用于身份审核的应用软件Appid;
1.2用户使用Appid输入基本身份信息进行身份认证,同时Appid调用移动终端操作系统底层密钥管理工具的技术接口,为该用户生成公私钥对,其中私钥为Kpr,公钥为Kpu;
1.3Appid通过移动终端操作系统底层密钥管理工具使用私钥Kpr对该用户的基本身份信息进行签名Sid,并将基本身份信息、公钥Kpu、连同签名值Sid发送给公证服务器NS,NS调用第三方身份认证数据接口进行数据比对,比对通过,则完成该用户的身份认证,保证注册是在公安系统记录的本人完成;NS设定该用户的身份编号为ID,并将该用户的身份编号ID、基本身份信息与公钥Kpu绑定,计入数据库,并将ID返回给Appid保存;如比对失败,则通知Appid身份认证失败;
S2、发起签署任务
2.1任一用户A使用浏览器访问业务服务器CS,业务服务器CS要求该用户使用Appid扫描登录二维码进行身份鉴权;
2.2该用户启动Appid经基本身份信息识别通过后进入应用界面,启动扫码功能扫描CS在浏览器上显示的登录二维码;
2.3 Appid将扫描获取的二维码消息Mid使用该用户的私钥KprA签名后,得到签名值SmidA,将该用户的IDA、SmidA发送给公证服务器NS,NS通过IDA查询到该用户A的公钥KpuA验证签名值SmidA,验证通过,则通知业务服务器CS用户A的登录鉴权成功,CS允许用户A登录业务系统;验证不通过,则NS不进行响应;
2.4用户A登录业务服务器CS后,将拟签署的文件D上传至CS,并指定需要签署此文件的各方基本身份信息;
2.5业务服务器CS对文件D进行预处理,将预处理后的文件D’、第一顺序签署人A的基本身份信息、其余各方的基本身份信息、此项任务的唯一编号T和本次任务流水号n1,提交至公证服务器NS;
S3、第一顺序签署任务
3.1、公证服务器NS对预处理后的文件D’进行哈希计算得到哈希值H(D’),将H(D’)结合随机数γ生成一次性的WEB地址的URLA,并将D’的内容以网页WEB进行展示,同时使用脚本语言在网页中添加执行的命令:前述命令为在网页浏览器访问URLA时,该用户的浏览器端计算网页中显示的D’的哈希值H(D’)1’;
此外,在提供给用户的网页上公证服务器NS还显示一个二维码和一个用于输入验证码的输入框;二维码中包含如下信息:唯一编号T、流水号n1、URLA地址、哈希值H(D’)1’、用户A的身份信息及身份编号IDA,公证服务器NS通过安全信道将该网页地址URLA返回给业务服务器CS;
3.2、业务服务器CS向用户A展示访问地址URLA,用户A的网页浏览器执行步骤3.1中脚本命令计算哈希值H(D’)1’,公证服务器NS按照3.1中的二维码规则生成二维码;
3.3、用户A使用Appid扫描3.2中提供的网页二维码,Appid比对二维码中包含的该用户A的基本身份信息与登录者的身份信息,比对一致,确认用户A是否有签署权限,则进一步比对URLA中包含的H(D’)与哈希值H(D’)1’是否一致,比对一致,则为流水号n1的任务产生一个用户A的随机码RTA;如比对不一致则终止任务;此处比对用于确认文件D’从服务端到网页端是同一份文件,没有经过篡改;
3.4、Appid在内存中对随机码RTA明文进行哈希运算,得到哈希值H(RTA);
3.5、Appid使用用户A的私钥KprA对哈希值H(RTA)、URLA地址、哈希值H(D’)1’、任务编号T、流水号n1、时间标识t1进行签名得到签名值S(H(RTA)),并将任务编号T、流水号n1、哈希值H(RTA)、URLA地址、哈希值H(D’)1’、时间标识t1、签名值S(H(RTA))、以及用户A的身份编号IDA提交至数据库服务器DB;
3.6、DB通过IDA向NS查询得到该用户A的公钥KpuA,DB使用公钥KpuA验证签名值S(H(RTA))有效,则将任务编号T、流水号n1、URLA地址、哈希值H(D’)1’、哈希值H(RTA)、IDA、以及时间标识t1、签名值S(H(RTA))记入数据库;否则,向NS返回验证失败;
3.7、Appid将3.5的任务处理完成后,在应用的界面明文显示随机码RTA,并提示验证码有效时长;
3.8、用户A将3.7中显示的明文随机码RTA填入步骤3.1中公证服务器NS提供的网页验证码输入框并提交NS;
3.9、NS收到提交的RTA后,将任务编号T、流水号n1、IDA、RTA、时间标识t1’,提交至DB进行查询验证;
3.10、DB收到3.9的信息后,将信息记入数据库,并使用与Appid同样的哈希算法计算RTA的哈希值得到H(RTA)’;
3.11、DB通过任务编号T、流水号n1、IDA查询到之前记录的哈希值H(RTA)、时间标识t,比对H(RTA)与H(RTA)’,如一致,进一步比对t 1与t1’,如果时间差值在预设的范围内,则验证通过,DB向NS返回验证成功;否则验证不通过,DB向NS返回验证失败;
3.12、NS收到DB返回的验证结果,验证成功则通知CS第一顺序用户A的签署任务完成;验证失败,则NS重新生成二维码,并重复3.3~3.11的验证步骤;步骤3.5-3.12使用的随机码由用户自己在移动终端上生成,并仅把验证码的哈希值提交给服务端,从而保证验证码明文只有用户自己持有和控制,具有了私钥的特性;只有当用户主动发起鉴权时,可以提交验证码明文给服务端,让服务端通过比对哈希值以完成验证,从而让任何人都不能伪造用户的认证。
S4、其余各方按照顺序签署任务
完成第一顺序的签署任务后,业务服务器CS按照顺序通知其余各方用户登录CS,按照步骤S3进行任务签署;
其余各方签署完成后,NS使用数字证书CNS对文件D’进行证书签名生成做准文本DNS;将做准文本DNS返回给CS,以供各方用户下载使用。
进一步地,所述的步骤1.2中,用户使用Appid输入基本身份信息,同时,启动人脸识别进程采集人脸特征、录制该用户的面部影像Vid,影像中包含该用户确认进行身份认证的意思表示,面部影像Vid中,用户陈述自己正在使用应用软件Appid进行身份认证;对应的步骤2.2中,用户启动Appid经对应的人脸特征识别或者面部影像识别通过后进入应用界面。
进一步地,所述的基本身份信息包括:姓名、手机号码和身份证号码。
进一步地,所述的步骤1.2中,iOS操作系统底层密钥管理工具的技术接口采用Secure Enclave;Android操作系统底层密钥管理工具的技术接口采用KeyStore。
进一步地,所述的步骤2.5中,预处理为按照与NS共同确定的规则对文件D进行标准化处理,包括标准化为PDF格式,与NS之间建立安全信道。
进一步地,所述的步骤3.4中,为防止哈希值的彩虹表攻击,在哈希运算时加入该用户的身份信息,并进行多轮次的哈希迭代。
进一步地,步骤1.3中第三方身份认证数据接口包括公安系统身份认证数据接口。
一种基于安全电子公证技术的电子文书签署方法,将公证服务器NS与区块链BC相连,NS对BC具有写入权限,将区块链验证节点TS与区块链BC相连,TS具有对BC的读取权限;该方法包括权利要求1中的步骤S1、S2、S3的3.1-3.4以及以下步骤:3.5′、Appid使用用户A的私钥KprA对哈希值H(RTA)、URLA地址、哈希值H(D’)1’、任务编号T、流水号n1、时间标识t1进行签名得到签名值S(H(RTA)),并将任务编号T、流水号n1、哈希值H(RTA)、URLA地址、哈希值H(D’)1’、时间标识t1、签名值S(H(RTA))、以及用户A的身份编号IDA提交至NS;
3.6′、由NS将上述3.5′的信息记入区块链BC,BC向NS返回一个区块链记录的地址LBC1;NS将流水号n1和区块链地址LBC1以及用户A的公钥KpuA发送给区块链节点服务器TS;
3.7′、Appid将3.5′的任务处理完成后,在应用的界面明文显示随机码RTA,并提示验证码有效时长;
3.8′、用户A将3.7′中显示的明文随机码RTA填入3.1的公证服务器NS提供的网页验证码输入框并提交NS;
3.9′、NS收到提交的RTA后,将任务编号T、流水号n1、IDA、RTA、时间标识t1’,记入区块链BC;
3.10′、BC向NS返回一个区块链记录的地址LBC2;NS将流水号n1和区块链地址LBC2发送给区块链节点服务器TS;
3.11′、TS收到LBC1和LBC2后,在区块链上找到对应记录,使用用户A的公钥KpuA验证LBC1中用户A的签名是否有效,签名有效则进一步计算LBC2中记录的RTA的哈希值H(RTA)’,是否与LBC1中记录的H(RTA)一致,比对一致则进一步比较LBC1记录的时间标识t1与LBC2中记录的时间标识t1’的误差值是否在预设范围内,则通知NS验证通过;如签名无效、哈希值不一致或时间误差超过合理范围,则通知NS验证失败;
3.12′、NS收到TS返回的验证结果,验证成功则通知CS第一顺序用户A的签署任务完成;验证失败,则NS重新生成二维码,并重复3.3、3.4以及3.5′-3.12′的验证步骤。
本发明的有益效果:
本发明为直接发生在线上的法律文书签署场景,提供了无须依赖Ukey的可靠方法,充分使用网络浏览器和智能移动终端的性能,以及图文信息转换(扫码)技术和区块链技术,达到可证明安全的可靠性。
本发明无须Ukey,但实现同级的安全;服务端数据的真实性不依赖于系统的忠诚,而来源于技术的直接控制。
现有技术中在使用随机码进行鉴权时,常见的做法是服务端生成随机码,同时由服务端提供验证,这种方式使得服务端完全中心化,能够伪造所有结果;本发明中使用的验证码与此不同,随机码由用户自己在移动终端上生成,并仅把验证码的哈希指纹提交给服务端,从而保证验证码明文只有用户自己持有和控制,具有了私钥的特性;只有当用户主动发起鉴权时,可以提交验证码明文给服务端,让服务端通过比对哈希指纹以完成验证,从而让任何人都不能伪造用户的认证。
本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了本发明实施例中的系统结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。
一种基于安全电子公证技术的电子文书签署方法,包括以下步骤:
S1、用户身份注册:
1.1用户使用移动终端MT下载用于身份审核的应用软件Appid;
1.2用户使用Appid输入基本身份信息进行身份认证,同时Appid调用移动终端操作系统底层密钥管理工具的技术接口,为该用户生成公私钥对,其中私钥为Kpr,公钥为Kpu;
1.3 Appid通过移动终端操作系统底层密钥管理工具使用私钥Kpr对该用户的基本身份信息进行签名Sid,并将基本身份信息、公钥Kpu、连同签名值Sid发送给公证服务器NS,NS调用第三方身份认证数据接口进行数据比对,比对通过,则完成该用户的身份认证,NS设定该用户的身份编号为ID,并将该用户的身份编号ID、基本身份信息与公钥Kpu绑定,计入数据库,并将ID返回给Appid保存;如比对失败,则通知Appid身份认证失败;
S2、发起签署任务
2.1任一用户A使用浏览器访问业务服务器CS,业务服务器CS要求该用户使用Appid扫描登录二维码进行身份鉴权;
2.2该用户启动Appid经基本身份信息识别通过后进入应用界面,启动扫码功能扫描CS在浏览器上显示的登录二维码;
2.3 Appid将扫描获取的二维码消息Mid使用该用户的私钥KprA签名后,得到签名值SmidA,将该用户的IDA、SmidA发送给公证服务器NS,NS通过IDA查询到该用户A的公钥KpuA验证签名值SmidA,验证通过,则通知业务服务器CS用户A的登录鉴权成功,CS允许用户A登录业务系统;验证不通过,则NS不进行响应;
2.4用户A登录业务服务器CS后,将拟签署的文件D上传至CS,并指定需要签署此文件的各方基本身份信息;
2.5业务服务器CS对文件D进行预处理,将预处理后的文件D’、第一顺序签署人A的基本身份信息、其余各方的基本身份信息、此项任务的唯一编号T和本次任务流水号n1,提交至公证服务器NS;
S3、第一顺序签署任务
3.1、公证服务器NS对预处理后的文件D’进行哈希计算得到哈希值H(D’),将H(D’)结合随机数γ生成一次性的WEB地址的URLA,并将D’的内容以网页WEB进行展示,同时使用脚本语言在网页中添加执行的命令:前述命令为在网页浏览器访问URLA时,该用户的浏览器端计算网页中显示的D’的哈希值H(D’)1’;
此外,在提供给用户的网页上公证服务器NS还显示一个二维码和一个用于输入验证码的输入框;二维码中包含如下信息:唯一编号T、流水号n1、URLA地址、哈希值H(D’)1’、用户A的身份信息及身份编号IDA,公证服务器NS通过安全信道将该网页地址URLA返回给业务服务器CS;
3.2、业务服务器CS向用户A展示访问地址URLA,用户A的网页浏览器执行步骤3.1中脚本命令计算哈希值H(D’)1’,公证服务器NS按照3.1中的二维码规则生成二维码;
3.3、用户A使用Appid扫描3.2中提供的网页二维码,Appid比对二维码中包含的该用户A的基本身份信息与登录者的身份信息,比对一致,则进一步比对URLA中包含的H(D’)与哈希值H(D’)1’是否一致,比对一致,则为流水号n1的任务产生一个用户A的随机码RTA;如比对不一致则终止任务;
3.4、Appid在内存中对随机码RTA明文进行哈希运算,得到哈希值H(RTA);
3.5、Appid使用用户A的私钥KprA对哈希值H(RTA)、URLA地址、哈希值H(D’)1’、任务编号T、流水号n1、时间标识t1进行签名得到签名值S(H(RTA)),并将任务编号T、流水号n1、哈希值H(RTA)、URLA地址、哈希值H(D’)1’、时间标识t1、签名值S(H(RTA))、以及用户A的身份编号IDA提交至数据库服务器DB;
3.6、DB通过IDA向NS查询得到该用户A的公钥KpuA,DB使用公钥KpuA验证签名值S(H(RTA))有效,则将任务编号T、流水号n1、URLA地址、哈希值H(D’)1’、哈希值H(RTA)、IDA、以及时间标识t1、签名值S(H(RTA))记入数据库;否则,向NS返回验证失败;
3.7、Appid将3.5的任务处理完成后,在应用的界面明文显示随机码RTA,并提示验证码有效时长;
3.8、用户A将3.7中显示的明文随机码RTA填入步骤3.1中公证服务器NS提供的网页验证码输入框并提交NS;
3.9、NS收到提交的RTA后,将任务编号T、流水号n1、IDA、RTA、时间标识t1’,提交至DB进行查询验证;
3.10、DB收到3.9的信息后,将信息记入数据库,并使用与Appid同样的哈希算法计算RTA的哈希值得到H(RTA)’;
3.11、DB通过任务编号T、流水号n1、IDA查询到之前记录的哈希值H(RTA)、时间标识t,比对H(RTA)与H(RTA)’,如一致,进一步比对t 1与t1’,如果时间差值在预设的范围内,则验证通过,DB向NS返回验证成功;否则验证不通过,DB向NS返回验证失败;
3.12、NS收到DB返回的验证结果,验证成功则通知CS第一顺序用户A的签署任务完成;验证失败,则NS重新生成二维码,并重复3.3~3.11的验证步骤;
S4、其余各方按照顺序签署任务
完成第一顺序的签署任务后,业务服务器CS按照顺序通知其余各方用户登录CS,按照步骤S3进行任务签署;
其余各方签署完成后,NS使用数字证书CNS对文件D’进行证书签名生成做准文本DNS;将做准文本DNS返回给CS,以供各方用户下载使用。
为了进一步强化数据记录的客观性,可以使用区块链BC替换数据库服务器DB的职能;将公证服务器NS与区块链BC相连,NS对BC具有写入权限,将区块链验证节点TS与区块链BC相连,TS具有对BC的读取权限;该方法包括权利要求1中的步骤S1、S 2、S3的3.1-3.4以及以下步骤:
3.5′、Appid使用用户A的私钥KprA对哈希值H(RTA)、URLA地址、哈希值H(D’)1’、任务编号T、流水号n1、时间标识t1进行签名得到签名值S(H(RTA)),并将任务编号T、流水号n1、哈希值H(RTA)、URLA地址、哈希值H(D’)1’、时间标识t1、签名值S(H(RTA))、以及用户A的身份编号IDA提交至NS;
3.6′、由NS将上述3.5′的信息记入区块链BC,BC向NS返回一个区块链记录的地址LBC1;NS将流水号n1和区块链地址LBC1以及用户A的公钥KpuA发送给区块链节点服务器TS;
3.7′、Appid将3.5′的任务处理完成后,在应用的界面明文显示随机码RTA,并提示验证码有效时长;
3.8′、用户A将3.7′中显示的明文随机码RTA填入3.1的公证服务器NS提供的网页验证码输入框并提交NS;
3.9′、NS收到提交的RTA后,将任务编号T、流水号n1、IDA、RTA、时间标识t1’,记入区块链BC;
3.10′、BC向NS返回一个区块链记录的地址LBC2;NS将流水号n1和区块链地址LBC2发送给区块链节点服务器TS;
3.11′、TS收到LBC1和LBC2后,在区块链上找到对应记录,使用用户A的公钥KpuA验证LBC1中用户A的签名是否有效,签名有效则进一步计算LBC2中记录的RTA的哈希值H(RTA)’,是否与LBC1中记录的H(RTA)一致,比对一致则进一步比较LBC1记录的时间标识t1与LBC2中记录的时间标识t1’的误差值是否在预设范围内,则通知NS验证通过;如签名无效、哈希值不一致或时间误差超过合理范围,则通知NS验证失败;
3.12′、NS收到TS返回的验证结果,验证成功则通知CS第一顺序用户A的签署任务完成;验证失败,则NS重新生成二维码,并重复3.3、3.4以及3.5′-3.12′的验证步骤。
具体实施时,以Alice发起和Bob的签约为例,签约步骤如下:
1、用户身份注册
1.1 Alice使用移动终端MTa下载用于身份审核的应用软件Appid;
1.2 Alice使用Appid,输入基本身份信息,如姓名、身份证号码等,启动人脸识别进程录制Alice的面部影像采集人脸特征,影像中包含Alice确认进行身份认证的意思表示,比如Alice在视频中陈述“Alice正在使用Appid进行身份认证”,并将影像保存为VidA,同时Appid调用移动终端操作系统底层密钥管理工具的技术接口(iOS系统的Secure Enclave,Android系统的KeyStore),为Alice生成公私钥对,其中私钥为KprA,公钥为KpuA,公钥可以公开使用,私钥由iOS和Android操作系统自带底层密钥管理工具直接产生并进行保护,保证私钥不被未经授权的访问和窃取;
1.3 Appid通过MTa操作系统的密钥管理工具(下同)使用私钥KprA对Alice的身份信息和采集的面部影像VidA及特征数据进行签名SidA,并将身份信息、采集的面部影像VidA及特征数据、公钥KpuA、连同签名值SidA发送给公证服务器NS,NS调用第三方身份认证数据接口进行数据比对,比对通过,则完成Alice的身份认证,NS设定Alice的身份编号为IDA,并将Alice的身份信息与公钥KpuA绑定,计入数据库,并将IDA返回给Appid保存;如比对失败,则通知Appid身份认证失败;
1.4 Bob使用移动终端MTb下载用于身份审核的应用软件Appid;
1.5 Bob使用Appid,输入基本身份信息,如姓名、身份证号码等,启动人脸识别进程录制Bob的面部影像采集人脸特征,影像中包含Bob确认进行身份认证的意思表示,比如Bob在视频中陈述“Bob正在使用Appid进行身份认证”,并将影像保存为VidB,同时Appid调用移动终端操作系统底层密钥管理工具的技术接口(iOS系统的Secure Enclave,Android系统的KeyStore),为Bob生成公私钥对,其中私钥为KprB,公钥为KpuB;公钥可以公开使用,私钥由iOS和Android操作系统自带底层密钥管理工具直接产生并进行保护,保证私钥不被未经授权的访问和窃取;
1.6 Appid通过MTb操作系统的密钥管理工具(下同)使用私钥KprB对Bob的身份信息和采集的面部影像VidB及特征数据进行签名SidB,并将身份信息、采集的面部影像VidB及特征数据、公钥KpuB、连同签名值SidB发送给公证服务器NS,NS调用第三方身份认证数据接口进行数据比对,比对通过,则完成Bob的身份认证,NS设定Bob的身份编号为IDB,并将Bob的身份信息与公钥KpuB绑定,计入数据库,并将IDB返回给Appid保存;如比对失败,则通知Appid身份认证失败;
2、发起签署任务
2.1 Alice使用电脑或智能终端PCa访问业务服务器CS,CS的业务系统要求Alice使用Appid扫描登录二维码进行身份鉴权;
2.2 Alice启动Appid经人脸识别通过后进入应用界面,启动扫码功能扫描CS在PCa上显示的登录二维码;
2.3 Appid将扫描获取的二维码消息Mid使用私钥KprA签名后,得到签名值SmidA,将IDA、SmidA发送给公证服务器NS,NS通过IDA查询到Alice的公钥KpuA验证签名值SmidA,验证通过,则通知业务服务器CS业务系统Alice登录鉴权成功,CS允许Alice登录业务系统;验证不通过,则NS不进行响应;
2.4 Alice登录CS业务系统后,将拟签署的文件D上传至CS,并指定需要签署此文件的各方身份,为便于描述,此处Alice确定需要签署的人包括Alice和Bob;
2.5 CS按照与NS共同确定的规则对文件D进行标准化处理,比如标准化为PDF格式D’,与NS之间建立安全信道,将D’、第一顺序签署人Alice身份信息、第二顺序签署人Bob身份信息,以及此项任务的唯一编号T,本次任务流水号n1,提交至NS;
3、第一顺序签署任务
3.1 NS对D’进行哈希计算得到哈希值H(D’),将H(D’)结合随机数γ拼接为H(D’)+γ,生成一次性的WEB地址的URLA,并将D’的内容以网页WEB进行展示,同时使用脚本语言(比如JavaScript)在网页中添加执行的命令:在网页浏览器访问URLA时,计算网页中显示的D’的哈希值H(D’)1’;此外在网页上还显示一个二维码和一个用于输入验证码的输入框;二维码中包含如下信息:唯一编号T、流水号n1、URLA地址、哈希值H(D’)1’、Alice的身份信息及身份编号IDA等,并通过安全信道将该网页地址URLA返回给CS,以保证除了CS之外其他人无法知悉此地址;
3.2 CS向Alice展示访问地址URLA,Alice的网页浏览器执行3.1中脚本命令计算哈希值H(D’)1’,并按照3.1中的二维码规则生成二维码;
3.3 Alice使用其实名登录的Appid扫描3.2中提供的网页二维码,Appid比对二维码中包含的Alice身份信息与登录者Alice的身份信息,比对一致,则进一步比对URLA中包含的H(D’)与哈希值H(D’)1’是否一致,比对一致,则为流水号n1的任务产生一个Alice的随机码RTA;如比对不一致则终止任务。
3.4 Appid界面上先不显示RTA,而是在内存中对随机码RTA明文进行哈希运算,为防止哈希值的彩虹表攻击,可在哈希运算时加入Alice的身份信息,并进行多轮次的哈希迭代,得到哈希值H(RTA);
3.5 Appid使用Alice的私钥KprA对哈希值H(RTA)、URLA地址、哈希值H(D’)1’、任务编号T、流水号n1、时间标识t1进行签名得到签名值S(H(RTA)),并将任务编号T、流水号n1、哈希值H(RTA)、URLA地址、哈希值H(D’)1’、时间标识t1、签名值S(H(RTA))、以及Alice的身份编号IDA,使用安全信道提交至数据库服务器DB;
3.6 DB通过IDA向NS查询得到Alice的公钥KpuA,DB使用公钥KpuA验证签名值S(H(RTA))有效,则将任务编号T、流水号n1、URLA地址、哈希值H(D’)1’、哈希值H(RTA)、IDA、以及时间标识t 1、签名值S(H(RTA))记入数据库;
3.7 Appid将3.5的任务处理完成后,在应用的界面明文显示随机码RTA,以供阅读,并提示验证码有效期,比如有效期15秒;
3.8 Alice将3.7中显示的明文随机码RTA填入3.1的网页验证码输入框并提交;
3.9 NS收到提交的RTA后,将任务编号T、流水号n1、IDA、RTA、时间标识t1’,通过安全信道提交至DB进行查询验证;
3.10 DB收到3.9的信息后,将信息记入数据库,并使用与Appid同样的哈希算法计算RTA的哈希值得到H(RTA)’;
3.11 DB通过任务编号T、流水号n1、IDA查询到之前记录的哈希值H(RTA)、时间标识t,比对H(RTA)与H(RTA)’,如一致,进一步比对t 1与t1’,如果时间误差在合理的范围内,比如20秒内,则验证通过,DB向NS返回验证成功;否则验证不通过,DB向NS返回验证失败;
3.12 NS收到DB返回的验证结果,验证成功则通知CS第一顺序Alice的签署任务完成;
验证失败,则NS重新生成二维码,并重复3.3~3.11的验证步骤;
4、第二顺序签署任务
4.1 CS完成第一顺序的签署任务后,可以使用电子邮箱、手机号码或者Appid应用推送消息的方式通知用户Bob登录CS进行任务签署,同时为Bob生成任务流水号n2使用安全信道发送给NS,并通知NS启动任务编号为T的第二顺序签署流程;
4.2 NS将H(D’)结合随机数γ’拼接为H(D’)+γ’,生成一次性的WEB地址的URLB,并将D’的内容以网页WEB进行展示,同时使用脚本语言(比如JavaScript)在网页中添加执行的命令:在网页浏览器访问URLA时,计算网页中显示的D’的哈希值H(D’)2’;
此外在网页上还显示一个二维码和一个用于输入验证码的输入框;二维码中包含如下信息:唯一编号T、流水号n2、URLB地址、哈希值H(D’)2’、Bob的身份信息及身份编号IDB等,并通过安全信道将该网页地址URLB返回给CS,以保证除了CS之外其他人无法知悉此地址;
4.3 Bob使用电脑或智能终端PCb访问业务服务器CS,CS的业务系统要求Bob使用Appid扫描登录二维码进行身份鉴权;
4.4 Bob启动Appid经人脸识别通过后进入应用界面,启动扫码功能扫描CS在PCb上显示的登录二维码;
4.5 Appid将扫描获取的二维码消息Mid使用私钥KprB签名后,得到签名值SmidB,将IDB、SmidB发送给公证服务器NS,NS通过IDB查询Bob的公钥KpuB,验证签名值SmidB,验证通过,则通知业务服务器CS业务系统Bob登录鉴权成功,CS允许Bob登录业务系统;验证不通过,则NS不进行响应;
4.6 CS向Bob展示访问地址URLB,Bob的网页浏览器执行4.2中脚本命令计算哈希值H(D’)2’,并按照4.2中的二维码规则生成二维码;
4.7 Bob使用其实名登录的Appid扫描4.6中提供的网页二维码,Appid比对二维码中包含的Bob身份信息与登录者Bob的身份信息,比对一致,则进一步比对URLB中包含的H(D’)与哈希值H(D’)2’是否一致,比对一致,则为流水号n2的任务产生一个Bob的随机码RTB;如比对不一致则终止任务。
4.8 Appid界面上先不显示RTB,而是在内存中对随机码RTB明文进行哈希运算,为防止哈希值的彩虹表攻击,可在哈希运算时加入Bob的身份信息,并进行多轮次的哈希迭代,得到哈希值H(RTB);
4.9 Appid使用Bob的私钥KprB对哈希值H(RTB)、URLB地址、哈希值H(D’)2’、任务编号T、流水号n2、时间标识t2进行签名得到签名值S(H(RTB)),并将任务编号T、流水号n2、哈希值H(RTB)、URLB地址、哈希值H(D’)2’、时间标识t2、签名值S(H(RTB))、以及Bob的身份编号IDB,使用安全信道提交至数据库服务器DB;
4.10 DB通过IDB向NS查询得到Bob的公钥KpuB,DB使用公钥KpuB验证签名值S(H(RTB))有效,则将任务编号T、流水号n2、URLB地址、哈希值H(D’)2’、哈希值H(RTB)、IDB以及时间标识t2、签名值S(H(RTB))记入数据库;
4.11 Appid将4.9的任务处理完成后,在应用的界面明文显示随机码RTB,以供阅读,并提示验证码有效期,比如有效期15秒;
4.12 Bob将4.11中显示的明文随机码RTB填入4.2的网页验证码输入框并提交;
4.13 NS收到提交的RTB后,将任务编号T、流水号n2、IDB、RTB、时间标识t2’,通过安全信道提交至DB进行查询验证;
4.14 DB收到4.13的信息后,将信息记入数据库,并使用与Appid同样的哈希算法计算RTB的哈希值得到H(RTB)’;
4.15 DB通过任务编号T、流水号n2、IDB查询到之前记录的哈希值H(RTB)、时间标识t2,比对H(RTB)与H(RTB)’,如一致,进一步比对t2与t2’,如果时间误差在合理的范围内,比如20秒内,则验证通过,DB向NS返回验证成功;否则验证不通过,DB向NS返回验证失败;
4.16 NS收到DB返回的验证结果,验证成功则通知CS第二顺序Bob的签署任务完成;
验证失败,则NS重新生成二维码,并重复4.7~4.15的验证步骤;
5、签署完成
5.1经4.16所有需要签署的参与方签署完成后,NS使用数字证书CNS对文件D’进行证书签名生成做准文本DNS,将做准文本DNS返回给CS,以供Alice和Bob下载使用;
6、使用区块链加强
为了进一步强化数据记录的客观性,可以使用区块链BC替换数据库服务器DB的职能;
6.1设:NS与区块链BC相连,是对BC具有写入权限的区块链节点,TS与BC相连,但仅具有对BC的读取权限;
6.2前文第一顺序签署流程3.5~3.12调整为:
6.2.1Appid使用Alice的私钥KprA对哈希值H(RTA)、URLA地址、哈希值H(D’)1’、任务编号T、流水号n1、时间标识t1进行签名得到签名值S(H(RTA)),并将任务编号T、流水号n1、哈希值H(RTA)、URLA地址、哈希值H(D’)1’、时间标识t1、签名值S(H(RTA))、以及Alice的身份编号IDA,使用安全信道提交至NS;
6.2.2由NS将上述6.2.1信息记入区块链BC,BC向NS返回一个区块链记录的地址LBC1;NS将流水号n1和区块链地址LBC1以及Alice的公钥KpuA发送给区块链节点服务器TS;
6.2.3 Appid将6.2.1的任务处理完成后,在应用的界面明文显示随机码RTA,以供阅读,并提示验证码有效期,比如有效期15秒;
6.2.4 Alice将6.2.3中显示的明文随机码RTA填入3.1的网页验证码输入框并提交NS;
6.2.5 NS收到提交的RTA后,将任务编号T、流水号n1、IDA、RTA、时间标识t1’,记入区块链BC;
6.2.6 BC向NS返回一个区块链记录的地址LBC2;NS将流水号n1和区块链地址LBC2发送给区块链节点服务器TS;
6.2.7 TS收到LBC1和LBC2后,在区块链上找到对应记录,使用Alice的公钥KpuA验证LBC1中Alice的签名是否有效,签名有效则进一步计算LBC2中记录的RTA的哈希值H(RTA)’,是否与LBC1中记录的H(RTA)一致,比对一致则进一步比较LBC1记录的时间标识t1,与LBC2中记录的时间标识t1’的误差值是否合理,比如误差20秒内,则通知NS验证通过;如签名无效、或哈希值不一致或时间误差超过合理范围,则通知NS验证失败;
6.2.8 NS收到TS返回的验证结果,验证成功则通知CS第一顺序Alice的签署任务完成;
验证失败,则NS重新生成二维码,并重复3.3~3.4以及6.2的验证步骤;
6.3前文第二顺序签署流程4.9~4.16调整为:
6.3.1 Appid使用Bob的私钥KprB对哈希值H(RTB)、URLB地址、哈希值H(D’)2’、任务编号T、流水号n2、当前时间标识t2进行签名得到签名值S(H(RTB)),并将任务编号T、流水号n2、哈希值H(RTB)、URLB地址、哈希值H(D’)2’、时间标识t2、签名值S(H(RTB))、以及Bob的身份编号IDB,使用安全信道提交至NS;
6.3.2由NS将上述6.3.1信息记入区块链BC,BC向NS返回一个区块链记录的地址LBC3;NS将流水号n2和区块链地址LBC3以及Bob的公钥KpuB发送给区块链节点服务器TS;
6.3.3 Appid将6.3.1的任务处理完成后,在应用的界面明文显示随机码RTB,以供阅读,并提示验证码有效期,比如有效期15秒;
6.3.4 Bob将6.3.3中显示的明文随机码RTB填入4.2的网页验证码输入框并提交NS;
6.3.5 NS收到提交的RTB后,将任务编号T、流水号n2、IDB、RTB、当前时间标识t2’,记入区块链BC;
6.3.6 BC向NS返回一个区块链记录的地址LBC4;NS将流水号n2和区块链地址LBC4发送给区块链节点服务器TS;
6.3.7 TS收到LBC3和LBC4后,在区块链上找到对应记录,使用Bob的公钥KpuB验证LBC3中Bob的签名是否有效,签名有效则进一步计算LBC4中记录的RTB的哈希值H(RTB)’,是否与LBC3中记录的H(RTB)一致,比对一致则进一步比较LBC3记录的时间标识t2,与LBC4中记录的时间标识t2’的误差值是否合理,比如误差20秒内,则通知NS验证通过;如签名无效、或哈希值不一致或时间误差超过合理范围,则通知NS验证失败;
6.3.8 NS收到TS返回的验证结果,验证成功则通知CS第二顺序Bob的签署任务完成;
验证失败,则NS重新生成二维码,并重复4.7~4.8以及6.3的验证步骤;
6.4签署完成
6.4.1前文5.1调整为:经6.3.8所有需要签署的参与方签署完成后,NS使用自己的数字证书CNS对文件D’进行证书签名生成做准文本DNS,将做准文本DNS返回给CS,以供Alice和Bob下载使用;
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
Claims (8)
1.一种基于安全电子公证技术的电子文书签署方法,其特征在于,该方法包括以下步骤:
S1、用户身份注册:
1.1 用户使用移动终端MT下载用于身份审核的应用软件Appid;
1.2 用户使用Appid输入基本身份信息进行身份认证,同时Appid调用移动终端操作系统底层密钥管理工具的技术接口,为该用户生成公私钥对,其中私钥为Kpr,公钥为Kpu;
1.3 Appid通过移动终端操作系统底层密钥管理工具使用私钥Kpr对该用户的基本身份信息进行签名Sid,并将基本身份信息、公钥Kpu、连同签名值Sid发送给公证服务器NS,NS调用第三方身份认证数据接口进行数据比对,比对通过,则完成该用户的身份认证,NS设定该用户的身份编号为ID,并将该用户的身份编号ID、基本身份信息与公钥Kpu绑定,计入数据库,并将ID返回给Appid保存;如比对失败,则通知Appid身份认证失败;
S2、发起签署任务
2.1 任一用户A使用浏览器访问业务服务器CS,业务服务器CS要求该用户使用Appid扫描登录二维码进行身份鉴权;
2.2 该用户启动Appid经基本身份信息识别通过后进入应用界面,启动扫码功能扫描CS在浏览器上显示的登录二维码;
2.3 Appid将扫描获取的二维码消息Mid使用该用户的私钥KprA签名后,得到签名值SmidA,将该用户的IDA、SmidA发送给公证服务器NS,NS通过IDA查询到该用户A的公钥KpuA验证签名值SmidA,验证通过,则通知业务服务器CS用户A的登录鉴权成功,CS允许用户A登录业务系统;验证不通过,则NS不进行响应;
2.4 用户A登录业务服务器CS后,将拟签署的文件D上传至CS,并指定需要签署此文件的各方基本身份信息;
2.5 业务服务器CS对文件D进行预处理,将预处理后的文件D’、第一顺序签署人A的基本身份信息、其余各方的基本身份信息、此项任务的唯一编号T和本次任务流水号n1,提交至公证服务器NS;
S3、第一顺序签署任务
3.1、公证服务器NS对预处理后的文件D’进行哈希计算得到哈希值H(D’),将H(D’)结合随机数γ生成一次性的WEB地址的URLA,并将D’的内容以网页WEB进行展示,同时使用脚本语言在网页中添加执行的命令:前述命令为在网页浏览器访问URLA时,该用户的浏览器端计算网页中显示的D’的哈希值H(D’)1’;
此外,在提供给用户的网页上公证服务器NS还显示一个二维码和一个用于输入验证码的输入框;二维码中包含如下信息:唯一编号T、流水号n1、URLA地址、哈希值H(D’)1’、用户A的身份信息及身份编号IDA,公证服务器NS通过安全信道将该网页地址URLA返回给业务服务器CS;
3.2、业务服务器CS向用户A展示访问地址URLA,用户A的网页浏览器执行步骤3.1中脚本命令计算哈希值H(D’)1’,公证服务器NS按照3.1中的二维码规则生成二维码;
3.3、用户A使用Appid扫描3.2中提供的网页二维码,Appid比对二维码中包含的该用户A的基本身份信息与登录者的身份信息,比对一致,则进一步比对URLA中包含的H(D’)与哈希值H(D’)1’是否一致,比对一致,则为流水号n1的任务产生一个用户A的随机码RTA;如比对不一致则终止任务;
3.4、Appid在内存中对随机码RTA明文进行哈希运算,得到哈希值H(RTA);
3.5、Appid使用用户A的私钥KprA对哈希值H(RTA)、URLA地址、哈希值H(D’)1’、任务编号T、流水号n1、时间标识t1进行签名得到签名值S(H(RTA)),并将任务编号T、流水号n1、哈希值H(RTA)、URLA地址、哈希值H(D’)1’、时间标识t1、签名值S(H(RTA))、以及用户A的身份编号IDA提交至数据库服务器DB;
3.6、DB通过IDA向NS查询得到该用户A的公钥KpuA,DB使用公钥KpuA验证签名值S(H(RTA))有效,则将任务编号T、流水号n1、URLA地址、哈希值H(D’)1’、哈希值H(RTA)、IDA、以及时间标识t1、签名值S(H(RTA))记入数据库;否则,向NS返回验证失败;
3.7、Appid将3.5的任务处理完成后,在应用的界面明文显示随机码RTA,并提示验证码有效时长;
3.8、用户A将3.7中显示的明文随机码RTA填入步骤3.1中公证服务器NS提供的网页验证码输入框并提交NS;
3.9、NS收到提交的RTA后,将任务编号T、流水号n1、IDA、RTA、时间标识t1’,提交至DB进行查询验证;
3.10、DB收到3.9的信息后,将信息记入数据库,并使用与Appid同样的哈希算法计算RTA的哈希值得到H(RTA)’;
3.11、DB通过任务编号T、流水号n1、IDA查询到之前记录的哈希值H(RTA)、时间标识t,比对H(RTA)与H(RTA)’,如一致,进一步比对t1与t1’,如果时间差值在预设的范围内,则验证通过,DB向NS返回验证成功;否则验证不通过,DB向NS返回验证失败;
3.12、NS收到DB返回的验证结果,验证成功则通知CS第一顺序用户A的签署任务完成;验证失败,则NS重新生成二维码,并重复3.3~3.11的验证步骤;
S4、其余各方按照顺序签署任务
完成第一顺序的签署任务后,业务服务器CS按照顺序通知其余各方用户登录CS,按照步骤S3进行任务签署;
其余各方签署完成后,NS使用数字证书CNS对文件D’进行证书签名生成做准文本DNS;将做准文本DNS返回给CS,以供各方用户下载使用。
2.根据权利要求1所述的基于安全电子公证技术的电子文书签署方法,其特征是所述的步骤1.2中,用户使用Appid输入基本身份信息,同时,启动人脸识别进程采集人脸特征、录制该用户的面部影像Vid,影像中包含该用户确认进行身份认证的意思表示,面部影像Vid中,用户陈述自己正在使用应用软件Appid进行身份认证;对应的步骤2.2中,用户启动Appid经对应的人脸特征识别或者面部影像识别通过后进入应用界面。
3.根据权利要求1或2所述的基于安全电子公证技术的电子文书签署方法,其特征是所述的基本身份信息包括:姓名、手机号码和身份证号码。
4.根据权利要求1所述的基于安全电子公证技术的电子文书签署方法,其特征是所述的步骤1.2中,iOS操作系统底层密钥管理工具的技术接口采用Secure Enclave;Android操作系统底层密钥管理工具的技术接口采用KeyStore。
5.根据权利要求1所述的基于安全电子公证技术的电子文书签署方法,其特征是所述的步骤2.5中,预处理为按照与NS共同确定的规则对文件D进行标准化处理,包括标准化为PDF格式,与NS之间建立安全信道。
6.根据权利要求1所述的基于安全电子公证技术的电子文书签署方法,其特征是所述的步骤3.4中,为防止哈希值的彩虹表攻击,在哈希运算时加入该用户的身份信息,并进行多轮次的哈希迭代。
7.根据权利要求1所述的基于安全电子公证技术的电子文书签署方法,其特征是步骤1.3中第三方身份认证数据接口包括公安系统身份认证数据接口。
8.一种基于安全电子公证技术的电子文书签署方法,其特征在于,将公证服务器NS与区块链BC相连,NS对BC具有写入权限,将区块链验证节点TS与区块链BC相连,TS具有对BC的读取权限;该方法包括权利要求1中的步骤S1、S2、S3的3.1-3.4以及以下步骤:
3.5′、Appid使用用户A的私钥KprA对哈希值H(RTA)、URLA地址、哈希值H(D’)1’、任务编号T、流水号n1、时间标识t1进行签名得到签名值S(H(RTA)),并将任务编号T、流水号n1、哈希值H(RTA)、URLA地址、哈希值H(D’)1’、时间标识t1、签名值S(H(RTA))、以及用户A的身份编号IDA提交至NS;
3.6′、由NS将上述3.5′的信息记入区块链BC,BC向NS返回一个区块链记录的地址LBC1;NS将流水号n1和区块链地址LBC1以及用户A的公钥KpuA发送给区块链节点服务器TS;
3.7′、Appid将3.5′的任务处理完成后,在应用的界面明文显示随机码RTA,并提示验证码有效时长;
3.8′、用户A将3.7′中显示的明文随机码RTA填入3.1的公证服务器NS提供的网页验证码输入框并提交NS;
3.9′、NS收到提交的RTA后,将任务编号T、流水号n1、IDA、RTA、时间标识t1’,记入区块链BC;
3.10′、BC向NS返回一个区块链记录的地址LBC2;NS将流水号n1和区块链地址LBC2发送给区块链节点服务器TS;
3.11′、TS收到LBC1和LBC2后,在区块链上找到对应记录,使用用户A的公钥KpuA验证LBC1中用户A的签名是否有效,签名有效则进一步计算LBC2中记录的RTA的哈希值H(RTA)’,是否与LBC1中记录的H(RTA)一致,比对一致则进一步比较LBC1记录的时间标识t1与LBC2中记录的时间标识t1’的误差值是否在预设范围内,则通知NS验证通过;如签名无效、哈希值不一致或时间误差超过合理范围,则通知NS验证失败;
3.12′、NS收到TS返回的验证结果,验证成功则通知CS第一顺序用户A的签署任务完成;验证失败,则NS重新生成二维码,并重复3.3、3.4以及
3.5′-3.12′的验证步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910406879.2A CN110098932B (zh) | 2019-05-16 | 2019-05-16 | 一种基于安全电子公证技术的电子文书签署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910406879.2A CN110098932B (zh) | 2019-05-16 | 2019-05-16 | 一种基于安全电子公证技术的电子文书签署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110098932A true CN110098932A (zh) | 2019-08-06 |
CN110098932B CN110098932B (zh) | 2022-10-28 |
Family
ID=67448305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910406879.2A Active CN110098932B (zh) | 2019-05-16 | 2019-05-16 | 一种基于安全电子公证技术的电子文书签署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110098932B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830930A (zh) * | 2019-11-19 | 2020-02-21 | 东北石油大学 | 验证码防探嗅处理方法和装置 |
CN110912711A (zh) * | 2019-12-11 | 2020-03-24 | 江苏慧世联网络科技有限公司 | 一种基于电子公证技术的跨内外网域电子文书签署方法 |
CN110943844A (zh) * | 2019-11-22 | 2020-03-31 | 江苏慧世联网络科技有限公司 | 一种基于网页客户端本地服务的电子文件安全签署方法及其系统 |
CN111064751A (zh) * | 2019-12-31 | 2020-04-24 | 江苏慧世联网络科技有限公司 | 一种基于屏幕影像记录与识别的远程电子公证服务系统及通信方法 |
CN111428207A (zh) * | 2020-04-23 | 2020-07-17 | 重庆邮电大学 | 基于区块链技术的数字版权登记与交易方法 |
CN111464555A (zh) * | 2020-04-14 | 2020-07-28 | 江苏慧世联网络科技有限公司 | 一种基于客户端屏幕录像的文件签署确认方法以及业务服务器、认证服务器和客户端 |
CN111817857A (zh) * | 2020-07-03 | 2020-10-23 | 江苏慧世联网络科技有限公司 | 一种基于电子公证和sm2协同签名的电子文件签署方法及其所采用的服务器 |
CN111898968A (zh) * | 2020-06-22 | 2020-11-06 | 国家电网有限公司 | 一种基于电子公证系统的内网电子文书签署方法及系统 |
CN112101949A (zh) * | 2020-09-18 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 安全的服务请求处理方法及装置 |
CN112543241A (zh) * | 2020-10-22 | 2021-03-23 | 重庆恢恢信息技术有限公司 | 一种利用区块链进行建筑工地安全图像数据挖掘方法 |
CN113609499A (zh) * | 2021-07-28 | 2021-11-05 | 江苏慧世联网络科技有限公司 | 基于去中心化多方安全计算和多重签名的电子公证文书签署方法及系统 |
CN114884669A (zh) * | 2021-03-29 | 2022-08-09 | 赵传亮 | 一种可信的安全装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936566A (zh) * | 2017-03-09 | 2017-07-07 | 江苏省南京市南京公证处 | 一种基于区块链技术的可外包的文书签署方法 |
CN107171794A (zh) * | 2017-06-27 | 2017-09-15 | 葛峰 | 一种基于区块链和智能合约的电子文书签署方法 |
CN107579827A (zh) * | 2017-06-06 | 2018-01-12 | 江苏慧世联网络科技有限公司 | 一种基于可信第三方和面部识别技术的电子文书签署方法 |
CN109190347A (zh) * | 2018-08-17 | 2019-01-11 | 江苏诺安科技有限公司 | 一种电子签名方法 |
-
2019
- 2019-05-16 CN CN201910406879.2A patent/CN110098932B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936566A (zh) * | 2017-03-09 | 2017-07-07 | 江苏省南京市南京公证处 | 一种基于区块链技术的可外包的文书签署方法 |
CN107579827A (zh) * | 2017-06-06 | 2018-01-12 | 江苏慧世联网络科技有限公司 | 一种基于可信第三方和面部识别技术的电子文书签署方法 |
CN107171794A (zh) * | 2017-06-27 | 2017-09-15 | 葛峰 | 一种基于区块链和智能合约的电子文书签署方法 |
CN109190347A (zh) * | 2018-08-17 | 2019-01-11 | 江苏诺安科技有限公司 | 一种电子签名方法 |
Non-Patent Citations (4)
Title |
---|
吴进喜等: "基于区块链的多方隐私保护公平合同签署协议", 《信息安全学报》 * |
吴进喜等: "基于区块链的多方隐私保护公平合同签署协议", 《信息安全学报》, no. 03, 15 May 2018 (2018-05-15) * |
田海博等: "基于公开区块链的隐私保护公平合同签署协议", 《密码学报》 * |
田海博等: "基于公开区块链的隐私保护公平合同签署协议", 《密码学报》, no. 02, 15 April 2017 (2017-04-15) * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830930A (zh) * | 2019-11-19 | 2020-02-21 | 东北石油大学 | 验证码防探嗅处理方法和装置 |
CN110943844A (zh) * | 2019-11-22 | 2020-03-31 | 江苏慧世联网络科技有限公司 | 一种基于网页客户端本地服务的电子文件安全签署方法及其系统 |
CN110943844B (zh) * | 2019-11-22 | 2022-04-12 | 江苏慧世联网络科技有限公司 | 一种基于网页客户端本地服务的电子文件安全签署方法及其系统 |
CN110912711A (zh) * | 2019-12-11 | 2020-03-24 | 江苏慧世联网络科技有限公司 | 一种基于电子公证技术的跨内外网域电子文书签署方法 |
CN110912711B (zh) * | 2019-12-11 | 2022-04-05 | 江苏慧世联网络科技有限公司 | 一种基于电子公证技术的跨内外网域电子文书签署方法 |
CN111064751B (zh) * | 2019-12-31 | 2021-10-01 | 江苏慧世联网络科技有限公司 | 一种基于屏幕影像记录与识别的远程电子公证服务系统及通信方法 |
CN111064751A (zh) * | 2019-12-31 | 2020-04-24 | 江苏慧世联网络科技有限公司 | 一种基于屏幕影像记录与识别的远程电子公证服务系统及通信方法 |
CN111464555A (zh) * | 2020-04-14 | 2020-07-28 | 江苏慧世联网络科技有限公司 | 一种基于客户端屏幕录像的文件签署确认方法以及业务服务器、认证服务器和客户端 |
CN111464555B (zh) * | 2020-04-14 | 2021-10-15 | 江苏慧世联网络科技有限公司 | 一种基于客户端屏幕录像的文件签署确认方法以及业务服务器、认证服务器和客户端 |
CN111428207A (zh) * | 2020-04-23 | 2020-07-17 | 重庆邮电大学 | 基于区块链技术的数字版权登记与交易方法 |
CN111428207B (zh) * | 2020-04-23 | 2023-11-14 | 重庆邮电大学 | 基于区块链技术的数字版权登记与交易方法 |
CN111898968A (zh) * | 2020-06-22 | 2020-11-06 | 国家电网有限公司 | 一种基于电子公证系统的内网电子文书签署方法及系统 |
CN111817857A (zh) * | 2020-07-03 | 2020-10-23 | 江苏慧世联网络科技有限公司 | 一种基于电子公证和sm2协同签名的电子文件签署方法及其所采用的服务器 |
CN111817857B (zh) * | 2020-07-03 | 2022-08-30 | 江苏慧世联网络科技有限公司 | 一种基于电子公证和sm2协同签名的电子文件签署方法及其所采用的服务器 |
CN112101949A (zh) * | 2020-09-18 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 安全的服务请求处理方法及装置 |
CN112101949B (zh) * | 2020-09-18 | 2022-12-16 | 支付宝(杭州)信息技术有限公司 | 安全的服务请求处理方法及装置 |
CN112543241A (zh) * | 2020-10-22 | 2021-03-23 | 重庆恢恢信息技术有限公司 | 一种利用区块链进行建筑工地安全图像数据挖掘方法 |
CN114884669A (zh) * | 2021-03-29 | 2022-08-09 | 赵传亮 | 一种可信的安全装置 |
CN113609499A (zh) * | 2021-07-28 | 2021-11-05 | 江苏慧世联网络科技有限公司 | 基于去中心化多方安全计算和多重签名的电子公证文书签署方法及系统 |
CN113609499B (zh) * | 2021-07-28 | 2024-03-01 | 江苏慧世联网络科技有限公司 | 基于去中心化多方安全计算和多重签名的电子公证文书签署方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110098932B (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110098932A (zh) | 一种基于安全电子公证技术的电子文书签署方法 | |
US11777726B2 (en) | Methods and systems for recovering data using dynamic passwords | |
US20230370257A1 (en) | Methods and systems of providing verification of information using a centralized or distributed ledger | |
CN108881253B (zh) | 区块链实名参与方法和系统 | |
Bernabe et al. | ARIES: Evaluation of a reliable and privacy-preserving European identity management framework | |
JP2007527059A (ja) | ユーザ、およびコンピュータシステムから受信された通信の認証のための方法および装置 | |
CN106559384A (zh) | 一种利用公众号实现登录的方法及装置 | |
CN108876375B (zh) | 区块链实名参与方法和系统 | |
CN108881121A (zh) | 一种基于移动互联网的p2p信用互看系统及方法 | |
EP3883204B1 (en) | System and method for secure generation, exchange and management of a user identity data using a blockchain | |
JPH1125045A (ja) | アクセス制御方法とその装置及び属性証明書発行装置並びに機械読み取り可能な記録媒体 | |
WO2004092965A1 (en) | Self-enrollment and authentication method | |
Iyanda et al. | Development of two-factor authentication login system using dynamic password with SMS verification | |
KR20200004666A (ko) | 머신러닝과 블록체인을 이용한 생체정보 인증 시스템 | |
TWI684884B (zh) | 身份認證方法及裝置 | |
US20210194919A1 (en) | System and method for protection against malicious program code injection | |
Rhermini | Identity, Access Management and Single Sign-On Web-based Solutions | |
CN113206857A (zh) | 一种基于区块链的数据鉴权认证方法及系统 | |
Ssekibuule et al. | Model-based testing of network security protocols in java card applications | |
JINOR | Information Technology University of Copenhagen | |
Müller et al. | D3. 14: Model implementation for a user controlled |
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 |