阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在 Linux 中加密邮件

103次阅读
没有评论

共计 3234 个字符,预计需要花费 9 分钟才能阅读完成。

如果你一直在考虑如何加密电子邮件,那么在众多的邮件服务和邮件客户端中挑来挑去一定是件头痛的事情.可以考虑两种加密方法:SSL 或 TLS 加密会保护发送到邮件服务器的登录名和密码.Gunpg 是一款标准的、强大的 Linux 加密工具,可以加密和认证消息.如果你可以管理自己的 GPG 加密,并不考虑第三方工具,那它就够了,其它的我们将在稍后讨论.

即便加密了消息,你仍然会暴露在流量分析中,因为消息头部必须是明文形式.所以需要另一款比如 Tor network 来隐藏你在互联网上的足迹.我们会看看各种邮件服务和客户端,以及其中的利弊.

在 Linux 中加密邮件

忘掉 Web 邮件

如果你使用过 GMail, Yahoo,Hotmail 或者其它 Web 邮件提供商的邮件服务,那就忘掉它们吧.你在 Web 浏览器里输入的任何信息都会暴露在 JavaScript 攻击中,而且无论服务提供商提供什么保障都是过眼云烟 (译者注: 此说法靠谱否?).GMail,Yahoo 和 Hotmail 均提供 SSL/TLS 加密来防止消息被窃听.但是它们不会提供任何保护来阻碍它们自己的数据挖掘,因此并不会提供端到端的加密.Yahoo 和 Google 都声称将在明年推出端到端的加密.对此我持怀疑态度,因为如果一旦它们的核心业务数据挖掘受到干预,它们就什么都干不了了.

市面上也有各式各样的声称可以为所有类型的电子邮件都能提供安全加密的第三方邮件加密服务,比如 Virtru 和 SafeMess.对此我依旧表示怀疑,因为无论是谁,只要持有加密秘钥就可以访问你的消息,所以你还是要依赖于对他们的信任而不是技术.

对等消息可以避免许多使用集中化服务中的缺陷.RetroShare 和 Bitmessage 是两种流行的范例.我不知道它们是否如实所述,但这么说肯定有其可取之处.

那 Anddroid 和 iOS 又如何呢? 假设大部分的 Android 和 iOS 应用都没有权限获取你的消息的话,那就是最安全的.不要照搬我说的 — 在应用将要安装到你的设备上时麻烦读读相关的服务条款并检查所要求的权限.即便在初次安装时它们的条款是可接受的,也记得单方面的条款改变是行业的标准,所以做最坏的打算是最安全的.

零知识(Zero Knowledge)

Proton Mail 是一款全新的邮件服务,声称采用零知识就可以实现消息加密.认证和消息加密分为两个单独的步骤,Proton 遵照 Swiss 隐私条款,它们不会通过日志记录用户的活动.零知识加密提供真正的安全.这代表只有你拥有你的加密秘钥,如果你丢了它们,你的消息就无法恢复了.

也有许多加密电子邮件服务声称可以保护你的隐私.认真阅读细则,查看红色标注的地方,比如受限的用户数据采集,与好友分享,与执法部门的合作等.这些条款暗示它们会收集和共享用户数据,拥有权限获取你的加密秘钥,并读取你的消息.

Linux 邮件客户端

一款独立的开源邮件客户端,比如, Mutt, Claws, Evolution, Sylpheed 和 Alpine,可建立你自己控制的 GnuPG 秘钥,给你大部分的保护.(建立更安全的电子邮件和 Web 浏览的最容易的方式是运行 TAILS live 的 Linux 发行版.详情查看通过 Tor、TAILS 和 Debian 在网上保护你自己。)

无论你使用的是 TAILS 还是一款标准 Linux 发行版,管理 GnuPG 的方法是相同的,所以下面来学习如何使用 GnuPG 加密消息.

使用 GnuPG

首先,熟悉一下相关术语。OpenPGP 是一种开放的电子邮件加密和认证协议,基于菲利普·齐默曼的 Pretty Good Privacy (PGP)。GNU Privacy Guard (GnuPG or GPG) 是 OpenPGP 的 GPL 实现。GnuPG 使用对称公钥加密算法,也就是说会生成一对密钥:一个任何人都可以用来加密发送给你的消息的公钥和一个只有你自己拥有用来解密消息的的私钥。GnuPG 执行两个分开的函数:数字化签名消息以证明消息来自你和加密消息。任何人都可以读到你的数字签名消息,但只有那些与你交换密钥的人才可以读取加密消息。切记千万不要与他人分享你的密钥!只能分享公钥。

