SIP协议的安全性相关介绍
信令加密,使用TLS协议
基于 TCP 协议之上,在为应用层协议服务方面提供了全面的身份验证和加密机制;创建 TLS 连接时需确保双方用户的身份经过验证;仅凭身份验证通过的用户方才能进行后续通信;采用 TLS 加密传输 SIP 数据,在传输过程中全程加密;从而最大限度地防止了未经授权的数据窃取;并且显著提升了语音通信的安全性。
媒体流加密,使用SRTP协议
主要采用的是RTP(Real-time Transport Protocol, 实时传输协议)与RTCP(Real-Time Transport Control Protocol, 实时传输控制协议)。其中,Rtp负责处理具有即时特性的数据, 如互动音频与视频, 以实现端到端网络的实际传送。而rtcp则致力于实时监控传送质量, 并提供流量调节与数据流量管理。当rtp与rtcp协同工作时, 通过有效的反馈机制及最低的成本可显著提升传送效率。在网络安全的前提下, 网络中的媒体流通常采用公开传送的方式.为了进一步保障信息内容的安全性. srtp 协议应运而生。
SRTP(Secure Real-time Transport Protocol, 安全RTP协议)通过完成对RTP/RTCP报文的有效加载并加装加密机制,在确保数据传输安全的同时完成对多种功能的保护措施。
采用SRTP协议进行媒体流的安全通信时,在建立连接时,双方需先协商共享的密钥信息。目前仅能通过SDP协议中的crypto头域字段来完成密钥协商。其中,发起方需将本端设备支持的加密参数配置信息发送给接收方参与协商过程。当双方达成一致后,接收端系统会返回相应的参数设置值给发起方确认。随后,在会话建立之后,双方分别利用各自设备的密钥对RTP/RTCP报文进行加密编码,并利用对方端口所使用的密钥对接收到的报文进行解密处理。
SDP协商主要包括以下参数信息:
| 参数名称 | 参数含义 | 说明 |
|---|---|---|
| Tag | 加密属性信息标识符,在不同的加密属性行中的tag值必须不同,接收方根据Tag值来决定使用哪一组加密属性 | 必选协商参数 |
| Crypto-Suite | 加密套件,定义加密和认证使用的算法。目前只支持AES_CM_128_HMAC_SHA1_80和AES_CM_128_HMAC_SHA1_32两种套件 | 必选协商参数 |
| Key Parameters | 密钥参数定义密钥信息,主要包括密钥生成方法和密钥值 | 必选协商参数 |
| Session Parameters | 会话信息定义了与该会话相关的参数,如密钥衍生率、UNENCRYPTED_SRTP、UNENCRYPTED_SRTCP、UNAUTHENTICATED_SRTP、FEC等 | 可选协商参数,暂不支持 |
采用SRTP协议对RTP/RTCP报文实施加密操作时,在启用加密引擎的情况下,则由该引擎完成报文的加密与认证流程;反之,在不启用该功能的情况下,则将此任务交由中央处理器(CPU)来完成相应的操作步骤。
组合使用
TLS能够防护通话中的通信控制数据,并抵御用户的敏感信息。SRTP协议采用双重身份验证技术来实现语音媒体流的加密与认证。该方案既可以单独应用也可同时集成多种功能
| 信令是否使用TLS | 媒体是否使用SRTP | 描述 |
|---|---|---|
| 是 | 是 | 信令报文是安全的,用户的个人信息能够得到有效保护 媒体报文是安全的,用户的通话内容能够得到有效保护 推荐使用 |
| 否 | 是 | 信令报文是不安全的,用户的个人信息无法得到有效保护 媒体报文是安全的,用户的通话内容能够得到有效保护 |
| 是 | 否 | 信令报文是安全的,用户的个人信息能够得到有效保护 媒体报文是不安全的,用户的通话内容无法得到有效保护 |
| 否 | 否 | 信令报文是不安全的,用户的个人信息无法得到有效保护 媒体报文是不安全的,用户的通话内容无法得到有效保护 |
