加密oracle数据库中的数据

时间:2014-06-07 15:11:05

标签: oracle encryption tde

数据加密的方式有哪些?比如说工资栏,即使管理员也不应该看到加密列,如果可能的话,数据只能通过应用程序显示在应用程序中定义访问权限的用户,应用程序中的更改(添加新功能以加密/在应用程序级别解密)将是最后的手段和最小的。

到目前为止,我已经想到了两种方式,以下任何新的想法或优点和缺点将受到高度赞赏:  1.使用Oracle TDE(透明数据加密)。      - Con:管理员可以授予自己查看数据的权利  2.创建一个触发器,在插入之前加密,然后沿管道的某些行进行检索。

1 个答案:

答案 0 :(得分:3)

Oracle Database Vault是阻止DBA访问存储在数据库中的数据的唯一方法。但是,这是一个额外成本的产品,它要求您拥有一组额外的安全管理员,他们的工作就是向DBA授予他们实际需要的任何权限。

除此之外,您将关注加密和解密数据库外部应用程序中数据的解决方案。这将涉及对数据库结构进行更改(即salary列将被声明为raw而不是number)。它涉及应用程序更改以调用加密和解密例程。这需要您解决密钥管理问题,这通常是这些解决方案失败的地方。将加密密钥存储在应用程序可以检索它的某个地方但是某个管理员无法访问的地方通常是非常重要的。然后你需要确保密钥是单独备份和恢复的,因为没有密钥,数据库中的加密数据是无用的。

但大多数时候,我倾向于建议正确的方法是让DBA查看数据并审核他们运行的查询。如果您发现一个特定的DBA正在运行查询以获得乐趣,而不是偶尔在完成工作的过程中查看数据,那么您可以在此时采取措施。知道他们的查询正在被审计通常足以让DBA无法访问她并不真正需要的数据。