一种基于区块链技术的电子印章发行方法及系统与流程

文档序号:32415360发布日期:2022-12-02 22:07阅读:111来源:国知局
一种基于区块链技术的电子印章发行方法及系统与流程

1.本发明涉及区块链数据处理领域,具体涉及一种基于区块链技术的电子印章发行方法及系统。


背景技术:

2.智能合约是一种计算机程序或交易协议,记录了交易条款信息、事件、行为,旨在减少对可信中间人的需求、仲裁和执行成本。用户可以通过高级语言(c++、go、rust、solidity)来编写智能合约,经过编译后,以wasm、evm字节码的形式存储在区块链中,用户可以通过发送交易来触发执行智能合约中的代码。
3.虚拟机为智能合约提供计算资源和运行容器。每个虚拟机都运行在隔离的环境中,确保资源访问安全性,只能修改属于该合约自身的状态记录。智能合约需要有执行终止条件,以限制对资源的消耗;终止条件可以是按照时间、指令数量、指令执行代价等方式。
4.目前实现电子印章方式分为三大类:
5.1.电子印章+区块链+物联网设备,如:公布号为cn112995225a的现有发明专利申请文献《一种基于区块链的智能印章可信验真系统》中涉及物联服务管理平台、可信验真平台、区块链网络和智能印章;其中,物联服务管理平台与智能印章通信,智能印章内部设置有区块链模组并通过区块链模组与区块链网络通信,区块链网络与可信验真平台通信。由该现有技术的细化特征可知,该现有方案采用了电子印章、区块链及物联网设备等技术特征,而此种现有方式需要用户持有印章物理设备,不便于携带和异地多人用章场景。
6.2.电子印章+ca证书+区块链
7.此种方式最终是ca签名方式完成电子文件签署,ca签署与数据上链非原子性操作过程,导致可能存在只完成ca签署而未上链情况,无法追溯所有印章使用情况。
8.3.电子印章+区块链+智能合约
9.公布号为cn111355592a的现有发明专利文献《一种基于区块链的以太坊智能合约电子签章系统及方法》中的系统包括:第三方系统,包括印章制作模块,生成私钥和以太坊地址,将以太坊地址发送至管理平台;文档签章模块,接收待签章文档,计算所述待签章文档的哈希值,并根据私钥计算以太坊地址,将所述哈希值和以太坊地址均发送至以太网网络;管理平台将审核通过的以太坊地址和相应权限发送至以太坊网络;以太坊网络,接收第三方系统发送的哈希值和以太坊地址,判断智能合约中是否已存在所述以太坊地址,若存在,进一步判断是否具有写入权限,若具有,将所述哈希值、第三方系统账户信息和当前时间存入所述以太坊地址。该现有技术中的区块链智能合约与印章没有唯一对应的关系,影响了操作安全性;且该现有技术无法支持多人同时异地使用此电子印章;同时,在签署阶段,用户仍需提交私钥到链上;该现有方案的电子印章授权、签署、合同核验流程缺乏透明,且追溯困难,易导致印章滥用及无法监管的情况。
10.综上,现有技术存在使用不便、安全性低、追溯监管困难的技术问题。


技术实现要素:

