一种数据存储证明方法及相关设备与流程

文档序号:16775340发布日期:2019-02-01 18:41阅读:311来源:国知局
一种数据存储证明方法及相关设备与流程

本申请涉及文件管理领域,尤其涉及一种数据存储证明方法及相关设备。



背景技术:

随着用户对数据传输速率的要求的不断提高,分布式文件系统受到广泛关注。分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。其中,星际文件存储系统(inter-planetaryfilesystem,ipfs)是一个点到点的分布式文件系统,旨在创建持久且分布式存储和共享文件的网络传输协议。在ipfs中为了鼓励用户使用该系统,该系统的设计者提供了奖励机制,即存储了数据的用户(节点)可以获得相应的奖励。在该奖励机制下就需要验证用户是否真正的存储了其所声明的数据,即存储证明。然而,不良节点经常在响应服务器的验证请求时,复制其他节点所存储的数据来生成存储证明,而节点本身不存储任何数据。或者不良节点还可以在存储一份数据的同时创建多个身份识别号,利用多个身份识别号获得多份奖励。目前,针对不良节点的行为采用的应对策略为filecoin存储证明机制,该机制认为节点完全不可信,导致实现的计算量大、复杂度高。



技术实现要素:

本申请实施例提供一种数据存储证明方法及相关设备。可以提高数据存储证明的有效性、降低数据存储证明的复杂度。

本申请第一方面提供了一种数据存储证明方法,包括:

接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的;

确定所述待验证数据是否为加密数据;

当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息;

从预先生成的校验信息库中查找所述待验证数据的第二校验信息;

将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态。

其中,所述将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态包括:

当所述第一校验信息和所述第二校验信息相同时,确定所述存储状态为有效存储;或

当所述第一校验信息和所述第二校验信息不相同时,确定所述存储状态为无效存储。

其中,所述确定所述存储状态为有效存储之后,还包括:

根据预设签名私钥,生成存储证明信息;

向所述服务器发送存储证明信息,所述存储证明信息用于指示所述服务器确定所述数据节点是否存储了所述待验证数据。

其中,所述验证请求包括所述待验证数据的标识信息;

所述从预先生成的校验信息库中查找所述待验证数据的第二校验信息包括:

接收所述数据节点发送的所述标识信息;

从所述预先生成的校验信息库中查找与所述标识信息对应的所述第二校验信息,所述预先生成的校验信息库中包括所述标识信息和所述第二校验信息的对应关系。

其中,所述接收数据节点发送的待验证数据之前,还包括:

接收所述数据节点发送的待存储数据;

对所述待存储数据进行加密;

生成加密后的所述待存储数据的所述第二校验信息,并将所述第二校验信息存入所述预先生成的校验信息库中;

向所述数据节点发送加密后的所述存储数据,加密后的所述待存储数据被存储于所述存储空间中用于当所述数据节点接收到所述验证请求时作为所述待验证数据接受存储验证。

其中,所述对所述待存储数据进行加密包括:

根据预设加密密钥,对所述待存储数据进行加密。

其中,所述接收数据节点发送的待验证数据之前,还包括:

接收所述服务器发送的锁定指令,所述锁定指令用于禁止对所述预设加密密钥的使用。

相应地,本申请第二方面提供了一种安全元件,包括:

接收模块,用于接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的;

确定模块,用于确定所述待验证数据是否为加密数据;

所述确定模块,还用于当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息;

查找模块,用于从预先生成的校验信息库中查找所述待验证数据的第二校验信息;

所述确定模块,还用于将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态。

其中,所述确定模块,还用于:

当所述第一校验信息和所述第二校验信息相同时,确定所述存储状态为有效存储;或

当所述第一校验信息和所述第二校验信息不相同时,确定所述存储状态为无效存储。

其中,所述安全元件还包括发送模块,用于:

根据预设签名私钥,生成存储证明信息;

向所述服务器发送存储证明信息,所述存储证明信息用于指示所述服务器确定所述数据节点是否存储了所述待验证数据。

其中,所述验证请求包括所述待验证数据的标识信息;

所述接收模块还用于:

接收所述数据节点发送的所述标识信息;

所述查找模块还用于:

从所述预先生成的校验信息库中查找与所述标识信息对应的所述第二校验信息,所述预先生成的校验信息库中包括所述标识信息和所述第二校验信息的对应关系。

