pbg是什么意思

时间:05-11
PGP(Pretty Good Privacy,优良保密协议)是一套用于消息加密、验证的应用程序。PGP的主要开发者是菲尔·齐默曼,他于1991年将PGP在互联网上免费发布。PGP本身是商业应用程序,开源并具有同类功能的工具名为GnuPG(GPG)。PGP及其同类产品均遵守OpenPGP数据加解密标准。

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

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

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

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

信赖网络不管是在加密消息时还是在验证签名时,都需要注意用来发送消息的公钥是否确实属于期望的接收者。简单的从某个位置下载一个公钥是没有保障的,故意(或偶然)的假冒是有可能发生的。PGP从它的第一个版本起,在身份证书中发布用户公钥,身份证书也是以加密方式构造的,所以任何的篡改或意外的变动都可以被迅速的检测出来。但是仅仅有一个任何对于证书的修改都会被检测出来的机制不够的,这样的检测机制只能在证书创建之后用于避免篡改,而不是创建之前。用户还必须用某种形式确保证书中的公钥真正的属于特定的人/实体。从第一个发行版开始,PGP产品就包含一个内部的审查方案来协助它,一个被叫做信赖网络(GOOGLE)的信任模型。对于一个给定的公钥(具体来说就是一个用户名到对应其密钥的绑定信息)可以被第三方用户数字签名,来证明某人(实指用户名)和一个密钥的关联,而该签名中包含对该关联不同程度的信任度。虽然有许多程序都会读写这个信息,而只有少数会通过信任度来决定是否信任一个密钥。信赖网络机制比S/MIME方案的集中管理的公钥基础设施有优势,但是没有被网络普通大众普遍采用,一般只在Unix-like的爱好者、开源软件界、和对隐私特别注意而且有电脑知识的人群之间使用。如何使一般用户容易并且乐意使用、接收证书然后手动的验证它们的有效性,这些潜在的推广阻碍目前还没有满意的解决方案。
阅读:9次

分类栏目