加密数据库中数据的安全应用程序的体系结构

时间:2010-04-16 13:18:56

标签: java database architecture encryption cryptography

我需要设计一个应用程序来保护数据库中的某些数据免受根攻击。这意味着,即使攻击者控制存储数据的机器或使用应用程序服务器加工,他也无法从数据库中读取一些关键业务数据。这是客户的要求。 我将使用一些不对称算法加密数据,我需要一些好的想法,在哪里存储私钥,以便数据安全以及应用程序的可用性非常舒适?为简单起见,我们可以假设只使用了一个密钥对。

4 个答案:

答案 0 :(得分:8)

  

这是客户的要求。

客户的要求必须投射到现实世界。

如果您的应用程序可以读取某些业务数据,并且如果攻击者控制您的应用程序,那么agressor可以读取该业务数据。

不对称密码术不会产生魔力。

答案 1 :(得分:3)

存储私钥的地方是客户端,只在客户端解密。数据不需要以未加密的形式解密,读取或通过服务器传递。

答案 2 :(得分:1)

请查看此question,特别是原始问题中提到的资源。

我可以认为这本书是对构建这种系统的问题的一个很好的概述。

答案 3 :(得分:1)

我不确定数据库选项,但值得一看Oracle Advanced Security(OAS)。但是,密钥不是存储在数据库中,而是存储在Oracle钱包(OS托管)中,据我所知,妥协这很难。

OAS支持表空间级别和列级别的加密。所有这些,它声称没有任何开销表现。