PGP

✍ dations ◷ 2025-11-05 15:57:41 #网络隐私,互联网标准,公开标准,电子商务,加密软件

PGP(英语:Pretty Good Privacy,直译:优良保密协议)是一套用于讯息加密、验证的应用程序。

PGP的主要开发者是菲尔·齐默曼。齐默曼于1991年将PGP在互联网上免费发布。PGP本身是商业应用程序;开源并具有同类功能的工具名为GnuPG(GPG)。PGP及其同类产品均遵守OpenPGP数据加解密标准(RFC 4880)。

PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤均支持几种算法,用户可以选择一个使用。每个公钥均绑定一个用户名和/或者E-mail地址。该系统的最初版本通常称为可信网或X.509系统;X.509系统使用的是基于数字证书认证机构的分层方案,该方案后来被加入到PGP的实现中。当前的PGP加密版本通过一个自动密钥管理服务器来进行密钥的可靠存放。

随着PGP的发展,支持更新功能和算法的版本能够创建旧PGP系统无法解密的加密消息,即使使用有效的私钥也是如此。因此,PGP通信中的伙伴必须了解彼此的能力或至少就PGP设置达成一致。

PGP可用于发送机密消息。为此,PGP结合了对称密钥加密和公钥加密。PGP使用对称加密算法对消息进行加密,该算法需要对称密钥。每个对称密钥也称为会话密钥仅被使用一次。消息及其会话密钥被发送到接收方。 会话密钥必须被发送给接收方以解密消息,但是为了在传输过程中保护它,它使用接收方的公钥进行加密。只有属于接收方的私钥才能解密会话密钥。

PGP支持消息身份认证和完整性检查。后者被用来检查消息在传输过程中是否被修改过(即验证消息完整性),而消息身份认证则是被用来决定消息是否由声称为发送者的个人或实体发出(即数字签名验证)。由于消息的内容是加密的,因此更改任何消息中的内容都将导致密钥解密失败。在PGP中,这些特性默认是和消息加密同时开启的,而且同样可以被应用到明文的验证。发送者只需使用PGP为消息创建一个数字签名(签名算法采用RSA或DSA)。具体步骤为:PGP以数据或信息创建一个散列(参见消息摘要),然后使用发送者的私钥利用散列生成数字签名。

不管是在加密消息时还是在验证签名时,都需要注意用来发送消息的公钥是否确实属于期望的接收者。简单的从某个位置下载一个公钥是没有保障的,故意(或偶然)的假冒是有可能发生的。PGP从它的第一个版本起,在'身份证书'中发布用户公钥,身份证书也是以加密方式构造的,所以任何的篡改或意外的变动都可以被迅速的检测出来。但是仅仅有一个任何对于证书的修改都会被检测出来的机制不够的,这样的检测机制只能在证书创建之后用于避免篡改,而不是创建之前。用户还必须用某种形式确保证书中的公钥真正的属于特定的人/实体。从第一个发行版开始,PGP产品就包含一个内部的'审查方案'来协助它,一个被叫做信赖网路(Web of Trust)的信任模型。对于一个给定的公钥(具体来说就是一个用户名到对应其密钥的绑定信息)可以被第三方用户数字签名,来证明某人(实指用户名)和一个密钥的关联,而该签名中包含对该关联不同程度的信任度。虽然有许多程序都会读写这个信息,而只有少数会通过信任度来决定是否信任一个密钥。

信赖网路协议(Trusted-Web Protocol)在1992年的PGP 2.0手册中被菲利普·齐默曼(Philip R. Zimmermann)首次提及并描述为:

信赖网路机制比S/MIME方案的集中管理的公钥基础设施有优势,但是没有被网络普通大众普遍采用,一般只在Unix-like的爱好者、开源软件界、和对隐私特别注意而且有电脑知识的人群之间使用。如何使一般用户容易并且乐意使用、接收证书然后手动的验证它们的有效性,这些潜在的推广阻碍目前还没有满意的解决方案。

