1、名词概念:
接收控制系统/条件接收系统 :该系统的任务是保证DVB业务仅被授权接收的用户所接收,其主要功能是对信号加扰,对用户电子密钥的加密以及建立一个确保被授权的用户能接收到加扰节目的用户管理系统
控制字或密钥:CW (Control Word )
节目映射表:PMT (Program Map Table )
条件接收表:CAT (Conditional  Access Table )
授权控制信息:ECM (Entitlement Control Message )
授权管理信息:EMM (Entitlement Management Message )
脉冲式按次付费电视或者即时付费电视:IPPV(Impluse Pay-per-View )
模拟电视:采用模拟信号调制,中间很容易引入干扰,一套节目使用一个频点
数字电视:采用数据信号调制,抗干扰性好,一个频点传输6-8套节目,容易加密

2、条件接收系统的组成
整个条件接收系统包括前端码流加扰加密、传输、终端通过条件接收系统进行解扰解密这三大部分,其中关键技术就在前端和终端。
  前端码流加扰加密部分包括有:
→EMM加密器
→ECM加密器
→CW发生器
→TS流加扰器
→复用器

终端条件接收系统进行解扰解密部分包括有:
→解复用器
→CA系统
→智能卡
→解扰器
→解密器

加扰控制字段:

可以在ts包中的 transport_scrambling_control 值:2b位,ts header第四个字节处

位值  描述

00     不加扰

01     保留

10    用偶密钥加扰ts包

11    用奇密钥加扰ts包

PES包中使用 PES_scrambling_control值,其控制与ts相同含义

3、条件接收系统原理图

三层加密:

发送端:采用PDK对SK进行加密,传输加密后的EMM数据
接收端:PDK是存储在智能卡上的,是智能卡的ID,这是唯一的,机顶盒收到EMM数据采用PDK解出SK

4、条件接收系统工作原理(文字描述)
前端码流加密加扰工作原理:

1、在信号的发送端,首先由控制字发生器产生控制字(CW),将它提供给加扰器和加密器A。控制字的典型字长为64bit,每隔2~30s改变一次(CW变化为5-10s,各家值有所不同)。
2、加扰器根据控制字发生器提供的控制字,对来自复用器的MPEG-2传送比特流进行加扰运算。此时,加扰器的输出结果即为经过扰乱了以后的MPEG-2传送比特流,控制字就是加扰器加扰所用的密钥。
3、加密器接收到来自控制字发生器的控制字后,则根据用户授权系统提供的业务密钥对控制字进行加密运算,加密器A的输出结果即为经过加密以后的控制字,它被称为授权控制信息(ECM).
4、用户管理信息(Management Message)被密钥EMMK1加密形成授权管理信息(EMM),用户管理信息由信息提供商的用户管理系统形成,用户管理系统用来建立有关用户的名称、地址、智能卡号、账单的信息和当前授权的数据库等等.
5、经过这样一个过程产生的ECM和EMM信息均被送至MPEG-2复用器或复用器,与被送至同一复用器的图像、声音和数据信号比特流一起打包成MPEG-2传送比特流输出

终端解扰解密部分工作原理:
1、在信号的接收端,解码器首先在传送流中查找到PMT和CAT表,从中获取到EMM_PIDS,ECM_PIDS,CASystemIDS等信息.
2、根据EMM_PID,找到相应的加密的EMM信息,智能卡中存有加密系统号和ECM密钥,EMM密钥等,智能卡首先使用EMM密钥对加密的EMM解密,根据解出的EMM信息来确定本智能卡是否被授权看该套节目,如没授权则不能进行后续的解密,也不就不能收看该节目.
3、如该卡已被授权,则利用ECM_PID,找到相应的加密的ECM信息,利用智能卡的ECM密钥对ECM进行解密,得到控制字CW.
4、由解密得出来的CW对加扰的传送流进行解密,得到正常的MEPG-2传送流,由解码器解码后得到所需的电视,广播或数字信号.

