法律状态公告日
法律状态信息
法律状态
2017-01-25
授权
授权
2014-09-03
实质审查的生效 IPC(主分类):H04L29/06 申请日:20140519
实质审查的生效
2014-08-06
公开
公开
技术领域
本发明属于计算机存储技术和信息安全技术领域,更具体地,涉及一 种云存储环境中的用户访问权限回收方法。
背景技术
云存储系统在为用户提供数据存储和业务服务的同时,其云端数据的 安全性一直是用户和企业管理者尤为关注的重要问题。为保障用户数据的 私密性,当前的云存储安全框架一般是对数据进行加密存储,云服务提供 商使用相应的访问控制策略来判断用户对该数据是否拥有合法的的访问权 限,密钥的管理和分发由可信第三方负责。虽然这在一定程度上加强了云 端数据的安全性,但密文存储的形式也会引发新的问题。当需要变更用户 对某数据的访问权限时,为保证回收权限的用户持有该数据的密钥无效, 一般的方案是对该数据进行重加密处理,然后进行密钥的更新与重新分发。 由于云环境中用户规模庞大且用户权限可能频繁变更,数据的重加密和密 钥的重分发将会带来极大的性能开销。如果将重加密放在用户上传数据时 进行,由于用户执行上传数据操作时间是不确定的,导致数据的重加密时 机也是不确定的,而这期间已被回收权限的用户依然可以访问该数据,可 能出现回收权限用户恶意向系统写脏数据,此外此方案无法解决只读数据 的重加密问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种云存储环境 中的用户访问权限回收方法,其目的在于,通过云端基于密文的掷乱处理, 以实现用户权限的立即回收,以解决现有用户权限回收时引起的安全隐患 以及对数据进行重加密引起极大性能开销的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种云存储环境中 的用户访问权限回收方法,包括以下步骤:
(1)客户端接收来自用户的数据操作请求,并判断该请求类型,读数 据请求还是权限操作请求,如果是写数据请求,则转入步骤(2),如果是 读数据请求,则转入步骤(6),如果是权限操作请求,则转入步骤(11);
(2)客户端随机生成用于对写数据请求对应的数据进行加密的对称密 钥,并向安全管理中心提交加密密钥请求;
(3)安全管理中心根据加密密钥请求确定该用户的合法性,并判断合 法用户是否在写数据请求对应的数据所对应的权限回收列表中,若不在则 获得该数据对应的加密密钥,并将该加密密钥返回给客户端;
(4)客户端利用步骤(2)中生成的对称密钥,利用对称加密算法加 密写数据请求对应的数据,以得到密文数据,利用接收到的加密密钥和公 私钥加密算法加密生成的对称密钥,以得到密文密钥,将密文数据及密文 密钥打包为密文数据包,并向云存储端发送写数据请求;
(5)云存储端接收来自客户端的写数据请求,根据该写数据请求确定 该用户的合法性,并在合法的用户对写数据请求对应的数据拥有写访问权 限时随机生成一个令牌,并将该令牌作为写数据请求中的数据对应令牌链 的链尾令牌,随机生成干扰块并按照令牌中制定的规则,将干扰块插入密 文数据,并保存得到的数据;
(6)客户端向云存储端发出读数据请求;
(7)云存储端根据来自客户端的读数据请求中的用户身份证书确定该 用户的合法性,并在合法的用户拥有对该数据的读访问权限时将该数据返 回给客户端,查找该数据对应的令牌链中的链尾令牌,向安全管理中心发 送密钥请求;
(8)安全管理中心根据该密钥请求判断用户是否在读数据请求对应的 数据所对应的权限回收列表中,若不在则查找请求数据所对应的解密密钥, 并将解密密钥、令牌返回给客户端,然后进入步骤(9),若存在,则向客 户端返回客户端拒绝服务信息,然后过程结束;
(9)客户端等待并接收云存储端及安全管理中心返回的信息,若云存 储端返回信息为请求的数据信息且安全管理中心返回信息为解密密钥及令 牌,则转步骤(10),否则过程结束;
(10)客户端利用返回的令牌处理返回的数据,剔除数据中的干扰块, 得到密文数据,利用返回的解密密钥解密返回数据中的密文密钥得到对称 密钥,并利用对称密钥解密密文数据,以得到用户请求原始数据;
(11)客户端向安全管理中心发出用户权限回收请求;
(12)安全管理中心根据客户端用户权限回收请求验证用户身份证书, 以判断用户是否合法,如果合法则转步骤(13),否则向客户端返回用户身 份证书错误信息,然后过程结束;
(13)安全管理中心判断回收权限的用户是否在该用户权限回收请求 对应数据ID所对应的权限回收列表中,若用户不在权限回收列表中,则将 回收权限的用户ID插入权限回收列表,向云存储端发出用户权限回收请求, 并向客户端返回用户权限回收成功信息,然后转入步骤(14);若用户在权 限回收列表中,则向客户端返回该用户已在权限回收列表中提示信息;
(14)云存储端根据用户权限回收请求查找其中数据ID所对应的令牌 链,并获得链尾令牌,利用获得的链尾令牌剔除数据ID所对应的数据中的 干扰块,得到未经过干扰处理的密文数据,利用令牌生成规则,随机生成 一把新的令牌,并将其加入令牌链,作为新的链尾令牌,随机生成干扰块 并按照新令牌中制定的规则,将干扰块插入获得的密文数据,得到并保存 新的干扰数据,并返回客户端用户权限回收成功信息。
优选地,加密密钥请求包括用户身份证书、以及写数据请求对应的数 据的ID号,写数据请求包括用户身份证书、打包后的密文数据、密文密钥、 写数据请求对应的数据的元数据,读数据请求包括用户身份证书和读数据 请求对应的数据的ID,用户权限回收请求包括用户身份证书、用户权限回 收请求对应的数据的ID和回收权限的用户ID。
优选地,步骤(3)包括以下子步骤:
(3-1)安全管理中心根据加密密钥请求中的用户身份证书判断用户是 否合法,如果合法则转入步骤(3-2),否则向用户返回请求失败信息,然后 过程结束;
(3-2)安全管理中心判断该用户是否在写数据请求对应的数据所对应 的权限回收列表中,若在则返回用户请求失败信息,否则转入步骤(3-3), 其中若权限列表不存在则表示用户不在权限回收列表中;
(3-3)安全管理中心查找是否可以在本地密钥库中找到该数据对应的 加密密钥,若找到则转入步骤(3-4),否则转入步骤(3-5);
(3-4)安全管理中心将查找到的加密密钥返回给客户端,然后进入步 骤(4);
(3-5)安全管理中心根据该数据并利用公私钥加密机制随机生成并保 存加密密钥,并将生成的加密密钥返回给客户端,然后进入步骤(4)。
优选地,还包括步骤:客户端在接收到来自安全管理中心的加密密钥 后,向安全管理中心发送正确接收应答,
优选地,步骤(5)包括以下子步骤:
(5-1)云存储端接收来自客户端的写数据请求,验证用户身份证书, 以判断用户是否合法,若非法则返回用户身份证书错误信息,然后过程结 束;若合法则转步骤(5-2);
(5-2)云存储端判断用户是否拥有对写数据请求对应的数据的写访问 权限,若没有权限则返回用户无写访问权限信息,然后过程结束,若有写 访问权限,则转步骤(5-3);
(5-3)云存储端随机生成一个令牌,并将该令牌作为写数据请求中的 数据对应令牌链的链尾令牌,随机生成干扰块并按照令牌中制定的规则, 将干扰块插入密文数据,保存得到的数据,并向客户端返回用户写数据成 功信息。
优选地,步骤(7)包括以下子步骤:
(7-1)云存储端根据来自客户端的读数据请求中的用户身份证书判断 用户是否合法,如果合法则转步骤(7-2),否则向客户端返回用户身份证书 错误信息,然后过程结束;
(7-2)云存储端判断读数据请求对应的数据是否存在,若存在则转步 骤(7-3),否则向客户端返回请求数据不存在信息,然后过程结束;
(7-3)云存储端判断用户是否拥有对该数据的读访问权限,若有则将 该数据返回给客户端,查找该数据对应的令牌链中的链尾令牌,向安全管 理中心发送密钥请求,该请求包括数据的ID、链尾令牌、用户身份证书; 否则向客户端返回用户无读访问权限信息。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够 取得下列有益效果:
(1)可以实现用户权限的立即回收,避免由于用户权限回收可能出现 的安全隐患,如在非立即回收机制中,回收权限的用户由于其依旧满足访 问控制条件,依然可以对数据进行访问,甚至可以进行恶意的写脏数据; 其次,用户权限回收时间的不确定性,会造成系统的安全漏洞;此外非立 即回收机制无法解决只读数据重加密问题;
(2)传统的用户权限回收机制中,不可避免的需要进行重加密操作, 使回收权限用户的旧密钥失效以避免其利用旧密钥解密密文获得最新的数 据。而本发明提出的干扰块处理方法,只需要对云端存储的密文数据利用 随机生成的令牌中制定的规则,重新插入干扰块,对于回收权限用户由于 无法获得最新的令牌,因此即便拥有旧密钥也无法解密得到原始数据。由 于加密算法的性能瓶颈,因此重加密往往会带来极大的性能开销,而本发 明利用密文数据的重新干扰处理,避免用户权限回收时的重加密问题,极 大的减少了系统的性能开销;
(3)本发明完全支持写数据请求,本发明的用户写数据请求和现在通 用写数据流程区别在于云存储端数据保存时增加了一步,利用令牌对上传 数据进行插入干扰块的处理,同理本发明也同样支持用户的数据其他访问 请求,如删除、移动、重命名等请求。
(4)本发明适用性广,并不局限于云环境系统,由于令牌的生成规则、 密文数据的干扰处理与云存储系统都没有必然联系,因此对于任意一个存 在用户权限回收的系统,本发明都将适用。
附图说明
图1为本发明的流程示意图。
图2为客户端进程示意图。
图3为云存储端进程示意图。
图4为令牌结构示意图。
图5为令牌链结构示意图。
图6为干扰块结构示意图。
图7为对密文数据进行干扰处理示意图。
图8为安全管理中心进程示意图。
图9为用户登录和读访问数据时序图。
图10为用户登录和写访问数据时序图。
图11为用户登录和回收用户权限时序图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体 实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的 本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可 以相互组合。
以下首先就本发明的技术术语进行解释和说明:
原文件:指未加密的文件;
身份证书:一种标志用户身份特征的数据结构,用于用户身份判断以 及访问控制中判断用户是否拥有访问权限;
对称密码机制:加密和解密采用相同的密钥,解密是加密的逆运算;
对称密钥:随机生成的二进制数据,用于对原文件加密或解密;
加密文件:使用对称密钥对原文件采用对称密钥密码机制加密后得到 的文件;
完整性校验密钥:随机生成的二进制数据,用于对加密文件加密;
签名文件:使用完整性校验密钥,采用哈希函数对加密文件进行加密 得到的二进制数据;
权限回收列表:记录回收权限的用户标识信息;
干扰块:可自定义长度的二进制数据块;
令牌:记录插入加密文件中所有的干扰块的基本信息的数据结构,用 于加密文件中插入或剔除干扰块;
令牌链:由令牌组成的链式结构,其中链后面的令牌可以推导出之前 的令牌,而之前的令牌无法推导出后面的令牌;
以下结合实施例和附图对本发明进一步说明。
如图1所示,本发明包括客户端进程、云存储系统进程和安全管理中 心进程,分别运行在分布式文件系统的客户端主机、认证端主机和云存储 系统主机上。三个模块协同运行,其中客户端实现各种访问操作请求,包 括登陆系统、读访问数据请求,写数据上传和回收用户权限,在客户端, 读访问数据时,首先通过从安全管理中心接收的令牌剔除云存储系统返回 数据中的干扰块,恢复密文,然后利用密钥进行解密得到原始数据;而写 访问则是加密数据,密文上传;云存储系统实现令牌链管理更新,通知安 全管理中心分发密钥、令牌,对密文置入干扰块处理以及用户访问请求判 断回复;安全管理中心实现用户注册、登录,权限授予、回收,密钥管理 和分发,以及用户令牌分发。
本发明采用令牌链机制对用户上传的密文数据进行干扰处理,因此用 户即便拥有解密密钥,在没有获得相应的令牌时,用户无法恢复密文数据, 因此无法解密密文得到原始数据,从而避免了用户权限回收时必要的重加 密操作。
令牌是一个包含干扰块生成及插入密文规则的数据结构,云端可以通 过令牌对密文进行干扰处理;用户可以通过令牌将干扰处理后的数据中的 干扰块剔除,从而恢复密文数据。令牌链,是由令牌组成的链式结构,其 中链后面的令牌可以推出之前的令牌,而之前的令牌无法推出后面的令牌, 其中链尾令牌为云端用于干扰处理密文数据的关键令牌,同时也是用户进 行剔除干扰块处理的令牌。当用户权限回收时,只需要在令牌链上新生成 一个链尾令牌,并利用新生成的令牌对密文数据进行重新干扰处理,即可 实现用户权限的立即回收。
如图1所示,本发明云存储环境中的用户访问权限回收方法包括以下 步骤:
(1)客户端接收来自用户的数据操作请求,并判断该请求类型,读数 据请求还是权限操作请求,如果是写数据请求,则转入步骤(2),如果是 读数据请求,则转入步骤(13),如果是权限操作请求,则转入步骤(20);
(2)客户端随机生成用于对写数据请求对应的数据进行加密的对称密 钥,并向安全管理中心提交加密密钥请求,该请求包括用户身份证书、以 及写数据请求对应的数据的ID号;具体而言,本步骤是采用对称加密算法 (如Advanced Encryption Standard,简称AES)生成密钥;
(3)安全管理中心根据加密密钥请求中的用户身份证书判断用户是否 合法,如果合法则转入步骤(4),否则向用户返回请求失败信息,然后过 程结束;
(4)安全管理中心判断该用户是否在写数据请求对应的数据所对应的 权限回收列表中,若在则返回用户请求失败信息,否则转入步骤(5),其 中若权限列表不存在则表示用户不在权限回收列表中;
(5)安全管理中心查找是否可以在本地密钥库中找到该数据对应的加 密密钥,若找到则转入步骤(6),否则转入步骤(7);
(6)安全管理中心将查找到的加密密钥返回给客户端,然后进入步骤 (8);
(7)安全管理中心根据该数据并利用公私钥加密机制随机生成并保存 加密密钥,并将生成的加密密钥返回给客户端,然后转入步骤(8);具体 而言,随机生成加密密钥是采用采用非对称加密机制,例如RSA算法;
(8)客户端在接收到来自安全管理中心的加密密钥后向安全管理中心 发送正确接收应答,并转步骤(9);
(9)客户端利用步骤(2)中生成的对称密钥,利用对称加密算法加 密写数据请求对应的数据,以得到密文数据,然后利用(8)中接收到的加 密密钥和公私钥加密算法加密步骤(2)中生成的对称密钥,以得到密文密 钥,将密文数据及密文密钥打包为密文数据包,并向云存储端发送写数据 请求,具体而言,写数据请求包括用户身份证书、打包后的密文数据、密 文密钥、写数据请求对应的数据的元数据等;
(10)云存储端接收来自客户端的写数据请求,验证用户身份证书, 以判断用户是否合法,若非法则返回用户身份证书错误信息,然后过程结 束;若合法则转步骤(11);
(11)云存储端判断用户是否拥有对写数据请求对应的数据的写访问 权限,若没有权限则返回用户无写访问权限信息,然后过程结束,若有写 访问权限,则转步骤(12);
具体而言,用户权限判断主要依赖于云存储端采用的访问控制策略, 如基于身份的访问控制策略采用访问控制列表授予用户权限,若用户在访 问控制列表中,则表示用户拥有读访问权限,否则表示用户没有读访问权 限;
(12)云存储端随机生成一个令牌(token),并将该令牌作为写数据请求 中的数据对应令牌链的链尾令牌,随机生成干扰块并按照令牌中制定的规 则,将干扰块插入步骤(9)得到的密文数据,保存得到的数据,并向客户 端返回用户写数据成功信息;具体而言,若令牌链不存在,则新建一条空 令牌链,并将随机生成的令牌作为空令牌链的首令牌;
其中,云存储端判断并存储用户上传数据的过程结合实例作进一步说 明:
设用户写数据请求对应的数据为Data,并假设用户拥有合法的访问权 限,则云存储端首先是判断Data是否已经存在,即判断用户是写数据还是 新上传数据,其中写数据由于令牌链已经存在,直接获得链尾令牌token即 可;新上传数据则随机生成一个新的令牌token,并将其作为该数据对应的 令牌链的第一个令牌;
按照token制定原则,生成如图6的干扰块,并将干扰块插入用户上传 数据,得到如图7所示的置入干扰块后的数据Data’并保存;
(13)客户端向云存储端发出读数据请求,其中读数据请求包括用户 身份证书和读数据请求对应的数据的ID;
(14)云存储端根据来自客户端的读数据请求中的用户身份证书判断 用户是否合法,如果合法则转步骤(16),否则向客户端返回用户身份证书 错误信息,然后过程结束;
(15)云存储端判断读数据请求对应的数据是否存在,若存在则转步 骤(16),否则向客户端返回请求数据不存在信息,然后过程结束;
(16)云存储端判断用户是否拥有对该数据的读访问权限,若有则将 该数据返回给客户端,查找该数据对应的令牌链中的链尾令牌,向安全管 理中心发送密钥请求,该请求包括数据的ID、链尾令牌、用户身份证书; 否则向客户端返回用户无读访问权限信息;
具体而言,用户权限判断主要依赖于云存储端利采用的访问控制策略, 如基于身份的访问控制策略采用访问控制列表授予用户权限,若用户在访 问控制列表中,则表示用户拥有读访问权限,否则表示用户没有读访问权 限;返回客户端的数据包括用户请求的数据、请求数据对应的密文密钥。
(17)安全管理中心根据该密钥请求判断用户是否在读数据请求对应 的数据所对应的权限回收列表中,若不在(其中若权限回收列表不存在, 亦表示用户不在权限回收列表中)则查找请求数据所对应的解密密钥,并将 解密密钥、令牌返回给客户端,然后进入步骤(18),若存在,则向客户端 返回客户端拒绝服务信息,然后过程结束
(18)客户端等待并接收云存储端及安全管理中心返回的信息,若云 存储端返回信息为请求的数据信息且安全管理中心返回信息为解密密钥及 令牌则转步骤(19),否则表示用户无权读取该请求数据,然后过程结束;
(19)客户端首先利用步骤(17)返回的令牌处理步骤(16)返回的 数据,剔除数据中的干扰块,得到密文数据,利用步骤(17)返回的解密 密钥解密步骤(16)返回数据中的密文密钥得到对称密钥,并利用对称密 钥解密密文数据,以得到用户请求原始数据;
下面结合实施例对获得云存储端及安全管理中心返回信息后的过程作 进一步的说明:
用户接收到云端返回的密文数据Data、密文密钥Enc(K>AES)及其元数据 metadata,接收到安全管理中心返回的解密密钥KS及令牌token;
首先用户更具token中制定的干扰块插入规则,将Data中的干扰块去 除,获得没有干扰块的数据Data’,如图7,剔除干扰块即为插入干扰块的 逆过程;用户利用KS解密Enc(K>AES)得到对称密钥K>AES,以上两个步骤可 以并行处理;然后用户利用KAES解密Data’便可得到请求的原始数据。
(20)客户端向安全管理中心发出用户权限回收请求,该用户权限回 收请求包括用户身份证书、用户权限回收请求对应的数据的ID和回收权限 的用户ID;
(21)安全管理中心根据客户端用户权限回收请求验证用户身份证书, 以判断用户是否合法,如果合法则转步骤(22),否则向客户端返回用户身 份证书错误信息,然后过程结束
(22)安全管理中心判断回收权限的用户是否在该用户权限回收请求 对应数据ID所对应的权限回收列表中,若用户不在权限回收列表中,则将 回收权限的用户ID插入权限回收列表,向云存储端发出用户权限回收请求, 并向客户端返回用户权限回收成功信息,然后转入步骤(23),该用户权限 回收请求包括该数据ID和回收权限的用户ID;若用户在权限回收列表中, 则向客户端返回该用户已在权限回收列表中提示信息;若回收权限列表不 存在则新建一个权限回收列表,具体新建权限回收列表方法可根据系统具 体采用的访问控制策略来选定(如基于身份的访问控制中,采用访问控制 列表ACL来实现),然后按照用户不在权限回收列表执行后续操作;
(23)云存储端根据用户权限回收请求查找其中数据ID所对应的令牌 链,并获得链尾令牌;
(24)云存储端利用(23)获得的链尾令牌剔除数据ID所对应的数据 中的干扰块,得到未经过干扰处理的密文数据;利用令牌生成规则,随机 生成一把新的令牌,并将其加入令牌链,作为新的链尾令牌,随机生成干 扰块并按照新令牌中制定的规则,将干扰块插入获得的密文数据,得到并 保存新的干扰数据;返回客户端用户权限回收成功信息。
具体而言,图2详细描述客户端进程示意图,图3为云存储端进程示 意图,图8为安全管理中心进程示意图,三个进程协同合作,完成用户的 操作请求,整体操作流程如图1所示。上述步骤(13)至(19)对应读数 据请求,其时序图如图9所示;上述步骤(2)至(12)对应写数据请求, 其时序图如图10所示;上述步骤(20)至(24)对应权限回收请求,其时 序图如图11所示。
此外图4至7表示令牌及令牌链的数据结构和令牌及干扰块的使用原 则,针对上述步骤(12)、(24),本发明采用伪随机算法进行令牌链的构造, 因此可实现令牌生成的不可预测性,上述步骤(12)、(19)、(24)利用令 牌处理数据方法主要利用令牌定义的数据结构,图6、图7显示了根据令牌 进行数据处理的过程。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等 同替换和改进等,均应包含在本发明的保护范围之内。
机译: 在云存储环境中执行数据存储操作,包括在多个云存储站点之间自动选择
机译: 在非持久性桌面环境中的快速用户信息亭访问权限
机译: 支持云存储服务的无线通信系统中的用户设备和云存储服务器