# Android 17 将后量子密码学 ML-DSA 集成至 Verified Boot 和 Keystore
Google 正在将后量子密码学(PQC)集成到 Android 中,以防范量子攻击。到 2029 年,整个生态系统将全面转向抗量子算法。首批变更将在 Android 17 测试版中首发:将 ML-DSA 集成到 Verified Boot 中、转向 PQC 证明,以及更新 KeyMint 以支持证书链。
这将确保在后量子环境下的启动完整性和远程设备验证。开发者将在 Android Keystore 中获得工具,以及一个新的 SDK 用于生成 ML-DSA-65 和 ML-DSA-87 密钥。
ML-DSA 集成至 Verified Boot
ML-DSA 算法(前身为 Dilithium)将被添加到 Android Verified Boot 中,用于在启动过程中创建数字签名。这将防止使用量子方法修改软件,例如对 RSA 和 ECC 的攻击。
主要变更:
- 数字签名:ML-DSA 为启动镜像生成抗量子签名。
- 硬件支持:通过 KeyMint 集成至可信执行环境 (TEE)。
- 兼容性:混合证书链结合经典算法和 PQC 算法。
设备将能够远程证明其状态,即使面对“采集现在、解密以后”威胁,也能确认未被入侵。
基于 PQC 架构的远程证明
Android 17 正在转向兼容 PQC 的远程证明。KeyMint 将更新证书链以支持 ML-DSA,从而允许可信方(服务、OEM)验证完整性。
流程:
- 设备使用 PQC 签名生成证明挑战。
- 服务器通过更新的根证书验证链。
- 确认 TEE 和系统组件状态。
这对于企业应用和零信任架构至关重要,这些领域量子风险日益增加。
Android Keystore 和 SDK 中的开发者支持
Android Keystore 正在扩展以支持 ML-DSA,用于硬件保护的签名。新 PQC SDK 提供 KeyPairGenerator API,支持 ML-DSA-65(高安全性)和 ML-DSA-87(性能平衡)。
示例密钥生成:
KeyPairGenerator kpg = KeyPairGenerator.getInstance("ML-DSA-65", "AndroidKeyStore");
kpg.initialize(new KeyGenParameterSpec.Builder("pqc_key", KeyProperties.PURPOSE_SIGN)
.setKeySize(2560)
.build());
KeyPair kp = kpg.generateKeyPair();
Google Play 将引入混合签名的自动生成:经典密钥 + ML-DSA。这将简化 APK 迁移,而无需重新构建代码。
与其他平台的比较
Google 正在紧跟趋势:Microsoft 已将 ML-KEM 和 ML-DSA 集成到 Windows Server 2025、Windows 11 和 .NET 10 中。NIST PQC 算法已标准化,量子系统已在实际任务中使用。
性能比较表(基于 NIST 大致数据):
| 算法 | 密钥大小 (位) | 签名 (KB) | 验证 (ms) |
|------------|---------------|-----------|-----------|
| ML-DSA-65 | 2560 | 2.4 | 0.5 |
| ML-DSA-87 | 3648 | 3.2 | 0.8 |
| ECDSA P-384 | 384 | 0.07 | 0.1 |
PQC 会增加开销,但确保了抗性。
重要事项
- 迁移时间表:到 2029 年 Android 生态系统全面转向 PQC。
- Android 17 测试版:ML-DSA 在 Verified Boot 和证明中的首次实现。
- 针对开发者:新的 SDK 和 Keystore API 支持 ML-DSA-65/87,Play 中的混合签名。
- 架构:KeyMint 更新以支持 PQC 证书链。
- 背景:防范量子威胁,如 Shor 算法对 RSA/ECC 的攻击。
— Editorial Team
暂无评论。