iMessage
Apple iMessage is a messaging service for iOS devices and Mac computers. iMessage 
supports text and attachments such as photos, contacts, and locations. Messages 
appear on all of a user’s registered devices so that a conversation can be continued 
from any of the user’s devices. iMessage makes extensive use of the Apple Push 
Notification service (APNs). Apple does not log messages or attachments, and their 
contents are protected by end-to-end encryption so no one but the sender and 
receiver can access them. Apple cannot decrypt the data. 
When a user turns on iMessage on a device, the device generates two pairs of keys for 
use with the service: an RSA 1280-bit key for encryption and an ECDSA 256-bit key on 
the NIST P-256 curve for signing. The private keys for both key pairs are saved in the 
device’s keychain and the public keys are sent to Apple’s directory service (IDS), where 
they are associated with the user’s phone number or email address, along with the 
device’s APNs address. 
As users enable additional devices for use with iMessage, their encryption and signing 
public keys, APNs addresses, and associated phone numbers are added to the directory 
service. Users can also add more email addresses, which will be verified by sending a 
confirmation link. Phone numbers are verified by the carrier network and SIM. Further, 

all of the user’s registered devices display an alert message when a new device, phone 
number, or email address is added. 
How iMessage sends and receives messages 
Users start a new iMessage conversation by entering an address or name. If they enter 

a phone number or email address, the device contacts the IDS to retrieve the public 
keys and APNs addresses for all of the devices associated with the addressee. If the 

user enters a name, the device first utilizes the user’s Contacts app to gather the phone 
numbers and email addresses associated with that name, then gets the public keys 

and APNs addresses from the IDS. 
The user’s outgoing message is individually encrypted for each of the receiver’s 
devices. The public RSA encryption keys of the receiving devices are retrieved from 

IDS. For each receiving device, the sending device generates a random 128-bit key 

and encrypts the message with it using AES in CTR mode. This per-message AES key is 
encrypted using RSA-OAEP to the public key of the receiving device. The combination 
of the encrypted message text and the encrypted message key is then hashed with 
SHA-1, and the hash is signed with ECDSA using the sending device’s private signing 
key. The resulting messages, one for each receiving device, consist of the encrypted 
message text, the encrypted message key, and the sender’s digital signature. They are 
then dispatched to the APNs for delivery. Metadata, such as the timestamp and APNs 
routing information, is not encrypted. Communication with APNs is encrypted using a 
forward-secret TLS channel. 
APNs can only relay messages up to 4 KB or 16 KB in size, depending on iOS version. 

If the message text is too long, or if an attachment such as a photo is included, the 
attachment is encrypted using AES in CTR mode with a randomly generated 256-bit 

key and uploaded to iCloud. The AES key for the attachment, its URI (Uniform Resource 
Identifier), and a SHA-1 hash of its encrypted form are then sent to the recipient as the 
contents of an iMessage, with their confidentiality and integrity protected through 
normal iMessage encryption, as shown below.  
iOS Security—White Paper  |  May 2016 
41
Pdf to tiff - software SDK project:C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net, ASP.NET MVC, Ajax, WinForms, WPF
Online C# Tutorial for How to Convert PDF File to Tiff Image File
www.rasteredge.com
Pdf to tiff - software SDK project:VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.net, ASP.NET MVC, Ajax, WinForms, WPF
Free VB.NET Guide to Render and Convert PDF Document to TIFF
www.rasteredge.com
For group conversations, this process is repeated for each recipient and their devices. 
On the receiving side, each device receives its copy of the message from APNs, and, if 
necessary, retrieves the attachment from iCloud. The incoming phone number or email 
address of the sender is matched to the receiver’s contacts so that a name can be 
displayed, if possible. 
As with all push notifications, the message is deleted from APNs when it is delivered. 
Unlike other APNs notifications, however, iMessage messages are queued for delivery 

to offline devices. Messages are currently stored for up to 30 days. 
FaceTime
FaceTime is Apple’s video and audio calling service. Similar to iMessage, FaceTime calls 
also use the Apple Push Notification service to establish an initial connection to the 
user’s registered devices. The audio/video contents of FaceTime calls are protected by 
end-to-end encryption, so no one but the sender and receiver can access them. Apple 
cannot decrypt the data. 
FaceTime uses Internet Connectivity Establishment (ICE) to establish a peer-to-peer 
connection between devices. Using Session Initiation Protocol (SIP) messages, the 
devices verify their identity certificates and establish a shared secret for each session. 
The cryptographic nonces supplied by each device are combined to salt keys for each 