在最近的OpenPGP规范里,信任签名可被用于支持受信任的证书颁发机构,一个信任签名表示公钥属于其声明的所有者,并且公钥的所有者签署的下一级公钥也是可信的。零级签名与信赖网络签名相当,因为只有其公钥的有效性得到认证。一级签名类似于证书颁发机构,因为拥有一级公钥者能够发出无限数量的零级签名。 二级签名非常类似于用户在使用默认证书颁发机构列表时必须依赖的信任假设(如Web浏览器中包含的那些);它允许密钥的所有者制作其他公钥证书颁发机构。

所有版本的PGP都包含一种取消(“撤销”)证书的方法。如果该用户的私钥丢失或者被破解则他必须采用这种取消证书的方法以继续保证通信的安全性。这种方式基本等同于集中式PKI方案的证书撤销列表。最新的的PGP版本也支持设置证书的自动过期日期。

并不仅是PGP有如何正确判断特定公钥属于特定的用户的问题。所有采用公钥/私钥加密的加密系统都有这个问题,并且目前并没有令人满意的解决方案。最初的PGP方案至少可以让用户选择是否使用其背书/审批系统,而对于其他PKI方案,它们要求用户必须采信所有被中央证书颁发机构证实的证书。

菲利普·齐默曼(Philip R. Zimmermann)在1991年创造了第一个版本的PGP,其名称“Pretty Good Privacy”的灵感来自于一个名为“Ralph's Pretty Good Grocery”的杂货店——电台主播Garrison Keillor虚构出来的一个名为Lake Wobegon的城市的一个杂货店。

软件第一个版本包含一个齐默曼自己设计的对称密钥算法,与周六夜现场的一个小品BassOmatic同名。作为一个老牌的反核能活跃分子,齐默曼为了让所有有相似倾向的人们可以安全的使用BBS并且安全存储消息和文件而创造了PGP加密。在非商业用途上是不需要授权的,无须任何费用,并且在所有的发行中附带了完整的源代码。

在2001年6月5号发表的一篇标题为"PGP 10周年" 的文章中,齐默曼描述了他最初开发PGP时的情景:

PGP在互联网上传播开来,并且在这个世界上获得了非常多的拥护者。PGP用户和支持者也包括在极权主义国家持不同政见的人们(一些给齐默曼的感人信件被发表了,其中一些在美国国会之前被包括到证据中)。在世界其它地方的公民自由意志主义(英语:Civil libertarianism)支持者(参考齐默曼在各个听政会上发表的证据),以及“自由通讯”激进主义分子,他们称他们自己为加密爱好者,进行宣传和分发。

在发行后不久,PGP加密走出了美国,在1993年二月,齐默尔曼变成了美国政府针对“没有授权的军需品出口”犯罪调查的正式目标。根据美国出口管理法案中的定义,加密系统使用大于40位的密钥将被认为是军需品。PGP从没有使用小于128位的密钥,因此在那时被如此认定。如果被判有罪,这将会是严重的罪行。几年后,对齐默尔曼的调查未经备案即被关闭,也没有提起针对他本人或其他任何人的刑事指控。

齐默曼使用了一种富有想象力的方法来对抗这一规定。他将PGP的全套源代码出版成一本书,由MIT出版社(英语:MIT Press)发行,受到了广泛欢迎。任何想要构建自己的PGP版本的人只需买下这本60美元的书,切掉封面,分离页面,然后使用OCR(文字扫描识别)程序进行扫描和文字识别(或者直接输入),生成一系列的源代码文本文档。接下来便可以使用自由分发的GCC来编译程序。PGP就是这样在全世界变得可用。声明的原则很简单:对军需品——枪支、炸药、飞机和软件的出口是被限制的,然而书本出口受到第一修正案(言论自由部分)的保护。这个问题从未再在法庭中检查过。

PGP一般在企业资源规划(即ERP)软件连接到银行系统时使用,防止信息在传输过程中被删改或盗取,从而减少商业秘密泄露和遭遇诈骗的风险。

1997年7月,PGP Inc.与齐默尔曼同意IETF制定一项公开的互联网标准,称作OpenPGP,任何支持这一标准的程序也被允许称作OpenPGP。

