3 公钥加密体系
3.1 公钥加密体系加解密过程
非对称加解密(即公钥加密体系)使用两把完全不同但又是相互匹配的密钥一公钥和私钥。发信方和接受方接收方相互通讯,发信方必须首先得到收信方的公钥,然后利用收信方的公钥对明文加密:收信方收到加密密文以后,使用自己的私钥解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。
3.2 对称加密与公钥加密体系结合
把对称加密和公钥加密体系结合起来,我们可以得到一个新的体系,它能够提供保密性和访问控制。我们可以用对称加密来加密海量数据,然后用公钥加密算法把对称加密密钥加密起来。这样就兼具有了对称加密和公钥加密二者的长处。如果我们想给多个人发送,我们只须把一个对称密钥为每个人加密一下。
假设A有一个文件想发给B,让我们来考虑整个过程:
(1)A用她的客户端应用软件选定B来作为接收者。应用软件从一个含有所有人的公钥的路径下获得B的公钥。
(2)A产生一个一次性使用的对称密钥,来把文件加密。
(3)用B的公钥把这个对称密钥加密。这意味着只有Bob能解开该密钥。
(4)写出要输出的文件,它包括暗文及加密的对称密钥。 再看B在接收端的过程: (1)B的应用程序确定这个文件是发给他的。
(2)B用他的私钥把加密过程中产生的对称密钥解开。
(3)用对称密钥把密文解密。
(4)把解密出来的内容写成文件。
3.3 哈希函数与公钥加密体系结合
把哈希函数和公钥加密算法结合起来,能提供一个方法来保证数据的完整性和真实性。完整性检查保证数据没有被改变,真实性检查保证数据真是由产生这个哈希值的`人发出的。把这两个机制结合起来,就是所谓的“数字签名”。数字签名的过程的第一步是产生一个我们想签名的数据的哈希值。第二步是把这个哈希值用我们的私钥加密。这个被加密的哈希结果被添加到数据后。这是一个在哈希函数上的巨大的提高。用这个方法,我们能够保护哈希结果的完整性。并且,由于我们用的是公钥加密算法,我们用不着给检查这段哈希结果的人一个密钥。
数据的接收者能够有你的公钥解密这段哈希值。同时,你能从你接到的数据产生一段哈希值。两者相比,如果相同,则可以肯定,他所接到的数据没有被更改。同时,接收者也知道,只有你才能发出这段数据,因为只有你才会有这个在哈希上签名的私钥。
小结
网络安全的要求其实非常简单。保密性,完整性,真实性,可用性和不可否是安全应用的五大基本要求。保密性指信息的保密,这可以通过加密机来实现;完整性包括信息的不可非法篡改。通过对称的加密,可以防止被第三方非法篡改,但却不能防止对方或密钥管理方的篡改。真实性一般归在完整性里面,主要指通信对方身份的真实性,通过主机地址,主机名称,口令等都不能很好地满足要求。地址、名称都可以假冒,而口令也容易受攻击而被第三方知道。可用性是保护系统在需要的时候能够提供服务,这可以通过冗余和其他设施来实现。PKI系统,通过非对称的算法,透过安全的应用设备,基本解决网络社会中的全部安全问题。