发明名称 一种无需可信第三方支持的云端数据安全删除系统与方法
摘要 本发明公开了一种无需可信第三方支持的云端数据安全删除系统与方法,系统包括分布式哈希表网络,用于存放解密密钥碎片;用户端,用于文件加密、解密和密钥信息删除,包括:文件加密模块、文件解密模块、密钥分发与重组模块、本地密钥信息模块和文件删除模块,文件加密和解密模块用于对文件加解密,密钥分发与重组模块用于对密钥分片和重组,本地密钥信息模块用于存储相关密钥信息,文件删除模块用于删除密钥信息;云端,提供数据服务器和密钥管理服务器,用于存储数据密文和密钥信息,包括:数据服务器和密钥管理服务器,数据服务器用于存放文件密文,密钥管理服务器用于管理密钥相关信息。本发明可用于云存储环境,以保护用户端数据隐私。
申请公布号 CN103595793B 申请公布日期 2017.01.25
申请号 CN201310571425.3 申请日期 2013.11.13
申请人 华中科技大学 发明人 曾令仿;陈俭喜;冯丹;夏之生;贺娜娜;齐一川;王璞
分类号 H04L29/08(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 朱仁玲
主权项 一种基于无需可信第三方支持的云端数据安全删除系统的云端数据安全删除方法,其特征在于,所述方法包括:(1)文件加密处理步骤,具体包括:(1.1)用户端向云端数据服务器上传数据文件时,先随机生成一个文件加密密钥用来对数据文件进行加密,生成数据文件密文;然后随机一个对称加密密钥来对文件加密密钥进行对称加密,生成文件加密密钥密文{{文件加密密钥}对称加密密钥};最后用户端使用分片方法将对称加密密钥进行分片,生成密钥碎片{对称加密密钥}1…N,N为密钥等份,并设立对应的门槛值M,M为用户端中的对称密钥的碎片门槛值;(1.2)云端密钥管理服务器中的密钥管理模块根据用户端发送过来的策略,采用非对称加密算法,首先产生一个大数A和加密密钥e,其中A=p*q,p、q为两个质数,然后生成解密密钥d;最后将新生成的A,e以加密密钥对(A,e)的形式发送给用户端,密钥管理服务器将解密密钥d留下来,作为基于策略解密密钥;接着密钥管理模块将用户端发送过来的策略作为密钥,采用对称加密算法对解密密钥d进行加密,生成解密密钥密文d1;在密钥管理服务器将密钥对(A,e)发送给用户端的同时,密钥管理服务器中的密钥分发与重组模块采用分片方法将解密密钥密文d1进行分片,并将解密密钥密文{d1}1…n,n为密钥等份,分发到分布式哈希表网络中,并设立对应的门槛值m;在文件加密时,用户端指定解密密钥密文的存活期,云端的密钥管理服务器在指定的存活期没有结束之前,每过8小时刷新一下分布式哈希表网络中的解密密钥密文碎片;(1.3)用户端得到加密密钥对(A,e)之后,采用非对称加密算法对{对称加密密钥}1…N分别进行加密,生成{{对称加密密钥}e}1…N,最后将策略、生成的{{对称加密密钥}e}1…N和{{文件加密密钥}对称加密密钥}按前后顺序写入对应的本地密钥信息文件中;(1.4)最后将数据文件密文上传到云端数据服务器,同时保存好该文件对应的本地密钥信息文件,并将数据明文等其余相关数据全部删除;(2)文件解密处理步骤,具体包括:(2.1)用户端通过云端数据服务器下载对应的数据文件密文到本地进行解密;(2.2)用户端中的本地密钥信息模块根据下载的数据密文文件,从本地密钥信息文件中查找与该文件对应的密钥信息;如果对应的密钥信息不存在,就说明该数据文件已被“销毁”,无法查看数据文件,如果对应的密钥信息存在,那么就读取该文件对应的密钥信息;(2.3)从该文件对应的密钥信息中,获取数据文件加密所使用的策略,通过策略向密钥管理服务器端请求数据文件加密密钥对(A,e)和解密密钥对(A,d),密钥管理模块根据策略查找对应策略的解密密钥密文d1信息;密钥分发与重组模块从分布式哈希表网络中查找相对应的解密密钥密文{d1}1…n碎片,获取的解密密钥密文碎片数为m’,如果m’>=m(m为密钥管理服务器中的解密密钥密文的碎片门槛值,m<=n),则使用碎片重组方法进行密钥碎片重组以生成解密密钥密文d1,然后密钥管理模块根据策略进行对称解密,生成解密密钥d,根据解密密钥d形成加密密钥对(A,e)和解密密钥对(A,d),向用户端发出一个可以解密的信号+(A,e);否则说明密钥不可重组,向用户端发出一个不可解密的信号;(2.4)用户端在接收到密钥管理服务器返回的信息之后,判断接收到的信息;如果密钥信息不能解密,那么直接显示数据密文解密失败,返回数据文件密文;如果能够解密,用户端首先随机形成一个大数Y,然后根据密钥管理服务器返回过来的加密密钥对(A,e),采用跟文件加密步骤中{对称加密密钥}碎片加密方式一样的非对称加密算法进行加密,生成{Y}e,将{Y}e分别与数据文件对应的密钥信息{{对称加密密钥}e}1…N相乘,将形成的{{Y}e*{{对称加密密钥}e}}1…N跟策略一起发送给密钥管理服务器,密钥管理服务器使用解密密钥对(A,d)进行解密,返回{Y*{对称加密密钥}}碎片并统计密钥碎片数M’;如果M’>=M,那么就停止密钥信息的解密,再根据{Y*{对称加密密钥}}1…M’/{Y}得到{对称加密密钥}1…M’;最后根据已有的{对称加密密钥}1…M’碎片进行重组密钥,生成{对称加密密钥};(2.5)使用上一步解密出来的{对称加密密钥}将{{文件加密密钥}对称加密密钥}解密出{文件加密密钥},最后使用{文件加密密钥}将数据文件密文解密出来生成数据明文;在响应完用户端请求之后,密钥管理服务器将删除相关信息;(3)文件删除处理步骤,具体包括:(3.1)用户端发出删除数据文件指令的同时,也向云端密钥管理服务器发送一个删除密钥指令;用户端调用本地密钥信息模块查找对应的文件密钥信息,找到并将其删除;(3.2)云端密钥管理服务器收到用户端关于删除某一数据文件对应的解密密钥指令之后,密钥管理模块就将该数据文件对应的解密密钥密文存活时间设置为0,并将该数据文件对应的任何信息都删除,以此达到数据密钥删除的目的;如果在存活期期间,用户端没有发出删除文件数据指令提前终止密钥生命周期的话,密钥管理服务器会一直刷新密钥直到存活期到达;(3.3)删除用户端以及密钥管理服务器中相关文件信息之外,同时删除云端的数据服务器中的数据文件密文;其中:所述系统包括分布式哈希表网络、用户端和云端,其中:所述分布式哈希表网络,用于存放数据文件解密密钥密文碎片;所述用户端,用来对数据文件进行加密,对数据文件密文进行解密和数据文件删除;所述云端,提供数据服务器和密钥管理服务器,用于存储数据密文和密钥信息。
地址 430074 湖北省武汉市洪山区珞喻路1037号