基于区块链的数字文件签署方法及装置与流程

文档序号:31760428发布日期:2022-10-12 02:49阅读:41来源:国知局
基于区块链的数字文件签署方法及装置与流程

1.本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的数字文件签署方法及装置。


背景技术:

2.对于机构、企业、事业单位,甚至是个人等而言,通常都需要对与其相关的某些文件进行签署处理,例如在文件上签名,并使用其印章在文件上加盖印章图样,以通过文件上的签章表示其认可文件的正确性、真实性。
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.用于存储处理器可执行指令的存储器;
32.其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
33.本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
34.在上述技术方案中,首先可以将待签署的目标数字文件加密存储在区块链中,后续可以响应于签署发起方发起的针对该目标数字文件的签署处理操作,确定参与签署该目标数字文件的其他签署参与方,调用部署在该区块链上的用于对该目标数字文件进行签署管理的第一智能合约包含的解密逻辑,对该区块链中存储的加密后的该目标数字文件进行解密处理,进一步调用该第一智能合约包含的加密逻辑,基于其他签署参与方的公钥对该目标数字文件重新进行加密处理,以使其他签署参与方响应于获取到的加密后的该目标数字文件,基于其他签署参与方的私钥对加密后的该目标数字文件重新进行解密处理,并对该目标数字文件进行签署处理。
35.通过上述方式,第一方面,由于存储在区块链中的是加密后的数字文件,在这种情况下,就无法直接从区块链中获取到未经加密的、原始的数字文件,从而可以保证数字文件的数据安全性;第二方面,在将数字文件提供给参与签署该数字文件的签署参与方,由该签署参与方对该数字文件进行签署处理时,可以基于该签署参与方的公钥对该数字文件进行加密,从而可以避免数据交互过程中的数据泄露,进一步提升数字文件的数据安全性。
附图说明
36.图1是本说明书一示例性实施例示出的一种与区块链相关的网络环境的示意图。
37.图2是本说明书一示例性实施例示出的一种基于区块链的数字文件签署方法的流程图。
38.图3是本说明书一示例性实施例示出的一种用户界面的示意图。
39.图4是本说明书一示例性实施例示出的另一种基于区块链的数字文件签署方法的
流程图。
40.图5是本说明书一示例性实施例示出的另一种基于区块链的数字文件签署方法的流程图。
41.图6是本说明书一示例性实施例示出的一种基于区块链的数字文件签署装置所在电子设备的硬件结构图。
42.图7是本说明书一示例性实施例示出的一种基于区块链的数字文件签署装置的框图。
43.图8是本说明书一示例性实施例示出的另一种基于区块链的数字文件签署装置的框图。
44.图9是本说明书一示例性实施例示出的另一种基于区块链的数字文件签署装置的框图。
具体实施方式
45.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
46.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
47.区块链一般被划分为三种类型:公有链(public blockchain)、私有链(private blockchain)和联盟链(consortium blockchain)。此外,还可以有上述多种类型的结合,比如私有链与联盟链的结合、联盟链与公有链的结合等。
48.在上述三种类型的区块链中,去中心化程度最高的是公有链。加入公有链的参与方(也可以称为区块链中的节点)可以读取链上的数据记录、参与交易、竞争新区块的记账权等。而且,各节点可自由加入或退出网络,并进行相关操作。
49.私有链则相反,网络的写入权限由某个组织或机构控制,数据读取权限受组织规定。也即,私有链可以视为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
50.联盟链则介于公有链以及私有链之间,可以实现“部分去中心化”。联盟链中的各节点通常有与之对应的实体机构或组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链的运行。
51.在区块链网络中,区块链节点是逻辑上的通信实体;不同类型的多个区块链节点可以运行在同一个物理服务器上,也可以运行在不同的物理服务器上。
52.请参考图1,图1是本说明书一示例性实施例示出的一种与区块链相关的网络环境的示意图。
53.在如图1所示的网络环境中,可以包括用户侧计算设备101、服务器端102,以及至少一个区块链系统;例如,区块链系统103、区块链系统104和区块链系统105。
54.在示出的一种实施方式中,用户侧计算设备101,可以包括各种不同类型的用户侧计算设备;例如,用户侧计算设备可以包括诸如pc计算设备、移动计算设备、物联网设备,以及其它形式的具有一定的计算能力的智能设备,等等。
55.需要说明的是,用户侧计算设备101并不表示其中的所有用户侧计算设备在同一个通信网络中,而仅仅是对这些用户侧计算设备的统称。
56.在示出的一种实施方式中,用户侧计算设备101中的部分计算设备,可以通过各种通信网络耦接到服务器端102;例如,设备3耦接到了服务器端102。
57.用户侧计算设备101中的部分计算设备,也可以不与服务器端102进行耦接,而是作为区块链节点直接耦接到区块链系统;例如,设备4可以作为区块链节点直接耦接到区块链系统103。
58.在示出的一种实施方式中,用户侧计算设备101,还可以包括一个或多个用户侧服务器;例如,设备5和设备6。用户侧计算设备101中的部分计算设备,可以耦接到该用户侧服务器;例如,设备1耦接到了设备5,设备2耦接到了设备6。而该用户侧服务器可以进一步作为区块链节点直接耦接到区块链系统,也可以进一步通过各种通信网络耦接到服务器端102;例如,设备5可以进一步作为区块链节点直接耦接到区块链系统,设备6进一步耦接到了服务器端102。
59.在示出的一种实施方式中,上述用户侧服务器可以由搭建了用户账户体系的服务实体来实现;上述服务实体可以包括面向用户提供各种线上和/或线下服务的服务载体的运营实体。相应地,上述运营实体可以包括上述服务载体对应的运营方;例如,上述运营实体可以包括对上述服务载体进行运营和管理的个人、机构、组织等。
60.在示出的一种实施方式中,服务器端102也可以通过各种通信网络耦接到一个或多个区块链系统;例如,服务器端102分别耦接到了区块链系统103,区块链系统104和区块链系统105,等等。
61.在示出的一种实施方式中,上述通信网络可以包括有线和/或无线通信网络;例如,可以是基于运营商提供的有线接入网络或无线接入网络(比如移动蜂窝网络)实现的局域网(local area network,lan)、广域网(wide area network,wan)、因特网或其组合。
62.在示出的一种实施方式中,每个区块链系统都可以维护一个或多个区块链(例如:公有区块链、私有区块链、联盟区块链等),并包括用于承载上述一个或多个区块链的多个区块链节点;例如,如图1中示出的区块链节点1、区块链节点2、区块链节点3、区块链节点4、区块链节点i等可以共同承载一个或多个区块链。各区块链系统包含的区块链之间,以及各区块链系统之间,还可以进行跨链的数据访问。
63.在示出的一种实施方式中,区块链节点可以是物理设备,也可以是在服务器或服务器集群中实现的虚拟设备;例如,区块链节点可以是服务器集群中的一台物理主机,也可以是基于虚拟化技术对服务器或服务器集群搭载的硬件资源进行虚拟化后,创建的虚拟机。每个区块链节点之间,可以通过各种类型的通信方法(例如:tcp/ip等)耦接在一起形成网络,来承载一个或多个区块链。
64.在示出的一种实施方式中,服务器端102可以包括用于提供区块链服务(baas,
blockchain as a service)的baas平台(也称为baas云)。
65.baas平台可以通过为区块链上发生的活动(诸如订阅和通知、用户验证、数据库管理和远程更新),提供预先编写的软件的方式,面向与baas平台耦接的用户侧计算设备,提供区块链服务。
66.例如,与baas平台可以提供诸如mq(message queue,消息队列)服务之类的软件;与baas平台耦接的用户侧计算设备,可以订阅baas平台耦接到的区块链系统中某一区块链上部署的智能合约,在触发执行后在区块链上产生的合约事件;而baas平台可以监听该智能合约在触发执行后在区块链上产生的事件,再基于mq服务相关的软件,将该合约事件以通知消息的形式添加到消息队列中,使得订阅该消息队列的用户侧计算设备,能够得到与上述合约事件相关的通知。
67.对于区块链外产生的数据而言,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链网络中的所有节点对该交易进行共识。在达成共识后,可以由区块链网络中作为记账节点的节点,将这笔交易在区块链中进行持久化存证。
68.在可编程的区块链中,可以通过面向用户提供智能合约(smart contract)的功能,来支持用户在区块链网络中创建并调用一些复杂的逻辑。智能合约是在区块链上可以被交易触发执行的程序。智能合约可以通过代码的形式定义。
69.在创建智能合约后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址。智能合约的行为由合约账户中的合约代码(code)控制,而合约账户中的账户存储(storage)则保存了智能合约的状态。
70.用于调用智能合约的交易可以包含发起调用智能合约的账户的地址、被调用的智能合约的地址,以及调用智能合约的方法和参数。在调用智能合约后,智能合约的状态可能改变;可以通过与区块链节点进行通信,来查看智能合约的状态。
71.智能合约可以以规定的方式被区块链网络中的各节点独立执行,所有执行记录和相关数据都可以被保存在区块链上,因此当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
72.区块链上部署的智能合约,通常只能访问区块链上存储的数据内容;而在实际应用中,对于一些基于智能合约技术实现的复杂的业务场景,智能合约可能还需要访问链外的数据实体上存储的外部数据。
73.在这种场景下,区块链上部署的智能合约,可以通过预言机程序访问链外的数据实体上的数据,进而实现智能合约与真实世界的数据实体之间的数据交互。其中,链外的数据实体,可以包括诸如部署在链外的中心化的服务器或数据中心等。
74.在实际应用中,在为区块链上的智能合约部署预言机程序时,可以先在区块链上部署一个与预言机程序对应的预言机智能合约;其中,该预言机智能合约用于维护预言机程序发给区块链上的智能合约的外部数据;例如,预言机程序发给区块链上的智能合约的外部数据,可以存储在预言机智能合约的账户存储空间(storage字段)中。
75.当区块链上的目标智能合约被调用时,可以从该预言机智能合约的账户存储空间中,来读取该目标智能合约所需的外部数据,来完成智能合约的调用过程。
76.需要说明的是,预言机程序在向区块链上的智能合约发送外部数据时,可以采用
主动发送的方式,也可以采用被动发送的方式。
77.在一种实现方式中,链外的数据实体可以将需要提供给目标智能合约的外部数据,利用预言机程序的私钥进行签名后,发送给上述预言机智能合约;例如,可以采用周期性发送的方式,将签名后的上述外部数据发送给上述预言机智能合约;
78.而在上述预言机智能合约可以维护预言机程序的ca证书,在收到链外的数据实体发送的外部数据后,可以使用该ca证书中维护的该预言机程序的公钥,对该外部数据的签名进行验证,并在验证通过后,将链外的数据实体发送的外部数据在该预言机智能合约的账户存储空间中进行存储。
79.在另一种实现方式中,当区块链上的目标智能合约被调用时,如果从该预言机智能合约的账户存储空间中,并未读取到该目标智能合约所需的外部数据,此时该预言机智能合约,可以利用智能合约的事件机制,与上述预言机程序进行交互,并由上述预言机程序将该目标智能合约所需的外部数据,发送至该预言机智能合约的账户存储空间中。
80.例如,当区块链上的目标智能合约被调用时,如果从该预言机智能合约的账户存储空间中,并未读取到该目标智能合约所需的外部数据,此时该预言机智能合约,可以生成一个外部数据获取事件,并将该外部数据获取事件记录到调用该智能合约的那笔交易的交易日志中,并将该交易日志存储到节点设备的存储空间;而上述预言机程序可以监听节点设备的存储空间中存储的该预言机智能合约产生的交易日志,并在监听到交易日志中的外部数据获取事件后,响应监听到的该外部数据获取事件,将上述目标智能合约所需的外部数据,发送给上述预言机智能合约。
81.智能合约的事件机制,是智能合约与链外实体进行交互的一种方式。对于区块链上部署的智能合约来说,通常无法直接与链外实体进行交互;例如,智能合约在调用完成后,通常无法将智能合约的调用结果,点对点地发送给智能合约的调用发起方。
82.智能合约在调用的过程中产生的调用结果(包括中间结果和最终的调用结果),通常都会以事件(event)的形式,记录到调用该智能合约的那笔交易的交易日志(transaction logs),在区块链节点的存储空间中进行存储。而需要与智能合约进行交互的链外实体,则可以通过监听区块链节点的存储空间中存储的上述交易日志的方式,来获取智能合约的调用结果。
83.本说明书提供一种基于区块链的数字文件签署的技术方案,首先可以将待签署的目标数字文件加密存储在区块链中,后续可以响应于签署发起方发起的针对该目标数字文件的签署处理操作,确定参与签署该目标数字文件的其他签署参与方,调用部署在该区块链上的用于对该目标数字文件进行签署管理的第一智能合约包含的解密逻辑,对该区块链中存储的加密后的该目标数字文件进行解密处理,进一步调用该第一智能合约包含的加密逻辑,基于其他签署参与方的公钥对该目标数字文件重新进行加密处理,以使其他签署参与方响应于获取到的加密后的该目标数字文件,基于其他签署参与方的私钥对加密后的该目标数字文件重新进行解密处理,并对该目标数字文件进行签署处理。
84.在具体实现时,一方面,可以将待签署的目标数字文件加密存储在上述区块链中;另一方面,可以在该区块链上部署用于对该目标数字文件进行签署管理的第一智能合约。
85.对于上述目标数字文件而言,签署发起方可以通过上述客户端,发起针对该目标数字文件的签署处理操作。
86.上述客户端在检测到上述签署处理操作的情况下,可以对该签署处理操作进行响应,确定参与签署上述目标数字文件的其他签署参与方。
87.上述客户端在确定出参与签署上述目标数字文件的其他签署参与方的情况下,可以调用上述第一智能合约包含的解密逻辑,对上述区块链中存储的加密后的上述目标数字文件进行解密处理。由于该区块链中存储的是加密后的该目标数字文件,在这种情况下,通过对加密后的该目标数字文件进行解密处理,即可得到未经加密的、原始的该目标数字文件。
88.在通过调用上述第一智能合约包含的解密逻辑,完成对加密后的上述目标数字文件的解密处理,即解密出了该目标数字文件的情况下,可以进一步调用上述第一智能合约包含的加密逻辑,基于上述其他签署参与方的公钥对该目标数字文件重新进行加密处理,后续可以由这些签署参与方响应于获取到的重新加密后的该目标数字文件,基于这些签署参与方的私钥对重新加密后的该目标数字文件重新进行解密处理,得到未经加密的、原始的该目标数字文件,并对该目标数字文件进行签署处理。
89.通过上述方式,第一方面,由于存储在区块链中的是加密后的数字文件,在这种情况下,就无法直接从区块链中获取到未经加密的、原始的数字文件,从而可以保证数字文件的数据安全性;第二方面,在将数字文件提供给参与签署该数字文件的签署参与方,由该签署参与方对该数字文件进行签署处理时,可以基于该签署参与方的公钥对该数字文件进行加密,从而可以避免数据交互过程中的数据泄露,进一步提升数字文件的数据安全性。
90.请参考图2,图2是本说明书一示例性实施例示出的一种基于区块链的数字文件签署方法的流程图。
91.在本实施例中,上述基于区块链的数字文件签署方法可以应用于与签署发起方对应的客户端。该签署发起方可以通过该客户端发起针对需要进行签署处理的数字文件的签署处理操作,而该客户端和与签署参与方对应的客户端则可以与该区块链进行数据交互,由此完成对该数字文件的签署处理。其中,签署发起方可以是发起对数字文件的签署处理的用户;签署参与方可以是参与签署数字文件的用户。
92.结合如图1所示的网络环境,上述客户端可以运行在用户侧计算设备101中的设备4上。上述区块链可以是提供智能合约功能的任一类型的区块链。
93.对于任一待签署的数字文件(下称为目标数字文件)而言,其可以被加密存储在上述区块链中。相应地,该区块链上可以部署有用于对该目标数字文件进行签署管理的智能合约(下称为第一智能合约)。
94.在示出的一种实施方式中,上述目标数字文件可以是电子合同。电子合同通常存在需要由多方共同签署的情况;也即,对于电子合同而言,签署参与方可以有多个。其中,用户可以指代个人,也可以指代机构、组织等,本说明书对此不作限制。
95.上述基于区块链的数字文件签署方法可以包括以下步骤:
96.步骤202:响应于所述签署发起方发起的针对所述目标数字文件的签署处理操作,确定参与签署所述目标数字文件的其他签署参与方。
97.在本实施例中,对于上述目标数字文件而言,签署发起方可以通过上述客户端,发起针对该目标数字文件的签署处理操作。
98.具体地,上述客户端可以向上述签署发起方输出如图3所示的用于对数字文件进
行签署处理的用户界面。该签署发起方可以在该用户界面中,先上传上述目标数字文件,并从所有用户中选择所需的签署参与方,后续可以在该目标数字文件的上传和所需的签署参与方的选择完成后,点击“确认”按钮,以触发由所需的签署参与方对该目标数字文件进行签署处理。在这种情况下,该客户端可以将该用户对该“确认”按钮的点击操作,确定为该签署发起方发起的针对该目标数字文件的签署处理操作。
99.上述客户端在检测到上述签署处理操作的情况下,可以对该签署处理操作进行响应,确定参与签署上述目标数字文件的其他签署参与方。
100.如前述内容所述,可以由上述签署发起方通过用于对数字文件进行签署处理的用户界面,从所有用户中选择所需的签署参与方,以将所需的签署参与方确定为参与签署上述目标数字文件的其他签署参与方。
101.或者,可以根据上述目标数字文件的文件内容,从所有用户中确定出所需的签署参与方;此时,这些签署参与方即为在实际情况下需要对该目标数字文件进行签署处理的用户。后续,可以将这些签署参与方确定为参与签署该目标数字文件的其他签署参与方。
102.在实际应用中,上述目标数字文件的签署发起方,可以是该目标数字文件的多个签署参与方中的任意一个;或者,也可以不属于该目标数字文件的多个签署参与方,而是这多个签署参与方之外的其他用户;本说明书对此不作限制。
103.如果上述签署发起方是上述多个签署参与方中的任意一个,则通常认为该签署发起方已经对上述目标数字文件进行了签署处理,并将该目标数字文件加密存储在上述区块链中。在这种情况下,上述其他签署参与方可以包括这多个签署参与方中的、除该签署发起方之外的其他签署参与方。
104.如果上述签署发起方是上述多个签署参与方之外的其他用户,则上述其他签署参与方可以包括这多个签署参与方。
105.步骤204:响应于确定出的所述其他签署参与方,调用所述第一智能合约包含的解密逻辑,对所述区块链中存储的加密后的所述目标数字文件进行解密处理。
106.在本实施例中,上述客户端在确定出参与签署上述目标数字文件的其他签署参与方的情况下,可以调用上述第一智能合约。
107.在实际应用中,上述客户端可以将用于调用上述第一智能合约的调用数据,构建成上述区块链所支持的标准的交易格式,作为合约调用交易,并将该合约调用交易发布至该区块链,由该区块链中的所有区块链节点对该合约调用交易进行共识。在达成共识后,可以由该区块链中作为记账节点的区块链节点,将该合约调用交易打包进区块。对于打包进区块的该合约调用交易而言,该区块链中的各区块链节点可以对该合约调用交易进行响应,调用上述第一智能合约。
108.具体地,可以由上述区块链节点调用上述第一智能合约包含的解密逻辑,即执行该第一智能合约的代码中与解密逻辑对应的部分代码,对上述区块链中存储的加密后的上述目标数字文件进行解密处理。由于该区块链中存储的是加密后的该目标数字文件,在这种情况下,通过对加密后的该目标数字文件进行解密处理,即可得到未经加密的、原始的该目标数字文件。
109.步骤206:以及,响应于所述目标数字文件解密处理完成,进一步调用所述第一智能合约包含的加密逻辑,基于所述其他签署参与方的公钥对解密出的所述目标数字文件进
行加密处理,以使所述其他签署参与方响应于获取到的加密后的所述目标数字文件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并对解密出的所述目标数字文件进行签署处理。
110.在本实施例中,在通过调用上述第一智能合约包含的解密逻辑,完成对加密后的上述目标数字文件的解密处理,即解密出了该目标数字文件的情况下,可以进一步调用上述第一智能合约包含的加密逻辑,基于上述其他签署参与方的公钥对该目标数字文件重新进行加密处理,后续可以由这些签署参与方响应于获取到的重新加密后的该目标数字文件,基于这些签署参与方的私钥对重新加密后的该目标数字文件重新进行解密处理,得到未经加密的、原始的该目标数字文件,并对该目标数字文件进行签署处理。
111.以上述其他签署参与方中的任一签署参与方(下称为目标签署参与方)为例,可以进一步调用上述第一智能合约包含的加密逻辑,基于该目标签署参与方的公钥对上述目标数字文件重新进行加密处理,后续可以由该目标签署参与方响应于获取到的重新加密后的该目标数字文件,基于该目标签署参与方的私钥对重新加密后的该目标数字文件重新进行解密处理,得到未经加密的、原始的该目标数字文件,并对该目标数字文件进行签署处理。其中,该目标签署参与方的私钥和该目标签署参与方的公钥即为该目标签署参与方持有的一对非对称密钥。
112.需要说明的是,本说明书中的签署参与方也可以指代与签署参与方对应的客户端。
113.下面对从解密上述区块链中加密存储的上述目标数字文件、重新加密上述目标数字文件、重新解密上述目标数字文件并对其进行签署处理的方面,对如图2所示的实施例进行详细说明。
114.(1)解密上述区块链中存储的加密后的上述目标数字文件
115.在示出的一种实施方式中,上述目标数字文件可以基于与上述第一智能合约对应的对称密钥加密后存储在上述区块链中。
116.在这种情况下,在调用上述第一智能合约包含的解密逻辑,对上述区块链中存储的加密后的上述目标数字文件进行解密处理时,具体可以调用该第一智能合约包含的解密逻辑,基于与该第一智能合约对应的对称密钥,对该区块链中存储的加密后的该目标数字文件进行解密处理。
117.在示出的一种实施方式中,为了进一步提高数据安全性,上述区块链中的节点设备上可以搭载tee(trusted execution environment,可信执行环境),并将上述第一智能合约部署在该tee中。相应地,可以将与该第一智能合约对应的对称密钥存储在该tee中。
118.具体地,可以先基于与上述第一智能合约对应的对称密钥对该第一智能合约的代码进行加密处理,并将加密后的该第一智能合约部署在上述区块链中,后续可以将该区块链中存储的加密后的该第一智能合约加载到该tee中,由该tee基于该对称密钥对加密后的该第一智能合约进行解密处理,并执行解密处理得到的该第一智能合约的代码,以实现对该第一智能合约的调用。
119.在这种情况下,在基于与上述第一智能合约对应的对称密钥,对上述区块链中存储的加密后的上述目标数字文件进行解密处理时,具体可以基于上述tee中存储的该对称密钥,在该tee中对该区块链中存储的加密后的该目标数字文件进行解密处理。
120.(2)重新加密上述目标数字文件
121.在示出的一种实施方式中,上述区块链中的节点设备上可以搭载tee,并将上述第一智能合约部署在该tee中。相应地,可以将与该第一智能合约对应的对称密钥存储在该tee中。
122.在这种情况下,在调用上述第一智能合约包含的加密逻辑,基于上述其他签署参与方的公钥对上述目标数字文件重新进行加密处理时,具体可以调用该第一智能合约包含的加密逻辑,在上述tee中基于这些签署参与方的公钥对该目标数字文件重新进行加密处理。
123.(3)重新解密上述目标数字文件并对其进行签署处理
124.在实际应用中,上述其他签署参与方可以自行保管其私钥;或者,这些签署参与方可以将其私钥托管存储至存储系统,使得后续在对数字文件进行签署处理时可以直接从该存储系统中获取到这些签署参与方的私钥,而无需再由这些签署参与方提供其私钥,在保证私钥的数据安全性的同时为这些签署参与方提供便利。
125.在示出的一种实施方式中,如果上述其他签署参与方自行保管其私钥,则需要由这些签署参与方重新解密上述目标数字文件。
126.在通过调用上述第一智能合约包含的加密逻辑,完成基于上述其他签署参与方的公钥对上述目标数字文件重新进行的加密处理的情况下,由于重新加密后的该目标数字文件即为该第一智能合约的调用结果,在这种情况下,可以生成这些签署参与方针对该目标数字文件的签署事件,并将该事件记录到上述合约调用交易的交易日志,在上述区块链中进行存储。其中,该签署事件可以包括基于这些签署参与方的公钥重新加密后的该目标数字文件。
127.上述其他签署参与方可以通过监听上述区块链中存储的该交易日志的方式,获取到上述签署事件,从而获取到该签署事件中包含的重新加密后的上述目标数字文件。或者,这些签署参与方可以向部署在该区块链中的区块链节点上的、作为事件通知中心的sdk(software development kit,软件开发工具包)订阅该签署事件,以由该sdk在检测到生成了该签署事件时,将该签署事件发送给这些签署参与方,使得这些签署参与方可以获取到该签署事件,从而获取到该签署事件中包含的重新加密后的该目标数字文件。
128.后续,上述其他签署参与方可以响应于获取到的重新加密后的上述目标数字文件,基于这些签署参与方的私钥对重新加密后的该目标数字文件重新进行解密处理,得到未经加密的、原始的该目标数字文件,并对该目标数字文件进行签署处理。
129.在示出的一种实施方式中,上述区块链上还可以部署有用于基于上述其他签署参与方的数字印章对上述目标数字文件进行签章处理的第二智能合约。
130.在这种情况下,对于自行保管其私钥的上述其他签署参与方而言,这些签署参与方一方面可以基于这些签署参与方的私钥对重新加密后的该目标数字文件重新进行解密处理,得到未经加密的、原始的该目标数字文件,另一方面可以生成基于这些签署参与方的数字印章对该目标数字文件进行签章处理的授权信息,并基于这些签署参与方的私钥对该授权信息进行签名处理。
131.后续,上述其他签署参与方可以将重新解密出的上述目标数字文件,以及签名后的上述授权信息,作为调用参数,提交给上述第二智能合约,以调用该第二智能合约。
132.在实际应用中,上述其他签署参与方可以将上述调用参数,构建成上述区块链所支持的标准的交易格式,作为合约调用交易,并将该合约调用交易发布至该区块链,由该区块链中的所有区块链节点对该合约调用交易进行共识。在达成共识后,可以由该区块链中作为记账节点的区块链节点,将该合约调用交易打包进区块。对于打包进区块的该合约调用交易而言,该区块链中的各区块链节点可以对该合约调用交易进行响应,调用上述第二智能合约。
133.具体地,可以由上述区块链节点调用上述第二智能合约包含的签章逻辑,基于上述其他签署参与方的公钥对上述授权信息的签名进行验证,在验证通过后基于这些签署参与方的数字印章对重新解密出的上述目标数字文件进行签章处理,以完成对该目标数字文件的签署处理。
134.在示出的一种实施方式中,如果上述其他签署参与方将其私钥托管存储至存储系统,则可以由上述区块链上部署的、用于基于这些签署参与方的数字印章对上述目标数字文件进行签章处理的第二智能合约代替这些签署参与方,重新解密上述目标数字文件。
135.在通过调用上述第一智能合约包含的加密逻辑,完成基于上述其他签署参与方的公钥对上述目标数字文件重新进行的加密处理的情况下,可以继续由该第一智能合约生成基于这些签署参与方的数字印章对该目标数字文件进行签章处理的授权信息,并从上述存储系统处获取这些签署参与方的私钥,以基于这些签署参与方的私钥对该授权信息进行签名处理。
136.后续,可以由上述第一智能合约将重新加密后的上述目标数字文件,以及签名后的上述授权信息,作为跨合约调用的调用参数,提交给上述第二智能合约,以跨合约调用该第二智能合约。
137.在实际应用中,上述第一智能合约可以基于不同的智能合约之间的消息调用的机制,创建包含重新加密后的上述目标数字文件和签名后的上述授权信息的消息,并将该消息发送给上述第二智能合约,使得该第二智能合约可以在接收到该消息时,对该消息进行响应,获取该消息中的签名后的重新加密后的该目标数字文件和签名后的该授权信息,并基于重新加密后的该目标数字文件和签名后的该授权信息执行该第二智能合约的代码中的相应代码。
138.具体地,可以跨合约调用上述第二智能合约包含的签章逻辑,一方面从上述存储系统处获取这些签署参与方的私钥,以基于这些签署参与方的私钥对重新加密后的上述目标数字文件进行解密处理,另一方面基于这些签署参与方的公钥对上述授权信息的签名进行验证,而在验证通过后,进一步基于这些签署参与方的数字印章对重新解密出的上述目标数字文件进行签章处理,以完成对该目标数字文件的签署处理。
139.在实际应用中,可以预先将上述其他签署参与方的数字印章存储在上述区块链中,使得后续在需要使用这些签署参与方的数字印章时,可以直接从该区块链中获取到这些签署参与方的数字印章。
140.在上述技术方案中,首先可以将待签署的目标数字文件加密存储在区块链中,后续可以响应于签署发起方发起的针对该目标数字文件的签署处理操作,确定参与签署该目标数字文件的其他签署参与方,调用部署在该区块链上的用于对该目标数字文件进行签署管理的第一智能合约包含的解密逻辑,对该区块链中存储的加密后的该目标数字文件进行
解密处理,进一步调用该第一智能合约包含的加密逻辑,基于其他签署参与方的公钥对该目标数字文件重新进行加密处理,以使其他签署参与方响应于获取到的加密后的该目标数字文件,基于其他签署参与方的私钥对加密后的该目标数字文件重新进行解密处理,并对该目标数字文件进行签署处理。
141.通过上述方式,第一方面,由于存储在区块链中的是加密后的数字文件,在这种情况下,就无法直接从区块链中获取到未经加密的、原始的数字文件,从而可以保证数字文件的数据安全性;第二方面,在将数字文件提供给参与签署该数字文件的签署参与方,由该签署参与方对该数字文件进行签署处理时,可以基于该签署参与方的公钥对该数字文件进行加密,从而可以避免数据交互过程中的数据泄露,进一步提升数字文件的数据安全性。
142.请参考图4,图4是本说明书一示例性实施例示出的另一种基于区块链的数字文件签署方法。
143.在本实施例中,上述基于区块链的数字文件签署方法可以应用于与签署参与方对应的客户端。该客户端和与签署发起方对应的客户端可以与该区块链进行数据交互,由此完成对该数字文件的签署处理。其中,签署发起方可以是发起对数字文件的签署处理的用户;签署参与方可以是参与签署数字文件的用户。
144.结合如图1所示的网络环境,上述客户端可以运行在用户侧计算设备101中的设备4上。上述区块链可以是提供智能合约功能的任一类型的区块链。
145.对于任一待签署的数字文件(下称为目标数字文件)而言,其可以被加密存储在上述区块链中。相应地,该区块链上可以部署有用于对该目标数字文件进行签署管理的智能合约(下称为第一智能合约)。
146.在示出的一种实施方式中,上述目标数字文件可以是电子合同。电子合同通常存在需要由多方共同签署的情况;也即,对于电子合同而言,签署参与方可以有多个。其中,用户可以指代个人,也可以指代机构、组织等,本说明书对此不作限制。
147.上述基于区块链的数字文件签署方法可以包括以下步骤:
148.步骤402:获取加密后的所述目标数字文件;其中,所述加密后的所述目标数字文件由签署发起方在响应于签署发起方发起的针对所述目标数字文件的签署处理操作,确定出参与签署所述目标数字文件的其他签署参与方时,调用所述第一智能合约包含的解密逻辑,对所述区块链中存储的加密后的所述目标数字文件进行解密处理,并响应于所述目标数字文件解密处理完成,进一步调用所述第一智能合约包含的加密逻辑,基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理得到。
149.步骤404:响应于获取到加密后的所述目标数字文件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理。
150.步骤406:对解密出的所述目标数字文件进行签署处理。
151.在示出的一种实施方式中,所述获取加密后的所述目标数字文件,包括:
152.从所述区块链中获取所述其他签署参与方针对所述目标数字文件的签署事件;其中,所述签署事件由所述签署发起方生成并存储至所述区块链;所述签署事件包括加密后的所述目标数字文件。
153.在示出的一种实施方式中,所述区块链上还部署了用于基于所述其他签署参与方的数字印章对所述目标数字文件进行签章处理的第二智能合约;
154.所述对解密出的所述目标数字文件进行签署处理,包括:
155.生成基于所述其他签署参与方的数字印章对所述目标数字文件进行签章处理的授权信息,并基于所述其他签署参与方的私钥对所述授权信息进行签名处理;
156.将解密出的所述目标数字文件和签名后的所述授权信息作为调用参数,提交给所述第二智能合约,以调用所述第二智能合约包含的签章逻辑,基于所述其他签署参与方的公钥对所述授权信息的签名进行验证,并在验证通过后基于所述其他签署参与方的数字印章对解密出的所述目标数字文件进行签章处理,以完成对所述目标数字文件的签署处理。
157.在上述技术方案中,首先可以将待签署的目标数字文件加密存储在区块链中,后续可以响应于签署发起方发起的针对该目标数字文件的签署处理操作,确定参与签署该目标数字文件的其他签署参与方,调用部署在该区块链上的用于对该目标数字文件进行签署管理的第一智能合约包含的解密逻辑,对该区块链中存储的加密后的该目标数字文件进行解密处理,进一步调用该第一智能合约包含的加密逻辑,基于其他签署参与方的公钥对该目标数字文件重新进行加密处理,以使其他签署参与方响应于获取到的加密后的该目标数字文件,基于其他签署参与方的私钥对加密后的该目标数字文件重新进行解密处理,并对该目标数字文件进行签署处理。
158.通过上述方式,第一方面,由于存储在区块链中的是加密后的数字文件,在这种情况下,就无法直接从区块链中获取到未经加密的、原始的数字文件,从而可以保证数字文件的数据安全性;第二方面,在将数字文件提供给参与签署该数字文件的签署参与方,由该签署参与方对该数字文件进行签署处理时,可以基于该签署参与方的公钥对该数字文件进行加密,从而可以避免数据交互过程中的数据泄露,进一步提升数字文件的数据安全性。
159.如图4所述的实施例中各步骤的具体实现可以参考如图2所示的实施例,本说明书在此不再赘述。
160.请参考图5,图5是本说明书一示例性实施例示出的另一种基于区块链的数字文件签署方法。
161.上述基于区块链的数字文件签署方法可以应用于区块链服务平台。签署发起方可以通过与该签署发起方对应的客户端发起针对需要进行签署处理的数字文件的签署处理操作,与该签署发起方对应的客户端和与签署参与方对应的客户端可以与该区块链服务平台进行数据交互,该区块链服务平台可以进一步与该区块链进行数据交互,由此完成对该数字文件的签署处理。其中,签署发起方可以是发起对数字文件的签署处理的用户;签署参与方可以是参与签署数字文件的用户。
162.结合如图1所示的网络环境,上述客户端可以运行在用户侧计算设备101中的设备3上;上述区块链服务平台可以运行在服务器端102上。上述区块链可以是提供智能合约功能的任一类型的区块链。
163.对于任一待签署的数字文件(下称为目标数字文件)而言,其可以被加密存储在上述区块链中。相应地,该区块链上可以部署有用于对该目标数字文件进行签署管理的智能合约(下称为第一智能合约)。
164.在示出的一种实施方式中,上述目标数字文件可以是电子合同。电子合同通常存在需要由多方共同签署的情况;也即,对于电子合同而言,签署参与方可以有多个。其中,用户可以指代个人,也可以指代机构、组织等,本说明书对此不作限制。
165.上述基于区块链的数字文件签署方法可以包括以下步骤:
166.步骤502:接收与签署发起方对应的客户端响应于所述签署发起方发起的针对所述目标数字文件的签署处理操作发送的签署请求。
167.在本实施例中,对于上述目标数字文件而言,签署发起方可以通过上述客户端,发起针对该目标数字文件的签署处理操作。
168.上述客户端在检测到上述签署处理操作的情况下,可以对该签署处理操作进行响应,构建签署请求,并将该签署请求发送给上述区块链服务平台,使得该区块链服务平台可以接收到该签署请求。
169.步骤504:响应于所述签署请求,确定参与签署所述目标数字文件的其他签署参与方。
170.在本实施例中,上述区块链服务平台在接收到上述签署请求的情况下,可以对该签署请求进行响应,确定参与签署上述目标数字文件的其他签署参与方。
171.确定参与签署上述目标数字文件的其他签署参与方的具体实现可以参考前述步骤202,本说明书在此不再赘述。
172.步骤506:响应于确定出的所述其他签署参与方,调用所述第一智能合约包含的解密逻辑,对所述区块链中存储的加密后的所述目标数字文件进行解密处理。
173.步骤508:以及,响应于所述目标数字文件解密处理完成,进一步调用所述第一智能合约包含的加密逻辑,基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,以使所述其他签署参与方响应于获取到的加密后的所述目标数字文件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并对解密出的所述目标数字文件进行签署处理。
174.步骤506和步骤508的具体实现可以参考前述步骤504和步骤506,本说明书在此不再赘述。
175.在示出的一种实施方式中,所述目标数字文件基于与所述第一智能合约对应的对称密钥加密后存储在所述区块链中;
176.所述对所述区块链中存储的加密后的所述目标数字文件进行解密处理,包括:
177.基于与所述第一智能合约对应的对称密钥,对所述区块链中存储的加密后的所述目标数字文件进行解密处理。
178.在示出的一种实施方式中,所述第一智能合约部署在所述区块链中的节点设备上搭载的tee中;所述tee中维护了与所述第一智能合约对应的对称密钥;
179.所述基于与所述第一智能合约对应的对称密钥,对所述区块链中存储的加密后的所述目标数字文件进行解密处理,包括:
180.在所述tee中基于所述tee中维护的与所述第一智能合约对应的对称密钥,对所述区块链中存储的加密后的所述目标数字文件进行解密处理;
181.所述基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,包括:
182.在所述tee中基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理。
183.在示出的一种实施方式中,所述基于所述其他签署参与方的公钥对解密出的所述
目标数字文件进行加密处理,以使所述其他签署参与方响应于获取到的加密后的所述目标数字文件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并对解密出的所述目标数字文件进行签署处理,包括:
184.基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,并生成所述其他签署参与方针对所述目标数字文件的签署事件,将所述签署事件存储至所述区块链,其中,所述签署事件包括加密后的所述目标数字文件,以使所述其他签署方从所述区块链中获取到所述签署事件,响应于所述签署事件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并对解密出的所述目标数字文件进行签署处理。
185.在示出的一种实施方式中,所述区块链上还部署了用于基于所述其他签署参与方的数字印章对所述目标数字文件进行签章处理的第二智能合约;
186.所述基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,并生成所述其他签署参与方针对所述目标数字文件的签署事件,将所述签署事件存储至所述区块链,其中,所述签署事件包括加密后的所述目标数字文件,以使所述其他签署方从所述区块链中获取到所述签署事件,响应于所述签署事件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并对解密出的所述目标数字文件进行签署处理,包括:
187.基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,并生成所述其他签署参与方针对所述目标数字文件的签署事件,将所述签署事件存储至所述区块链,其中,所述签署事件包括加密后的所述目标数字文件,以使所述其他签署方从所述区块链中获取到所述签署事件,响应于所述签署事件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并生成基于所述其他签署参与方的数字印章对所述目标数字文件进行签章处理的授权信息,基于所述其他签署参与方的私钥对所述授权信息进行签名处理,将解密出的所述目标数字文件和签名后的所述授权信息作为调用参数,提交给所述第二智能合约,以调用所述第二智能合约包含的签章逻辑,基于所述其他签署参与方的公钥对所述授权信息的签名进行验证,并在验证通过后基于所述其他签署参与方的数字印章对解密出的所述目标数字文件进行签章处理,以完成对所述目标数字文件的签署处理。
188.在示出的一种实施方式中,所述区块链上还部署了用于基于所述其他签署参与方的数字印章对所述目标数字文件进行签章处理的第二智能合约;
189.所述基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,以使所述其他签署参与方响应于获取到的加密后的所述目标数字文件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并对解密出的所述目标数字文件进行签署处理,包括:
190.基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,并生成基于所述其他签署参与方的数字印章对所述目标数字文件进行签章处理的授权信息,获取所述其他签署参与方托管存储的私钥,基于所述私钥对所述授权信息进行签名处理,将加密后的所述目标数字文件和签名后的所述授权信息作为跨合约调用的调用参数,提交给所述第二智能合约,以跨合约调用所述第二智能合约包含的签章逻辑,获取所述其他签
署参与方托管存储的私钥,基于所述私钥对加密后的所述目标数字文件进行解密处理,基于所述其他签署参与方的公钥对所述授权信息的签名进行验证,并在验证通过后基于所述其他签署参与方的数字印章对解密出的所述目标数字文件进行签章处理,以完成对所述目标数字文件的签署处理。
191.在示出的一种实施方式中,所述其他签署参与方包括多个签署参与方。
192.在示出的一种实施方式中,所述目标数字文件包括电子合同。
193.如图5所述的实施例中各步骤的具体实现可以参考如图2所示的实施例,本说明书在此不再赘述。
194.在上述技术方案中,首先可以将待签署的目标数字文件加密存储在区块链中,后续可以响应于签署发起方发起的针对该目标数字文件的签署处理操作,确定参与签署该目标数字文件的其他签署参与方,调用部署在该区块链上的用于对该目标数字文件进行签署管理的第一智能合约包含的解密逻辑,对该区块链中存储的加密后的该目标数字文件进行解密处理,进一步调用该第一智能合约包含的加密逻辑,基于其他签署参与方的公钥对该目标数字文件重新进行加密处理,以使其他签署参与方响应于获取到的加密后的该目标数字文件,基于其他签署参与方的私钥对加密后的该目标数字文件重新进行解密处理,并对该目标数字文件进行签署处理。
195.通过上述方式,第一方面,由于存储在区块链中的是加密后的数字文件,在这种情况下,就无法直接从区块链中获取到未经加密的、原始的数字文件,从而可以保证数字文件的数据安全性;第二方面,在将数字文件提供给参与签署该数字文件的签署参与方,由该签署参与方对该数字文件进行签署处理时,可以基于该签署参与方的公钥对该数字文件进行加密,从而可以避免数据交互过程中的数据泄露,进一步提升数字文件的数据安全性。
196.与前述基于区块链的数字文件签署方法的实施例相对应,本说明书还提供了基于区块链的数字文件签署装置的实施例。
197.本说明书基于区块链的数字文件签署装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书基于区块链的数字文件签署装置所在电子设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该基于区块链的数字文件签署的实际功能,还可以包括其他硬件,对此不再赘述。
198.请参考图7,图7是本说明书一示例性实施例示出的一种基于区块链的数字文件签署装置的框图。
199.上述基于区块链的数字文件签署装置可以应用于运行在如图6所示的电子设备上的与签署发起方对应的客户端;待签署的目标数字文件加密存储在区块链中;所述区块链上部署了用于对所述目标数字文件进行签署管理的第一智能合约。
200.上述基于区块链的数字文件签署装置可以包括:
201.确定模块701,响应于所述签署发起方发起的针对所述目标数字文件的签署处理操作,确定参与签署所述目标数字文件的其他签署参与方;
202.调用模块702,响应于确定出的所述其他签署参与方,调用所述第一智能合约包含
的解密逻辑,对所述区块链中存储的加密后的所述目标数字文件进行解密处理;以及,响应于所述目标数字文件解密处理完成,进一步调用所述第一智能合约包含的加密逻辑,基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,以使所述其他签署参与方响应于获取到的加密后的所述目标数字文件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并对解密出的所述目标数字文件进行签署处理。
203.请参考图8,图8是本说明书一示例性实施例示出的一种基于区块链的数字文件签署装置的框图。
204.上述基于区块链的数字文件签署装置可以应用于运行在如图6所示的电子设备上的与签署参与方对应的客户端;待签署的目标数字文件加密存储在区块链中;所述区块链上部署了用于对所述目标数字文件进行签署管理的第一智能合约。
205.上述基于区块链的数字文件签署装置可以包括:
206.获取模块801,获取加密后的所述目标数字文件;其中,所述加密后的所述目标数字文件由签署发起方在响应于签署发起方发起的针对所述目标数字文件的签署处理操作,确定出参与签署所述目标数字文件的其他签署参与方时,调用所述第一智能合约包含的解密逻辑,对所述区块链中存储的加密后的所述目标数字文件进行解密处理,并响应于所述目标数字文件解密处理完成,进一步调用所述第一智能合约包含的加密逻辑,基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理得到;
207.解密模块802,响应于获取到加密后的所述目标数字文件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理;
208.签署模块803,对解密出的所述目标数字文件进行签署处理。
209.请参考图9,图9是本说明书一示例性实施例示出的另一种基于区块链的数字文件签署装置的框图。
210.上述基于区块链的数字文件签署装置可以应用于运行在如图6所示的电子设备上的区块链服务平台;待签署的目标数字文件加密存储在区块链中;所述区块链上部署了用于对所述目标数字文件进行签署管理的第一智能合约。
211.上述基于区块链的数字文件签署装置可以包括:
212.接收模块901,接收与签署发起方对应的客户端响应于所述签署发起方发起的针对所述目标数字文件的签署处理操作发送的签署请求;
213.确定模块902,响应于所述签署请求,确定参与签署所述目标数字文件的其他签署参与方;
214.调用模块903,响应于确定出的所述其他签署参与方,调用所述第一智能合约包含的解密逻辑,对所述区块链中存储的加密后的所述目标数字文件进行解密处理;以及,响应于所述目标数字文件解密处理完成,进一步调用所述第一智能合约包含的加密逻辑,基于所述其他签署参与方的公钥对解密出的所述目标数字文件进行加密处理,以使所述其他签署参与方响应于获取到的加密后的所述目标数字文件,基于所述其他签署参与方的私钥对加密后的所述目标数字文件进行解密处理,并对解密出的所述目标数字文件进行签署处理。
215.对于装置实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例
的部分说明即可。
216.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书的技术方案的目的。
217.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
218.在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
219.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
220.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
221.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
222.上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
223.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
224.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
225.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1