pgp(pretty good privacy,优良保密协议)是一套用于信息加密、验证的应用程序,可用于加密电子邮件内容。pgp本身是商业应用程序;同类开源工具名为gnupg(gpg)。pgp及其同类产品均遵守openpgp数据加解密标准。
通常基于明文协议传输,没有加密和验证服务,攻击者可在邮件传输的任意节点截获数据或篡改内容,造成电子邮件数据泄露或身份仿冒。pgp 加密和 s/mime 加密都被用于电子邮件加密和验证,但二者在多个方面存在差异。
1、什么是 pgp 加密?
pgp(全称:pretty good privacy,),是一套用于、验证的应用程序,可用于加密电子邮件内容。pgp 本身是商业应用程序;同类开源工具名为 gnupg(gpg)。pgp 及其同类产品均遵守 openpgp 数据标准。
菲利普·齐默曼(philip r. zimmermann)在 1991 年创造了第一个版本的 pgp,1997 年 7 月,pgp inc.与齐默尔曼同意 ietf 制定一项公开的互联网标准,称作 openpgp(rfc 4880),任何支持这一标准的程序也被允许称作 openpgp。自由软件基金会开发的 openpgp 程序叫做 gnupg(gpg),也陆续有一些商用 openpgp 软件被开发出来。
2、什么是 s/mime 加密?
s/mime是 secure/multipurpose internet mail extensions (安全 多用途互联网邮件扩展协议)的缩写,是采用 pki 技术的用数字证书给邮件主体签名和加密的国际标准协议。
1992 年,mime(多用途互联网邮件扩展)协议编撰完成,用于互联网邮件服务器和网关之间通信。该标准方法支持非 ascii 编码的附件格式,意味着你可以发送附件并保证文件可以送达另一端,但是附件有时会被篡改,无法确保邮件机密性和完整性。
1995 年,s/mime(安全/多用途互联网邮件扩展)协议 v1 版本开发问世,对安全方面的功能进行了扩展,提供数字签名和邮件加密功能,邮件加密用来保护电子邮件的内容,数字签名用于验证发件人身份,防止身份冒用,并保护电子邮件完整性。
1998 年和 1999 年相继出台 v2/v3 版本并提交 ietf 形成系列 rfc 国际标准。
3、pgp 和 s/mime 加密的区别
s/mime 和 pgp 都是用于通过互联网对消息进行身份验证和加密保护的协议,都使用公钥加密技术进行电子邮件签名和加密。
而主要区别在于:
公钥可信度: s/mime 标准中,用户必须从受信任的证书颁发机构申请 x.509v3 数字证书,由权威 ca 机构验证用户真实身份并签署公钥,确保用户公钥可信,收件人通过证书公钥验证发件人身份真实性。而 pgp 不提供强制创建信任的策略,由发件人自己创建并签署自己的密钥对,或为其他通信用户签署公钥增加其密钥可信度,没有任何受信任的权威中心去验证核实身份信息,每个用户必须自己决定是否信任对方。
加密保护的范围:pgp 的诞生是为了解决纯文本消息的安全问题,而 s/mime 不仅保护文本消息,更旨在保护各种附件/数据文件。
集中化管理:从管理角度来看,s / mime 被认为优于 pgp,因为它具有强大的功能,支持通过 x.509 证书服务器进行集中式密钥管理。
兼容性和易用性:s/mime 具备更广泛的行业支持,s/mime 协议已经内置于大多数电子邮件客户端软件中,如 outlook、雷鸟和 imail 等都支持 s/mime 加密。从最终用户的角度来看,s/mime 的易用性也优于 pgp,因为 pgp 需要下载额外的插件才能运行,s / mime 协议允许大多数供应商发送和接收加密电子邮件而无需使用其他插件。
因此,总体来说 s/mime 标准的适用性更加广泛,能够更加全面保护电子邮件安全与可信。
美国国家标准技术研究院发布的“可信邮件”标准中,就明确地推荐联邦机构使用 s/mime 保护邮件安全:
对于联邦使用,openpgp 不是首选的消息加密技术。应该使用 s/mime 和由已知 ca 签发的证书。
使用 s/mime 签名来确保邮件的真实性和完整性。
企业应建设密钥管理系统来保护电子邮件用户的会话加密密钥。