电子邮件通常基于明文协议传输,没有加密信息和发件人身份验证服务,攻击者可在邮件传输的任意节点截获数据或篡改内容,造成电子邮件数据泄露或身份仿冒。PGP加密和S/MIME加密都被用于电子邮件加密和验证,但二者在多个方面存在差异。
1.PGP加密
PGP(全称:Pretty Good Privacy,优良保密协议),是一套用于信息加密、验证的应用程序,可用于加密电子邮件内容。PGP本身是商业应用程序;同类开源工具名为GnuPG(GPG)。PGP及其同类产品均遵守OpenPGP数据加解密标准。
PGP是一个基于RSA公匙加密体系的邮件加密软件。
2.S/MIME加密
S/MIME是Secure/Multipurpose Internet Mail Extensions (安全多用途互联网邮件扩展协议)的缩写,是采用PKI技术的用数字证书给邮件主体签名和加密的国际标准协议。1992年,MIME(多用途互联网邮件扩展)协议编撰完成,用于互联网邮件服务器和网关之间通信。该标准方法支持非ASCII编码的附件格式,意味着你可以发送附件并保证文件可以送达另一端,但是附件有时会被篡改,无法确保邮件机密性和完整性。1995年,S/MIME(安全/多用途互联网邮件扩展)协议V1版本开发问世,对安全方面的功能进行了扩展,提供数字签名和邮件加密功能,邮件加密用来保护电子邮件的内容,数字签名用于验证发件人身份,防止身份冒用,并保护电子邮件完整性。1998年和1999年相继出台V2/V3版本并提交IETF形成系列RFC国际标准,加密信息MeSince基于S/MIME标准。
S/MIME是一个新协议,最初版本来源于私有的商业社团RSA 数据安全公司。S/MIME V2版本已经广泛地使用在安全电子邮件上。 但是它并不是IETF 的标准。 因为它需要使用 RSA 的密钥交换,这就受限于美国RSA数据安全公司的专利。
S/MIME同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。但它与PGP主要有两点不同:它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。还有,S/MIME将信件内容加密签名后作为特殊的附件传送,它的证书格式采用X.509,但与一般浏览器网上使用的SSL证书有一定差异。
S/MIME使用的密码算法
- 散列算法:SHA-1 MD5
- 非对称密码算法:DSS、DH、RSA
- 对称算法:3DES 、RC2/4
特别声明:
1.以上所有描述内容部分参考链接/文献未逐一列出,若有侵权,请及时告知,有则改之无则加勉。
2.以上仅是学习过程的总结,相信有很多理解偏差的地方,特别希望指出,给予帮助,更新知识体系,共同进步。