如何在Ubuntu中加密文件和消息

文件,文本等的加密或加密它是所有Linux用户都应该了解的工具,但不幸的是,很少有人每天都知道和使用该工具。 当您将Linux的声誉视为“安全操作系统”时,这一点尤其令人震惊。 这是Linux唾手可得的另一个工具,可提高您的安全性。 你为什么不使用它? 出于无知? 好吧,这篇文章填补了这个“空白”加密信息的最简单方法是使用 GNU隐私卫士 (GPG)。 此微型操作指南从头到脚描述了它在Ubuntu中的安装和处理。 我花了将近2天的时间写它,所以希望您觉得它有用。

GPG如何运作

GPG使用结合了对称和非对称加密的混合系统。

非对称加密始终与 密钥对。 其中之一就是你 “公开”键 和另一个你 “私人”钥匙。 顾名思义,可以将公共密钥提供给您要向其发送加密消息的对象,如果别人看到它,则没有危险,实际上,它们通常发布在公共服务器上以方便访问; 另一方面,私钥必须是秘密的,您不必与任何人共享。 所有这一切最美丽的是,正如我们将在下面看到的,这两个密钥都是由GPG根据您的个人数据直接创建的。 最后一步是通过“密码”“密封”这两个键。 因此,最后,您唯一需要记住的密码就是您的“密码”。

传递干净,感谢 非对称加密, 如果发件人使用收件人的公钥加密邮件,则一旦加密,只有收件人的私钥才能解密此邮件,因为他们是唯一知道该邮件的人。。 因此,实现了消息发送的机密性:除了收件人之外,没有人可以解密消息。 如果密钥对的所有者使用其私钥来加密消息,则任何人都可以使用其公钥对其进行解密。 在这种情况下,可以实现对发送方的标识和认证。,因为已知只有他才能使用他的私钥(除非有人可以窃取它)。

我发现值得一提的最后一条评论是,发明了不对称密码,以 完全避免了密钥交换的问题 对称密码。 使用公共密钥,发送者和接收者不必就使用密钥达成一致。 发送者在发起秘密通信之前,只需获得发送者的公共密钥的副本即可。 而且,任何想要与其所有者通信的人都可以使用相同的公共密钥。

GPG有多安全?

El 算法 GPG使用的是 DSA / ElGamal,因为它是“免费”的,并且没有“专有”专利。

关于 密钥长度,取决于用户要求。 必须在安全性和过程优化之间取得平衡。 密钥越高,如果消息被截取,解码消息的风险越低,但是计算过程所花费的时间也会增加。 GnuPG要求的最小大小为768位,尽管许多人认为应该为2048位 (这是目前GnuPG的最大值)。 如果安全性的优先级高于时间,则可以选择允许的最大密钥大小。

在Ubuntu上安装GPG

Ubuntu具有GPG和GPG图形界面Seahorse的“开箱即用”功能。 要访问Seahorse,我们只需要转到应用程序>附件>密码和加密密钥。

在此之前,我建议打开一个终端并输入:

sudo aptitude安装seahorse插件sudo killall nautilus

这是允许我们 将GPG集成到Nautilus。 从现在开始,如果我们右键单击一个文件,将会看到另外两个选项:“加密”和“签名”。 我们将在下面看到如何使用这些新工具。

创建密钥

如我们所见,在开始加密消息和文件之前,必须首先创建我们的非对称密钥和“口令”。 为此,我们转到应用程序>附件>密码和加密密钥。 到那里后,我们转到文件>新建> PGP密钥。

然后系统会要求我们输入 姓名,电子邮件地址和评论。 后者是可选的,而前两个是必需的。 所选的电子邮件地址应为有效的电子邮件地址,因为它将用于签署用户标识符。 如果以任何方式修改此地址,则签名将不对应。 密钥将基于此数据生成.

在部分 进阶选项 密钥,您可以选择其他类型的加密。 推荐使用的是“ DSA Elgamal 768位”,但我建议您将其更改为“ DSA Elgamal 2048位”,因为它被认为足够安全和​​灵活。 失效日期是密钥不再对加密或签名操作有用的日期。 6个月是一个合理的时间。 在此时间段过后,您将必须更改到期日期或生成新的密钥或子密钥。

