GnuPG

编辑
本词条由“匿名用户” 建档。

GnuPG,简称GnuPG或GPG,是一个免费的密码系统。它用于加密和解密数据以及生成和验证电子签名。 该程序根据RFC4880实施OpenPGP标准,并作为PGP的替代品而开发。2.0及更高版本也实现了S/MIME和PGP/MIME标准,默认情况下,GnuPG仅使用免专利算法,并在GNUGPL下发布。它可以在GNU/Linux、MacOS和其他各种类Unix系统以及MicrosoftWindow...

GnuPG

编辑

GnuPG,简称GnuPG或GPG,是一个免费的密码系统。它用于加密和解密数据以及生成和验证电子签名。

该程序根据 RFC 4880 实施 OpenPGP 标准,并作为 PGP 的替代品而开发。2.0 及更高版本也实现了 S/MIME 和 PGP/MIME 标准,默认情况下,GnuPG 仅使用免专利算法,并在 GNU GPL 下发布。它可以在 GNU/Linux、MacOS 和其他各种类 Unix 系统以及 Microsoft Windows 下运行。

目标

编辑

GnuPG 为自己设定了目标,使尽可能多的用户群体能够使用加密方法来保密地传输电子数据。

GnuPG 支持以下功能

  • 加密数据(例如电子邮件)以将机密信息传输给一个或多个收件人,这些信息只能由收件人解密。
  • 对发送的数据生成签名以确保其真实性和完整性。

这两个功能可以结合使用。通常,签名首先形成并附在数据上。反过来,这个数据包被加密发送给收件人。GnuPG 仅支持按此顺序在一个调用中组合这两个操作。发送电子邮件时,这两种变体都是可能的(根据 RFC 3156 作为 PGP/MIME),但由于邮件客户端的限制,这是实践中唯 一可能的顺序。

不提供首先加密电子邮件然后为其提供纯文本签名的可能性(例如,然后可以通过无法解密实际消息的病毒扫描程序或垃圾邮件过滤器对其进行评估)。 但是,您可以独立于电子邮件加密文件,将它们附加到电子邮件中,然后将电子邮件签名为 PGP/MIME。

GnuPG 的使用

GnuPG 至少被大多数 Linux 发行版和相关系统用作其包管理器的一部分,以确保分布式软件包的完整性,因此已经包含在大多数安装中。因此,从此类系统的真实安装介质引导提供了一种在安全环境(即没有恶意软件)中启动 GnuPG 的方法,例如用于生成或使用具有高安全要求的密钥

工作原理

编辑

GPG 是一种公钥加密方法,这意味着加密消息不需要任何秘密信息。每个 GPG 用户都会创建一个密钥对,该密钥对由两部分组成:私钥和公钥。只有所有者可以访问私钥。因此,这通常受密码保护。这可用于解密和签署数据。

公钥用于加密数据和验证签名数据。它必须可供每个想要执行这两个操作的通信伙伴使用。数据既不能用公钥签名也不能解密,因此不存在与其分发相关的安全风险。公钥可以通过多种渠道与其他用户交换,例如互联网关键服务器。

它们(或公钥和用户 ID 的组合)在使用前应该被可靠地检查以防止身份操纵,因为在公钥中输入的身份信息(通常是姓名和电子邮件,也可能是评论)很容易被伪造变得。

GPG 只能确定数据是否使用特定密钥签名或加密。用户必须决定密钥本身是否值得信赖,毕竟任何人都可以用其他用户的信息创建密钥并将其上传到密钥服务器。

因此,一开始不应信任从不安全来源(例如互联网)加载的密钥。要检查,通过安全通道(例如电话)获取密钥的指纹(哈希值)并将其与下载密钥的本地生成密钥进行比较。这是安全的,因为不可能为给定的指纹生成匹配的密钥。 这种安全性依赖于 hashf 的强度功能(以及可能的键集)。

OpenPGP 密钥格式的第 4 版规定使用 SHA-1 哈希函数,目前(2012 年)可能会发生碰撞攻击,但不能使用对密钥模仿至关重要的第二原像攻击。随着 SHA-3 哈希函数的最新规范,下一个 OpenPGP 密钥格式的开发有望很快开始。

不同强度的密钥可用于加密或签署数据。强度为 2048 到 4096 位的密钥目前(2014 年)很常见,建议长度为 2048 位。

离线密钥

使用主密钥,GnuPG 支持超出 OpenPGP 标准的安全功能,因此当将此类密钥导入另一个 OpenPGP 应用程序时,它无法可靠地工作

主密钥不用于日常签名和解密,而是用于管理自己的密钥组件(用户 ID 和子密钥)和验证其他密钥。这些动作比较少见,所以你可以特别保护主密钥。这种方法的优点是:

  • 密钥的验证不必由通信伙伴重复。主密钥仍然有效。
  • 子密钥可以轻松交换。过期子密钥和新子密钥对 OpenPGP 来说没有什么特别之处,它们会自动包含在密钥更新中并透明地供用户使用。
  • 如果也允许主密钥签名,您可以使用其更高级别的安全性来签署非常重要的信息,例如您自己的密钥策略。

技术方法是导出没有主密钥的秘钥(备份主密钥后),然后删除所有秘钥,然后只导入子密钥。遗憾的是,GUI 尚不支持此 GnuPG 功能,因此您必须在控制台中自行执行必要的步骤。

GnuPG

信任网

编辑

使用 Web of Trust(信任网络),PGP/GnuPG 试图解决无法亲自确保所有通信伙伴密钥真实性的问题。用户可以用自己的密钥对其他密钥进行签名,从而向第三方确认他们已经验证了密钥的真实性。您还可以指定您对此人签名的信任程度。这将创建所描述的信任网络。

例如,如果 Alice 已经用她的签名确认了 Bob 密钥的真实性,那么 Cloey 也可以信任 Bob 密钥的真实性,如果她自己不能相信这一点,例如因为她是从 Internet 上获得的。当然,前提是她知道爱丽丝的密钥并信任她。 有一些证书颁发机构 (CA) 可以确定密钥的真实性,例如,通过个人联系和身份证验证。

例如,c' 杂志和 CAcert 免费提供此服务。通过这些组织,感兴趣的各方可以,例如,在 CeBIT 等计算机交易会上证明自己的身份,并确认他们的公钥。

PGP 的 Web of Trust 已被科学家广泛研究并详细可视化。结果发现,很大一部分用户属于通过相互肯定完全连接的子集,即所谓的信任网络强集。研究还发现,c't crypto 活动为加强参与者之间的联系做出了重大贡献。

Web of Trust 的另一个主要贡献者是 Debian 项目,它需要数字签名才能包含贡献。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/366511/

(10)
词条目录
  1. GnuPG
  2. 目标
  3. GnuPG 的使用
  4. 工作原理
  5. 离线密钥
  6. 信任网

轻触这里

关闭目录

目录