数据存储状态检测方法、装置及计算机可读存储介质与流程

文档序号:13004359阅读:197来源:国知局
数据存储状态检测方法、装置及计算机可读存储介质与流程

本发明涉及数据存储技术领域,尤其涉及数据存储状态检测方法、装置及计算机可读存储介质。



背景技术:

随着网络技术的飞速发展,如今我们已处于一个信息爆炸的时代。各种各样的数据已经与我们的生活息息相关。在这种情况下,一些关键数据的存储与保密也愈来愈重要。

通常,用户将数据存储在存储器中,但如果存储的数据被非法篡改,用户可能难以发觉,从而无法及时采取相应补救措施。



技术实现要素:

本发明的主要目的在于提供一种数据存储状态检测方法、装置及计算机可读存储介质,旨在解决现有技术中数据被非法篡改后用户难以发觉的技术问题。

为实现上述目的,本发明提供一种数据存储状态检测方法,所述数据存储状态检测方法包括:

获取接口信息,根据所述接口信息,在区块链中获取原始数据的原始哈希值以及原始数据的存储地址;

获取所述存储地址对应的待测数据,对所述待测数据进行哈希运算,得到所述待测数据对应的待测哈希值;

检测所述原始哈希值与所述待测哈希值是否一致,用以检测原始数据是否被篡改。

优选地,所述检测所述原始哈希值与所述待测哈希值是否一致之后包括:

若所述原始哈希值与所述待测哈希值不一致,则输出告警,用以通知用户原始数据已被篡改。

优选地,所述获取接口信息,根据所述接口信息,在区块链中获取原始数据的原始哈希值以及原始数据的存储地址之前包括:

将原始数据的原始哈希值以及原始数据的存储地址发布于区块链上;

当发布成功后,接收区块链反馈的接口信息。

优选地,所述对所述待测数据进行哈希运算,得到所述待测数据对应的待测哈希值包括:

获取标识信息,根据所述标识信息确定对应的哈希算法;

根据所述哈希算法对所述待测数据进行哈希运算,得到待测哈希值。

优选地,所述存储地址的寻址方式为去中心化域名寻址。

此外,为实现上述目的,本发明还提供一种数据存储状态检测装置,所述数据存储状态检测装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据存储状态检测程序,所述数据存储状态检测程序被所述处理器执行时实现如上述所述的数据存储状态检测方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据存储状态检测程序,所述数据存储状态检测程序被处理器执行时实现如上述所述的数据存储状态检测方法的步骤。

本发明中,通过获取接口信息,并根据接口信息在区块链中获取原始数据的原始哈希值以及原始数据的存储地址,根据存储地址获取待测数据,对待测数据进行哈希运算,得到待测哈希值,将原始哈希值同待测哈希值进行对比,用以检测原始数据是否被篡改。通过本发明,通过对原始数据真伪进行验证,当检测到原始数据遭到篡改后,通知用户,达到去伪存真的目的。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;

图2为本发明数据存储状态检测方法第一实施例的流程示意图;

图3为本发明数据存储状态检测方法第二实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。

本发明实施例装置可以是pc,也可以是智能手机、平板电脑、便携计算机等设备。

如图1所示,该装置可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的装置结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据存储状态检测程序。

在图1所示的装置中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据存储状态检测程序,并执行以下操作:

s10,获取接口信息,根据所述接口信息,在区块链中获取原始数据的原始哈希值以及原始数据的存储地址;

s20,获取所述存储地址对应的待测数据,对所述待测数据进行哈希运算,得到所述待测数据对应的待测哈希值;

s30,检测所述原始哈希值与所述待测哈希值是否一致,用以检测原始数据是否被篡改。

在本实施例中,当用户通过一台装置在区块链上成功发布一组信息后,会接收到区块链反馈的接口信息,接口信息包括此次发布行为对应的区块高度、地址哈希值、区块哈希值、交易哈希值或ipv4地址等消息,这样在以后想要调取此次发布的信息时,输入上述接口信息中的一种或多种,即可在区块链中找到此次发布的信息。

