Element 驱动器加密的工作原理是什么?
适用于
- NetApp Element 软件
- 所有 NetApp SolidFire 存储节点
- 所有 NetApp SolidFire SSD
回答
如何创建加密密钥
- 每个驱动器都有一个"批量加密密钥",驱动器密码保护(加密)该密钥。 我们实际上并不自己设置密钥,而是管理驱动器密码
- 我们从驱动器密码创建一个 Shamir 共享,并将其分散到集群中。 因此,这是每个驱动器一个密钥,具有跨集群拆分的共享密码
更改密钥的过程
密码(通常称为密钥,但它们不是加密密钥,它们是解锁驱动器的密码)。密码加密"批量密钥",然后用于加密驱动器上的每个字节。由于密码仅加密"批量密钥",因此可以快速设置和更改密码。 密码由我们在整个集群中安全存储,因此它们不会存储在驱动器上,也不会存储在单个节点上,并且不会以完整形式在网络上传输。可以通过禁用我们的加密功能,然后重新启用来重置该密码,这只需几分钟
- 上述过程将更改集群中每个驱动器的驱动器密码
- 如果客户需要重置驱动器上的实际加密密钥,则必须对驱动器执行"安全擦除"操作,这意味着丢弃"批量密钥"并生成新密钥。我们系统中更改"批量加密密钥"的过程添加了删除/添加驱动器的步骤,以便迁移和保护数据(否则数据将会丢失)
存储存档密钥的过程
驱动器的密码不会存档,而是存储在整个集群中,并且至少需要 2 个以上的节点才能组装密码和解锁驱动器
交换或传输密钥的过程
当前,密钥管理在本地处理,无法从外部传输/交换
撤销密钥的过程
可以通过禁用加密功能然后重新启用来重置批量密钥的密码,此过程需要几分钟的时间。这将重置批量密钥密码
对于单个驱动器的密钥轮换:
- 通过 UI/API 从集群中"移除"驱动器,使其处于可用状态
- 在驱动器上使用安全擦除 API 命令
- 这将强制驱动器擦除加密数据,丢弃旧密钥并生成新密钥
- 然后将驱动器重新添加到集群中
- 这可以通过脚本实现自动化
使用了哪些加密算法?
目前,SolidFire 的大多数加密都是通过 OpenSSL 实现的。使用 Skein 和 Shamir Share。Shamir Share 是由 Adi Shamir 创建的加密算法。它是一种秘密共享的形式,其中秘密被分成若干部分,为每个参与者提供其独特的部分,需要其中部分或全部才能重建秘密
使用了什么加密强度?
AES-256 是 SolidFire 使用的标准化加密规范
证书使用的位长度是多少(如适用;应为 2048 位或更高)
目前,SolidFire 不使用外部生成并导入到具有 2048 位密钥或更高密钥的模块的证书
显示加密设置当前配置的屏幕截图
SolidFire 使用自加密驱动器。可以打开/关闭全集群静态数据加密,而不会对集群造成任何性能影响。请参阅 SolidFire Element 软件用户和 API 指南
集群 GUI > 设置 > 静态加密 > 启用静态加密

追加信息
静态数据(驱动器加密)
|
层 |
算法 |
模式 |
密钥大小 |
|
驱动器数据加密 |
AES |
XTS |
256 位 |
|
DEK 包装(密钥存储) |
AES |
GCM |
256 位 |