终端安全白皮书--身份认证

最近读了苹果终端安全白皮书鸿蒙OS安全技术白皮书,记录一下其中身份认证相关的一些行业技术手段。

HarmonyOS “正确的人”

鸿蒙OS除了提供传统的数字密码、图形密码等身份认证方式之外,还提供了指纹识别、人脸识别等生物认证手段,并且提供了分布式协同认证的能力,使用户可便捷地以近端设备为入口完成用户身份认证。

指纹认证

鸿蒙OS目前提供了电容指纹、光学指纹以及超声指纹识别的支持,三种技术方案的体验及安全能力基本一致。

指纹识别安全框架

鸿蒙OS在指纹传感器和iTrustee之间建立安全通道,确保指纹图像安全地传递,特征提取、活体检测、特征比对完全在iTrustee中进行,基于可信区域进行安全隔离。指纹服务只负责指纹的认证发起和认证结果获取,不接触原始指纹数据。

指纹模板录入时,特征数据通过iTrustee的安全存储进行保存,并且采用高强度的密码算法加密和完整性保护。指纹数据仅存在于iTrustee,外部应用无法获取指纹的原始数据。

指纹识别错误接受率大约1/50000。鸿蒙OS 的指纹识别支持防暴力破解机制,亮屏场景下指纹识别连续错误 5 次,或熄屏场景下指纹识别连续错误 10 次,将锁定 30 秒不能进行指纹识别。如果指纹识别连续失败 20 次,则必须使用密码来解锁设备。

72小时未使用密码解锁设备会强制用户输入密码解锁,增强用户对密码的记忆(MIUI等其他OS也是这么做的)。

人脸认证

鸿蒙OS提供2D和3D人脸识别方案,3D人脸识别依赖特殊的深度摄像头来实现,2D识别基于普通的前置摄像头来实现。3D人脸识别的安全性更高,可以支持原生支付应用。

人脸识别安全框架图

存储和录入过程与指纹类似,也是在可信区域进行加密存储。

人脸识别3D方案的错误接受率大约1/3000000,2D方案与指纹类似,在1/50000-1/100000。人脸识别连续错误5次必须输入密码解锁。双胞胎、亲属、未满13岁儿童错误匹配概率会增加,并且摄像头采集数据可能无法分辨制作精良的头模。

分布式协同认证

鸿蒙OS构建了分布式身份认证能力,用户可以将手边最便携的同等安全级别的设备作为访问入口与身份认证入口。

基于用户秘密的分布式认证

