对于需要高级别密钥安全性保证的场景,密钥可以由中间服务加载,该中间服务代表应用程序加密和解密数据。 这意味着业务应用程序永远不会收到密钥,因此可以更好地保证密钥没有泄露或泄露。 像这样的解决方案的影响是每个受保护数据的序列化,传输和反序列化所涉及的计算和网络开销。 这种方法不适用于除了琐碎的系统之外的所有系统。
图06:一个简单的应用程序,它提取关键操作以提高密钥的安全性。
数据和密钥具有同等重要的价值
解密数据和解密密钥都表示相等的值。泄露的解密数据的影响通常会传达财务,声誉和法律风险。如果泄露了解密密钥,则无法自信地应用加密破碎。如果密钥存在于某处,则加密的个人数据是可恢复的,因此不符合被遗忘权的要求。
个人数据和解密密钥都非常有价值,需要加以保护。因此,将解密密钥与减轻前一示例中的计算和网络负载的应用程序共享是切实可行的。
但是,密钥遍历的范围不应超过内部处理。在与第三方交互时,应共享解密数据,因为客户密钥不应离开组织。第三方可以使用自己的密钥库实现自己的加密碎化实现。如果GDPR适用,它负责确保第三方遵守GDPR要求的组织。
图07:组织是密钥和加密数据的边界。第三方应该接收解密数据 - 它们也可能实现密钥粉碎,但它应该使用自己的密钥。
数据保护服务是可选的,但在较大的应用程序中,它的作用是对关键用途的抽象和审计。
查询数据
由于每个记录都使用自己的密钥进行单独加密 - 持久层无法访问 - 因此查询数据集变得极其困难且性能也很差。为了找到1980年代出生的所有客户,有必要解密每条记录的出生日期字段以识别匹配的客户。这将需要相当于数据库中记录数量的许多密钥。
加密粉碎的目的是让我们有效地擦除个人数据而不必改变历史档案。它不是试图保护静止或传输中的数据 - 还有其他技术可以实现这一目标。
如果数据未持久保存到任何形式的长期备份或存档,则以未加密的形式维护数据是合理的。因此,我们可以将未加密形式的数据复制到系统的缓存层。可以针对此缓存层执行查询。缓存层可以是或可以不是主存储器下面的相同存储技术。
图08:客户数据的解密副本。 这不应该长期存储。
缓存层和主存储库之间的主要区别是可变性和持久性。 应用程序不应直接写入缓存。 只有在数据以加密形式成功写入主存储时,才应更新缓存。 这可确保可以从主存储重建缓存,因此不需要长期持久性。 如果缓存失败,则可以重建它而不会丢失任何数据。 出于可用性目的,应该使用与主存储相同的高可用性要求来处理缓存层。
实现缓存可能看起来像最终的一致性架构。 构建缓存将需要访问密钥来解密数据。
图09:包含用于查询操作的解密数据存储的体系结构中的组件之间的数据流。
对于对最终一致性具有较低容忍度的应用程序,可能需要在大多数时间从主存储中读取。仍然需要对缓存层执行查询,但可以从主存储加载结果。
如果对最终一致性没有容忍度,则应用程序可以在单个分布式事务中写入主存储和缓存。这为应用程序层增加了相当大的存储和事务复杂性。现代系统应该旨在避免这种情况。
分析处理
大多数组织都需要对个人数据进行分析处理。在这些情况下,需要解密数据以构建数据仓库。要实现被遗忘的权利,数据仓库填充过程应检测并删除已删除的个人数据。由于数据仓库将存储解密的个人数据,因此应遵循与密钥存储类似的保留做法。数据仓库应避免存储无法从主存储重建的任何数据。
图10:使用解密的客户数据填充数据仓库的过程。
对于事务处理,可以使用高速缓存来促进数据的查询。 这需要一个完全填充的缓存。 然后,这个相同的缓存将用于重建数据仓库 - 而不是还需要加载密钥和解密记录的ETL。 这将减少处理时间以及密钥库上的耦合。
图11:使用缓存填充数据仓库,减少处理。
其他处理注意事项
法律保留和限制处理
可能存在有效擦除个人数据不可行的情况。这种情况可能涉及法律诉讼,其中法律要求组织保留个人数据,而不管被遗忘的权利如何。在某些情况下,可能有必要在不删除数据的情况下阻止对个人数据的任何进一步处理。
GDPR承认可能无法行使被遗忘权的少数案件,例如:
......不适用于必要的处理范围
(b)遵守法律义务......
(e)设立,行使或辩护法律索偿。
GDPR:第三章,第17条,第3点
GDPR规定客户可以请求暂停数据处理,但数据可能不会被删除。
数据主体有权从控制器获得处理限制......
GDPR:第三章,第18条,第1点
为了解决这些情况,可以修改密钥存储以跟踪被遗忘的权利是否被搁置,或者处理是否受到限制。
图12:用于跟踪受限处理和数据保留保留的示例数据结构。
在此实现中,受限制处理意味着不应使用密钥来解密客户数据以进行正常的日常处理。 它应该只用于解决限制。 保持意味着无法从密钥库中删除密钥。 相反,这也意味着不应从主要商店中删除客户数据。 限制处理和保持可以独立运行 - 也就是说,一个不会强制执行另一个。
图13:处理和保留的限制。
恢复已删除的数据
虽然被遗忘的权利强制个人从组织中删除其数据的权利,但GDPR还对组织提出了保护数据完整性的要求。
“个人数据应采用以下方式处理:使用适当的技术或组织措施(”完整性和机密性“),确保个人数据的适当安全性,包括防止未经授权或非法处理以及意外丢失,破坏或损坏。 “
GDPR:第二章,第5条,第1f点
可以实现被遗忘的权利,同时还使用户能够恢复其数据。这可能适用于客户帐户遭到入侵,提交恶意删除请求或仅仅为客户提供改变主意的时间窗口的情况。
当收到被遗忘的请求权时,组织必须有效地删除数据而不会有不适当的延迟。组织可以通过使用仅为用户知道的短语加密客户密钥来实现此目的。随着时间的推移,组织可以删除加密的密钥,从而消除数据的任何可恢复性。
删除请求后,密钥库可能如下所示:
图14:用于跟踪可恢复删除请求的数据结构示例。
密钥已被删除,并标记为删除。密钥以加密形式存储,其中只有用户知道解密短语。为了防止恶意删除请求,应该生成该短语并通过现有的可信信道(例如,经过验证的电子邮件地址)发送给用户。要恢复用户的数据,将对解密和恢复加密密钥,允许应用程序再次读取客户数据。如果删除日期未恢复密钥,则应删除密钥以及客户的数据。
在原始删除请求的每一点上,组织都有效地擦除了客户的数据 - 因为它无法处理数据。虽然逻辑控制可以实现类似的结果,但它不符合GDPR的要求,它强制执行删除处理而没有不适当的延迟。
真实世界的加密切碎
加密粉碎是一个相对较新的概念,由不断变化的技术和政治环境驱动。数据保留的加密粉碎解决方案解决了GDPR的几个技术上困难的要求。它还为应用程序如何使用和分发个人信息带来了广泛的挑战。每种技术解决方案都有其自身的优点,并将以不同方式满足法规遵从性。加密粉碎应该在法律要求和技术能力之间取得平衡,因为它带来了显着的技术复杂性。随着实施开始存在和发展,加密粉碎和类似解决方案可能会变得司空见惯,就像前几年密码散列和信用卡数据加密一样。加密粉碎是另一种保护现代系统和社会数据的技术。
免责声明:您应该检查您的法律义务以及您的技术实施如何与法律专业人士保持一致。本文不是关于如何实现GDPR合规性的法律建议。
本文:http://pub.intelligentx.net/node/559
讨论:请加入知识星球或者小红圈【首席架构师圈】
最新内容
- 14 hours ago
- 16 hours 53 minutes ago
- 17 hours 8 minutes ago
- 3 days 8 hours ago
- 3 days 16 hours ago
- 3 days 16 hours ago
- 3 days 17 hours ago
- 3 days 17 hours ago
- 1 week 1 day ago
- 1 week 1 day ago