第 8 章KGpg:对数据进行签名和加密

目录

8.1. 为什么要进行签名和加密?
8.2. 生成新的密钥对
8.3. 导出公共密钥
8.4. 导入其他人的公共密钥
8.5. 密钥服务器对话框
8.6. 加密数据
8.7. 更多信息

可以使用 KGpg,GnuPG 的图形用户界面来对数据签名或加密。此程序帮助您生成和管理所有所需的密钥。使用其编辑器功能可快速创建和加密文件,或者使用面板中的小程序通过拖放进行加密或解密。其他程序(如 Kontact 或 Evolution 等邮件程序)将访问密钥数据,以处理签名或加密的内容。在以下部分中可了解如何执行必要的步骤来使用 KGpg 对数据签名和加密:

  1. 生成新的密钥对

  2. 导出公共密钥

  3. 导入其他人的公共密钥

  4. 加密数据

8.1. 为什么要进行签名和加密?

签名

签名是指将电子签名附加到邮件(甚至软件)中以证明其来源。为了避免他人以您的名义撰写邮件以及保护您和收件人的利益,您应对邮件进行签名。签名可帮助您轻松检查所收到邮件的寄件人以及区分可靠邮件和恶意邮件。

软件开发商对其软件进行签名,以便您可以检查软件的完整性。即使您是从非官方服务器获得的软件,也可以使用签名来校验包。

加密

您可能具有要防止其他方接触到的敏感信息。加密可帮助您转换数据并使其他人无法阅读该数据。这对于必须保护内部信息和员工隐私的公司来说尤其重要。

8.2. 生成新的密钥对

要能够与其他用户交换加密邮件,请首先生成您自己的密钥对。密钥对的一部分公共密钥将分发给您的通讯伙伴,后者可以使用它来加密发送的文件或电子邮件消息。密钥对的另一部分私用密钥用于将加密的内容解密。

[Important]私用密钥与公共密钥

只有您自己才能使用私用密钥。不用将私用密钥访问权授予其他用户。

私用密钥是用通行密码保护的。请谨慎选择通行密码:不要使用字典中的词,并应混用字母和非字母字符。

要创建新密钥对,请执行以下操作:

  1. 从主菜单或按 Alt+F2 并输入 kgpg 来启动 KGpg。首次启动此程序时,将显示向导帮助您进行配置。提示创建密钥时,请遵循指示完成配置。

  2. 如果要创建新密钥对,请依次选择密钥+生成密钥对

    图 8.1. KGpg:创建密钥

    KGpg:创建密钥

  3. 输入姓名、电子邮件地址以及注释(可选)。如果不想使用所提供的默认设置,还可以设置密钥的过期时间、密钥大小以及所用的加密算法。

  4. 要生成标准密钥,请单击确定确认设置。单击确定后,将弹出一个对话框提示您再次输入通行密码。通行密码用于保护您的私用密钥。您选择的密码的相对强度将由密码强度表评估并显示。密钥对随即生成。这可能要花一些时间。

    [Note]专家方式

    如果您是有经验的用户,可使用专家模式定义更多选项。您将看到一个终端窗口,在其中可以设置要生成的密钥类型、密钥大小(以位为单位)和失效日期。输入姓名和电子邮件地址后,系统将提示您输入用于保护私用密钥的通行密码。

  5. 密钥生成完成后,将显示摘要。请保存和打印撤回证书,并将其存放在安全的地方。如果您忘记通行密码,将需要此证书撤销密码。单击确定确认后,KGpg 会显示其主窗口,并且您已完成配置。

    图 8.2. KGpg 主窗口:密钥管理

    KGpg 主窗口:密钥管理

主窗口显示属于您密钥环的密钥:您自己的密钥及已导入的其他人的密钥。GnuPG 使用了更成熟的密钥对实现,对于每个用户名显示多个子密钥。不过这已超出本章的目的。除了其他一些细节(如密钥的失效日期或创建日期及 ID)外,主窗口还显示每个密钥的信任级别,以颜色表示。白色表示信任级别未知,蓝色表示信任级别很高。有关详细信息,参见第 8.4.2 节 “信任密钥”

