APP下载

一种EPG防篡改机制的研究

2022-04-25解文龙卢金禹华博谷阳王同庆

电子元器件与信息技术 2022年2期
关键词:分支河北客户端

解文龙,卢金禹,华博,谷阳,王同庆

(河北广电无线传媒股份有限公司,河北 石家庄 050011)

关键字:河北IPTV;防篡改;EPG;安全性

0 引言

随着河北IPTV用户在近几年的快速发展,目前用户规模已达1700万户,成了重要的播控媒介。对于EPG的播出安全、防止内容被非法篡改尤为重要。EPG主要功能是为用户收看电视节目和享受信息服务提供一个良好的导航机制,使用户能够方便快捷地找到自己关心的节目,查看节目的附加信息。2019年,河北广电总局下达了建设总平台EPG管理系统的任务,各省新媒体对接分平台EPG管理系统的任务,其中要求各省新媒体公司在EPG管理系统中保障部署的服务器、模板信息满足防篡改的要求[1]。河北IPTV平台中,EPG服务器在运营商机房内。如何对庞大的EPG服务器的内容进行监管、如何保证内容的修改是河北IPTV授权的修改内容成为急需解决的问题。本文将针对这些问题进行探讨。

1 解决方案

1.1 相关技术词汇

EPG是electronic program guide的英文缩写,意思是电子节目菜单,IPTV所提供的各种业务的索引及导航都是通过电子节目指南系统来完成的;IPTV是交互式网络电视。IPTV既不同于传统的模拟式有线电视,也不同于经典的数字电视。它是在运营商宽带网传输的新媒体;C1是河北IPTV与移动、联通、电信运营商约定的文件分发接口,通过C1接口将EPG模板文件由河北IPTV推送至运营商各EPG分支服务器;SP是Content Provider服务提供商的简称;CP是Content Provider内容提供商的简称;RSA是公开密钥密码体制,是一种使用不同的加密密钥与解密密钥“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制;STB是数字视频变换盒(set top box)。

1.2 EPG系统架构

目前全国各省的IPTV系统架构图如图1所示。IPTV借助运营商的通信网络,开发人员通过协定好的数据派发接口C1将EPG模板页面推送至EPG核心服务器,经由EPG核心服务器向各EPG分支服务器推送,然后通过EPG分支服务器分发至电视终端机顶盒,向电视终端用户提供媒体服务。EPG分支服务器直接面向电视终端提供EPG模板页面,获取媒体服务。通过EPG服务器向电视用户提供服务。EPG服务器部署在运营商侧,通过EPG核心节点获取引入节目源、CP(Content Provider)提供内容源,通过EPG分支节点将节目源,页面等服务提供给电视用户。

图1 IPTV 系统架构图

IPTV从系统架构上就带来了广电侧对EPG核心服务器以及EPG分支服务器的内容安全把握度较低的不足。全国绝大部分省份中,EPG核心服务器以及EPG分支服务器由运营商维护,这就引发了广电侧无法及时监控服务器上的文件变动的情况,所有文件的下发均通过C1接口进行分发,再反馈下发结果。下发后的文件信息无法持续追踪,造成了安全隐患[2],例如,不法分子通过控制位于电视终端的分支服务器,篡改播放内容,违规违法播放敏感视频等。

各省份IPTV传媒公司通过C1接口将页面修改文件推送至电信运营商EPG核心节点,并分发至EPG分支接点,由此可以很明显地得出结论,EPG文件防篡改的关键在于检测EPG分支接点的文件是否是授权的变动。

1.3 EPG文件防篡改系统架构

EPG模板文件防篡改系统,包括EPG防篡改服务器和EPG防篡改客户端系统,所述EPG防篡改服务器配置于系统管理端,所述EPG防篡改客户端配置于EPG分支服务器。EPG防篡改服务器与EPG防篡改客户端之间的数据传输通道依赖于传统IPTV网络构建[3]。

本系统由EPG主系统,EPG分支接点部署的防篡改客户端、文件系统、数据库、可视化系统组成,如图2所示。EPG防篡改主系统通过与各运营商开放的业务端口与部署在EPG分支系统中系统进行消息通信;通过调取C1接口的下发数据更新本地文件系统授权文件树,并将异动、客户端系统心跳信息进行数据库存储,并在可视化系统中展现。

图2 EPG 文件防篡改系统架构逻辑图

EPG防篡改主系统通过与架设在EPG分支系统中的客户端系统心跳(heart beat)消息进行通信,用来检测客户端系统的运行状态。客户端系统实时扫描EPG模板页面所在目录,若发生文件变化,发送消息到防篡改主系统进行文件授权检测。文件授权检测为本系统通过检测文件系统维护的C1授权文件树,通过自有算法将C1接口下发数据及文件信息进行维护,最小化地减少文件的重复获取及最快速地获取监测信息。若发现异动文件,本系统同样维护了一张异动文件的文件树,并将文件路径根据各时段检测到的移动信息一并存储至数据库。所有系统中的数据传输均在运营商和河北IPTV内网链路中。EPG防篡改服务器和EPG防篡改客户端还都设有交互控制器、RSA密文校验模块,用来对EPG防篡改服务器和EPG防篡改客户端之间的交互信息进行加解密和数据校验,保证数据通道的安全,防止消息及接口功能被劫持。

2 关键技术

2.1 心跳消息

由于EPG分支系统部署在运营商机房,设备的网关信息广电侧并不能检测。运营商考虑到设备安全的因素,设备本身的管理端SSH(secure shell)方式在部署完防篡改客户端后会关闭。如何保障在所有EPG服务器的分支服务器内部署的防篡改客户端系统的稳定运营,检测运行状态等信息就带来了各种待解决的问题。本系统通过EPG防篡改主系统与架设在EPG分支系统中的客户端系统维护一条定时心跳信息,用来检测系统的运行状态,实现对各分支客户端系统的状态进行检测,若运行异常,需要排查,以确保防篡改系统的稳定运行。心跳消息通过河北IPTV非对称加密算法进行加密,满足心跳消息在传输链路中的安全。

