一种基于区块链技术的电子数据分布式保管方法及系统与流程

文档序号:14022536阅读:216来源:国知局
一种基于区块链技术的电子数据分布式保管方法及系统与流程

本申请涉及电子数据处理技术领域,尤其涉及一种基于区块链技术的电子数据分布式保管方法及系统。



背景技术:

随着网络和电子技术的发展以及人们对计算机网络的使用度越来越高,越来越多的行为由线下转为线上,由此所产生的电子数据也越来越多并且具有了证据效力。要使电子数据的证据效力有效就必须使其具有可证明性,因此必须保证电子数据的存储具有高度安全性才能保证数据的完整性和原始性,权威证明机构才能对其进行验证并出证。

区块链是一种通过去中心化和去信任化的方式集体去维护一个可靠数据库的技术方案。区块链系统将所要存储的数据存储在多个节点当中,并将数据的数据指纹及相关信息加盖时间戳以链状形式存储在系统所有的节点当中,这一系列的操作都是通过严密的密码学机制完成,使数据不易遭到破坏或丢失,从而使数据存储具有高度的安全性。

当前的电子数据保管方法中,设有可信服务器和云服务器。用户通过可信服务器进行身份认证,可信服务器将通过身份认证的用户信息存储到区块链当中;当可信服务器响应了用户上传证据的请求,用户就可上传证据,可信服务器接收到证据后验证用户合法性和相应电子证据的签名真实性,将验证通过后的电子证据存储至云存储服务器并生成相应的数字指纹,将生成的数字指纹连同相应的时间戳写入区块链中。该专利使用区块链技术存储证据的数字指纹并将证据明文存储在云服务器当中,该发明的证据保全方法实时性强,可节约大量时间,且不需要第三方公证机构参与,节约社会能源。但是该专利将证据明文存储在云服务器当中,一旦服务器遭到攻击证据被破坏,即使通过区块链中存储的数字指纹能够验证证据被破坏了也无法恢复原有的证据了,该专利并不能从根本上保证证据存储的安全性,且该专利去除了第三方公证机构,会导致证据的证明效力大大降低。

但是,现有的一些电子数据保全方法都比较依赖一个数据保管机构,一旦该保管机构遭到攻击数据就会丢失,且很难被恢复,导致电子数据的保管安全性很难被保证。



技术实现要素:

本发明实施例提供了一种基于区块链技术的电子数据分布式保管方法及系统,用以解决现有技术中一些电子数据保全方法都比较依赖一个数据保管机构,一旦该保管机构遭到攻击数据就会丢失,且很难被恢复,导致电子数据的保管安全性很难被保证的问题。

其具体的技术方案如下:

一种基于区块链技术的电子数据分布式保管方法及系统,应用于一分布式取证系统中,所述分布式取证系统包含1个主节点以及n个从节点,所述主节点分别与所述n个从节点连接,每个从节点对应一个权威证明机构,所述方法包括:

从节点接收主节点发送的数据信息,并对接收到的数据信息加盖时间戳,其中,所述数据信息包括原数据文件、用户信息以及数据保管地址;

根据所述原数据文件生成消息摘要md5校验码,并使用预存的密钥对原数据文件进行加密;

根据数据信息上加盖的时间戳,对所有数据信息按照时间先后顺序进行排序,并区块算法将所有数据信息封装成区块;

将封装完成的区块广播至全网,以使其他从节点接收更新保存所述从节点生成的区块。

可选的,对所有数据信息按照时间先后顺序进行排序,并区块算法将所有数据信息封装成区块,包括:

将指定时间段内的数据信息按照时间戳上的时间先后顺序进行排序,并将每条数据信息使用哈希算法生成对应的哈希值;

将生成的哈希值两两结合使用哈希算法生成新哈希值,并得到merkle根;

将得到的merkle根与上一区块的哈希值结合随机数生成当前区块的哈希值并的加盖时间戳,得到封装完成的所述区块。

可选的,将封装完成的区块广播至全网,包括:

