2013-10-13 27 views
2

我试图从Microsoft http://technet.microsoft.com/en-us/library/ms189586.aspx了解此页。为什么非对称密钥更安全?

根据文档“......它们提供比对称加密更高级别的安全性”。我得到你首先使用对称加密数据,然后使用另一种方法(对称或非对称)加密该密钥,以避免重新加密数据以及速度优势。

我没有得到的是为什么选择不对称对称为第二级更安全?仅仅是因为不对称可以通过数据库主密钥加密?是否有可能让一个用户将数据加密到同一数据库上的另一个用户呢?我不明白你在数据库中会有什么其他优势。

+0

这个问题似乎是题外话题,因为它是关于密码学而不是编程。 –

+0

不确定为什么主题问题已更改。我的问题是特定于SQL Server非对称密钥如何在数据库中的用户之间起作用 – ElPresidente

回答

4

鉴于没有上下文的引用的页面我会承担他们的意思上:

在对称密钥体制的人谁拥有共享秘密密钥加密或解密任何东西。在非对称密钥使用中,不存在单个共享密钥。

由于Wikipedia notes中,“......要求双方有机会获得密钥是对称密钥加密的主要缺点之一......”

响应添加评论

假设我有一个数据D,我想用对称共享密钥进行加密。我计算S(D)得到D'。如果您有密钥需要解密D',您还有密钥来计算E ⇔ E'其中EE'是任何简单和密码文本。

反之在非对称加密,如果我用我的秘密密钥来计算P(D)得到D''所有你必须提供给你的是我的公钥,它允许你计算Q(D'') → DP(x)不提供给你,让你不能创建新的密码文本。你不能使用我的私钥,因为你没有它。你不能放弃我的秘密或自己使用它,因为你从未拥有过它。这就是共享密钥(对称)密码从根本上不如公钥(不对称)密码安全的原因。

+0

我从其他人处发送信息的角度来看,为什么不对称在这方面更好。但是在SQL Server里面,谁是第二方?是否只有其他人可以加密只能由您的帐户解密的信息? – ElPresidente

+0

感谢您的补充。从SQL Server上下文中我可以看到,非对称密钥必须属于特定的SQL Server登录名,因此只能从该帐户进行解密。相反,对称密钥可以被多个帐户使用。虽然看起来有一个SQL对称密钥的AUTHORIZATION参数,但您确实想用证书或非对称密钥来控制它。我希望我的理解是正确的 – ElPresidente

+0

我想这实际上取决于您的加密信息是否供第三方使用,如果不是,那么公钥变得不那么有用。 – bendataclear