数字化时代,数据安全与隐私泄露事件频发,同时,安全事件涉及面较广、影响力巨大,数据安全威胁问题愈发凸显。

随着数据安全在国家安全体系中的重要地位进一步明确,数据安全相关法律体系也不断在完善,如《数据安全法》《个人信息保护法》《网络安全法》和《网络数据安全管理条例(征求意见稿)》。

防范数据安全风险事件的发生、保障业务运营以及企业自身的发展需要都成为了企业在数据安全建设中的关注焦点。在信通院发布的《2021 数据安全行业调研报告》中,有 97% 的受访企业表示监管驱动是企业开展数据安全能力建设的主要动力。

图片来源:信通院《2021 数据安全行业调研报告》

加密改造面临的挑战

审计合规

  • 满足合规要求

  • 过程可回溯

  • 密钥可定期更换

改造成本

  • 改造系统

  • 上下游系统、服务集群保持一致策略

业务安全性

  • 保证改造过程的平滑

  • 出现问题可快速回滚

  • 减少对系统的影响

性能

  • 加密运算带来的性能损耗

  • ROI 可控,满足预算要求

常见的 6 种数据存储加密方案

在整理文章的过程中查找了相关的材料,基本上会将常见的方案定义为 6 种:

  • 应用加密方案

  • 数据库加密网关方案

  • 后置代理加密方案

  • 数据库 TDE 加密方案

  • 文件加密方案

  • 磁盘加密方案

1. 应用加密方案

在应用内实现数据库加密是一种较早的加密方案,使用灵活但实现难度相对较大。该方案是在业务代码层面通过加密 API 实现加密需求,可根据业务特点进行灵活地设计,敏感数据在应用层经过加密后,以密文的形式入库,检索数据也需要在应用内进行解密。

加密位置:应用程序内部

适用场景:适用于防超管权限、业务需要处理加密表或字段相对较少的场景。

优势

  • 防超管权限:系统管理员及 DBA 无法获取明文数据;

  • 无外部组件依赖:通过业务自身即可实现数据加密的需求,无需依赖第三方厂商支持;

  • 灵活地加密设计:可深度结合业务的特点进行定制化业务开发。

劣势

  • 业务改造难度较大:已有系统无法透明移植,续升级维护实施成本高、影响面大;

  • 对开发人员要求较高:要求开发人员在理解业务的迁移,还需要精通加密技术方案,如密钥的合理使用,未来更新密钥的方案等问题;

  • 数据库原生能力受限:同应用内加密方案相同,加密网关方案仍需面对不能对应用完全透明的问题,复杂的数据计算无法通过数据库原生能力来完成,如 <、>、like 和 between 等原生能力。

2. 数据库加密网关方案

在部分材料中,数据库网关加密也被称为数据库前置加密。顾名思义,该方案是在数据库之前完成了数据加密。

与应用内加密方案较大的区别是,加密网关方案以独立组件的形式提供加密服务,它可以是 JDBC 驱动形态,也可以是代理形态,研发人员不需要关注业务与加密之间的逻辑问题,更多精力可聚焦于业务的研发。

数据库加密网关在对业务入侵较小的前提下,还具备灵活选择加密算法的特点,是一种较为通用的加密方案。若选择了 JDBC 驱动形态,则可对任意数据库进行数据加密。

加密位置:业务代码与数据库之间,JDBC 驱动层或代理层

适用场景:适用于防超管权限,同时业务侧及数据库侧不需关注加密实现的场景。

优势

  • 防超管权限:系统管理员及 DBA 无法获取明文数据;

  • 加密粒度细:可在字段级别完成加密处理;

  • 入侵少:业务系统几乎不改动或者少改动代码,即可通过加密网关实现数据加密的需求;

  • 通用性强:驱动+代理两种接入端,可覆盖大部分加密场景需求,避免重复“造轮子”。

劣势

  • 数据库原生能力受限:同应用内加密方案相同,加密网关方案仍需面对不能对应用完全透明的问题,复杂的数据计算无法通过数据库原生能力来完成,如 <、>、like 和 between 等原生能力。

3. 后置代理加密方案

