安全岗位面试题更新 2026-08-05

在一个 GitHub 文档翻译工具项目中,如何确保用户提交的 API Key 在存储环节的安全性?请描述具体的存储方案。

风险判断安全意识技术选型

考察说明

考查对敏感信息(如 API Key)安全存储的实践理解,包括加密、访问控制和环境隔离。

回答思路

  1. 【回答框架 1】API Key 属于高敏感凭证,不能以明文形式写入数据库或配置文件。首选方案是使用环境变量或专用的密钥管理服务(如 AWS Secrets Manager、Vault)存储,避免硬编码在代码仓库中。
  2. 【回答框架 2】若必须持久化到数据库,应对 API Key 进行加密存储。推荐使用对称加密算法(如 AES-256)进行加密,加密密钥通过 KMS 或硬件安全模块(HSM)管理,并定期轮换。同时利用哈希存储用于校验,但注意哈希不等同于加密,不可逆场景需区分。
  3. 【回答框架 3】访问控制方面,数据库账户应遵循最小权限原则,应用服务仅拥有读取所需字段的权限。日志记录需脱敏,避免 API Key 出现在访问日志或异常堆栈中。
  4. 【回答框架 4】在传输过程中,必须启用 TLS/HTTPS 加密,防止数据在客户端和服务端之间明文传输。应用内部也应避免将 API Key 传递给不必要的第三方服务。
  5. 【关键点 1】优先使用环境变量或密钥管理服务存储 API Key,避免硬编码。
  6. 【关键点 2】数据库存储应使用 AES-256 等强加密算法,密钥由 KMS 管理并定期轮换。
  7. 【关键点 3】实施最小权限访问控制,确保日志脱敏,并全程使用 TLS 加密传输。
  8. 【易错点 1】仅使用 Base64 编码或简单哈希不能视为安全加密,容易遭到逆向或彩虹表攻击。
  9. 【易错点 2】将加密密钥与应用代码放在同一仓库或服务器上,一旦代码或服务器被攻破,密钥随之泄露。
  10. 【易错点 3】忽视日志脱敏,导致 API Key 通过日志间接暴露。