SSL和证书

4

1)据我所知,建立仅客户端提供证书的SSL连接是不可能的。您有什么想法为什么SSL不允许这样做?

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

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

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

4)是否可能建立一个没有SSL请求任何证书的SSL连接?

谢谢


1
你究竟想要做什么? - Chris Kooken
2个回答

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

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

  3. 在SSL握手期间,客户端和服务器的角色已确定。第一条消息称为ClientHello。发送此消息的一方是客户端。通常情况下,这将是发起TCP连接的一方,但这并非必须(事实上,SSL没有要求使用TCP作为传输协议)。

  4. 是的,正如我在#1中提到的,SSL有“匿名”模式,其中任何一方都无法安全地验证另一方。这将为两个未知方之间提供一个私有的、防篡改的通道。但是,由于你不知道另一端是谁,你不知道它是否是中间人,他已经执行了两个同时进行的握手,并拦截了你和你认为你在交流的对方之间的所有流量。为了防止这种情况发生,你必须在SSL之上具有身份验证协议,而为了确保安全,这个协议最终看起来很像经过身份验证的SSL。


3

您好,

以下是您的问题的回答:

1) 据我所知,不可能建立一个SSL连接,只要求客户端提供证书。任何想法为什么SSL不允许这样做?

SSL证书将保护位于服务器上的网站,用户计算机与网站之间的数据传输将得到保护。这也取决于证书的类型。

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

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

确实需要服务器。但是客户端也需要提供CSR,以便为特定网站生成唯一的SSL证书。

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

在SSL连接期间,对客户端和服务器的验证都是完成的。当访问者提供重要信息时,只要有SSL证书,它就是安全的,但这也取决于安装的证书的类型。

4) 是否可能建立没有SSL请求任何证书的SSL连接?

这取决于证书的类型(自动生成或来自证书机构)。SSL证书是唯一的,仅针对特定网站颁发,并根据客户提供的CSR颁发。

此致

www.networking4all.fr


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接