关于加密方法,我们之前进行过一系列的探讨,其中对称加密和非对称加密是被拿来比较得最多的,鉴于此,我们今天也将从这里开始讲解。

尽管有相对的缺点,美国政府把使用超过40位的密钥的加密规为强加密,这种加密出口相关的法律已经获得通过。美国国内公司想要出口使用强加密的产品,首先要获得美国国务院的许可。例如,Pretty Good Privacy(PGP)加密工具的国际版本,虽然这些法律可能会变得日益宽松,但是一些公司和组织将毫无疑问继续遵守它。尽管公司和政府用现代化的计算机可以去击败40位的加密,但是耗费的成本超过了信息本身的价值。事实上,决定需要密钥的长度的一个因素是被保护信息的价值。尽管40位的密钥对于金融交易来说并不总是合适的,但对于个人用户的需要已经足够了。目前美国出口法对于40位密钥长度的限制已取消。

建立信任关系

应用加密指的是在主机之间建立一个信任关系。在最基本的级别上,一个信任关系包括一方加密的信息,并只有另一方的合作伙伴可以解密这个信息。这种任务是利用公钥加密来完成的。这种类型的加密要求你建立一个私钥和一个公钥。一旦你已经产生了一对密钥,你可以把公钥发布给任何人。

你可以通过以下两种方法来发布你的公钥:

·手动:你首先必须和接收方交换公钥,然后用接收方的公钥来加密信息。PGP和S/MIME需要使用这种方法。

·自动:SSL和IPSec通过一系列的握手可以安全地交换信息(包括私钥)。 在本课你将学到有关这方面更多的知识。

下面是在加密中一些术语的简单介绍:

对称加密

在对称加密(或叫单密钥加密)中,只有一个密钥用来加密和解密信息。尽管单密钥加密是一个简单的过程,但是双方都必须完全的相信对方,并都持有这个密钥的备份。但要达到这种信任的级别并不是想像中的那么简单。当双方试图建立信任关系时可能一个安全破坏已经发生了。首先密钥的传输就是一个重要问题,如果它被截取,那么这个密钥以及相关的重要信息就没有什么安全可言了。

但是,如果用户要在公共介质 (如互联网) 上传递信息,他需要一种方法来传递密钥,当然物理的发送和接收密钥是最安全的,但有时这是不可能的。一种解决方法就是通过电子邮件来发送,但这样的信息很容易的被截取到,从而击破了加密的目的。用户不能加密包含密钥的邮件,因为他们必须共享另一个用来加密含有密钥邮件的密钥。这种困境就产生了问题:如果对称密钥用它们自己来加密,那为什么不直接用相同的方法在第一步就使用?一个解决方案就是用非对称加密,我们将在本课的后面提到。

所有类型加密的一个主题就是破解。一种减少使用对称加密所造成的威胁的反措施就是改变密钥的规律性。然而,定期改变密钥经常是困难的,尤其是你的公司里有很多用户。另外,黑客可以使用字典程序,password sniffing来危及对称密钥的安全,或者通过搜翻办公桌,钱包以及公文包。对称加密也很容易被暴力攻击的手段击败。

非对称加密

非对称加密在加密的过程中使用一对密钥,而不像对称加密只使用一个单独的密钥。一对密钥中一个用于加密,另一个用来解密。如用A加密,则用B解密;如果用B加密,则要用A解密。

重要的概念是在这对密钥中一个密钥用来公用,另一个作为私有的密钥;用来向外公布的叫做公钥,另一半需要安全保护的是私钥。非对称加密的一个缺点就是加密的速度非常慢,因为需要强烈的数学运算程序。如果一个用户需要使用非对称加密,那么即使比较少量的信息可以也要花上几个小时的时间。

非对称加密的另一个名称叫公钥加密。麻省里工学院的数学家们在1970年首先开发了非对称密钥(公钥)技术。尽管私钥和公钥都有与数学相关的,但从公钥中确定私钥的值是非常困难的并且也是非常耗时的。在互联网上通信,非对称加密的密钥管理是容易的因为公钥可以任易的传播,私钥必须在用户手中小心保护。

