关于android:升级-Android-认证-远程配置

18次阅读

共计 1349 个字符,预计需要花费 4 分钟才能阅读完成。

作者 / 软件工程师 Max Bires

自 Android 8.0 以来,认证成为一项必备性能。随着各个版本的更迭,认证越来越成为各种性能和服务的信赖外围,例如 SafetyNet、身份凭据 (Identity Credential)、数字车钥匙 (Digital Car Key) 以及各种第三方库。因而,当初咱们须要从新扫视认证基础架构,增强信赖链的安全性,并在呈现已知破绽时进步设施信赖的可恢复性。

自 Android 12.0 起,咱们将提供一个选项,可将工厂内私钥配置替换为工厂内公钥提取加上带短期证书的 OTA (over-the-air) 证书配置。此计划将在 Android 13.0 中强制施行。咱们将其称为近程密钥配置 (Remote Key Provisioning)。

哪些群体会受到此办法的影响?

原始设施制造商 (OEM) / 原始设计制造商 (ODM)

设施制造商将不再间接向工厂中的设施提供认证私钥,从而解除了必须在工厂中治理认证密钥的累赘。

潜在的依赖方

咱们将在下文中进一步阐明认证中证书链的格局、算法和长度将产生的变动。如果依赖方在设置其证书验证代码时,要求该代码必须与旧证书链构造有极高的匹配度,则须要更新此代码。

为什么要扭转?

咱们扭转向设施提供认证证书的形式有两大动机因素: 容许设施在受到攻打后复原,以及收紧认证供应链。在现在的认证计划中,如果发现某个设施型号受到的攻打会对认证的信赖信号产生影响,或者如果密钥经某种机制泄露,则必须吊销该密钥。因为依赖认证密钥信号的服务越来越多,这一动作可能会对设施受到影响的消费者产生微小的冲击。

如果设施曾经在运行被攻破的软件,这项措施能够使咱们进行对该设施进行密钥配置,并打消密钥意外泄露的可能性。这将大大减少用户服务中断的可能性。

如何运作?

每台设施都会生成一个惟一的动态密钥对,该密钥对的公共局部由 OEM 在其工厂中提取。随后,这些公钥将被上传到 Google 服务器,用作之后产生的配置的信赖根底。私钥则永远不会来到生成它的平安环境。

当设施启用并连贯到互联网时,它会为其已生成的密钥生成证书签名申请,并应用与工厂内收集的公钥对应的私钥对其进行签名。后端服务器将验证申请的真实性,而后签订公钥,返回证书链。而后,密钥库会存储这些证书链,并在申请认证时随时调配给利用。

此流程将在证书到期或以后密钥供给用尽时定期执行。该计划反对隐衷爱护,每个利用将接管到不同的认证密钥,并且密钥自身会定期轮换。此外,Google 后端服务器也进行了分段解决,因而验证设施公钥的服务器看不到附加的认证密钥。这意味着 Google 无奈将认证密钥关联回申请它们的特定设施。

从技术角度来看,产生了哪些变动?

终端用户不会留神到任何变动。应用认证的开发者则须要留神以下变动:

  • 证书链构造

    • 鉴于新版在线配置基础架构的性质,链长度比以前更长,并且可能会发生变化。
  • 信赖根

    • 信赖根最终将从目前的 RSA 密钥更新为 ECDSA 密钥。
  • 弃用 RSA 认证

    • KeyMint 生成和认证的所有密钥都将应用 ECDSA 密钥和对应的证书链进行签名。而在以前,非对称密钥由各自对应的算法进行签名。
  • 短期证书和认证密钥

    • 为设施配置的证书在到期和轮换之前通常领有最多两个月的有效期。

欢迎您 点击这里 向咱们提交反馈,或分享您喜爱的内容、发现的问题。您的反馈对咱们十分重要,感谢您的反对!

正文完
 0