c't 4/2016
S. 170
Know-how
Android-App mit NFC
Aufmacherbild

Perso als Würfel

NFC-Programmierung mit Android

Nützliche Anwendungen für Deutschlands elektronischen Personalausweis sind schwer zu finden. Wir haben ihn daher für etwas Spaßiges benutzt: Eine Android-App liest per NFC Zufallszahlen aus dem Ausweisdokument und zeigt damit einen Würfel an.

NFC ist ein Funkstandard zur Datenübertragung über sehr kurze Distanzen, typischerweise wenige Zentimeter (Near Field Communication). NFC-Chips finden sich in vielen alltäglichen Gegenständen wie Kreditkarten, Smartcards, Smartphones, Tablets, Bezahlterminals – und im Personalausweis. Android unterstützt NFC seit Version 2.3.3 (API-Level 10). Das Folgende zeigt, wie man die NFC-Programmierschnittstelle unter Android verwendet. NFC-Chips senden normalerweise eine fest eingestellte Kennung (ID) aus, wenn sie in den Bereich eines Lesegeräts kommen. Beim Personalausweis haben wir allerdings festgestellt, dass sich diese Kennung mit jeder neuen Verbindung ändert. Sie ist vier Bytes lang, wovon das erste stets 0x08 ist und die weiteren drei zufällig wirkten. Wie zufällig die ID ist, wollten wir genauer wissen.

Weil viele aktuelle Android-Smartphones ein NFC-Modul enthalten, das in der Nähe befindliche NFC-Chips ausliest, entstand daraus die Idee, eine App zu programmieren, die die vermeintlichen Zufallszahlen vom Personalausweis sammelt. Spaßeshalber soll die App außerdem einen Würfel anzeigen, dessen Augenzahl sie aus den just gewonnenen Zufallsbytes bestimmt.