
Notfallinformationen über Satelliten übermitteln
Benutzer:innen mit einem iPhone 14 (oder neuer) können über Satellitenverbindungen kommunizieren, um verschiedene Dienste wahrzunehmen. Satellitenverbindungen bringen signifikante Bandbreitenbegrenzungen mit sich und erfordern Sicherheitsprotokolle mit minimalem Bandbreiten-Overhead. Unabhängig von der Art der Kommunikation (Notruf SOS, SMS oder iMessage) stellt Apple eine sichere Sitzung zwischen dem Gerät, das sich außerhalb des Mobilfunknetzes befindet, und dem Apple-Datenzentrum her. Geräte registrieren vorab öffentliches Schlüsselmaterial bei dem Server über Mobilfunk oder WLAN, um außerhalb des Netzes Bandbreite zu sparen.
Architektur der Core-Sicherheit
Wenn ein Gerät einen Satellitendienst anfordert, wird eine sichere Verbindung mit dem Apple-Datenzentrum hergestellt, indem auf einen trunkierten Hash des öffentlichen Schlüssels für einen Schlüsselaustausch verwiesen wird. Jedes öffentliche/private Schlüsselpaar unterstützt nur eine einzelne Sitzung mit einer maximalen Validität von acht Stunden. Der Server generiert ein entsprechendes öffentliches/privates Schlüsselpaar für jedes Client-Schlüsselpaar im Voraus und teilt den öffentlichen Schlüssel mit dem Client.
Nachdem die Sitzung ausläuft oder beendet wird, entfernen Apple-Server und das Gerät die entsprechenden privaten Schlüssel und gewährleisten so eine vorwärts gerichtete Geheimhaltung. Apple und Geräte registrieren in regelmäßigen Abständen und nach Verwendung eines privaten Schlüssels und Wiederherstellung der Online-Verbindung zusätzliche Schlüssel, wodurch die Sicherheit der Satellitenkommunikation auch nach einer Kompromittierung gewährleistet ist. Beobachter können Benutzer:innen nicht mit ihren Sitzungs-IDs identifizieren, da jedes Gerät bei jeder Sitzung eine neue ID verwendet, um Verknüpfungen zu vermeiden.
Notfall- und Pannenhilfe über Satellit
Wenn Benutzer:innen Notfall- oder Pannenhilfe über Satellit verwenden, schützt die sichere Verbindung zu Apple (oben beschrieben) den Kommunikationsinhalt. Eine zusätzliche Verschlüsselungsebene stellt sicher, dass der Inhalt bis zum Server der Anwendung verschlüsselt bleibt, der die Nachrichten dann an die Apple-Notfalldienste und Pannenhilfepartner mit einer Transportverschlüsselung weiterleitet.
iMessage über Satellit
Beim Austauschen von iMessages über WLAN oder Mobilfunk tauschen Geräte Schlüsselmaterialien zusammen mit Nachrichten aus, falls Geräte in der Gruppe der Sender:innen oder Empfänger:innen Satellitendienste unterstützen. Über diesen Mechanismus empfangen die Geräte regelmäßig aktualisierte Schlüssel, die es ermöglichen, Nachrichten zu ver- und entschlüsseln, wenn die Mobilfunkverbindung nicht verfügbar ist und sich das Gerät mit einem Satelliten verbindet. Aufgrund der Lebenszeitbegrenzungen von Schlüsseln, müssen Benutzer:innen innerhalb der letzten 30 Tage Nachrichten ausgetauscht haben, um außerhalb eines Netzes zu kommunizieren.
Jedes Gerät generiert symmetrische Schlüsselmaterialien und verteilt sie über die iMessage-Verschlüsselung, um die eigenen ausgehenden Nachrichten zu verschlüsseln. Jede Nachricht verwendet einen eindeutigen symmetrischen Schlüssel, der mittels einer Hash-basierten Schlüsselerzeugungsfunktion (Hash-based Key Derivation Function; HKDF) für den zugehörigen Nachrichtenzähler abgeleitet wird. Nach dem Empfangen einer Nachricht prüft das Empfangsgerät das symmetrische Schlüsselmaterial der Absender:innen, um den jeweiligen Nachrichtenschlüssel herzuleiten. Wenn das Gerät wieder online ist, werden neue symmetrische Schlüssel für nachfolgende Sitzungen verteilt.
Das sendende Gerät sendet nur iMessages über Satellit, nachdem es eine signierte Payload von Absender:innen erhalten hat, die bestätigt, dass das Gerät Nachrichten über Satellit empfangen kann.
Hinweis: iMessage über Satellit unterstützt nur das Senden von Nachrichten an eine Person, nicht in Gruppen.
SMS über Satellit
Wenn Benutzer:innen SMS-Nachrichten über Satellit senden oder empfangen, werden diese Nachrichten an eine IWF (Network Interworking Function) gesendet oder von dieser empfangen. Die IWF empfängt Nachrichten, die für einen Client außerhalb des Netzes vom Anbieter der Absender:innen bestimmt sind (der Client wird während der Zeit außerhalb des Netzes als „Roaming“ angezeigt und befindet sich nicht im lokalen Netzwerk des Anbieters). Ähnlich dazu sendet die IWF ausgehende Nachrichten vom Client, der sich außerhalb des Netzes befindet, an den heimischen Anbieter der empfangenden Person. Zwischen dem Client außerhalb des Mobilfunknetzes und der IWF ausgetauschte SMS-Nachrichten sind über eine Verschlüsselung und Authentifizierung geschützt, die sowohl Apple als auch Personen mit Zugriff auf Satellitensignale davon abhält, auf die Nachrichten zuzugreifen oder sie zu ändern.
Ein Diffie-Hellman-Schlüsselaustausch über die NIST P256-Kurve beginnt, während sich ein Client im Mobilfunknetz befindet, und endet, wenn der Client außerhalb des Netzes ist und die erste Satellitenverbindung herstellt. Apple und das Gerät leiten mehrere Schlüssel aus diesem Schlüsselaustausch über HKDF-SHA-256 ab. Ein Schlüssel verschlüsselt symmetrisch (über AES-GCM mit einem 256-Bit-Schlüssel) Client-Informationen, die für die passende SMS-Weiterleitung (IMSI und SMSC) notwendig sind. Ein anderes Set stellt bidirektionale Verschlüsselung von Nachrichten zwischen dem Client und der IWF zu Verfügung und verwendet ebenfalls AES-GCM mit einem 256-Bit-Schlüssel.
Da Satellitenverbindungen über eine geringere Bandbreite und höhere Latenz als traditionelle Mobilfunkkommunikationen verfügen, erreichen nicht alle eingehenden SMS-Nachrichten den Client direkt, wenn kein Mobilfunknetz verfügbar ist, um Spam oder geringwertige Nachrichten daran zu hindern, wichtige SMS-Abfragen zu verzögern. Stattdessen übermittelt das System eingehende Nachrichten nur unter Einhaltung einer der folgenden Bedingungen an den Client:
1. Der sich außerhalb des Netzes befindliche Client hat innerhalb der letzten 24 Stunden eine Nachricht an den:die Absender:in gesendet.
2. Der:die Absender:in ist zugelassen (über die Notfallkontakte oder die iCloud-Familienmitglieder der Benutzer:innen).
Andernfalls speichert Apple die Nachricht verschlüsselt auf dem Server, bis der Client wieder online ist und die Nachricht über traditionelle Netzwerke abruft. Um die Privatsphäre der Benutzer:innen zu wahren, stellt Apple sicher, dass die IWF die Liste mit genehmigten Absender:innen nicht abrufen kann.
Der Client verwendet HMAC-SHA-256 mit einem Schlüssel, der vom primären Sitzungsschlüssel abgeleitet wurde, um zufällige Pseudonyme für jede Telefonnummer in jeder Sitzung zu generieren. Sobald die Sitzung eingerichtet wurde, sendet der Client die Pseudonyme für jede Telefonnummer auf der Liste mit bestätigten Kontakten an die Apple-Server. Ähnlich hierzu wird jedes Mal ein Pseudonym generiert und an Apple gesendet, wenn der Client eine SMS an eine Telefonnummer sendet. So kann Apple eine Liste mit erlaubten Absenderpseudonymen für die Sitzung bewahren.
Wenn eine Person dem Client eine SMS nach der Sitzungsherstellung sendet, verschlüsselt die IWF die Nachricht und berechnet das Telefonnummernpseudonym der Absender:innen. Dies wird zusammen mit der verschlüsselten Nachricht an die Apple-Server weitergeleitet. Die Server vergleichen das Absenderpseudonym der eingehenden Nachricht mit der Liste der erlaubten Telefonnummern und leiten die verschlüsselte Nachricht weiter, falls es eine Übereinstimmung gibt.