注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
dahengv的个人空间 https://home.eeworld.com.cn/space-uid-76.html [收藏] [复制] [分享] [RSS]
日志

一种更加安全、可靠的区域锁定控制技术

已有 994 次阅读2008-6-2 12:51 |个人分类:技术文章

引自《广播与电视技术》

目前,随着全国各省、市数字电视前端系统的搭建完成,数字电视也由平台建设转向实际运营。由于各地的经济发展水平不同,采取的营销策略及价格策略往往存在差别。于是,市场对保证机顶盒和智能卡的区域唯一性、合法性以及防止机卡漫游、保障运营商利益的强烈需求,催生了数字电视条件接收系统的区域锁定技术。

一般来说,实现数字电视区域锁定的方式是由条件接收系统(CAS)来决定,不同的CA厂商实现的方式各具特点。目前,通过NIT或者通过BAT来实现区域锁定是已经存在的两种方式。本文分析了两种方案存在的一些不足,提出了一种更加安全的区域锁定技术,以供业界各位同行和网络运营商探讨。该技术目前已在宁夏省网、四川广元、湖北荆州等地取得成功应用。

通过NITBAT表实现区域锁定方案介绍

在介绍这种更为安全的区域锁定方案之前,首先分析一下通过修改NITBAT表的区域锁定实现方式。

NIT区域控制是通过控制机顶盒对NIT表的接收,进而控制机顶盒对节目的正常收视。具体实现过程是:各分前端用户智能卡中写入network_id值作为区域特征码,总前端统一规划下发多张NIT表,一个分前端对应一张,每张NIT表使用不同的数据包标识(PID)和不同的网络标识(network_id),所有的NIT表随同节目广播到各分前端,各分前端通过DS3-ASI的网络适配器或者QAM调制器将其他分前端对应的NIT表根据PID过滤掉,并将所对应的该分前端NIT表的PID值映射到DVB规定的NIT表的PID上。机顶盒在开机时,检测TS流中的network_id与机顶盒或智能卡中存储的信息是否一致,若一致,则可以正常收看节目;否则,无法收看,从而实现了区域锁定

BAT实现方式与NIT实现过程类似。不同之处在于各分前端用户智能卡中写入的是bouquet_id,并通过控制机顶盒显示提供给用户的节目列表来实现区域锁定。这里就不再赘述。

通过NITBAT表实现的区域控制技术“美中不足”

如果单纯只是从实现区域锁定这个功能来看,通过NITBAT表实现的区域锁定技术可以说是DVB标准与实际商业运营的完美结合,它们都非常巧妙的利用了DVB标准中定义的SI表格来达到其实现区域锁定的目的,从这一点来说它们是无懈可击的。但如果从安全可靠性上作深入分析,就会发现它们存在安全隐患。具体来说:

首先,NIT表和BAT表的内容都没有加密,谁都可以更改NIT表中的network_id或者BAT表中的bouquet_id值,假设有一批机顶盒可以修改network_idbouquet_id,或者根本就不分析NITBAT表,直接送给卡一个固定的network_idbouquet_id,那么区域锁定就会失效。

其次,即使network_idbouquet_id进行加密,因为NITBAT表不能有版本变化(如果有变,机顶盒会重新收台),所以可以录制一段NITBAT表进行重复播放。那么区域锁定也会失效。

最后,TS流里的network_id和和bouquet_id的校验过程在机顶盒中进行的,在机顶盒中进行的所有解密和校验过程相比在智能卡中进行的解密、校验过程,可控性和安全性就大打折扣了。

针对上述现有方案存在的问题,下面介绍一种更安全可靠的区域锁定方案——北京数码视讯科技有限公司具有国家专利的 “总前端发送加密特征码流、终端IC卡解密判断区域码”的区域锁定技术。

 

一种更为安全可靠的区域锁定技术

NITBAT表的实现方式不同,此项技术是在总前端通过CAS发送经过加密且包含时间戳的区域特征码流(码流中包含所有分前端区域码),并与各频点节目复用后传输到各分前端,在分前端通过QAM调制器将区域特征码流中其它区域的特征码信息过滤掉,只保留本区域的特征码;本区域的特征码流伴随数字电视节目一起传输到家庭用户终端,通过智能卡解密同时校验码流中的区域特征码和时间戳信息:智能卡中校验接收到的区域特征码与智能卡中的区域码一致,则区域正确,可以正常解密收看节目;否则,无法收看,从而实现区域锁定。

下面笔者以在SDH网络下的信号传输为例对这种区域锁定技术的实现方案做一个详细的阐述。图1为在SDH传输网络下典型的区域锁定方案组网图。

1  SDH传输网络下的区域锁定方案组网图

