需要解密还原的数据——3种典型场景的存储加密方案。
场景1:线上服务实施存储的的敏感字段信息
- 敏感字段采用AES256算法加密
- 密钥保管于特定文件,由负责该系统发布的运维人员生成并代填
- 禁止开发和运维人员申请和使用与敏感字段密文相关的数据库权限
- 为线上服务容器和密钥文件设置单独的运行账户和权限,禁止开发人员和数据库管理员申请和使用该权限
- 针对相关权限、密钥文件和数据密文建立操作监控和审计能力
场景2:敏感数据备份文件加密
- 由负责备份恢复的运维人员生成-对RSA2048公私钥,私钥由其自己保管。
- 备份脚本随机生成AES256密钥,并使用RSA2048公钥加密AES256密钥,RSA2048 公钥可以硬编码在备份脚本中。
- 备份脚本使用AES256算法和随机生成的密钥加密备份文件。
- 将AES256算法加密后的备份文件和R8A2048公钥加密后的AES256密钥一起传送至各份中心。
- 设置文件权限,仅允许运维人员访问职责范围内的备份文件和密钥密文。
- 如果需要解密备份文件,运维人员先使用RSA2048私钥解密出AES256密钥,再用AES256密钥解密备份文件密文。
场景3:高敏信息的存储(牺牲便捷换取安全可控)
- 针对每条敏感信息随机生成一个AES256工作密钥,并使用此密钥加密。
- 由数据安全团队生成一-对 RSA2048公私钥用作保护密钥,RSA2048 公钥可以硬编码在应用程序代码中。
- 使用RSA2048公钥加密AES256工作密钥,并且将工作密钥密文和相应的敏感数据密文关联保存。
- 由数据安全团队生成一-对 AES256主密钥,使用该密钥加密RSA2048私钥,RSA2048 私钥密文以文件形式保存于相关的业务服务器。
- AES256主密钥仅由数据安全团队指定人员保管维护,并由其在业务服务启动时人工输人并常驻内存。
- 业务解密流程是先使用常驻于内存的主密钥解密RSA2048私钥,再用RSA2048私钥解密AES256工作密钥,最后用AES256工作密钥解密敏感数据密文。钥解 片
- 禁止AES256主密钥持有人员申请或使用除业务服务启动时输人主密钥以外的任何业务相关权限
- 针对权限、密钥操作、密钥文件、数据密文和主密钥相关代码,建立操作和代码方面
监控和审计能力。
加密不需要还原的数据
散列算法——SHA512
散列算法——bcrypt
脱敏方法