现有数据库系统中应用加密技术的不同之处

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 本文介绍了数据库加密技术的种类及其在不同应用场景下的安全防护能力,包括云盘加密、透明数据加密(TDE)和选择列加密。分析了数据库面临的安全威胁,如管理员攻击、网络监听、绕过数据库访问等,并通过能力矩阵对比了各类加密技术的安全防护范围、加密粒度、业务影响及性能损耗。帮助用户根据安全需求、业务改造成本和性能要求,选择合适的加密方案,保障数据存储与传输安全。

本文结合数据库系统,讲述现有数据库系统中应用加密技术的不同之处,以及如何根据业务需求去选择合适的加密技术。如果你在上云用云实际操作过程中遇到了问题,可找小编翼龙云获取帮助,包括免卡上云和构建优秀用云方案。

什么是数据库加密技术?

盘加密是指在创建ECS实例(选择系统盘、数据盘)或者单独创建数据盘时为云盘勾选加密选项,创建完成后ECS实例操作系统内的数据会在云盘所在宿主机(ECS实例服务器)被自动加密,无需自建和维护密钥管理基础设施,就能保护数据的隐私性和自主性,为业务数据提供安全边界。云盘加密可以解决数据在设备(IaaS层)中落盘安全问题。

Transparent Data Encryption(简称TDE)。在将数据库内存数据写入文件系统前,在引擎内部对数据先进行加密,然后将加密后的密文结果写入到文件系统。TDE可以解决数据在文件系统(PaaS层)中落盘安全问题。

 

选择列加密(全密态基础版)对查询结果在离开数据库前进行加密,并将密文结果返回给数据库客户端,由具备密钥的客户端后续自行解密,使得数据在除了客户端以及数据库内的外部流动中全程以密文形式存在。选择列加密可以解决在线数据链路的运行时安全。


数据库加密的必要性

数据库作为数据存储的核心,集中了大量敏感信息——用户密码、银行卡号、身份证信息、商业机密等。这些数据一旦泄露(如拖库攻击、内部人员滥用、物理介质丢失),将造成灾难性后果。


潜在数据库攻击行为

数据库是一个系统应用工程,在每一个系统环节都存在潜在的安全威胁。现有数据库面临的安全问题以及可能的攻击路径如下图所示。

11.jpg

 

下表将对图例中的不同攻击进行介绍:

图例攻击

攻击说明

攻击方式

Attack Admins

攻击系统管理员,例如OS管理员。系统管理员具备高权限,一旦攻击者获取管理员账号,可以管理和访问所有的存储、系统、以及外设。在数据库场景下,可以对系统管理员进一步细分如下:

数据库管理员,例如DBA,可访问数据库内数据以及配置修改等

PaaS层管理员,例如OS管理员,可访问OS以及文件系统上数据

IaaS层管理员,例如平台管理员,可访问磁盘等外设数据

OS系统漏洞

管理员账密泄露

系统配置不当

Attack Users

攻击终端用户,例如数据库用户。终端用户可以连接数据库系统、并访问部分数据,攻击者获取用户账号后可以访问该用户下数据(例如逻辑拖库),甚至通过提权方式(例如SQL注入)获得管理员权限

用户账密泄露

逻辑拖库

Attack Apps

攻击应用服务,例如黑入网站服务器。相比于防护更严密的后端数据库,应用服务是公开可访问的,暴露面更大,更加容易被攻破。

应用服务漏洞

OS系统漏洞

Attack Network

攻击网络连接,例如监听拦截网络数据。网络攻击通常以旁路方式进行,不易于被检测。

网络监听/拦截

Bypass Database

绕过数据库系统获取数据,以旁路方式窃取数据库数据,例如PaaS人员可Copy数据库落盘的数据文件、备份文件等(即物理拖库)。

物理拖库

Bypass OS

绕过OS文件系统获取数据,以旁路方式窃取磁盘上数据,例如IaaS人员可直接Copy云盘/磁盘数据。

挂载攻击

Exploit Database

利用数据库的系统缺陷,例如代码bug,直接或间接访问数据库。

数据库系统漏洞

Target Data Copies

很多系统中是直接将生产数据同步到开发测试库进行使用的,而缺少对开发测试库上的数据安全防护,攻击开发测试库会比攻击生产库更容易。

以上均可能

 

针对这些不同系统应用路径下的潜在数据库安全威胁,通常需要一个整体的安全解决方案来应对,这可能囊括了SSL与证书服务、认证与访问控制、白名单与安全组、数据加密与脱敏、安全审计等在内的不同安全技术和管理手段。后续小节将对数据加密进行介绍。

数据库加密技术能力矩阵

现有加密技术在数据库中的应用主要有云盘加密、透明数据加密以及选择列加密。下表从不同维度给出了不同数据库加密技术的特性、以及能解决的安全问题。用户可以结合目标要解决的问题、以及实际场景下业务对加密粒度、改造成本、以及性能的考量,选择合适的加密技术。

数据库加密技术

云盘加密(DiskEncryption)

