一、背景介绍
早期的互联网完全没有任何加密,用户之间传递的信息可以被任何人轻易截取窃听,更糟糕的是,美国联邦政府一直在试图将窃听合法化。
在这种情况下,菲利普·齐默曼(Philip R. Zimmermann)在1991年创造了第一个版本的PGP(Pretty Good Privacy)加密。
1997 年 7 月,PGP Inc.与齐默尔曼同意 IETF 制定一项公开的互联网标准,称作 OpenPGP(RFC 4880),任何支持这一标准的程序也被允许称作 OpenPGP。自由软件基金会开发的 OpenPGP 程序叫做 GnuPG(GPG),也陆续有一些商用 OpenPGP 软件被开发出来。
PGP(Pretty Good Privacy),是一套用于信息加密、验证的应用程序,可用于加密电子邮件内容。PGP 本身是商业应用程序;同类开源工具名为 GnuPG(GPG)。PGP 及其同类产品均遵守 OpenPGP 数据加解密标准。
"Pretty Good"在这个名字中表达了一种适度的自信,即这种加密方法虽然可能不是绝对完美无缺的,但它足够好,能够为大多数用户提供必要的隐私和安全性。PGP结合了对称加密(如一次性密钥或会话密钥)和非对称加密(使用公钥和私钥)的优点,提供了一种既高效又灵活的加密解决方案。
而现在,加密技术已经走向了个人,大家的电脑和手机里到处都是加密产品: 浏览器(TLS加密),邮件客户端(支持加密传输邮件),文件加密工具,与远程服务器加密通信的其他软件......已经没有哪个政府能够阻止加密技术的传播了!
那么,如何实现机密性?
二、技术原理
2.1 安全通信的特性
报文完整性:报文在传输、交换、存储和处理过程保持非修改、非破坏和非丢失的特性,即保持信息原样性,使报文能正确生成、存储、传输,这是最基本的安全特征。
端点鉴别:通信双方具有身份证明,避免被第三方冒充。
机密性:仅有发送方和接收方能理解传送报文的内容,防止信息泄露,杜绝有用信息泄漏给非授权个人或实体,强调有用信息只被授权对象使用的特征。
2.2 对称密钥系统
在对称密钥系统中,接收方和发送方手里各有一把相同的钥匙,即对称密钥,接收方收到加密后的数据后用同样的密钥就能解密数据。
2.3 非对称密钥系统
在非对称密钥系统中,使用两把不同的钥匙,用其中任何一把钥匙上锁,只能用另外一把钥匙开锁,即公钥和私钥。
2.4 PGP加密原理
PGP是一种用于加密和保护数据的公钥密码学技术。PGP协议采用了审慎的密匙管理,即一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等。发送方使用接收方的公钥对数据进行加密,接收方使用自己的私钥对数据进行解密。这种加密方式可以保证数据的机密性和完整性,因为只有持有相应私钥的人才能解密数据。
PGP协议基于公钥密码学原理,使用一对密钥:一个公开的公钥和一个私有的私钥。发送方使用接收方的公钥对数据进行加密,接收方使用自己的私钥对数据进行解密。这种加密方式可以保证数据的机密性和完整性,因为只有持有相应私钥的人才能解密数据。
PGP中的每个公钥和私钥都伴随着一个密钥证书。一般包含以下内容:
·密钥内容(用长达百位的大数字表示的密钥)
·密钥类型(表示该密钥为公钥还是私钥)
·密钥长度(密钥的长度,以二进制位表示)
·密钥编号(用以唯一标识该密钥)
·创建时间、有效期
·用户标识 (创建人的信息,如姓名、电子邮件等)
·密钥指纹(是密钥内容的提要表示密钥唯一的特征)
·证书用途(PGP 可以生成OpenPGP中规定格式的证书,以及与X.509规范兼容的证书。此外,还可以颁发公钥的作废证明,并可以使用CRL和OSCP对证书进行校验)
2.5 PGP核心技术
PGP使用混合加密算法,由一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、与单向散列算法(MD5)以及一个随机数产生器(从用户击键频率产生伪随机数序列的种子)组成,每种算法都是PGP不可分割的组成部分。
作为首个实现公钥密码学的大范围应用软件之一。PGP使用了混合密码系统架构,使用对称加密和非对称加密来实现高级别的安全性。
在对内容进行加密的基本过程中,明文(可以被清楚理解的数据)被转换成密文(不可读的数据)。但在进行加密之前,大多数PGP系统都会执行数据压缩。PGP软件在传输纯文本文件之前对其进行压缩,可以节省磁盘空间和传输时间,同时还能够提高安全性。
在文件被压缩之后,接下来开始进行实际的加密。在此阶段,被压缩的明文文件使用一次性密钥进行加密,称之为会话密钥。该密钥是使用对称加密随机生成的,并且每次PGP通信会话都具有唯一的会话密钥。
接下来,使用非对称加密对会话密钥本身进行加密:接收者(Bob)将其公钥提供给消息的发送者(Alice),以便她可以加密会话密钥。无论二者所处的安全条件如何,该步骤都能够让Alice通过互联网安全地与Bob共享会话密钥。
会话密钥的非对称加密通常使用RSA算法来完成。许多其他的加密系统都使用RSA进行加密,包括被用于保护大多数互联网应用的传输层安全(TLS)协议。
Bob在接收到消息的密文和加密的会话密钥后,他就可以使用他的私钥来解密会话密钥,然后再使用解密后的会话密钥解密密文,从而获得明文。
除了能够进行加密和解密的基本功能外,PGP还支持数字签名,它至少具有以下三个功能:
·身份验证:Bob可以验证邮件的发件人是否的确为Alice。
·完整性:Bob可以确定消息未被更改。
·不可否认性:在对邮件进行数字签名后,Alice不能够否认她没有发送邮件。
2.6 PGP加解密过程
加密过程:
· 用随机数生成器生成会话密钥
· 使用会话密钥加密消息
· 用接收方的公钥加密会话密钥
· 将加密的会话密钥与加密的消息拼合起来一起发给接收方
解密过程:
· 接收方使用自己的私钥解密出会话密钥
· 使用会话密钥解密消息
2.7 PGP技术的优缺点
优点方面,由于结合使用对称和非对称加密,PGP支持用户通过互联网安全地共享信息和加密密钥。作为混合系统,PGP受益于非对称加密的安全性和对称加密的时效性。除了安全性和时效性之外,PGP还能够提供数字签名功能,以确保数据的完整性和发件人的真实性。
缺点方面,对于PGP系统的使用和理解并非易事,尤其是对于技术知识了解很少的用户。而且,公共密钥的长度也被认为是非常不便于用户使用的。
因此PGP一般在企业资源规划(即ERP)软件连接到银行系统时使用,防止信息在传输过程中被删改或盗取,从而减少商业秘密泄露和遭遇诈骗的风险。
值得注意的是,PGP所采用的一种确认公钥合法性的方法——信任网。而信任网的要点是 “不依赖认证机构,而是建立每个人之间的信任关系”。换言之,就是用户能够自己决定要信任哪些公钥。所以在使用PGP时,确认自己所得到的公钥是否真的属于正确的人(公钥合法性)是非常重要的。
2.8 PGP的应用场景
PGP加密技术在数据保护方面有很广泛的应用。下面列举了一些应用场景:
·电子邮件加密:PGP加密技术可以用于对电子邮件进行加密和解密,可以保护邮件的机密性,避免信息被截获和篡改。
·文件加密:PGP加密技术可以用于对文件进行加密和解密,可以保护文件的机密性,避免文件被泄露或者篡改。
·数字签名:PGP加密技术还可以用于数字签名。数字签名可以确保文档或者代码没有被篡改,并且证明签名者的身份,可用于验证数据的来源和完整性。
·网站加密:PGP加密技术可以用于对网站进行加密,保护网站的访问安全性。
PGP还包括其他功能,例如身份验证和消息认证码(MAC)。身份验证用于验证发送方的身份,而MAC则用于防止未经授权的修改或篡改数据。
PGP技术可以在多种操作系统和应用程序中使用,由于其高度的安全性和灵活性,PGP技术已成为许多专业人士和组织(如政府机构、军事组织和大型企业)的首选加密技术。
三、实现PGP加解密过程
3.1 创建认证
(1)新建密钥对:
(2)创建用户并设置密码:
(3)创建成功:
3.2 加密过程
(1)接收方导出公钥并发送:
(2)发送方获取公钥并认证:
(3)获取随机对称密钥并保存:
(4)加密明文并输入用户密码:
(5)加密对称密钥:
(6)发送密文和加密后的密钥(要发送的文件如下):
3.3 解密过程
(1)保存私钥并获取两个文件:
(2)解密对称密钥:
(3)输入对称解密明文:
四、总结
面对错综复杂的国际形势,作为大学生,我们要了解国家安全和反间防谍的相关知识;要增强反间防谍意识,提高警惕和自我保护意识,注意言行举止和保密工作;在日常生活中,不要轻易下载不明来源的软件和邮件,不要随意点击可疑的链接,不要随意将个人信息发布在社交媒体上或在不安全的网络环境下进行交易等操作;我们应当积极传递正能量和维护国家安全,为国家的发展和繁荣做出自己的贡献。
标签:公钥,加密,解密,安全,密钥,PGP,私钥,电子邮件 From: https://blog.csdn.net/weixin_63455272/article/details/139558522