标签 加密 下的文章

加密你的数据并使其免受攻击者的攻击。

密码学俱乐部的第一条规则是:永远不要自己发明密码系统。密码学俱乐部的第二条规则是:永远不要自己实现密码系统:在现实世界中,在实现以及设计密码系统阶段都找到过许多漏洞。

Python 中的一个有用的基本加密库就叫做 cryptography。它既是一个“安全”方面的基础库,也是一个“危险”层。“危险”层需要更加小心和相关的知识,并且使用它很容易出现安全漏洞。在这篇介绍性文章中,我们不会涵盖“危险”层中的任何内容!

cryptography 库中最有用的高级安全功能是一种 Fernet 实现。Fernet 是一种遵循最佳实践的加密缓冲区的标准。它不适用于非常大的文件,如千兆字节以上的文件,因为它要求你一次加载要加密或解密的内容到内存缓冲区中。

Fernet 支持 对称 symmetric (即 密钥 secret key )加密方式*:加密和解密使用相同的密钥,因此必须保持安全。

生成密钥很简单:

>>> k = fernet.Fernet.generate_key()
>>> type(k)
<class 'bytes'>

这些字节可以写入有适当权限的文件,最好是在安全的机器上。

有了密钥后,加密也很容易:

>>> frn = fernet.Fernet(k)
>>> encrypted = frn.encrypt(b"x marks the spot")
>>> encrypted[:10]
b'gAAAAABb1'

如果在你的机器上加密,你会看到略微不同的值。不仅因为(我希望)你生成了和我不同的密钥,而且因为 Fernet 将要加密的值与一些随机生成的缓冲区连接起来。这是我之前提到的“最佳实践”之一:它将阻止对手分辨哪些加密值是相同的,这有时是攻击的重要部分。

解密同样简单:

>>> frn = fernet.Fernet(k)
>>> frn.decrypt(encrypted)
b'x marks the spot'

请注意,这仅加密和解密字节串。为了加密和解密文本串,通常需要对它们使用 UTF-8 进行编码和解码。

20 世纪中期密码学最有趣的进展之一是 公钥 public key 加密。它可以在发布加密密钥的同时而让解密密钥保持保密。例如,它可用于保存服务器使用的 API 密钥:服务器是唯一可以访问解密密钥的一方,但是任何人都可以保存公共加密密钥。

虽然 cryptography 没有任何支持公钥加密的安全功能,但 PyNaCl 库有。PyNaCl 封装并提供了一些很好的方法来使用 Daniel J. Bernstein 发明的 NaCl 加密系统。

NaCl 始终同时 加密 encrypt 签名 sign 或者同时 解密 decrypt 验证签名 verify signature 。这是一种防止 基于可伸缩性 malleability-based 的攻击的方法,其中攻击者会修改加密值。

加密是使用公钥完成的,而签名是使用密钥完成的:

>>> from nacl.public import PrivateKey, PublicKey, Box
>>> source = PrivateKey.generate()
>>> with open("target.pubkey", "rb") as fpin:
... target_public_key = PublicKey(fpin.read())
>>> enc_box = Box(source, target_public_key)
>>> result = enc_box.encrypt(b"x marks the spot")
>>> result[:4]
b'\xe2\x1c0\xa4'

解密颠倒了角色:它需要私钥进行解密,需要公钥验证签名:

>>> from nacl.public import PrivateKey, PublicKey, Box
>>> with open("source.pubkey", "rb") as fpin:
... source_public_key = PublicKey(fpin.read())
>>> with open("target.private_key", "rb") as fpin:
... target = PrivateKey(fpin.read())
>>> dec_box = Box(target, source_public_key)
>>> dec_box.decrypt(result)
b'x marks the spot'

最后,PocketProtector 库构建在 PyNaCl 之上,包含完整的密钥管理方案。


via: https://opensource.com/article/19/4/cryptography-python

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

法国政府正式发布了它开发的替代 Telegram、WhatsApp 等的端对端加密消息应用 Tchap,支持 iOS 和 Android。Tchap 由法国数字部 DINSIC 开发,基于端对端加密、去中心化实时通讯系统 Matrix 的开源客户端 Riot。Tchap 也是开源的,源代码发布在 Github 上,任何感兴趣的机构可以部署自己的 Tchap 版本供内部使用。

来源:solidot.org

更多资讯

甲骨文例行更新又来了,这次修复了 297 个漏洞

甲骨文(Oracle)发布了每季一次的 Critical Patch Update 安全更新,总计修复了 297 个产品漏洞,当中有 53 个漏洞的 CVSS(Common Vulnerability Scoring System)评分高达 9 或以上,被视为应优先修复的对象。

来源: 开源中国

详情: http://t.cn/Eaqv88D

Mozilla Firefox 将默认启用点击跟踪

上周,Chrome、Safari、Opera 和 Microsoft Edge 的新版本被发现不再允许用户关闭“ 链接审计 hyperlink auditing ”的功能。链接审计是一项 HTML 标准,被用于跟踪网站链接的点击。它通过创建特定网页的 POST 请求,用户检查请求头文件就可以了解点击的源地址。目前只有 Brave 和 Firefox 这两个浏览器默认禁用链接审计。

来源: solidot.org

详情: http://t.cn/EaqvuaC

微软工程师希望独立 impl 进程改进 Chromium 的滚动效果

在拥抱 Chromium 之后,微软正积极为这款开源网页浏览器做贡献。目前谷歌的 Chrome 浏览器拥有自己的平滑滚动功能,而微软希望进一步优化来增强使用体验。在今年早些时候分享了对 Chromium 鼠标行为的看法之后,微软正计划改善 Windows 平台 Chromium 的滚动效果。

来源: cnBeta.COM

详情: http://t.cn/Eaqvgy5

法治政府蓝皮书建议:将行政赔偿扩至个人数据保护领域

《法治政府蓝皮书——中国法治政府发展报告(2018)》21 日在中国政法大学发布。针对备受关注的个人数据保护问题,报告建议,将行政赔偿等行政救济方法扩展到个人数据保护领域,促使行政机关加强个人数据的储存安全与保密力度。

来源: 新京报

详情: http://t.cn/EaqPwss

(信息来源于网络,安华金和搜集整理)

程序员都是凡人,但数学则是不朽的。通过让编程变得更数学化,计算机科学家希望能消除向黑客敞开大门的编程错误。研究人员在 GitHub 上发布了加密工具 EverCrypt,向这个目标迈出了一大步。

就像证明毕达哥拉斯定理那样,他们能证明 EverCrypt 可完全避开多种黑客攻击。

EverCrypt 没有采用常见的编程方法编写,而是利用了形式化验证。他们首先明确代码能做什么,然后证明只能这么做,排除了代码在特殊情况下偏离的可能性。

EverCrypt 始于 2016 年,是微软研究院项目 Project Everest 的一部分,当时加密库是许多软件的薄弱环节,存在大量 bug。

来源:solidot.org

更多资讯

Google Chrome 等浏览器不再允许关闭点击跟踪

Chrome、Safari、Opera 和 Microsoft Edge 的新版本将不再允许用户关闭“ 链接审计 hyperlink auditing ”的功能。链接审计是一项 HTML 标准,被用于跟踪网站链接的点击。它通过创建特定网页的 POST 请求,用户检查请求头文件就可以了解点击的源地址。

来源: solidot.org
详情: http://t.cn/E6MkXbD

4 月编程语言排行榜:C++ 重回前三 PHP 呈下降势头

TIOBE 公布了 2019 年 4 月编程语言排行榜,总体排名变化不大,排名前十的分别是:Java、C、C++、Python、Visual Basic .NET、C#、JavaScript、SQL、PHP 和 汇编语言。不过与上期相比,依然有值得关注的亮点。

来源: cnBeta.COM
详情: http://t.cn/E6MkRBv

英国收紧社交媒体审查 向仇恨言论等网络安全问题说不

英国政府在网络安全方面将继续采取强硬立场,近期将会成立全球首家专门负责社交媒体公司的独立监管机构。对于没有达到要求的公司不仅要面临巨额的罚款,而且公司的高管负责人因工作疏忽需要承担个人责任。

来源: 开源中国
详情: http://t.cn/E6Mk1jH

研究人员发现中国企业简历信息泄露:涉 5.9 亿份简历

据美国科技媒体ZDNet报道,有研究人员发现,中国企业今年前3个月出现数起简历信息泄漏事故,涉及5.9亿份简历。大多数简历之所以泄露,主要是因为MongoDB和ElasticSearch服务器安全措施不到位,不需要密码就能在网上看到信息,或者是因为防火墙出现错误导致。

来源: 新浪科技
详情: http://t.cn/E6MksYr

(信息来源于网络,安华金和搜集整理)

Tutanota 最近宣布发布针对其电子邮件服务的桌面应用。该 Beta 版适用于 Linux、Windows 和 macOS。

什么是 Tutanota?

网上有大量免费的、带有广告的电子邮件服务。但是,大多数电子邮件服务并不完全安全或在意隐私。在这个后斯诺登世界中,Tutanota 提供了免费、安全的电子邮件服务,它专注于隐私。

Tutanota 有许多引人注目的功能,例如:

  • 端到端加密邮箱
  • 端到端加密地址簿
  • 用户之间自动端到端加密邮件
  • 通过分享密码将端到端加密电子邮件发送到任何电子邮件地址
  • 安全密码重置,使 Tutanota 完全无法访问
  • 从发送和接收的电子邮件中去除 IP 地址
  • 运行 Tutanota 的代码是开源
  • 双因子身份验证
  • 专注于隐私
  • 加盐的密码,并本地使用 Bcrypt 哈希
  • 位于德国的安全服务器
  • 支持 PFS、DMARC、DKIM、DNSSEC 和 DANE 的 TLS
  • 本地执行加密数据的全文搜索

web 中的 Tutanota

你可以免费注册一个帐户。你还可以升级帐户获取其他功能,例如自定义域、自定义域登录、域规则、额外的存储和别名。他们还提供企业帐户。

Tutanota 也可以在移动设备上使用。事实上,它的 Android 应用也是开源的

这家德国公司计划扩展邮件之外的其他业务。他们希望提供加密的日历和云存储。你可以通过 PayPal 和加密货币捐赠帮助他们实现目标。

Tutanota 的新桌面应用

Tutanota 在去年圣诞节前宣布了桌面应用的 Beta 版。该应用基于 Electron

Tutanota 桌面应用

他们选择 Electron 的原因:

  • 以最小的成本支持三个主流操作系统。
  • 快速调整新桌面客户端,使其与添加到网页客户端的新功能一致。
  • 将开发时间留给桌面功能,例如离线可用、电子邮件导入,将同时在所有三个桌面客户端中提供。

由于这是 Beta 版,因此应用中缺少一些功能。Tutanota 的开发团队正在努力添加以下功能:

  • 电子邮件导入和与外部邮箱同步。这将“使 Tutanota 能够从外部邮箱导入电子邮件,并在将数据存储在 Tutanota 服务器上之前在设备本地加密数据。”
  • 电子邮件的离线可用
  • 双因子身份验证

如何安装 Tutanota 桌面客户端?

在 Tutanota 中写邮件

你可以直接从 Tutanota 的网站下载 Beta 版应用。它们有适用于 Linux 的 AppImage 文件、适用于 Windows 的 .exe 文件和适用于 macOS 的 .app 文件。你可以将你遇到的任何 bug 发布到 Tutanota 的 GitHub 帐号中

为了证明应用的安全性,Tutanota 签名了每个版本。“签名确保桌面客户端以及任何更新直接来自我们且未被篡改。”你可以使用 Tutanota 的 GitHub 页面来验证签名。

请记住,你需要先创建一个 Tutanota 帐户才能使用它。该邮件客户端设计上只能用在 Tutanota。

总结

我在 Linux Mint MATE 上测试了 Tutanota 的邮件应用。正如所料,它是网络应用的镜像。同时,我发现桌面应用和 Web 应用程序之间没有任何区别。我目前觉得使用该应用的唯一场景是在自己的窗口中使用。

你曾经使用过 Tutanota 么?如果没有,你最喜欢的关心隐私的邮件服务是什么?请在下面的评论中告诉我们。

如果你觉得这篇文章很有趣,请花些时间在社交媒体上分享。


via: https://itsfoss.com/tutanota-desktop

作者:John Paul 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在市场上能找到许多用来保护文件的文档加密工具。我们已经介绍过其中一些例如 CryptomaterCryptkeeperCryptGoCryptrTomb,以及 GnuPG 等加密工具。今天我们将讨论另一款叫做 “toplip” 的命令行文件加密解密工具。它是一款使用一种叫做 AES256 的强大加密方法的自由开源的加密工具。它同时也使用了 XTS-AES 设计以保护你的隐私数据。它还使用了 Scrypt,一种基于密码的密钥生成函数来保护你的密码免于暴力破解。

优秀的特性

相比于其它文件加密工具,toplip 自带以下独特且杰出的特性。

  • 非常强大的基于 XTS-AES256 的加密方法。
  • 合理的推诿 Plausible deniability
  • 加密并嵌入文件到图片(PNG/JPG)中。
  • 多重密码保护。
  • 可防护直接暴力破解。
  • 无可辨识的输出标记。
  • 开源(GPLv3)。

安装 toplip

没有什么需要安装的。toplip 是独立的可执行二进制文件。你所要做的仅是从 产品官方页面 下载最新版的 toplip 并赋予它可执行权限。为此你只要运行:

chmod +x toplip

使用

如果你不带任何参数运行 toplip,你将看到帮助页面。

./toplip

请允许我给你展示一些例子。

为了达到指导目的,我建了两个文件 file1file2。我同时也有 toplip 可执行二进制文件。我把它们全都保存进一个叫做 test 的目录。

加密/解密单个文件

现在让我们加密 file1。为此,运行:

./toplip file1 > file1.encrypted

这行命令将让你输入密码。一旦你输入完密码,它就会加密 file1 的内容并将它们保存进你当前工作目录下一个叫做 file1.encrypted 的文件。

上述命令行的示例输出将会是这样:

This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip file1 Passphrase #1: generating keys...Done 
Encrypting...Done

为了验证文件是否的确经过加密,试着打开它你会发现一些随机的字符。

为了解密加密过的文件,像以下这样使用 -d 参数:

./toplip -d file1.encrypted

这行命令会解密提供的文档并在终端窗口显示内容。

为了保存文档而不是写入到标准输出,运行:

./toplip -d file1.encrypted > file1.decrypted

输入正确的密码解密文档。file1.encrypted 的所有内容将会存入一个叫做 file1.decrypted 的文档。

请不要用这种命名方法,我这样用仅仅是为了便于理解。使用其它难以预测的名字。

加密/解密多个文件

现在我们将使用两个分别的密码加密每个文件。

./toplip -alt file1 file2 > file3.encrypted

你会被要求为每个文件输入一个密码,使用不同的密码。

上述命令行的示例输出将会是这样:

This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip 
file2 Passphrase #1 : generating keys...Done 
file1 Passphrase #1 : generating keys...Done 
Encrypting...Done

上述命令所做的是加密两个文件的内容并将它们保存进一个单独的叫做 file3.encrypted 的文件。在保存中分别给予各自的密码。比如说如果你提供 file1 的密码,toplip 将复原 file1。如果你提供 file2 的密码,toplip 将复原 file2

每个 toplip 加密输出都可能包含最多四个单独的文件,并且每个文件都建有各自独特的密码。由于加密输出放在一起的方式,一下判断出是否存在多个文档不是一件容易的事。默认情况下,甚至就算确实只有一个文件是由 toplip 加密,随机数据都会自动加上。如果指定了多于一个文件,每个都有自己的密码,那么你可以有选择性地独立解码每个文件,以此来否认其它文件存在的可能性。这能有效地使一个用户在可控的暴露风险下打开一个加密的捆绑文件包。并且对于敌人来说,在计算上没有一种低廉的办法来确认额外的秘密数据存在。这叫做“ 合理的推诿 Plausible deniability ”,是 toplip 著名的特性之一。

为了从 file3.encrypted 解码 file1,仅需输入:

./toplip -d file3.encrypted > file1.encrypted

你将会被要求输入 file1 的正确密码。

为了从 file3.encrypted 解码 file2,输入:

./toplip -d file3.encrypted > file2.encrypted

别忘了输入 file2 的正确密码。

使用多重密码保护

这是我中意的另一个炫酷特性。在加密过程中我们可以为单个文件提供多重密码。这样可以保护密码免于暴力尝试。

./toplip -c 2 file1 > file1.encrypted

这里,-c 2 代表两个不同的密码。上述命令行的示例输出将会是这样:

This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip 
file1 Passphrase #1: generating keys...Done
file1 Passphrase #2: generating keys...Done 
Encrypting...Done

正如你在上述示例中所看到的,toplip 要求我输入两个密码。请注意你必须提供两个不同的密码,而不是提供两遍同一个密码。

为了解码这个文件,这样做:

$ ./toplip -c 2 -d file1.encrypted > file1.decrypted 
This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip 
file1.encrypted Passphrase #1: generating keys...Done
file1.encrypted Passphrase #2: generating keys...Done
Decrypting...Done

将文件藏在图片中

将一个文件、消息、图片或视频藏在另一个文件里的方法叫做隐写术。幸运的是 toplip 默认包含这个特性。

为了将文件藏入图片中,像如下所示的样子使用 -m 参数。

$ ./toplip -m image.png file1 > image1.png
This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip 
file1 Passphrase #1: generating keys...Done 
Encrypting...Done

这行命令将 file1 的内容藏入一张叫做 image1.png 的图片中。

要解码,运行:

$ ./toplip -d image1.png > file1.decrypted This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip 
image1.png Passphrase #1: generating keys...Done 
Decrypting...Done

增加密码复杂度

为了进一步使文件变得难以破译,我们可以像以下这样增加密码复杂度:

./toplip -c 5 -i 0x8000 -alt file1 -c 10 -i 10 file2 > file3.encrypted

上述命令将会要求你为 file1 输入十条密码,为 file2 输入五条密码,并将它们存入单个叫做 file3.encrypted 的文件。如你所注意到的,我们在这个例子中又用了另一个 -i 参数。这是用来指定密钥生成循环次数。这个选项覆盖了 scrypt 函数初始和最终 PBKDF2 阶段的默认循环次数 1。十六进制和十进制数值都是允许的。比如说 0x800010 等。请注意这会大大增加计算次数。

为了解码 file1,使用:

./toplip -c 5 -i 0x8000 -d file3.encrypted > file1.decrypted

为了解码 file2,使用:

./toplip -c 10 -i 10 -d file3.encrypted > file2.decrypted

参考 toplip 官网以了解更多关于其背后的技术信息和使用的加密方式。

我个人对所有想要保护自己数据的人的建议是,别依赖单一的方法。总是使用多种工具/方法来加密文件。不要在纸上写下密码也不要将密码存入本地或云。记住密码,阅后即焚。如果你记不住,考虑使用任何了信赖的密码管理器。

今天就到此为止了,更多好东西后续推出,请保持关注。

顺祝时祺!


via: https://www.ostechnix.com/toplip-strong-file-encryption-decryption-cli-utility/

作者:SK 译者:tomjlw 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我通常不会加密文件,但如果我打算整理我的重要文件或凭证,加密程序就会派上用场。

你可能已经在使用像 GnuPG 这样的程序来帮助你加密/解密 Linux 上的文件。还有 EncryptPad 也可以加密你的笔记。

但是,我看到了一个名为 FinalCrypt 的新的免费开源加密工具。你可以在 GitHub 页面上查看其最新的版本和源码。

在本文中,我将分享使用此工具的经验。请注意,我不会将它与其他程序进行比较 —— 因此,如果你想要多个程序之间的详细比较,请在评论中告诉我们。

FinalCrypt

使用 FinalCrypt 加密文件

FinalCrypt 使用一次性密码本密钥生成密码来加密文件。换句话说,它会生成一个 OTP 密钥,你将使用该密钥加密或解密你的文件。

根据你指定的密钥大小,密钥是完全随机的。因此,没有密钥文件就无法解密文件。

虽然 OTP 密钥用于加密/解密简单而有效,但管理或保护密钥文件对某些人来说可能是不方便的。

如果要使用 FinalCrypt,可以从它的网站下载 DEB/RPM 文件。FinalCrypt 也可用于 Windows 和 macOS。

下载后,只需双击该 deb 或 rpm 文件就能安装。如果需要,你还可以从源码编译。

使用 FileCrypt

该视频演示了如何使用FinalCrypt:

安装 FinalCrypt 后,你将在已安装的应用列表中找到它。从这里启动它。

启动后,你将看到(分割的)两栏,一个进行加密/解密,另一个选择 OTP 文件。

Using FinalCrypt for encrypting files in Linux

首先,你必须生成 OTP 密钥。下面是做法:

finalcrypt otp

请注意你的文件名可以是任何内容 —— 但你需要确保密钥文件的大小大于或等于要加密的文件。我觉得这很荒谬,但事实就是如此。

生成文件后,选择窗口右侧的密钥,然后选择要在窗口左侧加密的文件。

生成 OTP 后,你会看到高亮显示的校验和、密钥文件大小和有效状态:

选择之后,你只需要点击 “Encrypt” 来加密这些文件,如果已经加密,那么点击 “Decrypt” 来解密这些文件。

你还可以在命令行中使用 FinalCrypt 来自动执行加密作业。

如何保护你的 OTP 密钥?

加密/解密你想要保护的文件很容易。但是,你应该在哪里保存你的 OTP 密钥?

如果你未能将 OTP 密钥保存在安全的地方,那么它几乎没用。

嗯,最好的方法之一是使用专门的 USB 盘保存你的密钥。只需要在解密文件时将它插入即可。

除此之外,如果你认为足够安全,你可以将密钥保存在云服务中。

有关 FinalCrypt 的更多信息,请访问它的网站:FinalCrypt

总结

它开始时看上去有点复杂,但它实际上是 Linux 中一个简单且用户友好的加密程序。如果你想看看其他的,还有一些其他的加密保护文件夹的程序。

你如何看待 FinalCrypt?你还知道其他类似可能更好的程序么?请在评论区告诉我们,我们将会查看的!


via: https://itsfoss.com/finalcrypt/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出