例如,在本发明一实施例中,用户通过一台装置在区块链上发布了原始数据的原始哈希值以及原始数据的存储地址。该原始哈希值是对原始数据进行哈希运算得到的,哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上来说基本上是不可能的。典型的哈希算法包括md2、md4、md5和sha-1。哈希算法也称为“哈希函数”。原始数据的存储地址为存储了原始数据的存储器的地址,该存储器可位于任意终端设备中。当原始数据的原始哈希值以及原始数据的存储地址在区块链上成功发布后,装置会接收到区块链反馈的接口信息,接口信息包括此次发布行为对应的区块高度、地址哈希值、区块哈希值、交易哈希值或ipv4地址等消息,这样在以后想要调取此次发布的原始数据的原始哈希值和原始数据的存储地址时,输入上述接口信息中的一种或多种,即可在区块链中找到此次发布的原始数据的原始哈希值和原始数据的存储地址。

装置接收到接口信息后,可将接口信息存储于装置中的存储器中或其他设备的存储器中,需要时从存储器中获取接口信息。例如用户设置一个执行周期,每天8:00执行s10至s30的步骤,每天8:00,装置自动从存储器中获取接口信息,然后通过接口信息在区块链上查找到原始数据的原始哈希值和原始数据的存储地址,根据原始数据的存储地址,获取待测数据(存储地址即存储原始数据的地址,由于不知道原始数据是否被篡改,故称为待测数据),获取到待测数据后,对待测数据进行哈希运算,得到待测数据的待测哈希值,将原始哈希值同待测哈希值进行对比,若检测到原始哈希值与待测哈希值一致,则说明待测数据即原始数据,原始数据未遭到篡改,若检测到原始哈希值与待测哈希值不一致,则说明待测数据不为原始数据,原始数据遭到了篡改,则输出告警,告警可以是以输出声音,例如发出“原始数据已被篡改”的告警声,或是输出文字“原始数据已被篡改”显示在装置屏幕上,输出告警的方式在此不做限制,具体根据实际情况进行设置。

本发明另一实施例中,还可以是,装置在接收到接口信息后,对接口信息进行保存,例如保存在存储器中或将接口信息印制在纸张上等形式对接口信息进行保存。当用户需要对原始数据的真伪性进行验证时,通过手动输入的方式将接口信息输入,装置在接收到基于用户手动操作输入的接口信息后,通过接口信息在区块链上查找到原始数据的原始哈希值和原始数据的存储地址,然后根据原始数据的存储地址,在存储地址中调取待测数据,对待测数据进行哈希运算,得到待测哈希值,接着将原始哈希值同待测哈希值进行对比,若检测到原始哈希值与待测哈希值一致,则说明待测数据即原始数据,原始数据未遭到篡改,若检测到原始哈希值与待测哈希值不一致,则说明待测数据不为原始数据,原始数据遭到了篡改,则输出告警,告警可以是以输出声音,例如发出“原始数据已被篡改”的告警声,或是输出文字“原始数据已被篡改”显示在装置屏幕上,输出告警的方式在此不做限制,具体根据实际情况进行设置。

在本实施例中,由于发布在区块链上的原始数据的存储地址可被区块链上所有节点知晓,从而使得其他非法用户可根据原始数据的存储地址查找到原始数据,从而获取原始数据的信息。为了避免这一情况发生,在将原始数据存储至存储地址前,首先对原始数据进行加密处理,例如使用公钥进行加密,得到加密后的原始数据,然后将加密后的原始数据存储于存储地址对应的存储区域中。公钥(publickey)与私钥(privatekey)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

本实施例中,使用公钥对所述原始数据进行加密,将加密后的原始数据存储于存储地址对应的存储区域中,使得知晓私钥信息的用户才可知晓原始数据的内容,使得用户存储的原始数据无法被非法用户获取,保障了用户的信息安全。

原始数据的存储地址通常可为dns域名寻址,即通过中心化的dns域名解析服务器解析域名,将该域名重定向为ip地址,达到访问目的,该种寻址方式可被称为中心化域名寻址。