of the media channels, which are streamed via Secure Real Time Protocol (SRTP) using 
AES-256 encryption. 
iCloud
iCloud stores a user’s contacts, calendars, photos, documents, and more and keeps the 
information up to date across all of their devices, automatically. iCloud can also be used 
by third-party apps to store and sync documents as well as key values for app data as 
defined by the developer. Users set up iCloud by signing in with an Apple ID and 
choosing which services they would like to use. iCloud features, including My Photo 
Stream, iCloud Drive, and Backup, can be disabled by IT administrators via a configuration 
profile. The service is agnostic about what is being stored and handles all file content 
the same way, as a collection of bytes.  
User 2
Attachment
encrypted with
random key
Public key 
and APNs token 
for user 2
iCloud
IDS
User 1
Public key 
and APNs token 
for user 1
Signed and encrypted 
message for user 2 with URI and 
key for attachment
APNs
iOS Security—White Paper  |  May 2016 
42
software SDK project:Online Convert PDF file to Tiff. Best free online PDF Tif
Online PDF to Tiff Converter. Download Free Trial. Then just wait until the conversion from PDF to Tiff is complete and download the file.
www.rasteredge.com
software SDK project:C# Create PDF from Tiff Library to convert tif images to PDF in C#
Create PDF from Tiff. |. Home ›› XDoc.PDF ›› C# PDF: Create PDF from Tiff. C#.NET PDF - .NET PDF Library for Creating PDF from Tiff in C#.
www.rasteredge.com
Each file is broken into chunks and encrypted by iCloud using AES-128 and a key 
derived from each chunk’s contents that utilizes SHA-256. The keys, and the file’s 
metadata, are stored by Apple in the user’s iCloud account. The encrypted chunks of 
the file are stored, without any user-identifying information, using third-party storage 
services, such as Amazon S3 and Windows Azure. 
iCloud Drive 
iCloud Drive adds account-based keys to protect documents stored in iCloud. As with 
existing iCloud services, it chunks and encrypts file contents and stores the encrypted 
chunks using third-party services. However, the file content keys are wrapped by record 
keys stored with the iCloud Drive metadata. These record keys are in turn protected by 
the user’s iCloud Drive service key, which is then stored with the user’s iCloud account. 
Users get access to their iCloud documents metadata by having authenticated with 
iCloud, but must also possess the iCloud Drive service key to expose protected parts 

of iCloud Drive storage. 
CloudKit 
CloudKit allows app developers to store key-value data, structured data, and assets in 
iCloud. Access to CloudKit is controlled using app entitlements. CloudKit supports both 
public and private databases. Public databases are used by all copies of the app, typically 
for general assets, and are not encrypted. Private databases store the user’s data. 
As with iCloud Drive, CloudKit uses account-based keys to protect the information 
stored in the user’s private database and, similar to other iCloud services, files are 
chunked, encrypted, and stored using third-party services. CloudKit utilizes a hierarchy 
of keys, similar to Data Protection. The per-file keys are wrapped by CloudKit Record 
keys. The Record keys, in turn, are protected by a zone-wide key, which is protected by 
the user’s CloudKit Service key. The CloudKit Service key is stored in the user’s iCloud 
account and is available only after the user has authenticated with iCloud. 
iOS Security—White Paper  |  May 2016 
43
CloudKit
Zone Key
CloudKit
Record Key
File
Metadata
File
Chunk List
CloudKit
Service Key
Convergent
Encryption
File
Chunk
software SDK project:Online Convert PDF file to Word. Best free online PDF Conversion
Creating a PDF from Tiff/Tif has never been so easy! Web Security. Your PDF and Tiff/Tif files will be deleted from our servers an hour after the conversion.
www.rasteredge.com
software SDK project:Online Convert Excel to PDF file. Best free online export xlsx
Online Excel to PDF Converter. Download Free Trial. Convert a Excel File to PDF. Drag and drop your excel file into the box or
www.rasteredge.com
iCloud Backup 
iCloud also backs up information—including device settings, app data, photos, and 
videos in the Camera Roll, and conversations in the Messages app—daily over Wi-Fi. 
iCloud secures the content by encrypting it when sent over the Internet, storing it in 

