客户端和服务器之间的SSL连接持续多长时间?

时间:2009-04-29 20:31:47

标签: security iis ssl


我刚刚开始学习SSL而且男孩很困惑


Q1 - 客户端和服务器之间的SSL连接持续多长时间?直到客户浏览其他网址或......?


Q2

A)假设客户端(浏览器)与IIS服务器建立SSL连接。

现在IIS如何在每个回发中找出它正在处理相同的经过身份验证的客户端/浏览器,从而它已经与该客户端建立了SSL连接?


B)假设浏览器浏览到某个其他URL时,SSL连接不会丢失:

假设在建立SSL连接之后的某个时刻,客户端会浏览到其他某个URL,然后很快再次请求(通过https)原始页面(已建立SSL连接的页面)。

IIS服务器如何能够确定页面的当前请求来自已与该页面建立了SSL连接的客户端,因此将使用已建立的SSL连接?


thanx


修改


  • 假设浏览器浏览到其他一些URL,如果返回原始页面仍然建立了SSL连接,浏览器将如何“记住”双方用于通信的symetric加密密钥的值?


  • 我意识到这取决于你使用的浏览器,但是对于IE和Firefox,我假设当你关闭浏览器时,它会将Connection.Close()(或其他类似的东西)发送到服务器,因此SSL连接立即生效闭合?


  • 但是如果你浏览一些其他的URL,那么如果浏览器没有向服务器发送任何通知,那么SSL连接不会在相当长的时间内(甚至10分钟或更长时间)保持建立,因此浏览器很容易回到那个页面,好像什么都没发生一样?!


我很感激

3 个答案:

答案 0 :(得分:4)

Q1。 SSL连接仅适用于客户端和服务器之间的单个TCP连接。当前的浏览器(支持HTTP / 1.1的任何东西)可以重用单个连接来下载多个资源。当前浏览器还与服务器建立多个TCP连接,以便并行下载多个资源。因此,您将看到一个页面视图的多个SSL连接。

Q2A。如果浏览器仍然与该服务器打开TCP连接,则可以重用该连接。否则,将协商具有SSL和IIS身份验证的新TCP连接。

Q2B。与Q2A相同。您不能依赖于此,但TCP连接不会立即处理。根据您的浏览器,您有可能重复使用现有的。

答案 1 :(得分:2)

A1。 SSL连接将持续存在,直到客户端或服务器关闭它。发生这种情况取决于所使用的协议。对于HTTP,大多数现代客户端将与服务器建立一些并行连接以获取页面及其资源,并在页面加载之前重用这些连接。

A2A。如果身份验证使用HTTP身份验证,则客户端必须对每个请求进行身份验证。如果客户端使用SSL证书授权,那么这显然是基于每个连接维护的,以便同一连接上的后续请求保留相同的凭据。

A2B。服务器会知道这一点,因为大概是请求会进入已经建立的SSL连接。

答案 2 :(得分:1)

编辑后答案:

我认为您可能遗漏的是SSL本质上与TCP相关联。您不能与不搭乘TCP连接的服务器建立SSL“连接”。你打破一个,打破另一个。

大多数SSL实施包括“快捷方式”协商,其中后续新连接可以利用已经发生的公钥加密,而是直接使用最近协商的对称密钥。但是,其详细信息隐藏在SSL实现中。从用户和/或客户端软件的角度来看,维护小说,整个协商就像在第一次连接时那样进行。

  1. 如果仍然建立了SSL连接,那么两端仍然保持对称密钥信息。

  2. 是的,虽然客户端一旦导航到某个其他网站,就不可能保持与服务器的连接。