HASH加密把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值。HASH加密用于不想对信息解密或读取。使用这种方法解密在理论上是不可能的,是通过比较两上实体的值是否一样而不用告之其它信息。HASH加密别一种用途是签名文件。它还可用于当你想让别人检查但不能复制信息的时候。

举个例子,一台自动取款机(ATM)不需要解密一个消费者的个人标识数字(PIN)。磁条卡将顾客的代码单向地加密成一段HASH值,一旦插卡时,ATM机将计算用户PIN的HASH值并产生一个结果,然后再将这段结果与用户卡上的HASH值比较。使用这种方法,PIN是安全的,即使对于那些维护ATM机的人来说。

签名

信息鉴别的方法可以使信息接收者确定:信息发送者的身份以及信息在传送过程中是否被改动过。如果信息的收发双方对该信息的内容及发送端没有争执的话,那么只采用鉴别技术也就足够了。鉴别技术可以保证在信息传送过程中对信息内容的任何改动都可以被检测出来,并且能够正确的鉴别出信息发送方的身份。但是,当信息的收发方对信息的内容及发送端产生争执时,只用鉴别技术就不够了。

收方可以伪造一份信息,从中获得非法利益,并且自称该信息是由发送方发过来的。例如,银行通过通信网络传送一张支票,收方就可以对支票数额进行改动,并且声称他已收到了这张支票。利用前面的鉴别技术丝毫也解决不了这个问题,因为鉴别使用了一个收/发双方共享的秘密密钥,这样才能是发放产生一个鉴别码而接收方又能对该鉴别码进行校验。但是收方也能对他伪造的信息产生一个合法的鉴别码,这给整个系统带来严重的安全问题。

在许多情况下,特别是商业系统中,通常都利用书面文件来规定契约性的责任,虽然鉴别技术可以完全有效的防止第三者的介入,但是却丝毫不能防止接收者的伪造。问题的另一方面是发送方可能是不诚实的,由于他发送的信息变得对他很不利,而要逃避责任,那么发送方就可能谎称他从未发过这个信息。在整个争执过程中,第三方也无法分辨那种情况是真实的。

为了解决上述问题,就必须利用另外一种安全技术----数字签名。签名必须达到如下效果:在信息通信的过程中,接收方能够对公正的第三方(可以是双方事前统一委托其解决某一问题或某一争执的仲裁者)证明其收到的报文内容是真实的,而且确实是由那个发送方发过来的,同时签名还必须保证发送方发送后不能根据自己的利益否认他所发送过的报文,而收方也不能根据自己的利益来伪造报文或签名。

对于数字签名的产生过程来说,必须有足够的信息才能对报文和签名进行验证,没有足够的信息就会给伪造或否认报文提供可乘之机。但是收发双方用来产生与校验的签名的信息不能完全相同,因为一旦接收方能够用发送方用来产生签名的相同信息(算法和参数)来证实报文和签名,那么收方同样也能够用它来伪造报文和签名。所以签名产生者与签名证实者之间的相同信息绝对不能太多。如果发送方事后担心接收方否认接收到了他所发送的报文,那么发送方应能够请求获得报文证明,也就是说由接收方对发送方提供收到报文的证据。例如,如果甲方把报文发送给乙方,那么乙方就要向甲方发送一份签了名的报文证明收到了,由于这份报文有乙方的签名,所以乙方是不能抵赖他所收到的报文的。

随着信息经济和知识经济的迅猛发展,无纸办公彻底改变了过去手工操作的各种不便,显得更安全、更有效、更迅速、更简洁、更方便。数字签名以其独特的优势适应了这种发展,在无纸办公中占有十分重要的地位。例如,对公司内部有下级呈给上级请求批阅的公文 在以往只需领导大笔一挥签名盖章,以个人的笔迹来证明其真实性。但手写的文件签名非常容易伪造。除此之外,签名者还可以否认签名,宣称它是伪造的。但在无纸办公年代,计算机网络中传送的电子公文又如何盖章呢?又如何来证明签名的真实性呢?这就是——数字签名。