一种基于区块链的电子证据采集、保存与验证方法与流程

文档序号:16882262发布日期:2019-02-15 22:17阅读:152来源:国知局
一种基于区块链的电子证据采集、保存与验证方法与流程

本发明涉及信息处理领域,特别涉及一种基于区块链的电子证据采集、保存与验证方法。



背景技术:

随着信息技术的发展,计算机、手机、数码相机等各种电子产品已融入到了人们的日常生活中,其产生的电子文件已成为传递与记录信息的重要载体。电子证据是指借助现代信息技术和电子设备形成的一切证据,或者以电子形式表现出来的能够证明案件事实的一切证据。人们正处于信息化时代,电子证据在证明案件事实的过程中起到了越来越重要的作用。

然而,由于电子证据本身的特点,其容易被伪造与篡改,这大大限制了电子证据的可信性。区块链是借由密码学串接并保护内容的串连记录。每一个区块包含了前一个区块的加密散列、相应时间戳记以及需记录的数据,这样的设计使得区块内容具有难以被篡改的特性。用区块链所串接的分布式账本能让电子证据被有效记录,且各方可永久查验此证据。然而,现有的使用区块链保存证据的技术往往认为由某个可信组织申请存入区块链的数据即为真实的证据,忽视了对电子证据采集与入链过程中的检查,使得被存入区块链的数据并不一定是真实的证据信息。比如负责广播证据入链请求的节点被黑客控制,黑客完全可以将自己伪造的信息保存入区块链中,而使其他各方都认为这是真实的电子证据。所以,现有的电子证据采集与保存方法存在的问题亟待解决。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种基于区块链的电子证据采集、保存与验证方法,在利用了区块链技术带来的数据不可篡改性的同时,结合数字签名技术带来的对设备以及人员的身份验证功能,为电子证据的采集与保存提供了安全保护,包括防止电子证据被伪造以及被事后篡改。

实现本发明目的的具体技术方案是:

一种基于区块链的电子证据采集、保存与验证方法,该方法包括以下具体步骤:

步骤s1,取证终端采集证据的电子版本,即电子证据,并获取采集发生的时间与位置信息;

步骤s2,取证终端对采集到的电子证据进行处理得到证据数据,并对证据数据以及获取到的时间与位置信息,使用采集终端和本次取证的各对应人员的私钥,进行签名,并将证据数据、时间与位置信息及签名发送到对应区块链节点;

步骤s3,对应区块链节点检查收到数据中的采集终端签名,以及本次取证的各对应人员签名的合法性,并选择地检查采集的时间与位置信息的有效性,若均有效则将证据数据、时间与位置信息及签名存入区块链中进行保存,否则拒绝承认该次取证的有效性;

步骤s4,验证该电子证据的某一副本的有效性时进行如下的验证:从区块链中读取该证据对应信息,与申请验证的电子证据副本进行对比,若均一致且包括时间位置信息以及签名在内的附加信息有效,则承认相应证据副本有效,否则拒绝承认该证据副本。

本发明的步骤s1中,获取采集发生的时间与位置信息的信息来源是但不限于北斗卫星系统或gps系统;同时也不仅限于从卫星系统获取时间与位置信息,只需要信息的来源能保证时间与位置信息真实可信。

本发明的步骤s2与s3中,所述证据数据是但不限于证据的原始数据、对证据原始数据加密后产生的密文、对证据原始数据使用一种或多种哈希算法进行摘要后产生的哈希值,以及所述的原始数据、密文以及哈希值中的多种形式共存。

本发明的步骤s2与s3中,所述本次取证的各对应人员包括但不限于:取证操作人员、取证授权人员和取证请求者;其中:所述取证操作人员为操作取证终端进行取证的工作人员;取证授权人员为审核以及授权该次取证操作的工作人员;取证请求者为发起该次取证请求的人或组织。

本发明的步骤s2与s3中,所述的对应区块链节点指的是区块链节点中需要接收数据入链请求并对请求进行合法性判断的节点,具体根据所使用的区块链架构的不同而不同。

本发明的步骤s2中,所述使用采集终端和本次取证的各对应人员的私钥,进行签名的具体方式包括但不限于以下几种:

对应人员将其私钥手动输入取证终端,取证终端使用输入的密钥进行签名;

