Chinaunix首页 | 论坛 | 博客
  • 博客访问: 989219
  • 博文数量: 200
  • 博客积分: 5011
  • 博客等级: 大校
  • 技术积分: 2479
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 15:07
文章分类

全部博文(200)

文章存档

2009年(12)

2008年(190)

我的朋友

分类:

2008-12-29 15:29:34

典型CA系统加密算法 
    首先,从理论上说,世界上没有破解不了的CA系统,破解它只是时间问题以及有没有商业上的价值。然而实际中我们确实可以在技术上做到系统的不可破译性,也就是说从时间上、空间上以及从所付出的代价上让破解没有价值。这里所谓的技术就是指密钥管理体系和算法,一个严谨的、安全的密钥管理体系和算法将会极大地提高一个CA系统的安全性,使对它的破解极其困难。

其次,由于所选择的加密技术的不同,CA系统被破解的次数以及被破解所造成的损失也不相同。在欧洲几乎所有的CA系统都已被破解,其中包括我们常见的几个国外CA厂家。然而CA系统被破解所产生的后果却有着本质上的区别,有的仅仅是一个运营商的系统在一段时间内被破解,但并没有影响其它系统的安全运营;
有的却是其CA系统被完全破解,从而殃及了其所有的运营商的系统。

    
最后,严格说来,密码学中并没有基于算法和基于密钥的概念。因为密钥和算法本身就是密码学的两个要素,是很难分割的。所谓的区分实际上是CA系统所传递的信息的差别,有的CA系统仅仅传递加密算法的参数,而大多数的CA系统则是传递加密的密钥。两种传输密钥的形式各有优劣,没有绝对的孰优孰劣的结论。在CA系统的密钥管理体系中,除了那些使用自己独有算法的CA系统外,一般的CA系统都使用以下的三种算法: Data Encryption Standard (DES)算法、三重DES(Triple-DES)算法、RSA算法。前两种属于对称密码体系,第三种属于非对称密码体系。对上述的三种密钥算法我们将做一个简单的介绍,目的就是从密钥算法的角度去衡量一个CA系统的安全性。

    DES
算法是IBM公司于1975年研究成功并公开发表的一种基于对称密码体系的算法。其基本的原理是用一个64位字长的密钥(实际是56位加8位效验)分组后通过16次的左移得到16个子密钥,然后通过16次的迭代运算去加密一个64位的数据块,从而得到加密后的数据。在CA系统中表现为加密的密钥和解密的密钥为同一个64位的密钥,解密的过程就是加密的逆过程。目前除个别的CA系统还采用外,一般的CA系统最多将其用于对ECM的处理。

    DES
算法最有效的破解手段就是采用穷举法,一个DES算法的穷举空间是256,这意味着在1975年用一台1MIPS计算机需要运算两千年才能破解。然而随着计算机技术的发展,目前仅用一台高档的PC机用穷举法破解一个DES算法也就十几天的时间。因此采用DES算法的CA系统的安全性受到了极大的威胁。

Triple-DES
算法

    
由于DES算法安全性的原因,为了提高DES算法的抗攻击性,因此提出了Triple-DES算法。Triple-DES算法的基本原理(见图)是用两个密钥对数据进行3次的加密/解密运算,即首先使用第一个密钥对数据进行加密,然后用第二个密钥对其进行解密,最后用第一个密钥再加密。这两个密钥可以是同一个,也可以不同,它们也可以来源于一个128位密钥,只是在加密/解密时将其分割成两个64位的密钥,分别轮换用该两个64位密钥去完成加密/解密运算。Triple-DES算法保留了DES算法运算速度快的特点,通过增加运算次数和密钥长度(两个64位密钥相当于128位密钥)来增加破解者的破解时间,但是从密码学本身上讲,其安全强度并没有增加。

继续

采 用Triple-DES算法的CA系统的密钥在使用一段时间以后就需要进行更换,加密方需要通过某种安全的渠道把新的密钥传送给解密方,从而实现密钥的传 递更新或者子密钥的生成。为了达到此目的,采用Triple-DES算法的智能卡中必须嵌入一个根密钥(Root Key)或主密钥(Master Key),来完成密钥的生成和分发等,而根密钥或主密钥的安全则关乎到整个CA系统的安全。但是黑客正是通过跟踪截获其传递的密钥达到破解该密钥的目的, 或者通过对CA系统根密钥或主密钥的破解从而破解整个CA加密体系,那时即使采用了密钥循环的方法也无法剔除非法的智能卡。迄今为止,世界上所有采用 Triple-DES算法的CA系统都已被破解,而且找不到任何防止破解的办法,即使更换了新一代的智能卡,也未能阻止黑客的攻击。随着黑客破解的手段越 来越高明,破解的周期越来越短,给运营商造成的损失也越来越大,甚至在国内的某些地区数字电视广播还没有正式播出,而盗版的智能卡已经出现了,这对运营商 而言简直是一个灾难。
RSA算法是非对称密码体系(又称公开密码密钥体系)中最著名的一个算法。它是在1979年由Rivest、Shamir、Adleman三个人提出的一种分组密码算法,从其提出到现在的二十多年间,它经受了各种安全测试的考验,被证明是目前最安全的非对称密码算法。
    RSA算法是建立在一个数论模型基础上的一种算法,其数论模型是两个大的素数的乘积可以得到一个大整数,而将该大整数还原成两个大素数的乘积是非常困难 的,迄今还没有找到一种算法来完成分解。在RSA算法中存在着一对互不相同但又密切相关的密钥,我们称之为公钥和私钥。它们的密钥长度都大于512位,从 算法的原理上我们很难从其中的一个密钥去推算出另一个密钥,从而破解该系统。
对一个采用了RSA算法的CA系统来讲,一般采用公钥进行信息的加密,用私钥来进行信息的解密。由于每一张智能卡都有不同的公钥和私钥用于自身的加密和解 密。因此,即使破解了某一张智能卡的密钥。对其它智能卡也没有什么影响,系统可以通过剔除的方法将非法卡阻止在系统之外,从而保证了CA系统的安全。除数 字电视广播以外,它被广泛地应用于开放式的环境,例如Internet等。
    从上述密码学的角度来说,RSA算法本身比Triple-DES算法和DES算法有更高的安全性,已经被广泛地采用在各种安全强度要求较高的环境中。对一 个CA系统而言,采用不同的密钥管理体系和算法对其“安全强度”会有很大的影响。从目前的技术应用的角度看,毫无疑问,那些采用了非对称密钥管理体系中 RSA算法的CA系统比采用对称密钥管理体系中Triple-DES算法或DES算法的CA系统有着更高的安全性。国内外近十年来在数字电视广播以及 Internet上CA技术的应用也证明了这一论点。总之,作为CA系统最重要的也是最根本的技术指标之一就是系统的安全性,而安全性最根本的因素就来源 于密钥管理体系和算法。

阅读(2054) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~