云端数据加密方法深入对比

作者:aqniu, 星期二, 四月 24, 2018
来源:http://www.aqniu.com/tools-tech/33160.html

一、云上数据的安全问题

2017年3月,来自云安全公司MacKeeper的研究人员Chris Vickery发Twitter称在美国发生一起“14亿身份信息泄漏案”。2018年3月,著名的社交网络服务网站Facebook被曝数据泄露,4月报道涉及用户可能高达20亿人,导致其股票下跌近20%。近日,国内某著名互联网IT巨头CEO更是发出用户愿意“用隐私换便捷”的惊人言论。此外,许多拥有庞大的个人和企业数据库的公司都有导致数据泄露的历史。这一系列事件再一次将数据安全问题推向风口浪尖。

针对如此多发且严重的数据泄漏事件,云端数据存储的安全性问题就不得不引起人们的重视。目前诸多的个人信息、重要数据等都以明文的方式存储在云端,这对企业来说已经完全失去了对其的控制权,安全问题完全寄希望于云提供商。

在多次会议和沙龙中,企业首席信息安全官们探讨了该问题,一致认为:应用层的加密组件是云安全的核心功能,要确保企业外的人(包括云提供商)无法查看或访问这些数据,当数据离开企业的安全环境进入云服务提供商环境时,企业可以加密所有数据,并且只有企业有密钥。

二、租户存储和使用云端数据的方式

云服务供应商提供给用户的是计算机基础设施,用户购买服务后自行安装操作系统及数据库。目前主流的云服务供应商都提供这种购买云主机的服务。由于数据库是自行安装的,云服务供应商无法直接获取数据库的内容。但是数据库的数据文件保存在云供应商提供的存储上,供应商可以直接拷贝用户数据文件从而获得数据。

IaaS型(租户自建数据库)示意图

云服务供应商提供给租户的是已经封装好的数据库,用户购买数据库服务,获得数据库实例的使用权,可以在数据库存储与使用自己的数据。目前大多数云服务供应商都提供这种数据库服务。在这种场景中,云服务供应商拥有数据库宿主OS的ROOT权限,从而拥有最高的数据库权限,可以毫无困难的直接操作租户的所有数据。

SaaS型数据库示意图

租户通过云服务供应商提供的应用服务存取数据。例如在线CRM系统或在线OA系统中,租户租用这种服务,并通过这种服务录入和使用数据。租户直接打开浏览器或APP就可以直接使用服务,所有的数据都由Web或APP与后端数据库进行通讯。在这种情况下,租户完全失去了对数据的控制能力:SaaS服务的供应商可以非常轻易的获取租户的信息,而云平台供应商能否获取到数据,则完全取决于SaaS服务的供应商对数据的保护措施。

SaaS应用示意图

三、云端数据加密方式

为了应对云端数据的威胁,对数据进行加密是一种有效的解决手段。为了确保安全性,这种加密必须是独立于云平台的,也就是说加密机制不能由云平台自己来提供,除非可以证明秘钥对云平台是完全不可见的。根据加密位置以及适用场景的不同,在目前来看,有效的云数据加密方式有云加密数据库、数据库加密网关、以及云访问安全代理三种。

1)云加密数据库

使用具有加密功能的数据库或者数据库引擎。在数据库将数据写入文件时对数据进行加密,读取数据时进行解密。数据文件被加密后,无法通过直接拷贝用户数据文件盗取用户数据。

这种方式通常具有相对较高的性能和透明性,对数据库的触发器,存储过程等特性支持的比较全面。其缺点是防护能力有限,不能限制数据库超级用户的数据读取权限。而且其通用性较差,仅适用于IaaS形式的租户自建数据库。

2)云数据库安全代理(CDSB)

CDSB云数据加密网关作为数据库的出入口,将所有数据加密后写入数据库,读取数据的时候进行解密。通过网关访问数据库可以获得明文数据,而越过网关直接读取数据则只能获得密文。

CDSB示意图

