【发布时间】:2011-03-12 14:47:32
【问题描述】:
我接收数据,并在将其保存到数据库之前使用 aes 或 blowfish 对其进行加密,因此加密是在应用程序级别完成的。如果有人窃取了数据库,除非他们也窃取了应用程序(存储/访问密钥的位置),否则数据将相对安全。
我现在正在研究使用 ezNcrypt for MySQL、Encryption-GENERAL 或 SQLCipher 等库的数据库加密。
但我不太了解数据库加密的工作原理。如果应用程序只将未更改的原始数据传递给数据库,并且数据库以某种方式自行解密数据,那么如果由于 100% 的加密组件被盗,数据库被盗,这是否会降低数据库级加密的安全性?
在我目前的情况下,如果数据库被盗,攻击者将不得不使用第二个组件(应用程序级别的密钥)来解密数据库。但是对于数据库加密,数据库本身对加密负有全部责任,所以通过窃取数据库,攻击者不就拥有解密数据库所需的一切吗?
也许我不清楚数据库级解密的工作原理。
【问题讨论】:
标签: mysql database security encryption