随着数字视频广播(DVB)的发展。观众将面对数字电视节目的选择多。广播业因为投资成本增加,这是需要收取费用的用户观看。

有条件接收系统(Conditional Access System)。它的主要功能就是确保仅仅有支付了或者即将支付费用的用户才干收看所选择的电视节目。

1 CA系统的关键技术

在CA系统中。有两项最为关键的技术:一是加扰(Scrambling)和解扰(Descrambling)的方法。加解扰技术被用来在发送端CA系统的控制下改变或控制被传送的服务(节目)的某些特征,使未被授权的用户无法获取该服务。二是控制解扰。在发送端提供一个加密信息,使被授权的用户端解扰器能以此来对数据解密。该信息受CA系统控制。并以加密形式配置在传输流信息中以防止非授权用户直接利用该信息进行解扰。不同的CA系统管理和传送该信息的方法上有非常大的不同。

加扰的通常做法是在发送端使用加扰序列对视频、音频或者数据码流进行干扰,将数据打乱。加扰序列由伪随机序列发生器产生,在初始条件已知的情况下,能够猜測出伪随机序列发生器产生的加扰序列。伪随机序列发生器的初始条件受控于控制字(Control Word)。在接收端也有一个相同的伪随机序列发生器,假设将控制字CW发送给这个伪随机序列发生器,那么就能够获得解扰序列。然后再用解扰序列恢复原始信号。所以说,节目有条件接收的核心是控制字CW的传输。为了实现保密,必须将控制字进行加密处理后传输。接收端在得到授权后。才干应用解密程序又一次生成这个控制字。

2 控制字CW的加密机制

由于CW是随加扰信息一起通过公用网传输。不论什么人都能够读取并研究它。一旦CW被读取破解,那么整个系统就瘫痪了,所以对CW本身要用一个加密密钥,通过加密算法对它进行加密保护。在详细应用中,这个密钥能够依照网络经营商要求常常加以改变,通常由服务商提供。用来控制其提供的服务,所以把它称为业务密钥(SK,
Service Key)。SK的使用一般与用户付费条件有关。

CW虽已由SK加密,但这个密钥假设仍能够让不论什么人读取,那就意味着特定服务的定购者和非定购者将享有同等权利。网络运算商还是难以控制到特定的用户。安全性仍然存在问题。必须对SK进行再加密保护。

这个加密过程全然依照各个用户特征来进行,由于这个密钥是由个人特征确定的,经常称为个人分配密钥(PDK, Personal Distribute Key)。

PDK一般由CA系统设备自己主动产生并严格控制,在终端设备处PDK一般由网络运营商通过CA系统提供的专用设备烧入解扰器的PROM中,不能再读出。为了能提供不同级别、不同类型的服务,一套CA系统往往为每一个用户分配好几个PDK。来满足丰富的业务需求。

在已实际运营的多套CA系统(主要在欧美)中。运营商对终端用户的加密授权方式有非常多种,如人工授权、磁卡授权、IC卡授权、智能卡授权、中心集中寻址授权(由控制中心直接寻址授权,不用插卡授权)、智能卡和中心授权共用的授权方式等。智能卡授权方式是眼下机顶盒市场的主流,也被我国确定为我国入网设备的标准配件。

注:智能卡是用IC构成有分析推断能力的卡,其结构包含协处理器、ROM和EEPROM。

3 MPEG-2数字电视系统中条件接收的实现

在採用MPEG-2标准的数字电视系统中,与节目流CA系统相关的两个数据流是:授权控制信息(ECM, Entitle Control
Message)和授权管理信息(EMM, Entitle Manage Message)。由SK加密后的CW在ECM中传送。ECM中还包括节目来源、时间、内容分类和节目价格等信息。对CW加密的SK在EMM中传送,SK在传送前要经过PDK的加密处理。EMM中还包括地址、用户授权信息。

在TS(Transport Stream)流中。PSI(Program Specific Information)被分为四类:PAT(Program Association Table)表, PMT(Program Map Table)表。NIT表(Net Information Table)以及CAT表(Conditional Access Table)。当中,PMT和CAT与条件接受密切相关。

为了更加地说明问题,首先介绍一下CA descriptor(CA描写叙述子),如表1所看到的。

假设某原始流被加密,含有此原始流的节目中一定有CA descriptor。假设不论什么CA管理信息(如EMM)和原始特殊流信息(如ECM)存在于TS流中,那么在对应的PMT中一定有CA descriptor。

表1 CA descriptor

语  法

位  数

缩   写

CA_descriptor( )

{

  Descriptor_tag

  Descriptor_length

  CA_system_ID

  Reserved

  CA_PID

  for (i=0;i<N;i++)

 {

    Private_data_byte

  }

}

8

8

16

3

13



8

Uimsbf

Uimsbf

uimsbf

Bslbf

Uimsbf



Uimsbf

注:CA描写叙述子中的Descriprot_tag的值为9。通过这个标志位能够将CA描写叙述子与其它的描写叙述子差别开来,如视频流描写叙述子、音频流描写叙述子等。

