一、概述

可能对于大多数 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,而不会把之前录入的指纹取出来和当前的指纹去进行对比。

iOS Secure Enclave相关推荐

  1. 苹果芯片安全隔区 “Apple Secure Enclave” 分析笔记

    目录 一.背景 二.苹果Secure Enclave在系统中的位置 三.苹果Secure Enclave系统组件介绍 1.安全隔区处理器 2.内存保护引擎 3.安全隔区 Boot ROM 4.安全隔区 ...

  2. 【译】Ethereum Wallet in a Trusted Execution Environment / Secure Enclave

    介绍 在过去的几周里, Weeve团队已经从社区中获得了很多关于我们如何将以太坊钱包应用到我们的 weeveOS中的兴趣 . weeveOS是一个开源操作系统,针对IoT-to-Ethereum进行了 ...

  3. 乔帮主,iOS 9 关键源码被泄露了!

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 近段时间,苹果的安全团队十分忙碌,从11月的最新 macOS 系统被爆出现最大漏洞,到12月 ...

  4. 史上最大源码泄露事件:iOS 关键源代码被匿名公布在 GitHub 上

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 北京时间 2 月 8 日消息,据外媒 Motherboard 和 Redmond Pie 报 ...

  5. IOS生物信息验证(Touch IDFace ID)

    Touch ID 指纹识别的原理 Apple在 iPhone 5s 的发布会上公布了全新的指纹识别安全技术,也就是Touch ID,开创了生物安全识别技术在便携设备上使用的新篇章. 我们注意到,Hom ...

  6. iOS系统越狱研究现状梳理

    姓名:李泽涛       学号:20202132034   背景及意义 为了方便讲述,现在为以下几个名词提供一个便于理解的别称 监狱=iOS操作系统 囚犯=iOS系统应用 检察官=系统用户 监狱长=i ...

  7. 苹果屏幕自动变暗_苹果iOS 14震撼发布 全新功能对标安卓

    今天凌晨1点,苹果WWDC 2020开发者大会正式召开,在这次开发者大会上,苹果为我们带来了不少新玩意,接下来就跟随我们的脚步一起看看吧. iOS 14 三个便捷新功能iOS 14是本次WWDC上的一 ...

  8. 苹果遭遇史上最严厉的泄密:自家的iOS源代码居然泄漏了

    对于苹果来说,iPhone固然很重要,但是其背后真正的护城河是封闭的iOS系统才对,试想下如果系统的源代码泄漏了,这会是怎样的后果? 据外媒Motherboard报道称,苹果遭遇了史上最严厉的泄密,自 ...

  9. 论证:iOS安全性,为什么需要审核?

    ????????关注后回复 "进群" ,拉你进程序员交流群???????? 转自:掘金 37手游ios技术运营团队 https://juejin.cn/post/696719910 ...

最新文章

  1. java教学目标_成为Java高手的25个学习目标
  2. OpenCV(十二)漫水填充算法
  3. 机器人组团到城市打工,第一站果然是赛博朋克城
  4. ZjDroid工具介绍及脱壳详细示例
  5. ASP.NET MVC 学习之路-4
  6. python的网络编程学什么_【Python学习】网络编程
  7. bigworld引擎
  8. IDEA添加项目启动配置
  9. 【信号与系统】Multisim 仿真抽样定理与信号恢复
  10. 【已解决】AndroidStudio不显示控件解决方案
  11. char ch= 中 什么意思java_问一下java里的char到底是什么
  12. 【微信小程序】设置页面背景色的方式
  13. Unity 模型导入材质丢失解决方案
  14. Golang:加密解密算法
  15. [2019HDU多校第一场][HDU 6578][A. Blank]
  16. 离散数学·命题逻辑【范式、推理】
  17. Windows系统完全卸载删除 Node.js
  18. Python nonlocal
  19. 数据仓库搭建DWT层
  20. 毛星云opencv之SHi-Tomasi角点检测综合程序

热门文章

  1. 【课后习题】高等数学第七版上第一章 函数与极限 第六节 极限存在准则 两个重要极限
  2. 决策树(Decision Tree)总结
  3. sklearn的decision_function (以SVC.decision_function()为例)详解
  4. 【分享】网络丢包故障处理方案
  5. R语言技巧:读取sas软件的sas格式文件
  6. mysql后台密码_mysql怎么改网站后台密码
  7. win10下实现负载均衡
  8. postgre数据库 例如oracle的nvl()函数
  9. 分享:Vue.js新手入门指南-0518-v1.0张雅慧(续)
  10. 考研数据结构学习笔记.树的常考性质