加扰和加密的区别:
加扰是加扰器使用控制字通过函数运算产生伪随机序列,对数据进行一些与或运算将数据扰乱。接收终端只有得到控制字才能通过反函数运算将数据还原进行解码。而加密是为了有效的保护控制字进行的,通过密钥或算法对控制字进行加密。终端设备需要得到密钥或反算法,解出或算出控制字,再进行解扰解密工作。
TS层的加扰:
TS层的加扰只针对TS数据码流的有效负载(payload),而TS码流中的PSI信息,包括PAT、PMT、NIT、CAT以及私有分段(包括ECM、EMM)都不应该被加扰。当然,TS流的头字段(包括调整字段)也不应该被加扰。经过加扰后的TS码流应该在头字段中定义加密控制值。

5、PSI数据接收
接收到相应的PMT和CAT表,这两个表中可能会存在CA_descriptor()的描述符,通过该描述符号,可以获取到对应的EMM_PIDS,ECM_PIDS,CASystemIDS。

CA_descriptor()介绍:

CA_system_ID : 表示适用于相关ECM和EMM流的相关的CA系统类型(CA厂家标识符).
CA_PID : PMT表中的该描述信息为ECM的PID,CAT 表中的该描述信息为EMM的PID.
一般来说,ecm table id为0x80/0x81,emm table id为0x82~0x8F这个值是由ca厂家决定的。

ca_descriptor 描述字值为0x09, 下面给个加扰流的具体表数据:

完整接收及播放流程:
1、锁定指定频点
2、搜索PAT表
3、搜索CAT及PMT表
4、解析PMT表得到ECM PID值,解析CAT表得到EMM PID值
5、将ECM及EMM送到智能卡解密
6、智能卡返回CW值,机顶盒将CW值设到demux descrambler解扰模块,还原原始码流
7、设定音频pid,视频pid进行解码和播放

6、集成ca lib工作
一般利用现有的中间件中CA模块进行集成,说明一下这种最通常的工作流程
1、提供编译器及编译参数,ca厂商提供ca lib/ca header及ca test stream 
2、实现descrambler,smartcard,demux, flash 等模块接口
3、实现ca lib需要实现的接口函数,一般包含os,filter,descrambler等接口
4、开发一套应用调用ca lib提供函数实现业务呈现
5、调通加扰节目的播放及业务的呈现ok

6、到ca公司进行ca认证,测试ok后进入运营阶段

7、补充一下这两天调试碰到的问题

a、机卡通讯有问题

出现sc_send数据成功但无法接收数据,总是报超时错误,可能原因

1、与智能卡设定的波特率有关,一般设定为4800bits/s或者9600bits/s,而在收到ATR消息一般以atr[2]&0x0f作为baud factor的调节因子

【波特率校正因子1、2*n (n=1~16) ,具体设置参考协议D因子和卡特性 】

2、与智能卡设定的时钟率因子有关 【时钟转率因子372~2048 ,具体设置参考协议的F因子和卡特性】

b、智能卡配对失败

请保证智能卡,码流及CA库统一,不要用错了

c、授权信息出现"access denied ",即未授权

请确认ca卡是不授权且其未过授权时间,其流里面有授权信息

d、ecm&emm数据未收到或超时

请先确认码流中和pid及过滤参数是否正确,可以录码流通过专业软件查看,再 确认demux接口的filter过滤参数是否有问题

e、set key失败

一般只要set pid(av)成功,基本上set key 都会成功,这是机顶盒通用的接口,一般不会出问题