最后一步是输入密码。 请注意,英语“密码”一词在盎格鲁-撒克逊语之间的区别:术语“密码»表示“密码”,而术语“通关密语»表示«短语 在途中”。 因此,此密码必须由多个单词组成。 为了使密码有效(安全),您必须:


结合大写,小写和数字;
包含特殊字符(非字母数字);
很难猜测。 因此,除了姓名,重要日期,电话号码,证件号码之外,...

通常,创建一个强密码 建议插入带有减号,数字,其他非字母数字字符等的大写字母。。 在选择单词和短语时,我们必须避免使用那些过于明显的单词或重要的日期,并且切勿使用书籍或著名短语中的引号。 也就是说,我们必须确保选择的密码足够困难,以至于不能被“强力攻击”甚至“字典攻击”所破坏,但又足够容易让我们记住。 如果我们忘记了密码,那么我们的密钥将完全无用,并且带有密码的密码也将变得难以辨认。 考虑到这种可能性,建议始终与密钥一起创建吊销证书。

一旦输入了所有必需的数据,密钥生成过程就会开始,这将花费相当长的时间,具体取决于密钥的大小和计算机的速度。 在此过程中,程序将收集将用于生成密钥的随机数据。 完成后,Seahorse将关闭。

公钥服务器

发布我的公钥
公钥服务器用于精确分配公钥。 这样,在数据库中搜索某人(按姓名或电子邮件)并找到其公钥以向其发送加密消息(只有他/她可以解密)非常容易。

要将公共密钥“上传”到这些服务器,只需打开Seahorse,选择密钥,然后转到“远程”>“同步并发布密钥”。 将会出现一条警报,通知我们这将导致所选公钥的发布。

获取我朋友的公钥

打开Seahorse并转到菜单远程>查找远程密钥。 输入您要找的人的姓名或电子邮件。 然后选择相应的键。 完成后,您会看到新密钥已添加到“其他密钥”选项卡中。

(De)加密文件和文件夹

密钥对生成后,对文件进行加密和解密就非常简单。 您只需要选择一个文件,右键单击并选择“加密”.

在出现的对话框中,选择您先前创建的密钥,然后单击“确定”。

如果选择了要加密的文件夹,它将询问您是否要分别加密该文件夹中的每个文件,或者您是否希望创建一个ZIP文件,以后再对其进行加密。 在大多数情况下,第二个选项是最好的。

如果要加密文件,则加密完成后,应创建一个具有相同名称但扩展名为.pgp的文件。 该过程完成后,您可以删除旧文件。 如果对文件夹进行了加密,则应该找到两个新文件:扩展名为.pgp的加密版本和具有文件夹原始版本的.zip文件。 加密后,可以删除ZIP和原始文件夹。

出于安全原因,应永久删除文件的未加密版本,而不是简单地将其发送到回收站。 但是首先请确保尝试解密加密文件,以确保一切正常。

为此,您只需双击.pgp文件,并在需要时输入密码。 然后,原始文件将重新出现。 如果它是文件夹,则将显示.zip文件,然后您必须提取其内容。

在另一台计算机上解密文件

这不是旨在创建便携式加密文件的系统 (如 TrueCrypt的)。 要在另一台计算机上解密自己的文件, 您必须导出密钥,然后将其导入第二个计算机. 这代表了安全风险。 但是,有时可能有必要执行此任务(例如,如果您有一台PC和一台笔记本电脑,并且您希望拥有一个GPG密钥对,而不是每台计算机都使用一个GPG密钥对,就好像它们是不同的“身份”)。 因此,在这种情况下,请按照以下步骤操作:

在创建密钥的计算机上,启动Seahorse(应用程序>附件>密码和加密密钥),然后右键单击您的个人密钥,然后选择“属性”。

在出现的对话框中,单击“详细信息”选项卡,然后单击“导出完整键”旁边的“导出”按钮。 将文件保存到桌面。 您会发现已创建一个扩展名为.asc的新文件。 它们是您的纯文本键。

将.asc文件复制到USB记忆棒,再从那里复制到第二台计算机。 现在,在那台计算机上启动Seahorse,然后单击“导入”按钮。 导航到.asc文件的保存位置,然后单击“打开”。 这将导入密钥。 关闭Seahorse,然后双击用您的密钥加密的任何文件以对其进行解密。 它将要求您输入密码,因此将其写下来。 此后,原始文件将保存在.pgp文件所在的文件夹中。

