数据库是否加密或哈希表/集合?

时间:2020-07-25 11:11:40

标签: mysql database mongodb security encryption

我正在一个简单的数据库系统上作为简历项目,我想知道主流数据库(如MySQL或MongoDB)是否对存储表/集合数据的文件进行加密?如果是这样,他们是加密整个文件还是在插入文件时加密数据(我想可能是第二个文件,但也许我错了)?他们使用加密算法还是哈希算法?

1 个答案:

答案 0 :(得分:2)

大多数现代数据库都支持静态加密。从DBMS的角度来看,这是完整的数据库加密,从应用程序的角度来看,它是透明的,有时也称为TDE(透明数据库加密)。这意味着客户端将在初始连接时提供密钥或密钥ID,然后从该数据库开始访问数据库,就像未加密一样。 (这被简化了,请参阅DBMS文档以了解实际发生的情况以及如何对客户端进行身份验证和授权。)

在DBMS存储器(例如文件系统)上,整个数据库文件(一个或多个文件)使用适当的可配置算法(通常为AES256)进行加密。您提到了哈希,但是哈希是一种方法,不能提供机密性。如果您想实现与密码学有关的任何内容,则需要了解它们之间的区别。

如果需要的话,对数据进行粒度加密(例如,分别对每个字段进行加密)将是应用程序的一项任务,而DBMS通常不会这样做。在应用程序级别的这种加密减轻了与TDE不同的威胁。

此外,关键点(双关语意味)是存储加密密钥的位置,以及一般如何管理(旋转,授权使用,撤消,记录对它们的访问)。回答超出了SO帖子的范围。

相关问题