an encrypted format, and using secure tokens for authentication. iCloud Backup occurs 
only when the device is locked, connected to a power source, and has Wi-Fi access to 
the Internet. Because of the encryption used in iOS, the system is designed to keep 

data secure while allowing incremental, unattended backup and restoration to occur. 
Here’s what iCloud backs up: 
• Information about purchased music, movies, TV shows, apps, and books, but not 

the purchased content itself 
Photos and videos in Camera Roll 
Contacts, calendar events, reminders, and notes 
• Device settings 
App data 
PDFs and books added to iBooks but not purchased 
• Call history 
Home screen and app organization 
iMessage, text (SMS), and MMS messages 
• Ringtones 
HomeKit data 
HealthKit data 
• Visual Voicemail 
When files are created in Data Protection classes that are not accessible when the 
device is locked, their per-file keys are encrypted using the class keys from the iCloud 
Backup keybag. Files are backed up to iCloud in their original, encrypted state. Files in 
Data Protection class No Protection are encrypted during transport. 
The iCloud Backup keybag contains asymmetric (Curve25519) keys for each Data 
Protection class, which are used to encrypt the per-file keys. For more information 
about the contents of the backup keybag and the iCloud Backup keybag, see “Keychain 
Data Protection” in the Encryption and Data Protection section. 
The backup set is stored in the user’s iCloud account and consists of a copy of the 

user’s files, and the iCloud Backup keybag. The iCloud Backup keybag is protected by 
a random key, which is also stored with the backup set. (The user’s iCloud password is 
not utilized for encryption so that changing the iCloud password won’t invalidate 
existing backups.) 
While the user’s keychain database is backed up to iCloud, it remains protected by a 
UID-tangled key. This allows the keychain to be restored only to the same device from 
which it originated, and it means no one else, including Apple, can read the user’s 
keychain items. 
On restore, the backed-up files, iCloud Backup keybag, and the key for the keybag are 
retrieved from the user’s iCloud account. The iCloud Backup keybag is decrypted using 
its key, then the per-file keys in the keybag are used to decrypt the files in the backup 
set, which are written as new files to the file system, thus re-encrypting them as per 
their Data Protection class. 

iOS Security—White Paper  |  May 2016 
44
software SDK project:VB.NET Create PDF from Tiff Library to convert tif images to PDF
Create PDF from Word. Create PDF from Excel. Create PDF from PowerPoint. Create PDF from Tiff. Create VB.NET PDF - Convert Tiff to PDF. Online
www.rasteredge.com
software SDK project:RasterEdge XDoc.Tiff for .NET - SDK for Tiff Document Imaging
Able to view and edit Tiff rapidly. Convert. Convert Tiff to PDF. Convert Tiff to Jpeg Images. Convert PDF to Tiff. Convert Jpeg Images to Tiff. Tiff File Process
www.rasteredge.com
iCloud Keychain
iCloud Keychain allows users to securely sync their passwords between iOS devices 

and Mac computers without exposing that information to Apple. In addition to strong 
privacy and security, other goals that heavily influenced the design and architecture of 
iCloud Keychain were ease of use and the ability to recover a keychain. iCloud Keychain 
consists of two services: keychain syncing and keychain recovery. 
Apple designed iCloud Keychain and keychain recovery so that a user’s passwords are 
still protected under the following conditions: 
A user’s iCloud account is compromised. 
iCloud is compromised by an external attacker or employee. 
• Third-party access to user accounts. 
Keychain syncing 
When a user enables iCloud Keychain for the first time, the device establishes a circle 

