扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
实现Linux的安全通信可以有很多途径,其中加密或签名就是一种可靠的选择。比如GNU 隐私卫士(GNU Privacy Guard,简称为GnuPG)允许用户加密、解密、签名、验证通信和数据,并创建和管理这些任务所需要的密钥。GnuPG是一个符合OpenPGP标准的完全开源工具,并与许多Linux应用程序集成,从剪贴板程序到即时通信客户端。这些应用程序使得在GNU网络对象模型环境(GNOME)中将GnuPG用于数字通信的安全更加容易。
本文介绍的这些应用程序几乎可以透明地使用GnuPG技术,而且用户无需对加密或数字通信安全有太多了解就可以成功地实现。
为了使用GnuPG实现数字安全通信,需要设置GnuPG密钥。此后就可以将密钥用于GNOME桌面应用程序中,这些应用程序支持GnuPG以保障消息通信、电子邮件、文本以及文件等的安全。
Seahorse
让我们先从Seahorse开始,这是一个GnuGP图形用户界面的为GNOME编写的程序,用户可以用来设置并管理其GnuPG密钥。多数Linux发行版本都将其包括在存储库中,因此其安装是相当简单的。在安装过程中,它会增加一些用于gEdit、 Nautilus、Epiphany Web浏览器等的插件。
要运行Seahorse,请在Applications(应用程序)菜单中查找,打开Seahorse后,找到Passwords and Encryption Keys(口令和加密密钥),在key(密钥)上单击,并选择“Create New Key”( 创建新的密钥)菜单。如图1:
在弹出的窗口中,选择“PGP Key”选项以创建一个新的PGP密钥。如图2:
单击“Continue”,在弹出的窗口中,输入用户的姓名和电子邮件地址,并选择密钥类型等。如图3:
在密钥创建过程中Seahorse为其它选项提供的默认设置对多数人来说通常已经足够了。在此过程中用户会被提示为自己的私钥(private key)输入一个密码短语。用户应选择一个安全的密码短语,并应牢记之。如果忘记了密码短语,用户就不能用私钥解密或为数据签名了。一旦输入了自己的密码短语,用户只需单击“确定(OK)”,系统就会为用户创建密钥对(Key Pair)。如图4:
一旦用户拥有了密钥对,就可以通过将其包含到电子邮件的签名中或将其放置到Web站点或博客中与朋友共享了。为了构建信任站点,用户需要使公钥被朋友签名,并签名朋友的公钥。
用户有可能会想到将公钥发布到一个密钥服务器,为了在Seahorse中实现此功能,选择Remote -> Sync and Publish Keys。如图5:
一旦设置完成GnuPG密钥,用户的GNOME桌面将成为其数字安全的工作站。
要通过下面列示的应用程序使用GnuPG,其过程通常如下:
1、选择用户想签名、加密、验证或解密的数据。
2、选择用户希望用于此过程的密钥。
3、如果用户正使用私钥,应提供密码短语。
文本编辑器Gedit
Seahorse为gEdit安装一个插件,它允许用户加密、解密、签署并验证纯文本。要为gEdit启用此GnuGP插件,从“Edit”菜单选择“Preferences”。如图6:
单击“Plugins”选项卡,选择“Text Encryption”,单击“OK”。然后选择想要加密、解密、签名的文本,并选择“Edit”菜单下的加密选项。完成后,将加密的文本复制、粘贴到其它应用程序中。
剪贴板文本加密小程序
Seahorse还安装了一个剪贴板文本加密小程序,用户可以将其添加到面板上,从而可将文本复制到剪贴板上,并对它加密,然后再复制到另外一个应用程序中。这是一个通过基于Web的电子邮件客户端使用加密的方法。要想启用它,在一个面板上右击,单击“Add to Panel”(添加到面板)。
选择“Clipboard Text Encryption”( 剪贴板文本加密)小程序,然后单击“Add”。此后,无论用户是剪切或复制文本,用户可以在这个程序上单击,实现对剪贴板上的文本加密或签名。如果文本已经加密或签名,在此程序上单击就会允许用户解密或验证文本。
文件管理器
用户通过使用由Seahorse提供的另外一个插件可以将对数据加密和签名的菜单项目添加到Nautilus File Manager(Nautilus文件管理器)。这些菜单项目可以在Nautilus 的“Edit”菜单中找到,当用户在一个文件或文件夹上右击时也可以在弹出的菜单中找到。要使用这些项目,选择想要操作的文件或文件夹,单击“Edit”/“Encrypt or Edit”/“Sign”。GnuPG就会为用户加密的任何文件创建一个扩展名为.pgp的新文件;如果用户为任何文件进行了签名,文件的扩展名就为.sig。用户原始的、未加密的文件仍会保持不加密状态。
要验证扩展名为.sig的文件上的签名,在文件上右击,选择“Open with Verify Signature”。要解密一个扩展名为.pgp的文件,在其上右击,选择“Open with Decrypt File”。在Nautilus插件的较老版本上,用户不会看到这个最后的选项,用户可以选择“Open With”/“Open with Other Application”,单击“Open with Custom Command”选项,在出现的文本框中输入“seahorse-tool -d”。完成后,当用户在一个加密的文件上右击时就会看到“Open with seahorse-tool”,单击这个选项就会为用户解密这个文件。
Web浏览器
Epiphany Web浏览器可以从Seahorse所提供的另外一个GnuPG插件中获益,通过它用户可以在Web页面上的文本框中加密和签名文本。当然,用户需要安装Epiphany扩展,这样一来用户就可以通过“Tools”/“Extensions”菜单启用Seahorse的扩展。在用户的输入焦点处于某个文本字段内时,就会启用右击后的上下文菜单加密选项。用户还可以借助于FireGPG单元使用Firefox,直接加密及签名Web页面中的文本字段。要使用它,在一个文本字段上右击,在FireGPG的子菜单下可用的加密选项中选择即可。这些工具使得通过基于Web的应用程序(如Gmail 、 Yahoo! Mail等)使用GnuPG成为非常轻松的事情。
电子邮件
电子邮件的安全进展来自于对内置GnuPG的支持。雷鸟(Thunderbird)通过Enigmail插件支持GnuPG。Enigmail插件是一个综合性的GnuPG前端程序。此外,Balsa 和Claws这两个应用程序也支持GnuPG。
即时通信(IM)
在这方面的软件产品很多,Psi是一个跨平台的甲吧(jabber)客户端,它支持运用GnuPG的加密通信。而Gabber,是另一个甲吧(jabber)客户端,也使用GnuPG。Pidgin(即以前的Gaim)也拥有一个加密插件和OTR插件,它也可以对即时通信进行加密,不过二者都不使用GnuPG。
其它平台
虽然我们文章的题目是关于Linux程序的安全通信问题,不过在共享签名或加密的数据时,用户有可能会将数据与那些并不把Linux作为其主要操作系统的人们共享。非常幸运的是,GnuPG也可以在Windows和Mac OS X平台上实现,而且在这些平台上也有大量的应用程序允许我们在桌面电脑上使用GnuPG及其数据保护特性。
结束语
GNOME桌面提供了大量实用的应用程序,这些程序内建了或插入了对GnuPG的支持,这使得通过桌面程序实现数字通信的安全变得相当容易。更有甚者,前面列示的多数支持GnuPG的应用程序在KDE中都有其等价产品,并提供相同或类似的功能。我们相信,在数字通信安全日益受到重视的今天,Linux桌面提供的大量工具将可以满足我们的需要。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者