知识卡片

配置仓库存密钥的加密方式取舍

专业/工作 · 520.e

内容

把数据库密码这类密钥直接明文写进配置仓库肯定不行,但又想保留”配置即代码、变更可追溯”的好处,折中方案是把值加密后存进仓库,由配置服务器在读取时解密再下发给应用。对称加密实现简单,配置服务器自己持有一把密钥既加密又解密,但这把密钥本身的分发和保管就成了新问题,且强依赖传输链路(HTTPS)本身的安全性;非对称加密用公钥加密、私钥解密,私钥可以只留在配置服务器不对外流通,安全性更强,但多了一套密钥对的生成、轮换、管理成本。发散:这本质是所有”给静态存储的敏感数据加密”场景共有的取舍——加密强度和密钥管理复杂度总是成正比,选型时要问的不是”哪种更安全”,而是”我的团队有没有能力把更复杂的密钥管理流程跑起来”。

参考来源

《Cloud Native Spring in Action》第14章《Configuration and secrets management》