of trust and creates a syncing identity for itself. A syncing identity consists of a private 
key and a public key. The public key of the syncing identity is put in the circle, and the 
circle is signed twice: first by the private key of the syncing identity, then again with an 
asymmetric elliptical key (using P256) derived from the user’s iCloud account password. 
Also stored with the circle are the parameters (random salt and iterations) used to create 
the key that is based on the user’s iCloud password.  
The signed syncing circle is placed in the user’s iCloud key value storage area. It cannot 
be read without knowing the user’s iCloud password, and cannot be modified validly 
without having the private key of the syncing identity of its member.  
When the user turns on iCloud Keychain on another device, the new device notices in 
iCloud that the user has a previously established syncing circle that it is not a member 
of. The device creates its syncing identity key pair, then creates an application ticket to 
request membership in the circle. The ticket consists of the device’s public key of its 
syncing identity, and the user is asked to authenticate with their iCloud password. The 
elliptical key generation parameters are retrieved from iCloud and generate a key that 
is used to sign the application ticket. Finally, the application ticket is placed in iCloud.  
When the first device sees that an application ticket has arrived, it displays a notice 

for the user to acknowledge that a new device is asking to join the syncing circle. The 
user enters their iCloud password, and the application ticket is verified as signed by a 
matching private key. This establishes that the person who generated the request to 

join the circle entered the user’s iCloud password at the time the request was made.  
Upon the user’s approval to add the new device to the circle, the first device adds the 
public key of the new member to the syncing circle, signs it again with both its syncing 
identity and the key derived from the user’s iCloud password. The new syncing circle is 
placed in iCloud, where it is similarly signed by the new member of the circle. 
There are now two members of the signing circle, and each member has the public 

key of its peer. They now begin to exchange individual keychain items via iCloud key 
value storage. If both circle members have the same item, the one with the most 

recent modification date will be synced. Items are skipped if the other member has 

the item and the modification dates are identical. Each item that is synced is encrypted 
specifically for the device it is being sent to. It cannot be decrypted by other devices 

or Apple. Additionally, the encrypted item is ephemeral in iCloud; it’s overwritten with 
each new item that’s synced.  
This process is repeated as new devices join the syncing circle. For example, when a 
third device joins, the confirmation appears on both of the other user’s devices. The 

iOS Security—White Paper  |  May 2016 
45
Safari integration with iCloud Keychain 
Safari can automatically generate 
cryptographically strong random strings 
for website passwords, which are stored 
in Keychain and synced to your other 
devices. Keychain items are transferred 
from device to device, traveling through 
Apple servers, but are encrypted in such 
a way that Apple and other devices 
cannot read their contents. 
software SDK project:C# WPF Viewer: Load, View, Convert, Annotate and Edit Tiff
Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert PDF to Image; Tiff Conversion. • Convert Tiff image to PDF (.pdf). Tiff Annotation.
www.rasteredge.com
software SDK project:C# WinForms Viewer: Load, View, Convert, Annotate and Edit Tiff
Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert PDF to Image; Tiff Conversion. • Convert Tiff image to PDF (.pdf). Tiff Annotation.
www.rasteredge.com
user can approve the new member from either of those devices. As new peers are 
added, each peer syncs with the new one to ensure that all members have the same 
keychain items.  
However, the entire keychain is not synced. Some items are device-specific, such 

as VPN identities, and shouldn’t leave the device. Only items with the attribute 
kSecAttrSynchronizable are synced. Apple has set this attribute for Safari 

user data (including user names, passwords, and credit card numbers), as well as 

Wi-Fi passwords and HomeKit encryption keys. 
Additionally, by default, keychain items added by third-party apps do not sync. 
Developers must set the kSecAttrSynchronizable when adding items to 

the keychain. 
Keychain recovery 
Keychain recovery provides a way for users to optionally escrow their keychain with 
Apple, without allowing Apple to read the passwords and other data it contains. Even 

if the user has only a single device, keychain recovery provides a safety net against 

data loss. This is particularly important when Safari is used to generate random, strong 
passwords for web accounts, as the only record of those passwords is in the keychain. 
A cornerstone of keychain recovery is secondary authentication and a secure escrow 
service, created by Apple specifically to support this feature. The user’s keychain is 
encrypted using a strong passcode, and the escrow service will provide a copy of the 
keychain only if a strict set of conditions are met. 
When iCloud Keychain is turned on, the user is asked to create an iCloud Security Code. 
This code is required to recover an escrowed keychain. By default, the user is asked to 
provide a simple four-digit value for the security code. However, users can also specify 
their own, longer code, or let their devices create a cryptographically random code that 
they can record and keep on their own. 
Next, the iOS device exports a copy of the user’s keychain, encrypts it wrapped with 
keys in an asymmetric keybag, and places it in the user’s iCloud key value storage area. 
The keybag is wrapped with the user’s iCloud Security Code and the public key of 
the HSM (hardware security module) cluster that will store the escrow record. This 
becomes the user’s iCloud Escrow Record. 
If the user decided to accept a cryptographically random security code, instead of 
specifying their own or using a four-digit value, no escrow record is necessary. Instead, 
the iCloud Security Code is used to wrap the random key directly. 
In addition to establishing a security code, users must register a phone number. This 