本实施例中,原始数据的存储地址除了可以是中心化域名地址,还可为去中心化域名地址。该去中心化域名寻址的生成方式为用户首先在区块链上申请域名,例如发布一个区块链交易信息,按协议格式注册域名,例如注册一个域名为shcy.bit,在该域名信息被收录后接着向区块链发布该域名重定向,即发布该域名关联指向的其他域名(该域名可为中心化域名或其他去中心化域名)或ip地址a,该去中心化域名寻址方式即生成。后续,用户通过该域名shcy.bit最终指向ip地址a而从中获取待测数据(由于不知道原始数据是否被篡改,故称为待测数据)。由于现有的中心化地址域名解析dns服务器容易遭到攻击,使得中心化域名关联的ip地址被更改,若使用中心化域名地址作为存储地址,可能造成用户无法获取正确的ip地址中存储的数据。本实施例中,域名的解析放在区块链上进行,鉴于区块链的防篡改机制,该去中心化域名与其他域名或ip地址的对应关系无法被篡改,使得该去中心化域名指向的ip地址即存储原始数据的ip地址。

本实施例中,通过获取接口信息,并根据接口信息在区块链中获取原始数据的原始哈希值以及原始数据的存储地址,根据存储地址获取待测数据,对待测数据进行哈希运算,得到待测哈希值,将原始哈希值同待测哈希值进行对比,若出现不一致的情况,则输出告警,用以通知用户原始数据已被篡改。通过本实施例,通过对原始数据真伪进行验证,当检测到原始数据遭到篡改后,通知用户,达到去伪存真的目的。

进一步地,处理器1001可以调用存储器1005中存储的数据存储状态检测程序,还执行以下操作:

若所述原始哈希值与所述待测哈希值不一致,则输出告警,用以通知用户原始数据已被篡改。

本实施例中,若检测到原始哈希值与待测哈希值一致,则说明待测数据即原始数据,原始数据未遭到篡改,若检测到原始哈希值与待测哈希值不一致,则说明待测数据不为原始数据,原始数据遭到了篡改,则输出告警,告警可以是以输出声音,例如发出“原始数据已被篡改”的告警声,或是输出文字“原始数据已被篡改”显示在装置屏幕上,输出告警的方式在此不做限制,具体根据实际情况进行设置。

通过本实施例,当原始哈希值与待测哈希值不一致时,通过输出告警的形式提示用户,以便用户知晓原始数据已被篡改,从而及时采取相应措施补救。

进一步地,处理器1001可以调用存储器1005中存储的数据存储状态检测程序,还执行以下操作:

将原始数据的原始哈希值以及原始数据的存储地址发布于区块链上;

当发布成功后,接收区块链反馈的接口信息。

本实施例中,对原始数据进行哈希运算,得到原始哈希值,对原始数据进行存储,得到存储地址,该存储地址可以为去中心化系统地址。去中心化指的是在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。

在得到原始数据的原始哈希值以及原始数据的存储地址后,将原始数据的原始哈希值以及原始数据的存储地址发布在区块链上,当原始数据的原始哈希值以及原始数据的存储地址在区块链上成功发布后,装置会接收到区块链反馈的接口信息,接口信息包括此次发布行为对应的区块高度、地址哈希值、区块哈希值、交易哈希值或ipv4地址等消息,这样在以后想要调取此次发布的原始数据的原始哈希值和原始数据的存储地址时,输入上述接口信息中的一种或多种,即可在区块链中找到此次发布的原始数据的原始哈希值和原始数据的存储地址。

本实施例中,基于区块链技术在数据存证、防止篡改方面的优势,使得发布在区块链上的原始数据的原始哈希值和原始数据的存储地址的信息难以被篡改,在后续根据原始数据的存储地址获取到待测数据后,将待测数据的待测哈希值与从区块链上获取的原始哈希值进行对比,若出现两者信息不一致的情况,则说明存储在存储地址中的原始数据已被篡改,从而输出告警,提示用户,达到去伪存真的目的。

进一步地,处理器1001可以调用存储器1005中存储的数据存储状态检测程序,还执行以下操作:

获取标识信息,根据所述标识信息确定对应的哈希算法;

