我有一个加密的数据库和解密密钥。如何保持解密密钥远离黑客攻击(数据库黑客入侵和未经授权访问PC)?解密加密数据库时保留解密密钥的最佳方法是什么?
- 汇编中的硬编码。
- 保持注册表。
- 保留在RAM中。
此外,我需要加密数据的算法。在解密时间期限内,安全性最高的算法是什么?
- RSA
- AES
- Twofish的
感谢,
我有一个加密的数据库和解密密钥。如何保持解密密钥远离黑客攻击(数据库黑客入侵和未经授权访问PC)?解密加密数据库时保留解密密钥的最佳方法是什么?
此外,我需要加密数据的算法。在解密时间期限内,安全性最高的算法是什么?
感谢,
你是问错了问题:首先,你需要决定你需要的安全性如何事情要成为。然后,您需要决定是否需要对称(认为DES,共享密钥))或不对称(认为RSA,公钥和私钥),并且还要认真考虑密钥管理,因为这通常是弱点。
非对称算法比对称算法慢几个数量级;它们通常用于保护对称密钥,而不是整个数据。
我解释你的描述,认为需要在数据库机器上保存解密密钥SOMEWHERE来执行你的工作。
鉴于足够的专有技术和对硬件的访问,您无法保护您的数据库,因此无法突破您的加密。
对于无法进行物理访问的所有其他情况,应参考所有主要数据库中存在的加密指南,这些指南使用大多数平台特有的特定技术。
如果您使用加密数据进行存储,则无法“将解密密钥远离黑客行为”。期。密钥管理通常是任何安全策略中最难的部分。对于加密算法,RSA与AES和两种算法是非常不同的算法类型(请参见http://en.wikipedia.org/wiki/Symmetric-key_algorithm#Symmetric_vs._asymmetric_algorithms)。
要回答这两个问题需要更多信息。确切地说,你为什么要加密数据库?你想要管理什么威胁?
它永远不会完全安全,尤其是考虑到物理访问机器,但是可以让它变得困难。
使用3DES加密您要保护的数据库字段。请注意,您不需要加密每个字段,也不需要。 (都是为了提高速度,因为如果你丢失了密钥,至少要知道你需要做什么)
不要将密钥存储在数据库服务器上。如果必须,请将其存储在与数据库或Web应用程序不同的驱动器上。
在拇指驱动器或其他东西上保存密钥的备份。不要跳过此步骤。
将密钥文件拆分为分散在不同文件夹和不同驱动器上的几个不同文件。不要使用表明文件用途的名称。将位置存储在注册表中。
使用代码来读取注册表,获取密钥片段并将它们组合在一起。自己写这段代码,不要使用表示程序用途的名称。
大把戏!你比这更专业的想法吗? – 2009-06-09 14:08:01