首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 软件包 / 软件组件 / 插件 / 基于区块链的邮件存证方法、装置、设备和存储介质

基于链的邮件存证方法、装置、设备和存储介质

阅读:808发布:2021-04-13

专利汇可以提供基于链的邮件存证方法、装置、设备和存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及 电子 邮件技术领域,尤其涉及一种基于 区 块 链 的邮件存证方法、装置、设备和存储介质。该方法包括:客户端 节点 接收用户发送的存证 请求 ,从电子邮件 服务器 中获取对应的电子邮件信息;客户端节点对电子邮件信息进行上链签名,生成存证区块,在区块链网络中进行上链;公证方节点在区块链网络中获取存证区块,对存证区块中的电子邮件信息和上链签名信息进行公证签名,生成公证区块,并将公证区块链接到存证区块所在的区块链上。本发明引入去中心化的区块链网络,将需要存证的邮件内容生成存证区块进行上链,并加入公证环节和公证区块一起上链,增加邮件证据的公信 力 。,下面是基于链的邮件存证方法、装置、设备和存储介质专利的具体信息内容。

1.一种基于链的邮件存证方法,其特征在于,包括:
客户端节点接收用户发送的存证请求,所述存证请求中包含有需要存证的电子邮件ID,所述客户端节点根据所述电子邮件ID,从电子邮件服务器中获取对应的电子邮件信息;
所述客户端节点采用客户端的电子签名,对所述电子邮件信息进行上链签名,将所述电子邮件信息和所述上链签名信息一起生成存证区块,在区块链网络中进行上链,形成新的区块链;
公证方节点在区块链网络中获取所述存证区块,采用公证方的电子签名,对所述存证区块中的电子邮件信息和上链签名信息进行公证签名,将所述电子邮件信息、上链签名信息、公证签名信息和当前时间一起生成公证区块,并将公证区块链接到所述存证区块所在的区块链上。
2.根据权利要求1所述的基于区块链的邮件存证方法,其特征在于,所述客户端节点接收用户发送的存证请求,所述存证请求中包含有需要存证的电子邮件ID,所述客户端节点根据所述电子邮件ID,从电子邮件服务器中获取对应的电子邮件信息,包括:
邮件网页端或第三方邮件插件接收用户触发的触发请求,从所述邮件服务器中获取当前电子邮件的电子邮件ID,所述邮件网页端或第三方邮件插件调用API接口,向客户端节点发起存证请求,所述存证请求中包含所述电子邮件ID;
所述客户端节点接收所述存证请求,从所述电子邮件服务器中,获取所述电子邮件ID对应的电子邮件信息,所述电子邮件信息包括发件人、收件人、抄送人、密送人、主题、邮件内容、邮件发送时间和邮件接收时间。
3.根据权利要求1所述的基于区块链的邮件存证方法,其特征在于,所述所述客户端节点采用客户端的电子签名,对所述电子邮件信息进行上链签名,将所述电子邮件信息和所述上链签名信息一起生成存证区块,在区块链网络中进行上链,形成新的区块链,包括:
创建存证区块,所述存证区块中包含区块头和区块体,所述区块头中包含前一区块的哈希值变量、当前区块的哈希值变量、时间戳变量,所述区块体中包含电子邮件信息变量;
将所述电子邮件信息通过哈希函数计算生成哈希值,对所述哈希值进行上链签名,将上链签名后的所述哈希值赋值给所述当前区块的哈希值变量,将当前时间赋值给所述时间戳变量,将所述电子邮件信息赋值给所述电子邮件信息变量;
从预设的区块链列表中获取链尾区块的哈希值,将所述链尾区块的哈希值赋值给所述前一区块的哈希值变量,生成一项存证区块;
将上链签名后的所述哈希值添加到所述区块链列表中,将生成的所述存证区块定义为所述链尾区块,完成所述存证区块的上链。
4.根据权利要求1所述的基于区块链的邮件存证方法,其特征在于,所述所述客户端节点采用客户端的电子签名,对所述电子邮件信息进行上链签名,将所述电子邮件信息和所述上链签名信息一起生成存证区块,在区块链网络中进行上链,形成新的区块链后,还包括:
所述客户端节点将已上链的所述存证区块广播到所述区块链网络中的其他节点;
所述其他节点读取所述存证区块中的前一区块的哈希值、当前区块的哈希值后,与自身节点中的区块链列表进行比较,当所述区块链列表的链尾是所述前一区块的哈希值时,将所述当前区块的哈希值添加入所述区块链列表中,将生成的所述存证区块定义为所述链尾区块,完成存证数据的同步。
5.根据权利要求1所述的基于区块链的邮件存证方法,其特征在于,所述公证方节点在区块链网络中获取所述存证区块,采用公证方的电子签名,对所述存证区块中的电子邮件信息和上链签名信息进行公证签名前,还包括:
对所述存证区块的所述区块体中的电子邮件信息通过哈希函数计算得到第一哈希值;
对上链签名后的所述哈希值通过上链签名对应的公钥解密后得到第二哈希值;
将所述第一哈希值和所述第二哈希值进行对比,判断是否相等,若不同则认为已被篡改,不予公证签名,若相同则进行公证签名。
6.根据权利要求1所述的基于区块链的邮件存证方法,其特征在于,所述对所述存证区块中的电子邮件信息和上链签名信息进行公证签名,将所述电子邮件信息、上链签名信息、公证签名信息和当前时间一起生成公证区块,并将公证区块链接到所述存证区块所在的区块链上,包括:
创建公证区块,所述公证区块中包含区块头和区块体,所述区块头中包含前一区块的哈希值变量、当前区块的哈希值变量、时间戳变量,所述区块体中包含电子邮件信息变量;
将公证签名后的哈希值赋值给所述当前区块的哈希值变量,将当前时间赋值给所述时间戳变量,将所述存证区块中的电子邮件信息据赋值给所述电子邮件信息变量;
从自身节点中所述区块链列表中获取链尾区块的哈希值,将所述链尾区块的哈希值赋值给所述前一区块的哈希值变量,生成一项公证区块;
将公证签名后的所述哈希值添加到所述区块链列表中,将生成的所述公证区块定义为所述链尾区块,完成所述公证区块的上链。
7.根据权利要求1所述的基于区块链的邮件存证方法,其特征在于,所述对所述存证区块中的电子邮件信息和上链签名信息进行公证签名,将所述电子邮件信息、上链签名信息、公证签名信息和当前时间一起生成公证区块,并将公证区块链接到所述存证区块所在的区块链上后,还包括:
所述公证方节点将已上链的所述公证区块广播到所述区块链网络中的其他节点;
所述其他节点读取所述公证区块中的前一区块的哈希值、当前区块的哈希值后,与自身节点中的区块链列表进行比较,当所述区块链列表的链尾是所述前一区块的哈希值时,将所述当前区块的哈希值添加入所述区块链列表中,将生成的所述公证区块定义为所述链尾区块,完成公证数据的同步。
8.一种基于区块链的邮件存证装置,其特征在于,包括:
接收存证请求模块,设置为客户端节点接收用户发送的存证请求,所述存证请求中包含有需要存证的电子邮件ID,所述客户端节点根据所述电子邮件ID,从电子邮件服务器中获取对应的电子邮件信息;
生成存证区块模块,设置为所述客户端节点采用客户端的电子签名,对所述电子邮件信息进行上链签名,将所述电子邮件信息和所述上链签名信息一起生成存证区块,在区块链网络中进行上链,形成新的区块链;
生成公证区块模块,设置为公证方节点在区块链网络中获取所述存证区块,采用公证方的电子签名,对所述存证区块中的电子邮件信息和上链签名信息进行公证签名,将所述电子邮件信息、上链签名信息、公证签名信息和当前时间一起生成公证区块,并将公证区块链接到所述存证区块所在的区块链上。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述基于区块链的邮件存证方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述基于区块链的邮件存证方法的步骤。

