在两个独立的域或团体(他们各自维护不同的目录)之间进行安全通信的一般方法是使用身份断言,即在两个不同的域之间设置物理安全套接字层 (SSL) 连接期间交换证书,从而在这两个域之间建立信任关系。
关于此任务
只需要在用户的本地域中对最终用户发送的会话启动协议 (SIP) 消息进行认证。所有用户消息在被发送至外部域之前都将通过 SIP 容器本地域。如果通过已进行相互认证的安全连接从外部域接收到消息(相互认证方式描述如下),由于已建立信任关系,所以假定外部域已对该消息进行认证。管理员可以按如下方式在 SIP 代理中启用对外部域的支持:
过程
- 对于所有要从外部域接收入站连接的入站通道链(或端点),在对他们指定的 SSL 指令表中启用客户机认证。
- 在上一步骤中提到的对 SSL 指令表指定的信任库中,确保设置所有可信认证中心。 为本地域设置非对称密钥对(公用密钥和专用密钥),并设置与本地域相关联的正确证书链。
- 配置与要支持的外部域相关联的专有名称 (DN)。设置 SSL 连接时,外部域服务器发送的 X.509 证书将包含该 DN。在配置模型中,每个 SIP 外部域条目都包含外部 DN 字段。
- 假定在每个域中都部署了 SIP 基础结构,那么,请向外部域管理员提供本地域的公用证书中包括的 DN。执行此操作后,外部域管理员就可以配置正确的外部 DN。
使用这种方法,Java™ 安全套接字扩展 (JSSE) 负责对通过新入站连接从外部域接收到的证书进行授权。此授权基于已认可的认证中心(在本地信任库中设置了这些认证中心的证书)。如果对外部域证书进行了授权,SIP 代理就负责根据与外部域证书相关联的 DN 来对连接进行过滤。此代理还确保在远程服务器证书中接收到的 DN 与您为外部域配置的 DN 相匹配,从而验证出站连接。
SIP 代理必须了解何时使用了身份断言功能,这样它就可以通知 SIP 容器:不需要对该已进行相互认证的连接执行消息认证。此通信按如下方式实现,即在所有通过已认证连接从代理发送到 SIP 容器的 SIP 消息中,添加“P 首选标识”SIP 头(RFC 3325 对该头作了描述)。仅当从可信域中的设备(确切地说,是 SIP 代理)接收到此头时,SIP 容器才识别此头。如果任何通过与远程设备的连接接收到的入站消息包含此头,但那些远程设备不在可信域中,SIP 代理就需要移除此头。此头还可用于支持添加代理认证。