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

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

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

选择应用程序 ›  实用程序 ›  口令和密钥启动该程序

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

8.1 签名和加密

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

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

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

8.2 生成新的密钥对

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

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

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

重要
重要:访问私用密钥

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

8.2.1 创建 OpenPGP 密钥

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

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 单击文件 ›  新建

  3. 选择 PGP 密钥,然后单击继续

  4. 指定您的全名和电子邮件地址。

  5. 单击高级密钥选项为密钥指定以下高级选项。

    注释

    可选注释。

    加密类型

    指定用于生成密钥的加密算法。推荐选择 DSA ElGamal,因为它使您能够根据需要加密、解密、签名和校验。DSA(仅签名)RSA(仅签名)都只允许签名。

    密钥强度

    指定密钥的长度(以位为单位)。密钥越长就越安全(如果使用高强度的通行口令)。请记住,使用长密钥执行任何操作都比使用短密钥需要的时间长。可接受的值在 1024 到 4096 位之间。建议至少设置 2048 位。

    失效日期

    指定停止将密钥用于执行加密或签名操作的日期。超过此时间后,需要更改失效日期或生成新的密钥或子密钥。用旧的密钥(在其失效前)对新的密钥签名可保留信任状态。

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

    此时会打开新 PGP 密钥的通行口令对话框。

  7. 指定新密钥的通行口令两次,然后单击确定

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

8.2.2 创建安全外壳密钥

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

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 单击文件 ›  新建

  3. 选择安全外壳密钥,然后单击继续

  4. 指定密钥使用目的的说明。

    可以使用电子邮件地址或任何其他提醒。

  5. 作为可选项,单击高级密钥选项为密钥指定以下高级选项。

    加密类型: 指定用于生成密钥的加密算法。选择 RSA 使用 Rivest-Shamir-Adleman (RSA) 算法创建 SSH 密钥。这是优先且更安全的选择。选择 DSA 使用 Digital Signature Algorithm (DSA) 创建 SSH 密钥。

    密钥强度: 指定密钥的长度(以位为单位)。密钥越长就越安全(如果使用高强度的通行口令)。请记住,使用长密钥执行任何操作都比使用短密钥需要的时间长。可接受的值在 1024 到 4096 位之间。推荐至少 2048 位。

  6. 单击仅创建密钥创建新密钥,或单击创建并设置,以创建密钥并设置要对其进行身份验证的其他计算机。

  7. 为新密钥指定通行口令,单击确定,然后重复以上步骤。

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

8.3 修改密钥属性

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

8.3.1 编辑 OpenPGP 密钥属性

本部分中的描述适用于全部 OpenPGP 密钥。

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 双击要查看或编辑的 PGP 密钥。

  3. 使用拥有者选项卡上的选项可为密钥添加照片或更改与密钥关联的通行密码。

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

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

  4. 单击姓名和签名选项卡为密钥添加用户 ID。

    有关更多信息,请参见第 8.3.1.1 节 “添加用户 ID”

  5. 单击细节选项卡,其中包含以下属性:

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

    类型:: 指定用于生成密钥的加密算法。DSA 密钥仅可用于签名。ElGamal 密钥用于加密。

    强度:: 指定密钥的长度(以位为单位)。密钥越长就越安全。但是,长密钥也无法弥补强度弱的通行口令。

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

    创建时间:: 创建密钥的日期。

    失效日期:: 密钥不能再使用的日期(密钥失效后就不能再用于执行密钥操作)。将密钥的失效日期更改为将来的某个日期可重新启用此密钥。一个常用的好做法是:拥有一个永不失效的主密钥以及多个会失效且由主密钥签名的子密钥。

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

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

    子密钥:: 有关更多信息,请参见第 8.3.1.2 节 “编辑 OpenPGP 子密钥属性”

    Image
  6. 单击关闭

8.3.1.1 添加用户 ID

用户 ID 允许将多个身份和电子邮件地址与同一个密钥一起使用。添加用户 ID 是很有用的,例如,如果想要拥有一个用于工作的身份以及一个与朋友联系的身份。请执行如下操作以添加用户 ID:

Name (COMMENT) <E-MAIL>
  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 双击要查看或编辑的 PGP 密钥。

  3. 单击姓名和签名选项卡,然后单击添加姓名

  4. 姓名字段中指定姓名。

    在此字段中必须输入至少五个字符。

  5. 电子邮件地址字段中指定电子邮件地址。

    多数人将通过您的电子邮件地址在密钥服务器或其他密钥提供程序上找到您的密钥。请确定地址是正确的,再继续。

  6. 密钥注释字段中指定附加信息,它将以您的新 ID 的姓名显示。

    在密钥服务器上可以搜索此信息。

  7. 确认更改并在系统提示时输入通行口令。

