CN115292752A - 文件数据的存储验证方法、存储验证装置、设备及介质 - Google Patents
文件数据的存储验证方法、存储验证装置、设备及介质 Download PDFInfo
- Publication number
- CN115292752A CN115292752A CN202211224304.7A CN202211224304A CN115292752A CN 115292752 A CN115292752 A CN 115292752A CN 202211224304 A CN202211224304 A CN 202211224304A CN 115292752 A CN115292752 A CN 115292752A
- Authority
- CN
- China
- Prior art keywords
- file data
- stored
- calculation result
- storage
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012795 verification Methods 0.000 title abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 193
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 238000013500 data storage Methods 0.000 claims abstract description 13
- 239000012634 fragment Substances 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件数据的存储验证方法、存储验证装置、设备及介质,其方法为,当接收到文件数据对应的位置信息时,根据位置信息截取文件数据中的文件数据片段,对文件数据片段进行迭代散列计算,得到待检测计算结果,在预设时间段内检测到待检测计算结果为本地存储方中的目标计算结果时,判定文件数据存储正确。本发明通过待检测计算结果的正确与否和检测所完成的时间是否在预设时间段内的双重检测,以向用户提供一种有效的去中心化的文件存储方式中文件数据的存储证明方法,从而建立用户与文件存储方之间的信任关系。
Description
技术领域
本发明涉及区块链领域,尤其涉及一种文件数据的存储验证方法、存储验证装置、电子设备及计算机可读存储介质。
背景技术
去中心化的文件存储方式是一种能够避免文件数据因不可控情况,例如地震、火灾等因素存在的文件丢失问题的解决方案,但在实际应用中,去中心化的文件存储方式存在无法推广到公网进行应用的情况,其原因是现有去中心化的文件存储方式存在信任问题,即存储方无法向用户向证明存储方确实储存有相应的文件数据,使得用户因未能接收到相应的证明而导致的用户与存储方之间缺乏信任的情况,因此如何向用户有效证明去中心化的文件存储方式中文件数据的存储证明,是目前亟待解决的问题。
发明内容
本发明的主要目的在于提供一种文件数据的存储验证方法、存储验证装置、电子设备及计算机可读存储介质,旨在如何解决向用户有效证明去中心化的文件存储方式中文件数据的存储证明的技术问题。
为实现上述目的,本发明提供一种文件数据的存储验证方法,所述文件数据的存储验证方法包括以下步骤:
当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段;
对所述文件数据片段进行迭代散列计算,得到待检测计算结果;
在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确。
可选地,所述当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段的步骤之前,还包括:
通过所述本地存储方接收待存储文件数据和所述待存储文件数据对应的存储参数;
根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据,以及根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方。
可选地,所述根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据的步骤包括:
对所述待存储文件数据进行复制,得到待存储副本数据,其中,所述待存储副本数据的数量为所述存储参数中的副本数;
生成与各个所述待存储副本数据相对应的密钥,通过各个所述密钥对所述密钥对应的所述待存储副本数据进行异或运算加密,得到所述待存储加密文件数据。
可选地,所述根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方的步骤包括:
根据所述存储参数中的挑战数生成所述待存储加密文件数据的挑战数据,其中,所述挑战数据的数量为所述挑战数;
基于所述挑战数据生成所述位置信息,并根据所述位置信息对所述待存储加密文件数据进行截取,得到挑战片段;
对所述挑战片段进行迭代散列计算,得到目标计算结果后,将所述目标计算结果和所述目标计算结果对应的所述位置信息存储在所述本地存储方。
可选地,所述得到所述待存储加密文件数据的步骤之后,还包括:
对所述待存储加密文件数据进行认领,并将认领的所述待存储加密文件数据保存为所述文件数据。
可选地,所述在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确的步骤包括:
在所述本地存储方中提取与所述文件数据的所述文件数据片段相对应的所述待存储副本数据的所述挑战片段;
获取所述挑战片段所对应的所述目标计算结果,并检测所述目标计算结果与所述待检测计算结果是否相等;
若在所述预设时间段内检测到所述目标计算结果与所述待检测计算结果相等,则判定所述文件数据存储正确。
可选地,所述得到待检测计算结果的步骤之后,还包括:
在所述预设时间段外检测到所述待检测计算结果为所述本地存储方中的所述目标计算结果时或在所述预设时间段内检测到所述待检测计算结果不为所述本地存储方中的所述目标计算结果时,判定所述文件数据存储错误。
本发明还提供一种文件数据的存储验证装置,所述文件数据的存储验证装置包括:
获取模块,用于当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段;
计算模块,用于对所述文件数据片段进行迭代散列计算,得到待检测计算结果;
检测模块,用于在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确。
此外,为实现上述目的,本发明还提供一种电子设备,包括如上所述的文件数据的存储验证装置、存储器、处理器及存储在存储器上并可在处理器上运行的计算机处理程序,所述处理器执行所述计算机处理程序时实现上述文件数据的存储验证方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述文件数据的存储验证方法的步骤。
本发明实施例提出一种文件数据的存储验证方法、存储验证装置、设备及介质,当接收到文件数据对应的位置信息时,根据位置信息截取文件数据中的文件数据片段,因为位置信息是用户针对文件数据随机发起的,如若文件存储方没有存储对应的文件数据,则存在截取的文件数据片段不准确,进而导致的后续基于文件数据片段进行的迭代散列所得的待检测计算结果存在不准确的问题;对文件数据片段进行迭代散列计算,得到待检测计算结果;在预设时间段内检测到待检测计算结果为本地存储方中的目标计算结果时,判定文件数据存储正确。本发明利用接收用户随机发起的位置信息,基于位置信息对文件数据中的文件数据片段进行截取和迭代散列计算后,根据迭代散列后所获得的待检测计算结果的正确与否和检测所完成的时间是否在预设时间段内,因为如若文件存储方中没有存储对应的文件数据,则在接收到位置信息时,文件存储方需耗费额外的时间去另外提取对应的文件数据,使得文件存储方无法在预设时间段内完成检测,通过待检测计算结果的正确与否和检测所完成的时间是否在预设时间段内的双重检测,以向用户提供一种有效的去中心化的文件存储方式中文件数据的存储证明方法,从而建立用户与文件存储方之间的信任关系。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明文件数据的存储验证方法中第一实施例的流程示意图;
图3为本发明中文件数据片段的迭代散列的计算流程示意图;
图4为本发明文件数据的存储验证方法中第二实施例的流程示意图;
图5为本发明文件数据的存储验证装置的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例电子设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些租金之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,电子设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的计算机程序,并执行以下操作:
当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段;
对所述文件数据片段进行迭代散列计算,得到待检测计算结果;
在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确。
进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:
当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段的步骤之前,通过所述本地存储方接收待存储文件数据和所述待存储文件数据对应的存储参数;
根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据,以及根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方。
进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:
根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据的步骤包括:对所述待存储文件数据进行复制,得到待存储副本数据,其中,所述待存储副本数据的数量为所述存储参数中的副本数;
生成与各个所述待存储副本数据相对应的密钥,通过各个所述密钥对所述密钥对应的所述待存储副本数据进行异或运算加密,得到所述待存储加密文件数据。
进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:
根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方的步骤包括:根据所述存储参数中的挑战数生成所述待存储加密文件数据的挑战数据,其中,所述挑战数据的数量为所述挑战数;
基于所述挑战数据生成所述位置信息,并根据所述位置信息对所述待存储加密文件数据进行截取,得到挑战片段;
对所述挑战片段进行迭代散列计算,得到目标计算结果后,将所述目标计算结果和所述目标计算结果对应的所述位置信息存储在所述本地存储方。
进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:
得到所述待存储加密文件数据的步骤之后,对所述待存储加密文件数据进行认领,并将认领的所述待存储加密文件数据保存为所述文件数据。
进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:
在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确的步骤包括:在所述本地存储方中提取与所述文件数据的所述文件数据片段相对应的所述待存储副本数据的所述挑战片段;
获取所述挑战片段所对应的所述目标计算结果,并检测所述目标计算结果与所述待检测计算结果是否相等;
若在所述预设时间段内检测到所述目标计算结果与所述待检测计算结果相等,则判定所述文件数据存储正确。
进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:
得到待检测计算结果的步骤之后,在所述预设时间段外检测到所述待检测计算结果为所述本地存储方中的所述目标计算结果时或在所述预设时间段内检测到所述待检测计算结果不为所述本地存储方中的所述目标计算结果时,判定所述文件数据存储错误。
参照图2,本发明第一实施例提供一种文件数据的存储验证方法,所述文件数据的存储验证方法包括以下步骤:
步骤S10,当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段;
在本实施例中,用户对应文件数据的拥有者,用户基于需求对文件存储方不定时的发起挑战,即不定时的向文件存储方发送文件数据的位置信息(位置信息需为存储在文件存储方中的文件数据所对应的位置信息),文件存储方在接收到该位置信息时,根据位置信息对对应的文件数据进行文件数据片段的截取,此步骤可避免文件存储方没有存储对应的文件数据而是只保存挑战结果(即待检测计算结果)的弊端,因为位置信息是用户根据不同的文件数据随机发起的,文件存储方无法提起预知用户会于什么时候发起什么文件数据的什么位置信息,若文件存储方只保存了挑战结果(即待检测计算结果),则文件存储方需对挑战结果(即待检测计算结果)进行遍历以找寻与位置信息对应的挑战结果(即待检测计算结果),但因为文件存储方中存储着数量庞大的文件数据,若只存储每一文件数据的文件数据片段对应的挑战结果(即待检测计算结果),则文件存储方中存储的挑战结果(即待检测计算结果)的数量是不计其数的,则该遍历过程不仅会浪费大量的时间,还存在找寻的挑战结果(即待检测计算结果)不准确的问题。
因此,通过接收用户随机发起的文件数据对应的位置信息,能够消除用户所担忧的文件存储方没有存储着相应的文件数据的顾虑。
其中,位置信息包含一个数据起始点和一个数据结束点,位置信息为在本地存储方的准备过程中生成的,例如文件数据为abcdefg,此时接收到的位置信息为(d,f),则根据位置信息在文件数据中截取到的文件数据片段为def。
步骤S20,对所述文件数据片段进行迭代散列计算,得到待检测计算结果;
当基于位置信息在对应的文件数据中截取到对应的文件数据片段后,为了验证所截取的文件数据片段是否准确,会对文件数据片段进行迭代散列计算,基于迭代散列计算获得文件数据片段的待检测计算结果,根据待检测计算结果对文件数据片段的正确与否进行验证,具体为:
参照图3,在迭代散列计算的计算过程中,首先选取文件数据片段的前256个字节作为第一数据块,并对第一数据块进行散列计算,得到32个字节的第一计算结果,接着在选取继于之前所选取的256个字节的后224个字节,并与之前散列计算所得的32个字节进行拼接(32个字节在前,224个字节在后)作为第二数据块,并对第二数据块进行散列计算,得到32个字节的第二计算结果,如此类推对截取的文件数据片段中的数据块进行散列计算,直至截取的文件数据片段中未进行散列计算的剩余字节不足224个为止,将文件数据片段中的剩余字节与前一次计算所得的字节(即图3中的第N-1计算结果)进行拼接,得到最后一个数据块(即图3中的第N数据块),因为散列计算对输入的数据块的字节是不限制的,因此仍可以对最后一个数据块(即图3中的第N数据块)进行散列计算,得到最后一个计算结果,该计算结果即为所截取的文件数据片段所对应的待检测计算结果。
由上述的计算过程可知,对截取的文件数据片段进行迭代散列计算本身需要耗费一定的时长,若此时文件存储方还需要从另外的文件存储中心提取对的文件数据,则需要耗费额外的提取时长,该耗费的额外的提取时长会使得文件存储方不能够在预设时间段内完成文件数据的存储验证,因此通过对文件数据片段的迭代散列计算,不仅能够对文件存储方所存储的文件数据是否正确进行验证,还能够对文件存储方内是否存储有对应的文件数据进行验证,通过双重验证向用户提供一种有效的去中心化的文件存储方式中文件数据的存储证明方法,从而建立用户与文件存储方之间的信任关系。
步骤S30,在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确。
当文件存储方能够在预设时间段内检测到待检测计算结果为本地存储方中的目标计算结果,则判定文件数据片段所对应的文件数据正确的存储在文件存储方中,同时将判定结果发送至用户终端上,以有效的向用户证明文件存储方存储着对应的文件数据。
其中,预设时间段为根据文件数据片段的截取时间和迭代散列的计算时间进行设定的,因为只包含了截取时间和计算时间,因此任何多出的时间段或时间点都会导致待检测计算结果的检测超时,进而导致所得的判定结果为文件数据存储错误。
需要说明的是,待检测计算结果的正确和检测所完成的时间在预设时间段内需同时满足,缺少任一一个满足条件都判定文件数据存储错误,以此保证对文件数据的存储验证的有效性和准确性。
本地存储方中存储的目标计算结果为文件数据片段所对应的正确的待检测计算结果,在文件存储方存储文件数据之前,本地存储方会对文件数据所对应的待存储文件数据进行计算,得到与待存储文件数据相对应的各个待存储副本数据中各个文件数据片段所对应的目标计算结果,以便对待检测计算结果进行验证。
可选地,步骤S30中在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确的步骤包括:
步骤S301,在所述本地存储方中提取与所述文件数据的所述文件数据片段相对应的所述待存储副本数据的所述挑战片段;
步骤S302,获取所述挑战片段所对应的所述目标计算结果,并检测所述目标计算结果与所述待检测计算结果是否相等;
步骤S303,若在所述预设时间段内检测到所述目标计算结果与所述待检测计算结果相等,则判定所述文件数据存储正确。
当文件存储方计算得到待检测计算结果后,通过在本地存储方中提取与待检测计算结果的文件数据片段相对应的文件数据的待存储副本数据的挑战片段,需要说明的是,本地存储方中的待存储副本数据是基于用户上传的待存储文件数据进行复制所得的,因此待存储副本数据与其所对应的待存储文件数据一致,本地存储方在对待存储文件数据进行复制,得到对应的若干个待存储副本数据后,会对各个待存储副本数据中的文件副本数据片段进行计算,以得到各个待存储副本数据中的挑战片段的计算结果,即目标计算结果,其中,挑战片段同样是基于位置信息进行截取的,因此文件数据的位置数据文件数据片段所对应的待存储副本数据的位置信息所对应的挑战片段是相同的,当将挑战片段所对应的目标计算结果归为判定标准时,在预设时间段内检测目标计算结果是否与待检测计算结果是否相等,能够判断文件存储方中存储的文件数据是否为用户上传的待存储文件数据,当自在预设时间段内检测到目标计算结果与待检测计算结果相等时,说明文件存储方中存储的文件数据为用户上传的待存储文件数据,以此向用户进行有效的存储证明。
可选地,步骤S20中得到待检测计算结果的步骤之后,还包括:
步骤S40,在所述预设时间段外检测到所述待检测计算结果为所述本地存储方中的所述目标计算结果时或在所述预设时间段内检测到所述待检测计算结果不为所述本地存储方中的所述目标计算结果时,判定所述文件数据存储错误。
待检测计算结果的正确和检测所完成的时间在预设时间段内需同时满足,缺少任一一个满足条件都判定文件数据存储错误,即虽然检测到待检测计算结果与目标计算结果相等,但检测的完成时间超过了预设时间段,依旧将判定结果归为文件存储错误,或者虽然检测的完成时间在预设时间段内,但检测结果为待检测计算结果与目标计算结果不相等,也依旧将判定结果归为文件存储错误,以此保证对文件数据的存储验证的有效性和准确性。
在本实施例中,通过利用接收用户随机发起的位置信息,基于位置信息对文件数据中的文件数据片段进行截取和迭代散列计算后,根据迭代散列后所获得的待检测计算结果的正确与否和检测所完成的时间是否在预设时间段内,因为如若文件存储方中没有存储对应的文件数据,则在接收到位置信息时,文件存储方需耗费额外的时间去另外提取对应的文件数据,使得文件存储方无法在预设时间段内完成检测,通过待检测计算结果的正确与否和检测所完成的时间是否在预设时间段内的双重检测,以向用户提供一种有效的去中心化的文件存储方式中文件数据的存储证明方法,从而建立用户与文件存储方之间的信任关系。
进一步地,基于上述本发明文件数据的存储验证方法的第一实施例,提出本发明文件数据的存储验证方法的第二实施例。
参照图4,在本发明文件数据的存储验证方法的第二实施例中,上述的步骤S10,当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段的步骤之前,还包括:
步骤S101,通过所述本地存储方接收待存储文件数据和所述待存储文件数据对应的存储参数;
本实施例为准备过程,在用户通过向文件存储方上传文件数据对应的位置信息之前,用户需向本地存储方上传待存储文件数据和待存储文件数据对应的存储参数,其中,待存储文件数据即为准备存储在文件存储方的文件数据,存储参数为用户基于实际需求进行设置的,具体包括基于待存储文件数据所生成的待存储副本数据的副本数,每份待存储副本数据加密后的待存储加密文件数据的挑战数(即位置信息),待存储加密文件数据被文件存储方认领后保存为文件数据的保存期限等。
其中,挑战数(即位置信息)的最优数量为保存期限的天数相接近,方便用户每天通过不同的挑战数(即位置信息)向文件存储方发起挑战。
步骤S102,根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据,以及根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方。
为了对文件存储方中的文件数据的安全性进行保证,本地存储方会根据上传的待存储文件数据所对应的存储参数对待存储文件数据进行加密,以得到具有安全保护的待存储加密文件数据,同时为了在对文件数据的存储证明的过程中,对文件数据存储的正确与否进行检测,本地存储方还会根据上传的待存储文件数据所对应的存储参数对待存储加密文件数据的目标计算结果进行计算并存储,具体参照步骤S103-步骤S107。
可选地,步骤S102中根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据的步骤包括:
步骤S103,对所述待存储文件数据进行复制,得到待存储副本数据,其中,所述待存储副本数据的数量为所述存储参数中的副本数;
步骤S104,生成与各个所述待存储副本数据相对应的密钥,通过各个所述密钥对所述密钥对应的所述待存储副本数据进行异或运算加密,得到所述待存储加密文件数据。
首先,本地存储方根据用户上传的待存储文件数据所对应的存储参数中的副本数对待存储文件数据进行复制,得到与副本数相同数量的待存储副本数据,接着对每份待存储副本数据随机生成一个稀疏的密钥,通过对应的密钥对对应的待存储副本数据进行异或运算加密后,将密钥以(索引,值)的方式进行保存,通过该方式能够有效节省本地存储方的存储空间。以存在10个待存储副本数据为例,此时生成的密钥非零数量为4096,将密钥以(索引,值)的方式保存在本地存储方后,生成的密钥只占用本地存储方320KB的存储空间。
可选地,步骤S102中根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方的步骤包括:
步骤S105,根据所述存储参数中的挑战数生成所述待存储加密文件数据的挑战数据,其中,所述挑战数据的数量为所述挑战数;
步骤S106,基于所述挑战数据生成所述位置信息,并根据所述位置信息对所述待存储加密文件数据进行截取,得到挑战片段;
步骤S107,对所述挑战片段进行迭代散列计算,得到目标计算结果后,将所述目标计算结果和所述目标计算结果对应的所述位置信息存储在所述本地存储方。
因为文件存储方中所存储的文件数据为待存储文件数据进行复制和加密后所得待存储加密文件数据,因此对待存储加密文件数据的目标计算结果的计算为对待存储文件数据的目标计算结果的计算。
首先,本地存储方根据用户上传的待存储文件数据所对应的存储参数中的挑战数生成每份待存储副本数据的挑战数据,即根据挑战数,本地存储方针对每份待存储副本数据随机生成与挑战数的数量相同的挑战数据,其中,挑战数据即为一个起始点和一个结束点,例如挑战数为100个,则说明对应的每份待存储副本数据需生成100个挑战数据,则本地存储方需在每份待存储副本数据中随机抽选100次起始点和结束点,通过抽选的起始点和结束点对对待存储加密文件数据进行挑战片段的截取,得到100个挑战片段。
接着,通过迭代散列对挑战片段分别进行计算,得到每个挑战片段所对应的目标计算结果后,将目标计算结果和目标计算结果所对应的挑战数据(即位置信息)存储在本地存储方中,便于在对文件数据的存储证明的过程中,对文件数据存储的正确与否进行准确的验证。
可选地,步骤S103中对所述待存储文件数据进行复制,得到待存储副本数据的步骤之后,还包括:
步骤S108,对所述待存储加密文件数据进行认领,并将认领的所述待存储加密文件数据保存为所述文件数据。
本地存储方对待存储副本数据进行加密得到待存储加密文件数据后,文件存储方对待存储加密文件数据进行认领,具体为,在认领过程中,用户会上传若干份待存储加密文件数据到文件存储方的认领中心中,上传若干份待存储加密文件数据的目的是方便每个文件存储方进行认领以及降低上传过程中存在的丢失风险导致的文件存储方所认领的待存储加密文件数据存在错误的情况,另外,每个文件存储方只能认领一份待存储加密文件数据,因为一个文件存储方认领多份待存储加密文件数据对用户和文件存储方都没有任何有益的帮助。
在本实施例中,通过上传的待存储文件数据所对应的存储参数对待存储文件数据进行加密,以得到具有安全保护的待存储加密文件数据,以对文件存储方对待存储加密文件数据进行认领并保存为文件数据的安全性进行保证,同时根据上传的待存储文件数据所对应的存储参数对待存储加密文件数据的目标计算结果进行计算并存储,方便了在对文件数据的存储证明的过程中,对文件数据存储的正确与否进行检测。
参照图5,本发明还提供一种文件数据的存储验证装置,所述文件数据的存储验证装置包括:
获取模块10,用于当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段;
计算模块20,用于对所述文件数据片段进行迭代散列计算,得到待检测计算结果;
检测模块30,用于在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确。
进一步地,所述计算模块20,还用于:
通过所述本地存储方接收待存储文件数据和所述待存储文件数据对应的存储参数;
根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据,以及根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方。
进一步地,所述计算模块20,还用于:
对所述待存储文件数据进行复制,得到待存储副本数据,其中,所述待存储副本数据的数量为所述存储参数中的副本数;
生成与各个所述待存储副本数据相对应的密钥,通过各个所述密钥对所述密钥对应的所述待存储副本数据进行异或运算加密,得到所述待存储加密文件数据。
进一步地,所述计算模块20,还用于:
根据所述存储参数中的挑战数生成所述待存储加密文件数据的挑战数据,其中,所述挑战数据的数量为所述挑战数;
基于所述挑战数据生成所述位置信息,并根据所述位置信息对所述待存储加密文件数据进行截取,得到挑战片段;
对所述挑战片段进行迭代散列计算,得到目标计算结果后,将所述目标计算结果和所述目标计算结果对应的所述位置信息存储在所述本地存储方。
进一步地,所述获取模块10,还用于:
对所述待存储加密文件数据进行认领,并将认领的所述待存储加密文件数据保存为所述文件数据。
进一步地,所述检测模块30,还用于:
在所述本地存储方中提取与所述文件数据的所述文件数据片段相对应的所述待存储副本数据的所述挑战片段;
获取所述挑战片段所对应的所述目标计算结果,并检测所述目标计算结果与所述待检测计算结果是否相等;
若在所述预设时间段内检测到所述目标计算结果与所述待检测计算结果相等,则判定所述文件数据存储正确。
进一步的,所述检测模块30,还用于:
在所述预设时间段外检测到所述待检测计算结果为所述本地存储方中的所述目标计算结果时或在所述预设时间段内检测到所述待检测计算结果不为所述本地存储方中的所述目标计算结果时,判定所述文件数据存储错误。
此外,本发明实施例还提出一种电子设备,所述电子设备包括如上所述的文件数据的存储验证装置、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文件数据的存储验证方法的步骤。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述文件数据的存储验证方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种文件数据的存储验证方法,其特征在于,所述文件数据的存储验证方法应用于文件存储方,所述文件存储方以调用文件数据的存储验证方法实现文件数据存储证明,所述文件数据的存储验证方法包括以下步骤:
当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段;
对所述文件数据片段进行迭代散列计算,得到待检测计算结果;
在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确。
2.如权利要求1所述的文件数据的存储验证方法,其特征在于,所述当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段的步骤之前,还包括:
通过所述本地存储方接收待存储文件数据和所述待存储文件数据对应的存储参数;
根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据,以及根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方。
3.如权利要求2所述的文件数据的存储验证方法,其特征在于,所述根据所述存储参数对所述待存储文件数据进行加密,得到待存储加密文件数据的步骤包括:
对所述待存储文件数据进行复制,得到待存储副本数据,其中,所述待存储副本数据的数量为所述存储参数中的副本数;
生成与各个所述待存储副本数据相对应的密钥,通过各个所述密钥对所述密钥对应的所述待存储副本数据进行异或运算加密,得到所述待存储加密文件数据。
4.如权利要求3所述的文件数据的存储验证方法,其特征在于,所述根据所述存储参数计算所述待存储文件数据的所述目标计算结果,并将所述目标计算结果存储在所述本地存储方的步骤包括:
根据所述存储参数中的挑战数生成所述待存储加密文件数据的挑战数据,其中,所述挑战数据的数量为所述挑战数;
基于所述挑战数据生成所述位置信息,并根据所述位置信息对所述待存储加密文件数据进行截取,得到挑战片段;
对所述挑战片段进行迭代散列计算,得到目标计算结果后,将所述目标计算结果和所述目标计算结果对应的所述位置信息存储在所述本地存储方。
5.如权利要求3所述的文件数据的存储验证方法,其特征在于,所述得到所述待存储加密文件数据的步骤之后,还包括:
对所述待存储加密文件数据进行认领,并将认领的所述待存储加密文件数据保存为所述文件数据。
6.如权利要求4所述的文件数据的存储验证方法,其特征在于,所述在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确的步骤包括:
在所述本地存储方中提取与所述文件数据的所述文件数据片段相对应的所述待存储副本数据的所述挑战片段;
获取所述挑战片段所对应的所述目标计算结果,并检测所述目标计算结果与所述待检测计算结果是否相等;
若在所述预设时间段内检测到所述目标计算结果与所述待检测计算结果相等,则判定所述文件数据存储正确。
7.如权利要求1-6中任一项所述的文件数据的存储验证方法,其特征在于,所述得到待检测计算结果的步骤之后,还包括:
在所述预设时间段外检测到所述待检测计算结果为所述本地存储方中的所述目标计算结果时或在所述预设时间段内检测到所述待检测计算结果不为所述本地存储方中的所述目标计算结果时,判定所述文件数据存储错误。
8.一种文件数据的存储验证装置,其特征在于,所述文件数据的存储验证装置应用于如权利要求1-7中任一项所述的文件数据的存储验证方法,所述文件数据的存储验证装置包括:
获取模块,用于当接收到文件数据对应的位置信息时,根据所述位置信息截取所述文件数据中的文件数据片段;
计算模块,用于对所述文件数据片段进行迭代散列计算,得到待检测计算结果;
检测模块,用于在预设时间段内检测到所述待检测计算结果为本地存储方中的目标计算结果时,判定所述文件数据存储正确。
9.一种电子设备,其特征在于,包括如权利要求8所述的文件数据的存储验证装置、存储器、处理器及存储在存储器上并可在处理器上运行的计算机处理程序,所述处理器执行所述计算机处理程序时实现权利要求1-7中任一项所述的文件数据的存储验证方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的文件数据的存储验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211224304.7A CN115292752A (zh) | 2022-10-09 | 2022-10-09 | 文件数据的存储验证方法、存储验证装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211224304.7A CN115292752A (zh) | 2022-10-09 | 2022-10-09 | 文件数据的存储验证方法、存储验证装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292752A true CN115292752A (zh) | 2022-11-04 |
Family
ID=83834463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211224304.7A Pending CN115292752A (zh) | 2022-10-09 | 2022-10-09 | 文件数据的存储验证方法、存储验证装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292752A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045356A (zh) * | 2010-12-14 | 2011-05-04 | 中国科学院软件研究所 | 一种面向云存储的可信存储验证方法和系统 |
CN108681943A (zh) * | 2018-05-18 | 2018-10-19 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的数据处理方法、装置、设备及存储介质 |
CN108769171A (zh) * | 2018-05-18 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 分布式存储的副本保持验证方法、装置、设备及存储介质 |
CN111104694A (zh) * | 2019-12-02 | 2020-05-05 | 华中科技大学 | 支持数据持有性证明与数据修复的数据编码方法及系统 |
CN113127463A (zh) * | 2021-03-15 | 2021-07-16 | 西安电子科技大学 | 一种去中心化存储基于区块链的数据去重与共享审计方法 |
CN114398648A (zh) * | 2021-12-10 | 2022-04-26 | 西安电子科技大学 | 支持动态操作和多用户存储证明的实用云存储方法及系统 |
EP3999989A1 (en) * | 2019-07-18 | 2022-05-25 | Nokia Technologies Oy | Integrity auditing for multi-copy storage |
-
2022
- 2022-10-09 CN CN202211224304.7A patent/CN115292752A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045356A (zh) * | 2010-12-14 | 2011-05-04 | 中国科学院软件研究所 | 一种面向云存储的可信存储验证方法和系统 |
CN108681943A (zh) * | 2018-05-18 | 2018-10-19 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的数据处理方法、装置、设备及存储介质 |
CN108769171A (zh) * | 2018-05-18 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 分布式存储的副本保持验证方法、装置、设备及存储介质 |
EP3999989A1 (en) * | 2019-07-18 | 2022-05-25 | Nokia Technologies Oy | Integrity auditing for multi-copy storage |
CN111104694A (zh) * | 2019-12-02 | 2020-05-05 | 华中科技大学 | 支持数据持有性证明与数据修复的数据编码方法及系统 |
CN113127463A (zh) * | 2021-03-15 | 2021-07-16 | 西安电子科技大学 | 一种去中心化存储基于区块链的数据去重与共享审计方法 |
CN114398648A (zh) * | 2021-12-10 | 2022-04-26 | 西安电子科技大学 | 支持动态操作和多用户存储证明的实用云存储方法及系统 |
Non-Patent Citations (1)
Title |
---|
李超零等: "基于同态hash的数据多副本持有性证明方案", 《计算机应用研究》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109472166B (zh) | 一种电子签章方法、装置、设备及介质 | |
CN107786504B (zh) | Elf文件发布方法、elf文件校验方法、服务器及终端 | |
US9871805B2 (en) | User authentication | |
CN107766747B (zh) | 校验应用程序安装包完整性的方法、移动终端及服务器 | |
CN102016865A (zh) | 基于可用权利来授权执行软件代码的系统和方法 | |
CN107493378B (zh) | 应用程序登录的方法和装置、计算机设备及可读存储介质 | |
KR20180030642A (ko) | 주문 정보를 처리하기 위한 방법, 장치 및 시스템 | |
CN106921799A (zh) | 一种移动终端安全防护方法以及移动终端 | |
CN102016867A (zh) | 基于至少一个已安装的简档来授权执行软件代码的系统和方法 | |
CN107154935B (zh) | 业务请求方法及装置 | |
CN102016866A (zh) | 基于授予承载商的权利授权在设备上执行软件代码的系统和方法 | |
CN111475832B (zh) | 一种数据管理的方法以及相关装置 | |
CN111343204B (zh) | 控制命令混淆方法、装置及计算机可读存储介质 | |
CN110474864B (zh) | 一种注册、登录移动应用程序的方法及电子设备 | |
CN111404933B (zh) | 鉴权方法、电子设备及鉴权服务器 | |
CN111598573A (zh) | 一种设备指纹验证方法及装置 | |
CN108460251B (zh) | 运行应用程序的方法、装置及系统 | |
CN112913267B (zh) | 资源处理方法、装置、终端、服务器和可读存储介质 | |
CN112073414B (zh) | 一种工业互联网设备安全接入方法、装置、设备及存储介质 | |
CN115292752A (zh) | 文件数据的存储验证方法、存储验证装置、设备及介质 | |
KR20140139451A (ko) | 휴대용 단말기를 이용한 인증 시스템 및 방법 | |
EP4044500B1 (en) | Electronic device for ensuring integrity of electronic device intrinsic information, and operating method therefor | |
CN114070610A (zh) | Api网关鉴权方法、网关设备及可读存储介质 | |
KR101359035B1 (ko) | 휴대용 단말기에서 사용자 인증 기능을 제공하기 위한 장치및 방법 | |
CN110944320B (zh) | 智能卡识别方法、系统及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221104 |
|
RJ01 | Rejection of invention patent application after publication |