背景
云计算时代,企业和个人在云上存储数据是一个普遍需求,但是云上数据存在容易被云基础服务方窃取的问题,为了保护客户自己的敏感数据,上云数据需要存在加密存储的需求。但是云上数据同时存在多人分享的问题,只有数据的所有者和它授权的写作者才有权限访问这些数据,而秘钥增强的云端访问控制将使云数据用户向外外包自己的数据但不外包自己的访问控制,因为是用户自己处理秘钥,而不是云服务商。
问题
用户处理秘钥有一个问题,当访问策略因新key的加入重新加密时,需要耗费大量计算资源,一种取代的解决方案是代理二次加密,它把加密的负担转移给代理,但是非对称密码学阻碍了二次加密代理的普遍使用,因为计算负担太重了。于是基于对称加密设计了二次加密机制。也就是客户加密的数据会被二次加密,这种对称加密机制负责分发秘钥的更新,然后二次加密后发给云服务存储,但是二次加密的延迟不可忽视,特别是在多个访问策略被更新且数据存在多个云上,这里我们提出一种新的基于二次加密的秘钥增强式访问控制机制
方案
基于二次加密的秘钥增强访问控制机制是通过增强的二层加密来实现访问控制策略的更新。在二次加密方案中,数据资源被两次加密:一次是被用户在基础加密层加密,一次是用在表面加密层加密,当访问控制更新的时候,数据只需要调用云服务在表面加密层更新加密策略。因此新的授权和扯权策略需要调用云去加密在已经加密的数据体上,它给再加密计算带来了一定的计算负载,当大量策略变更发生的时候会影响性能。为了实现高效云存储授权策略更新,我们提出双头信息结构来减少再加密计算的负载。
在双头信息结构中,数据在基础加密层被数据所有者加密一次,被云服务商在表面加密层再加密一次,每个数据资源都被分为数据体中的数据内容和数据头中的加密key。在被发给云之前,数据体和数据头都被数据所有者预加密一次,再被传送给云以后,云服务商将会第一次通过加密封装数据头。因此所有资源的头都被两层加密,而且相对加密数据量比较小。当授权新的策略时,云服务商仅仅需要更新小数据量的数据头。
双头信息结构具有以下特点:
- 高安全,即便云服务商被攻击,敏感数据也无法被非授权访问者访问
- 低计算负载,授权信息独立于数据体
为了防止被撤销用户用以前的key访问新版数据,撤权操作所带来的计算是不可避免的,所以设计把扯权请求积累成批以后再操作,来减少计算负载