CA 解密系统原理及流程相关推荐

  1. CA认证的原理和流程以及https完整通信过程

    故事引入--什么是CA证书 看过一些博客,写的比较形象具体. ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有人都不认识他,他咋办 ...

  2. HTTPS原理与流程

    Table of Contents HTTP HTTPS 实现原理 工作流程 对称加密与非对称加密 CA 颁发机构 总结 HTTP HTTP(Hypertext Transfer Protocol)超 ...

  3. 摄像头ISP系统原理(中)

    摄像头ISP系统原理(中) · AF(FOCUS)----自动对焦 根据光学知识,景物在传感器上成像最清晰时处于合焦平面上.通过更改 LENS 的位置,使得景物在传感器上清晰的成像,是 ISP FOC ...

  4. 基于CH375的嵌入式USB文件加解密系统的设计

    基于CH375的嵌入式USB文件加解密系统的设计 [日期:2008-7-21] 来源:电子技术应用  作者:华中科技大学 电子与信息工程系, 湖北 武汉 430074 [字体:大 中 小] <s ...

  5. 摄像头ISP系统原理(上)

    摄像头ISP系统原理(上) ISP(Image Signal Processor),即图像信号处理器,用于处理图像信号传感器输出的图像信号.它在相机系统中占有核心主导的地位,是构成相机的重要设备. 主 ...

  6. ARKit从入门到精通-ARKit工作原理及流程介绍

    2017-06-15 坤小 Cocoa开发者社区 转载请注明出处:http://www.jianshu.com/p/0492c7122d2f 1.1-写在前面的话 1.2-ARKit与SceneKit ...

  7. 40张图看懂分布式追踪系统原理及实践

    前言 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成.这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用,哪些模块,哪些节点及调 ...

  8. 传递给系统调用的数据区域太小怎么解决_40张图看懂分布式追踪系统原理及实践...

    作 者:码海 原文链接:https://mp.weixin.qq.com/s/U-8ttlVCfYtjEPOWKBHONA 前言 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互 ...

  9. Avaddon勒索解密工具原理解析

    文章目录 Avaddon勒索 解密工具 解密工具原理 解密工具优化 关于文件大小的疑惑 Avaddon勒索加密流程补充 解密工具实现 相关资料 Avaddon勒索 该勒索病毒使用C++语言进行编写,采 ...

最新文章

  1. linux docker 指定容器工作目录
  2. php添加gd扩展,centos下为php添加gd扩展
  3. windows 技巧篇-清除共享地址访问缓存信息,共享路径临时访问用户切换方法
  4. C#中方法的参数四种类型(值参数、ref、out、params)详解
  5. 四部门联合印发《常见类型移动互联网应用程序必要个人信息范围规定》
  6. 窗口分析函数_7_生成指定的分组序号
  7. mysql创建存储函数报错:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL...
  8. [T-ARA][그녀를 보면][看着那个女人的话]
  9. 详解Class类文件的结构(上)
  10. 百度联合长虹发布第二款云手机 售价900元以下
  11. ib课程计算机科学教材,IB国际课程包括哪些学科内容?IB国际课程都有哪些教材?...
  12. Spring+SpringMVC+MyBatis整合基础篇
  13. Java get set6_Java oop 的题与答案6:使用程序模拟英雄金币数,get与set知识,访问修饰符(有图)...
  14. Java常用工具类StringUtils的常用方法
  15. 关于 SQLNET.AUTHENTICATION_SERVICES 验证方式的说明
  16. is not allowed for source level below 1.7 的解决办法
  17. 大型网站技术架构 学习总结一(基础了解)
  18. adb连接 红米5手机
  19. 台式计算机如何连接投影仪,电脑如何链接投影仪_台式电脑主机怎么连接投影仪-win7之家...
  20. 鳄克斯系列服务器,英雄联盟:FPX冠军庆典活动进行中 一半宝石入手海科克斯系列皮肤...

热门文章

  1. 红米k40怎么设置全面屏
  2. matlab神经网络训练结果误差很大,MATLAB搭建bp神经网络的误差特别大,但R2的值也大,求解帮我看看我的网络哪里出问题了...
  3. Learn python 3 the hard way-ex20
  4. pip安装软件时出现Command “python setup.py egg_info“ failed with error code 1 in /tmp/pip-build*的解决方案
  5. java数据结构——6队列(Queue)
  6. XXL-JOB 执行器用docker的方式来运行,执行的IP为虚拟IP解决方案
  7. 【C语言进阶】最常用的库函数大全——从入门到精通
  8. SwitchHosts以管理员身份运行执行失败
  9. CSDN实训第四天(OTP——动态令牌的实现)
  10. php常用的英文单词