随着数字视频广播(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公钥加密算法,背包公钥密码系统,勒宾(Rabin)密码,麦克黎斯(Mceliece)公钥密码,椭圆曲线公钥密码等,其中RSA公钥加密算法应用较广。

版权声明:本文为博主原创文章,未经博主允许不得转载。

机顶盒加密系统流程 ECM EMM CW SK相关推荐

  1. 针对文档加密系统,如何不破解将文档解密上传

    故事的开端 我们系统是对外系统,里面有表格上传功能,前几天有客户反馈,上传表格无法解析,远程后发现客户的电脑安装有文档加密系统,这种文档加密系统是为了 防止公司内部人员将公司机密的文档信息泄露出去而强 ...

  2. 嵌入式linux程序加密,基于嵌入式操作系统uClinux实现网络安全加密系统的设计

    金融安全支付系统是专门针对金融领域应用需求,实现小型化.便捷.安全的自助交易的软硬件平台,能够为多种应用提供高速安全服务,解决目前交易信息在传输过程中存在的各种安全问题,实现金融信息的安全交易.基于该 ...

  3. 密码学之背包加密系统(Merkle–Hellman公钥加密算法)原理

    背包加密系统 背包问题 假定一个背包可以承重 W,现在有 n 个物品,其重量分别为a1,a2,a3,...,ana_1,a_2,a_3,...,a_na1​,a2​,a3​,...,an​, 问装哪些 ...

  4. 计算机加密防止文件外泄,电脑文档加密系统哪个好?文档加密软件如何防止文件流通使用泄密...

    企事业单位日常办公中,难免会有不同部门之间文件需要进行交互使用以及企业内部的文件需要通过聊天工具.邮箱.移动U盘等等媒介外发客户这样情况!企业应该采用何种方式去避免部门文件流通使用造成的数据泄露问题? ...

  5. C#毕业设计——基于C#+asp.net+C++的RSA文件加密系统设计与实现(毕业论文+程序源码)——RSA文件加密系统

    基于C#+asp.net+C++的RSA文件加密系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+C++的RSA文件加密系统设计与实现,文章末尾附有本毕业设计的论文 ...

  6. 四个方面比较CPU卡加密系统与M1加密系统

    http://www.dzsc.com/data/html/2010-11-24/87326.html 密钥管理系统(Key Management System),也简称KMS,是IC项目安全的核心. ...

  7. CPU卡加密系统与M1加密系统比较!

    非接触CPU卡与逻辑加密卡 1.          逻辑加密存储卡:在非加密存储卡的基础上增加了加密逻辑电路,加密逻辑电路通过校验密码方式来保护卡内的数据对于外部访问是否开放,但只是低层次的安全保护, ...

  8. CPU卡加密系统与M1加密系统比较

    非接触CPU卡与逻辑加密卡 1. 逻辑加密存储卡:在非加密存储卡的基础上增加了加密逻辑电路,加密逻辑电路通过校验密码方式来保护卡内的数据对于外部访问是否开放,但只是低层次的安全保护,无法防范恶意性的攻 ...

  9. 何为文档加密系统,有什么作用?

    近来,流程信息化部对文档加密系统的调研工作正在如火如荼的展开.那么为什么我们一定要对文档进行加密呢?文档加密是否会给我们的日常工作带来许多关卡?今天,我们来一起聊一聊文档加密的这点事. 数字化背景下, ...

最新文章

  1. java word打印_如何通过Java打印Word文档
  2. python最终目标是什么_Python之父Guido谈Python的未来
  3. mysql 优化版_MySQL优化(超完整版)(一)
  4. linux to extract contents between patterns
  5. 启用Windows Server 2012的远程桌面
  6. 保定 机器人焊接加工厂_满城招聘|双休+五险+国企保定乐凯设备制造安装有限公司招聘满城1.6招聘信息...
  7. Java中的工厂方法模式
  8. 苹果开发者账号可以创建多少测试证书_ios苹果企业账号你所不知道的那些点
  9. 杭州计算机专业学校外地人,杭州计算机学校的核心专业--年薪几十万的专业
  10. 数据库系统概念第七版(Database System Concepts 7th)课后习题答案英文版
  11. 朴素贝叶斯0概率时不进行拉普拉斯平滑与进行了拉普拉斯平滑后正确率对比(德国信用卡案例)
  12. java 1.13 快照下载_Minecraft我的世界1.13Java版快照18w10c发布
  13. 同一个tomcat部署多个项目
  14. java 自定义 jpanel_在JList中使用自定义JPanel组件 - java
  15. Krita开发文档翻译——Introduction to Hacking Krita
  16. Latex ulem包设置下划线删除线强调文本等效果
  17. agv系统介绍_建设AGV系统
  18. linux升级失败无法启动应用程序,Ubuntu升级后无法启动 kernel panic - not syncing
  19. 游戏输入控制的五条黄金法则
  20. 计算今年和去年的时间,一个月的都是,用来计算同比

热门文章

  1. baby-step qiant-step
  2. C++:洛谷 P1177 【模板】快速排序
  3. 手机定位容易爆露个人隐私
  4. lin通信ldf文件解析_一文详解LIN总线协议规范
  5. 高端感的设计logo要点
  6. 怎样取消页眉和页脚?怎样取消页码?怎样从第三页开始添加页码?怎样加注释的角标?怎样写①……⑨以后的数字? 来源: 陶宁♬︵☆︵的日志
  7. matlab pdepe函数边界,求解一维抛物型和椭圆型 PDE
  8. 」北京有名恁地一个 水浒传
  9. H264去块效应滤波分析
  10. radiogroup多选,如何禁用一个RadioGroup中,直到复选框被选中