接收全网中其他从节点返回的反馈信息;

判断反馈的从节点总数是否超过预设阈值;

若是,则将封装完成的区块广播至全网;

若否,则指示其他从节点继续进行区块封装。

可选的,在将封装完成的区块广播至全网之后,所述方法还包括:

接收主节点发送的数据信息查询指令;

在所述数据信息查询指令中获取用户信息,在区块链中根据用户信息提取出对应的数据信息;

在提取出的数据信息中确定出与所述md5校验码一致的信息,并将所述信息发送至主节点。

可选的,在提取出的数据信息中确定出与所述md5校验码一致的信息,并将所述信息发送至主节点,包括:

对提取出的数据信息使用预存的密钥进行解密,得到解密后的数据信息;

通过md5算法以及解密后的数据信息进行,生成新md5验证码;

将新md5验证码与区块链中所有md5验证码进行一一校验,并将md5验证码一致的数据信息发送至主节点。

一种电子数据分布式保管系统,所述系统包括主节点以及n个从节点,n个从节点中每个从节点与主节点连接,每个从节点对应一个权威证明机构,其中,

主节点,用于接收用户的登陆请求,并根据用户选择的权威证明机构,配置相应权威证明机构所控制的从节点执行电子数据保管任务;

从节点,用于接收主节点发送的数据信息,并对接收到的数据信息加盖时间戳,其中,所述数据信息包括原数据文件、用户信息以及数据保管地址;根据所述原数据文件生成消息摘要md5校验码,并使用预存的密钥对原数据文件进行加密;根据数据信息上加盖的时间戳,对所有数据信息按照时间先后顺序进行排序,并区块算法将所有数据信息封装成区块;将封装完成的区块广播至全网,以使其他从节点接收更新保存所述从节点生成的区块。

可选的,所述从节点,具体用于将指定时间段内的数据信息按照时间戳上的时间先后顺序进行排序,并将每条数据信息使用哈希算法生成对应的哈希值;将生成的哈希值两两结合使用哈希算法生成新哈希值,并得到merkle根;将得到的merkle根与上一区块的哈希值结合随机数生成当前区块的哈希值并的加盖时间戳,得到封装完成的所述区块。

可选的,所述从节点,具体用于接收全网中其他从节点返回的反馈信息;判断反馈的从节点总数是否超过预设阈值;若是,则将封装完成的区块广播至全网;若否,则指示其他从节点继续进行区块封装。

可选的,所述从节点,具体用于接收主节点发送的数据信息查询指令;在所述数据信息查询指令中获取用户信息,在区块链中根据用户信息提取出对应的数据信息;在提取出的数据信息中确定出与所述md5校验码一致的信息,并将所述信息发送至主节点。

可选的,所述从节点,具体用于对提取出的数据信息使用预存的密钥进行解密,得到解密后的数据信息;通过md5算法以及解密后的数据信息进行,生成新md5验证码;将新md5验证码与区块链中所有md5验证码进行一一校验,并将md5验证码一致的数据信息发送至主节点。

本发明实施例提供了一种基于区块链技术的电子数据分布式保管方法,通过本发明所提出的方法对原始数据使用密钥加密并进行分布式存储,所以提高了数据保管的安全性,而使用区块链技术对数据信息进行存储,进一步的保证了数据信息的原始性,并且用户可选择多个节点进行数据保管,使得数据保管具有极高的安全性。

附图说明

图1为本发明实施例中分布式数据保管系统的结构示意图;

图2为本发明实施例中一种基于区块链技术的电子数据分布式保管方法;

图3为本发明实施例中新区块写入区块链的方法流程图;

图4为本发明实施例中区块机构示意图;

图5为本发明实施例中数据信息查询方法流程图;

图6为本发明实施例中一种分布式电子数据保管系统结构示意图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。

如图1所示为本发明实施例中一种电子数据取证方法的流程图,首先该方法应用于一分布式数据保管系统中,该分布式取证系统包含1个主节点以及n个从节点,主节点分别与n个从节点连接,每个从节点对应一个权威证明机构,

