赞
踩
PGP-Pretty Good Privacy,是一个基于RSA公钥和对称加密相结合的邮件加密软件。该系统能为电子邮件和文件存储应用过程提供认证业务和保密业务。
PGP是个混合加密算法,它由一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、与单向散列算法(MD5)以及一个随机数产生器(从用户击键频率产生伪随机数序列的种子)组成的,每种算法都是PGP不可分割的组成部分。
PGP让使用者可以安全地从未见过的人们通信,而事先并不需要任何保密的渠道用来传递密钥。
它是世界上最专业的的数据加密软件,用户可以使用它对任何自己希望保密的信息进行加密。PGP使用各种形式的加密方法,它用一种简单的包格式组合消息以提供简单、高效的安全机制。
PGP采用了一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。
PGP能够提供独立计算机上的信息保护功能,使得这个保密系统更加完备。
可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。因为它采用了非对称的“公钥”和“私钥”加密体系。
PGP的功能强大,有很快的速度。可以使用PGP接管用户的共享文件夹本身以及其中的文件,安全性远远高于操作系统本身提供的帐号验证功能。
》防止自己的消息落入其他公司之手;
》防止自己的私有文件为黑客窃取;
》保护自己的私下交谈;
》使用一种简单的方式论证消息;
》PGP比当前任何其他方法更容易使用;
》等等~ ~
》采用了谨慎的密钥管理;
》一种RSA和传统对称加密的混合算法;
》用于数字签名的邮件散列算法;
》加密前的压缩技术等;
》运行速度快,且它的源代码是免费的。
》把RSA公钥体制和传统对称加密体制进行高度结合;
》源码开源:算法安全性、漏洞弥补、避免后门;
》多操作系统平台支持;
》在数字签名和密钥管理方面有独特的设计;
》历史悠久、功能全面、用户较多、成为事实标准。
》使用强大的IDEA(国际数据加密算法)加密算法对存储在计算机上的文件加密。经加密的文件只能由知道密钥的人解密阅读。
》使用公开密钥加密技术对电子邮件进行加密。经加密的电子邮件只有收件人本人才能解密阅读。可防止非法阅读。
》使用公开密钥加密技术对文件或电子邮件作数字签名,鉴定人可以用起草人的公开密钥鉴别真伪。
》能对加密的邮件追加数字签名,从而使收信人进一步确信邮件的发送者,而事先不需要任何保密的渠道用来传递密钥;
》可以实现只签名而不加密,适合于发表公开声明时证实声明人身份,也可防止声明人抵赖,在商业领域有很大的应用前景;
》能够加密文件,包括图形文件、声音文件以及其他各类文件。
1、数字签名:使用DSS/SHA或RSA/SHA算法
使用SHA创建的报文散列码,并采用DSS或RSA算法使用发送者的私钥对这该报文摘要进行签名。
2、报文加密:使用IDEA、3DES或CAST,带有ElGamal算法或RSA算法
采用CAST-128或IDEA或3DES,使用发送者生成的一次性会话密钥对报文进行加密;会话密钥用接收方的公钥按ElGamal或RSA加密。
3、压缩:使用ZIP算法
报文可以使用ZIP进行压缩,用于存储或传输。
4、电子邮件兼容:使用基数64转换(radix-64)算法
为了提供电子邮件应用的透明性,加密的报文可以使用64基转换算法转换成ASCII字符串。
5、分段:为了满足最大报文长度的限制(如50k octets),PGP完成报文的分段与重新装配。
6、不可抵赖性:中转消息时,可以对消息源认证。
》电子邮件加密
》文件加密
》全硬盘加密
》电子签名
》文件粉碎
》虚拟专用网
PGP的密钥管理:
1、密钥保存:PGP采用加密的方式存放用户的隐蔽密钥,同时加密隐蔽密钥所需的密钥从用户的口令中导出。
2、密钥生成:用户输入一个口令,使用MD5算法生成口令摘录作为IDEA的密钥加密用户的隐蔽密钥中的秘密信息,并把加密结果放在隐蔽密钥报文中。
3、密钥使用:用户输入口令,重新生成IDEA密钥,进而解出秘密信息,从而得到具体的隐蔽密钥。
》PGP使用了4种类型的密钥:一次性会话对称密钥、公钥、私钥、基于口令短语的对称密钥。
密钥名 | 加密算法 | 用途 |
会话密钥 | IDEA | 用于对传送消息的加密解密,随机生成,一次性使用。 |
公钥 | RSA | 对会话密钥加密,收信人和发信人公用。 |
秘密钥 (私钥) | RSA | 对消息的杂凑值加密以形成签字,发信人专用。 |
基于通行短语的密钥 | IDEA | 对秘密钥加密,以存储于发送端。 |
》对PGP密钥的要求:
1、能够生成一种不可预测的会话密钥;
2、允许用户拥有多个公开/私有的密钥;
3、每个PGP实体必须对存储自己密钥对的文件进行维护,同时还需要对存储所有通信对方公钥的文件加以维护。
》会话密钥的生成 :
PGP的会话密钥是个随机数,它是基于ANSI X.917的算法由随机数生成器产生的。随机数生成器从用户敲键盘的时间间隔上取得随机数种子。对于磁盘上的randseed.bin文件是采用和邮件同样强度的加密。这有效地防止了他人从randseed.bin文件中分析出实际加密密钥的规律。
》PGP的工作方式:
1、传输之前使用ZIP技术压缩数据;
2、使用RSA算法加密IDEA密钥,然后使用IDEA算法对信息本身进行加密;
3、信息摘录使用MD5算法;
>主要威胁:假冒或替换
例如:网络黑客们常用的手段之一就是“监听”,通过网络传送的密钥很容易被截获。
对PGP来说,公钥本来就是要公开,就没有防监听的问题。
但公钥的发布仍然可能存在安全性问题,例如:公钥被篡改(public key tampering),使得使用公钥与公钥持有人的公钥不一致。这在公钥密码体系中是很严重的安全问题。
>主要措施:
》物理获取或派发手段;
》通过电话验证;
》通过双方都信赖的第三方(如证书发放机构)
>PGP中的信任关系:
》信任:用户A对某个公开密钥是否属于用户B的确信程度。用来建立公钥-用户关联,从而决定是否信任某个公钥,而不是某个用户。
》PGP通过对密钥签名来表示该密钥的担保;
》PGP通过定义信任的传递方式来形成签名链。每个密钥信任级别的变化都可能导致链中其他密钥信任级别的变化。
为了有效存储、组织密钥,同时也为了便于永久的使用,PGP使用了两个称为:秘密密钥环(私钥环)和公钥环的数据结构。
》秘密密钥环(私钥环)——用于存储自己的密钥对; 2、公钥环——用于存储该用户所知道的其他用户公开密钥。
》密钥标识符:
给每个公钥都指定一个唯一的标识符,也称为密钥ID。密钥ID与每个公钥相关联,并由公钥的最低64比特组成。(这个长度足以使密钥ID重复概率非常小),因此,发送方用接收方的哪个公钥就将这个公钥的ID发给接收方。
》公钥环:
》私钥环:
》签名信息: PGP使用发送者用户ID从私钥环中检索私钥;PGP向用户请求口令短语一恢复被加密的私钥;用私钥进行签名。
》加密信息: PGP产生会话密钥并加密消息;PGP使用接收者ID从公钥环中检测接收者的公钥;创建消息的会话密钥部分。
》解密消息: 接收者使用接收到的消息中的会话密钥部分中的密钥ID字段在私钥环中检索私钥;PGP提示接收者输入口令短语以恢复私钥;PGP用私钥来恢复会话密钥并解密消息。
》认证消息: PGP在消息的签名部分中获得发送者的密钥ID,并用该ID在公钥环中检索发送者的公钥;PGP恢复所传输的消息摘要;PGP对接收到的消息计算消息摘要,并与接收到的消息摘要进行比较以实现认证。
图注说明: EP——私钥、公钥加密 DP——公钥、私钥解密 DC——常规解密 H——散列函数 II——连接 EC——常规加密
》》消息的产生过程:(下图省略了压缩与基数64变换的过程)
》》消息的接收过程:
》PGP实际上用来加密的不是RSA本身,而是采用传统加密算法IDEA,IDEA加解密的速度比RSA快很多。
》PGP随机生成一个密钥,用IDEA算法对明文加密,然后用RSA算法对密钥加密。
》收件人同样是用RSA解出随机密钥,再用IDEA解出原文。
》这样的链式加密既有RSA算法的保密性和认证性,又保持了IDEA算法速度快的优势。
》公开密钥加密技术中的公钥和私钥则用来加密会话密钥,并通过它间接的保护报文内容。
》》PGP中的每个公钥和私钥都伴随着一个密钥证书。它一般包含以下内容:
》密钥内容(用长达百位的大数字表示的密钥)
》密钥类型(密钥的长度,以二进制位表示)
》密钥编号(用以唯一标识该密钥)
》创建时间
》用户标识(密钥创建人的信息、姓名、电子邮件等)
》密钥指纹(以128位的数字,是密钥内容的提要,标识密钥唯一的特征)
》中介人签名(中介人的数字签名,声明该密钥及其所有者的真实性,包括中介人的密钥编号和标识信息)
》》PGP把公钥和私钥存放在密钥环文件中。
》》PGP在多处需要使用口令,它主要起保护私钥的作用。由于私钥太长且无规律,难以记忆。PGP把它用口令加密后存入密钥环,这样用户可以用易记的口令间接使用私钥。
》》PGP主要在以下3处需要用户输入口令:
》需要解开收到的加密信息时,需要输入口令,取出私钥解密信息;
》当用户需要为文件或信息进行传统加密时,输入口令,取出私钥加密;
》对磁盘上的文件进行传统加密时,需要输入口令。
》PGP的加密原理:
PGP加密与解密是通过一对公钥和私钥来实现的。自己创建一对公钥:私钥自己保管,公钥可以发布出去。别人要给你发文件的时候通过你公布的公钥进行加密,然后你收到后用自己保管的私钥进行解密即可。
》PGP加密的步骤:(消息是经过混合密码系统进行加密,然后转换成报文数据-文本数据)
1、发送方:
》生成消息并为该消息生成一个随机数作为会话密钥(Ks);
》用会话密钥加密消息;
》用接收者的公钥加密会话密钥并与消息结合。
2、接收方:
》用自己的私钥解密恢复会话密钥;
》用会话密钥解密恢复消息。
PGP的私钥是保存在用户的钥匙串中的。为了防止钥匙串被盗,私钥都是以加密状态保存的,并在保存时使用了基于口令的密码(PBE)。
》生成数字签名过程: 就是指消息与相应的签名进行拼合,并最终转换成报文数据(文本数据)。
对于是否要将报文数据转换成文本数据,在PGP中是可以选择的。
》验证数字签名:指用PGP验证数字签名的过程,就是指接收者在接收到报文数据后,得到原始数据并验证数字签名的过程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。