摘要
- RFC 3652 将固定 20 字节、用于投递和重组的 Message Envelope,与固定 24 字节的消息头及操作专属消息体分开。Message Credential 中的数字签名不覆盖 Envelope,却覆盖消息头和消息体。
- Credential 可以承载发起方的数字签名,也可以承载基于预先建立会话密钥的消息认证码(MAC)。这个边界说明的是协议的完整性保护范围,不是已记录的攻击、实现缺陷,也不意味着下层保护不可能。
一条消息包含不同的信任面
2003 年,Handle 系统协议规范需要定义的并不只是查询。客户端要找到负责的 Handle 服务器,请求解析或管理某个 Handle,再理解服务器的回应;协议也必须适应不同传输方式对数据的处理差异。RFC 3652 v2.1 把这些职责排成四个相邻部分:Envelope、Header、Body 和 Credential。RFC 3652
Envelope 总是存在,长度固定为 20 字节。RFC 把它称为用于正确投递消息的包装层,而不是应用层信息。其字段包括协议版本和消息标志、会话 ID、请求 ID、序列号和消息长度。必需的 Header 固定为 24 字节,保存各类操作共用的信息,包括操作码和响应码。Body 则承载操作专用数据,也可能为空。RFC 3652
信任边界并不等于分组边界。RFC 3652 明确说明,Message Credential 的数字签名不保护 Envelope 的内容,却会保护 Header 和 Body。非空 Credential 可以包含消息发起方的数字签名,或基于既有会话密钥生成的单向消息认证码。RFC 将其用途描述为认证客户端与服务器之间的消息,并检查传输后的数据完整性。MAC 依靠双方共享的密钥;数字签名采用不同的密钥模型。RFC 3652 RFC 2104
这种分层对应 Envelope 的职责。Handle 客户端可以通过 UDP 数据报或 TCP 字节流发送消息。RFC 3652 将 UDP 承载的消息限制在 512 字节以内,不计 IP 和 UDP 头部。更长的消息必须分段;每个分段都在 Envelope 中携带序列号,供接收方重组。TCP 虽然提供连续字节流,却不会自动提供 Handle 消息的边界;协议仍可把大消息分段后再重组。RFC 3652 RFC 768 RFC 793
相较之下,Header 和 Body 描述客户端与服务器正在做什么。操作码提出一种 Handle 操作;响应码报告成功、找不到值、服务转介、授权失败或需要认证。协议本身依照另一份文档定义的名称和数据模型,而 RFC 3650 说明整体服务架构。于是,受保护的语义内容从投递包装层之后才开始:重组一个分段,并不等于授权它所携带的操作。RFC 3652 RFC 3650 RFC 3651
认证不是授权
RFC 3652 也把客户端的证明与服务器的许可决定分开。执行管理操作时,服务器可以发出挑战;客户端以响应证明自己持有相应私钥或共享密钥。验证成功之后,服务器仍须检查管理员是否拥有所请求操作所需的权限。挑战响应通过,不代表服务器已经批准 Handle 变更。会话则可以让多项操作共享状态和密钥。RFC 3652
RFC 3552 将数据完整性、对端认证、机密性和系统安全视为不同目标;数字签名或 MAC 不会自动提供所有这些属性。RFC 3652 的安全章节谈及服务器签名与客户端认证,但格式定义限定得更具体:Credential 覆盖 Header 和 Body,不覆盖投递用的 Envelope。这句话本身不能证明任何已部署系统里发生过消息篡改;下层通信通道也可能提供其他保护。RFC 是协议规范,不是事故报告。RFC 3552 RFC 3652
也不能把 Handle Credential 与 X.509 签名配置混为一谈。RFC 3279 定义的是该公钥基础设施中证书和撤销列表的算法标识及编码;它不会扩大 RFC 3652 的签名字节范围,也不会把 Envelope 变成已认证内容。提到加密术语还不够,必须说清楚到底认证了哪个对象。RFC 3279 RFC 3652
RFC 3652 的类别是 Informational,IESG 说明也指出,当时的讨论并未形成关于 Handle 系统或其在 IETF 标识符架构中定位的共识。这份文件记录的是一个协议提案,不是普遍部署的证明。更有限、也更持久的教训是:消息封装、分段重组与认证可能各循不同规则;任何完整性主张都应指出 Credential 实际覆盖了哪些字节。RFC 3652
来源
- RFC 3652 — Handle System Protocol (v2.1)
- RFC 3650 — Handle System Overview
- RFC 3651 — Handle System Namespace and Service Definition
- RFC 2104 — HMAC
- RFC 3552 — Guidelines for Writing RFC Text on Security Considerations
- RFC 768 — User Datagram Protocol
- RFC 793 — Transmission Control Protocol
- RFC 3279 — Algorithms and Identifiers for the Internet X.509 PKI Certificate and CRL Profile
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
