CN109726591A - 一种基于数据自毁的云存储数据*** - Google Patents
一种基于数据自毁的云存储数据*** Download PDFInfo
- Publication number
- CN109726591A CN109726591A CN201811646608.6A CN201811646608A CN109726591A CN 109726591 A CN109726591 A CN 109726591A CN 201811646608 A CN201811646608 A CN 201811646608A CN 109726591 A CN109726591 A CN 109726591A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- self
- module
- equal portions
- 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
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于数据自毁的云存储数据***,包括客户端、元数据服务器和多个存储节点,其中,客户端用于实现对数据的加密上传以及下载解密,其包括数据加密模块、密钥分割及重组模块、数据解密模块以及通讯模块,数据加密模块用于通过给定的密钥对原数据进行加密处理,密钥分割及重组模块用于在数据上传中对密钥进行分割,生成多个等份并从中随机选取部分或全部等分组成数据对象;通讯模块用于建立客户端与各存储节点的连接和数据传输;数据解密模块用于通过重新生成的密钥对下载的数据进行解密;元数据服务器用于生成分割后的各密钥等份在对应各存储节点上的元数据信息;各存储节点用于根据建立的连接创建存储数据对象以对加密数据进行存储。
Description
技术领域
本发明属于计算机数据存储技术领域,具体涉及一种基于数据自毁 的云存储数据***。
背景技术
传统数据销毁技术根据操作方法的不同形式包含以下几种类型:基 于文件***的数据删除、数据覆盖和物理级别的销毁。其中,基于文件 ***的数据删除根据操作粒度的不同分为文件删除与设备格式化。文件 删除是最直接的一种数据删除方式,它利用文件***提供的方法显式地 删除文件或数据,主流文件***中实现文件删除都是仅删除文件对应的 索引,而不会对文件数据对应的磁盘扇区进行删除操作;设备格式化是 使用文件***提供的格式化工具或第三方的磁盘管理工具对磁盘分区进 行格式化,这时删除的是整个分区上的文件,大多数格式化工具都是采 用重建磁盘分区的扇区信息使整个分区成为全部可用。因此这种基于文 件***的数据删除并没有真正地删除数据,通过一些技术手段可以将大 部分文件对应的数据找回,这也是数据恢复通常使用的一种手段。物理 级别的销毁又分为:(1)消磁法,即通过消磁设备产生的磁场破坏磁性 存储设备的磁性结构,从而使磁性存储设备不可用达到销毁数据的目的; (2)化学腐蚀法,即在磁性存储设备内部集成化学销模块,通过一定的 技术手段(比如GPS定位)判断存储设备是否失控,如果失控在化学销 毁模块自动释放腐蚀性药剂腐蚀磁性存储设备使其不可用;(3)物理损 毁,即通过直接的物理手段来强力销毁存储设备。
数据覆盖是利用存储设备可多次使用的数据记录特性,使用无规律 的、无意义的数据覆盖待删除文件或数据所在扇区,其基本思想是针对
随着互联网技术的发展以及移动互联网的普及,人们的日常生活更 加强烈地依赖于计算机技术与互联网技术,与此同时,用户的隐私被侵 犯的风险越来越高。一方面,现阶段的计算机***或者网络在处理、传 输、存储数据过程中,难免地缓存、复制或归档相应数据,这些副本是 必然的中间产物,但用户不希望存在这些副本,因为这些中间产物是不可知的也是不可控的;另一方面,用户的隐私信息也会因为服务提供商 的疏忽、黑客的入侵或者一些合法手段而被泄露。
数据自毁技术是一种典型的利用数据覆盖原理的安全和隐私保护方 案,例如Vanish数据自毁***,其中,用户可以使用密钥加密数据,然 后将数据存储在云***中,密钥会根据时间自动删除,在删除之前数据 可以访问,但密钥删除之后数据就无法访问,从而实现了信息内容自毁 系。但是,随着安全挑战的不但提高,Vanish数据自毁***中密钥生存 时间不可控使得这种自毁方案仍然存在较大的不足。
发明内容
针对现有技术的以上缺陷,本发明提出一种基于数据自毁的云存储 数据***,其通过对数据上传存储中的关键处理,进行数据密钥的等份 分割,用于使得密钥等份对应的对象能够执行自毁,以通过策略对象来 设置密钥等份的生存时间从而自动执行与其关联的自毁方法,从而实现 高效安全和稳定的数据自毁。
为实现上述目的,本发明采用的具体技术方案如下:
一种基于数据自毁的云存储数据***,其特征在于,包括客户端、 元数据服务器和多个存储节点,三者通过存储网络互联,其中,
所述客户端用于实现对数据的加密上传以及下载解密,其包括数据 加密模块、密钥分割及重组模块、数据解密模块以及通讯模块,其中所 述数据加密模块用于通过给定的密钥对原数据进行加密处理,以得到加 密数据,所述密钥分割及重组模块用于在数据上传中对密钥进行分割, 生成多个等份并从中随机选取部分或全部等分组成数据对象,以在数据 下载时对密钥进行重组重新生成密钥;所述通讯模块用于建立客户端与 各存储节点的连接和数据传输;所述数据解密模块用于通过重新生成的 密钥对下载的数据进行解密;
所述元数据服务器用于管理元数据,生成分割后的各密钥等份在对 应各存储节点上的元数据信息,以用于写在加密数据文件头部;
所述各存储节点用于根据建立的连接创建存储数据对象以对加密数 据进行存储,其中该存储数据对象写入有对应的密钥等份数据,且该对 象中包括有实时更新的生存时间属性,所述存储数据对象根据该生存时 间属性被创建,且在所述生存时间属性值减为0时触发数据自毁,删除 存储对象。
作为本发明的进一步改进,所述数据分割及重组模块中对所述密钥 进行分割通过如下过程实现,包括:首先,生成整数数组a[k]作为系数, 并令a[0]的值为原密钥S所对应整数的值;其次,生成k-1随机数存在 a[1…k]中;然后取j=1,2,···,n,构造n个yj=f(j)等式;最后,其中f(j) (1≤j≤n)即为原始密钥分割后的n个等份的整数值,任取其中k个等份 可构造出原始密钥S。
作为本发明的进一步改进,所述触发数据自毁通过调用预先存储的 与之关联的数据擦除方法进行数据安全删除实现。
作为本发明的进一步改进,所述数据自毁动作具体为采用数据覆写 方法安全删除相应数据,具体为:
a)将缓冲区填充为全0字节序列,调用write_object方法将数据区覆 盖为全0;
b)将缓冲区填充为全1字节序列,调用write_object方法将数据区覆 盖为全1;
c)将缓冲区填充为随机字节序列,调用write_object方法将数据区覆 盖为随机数据;
4)通过remove_object方法移除存储对象。
作为本发明的进一步改进,所述密钥等份数量与存储节点数量相同, 且每个密钥等份对应一个存储节点。
本发明的基于数据自毁的云存储数据***,针对Vanish***存在的 安全挑战以及密钥生存时间不可控的弊端,通过方法对象使得密钥等份 对应的对象能够执行自毁方法,通过策略对象来设置密钥等份的生存时 间从而自动执行与其关联的自毁方法,本发明***经过测试与对比,数 据自毁过程在对***产生较少影响的情况下,能够实现数据自毁,且密 钥的生存时间是用户可控的,从而极大解决目前Vanish***存在的缺陷。
附图说明
图1为本发明实施例的云存储数据***结构框图;
图2为密钥销毁前的数据处理过程示意图;
图3为应用本发明方法的基于对象的存储***的架构框图;
图4为本发明实施例的云存储数据***的数据下载流程图;
图5为本发明实施例的云存储数据***的密钥销毁前的数据处理过 程示意图;
图6为本发明实施例的云存储数据***架构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附 图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的 具体实施例仅仅用以解释本发明,并不用于限定本发明。
首先,为便于理解本发明,先对本方案中所涉及的技术术语进行定 义和解释。
对象存储:对象是对象存储设备(OSD)处理的基本单元,通过唯 一的ID标识符来区分。每个对象是一系列有序字节的集合,包括数据和 属性。OSD内的对象分为根对象(Root Object)、分区对象(Partition Object)、 集合对象(Collection Object)及用户对象(User Object)。其中,根对象是与 OSD对应的,每个OSD只包含一个根对象,并在OSD初始化时创建, 根对象的属性描述了与存储设备相关的全局特性,包括总容量、最大对 象数、以及与数据完整性有关的属性(如该OSD是作为RAID来实现, 描述RAID的级别)。分区对象包含一组用户对象,这些用户对象拥有共 同的属性,分区对象的数据区只含用户对象ID列表,分区对象的属性包 括分区内的用户对象数目,分区内用户对象占用的空间等。集合对象用 于实现用户对象的快速检索,一个分区对象可以包含零个或多个集合对 象,一个用户对象可以属于零个或多个集合对象。用户对象在OSD中占 绝大多数,也是用户使用OSD时直接使用的对象,用户的数据通过用户 对象实现存储与管理。
对象存储***中使用的对象存储接口,由此克服了块接口与文件接 口的缺陷,使得对象存储***在安全性、数据共享、扩展性及性能等方 面能做到最好的折中。对象接口访问的基本单位是对象,对象除了包含 用户数据外,还包含能描述对象特征的属性。通过在用户和设备之间传 递对象属性信息,对象接口比其他接口具有更为丰富的语义表达能力。
随着存储技术的发展,存储设备上的设备具有越来越多的处理能力, 上层应用的部分功能可以迁往设备(即“主动存储”——由存储设备处 理上层功能)。针对传统主动存储的相关问题以及对象存储的特性,在对 象存储和主动存储的基础上提出了基于对象的主动存储***(OBASS), 基于对象的主动存储***使得主动存储能够利用OSD的自主管理对象特 性,实现复杂的管理功能,迁移到OSD上的功能模块可以通过属性了解 对象,不必依赖外界的干预,而OSD可以根据对象的属性实现自主的对 象处理。借助于OSD设备中集成的强大处理能力以及其具有的极富表达 力的对象接口可以方便地实现主动存储。
本发明实施例的基于数据自毁的云存储数据***用于将数据对象上 传并存储于数据云服务器,该方法具体包括如下步骤:
S1使用给定密钥对待上传存储的原数据进行加密处理,得到密文文 件;
S2对所述密钥进行分割,生成N个等份,其中N的值通过安全策略 来指定;
S3从上述N个等份中随机选取K个等分组成数据对象M[1,k],其中 K为储节点数目,并分别与各个存储节点建立连接;
S4在存储节点中创建存储对象,其中所述存储对象的属性中包括生 存时间,将对应的等份密钥数据写入其中(此时元数据服务器上就会有 该密钥等份数据的元信息);若有任意一个连接失败就清除已经创建的 ASO,并标记上传失败,结束上传过程;若所有连接都成功则转下一步;
S5获取密钥数据在存储节点上的元数据信息并将其写入加密后文 件的头部;
S6与数据存储***服务器建立连接,若连接成功则使用数据存储系 统的接口上传此带有密钥元数据信息的加密文件,完成上传存储。若连 接失败则标记上传失败,结束上传过程。
优选地,步骤S6中在与数据存储***服务器建立连接失败后可以直 接清除创建的所述存储对象。
更优选地,S2中对所述密钥进行分割通过如下步骤实现,包括:首 先,生成整数数组a[k]作为系数,并令a[0]的值为原密钥S所对应整数的 值;其次,生成k-1随机数存在a[1…k]中;然后取j=1,2,···,n, 构造n个yj=f(j)等式;最后,其中f(j)(1≤j≤n)即为原始密钥分割后的 n个等份的整数值,任取其中k个等份可构造出原始密钥S。
具体地,密钥进行分割可以通过ShamirSecretSharing算法实现。ShamirSecretSharing算法是一种密钥分发算法,其具体地:假设使用(k,n) 门限机制来分发密钥S,即将密钥分为n个不同等份,任取其中k个等份 能够重组得到密钥S。用到的系数数组为a[1…k]。已知任意k个值可以 构造出原始密钥S,已知密钥等份小于k时,无法构造出原始密钥。 ShamirSecretSharing算法的实现过程是:首先,生成一个整数数组a[k] 作为系数。令a[0]的值为原密钥S所对应整数的值,同时生成k-1随机数 存在a[1…k]中;取j=1,2,···,n,构造n个yj=f(j)等式。那么f(j) (1≤j≤n)即为原始密钥分割后的n个等份的整数值,任取其中k个等 份可构造出原始密钥S。其中,n、k为自然数,n为密钥等份数量,k为 其中任意选取的可重组密钥的密钥等份数,n≥k。
进一步地,本实施例中存储节点中的存储对象的生存时间属性值通 过定时器定时更新,并在值为0时触发数据自毁动作,即调用预先存储 的与之关联的数据擦除方法进行数据安全删除。
总体来说,本发明通过以下几个关键技术的应用来实现基于主动存 储架构的数据自毁***:1)对象存储机制与接口,以及基于此实现主动 存储技术的方法;通过分布式对象存储接口来存储和管理密钥等份,通 过主动存储技术实现密钥等份的自毁功能;2)数据擦除相关算法,使用 相关的数据擦除算法来实现密钥等份的安全销毁;3)密钥分发的相关算 法,以Shamir算法为核心,用于客户端(用户)分发密钥到分布式对象 存储***中。
为了配合密钥的分发与分享,元数据服务器在履行管理文件元数据 职能之外,需要进行用户管理、权限管理、服务器管理、会话管理等。 存储对象相对用户对象添加生命期属性(TimeToLive,TTL),普通用户对 象该属性的取值为默认值——“无穷大”,即没有生命期限制,除非显示 执行删除操作,否则该对象不会被删除;主动存储对象的生命期属性值是一个有限值,用于触发数据自毁的动作。
存储节点中包含两个核心组件:<key,value>存储子***330和ASO 子***320。<key,value>存储子***330以对象的ID为key,对象的相 关数据以及属性作为value。用于管理和维护存储节点中的对象的数据及 属性:查询对象、定位对象进行读写操作、定位对象属性进行读写操作。 ASO子***320是主动存储技术的核心体现,用于处理用户主动存储服 务请求,包括数据自毁策略对象与数据自毁方法对象的管理以及方法对 象的执行。
数据自毁策略对象是一系列条件的集合,类似于C语言中的条件表 达式,可以对策略对象进行判断,返回布尔值。数据自毁策略对象是数 据自毁方法对象自动执行的基础,可以为每个方法对象关联一个或多个 策略关联,但一个策略对象只能与一个方法对象相关联。
OSD客户端通过POLICY_REGISTE命令将策略对象注册到OSD中, OSD将创建的策略对象的ID返回给客户端。OSD客户端在注册策略对 象时需要提供一个方法对象的ID,OSD在创建策略对象时会建立策略对 象与方法对象的映射关系,OSD通过称为策略-方法(Policy-Method)映 射表PM来维护这些策略对象ID与方法对象ID之间的映射关系。***使用定时器方法定时更新存储对象的ttl值,当ttl减为0,即表达式 (aso.getTTL()==0)为真时触发数据自毁动作。存储***为实时更新并 跟踪主动存储对象的ttl值,需要在***启动时,注册了启动定时器方法 (onTimer()),该方法通过***的定时器机制能够定期得到执行,该方法 每次执行时都会遍历所有注册的主动存储对象,并通过decTime方法来 递减相应对象的ttl值,当ttl值减为0时,策略对象的条件表达式返回值 为真从而触发数据自毁方法对象的执行。定时器方法的timeout值可以根 据***所处的应用场景需求的策略来确定,例如1秒或1分钟。
本实施例中,数据自毁相同中的存储对象处理过程为:
1)根据给定参数获得存储对象(用户对象)
2)判断所获得的对象是否为主动存储对象,如果不是直接返回。该 数据自毁方法仅适用于主动存储对象;
3)对于主动存储对象采用数据覆写方法安全删除相应数据
a)将缓冲区填充为全0字节序列,调用write_object方法将数据 区覆盖为全0;
b)将缓冲区填充为全1字节序列,调用write_object方法将数据 区覆盖为全1;
c)将缓冲区填充为随机字节序列,调用write_object方法将数据 区覆盖为随机数据;
4)通过remove_object方法移除存储对象。
当客户端通过元数据服务器上传密钥等份和加密文件到存储节点 时,加密文件会议对象的形式上传到某个存储节点,密钥会分成K个等 份以主动存储对象的形式分别上传到K个存储节点,并且每个密钥等份 主动存储对象还有生存时间ttl属性,用ttl属性在相应的存储节点上创建 数据自毁策略对象,还有数据自毁方法对象,该对象是固定的。当ASO 子***检测到密钥等份ASO生存时间已到时(即定时器时间到),就会 调用与之相关联的数据自毁方法对象中的数据擦除方法,然后在<key, value>存储子***找到要删除的对象,将密钥等份对象安全彻底删除,由 于本***使用的都是硬盘(HDD),故调用已有的针对HDD的数据擦除 算法即可。
Claims (5)
1.一种基于数据自毁的云存储数据***,其特征在于,包括客户端、元数据服务器和多个存储节点,三者通过存储网络互联,其中,
所述客户端用于实现对数据的加密上传以及下载解密,其包括数据加密模块、密钥分割及重组模块、数据解密模块以及通讯模块,其中所述数据加密模块用于通过给定的密钥对原数据进行加密处理,以得到加密数据,所述密钥分割及重组模块用于在数据上传中对密钥进行分割,生成多个等份并从中随机选取部分或全部等分组成数据对象,以在数据下载时对密钥进行重组重新生成密钥;所述通讯模块用于建立客户端与各存储节点的连接和数据传输;所述数据解密模块用于通过重新生成的密钥对下载的数据进行解密;
所述元数据服务器用于管理元数据,生成分割后的各密钥等份在对应各存储节点上的元数据信息,以用于写在加密数据文件头部;
所述各存储节点用于根据建立的连接创建存储数据对象以对加密数据进行存储,其中该存储数据对象写入有对应的密钥等份数据,且该对象中包括有实时更新的生存时间属性,所述存储数据对象根据该生存时间属性被创建,且在所述生存时间属性值减为0时触发数据自毁,删除存储对象。
2.如权利要求1所述的基于数据自毁的云存储数据***,其中,所述数据分割及重组模块中对所述密钥进行分割通过如下过程实现,包括:首先,生成整数数组a[k]作为系数,并令a[0]的值为原密钥S所对应整数的值;其次,生成k-1随机数存在a[1…k]中;然后取j=1,2,···,n,构造n个yj=f(j)等式;最后,其中f(j)(1≤j≤n)即为原始密钥分割后的n个等份的整数值,任取其中k个等份可构造出原始密钥S。
3.如权利要求1或2所述的基于数据自毁的云存储数据***,其中,所述触发数据自毁通过调用预先存储的与之关联的数据擦除方法进行数据安全删除实现。
4.如权利要求1至3中任一项所述的基于数据自毁的云存储数据***,其中,所述数据自毁动作具体为采用数据覆写方法安全删除相应数据,具体为:
a)将缓冲区填充为全0字节序列,调用write_object方法将数据区覆盖为全0;
b)将缓冲区填充为全1字节序列,调用write_object方法将数据区覆盖为全1;
c)将缓冲区填充为随机字节序列,调用write_object方法将数据区覆盖为随机数据;
4)通过remove_object方法移除存储对象。
5.如权利要求1至4中任一项所述的基于数据自毁的云存储数据***,其中,所述密钥等份数量与存储节点数量相同,且每个密钥等份对应一个存储节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811646608.6A CN109726591A (zh) | 2018-12-30 | 2018-12-30 | 一种基于数据自毁的云存储数据*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811646608.6A CN109726591A (zh) | 2018-12-30 | 2018-12-30 | 一种基于数据自毁的云存储数据*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109726591A true CN109726591A (zh) | 2019-05-07 |
Family
ID=66298576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811646608.6A Pending CN109726591A (zh) | 2018-12-30 | 2018-12-30 | 一种基于数据自毁的云存储数据*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726591A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233829A (zh) * | 2019-05-17 | 2019-09-13 | 广东电网有限责任公司信息中心 | 基于分布式存储的保密信息***及通信方法 |
CN111143863A (zh) * | 2019-12-22 | 2020-05-12 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
-
2018
- 2018-12-30 CN CN201811646608.6A patent/CN109726591A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233829A (zh) * | 2019-05-17 | 2019-09-13 | 广东电网有限责任公司信息中心 | 基于分布式存储的保密信息***及通信方法 |
CN111143863A (zh) * | 2019-12-22 | 2020-05-12 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105678189B (zh) | 加密数据文件存储和检索***及方法 | |
US9680809B2 (en) | Secure data storage on a cloud environment | |
Williams et al. | Single round access privacy on outsourced storage | |
Dautrich et al. | Burst {ORAM}: Minimizing {ORAM} response times for bursty access patterns | |
Stefanov et al. | Multi-cloud oblivious storage | |
Cachin et al. | Policy-based secure deletion | |
Odun-Ayo et al. | An overview of data storage in cloud computing | |
US20200266971A1 (en) | Re-encrypting data on a hash chain | |
JP2008250369A (ja) | 機密データファイルの管理方法、管理システム及びプロキシサーバ | |
CN102752323B (zh) | 分布式session服务***及方法 | |
CN107995299A (zh) | 一种云环境下抗访问模式泄露的盲存储方法 | |
CN110892403B (zh) | 安全地访问数据的方法 | |
Huang et al. | Outsourced private information retrieval | |
CN109726591A (zh) | 一种基于数据自毁的云存储数据*** | |
CN103841178B (zh) | 网络附连存储环境的带内管理的方法和*** | |
Dowsley et al. | A report on design and implementation of protected searchable data in iaas | |
Yuvaraj et al. | Secure de-duplication over wireless sensing data using convergent encryption | |
CN107566405B (zh) | 一种快速访问和拷贝的存储资源池化方法 | |
Sahbudin et al. | A web client secure storage approach in multi-cloud environment | |
CN109726189A (zh) | 一种基于数据自毁的云存储数据处理方法 | |
CN109684874A (zh) | 一种基于数据自毁的云存储数据上传方法 | |
CN109743317A (zh) | 一种基于数据自毁的云存储数据下载方法 | |
CN110414267A (zh) | Bim设计软件安全存储和流转追溯监控技术、***及装置 | |
Mayberry et al. | Multi-client Oblivious RAM secure against malicious servers | |
Sheng et al. | A privacy-protecting file system on public cloud storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190507 |