说明书全文

基于链的邮件存证方法、装置、设备和存储介质

技术领域

[0001] 本发明涉及电子邮件技术领域,尤其涉及一种基于区块链的邮件存证方法、 装置、设备和存储介质。

背景技术

[0002] 电子证据的产生、存储和传递必须依赖于特定的介质,有相应的播放、显 示设备才能从存储状态到为人所感知,才能为法庭所认可和采信。而电子证据 所依赖的系统环境如果发生变化,电子证据也可能无法显现或者显现错误的信 息,直接削弱了电子证据的证明度,给证据的认定带来困难。另外,电子数 据的登记、处理、传输的资料信息均以电磁浓缩的形式储存,数据容易被人为 改变,而且这种数据电文的修改简单、不易留下痕迹。电子数据的以破坏性的 特征会使电子证据无法反映真实的情况。
[0003] 电子邮件作为电子证据中的一种,具备上述电子证据的特点外,由于邮件 服务器是中心化服务器,邮件的发件人、收件人、邮件内容及发送时间等关键 信息均可以在邮件服务器方修改和删除,进一步存在邮件证据被篡改的险。 现有做法是对电子邮件作为证据前,需要对电子邮件经过公证过程才能保证其 有效性但,但是公证过程费用高、公证流程繁琐。

