CN105760781A - 有序可推演大数据文件的存储方法、恢复方法和操作方法 - Google Patents

有序可推演大数据文件的存储方法、恢复方法和操作方法 Download PDF

Info

Publication number
CN105760781A
CN105760781A CN201610118992.7A CN201610118992A CN105760781A CN 105760781 A CN105760781 A CN 105760781A CN 201610118992 A CN201610118992 A CN 201610118992A CN 105760781 A CN105760781 A CN 105760781A
Authority
CN
China
Prior art keywords
reconfiguration information
files
file
blocks
binary tree
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.)
Granted
Application number
CN201610118992.7A
Other languages
English (en)
Other versions
CN105760781B (zh
Inventor
冯朝胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Normal University
Original Assignee
Sichuan Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Normal University filed Critical Sichuan Normal University
Priority to CN201610118992.7A priority Critical patent/CN105760781B/zh
Publication of CN105760781A publication Critical patent/CN105760781A/zh
Application granted granted Critical
Publication of CN105760781B publication Critical patent/CN105760781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种有序可推演大数据文件的存储方法、恢复方法和操作方法,所述有序可推演大数据文件的存储方法包括:将待存储文件分割为文件块;采用物理标识对每个文件块进行标记;采用二叉树结构按序存储每个文件块的物理标识以获得重构信息二叉树,并将所述重构信息二叉树保存为重构信息文件;对所述重构信息文件进行加密以获得重构信息密文,并将所述重构信息密文上传至云服务器进行存储;以乱序方式将所有文件块上传至云服务器进行存储。本发明保证了隐藏在有序可推演大数据文件中的隐私信息不被泄露,又不用对有序可推演大数据文件中的所有数据进行加密。

Description

有序可推演大数据文件的存储方法、恢复方法和操作方法
技术领域
本发明涉及云存储技术领域,具体涉及一种有序可推演大数据文件的存储方法、恢复方法和操作方法。
背景技术
人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。大数据在物理学、生物学、环境生态学等领域以及军事、金融、通讯等行业存在已有时日,却因为近年来互联网和信息行业的发展而引起人们关注。在这样的大数据时代,不仅需要解决海量异构数据的存储问题,更需要解决海量数据的快速处理问题,而同时能够解决这两个问题的计算模式非云计算莫属。云计算是一种按使用量付费的计算模式,这种计算模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池,计算资源包括网络、服务器、存储、应用软件以及服务等。这些计算资源能够被快速地提供,只需要投入很少的管理工作或与服务提供商进行很少的交互。对于大多数企事业单位和个人而言,云计算环境是外包环境,即以很小的代价将数据的存储和计算外包给有强大计算存储能力以及专业团队进行运维的云计算服务提供商,既能有效解决面临的越来越严峻的大数据问题,又能节省大量资金。
然而,大数据的低价值密度特点决定了将数据外包给像云服务提供商这样的第三方会面临隐私泄漏的问题。在大数据中,有一种隐私信息与数据顺序有关的大数据,被称作有序可推演大数据。这类大数据如果直接以明文方式存储在云服务器中,云服务提供商可能通过采用聚类分析、关联分析以及数据挖掘等方法,推演出隐藏在大数据中的隐私信息。若为了确保隐私性而对所有数据都加密的话,又会因为加密量过大而不可取,因而如何确保有序可推演大数据的隐私性已成为云存储技术领域一个亟待解决的问题。
发明内容
本发明所要解决的是以明文方式存储有序可推演大数据容易泄漏隐私信息的问题。
本发明通过下述技术方案实现:
一种有序可推演大数据文件的存储方法,包括:将待存储文件分割为文件块;采用物理标识对每个文件块进行标记;采用二叉树结构按序存储每个文件块的物理标识以获得重构信息二叉树,并将所述重构信息二叉树保存为重构信息文件;对所述重构信息文件进行加密以获得重构信息密文,并将所述重构信息密文上传至云服务器进行存储;以乱序方式将所有文件块上传至云服务器进行存储。
基于上述有序可推演大数据文件的存储方法,本发明还提供一种有序可推演大数据文件的恢复方法,所述有序可推演大数据文件以上述存储方法存储于云服务器中,所述有序可推演大数据文件的恢复方法包括:下载待恢复文件对应的重构信息密文并进行解密以获得待恢复文件对应的重构信息二叉树;基于待恢复文件对应的重构信息二叉树获得要读取的文件块的物理标识;从云服务器中下载以所述要读取的文件块的物理标识命名的文件块;根据待恢复文件对应的重构信息二叉树拼装下载的文件块。
基于上述有序可推演大数据文件的存储方法,本发明还提供一种有序可推演大数据文件的操作方法,所述有序可推演大数据文件以上述存储方法存储于云服务器中,所述操作方法包括文件块插入操作、文件块更新操作以及文件块删除操作中的至少一种操作;
所述文件块插入操作包括:下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树;将待插入文件分割为待插入文件块;采用物理标识对每个待插入文件块进行标记;采用二叉树结构按序存储每个待插入文件块的物理标识以获得数据插入二叉树;根据数据插入二叉树更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件;对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储;以乱序方式将所有待插入文件块上传至云服务器进行存储;
所述文件块更新操作包括:对新文件块进行标记以获得新文件块的物理标识,并将新文件块上传至云服务器进行存储;下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树;基于操作文件对应的重构信息二叉树获得原文件块的物理标识,并删除以所述原文件块的物理标识命名的文件块;根据新文件块的物理标识更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件;对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储;
所述文件块删除操作包括:下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树;基于操作文件对应的重构信息二叉树获得待删除的文件块的物理标识;删除以所述待删除的文件块的物理标识命名的文件块;根据待删除的文件块的物理标识更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件;对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明提供的有序可推演大数据文件的存储方法、恢复方法以及操作方法,通过将有序可推演大数据文件分割为文件块,以乱序方式将所有文件块上传至云服务器进行存储,既保证了隐藏在有序可推演大数据文件中的隐私信息不被泄露,又不用对有序可推演大数据文件中的所有数据进行加密,只需加密用来恢复文件块的重构信息二叉树对应的重构信息文件,将获得的重构信息密文上传至云服务器进行存储,有效地减小了加密工作量,提高了客户端的数据处理效率。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1是本发明实施例的有序可推演大数据文件的存储方法的流程示意图;
图2是本发明实施例的有序可推演大数据文件的恢复方法的流程示意图;
图3是本发明实施例的文件块插入操作的流程示意图;
图4是本发明实施例的文件块更新操作的流程示意图;
图5是本发明实施例的文件块删除操作的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
图1是本实施例的有序可推演大数据文件的存储方法的流程示意图,所述有序可推演大数据文件的存储方法包括:
步骤S11,将待存储文件分割为文件块。
首先,需要在云服务器中生成有序可推演大数据文件安全存储的系统参数。所述系统参数包括一个大素数p、大素数p的一个本元根g,定义将任意字符串映射到剩余类集的哈希函数选择任意长度字符串到定长字符串的哈希函数国际标准SHA-3,表示为h(x)。在云服务器中生成系统参数后,通过客户端选择想要保护的有序可推演大数据文件,即确定待存储文件,对待存储文件进行分割。需要说明的是,可以将待存储文件分割为若干个大小相等的文件块,也可以将待存储文件分割为若干个大小不等的文件块。分割的文件块数量越多,待存储文件在云服务器中存储的安全性越高。
在本实施例中,以将待存储文件分割为若干个大小相等的文件块为例进行说明。在对所述待存储文件进行分割前,需要设置文件分割尺度,也就是要确定分割后每个文件块的大小。文件分割尺度与文件价值密度相关:文件价值密度越高,文件分割尺度设置得越小;文件价值密度越低,文件分割尺度设置得越大。本实施例提供两种文件分割尺度的设置方法:一种是直接设置文件分割尺度,另一种是通过设置文件块的总数量来间接设置文件分割尺度。无论采用哪种方式设置文件分割尺度,为了提高存储效率,文件分割尺度可以设置为文件系统默认分块尺度的正整数倍。例如,开放云架构Hadoop的文件系统HDFS和Google云的文件系统GFS是以64MB为默认分块尺度,为了提高存储效率,所述文件分割尺度可以设置为64MB的正整数倍。需要说明的是,文件分割尺度的设定可以通过客户端配置界面或者客户端配置文件完成。本领域技术人员知晓如何在客户端配置界面或者客户端配置文件中设置文件分割尺度,在此不再赘述。进一步,当通过设置文件块的总数量来间接设置文件分割尺度时,按照文件块的总数量分割出来的文件块大小未必就是默认分块尺度的正整数倍。在此种情况下,就要对文件分割尺度进行调整,调整后的文件分割尺度为|F|/(j×64)的下确界,其中,|F|为以MB为单位的待存储文件的大小,j为设置的文件块的总数量。以将待存储文件分割为N个文件块为例,按照数据顺序将这N个文件块分别表示为文件块m1、…、文件块mi、…、文件块mN,1≤i≤N,i为正整数。
步骤S12,采用物理标识对每个文件块进行标记。对每个文件块求哈希值,某个文件块的哈希值即为该文件块的物理标识。与之对应地,某个文件块在所有文件块中的序号为该文件块的逻辑标识。例如,文件块m1的物理标识为h(m1),文件块m1的逻辑标识为1;文件块m2的物理标识为h(m2),文件块m2的逻辑标识为2;...;文件块mN的物理标识为h(mN),文件块mN的逻辑标识为N。逻辑标识只在某个文件中有意义,而物理标识在整个大文件存储系统中都用来唯一地标识某个文件块。任意两个文件块,不论它们是否来自同一个文件,如果它们的哈希值相同,则它们为内容完全相同的文件块。在本实施例中,哈希函数采用国际标准SHA-3。
步骤S13,采用二叉树结构按序存储每个文件块的物理标识以获得重构信息二叉树,并将所述重构信息二叉树保存为重构信息文件。具体地,所述重构信息二叉树将用来恢复被分割的有序可推演大数据文件,其构建过程和一般二叉树的构建过程相似。在所述重构信息二叉树中,根节点的数据域用于存储待存储文件的文件名和待存储文件的大小等一些元数据信息,每个叶子节点的数据域用于存储一个文件块的物理标识。在本实施例中,待存储文件的分割顺序为先序遍历所述重构信息二叉树获得的叶子节点顺序。当然,待存储文件的分割顺序也可以设置为后序遍历所述重构信息二叉树获得的叶子节点顺序,或者设置为中序遍历所述重构信息二叉树获得的叶子节点顺序,本发明对此不作限定。所述重构信息二叉树构建完成后,将所述重构信息二叉树在客户端保存为重构信息文件。
步骤S14,对所述重构信息文件进行加密以获得重构信息密文,并将所述重构信息密文上传至云服务器进行存储。在本实施例中,采用可重加密算法对所述重构信息文件进行加密。本实施例提供一种对所述重构信息文件进行加密的具体方法,包括:
根据生成可代理加密密钥,其中,tpk为所述可代理加密密钥,p为系统参数中的大素数,g为大素数p的本元根,kF为所述重构信息文件的加密密钥,mod为求余运算符。在本实施例中,可以采用伪随机法或者混沌法等方法生成用户主密钥,长度为256位。为了保护用户主密钥,使用AES加密方法对用户主密钥进行加密,加密密钥为h(psw||username||psw),长度为256位。其中,username为用户名,psw为用户口令。设用户主密钥为kmaster,待存储文件在云服务器中的存储路径为path,则所述重构信息文件的加密密钥kF=H(kmaster||path||kmaster)。所述用户主密钥kmaster以密文形式存储在云服务器的用户访问权限表中,当所述用户主密钥kmaster更新为k'master时,必然导致所述重构信息文件的加密密钥更新,进而导致属于该用户的所有重构信息文件的重新加密,所述重构信息文件的加密密钥更新为H(k'master||path||k'master)。当用户修改其口令时,只需要用基于新口令生成的密钥重新加密用户主密钥即可,无需修改其它任何地方。
将所述重构信息文件的数据部分分割为数据块。若所述文件块的位数不短于大素数p的位数l+1,则需要对所述重构信息文件的数据部分按分割尺度l进行按序分割,按照数据顺序将分割后的数据块分别表示为数据块f1、…、数据块fi、…、数据块fS,1≤i≤S,i为正整数,S为数据块的总数量。
根据CTRF=(f1·tpk)||…||(fi·tpk)||…(fS·tpk)获得所述重构信息密文,其中,CTRF为所述重构信息密文,||为串接运算符,该运算符用于将两个字符串串接为一个字符串,fi为第i个数据块。具体地,对每个数据块计算fi·tpk以获得密文块,将各个密文块按序进行串接就得到所述重构信息密文。获得所述重构信息密文后,将所述重构信息密文上传至云服务器,所述重构信息密文在云服务器中存储的文件名可以为其在对应用户文件目录中的路径的哈希值,即h(path)。
步骤S15,以乱序方式将所有文件块上传至云服务器进行存储。上传时,先随机选择要上传的文件块,再将选择的文件块上传。照此方法,上传完所有的文件块。
本实施例提供的有序可推演大数据文件的存储方法,通过将有序可推演大数据文件分割为文件块,以乱序方式将所有文件块上传至云服务器进行存储,既保证了隐藏在有序可推演大数据文件中的隐私信息不被泄露,又不用对有序可推演大数据文件中的所有数据进行加密,只需加密用来恢复文件块的重构信息二叉树对应的重构信息文件,将获得的重构信息密文上传至云服务器进行存储,有效地减小了加密工作量,提高了客户端的数据处理效率。
进一步,在待存储文件在云服务器中的存储路径变更时,还可以对所述重构信息文件进行代理重加密。所述对所述重构信息文件进行代理重加密包括:
根据k'F=H(kmaster||path'||kmaster)获得存储路径变更时所述重构信息文件的加密密钥,其中,k'F为存储路径变更时所述重构信息文件的加密密钥,H为将任意字符串映射到剩余类集的哈希函数,kmaster为所述用户主密钥,path'为变更后的存储路径;
根据pk'F=k'F-kF(modp)生成代理重加密密钥,其中,pk'F为所述代理重加密密钥;
将所述代理重加密密钥上传至云服务器以请求云服务器完成代理重加密;
云服务器将所述重构信息密文恢复为S个密文块。云服务器读取所述重构信息密文,并按照分割尺度l对其进行分割,从而得到S个密文块;
根据 CT R F ′ = ( f 1 · t p k · g pk F ′ ) | | ... | | ( f i · t p k · g pk F ′ ) | | ... ( f S · t p k · g pk F ′ )
获得重加密密文,其中,CTRF为所述重加密密文,fi·tpk为第i个密文块。对每个密文块计算以获得重加密密文块,将各个重加密密文块按序进行串接就得到所述重加密密文。
为了防止在云服务器中明文命名文件或文件夹导致有针对性的攻击,保护用户文件目录结构、文件的组织形式和文件间的关系,本实施例的有序可推演大数据文件的存储方法还包括:将云服务器中的用户文件目录作为单独的文件以密文形式存储。具体地,用户文件目录在云服务器上为一个加了密的数据文件,云服务提供商无法知道目录结构。只有目录所有者通过客户端在解密了该目录文件后才能看到自己的文件目录结构以及以明文命名的文件或文件夹。访问目录中某个文件时,先要根据文件路径计算出该文件在云服务器上对应的重构信息密文的文件名,进而进行后续操作。对用户文件目录进行加密可以采用对称加密方式,本领域技术人员知晓对称加密的具体实现过程,在此不再赘述。进一步,可以以用户名和用户口令串接后的哈希值命名所述用户文件目录对应的密文,避免云服务器知晓用户包含哪些文件、哪些文件属于哪些用户。为了进一步确保待存储文件的隐私性,可以将所有文件块、所述重构信息密文以及所述目录信息密文存储在云服务器中的同一个文件夹内。
实施例2
基于实施例1提供的有序可推演大数据文件的存储方法,本实施例提供一种有序可推演大数据文件的恢复方法,所述有序可推演大数据文件以实施例1提供的方法存储。图2是本实施例的有序可推演大数据文件的恢复方法的流程示意图,所述有序可推演大数据文件的恢复方法包括:
步骤S21,下载待恢复文件对应的重构信息密文并进行解密以获得待恢复文件对应的重构信息二叉树。具体地,从云服务器的云文件目录中选择要读取数据所在的文件,该文件即为待恢复文件。进一步,可以选择多个待恢复文件。将待恢复文件对应的重构信息密文下载到本地客户端,客户端解密重构信息密文得到重构信息文件,从而获得待恢复文件对应的重构信息二叉树。基于待恢复文件对应的重构信息二叉树可以恢复并展示待恢复文件的文件结构,即待恢复文件的文件块组成及顺序。
步骤S22,基于待恢复文件对应的重构信息二叉树获得要读取的文件块的物理标识。从展示的待恢复文件的文件结构中选择要读取的文件块,若选择所有文件块,意味着要恢复整个文件。
步骤S23,从云服务器中下载以所述要读取的文件块的物理标识命名的文件块。客户端随机选择要读取的文件块的物理标识,并从云服务器上下载以该物理标识命名的文件块,直到所有选择的文件块都被下载。
步骤S24,根据待恢复文件对应的重构信息二叉树拼装下载的文件块。客户端根据待恢复文件的文件结构依次将同一文件的文件块拼装成一个文件,并保存到本地设备的存储器上。
基于实施例1提供的有序可推演大数据文件的存储方法,本实施例提供一种有序可推演大数据文件的操作方法,所述有序可推演大数据文件以实施例1提供的方法存储,所述操作方法包括文件块插入操作、文件块更新操作以及文件块删除操作中的至少一种操作。
实施例3
图3是本实施例的文件块插入操作的流程示意图,所述文件块插入操作包括:
步骤S31,下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树。本步骤与实施例2中的步骤S21类似,在此不再赘述。
步骤S32,将待插入文件分割为待插入文件块。具体地,通过客户端导入要插入到操作文件中的一段连续数据,即导入待插入文件,并按照与实施例1中的步骤S11类似的方法将将待插入文件分割为一个或者多个待插入文件块。
步骤S33,采用物理标识对每个待插入文件块进行标记。本步骤与实施例1中的步骤S12类似,即对每个待插入文件块求哈希值,某个待插入文件块的哈希值即为该待插入文件块的物理标识。
步骤S34,采用二叉树结构按序存储每个待插入文件块的物理标识以获得数据插入二叉树。本步骤与实施例1中的步骤S13类似,即按照重构信息二叉树的构造方法构建一个数据插入二叉树,所述数据插入二叉树的构建过程与所述重构信息二叉树的构建过程相同。
步骤S35,根据数据插入二叉树更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件。具体地,文件块插入有两种方式:前插入和后插入。前插入就是插入到所选择文件块的前面,后插入就是插入到所选择文件块的后面。
若为后插入方式,所述根据数据插入二叉树更新操作文件对应的重构信息二叉树包括:基于操作文件对应的重构信息二叉树获得插入位置的叶子节点,所述插入位置的叶子节点即存储所选择文件块的叶子节点;构建连接节点,所述连接节点的左孩子指针指向所述插入位置的叶子节点,所述连接节点的右孩子指针指向所述插入二叉树的根节点;使操作文件对应的重构信息二叉树中指向所述插入位置的叶子节点的指针指向所述连接节点。若所选择文件块为操作文件的最后一个文件块,插入操作实际即为追加操作。
若为前插入方式,所述根据数据插入二叉树更新操作文件对应的重构信息二叉树包括:基于操作文件对应的重构信息二叉树获得插入位置的叶子节点,所述插入位置的叶子节点即存储所选择文件块的叶子节点;构建连接节点,所述连接节点的右孩子指针指向所述插入位置的叶子节点,所述连接节点的左孩子指针指向所述插入二叉树的根节点;使操作文件对应的重构信息二叉树中指向所述插入位置的叶子节点的指针指向所述连接节点。
步骤S36,对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储。本步骤与实施例1中的步骤S14类似,在此不再赘述。
步骤S37,以乱序方式将所有待插入文件块上传至云服务器进行存储。本步骤与实施例1中的步骤S15类似,在此不再赘述。
实施例4
图4是本实施例的文件块更新操作的流程示意图,所述文件块更新操作包括:
步骤S41,对新文件块进行标记以获得新文件块的物理标识,并将新文件块上传至云服务器进行存储。在本实施例中,以要更新逻辑标识为3的文件块m3为例进行说明,其物理标识为h(m3)。设新文件块为m'3,将文件块m'3导入后,计算其物理标识h(m'3),并将文件块m'3上传至云服务器进行存储。
步骤S42,下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树。本步骤与实施例2中的步骤S21类似,在此不再赘述。
步骤S43,基于操作文件对应的重构信息二叉树获得原文件块的物理标识,并删除以所述原文件块的物理标识命名的文件块。在本实施例中,删除文件块m3
步骤S44,根据新文件块的物理标识更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件。具体地,所述根据新文件块的物理标识更新操作文件对应的重构信息二叉树包括:构建更新节点,所述更新节点的数据域用于存储新文件块的物理标识;使操作文件对应的重构信息二叉树中指向所述原文件块对应的叶子节点的指针指向所述更新节点;删除所述原文件块对应的叶子节点。
步骤S45,对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储。本步骤与实施例1中的步骤S14类似,在此不再赘述。
实施例5
图5是本实施例的文件块删除操作的流程示意图,所述文件块删除操作包括:
步骤S51,下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树。本步骤与实施例2中的步骤S21类似,在此不再赘述。
步骤S52,基于操作文件对应的重构信息二叉树获得待删除的文件块的物理标识。在本实施例中,以要删除逻辑标识为3的文件块m3为例进行说明,其物理标识为h(m3)。
步骤S53,删除以所述待删除的文件块的物理标识命名的文件块。具体地,将云服务器上物理标识为h(m3)的文件块删除。
步骤S54,根据待删除的文件块的物理标识更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件。具体地,所述根据待删除的文件块的物理标识更新操作文件对应的重构信息二叉树包括:使操作文件对应的重构信息二叉树中指向所述待删除的文件块对应的叶子节点的父节点的指针指向所述待删除的文件块对应的叶子节点的兄弟节点;删除所述待删除的文件块对应的叶子节点及其父节点。
步骤S55,对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储。本步骤与实施例1中的步骤S14类似,在此不再赘述。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种有序可推演大数据文件的存储方法,其特征在于,包括:
将待存储文件分割为文件块;
采用物理标识对每个文件块进行标记;
采用二叉树结构按序存储每个文件块的物理标识以获得重构信息二叉树,并将所述重构信息二叉树保存为重构信息文件;
对所述重构信息文件进行加密以获得重构信息密文,并将所述重构信息密文上传至云服务器进行存储;
以乱序方式将所有文件块上传至云服务器进行存储。
2.根据权利要求1所述的有序可推演大数据文件的存储方法,其特征在于,在所述重构信息二叉树中,每个叶子节点的数据域用于存储一个文件块的物理标识,待存储文件的分割顺序为先序遍历所述重构信息二叉树获得的叶子节点顺序。
3.根据权利要求1所述的有序可推演大数据文件的存储方法,其特征在于,所述对所述重构信息文件进行加密以获得重构信息密文包括:
根据生成可代理加密密钥,其中,tpk为所述可代理加密密钥,p为系统参数中的大素数,g为大素数p的本元根,kF为所述重构信息文件的加密密钥,mod为求余运算符;
将所述重构信息文件的数据部分分割为数据块;
根据CTRF=(f1·tpk)||…||(fi·tpk)||…(fS·tpk)获得所述重构信息密文,其中,CTRF为所述重构信息密文,||为串接运算符,fi为第i个数据块,1≤i≤S,S为数据块的总数量。
4.根据权利要求3所述的有序可推演大数据文件的存储方法,其特征在于,还包括:在待存储文件在云服务器中的存储路径变更时,对所述重构信息文件进行代理重加密以获得重加密密文;所述对所述重构信息文件进行代理重加密以获得重加密密文包括:
根据k'F=H(kmaster||path'||kmaster)获得存储路径变更时所述重构信息文件的加密密钥,其中,k'F为存储路径变更时所述重构信息文件的加密密钥,H为将任意字符串映射到剩余类集的哈希函数,kmaster为用户主密钥,path'为变更后的存储路径;
根据pk'F=k'F-kF(modp)生成代理重加密密钥,其中,pk'F为所述代理重加密密钥;
将所述代理重加密密钥上传至云服务器以请求云服务器完成代理重加密;
云服务器将所述重构信息密文恢复为S个密文块;
根据 CT R F ′ = ( f 1 · t p k · g pk F ′ ) | | ... | | ( f i · t p k · g pk F ′ ) | | ... ( f S · t p k · g pk F ′ ) 获得所述重加密密文,其中,CTR'F为所述重加密密文,fi·tpk为第i个密文块。
5.根据权利要求1所述的有序可推演大数据文件的存储方法,其特征在于,还包括:
将云服务器中的用户文件目录作为单独的文件以密文形式存储。
6.根据权利要求5所述的有序可推演大数据文件的存储方法,其特征在于,以用户名和用户口令串接后的哈希值命名所述用户文件目录对应的密文。
7.一种有序可推演大数据文件的恢复方法,所述有序可推演大数据文件以权利要求1至6任一项所述的存储方法存储于云服务器中,其特征在于,包括:
下载待恢复文件对应的重构信息密文并进行解密以获得待恢复文件对应的重构信息二叉树;
基于待恢复文件对应的重构信息二叉树获得要读取的文件块的物理标识;
从云服务器中下载以所述要读取的文件块的物理标识命名的文件块;
根据待恢复文件对应的重构信息二叉树拼装下载的文件块。
8.一种有序可推演大数据文件的操作方法,所述有序可推演大数据文件以权利要求1至6任一项所述的存储方法存储于云服务器中,其特征在于,所述操作方法包括文件块插入操作、文件块更新操作以及文件块删除操作中的至少一种操作;
所述文件块插入操作包括:
下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树;
将待插入文件分割为待插入文件块;
采用物理标识对每个待插入文件块进行标记;
采用二叉树结构按序存储每个待插入文件块的物理标识以获得数据插入二叉树;
根据数据插入二叉树更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件;
对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储;
以乱序方式将所有待插入文件块上传至云服务器进行存储;
所述文件块更新操作包括:
对新文件块进行标记以获得新文件块的物理标识,并将新文件块上传至云服务器进行存储;
下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树;
基于操作文件对应的重构信息二叉树获得原文件块的物理标识,并删除以所述原文件块的物理标识命名的文件块;
根据新文件块的物理标识更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件;
对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储;
所述文件块删除操作包括:
下载操作文件对应的重构信息密文并进行解密以获得操作文件对应的重构信息二叉树;
基于操作文件对应的重构信息二叉树获得待删除的文件块的物理标识;
删除以所述待删除的文件块的物理标识命名的文件块;
根据待删除的文件块的物理标识更新操作文件对应的重构信息二叉树,并将更新后的重构信息二叉树保存为更新后的重构信息文件;
对更新后的重构信息文件进行加密以获得更新后的重构信息密文,并将更新后的重构信息密文上传至云服务器进行存储。
9.根据权利要求8所述的有序可推演大数据文件的操作方法,其特征在于,所述根据数据插入二叉树更新操作文件对应的重构信息二叉树包括:
基于操作文件对应的重构信息二叉树获得插入位置的叶子节点;
构建连接节点,所述连接节点的左孩子指针指向所述插入位置的叶子节点,所述连接节点的右孩子指针指向所述插入二叉树的根节点;
使操作文件对应的重构信息二叉树中指向所述插入位置的叶子节点的指针指向所述连接节点。
10.根据权利要求8所述的有序可推演大数据文件的操作方法,其特征在于,所述根据数据插入二叉树更新操作文件对应的重构信息二叉树包括:
基于操作文件对应的重构信息二叉树获得插入位置的叶子节点;
构建连接节点,所述连接节点的右孩子指针指向所述插入位置的叶子节点,所述连接节点的左孩子指针指向所述插入二叉树的根节点;
使操作文件对应的重构信息二叉树中指向所述插入位置的叶子节点的指针指向所述连接节点。
11.根据权利要求8所述的有序可推演大数据文件的操作方法,其特征在于,所述根据新文件块的物理标识更新操作文件对应的重构信息二叉树包括:
构建更新节点,所述更新节点的数据域用于存储新文件块的物理标识;
使操作文件对应的重构信息二叉树中指向所述原文件块对应的叶子节点的指针指向所述更新节点;
删除所述原文件块对应的叶子节点。
12.根据权利要求8所述的有序可推演大数据文件的操作方法,其特征在于,所述根据待删除的文件块的物理标识更新操作文件对应的重构信息二叉树包括:
使操作文件对应的重构信息二叉树中指向所述待删除的文件块对应的叶子节点的父节点的指针指向所述待删除的文件块对应的叶子节点的兄弟节点;
删除所述待删除的文件块对应的叶子节点及其父节点。
CN201610118992.7A 2016-03-02 2016-03-02 有序可推演大数据文件的存储方法、恢复方法和操作方法 Active CN105760781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610118992.7A CN105760781B (zh) 2016-03-02 2016-03-02 有序可推演大数据文件的存储方法、恢复方法和操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610118992.7A CN105760781B (zh) 2016-03-02 2016-03-02 有序可推演大数据文件的存储方法、恢复方法和操作方法

