Android系统安全(8):Identity Credential

文摘   2024-05-07 08:45   福建  

我们先聊“认证”话题,认证的目的是让业务处理得到安全保障,通常需要从下面三个方面来保障:

  • 人:操作业务的用户是正确可信的

  • 物:用户操作的设备是安全可信的

  • 环境:业务(程序)运行的软件环境是安全可信的

在这三者的联合保障下,我们才得以安心地使用智能设备来从事业务处理。


“身份认证”是其中重要一环,在我们的物理世界中,通常指的是用户身份认证;但是在智能终端设备上,它还包括智能终端这个设备的身份认证,即要确保这个设备不是伪造的设备。

第三篇的“用户认证与生物识别认证”谈的是用户身份认证;第七篇的”ID Attestation“谈的是设备身份认证;第五篇的可信启动和第六篇的DICE谈的则是环境安全保障;第四篇的密码学服务则为它们提供了必要的基础能力。

既然这些基础安全服务都具备了,如何让业务开发人员更好地使用它们呢?

本篇的“Identity Credential”(身份凭证)登台。

注:官方也将它称为电子身份凭证 EIC。


1、Identity Credential的介绍

“Identity Credential”(身份凭证)是用于安全存储和管理与用户身份相关的组件,允许用户在设备上安全存储和管理敏感信息,如:用户的个人信息、密钥、证书、甚至信用卡信息等。该组件的安全性是基于硬件安全能力,如:StrongBox或TEE,来保护这些敏感信息。

The Identity Credential APIs provide an interface to a secure store for user identity documents. These APIs communicate with the credstore system service which in turn use the Identity Credential HAL to communicate with Secure Hardware.

简单来讲:Identity Credential这个组件是一种可以帮助保护用户的数据和隐私的重要安全机制。

在Android系统上,为开发人员提供了:以API的方式,通过验证用户的身份并授权访问受保护的资源。


虽然,该组件在Android14的CDD中是“强烈推荐”:

Device implementations:

  • [C-SR-1] are STRONGLY RECOMMENDED to implement the Identity Credential System.

从2024年的实际案件来看,Androi14的新机型是会带这个组件的。

也体现了在第一篇中的这句话,Android 14的一个亮点:Spotlight on your protection.


2、Identity Credential的实现

该组件是以TEE系统上的一个可信应用(TA Trusted Application)的形式来实现的。

图1

IC-Session:确保会话的生命周期和状态得到安全处理;

IC-Presentation:验证请求消息的签名,确保消息的来源和内容未被篡改;

IC-Provisioning:负责访问控制配置,确保只有授权的用户和设备可以访问特定的数据;

另外,通过获取与硬件绑定的密钥来增加密钥的安全性。


3、Identity Credential的场景简述和意义

在应用场景上,首当其冲的应该是:移动驾照和身份证的用户身份凭证。

尤其是在强烈推荐Identity Credential的同时,也强烈推荐StrongBox。即:密钥安全的强化提升了安全能力和隐私保护能力,在这配合下不断地拓展业务场景。

在具备了StrongBox这样的强物理安全的情况下,手机上的用户身份认证的安全能力可以等同于个人身份证实体卡的安全能力。确保了:只有在该设备上,只有匹配的该用户下,手机展示出的是正确可信的移动驾照或身份证的身份凭证!

为此,官方有该提示:

使用Identity Credential API需要在Android设备上安装Android 11或更高版本。此外,您需要使用设备的NFC芯片或安全元件(例如安全模块或可信执行环境)来存储和处理身份凭据。

通过使用Identity Credential API,您可以构建更安全的应用程序,从而帮助您的用户更好地保护他们的个人信息。如果您需要更详细的信息,请参阅Android开发者文档中的Identity Credential API部分。


EIC(电子身份证明)系统的意义在于提供一个高度安全的身份验证和凭证管理解决方案,它可以被应用于多种需要严格身份验证和数据保护的场景,以下是一些可能的应用场景:

(1)移动支付:EIC系统可以用于移动支付验证,确保交易的安全性和用户身份的真实性。

(2)在线银行:在在线银行和金融服务中,EIC系统可以提供强大的用户认证,保护敏感的财务信息。

(3)政府服务:政府可以利用EIC系统发行电子护照、身份证和其他官方凭证,提高公共服务的安全性和便捷性。

(4)健康医疗:在医疗保健领域,EIC系统可以用于患者身份验证,保护个人健康记录和医疗数据。

(5)电子投票系统:在电子投票系统中,EIC系统可以确保投票者的身份真实性,防止欺诈和滥用。

(6)在线教育:EIC系统可以用于在线考试和认证,确保考生身份的真实性,防止替考等作弊行为。

(7)员工身份验证:企业可以使用EIC系统来控制对敏感区域或信息的物理和数字访问。

......



【参考资料】

1、https://source.android.com/docs/security/

2、https://source.android.com/docs/compatibility/14/android-14-cdd

3、https://developer.android.com/reference/android/security/identity/package-summary


先起公司近期公开课:

推荐阅读:


仨人谈起
咨询是盛开的生命;传播理念、思想、希望和行动;谈Automotive SPICE,汽车功能安全(ISO26262 + SOTIF),汽车网络信息安全
 最新文章