Seahorse 是 GnuPG 对应的 GNOME 图形化前端,KGpg 是 KDE 图形化的 GnuPG 工具。

在 Linux 中加密邮件

Kgpg 为了创建了管理加密秘钥提供了一个很好的 GUI 界面.

现在我们执行生成和管理 GunPG 密钥的基本步骤。这个命令生成一个新的密钥:

  1. $ gpg genkey

这个过程有许多步骤;对于大部分人来说,只需要回答所有的问题,遵循默认设置就好。当你生成你的密钥时,记下来并将其保存在一个安全的地方,因为如果你丢掉了它,你就不能解密任何消息了。 任何关于不要写下密码的建议都是错误的。 我们中的大部分人要记住许多登录名和密码,包括那些我们几乎从来不会用到的,所以全部记住它们是不现实的。你知道当人们不写下他们的密码时会发生什么吗? 他们会选择生成简单的密码并不断重复使用。 你存储在电脑里的任何东西都潜在地会被攻击窃取;一个保存在上锁的柜子里的小本是无法通过渗透获取的,除了物理的入侵,当然入侵者要知道如何去寻找它。

我必须叮嘱你们去弄清楚如何使用新密钥去配置邮件客户端,因为每一个都不同。你可以按照如下操作列出你的密钥:

  1. $ gpg listkeys
  2. /home/carla/.gnupg/pubring.gpg
  3. ——————————
  4. pub 2048R/587DD0F520140813
  5. uid CarlaSchroder(my gpg key)
  6. sub2048R/AE05E1E4 20140813

这能快速地获知像密钥的位置、名称(也就是 UID)等必要信息。假设你想要把公钥上传到密钥服务器,可以参考实例操作:

  1. $ gpg sendkeys ‘Carla Schroder’keyserver http://example.com

当你生成了一个新的密钥要上传到公钥服务器,你也应该生成一个撤销证书。不要推迟到以后做———当你生成新密钥时就生成它。你可以给它取任意的名称,比如使用一个像 mycodeproject.asc 的描述性名称来代替 revoke.asc:

  1. $ gpg output revoke.asc genrevoke ‘Carla Schroder’

如果你的密钥变得不可靠了,你可以通过向 keyring 导入撤销证书来撤销它:

  1. $ gpg import~/.gnupg/revoke.asc

然后生成并上传一个新的密钥来取代它。当它们更新到密钥数据库时,所有使用旧密钥的用户都会被通知。

你必须像保护私钥一样保护撤销证书。将它拷贝到 CD 或 USB 存储器中,并加锁,然后从电脑中删除。这是明文密钥,所以你甚至可以将它打印出来。

如果你需要一份复制粘贴的密钥,比如在允许将密钥粘贴到网页表格中的公用 keyring 中,或者是想将公钥发布到个人站点上,那么你必须生成一份公钥的 ASCII-armored 版本:

  1. $ gpg output carlapubkey.asc exporta ‘Carla Schroder’

这会生成可见的明文公钥,就像下面这个小例子:

  1. —–BEGIN PGP PUBLIC KEY BLOCK—–
  2. Version:GnuPG v1
  3. mQENBFPrn4gBCADeEXKdrDOV3AFXL7QQQ+i61rMOZKwFTxlJlNbAVczpawkWRC3l
  4. IrWeeJiy2VyoMQ2ZXpBLDwGEjVQ5H7/UyjUsP8h2ufIJt01NO1pQJMwaOMcS5yTS
  5. […]
  6. I+LNrbP23HEvgAdNSBWqa8MaZGUWBietQP7JsKjmE+ukalm8jY8mdWDyS4nMhZY=
  7. =QL65
  8. —–END PGP PUBLIC KEY BLOCK—–

相信上面的教程应该使你学会如何使用 GnuPG。如果不够,The GnuPG manuals 上有使用 GnuPG 和相关全部配置的详细信息。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3234字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中