什么是技术栈,Tuta 如何确保技术栈的安全

经过审核的开源技术和自建解决方案使 Tuta 团队能够完全控制其技术堆栈,这在安全方面是一个重要因素。

2024-05-10
A computer screen with a logo of React on it, a library used in many tech stacks.
只有最薄弱的环节才能确保隐私和安全。这就是为什么在 Tuta,我们确保完全控制我们的技术栈。通过只使用开源技术和工具,我们可以提供透明可信的安全性。如果没有开源的预构建工具,我们就会卷起袖子自己构建。但是,为什么值得对我们的技术堆栈进行这样的投资?它又是如何提高安全性的?让我来解释一下!

什么是技术堆栈?

任何事物都不是孤立存在的。这适用于自然世界、语言、人和软件。

在技术领域也是如此。尽管普通互联网用户会认为 "嘿,我在用 Gmail,所以这个产品是谷歌的,谷歌会确保它的安全",但事实并非如此。任何产品都是通过技术堆栈构建的,技术堆栈由编程语言、工具、实用程序、库和框架组成,这些都是构建软件应用程序所必需的。应用程序提供商(此处:Google)可能会自己拥有并构建其中的一部分,但他们也总是会依赖第三方技术栈。这就是网络世界的构成。

您现在用来阅读本文的浏览器也是如此:您浏览器中运行的软件并非一个单独的实体,而是由更小的代码位、实用程序和库的实现以及软件框架组成。如果所有这些独特的元素以最终软件产品的形式结合在一起,那么只能说该产品的安全性与其最薄弱的部分相当。例如,如果某些软件使用的关键库存在重大漏洞,那么这个漏洞就会危及该软件的整体安全性。XZ 后门就是一个说明确保软件所有部分安全重要性的例子:XZ 漏洞即将感染多个 Linux 发行版,但由于 XZ 代码的开放源代码性质,我们侥幸避免了近期最严重的安全事件之一。

为了降低此类漏洞的风险,在 Tuta,我们只使用经过审核的开源工具。这使我们能够亲自审查用于构建加密电子邮件服务的所有代码。如果我们无法找到解决特定问题所需的必要开源技术,我们就会自己开发。当然,这些创建的所有客户端部分也会完全开放源代码,以便所有代码都能接受公共安全审查和讨论。隐私和信任只有通过透明的解决方案才能实现。

制作过程Tuta

在 Tuta,我们对导入大量臃肿的库或使用闭源软件不感兴趣。我们提供的解决方案完全符合我们应用程序的需求,不会给我们的技术堆栈增加额外的负担。

虽然许多电子邮件服务都依赖第三方技术来构建自己的产品,如 Postfix、Dovecot、Roundcube 和类似产品,但我们必须意识到,每次使用第三方应用程序(尤其是闭源应用程序),都会增加产品安全的难度。想想之前 XZ 漏洞的例子,这些事情在封闭源代码中也会发生,但却不容易被发现和缓解。

这就是我们 Tuta 专注于开源的原因:我们自己构建了整个客户端,包括网页、安卓、iOS 和所有桌面客户端,并将其作为开源发布。

Tuta Mail 与世界上任何其他电子邮件提供商的主要区别在于,我们自己构建了加密解决方案的所有主要部分。除此之外,我们还确保 Tuta 所依赖的开源工具是安全的,不包含任何漏洞:我们定期对 Tuta 使用的所有工具以及我们自己的客户端进行内部安全审查,例如在我们推出桌面客户端测试版时

只有通过开放源代码(我们自己的客户端以及我们有选择地纳入我们技术堆栈的软件、库和框架),精通技术的人才能审核代码并验证 Tuta 是否履行了我们的承诺:通过量子安全加密技术保护您的私人电子邮件、日历和联系人。

我们引以为豪的开源解决方案

我们在 Tuta 中特别引以为豪的解决方案之一是我们自己定制的推送通知服务

无谷歌推送通知服务

世界上最流行的推送通知服务是谷歌的Firebase Cloud Messaging(FCM)服务--我们需要替代品来打破谷歌的垄断地位。用谷歌自己的话说:"Firebase Cloud Messaging(FCM)是一个跨平台的消息解决方案,它能让你免费可靠地发送消息。"但我们都知道,如果谷歌提供的是免费服务,那就意味着你的数据才是真正的隐性成本。通过开发我们自己的完全开源推送通知服务,我们可以确保您在 Tuta Android 应用程序中的电子邮件通知安全发送,并且不会向谷歌泄露任何私人信息。如果我们将谷歌的 FCM 服务添加到我们的移动技术栈中,情况就不会是这样。

