Encryption SSL如何使用对称和非对称加密?我如何在一台主机上管理多个站点的认证?
首先,微软TechNet的一些引文: 总而言之,安全SSL会话是使用以下技术建立的:Encryption SSL如何使用对称和非对称加密?我如何在一台主机上管理多个站点的认证?,encryption,ssl,ssl-certificate,Encryption,Ssl,Ssl Certificate,首先,微软TechNet的一些引文: 总而言之,安全SSL会话是使用以下技术建立的: 用户的Web浏览器使用安全URL与服务器联系 IIS服务器向浏览器发送其公钥和服务器证书 客户端和服务器协商要用于服务器的加密级别 安全通信 客户端浏览器使用服务器的公共密钥加密会话密钥 密钥并将加密的数据发送回 到服务器 IIS服务器使用其专用密钥解密客户端发送的消息 键,则会话已建立 客户端和服务器都使用会话密钥进行加密和解密 传输的数据 因此,从根本上讲,SSL使用非对称加密(公钥/私钥对)来传递共享会话
我知道了。我可以在我的服务器机器上安装多个证书,并根据需要使用单独的证书绑定每个站点。是的,没错。非对称加密是验证其他身份所必需的,然后使用对称加密,因为它更快。我建议您将更新作为一个单独的问题发布
在任何情况下-您将需要多个证书-每个站点一个。请记住,这些证书将您的计算机绑定到您的地址。由于每个网站都有不同的地址(可能),您需要为每个网站提供不同的证书您在第4点和第5点错了。服务器和客户端分别计算相同的会话密钥。它从未真正传输。服务器上每个侦听端口只能有一个SSL证书。这是因为发送的第一件事情是服务器证书(如时间线中所示)。这是在HTTP请求之前,因此如果您尝试在一台服务器上托管两个域(例如foo.com和bar.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/端口组合运行多个域