
解决现代隐私挑战的新方法
IronCore Labs产品更新
在过去的12个月里,IronCore不断推出新产品、新功能、在性能、可用性等方面取得重大飞跃。
如果你喜欢我们,可能会发现这几天很难远离新闻的洪流。在2020年的旋风中,我们想退后一步,并回顾过去一年我们的产品线。
新产品名称
我们最近更改了一些核心产品的名称,以承认它们已经超越了原来的用例,增加了新的功能。
数据控制平台
我们的零知识sdk,支持基于加密的访问控制,我们曾经把它称为端到端加密工具包,现在是数据控制平台。我们做这个改变有几个原因,但其中之一是,虽然我们所做的基本上是由密码学驱动的,但我们也不止于此。例如,我们非常强调审计跟踪、数据管理策略和其他方面,这些方面使数据所有者能够控制他们的数据。

除了通常认为的端到端加密场景中的客户端用例外,我们还支持服务器端加密和解密,两者的混合。通过扩展名称的范围,我们希望人们能够考虑更广泛的用例,在这些用例中,他们希望严格管理和保护数据。
SaaS Shield™️
我们的SaaS客户管理密钥产品现在被称为SaaS Shield。与我们的核心平台一样,我们扩展了产品的功能。我们支持客户持有的加密密钥,并且我们将很快发布对SaaS客户安全日志基础设施的近实时日志流的支持。这个日志流将首先包括数据访问事件,但很快就会加入其他出于安全性和遵从性原因而感兴趣的事件,比如对用户、组和权限的更改。
数据控制策略和编辑器
我们的数据控制平台的一个常见用途是确保只有特定的用户和系统可以看到特定类别的信息。我们的核心是通过公钥加密和组来实现这一点。但在更复杂的系统中管理团队可能会很麻烦。所以我们去年发布了政策的最初版本。

数据控制策略允许您用敏感性级别(可定制,但例如,低/中/高或公共/私有/受限)和类别(也可定制,但例如,HR/Finance/Legal/Health)标记数据。
然后,您可以确定哪些用户(员工甚至客户)应该能够访问灵敏度和类别的每个组合。
直到最近,建立这些策略规则还意味着手写配置文件。我们很高兴地宣布,我们现在有了一个图形化的策略编辑器,管理员可以用来创建和维护他们的数据策略。

加密字段搜索

在数据控制平台中,IronCore现在支持对加密数据的搜索和过滤,包括子字符串搜索。
这是一个巨大的交易。
当我们告诉人们应该加密和控制他们的数据时,我们听到的最常见的事情之一是担心它将变得无用。例如,加密客户的家庭住址听起来很棒,直到有一个企业原因需要有人提取生活在特定城市的所有客户的记录。
以前,您需要维护一个单独的索引,以根据特定属性查找记录(这可能泄露大量敏感数据),或者在客户机中提取所有记录并对它们进行解密和过滤。现在,搜索和筛选操作可以在服务器上进行,而服务器看不到任何未加密的数据。
此功能专门用于搜索通常持有少量数据的字段(大致从单词到段落的段落)。Ironcore尚不支持用于更大的文本大小的安全加密搜索方法,例如完整的文档搜索。
扩展语言和平台支持
我们的目标是,没有任何理由不严格控制和保护私有数据。我们认为这就是现代应用程序的构建方式,我们希望每个人、每个地方都能使用它。
这么做,你不应该相信我们。这意味着我们,IronCore实验室,永远不应该有访问或访问任何人的私人数据的能力。我们从未见过明文数据或私钥,这意味着所有加密和解密操作都发生在客户机设备上或我们客户的基础设施内。因此,我们必须支持各种平台和语言。
我们努力建立广泛的支持。我们已经投入了大量的时间、金钱和精力来使我们的图书馆便携化。下面是我们目前的支持列表。如果您的首选语言或平台没有在下面列出,请与我们联系。
数据控制平台语言支持
在过去的一年里,我们扩大了我们的语言支持,现在我们支持所有这些语言:
- 生锈
- Java
- Scala.
- 打印稿
- JavaScript
- C ++
- 斯威夫特(β)
我们支持以下平台:
- 网页浏览器(带有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%的提速。然后,我们在客户机和服务器上添加了对批处理操作的支持,并使用自动多线程。
我们更新了数据控制平台的锈库,添加了异步接口和非阻塞I/O,因此嵌入应用程序可以利用其任务中的并行化来实现更高的性能和吞吐量。我们的大多数sdk都来自这个库,因此它们提供了类似的性能提升机会。
最后,对于数据控制平台,我们添加了公钥的客户端缓存,以便大量批量加密操作(例如初始导入)可以在不进行网络调用的情况下重用公钥。通过缓存键和在线模式运行时,我们的吞吐量现在约为10ms,每次加密操作。我们还提供了对我们库的库的原始基准结果和说明,了解如何自行运行基准。
Protobuf支持
我们在数据控制平台中添加了对protobufs的支持,以及在这些protobufs中对数据进行分类的机制。这与策略特性相吻合,并允许在protobuf定义级别对数据进行分类。
内存保护
Recrypt库,该库,其持有加密例程,该程序在大多数产品中获得了存储器保护技术。在支持的平台上,在可能的情况下,我们能够防止将私钥和纯文本的内存作为内存交换或核心转储的一部分写入磁盘。这更好地保护唯一的秘密,这些秘密是简单的。
回顾过去,展望未来
阅读了所有这些更新和新功能后,我为我们所取得的成就感到兴奋。我们的团队花了大量的时间基于客户的反馈来改进我们的产品,这一点很明显。
数据控制平台和SaaS Shield产品是软件公司面临的许多现代数据隐私挑战的答案。随着这些挑战的发展,我们的产品线也在发展。我们致力于倾听客户的意见,向行业同行学习,建立一家专注于通过数据控制让世界变得更安全的公司和运动。
如果你想提升你的数据隐私游戏,或者构建你的下一个以隐私为核心的应用程序,我们希望听到你的意见。让我们谈谈。