5.1 Security Services (安全服务)
本文档为希望使用 TLS 保护其通信以实现以下目标的受众提供建议:
-
机密性 (Confidentiality): 所有应用层通信都被加密, 目标是除预期接收者之外的任何一方都无法解密它。
-
数据完整性 (Data integrity): 在传输过程中对通信所做的任何更改都可以被接收者检测到。
-
身份验证 (Authentication): TLS 通信的端点被验证为预期通信的实体。
关于身份验证, TLS 能够对通信中的一个或两个端点进行身份验证。在机会性安全 [RFC7435] 的上下文中, TLS 有时在不进行身份验证的情况下使用。如第 5.2 节所述, 机会性安全的考虑不在本文档的范围内。
如果部署者偏离本文档中给出的建议, 他们需要意识到他们可能会失去上述安全服务之一的访问权限。
本文档仅适用于需要机密性的环境。它建议使用强制传输中数据保密性的算法和配置选项。
本文档还假设数据完整性保护始终是部署的目标之一。在不需要完整性的情况下, 首先采用 TLS 是没有意义的。存在针对仅机密性保护的攻击, 这些攻击利用缺乏完整性来破坏机密性 (例如, 在 IPsec 的上下文中参见 [DegabrieleP07])。
本文档针对在互联网上最常与 TLS 和 DTLS 一起使用的应用协议。通常, TLS 客户端和 TLS 服务器之间的所有通信都需要上述三种安全服务。这在 TLS 客户端是用户代理 (如 Web 浏览器或电子邮件软件) 的情况下尤其如此。
本文档不涉及上述三个属性之一不需要的罕见部署场景, 例如下面第 5.2 节中描述的用例。作为另一个不需要机密性的场景, 考虑一个受监控的网络, 其中负责相应流量域的当局需要完全访问未加密 (明文) 流量, 并且用户协作并以明文发送他们的流量。