首页> 中国专利> 加密数据文件存储和检索系统及方法

加密数据文件存储和检索系统及方法

摘要

本发明公开加密数据文件存储和检索方法,包含:数据文件提取内容元数据后进行加密生成加密数据文件存储于云存储系统的存储设备;内容元数据添加数据文件在加密状态下的文件全局标识符后存储于云存储系统的内容元数据库;检索云存储系统中存储的加密数据文件时,通过倒排索引方法检索内容元数据库获得与检索关键词匹配的文件全局标识符,列出该文件全局标识符对应的加密数据文件的属性信息和内容信息作为检索结果。本发明在数据文件加密前提取内容元数据,内容元数据中添加文件在加密状态下的文件全局标识符,通过文件全局标识符检索存储在云存储系统的加密数据文件,保障数据文件在云存储环境中的安全性和隐私性同时,保障数据文件检索的便利性。

著录项

  • 公开/公告号CN105678189A

    专利类型发明专利

  • 公开/公告日2016-06-15

    原文格式PDF

  • 申请/专利权人 上海海事大学;

    申请/专利号CN201610025930.1

  • 发明设计人 韩德志;毕坤;戴永涛;陈付梅;

    申请日2016-01-15

  • 分类号G06F21/62(20130101);G06F17/30(20060101);

  • 代理机构上海信好专利代理事务所(普通合伙);

  • 代理人周乃鑫;尹兵

  • 地址 201306 上海市浦东新区临港新城海港大道1550号

  • 入库时间 2023-12-18 15:32:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-23

    授权

    授权

  • 2016-07-13

    实质审查的生效 IPC(主分类):G06F21/62 申请日:20160115

    实质审查的生效

  • 2016-06-15

    公开

    公开

说明书

技术领域

本发明涉及信息安全技术领域,具体涉及一种基于云存储系统的加密数据文件存储和检索系统及方法。

背景技术

相比传统的数据文件存储方式,云存储技术具有很多的优势:

(1)成本低廉,传统方式下,用户需要购买大量的服务器、硬盘等基础设备,而且还需要定期对设备进行升级,而在云存储环境中,用户不再需要购买这些基础设备,一方面节省了购买基础设备的成本,另一方面也减少了维护的费用;

(2)伸缩性好,对于中小企业来说,前期很难估算需要的存储容量大小,而云存储可以很好的解决这一问题,前期可以根据当前需要购买满足需求的存储容量,当业务增长,数据量增多时,可以动态的增加存储容量而不影响之前的数据;

(3)数据自动备份,为了数据安全,很多用户都会将数据进行备份,而备份往往比较繁琐而且存在备份数据安全和完整性保护问题,云存储供应商一般给数据文件提供两个或两个以上的副本,充分保证数据文件的高可用性,从而将用户从数据备份的烦恼中解救出来;

(4)故障自动切换,传统的存储系统升级时,需要将数据从旧的存储中迁移到别的存储服务器上,等新的存储服务器上线之后,再将数据迁移回来,一方面会造成服务的中断,另一方面也会带来数据丢失的风险,而在云存储环境中这些问题都将不复存在,系统检测到异常时,会自动将服务切换到可用的冗余存储集群上,而不影响正常的服务,更不会丢失数据。

虽然云存储具有诸多的优势,但也存在一些不足,尤其突出的一点是越来越多的用户担心:自己的数据存储在由他人管理和控制的云存储系统环境中,有可能泄露数据的内容,给个人和公司带来损失。目前解决此类问题的方法是将数据以加密的形式存储在云存储系统中。

虽然将数据文件加密存储,可以保护数据文件的隐私性和安全性,但是同时也带来了一个问题:在很多场景下,用户需要根据一些特定的内容来检索数据文件,如果数据文件加密了,就导致无法检索,或者检索速度缓慢。

发明内容

本发明提供一种加密数据文件存储和检索系统及方法,解决加密数据文件检索困难和检索速度慢的问题,能够在数据文件处于加密状态的基础上,快速的检索出所需的加密数据文件信息。

为实现上述目的,本发明提供一种加密数据文件存储和检索系统,其特点是,该系统包含:

云存储系统,其包含服务器端和存储设备;服务器端包含用户身份认证模块、内容元数据提取模块、元数据管理系统、数据文件加密模块、信息检索模块;元数据管理系统下接并管理内容元数据库、系统元数据库和存储元数据库;存储设备,其用于存储数据文件,数据文件包含加密数据文件和明文数据文件;

客户端,其包含内容元数据提取模块和数据文件加密模块。

一种加密数据文件存储和检索方法,其特点是,该方法包含:

客户端或云存储系统服务器端提取数据文件的内容元数据后进行加密生成加密数据文件,加密数据文件及对应的内容元数据分别存储于云存储系统的存储存储设备和服务器端的内容元数据库中;内容元数据包含数据文件的属性信息和内容信息,以及数据文件在加密状态下的文件全局标识符;

检索云存储系统中存储的加密数据文件时,服务端的加密数据文件检索模块通过倒排索引方法,在服务器端的内容元数据库中检索获得与检索关键词匹配的数据文件在加密状态下的文件全局标识符,列出该文件全局标识符对应的加密数据文件的属性信息和内容信息作为检索结果返回。

上述客户端提取数据文件的内容元数据后进行加密生成加密数据文件的方法包含:

客户端提取数据文件的内容元数据;

客户端加密已提取内容元数据的数据文件,生成加密数据文件;

客户端将加密数据文件及对应的内容元数据上传至云存储系统服务器端。

上述云存储系统服务器端提取数据文件的内容元数据后进行加密生成加密数据文件的方法包含:

客户端将数据文件上传至云存储系统服务器端;

云存储系统服务器端提取数据文件的内容元数据;

云存储系统服务器端对已提取内容元数据的数据文件加密,生成加密数据文件。

上述提取数据文件的内容元数据包含:客户端或云存储系统服务器端的內容元数据提取模块根据数据文件的特性,对数据文件内容做初步的分析,提取能体现数据文件特性的属性信息和内容信息,并将数据文件加密后的文件全局标识符添加到内容元数据中。

上述提取数据文件的内容元数据后,客户端可对存储于云存储系统服务器端内容元数据库中的内容元数据进行修改。

上述云存储系统服务器端将加密数据文件分布式存储在云存储系统的存储设备,并将内容元数据存储于云存储系统的内容元数据库中。

上述检索云存储系统服务器端中存储的加密数据文件包含:

客户端发送包含检索关键词的检索请求,云存储系统分析检索请求确定检索请求中检索关键词内容的合法性;

云存储系统的信息检索模块通过倒排索引方法对内容元数据库进行匹配查询,获取与检索关键词匹配的数据文件在加密状态下的文件全局标识符和文件全局标识符对应的数据文件的属性信息和内容信息作为检索结果;

信息检索模块将检索结果进行排序后发送至客户端。

上述客户端根据检索结果,可选择下载检索结果中所列的文件全局标识符对应的加密数据文件;

若加密数据文件是在客户端加密则云存储系统直接将加密数据文件传到用户客户端,由客户端进行解密;

若加密数据文件是在云存储系统服务器端加密,则由云存储系统服务器端将加密数据文件解密后传到客户端。

上述加密数据文件的检索方法还包含倒排索引方法的优化方法,该倒排索引方法的优化方法包含:

经过垂直分割和水平移动,使数据文件内容元数据的倒排索引矩阵的零元素移到矩阵的底部和右部;

再经过分块聚类,将原来的高维稀疏矩阵转变为若干个低维稠密矩阵;

对内容元数据检索时,将优化的稀疏矩阵中若干个的低维矩阵分别送到云存储系统中的不同处理单元进行并行处理。

本发明加密数据文件存储和检索系统及方法和现有技术的加密数据文件存储和检索技术相比,其优点在于,本发明建立了一种新型的内容元数据结构,保证用户从多角度、多方位对加密数据文件的检索,保障了数据文件在云存储环境中的安全性和隐私性同时,保障了数据文件检索的便利性;