在设备已经建立可信关系前提下,鸿蒙OS支持身份认证数据采集端和认证端的解耦,采集端提供采集信息和对认证信息的脱敏处理能力,认证端提供认证凭据的比对能力,两端通过PAKE协议(Password-authenticated key agreement,密码认证秘钥协商,窃听者或者中间人无法在不与其他方互动的情况下暴力破解密码,https://en.wikipedia.org/wiki/Password-authenticated_key_agreement)完成分布式认证,使用户秘密可以在无需传输到对端情况下完成远程认证。

为了保证采集端与认证端的信息来自合法的安全模块,鸿蒙OS的分布式秘密认证服务会在采集端和认证端设备各自本地的可信环境内生成执行器的身份标识,该身份标识是一个Ed25519(ed25519是一种EdDSA签名,基于SHA-512和Curve25519)公私钥对,用于在远程秘密认证过程中在采集器和认证器之间签名本地传出的数据,验证对方传入的数据。

身份认证信息在采集设备上完成数据采集和脱敏处理后,在可信环境中生成PAKE认证协议字段,并使用采集端身份标识的私钥对协议字段数据进行签名,之后通过基于设备间的可信关系的端到端加密安全通道传输到认证设备,在认证设备的可信环境中验证签名后完成PAKE认证过程

基于可信持有物的分布式认证

用户绑定的蓝牙配件可作为“可信持有物”,以认证用户身份。协同认证提供多因子叠加的增强认证能力,当蓝牙设备连接到待解锁设备并处于佩戴状态时,可以用于解锁设备。当使用该蓝牙配件对用户发起认证时,协同认证将判断蓝牙配件的连接状态、蓝牙配件与手机的距离、并基于持续佩戴 TOKEN 发起手机与配件间的持续佩戴检测, 当三个因子同时满足要求时,才会认证成功。

IOS身份认证

密码是Apple设备安全性的基础,同时用户需要能便捷地访问自己的设备,通常一天会访问上百次。生物认证兼具强密码的安全性同时提供了便利性,只需要手指轻轻一按或者看一眼就可以快速解锁。面容ID和触控ID不会取代密码,而是在大多数情况下实现更快和更简单的访问。

Apple的生物识别安全性架构依赖于生物识别传感器和安全隔离区之间严格的职责独立性和二者之间的安全的关联性。传感器会捕捉生物识别图像并将其安全传输到安全隔离区(与上面的鸿蒙OS基本一致),同样,这样的架构支持包含传感器和安全隔离区的设备,并且支持将传感器在物理上独立于外围设备,然后与搭载Apple芯片的Mac中的安全隔离区安全配对(类似于鸿蒙OS的分布协同认证)

面容ID

借助于原深感摄像头系统所使用的先进技术来准确绘制用户面部的几何特征,从而提供安全直观的认证方法。使用神经网络来确认用户对屏幕的注视、匹配和反欺诈。用户只需要看一眼即可解锁手机,使用支持的设备时,甚至带着口罩也能解锁,并且可以自适应外貌变化,并谨慎的保护用户生物识别数据的隐私和安全。

在需要用到面容ID时摄像头首先会检测用户的脸部,检测到脸部后面容ID通过检测到用户睁开双眼注释设备来确认用户是否有解锁意图;对于辅助功能,当“旁白”激活时,注视检测会停用;戴口罩使用时始终会检测注视

原深感摄像头确认存在注视着设备的脸部后,会投影并读取数千个红外点以绘制脸部的深度图和 2D 红外图像。此数据用于创建一个 2D 图像和深度图序列,经过数字签名后发送到安全隔区。为抵制数字和实体诈骗,原深感摄像头会随机化捕捉到的 2D 图像和深度图序列,并投影出特定设备的随机图案。神经网络引擎(在安全隔区中受到保护)中的一部分会将此数据转换为数学表达式,并将该表达式与注册的脸部数据进行对比。此注册的脸部数据本身就是捕捉自用户脸部各种姿态转换而成的数学表达式。

触控ID

指纹传感器检测到指纹接触后,会触发先进的成像阵列来扫描手指,然后将扫描结果发送至安全隔区。用于保护这种连接的通道各有不同,具体取决于触控 ID 传感器是否内建于带安全隔区的设备中或者是否处于独立的外围设备中。

指纹扫描被向量化处理以进行分析的同时,光栅扫描结果会临时储存在安全隔区的加密内存中,之后便会被丢弃。 此分析采用皮下纹路走向角度映射,这是一种有损过程,会在分析完成后丢弃所需用于重建用户实际指纹的“指纹详细数据”。在注册期间,生成的节点图以一种只能由安全隔区读取的加密格式作为模板储存,但不包含任何身份信息, 以用于对比将来的匹配对象。此数据绝对不会离开设备,不会发送给 Apple,也不会包括在设备备份中。

大家方案基本都差不多。

科研领域的一些智能手机上的认证技术

手势认证(Gesture authentication)

Gesture Authentication for Smartphones: Evaluation of Gesture Password Selection Policies | IEEE Conference Publication | IEEE Xplore

运动和触摸状态

Hold On and Swipe: A Touch-Movement Based Continuous Authentication Schema based on Machine Learning | IEEE Conference Publication | IEEE Xplore

声音和唇部动作

LVID: A Multimodal Biometrics Authentication System on Smartphones | IEEE Journals & Magazine | IEEE Xplore

步态、击键等等


终端安全白皮书--身份认证
https://chujian521.github.io/blog/2023/11/20/终端安全白皮书-身份认证/
作者
Encounter
发布于
2023年11月20日
许可协议