# 1. PostgreSQL pgcrypto 扩展的应用? A pgcrypto 提供哈希、加解密等函数,可用于字段级加密 ✓ 正确答案 B pgcrypto 只提供随机数生成,不提供加解密 C pgcrypto 是透明加密,应用无需感知密钥 D 使用 pgcrypto 加密的列仍可正常走索引和范围查询
# 2. 字段级加密(Column-Level Encryption)的实现? A 字段级加密会加密整张表的所有列 B 字段级加密后所有列仍可正常排序和聚合 C 字段级加密不涉及密钥管理,安全性完全由数据库保证 D 加密列通常无法直接做精确查找与范围查询,牺牲查询能力 ✓ 正确答案
# 3. 静态加密(Encryption at Rest),文件系统加密、透明数据加密(TDE)? A 文件系统加密在数据库层透明,能对表空间粒度控制 B TDE 会改变应用 SQL 和查询逻辑 C TDE 由数据库引擎自动加密数据文件与日志,对应用透明 ✓ 正确答案 D 静态加密只保护传输中的数据,不涉及磁盘存储
# 4. TLS 1.2 与 TLS 1.3 在数据库连接握手上的差异(1-RTT vs 0-RTT)及对连接建立延迟的影响? A TLS 1.3 用 1-RTT 完成握手,并支持 0-RTT 恢复降低延迟 ✓ 正确答案 B TLS 1.2 已支持 0-RTT,无需密钥交换 C TLS 1.3 握手比 TLS 1.2 需要更多往返 D 0-RTT 完全没有重放安全风险
# 5. 字段级加密与数据库 TLS 连接的算法选择(AES-256-GCM、ChaCha20-Poly1305)对性能与合规的影响? A AES-256-GCM 在支持 AES-NI 的 CPU 上性能优异,且合规认可度高 ✓ 正确答案 B ChaCha20-Poly1305 在 x86 服务器上通常比 AES-256-GCM 更快 C 字段级加密不需要考虑完整性校验,只需机密性 D TLS 1.3 不支持 AES-256-GCM 和 ChaCha20-Poly1305
# 6. MySQL InnoDB 表空间加密? A InnoDB 表空间加密使用单一密钥直接加密所有数据 B 采用 keyring 存储主密钥,主密钥加密表空间密钥,实现两级密钥 ✓ 正确答案 C 表空间加密后应用必须修改 SQL 才能访问数据 D 加密只覆盖数据文件,不覆盖 redo/undo 日志
# 7. 信封加密(envelope encryption)为什么用 KMS 主密钥加密数据密钥而非直接加密数据?轮换时只需 re-wrap 数据密钥的原理是什么? A KMS 主密钥直接加密所有业务数据,性能开销大 B 数据密钥永久不变,轮换只能重建整个数据库 C 主密钥只加密数据密钥,轮换时只需 re-wrap 数据密钥,无需重写数据 ✓ 正确答案 D 信封加密只有一层密钥,无法分离主密钥与数据密钥
# 8. 字段级加密与查询能力的矛盾,加密列无法走索引与范围查询,确定性加密(相同明文得相同密文)为何会引入泄漏与字典攻击风险? A 加密列可以正常建立索引并做范围查询 B 确定性加密使明文可重复,因此易受字典攻击和频率分析 ✓ 正确答案 C 非确定性加密最适合做等值查询,且无任何泄漏 D 保序加密不引入任何泄漏,可安全用于范围查询
# 9. 数据库 TLS 连接经过代理/负载均衡时的 TLS 终止(termination)与会话保持策略? A TLS 透传指代理解密流量,便于审计但暴露明文 B 高安全场景应默认使用 TLS 终止,牺牲端到端加密 C TLS 终止后代理能看到明文流量,代理需配合会话保持策略 ✓ 正确答案 D 代理无法支持 TLS 会话复用,只能重新握手
# 10. 静态加密(TDE/字段级加密)的密钥轮换频率与停机窗口、性能开销的工程权衡? A 主密钥轮换需重写全部数据,停机窗口长 B TDE 的性能开销无法通过硬件加速缓解 C 数据密钥轮换成本低,可以频繁执行而不影响数据 D 常采用主密钥定期轮换 + 数据密钥按需轮换的混合策略 ✓ 正确答案
# 11. 数据库加密的硬件加速(AES-NI、Intel QAT)对吞吐与延迟的实际收益与部署成本? A 硬件加速只影响延迟,不影响吞吐 B Intel QAT 是 CPU 内置指令,无需额外硬件即可使用 C AES-NI 只加速非对称加密,不适用于 AES D AES-NI 是 CPU 内建指令,成本低且显著提升 AES 吞吐 ✓ 正确答案
# 12. 数据库实例证书的自动化管理(ACME、Vault PKI)在 K8s 部署中的挑战与最佳实践? A 证书应一次签发长期有效,避免频繁轮换 B 证书轮换时必须重启数据库,无法热加载 C ACME 的 HTTP-01 challenge 完全适用于内部无公网服务 D 用 cert-manager/Vault PKI 自动签发并注入 Secret,支持热重载轮换 ✓ 正确答案
# 13. 零信任体系下数据库访问控制的会话粒度与策略执行点(mTLS、短期凭证)如何设计? A 零信任仍依赖网络边界来保护数据库访问 B 短期凭证只用于运维,不适用于应用访问 C 会话粒度应尽量大,连接长期保持并信任 D 应用 mTLS 双向认证与短期凭证,在代理层设置策略执行点 ✓ 正确答案
# 14. 数据脱敏(Data Masking),静态脱敏 vs 动态脱敏? A 静态脱敏在查询时实时脱敏,不改变存储 B 动态脱敏在查询时按权限实时脱敏,底层存储不变 ✓ 正确答案 C 静态脱敏用于生产环境在线查询 D 动态脱敏需要生成脱敏副本,开销较大
# 15. TLS(Transport Layer Security)在数据库连接的应用? A TLS 只提供机密性,不提供身份验证 B TLS 提供传输加密与身份验证,防止窃听与中间人攻击 ✓ 正确答案 C TLS 加密的是磁盘上的静态数据 D TLS 连接一旦建立就无需管理证书
# 16. KMS(Key Management Service)的应用,密钥集中管理? A KMS 会把密钥直接下发到各应用服务器以加速解密 B KMS 只用于加密业务数据,不参与数据库 TDE C KMS 集中生成、存储、轮换密钥,并支持访问控制与审计 ✓ 正确答案 D KMS 密钥无法自动轮换,只能人工更换
# 17. TDE 的密钥层次(主密钥到表空间或表密钥再到数据页)如何设计?各级密钥分别存储在哪里、谁负责解密? A 主密钥直接加密数据页,性能最优 B 数据页解密由应用层负责,数据库不参与 C 表空间密钥以明文存储在数据库中 D 主密钥存于 KMS,表空间密钥由主密钥加密,数据页用表空间密钥加密 ✓ 正确答案
# 18. 密钥轮换分主密钥轮换与数据密钥轮换两种,为什么前者只重加密密钥材料而后者要重写数据?各自的停机窗口如何规划? A 主密钥轮换需重写全部数据,停机窗口长 B 主密钥轮换只 re-wrap 数据密钥,数据密钥轮换需重写数据 ✓ 正确答案 C 数据密钥轮换成本低,可频繁在不影响数据的情况下执行 D 两种轮换都只需更新密钥元数据,无需动数据
# 19. 密钥轮换(Key Rotation)的策略与影响? A 轮换时应一次性删除旧密钥,避免密文可读 B 密钥轮换不影响备份恢复和版本一致性 C 应有新旧密钥平滑过渡,配合版本管理与审计、可回滚 ✓ 正确答案 D 轮换频率越高越好,无需考虑数据重写成本