主节点101为服务器,与从节点102连接,并与从节点102配合,为用户提供注册登录、电子数据上传、数据保管地址选择、电子数据信息查询服务;

从节点102由权威证明机构控制,与主节点101连接,并对电子数据进行数据分布式加密存储,数据路由和转发以及数据信息共享等操作,且与主节点连接,用于执行用户的服务请求并返回相应操作结果至主节点,以供用户在主节点界面查询。其中,每一从节点对应一个权威证明机构。

通过本发明的基于区块链技术的电子数据分布式保管方法及装置,可极大提高权威证明机构对用户上传电子数据保管的安全性,使电子数据具有不可篡改性。

为了达到上述效果,该系统中将执行图2所示的方法流程,该方法包括:

s201,从节点接收主节点发送的数据信息,并对接收到的数据信息加盖时间戳,其中,数据信息包括原数据文件、用户信息以及数据保管地址;

s202,根据原数据文件生成消息摘要md5校验码,并使用预存的密钥对原数据文件进行加密;

s203,根据数据信息上加盖时间戳,对所有数据信息按照时间先后顺序进行排序,并通过区块算法将所有数据信息封装成区块;

s204,将封装完成的区块广播至全网,以使其他从节点接收更新保存从节点生成的区块。

首先来讲,在执行s201之前,需要用户通过主节点上传数据信息,用户首先需要在主节点注册获得用户名和密码,主节点将相应用户信息存储至服务器,当用户需要上传保管数据时,使用用户名和密码登录主节点,主节点将根据存储的用户信息进行验证,验证通过后才能进行相应的操作。

用户登录成功后,可选择数据上传功能,选择要上传的电子数据然后选择数据保管地址并提交,其中,数据保管地址指的是预先存储在主节点的可以进行数据保管的从节点的地址。

主节点接收到用户上传电子数据的要求后,会将原数据文件、相应用户信息以及选择的数据保管地址信息打包发送至数据保管地址指向的从节点。

接收到数据信息的从节点指的是数据保管地址指向的从节点,从节点通过数据聚合路由设备接收主节点转发的数据信息加盖时间戳,并将时间戳转发至数据存储路由设备。

数据聚合路由设备可与主节点以及数据存储路由设备通信,具有接收信息、转发信息以及路由功能。

在从节点接收到的主节点的数据信息之后,从节点中的数据存储路由设备将执行s202。

在步骤s202中,从节点的数据存储路由设备接收数据聚合路由设备转发的数据信息后,将原数据文件使用md5算法生成md5校验码,并使用相应从节点所持有的密钥对原数据文件进行加密,再使用分布式算法对加密后的数据进行分布式存储。

从节点所持有的密钥是在该从节点加入网络时由权威证明机构分配的,每一从节点都有唯一的密钥可对该从节点进行身份合法性认证。

从节点的数据存储路由设备将保存数据文件的加密存储信息、对应用户信息、数据保管地址信息以及相应时间戳,并将md5、用户信息、数据保管地址信息以及时间戳打包转发至数据共识路由设备,最后将数据上传保管成功的结果通过数据聚合路由设备反馈至主节点供用户查看。

所述数据存储路由设备可与数据聚合路由设备以及数据共识路由设备通信,具有加密存储数据、接收转发信息以及路由功能。

该流程中用户可选择多个数据保管地址,每个数据保管地址指向的从节点都会使用相应密钥对数据加密,再使用分布式算法对加密数据进行存储,这样既可保证从节点保管的电子数据不易遭到破坏,又可保证即使一个从节点的数据遭到破坏也可从其他节点中恢复原有数据,可使数据保管具有极高的安全性。

在上述的步骤完成之后,需要对数据信息加盖时间戳,并对数据信息按照时间先后顺序进行排序,并通过区块算法将所有数据信息封装成区块。具体加入新区块的流程如图3所示,该方法包括:

s301,各从节点的数据共识路由设备接收该从节点的数据存储路由设备和其他从节点数据共识路由设备转发的数据信息,将接收到的数据信息按照时间戳顺序排列;

从节点的数据共识路由设备可接收该从节点数据存储路由设备和其他从节点数据共识路由设备转发的数据信息,并将接收到的数据信息按照时间戳顺序排列存储。

具体的,将数据信息按照时间戳顺序排列存储是为了在将数据封装成区块时可根据时间间隔进行封装。

s302,各从节点将一段时间内的数据信息按照区块链打包规则封装成区块,最先打包好新区块的从节点获得新区块写入权限,将新区块广播至全网。

所有的从节点会将一段时间内的数据信息按照区块链打包规则封装成区块,具体的,是将一段时间内的每条数据信息使用哈希算法生成相应的哈希值,再将哈希值两两结合继续使用哈希算法生成相应哈希值,直到生成一个merkle根,将merkle根与前一区块哈希值结合随机数生成当前区块的哈希值并加盖时间戳完成新区块的生成,最先生成新区块的节点获得新区块写入权限,将新区块广播至全网。

所述新区块的写入权限指可往区块链中增加新区块的权限,一旦一个节点获得写入权限那么其他节点在该段时间内都没有写入权限,直到节点接收到新区块写入成功或失败的结果,才会进行新一轮新区块写入权限的分配,每一轮只会有一个节点获得写入权限,所以在该区块链中不会存在支链。生成的区块结构如图4所示。

s303,其他从节点接收到信息后停止新区块的封装,验证接收到的新区块,并将判断结果返回至获得写入权限的从节点;

其他从节点接收到信息后停止封装新区块,并验证新的区块,通过验证新的区块的前一区块哈希值与本地区块链中最后一个区块中的当前区块哈希值是否一致来判断新区块是否有效,并将判断结果返回给获得写入权限的从节点。

s304,从节点判断是否有51%以上的从节点回复确认信息;

拥有写入权限的从节点接收其他从节点返回的判断结果,因为在联盟链中从节点的个数是已知的,所以可通过判断接收到的确认结果是否占所有从节点个数的51%以上来确认该从节点是否为可信从节点。若该从节点收到了51%以上的从节点回复确认的信息,则执行步骤s305;若该从节点接收到的确认信息在50%以下,则删除该从节点的区块链内容,并释放写入权限,其他从节点则重新进行新一轮的打包区块链过程,即执行步骤s302。

s305、该从节点的数据共识路由设备将新区块链接到原有区块链中并将新的区块链内容广播至全网,其他从节点更新本地区块链内容为最新。

被确认可信的从节点的数据共识路由设备会将新区块链接到原有的区块链中,并将新的区块链内容广播至全网,其它从节点则更新本地的区块链内容为最新,然后继续新一轮的新区块打包。

数据共识路由设备可与本从节点的数据存储路由设备以及其他从节点的数据共识路由设备通信,具有数据存储、新区块封装、信息接收广播以及路由功能。

该流程使用区块链技术封装电子数据的md5校验码、用户信息、数据保管地址和时间戳信息,并将这些信息存储至所用的从节点中,可保证这些信息的不可更改性和不可抵赖性,如果想要修改区块链中的数据信息,除非将51%以上的节点数据都更改成功才能实现,所以使用区块链技术极大的保证了数据信息的安全性。

进一步,在数据信息保存完成之后,还可以对数据信息进行查询,数据信息查询方法流程如图5所示,该方法包括:

s501、主节点获取用户选择的电子数据信息查询,主节点将用户信息转发至附近的一个从节点的数据聚合路由设备中;

用户登录主节点后可选择电子数据信息查询,主节点将用户信息转发至附近的一个从节点,从节点通过数据聚合路由设备接收主节点发送的信息。

s502、接收到信息的从节点从数据共识路由设备中存储的区块链中根据用户信息提取出该用户所有数据信息,并根据数据保管地址将数据信息发送到邻近保管原数据文件的从节点;

