编程开发tom闻道丶iOS(尝鲜版)

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

2017-03-27  本文已影响1826人  si1ence

原文地址

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

苹果设计的 iOS 平台向来是以安全为核心,此次白皮书大概讲了以下几个方面的安全:
• 系统安全性:集成和安全的软件和硬件,是iPhone,iPad和iPod touch的平台。
• 加密和防护:如果设备丢失或被盗,或未经授权的人员尝试使用或修改设备,则进行体系结构和设计以保护用户数据。
• 应用安全性:系统可以安全地安全地并且不破坏平台的完整性。
• 网络安全性:为传输数据提供安全认证和加密的行业标准网络协议。
• 苹果支付:苹果执行安全支付。
• 互联网服务:苹果基于网络的基础设施,用于消息,同步和备份。
• 设备控制:允许管理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还克服了基于密码的锁的不便,而不是通过替换它,而是通过在周到的边界和时间限制内安全地提供对设备的访问。

二、加密和数据保护

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

1、硬件安全功能

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

2、文件数据保护

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

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



#warnig 快看这两个API
SecRequestSharedWebCredential
SecAddSharedWebCredential
#warnig 快看这两个API

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

三、App Security

1、应用程式代码签名

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

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

2、运行时进程安全

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

3、扩展

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

4、应用程序组

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

5、Data Protection in apps

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

6、HomeKit

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

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设备的运动协处理器。

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连接。

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组件
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:

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的副本标记为无效来指示安全密码卡使其不可用:

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

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恢复功能,以便用户密码在以下条件下仍然受到保护:

5、Siri

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

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

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

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

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

6、Continuity

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

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

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

八、设备控制

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审查后确定。 标准包括新颖性,暴露的可能性以及所需的用户交互程度。
一旦问题得到妥善分享,苹果就可以尽快解决已确认的问题。 除非另有要求,否则苹果将提供公众认可。

感觉眼睛快瞎了

上一篇下一篇

猜你喜欢

热点阅读