对应人员将带有其私钥的存储介质插入取证终端,取证终端使用读取的密钥进行签名;

对应人员将带有其私钥的数据签名模块插入取证终端,取证终端将欲签名数据传输给签名模块进行签名,接收签名模块的签名结果。

本发明的步骤s3中,所述对应区块链节点对收到数据的检查包括但不限于如下几点:

检查收到的数据中的各种签名是否伪造:获取各签名者的相应公钥,对签名的对应信息进行解密以检查数字签名的合法性;

检查采集终端是否为有资质的取证设备:若取证终端具有合法数字签名,则检查该签名是否为有资质的取证设备签署的;

检查本次取证的各相关人员是否为有资质的人员:若取证相关人员具有合法数字签名,则检查取证操作人员签名的签署者是否有相应的取证资质,授权人员签名的签署者是否能够授权该次取证,以及取证请求者签名的签署者是否能够发起该次取证;

选择地,检查采集发生的时间与地点以及设备与人员的组合是否被许可、是否符合证据存在的时间与地点等。

本发明的步骤s4中,验证该电子证据的某一副本的有效性时进行如下的验证:

若区块链中存在相应电子证据的明文,则核对提交的电子证据副本与其是否完全一致;

若存在原电子证据经过加密后产生的密文,则解密后检查其与提交的电子证据副本是否一致,或者将提交的证据副本按相同方式加密后,检查密文是否一致;

若存在原电子证据的哈希值,则对提交的电子证据副本使用相应的哈希算法进行摘要,检查所有哈希值是否一致;

若通过上述的检查,则可确认该证据副本未被事后篡改,随后可按照步骤s3中提到的方法再次检查附加信息,即检查采集终端签名、本次取证的各对应人员签名的合法性、采集的时间与位置信息的有效性,从而对取证有效性进行再次检查,若通过所有检查则承认证据副本有效,否则拒绝承认该证据副本的有效性。

本发明的有益效果在于:

能够保障采集得到的证据的真实性:通过对数字签名的校验以及签名者身份等的检查,可以确认证据是采用有资质的可信取证设备进行采集的,设备的使用者是有资质的取证人员,其取证行为得到了有关人员的许可,取证发生的时间、地点符合要求。这些信息可以保障电子证据不是人为捏造,也不是从其它时间地点挪用而来,并且取证符合相应规范,也可供后续进行审计。故本发明能够保障采集得到证据的真实性。

能够保障电子证据未被事后修改:通过将认定为真实的证据数据以及相关信息保存入区块链中,利用区块链提供的数据不可篡改的性质,将电子证据妥善保存,后续若需对电子证据进行确认,则从区块链中读取相关信息进行对比验证,从而确保电子证据未被事后修改。

综上,本发明确保了存入区块链的证据的真实性,也利用区块链技术保障了证据存入后的不可篡改性,为电子证据采集与保存提供了安全保护。

附图说明

图1是本发明流程图。

具体实施方式

下面结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。

实施例

本发明中有关的技术术语代表的含义如下:

sigk(m)表示用密钥k对数据项m进行签名;

e(m)表示给数据项m进行加密;

d(m)表示给密文m进行解密;

h(m)表示数据项m的哈希值;

[m]表示m为可选的;

{s}表示集合s;

{a,b,c}表示由a、b、c三个元素组成的集合;

(a,b,c)表示由a、b、c三个子数据项组成的一个数据项。

如图1所示,本发明包括以下步骤:

步骤s1,取证终端采集证据的原始电子版本eviraw,即电子证据,并从卫星系统等信息来源获取采集发生的时间t与位置信息p;

步骤s2,取证终端对采集到的电子证据eviraw进行处理得到证据数据集合{evi},然后对证据数据集合{evi}以及获取的时间t与位置p,使用采集终端和本次取证的各相关人员的私钥,进行数字签名操作,得到各签名集合{sig}。并将证据数据集合{evi}、时间t与位置p及签名集合{sig}发送到相关区块链节点;

步骤s3,相关区块链节点检查接收数据中的采集终端和本次取证的各相关人员签名集合{sig}的合法性,并选择地检查采集的时间t与位置p等信息的有效性,如均有效则将证据数据集合{evi}、时间t与位置p及签名集合{sig}存入区块链中保存,否则拒绝承认该次取证的有效性。