当系统检测到心跳消息中断,会立刻告警至负责人,将心跳消息中断的服务器信息通过内部邮箱推送至相关负责人,并启动河北IPTVEPG管理应急机制。河北IPTVEPG管理应急机制与本文讨论的内容无关,本文不再详述。

2.2 文件实时监控

E P G 系统中有大量的模板文件,例如H T M L、JavaScript、CSS、JPEG等静态文件。移动、联通、电信有上千台EPG服务器。如何对有这庞大文件数量、庞大服务器数量的模板文件进行实时监控是一个难点问题。

目前EPG服务器均为Linux系统。系统将EPG模板内各文件目录通过客户端系统注册,并监听Linux系统的notify消息检测文件目录的文件变动。notify的机制类似于系统调用信号,Linux内核其实提供了一种链式通知机制,每一个节点可以注册一个函数,当某些时间发生后,会进行对应的函数回调,将通知注册了函数的节点。本文所属的防篡改系统通过对文件的新增、修改、删除操作进行注册,过滤掉无用的消息后,将文件变动信息发送至EPG文件防篡改主系统进行下一步分析。如果检测的路径新增文件目录,系统会重新将新增的文件目录追加注册,以确保EPG模板内所有的文件均被监听[4]。需要说明的是,目前C1接口没有支持删除的操作,故客户端系统检测到的文件删除操作均为文件异动信息。

2.3 二次授权检测

EPG防篡改的核心为判定模板文件的合法性,本章节将对此问题进行讨论。由前文所述可知,河北IPTV的EPG系统中,EPG服务器分为EPG核心服务器和EPG分支服务器。河北IPTV通过C1接口将需要分发的模板文件推送至EPG核心服务器,再由其分发至各EPG分支服务器。EPG防篡改系统通过EPG分支系统回传的文件变化信息与C1下发文件数进行遍历对比,通过MD5算法得到回传文件的MD5值[5],若有匹配到的同MD5值的文件且EPG节点信息、路径信息、时间戳信息匹配,则判定二次授权检测成功,反之判定为异动文件,将异动文件从对应的EPG分支服务器获取,存储在本地文件系统中,将异动信息记录在数据库系统中,为可视化系统提供对比分析等可视化展示。

一个运营商有上百台EPG分支服务器。每台EPG分支服务器都会产生若干条文件变动信息。如何将大量文件变动信息集中在很短的时间内回传至EPG防篡改主程序,并快速判定文件变动和与C1下发节点的文件进行匹配是遇到的另一个关键问题。河北IPTV通过C1下发文件树、异动文件树等技术解决了文件溯源、文件判定的问题;通过文件缓存、文件树缓存、时间戳等技术解决了文件快速翻库的问题,并以极短的速度对文件进行快速授权检测。

2.4 C1下发文件树

本系统的核心即为二次授权机制。全国大部分新媒体的IPTV平台都是部署在运营商的EPG服务器内。目前通过C1接口将EPG模板向各EPG分支系统推送,EPG模板文件的C1接口的下发权限均在河北广电无线传媒公司内,即各EPG分支系统内模板文件的变动信息,均需要通过C1接口推送,完成第一次授权。当下发文件推送至各EPG分支系统内时,文件会同步产生变化信息,客户端系统会将变动文件消息推送至EPG防篡改主系统,并根据C1下发记录进行二次授权检测,从而确保文件变动的合理性。

EPG防篡改文件系统结构图如图3所示。由于存在多个分支EPG系统,每次C1接口推送文件会产生大量的文件变动信息。系统为减少不必要的重复C1接口数据请求,通过自有算法维护了一个本地C1下发文件树。该文件树中存储了如节点信息、时间戳、分支信息、分发ID、文件目录、文件MD5等关键信息,待文件系统内未能检测到目标文件时才会重新请求C1接口数据,并更新C1下发文件数。

图3 EPG 防篡改文件系统

2.5 河北IPTV非对称加密算法

在内网环境中,如何防止非法通过内网抓包、通过非常规途径完成消息篡改或者伪造消息进行发布从而造成重大的播出事故,是当前的关注点。河北IPTV通过采用非对称加密的方式对消息进行加密处理。系统在所有消息交互中,采用了河北IPTV非对称加密算法,保障了消息在EPG防篡改系统的主系统和防篡改客户端系统传输过程中的被泄露、篡改的可能性。

考虑到用户侧机顶盒性能的因素,RSA非对称加密算法可能会对机顶盒的页面渲染造成过多的资源开销,因此,将算法升级为河北IPTV非对称加密算法,将河北IPTV内部所有的消息收发均满足该算法支持。这一举措在保障了非对称加密算法的前提下,保障了算法的快速加密解密。由于该算法涉及保密,本文对加密算法不再详述。

3 结语

本文讨论的方案能够实现文件级的EPG文件防篡改管理。针对现有技术中存在的问题,提供一种IPTV模板文件防篡改方法,通过二次授权验证机制,在不影响运营商服务器的基础上,实现广电侧对播控安全的把控。后续的工作会在国标加密算法、系统架构上进行深一步研究。

猜你喜欢

分支河北客户端
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
河北顶呱呱机械制造有限公司
一类离散时间反馈控制系统Hopf分支研究
软件多分支开发代码漏合问题及解决途径①
巧分支与枝
河北:西洋乐器畅销海外
孙婷婷
新华社推出新版客户端 打造移动互联新闻旗舰