SIP协议的安全性相关介绍

信令加密,使用TLS协议

TLS本身运行于TCP之上,并且提供了通信双方身份识别和加密SIP报文的一整套安全方案,为应用层协议服务。建立TLS连接时需要认证双方用户的身份,因此用户双方必须有各自合法的数字证书,只有通过认证的用户才可以进行后续的通信。使用TLS传输SIP报文,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报文的有效负载进行加密,实现对RTP/RTCP报文的加密、认证以及报文重传保护。

采用SRTP加密媒体流,首先需要协商加密信息,目前仅支持在SDP(Session Description Protocol,会话描述协议)中通过crypto头域进行加密协商。发起方将本端支持的加密属性信息发送给接收方进行协商,协商成功后,接收方返回相应的加密属性信息。会话建立后,双方各自使用自己的密钥加密RTP/RTCP报文,使用对端的密钥解密对方发送的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

描述

信令报文是安全的,用户的个人信息能够得到有效保护

媒体报文是安全的,用户的通话内容能够得到有效保护

推荐使用

信令报文是不安全的,用户的个人信息无法得到有效保护

媒体报文是安全的,用户的通话内容能够得到有效保护

信令报文是安全的,用户的个人信息能够得到有效保护

媒体报文是不安全的,用户的通话内容无法得到有效保护

信令报文是不安全的,用户的个人信息无法得到有效保护

媒体报文是不安全的,用户的通话内容无法得到有效保护

你可能感兴趣的:(VOIP,udp,tcp/ip)