首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSL如何保护只使用一个密钥对的双向通信?

SSL如何保护只使用一个密钥对的双向通信?
EN

Cryptography用户
提问于 2011-07-12 20:51:28
回答 6查看 21.5K关注 0票数 30

据我所知,SSL涉及公共-私钥对的使用。这是如何实现双向交流的?

假设我有一个服务器,我希望与之安全地通信。我连接到它,它提供给我一个包含它的公钥的证书(假设证书是有效的)。然后,我接受我的请求,并使用这个公钥加密它,并将得到的密文传输到服务器。这种通讯是安全的,不被窃听。但是服务器如何安全地返回我的结果呢?我缺少一个公钥/私钥对,而且没有证书。

EN

回答 6

Cryptography用户

发布于 2011-07-12 20:59:20

这并不完全正确。在SSL中,有两种情况发生:

  • 首先,使用类似于迪夫-赫尔曼方法的方法协商会话密钥。它生成共享会话密钥,但从不在各方之间传输密钥。
  • 其次,该会话密钥在连接持续时间内用于正常的对称加密。

SSL确实以一种方式使用公共/私有,因为X509证书用于标识连接的至少一端。这些证书使用非对称密钥对进行签名。

票数 17
EN

Cryptography用户

发布于 2011-08-14 21:00:42

如果您有一个方向的安全通信,则始终可以在两个方向上进行安全通信。发送方只需生成一个随机字符串,将其发送到另一端,然后他们就可以双向地使用该随机字符串作为密钥进行通信。

公钥对的唯一用途是身份验证,而不是加密。如果我想把我的信用卡信息发送给亚马逊,我想确保我真的在和亚马逊交谈,而不是其他人。由于Amazon不关心我是谁(因为我无论如何都会发送用户和密码),所以我没有理由需要一个公共私钥对或认证。

在任何一方都没有证书的情况下,我们仍然可以建立一个不受窃听的安全连接。但双方都不知道他们在和谁说话。

票数 5
EN

Cryptography用户

发布于 2011-07-13 04:00:39

本质上,客户端生成一个随机对称密钥,并使用服务器的公钥将其发送到服务器。客户端已经知道这个对称密钥,因此服务器不需要发回任何东西,从而消除了每个客户端都需要一个公钥的需要。

然后使用双方现在拥有的相同的随机密钥对请求进行加密,因此双向通信继续进行。

票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/32

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档