其中,所述接收模块还用于:

接收所述数据节点发送的待存储数据;

对所述待存储数据进行加密;

生成加密后的所述待存储数据的所述第二校验信息,并将所述第二校验信息存入所述预先生成的校验信息库中;

所述发送模块还用于:

向所述数据节点发送加密后的所述存储数据,加密后的所述待存储数据被存储于所述存储空间中用于当所述数据节点接收到所述验证请求时作为所述待验证数据接受存储验证。

其中,所述接收模块还用于:

根据预设加密密钥,对所述待存储数据进行加密。

其中,所述接收模块还用于:

接收所述服务器发送的锁定指令,所述锁定指令用于禁止对所述预设加密密钥的使用。

相应地,本申请提供了一种存储介质,其中,所述存储介质用于存储应用程序,所述应用程序用于在运行时执行本申请实施例第一方面公开的一种数据存储证明方法。

相应地,本申请提供了一种应用程序,其中,所述应用程序用于在运行时执行本申请实施例第一方面公开的一种数据存储证明方法。

实施本申请实施例,安全元件首先接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的;接着确定所述待验证数据是否为加密数据;其次当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息;然后从预先生成的校验信息库中查找所述待验证数据的第二校验信息;最后将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态,可以提高数据存储证明的有效性、降低数据存储证明的复杂度。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种数据存储证明系统的结构示意图;

图2是本申请实施例提供的一种数据存储证明方法的流程示意图;

图3是本申请实施例提供的另一种数据存储证明方法的流程示意图;

图4是本申请实施例提供的一种安全元件的结构示意图;

图5是本申请实施例提供的另一种安全元件的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1是本申请实施例提供的一种数据存储证明系统的结构示意图。如图所示,本申请实施例中的系统包括服务器、数据节点和安全元件。其中,服务器可以是文件服务器。数据节点可以是使用分布式系统的数据终端设备,如数字手机、个人计算机等,该系统可以包括多个同等地位的数据节点,每个数据节点可以存储网络中的传输数据,也可以从其他数据节点中读取数据,其中,数据可以是分块存储在数据节点中的。安全元件可以是能够防止外部恶意解析攻击、保护数据安全的具有加密和解密逻辑电路的芯片,其中,每个数据节点对应一个安全元件。为了鼓励数据节点积极存储数据,可以向存储了数据的数据节点发放奖励。例如,通过服务器向存储了数据的数据节点发放代币(如比特币)作为奖励。其中,数据节点可以首先将待存储数据下载下来,然后利用安全元件对该待存储数据进行加密,数据节点实际存储的数据为加密后的待存储数据。同时安全元件生成该加密后的待存储数据的校验信息并存储该校验信息。数据节点可以向服务器声明在本节点上存储了哪些数据,服务器则定期的向数据节点发送验证请求,以便验证该数据节点是否真正存储了其所声明的数据。其中,数据节点在接收到验证请求后,根据验证请求向安全元件发送服务器要求验证的待验证数据;安全元件首先确定所述待验证数据是否为加密数据;接着当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息;然后从预先生成的校验信息库中查找所述待验证数据的第二校验信息;最后将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态。安全元件根据存储状态向服务器发送存储证明信息,以便服务器确定所述数据节点是否存储了所述待验证数据。基于上述系统,本申请实施例提供了如下数据存储证明方法。

请参考图2,图2是本申请实施例提供的一种数据存储证明方法的结构示意图。如图所示,本申请实施例中的方法包括:

s201,安全元件接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的。

具体实现中,数据节点可以向服务器声明本节点存储了哪些数据,其中,不良节点会向服务器声明该节点上没有存储的数据。因此,服务器可以定期向数据节点发送验证请求,以便进行存储验证。当数据节点接收到服务器发送的验证请求时,可以根据该验证请求从存储空间中读取待验证数据,其中,数据是分块存储于数据节点上的,验证请求中可以包括待验证数据的标识信息,如数据块的名称。因此,数据节点可以根据该标识信息从存储空间中查找并读取待验证数据。

s202,安全元件确定所述待验证数据是否为加密数据。若否,则确定该待验证数据的存储状态为无效存储,因此结束于本步骤,并不再执行下述步骤。若是,则执行s203。

