机顶盒加密系统流程 ECM EMM CW SK
随着数字视频广播(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( ) |
8 |
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的更多相关文章
- 转 关于Https协议中的ssl加密解密流程
关于Https协议中的ssl加密解密流程 2016年09月28日 09:51:15 阅读数:14809 转载自:http://www.cnblogs.com/P_Chou/archive/2010/1 ...
- DES加密系统的实现
这是一个高内聚低耦合可复用的DES加密系统的实现. Github 链接:https://github.com/cyendra/CyDES 要实现加密系统,先考虑数据的基本单位. 在DES加密中,数据是 ...
- 转: https 加密通信流程
https 加密通信流程当用户在浏览器中输入一个以https开头的网址时,便开启了浏览器与被访问站点之间的加密通信.下面我们以一个用户访问https://qbox.me为例,给读者展现一下SSL/TL ...
- 升鲜宝V2.0_生鲜配送行业,对生鲜配送行业的思考及对系统流程开发的反思_升鲜宝生鲜配送系统_15382353715_余东升
升鲜宝V2.0_生鲜配送行业,对生鲜配送行业的思考及对系统流程开发的反思_升鲜宝生鲜配送系统_15382353715_余东升 -----生鲜配送行业现状及存在问题----- 1. 从业者整体素质偏低 ...
- NGK引入反量子加密系统来应对量子计算攻击
当前,区块链和分布式账本技术已有了长足发展并广泛应用与多种场景中,原因在于其提供透明性,冗余性和问责性的能力.就区块链而言,此类特征是通过公钥加密和哈希函数提供的.但是,随着量子计算机技术的发展和量子 ...
- HTTPS加密证书流程(2)
目录 一:HTTPS加密证书流程 二:证书对比 三:自签证书 1.(lb服务器负载均衡代理) 2.(创建CA证书 创建密码) 3.生成自签证书(公钥),同时去掉私钥的密码(Enter) 四:证书内容解 ...
- [课程设计]Scrum 1.2 Spring 计划&系统流程&DayOne燃尽图
多鱼点餐系统WEB Spring 计划 ● 产品BACKLOG 多鱼点餐系统产品BACKLOG ID Name Imp Est How to demo Notes 1 设计框架结构 10 8 利用美学 ...
- asp.net 微信企业号办公系统-流程设计--流转条件设置(路由)
当一个步骤后面有多个步骤时,可以设置为根据设置条件系统自动判断该流向哪些步骤,也叫路由. 工作流没有单独的路由步骤来设置条件,流程条件通过双击连线弹出条件设置框来设置. 1.sql条件 即通过sql条 ...
- asp.net 微信企业号办公系统-流程设计--流程步骤设置-策略设置
策略设置包括当前步骤的流转方式,处理人员,退回策略等设置. 流转类型:当前步骤后面有多个步骤时,此类型选择可以决定后续步骤的发送方式. 1.系统控制:由系统根据您在线上设置的流转条件来判断该发送到哪一 ...
随机推荐
- linux命令之pwd(print working drectory)
Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...
- 续上文----线性表之单链表(C实现)
本文绪上文线性表之顺序表(C实现) 本文将继续使用单链表实现线性表的另外一种存储结构.这种使用链表实现的存储结构在内存中是不连续的. C实现代码如下: #include<stdio.h> ...
- hdu 2157 How many ways_ 矩阵快速幂
题意:略 直接矩阵乘法就行了 #include <iostream> #include<cstdio> #include<cstring> using namesp ...
- java反射 实例
首先介绍几个概念: 1.Java反射的概念 反射含义:可以获取正在运行的Java对象. 2.Java反射的功能 1)可以判断运行时对象所属的类 2)可以判断运行时对象所具有的成员变量和方法 3)通过反 ...
- hdu 1279 验证角谷猜想(简单的模拟)
Problem Description 数论中有许多猜想尚未解决,其中有一个被称为“角谷猜想”的问题,该问题在五.六十年代的美国多个著名高校中曾风行一时,这个问题是这样描述的:任何一个大于一的自然数, ...
- c/c++性能优化--- cache优化的一点杂谈
之前写了一篇关于c/c++优化的一点建议,被各种拍砖和吐槽,有赞成的有反对的,还有中立的,网友对那篇博客的的评论和吐槽,我一个都没有删掉,包括一些具有攻击性的言论.笔者有幸阅读过IBM某个项目的框架代 ...
- 修改ORACLE-NLS_DATE_FORMAT时间格式的四种方式
修改ORACLE-NLS_DATE_FORMAT时间格式的四种方式 改变ORACLE -NLS_DATE_FORMAT中时间显示格式的显示有以下方式: 1.可以在用户环境变量中指定(LINUX). 在 ...
- hyper-v新内容
摘自http://geek.csdn.net/news/detail/30249 继开源.NET,微软推出Hyper-V Container技术及Nano Server Hyper-V Server ...
- JQuery(二)——简单动画效果
上一篇博客总结了JQuery的一些基本知识,这篇博客重点从JQuery能够制造各种各样的网页效果方面来进行总结.总结一些常见的常用的基本效果的必备方法.从隐藏显示,淡入淡出,滑动,动画等几个方面来简单 ...
- for练习--侦察兵
static void Main21侦察兵(string[] args) { //某侦察队接到一项紧急任务,要求在A.B.C.D.E.F六个队员中尽可能多地挑若干人,但有以下限制条件: //侦察兵A和 ...