0

我们有一个应用程序,任何注册用户都可以创建自己的公司并将该公司的访问权限授予任何注册用户。每个公司都由 Postgresql 的模式表示。

有没有办法在不使用静态密钥对存储在应用程序源代码中的加密/解密模式中加密/解密用户数据?添加到公司的每个用户都必须有权访问公司的数据。

感谢您的回答

4

1 回答 1

1

这是一个关于哪些书可以写的问题。所以请记住,这是一个难题,您必须对这些问题采取非常复杂、长期的方法。本质上,您不需要静态密钥,并且您不想存储未加密的密钥。你有几个重要的问题需要考虑:

  1. 密钥管理和轮换。您可能需要使用公钥加密对每个用户的静态密钥进行加密,并确保他们不会让他们的私钥不受保护!

  2. 意外的密钥泄露。所以 Pg 端的数据现在是加密的。别人怎么可能拿到钥匙?简而言之,您不能定期记录查询,您可能希望在日志中将错误级别设置为 FATAL 等。PostgreSQL 并没有让这很容易防止。

  3. 意外的明文泄露。例如,出于性能原因,这可以通过创建解密数据的索引来实现......还需要查看连接窃听和更多内容。

于 2013-11-15T01:57:49.993 回答