需要说明的是,安全元件在接收数据节点发送的待验证数据之前,可以接收服务器发送的锁定指令,所述锁定指令用于禁止对预设加密密钥的使用。其中,预设加密密钥是安全元件用于对数据进行加密的。服务器在向数据节点发送验证请求之前,可以先向安全元件发送该锁定指令,以便安全元件锁定预设加密密钥,确保在对待验证数据进行存储证明的过程中数据节点无法使用该预设加密密钥。此外,当待验证数据的存储证明过程结束时,该锁定指令失效。

具体实现中,若所述待验证数据不为加密数据,则可以认为该待验证数据是数据节点在接收到验证请求时,从真正存储该待验证数据的数据节点中获取到的,该数据节点并未真正存储该待验证数据,原因在于该数据节点上真正存储的数据均为经过预设加密密钥加密的数据,并且该数据节点只能从其他节点上获取到数据的明文,而此时预设加密密钥已被锁定,因此该数据节点无法对从其他数据节点上获取的数据的明文进行加密。

s203,安全元件生成所述待验证数据的第一校验信息。

具体实现中,该第一校验信息可以但不限于为哈希(hash)值。其中,可以利用hash算法计算该待验证数据的hash值。

s204,安全元件从预先生成的校验信息库中查找所述待验证数据的第二校验信息。

具体实现中,预先生成的校验信息库中包括的第二校验信息为安全元件生成的、所述数据节点真正存储的加密数据的校验信息。其中,服务器发送的验证请求中包括待验证数据的标识信息。因此,可以首先接收所述数据节点发送的所述标识信息;然后从所述预先生成的校验信息库中查找与所述标识信息对应的所述第二校验信息,所述预先生成的校验信息库中包括所述标识信息和所述第二校验信息的对应关系。其中,只有安全元件可以访问该预先生成的校验信息库,该预先生成的校验信息库中的第二校验信息可以但不限于为hash值。

s205,将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态。

具体实现中,可以当所述第一校验信息和所述第二校验信息相同时,确定所述存储状态为有效存储,有效存储表示待验证数据真正存储于该数据节点上;当所述第一校验信息和所述第二校验信息不相同时,确定所述存储状态为无效存储,无效存储表示该数据节点仅在应付服务器的验证请求时通过“非法”手段获取到了该待验证数据,而并未真正存储该待验证数据。例如:在接收到服务器的验证请求时,从真正存储了待验证数据的数据节点上复制该待验证数据。又如:针对节点实际存储了一份数据,但同时利用多个身份标识向服务器声明存储了该数据块,以便获得服务器发放的多份数据存储奖励的情况,由于每个身份标识对应的预设加密密钥不同,对同一份数据所生成的密文不同,每份密文的第二校验信息也将不同,而且安全元件中的校验信息库只能存储该数据的一种密文的第二校验信息,这将意味着只有一个身份标识的第一校验信息和第二校验信息可以匹配成功,从而有效阻止了不良数据节点利用多个身份标识窃取奖励的情况。同时,即使存在多个安全元件可以存放待验证数的多种第二校验信息,若要利用多个身份标识成功获取多份奖励,也需要数据节点开辟多个存储空间存放多份密文。

可选的,在确定所述存储状态为有效存储之后,为了防止存储证明被复制和篡改可以首先根据预设签名私钥,生成存储证明信息,其中,验证请求中可以包括多块待验证数据的标识信息,因此可以将存储状态被确定为有效存储的待验证数据的标识信息与随机生成的一个随机数合成一个数据包,并利用预设签名私钥对该数据包进行签名后作为存储证明信息。然后安全元件向所述服务器发送存储证明信息,所述存储证明信息用于指示所述服务确定所述数据节点是否存储了所述待验证数据。其中,服务器在接收到存储证明信息后可以首先利用该数据节点对应的签名公钥对存储证明信息进行解密,若解密成功,则确定该存储证明信息是当前正在进行验证的数据节点的安全元件生成的;然后提取标识信息和随机数,将存储证明信息中随机数与接收到安全元件单独发送的随机数进行匹配,当匹配结果为相同时,确定该存储证明信息没有被篡改,从而服务器确定存储证明信息中所包括的标识信息所指代的待验证数据是真正存储于该数据节点中的数据。