发明内容

[0004] 有鉴于此,有必要针对电子邮件作为电子证据容易存在篡改风险的问题, 提供一种基于区块链的邮件存证方法、装置、设备和存储介质。
[0005] 一种基于区块链的邮件存证方法,包括:
[0006] 客户端节点接收用户发送的存证请求,所述存证请求中包含有需要存证的 电子邮件ID,所述客户端节点根据所述电子邮件ID,从电子邮件服务器中获取 对应的电子邮件信息;
[0007] 所述客户端节点采用客户端的电子签名,对所述电子邮件信息进行上链签 名,将所述电子邮件信息和所述上链签名信息一起生成存证区块,在区块链网 络中进行上链,形成新的区块链;
[0008] 公证方节点在区块链网络中获取所述存证区块,采用公证方的电子签名, 对所述存证区块中的电子邮件信息和上链签名信息进行公证签名,将所述电子 邮件信息、上链签名信息、公证签名信息和当前时间一起生成公证区块,并将 公证区块链接到所述存证区块所在的区块链上。
[0009] 在其中一个实施例中,所述客户端节点接收用户发送的存证请求,所述存 证请求中包含有需要存证的电子邮件ID,所述客户端节点根据所述电子邮件ID, 从电子邮件服务器中获取对应的电子邮件信息,包括:
[0010] 邮件网页端或第三方邮件插件接收用户触发的触发请求,从所述邮件服务 器中获取当前电子邮件的电子邮件ID,所述邮件网页端或第三方邮件插件调用 API接口,向客户端节点发起存证请求,所述存证请求中包含所述电子邮件ID;
[0011] 所述客户端节点接收所述存证请求,从所述电子邮件服务器中,获取所述 电子邮件ID对应的电子邮件信息,所述电子邮件信息包括发件人、收件人、抄 送人、密送人、主题、邮件内容、邮件发送时间和邮件接收时间。
[0012] 在其中一个实施例中,所述所述客户端节点采用客户端的电子签名,对所 述电子邮件信息进行上链签名,将所述电子邮件信息和所述上链签名信息一起 生成存证区块,在区块链网络中进行上链,形成新的区块链,包括:
[0013] 创建存证区块,所述存证区块中包含区块头和区块体,所述区块头中包含 前一区块的哈希值变量、当前区块的哈希值变量、时间戳变量,所述区块体中 包含电子邮件信息变量;
[0014] 将所述电子邮件信息通过哈希函数计算生成哈希值,对所述哈希值进行上 链签名,将上链签名后的所述哈希值赋值给所述当前区块的哈希值变量,将当 前时间赋值给所述时间戳变量,将所述电子邮件信息赋值给所述电子邮件信息 变量;
[0015] 从预设的区块链列表中获取链尾区块的哈希值,将所述链尾区块的哈希值 赋值给所述前一区块的哈希值变量,生成一项存证区块;
[0016] 将上链签名后的所述哈希值添加到所述区块链列表中,将生成的所述存证 区块定义为所述链尾区块,完成所述存证区块的上链。
[0017] 在其中一个实施例中,所述所述客户端节点采用客户端的电子签名,对所 述电子邮件信息进行上链签名,将所述电子邮件信息和所述上链签名信息一起 生成存证区块,在区块链网络中进行上链,形成新的区块链后,还包括:
[0018] 所述客户端节点将已上链的所述存证区块广播到所述区块链网络中的其他 节点;
[0019] 所述其他节点读取所述存证区块中的前一区块的哈希值、当前区块的哈希 值后,与自身节点中的区块链列表进行比较,当所述区块链列表的链尾是所述 前一区块的哈希值时,将所述当前区块的哈希值添加入所述区块链列表中,将 生成的所述存证区块定义为所述链尾区块,完成存证数据的同步。
[0020] 在其中一个实施例中,所述公证方节点在区块链网络中获取所述存证区块, 采用公证方的电子签名,对所述存证区块中的电子邮件信息和上链签名信息进 行公证签名前,还包括:
[0021] 对所述存证区块的所述区块体中的电子邮件信息通过哈希函数计算得到第 一哈希值;
[0022] 对上链签名后的所述哈希值通过上链签名对应的公钥解密后得到第二哈希 值;
[0023] 将所述第一哈希值和所述第二哈希值进行对比,判断是否相等,若不同则 认为已被篡改,不予公证签名,若相同则进行公证签名。
[0024] 在其中一个实施例中,所述对所述存证区块中的电子邮件信息和上链签名 信息进行公证签名,将所述电子邮件信息、上链签名信息、公证签名信息和当 前时间一起生成公证区块,并将公证区块链接到所述存证区块所在的区块链上, 包括:
[0025] 创建公证区块,所述公证区块中包含区块头和区块体,所述区块头中包含 前一区块的哈希值变量、当前区块的哈希值变量、时间戳变量,所述区块体中 包含电子邮件信息变量;
[0026] 将公证签名后的哈希值赋值给所述当前区块的哈希值变量,将当前时间赋 值给所述时间戳变量,将所述存证区块中的电子邮件信息据赋值给所述电子邮 件信息变量;
[0027] 从自身节点中所述区块链列表中获取链尾区块的哈希值,将所述链尾区块 的哈希值赋值给所述前一区块的哈希值变量,生成一项公证区块;
[0028] 将公证签名后的所述哈希值添加到所述区块链列表中,将生成的所述公证 区块定义为所述链尾区块,完成所述公证区块的上链。
[0029] 在其中一个实施例中,所述对所述存证区块中的电子邮件信息和上链签名 信息进行公证签名,将所述电子邮件信息、上链签名信息、公证签名信息和当 前时间一起生成公证区块,并将公证区块链接到所述存证区块所在的区块链上 后,还包括:
[0030] 所述公证方节点将已上链的所述公证区块广播到所述区块链网络中的其他 节点;
[0031] 所述其他节点读取所述公证区块中的前一区块的哈希值、当前区块的哈希 值后,与自身节点中的区块链列表进行比较,当所述区块链列表的链尾是所述 前一区块的哈希值时,将所述当前区块的哈希值添加入所述区块链列表中,将 生成的所述公证区块定义为所述链尾区块,完成公证数据的同步。
[0032] 一种基于区块链的邮件存证装置,包括:接收存证请求模块,设置为客户 端节点接收用户发送的存证请求,所述存证请求中包含有需要存证的电子邮件 ID,所述客户端节点根据所述电子邮件ID,从电子邮件服务器中获取对应的电 子邮件信息;
[0033] 生成存证区块模块,设置为所述客户端节点采用客户端的电子签名,对所 述电子邮件信息进行上链签名,将所述电子邮件信息和所述上链签名信息一起 生成存证区块,在区块链网络中进行上链,形成新的区块链;
[0034] 生成公证区块模块,设置为公证方节点在区块链网络中获取所述存证区块, 采用公证方的电子签名,对所述存证区块中的电子邮件信息和上链签名信息进 行公证签名,将所述电子邮件信息、上链签名信息、公证签名信息和当前时间 一起生成公证区块,并将公证区块链接到所述存证区块所在的区块链上。
[0035] 一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读 指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述基 于区块链的邮件存证方法的步骤。
[0036] 一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多 个处理器执行时,使得一个或多个处理器执行上述基于区块链的邮件存证方法 的步骤。
[0037] 上述基于区块链的邮件存证方法、装置、计算机设备和存储介质,包括客 户端节点接收用户发送的存证请求,所述存证请求中包含有需要存证的电子邮 件ID,所述客户端节点根据所述电子邮件ID,从电子邮件服务器中获取对应的 电子邮件信息;所述客户端节点采用客户端的电子签名,对所述电子邮件信息 进行上链签名,将所述电子邮件信息和所述上链签名信息一起生成存证区块, 在区块链网络中进行上链,形成新的区块链;公证方节点在区块链网络中获取 所述存证区块,采用公证方的电子签名,对所述存证区块中的电子邮件信息和 上链签名信息进行公证签名,将所述电子邮件信息、上链签名信息、公证签名 信息和当前时间一起生成公证区块,并将公证区块链接到所述存证区块所在的 区块链上。本发明引入去中心化的区块链网络,基于区块链去中心化的优势, 将需要存证的邮件内容生成存证区块进行上链,并加入公证环节和公证区块一 起上链,增加邮件证据的公信力。由于区块链网络的特点,网络中的多方节点 都可以参与,地位平等,上链后的所有区块都具有时间戳,邮件证据安全、不 可篡改、可追溯,因此可以作为法律依据。附图说明
[0038] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领 域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并 不认为是对本发明的限制。
[0039] 图1为本发明一个实施例中的基于区块链的邮件存证方法的流程图
[0040] 图2为一个实施例中步骤S1的一种流程图;
[0041] 图3为一个实施例中步骤S2的一种流程图;
[0042] 图4为一个实施例中步骤S3的一种流程图;
[0043] 图5为本发明一个实施例中基于区块链的邮件存证装置的结构图。

