数字电视智能卡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

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr