大数据环境下用户数据隐私保护研究

2021-07-16 06:13王国峰雷琦唐云王远辉
网络安全技术与应用 2021年7期
关键词:关系数据库解密密钥

◆王国峰 雷琦 唐云 王远辉

(中电科第三十研究所 中国电子科学研究院 中电科网络空间安全研究院有限公司 北京 100041)

在大数据时代,大量数据存储在云服务器上,需要借助云计算平台对数据进行管理,导致数据的所有权和管理权分离。这种情况下,由于用户数据托管在云服务端,依赖云计算平台保障用户数据私密性,数据的安全很大程度取决于大数据平台的可信性。然而,大数据平台运维人员有可能滥用或误用自己的权限泄露用户隐私数据,损害用户信息或信息系统的保密性、完整性及可用性[1-3]。为保护用户数据,本文设计大数据加密方案在客户端对数据加密,并控制数据加密过程和安全存储加密密钥。用户隐私数据加密以后再传到大数据平台上,而大数据平台服务商只能看到密文,数据控制权完全在用户手中。此外,加密密钥妥善保管和存储,避免大数据平台管理员利用特权得到密钥进而窃取用户数据[4-5]。本文在已有大数据安全保护技术的基础上,实现了大数据环境不同场景下的大数据加密方案,具有很强的可适用性。

1 相关工作

在大数据时代,用户将数据迁移到云上,如何保障用户的权益,是一个极具挑战的问题,也是近年来学术界和工业界共同关注的热点。如表1 所示,CryptDB[6]在数据存入数据库前,利用数据库代理对数据作特定加密,可有效防范恶意的数据库管理人员;Mylar[7]在应用数据传送到服务器前对数据作加密,以保证数据的隐私性和安全性,可有效防范恶意的应用服务管理人员;ShadowCrypt[8]通过浏览器插件,在数据到达客户段应用程序之前对数据加密,从而可预防客户端及服务器端的数据隐私泄露。Over-encryption[9]把数据保护与权限访问控制相结合,在客户端加密的同时又可在云服务端对用户数据作访问控制,用户不必每次在权限访问改变时下载并重新对数据加密。PasS(Privacy as a Service)[10]系统利用密码协处理器芯片在服务端加解密数据,使数据被用户密钥加密后存储到云服务端,可有效保护用户数据隐私。近年来,工业界也提出使用云访问安全代理(CASB,Cloud Access Security Broker)[11]技术,透明地在云应用程序和用户之间对数据加解密。然而,目前大多数CASB 解决方案技术细节是不公开的。本文在已有大数据安全保护技术的基础上,实现了大数据环境不同场景下的大数据加密方案。

表1 典型数据加密系统对比

2 系统设计架构

大数据环境下加密方案设计架构如图1 所示,包括分布式文件加密、分布式数据库加密和关系数据库加密,其中重要服务介绍如下。

图1 数据加密方案架构

(1)安全认证服务:认证客户端向认证服务端认证,验证自己的身份是可信的,没有被冒充,可利用Kerberos 或LDAP 组件实现安全认证功能。

(2)密钥管理服务器(KMS):提供密钥访问服务,管理密钥的访问权限。

(3)密钥存储服务(Keystore):生成和/存储密钥,确保密钥的安全。

(4)权限管控服务:在权限管控服务中,所有的权限都只能授予角色,当角色被挂载到用户组的时候,该组内的用户才具有相应的权限。授权对象为服务器、数据库、表、视图、列、URI 等,授权级别包括select、insert 和all,可利用Sentry 组件对权限作管控。

(5)分布式文件加密:对存储在分布式文件系统中的文件进行加密,本文借助Hadoop 分布式文件系统(HDFS)分布式文件加密技术,实现大数据环境下HDFS 分布式文件系统文件加密及解密功能。

(6)分布式数据库加密:对分布式数据库(如Hive 或Kudu)作数据加密,本文借助UDF 技术实现数据表加解密功能,粒度可达到数据表列级别。UDF 已变成大数据生态圈查询引擎的必备功能之一。

(7)关系数据库加密:支持表加密和表空间加密的特性,避免数据文件被窃取后破解出关键数据,本文借助MariaDB 关系数据库对表数据进行加解密处理。

3 系统实现方案

3.1 分布式文件加密

分布式文件加密可实现透明、端到端的加密。透明加密意味着终端用户无须感知加解密过程,而端到端意味数据在静态和传输过程中都是加密的。这里以HDFS 分布式文件系统为例来作详细介绍。配置分布式文件加密完成后,用户无须做任何程序代码的更改,就可以往HDFS 上存储并加密数据,数据加密和解密由客户端完成。同时加密密钥由KMS 管理,HDFS 不会存储或访问未加密的数据或数据加密密钥,其中KMS 是一个Web 服务,本身提供了一系列API 来创建、获取和维护密钥。