通过在 Tuta 技术栈中实施我们自己的通知服务,我们可以完全避免向谷歌等大科技公司泄露任何信息。而其他使用FCM的服务则会被动地将用户数据暴露在那些试图出售这些数据的公司的窥探之下。

真正私密的验证码

为了在防止滥用注册和不与谷歌共享任何信息之间取得平衡,我们还在网络应用技术栈中实施了我们自己定制的开源验证码。通过验证键盘后面是否有人,该验证码可以帮助我们打击自动创建僵尸账户的行为。对于通过 Tor 浏览器创建匿名账户的用户来说,这个验证码尤其重要。在使用 Tor 浏览器时,Tuta 总是要求用户在创建账户前成功验证验证码。

谷歌也免费提供了自己专有的 "验证码 "服务,但这同样是以暴露用户数据为代价的。对我们来说,这是一个无法接受的反僵尸解决方案。目前,Google reCaptcha 已经进行了第三次迭代,它因通过跟踪 cookies 在网络上跟踪用户而饱受诟病。reCaptcha v3 还会将用户行为划分为机器人行为或多或少。如果你在访问使用 reCaptcha 服务的网站时登录了谷歌账户,它就会像一位尊贵的客人一样向你招手。假定谷歌账户不会被机器人操作似乎有点奇怪,毕竟全球很大一部分垃圾邮件都是通过 Gmail 账户发送的。如果您正在使用 VPN 或 Tor 浏览器,或者正在采取措施避免跟踪 cookies,谷歌就会将您列为更 "僵尸化 "的用户,您可能需要更频繁地处理这些验证码。

在Tuta,我们不想把这些信息提供给谷歌或其他大科技公司。我们的自定义验证码可以由人工轻松解决,让机器人束手无策,而且不会共享任何关于您的信息。在 Tor 浏览器注册的情况下,验证码是强制性的,但不会与外部共享用户的任何信息。它只会向我们的服务器确认你是一个有兴趣保护自己隐私的人类。

Tuta Blob 商店

我们为基础设施构建的另一个幕后解决方案是开发我们自己的Tuta Blob 存储。通过开发我们自己的 blob 存储解决方案,我们实现了一种优化的方式来存储加密附件数据和加密邮件正文,而不会拖累我们自己的数据库。通过构建一个开源 blob 存储,我们能够使用一个完全符合我们后台需求的存储平台。Tuta blob 存储从底层开始构建,包括底层硬盘和 Linux 内核集成。

通过使用 blob 存储而非标准文件存储,我们能够以分布式方式有效存储加密数据,使您的数据安全地存储在至少 3 个独立的硬件实例上。这样可以实现多层冗余,在万一发生硬件故障时保护您的数据。通过使用分布式数据存储解决方案,我们还可以在任何时间增加可能的写入次数,从而提高服务的整体性能。

除了提供安全性和效率外,blob 存储还包括一个广泛的测试套件,这样我们就可以对影响加密数据存储的任何更改进行适当的审查和测试。

Tuta blob 存储可能不是一个面向用户的华丽新功能,但它极大地提升了 Tuta 的性能、安全性和效率。这对 Tuta Drive 的推出尤为重要!

Tuta 的后量子混合协议与 PGP 的对比

Tuta 全球首创的电子邮件抗量子加密技术可能是我们如何创建更好、更私密的技术栈的最佳范例。PGP 有很多弱点,而且在技术上无法加密尽可能多的数据,与其依赖 PGP,我们与伍珀塔尔大学的密码学专家一起开发并实施了Tuta Crypt。Tuta Crypt 已公开供审查,并经过了密码学和安全专家的密码分析。

Tuta Crypt 将公开可用的加密算法(如 Kyber)与 AES 256 和 ECDH x25519 结合在一个混合协议中,通过量子安全加密来保护您的电子邮件、共享日历和联系人。这种方法使我们能够为 Tuta 用户提供尽可能高的安全性,并能更快地实现新目标,如 "完美前向保密"。OpenPGP 项目也在努力实现后量子加密,但他们的解决方案仍在开发中。与此同时,这意味着使用 PGP 加密的电子邮件仍然很容易被世界各地的三字母情报机构采用 "现在收获,稍后解密 "的策略。

透明度是隐私的基石。

为了向您提供尽可能最好的安全性,我们在GitHub上透明地公布了我们的代码,任何人都可以对其进行审查。透明地发布代码不仅可以进行额外的安全审查,还能加强信任。Tuta 是由开源爱好者创建的,他们正在努力为每个人打造一个安全、开放的互联网空间。乌龟总能战胜兔子,通过慢慢来并始终将安全放在第一位,Tuta 将继续一步一个脚印地为大众带来隐私。

不要满足于不太安全的解决方案,今天就创建您的免费抗量子 Tuta 账户吧!

保持安全,加密愉快。