2012-05-08 27 views
1

我想创建一个使用PostgreSQL作为数据库的Web应用程序。我想要加密数据库,以便即使是对数据库服务器具有根访问权的攻击者也无法解密数据(或者至少他将不得不混淆临时内存数据,即)。我不关心架构,只关心表格的内容。加密PostgreSQL数据库并从Web应用程序用户获取密钥

我也不想在一些地方保存解密密钥的应用服务器(无论是在配置文件,也没有硬编码)。

相反,我的想法是将整个数据库(或只是表和行?)使用由用户在Web应用程序提供和解密在运行时密钥来加密。

这种情况可能与PostgreSQL和我有哪些实现这个选项?

边注:这是一个基于.NET的应用程序(ASP.NET MVC3)和我使用的Npsql驱动程序。

+0

那么,你将拥有一个“密钥”的用户?或者任何用户应该能够提供密钥? – vyegorov

+0

是的,只有一个用户拥有一个密钥是可以的。 –

回答

1

加密使用pgcrypto。但是,超级用户可以控制日志文件并告诉数据库记录每件事情,每个查询。这将包括查询包括您的密码。

你可能想使用SELinux和SEPostgreSQL

相关问题