论文部分内容阅读
基于属性的加密是一种新兴的公钥密码体制,它通过把用户属性的逻辑组合作为访问控制策略对数据进行加密。由于具有一对多加密、细粒度访问控制等特性,对于云环境下的数据安全存储是一个良好的解决方案,因此也受到了研究人员的广泛关注。基于属性的代理重加密允许数据所有者授权重加密能力给半可信的第三方代理,由第三方代理来对原密文用新的策略进行重加密操作,从而使得满足新策略的用户可以用自己的密钥解密该密文,在此过程中,不需要恢复出原有的明文信息。从而在保证安全性的基础上减轻了用户端的计算消耗,提升了方案的可用性,并为实现密文的策略更新提供了解决方案。但是,现有的基于属性的代理重加密方案尚存在一定的局限性。1)当前方案中的访问策略由包含用户身份、职位等敏感信息的属性构成,且以明文的形式存在于密文中,存在隐私泄露风险;2)在安全性方面,当前方案大多在通用群模型下证明了安全性,或者只证明了选择安全性;3)与传统基于属性的加密方案相比,现有方案的性能虽然有所提升,但仍然存在进一步优化的空间。本文的主要贡献如下:1.提出了一个新的基于属性的代理重加密方案,通过引入内积加密的思想(把密文以及密钥通过向量相关联,在两个向量的内积为0时才可以成功解密),在加密过程中加入预处理操作,隐藏了密文中的属性信息以实现隐私保护。2.为了优化方案中加密、解密算法的执行效率,本方案引入在线/离线加密,对于加密算法中计算量大的对运算进行拆分,在进行多次加密时,这一部分只需要执行一次。同时引入外包解密的技术,对解密过程中的大运算量部分外包给第三方代理来执行,使得用户端的计算复杂度大大降低。3.引入“对偶系统”,借助中间密钥以及中间密文对定义安全模型的游戏进行规约,通过对一系列引理的证明实现不同安全游戏之间的过渡,在合数阶双线性群上证明了方案是完全安全的。4.基于Android平台和AWS云平台完成了对各个算法模块的实现,将整个系统进行解耦,划分为加密/解密模块、代理模块、在线/离线加密模块以及外包解密模块并提供了一套对应的SDK以及Restful API。5.对方案的时间复杂度进行了分析,并在原型实现的基础上完成了性能测试,通过与现有方案进行对比可以看出本文方案中的重加密密钥生成算法比其他主流方案提升了30%以上,加密算法的效率均提升了10%以上。