RKP全称Remote Key Provisioning,远程密钥配置,是Google在Android 12上推出的功能,在Android 13.0成为强制要求。
它的工作原理是每台设备生成唯一的静态密钥对,OEM在其工厂环节提取该密钥对的公钥部分并上传到Google服务器,作为以后配置的信任基础,私钥则永远不会离开生成它的安全环境。
设备开箱联网后,会为生成的密钥创建证书签名请求(使用工厂采集公钥对应的私钥签名)。
后端服务器验证请求真实性后签署公钥,返回证书链。Keystore存储这些证书链,在应用请求认证时进行分配。该流程将在证书过期或当前密钥耗尽时定期触发。
(图片来源于网络)
遵从Google的要求,豆荚推出了RKP方案:分为工具端和豆荚云端两部分。
工具端:从设备中导出设备公钥、SN号等信息(CSR为json文件)。
云端:获取工具端导出的CSR,直接传输到Google服务器中(也可以手动上传CSR至Google服务器)。
参考文献:
https://android-developers.googleblog.com