有关条件接收

数字电视运营商为了赚钱,所以就弄出了个条件接收的东东,只有授权的用户才能观看某些节目,这里我们了解一下条件接收的过程。

条件接收的过程简单的说就是运行商在发送端对码流进行加扰,而在接收端,授权用户获取密钥进行解扰。

为了安全以及一些其它方面原因,这里做了三层控制:

1、码流加扰

1)、加扰过程是在发送端用一个伪随机序列(CW,Control Word)对复用后的TS流进行实时扰乱控制,使用加扰序列控制对打包的图像信号进行扰乱

2)、接收端必须获得CW,再次对码流进行位运算才能将码流还原

3)、只有授权用户才能获取CW,才能对码流进行解扰

4)、CW如果明文传输,则很容易被破解,因此提出需要对CW进行加密,在码流中传送的是密文信息。


如何保密传输CW?如何使只有授权用户才能获取CW呢,这就是第二层的目的了

2、访问控制(CW加密)

1)、发送端:采用SK(加密密钥)对CW进行加密,传输加密后的数据(ECM)

2)、接收端:必须先获取SK,然后运用SK对ECM进行解密,得到CW

如何保证只有授权用户才能得到SK?所以就有了第三层了。

3、授权管理(SK加密)

每一授权用户将获得一张IC卡,在卡内保存有一个或多个PDK(个人密钥),在发送端运用PDK对SK进行加密,生成数据以EMM的形式打包进码流中。这样保证只有拥用该PDK的用户才能解密得到SK。

CA与智能卡是配合使用的,即一个运营环境中,机顶盒上的智能卡局端配合的CA是同一公司的产品,是成套使用的。原因是产生ECM与EMM的算法都是CA厂家的核心机密,不可能外露


这里再将整个过程描述一下:

首先用CW对复用后的TS流进行扰乱控制,CW不能明文传送,用SK对CW进行加密,变成ECM在网络中传输,而对于SK,局方再用PDK进行加密变成EMM传输,而终端智能卡中保存有PDK,这样收到EMM数据后,用PDK解密就能得到SK,再用SK对传输中的ECM解密就得到CW,把CW设置到解扰器这样就可以观看加扰的节目了。

注:之所以要引入SK,是因为假如直接用PDK加密CW,由于PDK的数量巨大,而CW的变更较快,加密后产生的数据很大,由于SK是针对产品(节目)的,数据量小,采用SK加密CW生成的ECM数据量相对较小,由于SK变化缓慢,采用PDK加密SK生成的EMM数据量相对较小,根据CW和SK的轮播周期,你可以大致比较一下,引入SK以后,ECM+EMM的数据量与直接采用PDK加密CW的数据量,就应该明白了为什么要引入SK。这就相当于1000乘以1000,远大于这两个1000乘以一个50的和。

举个例子,假如有10个pdk,再假设某节目CW字每分钟变化100次,这样一分钟就需要100*10个数据量,而如果假设用SK再对CW进行加密,这段时间内SK是不变的,面传输的数据量就变成了1*10。也就是把CW字的变化给透明化了。

强调几点:

一个用户(智能卡)拥有一个唯一的PDK

一个产品(或者说套餐)在一长段时间内对应一个SK

一个加扰单元(被加扰对象)在某一瞬时对应一个CW

emm的pid从CAT表中得到的, ECM的pid通过检测pmt表中descriptor_tag为0x09的字段得到的,有了这些PID,就可以从码流中检出EMM流和ECM流,

EMM流是包含了所有智能卡的EMM数据的(因为不知道用户所用的智能卡),数据量比较大。因此智能卡从EMM流中,根据自身的卡地址,过滤出是发送给自己的EMM信息,然后解得SK。

ECM流是一个加扰单元(即被加扰的对象)对应一个ECM流(只是用户当前所选择频道的,所以切台的时候ecm_pid会变化),因此当取得SK后,就可从ECM流中解出CW,从而对码流进行解扰。

 

再来看一下条件系统的接收原理图:



CA过程通过CW控制字(节目流进行解扰的钥匙)将TS加密,终端通过它解密.
      前端将CW加密后送到终端.
      终端通过智卡,解出CW控制字,并将控制字送解码器还原TS的过程.
 
  前端:
      ECM内容:
         1.由SK加密的CW.
         2.节目来源、时间、内容分类和节目价格等信息
      EMM内容:
       1.PDK加密过的SK.(PDK:  Personal Distribute Key,与智能卡一致)
       2. 地址、用户授权信息.
 
       EMM与ECM在TS流中传输.
 
  终端:
 1.解CAT表,获得CA_system_id,获得CA系统类型.
 2.解CAT表,获得CA_PID获得EMM_PID,从TS中过滤EMM.
 3.解PMT的CA_PID,获得ECM_PID,从TS流中过滤ECM.
 4.智能卡通本身的PDK,从EMM中将业务密钥SK解出来.
 5.用SK对ECM解密出CW控制字.
 6.将CW控制字填入解码芯片的相应寄存器中,就可以对码流数据进行解扰,恢复出原始信号。




smc测试流程:
1、首先确定ca卡使用的是什么协议
2、环境搭建好后,使用测试case测试一下能否拿到ATR,机卡通讯是否有问题。
(关于hisi平台,里面有一个sample_sci.c的测试case.测试的时候注意ClkMode、VccEn、Detect高低电平的设置等等,测试时可以试试,看能否有一个能拿到ATR,关于机卡通讯,
可以根据相应协议发送数据的方式,发送相应的数据,看是否有相应的应答数据,应答数据是否正确,这里注意一下T0协议是head+数据,T14是私有协议,具体格式是怎么样的要具体定。)
3、测试case测试到机卡通讯没有问题后,就可以进行集成测试了


库是否过期  DVTCA_LIB_EXPIRED_TIME is


相关参数是否有问题,如频率,管脚高低电平等
若出现 有时候无法识别卡,再次确认相关参数是否设置正确 或者卡是否有问题等等


检查是否在通信的时候又reset卡,导致通信失败
logcat >> 1.log
adb pull /1.log

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值