is used to provide a secondary level of authentication during keychain recovery. The 
user will receive an SMS that must be replied to in order for the recovery to proceed. 
Escrow security 
iCloud provides a secure infrastructure for keychain escrow that ensures only authorized 
users and devices can perform a recovery. Topographically positioned behind iCloud 
are clusters of hardware security modules (HSM). These clusters guard the escrow 
records. Each has a key that is used to encrypt the escrow records under their watch, 

as described previously.  
iOS Security—White Paper  |  May 2016 
46
To recover a keychain, users must authenticate with their iCloud account and password 
and respond to an SMS sent to their registered phone number. Once this is done, users 
must enter their iCloud Security Code. The HSM cluster verifies that a user knows their 
iCloud Security Code using Secure Remote Password protocol (SRP); the code itself 

is not sent to Apple. Each member of the cluster independently verifies that the user 
has not exceeded the maximum number of attempts that are allowed to retrieve their 
record, as discussed below. If a majority agree, the cluster unwraps the escrow record 
and sends it to the user’s device.  
Next, the device uses the iCloud Security Code to unwrap the random key used to 
encrypt the user’s keychain. With that key, the keychain—retrieved from iCloud key value 
storage—is decrypted and restored onto the device. Only 10 attempts to authenticate 
and retrieve an escrow record are allowed. After several failed attempts, the record is 
locked and the user must call Apple Support to be granted more attempts. After the 
10th failed attempt, the HSM cluster destroys the escrow record and the keychain is lost 
forever. This provides protection against a brute-force attempt to retrieve the record, at 
the expense of sacrificing the keychain data in response.  
These policies are coded in the HSM firmware. The administrative access cards that 
permit the firmware to be changed have been destroyed. Any attempt to alter the 
firmware or access the private key will cause the HSM cluster to delete the private key. 
Should this occur, the owners of all keychains protected by the cluster will receive a 
message informing them that their escrow record has been lost. They can then choose 
to re-enroll.  
Siri
By simply talking naturally, users can enlist Siri to send messages, schedule meetings, 
place phone calls, and more. Siri uses speech recognition, text-to-speech, and a client- 
server model to respond to a broad range of requests. The tasks that Siri supports 

have been designed to ensure that only the absolute minimal amount of personal 
information is utilized and that it is fully protected.  
When Siri is turned on, the device creates random identifiers for use with the voice 
recognition and Siri servers. These identifiers are used only within Siri and are utilized 

to improve the service. If Siri is subsequently turned off, the device will generate a new 
random identifier to be used if Siri is turned back on.  
In order to facilitate Siri’s features, some of the user’s information from the device is 
sent to the server. This includes information about the music library (song titles, artists, 
and playlists), the names of Reminders lists, and names and relationships that are 
defined in Contacts. All communication with the server is over HTTPS.  
When a Siri session is initiated, the user’s first and last name (from Contacts), along with 
a rough geographic location, is sent to the server. This is so Siri can respond with the 
name or answer questions that only need an approximate location, such as those 
about the weather. 
If a more precise location is necessary, for example, to determine the location of nearby 
movie theaters, the server asks the device to provide a more exact location. This is an 
example of how, by default, information is sent to the server only when it’s strictly 
necessary to process the user’s request. In any event, session information is discarded 
after 10 minutes of inactivity.

iOS Security—White Paper  |  May 2016 
47
When Siri is used from Apple Watch, the watch creates its own random unique identifier, 
as described above. However, instead of sending the user’s information again, its requests 
also send the Siri identifier of the paired iPhone to provide a reference to that information. 
The recording of the user’s spoken words is sent to Apple’s voice recognition server. 

