使用db postgres加密openerp中的字段

时间:2012-12-18 11:06:31

标签: encryption postgresql-9.1 openerp

我们将在db model res_partners中存储一些有关客户的敏感信息。

但是,我们不希望将此信息存储在简单的文本字段中。我们更喜欢 如果可能,对这些字段进行一些基本加密。我们不希望有人 有权访问数据库以访问这些字段。

我们有没有办法在openerp或postgres中完成这项工作?

谢谢你, Vishal Khialani

1 个答案:

答案 0 :(得分:2)

没有“基本”加密这样的东西。 Rot13不会让你到任何地方。如果您的数据足够敏感以获得保护,那么您需要使用最先进的密码,例如Blowfish。我建议你仔细看看Bruce Schneier的书Applied Cryptography

实现此目的的简单(和不安全)方法是在写入之前加载模型的writeread方法以及在读取之后加密。

棘手的部分是存储加密密钥。您可以将其存储在运行OpenERP服务器的计算机上的文件中(假设数据库在另一台服务器上运行)。这仍然非常弱,因为密钥将在服务器上清晰可用,但如果您不信任您的数据库服务器管理员,但仍然可以信任您的openerp服务器管理员,那么它仍然有用。将数据库服务器放在安全且受信任的位置,并且如果需要加密数据库的脱机副本(例如备份),仍然更容易。

如果您想要更高的安全性,则必须使用用户提供的密钥将加密的数据发送到客户端应用程序,然后在那里进行解密。我不太了解这一部分的开篇,不知道它是否容易实现。