美文网首页编程开发tom闻道丶iOS(尝鲜版)
iOS Security 苹果安全白皮书都讲了些啥?

iOS Security 苹果安全白皮书都讲了些啥?

作者: si1ence | 来源:发表于2017-03-27 21:17 被阅读1826次

    原文地址

    使用Google 按段落翻译(上传文档的不太准),通读一遍后去掉设备或网络的超专业术语,也算是筛选掉对开发者意义不大的信息吧!

    苹果设计的 iOS 平台向来是以安全为核心,此次白皮书大概讲了以下几个方面的安全:
    • 系统安全性:集成和安全的软件和硬件,是iPhone,iPad和iPod touch的平台。
    • 加密和防护:如果设备丢失或被盗,或未经授权的人员尝试使用或修改设备,则进行体系结构和设计以保护用户数据。
    • 应用安全性:系统可以安全地安全地并且不破坏平台的完整性。
    • 网络安全性:为传输数据提供安全认证和加密的行业标准网络协议。
    • 苹果支付:苹果执行安全支付。
    • 互联网服务:苹果基于网络的基础设施,用于消息,同步和备份。
    • 设备控制:允许管理iOS设备,防止未经授权的使用以及如果设备丢失或被盗时启用远程擦除的方法。
    • 隐私控制:可用于控制对位置服务和用户数据访问的iOS功能。

    接下来是详细概述:

    一、系统安全性

    • 系统安全性的设计使得软件和硬件在每个iOS设备的所有核心组件中都是安全的。这包括启动过程,软件更新和安全启发。
    • 硬件和软件在iOS设备上的紧密集成确保系统的每个组件都是可信的,因为从初始启动到iOS软件更新到第三方应用程序,每个步骤都进行了分析和审查,以帮助确保硬件和软件在最佳状态下运行并正确使用资源。
    1、安全启动链

    启动过程的每个步骤都包含由Apple加密签名的组件,以确保完整性,并且只有在验证了信任链之后才能进行。这包括引导加载程序,内核,内核扩展和基带固件。这个安全的启动链帮助确保最低级别的软件不被篡改。

    2、系统软件授权

    苹果定期发布软件更新以解决不断出现的安全问题,并提供新功能;这些更新是为所有受支持的设备同时提供的。用户在设备上通过iTunes接收iOS更新通知,并通过无线方式发送更新,鼓励快速采用最新的安全修复程序。

    3、安全环保

    Secure Enclave是在Apple S2,Apple A7和更高版本的A系列处理器中制造的协处理器。它使用加密内存,并包括硬件随机数生成器。 Secure Enclave提供数据保护密钥管理的所有加密操作,并保持数据保护的完整性,即使内核已被破坏。 Secure Enclave和应用处理器之间的通信与中断驱动的邮箱和共享内存数据缓冲区隔离。

    4、Touch ID

    Touch ID是指纹感测系统,可以更快更轻松地访问设备。该技术从任何角度读取指纹数据,并随着时间的推移更多地了解用户的指纹,随着每次使用的其他重叠节点被识别,传感器继续扩展指纹图。
    触摸ID使得使用更长,更复杂的密码更加实用,因为用户不必频繁地输入密码。 Touch ID还克服了基于密码的锁的不便,而不是通过替换它,而是通过在周到的边界和时间限制内安全地提供对设备的访问。

    • Touch ID和密码
      要使用Touch ID,用户必须设置其设备,以便需要密码来解锁。当Touch ID扫描并识别已注册的指纹时,设备将在不要求设备密码的情况下解锁。密码可以随时使用,而不是Touch ID,在以下情况下仍然需要使用密码:
      •设备刚刚启动或重新启动。
      •设备尚未解锁超过48小时。
      •Touch ID在过去4小时内未解锁设备。
      •设备已收到远程锁定命令。
      •五次不成功的尝试匹配指纹。
      •使用Touch ID设置或注册新手指时。

    • Touch ID的其他用途
      Touch ID也可以与Apple Pay,Apple执行安全支付。
      对于iOS 9或更高版本,开发人员可以:

    • 要求Touch ID API操作不会回退到应用程序密码或设备密码。除了能够检索注册手指状态的表示外,还允许Touch ID作为安全敏感应用的第二个因素。

    • 在Secure Enclave内生成和使用ECC密钥。这些键可以被Touch ID保护。这些密钥的操作始终在Secure Enclave之后在Secure Enclave授权使用之后完成。应用程序可以使用Keychain通过SecKey访问这些密钥。 SecKeys只是对安全密钥的引用,密钥永远不会离开安全密钥。

    • Touch ID也可以配置为批准从iTunes Store(App Store和iBooks Store)购买,因此用户不必输入Apple ID密码。当他们选择授权购买时,设备和商店之间交换认证令牌。令牌和加密随机存放在Secure Enclave中。该随机数使用所有设备和iTunes Store共享的Secure Enclave密钥进行签名。使用iOS 10,Touch ID保护的Secure Enclave ECC密钥用于通过签署商店请求来授权购买。

    • 触摸ID安全
      只有home键上的电容钢环检测到手指的触摸时,指纹传感器才会起作用,这将触发高级成像阵列扫描手指并将扫描发送到安全释放。

    二、加密和数据保护

    iOS具有额外的加密和数据保护功能来保护用户数据,即使安全基础设施的其他部分已经受到威胁(例如,在未经授权的修改的设备上)。

    1、硬件安全功能

    在移动设备上,速度和功率效率至关重要。加密操作复杂,如果不考虑这些优先级设计和实施,可能会引入性能或电池寿命问题。
    设备的唯一ID(UID)和设备组ID(GID)是AES 256位密钥(UID)或编译(GID)到制造过程中的应用处理器和安全密码。 UID对于每个设备是唯一的,并且不由Apple或其任何供应商记录。

    2、文件数据保护

    除了iOS设备内置的硬件加密功能外,Apple还使用一种名为Data Protection的技术来进一步保护设备上存储的闪存中的数据。数据保护允许设备响应常见的事件,如来电,也可以为用户数据提供高级别的加密。默认情况下,主要系统应用程序(如邮件,邮件,日历,联系人,照片和运行状况)数据值都使用数据保护,而在iOS 7或更高版本上安装的第三方应用程序会自动接收此保护。

    • 密码
      通过设置设备密码,用户自动启用数据保护。 iOS支持六位数,四位数和任意长度的字母数字密码。除了解锁设备之外,密码还为某些加密密钥提供了熵。这意味着拥有设备的攻击者无法在没有密码的情况下访问特定保护类中的数据。
      密码与设备的UID纠缠在一起,所以必须强制尝试在受到攻击的设备上执行。使用大的迭代计数来使每个尝试更慢。迭代计数被校准,使得一次尝试花费大约80毫秒。这意味着尝试使用小写字母和数字的六个字符的字母数字密码的所有组合都需要51/2年的时间。
      用户密码越强,加密密钥就越强。 Touch ID可用于通过使用户建立比其他实际方式更强大的密码来增强此方程式。这增加了保护用于数据保护的加密密钥的熵的有效数量,而不会在一天内多次打开iOS设备的用户体验。
      为了进一步阻止强力密码攻击,在锁定屏幕上输入无效密码后,延迟时间会延长。如果设置>触摸ID和密码>擦除数据已打开,设备将在连续10次不正确尝试输入密码后自动擦除。此设置也可通过移动设备管理(MDM)和Exchange ActiveSync作为管理策略提供,并可设置为较低的阈值。
      在具有Secure Enclave的设备上,延迟由Secure Enclave协处理器执行。如果设备在定时延迟期间重新启动,则延迟仍然被强制执行,定时器在当前周期内重新开始。

    • 数据保护类
      当在iOS设备上创建新文件时,它将由创建它的应用程序分配一个类。 每个类使用不同的策略来确定数据何时可访问。

    • 钥匙串数据保护
      许多应用程序需要处理密码和其他简短但敏感的数据位,例如密钥和登录令牌。 iOS钥匙扣提供了一种安全的方式来存储这些项目。
      钥匙串被实现为存储在文件系统上的SQLite数据库。只有一个数据库; securityd守护程序确定每个进程或应用程序可以访问哪些Keychain项目。访问组不是限制对单个进程的访问,而是可以在应用程序之间共享Keychain项目。

    对于由iOS创建的钥匙串项目,强制执行以下类别的保护:



    • 访问Safari保存的密码
      iOS应用程序可以与Safari保存的Keychain项目进行交互,以便使用以下两个API进行密码自动填充:
    #warnig 快看这两个API
    SecRequestSharedWebCredential
    SecAddSharedWebCredential
    #warnig 快看这两个API
    

    只有应用程序开发人员和网站管理员才能访问访问权限
    已经批准,用户已经同意。应用程式开发人员表示想通过在应用程式中加入授权来存取Safari储存的密码。授权列出了相关网站的完全限定域名。网站必须在他们的服务器上放置一个文件,列出他们已经批准的应用程序的唯一应用程序标识符。当安装了具有com.apple.developer.associated-domains权限的应用程序时,iOS会向每个列出的网站发出TLS请求,请求文件/ apple-app-site-association。如果该文件列出了正在安装的应用程序的应用程序标识符,则iOS将网站和应用程序标记为具有可信赖的关系。只有具有信任关系才能调用这两个API,才能向用户提示,在将任何密码发布到应用程序之前,谁必须同意,或更新或删除。

    • Keybags
      文件和钥匙串数据保护类的密钥都是以Keybags收集和管理的。 iOS使用以下密钥包:用户,设备,备份,托管和iCloud备份。

    三、App Security

    1、应用程式代码签名

    一旦iOS内核启动,它就可以控制哪些用户进程和应用程序可以运行。为确保所有应用程序都来自已知和已批准的源代码,并未被篡改,iOS要求使用Apple颁发的证书对所有可执行代码进行签名。苹果公司签署了与邮件和Safari一样的设备提供的应用程序。第三方应用程序也必须使用Apple颁发的证书进行验证和签名。强制性代码签名将操作系统的信任链概念扩展到应用程序,并阻止第三方应用程序加载未签名的代码资源或使用自修改代码。

    为了在iOS设备上开发和安装应用程序,开发人员必须向Apple注册并加入Apple开发人员计划。每个开发人员(无论是个人还是企业)的现实身份在其颁发证书之前都经过苹果验证。此证书使开发人员可以签署应用程序并将其提交到App Store进行分发。

    2、运行时进程安全

    一旦应用程序被验证为来自经过批准的来源,iOS将强制执行安全措施,以防止其破坏其他应用程序或其他系统。
    所有第三方应用程序都是“沙盒”,因此它们不能访问其他应用程序存储的文件或对设备进行更改。这样可以防止应用程序收集或修改其他应用程序存储的信息。每个应用程序的文件都有一个唯一的主目录,当安装该应用程序时它是随机分配的。如果第三方应用程序需要访问除自己以外的信息,则只能使用iOS明确提供的服务。

    3、扩展

    iOS允许应用通过提供扩展功能向其他应用提供功能。扩展程序是专门用于签名的可执行二进制文件,在应用程序中打包。系统会在安装时自动检测扩展程序,并使用匹配的系统将其提供给其他应用程序。
    支持扩展的系统区域称为扩展点。每个扩展点都提供API并强制执行该区域的策略。系统根据扩展点特定匹配规则确定哪些扩展可用。系统根据需要自动启动扩展进程,并管理其生命周期。权利可用于限制特定系统应用程序的扩展可用性。例如,“今日”视图小部件仅显示在“通知中心”中,共享扩展仅在“共享”窗格中可用。扩展点是今天小部件,共享,自定义操作,照片编辑,文档提供者和自定义键盘。

    4、应用程序组

    配置为应用组的一部分时,指定开发者帐户拥有的应用和扩展程序可以共享内容。由开发人员在Apple开发人员门户上创建适当的组,并包含所需的一组应用程序和扩展。一旦配置为应用程序组的一部分,应用程序可以访问以下内容:

    • 一个用于存储的共享磁盘容器,只要至少安装了一个组中的一个应用程序,它将保留在设备上
    • 共享首选项
    • 共享钥匙串项目
      Apple开发人员门户网站保证应用程序生态系统中的应用程序组ID是唯一的。
    5、Data Protection in apps

    iOS软件开发工具包(SDK)提供了一整套API,可让第三方和内部开发人员轻松采用数据保护,并帮助确保其应用程序的最高级别的保护。 Data Protection可用于文件和数据库API,包括NSFileManager,CoreData,NSData和SQLite。
    邮件应用程序(包括附件),托管图书,Safari书签,应用启动图像和位置数据也使用用户密码保护的密钥加密在其设备上。日历(不包括附件),联系人,提醒,笔记,留言和照片实施受保护直到第一个用户身份验证。

    6、HomeKit

    HomeKit提供了一个家庭自动化基础设施,利用iCloud和iOS安全性来保护和同步私有数据,而不会暴露给苹果。

    • 设备和用户之间的数据同步
      • HomeKit在用户的iOS设备上存储有关家庭,配件,场景和用户的数据。该存储的数据使用从用户的HomeKit身份密钥导出的密钥加上随机随机数进行加密。
      • HomeKit数据可以在使用iCloud和iCloud Keychain的用户的iOS设备之间进行同步。
      • HomeKit数据也在同一家庭的多个用户之间同步。
    • 家庭数据和应用程序
      由应用访问家庭数据由用户的隐私设置控制。当用户请求家庭数据时,系统会要求用户授予访问权限,类似于联系人,照片和其他iOS数据源。如果用户批准,应用程序可以访问房间名称,配件名称以及每个配件所在的房间等信息。
    • HomeKit和Siri
      Siri可用于查询和控制配件,并激活场景。 Siri匿名提供了关于家庭配置的最少信息,以提供命令识别所需的房间,配件和场景的名称。发送到Siri的音频可能表示具体的附件或命令,但是这样的Siri数据与其他Apple功能(如HomeKit)无关。
    • iCloud远程访问HomeKit配件
      HomeKit配件可以直接与iCloud连接,以便在蓝牙或Wi-Fi通信不可用时允许iOS设备控制附件。
      iCloud远程访问经过精心设计,可以对配件进行控制和发送通知,而不会向Apple发出什么附件,还是发送什么命令和通知。 HomeKit不通过iCloud远程访问发送有关家庭的信息。
    7、SiriKit

    Siri利用iOS扩展机制与第三方应用程序进行通信。虽然Siri可以访问iOS联系人和设备的当前位置,但Siri会检查允许访问含有扩展程序的iOS应用程序的用户数据,以查看应用程序是否有权访问该信息。 Siri只将原始用户查询文本的相关片段传递给扩展名。例如,如果应用程序无法访问iOS联系人,Siri将无法解决用户请求中的关系,例如“使用PaymentApp支付我的母亲10美元”。在这种情况下,扩展程序的应用程序只会看到“母亲”通过原始的话语片段传递给它。但是,如果该应用程序确实有iOS联系人访问权限,则会收到用户母亲的iOS联系信息。如果一个联系人在一个消息的正文中被提到,例如“告诉我的母亲MessageApp,我的兄弟是真棒的”-Siri不会解决“我的兄弟”,不管应用程序的TCC。应用程序提供的内容可能会发送到服务器,以允许Siri了解用户可以在应用程序中使用的词汇。
    Siri允许在运行时为启用SiriKit的应用程序提供特定于应用程序实例的一组自定义单词。这些自定义单词与Siri部分中讨论的随机标识相关,并且具有相同的生命周期。

    8、HealthKit

    来自健康和健身应用程序的HealthKit在用户许可下存储和聚合数据。 HealthKit还直接与健康和健身设备,如兼容的蓝牙LE心率监视器和内置于许多iOS设备的运动协处理器。

    • 健康数据
      HealthKit存储和汇总用户的健康数据,如身高,体重,步行距离,血压等。该数据存储在Data Protection类Complete Protection中,这意味着只有在用户输入密码或使用Touch ID解锁设备后,才能访问该数据。
      运行状况数据不会在设备之间同步。健康数据包含在设备备份到iCloud和加密的iTunes备份中。健康数据不包括在未加密的iTunes备份中。

    • 数据的完整性
      存储在数据库中的数据包括跟踪每个数据记录的来源的元数据。该元数据包括识别记录了哪个应用程序的应用程序标识符。

    • 第三方应用访问
      对HealthKit API的访问受权限控制,应用程序必须符合有关如何使用数据的限制。例如,应用程序不允许使用健康数据进行广告宣传。还需要应用程序为用户提供详细说明其使用健康数据的隐私政策。
      按应用访问健康数据由用户的隐私设置控制。当用户请求访问健康数据时,系统会要求用户授予访问权限,类似于联系人,照片和其他iOS数据源。然而,通过健康数据,应用程序被分配到读取和写入数据的访问,以及每种类型的健康数据的单独访问。用户可以在Health应用程序的Sources选项卡中查看和撤消他们授予的用于访问运行状况数据的权限。

    • 医疗身份证
      健康应用程序使用户可以选择填写医疗身份证件,其中包含在医疗紧急情况下可能很重要的信息。信息是手动输入或更新的,并且不与健康数据库中的信息同步。

    9、ReplayKit

    ReplayKit是一个允许开发人员向他们的应用程序添加录音和直播广播功能框架。此外,它允许用户使用设备的前置摄像头和麦克风来注释录音和广播。

    10、Secure Notes

    Notes应用程序包含一个Secure Notes功能,允许用户保护特定笔记的内容。安全笔记使用用户提供的密码进行加密,该密码需要在iOS,macOS和iCloud网站上查看笔记。

    当用户成功输入密码,无论是查看还是创建安全笔记,Notes打开安全会话。
    忘记密码的用户如果在设备上启用了触摸ID,仍然可以查看安全笔记或保护其他笔记。
    用户可以重置密码,如果忘记了当前密码。此功能允许用户使用新的密码创建新的安全笔记,但不会让他们看到以前的安全笔记。如果旧密码被记住,以前安全的笔记仍然可以被查看。重置密码需要用户的iCloud帐号密码。
    笔记可以与他人共享。笔记数据被加密存储,CloudKit管理参与者可以加密/解密彼此的数据的过程。

    11、Apple Watch

    Apple Watch使用为iOS设计的安全功能和技术来帮助保护设备上的数据,以及与配对的iPhone和互联网的通信。这包括数据保护和钥匙扣访问控制等技术。用户的密码也与设备UID缠结以创建加密密钥。

    当Apple Watch不在蓝牙范围内时,可以使用Wi-Fi。 Apple Watch不会加入Wi-Fi网络,除非先前已经同步到Apple Watch的凭据已经存在于配对的iPhone上。如果Apple Watch超出iPhone的范围,iPhone上的任何新的网络凭证都不在Apple Watch上。
    通过按住侧面按钮可以手动锁定Apple Watch。此外,运动启发法用于在从手腕上取下手机后尽快自动锁定设备。锁定时,Apple Pay无法使用。如果在设置中关闭手腕检测提供的自动锁定功能,则禁用Apple Pay。使用iPhone上的Apple Watch应用程序关闭手腕检测。也可以使用移动设备管理强制执行此设置。

    Apple Watch一次只能配备一个iPhone。 iPhone不通知时会通知说明,以清除Apple Watch的所有内容和数据。

    启用在配对iPhone上查找我的iPhone也允许在Apple Watch上使用激活锁。激活锁使任何人都难以使用或销售已经丢失或被盗的Apple Watch。激活锁需要用户的Apple ID和密码才能取消,删除或重新启动Apple Watch。

    四、Network Security

    除了Apple用于保护存储在iOS设备上的数据的内置保护措施之外,组织可以采取许多网络安全措施,以便在移动到iOS设备时保持信息安全。

    移动用户必须能够从世界上任何地方访问公司网络,因此确保传输过程中被授权且数据受到保护至关重要。 iOS使用 - 并提供开发人员访问标准网络协议以进行身份​​验证,授权和加密通信。为了实现这些安全目标,iOS集成了经过验证的技术和针对Wi-Fi和蜂窝数据网络连接的最新标准。

    在其他平台上,需要防火墙软件来保护开放的通信端口免受入侵。因为iOS通过限制监听端口和删除不必要的网络实用程序(如telnet,shell或Web服务器)来实现减少的攻击面,因此在iOS设备上不需要额外的防火墙软件。

    1、TLS

    iOS支持传输层安全性和DTLS。 Safari,日历,邮件和其他Internet应用程序自动使用这些机制来启用设备和网络服务之间的加密通信通道。高级API(如CFNetwork)使开发人员可以轻松地在其应用程序中使用TLS,而低级API(SecureTransport)可提供细粒度的控制。 CFNetwork不允许使用SSLv3,禁止使用WebKit(如Safari)的应用程序进行SSLv3连接。

    • 应用程序运输安全
      App Transport Security提供默认的连接要求,以便在使用NSURLConnection,CFURL或NSURLSession API时,应用程序遵守安全连接的最佳做法。默认情况下,App Transport Security限制密码选择,以便仅包含提供前向保密的套件。应用程序能够禁用每个域的前向保密要求,在这种情况下,RSA_AES被添加到可用密码集中。
      服务器必须支持TLS 1.2和转发保密
    2、VPN

    像虚拟专用网络这样的安全网络服务通常需要最少的设置和配置才能与iOS设备配合使用。

    iOS还支持每个应用程序的VPN支持,从而在更细粒度的基础上方便VPN连接。移动设备管理(MDM)可以指定Safari中每个受管应用和/或特定域的连接。这有助于确保安全数据总是来往于公司网络,并且用户的个人数据不会。
    iOS支持永远在线VPN,可以配置为通过MDM管理的设备,并使用Apple Configurator或设备注册程序进行监控。这消除了用户在连接到蜂窝和Wi-Fi网络时打开VPN以实现保护的需要。

    3、Wi-Fi

    iOS支持业界标准的Wi-Fi协议(包括WPA2企业版),以提供对无线企业网络的身份验证访问。 WPA2企业版使用128位AES加密,为用户提供最高级别的保证,即通过Wi-Fi网络连接发送和接收通信时,数据仍然受到保护。。
    当Wi-Fi扫描未与Wi-Fi网络关联时,iOS会使用随机媒体访问控制(MAC)地址进行Wi-Fi扫描。请注意,尝试连接到首选Wi-Fi网络时发生的Wi-Fi扫描不是随机的。
    当设备未与Wi-Fi网络关联或其处理器处于睡眠状态时,进行增强型首选网络卸载(ePNO)扫描时,iOS还会使用随机MAC地址。

    4、蓝牙

    iOS中的蓝牙支持旨在提供有用的功能,而无需增加对私有数据的访问。 iOS设备支持加密模式3,安全模式4和服务级别1连接。

    5、AirDrop安全

    支持AirDrop的iOS设备使用蓝牙低功耗(BLE)和Apple创建的点对点Wi-Fi技术,将文件和信息发送到附近的设备,包括运行OS X 10.11或更高版本的支持AirDrop的Mac电脑。 Wi-Fi无线电用于在不使用任何互联网连接或Wi-Fi接入点的情况下直接在设备之间进行通信。

    当用户启用AirDrop时,设备上将存储2048位RSA身份。另外,AirDrop身份哈希是根据与用户的Apple ID相关联的电子邮件地址和电话号码创建的。

    当用户选择AirDrop作为共享项目的方法时,设备将通过蓝牙低功耗发出AirDrop信号。醒目的,附近的AirDrop开启的其他设备会检测到信号,并以缩短版本的所有者身份哈希进行响应。

    默认情况下,AirDrop设置为仅与联系人共享。用户还可以选择是否可以使用AirDrop与Everyone共享或完全关闭功能。仅在联系人模式下,接收到的身份散列与发起人的联系人应用程序中的人的散列进行比较。如果发现匹配,则发送设备创建一个对等Wi-Fi网络,并使用Bonjour通告AirDrop连接。使用此连接,接收设备将其全部身份散列发送给启动器。如果完整散列仍然与“联系人”匹配,则收件人的名字和照片(如果存在于联系人中)将显示在AirDrop共享表中。

    使用AirDrop时,发送用户选择要与之共享的人员。发送设备与接收设备发起加密(TLS)连接,交换其iCloud身份证书。根据每个用户的联系人应用程序验证证书中的身份。然后接收用户被要求接受来自所识别的人或设备的传入。如果已经选择了多个收件人,则会为每个目的地重复此过程。

    在“所有人”模式下,使用相同的过程,但如果未找到“联系人”中的匹配项,则接收设备将显示在具有剪影和设备名称的AirDrop发送表中,如“设置”>“常规”>“常规”>“名称” 。
    组织可以限制AirDrop对由移动设备管理解决方案管理的设备或应用的使用。

    五、Apple Pay

    使用Apple Pay,用户可以使用受支持的iOS设备和Apple Watch在商店,应用程序和Safari中的网络上以简单,安全和私密的方式支付费用。它对用户来说很简单,它在硬件和软件方面都具有集成的安全性。
    Apple Pay还旨在保护用户的个人信息。 Apple Pay不会收集任何可以绑定回用户的交易信息。付款交易在用户,商家和发卡机构之间。

    1、Apple Pay组件
    • 安全元素:Secure Element是运行Java Card平台的行业标准认证芯片,符合金融行业对电子支付的要求。
    • NFC控制器:NFC控制器处理近场通信协议,并且在应用处理器和Secure Element之间以及Secure Element和销售点终端之间进行通信。
    • 钱包:电子钱包用于添加和管理信用卡,借记卡,奖励和存储卡,并使用Apple Pay付款。用户可以在电子钱包中查看他们的卡片及其发卡机构的其他信息,其发卡机构的隐私政策,最近的交易信息等。用户还可以在“设置助理”和“设置”中将卡添加到Apple Pay。
    • Secure Enclave:在iPhone和iPad以及Apple Watch Series 1和Series 2上,Secure Enclave管理身份验证过程,并可以进行支付交易。它存储Touch ID的指纹数据。
      在Apple Watch上,设备必须被解锁,用户必须双击侧面按钮。检测到双击并将其传递到可用的Secure Element或Secure Enclave,直接通过应用处理器。
    • Apple Pay服务器:Apple Pay服务器管理电子钱包中的信用卡和借记卡状态以及存储在Secure Element中的设备帐号。它们与设备和支付网络服务器通信。 Apple Pay服务器还负责重新加密应用程序内付款的付款凭据。
    2、Apple Pay如何使用Secure Element

    安全元素托管一个专门设计的applet来管理Apple Pay。 它还包括通过支付网络认证的支付小应用程序。 使用仅对支付网络和支付小应用程序的安全域已知的密钥,将信用卡,借记卡或预付卡数据从加密的支付网络或卡发行商发送到这些支付小应用程序。 该数据存储在这些支付小程序中,并使用Secure Element的安全功能进行保护。 在交易期间,终端通过专用硬件总线上的近场通信(NFC)控制器直接与安全元件进行通信。

    3、Apple Pay如何使用NFC控制器

    作为安全元件的网关,NFC控制器确保所有非接触式支付交易是使用与设备非常接近的销售点终端进行的。 只有从现场终端到达的支付请求才被NFC控制器标记为非接触式交易。
    一旦使用Touch ID或密码的卡持有人授权付款,或者通过双击侧面按钮在解锁的Apple Watch上,由Secure Element中的支付小程序准备的非接触式响应由控制器专门路由到NFC领域。 因此,非接触式交易的支付授权细节被包含在本地NFC领域中,并且不会暴露给应用处理器。 相比之下,应用程序和网络中付款的付款授权详细信息将路由到应用程序处理器,但仅在Secure Element加密到Apple Pay Server之后。

    4、信用卡,借记卡和预付卡配置

    当用户向Apple Pay添加信用卡,借记卡或预付卡(包括商店卡)时,Apple会将卡信息以及用户帐户和设备的其他信息安全地发送到发卡机构或发卡机构的授权服务提供商。使用此信息,发卡机构将决定是否批准将该卡添加到Apple Pay。

    Apple Pay使用三个服务器端呼叫来发送和接收与发卡机构或网络的通信,作为卡配置过程的一部分:必填字段,检查卡和链接和配置。发卡机构或网络使用这些呼叫来验证,批准和向Apple Pay添加卡。这些客户端 - 服务器会话使用SSL进行加密。

    完整的卡号不存储在设备或Apple服务器上。相反,唯一的设备帐号被创建,加密,然后存储在安全元素中。这个独特的设备帐号被加密,使得苹果无法访问它。设备帐号是唯一的,不同于通常的信用卡或借记卡号码,发卡机构可以阻止其在磁条卡,电话或网站上的使用。安全元素中的设备帐号与iOS和watchOS隔离,永远不会存储在Apple服务器上,并且不会备份到iCloud。

    有三种方式将信用卡,借记卡或预付卡存入Apple Pay:

    • 手动将卡添加到Apple Pay
    • 从iTunes Store帐户将文件中的信用卡或借记卡添加到Apple Pay
    • 从发卡机构的应用程序中添加卡
    5、付款授权

    在具有Secure Enclave的设备上,Secure Element仅允许在收到Secure Enclave的授权后进行付款。在iPhone或iPad上,这涉及确认用户已通过Touch ID或设备密码进行身份验证。 Touch ID是默认方法,如果可用,但密码可以随时使用,而不是Touch ID。在三次不成功的尝试匹配指纹后,经过五次不成功的尝试之后,会自动提供密码,需要密码。当Touch ID未配置或未启用Apple Pay时,还需要密码。在Apple Watch上,设备必须用密码解锁,并且必须双击侧面按钮进行付款。

    当用户授权交易时,Secure Enclave将发送有关认证类型的签名数据和关于交易类型(非接触式或应用内)的详细信息发送到与授权随机(AR)值相关的安全元素。当用户首次提供信用卡并在Apple Pay启用时被持久保存,AR将在Secure Enclave中生成,受到Secure Enclave的加密和反滚动机制的保护。它通过配对键安全地传递到安全元件。收到新的AR值后,Secure Element将任何先前添加的卡标记为已删除。

    添加到安全元素中的信用卡,借记卡和预付卡只能在使用相同配对密钥授予安全元素和从卡添加时获得AR值的情况下使用。这允许iOS在以下情况下通过将AR的副本标记为无效来指示安全密码卡使其不可用:

    • 禁用密码时。
    • 用户登出iCloud。
    • 用户选择清除所有内容和设置。
    • 设备从恢复模式恢复。

    使用Apple Watch,卡片在以下情况下被标记为无效:

    • 手表的密码被禁用。
    • 手表不配iPhone。
    • 手腕检测关闭。
    6、特定于交易的动态安全码

    来自支付小应用程序的所有支付交易都包括特定于交易的动态安全代码以及设备帐号。 这个一次性代码是使用为每个新交易递增的计数器计算的,以及在个性化期间在支付小程序中提供的并且由支付网络和/或卡发行商已知的密钥。

    7、与Apple Pay接触付款

    如果iPhone开启并检测到NFC字段,它将向用户显示在“设置”中管理的相关信用卡,借记卡,预付卡或默认卡。用户还可以转到电子钱包应用程序并选择信用卡或借记卡,或者设备锁定时,双击主页按钮。

    接下来,用户必须在发送付款信息之前使用Touch ID或其密码验证。当Apple Watch处于解锁状态时,双击侧面按钮将激活默认卡进行付款。没有用户认证没有发送付款信息。

    一旦用户认证,处理付款时将使用设备帐号和特定于交易的动态安全码。 Apple和用户的设备都不会向商家发送完整的实际信用卡或借记卡号码。苹果可能会收到匿名交易信息,例如交易的大致时间和地点,这有助于改善Apple Pay和其他Apple产品和服务。

    8、在应用程序内支付Apple Pay

    Apple Pay还可以用于在iOS应用程序和Apple Watch应用程序中进行支付。当用户使用Apple Pay支付应用程序内容时,Apple会收到加密的交易信息,并在发送给开发人员的密钥之前重新加密开发商或商家。 Apple Pay保留匿名交易信息,如大概购买金额。此信息不能绑定到用户,从不包括用户购买的内容。

    当应用程序启动Apple Pay付款交易时,Apple Pay Server会在商家收到之前从设备接收加密的交易。然后,Apple Pay Server在将交易转发给商家之前,再重新加密商户特定的密钥。

    当应用程序要求付款时,它会调用API来确定设备是否支持Apple Pay,以及用户是否具有可以在商家接受的支付网络上支付的信用卡或借记卡。应用程序请求处理和完成交易所需的任何信息,例如计费和送货地址以及联系信息。然后,该应用程序要求iOS提供要求应用程序的信息的Apple Pay表以及其他必要信息,例如要使用的卡。

    此时,该应用程序会显示城市,州和邮政编码信息,以计算最终的运费。在用户授权使用Touch ID或设备密码进行付款之前,所有的请求信息都不会提供给应用程序。一旦付款被授权,Apple Pay表中提供的信息将被转移给商家。

    当用户授权付款时,向Apple Pay Servers发出呼叫以获得密码随机数。当加密的支付凭证从Secure Element中出来时,它被传递给Apple Pay Server,该Pay Pay对该凭证进行解密,验证凭证中的随机数与Secure Element发送的随机数,并且与商家重新加密支付凭证与商家ID相关联的密钥。然后它返回到设备,通过API将其传回应用程序。然后该应用程序将其传递给商家系统进行处理。然后,商家可以用其私钥来解密支付凭证以进行处理。这与Apple的服务器的签名一起允许商家验证该交易是否针对该特定商家。

    API需要一个指定支持的商家ID的权利。一个应用程序还可以包括要发送给Secure Element的其他数据以进行签名,例如订单号或客户身份,确保交易不能转移到不同的客户。这是由应用程式开发人员完成的。应用程序开发人员可以在PKPaymentRequest上指定applicationData。该数据的哈希包含在加密的支付数据中。商家然后负责验证他们的applicationData哈希符合支付数据中包含的内容。

    9、在网上支付Apple Pay

    Apple Pay可用于在网站上付款。在iOS 10中,Apple Pay交易可以在iPhone和iPad上进行。此外,在MacOS Sierra中,Apple Pay交易可以在Mac上启动,并使用相同的iCloud帐户在支持Apple Pay的iPhone或Apple Watch上完成。

    苹果在网上付款要求所有参与网站向苹果注册。 Apple服务器执行域名验证并发出TLS客户端证书。支持Apple Pay的网站需要通过HTTPS提供其内容。对于每笔付款交易,网站需要使用苹果公司颁发的TLS客户端证书与Apple服务器获得安全且独特的商务会话。商户会话数据由Apple签署。一旦商家会话签名被验证,网站可以查询用户是否具有支持Apple支付的设备,以及他们是否在设备上激活了信用卡,借记卡或预付卡。没有其他细节被共享。如果用户不想共享这些信息,他们可以在MacOS和iOS上的Safari隐私设置中禁用Apple Pay查询。

    10、暂停,删除和删除卡

    用户可以在iPhone,iPad和Apple Watch上运行watchOS 3或更高版本,通过使用Find My iPhone将设备置于Lost模式中来暂停Apple Pay。用户还可以使用“查找我的iPhone”,“iCloud.com”或使用电子钱包直接在其设备上从Apple Pay中删除和删除其卡。在Apple Watch上,可以使用iCloud设置,iPhone上的Apple Watch应用程序,或直接在手表上移除卡片。使用设备上的卡进行付款的功能将由卡发行商或相应的支付网络暂停或从Apple Pay删除,即使该设备离线且未连接到蜂窝或Wi-Fi网络。用户还可以致电其发卡机构从Apple Pay挂起或取出卡。

    此外,当用户使用“查找我的iPhone”或使用恢复模式恢复设备时,使用“删除所有内容和设置”删除整个设备时,iOS将指示安全元素将所有卡片标记为已删除。这具有立即将卡更改为不可用状态的效果,直到可以联系到Apple Pay Server以从Secure Element完全擦除卡。独立地,安全提示将AR标记为无效,以便以前注册的卡的进一步支付授权是不可能的。当设备联机时,它会尝试联系Apple Pay服务器,以确保安全元素中的所有卡被擦除。

    六、Internet Services

    苹果已经建立了一套强大的服务,帮助用户从设备中获得更多的实用和生产力,包括iMessage,FaceTime,Siri,Spotlight Suggestions,iCloud,iCloud Backup和iCloud Keychain。
    这些互联网服务已经建立与iOS在整个平台上推广的相同的安全目标。 这些目标包括数据的安全处理,无论是在设备上休息还是通过无线网络传输; 保护用户的个人信息; 并威胁防范恶意或未经授权的信息和服务。 每个服务都使用自己强大的安全架构,而不会影响iOS的整体易用性。

    1、Apple ID

    Apple ID是用于登录苹果服务的帐户,如iCloud,iMessage,FaceTime,iTunes Store,iBooks Store,App Store等。为了防止未经授权的访问他们的帐户,用户必须保持其Apple ID的安全性。为了帮助这个,苹果需要强大的密码,长度必须至少为八个字符,包含字母和数字,不能包含三个以上的相同字符,不能是常用的密码。鼓励用户通过添加额外的字符和标点符号来超越这些准则,使其密码更加强大。苹果还要求用户设置三个安全问题,这些问题可用于帮助在更改帐户信息或重设忘记的密码时验证所有者的身份。
    当他们的帐户发生重大变化时,苹果还会向用户发送电子邮件和推送通知;例如,如果密码或帐单信息已被更改,或者Apple ID已被用于在新设备上登录。如果有什么看起来不熟悉,用户被要求立即更改其Apple ID密码。

    1、双因素认证

    双因素身份验证是Apple ID的额外安全层。它旨在确保只有帐户的所有者可以访问该帐户,即使其他人知道密码。
    使用双因素身份验证,用户的帐户只能在受信任的设备(如用户的iPhone,iPad或Mac)上访问。要在任何新设备上首次登录,需要两条信息 - Apple ID密码和自动显示在用户受信任设备上或发送到可信任电话号码的六位数验证码。通过输入代码,用户验证他们信任新设备,并且可以安全登录。由于只有密码不足以访问用户的帐户,因此双重身份验证可提高用户的Apple ID和所有权限的安全性他们与苹果存储的个人信息。

    双重身份验证提高了用户的Apple ID及其与Apple存储的个人信息的安全性。它直接集成到iOS,macOS,tvOS,watchOS以及Apple网站使用的身份验证系统中。

    2、两步验证

    自2013年以来,苹果还提供了类似的安全方法,称为两步验证。启用两步验证后,必须通过发送给用户的信任设备之一的临时代码来验证用户的身份,然后更改其Apple ID帐户信息;在登录iCloud,iMessage,FaceTime和Game Center之前;并在从新设备购买iTunes Store,iBooks Store或App Store之前。用户还可以将14个字符的恢复密钥存储在一个安全的位置,以防万一忘记了密码或者丢失了他们信任的设备。

    3、托管的Apple ID

    使用iOS 9.3或更高版本,托管Apple ID的功能与Apple ID类似,但由教育机构拥有和控制。该机构可以重置密码,限制FaceTime和Messages等采购和通信,并为员工,教师和学生设置基于角色的权限。
    某些苹果服务对于托管Apple ID(例如Touch ID,Apple Pay,iCloud Keychain,HomeKit和Find My iPhone)禁用。

    4、审核托管的Apple ID

    受管理的Apple ID也支持审核,允许机构遵守法律和隐私法规。可以向管理员,教师或经理帐户授予特定托管Apple ID的审核权限。审计人员只能监控学校层级中低于他们的账户。也就是说,老师可以监督学生;经理可以审核教师和学生;管理人员可以对经理,教师和学生进行审核。

    5、托管的Apple ID和个人设备

    托管的Apple ID也可以与个人拥有的iOS设备一起使用。学生使用机构发行的托管Apple ID登录iCloud,并使用另外的家庭用户密码作为Apple ID双因素身份认证过程的第二个因素。在个人设备上使用受管理的Apple ID时,iCloud Keychain不可用,机构可能会限制其他功能,例如FaceTime或Messages。学生登录后创建的任何iCloud文档均按照上述规定进行审核。

    七、iMessage

    Apple iMessage是iOS设备和Mac电脑的消息服务。 iMessage支持文本和附件,如照片,联系人和位置。所有用户的注册设备都会显示消息,以便可以从任何用户的设备继续通话。 iMessage广泛使用Apple Push Notification服务(APN)。 Apple不会记录消息或附件,并且它们的内容受到端到端加密的保护,所以发件人和接收者之间除了发送者和接收者之外都不能访问它们。苹果无法解密数据。

    1、iMessage如何发送和接收消息

    用户通过输入地址或名称开始新的iMessage对话。如果他们输入电话号码或电子邮件地址,则设备会联系IDS以检索与收件人相关联的所有设备的公钥和APN地址。如果用户输入名称,设备首先利用用户的联系人应用程序收集与该名称相关联的电话号码和电子邮件地址,然后从IDS获取公钥和APN地址。

    用户的传出消息对于每个接收机的设备被单独加密。从IDS检索接收设备的公共RSA加密密钥。
    根据iOS版本,APN只能中继大小为4 KB或16 KB的邮件。
    如果消息文本太长,或者如果包含照片等附件,则使用随机生成的256位密钥的CTR进行AES加密,并将其上传到iCloud。附件的AES密钥,其URI(统一资源标识符)和其加密形式的SHA-1散列随后作为iMessage的内容发送给收件人,其保密性和完整性通过正常的iMessage加密保护,如如下图所示。



    在接收方,每个设备从APN收到该消息的副本,如有必要,从iCloud检索附件。 发件人的来电号码或电子邮件地址与接收者的联系人相匹配,以便可以显示名称(如果可能)。
    与所有推送通知一样,邮件在传送时从APN中删除。 但是,与其他APN通知不同,iMessage消息将排队等待发送到离线设备。 消息目前存储长达30天。

    2、FaceTime

    FaceTime是苹果的视频和音频呼叫服务。 与iMessage类似,FaceTime呼叫也使用Apple Push Notification服务建立与用户注册设备的初始连接。 FaceTime呼叫的音频/视频内容受到端到端加密的保护,因此除了发送者和接收者之外,没有人可以访问它们。 苹果无法解密数据。

    3、iCloud

    iCloud存储用户的联系人,日历,照片,文档等,并自动将所有设备的信息保持最新。 iCloud也可以被第三方应用程序用于存储和同步文档以及开发人员定义的应用程序数据的键值。用户通过使用Apple ID登录并选择要使用的服务来设置iCloud。 iCloud功能(包括我的照片流,iCloud驱动器和备份)可以由IT管理员通过配置配置文件禁用。该服务与所存储的内容无关,并以相同的方式处理所有文件内容,作为字节集合。

    4、iCloud Keychain

    iCloud Keychain允许用户在iOS设备和Mac电脑之间安全地同步密码,而不会将该信息暴露给Apple。 除了强大的隐私和安全性,其他严重影响iCloud Keychain设计和架构的目标易于使用和恢复钥匙扣的能力。 iCloud Keychain由两个服务组成:钥匙串同步和钥匙串恢复。
    Apple设计了iCloud Keychain和Keychain恢复功能,以便用户密码在以下条件下仍然受到保护:

    • 用户的iCloud帐户遭到入侵。
    • iCloud受外部攻击者或员工的侵害。
    • 第三方访问用户帐户。
    5、Siri

    通过简单的说话,用户可以让Siri发送消息,安排会议,拨打电话等等。 Siri使用语音识别,文本到语音和客户端 - 服务器模型来响应广泛的请求。 Siri支持的任务旨在确保仅使用极少量的个人信息,并完全保护个人信息。

    当Siri打开时,设备会创建与语音识别和Siri服务器一起使用的随机标识符。这些标识符仅在Siri中使用,并用于改进服务。如果Siri随后关闭,则如果Siri重新启动,设备将生成一个新的随机标识符。

    为了方便Siri功能,来自设备的一些用户信息被发送到服务器。这包括有关音乐库(歌曲标题,艺术家和播放列表)的信息,“提醒”列表的名称以及“联系人”中定义的名称和关系。与服务器的所有通信均通过HTTPS。

    当Siri会话启动时,用户的姓名(来自联系人)以及粗略的地理位置将被发送到服务器。这就是Siri可以回应的名字或答案的问题,只需要一个大概的位置,如关于天气。

    如果需要更精确的位置,例如,为了确定附近电影院的位置,服务器要求设备提供更准确的位置。这是一个示例,默认情况下,只有在严格需要处理用户请求时才将信息发送到服务器。无论如何,会话信息在不活动10分钟后被丢弃。

    6、Continuity

    Continuity利用了诸如iCloud,蓝牙和Wi-Fi之类的技术,使用户能够从一个设备到另一个设备继续进行活动,拨打和接收电话,发送和接收短信以及共享蜂窝Internet连接。

    • Handoff
      使用Handoff,当用户的Mac和iOS设备彼此靠近时,用户可以自动将其工作的任何内容从一个设备传递到另一个设备。 Handoff让用户切换设备并立即继续工作。

    • 本地应用程序和网站之间的切换
      Handoff允许iOS本机应用程序在应用程序开发人员合法控制的域中恢复网页。它还允许在Web浏览器中恢复本机应用程序用户活动。
      为了防止本机应用程序声称恢复未由开发人员控制的网站,该应用必须显示对要恢复的网域的合法控制。通过用于共享Web凭据的机制来建立对网站域的控制。有关详细信息,请参阅“加密和数据保护”部分中的“访问Safari保存的密码”。在允许应用程序接受用户活动切换之前,系统必须验证应用的域名控制。

    • 切换较大的数据
      除了Handoff的基本功能之外,一些应用程序可能会选择使用API​​,以支持通过Apple创建的点对点Wi-Fi技术(与AirDrop类似的方式)发送更多数据。例如,Mail应用程序使用这些API来支持切换邮件草稿,其中可能包括大型附件。

    • 通用剪贴板
      通用剪贴板利用切换将设备上的剪贴板内容安全地传输到设备上,以便您可以在一台设备上复制并粘贴到另一台设备上。内容的保护方式与其他切换数据相同,默认情况下与通用剪贴板共享,除非应用程序开发人员选择不允许共享。
      无论用户是否将剪贴板粘贴到应用程序中,应用都可以访问剪贴板数据。使用通用剪贴板,此数据访问扩展到在其他设备上运行的应用程序(由iCloud登录建立)。

    • 自动解锁
      支持自动解锁的Mac电脑使用蓝牙低能耗和点对点Wi-Fi安全地允许用户的Apple Watch解锁Mac。与iCloud帐户关联的每个功能强大的Mac和Apple Watch都必须使用双因素授权(TFA)。

    • iPhone短信转发
      短信转发会自动将在iPhone上收到的短信息发送给用户的已注册的iPad,iPod touch或Mac。每个设备必须使用相同的Apple ID帐户登录到iMessage服务。当SMS消息转发开启时,通过输入iPhone生成的随机六位数字代码,在每个设备上验证注册。
      一旦设备被链接,iPhone就会使用本文档的iMessage部分中描述的方法加密并转发到每个设备的传入SMS文本消息。使用相同的方法将回复发送回iPhone,然后iPhone使用运营商的SMS传输机制将回复作为短信发送。短信设置可以打开或关闭短信转发功能。

    • 即时热点
      支持即时热点的iOS设备使用蓝牙低能量来发现并与已登录到同一iCloud帐户的设备进行通信。兼容的运行OS X Yosemite的Mac电脑,后来使用相同的技术来发现和与Instant Hotspot iOS设备进行通信。
      当用户选择可用于个人热点的设备时,将打开个人热点的请求发送到该设备。然后,该设备将使用相同的每个消息加密与个人热点连接信息在相同的蓝牙低能量链路上进行响应。

    7、Safari建议,Spotlight建议,查找,#images和新闻窗口小部件

    Safari建议,Spotlight建议,查找,#images和新闻窗口小部件向用户显示超出设备的建议,包括维基百科,iTunes Store,本地新闻,地图结果和App Store等等在用户开始输入之前提供建议。
    当用户开始输入Safari地址栏时,打开或使用Spotlight,使用Lookup,打开#images或使用非新闻国家的新闻窗口小部件,以下上下文将使用HTTPS加密到Apple,向用户提供相关的结果:

    • 每15分钟旋转一次的标识符,以保护隐私
    • 用户搜索查询
    • 他们的设备的大致位置,如果他们有位置服务的位置 -

    八、设备控制

    iOS支持灵活的安全策略和易于实施的配置并管理。 这使组织能够保护企业信息,并确保员工满足企业需求,即使他们使用自己提供的设备,例如作为“自带设备”(BYOD)程序的一部分。
    组织可以使用密码保护,配置配置文件,远程擦除和第三方MDM解决方案等资源来管理设备队伍,并帮助企业数据安全,即使员工在其个人iOS设备上访问此数据。

    1、密码保护

    默认情况下,用户的密码可以被定义为数字PIN码。 在具有Touch ID的设备上,最小密码长度为6位数。 在其他设备上,最小长度为四位数。 用户可以通过在设置>密码中的密码选项中选择自定义字母数字代码来指定更长的字母数字密码。 越来越复杂的密码更难猜到或攻击,建议企业使用。
    管理员可以使用MDM或Exchange ActiveSync强制执行复杂的密码要求和其他策略,也可以要求用户手动安装配置文件。

    2、iOS配对模式

    iOS使用配对模型来控制从主机访问设备。
    配对在设备与其连接的主机之间建立了一个三分法关系,由公钥交换表示。 iOS使用这种信任符号来启用连接主机的其他功能,例如数据同步。在iOS 9中,需要配对的服务无法启动,直到设备解锁为止。此外,在iOS 10中,某些服务(包括照片同步)需要解锁设备才能开始。

    配对过程要求用户解锁设备并接受来自主机的配对请求。用户完成此操作后,主机和设备进行交换
    在IOS 9中,如果配对记录未使用六个月以上,则会过期。

    3、配置强制

    配置配置文件是允许管理员将配置信息分发到iOS设备的XML文件。由安装的配置文件定义的设置不能由用户更改。如果用户删除配置配置文件,则配置文件定义的所有设置也将被删除。以这种方式,管理员可以通过将策略绑定到访问来强制进行设置。例如,提供电子邮件配置的配置配置文件也可以指定设备密码策略。用户无法访问邮件,除非他们的密码符合管理员的要求。

    配置配置文件也可以锁定到设备,以完全阻止其删除,或仅允许使用密码进行删除。由于许多企业用户拥有自己的iOS设备,因此可以删除将设备绑定到MDM服务器的配置配置文件,但这样做也可以删除所有托管配置信息,数据和应用程序。

    用户可以使用Apple Configurator直接在设备上安装配置配置文件,也可以通过Safari下载,通过邮件发送,也可以使用MDM服务器在空中发送。

    4、移动设备管理(MDM)

    iOS对MDM的支持使企业可以安全地配置和管理整个企业的iPhone和iPad扩展规模。 MDM功能基于现有的iOS技术,如配置配置文件,空中报名和Apple Push Notification服务(APN)。例如,APN用于唤醒设备,以便可以通过安全连接与其MDM服务器直接通信。不通过APN传送机密或专有信息。
    使用MDM,IT部门可以在企业环境中注册iOS设备,无线配置和更新设置,监控企业策略的合规性,甚至远程擦除或锁定受管设备。

    5、共享iPad

    共享的iPad是用于教育iPad部署的多用户模式。它允许学生在不共享文档和数据的情况下共享iPad。共享的iPad需要使用由学校发行和拥有的托管Apple ID。共享的iPad使学生能够登录到多个学生配置的任何组织拥有的设备。
    学生数据被分成独立的主目录,每个主目录都受到UNIX权限和沙盒的保护。当学生登录时,托管的Apple ID使用SRP协议与Apple的身份服务器进行身份验证。如果成功,则授予特定于设备的短命令访问令牌。如果学生以前使用过该设备,他们已经有一个本地用户帐户被解锁了。

    6、Apple School Manager

    苹果学校管理器是为教育机构提供服务,使他们能够购买内容,配置移动设备管理自动设备注册(MDM)解决方案,为学生和员工创建帐户,并设置iTunes U课程。 苹果学校管理器可通过网络访问,专为技术管理人员,IT管理员,员工和教师而设计。

    7、设备注册

    设备注册计划(DEP)提供了一种快速,简化的部署iOS设备的方式,组织直接从苹果或通过参与的Apple授权经销商和运营商购买了该设备。设备注册也是教育机构的苹果学校经理的一个综合功能。

    8、远程擦拭

    iOS设备可以由管理员或用户远程删除。即时远程擦除是通过安全地丢弃来自Effaceable Storage的块存储加密密钥来实现的,从而使所有数据不可读。远程擦除命令可由MDM,Exchange或iCloud发起。
    当MDM或iCloud触发远程擦除命令时,设备将发送确认并执行擦除。要通过Exchange进行远程擦除,设备将在执行擦除之前与Exchange Server进行签入。
    用户还可以使用“设置”应用程序擦除其拥有的设备。如上所述,设备可以设置为在一系列失败的密码尝试后自动擦除。

    9、丢失模式

    如果设备丢失或被盗,MDM管理员可以使用iOS 9.3或更高版本在受监督的设备上远程启用丢失模式。当启用丢失模式时,当前用户已注销,设备无法解锁。屏幕显示可由管理员自定义的消息,例如显示要发现设备的电话号码。当设备进入丢失模式时,管理员可以请求设备发送其当前位置。当管理员关闭“丢失模式”模式时,可以退出模式的唯一方法是通过锁定屏幕上的消息和主屏幕上的警报通知用户此操作。

    10、激活锁

    当查找我的iPhone开启时,如果不输入所有者的Apple ID凭据,则无法重新启动设备。
    使用组织拥有的设备,监控设备是一个好主意,以便组织可以管理激活锁定,而不是依靠个人用户输入其Apple ID凭据来重新激活设备。
    在受监督的设备上,启用激活锁定时,兼容的MDM解决方案可以存储旁路代码,此后,当需要擦除设备并将其分配给新用户时,此代码随后可以自动清除激活锁定。

    默认情况下,即使用户打开“查找我的iPhone”,受监控设备也不会启用激活锁定。但是,MDM服务器可以检索旁路代码,并允许在设备上启用激活锁定。如果在MDM服务器启用激活锁定时,如果启用了“查找我的iPhone”,那么它将在此时启用。如果在MDM服务器启用激活锁定时关闭“查找我的iPhone”,则在下次用户激活“查找我的iPhone”时启用它。

    九、隐私控制

    1、位置服务

    位置服务使用GPS,蓝牙和人群来源的Wi-Fi热点和信元塔位置来确定用户的大致位置。位置服务可以使用设置中的单个开关关闭,或者用户可以批准访问使用该服务的每个应用程序。应用程式可能会要求在应用程式正在使用时接收位置资料,或随时允许使用。用户可以选择不允许此访问,并可以随时在“设置”中更改其选择。从设置,可以将访问设置为永不允许,允许在使用时,或总是,这取决于应用程序的请求的位置使用。此外,如果随时允许访问使用位置的应用程序在后台模式下使用此权限,则会提醒用户他们的批准,并可能会更改应用程序的访问权限。

    2、访问个人资料

    iOS有助于防止应用程序未经许可访问用户的个人信息。 此外,在“设置”中,用户可以看到他们允许访问某些应用程序信息,以及授予或撤销权限
    •联系人
    •日历
    •提醒
    • 相片
    •运动活动和健身
    • 位置服务
    •媒体库
    •社交媒体帐户,如Twitter和Facebook访问。
    •麦克风
    •相机
    •HomeKit
    •健康
    •语音识别
    •蓝牙共享
    如果用户登录到iCloud,默认情况下会将应用程序存取到iCloud Drive。 用户可以在“设置”中控制iCloud下的每个应用的访问。 此外,iOS提供了限制,可以防止MDM和用户安装的应用和帐户之间的数据移动。

    十、苹果安全赏金

    苹果奖励与苹果分享关键问题的研究人员。 为了有资格获得苹果安全奖金,研究人员需要提供一个明确的报告和工作证明的概念。 该漏洞必须影响最新的iOS和相关的最新硬件。 确切的支付金额将由Apple审查后确定。 标准包括新颖性,暴露的可能性以及所需的用户交互程度。
    一旦问题得到妥善分享,苹果就可以尽快解决已确认的问题。 除非另有要求,否则苹果将提供公众认可。

    感觉眼睛快瞎了

    相关文章

      网友评论

      • WELCommand:卧槽 真牛逼啊 写了这么多 给大神跪了
        WELCommand:不不不 大神这篇文章被各大网站竞相转载 实乃造福iOS届之幸事 再次给跪
        si1ence:@WELCommand 草。。。给AFN提过代码的人又来嘲笑我等菜鸡了
      • PPAbner:牛逼,话说刚看完了APP的部分,你这可出来了翻译的!
        PPAbner:@si1ence 看了下,还不错,棒棒的,起码你有时间做了我没有做的事!!!
        si1ence:@PP_Abner 蹭了个热点哈哈
      • d94098065219:好东西,已收藏

      本文标题:iOS Security 苹果安全白皮书都讲了些啥?

      本文链接:https://www.haomeiwen.com/subject/tbsrottx.html