根据所述哈希算法对所述待测数据进行哈希运算,得到待测哈希值。

在本实施例中,标识信息可存储于装置中或区块链中,标识信息用于指示对原始数据进行哈希运算所使用哈希算法的类型。例如,标识信息为01,表示对原始数据进行哈希运算使用的哈希算法为a,则根据获取的标识信息01,确定哈希算法为a,然后通过哈希算法a对待测数据进行哈希运算,得到待测哈希值。

通过本实施例,丰富了本发明方案对多种哈希算法的兼容性,使得对原始数据进行哈希运算使用的哈希算法与对待测数据进行哈希运算使用的哈希算法一致,保障检测结果的准确度。

参照图2,图2为本发明数据存储状态检测方法第一实施例的流程示意图。

本实施中,数据存储状态检测方法包括:

步骤s10,获取接口信息,根据所述接口信息,在区块链中获取原始数据的原始哈希值以及原始数据的存储地址;

步骤s20,获取所述存储地址对应的待测数据,对所述待测数据进行哈希运算,得到所述待测数据对应的待测哈希值;

步骤s30,检测所述原始哈希值与所述待测哈希值是否一致,用以检测原始数据是否被篡改。

在本实施例中,当用户通过一台装置在区块链上成功发布一组信息后,会接收到区块链反馈的接口信息,接口信息包括此次发布行为对应的区块高度、地址哈希值、区块哈希值、交易哈希值或ipv4地址等消息,这样在以后想要调取此次发布的信息时,输入上述接口信息中的一种或多种,即可在区块链中找到此次发布的信息。

例如,在本发明一实施例中,用户通过一台装置在区块链上发布了原始数据的原始哈希值以及原始数据的存储地址。该原始哈希值是对原始数据进行哈希运算得到的,哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上来说基本上是不可能的。典型的哈希算法包括md2、md4、md5和sha-1。哈希算法也称为“哈希函数”。原始数据的存储地址为存储了原始数据的存储器的地址,该存储器可位于任意终端设备中。当原始数据的原始哈希值以及原始数据的存储地址在区块链上成功发布后,装置会接收到区块链反馈的接口信息,接口信息包括此次发布行为对应的区块高度、地址哈希值、区块哈希值、交易哈希值或ipv4地址等消息,这样在以后想要调取此次发布的原始数据的原始哈希值和原始数据的存储地址时,输入上述接口信息中的一种或多种,即可在区块链中找到此次发布的原始数据的原始哈希值和原始数据的存储地址。

装置接收到接口信息后,可将接口信息存储于装置中的存储器中或其他设备的存储器中,需要时从存储器中获取接口信息。例如用户设置一个执行周期,每天8:00执行s10至s30的步骤,每天8:00,装置自动从存储器中获取接口信息,然后通过接口信息在区块链上查找到原始数据的原始哈希值和原始数据的存储地址,根据原始数据的存储地址,获取待测数据(存储地址即存储原始数据的地址,由于不知道原始数据是否被篡改,故称为待测数据),获取到待测数据后,对待测数据进行哈希运算,得到待测数据的待测哈希值,将原始哈希值同待测哈希值进行对比,若检测到原始哈希值与待测哈希值一致,则说明待测数据即原始数据,原始数据未遭到篡改,若检测到原始哈希值与待测哈希值不一致,则说明待测数据不为原始数据,原始数据遭到了篡改,则输出告警,告警可以是以输出声音,例如发出“原始数据已被篡改”的告警声,或是输出文字“原始数据已被篡改”显示在装置屏幕上,输出告警的方式在此不做限制,具体根据实际情况进行设置。

