12. 安全考虑因素 (Security Considerations)
由于多线路外观功能使用 SIP [RFC3261]、SIP 对话状态事件包 [RFC4235] 以及 SIP 事件框架 [RFC6665] 和 [RFC3903] 提供的语义来实现,这些文档中的安全考虑因素也适用于本文档。
为了提供机密性,提供对话状态信息和对话标识符的 NOTIFY 或 PUBLISH 消息体可以 (MAY) 使用 [RFC3261] 中描述的标准机制 (如 S/MIME) 进行端到端加密。或者,通过 TLS 发送 NOTIFY 和 PUBLISH 请求也可以提供机密性,尽管是在逐跳的基础上。UA 与外观代理之间的所有 SUBSCRIBE 和 PUBLISH 都必须 (MUST) 经过身份验证。如果没有适当的身份验证和机密性,第三方可能会了解与 AOR 关联的对话的信息,并可能尝试使用此信息通过 SIP 呼叫控制原语来劫持或操纵这些对话。
此功能依赖于标准的 SIP 呼叫控制原语,例如 Replaces 和 Join。必须 (MUST) 对它们的使用实施适当的访问控制,以便只有共享外观组的成员才能使用这些机制。只有在请求对话替换或加入的对等方已使用标准 SIP 机制 (如 Digest 或 S/MIME) 进行了适当的身份验证,并被授权请求替换时,才必须 (MUST) 接受带有 Replaces 或 Join 头字段的所有 INVITE。否则,第三方可能会破坏或劫持共享外观组中的现有对话。
对于紧急呼叫,UA 在发送 INVITE 之前不得 (MUST NOT) 等待确认占用外观。等待确认可能会无意中延迟或阻止紧急呼叫,而紧急呼叫本质上需要尽可能快地拨打。相反,无论 PUBLISH 事务的状态如何,紧急呼叫都必须 (MUST) 继续进行。