本发明中数据文件都是以加密方式保存在云存储系统中,即使得到加密的数据文件,没有解密密钥,数据文件也不会泄露;

本发明设计一种适合于内容元数据检索的新型倒排索引方法,能够根据用户在客户端提供的关键词信息在云存储系统中快速检索出对应的加密数据文件,保证了用户加密数据文件检索的效率和精度,解决了云存储等大数据环境中的加密数据文件检索难或检索速度慢的问题;

本发明对于云存储系统中的加密数据文件和明文数据文件的检索同样适用,都能达到快速检索并返回检索结果的目的。

附图说明

图1为本发明加密数据文件存储和检索方法的流程示意图;

图2为三种元数据关系图;

图3为内容元数据结构图;

图4为存储元数据结构图;

图5为一种基于云存储系统的加密数据文件存储和检索方法实施例的方法流程图;

图6为加密数据文件的检索模型图;

图7为内容元数据的倒排索引示意图;

图8为内容元数据的倒排索引的矩阵表示示意图;

图9为内容元数据的倒排索引矩阵分割及其并行处理示意图。

具体实施方式

以下结合附图,进一步说明本发明的具体实施例。

本发明揭示了一种基于云存储系统的加密数据文件存储和检索系统及方法,将原数据文件的属性信息和内容信息,以及加密数据文件的文件全局标识符存储在内容元数据库中,以实现不经过解密原数据文件的方式完成加密数据文件的检索操作。

本发明的技术原理:(1)通过设计特殊的数据文件内容元数据结构,内容元数据中包含有数据文件在加密状态下的文件全局标识符(FGID),在客户端或云存储系统服务器端(即云存储系统)对数据文件加密前,自动提取数据文件的内容元数据,并将其存入到云存储系统服务器端的内容元数据数据库,即存入云存储系统中,为加密数据文件的检索提供依据;(2)数据文件可选择在客户端加密或在云存储系统的服务器端加密,然后以分布式的存储方式存储在云存储系统的存储设备中,保证数据文件的安全性、隐私性、高可用性和数据完整性;(3)通过一种新型的倒排索引方法保证了云存储系统中海量内容元数据的检索速度,从而实现了加密数据文件的快速检索。该发明克服了传统加密数据文件检索困难,或解密后检索速度慢的缺陷。

本发明公开的基于云存储系统的加密数据文件存储和检索系统包含:云存储系统和客户端。

云存储系统包含服务器端和存储设备;服务器端包含用户身份认证模块、内容元数据提取模块、元数据管理系统、数据文件加密模块、信息检索模块;所述的元数据管理系统下接并管理内容元数据库、系统元数据库和存储元数据库;存储设备,其用于存储数据文件,数据文件包含加密数据文件和明文数据文件。客户端包含内容元数据提取模块和数据文件加密模块。

如图1所示,公开了一种基于云存储系统的加密数据文件存储和检索方法,该方法包含以下步骤:

S100、客户端通过身份认证界面对用户进行身份认证。

用户认证包括访问控制和用户身份信息提供;访问控制:是限制非法用户的访问,是构建云存储环境中数据安全的第一道防线;用户信息提供:在后续的数据文件内容元数据提取中,获取用户相关的信息以及数据的访问权限设置,都需要从用户认证信息中获取。

云存储系统用户身份认证控制非法用户的访问,拒绝非法用户的操作,保证了云存储系统的安全性,实现对云存储系统的安全防护,将非法用户拒之门外,为后续相关元数据的提取或生成提供相应的属性,也为数据文件的访问控制提供必要信息。另外,还可以确定合法用户的身份,并限制其数据访问的范围。

在进行身份认证的同时,判断进行文件存储流程或文件检索流程,若是文件存储流程,则跳转到S200,若是文件检索流程,则跳转到S300。

S200、对用户数据文件进行文件存储流程,将用户数据文件加密并存储于云存储系统。

S300、对加密数据文件进行文件检索流程,在云存储系统中在未解密的情况下直接对加密数据文件进行检索。