在本申请实施例中,安全元件首先接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的;接着确定所述待验证数据是否为加密数据;其次当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息;然后从预先生成的校验信息库中查找所述待验证数据的第二校验信息;最后将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态,可以提高数据存储证明的有效性、降低数据存储证明的复杂度。

请参考3,图3是本申请实施例提供的另一种数据存储证明方法的流程示意图。如图所示,本申请实施例中的方法包括:

s301,数据节点获取待存储数据。

具体实现中,数据节点可以存储全网中任何需要存储的数据,其中,数据节点可以下载待存储数据。

s302,数据节点向安全元件发送所述待存储数据。

s303,安全元件对所述待存储数据进行加密。

具体实现中,安全元件中存储了预设加密密钥。安全元件可以根据该预设加密密钥对待存储数据进行加密。

s304,安全元件生成加密后的所述待存储数据的第二校验信息,并将所述第二校验信息存入所述预先生成的校验信息库中。

具体实现中,安全元件可以预先划分一个专门的存储区域用于作为校验信息库以便存储所有加密后的待存储数据的第二校验信息,并且限定只有安全元件可以访问该校验信息库。其中,第二校验信息可以但不限于为hash值,安全元件可以根据hash算法计算得加密后的待存储数据的hash值。

s305,安全元件向数据节点发送加密后的所述待存储数据。

s306,数据节点将加密后的所述待存储数据存储于所述数据节点的存储空间中用于当所述数据节点接收到所述验证请求时作为待验证数据接受存储验证。

s307,服务器向数据节点发送验证请求。

具体实现中,数据节点可以向服务器声明本节点所存储的数据,其中,不良节点会向服务器声明该节点上没有存储的数据。因此服务器可以定期向数据节点发送验证请求,以便进行存储证明。其中,验证请求中可以包括待验证数据的标识信息。

s308,数据节点根据所述验证请求,从存储空间中读取所述待验证数据。

具体实现中,验证请求中可以包括待验证数据的标识信息。数据节点可以根据该标识信息从该数据节点的存储空间中查找并读取待验证数据。

s309,数据节点向安全元件发送所述待验证数据。

s310,安全元件确定所述点验证数据是否为加密数据。若否,则确定该待验证数据的存储状态为无效存储,因此结束于本步骤,并不再执行下述步骤,若是,则执行s311。本步骤与上一实施例中的s202相同,本步骤不再赘述。

s311,当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息。本步骤与上一实施例中的s203相同,本步骤不再赘述。

s312,从预先生成的校验信息库中查找所述待验证数据的第二校验信息。本步骤与上一实施例中的步骤s204相同,本步骤不再赘述。

s313,将所述第一校验信息与所述第二校验信息进行匹配,确定所述待校验数据的存储状态。本步骤遇上一实施例中的s205相同,本步骤不再赘述。

s314,安全元件当所述存储状态为有效存储时,根据预设签名私钥生成存储证明信息。

具体实现中,为了防止存储证明被复制和篡改,可以将存储状态被确定为有效存储的待验证数据的标识信息与随机生成的一个随机数合成一个数据包,并利用预设签名私钥对该数据包进行签名后作为存储证明信息。

s315,安全元件向服务器发送存储证明信息。

s316,服务器根据存储证明信息,确定待验证数据所属的数据节点。

具体实现中,服务器在接收到存储证明信息后可以首先利用该数据节点对应的签名公钥对存储证明信息进行解密,若解密成功,则确定该存储证明信息是当前正在进行验证的数据节点的安全元件生成的;然后提取标识信息和随机数,将存储证明信息中随机数与接收到安全元件单独发送的随机数进行匹配,当匹配结果为相同时,可以确定该存储证明信息没有被篡改,从而服务器确定存储证明信息中所包括的标识信息所指代的待验证数据是真正存储于该数据节点中的数据。。

在本申请实施例中,安全元件首先接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的;接着确定所述待验证数据是否为加密数据;其次当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息;然后从预先生成的校验信息库中查找所述待验证数据的第二校验信息;最后将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态,可以提高数据存储证明的有效性、降低数据存储证明的复杂度。

请参考4,图4是本申请实施例提供的一种安全元件的结构示意图。如图所示,本申请实施例中的安全元件包括:

接收模块401,用于接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的。

