一种基于数据块随机位置取反的数据确定性删除方法

著录项
  • CN201710281770.1
  • 20170426
  • CN108809889A
  • 20181113
  • 北京邮电大学
  • 姚文斌;陈宜洁;杨奕慰;郭珍
  • H04/L2906
  • H04/L2906 H04/L906

  • 北京市海淀区西土城路10号
  • 北京(11)
摘要
本发明提供了一种基于数据块随机取反的数据确定性删除方法。本方法通过对明文数据进行分块加密,并对密文进行随机位置取反的操作,使得云端不存储完整密文。本方法适用条件广泛,允许密钥在主动或者被动的情况下被泄漏,因此采用了各个明文数据块使用单一密钥加密的方法,保存密钥成本降低。本方法较其他数据确定性删除方案而言,步骤更加简洁,适用条件更加广泛。
权利要求

1.本发明的目的是提供一种基于数据块随机位置取反的确定性删除方法。该方法针对密文二进制数据流进行简易数据变换,使得云端不存储真实密文。本发明使用前提较为宽泛,与用户使用何种加密算法无关,且允许用户数据的加密密钥被泄漏。

为了达到上述目的,本发明采用这样的方案实现:

在用户数据明文被加密后首先对密文进行分块操作,再对每个数据块随机选取位置进行逻辑取反,即该位置上0变成1,1变成0。并记录下来每个数据块中数据取反的位置。

本方法中涉及到的角如下:

数据拥有者:负责切分数据块,加密数据块,对密文数据块进行简易变换,并保存变换的位置信息。当授权用户访问数据时,恢复真实密文数据,并发送至授权用户处。

云服务提供商:负责在云端存储数据拥有者已处理过的密文数据。云服务提供商是不可信的,虽然会诚实地执行数据存储操作,但是同时又是不可信的,期望获得真实数据或在某些情况下会将数据泄露。

授权用户:访问数据拥有者在云端存储的数据。解密相应密文,恢复出真实的原始数据。授权用户是可信的,虽然可能会保存密钥副本并进行传播,但是不会保存明文数据。由于明文数据是海量的,保存明文数据开销比保存密钥大很多,此假设合理。

本发明中设计到如下参数:{M}为明文数据;Data(M)为明文数据分块算法;{M}为已进行分块的第i个明文数据块(1≤i≤n);n为明文一共分得的数据块个数;flag为是否对第n个明文数据块进行填充的标记;x为对明文数据块进行填充的比特数;k为加密密钥;DataEncry(M,k)为数据块加密算法;{C}为分块加密完成后所得的第i个密文数据块;{S}为第i个数据块欲进行随机取反的位置;OppositeData(C,S)为密文数据块随机取反算法;{K}为已进行随机取反处理过的密文数据块;RecoverEncryData(K,S)为对取反后的密文数据块恢复算法;DataDecry(C,k)为对密文数据块解密算法;DataBuild(M)为将明文数据块组合为明文数据的算法。

其具体方法步骤为:

(1)在系统中数据明文数据{M},数据拥有者使用Data(M)算法对明文数据进行分块,获得n个明文数据块{M}。

(2)每个数据块128比特,最后一块不足128比特时用0进行填充。

(3)引入标志flag,记录是否为第n个数据块进行填充操作。若对第n个数据块进行数据填充,则flag值设置为1,反之设置为0。

(4)数据拥有者生成加密所需密钥k。

(5)对每个明文数据块运用加密算法进行加密。明文数据块加密算法表示为DataEncry(M,k):第i个数据块M用加密密钥k加密后,得到相应的密文数据块{C}。

(6)随机产生n个整数S,且1≤S≤128,S作为第i个数据块需要逻辑取反的位置标记。

(7)针对密文数据块{C}中的第i个密文数据块的第{S}个位置的数据进行逻辑取反。密文数据块随机取反算法表示为OppositeData(C,S)。第i个密文数据块C的第S位数据进行逻辑取反,即0变为1,1变为0。得到经过处理后的密文数据块{K}。

