即点即用电子邮件加密

作者:Roy Hoobler

我使用一台装有 Linux 的笔记本电脑,我不希望人们在笔记本电脑落入坏人之手时阅读我的邮件。我的电子邮件也曾被监控,我不希望网络管理员查看任何个人信息。GnuPG 提供了良好的加密功能,并且适用于所有人。借助 KDE 的 KGPG 和 KMail,事情变得更加容易。本文解释了如何使用 KGPG 进行电子邮件和文件加密。它可能有点复杂,但通过阅读本文,您应该可以在大约一小时内完成所有设置并开始运行。如果您有任何问题,请写信给我——如果您愿意,可以试用您新的安全电子邮件。我的地址在本文中。

什么是 GnuPG?

Gnu Privacy Guard (GnuPG) 是 OpenPGP 标准的实现。这些标准源于 Philip Zimmerman 及其 PGP(Pretty Good Privacy)软件所做的工作。PGP 自 1991 年以来就已出现,现在是专有软件。然而,OpenPGP 标准于 1997 年确立,GnuPG 1.0 版本于 1999 年问世。

GnuPG 完全通过命令行完成,并且相当复杂。有一些工具可以为您简化它;本文介绍了 KDE、KGPG 和 KMail。

GnuPG 和 PGP 是兼容的。对于已经使用 PGP 的用户,如果您使用 IDEA 算法,则切换到 GnuPG 需要做更多的工作;否则,应该不会有问题。如果您需要与 PGP 2.x 通信或替换 PGP 2.x,请参阅本文的在线资源。

实施和执行组织的隐私和安全策略需要纪律。我在军队服役期间曾在军事情报部门工作,安全问题非常重要。如果不遵守政策,就会产生严重的后果。对于任何组织,都应该任命某人担任安全经理,并赋予其适当的权力以确保指导方针得到遵守。就像任何好的实践(例如使用 CVS 进行代码管理)一样,一旦人们接受了对敏感信息进行加密的培训,它就会成为标准做法。根据组织规模的大小,可能需要一周到一个月的时间进行检查和培训,才能使政策到位。

创建您自己的密钥

例如,我将加密一条消息并从我的工作帐户发送到我的 rhoobler@comcast.net 邮件帐户。这两个帐户都使用 KMail。接下来,我发送一条加密回复回到我的工作帐户。但是,首先,我为 comcast.net 帐户设置密钥,以便我可以发送到那里。

安装 KGPG 后,您应该在系统托盘上看到一个图标。如果没有,您可以从终端启动它,方法是输入KGPG -k。“-k”选项对于调出用户界面(密钥管理工具)(图 1)非常重要。如果没有“-k”选项,KGPG 将作为后台服务运行,并且系统托盘图标将出现。单击系统托盘图标将调出用户界面。

Point-and-Click E-Mail Crypto

图 1. 使用密钥管理工具按名称或电子邮件地址浏览 GnuPG 密钥。

首先,我为我的 comcast.net 电子邮件帐户创建一对私钥和公钥。在密钥管理程序中,选择“密钥”→“生成密钥对”菜单项,这将弹出一个相当简单的对话框。选择“专家模式”会在终端中启动 GnuPG。现在,使用对话窗口输入您的姓名、电子邮件地址和注释。根据您的安全策略,您还可以设置密钥的到期时间。

下一步是输入 GnuPG 的密码短语。这非常重要。如果您忘记了密码短语,您将无法读取任何消息,并且每当您想读取任何内容时,KGPG 都会提示您输入密码短语。然后等待几秒钟,让 GnuPG 为您生成密钥。作为一项安全措施,我还建议制作一个吊销证书(将文件命名为类似于 rhooblerrev.asc 的名称)。如果您的系统被盗或泄露,您可以发出此证书,让人们知道您的公钥无效。

就这样。现在我们有了 rhoobler@comcast.net 的公钥和私钥。还剩下两件事:导出公钥和可选地导出私钥。这些密钥是单独导出的;对于公钥,我将文件命名为 rhoobler.asc,对于私钥,我将其命名为 rhooblerprivate.asc。注意:如果有人获得了您的私钥并猜出了您的密码短语,攻击者可以读取为您加密的邮件,并以您的名义对邮件进行加密签名。

导出私钥和吊销密钥后,将它们刻录到 CD-ROM 并将其放入保险箱或保险箱中,然后从硬盘驱动器中删除吊销文件 (rhooblerrev.asc) 和私钥文件 (rhooblerprivate.asc)。

GnuPG 将以下文件保存在每个用户的 .gnupg 目录中。所有文件都只能由用户读取/写入

  • gpg.conf:常规 GPG 配置。

  • pubring.gpg:公钥列表。

  • secring.gpg:安全(私钥)列表。

  • trustdb.gpg:记录谁信任谁的数据库文件。

为了方便起见,现在我将 rhoobler@comcast.net 的公钥导出到默认密钥服务器。使用密钥管理工具,选择密钥并右键单击,然后选择“导出公钥”。将弹出另一个简单的对话框,其中包含三个选项。我选择“默认密钥服务器”,然后单击“确定”。密钥服务器可以在“设置”菜单中配置,但默认情况下它是 subkeys.pgp.net,它一直对我很有效。您也可以将其导出到文件,然后通过电子邮件发送,或将密钥上传到您的网站。每个人都知道您的公钥并没有什么问题,但他们应该验证它是否是您的公钥(稍后会详细介绍)。拥有您的公钥意味着他们可以加密只有您才能打开的文件。

