您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > TCP-IP论文合肥学院10
应用层安全协议PGP的研究与应用一、摘要PGPPRETTYGOODPRIVACY技术是一种加密电子邮件的技术,加密之后,信息会变成无意义的混乱字符。安全性很高。也可以作为数字签名,确保真实性。PGP可以做成插件,提供给很多应用程序使用,PGP本身就是一个软件。可以永久的擦除文件、文件夹和磁盘空间。PGP不是一种完全的非对称加密体系,它是个混合加密算法,它是由一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、一个单向散列算法(MD5)以及一个随机数产生器组成的,每种算法都是PGP不可分割的组成部分,它集中了的几种加密算法的优点,使它们彼此得到互补。二、小论文背景在现代社会里,互联网的飞速发展已经是毋庸置疑的了。相应的,电子邮件和网络上的文件传输已经成为人们工作和生活中不可或缺的部分了。当电子邮件广受欢迎的同时,其安全性问题也很突出。实际上,电子邮件的传送过程是邮件在网络上反复复制的过程,其网络传输路径不确定,很容易遭到不明身份者的窃取、篡改、冒用甚至恶意破坏,给收发双方带来麻烦。进行信息加密,保障电子邮件的传输安全已经成为广大E-mail用户的迫切要求。2000年前,人们就开始使用共享密码技术。1976年,Diffie-Hellman算法被提出。1978年,RSA——公开密钥算法被公开。1991年,PGP诞生,创始人是美国的PhilZimmermann。他的创造性在于他把RSA公匙体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密匙认证管理机制上有巧妙的设计。因此PGP成为几乎最流行的公匙加密软件包。很多个人和商业团体都经常使用它实现数据和电子邮件的保密性,并且很快就成为了安全电子邮件的标准。PGP的出现与应用很好地解决了电子邮件的安全传输问题。将传统的对称性加密与公开密钥加密方法结合起来,兼备了两者的优点。PGP提供了一种机密性和鉴别的服务,支持1024位的公开密钥与128位的传统加密算法,可以用于军事目的,完全能够满足电子邮件对于安全性能的要求。三、PGP协议的结构PGP是一个混合密码系统,有四个密码单元:1.分组密码单元(采用DES、IDEA、CAST、3DES等算法);2.公钥密码单元(采用Diffie-Hellman和RSA等算法);3.散列函数单元(采用SHA和MD5等算法);4.随机数产生单元。PGP加密过程:报文格式四、PGP协议的工作原理1操作描述PGP的实际操作由五种服务组成:鉴别、机密性、电子邮件的兼容性、压缩、分段和重装。1.1鉴别如图1。步骤如下:(1)发送者创建报文;(2)发送者使用SHA-1生成报文的160bit散列代码(邮件文摘);(3)发送者使用自己的私有密钥,采用RSA算法对散列代码进行加密,串接在报文的前面;(4)接收者使用发送者的公开密钥,采用RSA解密和恢复散列代码;(5)接收者为报文生成新的散列代码,并与被解密的散列代码相比较。如果两者匹配,则报文作为已鉴别的报文而接收。另外,签名是可以分离的。例如法律合同,需要多方签名,每个人的签名是独立的,因而可以仅应用到文档上。否则,签名将只能递归使用,第二个签名对文档的第一个签名进行签名,依此类推。1.2机密性在PGP中,每个常规密钥只使用一次,即对每个报文生成新的128bit的随机数。为了保护密钥,使用接收者的公开密钥对它进行加密。图2显示了这一步骤,描述如下:(1)发送者生成报文和用作该报文会话密钥的128bit随机数;(2)发送者采用CAST-128加密算法,使用会话密钥对报文进行加密。也可使用IDEA或3DES;(3)发送者采用RSA算法,使用接收者的公开密钥对会话密钥进行加密,并附加到报文前面;(4)接收者采用RSA算法,使用自己的私有密钥解密和恢复会话密钥;(5)接收者使用会话密钥解密报文。除了使用RSA算法加密外,PGP还提供了DiffieHellman的变体EIGamal算法。1.3常规加密和公开密钥结合的好处(1)常规加密和公开密钥加密相结合使用比直接使用RSA或E1Gamal要快得多。(2)使用公开密钥算法解决了会话密钥分配问题。(3)由于电子邮件的存储转发特性,使用握手协议来保证双方具有相同会话密钥的方法是不现实的,而使用一次性的常规密钥加强了已经是很强的常规加密方法。1.4机密性与鉴别对报文可以同时使用两个服务。首先为明文生成签名并附加到报文首部;然后使用CAST-128(或IDEA、3DES)对明文报文和签名进行加密,再使用RSA(或E1Gamal)对会话密钥进行加密。在这里要注意次序,如果先加密再签名的话,别人可以将签名去掉后签上自己的签名,从而篡改签名。1.5电子邮件的兼容性当使用PGP时,至少传输报文的一部分需要加密,因此部分或全部的结果报文由任意8bit字节流组成。但由于很多的电子邮件系统只允许使用由ASCII正文组成的块,所以PGP提供了radix-64(就是MIME的BASE64格式)转换方案,将原始二进制流转化为可打印的ASCII字符。1.6压缩PGP在加密前进行预压缩处理,PGP内核使用PKZIP算法压缩加密前的明文。一方面对电子邮件而言,压缩后再经过radix-64编码有可能比明文更短,这就节省了网络传输的时间和存储空间;另一方面,明文经过压缩,实际上相当于经过一次变换,对明文攻击的抵御能力更强。1.7分段和重装电子邮件设施经常受限于最大报文长度(50000个)八位组的限制。分段是在所有其他的处理(包括radix-64转换)完成后才进行的,因此,会话密钥部分和签名部分只在第一个报文段的开始位置出现一次。在接收端,PGP必须剥掉所在的电子邮件首部,并且重新装配成原来的完整的分组。2加密密钥和密钥环2.1会话密钥的生成PGP的会话密钥是个随机数,它是基于ANSIX.917的算法由随机数生成器产生的。随机数生成器从用户敲键盘的时间间隔上取得随机数种子。对于磁盘上的randseed.bin文件是采用和邮件同样强度的加密。这有效地防止了他人从randseed.bin文件中分析出实际加密密钥的规律。2.2密钥标志符允许用户拥有多个公开/私有密钥对:(1)不时改变密钥对;(2)同一时刻,多个密钥对在不同的通信组交互。所以用户和他们的密钥对之间不存在一一对应关系。假设A给B发信,B就不知道用哪个私钥和哪个公钥认证。因此,PGP给每个用户公钥指定一个密钥ID,这在用户ID中可能是唯一的。它由公钥的最低64bit组成(Kuamod264),这个长度足以使密钥ID重复概率非常小。2.3密钥环密钥需要以一种系统化的方法来存储和组织,以便有效和高效地使用。PGP在每个结点提供一对数据结构,一个是存储该结点年月的公开/私有密钥对(私有密钥环);另一个是存储该结点知道的其他所有用户的公开密钥。相应地,这些数据结构被称为私有密钥环和公开密钥环。3公开密钥管理3.1公开密钥管理机制一个成熟的加密体系必然要有一个成熟的密钥管理机制配磁。公钥体制的提出就是为了解决传统加密体系的密钥分配过程不安全、不方便的缺点。例如网络黑客们常用的手段之一就是“监听”,通过网络传送的密钥很容易被截获。对PGP来说,公钥本来就是要公开,就没有防监听的问题。但公钥的发布仍然可能存在安全性问题,例如公钥被篡改(publickeytampering),使得使用公钥与公钥持有人的公钥不一致。这在公钥密码体系中是很严重的安全问题。因此必须帮助用户确信使用的公钥是与他通信的对方的公钥。3.2防止篡改公钥的方法(1)直接从B手中得到其公钥,这种方法有局限性。(2)通过电话认证密钥:在电话上以radix-64的形式口述密钥或密钥指纹。密钥指纹(keysfingerprint)就是PGP生成密钥的160bit的SHA-1摘要(16个8位十六进制)。(3)从双方信任的D那里获得B的公钥。如果A和B有一个共同的朋友D,而D知道他手中的B的公钥是正确的。D签名的B的公钥上载到BBS上让用户去拿,A想要获得B的公钥就必须先获取D的公钥来解密BBS或网上经过D签名的B的公钥,这样就等于加了双重保险,一般没有可能去篡改而不被用户发现,即使是BBS管理员。这就是从公共渠道传递公钥的安全手段。有可能A拿到的D或其他签名的朋友的公钥也是假的,但这就要求攻击者C必须对三人甚至很多人都很熟悉,这样的可能性不大,而且必需经过长时间的策划。只通过一个签名证力度可能是小了一点,于是PGP把用不同私钥签名的公钥收集在一起,发送到公共场合,希望大部分从至少认识其中一个,从而间接认证了用户(A)的公钥。同样用户(D)签了朋友(A)的公钥后应该寄回给他(A)(朋友),这样可以让他(A)通过该用户(D)被该用户(D)的其他朋友所认证。与现实中人的交往一样。PGP会自动根据用户拿到的公钥分析出哪些是朋友介绍来的签名的公钥,把它们赋以不同的信任级别,供用户参考决定对它们的信任程度。也可指定某人有几层转介公钥的能力,这种能力随着认证的传递而递减的。(4)由一个普通信任的机构担当第三方,即“认证机构”。这样的“认证机构”适合由非个人控制的组织或政府机构充当,来注册和管理用户的密钥对。现在已经有等级认证制定的机构存在,如广东省电子商务电子认证中心()就是一个这样的认证机构。对于那些非常分散的用户,PGP更赞成使用私人方式的密钥转介。3.3信任的使用PGP确实为公开密钥附加侂任和开发信任信息提供了一种方便的方法使用信任。公开密钥环的每个实体都是一个公开的密钥证书。与每个这亲的实体相联系的是密钥合法性字段,用来指示PGP信任“这是这个用户合法的公开密钥”的程度;信任程度越高,这个用户ID与这个密钥的绑定越紧密。这个字段由PGP计算。与每个实体相联系的还有用户收集的多个签名。反过来,每个签名都带有签名信任字段,用来指示该PGP用户信任签名者对这个公开密钥证明的程度。密钥合法性字段是从这个实体的一组签名信任字节中推导出来的。最后,每个实体定义了与特定的拥有者相联系的公开密钥,包括拥有者信任字段,用来指示这个公开密钥对其他公开密钥证书进行签名的信任程度(这个信任程度是由该用户指定的)。可以把签名信任字段看成是来自于其他实体的拥有者信任字段的副本。五、PGP协议的功能1.使用PGP对邮件加密,以防止非法阅读;2.能给加密的邮件追加上数字签名,从而使收信人进一步确信邮件的发送者,而事先不需要任何保密的渠道用来传递密钥;3.可以实现只签名而不加密,适用于发表公开声明时证实声明人身份,也可防止声明人抵赖,这一点在商业领域有很大的应用前景;4.能够加密文件,包括图形文件、声音文件以及其它各类文件;5.利用PGP代替Uuencode生成RADIX64(就是MIME的BASE64格式)的编码文件。六、PGP协议的应用场合PGP为各操作系统提供应用平台,如今,人们对电子邮件的使用频率不断增加,可以应用PGP来满足用户对安全的需要,比如PGP在银行系统中,银行操作系统需要传输大量的机密信息,如用户的身份信息、账号、款项情况等,除此之外,pgp还可以对工资信息、商业合同、技术文档等保密邮件进行加密,PGP甚至可以对磁盘文件、即时信息等进行加密和解密。七、个人小结总的来说,PGP协议是一项加密协议,所以算法是此项协议的核心问题,若想真正对PGP协议有一个深刻的认识,必须将网络安全中的密码学以及其它相关知识了解透彻,把它们综合应用,才能对PGP协议有一个更深的应用。同时,我们应该了解在互联网高速发展的今天,电子邮件越来越占据人们生活的重要地位,根据资料显示,在国内每周内每一互联网使用者平均都会发送出3.6封电子邮件,收到4.4封电子邮件,这些用来进行信息沟通的电子邮件的主要协议均使用明文进行传输,当邮件的内部信息通过无法信任的互联网时,就会存在被获取的危险,所以加密技术重视程度不断提升,故学习PGP势在必行。最后应该认识到PGP自身并未应用独特的安全技术,其对数字签名、压缩、加密等技术进行了运用,具有强大的加密功能,PGP对电子邮件的加密,保证信息的安全提供了有力的支持,现已在加密电子文件信息等
本文标题:TCP-IP论文合肥学院10
链接地址:https://www.777doc.com/doc-2862158 .html