另外,CA描写叙述子中的CA_system_ID用来表示适用于相关ECM和EMM流的CA系统类型。DVB Project成立了专门的组织负责向不同的解码器生产商分配不同的CA_system_ID值。这种话。一套数字码流能够将不同CA系统的密钥同一时候传送给不同的机顶盒用户群。

当CA描写叙述子出如今PMT表中时,CA_PID指向含有和ECM信息相关的节目分组。当CA描写叙述子出如今CAT表中时,CA_PID指向含有和EMM信息相关的节目分组。

由此能够清楚地知道,解码器的解密机制是:当Smart Card插入STB时,解码器将从中读取CA_system_ID。并查找在CAT表(PID号为0X01)内的CA描写叙述子中与该CA_system_ID相应的CA_PID(即EMM码流的PID)。

EMM码流中包括了经过PDK加密处理的SK。PDK固化在Smart Card中,并以加密形式存储。用户需提供口令方能使用其进行解密。

然后。Smart
Card将解密出SK。

完毕以上步骤后,解码器再查找在PMT表内的CA描写叙述子中与上述CA_system_ID相应的CA_PID( 即ECM码流的PID)。

ECM码流中包括了由SK加密处理后的CW信息。用得到的SK对ECM解密就能够得到CW。

将CW填入解码芯片的相应寄存器中,就能够对码流数据进行解扰,恢复出原始信号。

【理解】

PDK相当于private key(私钥)。而SK相当于public key(公钥)。为了避免特定服务被未订购者接收,还应该对SK进行加密。而仅仅有拥有PDK的用户才干进行解密,从而达到仅仅有订购者才干接收到SK的目的。

【助记】

(1)EMM:授权管理信息,顾名思义,它是管理授权的信息。

这个授权即为SK,为了使避免这个授权信息被未授权者获取。就须要对其进行管理,即通过PDK对其进行加密,即PDK_SK。

另外,EMM能够用来实现EMM fingerprint,并指定显示内容、时间、间隔、字符颜色、背景颜色、闪烁等属性。

(2)ECM:授权控制信息。顾名思义。它是控制授权的信息。

这个“控制”即为终于解扰的关键。

“控制”是通过CW来实现的,而仅仅有获得授权信息的用户才干解密出CW,于是ECM中存放的便是SK_CW。

另外,ECM能够用来实现ECM fingerprint。Smart Card卡号的固定fingerprint显示功能,并控制显示的起始时间和终止时间。

(3)fingerprint的作用:假设某用户将带有fingerprint的节目传到网上或用于其他用途,那么相关的服务供应商能够依据fingerprint上的卡号(实名制)来追究该用户的法律责任。

【流程图】

4 加扰

MPEG-2数据码流的加扰能够分为两层:一是PES层的加扰,一是TS层的加扰。TS层的加扰仅仅针对TS数据码流的有效负载(payload)。而TS码流中的PSI信息,包含PAT、PMT、NIT、CAT以及私有分段(包含ECM、EMM)都不应该被加扰。当然,TS流的头字段(包含调整字段)也不应该被加扰。经过加扰后的TS码流应该在头字段中定义加密控制字。

5 加密算法的选用

(1)控制字的加密:对于控制字的加密。须要一定强度、处理迅速的加密算法,主要採用私有密钥(个人分配密钥,PDK)加密体制中的一些加密算法,如:DES算法或者IDEA算法。

(2) 业务密钥的加密:业务密钥的改变频率要远小于控制字。因此对其加密的算法处理速度能够较慢,但由于一个业务密钥要使用较长时间,其安全性要求更高。需选用 一些高强度的加密算法。公开密钥体制的加密算法在此可得到较好的应用,由于公开密钥体制加密算法尽管处理速率一般较秘密密钥体制慢。但大都具有较高的加密 强度,能够满足业务密钥对安全性的更高要求。另外,採用公开密钥体制加密,经营者不必须传输用户的私有密钥,仅仅需知道用户的公开密钥就可对业务密钥进行加 密,用户使用自己的私有密钥就可以解密。这样能够在用户端产生一对密钥。仅仅要将公钥传给发送端经核实可用后就可以,而解密的关键私有密钥不需进行一次传输,可
以提高系统的安全性。在公钥体制下还可实现数字签名、数字证书等功能。对于系统的业务拓宽、业务范围,提供在线支付等功能也很有利。

眼下基本的公钥加密算法主要有RSA公钥加密算法,背包公钥password系统,勒宾(Rabin)password,麦克黎斯(Mceliece)公钥password,椭圆曲线公钥password等一下,间RSA公钥加密算法的广泛应用。

版权声明:本文博主原创文章。博客,未经同意不得转载。