具体实现中,数据节点可以向服务器声明本节点存储了哪些数据,其中,不良节点会向服务器声明该节点上没有存储的数据。因此,服务器可以定期向数据节点发送验证请求,以便进行存储验证。当数据节点接收到服务器发送的验证请求时,可以根据该验证请求从存储空间中读取待验证数据,其中,数据是分块存储于数据节点上的,验证请求中可以包括待验证数据的标识信息,如数据块的名称。因此,数据节点可以根据该标识信息从存储空间中查找并读取待验证数据。

确定模块402,用于确定所述待验证数据是否为加密数据。

需要说明的是,安全元件在接收数据节点发送的待验证数据之前,接收模块401还用于接收服务器发送的锁定指令,所述锁定指令用于禁止对预设加密密钥的使用。其中,预设加密密钥是安全元件用于对数据进行加密的。服务器在向数据节点发送验证请求之前,可以先向安全元件发送该锁定指令,以便安全元件锁定预设加密密钥,确保在对待验证数据进行存储证明的过程中数据节点无法使用该预设加密密钥。此外,当待验证数据的存储证明过程结束时,该锁定指令失效。

具体实现中,若所述待验证数据不为加密数据,则可以认为该待验证数据是数据节点在接收到验证请求时,从真正存储该待验证数据的数据节点中获取到的,该数据节点并未真正存储该待验证数据,原因在于该数据节点上真正存储的数据均为经过预设加密密钥加密的数据,并且该数据节点只能从其他节点上获取到数据的明文,而此时预设加密密钥已被锁定,因此该数据节点无法对从其他数据节点上获取的数据的明文进行加密。

确定模块401,还用于当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息。

具体实现中,该第一校验信息可以但不限于为哈希(hash)值。其中,可以利用hash算法计算该待验证数据的hash值。

查找模块403,用于从预先生成的校验信息库中查找所述待验证数据的第二校验信息。

具体实现中,预先生成的校验信息库中包括的第二校验信息为安全元件生成的、所述数据节点真正存储的加密数据的校验信息。其中,服务器发送的验证请求中包括待验证数据的标识信息。因此,可以首先接收所述数据节点发送的所述标识信息;然后从所述预先生成的校验信息库中查找与所述标识信息对应的所述第二校验信息,所述预先生成的校验信息库中包括所述标识信息和所述第二校验信息的对应关系。其中,只有安全元件可以访问该预先生成的校验信息库,该预先生成的校验信息库中的第二校验信息可以但不限于为hash值。

确定模块401,还用于将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态。

具体实现中,可以当所述第一校验信息和所述第二校验信息相同时,确定所述存储状态为有效存储,有效存储表示待验证数据真正存储于该数据节点上;当所述第一校验信息和所述第二校验信息不相同时,确定所述存储状态为无效存储,无效存储表示该数据节点仅在应付服务器的验证请求时通过“非法”手段获取到了该待验证数据,而并未真正存储该待验证数据。例如:在接收到服务器的验证请求时,从真正存储了待验证数据的数据节点上复制该待验证数据。又如:针对节点实际存储了一份数据,但同时利用多个身份标识向服务器声明存储了该数据块,以便获得服务器发放的多份数据存储奖励的情况,由于每个身份标识对应的预设加密密钥不同,对同一份数据所生成的密文不同,每份密文的第二校验信息也将不同,而且安全元件中的校验信息库只能存储该数据的一种密文的第二校验信息,这将意味着只有一个身份标识的第一校验信息和第二校验信息可以匹配成功,从而有效阻止了不良数据节点利用多个身份标识窃取奖励的情况。同时,即使存在多个安全元件可以存放待验证数的多种第二校验信息,若要利用多个身份标识成功获取多份奖励,也需要数据节点开辟多个存储空间存放多份密文。

可选的,为了防止节点可以任意生成存储证明,所述安全元件还包括发送模块,用于当确定所述存储状态为有效存储之后,可以首先根据预设签名私钥,生成存储证明信息,其中,验证请求中可以包括多块待验证数据的标识信息,因此可以将存储状态被确定为有效存储的待验证数据的标识信息与随机生成的一个随机数合成一个数据包,并利用预设签名私钥对该数据包进行签名后作为存储证明信息。然后安全元件向所述服务器发送存储证明信息,所述存储证明信息用于指示所述服务确定所述数据节点是否存储了所述待验证数据。其中,服务器在接收到存储证明信息后可以首先利用该数据节点对应的签名公钥对存储证明信息进行解密,若解密成功,则确定该存储证明信息是当前正在进行验证的数据节点的安全元件生成的;然后提取标识信息和随机数,将存储证明信息中随机数与接收到安全元件单独发送的随机数进行匹配,当匹配结果为相同时,确定该存储证明信息没有被篡改,从而服务器确定存储证明信息中所包括的标识信息所指代的待验证数据是真正存储于该数据节点中的数据。

