IPTV终端网管鉴权系统的设计与实现

2017-02-09 05:20李志华黎作鹏
电视技术 2017年1期
关键词:鉴权网管报文

李志华,孙 亚,黎作鹏

(河北工程大学 信息与电气工程学院,河北 邯郸 056038)

IPTV终端网管鉴权系统的设计与实现

李志华,孙 亚,黎作鹏

(河北工程大学 信息与电气工程学院,河北 邯郸 056038)

根据目前IPTV业务的安全性目标和需求,针对IPTV终端网管系统中未授权用户非法接入和业务权限控制问题,采用HTTP摘要认证机制和SSL/TLS协议结合RSA非对称加密算法,设计并实现了一套终端网管鉴权系统。经过测试分析,鉴权系统满足终端设备身份和业务权限鉴权的需求,提高了系统的安全性。

IPTV终端网管;鉴权;SSL/TLS;摘要认证

随着三网融合进程的推进及IP技术的发展,IP语音(VoIP)、交互式网络电视(IPTV)业务成为广电行业关注的焦点。IPTV作为下一代通信网络的重要业务,其利用宽带IP网络为用户提供包括电视、视频等多元化的综合应用服务[1]。IPTV业务充分发挥了传统电视和互联网两者的优势,是数字电视行业发展的必然选择。

然而,正是因为IPTV业务充分利用宽带IP网络为用户提供可交互多媒体服务的特性,使其具备了公众传媒的社会属性,网络安全问题随之产生。在现有的IPTV终端网管系统中,面临的安全威胁主要有4个方面:1)信息内容的安全威胁;2)IPTV业务运营的安全威胁;3)分发网络的安全威胁;4)用户资产的安全威胁[2]。因此,解决IPTV业务中的安全问题具有重要意义。

本文针对用户身份认证和业务权限控制两方面,设计并实现了一套IPTV终端网管鉴权系统。该系统采用HTTP摘要认证机制以及SSL/TLS协议结合RSA算法分别实现对用户身份和业务功能的鉴权,满足了当前IPTV业务的安全性目标和需求。此系统在业务层面主要针对机顶盒直播、点播和广域网、局域网分发分享权限实现,后续很容易扩展到其他业务或资源。

1 IPTV终端网管系统安全性分析

1.1 IPTV终端网管系统

本文所设计的鉴权系统主要是针对广电的IPTV终端网管系统,所以在安全分析之前首先介绍终端网管系统的基本架构。该系统基于TR069协议实现对终端设备(CPE)的远程管理,主要由南北两个接口提供对用户的业务服务[3]。其中第三方业务功能系统与自动配置服务器(ACS)之间的接口为北向接口,主要用于业务管理系统向ACS发送业务开通和变更的指令;ACS与CPE之间的接口为南向接口,是TR069协议的主要实现部分,完成对CPE的远程管理。其中CPE主要通过局域网连接到Internet,系统实现网络结构如图1所示。

图1 终端网管系统网络结构图

1.2 IPTV终端网管系统的网络安全性分析

随着IPTV业务的迅速展开,越来越多的CPE被引入到网络中。大部分IPTV业务的实现都通过网络提供给用户,而网络上的传输非常不安全。恶意的网络攻击者可能窃听和篡改网络中的数据,甚至伪装成合法用户传送消息[4]。在IPTV终端网管系统中,基于TR069协议的ACS和CPE通信时,只是进行了简单的HTTP基本认证并不是真正意义上的密文传送,这样传送的消息很容易被窃取或篡改引起不必要的损失。

通常在Internet中存在的安全问题主要涉及2个方面:1)信息保密性,防止网络攻击者窃取重要数据信息。2)认证鉴别问题,确保身份的合法和真实性,防止非法用户冒充和篡改重要信息。针对IPTV终端网管系统的应用环境,其面临的安全问题主要表现为如下4点:

1)未授权用户接入

由于IPTV终端网管系统主要实现对CPE的远程管理包括用户参数自动配置、软硬件映像管理与升级、状态性能监控和故障诊断等功能。未授权非法用户通过窃取用户数据信息包括用户名和密码冒充登录终端网管系统并对CPE进行非法控制,这是终端网管系统面临的最大安全威胁[4]。