其中,数据文件包括结构化数据文件、半结构化数据文件和非结构数据文件。结构化数据文件是指传统的各种数据库文件;非结构化的数据文件指各种文档文件、图片文件、音频文件和视频文件等;半结构化数据文件是一种不规则的数据库文件,是在数据库文件中嵌入有非结构化数据信息的数据文件。

如图2所示,本发明将云存储环境中的元数据分为三类元数据,分别为:系统元数据,存储元数据和内容元数据。三类元数据分别存放云端不同的元数据库中,每个加密数据文件的三类元数据都是通过该数据文件的FGID关联。FGID既是三类元数据所在表的主键,也是外键,用于唯一标识被加密数据文件,是由加密数据文件的内容决定,用FGID可检索加密数据文件的数据完整性。每一个FGID的长度为128位,也就是说能表示2128个文件。

系统元数据,包括云存储系统的目录信息和目录路径名、每个目录下的数据文件名和加密数据文件的文件全局标识符(FGID),以及数据文件和目录的属性等信息,是由用户加密数据文件存储后系统自动生成的。

如图3所示,内容元数据是实现数据文件检索的关键内容,能体现数据文件特性,包括所存储数据文件在明文状态下的属性信息和内容信息面,以及数据文件在加密状态下的文件全局标识符(FGID)。属性信息包括:文件名称、创建时间、文件创建者、修改时间、修改者、版本信息、文件类型等,通过属性信息能对该数据文件有一个整体的认知。内容信息包含:数据文件内容简介、关键字、文件别名、文件标签、备注、用途、内容组织结构、压缩方式、编码格式,数据文件的内容特征信息。这里,数据文件在加密状态下的文件全局标识符(FGID)项,是在加密数据文件存储后由云存储系统自动添加的。

如图4所示,存储元数据包括加密数据文件的基础信息和存储信息,以及加密数据文件的文件全局标识符(FGID)。基础信息包括数据文件大小、用户ID、可操作类型、复制因子、安全属性等;存储信息包括加密数据文件块ID对应的内容地址列表、块大小列表、块物理地址与内容地址映射表基地址。用户ID是该文件的所有者的ID,可操作类型包括读、写、修改等,复制因子是指该数据文件备份的份数,内容地址是该数据块的哈希函数值。存储元数据是由用户加密数据文件存储后系统自动生成的。

在云存储系统服务器端的元数据管理系统中,通过数据文件的文件全局标识符(FGID)将其三类元数据连接在一起。内容元数据的相关信息由系统自动提取,有权限的用户可在客户端通过网络对内容元数据库中的内容元数据手动修改。

其中,数据文件的加密:根据数据文件加密所处的物理位置分为:客户端加密和服务器端加密。两种加密方式分别使用不同的场景:对于安全性要求较高的数据文件可选择云存储系统服务器端加密,对于安全性要求非常高的数据文件可以选择客户端加密。

其中,元数据的存储和管理:系统元数据,存储元数据和内容元数据三类元数据分别存储在云存储系统中的三种特定的元数据数据库中,该数据库能够实现海量数据存储和高效检索,能满足海量用户的并发请求,且具自动故障恢复和数据备份的功能,保证元数据的安全性和高可用性;

其中,加密数据文件的存储和管理:加密的数据文件由云存储系统采用分布式存储技术存储在云存储系统为用户虚拟机分配的存储设备上;所述云存储系统为基于分布式的高可用存储系统,通过增加节点数量,可以横向的扩展云存储系统的总容量;通过将若干物理数据块合并成一个较大的逻辑存储空间,降低数据管理开销;

基于内容元数据的加密数据文件检索,需要先对用户的输入信息进行初步的分析,缩小检索范围,确定检索可能涉及到的元数据文件,这样在云存储系统中的海量内容元数据库中可以加快检索速度;所述检索操作并不需要解密加密数据文件,最后检索的结果是加密的数据文件或加密数据文件列表。

如图5所示,为基于云存储系统的加密数据文件存储和检索方法的一种实施例,其中文件存储流程(S200)具体包含以下步骤:

S201、客户端对用户完成身份认证后,客户端判断是否在客户端对数据文件进行加密,若是,进行客户端加密,则跳转到S202,若否,进行服务器(云存储系统服务器端)加密,则跳转到S205。