最后,请记住,创建/导入/导出密钥的计算机的时间和日期必须正确。 由于各种技术原因,如果PC上的时间和日期小于创建日期,Seahorse和gpg命令将无法导入密钥。 当然,这意味着如果创建密钥的计算机的日期错误,则可能会给创建和使用密钥带来很多麻烦。

加密文字

有一个Gedit插件可以加密选定的文本。 要启用它,请转到“编辑”>“首选项”>“插件”。 我选择了“文本加密”。 启用插件后,将启用“编辑”>“加密/解密/签名”中的选项。

GPG和Firefox

有一个用于Firefox的插件 (消防GPG)提供了一个集成的图形界面,可以对网页上的任何文本应用GPG操作(包括(取消)加密,签名和签名验证)。

消防GPG 它还允许使用网络邮件 (Gmail等),尽管在我进行测试时,与Gmail的集成已“中断”。 要查看FireGPG可以使用的网络邮件的完整列表,请执行以下操作: http://getfiregpg.org/s/webmails

下载FireGPG: http://getfiregpg.org/stable/firegpg.xpi

加快加密过程...

要始终使用相同的“身份”对信息进行解密,建议您转到“系统”>“首选项”>“加密和密钥存储”。 然后,我访问“加密”标签,并在其中显示“默认密钥” 选择您将始终用来(解密)信息的密钥。 如果您好奇,建议您也查看“ PGP密码”选项卡,以将GPG调到最大。

签名并验证

很多时候,您不想发送加密的电子邮件,但是您确实希望收件人确定是我发送了该电子邮件。 为此,使用数字签名。 您所需要做的就是使用GPG和发件人的公钥验证电子邮件。

如我们所见,为了加密电子邮件,使用了一对密钥。 其中一个是秘密,另一个是公众。 如果是数字签名, 所有收到我签名的电子邮件的人都可以使用我的公钥来验证此电子邮件是我写的,并且该电子邮件在途中没有被恶意更改,因为我是使用私钥签名的.

因此,加密的一大问题就是发行者必须非常确定密钥,或者在数字签名的情况下,它必须真正属于声称是签名所有者的人。 毕竟,我可以声称自己是“莫妮卡·莱温斯基”,并将她的名字写在我的数字签名中。 为了解决这个问题,需要对公钥进行签名。 所以, 当某人签署我的公共密钥时,他们正在确认该密钥属于我。 换句话说,他们保证此密钥是我的。 根据罗伯特·德尼罗(Robert De Niro)的说法,密钥的相互签名形式为:“信任的网络”或“信任的网络”。 有关此主题的更多信息,建议您访问 http://www.rubin.ch/pgp/weboftrust.


要在密钥库中签名密钥:

1)从“受信任的密钥”或“其他收集的密钥”标签中选择要签名的密钥,

2)选择工具栏上的“签名”或“文件”>“签名”,

3)选择检查密钥的方式,

4)指出签名是否应该在您的钥匙寄存本地,以及是否可以撤销您的签名,

5)单击签名。

GPG和雷鸟

有一个名为Thunderbird和Seamonkey的插件,名为 Enigmail中 允许您使用GPG编写和接收签名和/或加密的消息。

首次运行此插件时,将出现一系列必须填写的表格。 它还包括说明如何使用GPG的指南。