[Note]KGpg 图标和主窗口

在后续会话中启动 KGpg 时,系统盘中将仅显示一个带挂锁的小图标。单击该图标可显示桌面上的主要 KGpg 窗口。

8.3. 导出公共密钥

生成密钥对后,将公共密钥分发给其他用户。这样,他们就能够使用公共密钥来对发送给您的邮件及文件进行加密或签名。例如,如果您要对发送给用户 tux 的消息加密,则使用 tux 的公共密钥加密。tux 使用他的私用密钥来解密此消息。如果 tux 要给您发送消息,则他使用您的公共密钥加密此消息,然后您用您的私用密钥解密此消息。

要将公共密钥提供给其他人,请选择密钥+导出公共密钥。随即打开的对话框提供四个选项:

电子邮件

公共密钥将通过电子邮件发送给您选择的收件人。如果激活此选项并单击确定确认,则将显示使用您的默认邮件程序创建新电子邮件消息的对话框。输入收件人并单击发送。收件人收到您的密钥后,就可以向您发送加密的内容。

剪贴板

在继续处理公共密钥之前,可以将公共密钥放在剪贴板上。

默认密钥服务器

要将公共密钥分发给大量用户,请将其导出至因特网上的密钥服务器之一。有关更多信息,请参见第 8.5 节 “密钥服务器对话框”

文件

如果您希望将密钥作为数据媒体上的文件进行分发,而不是通过电子邮件发送,请单击此选项,确认或更改文件路径和文件名,然后单击确定

8.4. 导入其他人的公共密钥

如果您通过一个文件(例如电子邮件附件)收到密钥,请通过导入密钥将其集成到您的密钥环中,并使用它与发件人进行加密通讯。如果您想要通信的那个人已将他的公共密钥保存在公共服务器上,则您也可以从服务器导入密钥。有关详细信息,请参见第 8.5 节 “密钥服务器对话框”。此过程类似于上面所述的密钥导出过程。

8.4.1. 给密钥签名

可以像对其他文件那样给密钥签名,以确保其真实性和完整性。如果您绝对确定某一导入的密钥属于指定为拥有者的个人,请通过签名表达您对密钥真实性的信任。

[Important]建立值得信任的 Web

只有当您能够在交换过程中以确定的方式将公共密钥与特定用户相关联时,加密通讯才是安全的。通过复查这些密钥并对其签名,您将促进建立信任之网。因此,请您务必确保仅对亲自检查过的密钥签名。

需要亲自对密钥签名,才可以使用它。

过程 8.1. 对密钥签名

  1. 密钥管理窗口中,从密钥列表中选择要签名的密钥。

  2. 选择密钥+签名密钥

  3. 在接下来的对话框中,选择要用于签名的私用密钥。此时将出现一条警报,让您在签名之前检查此密钥的真实性。在下拉列表中,选择您检查此密钥是否属于您想要通信的那个人的仔细程度。

  4. 单击继续,在下一步中输入通行密码。输入了通行密码,您就用您自己的私用密钥对此密钥签名了。现在,签名的密钥在信任列中显示为绿色。

现在,其他用户就可以通过您的公共密钥检查签名了。

8.4.2. 信任密钥

通常情况下,相应的程序会询问您是否信任密钥,或者您是否认为此密钥确实由其授权的拥有者使用。每当需要解密消息或检查签名时都会发生此情况。要避免这种情况,请编辑新导入的密钥的信任度。要信任密钥并设置信任级别,请执行以下操作:

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

  2. 拥有者信任下拉列表中调整信任级别。此值表示您对此密钥拥有者的信任程度,以正确校验他所签名密钥的标识。

  3. 关闭属性对话框。如果已将信任级别设置为完全终极,则密钥将在信任列中显示为蓝色。

信任度越低,说明您越不相信密钥签名者已检查所签名密钥的真实身份。您可能完全确信签名者的身份,但此用户对其他人的密钥进行签名前,可能无法正确检查其他人的身份。注意:信任度不会触发由 KGpg 执行的任何自动操作。

