大规模实施应用级加密:Atlassian使用AWS和Cryptor的见解

Atlassian在AWS上大规模实施应用级加密的解决方案

Atlassian最近发布了一篇关于如何在AWS上大规模实施应用级加密(ALE)的文章,展示了其如何在高缓存命中率和低成本的情况下实现这一目标。该解决方案运行在超过12,500个实例上,管理着1,540多个KMS密钥,每天执行超过110亿次解密和8.11亿次加密,每月成本仅为2,500美元,而使用简单解决方案的潜在成本可能高达100万美元。

Cryptor加密库

Atlassian开发了名为Cryptor的加密库,以满足其在大规模多区域环境中应用级加密的特定需求。Cryptor是对AWS加密SDK的轻量封装,旨在提供自动密钥管理、高可用性、分布式缓存和软限制执行等功能,以支持大规模操作。开发者可以将Cryptor作为库或边车(sidecar)集成,并通过HTTP和gRPC API暴露其功能。

应用级加密的优势

Atlassian的首席开发人员David Connard解释了为何Atlassian选择尽可能实施应用级加密。ALE的核心优势在于敏感数据在存储之前被加密,只有在使用时才解密(即在应用程序代码中使用时)。即使攻击者获得了数据存储的访问权限(或历史副本,如备份),也无法自动访问敏感数据。

实施ALE的挑战

实施ALE也带来了一些操作上的挑战。实施者必须确保不会失去解密数据的能力,加密密钥的集成必须始终受到保护,同时工程师还需要考虑加密对性能的影响,因为ALE会增加应用程序的计算负担。

信封加密技术

Atlassian的ALE核心是信封加密(Envelope Encryption)。这是一种用于保护数据的加密技术,通过使用“数据密钥”加密数据,然后再使用“根密钥”加密数据密钥,最后将加密后的密文和加密后的数据密钥打包成“信封加密载荷”并持久化到数据存储中。

信封加密的优势

与直接使用根密钥加密相比,信封加密的优势在于每个数据密钥仅用于少量数据,加密材料可以缓存并跨多个加密请求重复使用,同时允许使用快速的对称加密算法。

AWS加密SDK的限制

虽然AWS加密SDK很好地支持了信封加密,但该SDK主要设计用于单区域场景,而Atlassian的用例涉及多区域环境,KMS密钥存储和服务分布在多个区域。此外,AWS SDK在较低性能规模下强制执行严格的正确性,而Atlassian为了处理其大规模操作,不得不放宽一些限制并软性执行它们。

数据加密的其他考虑

Atlassian还对所有静态数据进行加密。然而,静态数据加密无法防御许多类型的数据泄露可能性,例如未能限制对数据存储的访问、授权应用程序在运行时对受限数据执行不安全操作,或员工出于调试或事件解决目的合法访问数据存储。

阅读 36
0 条评论