S202、客户端的内容元数据提取模块自动提取数据文件的内容元数据。内容元数据的提取包含:自动提取和手动修改。

自动提取:由客户端的內容元数据提取模块根据文件的特性,对文件内容做初步的分析,提取上述能体现数据文件特性的属性信息和内容信息。

手动修改:用户是数据文件的所有者,对数据文件的种类、属性、用途、特征等有比较全面的了解,对一些特殊的数据文件用户可在客户端通过网络对系统自动提取的内容元数据进行手动修改,这样能更准确的描述该数据文件的特性,能提高检索的准确性和效率。

这里,数据文件的内容元数据提取,由客户端的内容元数据提取模块,在数据文件加密前自动提取并送云存储系统服务器端的内容元数据库中保存,有权限的用户可以对存储在内容元数据库中内容元进行编辑修改,使内容元数据更符合用户的检索习惯,能提高用户检索的准确性和检索效率。

S203、客户端的加密模块对数据文件进行加密,将提取内容元数据后的数据文件通过用户私钥、或对称密钥加密、或其他加密算法进行加密,生成加密数据文件。

S204、客户端将加密数据文件及对应的内容元数据上传到云存储系统的服务器端,跳转到S208。

S205、客户端将数据文件以明文形式上传至云存储系统的服务器端。

S206、云存储系统的服务器端的内容元数据提取模块自动提取数据文件的内容元数据。内容元数据的提取包含:自动提取和手动修改。

自动提取:由客户端的內容元数据提取模块根据文件的特性,对文件内容做初步的分析,提取能体现数据文件特性的属性信息和内容信息。

手动修改:用户是数据文件的所有者,对数据文件的种类、属性、用途、特征等有比较全面的了解,对一些特殊的数据文件用户可在客户端通过网络对系统自动提取的内容元数据进行手动修改,这样能更准确的描述该数据文件的特性,能提高检索的准确性和效率。

这里,数据文件的内容元数据提取,是由云存储系统服务器端的内容元数据提取模块,在数据文件加密前自动提取并送云存储系统服务器端的内容元数据库中保存,有权限的用户可以对存储在内容元数据库中内容元进行编辑修改,使内容元数据更符合用户的检索习惯,能提高用户检索的准确性和检索效率。

S207、云存储系统服务器端的加密模块对提取内容元数据后的数据文件通过用户私钥、或对称密钥加密、或其他加密算法进行加密,生成加密数据文件。数据文件加密保证了数据文件的安全性,跳转到S208。

S208、云存储系统服务器端对通过客户端加密或服务器端加密生成的加密数据文件进行存储,存储在云存储系统中相应的存储设备。

当云存储系统的服务器端得到用户加密的数据文件后,将加密数据文件存储到用户虚拟机对应的存储设备中。

每个云租户(用户)使用云存储系统都是以用户虚拟机为单位进行的。

同时云存储系统的加密模块采用MD5算法生成加密数据文件的文件全局标识符(FGID),并送入该数据文件的内容元数据中。文件全局标识符(FGID)是该加密数据文件的唯一标识,同时也可根据文件全局标识符(FGID)检验该加密数据文件的数据完整性。

在加密数据文件完成存储后云存储系统生成系统元数据和存储元数据,由云存储系统根据加密数据文件存储的目录信息、存储位置信息和文件全局标识符FGID自动生成加密数据文件的系统元数据和存储元数据。

S209、将加密前提取的内容元数据存入云存储系统的内容元数据库中。

进一步的,还可以在内容元数据存入云存储系统的内容元数据库后,对内容元数据数据库进行更新,有权限的用户可在客户端通过网络,对云存储系统的内容元数据库中的内容元数据进行修改,便于用户对于加密数据文件的更精确的检索。

