网站首页 > 开源技术 正文
佛系随性笔记,记录最好的自己!
前面写了一篇数据库加密相关的,回头看了一下,问题挺多的,要重写下。
1、什么是数据库加密?
数据库加密是指对存储在数据库中的敏感数据进行编码处理的过程,目的是防止未经授权的访问和数据泄露。加密后的数据即使被未授权的第三方获取,也无法看到明文数据,从而保护数据,数据库加密的主要目标:数据保密性、完整性和可用性。
举个栗子:你有一个日记本,里面记录着你的生活经历、隐私和一些信息。你肯定不想让别人偷看波,你想给日记本上一把锁(原来我也买过这种),只有拿输入正确的密码才能打开看。这样做可以保护里面的隐私不被别人偷看,这就是数据库加密的一个小栗子。
2、数据库加密的功能
数据库加密,这一块功能相对来说比较单一,大致就四个,其余什么公共模块"系统管理、角色人员设置、备份恢复等",这一块说了也意义不大,大家都知道,加密方法策略:这块常用的是“列加密、表空间加密、全盘加密(就不说了字面意思)等等”。
2.1、列加密:
如下图2,在库表里,列加密是专门保护表格中的某些列,比如密码。当这些数据被存入数据库后,它们会被加密处理,就像加了个密码锁,即使有人试图查看,他们看到的也只是乱码,就像密码锁保护下的物品,无法轻易被获取。
列加密原理图的详解
1、识别数据:表中有多列数据,其中某些列为敏感数据(比如密码等)。
2、没加密前:以明文形式存储在数据库表中,都能看到。
3、加密过程:加密工具在数据写入或更新时动态对敏感列数据进行实时加密。
4、加密后:加密算法将敏感数据变成密文,存储在库表中。
5、使用过程:当你要读取加密列数据,解密工具会自动解密数据,然后你收到解密后的数据。
2.2、表空间加密
表空间加密:
举个栗子:把数据库比作成一个花园,里面种着各种各样的植物,而表空间就像是花园里的一个个独立区域,每个区域都有其独特的植物(数据)。为了保护这些珍贵的植物不受外来者(未授权的人)的破坏,你决定在每个区域(表空间)周围建造一堵"透明的"墙,这堵墙就是"表空间加密"。
表空间原理图的详解
1、数据库表空间:存储数据的磁盘空间,逻辑上划分的存储区域
2、加密前的数据文件:表空间中的数据文件,是未加密的数据库对象和数据。
3、加密过程:在数据文件创建或扩展时,加密工具会对整个数据文件进行加密,包括所有数据库对象和数据。
4、加密后的数据文件:数据文件被加密算法变成密文形式,文件继续存储在表空间中。
5、数据库操作:当你执行读写操作时,加解密工具会自动处理,不需要进行额外的解密步骤。
3、数据库加密的工作原理
现在对数据加密一般都是三种方案,不熟悉的还望指导,写下网关加解密,其他的就不说了,差不多,就是位置换了。
网关加密:
举个栗子:你想给远方的朋友写封信或者礼物,为了保证信件礼物(数据)内容的安全,你会选择一个可靠的平台来帮你邮寄(邮政京东顺丰),(邮政京东顺丰)就是"网关加密"
网关加密原理图详解:
1、邮寄人:我要邮寄一封信(发送到服务器的明文数据。)
2、快递方:位于邮寄人和接收人之间,负责处理收发快递(加解密)工作。
3、打包(加密)过程:邮寄人将信件给到快递方,快递方使用包装盒(加密密钥)对信件打包(进行加密)。
4、运送(加密后)过程:快递发往目的地(接收方)。
5、送货(解密)过程:接收方收到快递后,签字验收(对其进行解密)。
4、数据库加密的部署模式
这一块各大厂商所支持部署模式功能,各不相同,功能和性能上也有较大的区别。选择自己最合适的部署模式,才是最重要的。
网关代理:旁路部署在网络中,库和数据库加密网络可达即可,数据库加密代理数据库,影响现有数据库访问方式(可以简单理解为旁路部署、逻辑串联)。
插件部署:数据库加密插件部署,需要在数据库侧安装插件,不改变现有访问方式(影响数据库的性能)。
5、数据库加密的应用场景和价值
6、题外话-怎么挑选数据库加密
选择数据库加密考虑以下几点:
- 重点(库的兼容性):确认现有需要防护的数据库,确认所支持库的版本类型、版本号(很多厂商都是支持某一个或几个版本,就忽悠,后期再定开,哈哈哈),这一块很重要,至于后面会详细调研一些库运行模式、字符集、集群节点、是不是加密数据库、是否修改过源码等等。
- 重点(功能):不同的数据库加密具有不同的功能和特点,常规厂商都有的功能我就不说了,说一些少有的功能:"国密浏览器、量子密钥、加密卡、拥有几级密钥"?对库、表、列、行的加密能做到什么程度?加密算法支持有哪些?根据自己的需求和安全要求,选择具备所需要的功能和特点。
- 重点(性能):对数据库加密进行相应的场景性能测试,看看加解密效果,是否能接受。
老登的安全观
数据安全工作者,佛系随行笔记,记录最好的自己!
注释:如有失误,望批评指正!
后面会写下Windows和liunx的应急响应技巧、容器、还有一些网络安全、数据安全。
猜你喜欢
- 2025-07-06 数据库数据恢复的主要方法(数据库恢复通常可采取如下方法)
- 2025-07-06 Python进阶-day 22:数据库基础(python数据库语句)
- 2025-07-06 DeepSeek本地RAG知识库(17):向量数据库原理讲解(小白也能懂)
- 2025-07-06 向量数据库的原理(向量数据库原理模型)
- 2025-07-06 数据库系统原理:数据独立性(数据库系统的数据独立性体现在( ) 电大)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)