步骤s4,事后验证某份电子证据副本的有效性时,从区块链中读取该证据对应信息,将其中的证据数据集合{evi}与申请验证的电子证据副本evi′raw进行对比,若均一致且时间信息t与位置信息p及签名集合{sig}等附加信息有效则承认相应证据副本有效,否则拒绝承认该证据副本。

下面详细描述本实施例中的步骤s1:

本实施例中的取证终端可以将欲采集与保存的证据转化为电子文件形式的电子副本。若证据原本为电子数据,则取证终端将其拷贝,保存为电子文件形式的副本。若证据原本为非电子数据的实物等形式,则使用取证终端上的传感器,将其采集为电子数据。例如取证终端使用摄像头对纸质文件等证物进行拍照,保存为电子文件。上述步骤采集到的证据的原始电子版本记为eviraw。取证终端也可根据需要将eviraw进行导出另行保存。

本实施例中的取证终端还需要获取取证发生的时间与地点。例如,取证终端通过北斗卫星系统获取取证发生的时间与位置信息。取证终端也可以从能保证时间与位置信息真实可信的其他数据来源获得这些数据。上述步骤获取到的时间信息记为t,获取到的位置信息记为p。

上述两个行为发生的顺序视取证的具体情况而定,可以在证据采集开始时获取时间与位置,也可在证据采集完成时获取时间与位置,还可以在证据采集的同时多次获取时间与位置,但需要保证该操作符合取证的相关规范。

取证终端的载体可以为计算机软件,也可以为某种硬件,但需要保障其能够真实地采集证据的电子副本。取证终端对证据的采集可以由取证人员手动执行,也可以由取证人员设置自动执行。

下面详细描述本实施例中的步骤s2:

取证终端首先将证据的原始电子版本eviraw进行处理得到用于签名和存入区块链的版本{evi}。这些处理包括但不限于对证据原始数据进行加密产生密文e(eviraw),对证据原始数据使用一种或多种哈希算法进行摘要产生哈希值集合{h(eviraw)},或者不进行额外处理直接使用eviraw。取证终端对eviraw进行包括但不限于上述的一种或多种处理,并将处理得到的一个或多个结果合并作为用于签名和存入区块链的证据数据集合{evi},即{evi}={[eviraw],[e(eviraw)],[{h(eviraw)}],…}。

随后使用取证终端与本次取证相关人员的私钥对证据数据集合{evi}、时间信息t、位置信息p进行签名操作。取证终端使用自己的私钥签名得到sigdev({evi},t,p);取证操作人员确认取证无误后,使用自己的私钥签名得到sigopt({evi},t,p);授权人员审核取证符合要求后,使用自己的私钥签名得到sigath({evi},t,p);取证请求者确认取得的电子证据符合预期后,使用自己的私钥签名得到sigreq({evi},t,p)。上述各签名的先后次序不加以限制,也可同时进行。上述的各类签名根据取证的具体情况可以有所增减,得到最终的签名集合{sig}={[sigdev({evi},t,p)],[sigopt({evi},t,p)],[sigath({evi},t,p)],[sigreq({evi},t,p)],…}。

取证终端使用相关人员的私钥进行签名的具体实现方式可包括但不限于以下几个方法:相关人员将其私钥手动输入取证终端,取证终端使用输入的密钥进行签名;相关人员将带有其私钥的存储介质插入取证终端,取证终端使用读取的密钥进行签名;相关人员将带有其私钥的数据签名模块插入取证终端,取证终端将欲签名数据传输给签名模块进行签名,接收签名模块的签名结果。

前述的取证操作人员指操作取证终端进行取证的工作人员;取证授权人员是指审核以及授权该次取证操作的工作人员;取证请求者是指发起该次取证请求的人或组织。取证人员进行签名的意义在于保障取证操作的正确性。取证授权人员进行签名的意义是保障取证过程受到许可与监督。取证请求者签名的意义在于添加请求者对证据的认可,可能增加证据的可信程度。例如,交易双方请求对某一证物的现状进行取证保存,作为取证请求者,双方的数字签名表明了双方对取证结果的认可,这样更能证明证据并非伪造。如果取证涉及其他有关人员,上述的签名步骤也可加上这些人的签名。各相关人员的签名加上取证终端的签名共同保障了采集得到证据的真实性。

