Update
Während die implizite Annahme in der Frage vernünftig erscheint, ist es nicht wirklich wahr. Weitere Lesungen der Google-Quellen zeigen, dass der Zweck von Auth Util (und später Firebase) darin besteht, den Benutzer zu authentifizieren und den Server zu sichern. Da der Server nur Netzwerkverkehr sieht, ist es möglich, den Datenverkehr von einem anderen Client zu replizieren.
Darüber hinaus ist die Definition von Android ziemlich verschwommen, da OEM das Basis-Betriebssystem an ihre Bedürfnisse anpassen.
Dies ist wahrscheinlich falsch
Eine Möglichkeit ist es, die
Apple Push Notification zu verwenden. Sie können ein Gerät und
push notifications specifically to it registrieren. Wenn Ihre App geladen wird, sendet sie eine Anfrage an den Server mit der Nummer
device token und empfängt im Wesentlichen einen Sitzungscookie über den APN.
Ein Nachteil ist, dass it is not encrypted. Sie können dies leicht lösen, indem Sie in der Anforderung einen zufällig generierten symmetrischen Schlüssel senden. Der Cookie, den Sie erhalten, wird auf dem Server verschlüsselt und mit dem gleichen Schlüssel auf dem iOS-Gerät entschlüsselt.
Dies löst das Problem der Schlüsselspeicherung in der Quelle und belegt, dass die Anfragen von einem iOS-Gerät kamen.
Natürlich kann dies vereinfacht werden, indem ein Zertifikat erstellt wird, in der Schlüsselkette gespeichert wird und der private Schlüssel während der Registrierung zur Speicherung an den Server gesendet wird. Nach der ersten Registrierung und Validierung mit APN können nachfolgende Nachrichten unter Verwendung des öffentlichen Schlüssels Geräte-ID + Zertifikat signiert werden.
Ein letzter Punkt ist, dass APN auch verwendet werden kann, um OSX-Geräte zu registrieren. Ich habe noch nicht herausgefunden, wie ich diese (noch) ausschließen kann.
Haftungsausschluss: Es war ein langer Tag des Schreibens von Spezifikationen. Ich bin einigermaßen zufrieden mit dem Mechanismus, bei dem ich das iOS-Gerät zunächst mit APN registriert habe. Ich habe die Verschlüsselungsteile vielleicht falsch verstanden. Wenn ja, bitte sanft kommentieren.