摘要
- Chris Wendt 与 Jon Peterson 共同撰写的 RFC 9970 允许部分 SIP 临时和最终响应携带
rspPASSporT;它为被到达方的dest签名,而没有适当凭证的一方不得发送该声明。 - 该声明只说明一个可验证的信令响应。它既不证明媒体来自同一方,也不保证通话期间身份不变,更不会替来电方决定应当接受、取消还是挂断。
“已连接的身份”听上去像一个完整结论:用户拨到预期机构,接听者就是该机构,音频仍由该机构发出,界面也知道该怎样处理。RFC 9970 的克制价值在于,它没有把这些结论塞进一个标记里。它解决的是较窄的 SIP 问题:让反向的响应能够附上 Identity 头,并以 rsp PASSporT 对被到达的地址记录 dest 作出签名。
100、180、183 和 200 等临时或最终响应可以承载这种信息。对于发起方,这改变了过去只能看见“有人应答”而难以在反向信令上判断“网络到达了谁”的局面。若呼叫在途中被合法改投,响应还可以带回 div PASSporT 链。于是,预期目的地、实际抵达的目的地和改投理由可以分别比较,而不是被一次成功建链掩盖。
不过,可解析的信号并不等于可委托的权力。终止侧只有在对 dest 拥有适当签名凭证时才可以发出 rsp;缺少该凭证时,RFC 明确要求不得发送。接收方仍须信任签名证书,并合理确认该证书有资格为相应号码签名。密码学验证的是某把密钥下的声明;谁发放凭证、凭证为何适用于这个号码、这次呼叫是否应被接受,都在验证动作之外。
目的地变化时,边界更清楚。若 rsp 中的 dest 不同于最初请求中的目的地,至少必须附带一个 div PASSporT。即便链条完整,是否信任仍属于接收方的本地策略。一个高风险业务可能只接受预先登记的转接;另一个来电方也可能容忍已知的值班改投。协议给出可检查的材料,却没有把材料升级为全球一致的授权结论。
SIP 的响应处理也妨碍任何简单的“验不过就拒绝”说法。响应不能像请求那样被接收方拒绝并返回错误。临时对话中发现问题,发起方能做的是 CANCEL;对话已经建立,则能做的是 BYE。临时响应若没有相应的可靠传递机制,也可能被中间方吞掉或根本不抵达。因此,未见到 rsp 不自动等于攻击;它必须与交付条件、原本是否支持该能力以及来电方自选的风险姿态一起解释。
更关键的是,RFC 9970 只作用于信令。通话被接听以后,转接、保持或其他处理可以让实际对话方发生变化,而来电者未必看得见。标准承认它不能消除这种媒体替换风险。它可为某些中途或结束对话的 SIP 请求提供保护,例如降低伪造 BYE 或伪造 re-INVITE 的空间;但一次有效的响应签名并不能认证后续语音、视频或数据流的来源。
这正符合 Lu Heng 所说的运行代码优先:技术产物应清楚陈述本地验证到底证明了什么,而不能借助一个友好的界面或机构名称取得额外权威。rsp 让响应声明可验证;证书治理者决定哪些签名资格可信;依赖方决定该证据是否匹配本次目的地;媒体保护则需要自己的机制。把这些层压成一个“安全接通”标签,会让便携字段越权成为决策者。
RFC 没有规定界面必须如何呈现,却假定用户可按一次呼叫或一个目的地设定授权姿态。对金融、政府或紧急服务号码,这个选择尤为重要。成熟的实现不应只显示绿色标志,而应留下完整判断链:预期号码、签名 dest、证书资格、可接受的改投、验证结果与来电方采取的动作。
来源
- https://datatracker.ietf.org/person/chris%40appliedbits.com
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://www.rfc-editor.org/rfc/rfc9970.html
- https://www.somos.com/insights/somos-inc-announces-new-hire-chris-wendt-vice-president-systems-engineering
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