取证终端随后将证据数据集合{evi}、时间t与位置p及签名集合{sig}发送到相关区块链节点,用于将证据数据以及其它信息保存入区块链中。本处的相关区块链节点指的是区块链节点中需要接收数据入链请求并对请求进行合法性判断的节点,具体根据所使用的区块链架构的不同而不同。例如,基于类比特币架构的区块链,取证终端将广播这些数据到所有节点;基于hyperledgerfabric架构的区块链,取证终端将数据发送到背书节点,随后附加其它信息发送到排序节点,由排序节点发送到所有节点;其它不同架构有着不同的特性。本发明的具体实施将根据区块链底层架构的不同进行相应的细微调整。

下面详细描述本实施例中的步骤s3:

相关区块链节点检查收到的信息是否符合要求。具体进行包括但不限于如下的检查:

检查广播数据中的各种签名的集合{sig}是否伪造:获取各签名者的相应公钥,对签名的对应信息进行解密以检查数字签名的合法性。

检查采集终端是否为有资质的取证设备:若取证终端具有合法数字签名,则检查该签名是否为有资质的取证设备签署的。此步骤用于确认请求入链的数据是否为有资质的取证设备采集的,以减少其被伪造的可能。

检查本次取证的各相关人员是否为有资质的人员:若取证相关人员具有合法数字签名,则检查取证操作人员签名的签署者是否有相应的取证资质,授权人员签名的签署者是否能够授权该次取证,以及取证请求者签名的签署者是否能够发起该次取证。此步骤用于确认请求入链的数据是否得到了相关人员的认可。

选择地,检查采集发生的时间与地点以及设备与人员的组合是否被许可、是否符合证据存在的时间与地点。此步骤用于最后一次确认相关证据的采集步骤是否符合有关规定。例如:签署签名的取证操作人员只允许在其任职的实验室进行取证操作,而数据中的取证地点却在其它位置,或者使用的取证终端并不应该出现在该实验室,则认为该次取证无效;取证发生的时间或位置与证据存在的时间或位置不符,则认为该次取证无效。

上述检查进行的顺序不做要求。若收到的数据通过了包括但不限于上述的检查,则认为收到的数据是真实的电子证据,此时将证据数据集合{evi}、时间t与位置p及签名集合{sig}存入区块链中。根据所使用的区块链架构的不同,如何进行存储的具体细节不同。例如,基于类比特币架构的区块链,pow机制确定的某个节点将数据构造默克尔树,将树根放入区块头中并将区块进行广播,其它节点收到该区块后,若认可这本区块中的所有数据,则在该区块之后继续运行pow的相应计算;基于hyperledgerfabric架构的区块链,排序节点将得到足够背书的请求进行排序,发送给各节点,节点检查成功后更新账本和世界状态state;其它不同架构有着不同的特性。本发明并不需要关心这些区块链底层实现的区别。

下面详细描述本实施例中的步骤s4:

当事后需要对提交的电子证据副本evi′raw进行验证时,则从区块链中读取该证据相应的记录,包括证据数据集合{evi}、时间t与位置p及签名集合{sig}。对evi′raw与{evi}可以进行包括但不限于如下几点检查:

若区块链中存在相应电子证据的明文,即eviraw∈{evi},则核对提交的电子证据副本与其是否完全一致,即是否有evi′raw=eviraw。

若存在原电子证据经过加密后产生的密文,即e(eviraw)∈{evi},则解密后与提交的电子证据副本检查是否一致,即是否有evi′raw=d(e(eviraw));或者将提交的证据副本按相同方式加密后,检查密文是否一致,即是否有e(evi′raw)=e(eviraw)。

若存在原电子证据的哈希值,即{h(eviraw)}∈{evi},则对提交的电子证据副本使用相应的哈希算法进行摘要,检查所有哈希值是否一致,即是否有{h(evi′raw)}={h(eviraw)};

若通过上述的检查,则可确认该证据副本未被事后篡改,随后可按照步骤s3中提到的方法再次检查附加信息,从而对取证有效性进行再次检查,若通过所有检查则承认证据副本有效,否则拒绝承认该证据副本的有效性。

本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1