有关GPG的更多信息,我建议阅读:


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   匿名

    写作使我能够通过以下方式来策划我的思想,行星和数字博学标准
    在教室Web日志情况中彼此分享他们的想法
    与Lanphear夫人一起写博客。 礼品袋是组成部分
    所有人都承认,这不是应对新事物的方法。

    另请访问我的页面: 点击此处

  2.   Xexu ortiz

    好巴勃罗! 我不知道它是否是我的浏览器,但是本教程的文本被截断了,也就是说,我错过了每一行的结尾。 谢谢您的帮助!

  3.   Soymuyguaytollenodechele!

    您的教程非常好! 大家好,我一直在寻求帮助! 这么好!!
    pD:那些有疑问的人会读懂混蛋! 很好的共鸣!

  4.   杀狗屎

    千岁男人! 很好的图达

  5.   Soymuyguaytollenodechele!

    哎呀! 我的cheleee b0las! papahuevoo! 什么ric000 frut000 papitoo! l0ra pendej00s的conxa!

  6.   让我们使用Linux

    在Firefox中看起来不错...

  7.   包装207

    好文章! 很有意思。 今晚我会花更多时间重读

  8.   塞萨尔1

    感激的朋友..委内瑞拉的问候。

  9.   德拉斯

    估计,
    我非常感谢您的出色工作,也感谢您共享生成本教程的过程的汇编。
    最好的祝福,
    D.
    布宜诺斯艾利斯。

  10.   JaD! | 费雷尔

    哇! 很好的教程!

    我只有一个疑问...当我将密钥导出到.asc文件时,它同时导出公钥和私钥吗? 我担心失去私有的,因为公共的已经在线,但是私有的却在系统中我不知道的地方。 我想对其进行复制,并将两个密钥保存在一个秘密的USB中。 另外,我想让两台机器之间的身份“同步”。

    如果您善于澄清我的疑问,或声明我的私钥在哪里(我已经查看过〜/ .gnupg,但我不知道它是什么),我将不胜感激🙂如果您可以通过电子邮件发送,您将在我的Disqus个人资料中找到它。

    的问候!
    JaD!

  11.   JaD! | 费雷尔

    我想我已经流行了。 我稍后再测试...

    因此,现在剩下的事情仍然是如何知道如何通过终端抢救我的私钥和公钥,因为我相信现在我将两者都发送到了Launchpad中的服务器上! D :(之所以这样说,是因为我发给他的文字是他给我的,用于“导出”我的密钥-显然是两个密钥-)

    感谢您的回答!
    JaD!

  12.   路易斯

    你好
    GnuPG使用免专利算法,但是我想知道SMIME是否使用不是免费软件的算法。
    谢谢

  13.   让我们使用Linux

    从我的理解来看,s / mime是“开放标准”,而GNUPG(自版本2起)已支持s / mime。 简而言之,我认为,如果GNUPG的人员将其合并,那是因为他们的算法是免费的并且标准是开放的,因此您可以毫无问题地使用它。

  14.   让我们使用Linux

    事实是我不知道。 无论如何,您不认为该更新了吗? 干杯! 保罗
    在06/12/2012 18:06 PM,《 Disqus》写道:

  15.   特洛斯基

    …仍然有支持(LTS)……无论如何,谢谢。
    salu2。

  16.   特洛斯基

    您知道10.04是否存在海马错误吗?…在另一个版本中,它是完美的,但在10.04中,生成密钥时会出现错误。

  17.   皮特

    教程篇! 这是我对硬件基础知识xD的最终练习

  18.   让我们使用Linux

    谢谢皮特! 很高兴对您有用。 是这个主意...🙂
    一个拥抱! 保罗

  19.   悠悠

    我根本不喜欢它,真令人恶心!!!!!!!!!!!!!!!!!!!

  20.   玛莎·G

    他们还可以使用FNIB服务,通过使用Swiftcoins加密邮件。
    http://www.youtube.com/watch?v=U3_pMGXlOMM

  21.   客人

    你好

    很好的帖子

    但我有一些疑问...

    我目前在maivelope上,但这给我带来了问题

    我无法解密他们使用PGP发送给我的电子邮件

    事实证明,我有一位联系人已使用PGP向我发送了消息,但无法解密,但我得到了:错误! 找不到此消息的私钥。 必需的私钥身份:187C3E990A964C30或BDA0CFE6BF5E5C1C我已经尝试使用私钥发送消息,即使这样我也知道...我在做什么错了?

    我已经切换到便携式PGP,但我不知道密码是什么...

    我不记得maivelope问我或做些什么使它出现...

  22.   伊格纳西奥

    很棒的教程!
    谁说这令人恶心不知道发生了什么

  23.   匿名

    嘿。
    单击文件或文件夹以加密下拉菜单(通过单击右键)以使其显示为加密后,我无法显示它,但是没有显示。 我在lubuntu 16.04和xubuntu 16.04上都碰巧

  24.   圣地亚哥·

    嗨,我无法使用第一个代码“ sudo aptitude install seahorse-plugins”告诉我:“ sudo:aptitude:未找到命令”。

  25.   荣誉

    您好,在Ubuntu 19.10中,第一个命令不接受我,它告诉我该软件包不可用,但已被另一个软件包引用。 它还表示海马插件包丢失,已淘汰或可以从其他来源获得。

    问候