Hier auf dem BarCamp Ruhr 2 gab es endlich Poken, der (nicht mehr ganz so) neue Visitenkarten- und Soziale-Kontakte-Ersatz aus der Schweiz. Als Early Adopter haben wir sie auch gleich mal ordentlich genutzt, und dann angefangen, sie zu hacken.
Kurz zur Funktion der Pokens: Ein Poken ist ein RFID/USB-Gerät. Hält man zwei Poken aneinander, wird (magnetisch?) ein RFID-Handshake ausgelöst, wobei die Poken-IDs ausgetauscht werden. Anschließend steckt man sein Poken an einen Rechner und ruft eine HTML-Seite auf, die auf die Poken-Webseite umleitet und Daten in der URL übergibt. Durch Tastendruck kann man außerdem einen “Discreet Mode” aktivieren, wodurch der Gegenüber keine persönlichen Daten erhält, bevor man sie explizit freigegeben hat. Auf einen Poken passen 64 Begegnungen, danach beginnt er, die ersten wieder zu überschreiben. Ich bin nicht sicher, was geschieht, wenn man Begegnungen schon übertragen hat, aber dann die 64 voll macht.
Erste Erkenntnisse:
- Die Verschlüsselung benutzt Blockgrößen von maximal 8 Byte (64 bit). “State of the art encryption” ist also etwas übertrieben.
- Nicht verschlüsselt sind die Poken IDs, weder die eigene noch die der Begegnungen.
- Jede Begegnung hinterlässt einen 16-Byte-Eintrag in der HTML-Datei
- Mehrfache Begegnungen werden auch mehrfach eingetragen
- Poken IDs haben 4 Byte
- Der Ghost Mode / Discreet Mode setzt lediglich ein Flag
- In der Begegnung ist ein Timestamp enthalten (3 Byte)
- Die restlichen drei Byte sehen zufällig aus (Checksumme?)
Scotty wies mich dann darauf hin, dass Didier Stevens in seinem “Poken Peek“-Artikel einiges davon schon beschrieben hat. Na gut, hatten wir halt Spaß beim Hacken.
Mehr morgen.
Update: Kathrin hat natürlich völlig Recht. Meine Formulierung war irreführend: Es ist Absicht, dass mehrfache Begegnungen geloggt werden, damit man eine Social Timeline bauen kann.
Update: Der Timestamp hat nur 3 Byte. Danke, Didier.