11.本发明所要解决的技术问题在于如何解决现有技术中使用不便、安全性低、追溯监管困难的技术问题。
12.本发明是采用以下技术方案解决上述技术问题的:一种基于区块链技术的电子印章发行方法包括:
13.s1、申领人通过用户客户端提交个人身份信息、企业工商信息至区块链印章管理系统,据以核验个人身份信息有效性;
14.s2、利用区块链印章管理系统提交企业工商信息至工商部门,以创建印章智能合约;
15.s3、获得印章智能合约的合约地址,据以公示印章企业信息、合约地址,以用户客户端接收并保存印章企业信息及合约地址;
16.s4、申领人使用客户端本地创建区块链账号,以申领人地址作为印章智能合约管理员,以调用智能合约的授权及除权方法,以向其他用户地址进行印章使用权限的授权、转移、文件签署核验及吊销操作,其中,印章智能合约操作数据均已自动上链,实现印章全生命周期数据上链可追溯,步骤s4还包括:
17.s41、预构造待签名数据包括:原始文件hash,在进行单次签署时,以用户私钥对预构造待签名数据进行签名操作以得到文件签署数据,据以处理得到签署数据hash,以签署数据hash及原始文件hash作为上链数据,根据上链数据调用印章智能合约签署方法,以进行上链操作;
18.s42、在进行同份文件不少于2方的签署时,利用预置链式签署逻辑,使得各签署方顺次引用其他签署方的签署数据,据以完成不少于2方的签署。
19.本发明中的自然人/企业印章抽象成区块链智能合约,以链上唯一的合约地址对应印章。本发明基于智能合约发行电子印章,实现印章全生命周期管理,既可以方便授权印章多人异地使用,又能追溯印章所有使用记录。本发明中的企业实体印章与智能合约一一对应,印章创建、授权、签署、转移、冻结等全生命周期操作数据全部上链,以实现印章使用过程可追溯,杜绝印章冒用滥用。
20.在更具体的技术方案中,步骤s2中智能合约的合约状态变量包括:印章单次签署数据signature、印章名称name、印章状态status、单次签署结果abi后hash与签署数据signature、数据字典contractmap、供根据预置键值key查找签署数据signature的签署历史、所有用户的印章授权字典approvalmap、用户最新一次签署时间戳lastchangetime。
21.在更具体的技术方案中,印章单次签署数据signature包括:合同原文hash、签名数据hash、签名地址、上链时间;
22.所有用户的印章授权字典approvalmap用以记录所有授权人列表,供查询当前的用户是否有印章使用权;
23.用户最新一次签署时间戳lastchangetime,供排除已上链签名被重复调用上链的操作。
24.本发明的印章智能合约提供授权方法,授权用户公钥/地址,支持多人同时异地使用此电子印章。
25.在更具体的技术方案中,根据预置键值key查找签署数据signature的签署历史。
26.在更具体的技术方案中,步骤s2中智能合约的合约函数包括:
27.授权用户使用印章的函数approval,用以根据预置授权管理数据,对用户执行授权权限;
28.吊销用户使用印章的函数revoke;
29.查询用户使用印章权限的函数queryauthority,供签署文件时,进行校验操作;
30.用户签署合同的函数addsignature,用以将合同原文hash、签名数据hash、签名人地址、上链时间记录至智能合约;
31.查询用户签署记录是函数querydetailbyindex,用以将所有签署数据记录于预置数组,供利用数组的签署记录索引,查找上链签署数据看,以提供上链存证。
32.在更具体的技术方案中,利用椭圆曲线算法处理签名人地址权限及上链时间。
33.本发明中,仅私钥的所有人可使用当前签名人的身份,上链时间由区块链共识时间保证不可被篡改。
34.本发明的合同原文hash(origindata)保证签约文件原本的唯一性。签名数据hash(signdata)保证了每一个签约文件的签署副本的唯一性。签名地址(signaddress)保证每个签名人信息上链,由智能合约进行存证。上链时间(signtime)是由智能合约从链上读取,非用户提交,保证了签署数据存证的时间不由用户操控,保证了签署完成时间的权威性。
35.在更具体的技术方案中,上链签署数据包括:合同原文hash、签名数据hash、签名人地址、上链时间。
36.在更具体的技术方案中,步骤s41包括:
37.s411、用户设置预构造待签名数据,其中,预构造待签名数据包括:原始文件hash、使用的印章智能合约地址、签署方的身份信息、印模、签名、日期样式、位置信息等数据;
38.s412、用户使用私钥对待签名数据进行签名,据以得到完整的文件签署数据;
39.s413、计算获取完整的文件签署数据,以得到签署数据hash,与原始文件hash作为上链数据调用印章智能合约进行上链操作;
40.s414、在印章智能合约中记录调用合约的用户信息以及调用时间,与原始文件hash和签署数据hash一并保存于链上,据以完成签署。
41.在签署阶段,本发明中用户无需提交私钥到链上,私钥保管在用户本地环境,用户只需调用合约签署函数,发送签署交易,在签署交易中传入签署数据hash,合约根据用户公钥/地址判断是否有调用权限,并解签名交易数据验证交易合法性,实现签署行为。在已签署电子合同验证阶段,本发明签署方出示已签署的电子合同文件,计算文件hash,调用印章智能合约查询方法,如果合约存在此hash,说明签署文件有效反之无效。通过此方式实现电子印章授权、签署、合同核验全流程透明可追溯,不存在印章滥用无法监管情况。
42.在更具体的技术方案中,步骤s42包括:
43.s421、在同一份文件多方签署时,利用链式签署方法,在第一用户a完成一次文件签署时,生成第一用户完整签署数据;
44.s422、引用第一用户完整签署数据的hash,以供第二用户b构造待签署数据;
45.s423、引用第二用户b签署完整数据,以供第三用户c构造待签署数据,以使得文件的每次签署形成一链式结构。
46.本发明在多方签署文件的应用场景下,利用链式签署方法,通过各签署方顺次引
用其他签署方的签署数据的方式,依次保证文件的每次签署形成一条链式结构,提高了算法的适用性。
47.在更具体的技术方案中,一种基于区块链技术的电子印章发行系统包括:
48.印章申领模块,用以申领人通过用户客户端提交个人身份信息、企业工商信息至区块链印章管理系统,据以核验个人身份信息有效性;
49.印章智能合约创建模块,用以利用区块链印章管理系统提交企业工商信息至工商部门,以创建印章智能合约,其中,印章与智能合约一一对应,印章创建模块与印章申领模块连接;
50.印章接收模块,用以获得智能合约的合约地址,据以公示印章企业信息、合约地址,以用户客户端接收并保存印章企业信息及合约地址,印章接收模块与印章智能合约创建模块连接;
51.印章操作及文件签署模块,以申领人作为印章智能合约管理员,以调用智能合约的授权及除权方法,以向其他用户进行印章使用权限的授权、转移、文件签署核验及吊销操作,其中,对印章操作产生的全生命周期数据进行上链处理,以供使用过程追溯,印章操作及文件签署模块与印章接收模块及印章智能合约创建模连接,印章操作及文件签署模块还包括:
52.单次签署模块,用以在进行单次签署时,以用户私钥对预构造待签名数据进行签名操作以得到文件签署数据,据以处理得到签署数据hash,以签署数据hash及原始文件hash作为上链数据,根据上链数据调用印章智能合约,以进行上链操作;
53.多次签署模块,用以在进行同份文件不少于2方的签署时,利用预置链式签署逻辑,使得各签署方顺次引用其他签署方的签署数据,据以完成不少于2方的签署。
54.本发明相比现有技术具有以下优点:本发明中的自然人/企业印章抽象成区块链智能合约,以链上唯一的合约地址对应印章。本发明基于智能合约发行电子印章,实现印章全生命周期管理,既可以方便授权印章多人异地使用,又能追溯印章所有使用记录。本发明中的企业实体印章与智能合约一一对应,印章创建、授权、签署、转移、冻结等全生命周期操作数据全部上链,以实现印章使用过程可追溯,杜绝印章冒用滥用。
55.本发明的印章智能合约提供授权方法,授权用户公钥/地址,支持多人同时异地使用此电子印章。
56.本发明中,仅私钥的所有人可使用当前签名人的身份,上链时间由区块链共识时间保证不可被篡改。
57.本发明的合同原文hash(origindata)保证签约文件原本的唯一性。签名数据hash(signdata)保证了每一个签约文件的签署副本的唯一性。签名地址(signaddress)保证每个签名人信息上链,由智能合约进行存证。上链时间(signtime)是由智能合约从链上读取,非用户提交,保证了签署数据存证的时间不由用户操控,保证了签署完成时间的权威性。
58.在签署阶段,本发明中用户无需提交私钥到链上,私钥保管在用户本地环境,用户只需调用合约签署函数,发送签署交易,在签署交易中传入签署数据hash,合约根据用户公钥/地址判断是否有调用权限,并解签名交易数据验证交易合法性,实现签署行为。在已签署电子合同验证阶段,本发明签署方出示已签署的电子合同文件,计算文件hash,调用印章智能合约查询方法,如果合约存在此hash,说明签署文件有效反之无效。通过此方式实现电
子印章授权、签署、合同核验全流程透明可追溯,不存在印章滥用无法监管情况。
59.本发明在多方签署文件的应用场景下,利用链式签署方法,通过各签署方顺次引用其他签署方的签署数据的方式,依次保证文件的每次签署形成一条链式结构,提高了算法的适用性。本发明解决了现有技术中存在的使用不便、安全性低、追溯监管困难的技术问题。
附图说明
60.图1为本发明实施例1的一种基于区块链技术的电子印章发行方法业务流程图;
61.图2为本发明实施例1的印章智能合约状态变量及合约函数示意图;
62.图3为本发明实施例1的印章智能合约数据流处理示意图;
63.图4为本发明实施例1的用户签署操作流程图;
64.图5为本发明实施例1的用户单次签署算法流程示意图;
65.图6为本发明实施例1的用户链式签署算法流程示意图。
具体实施方式
66.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
67.实施例1
68.如图1所示,本发明提供的一种基于区块链技术的电子印章发行方法包括以下业务流程:
69.印章申领流程:
70.s1、在用户客户端开始印章申领;
71.s2、在用户客户端提交信息,在本实施例中,用户通过客户端提交个人身份信息、企业工商信息至区块链印章管理系统;
72.s3、利用区块链印章管理系统进行个人身份信息核验;
73.s4、利用区块链系统进行链上核验,在本实施例中,区块链印章管理系统通过区块链系统核验个人身份信息有效性;在本实施例中,该步骤只是对申领印章的人员和企业做一次身份校验,保证接下来的印章发行和使用均是合法有效的;
74.在本实施例中,智能合约是区块链上的一段可执行代码,印章智能合约定义了印章授权、转移、文件签署等函数方法,用户在进行电子印章操作即调用合约函数方法过程,这个过程产生的数据会记录在区块链账本中。
75.s5、核验通过,转至区块链印章管理系统;
76.印章创建流程:
77.s6、工商信息核验,在本实施例中,区块链印章管理系统提交企业工商信息至工商部门;
78.s7、核验通过,转至区块链印章管理系统;
79.s8、在区块链系统创建印章,在本实施例中,个人身份信息和工商信息均核验通过
后,区块链印章管理系统在区块链系统上为企业创建印章智能合约;并将该智能合约的管理员设置为申领用户。只有管理员才能进行授权/取消授权、转移管理员等操作;
80.s9、利用区块链印章管理系统进行印章发行,在本实施例中,用户客户端接收印章智能合约地址并保存,完成印章发行流程;
81.印章接收流程:
82.s10、用户客户端接收接收印章,在本实施例中,印章智能合约创建成功后获得合约地址,区块链印章管理系统公示印章企业信息、合约地址;
83.s11、完成申领。
84.印章授权/取消授权
85.申领人即印章智能合约管理员,可以通过调用智能合约的授权/取消授权方法给其他用户授权印章使用权限。
86.仅有被授权人和管理员可以通过调用印章智能合约的签署方法进行使用印章,授权人取消印章授权后失去签署权限,但其之前的签署仍然有效。
87.在本实施例中,印章转移的流程还包括:
88.在某种特定情况下印章管理权限可以转移给他人,比如印章本身由代理人申请,需要把管理权限移交给法人;或者法人将印章的管理权限全权授权给其他人。
89.仅有印章管理员可以将印章智能合约的管理权限转移给其他人,转移后失去该印章智能合约的所有操作权限。
90.在本实施例中,印章使用的流程还包括:
91.印章管理员、被授权人员,可以通过调用智能合约在签署文件的时候进行使用印章。具体的使用流程参见下文”三、文件签署及核验”。
92.在本实施例中,印章吊销的流程还包括:
93.在某种特定的情况下需要吊销印章,印章管理员可以主动吊销印章。
94.工商部门可以通过区块链印章管理系统自动吊销企业的印章。
95.吊销后的印章将不可再进行使用、授权等任意操作。原来授权的用户将自动失去该印章的授权。吊销后状态不可更改。对吊销前已经签署的文件核验不造成任何影响,以使用的印章仍然有效。
96.如图2所示,在本实施例中,一种基于区块链技术的电子印章发行方法中的印章智能合约数据流处理中,企业实体印章与智能合约一一对应,印章创建、授权、签署、转移、冻结等全生命周期操作数据全部上链,以实现印章使用过程可追溯,杜绝印章冒用滥用。在本实施例中,将原始电子文件通过hash摘要算法处理为原始文件hash,在待签署文件追加签署数据,签署数据包括:签署方身份信息、印章智能合约地址、印模、签名、日起样式、位置信息。将签署数据有序排列组成json字符串,并通过hash摘要算法处理得到签署数据hash。在本实施例中,根据原始文件hash、签署数据hash、用户的签名公钥对应的地址、区块链当前时间戳作为待上链数据,调用印章智能合约添加签名方法(addsignature)完成签署数据上链存证。
97.如图3所示,在本实施例中,合约状态变量包括:
98.signature:印章某次签署数据,包含合同原文hash、签名数据hash、签名地址、上链时间;
99.name:印章名称;
100.status:印章状态;0代表可以正常使用,1代表冻结中,这里由发证机关操作,2代表已吊销代表印章已经不能使用,但已经签署过的印章还=是有效的。
101.contractmap:某次签署结果abi后hash与签署数据signature数据字典;根据此对象可以查找签署历史。具体则是根据key查找signature。
102.approvalmap:所有用户印章授权字典;这里记录所有授权人列表,可以查询当前用户是否有印章使用权。
103.lastchangetime:某用户最新一次签署时间戳,用于防重放攻击;防止已经上链的签名被重复调用上链。
104.在本实施例中,合约函数包括:
105.approval():授权某用户使用印章方法;只有得到授权的用户才可以使用此印章,授权一般由企业法人管理,也可以指定相关管理人员执行相关授权权限。
106.revoke():吊销某用户使用印章方法;当之前被授权的人被吊销了授权权限,就无法再次使用此印章,但之前所有的使用记录均还有效。
107.queryauthority():查询某用户使用印章权限方法;用户可通过此方法查询某人是否有印章使用权限,这个一般会签署时,进行相关校验使用到。
108.addsignature():某用户签署合同方法;将合同原文hash、签名数据hash、签名人地址、上链时间记录到合约中的方法,其中签名人地址有椭圆曲线算法保证,仅私钥的所有人可使用当前签名人的身份,上链时间由区块链共识时间保证不可被篡改。
109.querydetailbyindex():查询某用户签署记录方法;所有签署数据都会记录到一个数组去,任何用户都可以根据签署记录在数组的索引,查找,当时上链的签署数据,包含合同原文hash、签名数据hash、签名人地址、上链时间。提供一个类似链上存证的功能。
110.在本实施例中,合约函数方法调用本质是往区块链上发交易,交易需要通过用户账户的私钥对交易数据签名,然后再通过区块链提供的接口发数据广播出去。
111.如图4所示,文件签署及核验中,文件签署实现电子文件上传、预览、盖章、核验等功能,文件各签署各版本可单独核验,并能从区块链上查询对应签署交易记录,保障数据可信。
112.如图5所示,在本实施例中,文件签署核心流程包括:
113.s1’、利用原始文件hash、签署方身份信息、印章智能合约地址、印模、签名、日期样式和位置构造待签署数据,在本实施例中,用户a上传待签署文件,支持word、excel、pdf等常见文档格式。为保持文档预览样式统一,服务端自动将所有文档转码成pdf格式;
114.s2’、通过用户签名操作获取包含签名的完整签署数据;在本实施例中,选择印模、签名、日期样式和位置,构造待签署数据,使用存储在客户端本地的用户私钥对待签署数据签名,调用合约上链;图1签署流程所示步骤5通过调用用户a使用的印章对应智能合约的addsignature方法将用户的签名后的数据进行上链操作,以实现追溯印章所有使用记录的技术效果;
115.在本实施例中,用户账户:区块链上的用户账户本质公私钥对,私钥用户持有,公钥转换得到用户地址。用户地址对外公开,需要发交易时使用私钥签名。
116.s3’、以原始文件hash、签署数据hash作为待上链数据,在本实施例中,签署成功后
将用户a签署数据详情存入服务端,更新用户a文件签署状态,通知用户b签署文件;
117.s4’、调用印章智能合约,记录合约调用方以及合约调用时间,将原始文件hash、签署数据hash、签署人、签署时间存储到链上,以完成单次签署,在本实施例中,用户b从服务端获取原始文件pdf、用户a签署数据详情;文件签署前先校验文件有效性和用户a签署数据有效性,上图签署流程所示步骤12通过调用用户a的印章智能合约的querydetailbyindex方法,查询用户a的签署记录是否上链,通过追溯印章所有使用记录的技术效果实现验证用户a签署是否有效的技术效果,核验通过后同用户b进行签署操作,完成文件签署。
118.如图6所示,在本实施例中,在存在多个文件签署方的文件链式签署应用场景下,文件签署的步骤包括以下步骤:
119.s101’、用户a构造签署数据;
120.s102’、用户a签名,生成用户a完整签署数据;
121.s103’、用户b构造签署数据;
122.s104’、用户b签名,生成用户b完整签署数据;
123.s105’、用户c构造签署数据;
124.s106’、用户c签名,生成用户c完整签署数据;
125.s107’、获取用户a待上链数据;
126.s108’、用户a调合约上链,进行智能合约上链;
127.s109’、获取用户b待上链数据;
128.s1010’、用户b调合约上链,进行智能合约上链;
129.s1011’、获取用户c待上链数据;
130.s1012’、用户c调合约上链,进行智能合约上链。
131.在本实施例中,同一份文件多方签署的时候是以链式签署的方法进行的,用户a完成一次文件签署后会生成一份签署数据。
132.用户b在构造待签署数据的时候会引用用户a签署的完整数据hash。
133.用户c签署时也会引用用户b签署的完整数据,依次保证文件的每次签署形成一条链式结构。
134.综上,本发明中的自然人/企业印章抽象成区块链智能合约,以链上唯一的合约地址对应印章。本发明基于智能合约发行电子印章,实现印章全生命周期管理,既可以方便授权印章多人异地使用,又能追溯印章所有使用记录。本发明中的企业实体印章与智能合约一一对应,印章创建、授权、签署、转移、冻结等全生命周期操作数据全部上链,以实现印章使用过程可追溯,杜绝印章冒用滥用。
135.本发明的印章智能合约提供授权方法,授权用户公钥/地址,支持多人同时异地使用此电子印章。
136.本发明中,仅私钥的所有人可使用当前签名人的身份,上链时间由区块链共识时间保证不可被篡改。
137.本发明的合同原文hash(origindata)保证签约文件原本的唯一性。签名数据hash(signdata)保证了每一个签约文件的签署副本的唯一性。签名地址(signaddress)保证每个签名人信息上链,由智能合约进行存证。上链时间(signtime)是由智能合约从链上读取,非用户提交,保证了签署数据存证的时间不由用户操控,保证了签署完成时间的权威性。
138.在签署阶段,本发明中用户无需提交私钥到链上,私钥保管在用户本地环境,用户只需调用合约签署函数,发送签署交易,在签署交易中传入签署数据hash,合约根据用户公钥/地址判断是否有调用权限,并解签名交易数据验证交易合法性,实现签署行为。在已签署电子合同验证阶段,本发明签署方出示已签署的电子合同文件,计算文件hash,调用印章智能合约查询方法,如果合约存在此hash,说明签署文件有效反之无效。通过此方式实现电子印章授权、签署、合同核验全流程透明可追溯,不存在印章滥用无法监管情况。
139.本发明在多方签署文件的应用场景下,利用链式签署方法,通过各签署方顺次引用其他签署方的签署数据的方式,依次保证文件的每次签署形成一条链式结构,提高了算法的适用性。本发明解决了现有技术中存在的使用不便、安全性低、追溯监管困难的技术问题。
140.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1