李佳恩
云计算领域中,安全一直都是众人关注的重点,而与安全一同出现的效率问题同样不容忽视。本文针对相关问题展开分析,提出了双层加密的算法设想,并且就其应用特征展开了分析。
云计算背景之下,数据安全是一个重点问题。云环境中的用户将数据投入到一个数据池中,而后在通过网络来进行取用。在这样的情况下,云计算所面临的数据安全问题,其中最尖锐的应当属细粒度属性的访问控制,进一步深入考察,其中密钥泄漏、读写权限灵活性不足以及属性撤销开销过大,是威胁到数据安全服务体系质量的几个关键方面。
为了实现有效云计算框架之下的安全服务,目前比较常见的数据访问控制策略包括基于身份认证的访问控制以及基于属性加密的数据访问控制两种。其中前者主要是在数据加密的基础之上引入可以信任的第三方,来对用户身份进行考察验证,从而确保公钥安全。但是后者在当前的云环境中则更为常见,这是一种将数据传输过程中角色与权限绑定修改为属性与权限相结合的控制机制。只有当属性满足条件的前提下,才能实现数据资源的获取。与比较传统的数据访问控制相比,此种控制方案可以改善细粒度不足的问题,尤其符合当前云背景之下一对多的访问要求。当前属性加密访问控制领域中,密文策略属性基加密方案(CP-ABE,Ciphertext Policy Attribute Based Encryption)比較常见。在此种方案之下,用户属性集合负责定义和描述用户解密密钥,而数据属主定义的访问结构则用于确定数据密文的生成方式。在此框架下共有四个角色,即认证中心、云服务商,数据拥有者以及用户。其中认证中心负责为数据拥有者和用户分别提供公钥和私钥,数据拥有者将数据送达云服务商,并且约定秘闻访问策略,而用户则面向云服务商提出访问请求,并且当符合对应的属性条件就可以执行解密。这个过程对于用户来说比较简单,为整个云环境带来的运算量也十分有限,尤其是当云规模不断扩大的时候,此种策略仍然有着良好生命力,但是仍然存在者属性撤销以及密钥泄漏等风险需要解决。
CP-ABE计算框架之下,对于加密方面而言,是首先由授权中心生成系统公钥以及主密钥,而后将这些密钥进行分发,公钥发送给数据提供方,允许其使用公钥和访问结构来对数据进行加密并且上传到云端。而在解密方面,授权中心能够依据用户属性生成私钥配给给用户,用户可以用私钥来对从云平台中获取到的加密数据进行解密。私钥本身是和用户属性绑定的,如果用户属性不满足则无法实现解密。进一步CP-ABE工作过程中的细节进行考察,发现有几个方面的问题必须引起关注。例如数据用户可以在CP-ABE的支持下实现对于云端数据的读取,但是如果需要修改或者写入操作,则必须设置对应的控制访问权限参数才能落实。而访问控制中对于密钥的保护,还必须从明文和密文两个角度同时出发才能落实,并且还需要在同时对加密算法本身要求的运算能力做出考虑,过于复杂的运算会导致系统整体工作效率的下降。除此以外,当用户属性发生变更的时候,诸如撤销属性或者权限改变等,还必须能够做到及时撤回私钥,落实数据的保护。而这个过程中的效率,就成为关系到云环境中数据安全的关键所在。
针对上述问题,可以考虑采用分层密钥的系统框架来实现云数据安全,即对明文和密钥展开分层对待,下层展开对于明文的加密,上层则直接面向用户属性来依据数据访问策略对密钥进行加密。除此以外,在展开上层加密的时候也会增加一对非对称密钥以便实现权限控制,并且通过CP-ABE体系来对其进行加密再上传CSP,在用户解密的时候,则需要向CSP申请令牌来展开行动,通过中间数据格式来实现数据对接。对于用户方面属性变更而需要撤销的情况,则需要先更新公钥,而后再更新私钥来实现系统安全的保障。具体而言,整个过程可以划分为五个环节展开理解:
第一是密钥的生成。
由认证中心来生成系统公钥和主密钥,其中前者用于帮助属性控制机构来实现对于属性的控制,认证中心会生成属性机构的公钥和私钥,并且进一步为用户提供全局密钥,包括全局公钥和全局私钥。
第二是加密的实现。
数据拥有者朝向认证中心申请数据操作权限控制参数,该参数以两个为一对的形态出现,与明文一起展开下层加密,并且不同的控制用户权限会对应不同的密钥的,对应的加密结果也存在差异。下层加密工作对明文进行操作,通过对称加密获取到对应的密文,而上层加密工作则对密钥本身展开加密,采用CP-ABE进行加密获取到密钥的密文。进一步数据拥有者将获取到的,由明文和密钥分别加密的结果上传到CSP中,供用户下载使用。这种分层管理的方式能够减轻加密开销,同时也能够通过授权来支持数据用户展开写操作,相对来说比较灵活。
第三是解密的实现。
数据用户通过全局私钥向属性控制机构提出申请,完成认证并且获取密钥。该机构首先对用户属性进行确认,而后反馈私钥以及私钥的相关信息版本,防止密钥非法重用。用户随后可以从CSP处下载上一个环节中提到的两个密文,并且利用全局私钥和从属性控制机构获取到的私钥进行解密,从而获取到对应的明文。
第四是属性的撤销。
当数据用户的属性发生变更的时候,对应能够访问的数据权限范围也会发生变化,为了避免用户接触到不属于其属性权限之外的数据,属性控制机构必须对用户及时展开属性撤销操作。此种情况下,认证中心首先会对用户的属性描述集进行更新,而后通过参数发送给属性控制机构,由属性控制机构重新计算出新版本的密钥,进一步将新的密钥和版本信息都发送给CSP,也需要重新对私钥进行计算,并且发送给数据用户。在这个重新加密的过程中,所有与被撤销相关的旧有密文都必须重新进行加密,通常是运行ReEncrypt算法来实现。而当属性控制机构在 CSP更新密钥以及版本信息之后,用户就不能继续使用旧密钥来进行数据读取等操作了。
第五是权限的变更。
这一方面主要是指数据用户需要对数据进行写操作,而重新获取授权的问题。首先由属性认证机构来对数据用户的属性集进行更新,利用ReEncrypt算法获取到新的密文,附加数据操作权限控制参数对一同发送给用户。而后在对全局私钥进行更新,修正其相关数据项。
上述的这种双层加密模式,除去增加了对于密钥的双重保护以外,还增加了访问权限的控制,并且也能够支持数据用户对数据进行写操作,在属性发生变更需要撤销的情况下具有显著优势。此种方案能够保证在CP-ABE正常使用的前提之下,对底层对称密文实现更新,并且数据绑定访问策略、读写权限,访问控制更加细粒度,密钥泄漏的问题也有所改善。尤其是将密钥和数据用户属性相结合的方式,基本上彻底改善了密钥的大规模泄漏问题。除此以外,底层数据的更新不会对上层密钥加密产生影响,增加必要保障的同时也增加了整体系统的灵活性。而在数据用户写操作的授权方面,可以看到,数据提供者实际上在数据上传到云端之后,仍然对其有着一定的控制权,尤其是引入了密钥版本来实现属性撤销的操作,本质上是保证了系统的效率和整体安全性。
纵观双层加密体系全局可以发现,该方案运行开销比较小,对于系统要求低,尤其是在属性撤销方面比其他很多方案都更加灵活便利,安全性也能够保证,甚至有所提高。在生成私钥的时候同时增加密钥版本号相关信息,是对于属性撤销需求的一种有效支持。但是此种方案在加密过程中表现相对而言比较一般,更多优势体现在解密和撤销两个环节上,可以说是一种安全优先的选择方案。尤其是在加密过程中,由于需要加密两次,因此对应的加密成本相对比较高。而在解密的过程中,由于相应的工作可以交由CSP承担,因此落实在用户端的任务比较有限,解密工作耗时和对于计算能力的要求都得到了良好控制,并且并不会随着属性的增加而出现波动,相对来说表现稳定。
作者单位:北京理工大学