深度揭秘Greenplum数据库透明加密

了解更多Greenplum相关内容,欢迎访问Greenplum中文社区网站

2021年8月6日,受ACDU(中国DBA联盟)和墨天轮技术社区邀请,Greenplum原厂研发工程师王淏舟在以“数据库安全与智能运维”为主题的2021数据库大咖讲坛(第5期)上发表演讲《深度揭秘Greenplum开源数据库透明加密》。为了让错过活动的小伙伴也能有机会学习到相关内容,我们已经将相关视频上传Greenplum中文社区B站频道,欢迎大家自行获取。

今天为大家介绍的是基于下一代Greenplum数据库的数据安全组件的一个重要组成部分——数据透明加密。数据加密已经成为保证数据库安全必不可少的一项要求。传统Greenplum使用外部的UDF在实现数据加密,在易用性和性能方面都有所欠缺。为了满足客户对于数据加密的易用性和性能方面的要求,Greenplum实现了基于扩展组件模式(内核原生)的透明数据加密。该功能可实现原生用户数据自动加解密,无需修改查询语句且性能损失小。

Greenplum的数据安全运行模式主要分为三个层次:

  • 用户层

这一层中,包含了主要普通用户的操作,比如连接数据库,运行业务相关等操作。

  • DBA层

在这一层中,包含了DBA用户的操作,主要进行的是管理数据库和业务审计等操作。

  • System Admin(运维层)

这一层中,包含了系统管理员(运维工程师)的操作。主要进行的运维相关的比如管理集群和数据备份恢复等操作。

在数据安全上,Greenplum对用户层与DBA层已经做到可以完全保证数据的安全性。但对于System Admin这一层,传统的Greenplum还存在一些风险。Greenplum作为一个单独数据库软件,缺乏对硬件和系统的控制。此外,数据库运维需要登录到系统来进行,使得运维人员具有了访问数据库二进制文件、数据文件和预写日志文件的权限。作为一个大型的分布式数据库,用户常使用原厂服务、主机厂或第三方来进行运维。运维人员可以轻易的接触数据库文件,而数据文件为明文二进制文件,运维人员可以直接通过Linux自带工具(strings,hexdump)访问。pg_waldump也可以直接读取并显示预写日志中的用户数据。

由于数据库可能会有非部门或外部员工运维(原厂、主机厂、或者合作伙伴),导致用户数据存在直接暴露的风险。而此类操作往往也是运维正常操作,事后审计难度也很大。此外,如果用户的服务器是被托管或者经由云部署等情况,也导致了数据被盗以后泄露的风险。

基于这样的背景,用户便有了对于数据加密的需求,来确保机密数据的安全,进行知识产权的保护或者是满足审计的要求。 Greenplum研发团队正在为Greenplum数据库设计和密集开发数据透明加密功能 ,在不改变用户业务模式和行为的前提下,来保证用户的数据安全,具体发布日期请关注官方信息。

本视频内容主要分为四个部分,Greenplum原厂工程师王淏舟会先为大家介绍Greenplum团队如何站在用户需求端来进行讨论,以及做数据透明加密的相关背景。接着会为大家详细介绍Greenplum当前基于pgcypto的数据加密方案,并针对Greenplum数据透明加密设计和加密流程进行详细的解说。

欢迎大家戳链接观看视频,相关PPT可以前往Greenplum中文社区下载页面 https://cn.greenplum.org/download 自行获取。

视频链接:https://www.bilibili.com/video/BV12A411w7fZ/

关注微信公众号

VMware 中国研发中心

Greenplum官方技术交流群

扫码添加小助手即可入群,添加时请备注 “GP网站”