gpt4 book ai didi

SSL 和证书

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:24 25 4
gpt4 key购买 nike

1) 据我所知,只有客户端需要提供证书才能建立 SSL 连接。知道为什么 SSL 不允许这样做吗?

2) 我假设 SSL 连接可以配置为:

  • 只要求服务器提供证书
  • 要求服务端和客户端都提供证书

3) 可能是个愚蠢的问题,但是 SSL 如何“知道”哪一边是客户端,哪一边是服务器?

4) 是否可以在没有 SSL 请求任何证书的情况下建立 SSL 连接?

谢谢

最佳答案

  1. 如果服务器未经过身份验证,您就真的无法拥有专用 channel — 中间人很容易窃听并在两个合法方之间中继流量。如果您没有隐私或身份验证,为什么要使用 SSL?实际上存在“匿名”模式,其中使用公钥加密来商定加密 key ,但客户端或服务器均不提供证书;但是,我从未见过它们被使用,可能是因为它们无法解决中间人窃听攻击。

  2. 是的,服务器提供证书。服务器可以向客户端请求证书。客户端可以使用证书进行响应,也可以忽略该请求。如果请求被忽略,服务器可以选择继续使用匿名客户端,或者终止连接。

  3. 客户端和服务器的角色是在 SSL 握手期间建立的。第一条消息称为 ClientHello。发送此消息的一方是客户端。通常,这是发起 TCP 连接的一方,但不一定是(事实上,SSL 中没有任何内容需要 TCP 作为传输)。

  4. 是的,正如我在 #1 中提到的,SSL 具有“匿名”模式,在这种模式下,任何一方都无法安全地验证另一方。这将在未知方之间提供一个私有(private)的、防篡改的 channel 。然而,由于你不知道 channel 的另一端是谁,你不知道它是一个中间人,他同时进行了两次握手并拦截了你和你之间的所有流量您认为正在与之交谈的一方。为了阻止这种情况,您必须在 SSL 之上有一个身份验证协议(protocol),为了安全起见,它不可避免地最终看起来很像经过身份验证的 SSL。

关于SSL 和证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4270392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com