跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
适用于 openSUSE Leap 15.6

8 密码和密钥:签名和加密数据 编辑源文件

摘要

了解如何创建和管理 PGP 和 SSH 密钥。

GNOME 密码和密钥程序是您系统加密基础设施的重要组成部分。使用此程序,您可以创建和管理 PGP 和 SSH 密钥,导入、导出和共享密钥,备份您的密钥和密钥环,以及缓存您的密码短语。

要启动该应用程序,请通过按 Meta 键并搜索 pass 命令打开 活动 概览。

Passwords and Keys main window
图 8.1:密码和密钥主窗口

8.1 签名和加密 编辑源文件

签名。 将电子签名附加到信息片段(例如电子邮件或软件)以证明其来源。为了防止其他人使用您的姓名发送消息,并保护您和您发送消息的对象,您应该签名您的邮件。签名有助于您检查消息的发送者并区分真实的恶意消息。

软件开发人员签名他们的软件,以便您可以检查其完整性。即使您从非官方服务器获取软件,您也可以使用签名验证该软件包。

加密。 您可能还拥有想要保护免受其他方侵害的敏感信息。加密可帮助您转换数据并使其对其他人不可读。这对于公司保护内部信息和员工隐私非常重要。

8.2 生成新的密钥对 编辑源文件

要与其他用户交换加密消息,您首先必须生成自己的密钥对。它由两部分组成

  • 公钥。 此密钥用于加密。将其分发给您的通信伙伴,以便他们可以使用它来加密发送给您的文件或消息。

  • 私钥。 此密钥用于解密。使用它来使来自他人(或您自己)的加密文件或消息可读。

Important
重要提示:访问私钥

如果其他人获得对您的私钥的访问权限,他们可以解密仅供您使用的文件和消息。切勿授予他人访问您的私钥的权限。

8.2.1 创建 OpenPGP 密钥 编辑源文件

OpenPGP 是一种基于 PGP 的使用公钥密码学加密电子邮件的非专有协议。它定义了加密消息、签名、私钥和用于交换公钥的证书的标准格式。

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 按窗口左上角的 + 按钮。

  4. 从列表中选择 GPP 密钥

  5. 全名 字段中输入您的姓名。

    可选地,添加您的电子邮件地址和注释以描述该密钥。

  6. 单击 创建 以创建新的密钥对。

    在密码对话框中,输入密钥的密码。

  7. 使用 确定 确认。

    当您指定密码短语时,请使用您在创建强密码时使用的相同方法。

8.2.2 创建安全 Shell 密钥 编辑源文件

安全 Shell (SSH) 是一种登录到远程计算机以在该机器上执行命令的方法。SSH 密钥用于基于密钥的身份验证系统,作为默认密码身份验证系统的替代方案。使用基于密钥的身份验证,无需手动键入密码即可进行身份验证。

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 按窗口左上角的 + 按钮。

  4. 从列表中选择 安全 Shell 密钥

  5. 输入密钥的描述。

    可选地,更改加密类型或密钥强度的默认设置。

    加密类型。 指定用于生成密钥的加密算法。选择 RSA 以使用 Rivest-Shamir-Adleman (RSA) 算法创建 SSH 密钥。这是首选且更安全的选项。选择 DSA 以使用数字签名算法 (DSA) 创建 SSH 密钥。

    密钥强度。 指定密钥的长度(以位为单位)。密钥越长,安全性越高(前提是使用了强大的密码短语)。请记住,使用较长的密钥执行任何操作比使用较短的密钥需要更多时间。可接受的值介于 1024 到 4096 位之间。建议至少 2048 位。

  6. 使用 仅创建密钥创建并设置 进行确认。后者会引导您完成公钥的安装。

8.3 修改密钥属性 编辑源文件

您可以修改现有的 OpenPGP 或 SSH 密钥的属性。

8.3.1 编辑 OpenPGP 密钥属性 编辑源文件