所以,现在我们可以加密文件并发送加密电子邮件了。但这只有在您有可以共享此信息的人时才有效。对于本文,我去了我的另一台工作站,并使用相同的步骤为我的商务电子邮件帐户设置了另一组密钥。

下一步是从密钥服务器导入 rhoobler@comcast.net 公钥,方法是使用密钥管理器并从菜单中选择地球图标或“文件”→“密钥服务器对话框”。您可以输入电子邮件地址并导入密钥。在完全使用密钥之前,从主对话框窗口中选择它,然后从菜单中选择“密钥”→“签名密钥”。

如果我想建立一个大型群组,我可以创建自己的密钥服务器,对密钥进行签名,然后分发它们。另一种方法是让人们通过电子邮件将他们的密钥发送给其他人,然后在物理位置会面,让他们验证并签署彼此的密钥。这构建了信任网络。例如,我已经签署了 Bill 的密钥,Bill 也签署了 Kate 的密钥。如果我收到来自 Kate 的邮件,她的密钥可以添加到我的信任数据库中。

密钥具有指纹,如果我不确定密钥是否真实,我可以查看指纹并致电该人进行验证。指纹可以在密钥管理器中找到,方法是选择密钥,然后从菜单中选择“编辑密钥”(图 2)。

Point-and-Click E-Mail Crypto

图 2. 要检查邮件的真实性,只需致电发件人并检查密钥指纹。

加密文件

KGPG 与 KDE 和 KDE 应用程序完美集成。最有用的是 Konqueror 浏览器。安装 KGPG 后,您可以右键单击文档,然后在“操作”菜单下,创建文档的加密版本。其中一个选项是粉碎原始文件,如果保留未加密版本是一个问题,这非常有意义。加密文件时,您可以为可以读取文档的不同人员添加多个密钥。如果您粉碎原始文件,请确保在每次加密文件时都包含您自己的密钥。如果我只使用我的 rhoobler@comcast.net 密钥,那么只有我才能解密该文件。

发送电子邮件

最后,我们准备好发送加密电子邮件了。使用 KMail(或 Kontact),键入消息——我将使用 rhoobler@comcast.net 作为“收件人:”地址。选择锁定图标(或从菜单中选择“选项”→“加密”)。当您单击“发送”时,将弹出一个对话框。如果您没有看到收件人的密钥,请按刷新按钮。此外,如果您没有对密钥进行签名,它将不会显示;返回并使用密钥管理工具对其进行签名,然后按刷新按钮。完成消息的键入,然后单击“发送”。

使用 KMail,解密消息是内置功能。当您收到加密消息时,系统会要求您输入密码短语,然后消息打开。如果您要发送加密消息,如果电子邮件地址在您的密钥环中,它将被加密并自动发送。您也可以一次将消息加密发送给多人,只要您拥有他们的公钥。

另一种方法是使用 KGPG 加密文件,并将加密文件作为附件发送。KMail 会自动解密附件以供查看(选择“查看”而不是“打开”)。对于基于 Web 的电子邮件客户端,您可以下载该文件并使用 Konqueror 解密或查看它。

如果您使用的是基于 Web 的电子邮件客户端(例如 Yahoo 邮件),您可以通过右键单击任务栏托盘图标,然后选择“解密剪贴板”,将加密消息从剪贴板剪切并粘贴到 KGPG 编辑器中。加密消息也是如此。

Point-and-Click E-Mail Crypto

图 3. 解密剪贴板

签名电子邮件

比加密更流行的是签名电子邮件。当然,这不会加密文本,但签名消息可以证明它来自您。如果我签名所有电子邮件,因为这是政策,并且您收到一封来自我的未签名电子邮件(或签名不匹配),您可以假设它是假的并提醒需要通知的人。

使用 KMail,电子邮件消息会进行颜色编码,以让您知道它是否是签名消息以及消息是否来自可信来源——黄色表示已签名,绿色表示已签名且可信。

创建群组/其他选项

KGPG 中的另一个方便工具是创建密钥组的功能。我可以创建一个包含三到四个密钥的管理组。发送消息时,我可以选择该组并发送出去。稍后,如果收件人将消息转发给组中的另一个人,它将已经可以阅读。

另一件事,在“配置 KGPG”下,使用“ASCII 盔甲”选项。它应该默认开启。这使得签名和加密以纯文本形式进行,因此易于邮寄、打印和剪切粘贴。如果没有 ASCII 盔甲,某些文件将是二进制文件,可能会导致问题。

总结

如果时间允许,我将尝试解密并回复任何可能收到的加密消息。由于 KGPG 包含在 KDE 中,因此它包含在大多数 Linux 发行版中。设置几个密钥并自行测试只需一两个小时的工作量。

如果您需要加强安全性,使用 GnuPG 和 KGPG,使用密钥和加密是一种可行的解决方案。在我的职业生涯中,人们对 SSL 连接和交易的安全性给予了高度关注,但对文件和电子邮件的关注却很少。借助 KDE 和一些努力,设置安全的电子邮件很容易。一个可以从开始的想法是加密您发送给您的经理或公司所有者的任何电子邮件。另一个想法是在网络上设置一个仅存储加密文档的私有文件夹。遵循这些类型的安全策略使加密更容易实施。

本文资源: /article/7863

Roy Hoobler 是 Connect Computing, Inc. (www.connectcomputing.com) 的所有者。作为一名拥有十年专有软件经验的独立顾问,他的公司现在专注于帮助小型企业使用 Linux,以及实施开源业务应用程序。

加载 Disqus 评论