在基于S200的加密数据文件存储过程,可以实现对加密数据文件的检索操作,如图6所示,为基于内容元数据的加密数据文件检索模型,其大概流程为:①客户端上传检索内容至云存储系统的信息检索模块;②信息检索模块通过倒排序的方法在元数据管理系统所管理的内容元数据库中查询检索与检索内容匹配的信息;③元数据管理系统将②检索得到的与检索内容匹配的加密数据文件的文件全局标识符FGID和相应的内容元数据发给信息检索模块;④信息检索模块将元数据管理系统中检索返回的结果进行排序,然后将排序后的检索结果列表发送到客户端;⑤用户在客户端从检索结果列表中选择要下载的文件,并将所选择文件的文件全局标识符(FGID)发送到信息检索模块;⑥信息检索模块根据文件的FGID在元数据管理系统所管理的存储元数据库中,查找对应的加密数据文件存储位置信息;⑦元数据管理系统将⑥查找得到的加密数据文件存储位置信息发送到分布式存储系统;⑧分布式存储系统根据加密数据文件存储位置信息,取出加密数据文件传送到加密解密模块;⑨加密解密模块将加密数据文件解密后传到客户端,整个加密数据文件检索结束。

在图6中,如果加密数据文件是在服务器端加密的,则模型中的加密解密模块是位于云存储系统的服务器端;如果加密数据文件是在客户端加密的,则模型中的加密解密模块是位于客户端。

如图5所示,为基于云存储系统的加密数据文件存储和检索方法的一种实施例,其中文件检索流程(S300)具体包含以下步骤:

S301、客户端通过查询界面接收查询请求,查询请求中包含有检索关键词。客户端将包含检索关键词的查询请求上传至云存储系统。

云存储系统的信息检索模块对于客户端提交的查询请求进行分析,确定查询请求中检索关键词所包含内容的合法性。

S302、数据检索:云存储系统的信息检索模块通过一种新型的倒排索引算法对内容元数据库进行匹配查询,并返回符合要求的加密数据文件的文件全局标识符(FGID)和部分内容元数据信息。

新型的倒排索引方法是一种改进的倒排索引方法,该索引方法适合云存储系统的内容元数据库中海量内容元数据信息的快速检索。

如图7并结合图8所示,是为本发明所公开的数据文件内容元数据的倒排索引及其矩阵表示。其中关键词1、关键词2、……表示内容元数据库中的内容元数据项,ID1、ID2,…、IDn表示加密数据文件的文件全局标识符FGID,图8中的行和列交叉项表示某一关键词出现在一数据文件中的次数。从图8可以看出数据文件内容元数据的倒排索引矩阵是一个稀疏矩阵,为了提高云存储系统中海量内容元数据库中的关键词检索速度,对数据文件内容元数据的倒排索引矩阵进行优化如下:经过垂直分割和水平移动,使矩阵的零元素移到矩阵的底部和右部,再经过分块聚类,将原来的高维稀疏矩阵转变为一个个低维稠密矩阵。在对内容元数据检索时,将优化的稀疏矩阵中一个个的低维矩阵分别送到云存储系统中的不同处理单元进行并行处理,这样可以大大提高海量内容元数据库中的关键词检索速度。其原理如图9所示,其中M1、M2、…、Mn表示低维稠密矩阵,P1,P2、…、Pn表示云存储系统中的并行处理单元。

S303、云存储系统判断是否检索成功,若是,则跳转到步骤S304,若否则,输出无对应加密数据文件的检索结果的信息发送至客户端,并跳转到S305。

S304、云存储系统根据加密数据文件的文件全局标识符(FGID)定位相应加密数据文件。

同时云存储系统的信息检索模块对S302检索返回的结果进行排序,向客户端发送排序后的检索结果。

S305、客户端接收检索结果,客户端将检索结果输出给用户,若获得包含有符合检索内容的加密数据文件的文件全局标识符的检索结果,说明有符合检索内容的检索结果,用户在客户端根据检索结果可得到所需的加密数据文件信息。

另外,客户端根据检索结果,还可选择下载检索结果中所列的文件全局标识符对应的加密数据文件。

如果加密数据文件原来是在客户端加密则云存储系统直接将加密数据文件传到用户客户端,由客户端进行解密。如果加密数据文件原来是在云存储系统服务器端加密,则由云存储系统将加密数据文件解密后传到客户端。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号