一种基于区块链的数字印章使用方法及装置与流程

文档序号:29632785发布日期:2022-04-13 16:23阅读:208来源:国知局
一种基于区块链的数字印章使用方法及装置与流程

1.本说明书实施例属于区块链技术领域,尤其涉及一种基于区块链的数字印章使用方法及装置。


背景技术:

2.区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。


技术实现要素:

3.本发明的目的在于提供一种基于区块链的数字印章使用方法及装置,包括:
4.根据本说明书一个或多个实施例的第一方面,提出了一种基于区块链的数字印章使用方法,应用于区块链系统,该方法包括:
5.接收数字印章使用交易,所述数字印章使用交易用于请求使用目标数字印章;所述目标数字印章包含所述目标数字印章的数字证书以及目标印模;所述目标数字印章对应的印章密钥被预先划分为由多个授权保管方分别维护的多个密钥分片;
6.调用密钥验证智能合约,以由所述密钥验证智能合约将各个授权保管方分别提交的密钥分片进行合并以形成完整的印章密钥,并将合并形成的印章密钥透传至认证中心,所述认证中心维护有预先生成的所述目标数字印章的数字证书;
7.将所述认证中心根据所述印章密钥返回的所述目标数字印章的数字证书透传至所述数字印章使用交易的交易发起方,以由所述交易发起方使用所述目标数字印章的数字证书以及目标印模进行签章操作。
8.根据本说明书一个或多个实施例的第二方面,提出了一种基于区块链的数字印章生成方法,应用于区块链系统,该方法包括:
9.接收数字印章申请交易,所述数字印章申请交易用于请求生成目标数字印章,所述目标数字印章包含所述目标数字印章对应的数字证书以及目标印模;
10.响应于所述数字印章申请交易调用印章密钥确定合约,所述印章密钥确定合约用于:
11.确定所述目标数字印章对应的印章密钥;
12.将所述印章密钥按照授权保管方的数量拆分成多个密钥分片,并将各个密钥分片透传至相应的授权保管方;
13.将所述印章密钥透传至认证中心,以由所述认证中心生成所述目标数字印章对应的数字证书以及目标印模。
14.根据本说明书一个或多个实施例的第三方面,提出了一种基于区块链的数字印章使用装置,应用于区块链系统,该装置包括:
15.第一接收单元,用于接收数字印章使用交易,所述数字印章使用交易用于请求使用目标数字印章;所述目标数字印章包含所述目标数字印章的数字证书以及目标印模;所述目标数字印章对应的印章密钥被预先划分为由多个授权保管方分别维护的多个密钥分片;
16.第一调用单元,用于调用密钥验证智能合约,以由所述密钥验证智能合约将各个授权保管方分别提交的密钥分片进行合并以形成完整的印章密钥,并将合并形成的印章密钥透传至认证中心,所述认证中心维护有预先生成的所述目标数字印章的数字证书;
17.返回单元,将所述认证中心根据所述印章密钥返回的所述目标数字印章的数字证书透传至所述数字印章使用交易的交易发起方,以由所述交易发起方使用所述目标数字印章的数字证书以及目标印模进行签章操作。
18.根据本说明书一个或多个实施例的第四方面,提出了一种基于区块链的数字印章生成装置,应用于区块链系统,该装置包括:
19.第二接收单元,用于接收数字印章申请交易,所述数字印章申请交易用于请求生成目标数字印章,所述目标数字印章包含所述目标数字印章对应的数字证书以及目标印模;
20.第二调用单元,响应于所述数字印章申请交易调用印章密钥确定合约,所述印章密钥确定合约用于:
21.确定所述目标数字印章对应的印章密钥;
22.将所述印章密钥按照授权保管方的数量拆分成多个密钥分片,并将各个密钥分片透传至相应的授权保管方;
23.发送单元,用于将所述印章密钥透传至认证中心,以由所述认证中心生成所述目标数字印章的数字证书以及目标印模。
24.根据本说明书一个或多个实施例的第五方面,提供一种电子设备,包括:
25.处理器;
26.用于存储处理器可执行指令的存储器;
27.其中,所述处理器通过运行所述可执行指令以实现如上述任一方面的实施例中所述的方法。
28.根据本说明书一个或多个实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一方面的实施例中所述方法的步骤。
29.在本说明书中,通过区块链去中心化机制将数字印章的印章密钥进行分段保管,同时应用区块链智能合约对数字印章的授权关系进行管理,实现对数字印章使用过程的强管控,提升数字印章使用过程的安全性。
附图说明
30.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
31.图1是本说明书示出的一种智能合约的创建流程的示意图;
32.图2是本说明书示出的一种智能合约的调用流程的示意图;
33.图3是本说明书示出的一种智能合约的创建和调用流程的示意图;
34.图4是本说明书一示例性实施例提供的一种基于区块链的数字印章使用方法的流程图;
35.图5是本说明书一示例性实施例提供的一种基于区块链的数字印章生成方法的流程图;
36.图6是本说明书一示例性实施例提供的一种应用本说明书方法的网络架构图;
37.图7是本说明书一示例性实施例提供的一种基于区块链的数字印章生成方法的交互图;
38.图8是本说明书一示例性实施例提供的一种基于区块链的数字印章使用方法的交互图;
39.图9是本说明书一示例性实施例提供的一种设备的结构示意图;
40.图10是本说明书一示例性实施例提供的一种基于区块链的数字印章使用装置的框图;
41.图11是本说明书一示例性实施例提供的一种基于区块链的数字印章生成装置的框图。
具体实施方式
42.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
43.区块链一般被划分为三种类型:公有链(public blockchain),私有链(private blockchain) 和联盟链(consortium blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
44.其中,去中心化程度最高的是公有链。公有链以以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
45.私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
46.联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
47.基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。
48.对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
49.其中,区块链中支持的共识算法可以包括:
50.第一类共识算法,即节点设备需要争夺每一轮的记账周期的记账权的共识算法;例如,工作量证明(proofofwork,pow)、股权证明(proofofstake,pos)、委任权益证明(delegatedproofofstake,dpos)等共识算法;
51.第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(practicalbyzantinefaulttolerance,pbft)等共识算法。
52.在采用第一类共识算法的区块链网络中,争夺记账权的节点设备,都可以在接收到交易后执行该笔交易。争夺记账权的节点设备中可能有一个节点设备在本轮争夺记账权的过程中胜出,成为记账节点。记账节点可以将收到的交易与其它交易一起打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
53.在采用第二类共识算法的区块链网络中,具有记账权的节点设备在本轮记账前已经商定好。因此,节点设备在接收到交易后,如果自身不是本轮的记账节点,则可以将该交易发送至记账节点。对于本轮的记账节点,在将该交易与其它交易一起打包以生成最新区块的过程中或者之前,可以执行该交易。记账节点在生成最新区块后,可以将该最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
54.如上所述,无论区块链采用以上示出的哪种共识算法,本轮的记账节点都可以将接收到的交易打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块或者该最新区块的区块头后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块或区块头的过程中,也可以执行该区块中的包含的交易。
55.在区块链领域,有一个重要的概念就是账户(account);以以太坊为例,以太坊通常将账户划分为外部账户和合约账户两类;外部账户就是由用户直接控制的账户,也称之为用户账户;而合约账户则是由用户通过外部账户创建的,包含合约代码的账户(即智能合约)。当然,对于一些基于以太坊的架构而衍生出的区块链项目(比如蚂蚁区块链),还可以对区块链支持的账户类型,进行进一步的扩展,在本说明书中不进行特别限定。
56.对于区块链中的账户而言,通常会通过一个结构体,来维护账户的账户状态。当区块中的交易被执行后,区块链中与该交易相关的账户的状态通常也会发生变化。
57.以以太坊为例,账户的结构体通常包括balance,nonce,code和storage等字段。其中:
58.balance字段,用于维护账户目前的账户余额;
59.nonce字段,用于维护该账户的交易次数;它是用于保障每笔交易能且只能被处理一次的计数器,有效避免重放攻击;
60.code字段,用于维护该账户的合约代码;在实际应用中,code字段中通常仅维护合
约代码的hash值;因而,code字段通常也称之为codehash字段。
61.storage字段,用于维护该账户的存储内容(默认字段值为空);对于合约账户而言,通常会分配一个独立的存储空间,用以存储该合约账户的存储内容;该独立的存储空间通常称之为该合约账户的账户存储。合约账户的存储内容通常会构建成mpt(merkle patricia trie) 树的数据结构存储在上述独立的存储空间之中;其中,基于合约账户的存储内容构建成的 mpt树,通常也称之为storage树。而storage字段通常仅维护该storage树的根节点;因此, storage字段通常也称之为storage root字段。
62.其中,对于外部账户而言,以上示出的code字段和storage字段的字段值均为空值。
63.对于大多数区块链项目,通常都会使用merkle树;或者,基于merkle树的数据结构,来存储和维护数据。以以太坊为例,以太坊使用了mpt树(一种merkle树变种),作为数据组织形式,用来组织和管理账户状态、交易信息等重要数据。
64.以太坊针对区块链中需要存储和维护的数据,设计了三颗mpt树,分别是mpt状态树、 mpt交易树和mpt收据树。其中,除了以上三颗mpt树以外,实际上还存在一颗基于合约账户的存储内容构建的storage树。
65.mpt状态树,是由区块链中所有账户的账户状态(state)数据组织成的mpt树;mpt 交易树,是由区块链中的交易(transaction)数据组织成的mpt树;mpt收据树,是区块中的交易在执行完毕后生成的与每笔交易对应的交易(receipt)收据组织成的mpt树。以上示出的mpt状态树、mpt交易树和mpt收据树的根节点的hash值,最终都会被添加至对应区块的区块头中。
66.其中,mpt交易树和mpt收据树均与区块相对应,即每一个区块都有自己的mpt交易树和mpt收据树。而mpt状态树是一个全局的mpt树,并不与某一个特定的区块相对应,而是涵盖了区块链中所有账户的账户状态数据。
67.需要说明的是,区块链每产生一个最新区块,则在该最新区块中的交易被执行之后,区块链中这些被执行交易的相关账户(可以是外部账户也可以是合约账户)的账户状态,通常也会随之发生变化;
68.例如,当区块中的一笔“转账交易”执行完毕后,与该“转账交易”相关的转出方账户和转入方账户的余额(即这些账户的balance字段的字段值),通常也会随之发生变化。
69.而节点设备在区块链产生的最新区块中的交易执行完毕后,由于当前区块链中的账户状态发生了变化,因此节点设备需要根据区块链中所有账户当前的账户状态数据,来构建mpt 状态树,用于维护区块链中所有账户的最新状态。
70.也即,每当区块链中产生一个最新区块,并且该最新区块中的交易执行完毕后,导致区块链中的账户状态发生变化,节点设备都需要基于区块链中所有账户最新的账户状态数据,重新构建一颗mpt状态树。换句话说,区块链中每一个区块,都有一个与之对应的mpt状态树;该mpt状态树,维护了在该区块中的交易在执行完毕后,区块链中所有账户最新的账户状态。
71.在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(smart contract) 的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
72.以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链,其核心是以太坊虚拟机(evm),每个以太坊节点都可以运行evm。evm 是一个图灵完备的虚拟机,通过它可以实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在evm上运行的。实际上,evm直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”),所以部署在区块链上的智能合约可以是字节码。
73.如图1所示,bob将一笔包含创建智能合约信息的交易(transaction)发送到以太坊网络后,各节点均可以在evm中执行这笔交易。其中,图1中交易的from字段用于记录发起创建智能合约的账户的地址,交易的data字段的字段值保存的合约代码可以是字节码,交易的 to字段的字段值为一个null(空)的账户。当节点间通过共识机制达成一致后,这个智能合约成功创建,后续用户可以调用这个智能合约。
74.智能合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址;比如,图1中各节点中的“0x68e12cf284
…”
就代表了创建的这个合约账户的地址;合约代码(code)和账户存储(storage)将保存在该合约账户的账户存储中。智能合约的行为由合约代码控制,而智能合约的账户存储则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
75.前述提到,包含创建智能合约的交易的data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,高级语言可以采用诸如solidity、serpent、lll语言等。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
76.以solidity语言为例,用其编写的合约代码与面向对象编程语言中的类(class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储(storage)字段中的值,用于保存合约的状态。
77.如图2所示,仍以以太坊为例,bob将一笔包含调用智能合约信息的交易发送到以太坊网络后,各节点均可以在evm中执行这笔交易。其中,图2中交易的from字段用于记录发起调用智能合约的账户的地址,to字段用于记录被调用的智能合约的地址,交易的data字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点(例如图2中的节点1)查看合约账户的账户状态。
78.智能合约可以以规定的方式在区块链网络中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
79.创建智能合约和调用智能合约的示意图如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的evm可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中每个节点的虚拟机中。
80.智能合约的事件机制,是智能合约与链外实体进行交互的一种方式。对于区块链上部署的智能合约来说,通常无法直接与链外实体进行交互;例如,智能合约在调用完成后,通常无法将智能合约的调用结果,点对点的发送给智能合约的调用发起方。
81.智能合约在调用的过程中产生的调用结果(包括中间结果和最终的调用结果),通常都会以事件(event)的形式,记录到调用该智能合约的那笔交易的交易日志(transaction logs),在节点设备的存储空间中进行存储。而需要与智能合约进行交互的链外实体,则可以通过监听节点设备的存储空间中存储的上述交易日志的方式,来获取智能合约的调用结果;
82.例如,以以太坊为例,交易日志最终会作为调用该智能合约的那笔交易的收据(receipt) 的一部分内容,存储在以上描述的mpt收据树中。而与智能合约进行交互的链外实体,可以监听节点设备的存储空间中存储的mpt收据树上的交易收据,并从监听到的交易收据中,来获取智能合约生成的事件。
83.区块链上部署的智能合约,通常只能引用区块链上存储的数据内容;而在实际应用中,对基于智能合约技术实现的一些复杂的业务场景,智能合约可能还需要引用一些链外的数据实体上的外部数据。
84.在这种场景下,区块链上部署的智能合约,可以通过预言机,来引用链外的数据实体上的数据,进而实现智能合约与真实世界的数据实体之间的数据交互。其中,链外的数据实体,可以包括诸如部署在链外的中心化的服务器或者数据中心,等等。
85.需要说明的是,跨链中继用于连接两个区块链,而预言机用于连接区块链与链外的数据实体,实现区块链与真实世界的数据交互。
86.在实际应用中,在为区块链上的智能合约部署预言机时,可以先在区块链上部署一个与预言机对应的预言机智能合约;其中,该预言机智能合约用于维护预言机发给区块链上的智能合约的外部数据;例如,预言机发给区块链上的智能合约的外部数据,可以存储在预言机智能合约的账户存储空间中。
87.当区块链上的目标智能合约被调用时,可以从该预言机智能合约的账户存储空间中,来读取该目标智能合约所需的外部数据,来完成智能合约的调用过程。
88.需要说明的是,预言机在向区块链上的智能合约发送外部数据时,可以采用主动发送的方式,也可以采用被动发送的方式。
89.在一种实现方式中,链外的数据实体可以将需要提供给目标智能合约的外部数据,利用预言机的私钥进行签名后,发送给上述预言机智能合约;例如,在时间时,可以采用周期性发送的方式,将签名后的上述外部数据发送给上述预言机智能合约;
90.而在上述预言机智能合约可以维护预言机的ca证书,在收到链外的数据实体发送的外部数据后,可以使用该ca证书中维护的该预言机的公钥,对该外部数据的签名进行验证,并在验证通过后,将链外的数据实体发送的外部数据在该预言机智能合约的账户存储空间中进行存储。
91.在另一种实现方式中,当区块链上的目标智能合约被调用时,如果从该预言机智能合约的账户存储空间中,并未读取到该目标智能合约所需的外部数据,此时该预言机智能合约,可以利用智能合约的事件机制,与上述预言机进行交互,并由上述预言机将该目标智能合约所需的外部数据,发送至该预言机智能合约的账户存储空间中。
92.例如,当区块链上的目标智能合约被调用时,如果从该预言机智能合约的账户存储空间中,并未读取到该目标智能合约所需的外部数据,此时该预言机智能合约,可以生成一个外部数据获取事件,并将该外部数据获取事件记录到调用该智能合约的那笔交易的交
易日志中,并将该交易日志存储到节点设备的存储空间;而上述预言机可以监听节点设备的存储空间中存储的该预言机智能合约产生的交易日志,并在监听到交易日志中的外部数据获取事件后,响应监听到的该外部数据获取事件,将上述目标智能合约所需的外部数据,发送给上述预言机智能合约。
93.请参考图4,图4是本说明书一示例性实施例示出的一种基于区块链的数字印章使用方法的流程图。
94.上述基于区块链的数字印章使用方法可以应用于区块链系统;该基于区块链的数字印章使用方法可以包括以下步骤:
95.步骤402,接收数字印章使用交易,所述数字印章使用交易用于请求使用目标数字印章;所述目标数字印章包含所述目标数字印章的数字证书以及目标印模;所述目标数字印章对应的印章密钥被预先划分为由多个授权保管方分别维护的多个密钥分片。
96.在一实施例中,对上述目标数字印章具有使用需求的参与方(下称使用需求方)可以直接向区块链系统发起上述数字印章使用交易;或者,使用需求方也可以通过向其他参与方发送针对目标数字印章的使用请求,以使其他参与方响应上述使用请求,作为交易发起方向区块链系统发起数字印章使用交易。在一种情况下,目标数字印章可以对应有若干个合法的使用需求方,在使用需求方属于合法需求方的情况下,交易发起方响应于使用请求向区块链系统发起数字印章使用交易。在具体实现时,目标数字印章可以拥有唯一的印章标识,上述印章标识在申请目标数字印章时由交易发起方生成,并且,交易发起方还可以维护有目标数字印章的印章标识与预先注册的合法需求方的绑定关系,并依据上述绑定关系对使用需求方的合法性进行认证,如果交易发起方收到使用需求方针对所述目标数字印章提交的使用请求,并且根据上述绑定关系确认使用需求方为合法需求方,再向区块链系统发起数字印章使用交易。
97.进一步的,假设使用需求方通过向交易发起方发送针对目标数字印章的使用请求以使交易发起方向区块链系统发起数字印章使用交易,使用需求方可以在发送上述使用请求时选定需要使用的目标数字印章,例如,在使用需求方的操作界面显示其拥有的全部数字印章的式样图像或者印章名称,使得使用需求方可以直观的了解自身拥有的各个数字印章并进行选择操作。通过在上述使用请求中携带使用需求方选择操作所指定的数字印章的印章标识,可以使得交易发起方通过上述印章标识确定目标数字印章,并依据印章标识与合法需求方的绑定关系使用需求方的身份进行验证。
98.在一些场景中,本说明书中的区块链系统包括相关技术中的区块链网络,该区块链网络由多个区块链节点所构成。使用需求方或交易发起方等参与方可以主动生成区块链交易,并将区块链交易提交至该区块链系统,譬如具体可以提交至该区块链系统中的某一区块链节点。在另一些场景中,本说明书中的区块链系统包括上述的区块链网络和baas(blockchain as a service,区块链即服务)服务器,使得上述的任一参与方只需要向baas服务器发起请求,即可由该baas服务器生成相应的区块链交易,并将区块链交易提交至区块链系统。
99.在实际应用中,上述使用需求方具体可以代表在工作中需要使用印章的国家相关部门、事业单位、社会团体或者企业等,使用需求方可以是一个用户,也可以是多个用户组成的用户群体;与上述使用需求方对接的交易发起方具体可以是第三方印章服务平台,任
一个数字印章在第三方印章服务平台中注册的合法需求方可以为一个或者多个;本说明书对此不作限制。
100.以一家企业为例,该企业本身可以作为使用需求方,对于企业拥有的公章、合同章、财务章、发票章等实体印章,均存在对应的数字印章。以企业的财务章为例,该企业可以通过与上述区块链系统建立连接的客户端发起用于使用该财务章的数字印章使用交易,例如:该企业的财务人员可以通过该客户端发起数字印章使用交易,或者向第三方印章服务平台发送针对财务章的数字印章使用请求,第三方印章服务平台响应于上述请求,向区块链系统提供用于请求使用上述财务章的数字印章的印章使用交易,该区块系统可以响应于数字印章使用交易,调用相应的智能合约中的智能合约代码进行处理。
101.当企业的财务人员存在多名时,可能只有部分财务人员具有使用上述财务章的数字印章的资格,那么,第三方印章服务平台可以维护有财务章的数字印章与其对应的具有合法使用资格的财务人员的绑定关系。假设只有财务人员a具有使用上述财务章的数字印章的资格,第三方印章服务平台可以依据上述绑定关系确定当前发起针对财务章的数字印章使用请求的人员是否为财务人员a。具体实现时,第三方印章服务平台可以使用人脸识别、指纹识别等方式确认当前发起针对财务章的数字印章使用请求的人员的身份的合法性,本说明书对此不进行限制。
102.步骤404,调用密钥验证智能合约,以由所述密钥验证智能合约将各个授权保管方分别提交的密钥分片进行合并以形成完整的印章密钥,并将合并形成的印章密钥透传至认证中心,所述认证中心维护有预先生成的所述目标数字印章的数字证书。
103.在本说明书中,目标数字印章对应的印章密钥在目标数字印章申领时由交易发起方生成。目标数字印章包含目标数字印章的数字证书以及目标印模,上述印章密钥经由认证中心认证通过后,认证中心可以分别生成与此印章密钥对应的目标数字印章的数字证书以及目标印模并保存。其中,目标印模可以由认证中心单独维护,也可以由认证中心交由交易发起方处维护。认证中心可以通过对印章密钥的认证确认向认证中心请求使用目标数字印章的主体的合法性,并在确认请求使用目标数字印章的主体合法的情况下,返回目标数字印章对应的数字证书,或者返回数字证书以及目标印模。
104.具体而言,区块链系统可以接收用于请求生成目标数字印章的数字印章申请交易。上述数字印章申请交易可以由其他参与方作为交易发起方(例如第三方印章服务平台)提交。在具体实现时,印章申领方可以通过管理数字印章的国家有关部门所认定的电子印章支撑平台提交注册目标数字印章的请求,上述电子印章支撑平台响应于上述申请目标数字印章的请求向区块链系统发起数字印章申请交易,或者通过上述交易发起方向区块链系统发起数字印章申请交易。
105.在本说明书中,目标数字印章的印章密钥可以由交易发起方代为生成,并由交易发起方将印章密钥包含于印章申请交易中透传至区块链系统。区块链系统响应于上述数字印章申请交易调用印章密钥确定合约,由印章密钥确定合约从印章申请交易中确定目标数字印章所对应的印章密钥;确定印章密钥后,一方面将印章密钥按照授权保管方的数量拆分成多个密钥分片,并将各个密钥分片透传至相应的授权保管方,授权保管方的具体信息被预先写入印章密钥确定合约的合约代码中。另一方面将印章密钥传至认证中心,以由认证中心对上述印章密钥进行认证,生成目标数字印章的数字证书以及目标印模并保存。上
述印章申领方可以为授权保管方之一,例如,某个企业不仅可以作为印章申领方向上述电子印章支撑平台提交申请目标数字印章的请求,也可以同时作为授权保管方保管相应的密钥分片。
106.具体而言,印章申领方通过电子印章支撑平台提交注册目标数字印章的请求,电子印章支撑平台将上述请求转发至交易发起方,交易发起方为上述印章申领方生成对应于此印章申领方所申请的目标数字印章的唯一印章标识,并在调用上述密钥确定合约时将上述印章标识透传至区块链系统,由区块链系统将印章标识与印章密钥之间建立关联关系。值得说明的是,上述印章密钥不仅可以由交易发起方生成,也可以由认证机构生成,认证机构可以通过预言机机制或其他方式透传至区块链系统。
107.当印章密钥表现为公私钥对中的公钥且由认证机构生成时,上述印章密钥对应的私钥由认证机构代持,透传至区块链系统的印章密钥为公私钥对中的公钥。当印章密钥表现为公私钥对中的公钥且由交易发起方生成时,上述印章密钥对应的私钥由交易发起方维护,透传至区块链系统的印章密钥为公私钥对中的公钥。
108.值得说明的是,本说明书此处以及下文中所提到的“透传”代表了区块链系统与链外交互的几种不同的方式,以区块链系统将各个密钥分片透传至相应的授权保管方为例,区块链系统可以将密钥分片以事件的形式记录于交易日志并保存于收据中,各个授权保管方可以通过监听机制从监听到的交易收据中获取密钥分片,或者,区块链系统也可以通过预言机机制将密钥分片透传至各个授权保管方。
109.如上文所述,上述目标数字印章指代的是目标数字印章的印模(即数字印章的式样图像) 以及目标数字印章对应的数字证书。认证中心生成目标数字印章的过程可以理解为印章密钥颁发数字证书以及生成印模的过程,当然,上述印模也可以由其他参与方依照印章申领方所提交的材料代理生成,说明书对此不进行限制。认证中心给印章密钥颁发的数字证书代表认证中心认可目标数字印章的印章密钥的生成方的合法性,具体而言,如果上述区块链系统已经在认证中心处注册,那么上述区块链系统向其透传的印章密钥的生成方则是合法的,上述印章密钥可以被认证,上述印章密钥被认证通过后,认证中心基于上述印章密钥生成数字证书以及印模,上述数字证书以及印模构成了完整的目标数字印章。
110.出于保密性的要求,区块链系统在将密钥分片透传至各个授权保管方之前,可以使用各个授权保管方的公钥将相应的密钥分片加密。通过加密之后的密钥分片只有拥有相应私钥的授权保管方可以解密,以此保证密钥分片在传输过程中的安全性。另外,上述被加密的密钥分片也可以被存储于世界状态中。
111.在一实施例中,区块链系统还可以将目标数字印章的生成信息透传至交易发起方和/或电子印章支撑平台,使交易发起方和/或电子印章支撑平台对目标数字印章的发章信息进行备案。例如交易发起方和/或电子印章支撑平台可以建立数字印章的标识与印章申领方之间的对应关系。并且,交易发起方和/或电子印章支撑平台在备案后,向区块链系统提交发章信息存证交易,使区块链系统根据上述发章信息存证交易将目标数字印章的发章信息上链存证。
112.值得说明的是,上文中提到目标印模由认证中心生成并维护,也可以由认证中心交由交易发起方处维护。具体而言,认证中心生成目标印模后,可以直接将目标印模发送至交易发起方,由交易发起方根据目标数字印章的发章信息将目标印模作为目标数字印章的
发章信息相关联;或者,认证中心生成目标印模后,可以将目标数字印章的生成信息以及目标印模透传至交易发起方,使交易发起方保存目标印模并对目标数字印章的发章信息进行备案。
113.目标数字印章生成后由认证中心维护,认证中心处还维护有目标数字印章与印章密钥之间的对应关系,此对应关系在认证中心处可以以键值对的形式存在。如果想要使用目标数字印章进行签章操作,则需要将印章密钥提供给认证中心,由认证中心根据目标数字印章与印章密钥之间的对应关系中查找出目标数字印章,进而返回目标数字印章。由于在本说明书中,印章密钥预先被拆分成多个密钥分片并交由各个授权保管方保管,因此如果想要获取认证中心保管的目标数字印章,首先需要从各个授权保管方处得到密钥分片并合成,以得到完整的印章密钥。
114.在本说明书中,可以通过调用部署于区块链系统中的密钥验证合约以得到完整的印章密钥:
115.区块链系统接收到的数字印章使用交易可以调用部署于区块链系统中的密钥验证合约。数字印章使用交易的from字段用于记录发起交易的账户地址。密钥验证合约作为智能合约,当该数字印章使用交易用于调用密钥验证合约时,该数字印章使用交易的to字段用于记录被调用的密钥验证合约的地址,且该数字印章使用交易的data字段用于记录需要调用的方法和所需传入的参数(即入参)。
116.在一实施例中,密钥验证合约的合约账户中维护有数字印章的印章标识与相应数字印章的印章密钥分片的授权保管方之间的对应关系。可以将需要使用的目标数字印章的印章标识记载于上述数字印章使用交易的data字段中,那么,密钥验证合约便可以从上述data字段中读取目标数字印章的印章标识,并根据上述对应关系确定目标数字印章对应的各个印章密钥分片的授权保管方。
117.进一步的,区块链系统还可以生成针对所述数字印章使用交易的审批通知,并将审批通知透传至授权保管方,以使各个授权保管方对是否提供自身保管的密钥分片进行确认审批,并且在审批通过的情况下返回各自保管的密钥分片。举例而言,区块链系统可以通过外部数据源服务将审批通知透传至授权保管方并将审批结果返回,外部数据源服务是基于可信执行环境(trusted execution environment,tee)技术实现的区块链预言机服务,该服务旨在为区块链智能合约提供可信访问外部数据源能力,外部数据源服务会在区块链系统中部署一个外部数据源服务合约,密钥验证合约通过调用该服务合约发送外部数据源请求(例如将审批通知封装成http请求发送至各个授权保管方),链下的tee外部数据源服务对接该服务合约,监听密钥验证合约的请求,然后去对应的外部数据源(即各个授权保管方)取得审批通过后返回的密钥分片,最后将密钥分片返回给密钥验证合约。
118.在授权保管方响应于上述审批请求进行审批时,还可以对进行审批操作的工作人员进行身份的审核,例如,可以对进行审核操作的工作人员进行人脸识别、指纹识别、要求其上传身份信息等。在确认进行审批操作的工作人员是具有审批权限的工作人员后可以将自身保管的密钥分片返回至密钥验证合约。
119.授权保管方在返回密钥分片时,为了提升密钥分片在传输过程中的安全性,任一个授权保管方可以使用密钥验证合约所掌握的公私钥对中的公钥加密自身保管的密钥分片,使得只有密钥验证合约可以使用上述公私钥对中的私钥解密以得到明文形式的密钥分
片。
120.步骤406,将所述认证中心根据所述印章密钥返回的所述目标数字印章的数字证书透传至所述数字印章使用交易的交易发起方,以由所述交易发起方使用所述目标数字印章的数字证书以及目标印模进行签章操作。
121.当密钥验证合约获取到全部的密钥分片时,便可以将密钥分片合并成为完整的印章密钥,以及,将完整的印章密钥透传至认证中心,使得认证中心可以根据印章密钥于数字证书之间的对应关系查找到目标数字印章的数字证书。具体而言,区块链系统可以将印章密钥透传至认证中心,认证中心根据印章密钥与数字证书之间的对应关系确定目标数字印章的数字证书,如果目标印模仅由认证中心维护,那么可以在返回数字证书的同时也返回目标印模,即,将完整的目标数字印章返回至区块链系统;如果目标印模还由交易发起方维护,那么认证中心可以仅返回目标数字印章对应的数字证书至区块链系统。
122.区块链系统得到完整的目标数字印章后,可以将目标数字印章透传至交易发起方,由交易发起方使用目标数字印章对待签章的电子文件进行签章操作;若区块链系统仅得到目标数字印章对应的数字证书,便只需要目标数字印章的数字证书透传至交易发起方,由交易发起方使用得到的数字证书以及自身维护的目标印模对待签章的电子文件进行签章操作。
123.进一步的,可以使用授权码保证交易发起方在获得目标数字印章后不会滥用目标数字印章。具体而言,区块链系统可以生成针对此次印章使用交易的授权码并透传至交易发起方。在具体实现时,当印章密钥为印章公钥时,上述印章使用交易还可以包括采用印章私钥进行的数字签名;区块链系统获取到印章使用交易后,使用合并形成的印章公钥对所述数字签名进行验签;若验签成功,再生成针对所述印章使用交易的授权码。另外,上述授权码可以为区块链系统通过预言机机制获取的随机数,本说明书对授权码的具体形式不进行限制。
124.交易发起方向区块链系统提交授权核销交易,并将本次针对目标数字印章的使用信息以及授权码写入授权核销交易的data字段中。区块链系统接收授权核销交易,并响应于授权核销交易调用印章签署合约,使印章签署合约核销授权码并将上述使用信息透传至电子印章支撑平台,以由电子印章支撑平台根据所述使用信息生成签署记录。电子印章支撑平台还可以在生成签署记录后向区块链系统提交用印信息存证交易,将目标数字印章的使用信息上链存证。上述使用信息可以包含使用目标数字印章的时间信息、使用需求方信息以及提供印章签署服务的交易发起方的信息,本说明书对使用信息的具体内容不进行限制。由于只有在印章签署合约核销授权码成功的情况下才会触发后续的上链存证的步骤,如果交易发起方获得目标数字印章后滥用数字印章进行签章操作,区块链上并不会存证相关的使用信息,故而可以通过授权码对交易发起方使用目标数字印章的行为的合法性进行验证。
125.在实际应用中,待签章的电子文件的文件类型可以是企业相关的通知书,以及企业的支票、发票、合同等,本说明书对此不作限制。需要说明的是,如果待签章的电子文件是以图像的形式存储的文件(例如:pdf文件、通过对纸质文件进行扫描得到的图片等),则可以先基于ocr(optical character recognition,光学字符识别)算法,对上述待签章的电子文件进行处理,以识别该待签章的电子文件中的文字,再基于nlp算法,对识别出的该待
assistants) 等;同样地,作为节点设备加入至上述区块链的电子设备也可以是服务器、计算机、手机、平板设备、笔记本电脑、掌上电脑等;本说明书对此不作限制。
137.图7是一示例性实施例提供的一种印章生成方法的多方交互图,下面结合图6对上述交互过程进行详细描述:
138.步骤702,电子印章支撑平台63接收印章申领方发送的注册请求。
139.具体而言,印章申领方可以向电子印章支撑平台63发送注册请求,以请求申领目标数字印章。在发送注册请求的同时,印章申领方也可以提供申请数字印章所需要的材料供电子印章支撑平台63审核。例如,当印章申领方为企业时,印章申领方可以提交该企业的营业执照、法定代表人的身份证信息、数字印章申请表格等材料供电子印章支撑平台63进行审核。
140.步骤704,电子印章支撑平台63向第三方印章服务平台62发送印章注册通知。
141.在本步骤中,如果电子印章支撑平台63对印章申领方提交的材料通过,那么可以向第三方印章服务平台62发送印章注册通知,表示作为印章申领方的企业想要注册目标数字印章。
142.步骤706,第三方印章服务平台62调用印章密钥确定合约。
143.在本步骤中,第三方印章服务平台62可以向区块链系统61提交印章申请交易,将需要调用的印章密钥确定合约的合约地址填写在上述印章申请交易的to字段,将生成目标数字印章的其他信息填写在上述印章申请交易的data字段。
144.步骤708,区块链系统61确定目标数字印章对应的印章密钥。
145.区块链系统响应于上述数字印章申请交易调用印章密钥确定合约,由印章密钥确定合约确定目标数字印章所对应的印章密钥。
146.在本说明书中,目标数字印章的印章密钥可以由第三方印章服务平台62代为生成,并由第三方印章服务平台62将印章密钥包含于印章申请交易中透传至区块链系统。或者,目标数字印章的印章密钥也可以由ca机构64代为生成,并由ca机构64将印章密钥透传至区块链系统。而印章密钥确定合约确定目标数字印章所对应的印章密钥的过程可以具体为:三方印章服务平台62为上述印章申领方生成对应于此印章申领方所申请的目标数字印章的唯一印章标识,并在调用上述密钥确定合约时将上述印章标识透传至区块链系统61,由区块链系统61将印章标识与印章密钥之间建立关联关系,被关联于目标数字印章的密钥为目标数字印章的印章密钥。
147.步骤710,密钥拆分。
148.印章密钥确定合约生成印章密钥后,一方面将印章密钥按照授权保管方的数量拆分成多个密钥分片,并将各个密钥分片透传至相应的授权保管方,授权保管方的具体信息被预先写入印章密钥确定合约的合约代码中。出于保密性的要求,区块链系统61在将密钥分片透传至各个授权保管方之前,可以使用各个授权保管方的公钥将相应的密钥分片加密。通过加密之后的密钥分片只有拥有相应私钥的授权保管方可以解密,以此保证密钥分片在传输过程中的安全性。另外,上述被加密的密钥分片也可以被存储于世界状态中。
149.另一方面将印章密钥传至作为认证中心的ca机构64(即步骤712),以由ca机构64 对上述印章密钥的生成方进行认证,在认证通过的情况下生成目标数字印章的数字证书以及目标印模并保存。上述印章申领方可以为授权保管方之一,例如,上述企业不仅可以作为
印章申领方向上述电子印章支撑平台63提交申请目标数字印章的请求,也可以同时作为授权保管方保管相应的密钥分片。
150.步骤714,ca机构64对印章密钥进行认证。
151.ca机构64给印章密钥颁发的数字证书代表ca机构64认可目标数字印章的印章密钥的生成方的合法性,具体而言,如果上述区块链系统已经在认证中心处注册,那么上述区块链系统作为向ca机构64透传印章密钥的生成方则是合法的,上述印章密钥可以被认证。
152.另外,ca机构64还可以生成印章密钥与数字证书之间的对应关系,以便于后续在目标数字印章的使用过程中,可以通过印章密钥查找到目标数字印章的数字证书。
153.步骤716,ca机构64生成数字印章以及目标印模。
154.在一种情况下,上述目标数字印章指代的是目标数字印章的印模(即数字印章的式样图像)以及目标数字印章对应的数字证书。ca机构64生成目标数字印章的过程可以理解为印章密钥颁发数字证书以及生成印模的过程,当然,上述印模也可以由其他参与方依照印章申领方所提交的材料代理生成,例如,目标数字印章的式样图像中包含作为印章申领方的企业的名称,那么印章第三方印章服务平台62在生成印章申请交易时可以将此企业的名称填写在上述印章申请交易的data字段,进一步的,区块链系统61可以将上述企业名称透传至ca 机构64,由ca机构64生成带有此企业名称的式样图像作为目标数字印章的式样图像。
155.步骤718,区块链系统61将印章生成信息透传至第三方印章服务平台62。
156.步骤720,第三方印章服务平台62对目标数字印章的发章信息进行备案,例如,可以建立目标数字印章的印章标识与印章申领方之间的对应关系。
157.步骤722,第三方印章服务平台62可以将印章生成信息发送给电子印章支撑平台63,使得电子印章支撑平台63对目标数字印章的发章信息进行备案。
158.值得说明的是,上文中提到目标印模由ca机构64生成并维护,也可以由ca机构64 交由第三方印章服务平台62处维护。具体而言,ca机构64生成目标印模后,可以直接将目标印模发送至第三方印章服务平台62,由第三方印章服务平台62根据目标数字印章的发章信息将目标印模作为目标数字印章的发章信息相关联;或者,ca机构64生成目标印模后,可以将目标数字印章的生成信息以及目标印模透传至第三方印章服务平台62,使第三方印章服务平台62保存目标印模并对目标数字印章的发章信息进行备案。
159.步骤724,电子印章支撑平台63向区块链系统61提交发章信息存证交易。
160.步骤726,由区块链系统61对发章信息进行上链存证。
161.图8是一示例性实施例提供的一种基于区块链的数字印章使用方法的多方交互图,下面结合图6对上述交互过程进行详细描述:
162.步骤802,业务系统65向第三方印章服务平台62发送印章使用申请,例如,当业务系统65以客户端的形式与目标数字印章的使用需求方进行交互时,使用需求方可以通过业务系统65的客户端向第三方印章服务平台62发送印章使用申请,上述印章使用申请用于请求使用目标数字印章。当使用需求方为某个企业时,其可能拥有多个可以使用的数字印章,那么使用需求方可以在业务系统65的界面上显示出此企业拥有的各个数字印章(例如显示各个数字印章的式样图像、名称等),以供使用需求方确定需要使用的目标数字印章。
163.步骤804,第三方印章服务平台62对使用需求方的身份进行认证。
164.业务系统65向第三方印章服务平台62发送印章使用申请时,可以携带有目标数字印章的印章标识,以供第三方印章服务平台62确定目标数字印章,以及通过数字印章的印章标识与合法使用方两者之间的绑定关系确定出目标数字印章的合法使用方。假设使用需求方为企业a,目标数字印章为企业a的财务章,那么财务章的合法使用方可能被预先设定为此企业中的财务主管。第三方印章服务平台62可以通过人脸识别、指纹识别等方式对使用需求方的身份进行认证。具体而言,将使用需求方中进行操作的人员称为当前用户,上述当前用户可以通过业务系统65上传人脸照片。由第三方印章服务平台62对当前用户上传的人脸照片进行识别,以确定出当前用户的人脸特征是否与预先设定的财务主管的人脸特征相匹配,如果匹配,那么说明使用需求方是目标数字印章的合法使用方,则进入步骤806。
165.步骤806,第三方印章服务平台62调用密钥验证合约。
166.在本步骤中,第三方印章服务平台62可以通过向区块链系统61提交印章使用交易的方式调用其中维护的密钥验证合约。具体而言,可以将密钥验证合约的合约地址填写在上述印章使用交易的to字段中,以及将需要使用的目标数字印章的印章标识记载于上述数字印章使用交易的data字段中,那么密钥验证合约便可以通过上述合约地址调用密钥验证合约,并且从上述data字段中读取目标数字印章的印章标识。
167.步骤808,区块链系统61从各个授权保管方处获取印章密钥分片。
168.由上述数字印章生成方法的实施例可知,目标数字印章的印章密钥被拆分后由各个授权保管方保存。区块链系统61中的密钥验证合约维护有数字印章的印章标识与相应数字印章的印章密钥分片的授权保管方之间的对应关系,可以从上述data字段中读取目标数字印章的印章标识,并根据上述对应关系确定目标数字印章对应的各个印章密钥分片的授权保管方,并向确定出的各个授权保管方透传审批通知。在具体实现时,一个数字印章的印章密钥分片通常会由四个授权保管方进行保存,假设此数字印章为企业a的公章,那么此公章的密钥分片通常会由企业a、安全部门、市监局、工商局四方分别进行保存。企业a既可以作为申领数字印章的印章申领方,也可以作为印章密钥分片的授权保管方以及请求使用数字印章的使用需求方,本说明书对此不进行限制,当然,使用需求方也可以为授权保管方以及印章申领方之外的参与方,具体可以依照数字印章的具体使用方式灵活调整。
169.举例而言,区块链系统61可以通过外部数据源服务将审批通知透传至授权保管方并将审批结果返回,外部数据源服务是基于可信执行环境(trusted execution environment,tee) 技术实现的区块链预言机服务,该服务旨在为区块链智能合约提供可信访问外部数据源能力,外部数据源服务会在区块链系统中部署一个外部数据源服务合约,密钥验证合约通过调用该服务合约发送外部数据源请求(例如将审批通知封装成http请求发送至各个授权保管方),链下的tee外部数据源服务对接该服务合约,监听密钥验证合约的请求,然后去对应的外部数据源(即各个授权保管方)取得审批通过后返回的密钥分片,最后将密钥分片返回给密钥验证合约。在授权保管方响应于上述审批请求进行审批时,还可以对进行审批操作的工作人员进行身份的审核,例如,可以对进行审核操作的工作人员进行人脸识别、指纹识别、要求其上传身份信息等。在确认进行审批操作的工作人员是具有审批权限的工作人员后可以将自身保管的密钥分片返回至密钥验证合约。或者,区块链系统61也可以通过监听机制将审批通知透传至授权保管方,而授权保管方在经过审批后再次通过向区块链系统61提交交易的形式调用密钥验证合约,并将需要返回的密钥分片包含
至交易的data字段中返回。
170.步骤810,区块链系统61将获得的各个印章密钥分片进行合并。
171.授权保管方在返回密钥分片时,为了提升密钥分片在传输过程中的安全性,任一个授权保管方可以使用密钥验证合约所掌握的公私钥对中的公钥加密自身保管的密钥分片,使得只有密钥验证合约可以使用上述公私钥对中的私钥解密以得到明文形式的密钥分片。密钥验证合约得到各个密钥分片后,可以将各个密钥分片合并以形成完整的印章密钥。
172.步骤812,区块链系统61将印章密钥透传至ca机构64。
173.区块链系统61得到完整的印章密钥后,需要将印章密钥透传至ca机构64进行认证。
174.步骤814,ca机构64确定目标数字印章对应的数字证书。
175.具体而言,区块链系统61可以将印章密钥透传至ca机构64,ca机构64根据印章密钥从自身维护的数字印章的数字证书与印章密钥之间的对应关系确定目标数字印章的数字证书,进一步的,便可以将目标数字印章的数字证书返回至区块链系统61。
176.步骤816,ca机构64返回目标数字印章的数字证书至区块链系统61。
177.在本步骤中,如果目标数字印章的目标印模仅在ca机构64处维护,那么,ca机构64 返回目标数字印章的数字证书以及目标印模至区块链系统61;如果第三方印章服务平台62 处也维护有目标印模,ca机构64便只需要返回目标数字印章的数字证书至区块链系统61。
178.步骤818,区块链系统61将目标数字印章的数字证书与授权码透传至第三方印章服务平台62。
179.在本步骤中,区块链系统61可以生成针对此次印章使用交易的授权码并透传至第三方印章服务平台62。在具体实现时,当上文中的印章密钥为印章公钥时,上述印章使用交易还可以包括采用印章私钥进行的数字签名;区块链系统获取到印章使用交易后,使用合并形成的印章公钥对所述数字签名进行验签;若验签成功,再生成针对所述印章使用交易的授权码。另外,上述授权码可以为区块链系统61通过预言机机制获取的随机数,本说明书对授权码的具体形式不进行限制。
180.第三方印章服务平台62使用目标数字印章对待签章的电子文件进行签章操作,即步骤 820。第三方印章服务平台62使用的目标数字印章的数字证书来源于区块链系统61,而目标数字印章的目标印模可以从自身获取,也可以从区块链系统61处获取。
181.进一步的,第三方印章服务平台62在基于上述数字印章对上述待签章的电子文件进行签章处理时,可以先识别该待签章的电子文件中的签章位置,再将目标数字印章的式样图像添加至该签章位置,并将添加至该签章位置的该数字印章的式样图像与该待签章的电子文件进行图像融合。后续,展示给用户以供查看的电子文件的图像中,在该签章位置处有该数字印章的式样图像,如果用户点击该签章位置处的式样图像,还可以展示目标数字印章的数字证书信息。
182.步骤822,第三方印章服务平台62调用印章签署合约。
183.在本步骤中,第三方印章服务平台62完成签章操作,为了防止第三方印章服务平台62 滥用得到的目标数字印章,可以通过授权码规范第三方印章服务平台62对目标数字印章的使用行为。具体而言,第三方印章服务平台62向区块链系统61提交授权核销交易,并将本次针对目标数字印章的使用信息以及授权码写入授权核销交易的data字段中,使用信
息可以包括本次使用目标数字印章的标识、使用时间、使用需求方的身份信息等。区块链系统61接收该授权核销交易,并响应于授权核销交易调用印章签署合约。
184.步骤824,区块链系统61执行印章签署合约的合约代码核销上述授权码。
185.步骤826,区块链系统61将印章使用信息透传至电子印章支撑平台63。
186.在核销上述授权码成功的情况下,区块链系统61可以将上述使用信息透传至电子印章支撑平台63,以进入步骤828:由电子印章支撑平台63根据上述使用信息生成签署记录。
187.步骤830,电子印章支撑平台63提交用印信息存证交易至区块链系统61,由区块链系统 61执行步骤832,将本次目标数字新帐的使用信息上链存证。由于只有在区块链系统61核销授权码成功的情况下才会触发后续的上链存证的步骤,如果第三方印章服务平台62获得目标数字印章后滥用数字印章进行签章操作,区块链系统61中上并不会存证相关的使用信息,故而可以通过授权码对第三方印章服务平台62使用目标数字印章的行为的合法性进行检验。
188.图9是一示例性实施例提供的一种设备的示意结构图。请参考图9,在硬件层面,该设备包括处理器902、内部总线904、网络接口906、内存908以及非易失性存储器910,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器902从非易失性存储器910中读取对应的计算机程序到内存908中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
189.请参考图10,基于区块链的数字印章使用装置可以应用于如图9所示的设备中,以实现本说明书的技术方案。其中,该基于区块链的数字印章使用装置可以包括,第一接收单元1002、第一调用单元1004、返回单元1006:
190.第一接收单元1002,用于接收数字印章使用交易,所述数字印章使用交易用于请求使用目标数字印章;所述目标数字印章包含所述目标数字印章的数字证书以及目标印模;所述目标数字印章对应的印章密钥被预先划分为由多个授权保管方分别维护的多个密钥分片;
191.第一调用单元1004,用于调用密钥验证智能合约,以由所述密钥验证智能合约将各个授权保管方分别提交的密钥分片进行合并以形成完整的印章密钥,并将合并形成的印章密钥透传至认证中心,所述认证中心维护有预先生成的所述目标数字印章的数字证书;
192.返回单元1006,将所述认证中心根据所述印章密钥返回的所述目标数字印章的数字证书透传至所述数字印章使用交易的交易发起方,以由所述交易发起方使用所述目标数字印章的数字证书以及目标印模进行签章操作。
193.可选的,所述目标印模由所述认证中心生成;所述目标印模由所述认证中心维护,或者由所述认证中心交由所述交易发起方维护。
194.可选的,所述数字印章交易由所述目标数字印章的使用需求方发起;或者,
195.所述交易发起方维护有所述目标数字印章与预先注册的合法需求方的绑定关系,所述数字印章使用交易由所述交易发起方在收到所述使用需求方针对所述目标数字印章提交的使用请求且根据所述绑定关系确认所述使用需求方为合法需求方的情况下发起。
196.可选的,所述数字印章使用合约的合约账户中维护有数字印章的印章标识与相应数字印章的印章密钥分片的授权保管方之间的对应关系;所述密钥验证智能合约还用于:确定所述数字印章使用交易包含的所述目标数字印章的印章标识,并根据所述对应关系确定所述目标数字印章对应的各个印章密钥分片的授权保管方。
197.可选的,所述区块链系统用于:生成针对所述数字印章使用交易的审批通知,并将所述审批通知透传至所述授权保管方,以使所述授权保管方在对所述数字印章使用交易进行审批通过的情况下返回所述密钥分片。
198.可选的,所述密钥分片经由相应授权保管方的公钥加密后存储于世界状态中。
199.可选的,所述第一调用单元1004还用于:
200.将合并形成的印章密钥透传至认证中心,使所述认证中心根据印章密钥与数字印章的数字证书之间的对应关系查找所述目标数字印章所对应的数字证书。
201.可选的,所述装置还包括,授权码生成单元1008:用于生成针对所述印章使用交易的授权码,将所述使用码透传至所述交易发起方;
202.接收授权核销交易,所述授权核销交易包含所述授权码和所述目标数字印章的使用信息;
203.响应于所述授权核销交易调用印章签署合约,使所述印章签署合约核销所述授权码并将所述使用信息透传至电子印章支撑平台,以由电子印章支撑平台根据所述使用信息生成签署记录;
204.根据接收到的用印信息存证交易,将所述目标数字印章的使用信息上链存证,所述用印信息存证交易由电子印章支撑平台在生成签署记录后发起。
205.可选的,所述印章密钥包括印章公钥;所述印章使用交易包括采用印章私钥进行的数字签名;
206.所述授权码生成单元1008还用于:
207.使用合并形成的印章公钥对所述数字签名进行验签;若验签成功,则生成针对所述印章使用交易的授权码。
208.请参考图11,基于区块链的数字印章使用装置可以应用于如图9所示的设备中,以实现本说明书的技术方案。其中,该基于区块链的数字印章使用装置可以包括,第二接收单元1102、第二调用单元1104、发送单元1106:
209.第二接收单元1102,用于接收数字印章申请交易,所述数字印章申请交易用于请求生成目标数字印章,所述目标数字印章包含所述目标数字印章对应的数字证书以及目标印模;
210.第二调用单元1104,响应于所述数字印章申请交易调用印章密钥确定合约,所述印章密钥确定合约用于:
211.确定所述目标数字印章对应的印章密钥;
212.将所述印章密钥按照授权保管方的数量拆分成多个密钥分片,并将各个密钥分片透传至相应的授权保管方;
213.发送单元1106,用于将所述印章密钥透传至认证中心,以由所述认证中心生成所述目标数字印章对应的数字证书以及目标印模。
214.可选的,所述授权保管方包括印章申领方。
215.可选的,所述数字印章申请交易由交易发起方基于印章申领方在电子印章支撑平台提交的注册请求而发起。
216.可选的,上述装置还包括:备案单元1108,用于将所述目标数字印章的生成信息透传至所述交易发起方,使所述交易发起方以及所述电子印章支撑平台对所述目标数字印章的发章信息进行备案。
217.可选的,所述装置还还包括:存证单元1110,根据接收到的发章信息存证交易,将所述目标数字印章的发章信息上链存证,所述发章信息存证交易由所述电子印章支撑平台在备案后发起。
218.可选的,所述装置还包括:加密单元1112,用于调用印章密钥确定合约,所述印章密钥确定合约用于使用任一授权保管方的公钥加密相应的密钥分片,并将加密后的密钥分片存储于世界状态。
219.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件 (programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array, fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescription language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedboolean expression language)、ahdl(altera hardware description language)、confluence、 cupl(cornell university programming language)、hdcal、jhdl(java hardware descriptionlanguage)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language) 等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware descriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
220.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmelat91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种
功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
221.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本说明书不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
222.虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
223.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
224.本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和 /或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和 /或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
225.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
226.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
227.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
228.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
229.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
230.本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
231.本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
232.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
233.以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包
含在权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1