当前位置:   article > 正文

密码应用——PGP详细内容整理

pgp

一、PGP介绍

1、PGP简述

PGP-Pretty Good Privacy,是一个基于RSA公钥和对称加密相结合的邮件加密软件。该系统能为电子邮件和文件存储应用过程提供认证业务和保密业务。

PGP是个混合加密算法,它由一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、与单向散列算法(MD5)以及一个随机数产生器(从用户击键频率产生伪随机数序列的种子)组成的,每种算法都是PGP不可分割的组成部分。

PGP让使用者可以安全地从未见过的人们通信,而事先并不需要任何保密的渠道用来传递密钥。

它是世界上最专业的的数据加密软件,用户可以使用它对任何自己希望保密的信息进行加密。PGP使用各种形式的加密方法,它用一种简单的包格式组合消息以提供简单、高效的安全机制。

PGP采用了一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。

PGP能够提供独立计算机上的信息保护功能,使得这个保密系统更加完备。

可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。因为它采用了非对称的“公钥”和“私钥”加密体系。

PGP的功能强大,有很快的速度。可以使用PGP接管用户的共享文件夹本身以及其中的文件,安全性远远高于操作系统本身提供的帐号验证功能。 

2、PGP的使用目的

》防止自己的消息落入其他公司之手;

》防止自己的私有文件为黑客窃取;

》保护自己的私下交谈;

》使用一种简单的方式论证消息;

》PGP比当前任何其他方法更容易使用;

》等等~ ~

3、PGP特点

》采用了谨慎的密钥管理;  

》一种RSA和传统对称加密的混合算法;  

》用于数字签名的邮件散列算法;  

》加密前的压缩技术等;  

》运行速度快,且它的源代码是免费的。

4、PGP优点

》把RSA公钥体制和传统对称加密体制进行高度结合;  

》源码开源:算法安全性、漏洞弥补、避免后门;  

》多操作系统平台支持;  

》在数字签名和密钥管理方面有独特的设计;  

》历史悠久、功能全面、用户较多、成为事实标准。

二、PGP功能介绍

1、PGP的功能

》使用强大的IDEA(国际数据加密算法)加密算法对存储在计算机上的文件加密。经加密的文件只能由知道密钥的人解密阅读。  

》使用公开密钥加密技术对电子邮件进行加密。经加密的电子邮件只有收件人本人才能解密阅读。可防止非法阅读。

》使用公开密钥加密技术对文件或电子邮件作数字签名,鉴定人可以用起草人的公开密钥鉴别真伪。

》能对加密的邮件追加数字签名,从而使收信人进一步确信邮件的发送者,而事先不需要任何保密的渠道用来传递密钥;

》可以实现只签名而不加密,适合于发表公开声明时证实声明人身份,也可防止声明人抵赖,在商业领域有很大的应用前景;

》能够加密文件,包括图形文件、声音文件以及其他各类文件。

2、PGP提供的安全服务机制

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、不可抵赖性:中转消息时,可以对消息源认证。

3、PGP的用途

》电子邮件加密

》文件加密

》全硬盘加密

》电子签名

》文件粉碎

》虚拟专用网

三、PGP密钥管理机制

PGP的密钥管理:

1、密钥保存:PGP采用加密的方式存放用户的隐蔽密钥,同时加密隐蔽密钥所需的密钥从用户的口令中导出。

2、密钥生成:用户输入一个口令,使用MD5算法生成口令摘录作为IDEA的密钥加密用户的隐蔽密钥中的秘密信息,并把加密结果放在隐蔽密钥报文中。

3、密钥使用:用户输入口令,重新生成IDEA密钥,进而解出秘密信息,从而得到具体的隐蔽密钥。

1、PGP的密钥

》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算法;

2、公开密钥管理机制

>主要威胁:假冒或替换

例如:网络黑客们常用的手段之一就是“监听”,通过网络传送的密钥很容易被截获。

对PGP来说,公钥本来就是要公开,就没有防监听的问题。

但公钥的发布仍然可能存在安全性问题,例如:公钥被篡改(public key tampering),使得使用公钥与公钥持有人的公钥不一致。这在公钥密码体系中是很严重的安全问题。

>主要措施:

          》物理获取或派发手段;     

          》通过电话验证;     

          》通过双方都信赖的第三方(如证书发放机构)

>PGP中的信任关系:

          》信任:用户A对某个公开密钥是否属于用户B的确信程度。用来建立公钥-用户关联,从而决定是否信任某个公钥,而不是某个用户。

          》PGP通过对密钥签名来表示该密钥的担保;

          》PGP通过定义信任的传递方式来形成签名链。每个密钥信任级别的变化都可能导致链中其他密钥信任级别的变化。

3、密钥环

