目录
一、文件存储加密
1、文件加密是指在操作系统文件驱动层,将数据库的存储文件经过加密后存储到磁盘上。在数据存储文件被打开的时候进行解密,在数据落地后再进行加密,在具备基础加解密能力的同时,还能够根据操作系统用户或者访问文件的进程 ID 进行基本的访问权限控制。通过堆叠在其它文件系统之上(如 Ext2, Ext3, ReiserFS, JFS 等),为应用程序提供透明、动态、高效和安全的加密功能。典型的是用于加密指定的目录。需要关注的是这种加密方式可能会产生较大的性能损失。
2、加密位置:文件系统层
3、适用场景:适用于透明加密需求,同时对应用进程有绑定需求的场景,只有授权的“白名单”应用进程访问文件时,才能获得明文。
4、优势:
对应用透明:应用程序无需做调整,对应用完全透明;
加密粒度细:可在进程级别进行控制。
5、劣势:
超管权限不受限:无法有效限制系统管理员及 DBA;
加密粒度粗:无法实现字段级别的加密处理;
性能损耗较大
二、磁盘加密方案
1、磁盘加密是指通过动态加解密技术,对磁盘或分区进行动态加解密的技术,可通过软件或硬件的方式进行加密。当数据库访问磁盘扇区的时候,对加密扇区再进行解密。这种方式对于数据库自身来说是透明的,数据库管理系统也感觉不到加密解密过程的存在。磁盘采用的块级别加密技术。
2、加密位置:磁盘层
3、适用场景:全磁盘加密技术适用于磁盘上所有数据(包括操作系统)进行动态加解密的场景。
4、优势:
对应用透明:应用程序无需做调整,对应用完全透明;
性能损耗低:磁盘加密技术通过操作系统内核层实现,能够最大化减少加解密损耗。
5、劣势:
超管权限不受限:无法有效限制系统管理员及 DBA;
加密粒度粗:无法实现字段级别的加密处理。