什么是校验和?密码学基础

介绍加密校验和、其用法以及如何确保您的安全。

Cryptography Basics: What is a checksum?

如果你想在城里度过一个盛大的夜晚,你可能需要一个身份证(至少如果你看起来很年轻的话),但在下载软件时,验证就有点不同了。通过验证加密校验和,你可以相信你下载的软件在从开发者到你的途中没有被篡改过。让我们深入了解一下!


什么是校验和?

校验和是通过校验和散列函数从文件或程序中导出的一串数据(包括字母和数字),用于验证您下载的数据是否与原始源数据相同。确保您下载到本地计算机的文件和程序的完整性是一项至关重要的安全措施,这样才能保证您的安全,避免被共享的假冒程序(包括恶意软件)窃取您的数据。

请记住,尽可能验证所下载文件和程序的校验和是最佳做法。

校验和功能的一个重要特点是,如果对原始文件进行任何更改,都会导致不同的输出,例如不同的校验和。如果没有这一关键功能,恶意行为者就可能通过中间人攻击或供应链攻击对数据进行更改,而用户却一无所知。

校验和还需要确保不仅数据变化会导致新的密钥,还必须避免两个不同数据源创建匹配校验和的可能性。这些事件被称为碰撞,而加密哈希函数的优势就在于抗碰撞。

校验和可确保数据的完整性,而非真实性。

校验和主要用于验证数据的完整性。您可能还记得,在我们介绍威胁建模时,完整性指的是数据以完全相同的数字格式传输到您的机器上。这意味着你接收到的数据,无论是文件还是可执行程序,都是内容创建者所希望的。需要注意的一点是,校验和只能验证你收到的数据是否100%相同,并不能证实数据源本身的真实性。这是信息安全的另一个方面,可以通过部署数字签名来实现。

数据完整性为何重要?

数据完整性在 IT 运营的各个层面都至关重要。从企业数据存储、应急服务、公共部门服务,到您上次度假时的食物照片,无一例外。数据损坏与数据完整性相反,会导致程序错误或重要信息丢失。通过维护校验和,您可以放心地复制、下载或共享相同的数据,而无需打开并手动查看。

如果你不能信任你的数据,它的使用率就会大大降低。利用校验和的优势,您可以确保您在使用新程序时可能遇到的错误有其他来源,而不是因为初始下载时出现了问题。这既能节省时间,又能节省金钱。如果你正在维护数据备份,那么创建和监控这些备份的校验和是一个很好的方法,可以随时监控所有数据的存储状态。如果你在没有做任何更改的情况下发现了差异,你就可以得到提醒,知道出了什么问题。

什么原因导致校验和不一致?

可能导致校验和不匹配的问题有很多,既有普通的,也有恶意的。互联网连接中断或存储空间问题可能是导致数据丢失的原因,从而导致校验和与原始课程提供的校验和不匹配。一旦问题得到解决,重新下载通常会返回正确的值。

不过,有些恶意情况可能会引起警惕。不匹配的校验和也可能表明某些第三方对原始源数据进行了更改。这可能是小事,但也可能是下载中包含恶意软件的迹象。当相关程序用于存储密码或加密货币等敏感数据时,这个问题就更加严重了。重新打包的恶意密码 “管理器 “会将您的数据直接发送给第三方,从而被滥用。在冒牌加密货币钱包的情况下,不匹配的校验和可能会导致数字资产完全丢失。

用于生成校验和的算法示例。

无论使用哪种散列算法生成校验和,它们的共同点都是单向函数。校验和函数生成的值不能以任何方式用于 “重现 “原始文件。这不是加密,没有任何东西可以解密,所以我们处理的不是密码文本

Eine Visualisierung des Dienstprogramms cksum, mit dem Prüfsummen aus Wörtern und Sätzen erstellt werden. Eine Visualisierung des Dienstprogramms cksum, mit dem Prüfsummen aus Wörtern und Sätzen erstellt werden. 可视化的 cksum 工具,用于根据单词和短语创建校验和。

其中一些算法可能看起来很熟悉,我们在本密码学基础知识系列的前几篇文章中已经讨论过其中一些算法。

MD5

