Auf einem iOS 8-Gerät habe ich Google Hangouts installiert und beim ersten Start wurde ein Konto vorab ausgefüllt, das zuvor mit einer anderen und vor langer Zeit gelöschten Google-App verknüpft war.
Da ich gerade den Advertising Identifier zurückgesetzt hatte, ging ich davon aus, dass es sich um die Vendor ID handeln muss (auf dem Gerät war eine andere Google-App installiert). Also habe ich beide (alle) Google-Apps auf dem Gerät gelöscht, was die Vendor ID zurücksetzen sollte .
Ich habe dann Google Hangouts neu installiert und gestartet. Es hatte NOCH das alte Konto aktiv. Dies ist nicht nur ein mysteriöses Verhalten, sondern auch eine ziemlich ernste Sicherheits- und Datenschutzlücke. Wenn eine App gelöscht wird und insbesondere wenn alle Apps eines Anbieters gelöscht werden, sollten keine aktiven Konten oder Daten auf dem Gerät verbleiben.
Irgendwelche Ideen, woher Google Hangouts von dem alten Konto weiß?
Apple rät Entwicklern, App-Anmeldeinformationen im verschlüsselten iOS-Schlüsselbund zu speichern. Wenn Sie eine App von Ihrem Telefon löschen, werden die zugehörigen Datensätze nicht aus dem Schlüsselbund gelöscht.
Schlüsselanhänger sind sichere Aufbewahrungsbehälter, was bedeutet, dass, wenn der Schlüsselbund verschlossen ist, niemand auf seinen geschützten Inhalt zugreifen kann. In OS X können Benutzer einen Schlüsselbund entsperren und so vertrauenswürdigen Anwendungen Zugriff auf den Inhalt gewähren, indem sie ein einziges Master-Passwort eingeben. In iOS hat jede Anwendung immer Zugriff auf ihre eigenen Schlüsselbundelemente; Der Benutzer wird nie aufgefordert, den Schlüsselbund zu entsperren. Während in OS X jede Anwendung auf jedes Schlüsselbundelement zugreifen kann, sofern der Benutzer die Erlaubnis erteilt, kann eine Anwendung in iOS nur auf ihre eigenen Schlüsselbundelemente zugreifen.
Es nutzt wahrscheinlich iCloud als Methode, möglicherweise den iCloud Key-Value Store .
Was diesen Speicher angeht…
Der im iCloud-Schlüsselwertspeicher Ihrer App verfügbare Gesamtspeicher beträgt 1 MB pro Benutzer. Sie können maximal 1024 Schlüssel angeben, und die Größenbeschränkung für jeden mit einem Schlüssel verknüpften Wert beträgt 1 MB. Wenn Sie beispielsweise einen einzelnen großen Wert von genau 1 MB für einen einzelnen Schlüssel speichern, verbraucht dies Ihr Kontingent für einen bestimmten Benutzer Ihrer App vollständig. Wenn Sie 1 KB Daten für jeden Schlüssel speichern, können Sie 1000 Schlüssel-Wert-Paare verwenden. Die maximale Länge für eine Schlüsselzeichenfolge beträgt 64 Byte bei Verwendung der UTF8-Codierung. Die Datengröße Ihrer kumulativen Schlüsselzeichenfolgen wird nicht auf Ihr Gesamtkontingent von 1 MB für die Schlüsselwertspeicherung in iCloud angerechnet. Vielmehr werden Ihre Schlüsselzeichenfolgen (die maximal 64 KB verbrauchen) auf die gesamte iCloud-Zuteilung eines Benutzers angerechnet.
(Quelle: Apple Developer Conceptual Reading for iCloud Key-Value Storage's Data Limits, siehe Link oben)
Kurz gesagt, Entwickler können über die KV-Paare von iCloud auf Daten zugreifen NSUbiquitousKeyValueStore
, Objekte speichern, die in einem gespeichert werden können NSDictionary
(bis zu 64 KB pro Element, bis zu 1024 Schlüssel, und die Gesamtgröße muss weniger als 1 MB betragen), und sie später abrufen.
Bearbeiten: iCloud Key-Value-Speicher ist nicht so sicher wie Schlüsselanhänger. Google verwendet möglicherweise Schlüsselbunde, speichert jedoch möglicherweise auch verschlüsselte Daten im Schlüsselwertspeicher, da iCloud Sicherheitsprobleme hat. Vielleicht den Namen des Geräts zum Entschlüsseln verwenden?
...in iOS kann eine Anwendung nur auf ihre eigenen Schlüsselbundelemente zugreifen
Anbieter können Daten über ihre Anwendungen hinweg mit dem Schlüsselbund teilen, solange sie eine Schlüsselbundgruppe verwenden , die in den Berechtigungen in ihrem App-Bundle definiert ist; "it's own" bedeutet Anbieter, nicht Anwendung.
Wie andere bereits angemerkt haben, werden die Schlüsselbundeinträge möglicherweise nicht implizit bereinigt.
Da dieser breiteste Umfang dieser Art von „Tracking“ auf einen einzelnen Anbieter mit installierten Apps beschränkt ist, reduziert dies die Sicherheitsrisikooberfläche erheblich (im Vergleich zu UUID oder UIPasteboard-Sharing – beide entfernt/geschlossen).
Es ist wichtig zu beachten, dass die Produkte von Apple derzeit für "Einzelbenutzer" konzipiert sind; Apple bietet noch keine Benutzerpartitionierung an (z. B. entsperrt jeder registrierte Fingerabdruck das gesamte Gerät, wenn Sie also einen Freund/ein Kind mit einem registrierten Fingerabdruck haben, erhalten sie genau denselben Zugriff wie Sie).
Hinzufügen zu den Antworten von DDPWNAGE und Alistair (da ich nicht genug Repräsentanten zum Kommentieren habe), aber angeben, wie alle Google-Apps auf genau einen Schlüsselbundeintrag zugreifen können.
Pseudonym
Pseudonym
Alistair McMillan
Pseudonym
Pseudonym