可选的,在接收数据节点发送的待验证数据之前,接收模块401还用于首先接收数据节点发送的待存储数据;接着对所述待存储数据进行加密,其中,可以根据预设加密密钥对待存储数据进行加密;然后生成加密后的所述待存储数据的第二校验信息,并将所述第二校验信息存入所述预先生成的校验信息库中;最后所述发送模块还用于向数据节点发送加密后的所述待存储数据。给加密后的所述待存储数据被存储于所述数据节点的存储空间中用于当所述数据节点接收到所述验证请求时作为待验证数据接受存储验证。

在本申请实施例中,安全元件首先接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的;接着确定所述待验证数据是否为加密数据;其次当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息;然后从预先生成的校验信息库中查找所述待验证数据的第二校验信息;最后将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态,可以提高数据存储证明的有效性、降低数据存储证明的复杂度。

请参考图5,图5是本申请实施例提出的另一种安全元件的结构示意图。如图所示,该安全元件可以包括:至少一个处理器501,例如cpu,至少一个通信接口502,至少一个存储器503,至少一个总线504。其中,总线504用于实现这些组件之间的连接通信。其中,本申请实施例中电子设备的通信接口502是有线发送端口,也可以为无线设备,例如包括天线安全元件,用于与其他节点设备进行信令或数据的通信。存储器503可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器503可选的还可以是至少一个位于远离前述处理器501的存储安全元件。存储器503中存储一组程序代码,且处理器501用于调用存储器中存储的程序代码,用于执行以下操作:

接收数据节点发送的待验证数据,所述待验证数据为所述数据节点根据服务器发送的验证请求从所述数据节点的存储空间中读取的;

确定所述待验证数据是否为加密数据;

当所述待验证数据为所述加密数据时,生成所述待验证数据的第一校验信息;

从预先生成的校验信息库中查找所述待验证数据的第二校验信息;

将所述第一校验信息与所述第二校验信息进行匹配,确定所述待验证数据的存储状态。

其中,处理器501还用于执行如下操作步骤:

当所述第一校验信息和所述第二校验信息相同时,确定所述存储状态为有效存储;或

当所述第一校验信息和所述第二校验信息不相同时,确定所述存储状态为无效存储。

其中,处理器501还用于执行如下操作步骤:

根据预设签名私钥,生成存储证明信息;

向所述服务器发送存储证明信息,所述存储证明信息用于指示所述服务器确定所述数据节点是否存储了所述待验证数据。

其中,处理器501还用于执行如下操作步骤:

所述验证请求包括所述待验证数据的标识信息;

接收所述数据节点发送的所述标识信息;

从所述预先生成的校验信息库中查找与所述标识信息对应的所述第二校验信息,所述预先生成的校验信息库中包括所述标识信息和所述第二校验信息的对应关系。

其中,处理器501还用于执行如下操作步骤:

接收所述数据节点发送的待存储数据;

对所述待存储数据进行加密;

生成加密后的所述待存储数据的所述第二校验信息,并将所述第二校验信息存入所述预先生成的校验信息库中;

向所述数据节点发送加密后的所述存储数据,加密后的所述待存储数据被存储于所述存储空间中用于当所述数据节点接收到所述验证请求时作为所述待验证数据接受存储验证。

其中,处理器501还用于执行如下操作步骤:

根据预设加密密钥,对所述待存储数据进行加密。

其中,处理器501还用于执行如下操作步骤:

接收所述服务器发送的锁定指令,所述锁定指令用于禁止对所述预设加密密钥的使用。

需要说明的是,本申请实施例同时也提供了一种存储介质,该存储介质用于存储应用程序,该应用程序用于在运行时执行图2和图3所示的一种数据存储证明方法中安全元件执行的操作。

需要说明的是,本申请实施例同时也提供了一种应用程序,该应用程序用于在运行时执行图2和图3所示的一种数据存储证明方法中安全元件执行的操作。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程安全元件。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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