iOS Secure Enclave

本文介绍了SecureEnclave的概念及其重要性,详细解释了它是如何确保用户生物特征数据的安全,并探讨了其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

可能对于大多数 iOS开发而已,对于 Secure Enclave 很陌生,Secure Enclave 翻译成中文是 “安全区域” 的意思。在iOS安全白皮书中对于 Secure Enclave 是这样定义的 :

Secure Enclave 是 Apple A7 或更高版本 A 系列处理器中集成的协处理器。

其实,还是不太理解 Secure Enclave 是什么东西。根据小编的理解,我们可以把 Secure Enclave 看作是一个密封的箱子,里面存放着一些很机密的数据,比如用户的指纹信息、脸部数据等。我们可以把它想象成一个绝对的安全环境,任何黑客都无法破解这个盒子,它被集成在手机的硬件中。暂时这么理解吧,下面小编会和大家一起进一步的探索 Secure Enclave 的庐山真面目。

二、Secure Enclave 介绍

很多年前手机其实只用于简单的接听电话和收发短信,那个时候还不存在手机的安全问题。随着手机的发展,很快便出现了智能手机。智能手机的功能越来越丰富,可以拍照、购物、支付等,随之就产生了移动端设备上数据安全的问题。那么怎么解决移动设备上数据的安全问题呢?TrustZone是针对移动设备安全问题提出来的一套解决方案。

1. Secure Enclave 的前身 TrustZone

2012年 ARM 公司推出了TrustZone安全解决方案,旨在提供独立的安全操作系统及硬件虚拟化技术,为手机安全支付的过程中提供可信的执行环境。TrustZone技术在2014年以后发展迅猛,在目前市面上大多数智能手机都带有TrustZone技术的芯片和操作系统。

TrustZone技术是软件和硬件结合的解决方案。TrustZone从硬件安全扩展来提供资源隔离,软件提供基本的安全服务和接口。TrustZone技术将软硬件资源隔离成两个环境,分别为 “普通世界” 和 “安全世界”。
在这里插入图片描述

一些普通的数据都被存放在 “普通世界” 中,而一些机密数据则被存放在 “安全世界” 中,即使手机被黑客入侵,黑客也无法拿到 “安全世界” 中存储的机密数据。黑客为什么不能拿到 “安全世界” 中的机密数据呢?因为 “普通世界” 和 “安全世界” 是完全隔绝的,就连系统也无法直接访问 “安全世界” 的机密数据。

2. Secure Enclave 登场

2013年,苹果推出了 iPhone 5S,搭配了指纹解锁的功能。指纹信息是很敏感的信息,那么苹果如何保护用户的指纹数据呢?苹果在手机硬件中内置了 Secure Encalve 处理器,专门用于存储用户的机密信息,而 Secure Encalve 的设计思想来源于 TrustZone。至此,我们可以完全的揭开 Secure Enclave 的面纱了。Secure Enclave 其实是苹果内置在手机硬件的一款保护用户隐私数据安全的处理器。

三、Secure Enclave 的工作原理

既然 Secure Enclave 安全性这么高,那我能把我 APP 登录的账号密码存在 Secure Enclave 里面么?答案是肯定不能的,因为 Secure Enclave 没有提供对外的数据读写接口。如果 Secure Enclave 提供对外的数据读写接口,那么黑客很容易就能通过系统提供的接口获取 Secure Enclave 中的机密数据。Secure Enclave 设计的初衷就是要制造一个完全隔绝的独立安全区域,要是提供对外的数据读写接口,那就没有绝对的安全性了。

那么 Secure Enclave 里面不能存APP 的登录账号密码,那能存放哪些数据呢?

1. Secure Enclave 存放什么数据

Secure Enclave 是一个绝对的安全环境,所以存放的当然也是最高机密的数据。那什么数据属于最高机密的数据呢?一般是用户的生物特征信息,比如指纹信息 TouchID、面部信息 FaceID 等。

2. 机密信息怎么写入 Secure Enclave

前面提到了 Secure Enclave 没有对外提供数据读写接口,那么用户录入的指纹怎么写入 Secure Enclave 中呢?苹果在用户录入指纹的时候,是由指纹传感器收集用户的指纹信息,直接通过指纹传感器将指纹数据传入了 Secure Enclave 中,是通过硬件直接写入的,而非系统接口。

3. Secure Enclave 怎么验证指纹信息

当用户用 TouchID 解锁时,Secure Enclave 怎么判断用户的指纹信息是否正确呢?用户按下指纹之后,指纹传感器会将指纹发送到 Secure Enclave 中,Secure Enclave 只会告诉你 YES 或者 NO,而不会把之前录入的指纹取出来和当前的指纹去进行对比。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长沙火山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值