数字电视智能卡CA的工作原理

2024-02-24 18:08

本文主要是介绍数字电视智能卡CA的工作原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数字电视CA的各个部分是紧密连接在一起的,一旦一部分出问题,其他也会受牵连。 CA的破解都是从局部的破解开始,直到最后彻底被攻破。根据从以往被破解的CA过程,分别解释如下:

  首先要了解一下CA的结构,见图一的智能卡,这里面保存了CA公司的全部家当。并注明了各部分大体的重要性分量。


图一

  算法:这一部分的算法设计水平可以决定智能卡的成本高低,如果能设计一个高效的算法,可以降低对智能卡的要求,智能卡成本就高,反之,智能卡成本就低;但大多CA公司的核心算法都是3DES甚至DES,因为在智能卡里面运算DES算法很耗费时间,对设计要求较高。也是因为这个原因,对同一家CA公司而言,批量供货的智能卡肯定都是同一种算法。DES(数据加密标准)在1977年被美国国家标准技术协会认可成为均衡加密算法的标准,是一种公开的算法,直到现在还在广泛应用。机顶盒中解解密流的解扰器也是采用的DES算法。采用算法保密的CA一般在DES或3DES基础上加上一个壳,就起到算法保密的作用,但这种作用在通讯接口配破解后,有的高水平的黑客就可以根据明文和密文的规律对应关系,将这个壳剥离掉。

  密钥:这部分一般根据不同的运营商单独设置,也有的CA公司针对好多规模不很大的运营商都用同一组密钥。在采用DES或3DES的情况下,密钥长度为64位,去掉8个校验位,实际长度为56位。这个密钥长度,表明有数量庞大的密钥可能性,在使用DES标准的当初,要破解一个DES密钥,普通的PC机要运行上百年。得益于计算速度的加快,早在1998年,就有人制造了一台专用于破解des的机器,这台机器叫做Deep Crack ,总共耗资20万美元,平均破解(穷举)出一个正确的key需耗时4天左右。即使现在,破解这样一个,现在制造这样一台机器花费也要超过1万美元。国外也有报道,采用高速DSP或FPGA,花费不到5000美元,每秒钟可以穷举超过1000亿个密钥,这样也能在几天内将正确的密钥找出来。不过,如果有足够多的明文和密文对样板,很多人用PC机协同操作,采用碰撞法,也很可能在短时间内将正确的密钥找到。虽然密钥的数据量不大,但在CA中的位置是举足轻重的,在知道但当知道了CA所采用的算法之后,即使不破坏智能卡,推出密钥只是时间问题。

  通讯接口,包含以下两部分:1、COS接口,这是CA公司在开发CA时所必须的接口,也是向智能卡里写算法和密钥的接口,每张智能卡里都一样。2、和算法密钥沟通的通讯及命令接口,就是将机顶盒接收到的ECM送到算法部分,根据索引取得对应的密钥进行解密。通讯接口是靠近密钥和算法最近的部分。在通讯接口被破解之后,可以获得足够的明文CW和密文ECM对,有利于采取团队合作的方式用碰撞法获得密钥,这对于采取密钥保密措施的数字电视CA威胁很大。另一方面,黑客可以利用已经被破解的通讯接口,对智能卡里的算法进行更进一步的攻击。

  图二是一种传统的CA算法破解方式,是采用物理方法将智能卡内部的算法和密钥读出来,再复制盗版卡。因为花费比较大,再加上现在的CW网络共享成本很低,一般情况下就不再采取这种方式破解了。但是,在互联网不发达的时候,第一代CA几乎全部是用这种方式被破解的,这是一种非常彻底的破解,解决的唯一办法就是换卡。


图二

  图三中是CW加密传输的CA原理与破解,有的CA在CW传输构成中进行了加密,但这种加密几乎没有对黑客形成阻碍。

  图四,是一种流行最早最广泛的网络共享技术,最著名的就是德国生产的Dream系列的卫星共享机顶盒,现在的Dream系列机顶盒还有很强大的PVR功能,使用开放的Linux操作系统,对普及数字电视共享技术起到了很大的作用。目前,在欧洲和北美使用DreamBox进行智能卡共享非常广泛,Dream还专为中国市场设计了DreamBox500C,因为价位较高,用户寥寥。其次是韩国的共享机顶盒,技术水平也非常高,甚至他们动用卫星转发器为网络不发达的地区提供共享服务。

图四

 图五,是一种比较先进的智能卡共享,这种共享最适合于中国平移后的有线电视智能卡共享。方法是,把原来发的机顶盒拔下来,插到共享机顶盒上,再把一个智能卡转无线的转接板插到原来的平移机顶盒上,在共享机顶盒上再插上一个无线转串口的小盒子。这样,原来的平移机顶盒就变成了子机,共享机顶盒就变成了母机,在母机上还有网络接口,可以在互联网更大的范围内共享。

  在原来网络不发达的情况下,智能卡和机顶盒通讯接口部分只占CA公司家当的30%。如果考虑到网络发展情况,在两到三年内会占到CA公司家当的50%以上。网络越发达、节目费用越高、机顶盒成本越低,这部分对CA公司和运营商的威胁越大。 

  图六是传统CA的破解步骤,只要解加密的CW算法被攻破,整个CA就算完了,就可以在此基础上完成图二中的算法破解和图四、图五中的网络共享。

图六

  在上述破解步骤中,第一步(Step1)的破解在网络不发达的情况下,不会引起安全隐患,花费也不大,因为还得需要插入智能卡才能解节目,破解收益不大。但是在网络发达的今天,这一步的破解就有很大意义了,并成了数字电视盗版的主要形式。

  第二步(Step2)的破解花费较大,是以前的数字电视盗版的主要形式,破解者出售CA算法可以谋取暴利。因为第一步(Step1)的盗版很容易实现,并很容易进行网络共享,使得这种花费大的盗版意义降低。

  盗版是一种违法行为,为什么在法律严格的欧美,数字电视共享盗版还那么普遍呢?

  这是因为,现在的国外机顶盒技术已经非常发达,网络功能非常强大,像德国的DreamBox在出厂时是没有共享功能的“裸机”,用户购买后可以从网络上下载能够进行CW共享的软件运行。又因为这些机顶盒的软件操作系统大都是LINUX操作系统,要遵守GPL(开源通用公共许可证,General Public License),所以必须公开源代码,众多黑客在这个平台上开发出了各种各样的CW共享软件,非常丰富。用户买到这样的机器可以自行装载CW共享软件。这样,数字电视的CW共享盗版就变成了用户个人的行为。在这里,机顶盒就像普通意义上的PC机,用户买来机顶盒就像买来PC机一样,在上面运行开发什么样的软件是购买者的自由,不需要卖机顶盒的人负责。这和你买PC机用于干坏事,责任不在卖PC机的人的道理一样。

这篇关于数字电视智能卡CA的工作原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/742920

相关文章

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们