2)数据信息监听和窃取

终端网管系统在进行业务分发的时候是通过Internet服务于用户,在网络传输的过程中数据很可能被监听。由于传送的数据可能包括终端设备参数、用户信息和各种业务控制命令。这些都是非常重要的数据信息,不能以明文的形式传输于网络中,必须要经过加密处理。

3)信息帧重放

信息帧重放主要是攻击者对窃取的数据进行复制,然后对数据进行重新发送,实现对终端设备的非法控制及操作,信息帧重放造成的危害程度和上述未授权用户接入类似。

4)病毒感染

由于终端网管系统采用Linux操作系统作为开发系统,安全性问题相对于Windows操作系统有一定的保障,但是系统中应用了很多相关的网络服务,例如Apache服务器、FTP、SMTP等[4-5],这就可能引发网络安全问题,遭到网络病毒的侵害,导致系统的瘫痪。

经过上述终端网管系统的安全性分析可知,非授权用户非法接入和数据信息监听窃取,实现对CPE的非法控制是目前最亟待解决的问题。

2 HTTP摘要认证和SSL/TLS协议

基于以上终端网管系统的网络安全性分析,结合终端网管系统基于TR069协议实现的特点,鉴权系统主要采用HTTP摘要认证和SSL/TLS协议分别实现对用户身份认证和业务权限控制。

在HTTP协议中,对于很多Web应用多数采用的是HTTP基本认证。基本认证是客户端访问服务器时的一种登录验证方式。其实现主要是将用户名和密码经Base64编码,将编码的字符串发送给服务器。但是Base64编码并不是真正实现对用户信息加密,只是为了兼容HTTP协议转换的一种数据格式。

相对于HTTP基本认证,HTTP摘要认证在用户信息发送前采用不可逆MD5算法对数据进行加密,提高了数据信息传输的安全性。它基于质询-响应结构,采用C/S模式。质询报文包括随机数nonce、作用域realm等信息。Client将相关信息经函数F运算后生成响应报文response,并将其发送给Server继续请求,Server将收到的响应报文与预期的进行比较就可知该Client的身份是否合法[6]。函数F为摘要算法,此处采用MD5,简单易行,对终端设备性能要求较低,降低了开发难度。

安全套接层协议(Security Socket Layer Protocol,SSL)是Netscape公司提出的一种Web安全通信协议。传输层安全协议(Transport Layer Security,TLS)则是Internet工程工作小组(Internet Engineering Task Force,IETF)将SSL作了标准化形成的协议,后来统称为SSL/TLS协议。此协议是介于HTTP和TCP之间的一个可选协议,为端到端的通信提供了私密性和可靠性保证。由于该协议是一个完全独立的应用协议,在实际应用中不会对原有功能产生影响[5]。因此,本文的业务鉴权利用此协议来实现。在上述摘要认证通过之后,SSL/TLS相当于加密的安全通道,采用非对称加密算法-RSA,实现对业务信息的加解密。

3 系统总体设计与实现

终端网管鉴权系统设计工作包括Web鉴权页面的创建、ACS端和CPE端开发3个方面。具体过程为:将机顶盒信息管理的Web页面部署到开发服务器上,作为后台管理平台;对于任何一个接入网络的CPE,增加鉴权RPC方法,实现业务功能的鉴权。系统的总体框图如图2所示。

图2 终端网管鉴权系统框架图

3.1 终端设备身份鉴权

身份鉴权即机顶盒连接服务器时的合法性认证过程。机顶盒终端模块主要包括输入/输出模块、摘要认证模块、HTTP解析/构造模块、SOAP解析/封装模块、RPC方法处理模块、事务交互模块、错误处理模块七大模块[7]。机顶盒的输入/输出模块负责上传鉴权所需的数据信息,摘要认证模块负责机顶盒与后台管理系统建立安全连接[7-8]。根据TR069协议规定,CPE在请求与ACS建立连接时,必须经过身份合法认证,本文采用了HTTP摘要认证,其实现简单,对机顶盒性能要求较低。机顶盒主动发起Http Digest认证流程如图3所示。

图3 身份鉴权认证流程图

CPE主动发起连接,其通过发起HTTP Digest Authentication请求建立与终端网管系统的认证连接。终端管理系统会要求进行HTTP Digest Authentication 认证,认证通过则建立连接。