本节中的描述适用于所有 OpenPGP 密钥。

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 从左侧面板选择 GnuPG 密钥

  4. 右键单击您想要编辑的 PGP 密钥并选择 属性

    将打开一个对话框,显示以下密钥属性

    密钥 ID: 密钥 ID 类似于指纹,但密钥 ID 仅包含指纹的最后八个字符。通常可以使用密钥 ID 识别密钥,但有时两个密钥可能具有相同的密钥 ID。

    指纹: 唯一标识密钥的字符字符串。

    过期: 密钥不再可以使用的时间(密钥在过期后将无法用于执行密钥操作)。将密钥的过期日期更改为未来某个时间点会重新启用它。一个好的做法是拥有一个永不过期的母密钥和多个已由母密钥签名的会过期的子密钥。

    子密钥: 请参阅 第 8.3.1.2 节,“编辑 OpenPGP 子密钥属性” 以获取更多信息。

    覆盖所有者信任: 设置对密钥所有者的信任级别。信任是您确定一个人正确扩展 Web of Trust 能力的指标。当存在您尚未签名的密钥时,密钥的有效性将由其签名以及您信任做出这些签名的人的程度决定。

  5. 单击加号按钮以向密钥添加照片或更改与密钥关联的密码短语。

    照片 ID 允许密钥所有者将一张或多张照片嵌入到密钥中。这些身份可以像普通用户 ID 一样进行签名。照片 ID 必须是 JPEG 格式。推荐尺寸为 120×150 像素。

    如果所选图像不符合所需的文件类型或大小,密码和密钥 可以在运行时从 GDK 库支持的任何图像格式进行调整和转换。

  6. 关闭对话框以完成操作。

8.3.1.1 添加用户 ID 编辑源文件

用户 ID 允许使用相同的密钥使用多个身份和电子邮件地址。例如,如果您希望拥有一个用于工作和一个用于朋友的身份,则添加用户 ID很有用。它们采用以下形式

Name (COMMENT) <E-MAIL>
  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 从左侧面板选择 GnuPG 密钥 密钥环。

  4. 从列表中选择 个人 PGP 密钥

  5. 右键单击该密钥并选择 属性 › 添加用户 ID

  6. 在对话框中,填写新用户 ID 的 全名电子邮件地址密钥注释,然后单击 确定

    您的电子邮件地址是人们在密钥服务器或其他密钥提供商处找到您的密钥的方式。在继续之前,请确保它是正确的。

  7. 输入密码短语并单击 确定 以完成操作。

8.3.1.2 编辑 OpenPGP 子密钥属性 编辑源文件

每个 OpenPGP 密钥都有一个仅用于签名的单个母密钥。子密钥用于加密和签名。这样,如果您的子密钥受到损害,您无需撤销您的母密钥。

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 从列表中选择 GnuPG 密钥

  4. 从列表中选择 个人 PGP

  5. 右键单击所选密钥并选择 属性

  6. 选择密钥的属性。

  7. 关闭该框以确认更改。

8.3.2 编辑安全 Shell 密钥属性 编辑源文件

本节中的描述适用于所有 SSH 密钥。

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 从列表中选择 OpenSSH 密钥 并右键单击您想要编辑的密钥。

  4. 将打开一个对话框,您可以在其中查看和编辑以下属性

    算法: 指定用于生成密钥的加密算法。

    位置: 存储私钥的位置。

    指纹: 唯一标识密钥的字符字符串。

    导出。 将密钥导出到文件。

  5. 关闭对话框以确认更改。

8.4 导入密钥 编辑源文件

密钥可以导出到文本文件。这些文件在密钥的开头和结尾包含人类可读的文本。这种格式称为 ASCII 装甲密钥。

要导入密钥,请按以下步骤操作

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 按窗口左上角的 + 按钮。

  4. 从列表中选择 从文件导入

  5. 在对话框中,选择要导入的密钥。公共 SSH 密钥以 pub 结尾。

  6. 单击 打开 以导入密钥。

您还可以将密钥粘贴到 密码和密钥

  1. 选择 ASCII 装甲公共文本块,然后将其复制到剪贴板。

  2. 打开 活动 概览并键入 pass

  3. 打开 密码和密钥

  4. 按窗口左上角的 + 按钮。

  5. 将密钥粘贴到适当的位置。

8.5 导出密钥 编辑源文件

要导出密钥,请按以下步骤操作

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

    从左侧面板选择您想要导出的 GnuPG 密钥 密钥环。

  3. 选择要导出的 个人 PGP 密钥

  4. 右键单击该密钥并选择 导出

  5. 要以 ASCII 格式存储密钥,请选择 装甲 PGP 密钥

  6. 选择一个位置并使用 导出 进行确认。

8.6 签名密钥 编辑源文件

签署他人的密钥意味着你信任该人。 在签署密钥之前,请仔细检查密钥的指纹,以确保该密钥确实属于该人。

