关键词:pki;公钥加密;哈希函数;认证权成:rsa算法
前言:公钥加密体系是密码学上的一个重要里程碑。公钥加密的主要特点是加密和解密不需要用同一个钥匙。在公钥加密体系中,密钥论“对”,一个称为“公钥”,一个称为“私钥”。公钥和私钥互为“逆运算”,即用公钥加密的东西只有用它对应的私钥才能解密,而用私钥加密的东西也只有用它对应的公钥才能正确解密。公钥要广为传播,越广泛越好;私钥为个人所有,越秘密越好。而且,令人惊奇的是,公钥的广泛传播并不会影响私钥的秘密性,即公钥和私钥之间几乎没有什么相关性,由公钥推出私钥的可能性几乎为零。
1 pki理论
1.1 公钥基础设施pki
提供公钥加密和数字签名服务的综合系统称做一个公钥基础设施(简称pki)。建立公钥基础设施的目的是管理密钥和证书。通过pki对密钥和证书的管理,一个组织可以建立并维护可信赖的网络环境。pki能够使加密和数字签名服务应用在广泛的应用中。
1.2 认证权威ca
在证书创建过程中,ca在pki中扮演可信任的代理商角色。只要用户相信一个ca及其发行和管理证书的商业策略,用户就能相信由该ca颁发的证书,这被称做第三方信任。
ca为用户创建证书并在证书上签署包含下面信息的数据集合。
(1)以甄别名称(简称dn)形式出现的用户名。dn指定了用户的名字和能够唯一标识用户的任何属性(例如,dn可能包含用户的雇员号码)
(2)用户的公钥。其他人用它为该用户加密信息或验证该用户的数字签名。
(3)证书的有效期(或生命期)。这里包括开始日期和结束日期。
(4)使用公钥进行的具体操作(是加密数据还是验证签名,或者两者都有)。
(5)在证书上的ca的签名保证了证书的内容不被篡改。
2 通用加密算法
2.1 对称算法 对称算法,也称密钥算法,通常使用40—256位的密钥。一般说来,对称算法使用相同的密钥进行加密和解密。一个好的对称算法的安全性在于密钥的安全性。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。
2.1.1 数据加密标准(des)
数据加密标准(des)是到目前为止最有名的加密算法,使用了ansi利用标准进行规定的对称密钥加密法,ansi于1981年制定了对此种加密方法进行了规定:需要使用56位的密钥和密码块方式,即将文本按64位大小分成若干份,然后对它们进行加密。
2.2 哈希函数
一个哈希是一段数据的数学上的概要。它有一定的长度。它是数据的唯一的“数字指纹”。即使数据的一个bit变了,它的哈希码会发生巨大的变化。哈希函数的强度在于它是一个单向函数。换句话说,如果我们有一个输入文件,可以很容易地得到它的哈希码,但反过来,如果我们有一个哈希码,要得到它的原来的输入文件非常困难。
2.2.1 信息摘要md5 md5处理512位的输入数据块,产生固定的128位的信息摘要。尽管md5是一个快速的哈希函数,但它的哈希结果的长度被今天的标准看作是最小的。
2.2.2 安全哈希算法sha
安全哈希算法是由nist和nsa共同开发的用于数字签名标准(dss)的哈希算法。尽管sha的设计基于md4,但它的细节从没公开过。在这种情况下,人们仍然认为sha比md4和md5安全的多。一个原因就是5ha产生160位的信息摘要而不是128位。这极大地增加了强力攻击的难度。
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系统,通过非对称的算法,透过安全的应用设备,基本解决网络社会中的全部安全问题。
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回通信学论文列表