后置代理加密方案也被称为外挂加密,是一种透明的加密方案。第三方工具借助数据库原生能力实现加密需求,包括视图、触发器、扩展索引和外部调用。通过视图实现加密数据透明查询处理、通过触发器实现数据的加密插入和更新处理、通过数据库的扩展索引接口实现加密索引、通过外部接口调用实现独立于数据库的权限控制和加密算法,对应用完全透明。

加密位置:数据库外层

适用场景:适用于防超管权限、对权限进行细分、对应用透明且检索加密字段不多的场景,同时仍需考虑数据库的支持情况。

优势:

  • 独立权限体系:具备更细粒度的权限管理,独立权限管理体系可防止超管用户越权检索敏感数据;

  • 对应用透明:应用程序无需做调整,对应用完全透明;

  • 加密粒度细:可在字段级别完成加密处理。

劣势:

  • 可选产品较少:需产品开放高级接口,数据库产品可选范围较小;

  • 替换数据库难:由于该方案高度依赖数据库的原生能力,因此未来更换数据库较难;

  • 性能损耗较高。

4. 数据库 TDE 加密方案

TDE(Transparent Data Encryption)即透明数据加密,是一种在数据库内部实现的加密方式,顾名思义,对业务和用户透明。数据文件中存储密文数据,加解密均在内存中完成,且不会增加数据文件的大小。

加密位置:数据库内核层

适用场景:使用于业务程序不能做修改的场景,在数据库产品能够支持 TDE 技术的前提下,该方案可覆盖多数加密需求的场景。

优势:

  • 对应用透明:应用程序无需做调整,对应用完全透明;

  • 自动管理密钥:用户无需关注密钥管理问题。

劣势:

  • 超管权限不受限:无法有效限制系统管理员及 DBA;

  • 加密算法受限:无法满足有国密算法要求的场景;

  • 可选产品较少:支持透明加密的数据库产品有限。

5. 文件加密方案

在操作系统文件驱动层,将数据库的存储文件经过加密后存储到磁盘上。在数据存储文件被打开的时候进行解密,在数据落地后再进行加密,在具备基础加解密能力的同时,还能够根据操作系统用户或者访问文件的进程 ID 进行基本的访问权限控制。

加密位置:文件系统层

适用场景:适用于透明加密需求,同时对应用进程有绑定需求的场景,只有授权的“白名单”应用进程访问文件时,才能获得明文。

优势:

  • 对应用透明:应用程序无需做调整,对应用完全透明;

  • 加密粒度细:可在进程级别进行控制。

劣势:

  • 超管权限不受限:无法有效限制系统管理员及 DBA;

  • 加密粒度粗:无法实现字段级别的加密处理;

  • 性能损耗较大。

6. 磁盘加密方案

指通过动态加解密技术,对磁盘或分区进行动态加解密的技术,可通过软件或硬件的方式进行加密。当数据库访问磁盘扇区的时候,对加密扇区再进行解密。这种方式对于数据库自身来说是透明的,数据库管理系统也感觉不到加密解密过程的存在。

加密位置:磁盘层

适用场景:全磁盘加密技术适用于磁盘上所有数据(包括操作系统)进行动态加解密的场景。

优势:

  • 对应用透明:应用程序无需做调整,对应用完全透明;

  • 性能损耗低:磁盘加密技术通过操作系统内核层实现,能够最大化减少加解密损耗。

劣势:

  • 超管权限不受限:无法有效限制系统管理员及 DBA;

  • 加密粒度粗:无法实现字段级别的加密处理。

总结

为便于大家对比,下表对以上六种方案做了能力的比对。这里要特别说明的是,以下内容均为网络搜集整理,部分内容可能会存在偏差,欢迎纠错。

参考

[1] 韩锋. 数据存储加密之方案与难点

[2] 炼石网络CG. 一文读懂十种数据存储加密技术

[3] 安华金和. 数据库加密技术的演进与对比

[4] 中安威士. 关于数据库加密,你不能不知道的秘密(一)

