MRS的HDFS透明加密

举报
zltlsn 发表于 2020/08/05 16:22:23 2020/08/05
【摘要】 HDFS上数据的安全风险一般情况下要访问HDFS中的文件,需要经过Kerberos认证确认是大数据平台的合法用户,在经过HDFS服务端鉴权,确定用户具有相应文件的权限,才允许操作。 但是从整个IT系统层面看,OS和硬件这两个攻击面可以绕过HDFS的权限控制,非法获取到HDFS中的文件。比如当系统或硬件出现故障需要进行维护修复的时候,节点或者硬盘有可能进入系统管理员的管理范围之外,这时...

HDFS上数据的安全风险

一般情况下要访问HDFS中的文件,需要经过Kerberos认证确认是大数据平台的合法用户,在经过HDFS服务端鉴权,确定用户具有相应文件的权限,才允许操作。

     但是从整个IT系统层面看,OS和硬件这两个攻击面可以绕过HDFS的权限控制,非法获取到HDFS中的文件。比如当系统或硬件出现故障需要进行维护修复的时候,节点或者硬盘有可能进入系统管理员的管理范围之外,这时维护人员就可以通过OS或者硬盘直接读取HDFS保存在系统中的文件,造成信息泄露。

解决方案

     对于上述场景,通过数据加密可以非常好的解决信息泄露的问题。维护人员拿到设备后,只能看到数据的密文,无法获取其中的信息。

什么是透明加密

     HDFS提供的一个针对持久化的静态业务数据进行加密的能力。如果有需要保护的敏感数据,可以创建一个加密区,保存到加密区中的数据都是经过加密的。加密区配置完成后,数据加密的处理过程是由客户端和服务端协商自动协商完成的,HDFS客户端对上层应用暴露的接口没有变化,应用对加密处理不感知,是透明的。

关键角色和概念

加密区(EZEncrypt Zone)

对应HDFS的一个目录,将目录配置为加密区后,所有保存在这个目录下的文件,包括子目录中的文件都是加密的。

加密区秘钥(EZKEncrypt Zone Key)

加密区的主秘钥,不直接用来加密数据,用来加密DEK

数据秘钥(DEKData Encrypt Key)

用来加密文件的秘钥,每个文件有单独的秘钥加密。DEK加密后的密文(EDEKEncrypted Data Encrypt Key)保存在NameNode每个文件的元数据中。这样每次读取文件的时候就能够找到正确的EDEK

秘钥管理服务(KMS)

秘钥管理服务,用来做秘钥的生命周期管理。EZKDEK都由KMS的密码机生成,由于秘钥的随机性要求非常高,秘钥的生成需要由专门的硬件设备完成。EZK就保存在KMS中,由加密机的根秘钥加密保护。

加密流程

需要做加密的用户首先要到KMS申请一个加密区秘钥,这个秘钥的访问需要单独配置权限,跟HDFS的文件权限控制是分开的。

用户申请好秘钥后,将秘钥名称告诉给HDFS的管理员,管理员就可以使用这个秘钥名称跟目录关联起来,给用户创建加密区。创建好加密区后,用户写入加密区的数据就都是经过加密保存的。要访问加密区中的数据,需要同时具有HDFS文件和加密区秘钥的访问权限。

 

更安全的原因

1.          数据是经过加密的,而且EZK跟数据分开保存在不同的系统中,一旦密文在维修中泄露,获取到密文的人员手上没有秘钥,无法解密密文得到其中的信息。

2.          恶意攻击者攻击HDFS成功后,获取到HDFS文件的访问权限,此时只能读取到数据的密文,还需要进一步攻击KMS,获取秘钥的访问权限才能读取到数据的明文,增加了攻击难度。

数据加密的问题

数据加密需要将明文经过专门的加密算法处理后才能得到密文,反之解密的时候也要进行处理。这样在读写数据的环节中增加了一步额外的处理,而且加解密算法都比较复杂,对计算性能要求比较高,会增加读写文件的时间,而且会占用额外的计算资源。

目前加解密处理一般有三种常见的方式:

1.          软加密

                使用CPU的通用指令实现加解密算法,这种方式对CPU的占用会比较多,而且性能比较差。

2.          专用的加解密设备

                一般是独立的加密机或者加密卡,由专用的设备厂商提供。加密机一般是集中式的,通过网络与业务系统对接,在传统业务系统的加密中是成熟的方案,在大数据场景下会成为性能瓶颈。加密卡一般通过PCI接口插到服务器上,可以实现分布式加解密处理。在HDFS透明加密的场景下,如果做好分布式的秘钥管理需要重点考虑。

3.          CPU加速

                通过专用的加解密指令或硬件核心处理加解密算法,这种方式加解密吞吐量和时延都比较好,目前针对AES加密算法有AES-NI CPU指令加速,针对SM4国密算法没有专门的指令。华为鲲鹏920芯片内置了专用的核心,将SM4国密算法固化成硬件电路,可以通过硬件实现SM4国密算法的加速,吞吐量和时延性能都有保证。

MRS服务的HDFS加密方案

基于鲲鹏920芯片加速的国密加密

 

 基于HDFS透明加密的持久化静态数据保护,上层应用无感知。

 同时支持AES/SM4加密算法,SM4加密算法支持鲲鹏920 CPU硬件加速。

 加密区密钥和数据密钥由第三方商用KMS生成并加密保护。

 KMS Proxy基于Hadoop KMS API标准接口与第三方KMS对接。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。