Handoff-Sicherheit
Apple handhabt Handoffs auf sichere Weise – von einem Gerät auf ein anderes Gerät ebenso wie zwischen einer nativen App und einer Website, sogar Handoffs großer Datenmengen.
Sichere Funktionsweise von Handoff
Mit Handoff kann der Benutzer automatisch alles, woran er auf seinem iOS-, iPadOS- und macOS-Gerät arbeitet, von einem Gerät an ein anderes, in der Nähe befindliches Gerät übertragen. Mit Handoff kann der Benutzer das Gerät wechseln und sofort weiterarbeiten.
Meldet sich der Benutzer auf einem zweiten Handoff-fähigen Gerät bei iCloud an, wird zwischen den Geräten mittels Bluetooth Low Energy (BLE) 4.2 eine Out-of-Band-Kopplung über APNS hergestellt. Die einzelnen Nachrichten werden ähnlich wie für iMessage verschlüsselt. Wenn die Geräte gekoppelt wurden, erstellt jedes von ihnen einen symmetrischen 256-Bit AES-Schlüssel, der im Schlüsselbund des jeweiligen Geräts gespeichert wird. Mit diesem Schlüssel können die BLE-Ankündigungen, die den anderen in iCloud gekoppelten Geräten die aktuelle Aktivität des Geräts mitteilen, verschlüsselt und authentifiziert werden, wobei zum Schutz vor Replay-Attacken AES-256 im GCM-Modus verwendet wird.
Wenn ein Gerät zum ersten Mal eine Ankündigung von einem neuen Schlüssel erhält, stellt es eine BLE-Verbindung zum Absender her und führt einen Schlüsselaustausch für die Verschlüsselung von Ankündigungen durch. Diese Verbindung wird mit der Standardverschlüsselung für BLE 4.2 gesichert und die einzelnen Nachrichten werden zusätzlich verschlüsselt. Die Verschlüsselung ähnelt damit der für iMessage. In einigen Situationen werden diese Nachrichten via APNS statt BLE gesendet. Die Payload der Aktivität wird genau wie eine iMessage geschützt und übertragen.
Handoff zwischen nativen Apps und Websites
Handoff ermöglicht es nativen iOS-, iPadOS- oder macOS-Apps, Webseiten auf Domains, deren Eigentümer der Entwickler der App ist, fortzusetzen. Die Benutzeraktivität in der nativen App kann auch in einem Internetbrowser fortgesetzt werden.
Damit native Apps keine Websites fortsetzen können, deren Eigentümer nicht der Entwickler ist, muss die App belegen, dass sie die Web-Domain, die sie fortsetzen will, tatsächlich kontrolliert. Die Kontrolle über die Domain einer Website wird über die Methode für die gemeinsam genutzten Internetanmeldedaten überprüft. Zugriff durch Apps auf gesicherte Passwörter enthält weitere Details hierzu. Das System muss die Kontrolle der App über den Domain-Namen validieren, bevor sie Handoff für die Benutzeraktivität verwenden kann.
Ursprung für das Handoff einer Webseite kann jeder Browser sein, der die Handoff-APIs unterstützt. Wenn der Benutzer eine Webseite öffnet, kündigt das System den Domain-Namen der Webseite in den verschlüsselten Ankündigungsbytes für Handoff an. Nur die anderen Geräte des Benutzers können die Ankündigungsbytes entschlüsseln.
Auf dem Empfängergerät erkennt das System, dass eine installierte native App Handoff von dem angekündigten Domain-Namen annimmt, und zeigt das Symbol für die native App als Handoff-Option an. Wird sie gestartet, empfängt die App die vollständige URL und den Titel der Webseite. Es werden keine anderen Informationen vom Browser an die native App übertragen.
Demgegenüber kann eine native App eine Fallback-URL angeben, wenn auf dem Empfängergerät die native App nicht installiert ist. In diesem Fall zeigt das System den Standardbrowser des Benutzers als Handoff-Option an (wenn dieser Browser Handoff-APIs übernommen hat). Wird Handoff angefordert, öffnet der Browser die Fallback-URL, die die App gesendet hat. Die Fallback-URL ist nicht auf Domain-Namen beschränkt, deren Eigentümer der Entwickler der nativen App ist.
Handoff für größere Datenmengen
Zusätzlich zu der Grundfunktion von Handoff können manche Apps auch APIs zum Senden größerer Datenmengen über die von Apple entwickelte (und AirDrop ähnliche) Peer-To-Peer-WLAN-Technologie senden. Beispielsweise verwendet Mail diese APIs, um das Handoff eines E-Mail-Entwurfs, einschließlich großer Anhänge, zu ermöglichen.
Nutzt eine App diese APIs, wird der Austausch zwischen den Geräten wie bei Handoff gestartet. Nach dem Empfang der ersten Nutzerdaten über Bluetooth Low Energy (BLE) startet das Empfängergerät eine neue Verbindung über WLAN. Diese Verbindung ist verschlüsselt (mit TLS) und sorgt mit einer über den iCloud-Schlüsselbund geteilten Identität für Vertrauen. Die Identität in den Zertifikaten wird mit der Identität des Benutzers abgeglichen. Die nachfolgenden Nutzerdaten werden über diese verschlüsselte Verbindung gesendet, bis die Übertragung abgeschlossen ist.
Universelle Zwischenablage
Die universelle Zwischenablage nutzt Handoff für die sichere Übertragung der Inhalte der Zwischenablage zwischen Geräten. Dadurch ist es möglich, etwas auf einem Gerät zu kopieren und auf einem anderen Gerät einzufügen. Der Inhalt wird dabei auf gleiche Weise wie andere Handoff-Daten geschützt und standardmäßig mit der universellen Zwischenablage geteilt, es sei denn, der App-Entwickler lässt die Freigabe nicht zu.
Die Daten in der Zwischenablage sind für Apps zugänglich, unabhängig davon, ob der Benutzer die Zwischenablage in die App eingesetzt hat. Mit der universellen Zwischenablage wird dieser Datenzugriff auf Apps ausgeweitet, die auf anderen Geräten des Benutzers ausgeführt werden (wie bei der iCloud-Anmeldung festgelegt).