解决现代隐私挑战的新方法

铁芯实验室产品更新

在过去的12个月里,IronCore一直在忙于新产品、新功能、性能、可用性等方面的重大飞跃。

如果你和我们一样,你可能会发现这些天很难把目光从海量的新闻中移开。在2020年的旋风中,我们想后退一步,回顾一下过去一年我们在产品线方面取得的进展。

新产品名称

我们最近更改了一些核心产品的名称,以承认它们已经超越了原来的用例,增加了新的功能。

数据控制平台

我们的零知识sdk支持基于加密的访问控制,我们过去称之为端到端加密工具包,现在是数据控制平台.我们做这个改变有几个原因,但其中一个原因是,虽然从根本上说,我们所做的是由密码学驱动的,但我们也超越了这一点。例如,我们非常强调审计跟踪、数据管理策略和其他方面,这些方面使数据所有者能够控制他们的数据。

除了您通常认为的端到端加密场景中的客户端用例外,我们还支持服务器端加密和解密,两者的混合.通过扩展名称的范围,我们希望人们能够考虑更广泛的用例,在这些用例中,他们希望严格管理和保护数据。

SaaS盾™️

我们的SaaS产品的客户管理密钥现在被称为SaaS盾。与我们的核心平台一样,我们扩展了产品的功能。我们支持客户持有的加密密钥,并且我们将很快发布对SaaS客户的安全日志基础设施的近实时日志流的支持。此日志流首先包含数据访问事件,但很快将加入其他出于安全性和遵从性原因而感兴趣的事件,例如用户、组和权限的更改。

数据控制策略和编辑器

我们的数据控制平台的一个常见用途是确保只有特定的用户和系统才能看到特定类别的信息。在核心,我们使用公钥加密和组来实现这一点。但是在更复杂的系统中管理组可能会很麻烦。所以我们在去年发布了最初版本的政策。

数据控制策略允许您用敏感级别(可自定义,但例如,低/中/高或公共/私人/受限)和类别(也可自定义,但例如,人力资源/财务/法律/健康)标记数据。

然后,您可以确定哪些用户集(员工或甚至客户)应该能够访问每种敏感性和类别的组合。

直到最近,设置这些策略规则都需要手写配置文件。我们很高兴地宣布,我们现在有一个图形化的策略编辑器,管理员可以创建和维护他们的数据策略。

新的图形化策略编辑器用于数据控制策略

加密字段搜索

在数据控制平台中,IronCore现在支持对加密数据进行搜索和过滤,包括子字符串搜索。

这是一件大事。

当我们告诉人们他们应该加密和控制他们的数据时,我们听到的最常见的事情之一是担心数据将变得无用。例如,加密客户的家庭地址听起来很棒,但由于商业原因,需要有人调出居住在特定城市的所有客户的记录。

以前,您需要维护一个单独的索引来根据特定属性查找记录(这可能会泄露大量敏感数据),或者提取所有记录并在客户机中解密和过滤它们。现在搜索和筛选操作可以在服务器上进行,而服务器不会看到任何未加密的数据。

此特性特别适用于搜索通常包含少量数据的字段(大小大致从一个单词到一个段落不等)。IronCore目前还不支持针对较大文本(如完整文档搜索)的安全加密搜索方法。

扩展语言和平台支持

我们的目标是让没有理由不严格控制和保护私人数据。我们认为这就是现代应用程序应该如何构建,我们希望每个人都可以在任何地方使用它。

在做这件事的时候,你不应该相信我们。这意味着我们,铁芯实验室,永远不能访问或有能力访问任何人的私人数据。我们从未看到明文数据或私钥,这意味着所有加密和解密操作都发生在客户端设备或客户的基础设施内部。因此,我们必须支持多种平台和语言。

我们努力争取广泛的支持。我们投入了大量的时间、金钱和精力来让我们的图书馆变得便携。以下是我们当前的支持列表。如果下面没有列出您的首选语言或平台,请与我们联系。

数据控制平台语言支持

在过去的一年里,我们扩展了我们的语言支持,现在我们支持所有这些语言:

  • 生锈
  • Java
  • Scala
  • 打印稿
  • JavaScript
  • c++
  • 斯威夫特(β)

我们支持以下平台:

  • Web浏览器(带WebAssembly)
  • NodeJS
  • macOS本地
  • Linux本地
  • Windows原生
  • Android原生
  • iOS原生版(测试版)

SaaS盾构语言支持

SaaS Shield是一种服务器端加密/解密解决方案,不需要我们的数据控制平台所需要的广泛支持。但是,数据控制平台支持的任何语言和环境都可以被我们的SaaS Shield sdk支持。如果您想请求以下未列出的支持,请联系我们。

运行时:

  • JVM
  • NodeJS

我们在NodeJS上支持TypeScript和JavaScript,也支持任何JVM语言,包括Java和Scala。这些应该可以在任何平台上工作,但是我们专门测试并支持Linux服务器环境。

无缝私钥旋转