图中,总前端复用加扰后的TS码流通过网络适配器后进入SDH网络,CASSMS配合加扰器一起完成对节目的加扰、数据的加密以及用户的授权管理;分前端直接使用带DS3输入的QAM调制器将信号接收并调制混频后发送到HFC网络。其中,CA系统是实现区域锁定的关键和核心。具体实现过程为:

CA系统在智能卡发卡时为每个区域单独设定独立的区域码,通过系统命令将其植入智能卡存储器,并为不同的区域植入共同的“区域锁定解密密钥”。

在总前端,CA系统根据每个地方的实际情况进行区域锁定信息的配置,每个分前端分别设置各自的区域码及PID值,这个区域码要求与CA系统在智能卡发卡时为每个区域单独设定独立的区域码一致。以四川广元为例,广元共有8个县,加上广元市区共9个区域,总前端设置的区域锁定信息配置表见图2

2  CAS总前端区域锁定信息配置表(以广元为例)

总前端配置好区域锁定信息表后,将表中的各分前端区域码及相关信息每隔30S刷新一次,再通过CA加密模块实时加密特征码流,并以EMM包的形式经码流发送卡以恒定码率不间断的发送。发送的加密特征码流再送至码流分配器将特征码流一分为多(由总前端实际的TS流数决定),每一路特征码流发送至总前端复用器的输入端口,这样就保证了分前端接收到的所有频点里都有加密的特征码流。

在分前端,带DS3输入的 QAM调制器接收SDH网络发送过来的总前端信号。QAM调制器除了传统意义上调制的作用外,它还有另一个职责,就是配合完成区域锁定的功能,即将接收到的加密特征码流中其它区域码流信息过滤掉,只保留该分前端区域码信息,并将当前区域码的PID值映射为EMM PID值。分前端所有频点的QAM调制器都经过上述功能设置后,再混频并发送至HFC网络中。这样,终端机顶盒接收到的加密特征码流中就只包含本区域的区域信息。

终端机顶盒开机接收到特征码流的EMM包后,将其交送CA终端系统(智能卡)处理,智能卡在接收到加密特征码流之后首先判断当前智能卡是否启动了区域锁定,若启动,则用“区域锁定解密密钥”进行解析,将解析出来的区域特征码交送智能卡核心处理器。智能卡核心处理器将自身区域特征码与解密出来的特征码进行校验,同时检验时间戳信息,若一致则智能卡启动后继续解密程序解出CW,用户可以正常观看节目,若不一致则智能卡立刻停止运行后续程序并返回一个错误号交由机顶盒处理,用户此时不能收看到节目。

智能卡在接收到加密特征码流之后若判断当前智能卡没有启动区域锁定,则直接启动智能卡后续解密程序将CW解出,用户便可以正常观看节目。这样即便是其它区域的卡只要总前端没有启动区域锁定功能,仍然可以保证在该区域正常收看节目,运用非常灵活方便。

加密级区域锁定方案安全性说明

通过对SDH网络下区域锁定方案的详细介绍,并结合BATNIT表实现的区域锁定技术,不难看出:

1)    首先此方案在总前端发送的特征码流是通过CAS区域锁定模块对各分前端进行配置,并经过CA加密模块将数据加密打包后播出的,相比在NIT表或BAT中定义network_idbouquet_id来实现的区域锁定方案,从特征码安全和校验过程可控两方面来说,更具可靠性。

2)    该区域锁定技术由于采用的全部是密文传输,对于特征码流的加密,其加密级别等同于CA正常授权,因此若试图从技术上破解则难度就等同于破解整套CA

3)    加密的特征码流带有时间戳,即智能卡除了校验区域特征码外还要检验特征码发送的时间信息,这就防止了采用录制特征码重复播放的破解攻击。

4)    加密的特证码流在终端解密和校验过程都是在IC卡中进行的,相比在机顶盒中进行所有解密和校验过程具有更高的可靠性。

通过上面的分析,可以得出如下结论:“总前端发送加密特征码流、终端IC卡解密判断区域码”方式可以更加安全、可靠的实现区域锁定功能。

结束语

数字电视现正处在由建设阶段过渡到整体运营阶段的关键时期,随着网络整合工作的不断推进,终端的区域管理必将成为一个重要的课题。同时,各运营商在选择区域锁定实现方式甚至其他CA系统的功能实现方式时,也会不断提升对安全可靠性的要求,以保证各项功能可以有效的发挥作用,给运营带来保护和推动,而不是隐患和制约。所以,各家CA厂商在设计产品时除了在功能的实现层面作出考虑之外,还应对功能实现的安全可靠性予以充分的重视。

在此仅对区域锁定技术发表个人的一点感受和想法,供各位同仁参考和探讨。

 

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章