sql-server - 为什么非对称 key 更安全?

标签 sql-server security encryption

我正在尝试理解 Microsoft http://technet.microsoft.com/en-us/library/ms189586.aspx 的此页面.

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

我不明白的是为什么第二层选择非对称而不是对称更安全?难道只是因为非对称可以通过数据库主 key 加密吗?那么是否可以让一个用户在同一数据库上将数据加密给另一用户呢?我看不出您在数据库中还有什么其他优势。

最佳答案

鉴于引用页面上缺乏上下文,我认为它们的意思是:

In a symmetric key regime anyone who has the shared secret key can encrypt or decrypt anything. In asymmetric key use, there is no single shared secret.

Wikipedia notes ,“……双方都可以访问 key 的要求是对称 key 加密的主要缺点之一……”

添加以回复评论:

假设我有一个数据D,我想用对称共享 key 加密。我计算 S(D) 以获得 D'。如果您拥有解密 D' 所需的 key ,您也拥有计算 E ⇔ E' 所需的 key ,其中 EE ' 是任意的明文和密文。

相反,在非对称加密中,如果我使用我的 secret key 来计算 P(D) 以获得 D'' 您可用的就是我的公钥它允许您计算Q(D'') → D,但您无法使用P(x),因此您无法创建新的密文。你不能使用我的私钥,因为你没有它。你不能泄露我的 secret ,也不能自己使用它,因为你从未拥有过它。这就是共享 key (对称)加密从根本上来说不如公钥(非对称)加密安全的原因。

关于sql-server - 为什么非对称 key 更安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19351499/

相关文章:

asp.net - sql server 数据库设计

sql-server - 如何在 Sql 中创建 "month"列?

SQL Compact - 执行多个插入语句时出错

sql - 从 SQL 表中查找不连续性

ruby-on-rails - 有时禁用 CSRF 保护是合理的吗?

javax.crypto.IllegalBlockSizeException : last block incomplete in decryption

algorithm - Octave 中的 RSA 实现

ssl - Erlang 从 pem 文件生成 rsa key

java - 如何避免代码库中存在 keystore/trustore 纯文本密码?

java - 如何使用自定义 PolicySpi