目录
密钥硬编码的定义:
指在代码、配置里硬编码密码/明文密码在配置文件中,但是不论是通过 AES 加密过的密码,还是将明文密码存储在远程配置文件中,都属于硬编码密钥。
常见的密钥硬编码场景:
- 密钥放在环境变量
- 密钥加密存储在代码里
- 密钥放在服务器外部
代码形式:
String pass="fadfdafad"
# Password key pwd pass jdbc encryption key Cipher key 等关键字搜索
防护核心:
核心点在于密钥需要和代码和开发人员分离,尽可能少的让密钥被人接触到。(只是减缓因人导致的安全风险,无法杜绝研发人员恶意通过各种手段去获取到真实Key并利用。)
安全策略:
密钥的安全策略中,密钥分层、密钥定期更换是最重要的防护策略,因为你无法知道在何时何处密钥泄漏过,因此定期更换密钥能降低风险。