If the task involves dictation only, the recognized text is sent back to the device. 
Otherwise, Siri analyzes the text and, if necessary, combines it with information from the 
profile associated with the device. For example, if the request is “send a message to my 
mom,” the relationships and names that were uploaded from Contacts are utilized. The 
command for the identified action is then sent back to the device to be carried out. 
Many Siri functions are accomplished by the device under the direction of the server. 

For example, if the user asks Siri to read an incoming message, the server simply tells 

the device to speak the contents of its unread messages. The contents and sender of 

the message are not sent to the server. 
User voice recordings are saved for a six-month period so that the recognition system 
can utilize them to better understand the user’s voice. After six months, another copy is 
saved, without its identifier, for use by Apple in improving and developing Siri for up to 
two years. Additionally, some recordings that reference music, sports teams and players, 
and businesses or points of interest are similarly saved for purposes of improving Siri. 
Siri can also be invoked hands-free via voice activation. The voice trigger detection is 
performed locally on the device. In this mode, Siri is activated only when the incoming 
audio pattern sufficiently matches the acoustics of the specified trigger phrase. When the 
trigger is detected, the corresponding audio including the subsequent Siri command is 
sent to Apple’s voice recognition server for further processing, which follows the same 
rules as other user voice recordings made through Siri. 
Continuity
Continuity
takes advantage of technologies like iCloud, Bluetooth, and Wi-Fi to enable 
users to continue an activity from one device to another, make and receive phone calls, 
send and receive text messages, and share a cellular Internet connection. 
Handoff 
With Handoff, when a user’s Mac and iOS device are near each other, the user can 
automatically pass whatever they’re working on from one device to the other. Handoff 
lets the user switch devices and instantly continue working. 
When a user signs in to iCloud on a second Handoff capable device, the two devices 
establish a Bluetooth Low Energy 4.0 pairing out-of-band using the Apple Push 
Notification service (APNs). The individual messages are encrypted in a similar fashion 

to iMessage. Once the devices are paired, each will generate a symmetric 256-bit 

AES key that gets stored in the device’s keychain. This key is used to encrypt and 
authenticate the Bluetooth Low Energy advertisements that communicate the device’s 
current activity to other iCloud paired devices using AES-256 in GCM mode, with replay 
protection measures. The first time a device receives an advertisement from a new 

key, it will establish a Bluetooth Low Energy connection to the originating device and 
perform an advertisement encryption key exchange. This connection is secured using 
standard Bluetooth Low Energy 4.0 encryption as well as encryption of the individual 
messages, which is similar to how iMessage is encrypted. In some situations, these 
messages will go via the Apple Push Notification service instead of Bluetooth Low Energy. 
The activity payload is protected and transferred in the same way as an iMessage. 
iOS Security—White Paper  |  May 2016 
48
Handoff between native apps and websites 
Handoff allows an iOS native app to resume webpages in domains legitimately 
controlled by the app developer. It also allows the native app user activity to be 
resumed in a web browser. 
To prevent native apps from claiming to resume websites not controlled by the 
developer, the app must demonstrate legitimate control over the web domains it 

wants to resume. Control over a website domain is established via the mechanism 

used for shared web credentials. For details, refer to “Access to Safari saved passwords” 

in the Encryption and Data Protection section. The system must validate an app’s 
domain name control before the app is permitted to accept user activity Handoff.  
The source of a webpage Handoff can be any browser that has adopted the Handoff 
APIs. When the user views a webpage, the system advertises the domain name of the 
webpage in the encrypted Handoff advertisement bytes. Only the user’s other devices 
can decrypt the advertisement bytes (as previously described in the section above). 
On a receiving device, the system detects that an installed native app accepts Handoff 
from the advertised domain name and displays that native app icon as the Handoff 
option. When launched, the native app receives the full URL and the title of the 
webpage. No other information is passed from the browser to the native app. 
In the opposite direction, a native app may specify a fallback URL when a Handoff-
receiving device does not have the same native app installed. In this case, the system 
displays the user’s default browser as the Handoff app option (if that browser has 
adopted Handoff APIs). When Handoff is requested, the browser will be launched and 
given the fallback URL provided by the source app. There is no requirement that the 
fallback URL be limited to domain names controlled by the native app developer. 
Handoff of larger data 
In addition to the basic feature of Handoff, some apps may elect to use APIs that 
support sending larger amounts of data over Apple-created peer-to-peer Wi-Fi 
technology (in a similar fashion to AirDrop). For example, the Mail app uses these 

