在对象存储领域,强大的加密是获得一席之地的必要条件。MinIO 凭借最高级别的加密以及广泛的优化功能提供了更多优势,这些优化功能几乎消除了通常与存储加密操作相关的开销。
MinIO 在数据存储到磁盘和通过网络传输时都会对其进行加密。MinIO 的最先进的加密方案支持使用现代的行业标准加密算法(例如 AES-256-GCM、ChaCha20-Poly1305 和 AES-CBC)进行细粒度的对象级加密。MinIO 完全兼容 S3 加密语义,并且还通过支持非 AWS 密钥管理服务(例如 Hashicorp Vault、Gemalto KeySecure 和 Google Secrets Manager)扩展了 S3。
当数据在对象存储和应用程序之间传输时,它可能会在任意数量的未知和/或不受信任的网络之间跳跃。在数据通过网络传输时对其进行加密(也称为“线路上”加密)可以成功地缓解中间人攻击,并确保数据在无论采取何种路由时都能保持安全。
MinIO 支持集群中所有组件之间的传输层安全 (TLS) v1.2+。这种方法确保了集群间或集群内加密流量中没有薄弱环节。TLS 是一种普遍的加密框架:它是在 https
中添加 s
的原因,并且与银行、电子商务网站和其他依赖数据存储加密的企业级系统使用的加密协议相同。
MinIO 的 TLS 实现已在 CPU 指令级别进行了优化,并且性能开销可以忽略不计。它只需要为集群中的每个 MinIO 服务器指定 TLS 私钥和公钥证书。对于 Kubernetes 环境,MinIO Kubernetes 运算符已将 TLS 证书生成和分配集成/自动到租户部署过程中。MinIO 支持多个 TLS 证书,其中每个证书对应一个特定的域名。MinIO 使用服务器名称指示 (SNI) 来确定为任何给定请求提供哪个证书。
存储在磁盘上的数据完全依赖于磁盘的安全性,并扩展到主机系统以确保数据的安全。MinIO 服务器端对象加密会在数据存储到磁盘之前自动对其进行加密(静态加密)。这种方法保证不会将任何未加密的数据写入磁盘。此基础安全层可确保静态数据的机密性、完整性和真实性。MinIO 支持客户端驱动的和自动的存储桶默认对象加密,以实现数据加密的最大灵活性。
MinIO 服务器端加密与 Amazon AWS-S3 语义 (SSE-S3) 兼容。MinIO 扩展了对 AWS KMS 的基础支持,以包括常见的企业 KMS 系统,例如 Hashicorp Vault 和 Thales Ciphertrust(以前称为 Gemalto KeySecure)。MinIO 还支持客户端驱动的加密 (SSE-C),其中应用程序可以指定一个数据密钥用于加密对象。对于 SSE-S3 和 SSE-C,MinIO 服务器都会执行所有加密操作,包括密钥轮换和对象的重新加密。
使用自动服务器端加密,MinIO 会使用唯一的密钥加密每个对象,并使用动态加密密钥和从外部 KMS 或客户端提供的密钥派生的密钥应用多层其他加密。这种安全而复杂的方法在 MinIO 内部进行,无需处理多个独立的内核和用户空间加密实用程序。
MinIO 使用认证加密方案 (AEAD) 对对象在写入或读取到对象存储时进行加密/解密。MinIO AEAD 加密支持 AES-256-GCM 和 ChaCha20-Poly1305 等行业标准加密协议来保护对象数据。MinIO 的 CPU 级优化(例如 SIMD 加速)可确保加密/解密操作的性能开销可以忽略不计。组织可以始终运行自动存储桶级加密,而无需被迫做出次优的安全选择。
MinIO 提供了一个内置的密钥加密选项。MinIO 的密钥加密服务 (KES) 是一种无状态且分布式的密钥管理系统,适用于高性能应用程序。它旨在在 Kubernetes 内部运行并将加密密钥分发到应用程序。KES 是 MinIO 服务器端对象加密 (SSE-S3) 的必需组件。
KES 支持 MinIO 集群上的加密操作,并且是确保可扩展和高性能加密操作的关键机制。KES 充当 MinIO 集群和外部 KMS 之间的中间体,根据需要生成加密密钥并执行加密操作,不受 KMS 的限制。因此,仍然存在一个中央 KMS 来保护主密钥,并在基础设施中充当信任根。KES 通过消除为每个应用程序集部署 KMS 的需要来简化部署和管理。相反,应用程序可以向 KES 服务器请求数据加密密钥 (DEK),或者请求 KES 服务器解密加密的 DEK。
由于 KES 服务器完全无状态,因此可以自动扩展,例如通过 Kubernetes 水平自动扩展器。同时,中央 KMS 上的负载不会显着增加,因为 KES 独立地为绝大多数应用程序请求提供服务。
对于 Kubernetes 环境,MinIO Kubernetes 运算符支持为每个租户部署和配置 KES,并在每个租户部署过程中启用 SSE-S3。