为了有效存储、组织密钥,同时也为了便于永久的使用,PGP使用了两个称为:秘密密钥环(私钥环)和公钥环的数据结构。

秘密密钥环(私钥环)——用于存储自己的密钥对; 2、公钥环——用于存储该用户所知道的其他用户公开密钥。

》密钥标识符:

给每个公钥都指定一个唯一的标识符,也称为密钥ID。密钥ID与每个公钥相关联,并由公钥的最低64比特组成。(这个长度足以使密钥ID重复概率非常小),因此,发送方用接收方的哪个公钥就将这个公钥的ID发给接收方

》公钥环:

》私钥环:

4、密钥环的使用

》签名信息: PGP使用发送者用户ID从私钥环中检索私钥;PGP向用户请求口令短语一恢复被加密的私钥;用私钥进行签名。

》加密信息: PGP产生会话密钥并加密消息;PGP使用接收者ID从公钥环中检测接收者的公钥;创建消息的会话密钥部分。

》解密消息: 接收者使用接收到的消息中的会话密钥部分中的密钥ID字段在私钥环中检索私钥;PGP提示接收者输入口令短语以恢复私钥;PGP用私钥来恢复会话密钥并解密消息。

》认证消息: PGP在消息的签名部分中获得发送者的密钥ID,并用该ID在公钥环中检索发送者的公钥;PGP恢复所传输的消息摘要;PGP对接收到的消息计算消息摘要,并与接收到的消息摘要进行比较以实现认证。

 

图注说明:      EP——私钥、公钥加密            DP——公钥、私钥解密          DC——常规解密                                                                                 H——散列函数                         II——连接                               EC——常规加密    

》》消息的产生过程:(下图省略了压缩与基数64变换的过程)

》》消息的接收过程:

四、PGP工作流程

》PGP实际上用来加密的不是RSA本身,而是采用传统加密算法IDEA,IDEA加解密的速度比RSA快很多。

》PGP随机生成一个密钥,用IDEA算法对明文加密,然后用RSA算法对密钥加密。

》收件人同样是用RSA解出随机密钥,再用IDEA解出原文。

》这样的链式加密既有RSA算法的保密性和认证性,又保持了IDEA算法速度快的优势。

公开密钥加密技术中的公钥和私钥则用来加密会话密钥,并通过它间接的保护报文内容。

》》PGP中的每个公钥和私钥都伴随着一个密钥证书。它一般包含以下内容:      

          》密钥内容(用长达百位的大数字表示的密钥)      

          》密钥类型(密钥的长度,以二进制位表示)      

          》密钥编号(用以唯一标识该密钥)      

          》创建时间      

          》用户标识(密钥创建人的信息、姓名、电子邮件等)      

          》密钥指纹(以128位的数字,是密钥内容的提要,标识密钥唯一的特征)      

          》中介人签名(中介人的数字签名,声明该密钥及其所有者的真实性,包括中介人的密钥编号和标识信息)

》》PGP把公钥和私钥存放在密钥环文件中。

》》PGP在多处需要使用口令,它主要起保护私钥的作用。由于私钥太长且无规律,难以记忆。PGP把它用口令加密后存入密钥环,这样用户可以用易记的口令间接使用私钥。

》》PGP主要在以下3处需要用户输入口令:      

           》需要解开收到的加密信息时,需要输入口令,取出私钥解密信息;      

           》当用户需要为文件或信息进行传统加密时,输入口令,取出私钥加密;      

           》对磁盘上的文件进行传统加密时,需要输入口令。

1、加密

》PGP的加密原理:      

PGP加密与解密是通过一对公钥和私钥来实现的。自己创建一对公钥:私钥自己保管,公钥可以发布出去。别人要给你发文件的时候通过你公布的公钥进行加密,然后你收到后用自己保管的私钥进行解密即可。

》PGP加密的步骤:(消息是经过混合密码系统进行加密,然后转换成报文数据-文本数据)

1、发送方:            

            》生成消息并为该消息生成一个随机数作为会话密钥(Ks);            

            》用会话密钥加密消息;            

            》用接收者的公钥加密会话密钥并与消息结合。

2、接收方:            

            》用自己的私钥解密恢复会话密钥;            

            》用会话密钥解密恢复消息。

2、解密

PGP的私钥是保存在用户的钥匙串中的。为了防止钥匙串被盗,私钥都是以加密状态保存的,并在保存时使用了基于口令的密码(PBE)。

3、数字签名

》生成数字签名过程: 就是指消息与相应的签名进行拼合,并最终转换成报文数据(文本数据)。

对于是否要将报文数据转换成文本数据,在PGP中是可以选择的。

》验证数字签名:指用PGP验证数字签名的过程,就是指接收者在接收到报文数据后,得到原始数据并验证数字签名的过程。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/129282?site
推荐阅读
相关标签
  

闽ICP备14008679号