Publications (2)

Publication Number Publication Date
CN105760781A true CN105760781A (zh) 2016-07-13
CN105760781B CN105760781B (zh) 2018-05-08

Family

ID=56332341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610118992.7A Active CN105760781B (zh) 2016-03-02 2016-03-02 有序可推演大数据文件的存储方法、恢复方法和操作方法

Country Status (1)

Country Link
CN (1) CN105760781B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209866A (zh) * 2016-07-15 2016-12-07 上海数据交易中心有限公司 一种数据处理和传输系统、前置端及数据系统
CN106453273A (zh) * 2016-09-22 2017-02-22 西安莫贝克半导体科技有限公司 一种基于云技术的信息保险管理系统和方法
CN106547837A (zh) * 2016-10-13 2017-03-29 广西电网有限责任公司电力科学研究院 一种分布式文件系统及其数据文件处理方法
CN107395616A (zh) * 2017-08-14 2017-11-24 北京奇虎科技有限公司 一种用于对数据文件进行安全处理的方法及系统
CN107404476A (zh) * 2017-06-20 2017-11-28 北京东方棱镜科技有限公司 大数据云环境中数据安全的保护方法和装置
CN108363710A (zh) * 2017-06-20 2018-08-03 孔朝晖 带有智能重构数据视图的云系统目录
CN108536447A (zh) * 2018-04-11 2018-09-14 上海掌门科技有限公司 运维管理方法
CN108733680A (zh) * 2017-04-14 2018-11-02 徐州瑞晨矿业科技发展有限公司 一种基于矢量图形数据进行工程图纸远程分享的方法
CN110209380A (zh) * 2019-05-30 2019-09-06 上海直真君智科技有限公司 一种面向大数据异构模型的统一动态元数据处理方法
WO2020177514A1 (zh) * 2019-03-01 2020-09-10 阿里巴巴集团控股有限公司 图像存取方法及其系统
CN113315844A (zh) * 2021-06-17 2021-08-27 中国农业银行股份有限公司 文件加密传输方法、装置、设备和计算机可读存储介质
WO2022237046A1 (zh) * 2021-05-13 2022-11-17 统信软件技术有限公司 一种数据加密方法及计算设备
CN117202176A (zh) * 2023-11-07 2023-12-08 耀维科技南京有限公司 一种用于无人叉车的信息安全控制系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033924A (zh) * 2010-12-08 2011-04-27 浪潮(北京)电子信息产业有限公司 一种数据存储方法和系统
CN105095794A (zh) * 2015-07-20 2015-11-25 武汉科技大学 一种基于平衡的梅肯哈希树的动态云数据完整性验证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033924A (zh) * 2010-12-08 2011-04-27 浪潮(北京)电子信息产业有限公司 一种数据存储方法和系统
CN105095794A (zh) * 2015-07-20 2015-11-25 武汉科技大学 一种基于平衡的梅肯哈希树的动态云数据完整性验证方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209866A (zh) * 2016-07-15 2016-12-07 上海数据交易中心有限公司 一种数据处理和传输系统、前置端及数据系统
CN106453273B (zh) * 2016-09-22 2019-09-13 西安莫贝克半导体科技有限公司 一种基于云技术的信息保险管理系统和方法
CN106453273A (zh) * 2016-09-22 2017-02-22 西安莫贝克半导体科技有限公司 一种基于云技术的信息保险管理系统和方法
CN106547837A (zh) * 2016-10-13 2017-03-29 广西电网有限责任公司电力科学研究院 一种分布式文件系统及其数据文件处理方法
CN108733680A (zh) * 2017-04-14 2018-11-02 徐州瑞晨矿业科技发展有限公司 一种基于矢量图形数据进行工程图纸远程分享的方法
CN107404476A (zh) * 2017-06-20 2017-11-28 北京东方棱镜科技有限公司 大数据云环境中数据安全的保护方法和装置
CN108363710A (zh) * 2017-06-20 2018-08-03 孔朝晖 带有智能重构数据视图的云系统目录
CN107395616A (zh) * 2017-08-14 2017-11-24 北京奇虎科技有限公司 一种用于对数据文件进行安全处理的方法及系统
CN107395616B (zh) * 2017-08-14 2020-10-27 北京奇虎科技有限公司 一种用于对数据文件进行安全处理的方法及系统
CN108536447B (zh) * 2018-04-11 2021-07-16 上海掌门科技有限公司 运维管理方法
CN108536447A (zh) * 2018-04-11 2018-09-14 上海掌门科技有限公司 运维管理方法
WO2020177514A1 (zh) * 2019-03-01 2020-09-10 阿里巴巴集团控股有限公司 图像存取方法及其系统
CN110209380A (zh) * 2019-05-30 2019-09-06 上海直真君智科技有限公司 一种面向大数据异构模型的统一动态元数据处理方法
WO2022237046A1 (zh) * 2021-05-13 2022-11-17 统信软件技术有限公司 一种数据加密方法及计算设备
CN113315844A (zh) * 2021-06-17 2021-08-27 中国农业银行股份有限公司 文件加密传输方法、装置、设备和计算机可读存储介质
CN117202176A (zh) * 2023-11-07 2023-12-08 耀维科技南京有限公司 一种用于无人叉车的信息安全控制系统
CN117202176B (zh) * 2023-11-07 2024-01-23 耀维科技南京有限公司 一种用于无人叉车的信息安全控制系统