使用IronCore的数据控制平台,当数据被加密到组而不是直接给用户时,旋转设备键和用户键总是很容易的。使用针对用户和组的多方计算,现在即使数据直接加密给用户,我们也能够旋转用户的私钥,而不需要更改已经加密的数据。

这种功能的一个关键驱动因素是端到端加密系统中经常面临的鸡和蛋的问题:我们如何向还没有生成密钥的人加密数据呢?

当目标是加密数百万消费者的数据时,这个问题尤其令人困扰,其中每个消费者的数据都是加密给他们的,并且以可撤销的方式将解密权委托给公司。我们称之为GDPR模式,效果很好,但直到最近,我们还没有一个好的方法来导入现有的数据存储库,并在没有现有密钥的情况下将其一次性加密给用户。

现在我们可以了。

使用私钥旋转,服务器进程可以为用户生成密钥,将他们的数据加密到公钥,并将解密委托给公司。私钥是加密的,并使用一种在IronCore和我们的客户之间分割信任的模型进行托管。

这个过程会使用户的密钥处于部分泄露状态。服务器系统已经看到了这些用户的私钥,如果有人设法获取了这些密钥,那么用户的数据就会受到损害。注意,在这个时间点,服务器可以看到纯文本,所以我们主要关心的是数据的未来更改。

现在,当用户第一次登录时,如果他们的密钥是为他们生成的,那么他们的私有密钥将被旋转。他们仍然可以访问之前加密的数据,但任何存储他们初始私钥的服务器都会发现它毫无用处。

所有这些都是在底层完成的,所以用户不需要做任何特殊的事情,甚至不需要知道密钥来保证他们的数据安全。

额外的功能

性能

去年,我们在SaaS Shield和数据控制平台的性能上投入了大量精力。

对于SaaS Shield,我们将租户安全代理从NodeJS迁移到Rust,并看到了60%的速度提升。然后,我们在客户端和服务器端添加了对批处理操作的自动多线程支持。

我们更新了数据控制平台的rust库,以添加异步接口和非阻塞I/O,因此嵌入应用程序可以利用其任务中的并行化来实现更高的性能和吞吐量。我们的大多数sdk都派生自这个库,因此它们提供了类似的性能提升机会。

最后,对于数据控制平台,我们添加了公钥的客户端缓存,以便大型批量加密操作(例如初始导入)可以在不进行网络调用的情况下重用公钥。使用缓存密钥和线程模式运行时,我们现在每次加密操作的吞吐量约为10ms。我们还提供了原始的基准测试结果,以及关于如何自己运行基准测试的库的说明。

Protobuf支持

我们在数据控制平台中添加了对protobuf的支持,并在这些protobuf中添加了对数据进行分类的机制。这与策略特性相吻合,并允许在protobuf定义级别对数据进行分类。

内存保护

加密库保存了支撑我们大多数产品的加密例程,获得了内存保护技术。在受支持的平台上,在可能的情况下,我们能够防止存储私钥和纯文本的内存作为内存交换或核心转储的一部分被写入磁盘。这可以更好地保护那些只打算在内存中短暂存在的秘密。

回顾和展望

读完所有这些更新和新功能,我为我们所取得的成就感到兴奋。我们的团队根据客户的反馈花了很多时间来改进我们的产品。

数据控制平台和SaaS盾产品是软件公司面临的许多现代数据隐私挑战的答案。随着这些挑战的发展,我们的产品线也在不断发展。我们致力于倾听客户的意见,向行业同行学习,建立一家专注于通过数据控制让世界变得更安全的公司和运动。

如果您正在寻求提升您的数据隐私游戏或构建以隐私为核心的下一个应用程序,我们希望听到您的声音。大家一起说

咸哈希

关于构建安全…的提示、技巧、指针和观点…

多亏了Riah所罗门而且鲍勃墙

写的

学者、梦想家、创造者、冒险家、黑客、领导者和观察者。倡导隐私和安全。IronCore Labs首席执行官。

咸哈希

关于构建安全、可测试、可维护的应用程序的提示、技巧、指针和观点。IronCore实验室对安全和隐私的思考和观察。

写的

学者、梦想家、创造者、冒险家、黑客、领导者和观察者。倡导隐私和安全。IronCore Labs首席执行官。

咸哈希

关于构建安全、可测试、可维护的应用程序的提示、技巧、指针和观点。IronCore实验室对安全和隐私的思考和观察。

媒介是一个开放的平台,让1.7亿读者来这里寻找有见地和动态的思维。在这里,专家和未被发现的声音都潜入任何话题的核心,并带来新的想法。了解更多

关注你感兴趣的作家、出版物和话题,你会在你的主页和收件箱里看到它们。探索

如果你有故事要讲,有知识要分享,有观点要提供——欢迎回家。在这个网站上发表你对任何话题的看法都是很容易和自由的。开始写博客

使用Medium应用程序

一个写着“在应用商店下载”的按钮,如果点击它将引导你进入iOS应用商店
一个写着“开始吧,谷歌Play”的按钮,如果点击它,就会引导你进入谷歌Play商店