如何进行数据加密和密钥管理

您所在的位置:网站首页 简述基于证书的密钥管理方案有哪些 如何进行数据加密和密钥管理

如何进行数据加密和密钥管理

2024-07-09 23:47| 来源: 网络整理| 查看: 265

使用云上密钥管理服务

云服务商都会提供密钥管理服务。例如,阿里云KMS密钥管理服务提供专业的密钥生命周期管理和数据加解密,可以帮助您简化应用系统接入流程。关于阿里云KMS密钥管理服务的更多信息,请参见什么是密钥管理服务。

在应用系统开发部署的供应链流程中,任何一个环节对敏感密钥的硬编码都有可能导致泄露风险。通过使用云上密钥管理服务,您可以在应用开发、测试、构建等生命周期流程中使用统一方式进行密钥的读写,避免硬编码出现。同时,云上的密钥管理服务支持自动化的密钥轮转能力,进一步降低了敏感信息泄露传播的安全风险,同时也可帮助企业应用满足合规需求。

使用Secret Store CSI driver

应用消费密钥的方式通常是从指定文件系统路径或是从环境变量读取,使用Secret Store CSI driver可以帮您解决如何将云上KMS服务中的密钥信息导入到应用Pod容器内的指定路径的问题。

K8s社区基于CSI存储标准扩展实现了secrets-store-csi-driver,用于将存储在外部密钥管理服务中的密钥以Volume存储卷的形式挂载到应用Pods中。当Volume完成attach挂载后,密钥信息将以文件系统的形式在容器中使用,无需创建K8s Secret实例。从而避免了etcd中出现明文Secret信息,避免大规模场景下的Secret堆积,同时应用可以保持原先的文件路径方式读取密钥,避免通过KMS服务接口形式获取密钥带来的额外改造代价。

基于该插件机制,各云服务商可以实现自己的Provider对接不同的后端密钥管理服务,例如,阿里云的secrets-store-csi-driver-provider-alibabacloud,在集群中部署该插件,可以方便地将阿里云KMS凭据管家中保存的密钥凭据以文件或K8s Secrets实例两种方式同步到应用容器中,同时支持后端凭据修改后的同步更新能力,保证业务容器中密钥信息的实时性。为解决最后一把密钥的问题,由于插件需要调用KMS凭据管家服务的权限,您可以通过使用RRSA方案,保护插件对KMS服务请求的凭据,RRSA方案将KMS凭据的请求权限绑定在插件使用的独立ServiceAccount上,避免将权限泄露给应用Pod。

开启etcd落盘加密

etcd是K8s集群默认的后端存储系统,Secrets在etcd中以Base64明文编码的形式存储,存在一定的安全风险。尤其在云服务商提供的托管集群形态下,etcd维护在云服务商侧,基于云上安全零信任原则和很多应用场景下的合规要求,推荐您使用K8s提供的etcd落盘加密,选择使用阿里云KMS服务中管理的密钥在Secret数据落盘流程中以信封加密的形式加密数据,同时在读取Secret信息时自动解密。配合使用自动轮转密钥可进一步提升数据安全性。

使用机密计算容器

对于对数据安全性有严格要求的场景,例如金融支付、隐私认证或涉及知识产权的核心数据计算,除了保证这些核心敏感信息在读写和传输过程中的安全性,还需要保证机密信息在云上节点内存运算和存储过程中的安全可信。在此场景下推荐使用阿里云ACK-TEE机密计算集群,ACK-TEE可以基于底层硬件加密技术在容器应用实现一个可信执行加密环境,保证机密信息在云端代码使用过程中的完整性,实现数据全生命周期的安全可信。同时,应用系统核心密钥也可以存储在可信的隔离环境Enclave中,实现类似KMS HSM的能力,减少密钥传输链路。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3