Encryption SSL如何使用对称和非对称加密?我如何在一台主机上管理多个站点的认证?

Encryption SSL如何使用对称和非对称加密?我如何在一台主机上管理多个站点的认证?,encryption,ssl,ssl-certificate,Encryption,Ssl,Ssl Certificate,首先,微软TechNet的一些引文: 总而言之,安全SSL会话是使用以下技术建立的: 用户的Web浏览器使用安全URL与服务器联系 IIS服务器向浏览器发送其公钥和服务器证书 客户端和服务器协商要用于服务器的加密级别 安全通信 客户端浏览器使用服务器的公共密钥加密会话密钥 密钥并将加密的数据发送回 到服务器 IIS服务器使用其专用密钥解密客户端发送的消息 键,则会话已建立 客户端和服务器都使用会话密钥进行加密和解密 传输的数据 因此,从根本上讲,SSL使用非对称加密(公钥/私钥对)来传递共享会话

首先,微软TechNet的一些引文:

总而言之,安全SSL会话是使用以下技术建立的:

  • 用户的Web浏览器使用安全URL与服务器联系

  • IIS服务器向浏览器发送其公钥和服务器证书

  • 客户端和服务器协商要用于服务器的加密级别 安全通信

  • 客户端浏览器使用服务器的公共密钥加密会话密钥 密钥并将加密的数据发送回 到服务器

  • IIS服务器使用其专用密钥解密客户端发送的消息 键,则会话已建立

  • 客户端和服务器都使用会话密钥进行加密和解密 传输的数据

  • 因此,从根本上讲,SSL使用非对称加密(公钥/私钥对)来传递共享会话密钥,最终实现了对称加密的通信方式

    是这样吗

    Add-1-5:55下午12/17/2010 我正在使用IIS托管我的网站。假设我在一台机器上有多个站点,我希望客户端浏览器使用SSL URL连接我的站点。我需要多少证书?我应该采取以下哪种方法

    1-申请单一证书并将其与我的单一服务器计算机关联,该计算机承载多个站点

    2-申请多个证书,并将我的每个网站与其自己的证书相关联

    在IIS7中,我似乎只能做方法1

    更新-2010年12月17日下午1-6:09
    我知道了。我可以在我的服务器机器上安装多个证书,并根据需要使用单独的证书绑定每个站点。

    是的,没错。非对称加密是验证其他身份所必需的,然后使用对称加密,因为它更快。

    我建议您将更新作为一个单独的问题发布


    在任何情况下-您将需要多个证书-每个站点一个。请记住,这些证书将您的计算机绑定到您的地址。由于每个网站都有不同的地址(可能),您需要为每个网站提供不同的证书

    您在第4点和第5点错了。服务器和客户端分别计算相同的会话密钥。它从未真正传输。

    服务器上每个侦听端口只能有一个SSL证书。这是因为发送的第一件事情是服务器证书(如时间线中所示)。这是在HTTP请求之前,因此如果您尝试在一台服务器上托管两个域(例如foo.com和bar.com),服务器将无法知道要向客户端发送哪个证书

    有几种不同的方法可以解决此问题:

  • 在不同的服务器上承载不同的域
  • 在不同的端口上承载不同的域(例如,foo.com从443提供服务器,bar.com从8443提供服务)。如果您将主机置于多个负载平衡器之后,您可以让它们为443上的所有站点提供服务
  • 如果不同的域都是单个父域的子域,则可以获得通配符证书。(例如,域名www.foo.com、bar.foo.com和baz.foo.com都可以使用*.foo.com的证书)
  • 为其中一个域获取单个证书,并将其他域列为AltNames。(例如,foo.com和bar.com都可以使用带有bar.com名称的foo.com证书)

  • SSL客户端发送随机字节字符串,使客户端和服务器都能够计算用于加密后续消息数据的密钥。随机字节字符串本身用服务器的公钥加密(非对称)


    SSL同时使用非对称密钥和对称密钥。

    客户端和服务器独立计算会话密钥而不传输密钥的情况是Diffie-Hellman密钥交换: ---看到漂亮的绘画插图了吗 PKI将在客户端和服务器之间交换加密的会话密钥。

    答案是两者都有。您将在digicert.com上找到以下4个步骤的精彩解释:

    • 服务器发送其非对称公钥的副本
    • 浏览器创建对称会话密钥,并使用服务器的非对称公钥对其进行加密。然后将其发送到服务器
    • 服务器使用其非对称私钥解密加密的会话密钥,以获取对称会话密钥
    • 服务器和浏览器现在使用对称会话密钥加密和解密所有传输的数据。这允许使用安全通道,因为 只有浏览器和服务器知道对称会话密钥,并且 会话密钥仅用于该会话。如果浏览器是 第二天连接到同一台服务器时,将使用新的会话密钥 创造

    这篇引用自MSDN技术文章。你能分享一下你关于会话密钥是如何生成的吗?我是新来的。谢谢。不,手术没有错。您的声明仅适用于DH和DHE密码套件,它们甚至不受IIS支持。对于没有DH的RSA密码套件,OP是正确的。这是预主密钥。主密钥永远不会交换,由此派生的会话密钥也不会交换。请参阅RFC 2246#8.1。@JamesKPolk OP和Microsoft文章都是错误的。此处唯一的规范性参考是RFC 2246及其后续版本。不是微软。会话密钥和预主密钥之间的混淆仍未纠正。对于哪个HTTP服务器,“每个侦听端口只能有一个SSL证书”是真的?Apache2并非如此,至少在2014年夏天,我经常使用同一IP/端口组合运行多个域