APIs to support Handoff of a mail draft, which may include large attachments. 
When an app uses this facility, the exchange between the two devices starts off just 

as in Handoff (see previous sections). However, after receiving the initial payload using 
Bluetooth Low Energy, the receiving device initiates a new connection over Wi-Fi. This 
connection is encrypted (TLS), which exchanges their iCloud identity certificates. The 
identity in the certificates is verified against the user’s identity. Further payload data is 
sent over this encrypted connection until the transfer is complete. 
iPhone Cellular Call Relay 
When your Mac, iPad, or iPod is on the same Wi-Fi network as your iPhone, it can 

make and receive phone calls using your iPhone cellular connection. Configuration 
requires your devices to be signed in to both iCloud and FaceTime using the same 

Apple ID account. 
When an incoming call arrives, all configured devices will be notified via the Apple 
Push Notification service (APNs), with each notification using the same end-to-end 
encryption as iMessage uses. Devices that are on the same network will present the 
incoming call notification UI. Upon answering the call, the audio will be seamlessly 
transmitted from your iPhone using a secure peer-to-peer connection between the 
two devices.  
iOS Security—White Paper  |  May 2016 
49
When a call is answered on one device, ringing of nearby iCloud-paired devices is 
terminated by briefly advertising via Bluetooth Low Energy 4.0. The advertising bytes 
are encrypted using the same method as Handoff advertisements.  
Outgoing calls will also be relayed to iPhone via the Apple Push Notification service, 
and audio will be similarly transmitted over the secure peer-to-peer link between devices. 
Users can disable phone call relay on a device by turning off iPhone Cellular Calls in 
FaceTime settings. 
iPhone Text Message Forwarding 
Text Message Forwarding automatically sends SMS text messages received on iPhone 
to a user’s enrolled iPad, iPod touch, or Mac. Each device must be signed in to the 
iMessage service using the same Apple ID account. When SMS Message Forwarding 
is turned on, enrollment is verified on each device by entering a random six-digit 
numeric code generated by iPhone. 
Once devices are linked, iPhone encrypts and forwards incoming SMS text messages to 
each device, utilizing the methods described in the iMessage section of this document. 
Replies are sent back to iPhone using the same method, then iPhone sends the reply 

as a text message using the carrier’s SMS transmission mechanism. Text Message 
Forwarding can be turned on or off in Messages settings. 
Instant Hotspot 
iOS devices that support Instant Hotspot use Bluetooth Low Energy to discover and 
communicate to devices that have signed in to the same iCloud account. Compatible 
Mac computers running OS X Yosemite and later use the same technology to discover 
and communicate with Instant Hotspot iOS devices. 
When a user enters Wi-Fi Settings on the iOS device, the device emits a Bluetooth Low 
Energy signal containing an identifier that all devices signed in to the same iCloud 
account agree upon. The identifier is generated from a DSID (Destination Signaling 
Identifier) tied to the iCloud account, and rotated periodically. When other devices 
signed in to the same iCloud account are in close proximity and support personal 
hotspot, they detect the signal and respond, indicating availability. 
When a user chooses a device available for personal hotspot, a request to turn on 
Personal Hotspot is sent to that device. The request is sent across a link that is encrypted 
using standard Bluetooth Low Energy encryption, and the request is encrypted in a 
fashion similar to iMessage encryption. The device then responds across the same 
Bluetooth Low Energy link using the same per-message encryption with personal 
hotspot connection information. 
Spotlight Suggestions
Safari search and Spotlight search include search suggestions from the Internet, apps, 
iTunes, App Store, movie showtimes, locations nearby, and more.  
To make suggestions more relevant to users, user context and search feedback with 
search query requests are sent to Apple. Context sent with search requests provides 
Apple with: i) the device’s approximate location; ii) the device type (e.g., Mac, iPhone, 
iPad, or iPod); iii) the client app, which is either Spotlight or Safari; iv) the device’s 
default language and region settings; v) the three most recently used apps on the 
device; and vi) an anonymous session ID. All communication with the server is 
encrypted via HTTPS.  
iOS Security—White Paper  |  May 2016 
50
Documents you may be interested
Documents you may be interested