Also Published As

Publication number Publication date
CN105760781B (zh) 2018-05-08

Similar Documents

Publication Publication Date Title
CN105760781B (zh) 有序可推演大数据文件的存储方法、恢复方法和操作方法
US11709948B1 (en) Systems and methods for generation of secure indexes for cryptographically-secure queries
Moataz et al. Constant communication ORAM with small blocksize
US20140359309A1 (en) Deletion of content in storage systems
Dowsley et al. A survey on design and implementation of protected searchable data in the cloud
CN104978239A (zh) 一种实现多备份数据动态更新的方法、装置及系统
EP3342090A1 (en) Method for providing encrypted data in a database and method for searching on encrypted data
US9749132B1 (en) System and method for secure deletion of data
CN111523133A (zh) 一种区块链与云端数据协同共享方法
CN103607405A (zh) 一种面向云存储的密文搜索认证方法
CN105787389A (zh) 云文件完整性公开审计证据生成方法及公开审计方法
Tian et al. A transparent middleware for encrypting data in MongoDB
Moataz et al. Resizable tree-based oblivious RAM
Hao et al. Secure and fine-grained self-controlled outsourced data deletion in cloud-based IoT
Mo et al. Two-party fine-grained assured deletion of outsourced data in cloud systems
CN103425933A (zh) 一种多数据源的数据同态加密转存方法
CN107094075A (zh) 一种基于收敛加密的数据块动态操作方法
CN111091381B (zh) 一种硬件钱包及其管理方法
Mironov et al. Incremental deterministic public-key encryption
CN104794243B (zh) 基于文件名的第三方密文检索方法
US20230155815A1 (en) Secure integer comparison using binary trees
CN103414555B (zh) 阵列基于io块加密的密钥管理方法
Hoang et al. A multi-server oblivious dynamic searchable encryption framework
Meng et al. Secure data deduplication with reliable data deletion in cloud
JP2018195907A (ja) データ管理システム、データ管理方法及びデータ管理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant