摘要
- RFC 3436 把编号相同的相反方向 SCTP 流配成双向通道,每个通道建立独立 TLS 连接;会话可以复用,握手可以延后,但每条受保护流仍须完成自己的握手。
- TLS 要求严格有序且不可放弃的记录,只保护 SCTP 用户数据,不覆盖全部控制块;RFC 6083 后来正面列出这些限制,用一条 DTLS 连接保留无序递送、部分可靠性和更多流。
一个关联里没有一个统一的安全状态
设想一个拥有三十二条流的 SCTP 关联。第 0 流已经完成完整握手,第 1 流正用同一 TLS 会话做缩短握手,第 2 流直到应用真正使用时才开始握手;若干单向流根本不能按 RFC 3436 承载 TLS,另一些双向流仍在传原生 SCTP 数据。此时“这个关联有 TLS”虽然不全错,却隐藏了最重要的事实:安全状态属于具体连接和具体流。
RFC 3436于 2002 年 12 月发布,说明怎样把 TLS 1.0 放在 SCTP 之上。纯文本、RFC Editor 条目、IETF 文档页、历史与引用图证明规范记录,不证明某个产品实现、互操作成功或生产采用。
TLS 要字节河流,SCTP 给有边界的包裹
TLS 1.0假定下层提供可靠且按序的字节流;原始 SCTP提供有消息边界的多流、多宿传输,RFC 3309则更新了校验和。RFC 3436 没有修改两种协议,而是规定一条 TLS 记录成为一条 SCTP 用户消息。
SCTP 必须负责分片和重组,让 TLS 不必知道 MTU,并避免 IP 分片。实现至少要支持 18,437 字节的用户消息,即 2^14 + 2048 + 5。这也可能要求部分递送 API。网络分片不是 TLS 记录;重组后的记录也不等于应用已经执行了请求。
两个方向中相同编号的流被配成双向流,因此可用双向流数量是两边流数的较小值,多出来的只能保持单向。每个双向流拥有一条 TLS 连接和一次独立握手。这样,一条流被阻塞不会让关联中的其他安全流一起停止;代价是流数越大,连接状态与握手开销越线性增长。
规范允许完整握手、复用其他连接会话的缩短握手,以及等到流首次使用才握手。在长时延网络上,并行完整握手可能更快;计算资源紧张时,会话复用可能更便宜。但“同一会话”不等于“同一连接”:第 0 流已就绪,不能替第 1 流完成握手。
加密保留不了所有 SCTP 自由
TLS 记录必须严格按序。因此,受保护流不得使用 SCTP 的无序递送,也不得给记录设置有限寿命后让发送端放弃。单向流不能按此方案承载 TLS。与此同时,同一关联内的其他流仍可不受这些限制地发送原生 SCTP 数据。
这形成了混合边界:有序、完全可靠的加密用户数据与可无序、可采用其他策略的原生数据并存。RFC 3758后来定义部分可靠性,RFC 7496仍明确指出 TLS over SCTP 不能用于 PR-SCTP。
更关键的边界来自RFC 4895:RFC 3436 的 TLS 只保护 SCTP 用户数据,不能证明 SCTP 控制块来自原始对端。于是 SCTP-AUTH 必须另行认证选定块。加密载荷、TLS 对端身份、DATA 块认证和控制块认证是四种不同凭据。
多宿同样不能替代身份。SCTP 记录可能从与最初认证时不同的 IP 地址到达。RFC 3436 要求安全决定依赖经认证的对端身份,而不是传输层地址。地址改变未必代表身份改变;占有地址也不等于拥有身份。
DTLS 把边界移到关联层
2011 年的RFC 6083直接列出四项严重限制:不能无序递送、不能部分可靠、只能使用两个方向数量相同的流,并且每条双向流都要一条 TLS 连接,大规模时资源与消息开销显著。
它改用关联内的一条 DTLS 连接。握手、告警等控制消息走第 0 流,保持有序和无限可靠;应用数据可走其他多条流,保留消息边界、无序递送和部分可靠性。DATA 块必须用 SCTP-AUTH;使用部分可靠性时,FORWARD-TSN 也必须认证。这不是“换一个密码套件”,而是重新划定安全与传输的责任面。
RFC 8996后来废弃 TLS 1.0 与 1.1,因此 RFC 3436 的原始密码套件要求只能作为历史机制阅读。IANA 的SCTP 参数注册表证明编号得到协调,不证明代码正在运行。
Heng Lu 关于现实层的分析提醒我们:规范发布、握手完成、控制块认证和应用结果各自作证。运行代码优先要求实测实现,而最小初始规范解释了为何早期方案可以复用既有协议,同时坦白舍弃一部分能力。这是后见编辑分析,不是对 RFC 作者动机的宣称。
RFC 3436 最耐久的价值,是没有把边界藏起来。准确说法不是“SCTP 已被保护”,而是“这条流以这个身份完成了这次握手,遵守这些递送规则,而关联控制仍需要另一张证明”。
来源
其他冻结记录
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