8.5. 密钥服务器对话框

几台基于因特网的密钥服务器提供了许多用户的公共密钥。要与大量用户进行加密通讯,请使用这些服务器分发您的公共密钥。为此,请将公共密钥导出至这些服务器之一。同样,KGpg 可用于在其中一台服务器上搜索特定人员的密钥,并从该服务器导入其公共密钥。使用文件+密钥服务器对话框打开密钥服务器对话框。

8.5.1. 从密钥服务器导入密钥

通过密钥服务器对话框中的导入选项卡,可以从基于因特网的密钥服务器之一导入公共密钥。选择某个预配置的密钥服务器,然后输入一个搜索字符串(通讯伙伴的电子邮件地址)或要查找的密钥的 ID。当您单击搜索时,系统将连接到因特网并在特定的密钥服务器上搜索与您指定的内容匹配的密钥。

图 8.3. 用于导入密钥的搜索屏幕

用于导入密钥的搜索屏幕

如果在密钥服务器上的搜索成功完成,则将在一个新窗口中显示所有检索到的服务器项的列表。选择要在密钥环中包括的密钥,然后单击导入。单击确定确认随即出现的消息,然后单击关闭退出密钥服务器对话框。导入的密钥随即会显示在密钥管理器的主概要中,供您使用。

8.5.2. 将密钥导出至密钥服务器

要将密钥导出至可在因特网上自由访问的密钥服务器之一,请在密钥服务器对话框中选择导出选项卡。通过两个下拉菜单指定目标服务器和要导出的密钥。然后通过导出开始导出。

图 8.4. 将密钥导出至密钥服务器

将密钥导出至密钥服务器

8.6. 加密数据

在已生成您的密钥对、导出您的公共密钥及导入其他人的公共密钥后,还可以发送或接收加密的邮件。请参见第 5.2.5 节 “对电子邮件进行签名和加密”了解如何使用 KMail 中的那些选项。

KGpg 还提供对文本加密的功能。要打开集成的编辑器,请依次选择文件+打开编辑器

8.6.1. 从文件管理器加密和解密

像 Dolphin 或 Konqueror 一样,KGpg 也集成到文件管理器中。通常,PGP 加密文件具有指定的后缀 asc。有若干选项可用于对文件管理器内的文件进行加密或解密:

加密文件

要加密文件管理器内的文件,请右键单击此文件并依次选择操作+加密文件。在对话框中选择信任密钥之一。在对话框中单击确定后,将在同一目录中创建一个新的带有 asc 后缀的文件。

立即解密文件

要立即对加密文件进行解密,请右键单击此文件并选择使用 KGpg 打开。如果原始文件名已存在,则将打开一个对话框以询问如何命名文件或者是否应该覆盖该文件。KGpg 将提示您输入私用密钥的密码并会将解密的文件保存在同一目录下。

使用编辑器解密

要使用编辑器对加密文件进行解密,请在文件管理器中右键单击此文件并依次选择操作+查看解密文件

8.6.2. KGpg 编辑器

除了在外部编辑器中创建要加密的内容、然后使用上述方法之一加密相应的文件之外,还可以使用 KGpg 的集成编辑器。要打开编辑器,请依次选择文件+打开编辑器。在编辑器中,输入需要的文本(或者从剪贴板或任意文件将其复制到编辑器中),然后单击加密。然后选择要使用的密钥并完成加密过程。要解密文件,请使用解密并输入与密钥关联的密码。

生成和检查签名就像直接从编辑器加密一样简单。转到签名+生成签名并从文件对话框中选择要签名的文件。选择要使用的私用密钥并输入关联的密码。成功生成签名后,KGpg 会通知您。也可以从编辑器中通过单击签名/校验给文件签名。要检查签名的文件,请转到签名+校验签名并在接下来的对话框中选择要检查的文件。确认选择后,KGpg 会检查签名并报告操作的结果。另外一种方法是将签名的文件装载入编辑器,然后单击签名/核对

8.7. 更多信息

有关加密方法的全面背景信息,请至 http://www.gnupg.org/documentation/index.en.html 参见 GnuPG 项目页。