(8)将步骤(7)重复n遍后,使得每一个密文数据块{C}都进行变化更新得到新的密文数据块{K}。

(9)数据拥有者保存好加密密钥k和密文数据块随机位置集合{S},并将已经过处理更新的密文数据块{K}上传至云服务提供商处进行存储。

(10)已经过数据拥有者判定身份的真实性后的授权用户提出访问请求,数据拥有着执行RecoverEncryData(K,S)算法,将处理过的密文数据块恢复为真实的密文数据块,用于授权用户解密访问。

(11)数据拥有者将已恢复的密文数据块、密钥及其他附加信息(如授权证书及授权时间等)一起发送给授权用户。

(12)授权用户根据获得的密文数据块以及密钥执行DataDecry(C,k)解密算法,将密文数据块解密为相应的明文数据块{M}。

(13)判断flag值是否为1,若为1则进入步骤(14),反之进入步骤(16)。

(14)判断用户访问的明文数据块中是否包含M,若是则进入步骤(15),反之进入步骤(16)。

(15)将已进行数据填充处理过的M去掉x比特末尾数据部分。

(16)执行DataBuild(M)算法,将明文数据块组合为完整的明文数据M。

(17)当数据拥有者欲删除某数据时,只需相应删除该数据对应的密文数据取反位置信息{S}即可。

说明书
技术领域

本发明涉及云端数据安全领域,具体涉及一种基于数据块随机位置取反的数据确定性删除方法。

数据确定性删除的目的是使用户欲删除的数据永久不可被访问,进而保证数据的安全性。为提高云服务的可靠性,云服务提供商通常会将数据做多个备份,且存在主动或被动泄漏用户数据的可能性。然而往往用户已删除的数据仅仅进行逻辑标志删除,事实上并未真正删除。因此,在用户进行删除操作后,如何能保证用户的数据永久性不可被访问具有重要意义。

为保证用户数据的安全性,在用户数据上传至云端前先进行加密,再将密文保存于云服务提供商处。然而,在用户执行删除操作后,云服务提供商并未删除所有数据及其备份或者在恶意泄漏用户数据的情况下,云端密文的安全性受到威胁。一旦攻击者通过暴力攻击或其他途径获取密钥,则用户数据泄漏。

目前,多数方案考虑更安全的保存密钥,使得攻击者不容易获取密钥。然而,由于保存密钥而带来的巨大开销和成本会导致不小的存储压力。密钥只可以对其加密过的密文进行解密,一旦密文被破坏,则即使获取密钥,攻击者欲想恢复明文也无从下手。因此,只需对密文进行简单的修改,即可换取更大的安全性。

本发明的目的是提供一种基于数据块随机位置取反的确定性删除方法。该方法针对密文二进制数据流进行简易数据变换,使得云端不存储真实密文。本发明使用前提较为宽泛,与用户使用何种加密算法无关,且允许用户数据的加密密钥被泄漏。

为了达到上述目的,本发明采用这样的方案实现:

在用户数据明文被加密后首先对密文进行分块操作,再对每个数据块随机选取位置进行逻辑取反,即该位置上0变成1,1变成0。并记录下来每个数据块中数据取反的位置。

本方法中涉及到的角如下:

数据拥有者:负责切分数据块,加密数据块,对密文数据块进行简易变换,并保存变换的位置信息。当授权用户访问数据时,恢复真实密文数据,并发送至授权用户处。

云服务提供商:负责在云端存储数据拥有者已处理过的密文数据。云服务提供商是不可信的,虽然会诚实地执行数据存储操作,但是同时又是不可信的,期望获得真实数据或在某些情况下会将数据泄露。

授权用户:访问数据拥有者在云端存储的数据。解密相应密文,恢复出真实的原始数据。授权用户是可信的,虽然可能会保存密钥副本并进行传播,但是不会保存明文数据。由于明文数据是海量的,保存明文数据开销比保存密钥大很多,此假设合理。