该加密方式具有较高的通用性,既适用于SaaS数据库,也适用于IaaS数据库。该方式为数据库提供了统一的二次认证和二次鉴权机制,能够很好的防止云平台供应商访问真实数据,从而具有良好的安全性。性能方面,加密网关通过SQL重写,以及通过提供密文索引的方式,使得系统的整体性能较高。

3) 云访问安全代理(CASB)

CASB应用加密网关主要设置在企业或个人的内部网络出口处,对于流出的数据进行统一加密并对流入的数据统一解密。

CASB示意图

该加密方式不用考虑应用后端的数据库类型,具有更高的通用性。且将加解密功能进行了分布式处理,具有较高的综合性能。如果加密方法强度足够的话,该方式在理论上具有较好的安全性。但是由于要考虑到加密后数据的检索、格式的兼容等因素,所采用的加密算法强度不得不被降低。

四、CDSB和CASB的对比

由上述分析可知,CDSB数据库加密网关和CASB应用加密网关都具有较高的安全性,本节对这两种方式的适用性和安全性做进一步的深入对比分析。

1)适用性

两种加密方式针对不同云端数据使用方式的适用性如下表所示:

从上表中可以看出,CDSB对于各种云端上数据使用方式都能较好的适用,而CASB方式只适用于SaaS应用的方式。由于两种方式都适用于SaaS应用,下面部分就他们在SaaS应用环境下的安全性进行对比分析。

2) 抗统计分析攻击性能

CDSB数据库加密网关可以采用多样性的加密算法,包括国密算法。也支持带随机盐值的高强度加密算法,使得相同明文加密后的结果不同。这使得加密结果在对抗统计分析攻击方面的安全性很高。

而CASB加密网关为了保持对应用系统的兼容,使得在加密算法的选择上受限多多。比如,为了保持加密后数值类型的兼容,不得不采用格式保持加密(FPE),而这种加密方法的安全性还没有得到权威部门的认可;而且为了保证加密后的检索,由于没有办法在数据库中直接建立密文索引,所以必须保持加密前后内容的大小关系、位置信息、统计特征的一致性。

所以,CASB加密网关的加密强度,是远远小于CDSB数据库加密网关的。

3)直接泄露明文可能性

在CDSB模式中,明文数据的直接泄露点包括应用服务端和前端的浏览器/APP。在CASB模式中,明文数据的直接泄露点在前端的浏览器/APP,也就是说,可以从APP端导出租户的所有数据。而应用服务端和APP端在本质上是同一个应用系统,所以当SaaS服务以APP方式提供时,CDSB和CASB模式的明文泄露风险是相当的。只有当服务仅以WEB方式提供时,CASB的明文泄露风险才低于CDSB。

事实上,从上述分析可知,对于SaaS服务方式来说,目前还没有绝对安全的数据加密方式。

五、使用数据库加密网关对SaaS服务的数据进行加密

在SaaS服务中,众多SaaS租户的数据在服务后端统一存储于一张大表中,通过租户的ID进行区分和“隔离”。为了将不同租户的数据通过加密进行隔离,除了使用CASB外,也可以使用CDSB数据库加密网关来实现加密隔离。

使用CDSB对SaaS应用的数据进行加密

如上图所示,数据库加密网关利用其行加密能力,通过利用租户的ID,有区分的对不同租户进行加密,且不同租户的加密策略可以做到差异化。租户可以直接控制数据库加密网关进行自身数据的加密、秘钥轮、加密服务的启停等,真正实现对自己数据的掌控。

安全性上,如第四节所属,CDSB与CASB的综合安全性旗鼓相当。而且就数据加密强度来说,CDSB更胜一筹。

六、中安威士数据库加密网关简介

中安威士数据库加密网关,于2017年第四季度正式发布。目前支持MYSQL系列和南大通用数据库,且正在适配其它数据库类型。该系统支持透明加密,加密前后应用程序不需要改造,降低了企业升级加密系统的代价和风险。支持先进的密文索引,加密后数据的检索效率不会显著降低。特别的,该系统还提供专门针对字符串类型数据的LIKE查询索引,大大提高了字符类型数据在加密后的可用性。目前该系统已经在多个系统完成交付,并即将在多个公有云平台上线。

作者:中安威士 谢朕等