1)盒端(CPE)首先发送不带Digest验证头的Inform请求报文,ACS收到上述报文后,发现没有认证消息(带有Authorization:标识的报文),然后发送401错误报文,对盒端发送不带验证头的Inform请求报文验证过程如图4所示。

图4 Inform Response认证失败报文(截图)

2)CPE收到报文后,经过分析得到错误码401,每得到一次错误码,ACS都会更新随机值nonce,加强了传输过程的安全性。经测试得到的响应报文中含有WWW-Authenticate:Digest字段,而且包含realm,nonce,qop字段,将其字段的值存储下来,程序开发中将cwmp.conf文件中的acs_auth设置成1,并设置acs_username和acs_password。通过函数http_da_post_header解析出ACS发送的nonce,qop等值,然后将本地文件存储的realm(本地存储的realm必须与收到的realm一致)和解析出来的值通过http_da_calc_HA1函数生成加密的字符串并存入response字段,并将这些信息组合到报文头部,最后发送给ACS。

3)ACS收到上述报文后,确认其含Authorization:字段,并且Authorization:字段中的response的值正确,那么认证通过,认证通过的回应报文如图5所示。

图5 Inform Response认证成功报文(截图)

4)设备身份鉴权成功,CPE收到回复报文后,分析为验证通过报文,包含200成功认证响应码,发送一个Inform为空的确认报文,当ACS收到此空报文时即可向CPE发送业务功能请求,实现相应的功能,下面介绍的业务功能鉴权也是基于此实现的。

3.2 业务功能鉴权

业务功能鉴权是对TR069协议功能的扩展,主要功能是判断用户是否具有执行相应功能的权限[9]。功能实现主要采用SSL/TLS协议结合RSA加密算法,ACS和CPE之间的交互都是通过密文形式,保证了业务功能实现的安全性。

实现鉴权功能需要依托TR069协议框架。和实现其他基本业务一样,需要封装对应的RPC方法。当用户执行直播、点播或分发分享业务就会向服务器发送鉴权请求,判断是否有权限进行相应的操作,图6为业务功能鉴权框图。下面详细介绍业务功能鉴权实现的步骤及方法。

图6 业务功能鉴权框图

1)生成RSA密钥对。选择Linux系统,下载OpenSSL软件包,输入如下命令genrsa -out rsa_private_key.pem 1024,此命令实现了1 024位私钥的生成;输入命令pkcs8-topk8-inform PEM-in rsa_private_key.pem-outform PEM-nocrypt,将私钥转换成PKCS8格式;输入命令rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,根据私钥生成对应的公钥,完成密钥对的生成。

2)检查数据库密钥。通过封装CheckRSAkey方法,依据机顶盒上传的参数,查看对应机顶盒数据库中密钥值是否为空,为空则发送RequestKey请求,按照SOAP报文格式,构造RequestKey请求。

3)鉴权功能实现。用户需要执行分发分享业务时,客户端发送authentication请求,请求报文采用RSA算法对业务名称进行加密发送给ACS;ACS接收到报文进行解析并解密,得到Vod & Live & Wan& Lan代表点播、直播、广域网、局域网分发分享;这些字段和数据库字段相对应,根据解析出来的信息查询数据库中对应值;数据库的值用0或1表示,0代表无对应权限,1代表有对应的权限,操作简单,容易理解;将查询出来的值拼接成如0&1&0&1字符串,并用公钥加密封装authenticationResponse响应发送到CPE,即可完成鉴权功能。

4 测试及分析

本文基于现有的IPTV终端网管系统,完善了机顶盒终端的身份和业务鉴权功能。为了验证鉴权功能的有效性,笔者利用WireShark抓包工具分别对未加入鉴权机制和加入鉴权机制的网络数据包进行分析。首先将配置有TR069协议的机顶盒连接到基于Linux系统的PC上,并启动开发的后台终端网管系统,在CPE向ACS请求连接时需进行认证,在输入用户名和密码后通过WireShark抓包得到的结果如图7所示。

图7 用户连接抓包结果图(截图)

