传输层安全协议
本主题适用于 IT 专业人士,介绍传输层安全 (TLS) 协议的工作原理,并提供到 TLS 1.0、TLS 1.1 和 TLS 1.2 的 IETF RFC 的链接。
注意
在 Windows Server 的未来版本中,默认情况下将禁用 TLS 1.0 和 1.1。 有关详细信息,请参阅 TLS 版本 1.0 和 1.1 禁用资源。
TLS 和 SSL 协议位于应用程序协议层和 TCP/IP 层之间,它们可在其中保护应用程序数据并将其发送到传输层。 由于协议在应用层和传输层之间工作,因此 TLS 和 SSL 可以支持多个应用层协议。
TLS 和 SSL 假定正在使用面向连接的传输(通常是 TCP)。 这种协议允许客户端和服务器应用程序检测以下安全风险:
消息篡改
消息拦截
消息伪造
TLS 和 SSL 协议可以分为两层。 第一层由应用协议和三个握手协议组成:握手协议、更改密码规范协议和警报协议。 第二层是记录协议。
TLS 和 SSL 协议层
SChannel SSP 无需修改即可实现 TLS 和 SSL 协议。 SSL 协议是专有协议,但 Internet 工程任务组生成公共 TLS 规范。 有关 Windows 版本支持的 TLS 或 SSL 版本的信息,请参阅 TLS/SSL (Schannel SSP) 中的协议。 每个规范都包含以下信息:
TLS 记录协议
TLS 握手协议:- 更改密码规范协议- 警报协议
密码计算
强制密码套件
应用数据协议
RFC 5246 - 传输层安全性 (TLS) 协议版本 1.2
RFC 4346 - 传输层安全性 (TLS) 协议版本 1.1
TLS 会话恢复
在 Windows Server 2012 R2 中引入的 SChannel SSP 实现了 TLS 会话恢复的服务器端部分。 在 Windows 8 中添加了 RFC 5077 的客户端实现。
将 TLS 连接到服务器的设备经常需要重新连接。 TLS 会话恢复可减少建立 TLS 连接的开销,因为恢复涉及缩写的 TLS 握手。 通过允许一组 TLS 服务器恢复彼此的 TLS 会话,来帮助进行更多恢复尝试。 此修改为支持 RFC 5077 的任何 TLS 客户端(包括 Windows Phone 和 Windows RT 设备)提供了以下节省:
在服务器上减少了资源使用率
减少了带宽,这可提高客户端连接的效率
减少了由于连接恢复而在 TLS 握手方面花费的时间
有关无状态 TLS 会话恢复的信息,请参阅 IETF 文档 RFC 5077。
应用程序协议协商
Windows Server 2012 R2 和 Windows 8.1 引入了允许客户端 TLS 应用程序协议协商的支持。 应用程序可以利用协议作为 HTTP 2.0 标准开发的一部分,用户可以通过使用运行 SPDY 协议的应用程序访问在线服务,如 Google 和 Twitter.
有关应用程序协议协商的工作原理的信息,请参阅传输层安全性 (TLS) 应用程序层协议协商扩展。
针对服务器名称指示符扩展的 TLS 支持
服务器名称指示符 (SNI) 功能扩展了 SSL 和 TLS 协议,以便在单台服务器上运行大量虚拟映像时正确标识服务器。 在虚拟主机托管方案中,几个域(都具有自己的可能不同证书)将托管在服务器上。 在这种情况下,服务器无法提前了解要发送给客户端的证书。 SNI 让客户端可在协议早期通知目标域,且这让服务器可以正确选择相应证书。
这提供了以下附加功能:
可让你在单个 Internet 协议和端口组合上托管多个 SSL 网站
在单台 Web 服务器上托管多个 SSL 网站时,减少内存使用
让更多用户可同时连接到 SSL 网站