最后的防线:数据存储加密方案相关推荐

  1. 一文读懂十大数据存储加密技术

    数据作为新的生产要素,其蕴含的价值日益凸显,而安全问题却愈发突出.密码技术,是实现数据安全最经济.最有效.最可靠的手段,对数据进行加密,并结合有效的密钥保护手段,可在开放环境中实现对数据的强访问控制, ...

  2. 如何设计云存储服务端数据存储加密机制

    云存储是一种新型的网络存储形式.随着云存储的广泛使用,云存储中的数据安全问题,如数据泄漏.数据篡改,如何设计云存储服务端数据存储加密机制也成了用户广泛关注的问题.云存储可以分为访问层.应用接口层.基础 ...

  3. 数据存储加密和传输加密_将时间存储网络应用于加密预测

    数据存储加密和传输加密 I'm not going to string you along until the end, dear reader, and say "Didn't achie ...

  4. 基于表格存储的高性能监控数据存储计算方案

    概述 随着软件架构的愈发复杂,了解系统现状.调查问题的困难度也增加了很多.此时,一套完善的监控方案能够让开发和运维工程师快速排查问题,更好的维护系统的稳定性. 开源监控方案中,Zabbix.Nagio ...

  5. 大数据存储技术方案介绍

    2019独角兽企业重金招聘Python工程师标准>>> 大数据存储方案 Cap思想 分布式领域CAP理论, Consistency(一致性), 数据一致更新,所有数据变动都是同步的 ...

  6. 第6章 数据存储全方案,详解持久化技术

    所有的App都可以说是与数据打交道的,离开数据它们什么都不是.那么平时我们怎么存储一些关键的数据呢? 1 持久化技术简介 数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关 ...

  7. Android数据存储全方案——持久化技术

    数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失.保存在内存中的数据是处于瞬时状态的,而保存在存储设备 中的数据是处于持久状态的,持久化技 ...

  8. 【大数据 minio】10分钟了解大数据存储的方案minio

    1.MinIO是什么? minio 是一款开源的对象存储服务.可以兼容亚马逊的S3存储服务接口,非常适合存储大容量的非结构化数据. 这些非结构化数据包含 图片,视频,日志文件,备份数据和容器.虚拟机镜 ...

  9. 基于云上分布式NoSQL的海量气象数据存储和查询方案

    前言 气象数据是一类典型的大数据,具有数据量大.时效性高.数据种类丰富等特点.气象数据中大量的数据是时空数据,记录了时间和空间范围内各个点的各个物理量的观测量或者模拟量,每天产生的数据量常在几十TB到 ...

最新文章

  1. Matlab数据的可视化 -- 图形格式的设置
  2. jeesite如何已生成数据的数据源_使用Jeesite进行二次开发
  3. 二十一、oracle pl/sql分类一 存储过程
  4. 编写更好的 Java 单元测试的 7 个技巧
  5. python是用c写的吗-python和c语言的区别是什么
  6. 谈谈java的bio、nio、aio模型
  7. 基于HBASE的并行计算架构之rowkey设计篇
  8. python 正则表达式语法大全_Python 之父撰文回忆:为什么要创造 pgen 解析器?
  9. Windows Embedded CE 6.0开发初体验(六)平台定制
  10. itools 不支持缩略图下载_PS插件缩略图3.8.0.96安装教程
  11. 在SQL Server中为什么不建议使用Not In子查询
  12. 【MyBatis框架】查询缓存-二级缓存原理
  13. 用java写一个单例类_Java 写一个单例模式(Singleton)出来
  14. python闭包的延迟绑定_Python延迟绑定问题原理及解决方案
  15. 象棋游戏java代码_象棋游戏 - java代码库 - 云代码
  16. 销售系统服务器,勤哲Excel服务器-销售管理系统(9页)-原创力文档
  17. 盘点 4 个开源小游戏
  18. uniapp实现身份证实名认证
  19. 校园招聘的简历写作与面试技巧
  20. 无需SVIP,两步实现百度网盘不限速

热门文章

  1. 2020-web前端-自己的比较JavaScript-基础
  2. Linux环境配置jdk
  3. 浪曦-ASP.NET-简易留言板------------------------3(结局篇)
  4. oracle 10046详解,ORACLE TRACE 10046事件常见的几种方法
  5. C#调用Win32 api学习总结
  6. canal-adapter踩坑
  7. SpringBoot项目生成二维码,再生成Excel文件导出,亲测采坑
  8. qt的重要文件简介pro、moc、pri、prf
  9. MegaCli使用手册
  10. 【3D视觉创新应用竞赛作品系列​】多楼层室内环境下的三维几何重建