跳到主要内容

RFC 6347 - 1. 引言 (Introduction)

1. Introduction (引言)

TLS [TLS] 是用于保护网络流量部署最广泛的协议。它广泛用于保护 Web 流量以及诸如 IMAP [IMAP] 与 POP [POP] 等电子邮件协议。TLS 的主要优势在于提供透明的面向连接信道。因此, 在应用层与传输层之间插入 TLS 即可较容易地保护应用协议。然而, TLS 必须运行在可靠传输信道之上, 通常是 TCP [TCP]。因此, 它无法用于保护不可靠的数据报流量。

越来越多使用 UDP 传输的应用层协议被设计出来。尤其是会话发起协议 (Session Initiation Protocol, SIP) [SIP] 与电子游戏类协议日益流行。(注意 SIP 可运行于 TCP 与 UDP 之上, 但在某些情形下更偏好 UDP。) 目前, 这些应用的设计者面临若干不尽如人意的选择。其一, 可使用 IPsec [RFC4301]。然而, 如 [WHYIPSEC] 详述的诸多原因表明, 它仅适用于部分应用。其二, 可设计定制的应用层安全协议。不幸的是, 尽管应用层安全协议通常提供更好的安全属性 (例如 S/MIME 情形下的端到端安全), 其设计往往需要大量投入, 与在 TLS 之上运行协议所需的相对较小工作量形成对比。

在许多情形下, 保护客户端/服务器应用最理想的方式是使用 TLS; 然而, 数据报语义的要求自动排除了 TLS 的使用。本备忘录描述为此目的设计的协议: 数据报传输层安全 (Datagram Transport Layer Security, DTLS)。DTLS 有意设计得尽可能与 TLS 相似, 既为了减少新的安全机制发明, 也为了最大化代码与基础设施的复用。

DTLS 1.0 [DTLS1] 最初定义为相对 [TLS11] 的增量规范。本文档引入 DTLS 的新版本 DTLS 1.2, 其定义为相对 TLS 1.2 [TLS12] 的一系列增量。不存在 DTLS 1.1; 该版本号被跳过以与 TLS 的版本号对齐。本版本还澄清了 DTLS 1.0 规范中若干令人困惑之处。

同时支持 DTLS 1.2 与 DTLS 1.0 的实现可以与仅支持 DTLS 1.0 的实现互操作 (当然使用 DTLS 1.0), 正如 TLS 1.2 实现可与先前版本的 TLS 互操作 (细节见 [TLS12] 附录 E.1), 但 SSLv2 与 SSLv3 没有对应的 DTLS 版本, 因此这些协议的向后兼容问题不适用。

1.1. Requirements Terminology (需求术语)

本文档中的关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" 与 "OPTIONAL" 应按 RFC 2119 [REQ] 所述的方式解释。