@iPhan
2017-10-20T13:19:44.000000Z
字数 1507
阅读 511
密码学
cpabe
当今的云存储的场景中,大多会面临一个安全问题:鉴权。在公网中,鉴权服务器往往是黑客们最喜欢的攻击对象。同时,当权限结构十分复杂时,大多数的云存储文件的按照既定规则安全分发也会成为一个令人头疼的问题。比方说,如果一个用户的需求是:只有三位年龄在30岁以上的,具有A、B两种特征,且具备C,D,E三种特征中两种特征的用户同时在场时,一份文件才可以被同时分发给这三个人。用户该怎么把这个需求清晰地描述给云存储服务器?云存储服务器该怎样制定一个安全的、有效的策略来解决这类需求?在这种需求的指引下,我们想到了CP-ABE 。
本作品着力于既可以满足用户对复杂权限系统中进行信息的安全可靠分发的需求,同时要求对客户端节点的压力缩减到普通app的水平,还可以很方便地应用到各种需要复杂的权限鉴别的云存储环境中。在方案设计的最后阶段,我们决定设计一个基于 KEM-CP-ABE 的安全云存储外包框架来满足既定的需求。在这个框架中,我们将比较耗时的双线性配对运算外包给半可信的(honest but curious)第三方云服务器,保证第三方资源充足时,系统的整体效率达到一个不错的水平。同时,我们的外包运算也支持客户端对第三方服务器给出的中间密文进行校验,保证一个半可信的云服务器无法欺骗客户端用户。
我们遇到的问题
CP-ABE是一种解决复杂环境下消息/文件安全分发的优秀技术。不过一个制约其应用于生产环境的主要限制在于其解密速度与描述权限的访问结构成正相关。此外,因目前学术界比较成熟的CP-ABE架构中,大多采用双线性对上的困难问题来保证安全性,而双线性配对是一种比较复杂,且消耗服务器计算资源的运算。这就直接导致了CP-ABE应用于实际时,严重受到客户端/服务端性能上的制约。其中,因双线性运算大规模发生在解密阶段,而正常的业务逻辑中,解密操作一般发生在客户端,也就是用户信任的物理设备上。这类设备大多是可移动,计算力不高且电量有限的。因此,在CP-ABE的实际应用中,如何解决客户端解密时性能要求与设备硬件限制的落差就是一个首要问题。
我们是如何解决的
因为问题主要出在客户端的性能上,一个直观的解决方案是:我们可以把本应在客户端进行的解密操作中大部分消耗资源的运算外包给一个云服务器,同时,我们还要保证作为一个半可信的第三方,我们引入的云服务器无法得到用户解密使用的私钥以及解密后的明文。 于是我们将解密部分的运算安全的外包给了一个或多个半可信服务器(honest but curious)。算法根据私钥及系统参数生成一个密钥对,其中一个与密文一同发送给第三方服务器,服务器接收这两个值并完成解密运算中的双线性配对工作后,返还给客户端一个中间密文。客户端根据中间密文与生成的密钥对中的另一个密钥计算常数次幂运算与对称解密运算,恢复出明文。我们的方案保证了:半可信第三方服务器如果能够得到明文,那么他们就可以解决DL问题。这样,客户端性能上的困扰就被解决了。
- 作品基于cpabe的技术背景,可以实现极复杂的权限环境中的消息(文件)安全分发
- 同时,因cpabe的特性,系统中不存在鉴权服务器:这减少了恶意攻击者的攻击目标
- 最消耗运算资源、电量的运算外包给半可信(demi-honest)第三方平台,且提供用户端确认接口
- 应用kvm-cpabe,进一步压缩解密时间、降低对智能终端资源的消耗
- 在用户端与之前的登录、操作模式并无太大不同,员工熟悉系统的时间成本极低
- 应用半可信(demi-honest)第三方平台,安全性不依赖于第三方服务器的安全性