zoukankan      html  css  js  c++  java
  • 机顶盒加密系统流程 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)。当中,PMTCAT与条件接受密切相关

    为了更加地说明问题,首先介绍一下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公钥加密算法的广泛应用。

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

  • 相关阅读:
    maven搭建
    javascript
    FTP工具类
    jsp相关知识
    java mail 邮箱发送
    servlet相关
    hibernate文档
    6月
    Spring AOP 使用总结
    spring事务配置总结
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4822926.html
Copyright © 2011-2022 走看看