Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 为什么非对称密钥更安全?_Sql Server_Security_Encryption - Fatal编程技术网

Sql server 为什么非对称密钥更安全?

Sql server 为什么非对称密钥更安全?,sql-server,security,encryption,Sql Server,Security,Encryption,我正在尝试从Microsoft了解此页面 根据文档“它们提供了比对称加密更高级别的安全性”。我发现,您首先使用对称加密数据,然后使用另一种方法(对称或非对称)加密该密钥,以避免重新加密数据以及速度优势 我不明白的是,为什么选择非对称而不是对称作为第二层的安全性更高?这仅仅是因为数据库主密钥可以对非对称进行加密吗?那么,是否可以让一个用户向同一数据库中的另一个用户加密数据?我看不出在数据库中还有什么其他优势。鉴于引用页面上没有上下文,我认为它们的意思是: 在对称密钥体制中,任何拥有共享密钥的人都可

我正在尝试从Microsoft了解此页面

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


我不明白的是,为什么选择非对称而不是对称作为第二层的安全性更高?这仅仅是因为数据库主密钥可以对非对称进行加密吗?那么,是否可以让一个用户向同一数据库中的另一个用户加密数据?我看不出在数据库中还有什么其他优势。

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

在对称密钥体制中,任何拥有共享密钥的人都可以加密或解密任何东西。在非对称密钥使用中,没有单一的共享秘密

例如,“…要求双方都能访问密钥是对称密钥加密的主要缺点之一…”

为回应评论而添加的内容

假设我有一个要用对称共享密钥加密的数据
D
。我计算
S(D)
得到
D'
。如果您有解密
D'
所需的密钥,那么您也有计算
E的密钥⇔ E'
其中
E
E'
是任意的纯文本和密码文本


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

鉴于参考页面上没有上下文,我认为它们的意思是:

在对称密钥体制中,任何拥有共享密钥的人都可以加密或解密任何东西。在非对称密钥使用中,没有单一的共享秘密

例如,“…要求双方都能访问密钥是对称密钥加密的主要缺点之一…”

为回应评论而添加的内容

假设我有一个要用对称共享密钥加密的数据
D
。我计算
S(D)
得到
D'
。如果您有解密
D'
所需的密钥,那么您也有计算
E的密钥⇔ E'
其中
E
E'
是任意的纯文本和密码文本


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

在向他人发送信息方面,我明白了为什么非对称在这方面更好。但在SQL Server内部,谁是第二方?是不是其他人只能对你的帐户解密的信息进行加密?谢谢你的添加。从SQLServer上下文中我可以看到,非对称密钥必须属于特定的SQLServer登录,因此只能从该帐户进行解密。相反,对称密钥可以由多个帐户使用。虽然SQL对称密钥似乎有一个授权参数,但您确实希望用证书或非对称密钥来控制它。我希望我的理解是正确的。我想这真的取决于你的加密信息是否供第三方使用,如果不是,那么公钥就变得不那么有用了。我知道,在向他人发送信息方面,为什么不对称在这方面更好。但在SQL Server内部,谁是第二方?是不是其他人只能对你的帐户解密的信息进行加密?谢谢你的添加。从SQLServer上下文中我可以看到,非对称密钥必须属于特定的SQLServer登录,因此只能从该帐户进行解密。相反,对称密钥可以由多个帐户使用。虽然SQL对称密钥似乎有一个授权参数,但您确实希望用证书或非对称密钥来控制它。我希望我的理解是正确的。我想这真的取决于您的加密信息是否供第三方使用,如果不是,则公钥将变得不那么有用。这个问题似乎与主题无关,因为它与加密有关,而不是与编程有关。不确定为什么更改了主题问题。我的问题是关于SQL Server非对称密钥如何在数据库中的用户中发挥作用的。这个问题似乎与主题无关,因为它涉及的是密码学而不是编程。不确定为什么更改了主题问题。我的问题是关于SQL Server非对称密钥在数据库中的用户之间如何工作的