本发明另一实施例中,还可以是,装置在接收到接口信息后,对接口信息进行保存,例如保存在存储器中或将接口信息印制在纸张上等形式对接口信息进行保存。当用户需要对原始数据的真伪性进行验证时,通过手动输入的方式将接口信息输入,装置在接收到基于用户手动操作输入的接口信息后,通过接口信息在区块链上查找到原始数据的原始哈希值和原始数据的存储地址,然后根据原始数据的存储地址,在存储地址中调取待测数据,对待测数据进行哈希运算,得到待测哈希值,接着将原始哈希值同待测哈希值进行对比,若检测到原始哈希值与待测哈希值一致,则说明待测数据即原始数据,原始数据未遭到篡改,若检测到原始哈希值与待测哈希值不一致,则说明待测数据不为原始数据,原始数据遭到了篡改,则输出告警,告警可以是以输出声音,例如发出“原始数据已被篡改”的告警声,或是输出文字“原始数据已被篡改”显示在装置屏幕上,输出告警的方式在此不做限制,具体根据实际情况进行设置。

在本实施例中,由于发布在区块链上的原始数据的存储地址可被区块链上所有节点知晓,从而使得其他非法用户可根据原始数据的存储地址查找到原始数据,从而获取原始数据的信息。为了避免这一情况发生,在将原始数据存储至存储地址前,首先对原始数据进行加密处理,例如使用公钥进行加密,得到加密后的原始数据,然后将加密后的原始数据存储于存储地址对应的存储区域中。公钥(publickey)与私钥(privatekey)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

本实施例中,使用公钥对所述原始数据进行加密,将加密后的原始数据存储于存储地址对应的存储区域中,使得知晓私钥信息的用户才可知晓原始数据的内容,使得用户存储的原始数据无法被非法用户获取,保障了用户的信息安全。

原始数据的存储地址通常可为dns域名寻址,即通过中心化的dns域名解析服务器解析域名,将该域名重定向为ip地址,达到访问目的,该种寻址方式可被称为中心化域名寻址。

本实施例中,原始数据的存储地址除了可以是中心化域名地址,还可为去中心化域名地址。该去中心化域名寻址的生成方式为用户首先在区块链上申请域名,例如发布一个区块链交易信息,按协议格式注册域名,例如注册一个域名为shcy.bit,在该域名信息被收录后接着向区块链发布该域名重定向,即发布该域名关联指向的其他域名(该域名可为中心化域名或其他去中心化域名)或ip地址a,该去中心化域名寻址方式即生成。后续,用户通过该域名shcy.bit最终指向ip地址a而从中获取待测数据(由于不知道原始数据是否被篡改,故称为待测数据)。由于现有的中心化地址域名解析dns服务器容易遭到攻击,使得中心化域名关联的ip地址被更改,若使用中心化域名地址作为存储地址,可能造成用户无法获取正确的ip地址中存储的数据。本实施例中,域名的解析放在区块链上进行,鉴于区块链的防篡改机制,该去中心化域名与其他域名或ip地址的对应关系无法被篡改,使得该去中心化域名指向的ip地址即存储原始数据的ip地址。

本实施例中,通过获取接口信息,并根据接口信息在区块链中获取原始数据的原始哈希值以及原始数据的存储地址,根据存储地址获取待测数据,对待测数据进行哈希运算,得到待测哈希值,将原始哈希值同待测哈希值进行对比,若出现不一致的情况,则输出告警,用以通知用户原始数据已被篡改。通过本实施例,通过对原始数据真伪进行验证,当检测到原始数据遭到篡改后,通知用户,达到去伪存真的目的。

进一步,参照图3,图3为本发明数据存储状态检测方法第二实施例的流程示意图。

在本发明数据存储状态检测方法一实施例中,步骤s30之后包括:

步骤s40,若所述原始哈希值与所述待测哈希值不一致,则输出告警,用以通知用户原始数据已被篡改。

本实施例中,若检测到原始哈希值与待测哈希值一致,则说明待测数据即原始数据,原始数据未遭到篡改,若检测到原始哈希值与待测哈希值不一致,则说明待测数据不为原始数据,原始数据遭到了篡改,则输出告警,告警可以是以输出声音,例如发出“原始数据已被篡改”的告警声,或是输出文字“原始数据已被篡改”显示在装置屏幕上,输出告警的方式在此不做限制,具体根据实际情况进行设置。

通过本实施例,当原始哈希值与待测哈希值不一致时,通过输出告警的形式提示用户,以便用户知晓原始数据已被篡改,从而及时采取相应措施补救。