透明数据加密

(TDE)

选择列加密

(全密态基础版)

能解决的问题

Bypass OS、Attack Admins(IaaS)

Bypass Database、Bypass OS、Attack Admins(PaaS&IaaS)

Attack Users、Attack Apps、Attack Admins(DBA 1️⃣)、Attack Network、Target Data Copies

数据库运维人员(如DBA)可见数据

可见

可见

不可见

PaaS运维人员(如OS)可见数据

可见

不可见

可见 1️⃣

IaaS运维人员(如物理PE)可见数据

不可见

不可见

可见 1️⃣

加密粒度

实例

表/库

业务改造

需要将JDBC替换为EncJDBC,无需代码改造。

性能

损耗极小,几乎无损失。

· 

影响因素:与目标敏感库表大小、数据库配置以及应用负载相关。

· 

例如表大小小于缓存时,性能损耗极小,表大小远大于缓存时,性能损耗大。

· 

· 

结论:大多数情况下损耗在5%以内,极端负载情况下损耗可达20%。

· 

· 

影响因素:与查询结果中敏感数据规模相关,与库表大小无关。

· 

例如,查询返回1条数据几乎无损耗,返回100w条数据损耗大。

· 

· 

结论:大多数情况下损耗在7%以内,极端负载情况下损耗可达21%。

· 

全密态基础版无法防止PaaS以及IaaS层运维人员访问数据明文。用户可以选用全密态基础版的安全升级版本,全密态硬件加固版,结合可信硬件技术,能够抵御来自PaaS以及IaaS层的攻击。

数据视角

下图从数据视角,展示了不同加密方式下,数据在数据库系统中的明文和密文状态。


说明:列加密+TDE叠加组合加密方式可以确保数据全链路以密文方式存在。
22.jpg

不同数据库加密技术差异汇总

存储安全技术

云盘加密

TDE

选择列加密

作用位置

OS

数据库内核

数据库内核

作用范围

宿主机/ECS实例

数据库实例

数据库实例

加密粒度

实例

库/表

应用感知

对应用透明

对应用透明

应用需切换JDBC

 

总结简要介绍了现有的数据库加密技术,从用户视角给出数据库当前面临的安全威胁以及适用的数据库加密技术,并从原理层面解释造成不同数据库加密技术能力差异的原因。友友们可以结合具体的应用场景,根据目标安全诉求、业务改造成本、性能等不同维度因素,选择适用的数据库加密技术

 

 

相关文章
|
18天前
|
存储 数据安全/隐私保护
如何将加密和解密函数应用到Pinia状态中?
如何将加密和解密函数应用到Pinia状态中?
212 124
|
3月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
4月前
|
安全 druid Nacos
0 代码改造实现应用运行时数据库密码无损轮转
本文探讨了敏感数据的安全风险及降低账密泄漏风险的策略。国家颁布的《网络安全二级等保2.0标准》强调了企业数据安全的重要性。文章介绍了Nacos作为配置中心在提升数据库访问安全性方面的应用,并结合阿里云KMS、Druid连接池和Spring Cloud Alibaba社区推出的数据源动态轮转方案。该方案实现了加密配置统一托管、帐密全托管、双层权限管控等功能,将帐密切换时间从数小时优化到一秒,显著提升了安全性和效率。未来,MSE Nacos和KMS将扩展至更多组件如NoSQL、MQ等,提供一站式安全服务,助力AI时代的应用安全。
286 14
|
29天前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
103 8
|
2月前
|
存储 关系型数据库 MySQL
MYSQL数据加密压缩函数应用实战指南。
总的来说,加密和压缩是维护MySQL数据库中数据安全性和效率的有效手段。使用时需权衡性能与安全,合理应用加密和压缩函数。在设计数据库架构时要考虑到加密字段的查询性能,因为加密可能使得一些索引失效。压缩数据能有效减少存储空间的占用,但在服务器负载较高时应避免实时压缩和解压,以免影响总体性能。
76 10
|
6月前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
2月前
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
718 10
|
3月前
|
安全 Java Nacos
0代码改动实现Spring应用数据库帐密自动轮转
Nacos作为国内被广泛使用的配置中心,已经成为应用侧的基础设施产品,近年来安全问题被更多关注,这是中国国内软件行业逐渐迈向成熟的标志,也是必经之路,Nacos提供配置加密存储-运行时轮转的核心安全能力,将在应用安全领域承担更多职责。
|
2月前
|
存储 人工智能 数据库
视图是什么?为什么要用视图呢?数据库视图:定义、特点与应用
本文三桥君深入探讨数据库视图的概念与应用,从定义特点到实际价值全面解析。视图作为虚拟表具备动态更新、简化查询、数据安全等优势,能实现多角度数据展示并保持数据库重构的灵活性。产品专家三桥君还分析了视图与基表关系、创建维护要点及性能影响,强调视图是提升数据库管理效率的重要工具。三桥君通过系统讲解,帮助读者掌握这一常被忽视却功能强大的数据库特性。
420 0