图2 展示了分布式文件加密过程中encryption zone keys(EZ keys),data encryption keys(DEKs)和encrypted data encryption keys(EDEKs)之间的关系,其中EZ key 加密DEK 得到EDEK,EZ key解密EDEK 得到DEK;DEK 加密File 得到Encrypted File,DEK 解密Encrypted File 得到File,其中:

图2 分布式文件加密

(1)Encryption Zones(EZ)是HDFS 上面的一个需要加密的目录,拷贝到这个目录的文件和子目录都会被加密。

(2)每一个EZ 对应有一个 EZ key,这个key 是由密钥管理员在创建zone 的时候指定的,EZ key 存储在后端的keystore 中,独立于HDFS 存储。

(3)EZ 里面的每一个文件都拥有自己对应的encryption key,称之为Data Encryption Key(DEK)。

(4)DEK 使用对应的EK key 加密,生成Encrypted Data Encryption Key(EDEK)。

EDEK 持久化存储在HDFS 分布式文件系统中,EZ keys 在KMS 和Keystore 中存储管理,由于HDFS 用户没有权限获取EDEK’s encryption keys(EZ keys),即使HDFS 失陷(比如攻击者获取到HDFS 超级用户),攻击者也只能获取到加密文件和EDEKS,无法解密文件。客户端经过权限验证向KMS 服务请求密钥,没有权限的客户端将不会得到解密文件对应的DEK 密钥。

综上所述,分布式文件加密过程如下:

1) 用户首先经过权限认证,确认自己的身份;

2) 用户向HDFS Client 发送写入数据请求;

3) HDFS Client 和HDFS 集群交互,得到EDEK;

4) HDFS Client 和 KMS 交互,得到加密数据所使用的DEK;

5) HDFS Client 使用DEK 加密数据,将密文存到HDFS 集群中。

分布式文件解密过程如下:

1) 用户首先经过权限认证,确认自己的身份;

2) 用户向HDFS Client 发送读取数据请求;

3) HDFS Client 和HDFS 集群交互,得到EDEK;

4) HDFS Client 和 KMS 交互,得到解密数据所使用的DEK;

5) HDFS Client 使用DEK 解密数据,将明文返回给用户。

3.2 分布式数据库加密

分布式文件加密粒度太粗,有时并非要对分布式文件数据加密,而是对要存储在分布式数据库中的数据作加密处理。本文设计分布式数据库加密方案,使用KMS 做密钥管理。

分布式数据库加密过程如下:

1) 用户首先经过权限认证,确认自己的身份;

2) 用户向KMS 发送请求,获取要插入的表对应的密钥参数;

3) 得到密钥参数后,用户调用SQL UDF,传入获得的密钥参数;

4) 数据库引擎接收到请求,调用权限管控服务判断用户的请求是否符合权限规则;

5) 若符合权限规则,UDF 使用自身的固定参数结合传进来的密钥参数形成数据密钥,加密数据,将密文存储到分布式数据库中。

分布式数据库解密过程如下:

1) 用户首先经过权限认证,确认自己的身份;

2) 用户向KMS 发送请求,获取要查询的表对应的密钥参数;

3) 得到密钥参数后,用户调用SQL UDF,传入获得的密钥参数;

4) 数据库引擎接收到请求,调用权限管控服务判断用户的请求是否符合权限规则;

5) 若符合权限规则,UDF 使用自身的固定参数结合传进来的密钥参数形成数据密钥,解密分布式数据库中的密文数据,将明文返回给用户。

3.3 关系数据库加密

为了支持多用户多会话,往往需要一个独立的关系数据库存储元数据,这里以MariaDB 作为元数据库。另外,一些密钥的元数据信息也存储在关系数据库中。

为了保证关系数据库中的数据安全,需使数据在静态和传输过程中都是加密的。MariaDB 对表数据加密,可保证元数据是密文存储的,并配置TLS 确保传输过程安全性。

关系数据库加密过程如下:

1) 数据经TLS 传到MariaDB 数据库;

2) MariaDB 数据库从KMS 中获得对应的密钥,加密数据,存到数据库中。

关系数据库解密过程如下:

1) 程序向MariaDB 数据库发送读取数据请求;

2) MariaDB 数据库从KMS 中获得对应的密钥,解密数据,将解密后的数据以TLS 方式返回给相关程序。

图3 关系数据库加密

4 结束语

针对大数据平台下数据安全问题,本文分别设计分布式文件加密、分布式数据库加密和关系数据库加密方案,在客户端对数据加密,并控制数据加密过程和安全存储加密密钥,大数据平台服务商只能看到密文,从而数据控制权完全在用户手中。

猜你喜欢
关系数据库解密密钥
关系数据库在高炉数据采集系统中的应用
幻中邂逅之金色密钥
炫词解密
解密“一包三改”
密码系统中密钥的状态与保护*
关系数据库技术在计算机网络设计中的应用
炫词解密
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
解密“大调解”