加密可以保证数据的保密性,也可用于验证用户,它是在实现网络安全的重要手段之一。在本课中,你将学到如何使用对称加密,非对称加密和HASH加密来建立一个信任关系。
加密提供以下四种服务
服务
解释
数据保密性
这是使用加密的通常的原因。通过小心使用数学方程式,你可以保证只有你打算接收的人才能查看它。
数据完整性
对需要更安全来说数据保密是不够的。数据仍能够被非法破解并修改。一种叫HASH的运算方法能确定数据是否被修改过。
认证
数字签名提供认证服务。
不可否定性
数字签名允许用户证明一条信息交换确实发生过。金融组织尤其依赖于这种方式的加密,用于电子货币交易。
加密强度
加密文件一个常被讨论但又经常被误解的方面是加密强度。什么构成了加密的强度?什么是被美国出口法保护的?哪种级别的加密是被不同的安全需要所要求的?如何确定加密的有效强度?
加密强度取决于三个主要因素:
首先是算法的强度,包括几个因素,例如,除了尝试所有可能的密钥组合之外的任何方法都不能数学的使信息被解密。从我们的角度而言,我们应该使用工业标准的算法,它们已经被加密学专家测试过无数次,任何一个新的或个体的配方将不被信任直到它被商业的认证。
第二个因素是密钥的保密性,一个合乎逻辑但有时被忽略了的方面,没有算法能够发挥作用如果密钥受到损害,因此,数据的保密程度直接与密钥的保密程度相关,注意区分密钥和算法,算法不需要保密,被加密的数据是先与密钥共同使用,然后再通过加密算法。
第三个因素是密钥程度,这是最为人所知的一个方面,根据加密和解密的应用程序,密钥的长度是由”位”为单位,在密钥的长度上加上一位则相当于把可能的密钥的总数乘以二倍,简单的说构成一个任意给定长度的密钥的位的可能组合的个数可以被表示为2的n次方,这儿的n是一个密钥长度,因此,一个40位密钥长度的配方将是2的40次方或1099511627776种可能的不同的钥,与之形成鲜明对比的是现代计算机的速度。
尽管可能加密的密钥的总数是非常大的,专门的计算机现在可以在不到一天时间内试验许多种密钥的组合,在一九三三年,Michael wiener 研制出一种专门的计算机,专门破译DES(一种使用56-位密钥的算法)。在研制的过程中他发现设计所需要的费用是呈直线型的,考虑到他的结果和Moore的法则的因子(此法则指出计算力大约每18个月增长一倍)。其实任何密码都能破解而无论它的长度,想像一下这样的密钥利用现代的机器去破解是多么的快速。简单的说,一个人或组织在密钥破解的装备上花的钱越多,则密钥就会被越快的破解,这种断言最近已经得到证实。Electronic Frontier Foundation建造的专门的计算机最近在不到三天的时间内破译了一个64位基础的密码。
尽管有相对的缺点,美国政府把使用超过40位的密钥的加密规为强加密,这种加密出口相关的法律已经获得通过。美国国内公司想要出口使用强加密的产品,首先要获得美国国务院的许可。例如,Pretty Good Privacy(PGP)加密工具的国际版本,虽然这些法律可能会变得日益宽松,但是一些公司和组织将毫无疑问继续遵守它。尽管公司和政府用现代化的计算机可以去击败40位的加密,但是耗费的成本超过了信息本身的价值。事实上,决定需要密钥的长度的一个因素是被保护信息的价值。尽管40位的密钥对于金融交易来说并不总是合适的,但对于个人用户的需要已经足够了。目前美国出口法对于40位密钥长度的限制已取消。
建立信任关系
应用加密指的是在主机之间建立一个信任关系。在最基本的级别上,一个信任关系包括一方加密的信息,并只有另一方的合作伙伴可以解密这个信息。这种任务是利用公钥加密来完成的。这种类型的加密要求你建立一个私钥和一个公钥。一旦你已经产生了一对密钥,你可以把公钥发布给任何人。
你可以通过以下两种方法来发布你的公钥:
·手动:你首先必须和接收方交换公钥,然后用接收方的公钥来加密信息。PGP和S/MIME需要使用这种方法。
·自动:SSL和IPSec通过一系列的握手可以安全地交换信息(包括私钥)。 在本课你将学到有关这方面更多的知识。