【问题标题】:Is private key required on web server during SSL communication?在 SSL 通信期间,Web 服务器上是否需要私钥?
【发布时间】:2012-09-30 20:37:08
【问题描述】:

在 SSL 通信期间,Web 服务器上是否需要私钥?我读过:

在 SSL 中,每一方使用随机数单独计算密钥 双方都知道的值。然后双方发送加密的消息 使用密钥

私钥是会话随机生成的密钥,不是 存储。

以上引用涉及 Oracle 应用服务器 SSL 通信,但我认为它应该涉及一般 SSL 通信。您能否解释一下,私钥的作用是什么(到目前为止,我认为在 SSL 期间,Web 服务器上需要私钥)。

【问题讨论】:

  • 第二个引用不正确。它应该说 'session' 密钥,而不是 'private' 密钥。

标签: ssl


【解决方案1】:

是的,在 SSL 握手期间需要私钥,因为它用于证明服务器确实是已部署证书的公钥的所有者。
但是公钥/私钥对不用于加密应用程序消息。它们仅在握手过程中使用,在此过程中通过传输给客户端的加密参数创建一个共享密钥,以便计算它并用于在之后对数据进行对称加密握手成功完成。

【讨论】:

  • 从技术上讲,握手几乎同时在两端创建共享密钥;客户端和服务器都提供了部分随机性。 (这就是像 Diffie-Hellman 这样的密钥协商方案——用于 SSL 的核心——的工作原理。)
  • 没错。没有“传输给客户端的共享密钥”。这是答案中的一个重大错误。
  • @EJP:你是对的。我的描述是错误的。我更新了答案
  • "是的,在 SSL 握手期间需要私钥,因为它用于证明服务器确实是已部署证书的公钥的所有者。"更具体地说,从youtube.com/watch?v=n_d1rCXNrx0 的视频和cloudflare.com/learning/ssl/what-happens-in-a-tls-handshake 的帖子看来,似乎需要服务器的私钥来解密客户端使用它在服务器先前发送给客户端的 SSL 证书。这是正确的吗?
猜你喜欢
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
  • 2021-02-15
  • 2012-06-09
  • 2018-02-10
  • 2020-07-05
相关资源
最近更新 更多