进一步的,在本发明数据存储状态检测方法一实施例中,步骤s10之前包括:

将原始数据的原始哈希值以及原始数据的存储地址发布于区块链上;

当发布成功后,接收区块链反馈的接口信息。

本实施例中,对原始数据进行哈希运算,得到原始哈希值,对原始数据进行存储,得到存储地址,该存储地址可以为去中心化系统地址。去中心化指的是在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。

在得到原始数据的原始哈希值以及原始数据的存储地址后,将原始数据的原始哈希值以及原始数据的存储地址发布在区块链上,当原始数据的原始哈希值以及原始数据的存储地址在区块链上成功发布后,装置会接收到区块链反馈的接口信息,接口信息包括此次发布行为对应的区块高度、地址哈希值、区块哈希值、交易哈希值或ipv4地址等消息,这样在以后想要调取此次发布的原始数据的原始哈希值和原始数据的存储地址时,输入上述接口信息中的一种或多种,即可在区块链中找到此次发布的原始数据的原始哈希值和原始数据的存储地址。

本实施例中,基于区块链技术在数据存证、防止篡改方面的优势,使得发布在区块链上的原始数据的原始哈希值和原始数据的存储地址的信息难以被篡改,在后续根据原始数据的存储地址获取到待测数据后,将待测数据的待测哈希值与从区块链上获取的原始哈希值进行对比,若出现两者信息不一致的情况,则说明存储在存储地址中的原始数据已被篡改,从而输出告警,提示用户,达到去伪存真的目的。

进一步的,在本发明数据存储状态检测方法一实施例中,对所述解密后的待测数据进行哈希运算,得到待测哈希值包括:

获取标识信息,根据所述标识信息确定对应的哈希算法;

根据所述哈希算法对所述待测数据进行哈希运算,得到待测哈希值。

在本实施例中,标识信息可存储于装置中或区块链中,标识信息用于指示对原始数据进行哈希运算所使用哈希算法的类型。例如,标识信息为01,表示对原始数据进行哈希运算使用的哈希算法为a,则根据获取的标识信息01,确定哈希算法为a,然后通过哈希算法a对待测数据进行哈希运算,得到待测哈希值。

通过本实施例,丰富了本发明方案对多种哈希算法的兼容性,使得对原始数据进行哈希运算使用的哈希算法与对待测数据进行哈希运算使用的哈希算法一致,保障检测结果的准确度。

进一步的,在本发明数据存储状态检测方法一实施例中,存储地址的寻址方式为去中心化域名寻址。

原始数据的存储地址通常可为dns域名寻址,即通过中心化的dns域名解析服务器解析域名,将该域名重定向为ip地址,达到访问目的,该种寻址方式可被称为中心化域名寻址。

本实施例中,原始数据的存储地址除了可以是中心化域名地址,还可为去中心化域名地址。该去中心化域名寻址的生成方式为用户首先在区块链上申请域名,例如发布一个区块链交易信息,按协议格式注册域名,例如注册一个域名为shcy.bit,在该域名信息被收录后接着向区块链发布该域名重定向,即发布该域名关联指向的其他域名(该域名可为中心化域名或其他去中心化域名)或ip地址a,该去中心化域名寻址方式即生成。后续,用户通过该域名shcy.bit最终指向ip地址a而从中获取待测数据(由于不知道原始数据是否被篡改,故称为待测数据)。由于现有的中心化地址域名解析dns服务器容易遭到攻击,使得中心化域名关联的ip地址被更改,若使用中心化域名地址作为存储地址,可能造成用户无法获取正确的ip地址中存储的数据。本实施例中,域名的解析放在区块链上进行,鉴于区块链的防篡改机制,该去中心化域名与其他域名或ip地址的对应关系无法被篡改,使得该去中心化域名指向的ip地址即存储原始数据的ip地址。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据存储状态检测程序,所述数据存储状态检测程序被处理器执行时实现如上所述的数据存储状态检测方法的步骤。

本发明计算机可读存储介质的具体实施例与上述数据存储状态检测方法的各实施例基本相同,在此不做赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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