许多电子邮件系统提供了OpenPGP兼容的安全性,由RFC 3156来描述。2007年11月发布的规范RFC 4880作为RFC 2440的替代版,指出一套算法,包括非对称的ElGamal加密算法, Digital Signature Algorithm(英语:Digital Signature Algorithm), 三重资料加密算法以及SHA-1. 标准还建议使用PKCS #1 v1.5 描述的RSA加密算法用作加密与签名,以及AES-128, CAST-128(英语:CAST-128),IDEA等对称加密算法。许多其他加密算法也被支持。 2009年发布的RFC 5581支持Camellia加密。 基于椭圆曲线密码学 (ECDSA, ECDH)的RFC 6637发布于2012年。支持EdDSA(英语:EdDSA)被2014年发布的标准支持。 draft-koch-eddsa-for-openpgp-00 页面存档备份,存于互联网档案馆

自由软件基金会开发的OpenPGP程序叫做GnuPG,并有多个图形用户界面版本的软件实现,如KGPG, Seahorse(英语:Seahorse (software)), MacGPG. 也有一些商用OpenPGP软件。

使用JavaScript编写的开源库OpenPGPjs,用于网页程序,如ProtonMail, Mailfence, GlobaLeaks, and Mailvelope.

iOS或Android平台上的OpenPGP应用程序有iPGMail ,OpenKeychain。

相关

  • 芝加哥芝加哥(英语:Chicago),常被当地华人简称为芝城,位于美国中西部,属伊利诺伊州,为库克县县治,东临密歇根湖,辖区内人口272万。芝加哥及其郊区组成的大芝加哥地区,人口超过900万,是美国仅
  • 萨延बाप तहसील घंटियाली 城镇萨延(Sayan),是印度古吉拉特邦Surat县的一个城镇。总人口12856(2001年)。该地2001年总人口12856人,其中男性7258人,女性5598人;0—6岁人口
  • 阿克塞尔理查德·阿克塞尔(英语:Richard Axel,1946年7月2日-),美国医学科学家。他由于在嗅觉方面的卓越研究与琳达·巴克一起获得2004年诺贝尔生理学或医学奖。阿克赛尔出生于美国纽约州的
  • 空中客车空中客车公司(英语:Airbus S.A.S.,官方译名译为空中客车;台港澳地区亦译为空中巴士),是欧洲一家民航飞机制造公司,于1970年由德国、法国、西班牙与英国共同创立,总部设于法国图卢兹,
  • 羧酸衍生物有机化学中,羧酸衍生物是酰氯、酰胺、酯和酸酐的统称。这些化合物分别是羧基中的羟基被卤素原子、氨基(-NH2)或取代氨基(-NHR、-NR2)、烷氧基(-OR)、酰氧基(-OCOR)取代后形成的。在某
  • 相对速度相对速度是力学中,在单一的坐标系统下,求得的两个速度不同物体之间的速度矢量。例如,如果在给定的坐标系统中,A和B物体的速度分别是
  • 电车连线伦敦轻轨电车(英语:London Tramlink),简称轻轨电车(英语:Tramlink),是一个位于伦敦南部、以克罗伊登区为中心的有轨电车系统。 该系统于2000年启用,是伦敦自1952年淘汰所有电车后重新
  • 海伦·道格拉斯海伦·嘉哈根·道格拉斯(英语:Helen Gahagan Douglas,1900年11月25日-1980年6月28日)是一位美国演员和政治家。她是第三位当选美国国会议员的加州女性,也是民主党第一位成功进入国
  • 家庭工业家庭代工又称家庭工厂,为一种工业型态,由家中成员在家庭客厅中布建小型机床,进行简单的工业加工赚取利润,再由一个居中协调的产业组织定期将成品收走送往下一工序(可能是工厂或是
  • 记忆T细胞记忆T细胞是一个T淋巴细胞子类,该种细胞曾经遇到过某种特定抗原且产生过反应。这些细胞可识别外来入侵物,比如细菌、病毒、癌细胞等。记忆T细胞的形成通常是因为曾受特定抗原