报道称Google正致力于在Android中安全地存储数字驾照
据外媒 Xda-developers 报道,数字安全公司 Gemalto 目前正在与科罗拉多州、爱达荷州、马里兰州、华盛顿特区和怀俄明州合作,在推出其数字驾驶执照解决方案之前运行试点项目。与此同时,美国机动车管理员协会正在努力使这种新形式的电子识别标准化。
不过,数字驾照可能存在一些缺点。例如用户可以使用密码或 PIN 码保护他们的手机或提取数字驾照的应用程序,但他们手机及其所有数据可能会受到损害。此外,用户必须确保他们的手机有足够的电量来保持 Android 系统运行,以便他们可以提取数字驾照。借助 IdentityCredential API,Google 正致力于解决这两个问题。在 Android 的未来版本中,也许是 Android R,具有合适硬件的设备将能够安全地存储身份证等,尤其是数字驾照,甚至在设备没有足够的电力来启动 Android 时访问它们。
乍一看,Android 硬件支持 Keystore 团队负责人 Shawn Wilden 提交的内容似乎并不十分有趣。但是,如果查看 IdentityCredential 和 IdentityCredentialStore 文件,会发现多次引用 Google 所指的“身份凭证”类型。例如,IdentityCredential 使用“ ISO18013-5 标准用于数字驾照的密钥交换协议。”此外,该协议被用作“正在进行的 ISO 其他标准化身份凭证工作的基础。”。
深入挖掘,Google 详细阐述了 IdentityCredential API 支持的签名密钥类型。有两种数据身份验证:静态和动态。静态认证涉及通过发布机构创建的密钥,而动态验证涉及由设备的安全硬件中创建的密钥(如 Pixel 3 和 Pixel 3 XL 中的 Titan M。)动态认证的好处是,它的攻击者更难于破坏安全硬件以将凭证复制到另一个设备。此外,动态身份验证使得将特定凭据与用户数据链接起来变得更加困难。
Android 应用可以通过要求用户通过 NFC 发起无线连接,向读者呈现 IdentityCredential。建议应用程序通过以对话和/或密码保护的形式请求用户权限来保护这些事务。
如果设备具有支持的硬件,则可以使用“直接访问”模式,即使没有足够的电量来保持 Android 运行,也可以显示 IdentityCredential。只有当设备具有分立的安全硬件和足够的电力来操作该硬件以通过 NFC 共享凭证时,才有可能实现这一点。像 Google Pixel 2 和 Google Pixel 3 这样的设备应具备资格,因为这两款设备都具有与主 SoC 分开的防篡改安全模块。
如果设备没有安全 CPU,它仍然可以支持 IdentityCredential API,尽管没有直接访问支持。如果凭证存储仅在软件中实现,则可能会受到内核攻击的危害。如果凭证存储在 TEE 中实现,则可能会受到 CPU 上的旁道攻击(如 Meltdown 和 Spectre)的危害。如果凭证存储在与主 CPU 嵌入在同一封装中的单独 CPU 中实现,则它可以抵抗物理硬件攻击,但如果没有为主 CPU 供电则无法供电。
文档的敏感性将确定是否将支持这些身份凭证存储实现中的一个或多个。人员可以检查身份凭证存储实现的安全认证。身份凭证存储实施可以是未经认证的,或者具有 4 或更高的评估保证等级。EAL 告诉应用程序开发人员实施对潜在攻击的安全性。
据悉,Google 打算将此 API 用于任何标准化文档类型,尽管它们列出了 ISO 18013 移动驾驶执照作为示例。文档类型是必需的,因此安全硬件知道在应支持直接访问模式的情况下它是什么类型的凭证,并允许应用程序知道读者请求的文档类型。