一种接入sip安防视频监控系统的身份认证方法
【专利摘要】本发明涉及一种接入SIP安防视频监控系统的身份认证方法,包括SIP终端在SIP服务器处进行身份认证完成注册;需要进行信息交互的SIP终端双方分别与SIP服务器进行单播密钥与安全会话协商;SIP服务器分别向需要进行信息交互的SIP终端发送点到点链路信息,并下发相关密钥;两个SIP终端间通过点到点认证令牌交换进行双向身份认证;双向身份认证通过的SIP终端间进行信息交互;当SIP终端离开当前网络时,需要在SIP服务器上进行注销认证;本发明可实现网络实体之间安全高效地多实体初次认证、SIP终端之间的快速重认证,保证视频信令流和媒体流双通道认证等,大大提高了接入安全性,数据传输、存储及访问的安全性。
【专利说明】一种接入SIP安防视频监控系统的身份认证方法
【技术领域】
[0001]本发明涉及视频监控联网领域,尤其涉及一种接入SIP安防视频监控系统的身份认证方法。
【背景技术】
[0002]近年来,随着计算机、网络以及图像处理、传输技术的飞速发展,视频监控技术也有了长足的发展。从80年代初的模拟监控到90年代的数字监控,再到近年来的网络视频监控,从技术角度来看,视频监控系统的发展则经历了第一代以模拟设备为主的闭路电视监控系统,到第二代基于“PC+多媒体卡”数字视频监控系统,再到第三代完全基于IP网络视频监控系统。
[0003]虽然中国视频监控市场发生了翻天覆地的发展,但是,在当前的视频监控市场中,不同监控系统采用的信令控制协议不统一,因此,互联互通困难,无法满足网络化时代对大规模电信级视频监控、远程访问、集中管理的需求。于是设计者们将目光投向了通用的SIP协议与H.323协议。但是,H.323由于其协议族过于复杂庞大,不如SIP简单灵活,而且SIP更适合用于分布式控制场景。将SIP作为未来市场网络视频监控的主流协议已成为业界共识,基于SIP的安全防范视频监控联网系统可谓是今后视频监控领域发展的主流趋势。
[0004]但是,在其飞速发展的背后,由于IP网络固有的开放式特点、IP网络和SIP协议本身存在的安全缺陷以及应用系统的网络安全隐患,使得整个基于IP的视频监控系统及其设备都面临着严峻的信息安全风险。通过IP网络,攻击者可以轻而易举地侵入监控设备,发起例如窃取或篡改监控画面、对摄像机进行非法操控等攻击,达到窥探隐私,威胁用户、管理部门、政府甚至国家公共安全的目的。这些安全隐患的根源就在于现有市面上的监控产品(包括摄像机、网络硬盘录像机等)都或多或少的存在着信息安全漏洞。
[0005]由上述可见,监控设备和系统亟需有效的信息安全防护机制。虽然目前在视频监控领域最有影响力的两大组织ONVIF(Open Network Video Interface Forum,开放型网络视频接口论坛)和 PSIA (Physical Security Interoperability Alliance,物理安防互操作性联盟)都已意识到这一点,并都相继针对监控系统的安全问题提出了一些应对方案,但是这两大组织的主要目的是致力于使基于IP网络的不同安防系统具有兼容性和互通性。由于信息安全问题并不是他们的主要任务,所以他们也只是给出了一些安全相关建议,因此对于系统安全,特别是前端摄像机的安全并没有形成完整的信息安全解决方案。同时,在目前我国视频监控系统体系中也缺乏专门针对前端摄像机的信息安全防护标准,使得我国市场上的摄像机产品普遍缺乏成体系的信息安全防护机制,极易造成对视频监控用户自身隐私的泄露,从而成为安全隐患。
[0006]一个比较完整的信息安全解决方案总的来说应该满足以下两个方面:保护数据及整个系统不被未经授权的访问、使用、泄露、修改和破坏;为数据和系统提供机密性、完整性、可用性和不可否认性。为了实现以上安全功能,从技术层面出发,则需要考虑以下3个方面:网络接入安全、传输安全以及数据存储、访问安全。其中,网络接入安全是所有安全的前提和基础,只有保证了系统中的所有合法设备都能安全地接入符合安全要求的网络,为系统中设备之间、设备与用户之间创建起安全的通道,才能保证后续的通信安全。要实现网络接入安全,一个重要的手段就是实现网络(通信实体之间的)身份认证,目前进行网络身份认证主要涉及到设备身份认证和用户身份认证两种。设备身份认证是指在设备接入网络的过程中,实现设备与网络之间的双向身份鉴别,有效阻止不符合安全要求的监控设备访问网络,并且避免设备接入不符合安全要求的网络。用户接入网络的安全则是指在视频监控用户(客户端)在访问、查看视频数据之前的接入网络过程中,网络通过对用户的身份认证实现对用户权限的有效管控。
[0007]目前,现有系统或标准中建议使用终端安全接入管理机制提供多种安全接入认证,例如使用IEEE802.1x端口访问机制、IEEE802.1li协议等来保障网络接入安全。但是以上现有的安全技术,都存在着单向认证的安全漏洞,未考虑中间人攻击,密钥管理复杂,系统可扩展性和灵活性差等缺陷。
【发明内容】
[0008]本发明所要解决的技术问题是针对现有技术的不足,提供一种接入SIP安防视频监控系统的身份认证方法,解决由于IP网络固有的开放式特点、IP网络和SIP协议本身存在的安全缺陷以及应用系统所带来的网络安全隐患问题。
[0009]本发明解决上述技术问题的技术方案如下:一种接入SIP安防视频监控系统的身份认证方法,包括如下步骤:
[0010]步骤1:需入网的SIP终端在SIP服务器处进行三元对等身份认证完成注册,获得入网权限;
[0011]步骤2:需要进行信息交互的SIP终端双方分别与SIP服务器进行单播密钥与安全会话协商;
[0012]步骤3 =SIP服务器分别向需要进行信息交互的SIP终端发送点到点链路信息,并下发相关密钥;
[0013]步骤4:需要进行信息交互的SIP终端间通过点到点认证令牌交换进行双向身份认证,实现链路认证;
[0014]步骤5:双向身份认证通过的SIP终端间开启会话,进行信息交互;
[0015]步骤6:当SIP终端要离开当前网络时,需要在其注册的SIP服务器上进行注销认证,认证通过则允许离开当前网络。
[0016]本发明的有益效果是:在SIP视频监控联网系统中,实现SIP终端、SIP服务器和认证服务器之间安全高效地多实体初次认证、SIP终端之间的快速重认证及保证了视频信令流和媒体流双通道认证等网络接入安全性。
[0017]在上述技术方案的基础上,本发明还可以做如下改进。
[0018]进一步,上述技术方案还包括设定认证有效期,当有效期届满时,两个SIP终端需要进行点对点重认证操作,具体实现为两个SIP终端之间交换点对点重认证令牌,按照初次认证的步骤进行重认证;当两个SIP终端需暂时关闭会话时,两个SIP终端需交换点对点会话关闭令牌,认证通过则关闭会话;当两个SIP终端要彻底关闭通信链路时,两个SIP终端除交换点对点会话关闭令牌之外,还需要交换点对点链路关闭令牌,认证通过时,彻底关闭链路。
[0019]采用上述进一步方案的有益效果:重认证机制可进一步提高设备认证的安全性,有效识别网络内部的非法设备;点对点认证、重认证、关闭会话和关闭链路认证等操作可合理管理SIP终端之间的会话和链路的创建、关闭等过程。
[0020]进一步,所述SIP终端和SIP服务器中分别预存有认证服务器签发的公钥证书和相应的私钥,且均预存有认证服务器的公钥证书。
[0021]进一步,所述步骤I的具体实现为:
[0022]步骤1.1:SIP终端向SIP服务器发送触发注册请求消息Ml ;
[0023]步骤1.2 =SIP服务器在收到SIP终端发送的触发注册请求Ml后,向所述SIP终端发送触发注册响应消息M2;
[0024]步骤1.3:所述SIP终端验证触发响应消息M2的合法性,若合法,向SIP服务器发送接入认证请求M3 ;否则返回步骤1.1 ;
[0025]步骤1.4 =SIP服务器验证所述SIP终端发送的接入认证请求M3的合法性,若合法,SIP服务器向认证服务器发送证书认证请求M4,执行步骤1.5 ;否则向SIP终端发送注册失败的信息,返回步骤1.1;
[0026]步骤1.5:认证服务器验证所述SIP服务器发送的证书认证请求M4的合法性,若合法,则生成验证结果并对验证结果签名,将携带已签名的验证结果的证书认证响应消息M5发送给SIP服务器,执行步骤1.6 ;否则向SIP服务器发送证书认证失败的信息,返回步骤 1.1 ;
[0027]步骤1.6 =SIP服务器验证证书认证响应消息M5的合法性,若合法,则验证认证服务器对证书验证结果的签名字段的合法性,若合法,则查看证书验证结果字段中SIP终端的证书验证结果,根据此字段来决定是否允许SIP终端接入,进而封装得到接入认证响应消息M6并发送给SIP终端,执行步骤1.7 ;否则向认证服务器发送认证失败的信息,返回步骤 1.1 ;
[0028]步骤1.7 =SIP终端验证接入认证响应消息M6的合法性,若合法,则验证认证服务器对则证书验证结果的签名字段的合法性,若合法,则查看证书验证结果字段中SIP服务器的证书验证结果,根据此字段决定是否接入该SIP服务器,如决定接入该SIP服务器,则进入待会话状态;否则向SIP服务器发送认证失败的信息,返回步骤1.1。
[0029]进一步,所述触发响应消息M2携带认证激活分组nl,注册请求M3携带接入认证请求分组n2,所述证书认证请求M4携带证书认证请求分组n3,所述证书认证响应消息M5携带证书认证响应分组n4,所述接入认证响应消息M6携带接入认证响应分组n5 ;
[0030]所述认证激活分组nl包括标识FLAG、认证标识、SIP服务器生成的随机数,认证激活时间、相应的认证服务器账号、ECDH曲线相关参数、SIP服务器的公钥证书和SIP服务器签名;
[0031]所述接入认证请求分组n2包括标识FLAG、认证标识、SIP终端生成的随机数、SIP密钥数据、认证激活分组nl中的SIP服务器生成的随机数、SIP服务器账号、ECDH曲线相关参数、SIP终端证书和SIP终端签名;
[0032]所述证书认证请求分组n3包括ADDID地址索引、n2中SIP终端生成的随机数、nl中SIP服务器生成的随机数、SIP终端证书、SIP服务器证书和SIP服务器签名;
[0033]所述证书认证响应分组n4包括ADDID地址索引、证书验证结果、认证服务器对证书验证结果字段的签名和认证服务器对本数据包的签名;
[0034]所述接入认证响应分组n5包括标识FLAG、认证标识、n2中SIP终端生成的随机数、SIP终端密钥、nl中SIP服务器生成的随机数、SIP服务器密钥、接入结果、证书验证结果、认证服务器对证书验证结果的签名和SIP服务器签名。
[0035]进一步,所述认证激活分组nl、接入认证请求分组n2和接入认证响应分组n5中的认证标识字段计算方式为:
[0036]aulh —id=S] IA256(/7si? s?.w1.十 Password^, iA 十 Time*),
[0037]其中,nSIP Server为SIP服务器生成的随机数,PassWOrdSIP UA为预置在SIP终端和SIP服务器内的对应于SIP终端的用户名密码,Timeactive为认证激活时间。
[0038]采用上述进一步方案的有益效果:可利用SIP终端与SIP服务器之间的预置共享信息来减少攻击者恶意发送假冒的认证激活分组;且SIP终端可及时的发现假冒的认证激活分组,及时的停止后续认证过程,减少不必要的计算和通信工作,即可有效防止DOS (拒绝服务攻击)攻击。
[0039]进一步,所述SIP服务器签名为SIP服务器用私钥对相应分组所有字段的签名;SIP终端签名为SIP终端用私钥对相应分组所有字段的签名。
[0040]进一步,步骤1.3中SIP终端验证触发注册响应消息M2的合法性的具体实现为,SIP终端对认证激活分组nl进行验证:
[0041]步骤1.3.1:利用SIP服务器公钥证书中的公钥验证SIP服务器签名,验证通过则执行步骤1.3.2 ;否则终止本次注册操作,解除链路;
[0042]步骤1.3.2:将认证激活时间与该SIP终端的系统时间相比,验证认证激活时间是否在预定接受范围内,如果是,执行步骤1.3.3 ;否则终止本次注册操作,解除链路;
[0043]步骤1.3.3:按照与SIP服务器约定的方法计算认证标识,并与认证激活分组nl中相应字段进行比较,若一致则生成SIP终端随机数和SIP终端密钥数据,并封装得到接入认证请求分组n2 ;否则终止本次注册操作,解除链路。
[0044]进一步,步骤1.4中SIP服务器验证所述SIP终端发送的接入认证请求M3的合法性的具体实现为,SIP服务器对接入认证请求分组n2进行验证:
[0045]步骤1.4.1:利用SIP终端公钥证书中的公钥对SIP终端签名进行验证,验证通过,则执行步骤1.4.2 ;否则终止本次注册操作,解除链路;
[0046]步骤1.4.2:检测SIP服务器随机数是否与认证激活分组nl中的SIP服务器生成的随机数一致,如果一致则执行步骤1.4.3 ;否则终止本次注册操作,解除链路;
[0047]步骤1.4.3:验证SIP服务器身份账号是否与自己本身账号一致,若一致则生成并封装证书认证请求分组n3 ;否则终止本次注册操作,解除链路。
[0048]进一步,步骤1.5中认证服务器验证所述SIP服务器发送的证书认证请求M4的合法性的具体实现为,认证服务器对证书认证请求分组n3进行验证;
[0049]步骤1.5.1:利用认证服务器本地保存的SIP服务器公钥证书副本中的公钥对SIP服务器签名进行验证,验证通过,则执行步骤1.5.2 ;否则终止本次认证操作,解除链路;
[0050]步骤1.5.2:分别验证SIP终端证书和SIP服务器证书,验证通过,则执行步骤1.5.3 ;否则终止本次认证操作,解除链路;
[0051]步骤1.5.3:生成证书验证结果,并利用认证服务器的私钥对证书验证结果签名,生成并封装证书认证响应分组n4。
[0052]进一步,步骤1.6中SIP服务器验证证书认证响应消息M5的合法性的具体实现为,SIP服务器对证书认证响应分组n4进行验证:
[0053]步骤1.6.1:利用认证服务器公钥证书副本中的公钥对证书认证响应分组n4中认证服务器签名进行验证,验证通过,则执行步骤1.6.2 ;否则终止本次注册的后续操作,解除链路;
[0054]步骤1.6.2:检测SIP终端随机数和SIP服务器随机数与证书认证请求分组n3中的相应字段是否一致,若一致,则执行步骤1.6.3 ;否则终止本次注册的后续操作,解除链路;
[0055]步骤1.6.3:提取证书验证结果字段和认证服务器对证书验证结果字段的签名两个字段,查看SIP终端的证书验证结果来决定是否允许接入,如果允许,执行步骤1.6.4 ;否则执行步骤1.6.5 ;
[0056]步骤1.6.4:生成密钥材料和SIP终端的接入成功结果,生成并封装接入认证响应分组n5,且SIP服务器按照主密钥导出算法来计算得到主密钥和下一次认证标识字段;
[0057]步骤1.6.5:生成SIP终端的接入失败结果,生成并封装接入认证响应分组n5。
[0058]进一步,步骤1.7中SIP终端验证接入认证响应消息M6的合法性的具体实现为,SIP终端对接入认证响应分组n5进行验证:
[0059]步骤1.7.1:利用SIP服务器公钥证书副本中的公钥对SIP服务器签名进行验证,验证通过,则执行步骤1.7.2 ;否则终止本次注册后续操作,解除链路;
[0060]步骤1.7.2 =SIP终端随机数和SIP服务器随机数与证书认证请求分组n3或认证激活分组nl中的相应字段是否一致,若一致,则执行步骤1.7.3 ;否则终止本次注册后续操作,解除链路;
[0061]步骤1.7.3:取出证书验证结果字段以及认证服务器对证书验证字段的签名字段,利用认证服务器公钥证书副本中的的公钥来验证上述签名字段的正确性,验证通过,则执行步骤1.7.4 ;否则终止本次注册后续操作,解除链路;
[0062]步骤1.7.4:查看SIP服务器证书验证结果字段和接入结果字段,如果SIP服务器证书验证结果正确并且接入结果也为允许,则SIP终端按照与SIP服务器相同的主密钥导出算法来计算得到主密钥和下一次认证标识字段。
[0063]进一步,所述步骤2的具体实现如下:
[0064]步骤2.1 =SIP服务器向SIP终端发送单播密钥和安全会话协商请求M7 ;
[0065]步骤2.2:SIP终端对接收到的单播密钥和安全会话协商请求M7进行验证,验证通过,则生成单播密钥和安全会话协商响应消息M8,并发送给SIP服务器;
[0066]步骤2.3:SIP服务器对接收的单播密钥和安全会话协商响应消息M8进行验证,验证通过,则生成单播密钥与安全会话协商确认消息M9,并发送给SIP终端;
[0067]步骤2.4:SIP终端对接收到单播密钥与安全会话协商确认消息M9进行验证,验证通过,向SIP服务器发送确认消息MlO。
[0068]采用上述进一步方案的有益效果:单播密钥和安全会话协商过程,设备之间通过双向认证协商建立一个可信的会话通道,为接下来的安全通信做好准备,并且协商出共享密钥,后续的安全通信依赖该双方共享的密钥来加密数据实现传输安全,一次认证实现视频信令流和媒体流双通道认证。
[0069]进一步,所述单播密钥和安全会话协商请求M7携带单播密钥与安全会话协商请求分组n6,所述单播密钥和安全会话协商响应消息M8携带单播密钥和安全会话协商响应分组n7,所述单播密钥与安全会话协商确认消息M9携带单播密钥与安全会话协商确认分组n8 ;
[0070]所述单播密钥与安全会话协商请求分组n6包括MKID、ADDID地址索引、SIP服务器生成的随机数和SIP服务器签名;
[0071 ] 所述单播密钥和安全会话协商响应分组n7包括标识FLAG、MKID、ADDID地址索引、SIP终端生成的随机数、SIP服务器生成的随机数、SIP终端的RTP/RTCP信息和单播数据消息认证码MIC ;
[0072]所述单播密钥与安全会话协商确认分组n8包括标识FLAG、MKID、ADDID地址索引、SIP终端生成的随机数、密钥协商结果和单播数据消息认证码MIC ;
[0073]其中,MKID为主密钥ID。
[0074]进一步,步骤2.2中SIP终端对接收到的单播密钥和安全会话协商请求M7进行验证的具体实现为,SIP终端对单播密钥和安全会话协商分组n6进行验证:
[0075]步骤2.2.1:利用SIP服务器证书的公钥验证SIP服务器签名,验证通过,则执行步骤2.2.2 ;否则终止本次单播密钥协商和安全会话协商过程;
[0076]步骤2.2.2:按照双方约定的算法来计算MKID,并验证其是否与单播密钥与安全会话协商请求分组n6相应字段一致,若一致,则执行步骤2.2.3 ;否则终止本次单播密钥协商和安全会话协商过程;
[0077]步骤2.2.3:生成新的随机数,并按照约定的单播密钥导出算法来计算得到单播密钥,生成并封装单播密钥与安全会话协商响应分组π7。
[0078]进一步,步骤2.3中SIP服务器对接收的单播密钥和安全会话协商响应消息Μ8进行验证的具体实现为,SIP服务器对单播密钥与安全会话协商响应分组η7进行验证:
[0079]步骤2.3.1:检查单播密钥与安全会话协商响应分组η7中的MKID是否与单播密钥与安全会话协商请求分组π6中的MKID —致,若一致,则执行步骤2.3.2 ;否则终止本次单播密钥协商和安全会话协商过程;
[0080]步骤2.3.2:按照双方约定的单播密钥导出算法计算得到单播密钥,利用单播密钥对单播密钥与安全会话协商响应分组η7的数据通过HMAC-SHA256算法生成消息认证码,并验证该消息认证码是否与单播密钥与安全会话协商请求分组π6中的消息认证码字段一致,若一致,则执行步骤2.3.3 ;否则终止本次单播密钥协商和安全会话协商过程;
[0081]步骤2.3.3 =SIP服务器使用单播密钥来解密得到SIP终端的RTP/RTCP信息后保存起来,生成并封装单播密钥与安全会话协商确认分组η8。
[0082]进一步,步骤2.4中SIP终端对接收到单播密钥与安全会话协商确认消息Μ9进行验证的具体实现为,SIP终端对单播密钥与安全会话协商确认分组η8进行验证:
[0083]步骤2.4.1:检查单播密钥与安全会话协商响应分组中的MKID是否与单播密钥与安全会话协商请求分组π6中的MKID —致,若一致,则执行步骤2.4.2 ;否则终止本次协商过程;
[0084]步骤2.4.2:利用协商得到的单播密钥对单播密钥与安全会话协商确认消息M9中的消息认证码进行验证,如果正确则实现验证,否则验证不通过,终止本次协商过程。
[0085]进一步,所述步骤4中需要进行信息交互的SIP终端间通过点到点认证令牌交换进行双向身份认证,实现链路认证的具体步骤如下:
[0086]步骤4.1:两个SIP终端交换点对点认证令牌;
[0087]步骤4.2:两个SIP终端分别利用单播数据完整性密钥验证对方的点对点认证令牌中的单播数据消息认证码,验证通过,则执行步骤4.3 ;否则返回步骤4.1,并当执行预定次数后仍验证不通过的话则终止本次点对点认证过程;
[0088]步骤4.3:检查两SIP终端之间单播数据完整性密钥索引字段是否与自己当前所认同的一致,如果一致,则执行步骤4.4;否则返回步骤4.1,并当执行预定次数后仍验证不通过的话则终止本次点对点认证过程;
[0089]步骤4.4:检查对方的当前系统时间与自己的系统时间之差,如果在预定接受的范围内,则完成点对点认证令牌验证工作,实现点对点认证;否则返回步骤4.1,并当执行预定次数后仍验证不通过的话则终止本次点对点认证过程。
[0090]采用上述进一步方案的有益效果:基于之前的单播密钥与安全会话协商过程得到的安全会话信息,点对点认证令牌交换进行双向身份认证过程,可为接下来的视频安全传输建立一个可信会话通道,SIP终端之间的直接点对点认证操作,与现有基于SIP服务器的认证方式相比,大大减少了通信过程中的中间人攻击威胁。
[0091]进一步,步骤6中所述注销认证的具体过程如下:
[0092]步骤6.1 =SIP终端向SIP服务器发送注销请求消息Mll ;
[0093]步骤6.2 =SIP服务器收到注销请求消息Mll后生成一个挑战随机数nonce,并生成注销响应消息M12发给SIP终端;
[0094]步骤6.3:SIP终端按照以下方式计算并重新封装注销请求消息M13发送给SIP服务器;
[0095]HAl = SHA256[username realm password]
[0096]HA2 = SHA256[methodI | (to:field)]
[0097]Response = SHA256 [HAl nonce HA2]
[0098]其中,username为SIP终端的用户名,realm为SIP终端所属的SIP监控域;password为SIP终端的秘密口令;method为消息类型,to:field为接收者的账户信息,nonce为SIP服务器生成的随机数;
[0099]步骤6.4:SIP服务器验证挑战随机数nonce,从数据库中读取username所对应的password, SIP服务器按照与SIP终端相同的方式来计算得到Response’,并对比Response与Response’是否一致,若一致,则注销认证成功。
【专利附图】
【附图说明】
[0100]图1为本发明所述SIP安防视频监控系统结构图;
[0101]图2为本发明所述状态转换图;
[0102]图3为本发明所述一种接入SIP安防视频监控系统的身份认证方法流程图;
[0103]图4为本发明所设备及用户身份认证和单播密钥与安全会话协商流程示意图;
[0104]图5为本发明所述场景I运行状态转换图;
[0105]图6为本发明所述场景3运行状态转换图。
【具体实施方式】
[0106]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0107]如图1所示,设定网络中三个网络元素(A、B、C元),每一个元对应网络中的一类网络实体,解释如下:
[0108]A元SIP终端(支持SIP协议的SIP摄像机IPC、SIP网络硬盘录像机NVR、SIP用户客户端Client),即支持SIP信令协议的摄像机、网络硬盘录像机和用户客户端,由于SIP终端中都运行SIP会话所需的核心程序即SIP用户代理(SIP User Agent, SIP UA)程序,因此,在本专利中,SIP终端等同于SIP UA,SIP终端和SIP UA都是相对于SIP服务器来说的。其中,
[0109]SIP摄像机,本专利中简称为IPC,一种包括视频采集模块、视频处理模块及信息安全处理模块、视频存储模块、通信模块的网络摄像机。视频采集模块负责完成视频采集相关工作。视频处理模块负责对摄像机采集的媒体流数据进行预处理、压缩编码等相关工作。信息安全处理模块负责摄像机设备的身份鉴别,以及对媒体流数据、信令流数据进行加解密和数据完整性保护等安全操作。视频存储模块负责将经过处理后的媒体流数据进行本地存储。通信模块负责将经过处理后的媒体流数据、信令流数据等所有数据进行网络传输。
[0110]SIP网络硬盘录像机,本专利中简称NVR,提供实时媒体流(包括音/视频流)的转发服务,提供媒体流的存储、历史信息的检索和点播服务。媒体服务器接收来自SIP摄像机或其他媒体服务器等设备的密文媒体数据,并根据指令,将这些数据转发到其他单个或多个SIP用户客户端和SIP网络硬盘录像机。
[0111]SIP用户客户端,本专利中简称Client,具有接收、解密和播放码流等功能的客户端设备,主要包括用户界面、用户代理(SIP逻辑终端实体)、信息安全处理模块(如以USBKey形式存在)、媒体解码模块和媒体通信模块。
[0112]B元一SIP服务器(集SIP代理服务器、SIP重定向服务器、SIP位置服务器、SIP注册服务器等逻辑功能和实体为一体的SIP服务器平台),本专利中简称SIP Server,主要负责创建和维护SIP会话,并控制SIP终端的网络接入。
[0113]C元---后台网络的认证服务器Radius Server (也可为Diameter Server),本专利中简称认证服务器,负责为SIP终端和SIP服务器等网络实体签发公钥证书,并且作为在线可信第三方认证服务器,为其他网络实体提供实体身份鉴别服务。
[0114]在SIP服务器中运行有Radius client (或Diameter Client),负责与认证服务器Radius Server (或 Diameter Server)进行通信。
[0115]如图2所示。网络中的每一个设备为与自己直接通信的设备之间的通信维护两个状态变量:链路认证状态和会话关联状态。这两个变量为每个设备建立了三种状态:未链路认证未会话关联(初始状态)、已链路认证未会话关联、已链路认证已会话关联。
[0116]如图3所示,一种接入SIP安防视频监控系统的身份认证方法,包括如下步骤:
[0117]步骤1:需入网的SIP终端在SIP服务器处进行三元对等身份认证完成注册,获得入网权限;
[0118]步骤2:需要进行信息交互的SIP终端双方分别与SIP服务器进行单播密钥与安全会话协商;
[0119]步骤3 =SIP服务器分别向需要进行信息交互的SIP终端发送点到点链路信息,并下发相关密钥;
[0120]步骤4:需要进行信息交互的SIP终端间通过点到点认证令牌交换进行双向身份认证,实现链路认证;
[0121]步骤5:双向身份认证通过的SIP终端间开启会话,进行信息交互;
[0122]步骤6:当SIP终端要离开当前网络时,需要在其注册的SIP服务器上进行注销认证,认证通过则允许离开当前网络。
[0123]当SIP终端(IPC、NVR、Client)要在SIP Server处注册成为一个合法的设备时,SIP UA提前设置并经安全通道向SIP Server提交用户名和密码等信息,这个安全通道可以是一个安全的信道也可以是其他的物理手段,SIPUA的用户名和密码是鉴别其身份的一个辅助手段,其安全性不在本专利规定范围内。建议SIP UA的用户名和密码采取预置手段,即在SIP UA和SIPServer中都提前预置。SIP UA(IPC、NVR、Client)都离线安装认证服务器(Radius Server)的公钥证书。
[0124]SIP终端、SIP服务器、认证服务器都各自生成自己的公钥、私钥;认证服务器为自己签发自签名证书,并经安全方式下载到SIP终端和SIP服务器中;SIP终端、SIP服务器生成证书签发请求(包含自己的公钥)后发送给认证服务器,认证服务器响应证书签发请求,为SIP终端、SIP服务器签发公钥证书,并分别经安全方式将公钥证书下发给相应的证书持有者即SIP终端或SIP服务器。
[0125]下面分别介绍3个场景来具体阐述本发明所述方法的具体实现过程。
[0126]场景1:如图4、5所示,IPC向NVR上传视频数据的过程。
[0127]a) SIP UA(此处为NVR)在SIP服务器处经过三元对等身份认证之后完成注册,【(NVR VS SIP服务器)状态I —状态2,已链路认证、未会话关联】,该操作具体如下:
[0128]1)M1, SIP UA(此处为NVR)向SIP Server发送Register注册请求消息Ml:消息封装格式符合RFC3261SIP Register消息格式。
[0129]2)M2,SIP服务器向SIP UA(此处为NVR)发送响应消息M2:在SIP消息的MessageBody字段中填充三元对等认证过程中的认证激活分组(〈auth active packet〉)。
[0130]认证激活分组(〈auth active packet?定义如下:
[0131]
【权利要求】
1.一种接入SIP安防视频监控系统的身份认证方法,其特征在于,包括如下步骤: 步骤1:需入网的SIP终端在SIP服务器处进行三元对等身份认证完成注册,获得入网权限; 步骤2:需要进行信息交互的SIP终端双方分别与SIP服务器进行单播密钥与安全会话协商; 步骤3:SIP服务器分别向需要进行信息交互的SIP终端发送点到点链路信息,并下发相关密钥; 步骤4:需要进行信息交互的SIP终端间通过点到点认证令牌交换进行双向身份认证,实现链路认证; 步骤5:双向身份认证通过的SIP终端间开启会话,进行信息交互; 步骤6:当SIP终端要离开当前网络时,需要在其注册的SIP服务器上进行注销认证,认证通过则允许离开当前网络。
2.根据权利要求1所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,上述技术方案还包括设定认证有效期,当有效期届满时,两个SIP终端需要进行点对点重认证操作,具体实现为两个SIP终端之间交换点对点重认证令牌,按照初次认证的步骤进行重认证;当两个SIP终端需暂时关闭会话时,两个SIP终端需交换点对点会话关闭令牌,认证通过则关闭会话;当两个SIP终端要彻底关闭通信链路时,两个SIP终端除交换点对点会话关闭令牌之外,还需要交换点对点链路关闭令牌,认证通过时,彻底关闭链路。
3.根据权利要求1所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,所述SIP终端和SIP服务器中分别预存有认证服务器签发的公钥证书和相应的私钥,且均预存有认证服务器的公钥证书。
4.根据权利要求1所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,所述步骤I的具体实现为: 步骤1.1 =SIP终端向SIP服务器发送触发注册请求消息Ml ; 步骤1.2 =SIP服务器在收到SIP终端发送的触发注册请求Ml后,向所述SIP终端发送触发注册响应消息M2; 步骤1.3:所述SIP终端验证触发响应消息M2的合法性,若合法,向SIP服务器发送接入认证请求M3 ;否则返回步骤1.1 ; 步骤1.4:SIP服务器验证所述SIP终端发送的接入认证请求M3的合法性,若合法,SIP服务器向认证服务器发送证书认证请求M4,执行步骤1.5 ;否则,向SIP终端发送注册失败的信息,返回步骤1.1; 步骤1.5:认证服务器验证所述SIP服务器发送的证书认证请求M4的合法性,若合法,则生成验证结果并对验证结果签名,将携带已签名的验证结果的证书认证响应消息M5发送给SIP服务器,执行步骤1.6 ;否则,向SIP服务器发送证书认证失败的信息,返回步骤1.1 ; 步骤1.6:SIP服务器验证证书认证响应消息M5的合法性,若合法,则验证认证服务器对证书验证结果的签名字段的合法性,若合法,则查看证书验证结果字段中SIP终端的证书验证结果,根据此字段来决定是否允许SIP终端接入,进而封装得到接入认证响应消息M6并发送给SIP终端,执行步骤1.7 ;否则,向认证服务器发送认证失败的信息,返回步骤
1.1; 步骤1.7:SIP终端验证接入认证响应消息M6的合法性,若合法,则验证认证服务器对则证书验证结果的签名字段的合法性,若合法,则查看证书验证结果字段中SIP服务器的证书验证结果,根据此字段决定是否接入该SIP服务器,如决定接入该SIP服务器,则进入待会话状态;否则,向SIP服务器发送认证失败的信息,返回步骤1.1。
5.根据权利要求4所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,所述触发响应消息M2携带认证激活分组nl,注册请求M3携带接入认证请求分组n2,所述证书认证请求M4携带证书认证请求分组n3,所述证书认证响应消息M5携带证书认证响应分组n4,所述接入认证响应消息M6携带接入认证响应分组n5 ; 所述认证激活分组nl包括标识FLAG、认证标识、SIP服务器生成的随机数,认证激活时间、相应的认证服务器账号、E⑶H曲线相关参数、SIP服务器的公钥证书和SIP服务器签名; 所述接入认证请求分组n2包括标识FLAG、认证标识、SIP终端生成的随机数、SIP密钥数据、认证激活分组nl中的SIP服务器生成的随机数、SIP服务器账号、E⑶H曲线相关参数、SIP终端证书和SIP终端签名; 所述证书认证请求分组n3包括ADDID地址索引、n2中SIP终端生成的随机数、nl中SIP服务器生成的随机数、SIP终端证书、SIP服务器证书和SIP服务器签名; 所述证书认证响应分组n4包括ADDID地址索引、证书验证结果、认证服务器对证书验证结果字段的签名和认证服务器对本数据包的签名; 所述接入认证响应分组n5包括标识FLAG、认证标识、n2中SIP终端生成的随机数、SIP终端密钥、nl中SIP服务器生成的随机数、SIP服务器密钥、接入结果、证书验证结果、认证服务器对证书验证结果的签名和SIP服务器签名。
6.根据权利要求5所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,所述认证激活分组nl、接入认证请求分组n2和接入认证响应分组n5中的认证标识字段计算方式为:
auth_id=S\ IA256(/7SIi, So,.ver 十 A/.s'.s'H’ori/SII, 十 77/m:1ve) 其中,nSIP Server为SIP服务器生成的随机数,Passwordsip UA为预置在SIP终端和SIP服务器内的对应于SIP终端的用户名密码,Timeactive为认证激活时间。
7.根据权利要求5所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,所述SIP服务器签名为SIP服务器用私钥对相应分组所有字段的签名;SIP终端签名为SIP终端用私钥对相应分组所有字段的签名。
8.根据权利要求5所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤1.3中SIP终端验证触发注册响应消息M2的合法性的具体实现为,SIP终端对认证激活分组η I进行验证: 步骤1.3.1:利用SIP服务器公钥证书中的公钥验证SIP服务器签名,验证通过则执行步骤1.3.2 ;否则终止本次注册操作,解除链路; 步骤1.3.2:将认证激活时间与该SIP终端的系统时间相比,验证认证激活时间是否在预定接受范围内,如果是,执行步骤1.3.3 ;否则终止本次注册操作,解除链路; 步骤1.3.3:按照与SIP服务器约定的方法计算认证标识,并与认证激活分组nl中相应字段进行比较,若一致则生成SIP终端随机数和SIP终端密钥数据,并封装得到接入认证请求分组n2 ;否则终止本次注册操作,解除链路。
9.根据权利要求5所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤1.4中SIP服务器验证所述SIP终端发送的接入认证请求M3的合法性的具体实现为,SIP服务器对接入认证请求分组n2进行验证: 步骤1.4.1:利用SIP终端公钥证书中的公钥对SIP终端签名进行验证,验证通过,则执行步骤1.4.2 ;否则终止本次注册操作,解除链路; 步骤1.4.2:检测SIP服务器随机数是否与认证激活分组nl中的SIP服务器生成的随机数一致,如果一致则执行步骤1.4.3 ;否则终止本次注册操作,解除链路; 步骤1.4.3:验证SIP服务器身份账号是否与自己本身账号一致,若一致则生成并封装证书认证请求分组n3 ;否则终止本次注册操作,解除链路。
10.根据权利要求5所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤1.5中认证服务器验证所述SIP服务器发送的证书认证请求M4的合法性的具体实现为,认证服务器对证书认证请求分组n3进行验证; 步骤1.5.1:利用认证服务器本地保存的SIP服务器公钥证书副本中的公钥对SIP服务器签名进行验证,验证通过,则执行步骤1.5.2 ;否则终止本次认证操作,解除链路; 步骤1.5.2:分别验证SIP终端证书和SIP服务器证书,验证通过,则执行步骤1.5.3 ;否则终止本次认证操作,解除链路; 步骤1.5.3:生成证书验证结果,并利用认证服务器的私钥对证书验证结果签名,生成并封装证书认证响应分组n4。
11.根据权利要求5所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤1.6中SIP服务器验证证书认证响应消息M5的合法性的具体实现为,SIP服务器对证书认证响应分组n4进行验证: 步骤1.6.1:利用认证服务器公钥证书副本中的公钥对证书认证响应分组n4中认证服务器签名进行验证,验证通过,则执行步骤1.6.2 ;否则终止本次注册的后续操作,解除链路; 步骤1.6.2:检测SIP终端随机数和SIP服务器随机数与证书认证请求分组n3中的相应字段是否一致,若一致,则执行步骤1.6.3 ;否则终止本次注册的后续操作,解除链路; 步骤1.6.3:提取证书验证结果字段和认证服务器对证书验证结果字段的签名两个字段,查看SIP终端的证书验证结果来决定是否允许接入,如果允许,执行步骤1.6.4 ;否则执行步骤1.6.5 ; 步骤1.6.4:生成密钥材料和SIP终端的接入成功结果,生成并封装接入认证响应分组n5,且SIP服务器按照主密钥导出算法来计算得到主密钥和下一次认证标识字段; 步骤1.6.5:生成SIP终端的接入失败结果,生成并封装接入认证响应分组n5。
12.根据权利要求5所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤1.7中SIP终端验证接入认证响应消息M6的合法性的具体实现为,SIP终端对接入认证响应分组n5进行验证: 步骤1.7.1:利用SIP服务器公钥证书副本中的公钥对SIP服务器签名进行验证,验证通过,则执行步骤1.7.2 ;否则终止本次注册后续操作,解除链路; 步骤1.7.2 =SIP终端随机数和SIP服务器随机数与证书认证请求分组n3或认证激活分组nl中的相应字段是否一致,若一致,则执行步骤1.7.3 ;否则终止本次注册后续操作,解除链路; 步骤1.7.3:取出证书验证结果字段以及认证服务器对证书验证字段的签名字段,利用认证服务器公钥证书副本中的的公钥来验证上述签名字段的正确性,验证通过,则执行步骤1.7.4 ;否则终止本次注册后续操作,解除链路; 步骤1.7.4:查看SIP服务器证书验证结果字段和接入结果字段,如果SIP服务器证书验证结果正确并且接入结果也为允许,则SIP终端按照与SIP服务器相同的主密钥导出算法来计算得到主密钥和下一次认证标识字段。
13.根据权利要求1所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,所述步骤2的具体实现如下: 步骤2.1 =SIP服务器向SIP终端发送单播密钥和安全会话协商请求M7 ; 步骤2.2 =SIP终端对接收到的单播密钥和安全会话协商请求M7进行验证,验证通过,则生成单播密钥和安全会话协商响应消息M8,并发送给SIP服务器; 步骤2.3:SIP服务器对接收的单播密钥和安全会话协商响应消息M8进行验证,验证通过,则生成单播密钥与安全会话协商确认消息M9,并发送给SIP终端; 步骤2.4 =SIP终端对接收到单播密钥与安全会话协商确认消息M9进行验证,验证通过,向SIP服务器发送确认消息M10。
14.根据权利要求13所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,所述单播密钥和安全会话协商请求M7携带单播密钥与安全会话协商请求分组n6,所述单播密钥和安全会话协商响应消息M8携带单播密钥和安全会话协商响应分组n7,所述单播密钥与安全会话协商确认消息M9携带单播密钥与安全会话协商确认分组n8 ; 所述单播密钥与安全会话协商请求分组n6包括MKID、ADDID地址索引、SIP服务器生成的随机数和SIP服务器签名; 所述单播密钥和安全会话协商响应分组n7包括标识FLAG、MKID、ADDID地址索引、SIP终端生成的随机数、SIP服务器生成的随机数、SIP终端的RTP/RTCP信息和单播数据消息认证码MIC ; 所述单播密钥与安全会话协商确认分组n8包括标识FLAG、MKID、ADDID地址索引、SIP终端生成的随机数、密钥协商结果和单播数据消息认证码MIC ; 其中,MKID为主密钥ID。
15.根据权利要求14所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤2.2中SIP终端对接收到的单播密钥和安全会话协商请求M7进行验证的具体实现为,SIP终端对单播密钥和安全会话协商分组n6进行验证: 步骤2.2.1:利用SIP服务器证书的公钥验证SIP服务器签名,验证通过,则执行步骤2.2.2 ;否则终止本次单播密钥协商和安全会话协商过程; 步骤2.2.2:按照双方约定的算法来计算MKID,并验证其是否与单播密钥与安全会话协商请求分组n6相应字段一致,若一致,则执行步骤2.2.3 ;否则终止本次单播密钥协商和安全会话协商过程; 步骤2.2.3:生成新的随机数,并按照约定的单播密钥导出算法来计算得到单播密钥,生成并封装单播密钥与安全会话协商响应分组π7。
16.根据权利要求14所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤2.3中SIP服务器对接收的单播密钥和安全会话协商响应消息Μ8进行验证的具体实现为,SIP服务器对单播密钥与安全会话协商响应分组η7进行验证: 步骤2.3.1:检查单播密钥与安全会话协商响应分组η7中的MKID是否与单播密钥与安全会话协商请求分组π6中的MKID —致,若一致,则执行步骤2.3.2 ;否则终止本次单播密钥协商和安全会话协商过程; 步骤2.3.2:按照双方约定的单播密钥导出算法计算得到单播密钥,利用单播密钥对单播密钥与安全会话协商响应分组η7的数据通过HMAC-SHA256算法生成消息认证码,并验证该消息认证码是否与单播密钥与安全会话协商请求分组π6中的消息认证码字段一致,若一致,则执行步骤2.3.3 ;否则终止本次单播密钥协商和安全会话协商过程; 步骤2.3.3 =SIP服务器使用单播密钥来解密得到SIP终端的RTP/RTCP信息后保存起来,生成并封装单播密钥与安全会话协商确认分组π8。
17.根据权利要求14所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤2.4中SIP终端对接收到单播密钥与安全会话协商确认消息Μ9进行验证的具体实现为,SIP终端对单播密钥与安全会话协商确认分组η8进行验证: 步骤2.4.1:检查单播密钥与安全会话协商响应分组中的MKID是否与单播密钥与安全会话协商请求分组η6中的MKID —致,若一致,则执行步骤2.4.2 ;否则终止本次协商过程; 步骤2.4.2:利用协商得到的单播密钥对单播密钥与安全会话协商确认消息Μ9中的消息认证码进行验证,如果正确则实现验证,否则验证不通过,终止本次协商过程。
18.根据权利要求1所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,所述步骤4中需要进行信息交互的SIP终端间通过点到点认证令牌交换进行双向身份认证,实现链路认证的具体步骤如下: 步骤4.1:两个SIP终端交换点对点认证令牌; 步骤4.2:两个SIP终端分别利用单播数据完整性密钥验证对方的点对点认证令牌中的单播数据消息认证码,验证通过,则执行步骤4.3 ;否则返回步骤4.1,并当执行预定次数后仍验证不通过的话则终止本次点对点认证过程; 步骤4.3:检查两SIP终端之间单播数据完整性密钥索引字段是否与自己当前所认同的一致,如果一致,则执行步骤4.4 ;否则返回步骤4.1,并当执行预定次数后仍验证不通过的话则终止本次点对点认证过程; 步骤4.4:检查对方的当前系统时间与自己的系统时间之差,如果在预定接受的范围内,则完成点对点认证令牌验证工作,实现点对点认证;否则返回步骤4.1,并当执行预定次数后仍验证不通过的话则终止本次点对点认证过程。
19.根据权利要求1所述一种接入SIP安防视频监控系统的身份认证方法,其特征在于,步骤6中所述注销认证的具体过程如下: 步骤6.1 =SIP终端向SIP服务器发送注销请求消息Mll ; 步骤6.2 =SIP服务器收到注销请求消息Mll后生成一个挑战随机数nonce,并生成注销响应消息M12发给SIP终端; 步骤6.3:SIP终端按照以下方式计算并重新封装注销请求消息M13发送给SIP服务器;
HAl = SHA256[username I |realm| |password]
HA2 = SHA256[method | (to:field)]
Response = SHA256[HAl nonce HA2] 其中,username为SIP终端的用户名,realm为SIP终端所属的SIP监控域;password为SIP终端的秘密口令;meth0d为消息类型,to:field为接收者的账户信息,nonce为SIP服务器生成的随机数; 步骤6.4:SIP服务器验证挑战随机数nonce,从数据库中读取username所对应的password, SIP服务器按照与SIP终端相同的方式来计算得到Response’,并对比Response与Response’是否一致,若一致,则注销认证成功。
【文档编号】H04L9/32GK104168267SQ201410354390
【公开日】2014年11月26日 申请日期:2014年7月23日 优先权日:2014年7月23日
【发明者】吕世超, 卢翔, 潘磊, 周新运, 朱红松, 石志强, 江再伟 申请人:中国科学院信息工程研究所