为了进一步证明鉴权系统对用户信息的安全性保证,对网络数据包中的数据进行展开分析。图8和图9分别为加入鉴权机制和未加入鉴权机制的详细数据分析。通过分析可得,加入鉴权机制的系统保证了用户数据信息以密文格式传到服务器,可以有效防止网络攻击者的攻击,未采用鉴权机制的是以明文形式传输,很容易遭到攻击与窃取。

图8 加入鉴权机制数据包(截图)

图9 未加入鉴权机制数据包(截图)

根据图8和图9 数据包对比显示,本系统能够通过HTTP摘要认证机制保证用户信息的安全性,实现用户的合法性认证,具有一定的实用性。

5 小结

本文开发的鉴权系统完善了IPTV终端网管系统,实现了对终端设备身份和业务鉴权功能,该系统加强了终端网管系统的安全性,解决了IPTV业务中非法用户接入和信息内容安全性问题。经测试,该功能有效地满足了广域网环境中IPTV业务发展需求,同时对大网络环境下数据信息传输安全问题提供了理论和实践支持。

[1] 蒋力,邓竹祥. IPTV与OTT TV业务的发展现状及趋势[J].电信科学,2013(4):8-11.

[2] 谢玮. IPTV业务安全需求与架构研究[J].电信科学,2007(4):41-44.

[3] 郭先会,曾浩,李致兴. TR069协议在IPTV终端管理系统中的研究与应用[J].电视技术,2011,35(5):54-56.

[4] 赵跃华,杜云海,包明国,等.基于身份认证的嵌入式Web网关安全机制的实现[J].计算机工程,2004,30(23):111-113.DOI:10.3969/j.issn.1000-3428.2004.23.042.

[5] 彭焕峰. 一种基于改进的HTTP摘要认证的SIP安全机制[J]. 微型机与应用,2011(6):53-55.

[6] 董海韬,田静,杨军,等. 适用于网络内容审计的SSL/TLS保密数据高效明文采集方法[J]. 计算机应用,2015(10):2891-2895.

[7] 邓晓军,贺迅宇. SSL/TLS握手协议的分析与研究[J]. 现代计算机(专业版),2008(4):10-12.

[8] NSIAH A K,SIKORA A,WALZ A,et al. Embedded TLS 1.2 implementation for smart metering & smart grid applications[J]. Journal of electronic science and technology,2015(4):373-378.

[9] 付超,曹祁生. 基于TR-069协议的配置管理功能研究与应用[J].电视技术,2012,36(23): 94-96.

李志华(1978— ),女,副教授,副院长,主要研究方向为物联网与无线传感网、煤矿综合信息化;

孙 亚(1990— ),女,硕士生,主研物联网与无线传感网;

黎作鹏(1979— ),博士,讲师,主要研究方向为物联网与无线传感网。

责任编辑:许 盈

Design and implementation of IPTV terminal network management authentication system

LI Zhihua, SUN Ya,LI Zuopeng

(SchoolofInformationandElectricEngineering,HebeiUniversityofEngineering,HebeiHandan056038,China)

According to the goal and requirements of security on IPTV services, in view of the problem of illegal access for unauthorized users and business authorization control, the system of IPTV terminal network management authentication is designed and implemented using HTTP digest authentication mechanism and SSL/TLS protocol combined with RSA asymmetric encryption algorithm. Through the tests and analysis, the authentication system can meet the requirements of the terminal equipment identity and business authority authentication, and improves the security of the system.

IPTV terminal management; authentication; SSL/TLS; summary authentication

李志华,孙亚,黎作鹏. IPTV终端网管鉴权系统的设计与实现[J].电视技术,2017,41(1):18-22. LI Z H,SUN Y,LI Z P. Design and implementation of IPTV terminal network management authentication system [J].Video engineering,2017,41(1):18-22.

TN949;TN915

A

10.16280/j.videoe.2017.01.004

河北省教育厅科学研究计划项目(QN2015046)

2016-07-11

猜你喜欢
鉴权网管报文
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
ATS与列车通信报文分析
移动网络用户频繁鉴权问题的优化方案探讨
“五制配套”加强网管
基于小型核心网的LTE鉴权的一种新实现
发射机房网管系统的设计原则及功能
网管支撑系统运行质量管控的研究与实现
从网管系统到网管云:论网管集约化的建设思路