典型CA系统原理图
典型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位密钥)来增加破解者的破解时间,但是从密码学本身上讲,其安全强度并没有增加。
扫码下方或搜索关注公众号“卫星参数网”,独家内幕新闻!