就像散列密码一样,MD5 也不应再使用,因为它可能导致碰撞,这意味着恶意行为者可能会创建你希望下载的软件的伪造版本,而校验和将无法对这些变化发出警报。

SHA-1

自 2005 年以来,这种散列函数一直不被认为是安全的,美国国家技术与标准局(NIST)已呼吁到 2030 年将其彻底淘汰。2017 年,谷歌与 Centrum Wiskunde & Informatica 的密码学小组一起创建了两个不同的 PDF 文件,其结果是相同的 SHA-1 指纹。

SHA256

目前的校验和散列标准是 SHA256(或 SHA-3)。SHA256 也是我们使用的校验和函数,以便您每次下载 Tuta 桌面客户端时都能检查数据的完整性。

Ein Beispiel der Prüfsummen für die Tuta Desktop Clients Version 244.240913.1 Ein Beispiel der Prüfsummen für die Tuta Desktop Clients Version 244.240913.1 Tuta 桌面客户端 244.240913.1 版本的校验和示例

如何验证 Tuta 桌面客户端的校验和。

验证下载的校验和对于那些技术水平不高的人来说可能是一项艰巨的任务,但这是一项很快就能学会的技能,可以为您省去很多麻烦。

每发布一个新的 Tuta 桌面客户端,我们都会在 Github 上发布校验和,这样,无论您的设备是何种操作系统,都可以验证它们。第一步是访问我们的主页,下载与您的操作系统匹配的桌面客户端。继续,我可以等…

好极了你回来了!现在,您可以跳转到当前使用的操作系统,只需几个简单的步骤就能验证下载的校验和。为简单起见,我在编写这些说明时会假设你将下载文件保存在下载文件夹中。

视窗

在 Windows 中,请从开始菜单或在 “运行 “对话窗口中运行cmd 打开命令提示符。打开命令提示符后,键入

  1. cd 下载

  2. certutil -hashfile tutanota-desktop-win.exe SHA256

此输出可与我们在 GitHub 上提供的校验和进行比较。

Die Schritte in der Eingabeaufforderung zum Anzeigen der Prüfsumme des heruntergeladenen Tuta-Desktop-Clients unter Windows. Die Schritte in der Eingabeaufforderung zum Anzeigen der Prüfsumme des heruntergeladenen Tuta-Desktop-Clients unter Windows. 查看 Windows 上下载的 Tuta 桌面客户端校验和的命令提示符步骤。

你可以在这里下载Windows 客户端

Mac

在 Mac 上,你可以从 Launchpad 打开一个终端窗口。打开后,请输入以下内容:

  1. cd 下载

  2. shasum -a 256 ~/Downloads/tutanota-desktop-mac.dmg

然后将输出结果与 GitHub 上提供的校验和进行比较。

Die Terminal-Befehle zum Überprüfen einer Prüfsumme unter macOS. Die Terminal-Befehle zum Überprüfen einer Prüfsumme unter macOS. 在 macOS 上验证校验和的终端命令。

你可以在这里下载Mac 客户端

Linux

最后,当然也是最重要的一点,你可以打开终端并输入以下命令来验证我们免费 Linux 桌面客户端的校验和:

  1. cd 下载

  2. sha256sum tutanota-desktop-linux.AppImage

然后将输出结果与 Tuta 开发团队提供的校验和进行比较,以确认下载的完整性。

Die Terminal-Befehle zum Überprüfen von Prüfsummen auf einem Linux-Rechner Die Terminal-Befehle zum Überprüfen von Prüfsummen auf einem Linux-Rechner 在 Linux 机器上验证校验和的终端命令。

你可以在这里下载Linux 客户端

有了这个新的安全技巧,你就可以继续你的网络安全之旅了。将校验和验证纳入你的数字卫生中,再加上使用密码管理器,你就能采取行动保护自己免受网络威胁。

如果您正在寻求提高电子邮件账户的安全性,我们建议您这样做,因为电子邮件是您数字生活的中心,请使用 Tuta Mail。通过默认的端到端加密,Tuta Mail 让隐私和安全变得简单。现在就创建您的免费电子邮件账户,并与我们适用于所有平台的免费专用电子邮件客户端一起使用。

别忘了验证校验和! 😉