写点什么

Apple 详解 Face ID 的安全性

2017 年 10 月 12 日

Apple 发布了一本新的白皮书,详述了 Face ID 如何工作,以及如何保证其安全性。

简而言之,Face ID 通过检测用户面部的几何学表征,使用 iPhone X A11 神经引擎(neural engine)芯片与存储的数学模型进行比对来解锁 iPhone X。然而,即使在配备了 Face ID 的设备上,安全基石仍然是用于加密用户数据的密码。换言之,Face ID 可以降低用户被要求输入密码的频率,从而更方便地使用强度更高的密码。根据 Apple 的说法,随机一个人,能使用 Face ID 解锁你的 iPhoneX 的几率约为百万分之一,这是一个显著的改善,因为 Touch ID 解锁几率是五万分之一。

iPhone X 使用原深感摄像头(TrueDepth Camera),利用红外技术创建面部深度图,生成相应的 2D 红外图像并发送到 iPhone 的 Secure Enclave 中。由于使用了深度信息,因此不可能使用数码照片来解锁 iPhone,因为数码照片不包含深度信息。另外,Face ID 要求用户睁眼并面朝设备才能使用,这样,在无意识的状态下(如睡觉时)是无法解锁的。

实际上,Face ID 使用了多个神经网络,分为两类:面部识别和抗欺骗。面部识别神经网络可以应对用户穿戴帽子、围巾、眼镜、隐形眼镜以及各式太阳镜的情形;而抗欺骗神经网络是防止使用照片或者面罩来解锁手机。

由摄像头拍摄的红外图像计算出数学表征,Face ID 只将它存储到 Secure Enclave,然后在尝试解锁时将存储的模型与面部的数学表征进行比对。由于人们的相貌会随时间变化,例如,长了胡子或者刮了胡子,得益于 Apple 神经网络的重复训练机制,使得能够随时间变化而适应用户的面部。解锁成功后,会自动进行重复训练。反之,如果解锁失败,会要求用户输入密码,如果密码正确,则使用新的 Face ID 数据来重复训练神经网络。

除了解锁设备外,Face ID 还可被第三方应用用来验证用户。具体来说,所有 Touch ID 兼容的应用程序都将支持 Face ID,无需更改任何代码。

有关 Face ID 工作方式的更多有趣细节尽在这份 Apple 白皮书,如果您有兴趣,请不要错过。

查看英文原文: Apple Details Face ID Security


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017 年 10 月 12 日 19:001375
用户头像

发布了 325 篇内容, 共 120.5 次阅读, 收获喜欢 802 次。

关注

评论

发布
暂无评论
发现更多内容

简述C语言宏定义的使用

C语言与CPP编程

c c++ 编程语言

ARTS 打卡 (20.09.07-20.09.13)

小王同学

神盾首创非对称联邦学习,深度保障数据隐私

小小的一朵云

大数据

看动画学算法之:排序-快速排序

程序那些事

排序 快速排序 数据结构和算法 看动画学算法

从linux源码看epoll

无毁的湖光

Linux TCP Linux Kenel

将DevOps视为哲学——实施DevOps的绝佳方式

陈琦

DevOps 测试 开发 持续交付

oeasy教您玩转 linux 010213 中文 fcitx

o

你必须要了解的「架构」小历史

码农田小齐

spring Spring Cloud Spring Boot

CountDownLatch 瞬间炸裂!同基于 AQS,凭什么 CyclicBarrier 可以这么秀?

程序员小航

Java 源码 AQS 源码阅读 CyclicBarrier

图计算黑科技:打开中文词嵌入训练实践新模式

小小的一朵云

大数据

同城双活与异地多活架构分析

vivo互联网技术

架构 高可用 架构设计 高可用系统的架构

ASP.NET Core 性能优化最佳实践

newbe36524

微服务 性能优化 .net core ASP.NET Core

java中实现List集合中对象元素按其属性的中文拼音排序

Shae

基于electron桌面级脚手架的设计

久违

前端 设计 全栈

极客大学-架构师训练营

9527

PB级大规模Elasticsearch集群运维与调优实践

小小的一朵云

大数据

Docker映射详解,没问题了!

程序员的时光

Docker

前端 10 问之 Docker (第一篇)

局外人

Docker

程序的机器级表示-异构的数据结构

引花眠

计算机基础

Spring 5 中文解析测试篇-Spring MVC测试框架

青年IT男

单元测试 Spring5

链表中移除重复节点,保罗·格雷厄姆的传奇博客,Mac三指拖动操作,大数据平台 John 易筋 ARTS 打卡 Week 17

John(易筋)

ARTS 打卡计划 大数据平台 链表移除相同节点 保罗格雷厄姆 mac三指操作设置

数据结构与算法系列之数组

书旅

数据结构 算法 数组 数据结构与算法

创建spring boot starter

曾彪彪

Java spring Boot Starter

区块链钱包app开发,去中心化多币种钱包搭建

WX13823153201

Mysql学习笔记:InnoDB事务和ACID模型

马迪奥

MySQL innodb

为什么互联网巨头们纷纷使用Git而放弃SVN?(内含Git核心命令与原理总结)

冰河

git 冰河 代码管理 代码仓库 分支合并

ARTS打卡 第16周

引花眠

微服务 ARTS 打卡计划

哦!这该死的 C 语言

cxuan

c 后端

Elasticsearch索引容量管理实践

小小的一朵云

大数据

鹰眼 | 分布式日志系统上云的架构和实践

小小的一朵云

大数据

想学习数据结构和算法,推荐给你 10 本优质书单

沉默王二

数据结构 算法 书单推荐

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

Apple 详解 Face ID 的安全性-InfoQ