加密存储

问题描述

企业通常拥有自己的数据分类策略。存储的数据类型通常包括(但不限于):财务、个人、健康和机密业务数据。一些企业(尤其是金融和医疗保健行业)为了符合区域法律法规,对数据有严格的要求。

例如,PCI DSS 要求 3.4 规定,信用卡支付详情在任何持久存储的地方(包括便携式数字媒体、备份媒体和日志)都必须变得不可读。与这些类型的数据交互的应用程序(包括数据库后端)需要在应用程序启动并与这些数据类交互时能够指定加密存储要求。数据必须在传输过程中和静态时都进行加密。应用程序不应需要管理员权限来指定或访问加密存储。

此外,需要建立适当的密钥管理流程。用于加密/解密数据的密钥必须定期轮换,并且密钥的访问权限仅限于授权人员。

用户故事

  • 作为企业 IT 经理,我必须确保 HR 部门数据库的适当安全性,该数据库包含服务于多个应用程序的员工记录。我想将数据库迁移到我们公司的 OpenStack 私有云,这样我就不需要维护它当前所在的系统。但是,由于数据库中信息的敏感性质,我们公司的政策不允许这些信息以未加密的形式驻留在任何共享系统上。为了能够将数据库迁移到私有云,我需要确保持久存储的数据以及进出实例的所有数据都经过加密。虽然 HR 部门希望提高数据库的正常运行时间,但他们已经习惯于根据需要手动重启/重新启动,并且也可以在云中接受这种方式。
  • 我是保险公司的企业 IT 经理。我的公司维护一个数据库,其中包含保险人的信用卡记录,用于年度续订目的。我们公司希望将数据库迁移到我们的 OpenStack 私有云。为了符合公司数据分类政策、政府法律和金融法规,我需要确保存储在私有云中的信息(包括备份)在传输过程中和静态时都经过加密,并且用于加密数据的密钥每年轮换一次。

用例示例

无。

机会/理由

无。

需求

  • 一种块和对象存储解决方案,可在实例源处启用加密/解密
  • 一种块和对象存储解决方案,可为静态数据启用加密/解密
  • 一种方法,允许应用程序指定它需要包含实例加密/解密的块存储系统
  • 一种方法,用于在特定时间段后轮换用于加密/解密数据的密钥
  • OpenStack 服务,用于强制执行应用程序的存储要求
  • 应用程序需要能够指定它需要一种加密存储系统,该系统支持实例加密/解密,以及静态加密/解密。

差距

Cinder 问题: * 存储加密功能存在,但需要管理员状态。创建加密卷不应需要管理员状态。 * 加密密钥在创建时设置,但是不清楚如何在卷使用后轮换密钥。轮换密钥是许多数据存储标准的要求。

Swift 问题: * 目前,应用程序负责在调用 PUT 操作之前加密对象,swift 将存储 PUT 请求中的任何对象。Swift 应该拒绝被应用程序标记为加密的对象 PUT 操作。 * 数据静态加密解决方案目前正在开发中,但是,这并不能解决传输中数据的问题。

受影响

  • 在香港峰会上,有一个 演讲 关于 barbican/cinder/nova 这种功能类型。不知道它是否已成功集成到 OpenStack 中。
  • 有一个 卷加密规范 用于一些早期工作,并且 当前文档 表明需要管理员权限。
  • 有一个 对象加密规范,其中记录了对象加密方法(静态加密)。

外部参考

无。

术语表

  • 传输中数据 - 实例与存储系统之间传输的数据
  • 静态数据 - 存储在存储系统上的持久数据

目录

上一主题

配额、使用计划和容量管理

下一主题

高规模媒体电信应用

项目源代码

此页面