机顶盒加密系统流程 ECM EMM CW SK的更多相关文章

  1. 转 关于Https协议中的ssl加密解密流程

    关于Https协议中的ssl加密解密流程 2016年09月28日 09:51:15 阅读数:14809 转载自:http://www.cnblogs.com/P_Chou/archive/2010/1 ...

  2. DES加密系统的实现

    这是一个高内聚低耦合可复用的DES加密系统的实现. Github 链接:https://github.com/cyendra/CyDES 要实现加密系统,先考虑数据的基本单位. 在DES加密中,数据是 ...

  3. 转: https 加密通信流程

    https 加密通信流程当用户在浏览器中输入一个以https开头的网址时,便开启了浏览器与被访问站点之间的加密通信.下面我们以一个用户访问https://qbox.me为例,给读者展现一下SSL/TL ...

  4. 升鲜宝V2.0_生鲜配送行业,对生鲜配送行业的思考及对系统流程开发的反思_升鲜宝生鲜配送系统_15382353715_余东升

    升鲜宝V2.0_生鲜配送行业,对生鲜配送行业的思考及对系统流程开发的反思_升鲜宝生鲜配送系统_15382353715_余东升 -----生鲜配送行业现状及存在问题----- 1.  从业者整体素质偏低 ...

  5. NGK引入反量子加密系统来应对量子计算攻击

    当前,区块链和分布式账本技术已有了长足发展并广泛应用与多种场景中,原因在于其提供透明性,冗余性和问责性的能力.就区块链而言,此类特征是通过公钥加密和哈希函数提供的.但是,随着量子计算机技术的发展和量子 ...

  6. HTTPS加密证书流程(2)

    目录 一:HTTPS加密证书流程 二:证书对比 三:自签证书 1.(lb服务器负载均衡代理) 2.(创建CA证书 创建密码) 3.生成自签证书(公钥),同时去掉私钥的密码(Enter) 四:证书内容解 ...

  7. [课程设计]Scrum 1.2 Spring 计划&系统流程&DayOne燃尽图

    多鱼点餐系统WEB Spring 计划 ● 产品BACKLOG 多鱼点餐系统产品BACKLOG ID Name Imp Est How to demo Notes 1 设计框架结构 10 8 利用美学 ...

  8. asp.net 微信企业号办公系统-流程设计--流转条件设置(路由)

    当一个步骤后面有多个步骤时,可以设置为根据设置条件系统自动判断该流向哪些步骤,也叫路由. 工作流没有单独的路由步骤来设置条件,流程条件通过双击连线弹出条件设置框来设置. 1.sql条件 即通过sql条 ...

  9. asp.net 微信企业号办公系统-流程设计--流程步骤设置-策略设置

    策略设置包括当前步骤的流转方式,处理人员,退回策略等设置. 流转类型:当前步骤后面有多个步骤时,此类型选择可以决定后续步骤的发送方式. 1.系统控制:由系统根据您在线上设置的流转条件来判断该发送到哪一 ...

随机推荐

  1. 深入剖析MFC中对于Windows消息处理、运行机制

    序: 本人对Windows系统.MFC谈不上有深入的了解,但对MFC本身包装API的机制很有兴趣,特别是读了候老师的<深入浅出MFC>后,感觉到VISUAL C++的Application ...

  2. SQLCLUSTER sql数据库监测工具

    SQLCLUSTER sql数据库监测工具

  3. Eclipse setting Java code style and codetemplate

    1.open the eclipse tool window First click the Window menu,then check the children's menu which name ...

  4. Java程序员应该知道的10个面向对象理论

    英文原文:10-object-oriented-design-principles 面向对象理论是面向对象编程的核心,但是我发现大部分 Java 程序员热衷于像单例模式.装饰者模式或观察者模式这样的设 ...

  5. 第001篇——C#学习计划开启

    大年三十了,选在今天开启Blog,就是为了克服拖延症! Windows桌面程序,多年的执念,到现在一直不会写,再拖拉谁知道又要拖几年? 特此立下目标: 基本掌握C# winform 半年内可以做出一些 ...

  6. 用于Lucene的各中文分词比较

    对几种中文分析器,从分词准确性和效率两方面进行比较.分析器依次为:StandardAnalyzer.ChineseAnalyzer.CJKAnalyzer.IK_CAnalyzer.MIK_CAnal ...

  7. Sql遍历数据库

    Sql遍历数据库 set nocount on ) ) ) set @str='ad' Declare cur_Depart Cursor For select name,id from syscol ...

  8. SQL Server 事务嵌套

    示例代码: DECLARE @TranCounter INT; SET @TranCounter = @@TRANCOUNT; -- Procedure called when there is -- ...

  9. windows server 2003进行相邻磁盘扩容(server 2008的直接右键就可以解决)

    vCenter下的win server 2003 的D盘需要扩容,解决办法是,先将D盘由原来的200GB增加到了2TB(win server 2003选择MBR的限制),重启win server 20 ...

  10. 13个mysql数据库的实用SQL小技巧

    此文章为转载 使用CASE来重新定义数值类型 SELECT id,title, (CASE date WHEN '0000-00-00' THEN '' ELSE date END) AS date ...