【问题标题】:Encrypt PostgreSQL database and obtain key from web application user加密 PostgreSQL 数据库并从 Web 应用程序用户获取密钥
【发布时间】:2012-05-08 18:05:34
【问题描述】:

我想创建一个使用 PostgreSQL 作为数据库的 Web 应用程序。我希望对数据库进行加密,这样即使是对数据库服务器具有 root 访问权限的攻击者也无法解密数据(或者至少他将不得不处理 hard)。我不关心架构,只关心表的内容。

我也不想将解密密钥存储在应用程序服务器的某个位置(既不在配置文件中,也不在硬编码中)。

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

这种情况在 PostgreSQL 中是否可行?我有哪些选项可以实现?

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

【问题讨论】:

  • 那么,您将拥有拥有密钥的«那个»用户?或者任何用户都应该能够提供密钥?
  • 是的,让一个用户只有一个键是可以的。

标签: postgresql encryption


【解决方案1】:

使用pgcrypto 进行加密。但是,超级用户可以控制日志文件并告诉数据库记录所有内容,每次查询。这将包括查询,包括您的密码。

您可能想要使用 SELinux 和 SEPostgreSQL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    相关资源
    最近更新 更多