SIP通信网络技术概论-关于SIP/RTP呼叫语音加密技术架构讨论

今天,VoIP网络或者基于SIP架构的网络随着部署环境复杂程度的不断加强,基于IP的企业通信网络环境也更加灵活,以及SIP终端用户的普及,网络攻击等安全问题越来越严重 。在针对SIP网络的安全问题上,目前存在各种针对SIP网络安全部署机制的措施,比如使用SBC来处理相对比较复杂的环境,或者针对单点服务器端使用信令加密或者RTP加密来保证其呼叫和语音的安全 。关于SBC的安全机制以及商业场景,笔者在很多历史文档中有非常深入的讨论,读者可以查阅历史文档学习和了解各种应用场景 。
今天,为了确保SIP协议及新IP企业通信网络技术概论这个系列分享的完整性,笔者计划和读者分享关于笔者针对SIP端的信令和语音加密以及SIPS使用,TLS,SRTP等问题进行一个全面的讨论 。在本次分享中,笔者将要讨论的核心要点包括:authentication(签权)和authorization(授权),安全证书处理机制讨论,关于SIP、RTP加密的相关技术讨论,SIP trunk加密,安全攻击和响应处理机制,测试工具使用等几个主要的章节,希望通过这些环节的讨论为读者提供一个全面的关于新IP企业通信中的关于SIP和RTP加密的完整详解 。我们首先从安全机制的基本问题谈起-签权和授权的背景介绍 。
 
关于签权(authentication)和授权(authorization)的背景介绍
如果我们提到安全证书,我们首先应该了解两个关于安全认证的基本问题(authentication和authorization) 。下面,笔者针对这两个基本的问题进行讨论 。

SIP通信网络技术概论-关于SIP/RTP呼叫语音加密技术架构讨论

文章插图
此图例以及以下图例均来自于互联网资源
这两个基本问题其中一个就是认证签权(authentication) 。另外一个就是授权的问题(authorization) 。简单来说,authentication 是负责处理身份认定的问题,比如登录系统确认身份等问题 。authorization 是一个授权问题,简言之,就是系统允许用户登录以后允许干什么的问题 。
SIP通信网络技术概论-关于SIP/RTP呼叫语音加密技术架构讨论

文章插图
 
在SIP网络中,我们仍然使用同样的机制来管理用户注册,管理呼叫和其他的业务功能 。现在我们以SIP 呼叫或者INVITE举例来说明其认证的流程 。以下示例中使用了SIP代理和用户验证服务器,在实际应用环境中,代理服务器可能是一个SIP 服务器端或者IPPBX支持本身自己的数据库来存储用户验证信息 。
SIP通信网络技术概论-关于SIP/RTP呼叫语音加密技术架构讨论

文章插图
 
在以上图例中,整个认证过程经过了以下八个核心步骤:
  1. UA james 首先对proxy 服务器发出INVITE请求表示需要呼叫,验证身份 。
  2. Proxy 服务器第一次回复407 Proxy Auth Required,表示UA需要发送认证信息,并且对此UA发送nonce(


      推荐阅读