信任是指你对某人正确扩展信任网络的确定程度。 如果有一个你尚未签署的密钥,则该密钥的有效性将由其签名以及你对创建这些签名的个人的信任程度决定。

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 导入要签署的密钥。

  4. GnuPG 密钥 列表中,选择导入的密钥。

  5. 右键单击该密钥,然后选择 属性 › 信任

  6. 单击 签署此密钥 按钮。

  7. 选择你检查密钥的仔细程度。

  8. 决定你是否希望以后撤销你的签名,以及使你的签名公开。

  9. 使用 签署 确认。

8.7 文件管理器集成 编辑源文件

密码和密钥与 GNOME 文件集成。 你可以在不启动 密码和密钥 的情况下,从文件管理器窗口加密、解密、签署、验证文件以及导入公钥。

Note
注意:启用文件管理器集成

必须安装软件包 nautilus-extension-seahorse 才能启用文件管理器集成。

8.7.1 从 GNOME 文件加密文件 编辑源文件

  1. 在 GNOME 文件中,右键单击要加密的文件。

  2. 选择 加密

  3. 选择你希望加密文件的对象(收件人),然后单击 确定

  4. 如果提示,请输入你的私钥的密码,然后单击 确定

8.7.2 从 GNOME 文件签署文件 编辑源文件

  1. 在 GNOME 文件中,右键单击要签署的文件。

  2. 选择 签署

  3. 选择一个签署者,然后单击 确定

  4. 如果提示,请输入你的私钥的密码,然后单击 确定

8.7.3 从 GNOME 文件解密文件 编辑源文件

要解密 GNOME 文件中的加密文件,只需双击要解密的文件即可。

如果提示,请输入你的私钥的密码。

8.7.4 从 GNOME 文件验证签名 编辑源文件

要验证文件,只需双击分离的签名文件。 分离的签名文件名通常具有 .sig 扩展名。

8.8 密码密钥环 编辑源文件

你可以使用密码密钥环首选项来创建或删除密钥环,设置应用程序密码的默认密钥环,或更改密钥环的解锁密码。 要创建一个新的密钥环,请按照以下步骤操作

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 单击左上角的 + 按钮。

  4. 从列表中选择 密码密钥环

  5. 输入密钥环的名称,然后单击 添加

  6. 设置并确认密钥环的新 密码,然后单击 继续 以创建密钥环。

要更改现有密钥环的解锁密码,请在 密码 选项卡中右键单击密钥环,然后单击 更改密码。 你需要提供旧密码才能更改它。

要更改应用程序密码的默认密钥环,请在 密码 选项卡中右键单击密钥环,然后单击 设置为默认值

8.9 密钥服务器 编辑源文件

你可以通过定期与远程密钥服务器同步密钥来保持密钥的最新状态。 同步可确保你拥有所有密钥上所做的最新签名,从而使信任网络变得有效。

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 选择你想要同步的 PGP 密钥。

  4. 按标题栏中的菜单按钮。

  5. 选择 同步和发布密钥

    HKP 密钥服务器: HKP 密钥服务器是普通的基于 Web 的密钥服务器,例如流行的 hkp://pgp.mit.edu:11371,也可在 http://pgp.mit.edu 上访问。

    LDAP 密钥服务器: LDAP 密钥服务器不太常见,但使用标准的 LDAP 协议来提供密钥。 ldap://keyserver.pgp.com 是一个推荐的 LDAP 服务器。

    你可以使用左侧的按钮 添加删除 要使用的密钥服务器。 要添加新的密钥服务器,请根据需要设置其类型、主机和端口。

  6. 设置你是否希望自动发布你的公钥以及使用哪个密钥服务器。 设置你是否希望自动从密钥服务器检索密钥以及是否将修改后的密钥与密钥服务器同步。

  7. 单击 同步 按钮以同步你的密钥。

8.10 密钥共享 编辑源文件

密钥共享由 DNS-SD 提供,也称为 Bonjour 或 Rendezvous。 启用密钥共享会将本地 密码和密钥 用户的公钥环添加到远程搜索对话框。 使用这些本地密钥服务器通常比访问远程服务器更快。

  1. 打开 活动 概览并键入 pass

  2. 打开 密码和密钥

  3. 从左侧面板选择 GnuPG 密钥

  4. 从列表中选择你想要共享的 个人 PGP 密钥

  5. 按标题栏中的菜单按钮。

  6. 选择 同步和发布密钥

  7. 密钥服务器 按钮以查看密钥服务器列表。

  8. 要发布你的密钥,请从菜单中选择一个服务器。 关闭窗口并返回到上一个对话框。

  9. 同步 以完成。

打印此页面