8.3.1.2 编辑 OpenPGP 子密钥属性

每个 OpenPGP 密钥都有一个仅用于签名的主密钥。子密钥用于加密和签名。这样,如果子密钥泄漏,则不需要撤销主密钥。

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 双击要编辑的 PGP 密钥。

  3. 单击细节选项卡,然后单击以显示子密钥类别。

  4. 使用对话框左侧的按钮可添加、删除、撤销子密钥或使其失效。

    Image

    每个子密钥都具有以下信息:

    ID:: 子密钥的标识符。

    类型:: 指定用于生成子密钥的加密算法。DSA 密钥仅可以签名,ElGamal 密钥用于加密,而 RSA 密钥用于签名或加密。

    用法:: 显示密钥是否可用于签名、证明或加密。

    创建时间:: 指定创建密钥的日期。

    失效日期:: 指定密钥不能再使用的日期。

    状态:: 指定密钥的状态。

    强度:: 指定密钥的长度(以位为单位)。密钥越长就越安全。但是,长密钥也无法弥补强度弱的通行口令。

  5. 单击关闭

8.3.2 编辑安全外壳密钥属性

本部分中的描述适用于全部 SSH 密钥。

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 双击要查看或编辑的安全外壳密钥。

  3. 使用密钥选项卡上的选项更改密钥的名称或与密钥关联的通行口令。

  4. 单击细节选项卡,其中包含以下属性:

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

    强度:: 指示密钥的长度(以位为单位)。密钥越长就越安全。但是,长密钥也无法弥补强度弱的通行口令。

    位置:: 储存私用密钥的位置。

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

    导出完整密钥:: 将密钥导出到文件。

    Image
  5. 单击关闭

8.4 导入密钥

密钥可导出到文本文件中。这些文件在密钥的开头和末尾包含用户可读的文本。此格式称为 ASCII 封装的密钥。

导入密钥:

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 单击文件 › 导入

  3. 选择至少包含一个 ASCII 封装的公共密钥的文件。

  4. 单击打开导入密钥。

也可以将密钥粘贴到口令和密钥中:

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

  2. 单击应用程序 › 实用程序 › 口令和密钥

  3. 依次单击编辑 › 粘贴

8.5 导出密钥

导出密钥:

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 选择要导出的密钥。

  3. 依次单击文件 › 导出

  4. 为导出的密钥指定文件名和位置。

  5. 单击保存导出密钥。

也可以在 ASCII 封装的文本块中将密钥导出到剪贴板:

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 选择要导出的密钥。

  3. 依次单击编辑 › 复制

8.6 对密钥签名

对其他人的密钥签名表示信任那个人。在对密钥签名前,请仔细检查密钥的指纹,确保密钥确实属于那个人。

信任表示您对某人正确扩展信任网的能力的确信程度。如果某个密钥未经过您的签名,该密钥的有效性将由其签名以及您对签名人的信任程度来决定。

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 我的个人密钥其他密钥选项卡中选择要对其签名的密钥。

  3. 依次单击文件 › 签名

  4. 选择检查密钥的仔细程度,然后指示签名是否应该在密钥环本地以及是否可以撤消签名:

    Image
  5. 单击签名

8.7 密码密钥环

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

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 单击文件 › 新建 › 口令密钥环,然后单击继续

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

  4. 为密钥环设置并确认一个新口令,然后单击创建

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

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

8.8 密钥服务器

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

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 单击编辑 ›  自选设置,然后单击密钥服务器选项卡。

    Image

    口令和密钥程序支持 HKP 和 LDAP 密钥服务器。

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

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

    可以通过左侧的按钮添加去除要使用的密钥服务器。要添加新的密钥服务器,请设置其类型、主机和端口(如果需要)。

  3. 设置是否要自动发布公共密钥以及要使用的密钥服务器。设置是否要自动从密钥服务器检索密钥,以及是否要与密钥服务器同步修改的密钥。

  4. 单击关闭

8.9 密钥共享

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

  1. 单击应用程序 › 实用程序 › 口令和密钥

  2. 单击编辑 ›  自选设置,然后单击密钥服务器选项卡。

  3. 选择将修改的密钥自动同步到密钥服务器

  4. 单击关闭