本发明中设计到如下参数:{M}为明文数据;Data(M)为明文数据分块算法;{M}为已进行分块的第i个明文数据块(1≤i≤n);n为明文一共分得的数据块个数;flag为是否对第n个明文数据块进行填充的标记;x为对明文数据块进行填充的比特数;k为加密密钥;DataEncry(M,k)为数据块加密算法;{C}为分块加密完成后所得的第i个密文数据块;{S}为第i个数据块欲进行随机取反的位置;OppositeData(C,S)为密文数据块随机取反算法;{K}为已进行随机取反处理过的密文数据块;RecoverEncryData(K,S)为对取反后的密文数据块恢复算法;DataDecry(C,k)为对密文数据块解密算法;DataBuild(M)为将明文数据块组合为明文数据的算法。

其具体方法步骤为:

(1)在系统中数据明文数据{M},数据拥有者使用Data(M)算法对明文数据进行分块,获得n个明文数据块{M}。

(2)每个数据块128比特,最后一块不足128比特时用0进行填充。

(3)引入标志flag,记录是否为第n个数据块进行填充操作。若对第n个数据块进行数据填充,则flag值设置为1,反之设置为0。

(4)数据拥有者生成加密所需密钥k。

(5)对每个明文数据块运用加密算法进行加密。明文数据块加密算法表示为DataEncry(M,k):第i个数据块M用加密密钥k加密后,得到相应的密文数据块{C}。

(6)随机产生n个整数S,且1≤S≤128,S作为第i个数据块需要逻辑取反的位置标记。

(7)针对密文数据块{C}中的第i个密文数据块的第{S}个位置的数据进行逻辑取反。密文数据块随机取反算法表示为OppositeData(C,S)。第i个密文数据块C的第S位数据进行逻辑取反,即0变为1,1变为0。得到经过处理后的密文数据块{K}。

(8)将步骤(7)重复n遍后,使得每一个密文数据块{C}都进行变化更新得到新的密文数据块{K}。

(9)数据拥有者保存好加密密钥k和密文数据块随机位置集合{S},并将已经过处理更新的密文数据块{K}上传至云服务提供商处进行存储。

(10)已经过数据拥有者判定身份的真实性后的授权用户提出访问请求,数据拥有着执行RecoverEncryData(K,S)算法,将处理过的密文数据块恢复为真实的密文数据块,用于授权用户解密访问。

(11)数据拥有者将已恢复的密文数据块、密钥及其他附加信息(如授权证书及授权时间等)一起发送给授权用户。

(12)授权用户根据获得的密文数据块以及密钥执行DataDecry(C,k)解密算法,将密文数据块解密为相应的明文数据块{M}。

(13)判断flag值是否为1,若为1则进入步骤(14),反之进入步骤(16)。

(14)判断用户访问的明文数据块中是否包含M,若是则进入步骤(15),反之进入步骤(16)。

(15)将已进行数据填充处理过的M去掉x比特末尾数据部分。

(16)执行DataBuild(M)算法,将明文数据块组合为完整的明文数据M。

(17)当数据拥有者欲删除某数据时,只需相应删除该数据对应的密文数据取反位置信息{S}即可。

本发明所阐述的适用于云端数据确定性删除问题,是考虑到云端安全问题的实际需求,由于密钥管理的安全性问题受到威胁。因此,不再考虑使用更大的时间开销或者存储成本来解决密钥的存储问题,而是转而放宽对密钥保存安全性的限制,转而对密文进行处理,使得本发明可适用的场景更加广泛,同时由于云端不存储真实密文而提高了云端数据的安全性。

本方法的创新性在于:

1.适用的场景更加广泛,本方法可针对密钥被泄漏或恶意获取的情况,在即使攻击者已拿到加密密钥的情况下依旧保证用户数据的安全性。且不引入任何第三方管理机构,减少数据泄漏的可能性。

2.对明文数据进行数据分块,由此经加密后获得相应的密文数据块{C}。在对密文数据块进行随机处理后,使得每个数据块特殊性保持特殊性。防止攻击者进行恶意尝试,提高了数据的安全性。

3.结合本方法的适用条件,在允许密钥被泄漏的情况下,对不同明文数据块使用相同的加密密钥k,减小了对密钥存储与管理的开销。

