如何仅用3行代码,搞定业务敏感数据加解密?

01

引子:一个数据安全的故事

02

全密态数据库:让数据只落入正确的人手里

小王听到这话,大喜过望。数据库专家继续介绍:“全密态能力指的是数据全生命周期以密态存在。数据一旦流出可信环境,就总是处于密文状态下的。只有当数据落入正确的人手里,例如数据到达咱们的业务系统客户侧,才会被解密。任何账号通过直连数据库的形式,都是无法读取数据明文的。”小王问:“我们现在用的是阿里云的PolarDB MySQL产品。这个产品,支持全密态功能吗?”数据库专家:“全密态能力在阿里云瑶池数据库旗下的云数据库RDS MySQL版、云数据库RDS PostgreSQL版、云原生数据库PolarDB MySQL版、云原生数据库PolarDB PostgreSQL版上都有。你们使用的PolarDB MySQL,全密态能力可以看一看这里全密态PolarMySQL[2]。”小王问:“我们之前这边考虑过,如果加密数据再存入数据库的话,是会对数据库本身功能有影响的。你们这个方案,支持的SQL有什么限制呢?”数据库专家:“完全没有限制!我们支持所有的MySQL语法。我们的秘诀是,数据库内部数据是以明文形式存在的,我们在输出结果时针对计算结果进行加密,MySQL的引擎本身没有受到任何的影响,所以在稳定性上、性能上的影响也微乎其微。”小王问:“那么什么叫做让数据落入正确的人手中呢?产研、运维人员是不是正确的人呢?”数据库专家:“请看图。对于应用终端用户来说,他们是数据的真正所有者,可以看到明文或者是脱敏后的敏感数据。对于应用研发、运维人员以及数据库研发、运维人员来说,他们都只能看到加密后的数据,监守自盗的问题不复存在。”