具体实施方式

[0044] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
[0045] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、 “一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发 明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元 件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操 作、元件、组件和/或它们的组。
[0046] 图1为本发明一个实施例中的基于区块链的邮件存证方法的流程图,如图1 所示,一种基于区块链的邮件存证方法,包括以下步骤:
[0047] 步骤S1,接收存证请求:客户端节点接收用户发送的存证请求,存证请求 中包含有需要存证的电子邮件ID,客户端节点根据电子邮件ID,从电子邮件服 务器中获取对应的电子邮件信息。
[0048] 区块链网络是一种基于区块链技术的系统,也被称为分布式账本技术,是 一种互联网数据库技术。其特点是去中心化、公开透明,让每个用户均可参与 维护数据库记录。区块链网络是分布式数据存储、点对点传输、共识机制、加 密算法等计算机技术的新型应用模式。区块链网络主要包括数据层、智能合约 层等,其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础 数据和基本算法,而底层数据区块以链式结构呈现,即区块链是一种按照时间 顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方 式保证的不可篡改和不可伪造的分布式账本。
[0049] 本步骤引入区块链网络,客户端节点可以为多个,任一在区块链网络中注 册的终端都可以设置为客户端节点。在客户端节点设置存证触发模块,证据提 供方用户需要对某一已发送或已接收的电子邮件上链时,触发此存证触发模块, 客户端节点接收用户发送的存证请求。其中,存证触发模块的触发方式可以有 多种方式,如用户通过网页端触发和用户通过第三方邮件插件触发。
[0050] 在一个实施例中,步骤S1,如图2所示,包括:
[0051] 步骤S101,触发请求:邮件网页端或第三方邮件插件接收用户触发的触发 请求,从邮件服务器中获取当前电子邮件的电子邮件ID,邮件网页端或第三方 邮件插件调用API接口,向客户端节点发起存证请求,存证请求中包含电子邮 件ID。
[0052] 用户通过邮件网页端触发存证请求前,在邮件网页端预设触发按键,触发 按键作为存在触发模块,用户选中需要存证的电子邮件并点击触发按键,邮件 网页端调用API接口,向客户端节点发起存证请求。
[0053] 用户也可以通过第三方邮件插件触发,例如outlook插件、网易闪电邮插 件或Foxmail插件等,在邮件插件中增设有触发按键,用户选中需要存证的电 子邮件并点击触发按键,第三方邮件插件调用API向客户端节点发起存证请求。
[0054] 用户也可以同时选中多个需要存证的电子邮件,邮件网页端或第三方邮件 插件获取多个电子邮件ID,并向客户端节点发起存证请求,该请求中包含多个 电子邮件ID。
[0055] 步骤S102,获取电子邮件信息:客户端节点接收存证请求,从电子邮件服 务器中,获取电子邮件ID对应的电子邮件信息,电子邮件信息包括发件人、收 件人、抄送人、密送人、主题、邮件内容、邮件发送时间和邮件接收时间。
[0056] 客户端节点接收的存证请求中,不必包含具体的电子邮件信息,而是根据 电子邮件ID,从电子邮件服务器中调取对应的电子邮件信息,避免数据由于多 次发送造成缺失或失真。当客户端节点接收到多个电子邮件ID时,分别通过电 子邮件ID获取多项电子邮件信息,多项电子邮件信息可以根据邮件发送时间进 行排序。
[0057] 本实施例通过两种不同的方式,触发存证请求,满足用户对电子邮件的不 同使用习惯。电子邮件信息的由客户端节点直接从电子邮件服务器中获取,避 免网页端或第三方邮件插件在数据传输时发生缺失。
[0058] 步骤S2,生成存证区块:客户端节点采用客户端的电子签名,对电子邮件 信息进行上链签名,将电子邮件信息和上链签名信息一起生成存证区块,在区 块链网络中进行上链,形成新的区块链。
[0059] 客户端节点在区块链网站中注册时,区块链网络根据智能合约,采用非对 称加密算法,生成一对公钥和私钥,私钥发送给客户端节点,由客户端节点保 存,公钥向其他特定节点公开,例如公证方节点。采用私钥对数据加密后,只 有对应的公钥才能解密。客户端节点采用客户端自身特定的电子签名,即私钥, 对电子邮件信息进行上链签名,保证电子邮件信息的完整性、上链者身份真实 性及不可假冒性。
[0060] 在一个实施例中,步骤S2,如图3所示,包括:
[0061] 步骤S201,创建存证区块:存证区块中包含区块头和区块体,区块头中包 含前一区块的哈希值变量、当前区块的哈希值变量、时间戳变量,区块体中包 含电子邮件信息变量。
[0062] 在创建存证区块时,客户端节点通过预设的Blockchain类中的new_block 方法进行创建。通过Blockchain类创建新的区块时,还创建一个空的区块链列 表,用于存储已上链的区块的信息。
[0063] 步骤S202,上链签名并赋值:将电子邮件信息通过哈希函数计算生成哈希 值,对哈希值进行上链签名,将上链签名后的哈希值赋值给当前区块的哈希值 变量,将当前时间赋值给时间戳变量,将电子邮件信息赋值给电子邮件信息变 量。
[0064] 哈希函数基于哈希算法,是信息技术领域非常基础也非常重要的技术,它 能将任意长度的二进制值(明文)映射为较短的固定长度的二进制值(hash值), 并且不同的明文很难映射为相同的hash值。常用的哈希函数包括MD4(Message Digest消息摘要)、MD5(MD4的改进版)、SHA-1等。在采用哈希函数对电子 邮件信息计算生成哈希值,保存数据的完整性后,还对生成的哈希值进行签名, 确定了上链方的身份。本步骤还将当前时间赋值给时间戳变量,作为时间证据, 确保邮件证据的完整性。
[0065] 步骤S203,生成存证区块:从预设的区块链列表中获取链尾区块的哈希值, 将链尾区块的哈希值赋值给前一区块的哈希值变量,生成一项存证区块。
[0066] 由于区块链网络的特点,每个区块必须包含前一区块的哈希值,因此本步 骤从自身节点的区块链列表中获取链尾区块的哈希值作为前一区块的哈希值。 其中,链尾区块为最新添加入区块链网络中的区块。
[0067] 在区块链网络中的任一节点都预设有区块链列表,且任一节点的区块链列 表都应相同且数据同步,区块链列表可以如下表1所示:
[0068]前一区块的哈希值 当前区块的哈希值 时间戳
哈希值X 哈希值1 201810281514
哈希值1 哈希值2 201810290957
[0069] 表1
[0070] 如上表1所示,本步骤中的链尾区块的哈希值即为哈希值2,将哈希值2赋 值给前一区块的哈希值变量。
[0071] 步骤S204,更新数据:将上链签名后的哈希值添加到区块链列表中,将生 成的存证区块定义为链尾区块,完成存证区块的上链。
[0072] 为了保证每次上链的区块中前一区块的哈希值都是最新添加入区块链网络 中的区块,在对每个区块上链完成后,都将刚上链的存证区块对应的信息更新 至区块链列表中。具体的,若步骤S202中上链签名后的哈希值为哈希值3,则 将上表1进行更新后,如下表2所示:
[0073]前一区块的哈希值 当前区块的哈希值 时间戳
哈希值X 哈希值1 201810281514
哈希值1 哈希值2 201810290957
哈希值2 哈希值3 201810291519
[0074] 表2
[0075] 本实施例通过预设的Blockchain类中的new_block方法创建存证区块,并 将存证区块进行上链,在上链完成后,还对区块链列表进行更新,保证了区块 链网络中数据的完整性。
[0076] 客户端节点在对新生成的存证区块上链完成后,还将新生成的存证区块广 播给区块链系统中的其他节点,供其他节点同步电子邮件信息:
[0077] 在一个实施例中,客户端节点将已上链的存证区块广播到区块链网络中的 其他节点;其他节点读取存证区块中的前一区块的哈希值、当前区块的哈希值 后,与自身节点中的区块链列表进行比较,当区块链列表的链尾是前一区块的 哈希值时,将当前区块的哈希值添加入区块链列表中,将生成的存证区块定义 为链尾区块,完成存证数据的同步。
[0078] 客户端节点在进行广播时,采用基于P2P网络的组网方式,逐个向临近节 点广播,将已上链的存证区块广播给其他节点。其他节点接收到广播后,对新 生成的存证区块并不进行验证过程,而是直接将存证区块对应的信息进行同步 即可。只有特定的节点,如公证方节点,才对存证区块进行进一步验证和公证 等工作。
[0079] 本实施例采用广播方式,保证了区块链网络中所有的区块链列表的高度同 步,以便于其他节点也可以一起参与到此区块链中。
[0080] 步骤S3,生成公证区块:公证方节点在区块链网络中获取存证区块,采用 公证方的电子签名,对存证区块中的电子邮件信息和上链签名信息进行公证签 名,将电子邮件信息、上链签名信息、公证签名信息和当前时间一起生成公证 区块,并将公证区块链接到存证区块所在的区块链上。
[0081] 本步骤中的公证方节点也可以为多个,具有进行公证证明活动能力的公证 机构在区块链系统中注册的终端设置为公证方节点。公证方节点可以通过客户 端节点广播后,获取存证区块。也可以在客户端节点完成上链后,自动将存证 区块广播给区块链网络中所有公证方节点或任一公证方节点。
[0082] 在一个实施例中,步骤S3,如图4所示,包括:
[0083] 步骤S301,创建公证区块:公证区块中包含区块头和区块体,区块头中包 含前一区块的哈希值变量、当前区块的哈希值变量、时间戳变量,区块体中包 含电子邮件信息变量。
[0084] 本步骤的公证区块的创建过程与步骤S201相同,均是通过预设的 Blockchain类中的new_block方法创建公证区块。
[0085] 步骤S302,公证签名并赋值:将公证签名后的哈希值赋值给当前区块的哈 希值变量,将当前时间赋值给时间戳变量,将存证区块中的电子邮件信息据赋 值给电子邮件信息变量。
[0086] 步骤S303,生成公证区块:从自身节点中区块链列表中获取链尾区块的哈 希值,将链尾区块的哈希值赋值给前一区块的哈希值变量,生成一项公证区块。
[0087] 步骤S304,更新数据:将公证签名后的哈希值添加到区块链列表中,将生 成的公证区块定义为链尾区块,完成公证区块的上链。
[0088] 若步骤S302中公证签名后的哈希值为哈希值4,则将上表2进行更新后, 如下表3所示:
[0089]前一区块的哈希值 当前区块的哈希值 时间戳
哈希值X 哈希值1 201810281514
哈希值1 哈希值2 201810290957
哈希值2 哈希值3 201810291519
哈希值3 哈希值4 201810291521
[0090] 表3
[0091] 本步骤通过公证方节点对已上链的存证区块进行公证签名后,生成公证区 块,再此上链的方式,将公证环节与区块链网络进行结合,增加了邮件证据的 公信力,上链的公证区块可作为法律依据,随时可以被区块链网络中的任一节 点获取和查看,避免了邮件内容和邮件时间的更改和删除,减少了邮件证据被 篡改的风险。
[0092] 在一个实施例中,步骤S3前,还包括:公证方节点对存证区块的区块体中 的电子邮件信息通过哈希函数计算得到第一哈希值;对上链签名后的哈希值通 过上链签名对应的公钥解密后得到第二哈希值;将第一哈希值和第二哈希值进 行对比,判断是否相等,若不同则认为已被篡改,不予公证签名,若相同则进 行公证签名。
[0093] 公证方节点从区块链网络中获取区块链网络中客户端节点注册时的公钥, 用本实施例的解密。通过本实施例的验证,不仅可以确定存证区块是否为此客 户端节点生成的,还可以确定电子邮件信息是否被篡改。只有确认客户端节点 身份及电子邮件信息一致的情况下,公证方节点才进行公正签名。
[0094] 在一个实施例中,步骤S3后,还包括:公证方节点将已上链的公证区块广 播到区块链网络中的其他节点;其他节点读取公证区块中的前一区块的哈希值、 当前区块的哈希值后,与自身节点中的区块链列表进行比较,当区块链列表的 链尾是前一区块的哈希值时,将当前区块的哈希值添加入区块链列表中,将生 成的公证区块定义为链尾区块,完成公证数据的同步。
[0095] 本实施例在进行广播时,也可以采用基于P2P网络的组网方式,逐个向临 近节点广播。其他节点接收到广播后,对新生成的公证区块无需进行验证过程, 而是直接将公证区块对应的信息进行同步。本实施例通过广播的方式,保证了 区块链网络中所有的区块链列表的高度同步。
[0096] 本发明实施例基于区块链的邮件存证方法,将邮件存证与区块链网络相结 合,多个客户端节点共同参与生成存证区块,多个公证方节点共同参与生成工 作区块,通过多方维护共同参与的方式,保证了电子邮件信息的完整性、不可 篡改和可追溯性,避免了邮件内容被篡改的风险,电子邮件信息可以作为法律 依据,供其他节点查看。
[0097] 在一个实施例中,提出了一种基于区块链的邮件存证装置,如图5所示, 包括如下模块:
[0098] 接收存证请求模块,设置为客户端节点接收用户发送的存证请求,所述存 证请求中包含有需要存证的电子邮件ID,所述客户端节点根据所述电子邮件ID, 从电子邮件服务器中获取对应的电子邮件信息;
[0099] 生成存证区块模块,设置为所述客户端节点采用客户端的电子签名,对所 述电子邮件信息进行上链签名,将所述电子邮件信息和所述上链签名信息一起 生成存证区块,在区块链网络中进行上链,形成新的区块链;
[0100] 生成公证区块模块,设置为公证方节点在区块链网络中获取所述存证区块, 采用公证方的电子签名,对所述存证区块中的电子邮件信息和上链签名信息进 行公证签名,将所述电子邮件信息、上链签名信息、公证签名信息和当前时间 一起生成公证区块,并将公证区块链接到所述存证区块所在的区块链上。
[0101] 在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器 中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行 计算机可读指令时实现上述各实施例的基于区块链的邮件存证方法中的步骤。
[0102] 在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机 可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施 例的基于区块链的邮件存证方法中的步骤。其中,存储介质可以为非易失性存 储介质。
[0103] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤 是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存 储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随 机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
[0104] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对 上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技 术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0105] 以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详 细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本 领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变 形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以 所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