跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / GNOME 用户指南 / 连接、文件和资源 / 口令与密钥:对数据签名和加密
适用范围 SUSE Linux Enterprise Server 15 SP4

8 口令与密钥:对数据签名和加密

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

GNOME 口令和密钥程序是系统上加密基础结构的重要组成部分。借助此程序,您可以:创建和管理 PGP 与 SSH 密钥;导入、导出和共享密钥;备份密钥和密钥环;缓存通行口令。

要启动该应用程序,请按 Meta 打开活动概览,然后搜索 pass

口令和密钥主窗口
图 8.1︰ 口令和密钥主窗口

8.1 签名和加密

签名: 在信息片段(例如电子邮件或软件)中附加电子签名,以证明信息的来源。为了避免其他人冒名撰写邮件并为了保护您和收件人,您应该对邮件进行签名。签名可帮助您检查接收的邮件的寄件人以及区分可靠邮件和恶意邮件。

软件开发人员对他们的软件签名,这样您就可以检查其完整性。即使是从非官方服务器获得的软件,也可以使用签名来校验软件包。

加密: 您可能还拥有要防止其他方访问的敏感信息。加密帮助您转换数据,使其他人无法阅读。这对公司尤其重要,因为这样他们可以保护内部信息以及员工的隐私。

8.2 生成新的密钥对

要与其他用户交换加密的邮件,必须先生成自己的密钥对。密钥对由两部分组成:

  • 公共密钥: 此密钥用于加密。将它分发给您通讯的伙伴,让他们能够用它来加密发送给您的文件或邮件。

  • 私用密钥: 此密钥用于解密。使用该密钥可使其他人(或您自己)发送的已加密文件或邮件恢复为可读模式。

重要
重要:访问私用密钥

如果其他人能够访问到您的私用密钥,他们可以解密原本只有您才能阅读的文件和邮件。切勿授权其他人访问您的私用密钥。

8.2.1 创建 OpenPGP 密钥

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

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

  2. 打开口令和密钥

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

  4. 从列表中选择 GPP 密钥

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

    (可选)添加您的电子邮件地址和注释来描述密钥。

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

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

  7. 单击确定进行确认。

    在指定通行口令时,请使用与创建高强度口令相同的标准。

8.2.2 创建安全外壳密钥

安全外壳 (SSH) 是一种登录到远程计算机以在其上执行命令的方法。SSH 密钥用于基于密钥的身份验证系统,此系统代替了默认的口令身份验证系统。使用基于密钥的身份验证不需要手动输入口令进行身份验证。

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

  2. 打开口令和密钥

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

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

  5. 输入密钥的描述。

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

    加密类型: 指定用于生成密钥的加密算法。选择 RSA 使用 Rivest-Shamir-Adleman (RSA) 算法创建 SSH 密钥。这是优先且更安全的选择。选择 DSA 使用 Digital Signature Algorithm (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 子密钥属性”

    覆盖所有者信任:: 您可以在此处设置对密钥拥有者的信任级别。信任表示您对某人正确扩展信任网的能力的确信程度。如果某个密钥未经过您的签名,该密钥的有效性将由其签名以及您对签名人的信任程度来决定。

  5. 单击加号按钮可为密钥添加照片或更改与密钥关联的通行口令。

    照片 ID 允许密钥拥有者在密钥中嵌入一张或多张他们的图片。可以像常规用户 ID 一样对这些身份签名。照片 ID 必须是 JPEG 格式。推荐大小为 120×150 像素。

    如果选择的图像不满足文件类型或大小要求,只要它是 GDK 库支持的图像格式,使用口令和密钥便可即时调整其大小并进行转换。

  6. 关闭对话框以完成该过程。

8.3.1.1 添加用户 ID

用户 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 编辑安全外壳密钥属性

本部分中的描述适用于全部 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 口令密钥环

可以使用口令密钥环首选项来创建或去除密钥环、设置应用程序口令的默认密钥环,以及更改密钥环的解锁口令。要创建新密钥环,请执行以下步骤:

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

  2. 打开口令和密钥

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

  4. 从列表中选择口令密钥环

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

  6. 为密钥环设置一个新口令并确认,然后单击继续以创建密钥环。

要更改现有密钥环的解锁口令,请右键单击口令选项卡中的密钥环,然后单击更改口令。需要提供旧口令才能进行更改。

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

8.8 密钥服务器

通过定期与远程密钥服务器同步密钥可以使密钥保持最新。同步将确保您的全部密钥上具有最新的签名,这样信任网才会有效。

  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.9 密钥共享

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

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

  2. 打开口令和密钥

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

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

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

  6. 选择同步并发布密钥

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

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

  9. 单击同步完成该过程。