Push it, baby!

Hier läuft was falsch. Des Metalheads iPhone wird von putzigen informativen Popups bevölkert sobald er über WhatsApp oder Twitter oder Sonstwas eine Nachricht bekommt, während der Bildschirm meines Chiphaufens vor Leere gähnt. Voll fies. Doch es hilft alles Jammern nichts – Analyse, Watson!

Das fremde iFön ist neuer, schneller, eckiger, schärfer und mit aktuellem iOS bestückt. Mit Jailbreak versehen, aber von Haus aus ohne Netlock. Haha, eine Idee, eine Idee. Ich ziehe die globale Müllhalde zu Rate. Aha! Wird das iPhone nicht unter Verwendung einer durch Apple gesegneten autorisierten SIM-Karte via iTunes bei Apple aktiviert, sondern mittels Jailbreak-Tool „hacktivated“, führt das zu allerlei unschönen Nebeneffekten. Nicht erscheinenden Push Notifications (knuffige Popups, Alarmtöne oder Badges) zum Beispiel. Oder einer YouTube-App mit Bindungsproblemen.

Etliche Stunden des Suchens und Lesens später… (Details, Details.)

Jedes iPhone schickt bei der Aktivierung seine IMEI und weitere ominöse Daten an den Apple-Server und erhält ein Zertifikat (und einen Schlüssel), mit dem es sich beim Push-Benachrichtigungsdienst authentifizieren kann. Auf Grundlage von Zertifikat (und Schlüssel) generiert der Apple Push-Server einen spezifischen „Device Token“, der fortan der Adressierung von Push Notifications für dieses Gerätes dient. Hacktivierten iPhones fehlt das Zertifikat (und der Schlüssel), womit die ganze Push-Nummer schon zu Beginn scheitert. Warum auch die Kommunikation mit YouTube über ein separates Schlüssel-Zertifikat-Gespann abläuft, konnte ich nicht in Erfahrung bringen. Vermutlich kontrolliert Google auf diese Weise die Verteilung von Inhalten.

Die cleveren iPhone-Hacker entwickelten schnell ein Tool namens „PushFix“, das Zertifikate (und Schlüssel) eines anständig aktivierten iPhones extrahierte und anschließend einem hacktivierten injizierte. Das funktionierte bis jemand eine idiotensichere Version dieses Hacks nach Cydia schob und plötzlich zig hacktivierte iPhones mit dem gleichen Zertifikat (und Schlüssel) vor der Nase des Apple Push-Servers herumwedelten. Der zeigte sich verwirrt und schickte dem erstbesten authentifizierten iPhone eine Benachrichtigung, die mit hoher Wahrscheinlichkeit für ein anderes Gerät gedacht war. Das ist ungefähr so, als würde der Postzusteller einen Brief austragen und an der angegebenen Adresse wohnen zigtausend Leute. Blöd, blöd, blöd.

Irgendwann gelang das Generieren individueller Zertifikate (und Schlüssel), die über Push Doctor verteilt werden. Die App kann via NERV-Cydia-Repository (Quelle: http://cmdshft.ipwn.me/apt) bezogen werden, injiziert die Zertifikate unmittelbar in die Keychain und funktioniert für alle Geräte mit 3er-System. Für iPhones ab iOS 4 empfiehlt sich die Aktivierung mittels SAM.

Jippieh, endlich Push Notifications für meinen kleinen Chiphaufen!