接收到信息的从节点从数据共识路由设备中存储的区块链中根据用户信息提取出该用户的所有数据信息,然后根据数据保管地址将数据信息打包发送至邻近的一个从节点。

s503、该从节点从数据存储路由设备提取出该用户的加密数据信息并使用密钥解密,将解密后的电子数据使用md5算法生成md5码与区块链中存储的md5码一一校对,验证是否一致。

s504、从节点将md5码相同的数据信息发送至主节点供用户查看,md5码不相同的电子数据信息采取相应措施进行数据恢复,若不成功则向主节点返回查询不成功的结果。

该从节点将md5码不相同的电子数据的原md5码以及用户信息根据数据保管地址信息发送至相应从节点,接收到信息的从节点根据用户信息从数据存储路由设备中提取出电子数据解密后再生成md5码匹配接收到的md5码,将匹配成功的电子数据原文件以及其md5码转发至发起节点,发起节点更新数据存储路由设备中保管的相应电子数据文件。

该节点将最后所得到的与区块链中md5码一致的相关数据信息发送至主节点供用户查看,而不一致的md5码则返回查询失败的信息。

所述查询失败的情况在该方法中出现的概率很小,因为本发明所提出的方法对原始数据使用密钥加密并进行分布式存储,提高了数据保管的安全性,而使用区块链技术对数据信息进行存储,进一步的保证了数据信息的原始性,并且用户可选择多个节点进行数据保管,使得数据保管具有极高的安全性。

对应本发明实施例中一种基于区块链技术的电子数据分布式保管方法,本发明实施例中还提供了一种电子数据分布式保管系统,如图6所示为本发明实施例中一种电子数据分布式保管系统的结构示意图,该系统包括:主节点601以及n个从节点602,n个从节点602中每个从节点602与主节点601连接,每个从节点602对应一个权威证明机构,其中,

主节点601,用于接收用户的登陆请求,并根据用户选择的权威证明机构,配置相应权威证明机构所控制的从节点602执行电子数据保管任务;

从节点602,用于接收主节点601发送的数据信息,并对接收到的数据信息加盖时间戳,其中,所述数据信息包括原数据文件、用户信息以及数据保管地址;根据所述原数据文件生成消息摘要md5校验码,并使用预存的密钥对原数据文件进行加密;根据数据信息上加盖的时间戳,对所有数据信息按照时间先后顺序进行排序,并区块算法将所有数据信息封装成区块;将封装完成的区块广播至全网,以使其他从节点602接收更新保存所述从节点602生成的区块。

进一步,在本发明实施例中,所述从节点602,具体用于将指定时间段内的数据信息按照时间戳上的时间先后顺序进行排序,并将每条数据信息使用哈希算法生成对应的哈希值;将生成的哈希值两两结合使用哈希算法生成新哈希值,并得到merkle根;将得到的merkle根与上一区块的哈希值结合随机数生成当前区块的哈希值并的加盖时间戳,得到封装完成的所述区块。

进一步,在本发明实施例中,所述从节点602,具体用于接收全网中其他从节点602返回的反馈信息;判断反馈的从节点602总数是否超过预设阈值;若是,则将封装完成的区块广播至全网;若否,则指示其他从节点602继续进行区块封装。

进一步,在本发明实施例中,所述从节点602,具体用于接收主节点601发送的数据信息查询指令;在所述数据信息查询指令中获取用户信息,在区块链中根据用户信息提取出对应的数据信息;在提取出的数据信息中确定出与所述md5校验码一致的信息,并将所述信息发送至主节点601。

进一步,在本发明实施例中,所述从节点601,具体用于对提取出的数据信息使用预存的密钥进行解密,得到解密后的数据信息;通过md5算法以及解密后的数据信息进行,生成新md5验证码;将新md5验证码与区块链中所有md5验证码进行一一校验,并将md5验证码一致的数据信息发送至主节点601。

尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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