DBMS_RANDOM被认为是危险的吗?

时间:2013-06-06 19:36:08

标签: oracle security

我们的数据库团队希望从PUBLIC撤消对DBMS_RANDOM的执行以解决安全问题。如果你谷歌为它,一些安全专家认为该包危险,但没有说明原因。 Ingram和Shaul的书“Practical Oracle Security”声明

  

...在以下环境中授予对DBMS_RANDOM的PUBLIC访问权限   函数用于加密密钥生成可能导致   妥协加密数据...

Oracle文档说

  

DBMS_RANDOM不适用于加密。

......和......

  

DBMS_CRYPTO.RANDOMBYTES ...返回包含a的RAW值   加密安全的伪随机字节序列,可以是   用于生成加密密钥的随机材料。

因此,DMBS_RANDOM似乎可以生成伪随机数(只要你不用它来制作密码)。为什么这对PUBLIC来说太危险了?

修改: 刚刚找到一个新的source,声称

  

DBMS_RANDOM:允许加密数据,而无需安全管理加密密钥。

这也是胡说八道,不是吗?

1 个答案:

答案 0 :(得分:4)

在将PMSIC用于加密密钥生成时,不应将DBMS_RANDOM授予PUBLIC的原因是攻击者可以使用它来确定密钥生成中的种子值和/或模式,这可用于确定密钥数据是用加密的。这就是它可能导致加密数据受损的原因。它当然不是一个简单的攻击,但对于有足够处理能力的人来说是可能的。

DBMS_RANDOM不应该用于加密,因为它太可预测了。对于加密密钥生成,只应使用安全随机函数。这些函数试图通过测量诸如白噪声之类的东西并从中产生值来尽可能随机。