4.不将真实密文上传至不可信的云服务提供商处,而是将经过加密的密文数据块进行单独的随机位数取反。在云端密文被泄漏的情况下,攻击者无法用非法获取的密钥对密文进行解密。

图1为本发明所述方法示意图。

图2为本发明中对密文数据块进行逻辑取反方法示意图。

图3为本发明数据操作流程图。

下面结合附图举例对本发明中数据的访问流程做更详细地描述:

在本发明中数据的访问过程分为四个阶段为数据分块阶段,加密上传阶段,合法用户数据访问阶段和数据拥有者删除阶段。

(1)在系统中数据明文数据{M},数据拥有者使用Data(M)算法对明文数据进行分块,获得n个明文数据块{M}。

(2)每个数据块128比特,最后一块不足128比特时用0进行填充。

(3)引入标志flag,记录是否为第n个数据块进行填充操作。若对第n个数据块进行数据填充,则flag值设置为1,反之设置为0。

(4)数据拥有者生成加密所需密钥k。

(5)对每个明文数据块进行加密。明文数据块加密算法表示为DataEncry(M,k):第i个数据块M用加密密钥k加密后,得到相应的密文数据块{C}。

(6)随机产生n个整数S,且1≤S≤128,S作为第i个数据块需要逻辑取反的位置标记。

(7)针对密文数据块{C}中的第i个密文数据块的第{S}个位置的数据进行逻辑取反。密文数据块随机取反算法表示为OppositeData(C,S)。第i个密文数据块C的第S位数据进行逻辑取反,即0变为1,1变为0。得到经过处理后的密文数据块{K}。

(8)将步骤(7)重复n遍后,使得每一个密文数据块{C}都进行变化更新得到新的密文数据块{K}。

(9)数据拥有者保存好加密密钥k和密文数据块随机位置集合{S},并将已经过处理更新的密文数据块{K}上传至云服务提供商处进行存储。

(10)已经过数据拥有者判定身份的真实性后的授权用户提出访问请求,数据拥有着执行RecoverEncryData(K,S)算法,将处理过的密文数据块恢复为真实的密文数据块,用于授权用户解密访问。

(11)数据拥有者将已恢复的密文数据块、密钥及其他附加信息(如授权证书及授权时间等)一起发送给授权用户。

(12)授权用户根据获得的密文数据块以及密钥执行DataDecry(C,k)解密算法,将密文数据块解密为相应的明文数据块{M}。

(13)判断flag值是否为1,若为1则进入步骤(14),反之进入步骤(16)。

(14)判断用户访问的明文数据块中是否包含M,若是则进入步骤(15),反之进入步骤(16)。

(15)将已进行数据填充处理过的M去掉x比特末尾数据部分。

(16)执行DataBuild(M)算法,将明文数据块组合为完整的明文数据M。

(17)当数据拥有者欲删除某数据时,只需相应删除该数据对应的密文数据取反位置信息{S}即可。

本发明所述方法的特征在于:

(1)由于对密文进行逻辑取反操作的位置信息始终由数据拥有者保存,任何用户或机构无法获取,因此一旦删除了位置信息导致,真实准确的密文无法恢复,保证了数据的确定性删除。

(2)由于云服务提供商处存储密文并非真实密文,因此,即使云端数据被泄漏,在本方法的设计下,数据依旧是安全的。

具体实施模式是这样的:

数据拥有者首先在将存储在本地的明文二进制数据流进行数据块的切分,128比特为一单独数据块,最后一块不足时进行补齐,共获得n个明文数据块。随后对各个明文数据块使用加密算法进行加密处理生成n个密文数据块,并保存加密密钥。对每个密文数据块的某个随机位置进行逻辑取反生成新的密文数据块,并保存修改的数据位置信息。随后将n个更新后的密文数据块上传至云服务提供商处进行存储。一旦数据拥有者打算删除某数据时,数据拥有者删除保存的相应数据块的修改位置信息。

本文发布于:2024-09-24 19:16:28,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/74120.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议