Anwendungen und Technik von Near Field Communication (NFC)
Josef Langer€•Â€Michael Roland
Anwendungen und Technik von Near Field Communication (NFC)
1 3
Prof. (FH) Dr. Josef Langer FH OÖ, Campus Hagenberg Softwarepark 11 4232 Hagenberg Österreich
[email protected] Michael Roland, MSc FH OÖ, Campus Hagenberg Softwarepark 11 4232 Hagenberg Österreich
[email protected] ISBN 978-3-642-05496-9â•…â•…â•…â•… e-ISBN 978-3-642-05497-6 DOI 10.1007/978-3-642-05497-6 Springer Heidelberg Dordrecht London New York Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. © Springer-Verlag Berlin Heidelberg 2010 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Einbandentwurf: WMXDesign GmbH, Heidelberg Gedruckt auf säurefreiem Papier Springer ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com)
Vorwort
Vor Ihnen liegt das erste Buch über Technologie und Anwendung von Near Field Communication (NFC). Die Idee dieses Buch zu schreiben, geht auf das Jahr 2007 zurück. Damals starteten wir in Hagenberg einen großen Feldversuch zu NFC und hatten das erste Mal die Möglichkeit, Studien mit Anwendern durchzuführen. Die positiven Ergebnisse des Feldversuchs haben gezeigt, dass NFC eine Technologie ist, bei der die einfache Anwendung im Mittelpunkt steht. Fasziniert von den technischen Eigenschaften und den Rückmeldungen von Studierenden und Teilnehmern am Feldversuch, war die Idee ein Buch darüber zu schreiben rasch entstanden. Doch durch die hohe Arbeitsbelastung blieb die Idee vorerst nur Gedanke. Erst nachdem Michael Roland, ein ehemaliger Student und nunmehriger Mitarbeiter am NFC Research Lab, und ich gemeinsam die Leidenschaft das Buch zu schreiben teilten, wurde aus der Idee ein Projekt und schließlich das Buch, das sie in Händen halten. NFC wurde 2002 von NXP und Sony erfunden. Im Jahr 2004 gründeten NXP, Sony und Nokia das NFC Forum. Noch im selben Jahr starteten wir an der Fachhochschule in Hagenberg unser erstes NFC Projekt. Zu Beginn noch als Semesterarbeit mit mehreren Studierenden. Im Jahr 2005 gründeten wir das NFC Research Lab Hagenberg, da die österreichische Forschungsförderungsgesellschaft, NXP, mobilkom austria und voestalpine Budgetmittel zur Verfügung stellten. Möglich war dies durch das Engagement und den großen Einsatz aller Beteiligten. Zu unseren wichtigsten Unterstützern zählt Andreas Mühlberger, Leiter der NFC Abteilung bei NXP. Ihm verdanken wir den Aufbau unserer Forschungsabteilung und den Zugang zu internationalen Kontakten. Ein weiterer bedeutender Unterstützer bei NXP war Felix Marx. Wichtig war die Unterstützung der Mobilkom Austria. Allen voran möchten wir uns bei Christian Kantner für sein großes Engagement bedanken. Besonderer Dank gilt Hannes Ametsreiter, Markus Stüber, Christoph Kößler und Christiane Schweighofer, dass sie uns personell und finanziell förderten. Ein sehr wichtiger Förderer der ersten Stunde war Gerhard Romen von Nokia, der uns den Zugang zu neuesten NFC-Mobiltelefonen und die Vernetzung mit internationalen Unternehmen ermöglichte. Herzlich möchten wir uns bei unseren Mentoren in Hagenberg bedanken: Professor Buchberger, der den Softwarepark Hagenberg gründete und leitet, sowie ˘
vi
Vorwort
Alt-Bürgermeister Rudolf Fischerlehner. Durch sie konnten wir unsere NFC-Forschungsergebnisse optimal in die Praxis umsetzen. Besonders wollen wir uns bei dem Dekan der Fakultät für Informatik, Kommunikation und Medien, Witold Jacak sowie bei Thomas Müller-Wipperfürth, dem Leiter des Studiengangs HardwareSoftware-Design bedanken. Sie haben uns ermöglicht, frei und unabhängig zu arbeiten und zu forschen. Wir möchten uns bei allen weiteren Unternehmen und Personen bedanken, die bei der Entstehung dieses Buches mitgeholfen haben. Alle Hinweise und Ratschläge haben uns geholfen, ein möglichst ausgewogenes Bild der NFC-Technologie und der NFC-Anwendungen zu zeichnen. Unser Dank gilt unseren Kollegen Stefan Grünberger, Christian Saminger sowie Hans-Georg Brachtendorf am Studiengang Hardware-Software-Design, die das Manuskript Korrektur gelesen haben. Bei Gerald Madlmayr wollen wir uns für seine Mithilfe beim Aufbau des NFC Research Lab Hagenberg und für seinen Einsatz beim NFC-Feldversuch bedanken. Für die Gestaltung der Grafiken bedanken wir uns herzlich bei Alicia Krenn, die sehr flexibel auf unsere Anliegen eingegangen ist. Danke an Andreas Oyrer und Clemens Rainer für das Erstellen der Bildschirmoberflächen. Beim Springer-Verlag bedanken wir uns für die angenehme Zusammenarbeit und das entgegengebrachte Verständnis.
Prof. (FH) Dr. Josef Langer Michael Roland, MSc
Während der letzten Monate musste ich feststellen, dass die Arbeit an einem Buch und besonders die Recherchen rund um ein Buch keine leichte Aufgabe sind. Ganz im Gegenteil: Die Arbeit war oft sehr mühsam und zeitaufwändig. Daher musste ich leider für die Fertigstellung dieses Buches einige Kompromisse eingehen. So wurden viele Abende und Wochenenden, anstatt meinen Freunden und meiner Familie, dem Buch gewidmet. Umso mehr freut es mich, schlussendlich das fertige Manuskript in Händen zu halten. Daher möchte ich mich bei meiner Familie, meinen Freunden und bei allen bedanken, die mich stets ermutigten, dieses Buchprojekt zu Ende zu bringen. Ganz besonderer Dank gilt meinen Eltern, Susanne und Helmut Roland, die mich immer unterstützt haben. Sehr herzlich möchte ich mich auch bei Günther Roland und Martina Mayr bedanken, die mir zwischen dem Schreiben immer wieder eine willkommene und dringend notwendige Abwechslung ermöglichten. Großer Dank, besonders für ihre Geduld, gilt meinen Freunden, allen voran Kristina, Dietmar, Katrin, Manuel, Marcus und den Mitgliedern der Band nailcross und ihren Fans der ersten Stunde, die ich während dieses Projekts häufig vernachlässigte. Dennoch haben sie mich nicht aufgegeben und mich immer wieder dazu überredet, an dem einen oder anderen Abend den Computer auszuschalten und einmal wieder ordentlich zu feiern. Hagenberg, im März 2010
Michael Roland, MSc
Vorwort
vii
Es ist nicht ganz einfach ein Buch neben einem Vollzeit-Beruf zu schreiben, selbst wenn man eine sehr verständnisvolle Familie hat, wie dies bei mir der Fall ist. Mein ganz besonderer Dank gilt daher meiner lieben Frau Christa, die mich immer ermutigte und mir Kraft für das Schreiben des Buches gab. Ohne Ihre Geduld, Rücksichtnahme und großartige Unterstützung, hätte ich dieses Buchprojekt nicht zu einem erfolgreichen Ende gebracht. Sehr herzlich will ich mich bei meiner Mutter Erna Langer und meiner vor kurzem verstorbenen Großmutter Katharina Stauchner bedanken, die mir immer mit guten Ratschlägen zur Seite standen und mich unterstützen, den richtigen Weg einzuschlagen. Ein herzlicher Dank gilt meinen Brüdern Bernhard und Martin für die fruchtbaren Diskussionen. Nicht zuletzt möchte ich meinen Kindern Niklas, Paul und Lorenz Langer dafür danken, dass sie mich vermisst haben. Sie waren mir nicht nur dringend notwendige Abwechselung sondern haben mir vor allem viel Freude und Glück geschenkt. Sie zeigen mir immer wieder, dass die Familie das wichtigste in meinem Leben ist. Dieses Buch widme ich in Dankbarkeit und im Andenken an meinen leider viel zur früh verstorbenen Vater Josef. Hagenberg, im März 2010
Prof. (FH) Dr. Josef Langer
Inhalt
1 E inführung����������������������������������尓������������������������������������尓������������������������������ ╇ 1 1.1╇╛Historische Entwicklung����������������������������������尓������������������������������������尓��� â•… 1 1.1.1â•…Historische Entwicklung von RFID����������������������������������尓��������� â•… 1 1.1.2â•…Historische Entwicklung der Chipkarten����������������������������������尓�� â•… 2 1.1.3â•…Historische Entwicklung von NFC����������������������������������尓����������� â•… 4 1.1.4â•…Die NFC-Technologie����������������������������������尓������������������������������ â•… 6 1.2╇╛Das NFC Forum����������������������������������尓������������������������������������尓���������������� â•… 7 1.3╇╛Die ersten Mikrochips, Geräte und Hersteller����������������������������������尓������ â•… 9 1.3.1â•…NFC-ICs����������������������������������尓������������������������������������尓��������������� â•… 9 1.3.2â•…Mobiltelefone����������������������������������尓������������������������������������尓������� â•… 9 Literatur����������������������������������尓������������������������������������尓������������������������������������尓 ╇ 11 2 T echnische Grundlagen����������������������������������尓������������������������������������尓��������� ╛╇ 13 2.1╇╛Induktive Kopplung����������������������������������尓������������������������������������尓���������� ╇ 13 2.1.1â•…Magnetisches Feld����������������������������������尓������������������������������������尓 ╇ 14 2.1.2â•…Magnetische Spannung����������������������������������尓����������������������������� ╇ 14 2.1.3â•…Magnetische Feldstärke����������������������������������尓���������������������������� ╇ 14 2.1.4â•…Magnetische Flussdichte����������������������������������尓�������������������������� ╇ 16 2.1.5â•…Magnetischer Fluss����������������������������������尓����������������������������������� ╇ 16 2.1.6â•…Induktivität����������������������������������尓������������������������������������尓����������� ╇ 16 2.1.7â•…Gegeninduktivität����������������������������������尓������������������������������������尓� ╇ 17 2.1.8â•…Kopplungsfaktor����������������������������������尓������������������������������������尓��� ╇ 18 2.1.9â•…Induktion����������������������������������尓������������������������������������尓��������������� ╇ 18 2.1.10╇Transformator����������������������������������尓������������������������������������尓������� ╇ 19 2.1.11╇Schwingkreis����������������������������������尓������������������������������������尓�������� ╇ 20 2.2╇╛Energieversorgung����������������������������������尓������������������������������������尓������������ ╇ 21 2.3╇╛Datenübertragung����������������������������������尓������������������������������������尓������������� ╇ 22 2.3.1â•…Modulationsverfahren����������������������������������尓������������������������������� ╇ 23 2.3.2â•…Codierungsverfahren����������������������������������尓�������������������������������� ╇ 24 2.3.3â•…Datenübertragung vom Lesegerät zum Transponder������������������ ╇ 25 2.3.4â•…Datenübertragung vom Transponder zum Lesegerät������������������ ╇ 26
ix
˘
Inhalt
2.4╇╛Mehrfachzugriffsverfahren����������������������������������尓��������������������������������� ╇╇ 27 2.4.1â•…Antikollision����������������������������������尓������������������������������������尓������� ╇╇ 28 Literatur����������������������������������尓������������������������������������尓���������������������������������� ╇╇ 32 3 S martcard Technologie����������������������������������尓������������������������������������尓�������� ╇╇ 33 3.1╇╛Definition: Smartcard����������������������������������尓������������������������������������尓����� ╇╇ 33 3.2╇╛Klassifizierung����������������������������������尓������������������������������������尓���������������� â•… 33 3.2.1â•…Funktionalität����������������������������������尓������������������������������������尓������ â•… 34 3.2.2â•…Kommunikationsschnittstelle����������������������������������尓����������������� â•… 36 3.3╇╛Physikalische Eigenschaften����������������������������������尓������������������������������� â•… 39 3.3.1â•…Identifikationskarten nach ISO/IEC 7810�������������������������������� â•… 40 3.3.2â•…Kontaktbehaftete Chipkarten nach ISO/IEC 7816������������������� â•… 41 3.3.3â•…Kontaktlose Chipkarten nach ISO/IEC 14443������������������������� â•… 42 3.4╇╛Übertragungsprotokolle����������������������������������尓������������������������������������尓�� â•… 43 3.4.1â•…Kontaktbehaftete Chipkarten nach ISO/IEC 7816������������������� â•… 45 3.4.2â•…Kontaktlose Chipkarten nach ISO/IEC 14443������������������������� â•… 52 3.4.3â•…Vergleich der Standards ISO/IEC 7816 und ISO/IEC 14443��� â•… 55 3.4.4â•…FeliCa����������������������������������尓������������������������������������尓����������������� â•… 56 3.4.5â•…ISO/IEC 15693����������������������������������尓������������������������������������尓��� â•… 59 3.5╇ Aufbau von Smartcards����������������������������������尓������������������������������������尓�� â•… 59 3.5.1â•…Speicherkarten����������������������������������尓������������������������������������尓���� â•… 59 3.5.2â•…Prozessorkarten����������������������������������尓������������������������������������尓��� â•… 60 3.5.3â•…Betriebssysteme����������������������������������尓������������������������������������尓�� â•… 60 3.5.4â•…Dateisystem����������������������������������尓������������������������������������尓�������� â•… 65 3.5.5â•…Befehle����������������������������������尓������������������������������������尓���������������� â•… 66 3.6╇╛Sicherheit von Smartcard-Mikrochips����������������������������������尓���������������� â•… 68 3.6.1â•…Klassifizierung von Angriffen����������������������������������尓���������������� â•… 68 3.6.2â•…Attacken und Schutzmaßnahmen����������������������������������尓����������� â•… 69 Literatur����������������������������������尓������������������������������������尓���������������������������������� â•… 72 4 B eispiele für kontaktlose Chipkarten����������������������������������尓���������������������� â•… 4.1╇╛MIFARE����������������������������������尓������������������������������������尓������������������������� â•… 4.1.1â•…MIFARE Ultralight����������������������������������尓��������������������������������� â•… 4.1.2â•…MIFARE Classic����������������������������������尓������������������������������������尓� â•… 4.1.3â•…MIFARE Application Directory����������������������������������尓������������� â•… 4.2╇╛FeliCa����������������������������������尓������������������������������������尓������������������������������ â•… 4.2.1â•…Dateisystem����������������������������������尓������������������������������������尓�������� â•… 4.2.2â•…Befehlssatz����������������������������������尓������������������������������������尓���������� â•… Literatur����������������������������������尓������������������������������������尓���������������������������������� â•…
75 75 76 77 79 81 81 82 85
5 N FC-Technologie����������������������������������尓������������������������������������尓������������������ ╛╅ 5.1╇╛Einführung und Überblick����������������������������������尓���������������������������������� â•… 5.1.1â•…Normierungsaktivitäten����������������������������������尓�������������������������� â•… 5.1.2â•…Das NFC Forum����������������������������������尓������������������������������������尓� â•… 5.1.3â•…Zusammenspiel der Standards und Protokolle������������������������� â•…
87 87 87 88 89
Inhalt
xi
5.2╇╛Peer-to-Peer-Modus����������������������������������尓������������������������������������尓�������� â•… 91 5.2.1â•…Passiver Kommunikationsmodus����������������������������������尓����������� â•… 92 5.2.2â•…Aktiver Kommunikationsmodus����������������������������������尓������������� â•… 93 5.2.3â•…Initialisierung und Datenaustausch����������������������������������尓��������� â•… 95 5.2.4â•…Logical Link Control Protocol (LLCP)����������������������������������尓�� â•… 97 5.3╇╛Reader/Writer-Modus����������������������������������尓������������������������������������尓����� â•… 99 5.4╇╛Card-Emulation-Modus����������������������������������尓������������������������������������尓�� ╇ 100 5.5╇ Arbeitsweise����������������������������������尓������������������������������������尓������������������� ╇ 101 5.5.1â•…NFCIP-2����������������������������������尓������������������������������������尓������������� ╇ 101 5.5.2â•…Mode Switching����������������������������������尓������������������������������������尓�� ╇ 102 5.5.3â•…Activities Spezifikation����������������������������������尓�������������������������� ╇ 104 5.6╇╛Sicherheit����������������������������������尓������������������������������������尓������������������������ ╇ 105 5.6.1â•…Angriffsmöglichkeiten����������������������������������尓���������������������������� ╇ 105 5.6.2â•…NFCIP-1 Security Services and Protocol (NFC-SEC)������������� ╇ 106 Literatur����������������������������������尓������������������������������������尓���������������������������������� ╇ 107 6 D atenformate����������������������������������尓������������������������������������尓������������������������ ╛╇ 109 6.1╇╛NFC-Forum-Tags����������������������������������尓������������������������������������尓������������ ╇ 109 6.1.1â•…Type 1����������������������������������尓������������������������������������尓����������������� ╇ 110 6.1.2â•…Type 2����������������������������������尓������������������������������������尓����������������� ╇ 114 6.1.3â•…Type 3����������������������������������尓������������������������������������尓����������������� ╇ 116 6.1.4â•…Type 4����������������������������������尓������������������������������������尓����������������� ╇ 117 6.2╇╛NFC Data Exchange Format (NDEF)����������������������������������尓���������������� ╇ 120 6.2.1â•…NDEF Record����������������������������������尓������������������������������������尓����� ╇ 120 6.2.2â•…NDEF Message����������������������������������尓������������������������������������尓��� ╇ 122 6.3╇╛MIME Media Types����������������������������������尓������������������������������������尓�������� ╇ 123 6.4╇╛NFC Record Type Definition (RTD)����������������������������������尓������������������ ╇ 123 6.4.1â•…NFC Forum Well-known Types����������������������������������尓�������������� ╇ 124 6.4.2â•…NFC Forum External Types����������������������������������尓�������������������� ╇ 125 6.4.3â•…Text Record Type����������������������������������尓������������������������������������尓 ╇ 125 6.4.4â•…URI Record Type����������������������������������尓������������������������������������尓 ╇ 126 6.4.5â•…Smart Poster Record Type����������������������������������尓���������������������� ╇ 127 6.4.6â•…Generic Control Record Type����������������������������������尓����������������� ╇ 130 6.4.7â•…Signature Record Type����������������������������������尓��������������������������� ╇ 133 6.4.8â•…Connection Handover����������������������������������尓����������������������������� ╇ 137 Literatur����������������������������������尓������������������������������������尓���������������������������������� ╇ 143 7 A rchitektur mobiler NFC-Geräte����������������������������������尓��������������������������� ╛╇ 145 7.1╇╛NFC im Mobiltelefon: Zusammenspiel der Standards������������������������� ╇ 145 7.1.1â•…Aufbau eines mobilen NFC-Geräts����������������������������������尓�������� ╇ 146 7.1.2â•…Beteiligte Organisationen����������������������������������尓����������������������� ╇ 146 7.2╇╛NFC-Controller����������������������������������尓������������������������������������尓��������������� ╇ 153 7.2.1â•…Energieversorgung����������������������������������尓���������������������������������� ╇ 153 7.3╇╛Secure Element����������������������������������尓������������������������������������尓��������������� ╇ 155 7.3.1â•…Aufgaben und Anforderungen����������������������������������尓���������������� ╇ 155
xii
Inhalt
7.3.2â•…Varianten����������������������������������尓������������������������������������尓������������� ╇ 156 7.3.3â•…Aufbau und Funktionsweise����������������������������������尓������������������� ╇ 158 7.3.4â•…Lebenszyklus����������������������������������尓������������������������������������尓������ ╇ 160 7.3.5â•…Parallele Verwendung mehrerer Secure Elements�������������������� ╇ 160 7.4╇╛Host-/Basisbandcontroller����������������������������������尓���������������������������������� ╇ 164 7.5╇╛Schnittstellen von Secure Element und NFC-Controller���������������������� ╇ 164 7.5.1â•…NFC Wired Interface (NFC-WI)����������������������������������尓������������ ╇ 165 7.5.2â•…Single Wire Protocol (SWP)����������������������������������尓������������������� ╇ 166 7.5.3â•…Host Controller Interface (HCI)����������������������������������尓������������� ╇ 170 7.5.4â•…NFC Controller Interface (NCI)����������������������������������尓������������� ╇ 173 7.6╇╛Softwareentwicklung für mobile NFC-Geräte����������������������������������尓��� ╇ 173 7.6.1â•…Java Micro Edition (Java ME)����������������������������������尓���������������� ╇ 174 7.6.2â•…Smartcard Webserver����������������������������������尓������������������������������ ╇ 182 7.6.3â•…Windows Mobile und andere Betriebssysteme������������������������� ╇ 182 7.7╇╛Sicherheitsaspekte����������������������������������尓������������������������������������尓���������� ╇ 183 7.7.1â•…Schaltbare NFC-Funktion����������������������������������尓����������������������� ╇ 183 7.7.2â•…Verbindung zwischen Secure Element und Hostcontroller������ ╇ 184 7.7.3â•…Sichere Ein- und Ausgabe����������������������������������尓���������������������� ╇ 184 Literatur����������������������������������尓������������������������������������尓���������������������������������� ╇ 185 8 O ver-the-Air (OTA) Management����������������������������������尓�������������������������� ╇ 187 8.1╇ Einleitung����������������������������������尓������������������������������������尓����������������������� ╇ 187 8.2╇ GlobalPlatform����������������������������������尓������������������������������������尓��������������� ╇ 188 8.3╇ Trusted Service Manager����������������������������������尓������������������������������������尓 ╇ 188 8.4╇ GlobalPlatform Messaging����������������������������������尓��������������������������������� ╇ 190 8.5╇ Rollenverteilung����������������������������������尓������������������������������������尓������������� ╇ 191 8.5.1â•…Application Developer����������������������������������尓���������������������������� ╇ 192 8.5.2â•…Application Owner����������������������������������尓���������������������������������� ╇ 192 8.5.3â•…Application Provider����������������������������������尓������������������������������� ╇ 193 8.5.4â•…Supplementary Security Domain Manager������������������������������ ╇ 193 8.5.5â•…Controlling Authority����������������������������������尓����������������������������� ╇ 193 8.5.6â•…Card Issuer����������������������������������尓������������������������������������尓���������� ╇ 193 8.5.7â•…Cardholder����������������������������������尓������������������������������������尓���������� ╇ 193 8.5.8â•…Card Enabler����������������������������������尓������������������������������������尓������� ╇ 193 8.5.9â•…Loader����������������������������������尓������������������������������������尓����������������� ╇ 194 8.5.10╇Card Manufacturer����������������������������������尓���������������������������������� ╇ 194 8.5.11╇IC Manufacturer����������������������������������尓������������������������������������尓� ╇ 194 8.5.12╇Platform Owner����������������������������������尓������������������������������������尓�� ╇ 194 8.5.13╇Platform Developer����������������������������������尓�������������������������������� ╇ 194 8.6╇╛OTA Deployment����������������������������������尓������������������������������������尓������������ ╇ 195 8.6.1â•…Simple Mode����������������������������������尓������������������������������������尓������ ╇ 196 8.6.2â•…Delegated Mode����������������������������������尓������������������������������������尓�� ╇ 197 8.6.3â•…Authorized Mode����������������������������������尓������������������������������������尓 ╇ 199 8.7╇╛Anforderungen an einen Trusted Service Manager������������������������������ ╇ 200 8.7.1â•…Infrastruktur����������������������������������尓������������������������������������尓�������� ╇ 200 8.7.2â•…Organisation����������������������������������尓������������������������������������尓������� ╇ 201
Inhalt
xiii
8.7.3â•…Personal����������������������������������尓������������������������������������尓������������� ╇ 201 8.7.4â•…Hardware und Software����������������������������������尓������������������������� ╇ 202 8.7.5â•…Netzwerk und Kommunikation����������������������������������尓������������� ╇ 202 Literatur����������������������������������尓������������������������������������尓���������������������������������� ╇ 203 9 A nwendungen der NFC-Technologie����������������������������������尓��������������������� ╛╇ 205 9.1â•…Das NFC Forum N-Mark����������������������������������尓���������������������������������� ╇ 205 9.2â•…Bezahlen mit NFC����������������������������������尓������������������������������������尓��������� ╇ 206 9.2.1â•…Das NFC-Mobiltelefon als Kreditkarte����������������������������������尓� ╇ 208 9.2.2â•…Das NFC-Telefon als Prepaid-Karte����������������������������������尓����� ╇ 209 9.2.3â•…Das NFC-Telefon als Debitkarte����������������������������������尓����������� ╇ 211 9.3â•…Öffentlicher Personennahverkehr����������������������������������尓���������������������� ╇ 212 9.3.1â•…Prepaid-Tickets im Secure Element����������������������������������尓������ ╇ 213 9.3.2â•…SMS-Tickets ohne Secure Element (Wiener Linien)�������������� ╇ 214 9.3.3â•…Postpaid-Modell����������������������������������尓������������������������������������尓 ╇ 215 9.3.4â•…Die Kredit- oder Bankkarte als Fahrkarte������������������������������� ╇ 216 9.3.5â•…Rhein-Main-Verkehrsverbund (RMV)����������������������������������尓�� ╇ 216 9.3.6â•…Deutsche Bahn „Touch and Travel“����������������������������������尓������ ╇ 218 9.3.7â•…Hemmnisse und Erfolgsfaktoren����������������������������������尓����������� ╇ 218 9.4â•…Kino- und Konzertkarten����������������������������������尓����������������������������������� ╇ 220 9.4.1â•…Bestellung der Karten����������������������������������尓���������������������������� ╇ 220 9.4.2â•…Zustellung und Entwertung der Karten����������������������������������尓� ╇ 222 9.5â•…Zutritt����������������������������������尓������������������������������������尓����������������������������� ╇ 222 9.5.1â•…Hotels����������������������������������尓������������������������������������尓���������������� ╇ 223 9.5.2â•…Firmengebäude����������������������������������尓������������������������������������尓�� ╇ 224 9.6â•…Tourismus-Anwendungen����������������������������������尓��������������������������������� ╇ 224 9.7â•…Produktinformationssystem����������������������������������尓������������������������������� ╇ 225 9.8â•…Fotos übertragen mit NFC und Bluetooth����������������������������������尓��������� ╇ 226 9.9â•…McDonald’s in Japan����������������������������������尓������������������������������������尓����� ╇ 227 9.10╇Essensservice für ältere Menschen����������������������������������尓�������������������� ╇ 228 9.11╇Konferenz- und Eventmanagement����������������������������������尓������������������� ╇ 231 9.12╇Wachdienste����������������������������������尓������������������������������������尓������������������ ╇ 232 9.13╇Industrieanwendungen����������������������������������尓������������������������������������尓�� ╇ 233 9.14╇Medizinische Anwendungen����������������������������������尓����������������������������� ╇ 235 9.14.1╇Datenerfassung für die klinische Forschung��������������������������� ╇ 235 9.14.2╇Öffentliches Gesundheitswesen in Entwicklungsländern������� ╇ 236 9.15╇Generische NFC-Plattform����������������������������������尓�������������������������������� ╇ 237 Literatur����������������������������������尓������������������������������������尓���������������������������������� ╇ 240 10╇Javaprogrammierung für NFC����������������������������������尓������������������������������� ╛╇ 243 10.1╇JSR 177����������������������������������尓������������������������������������尓������������������������� ╇ 243 10.1.1╇SATSA-APDU����������������������������������尓������������������������������������尓�� ╇ 243 10.1.2╇SATSA-JCRMI����������������������������������尓������������������������������������尓� ╇ 244 10.1.3╇SATSA-PKI����������������������������������尓������������������������������������尓������� ╇ 245 10.1.4╇SATSA-CRYPTO����������������������������������尓���������������������������������� ╇ 246
xiv
Inhalt
10.2╅JSR 257����������������������������������尓������������������������������������尓����������������������� ╇ 246 10.2.1╅Gemeinsame Schnittstelle����������������������������������尓����������������� ╇ 247 10.3╅PushRegistry und JSR 257����������������������������������尓������������������������������ ╇ 254 10.3.1╅NDEF-Records����������������������������������尓���������������������������������� ╇ 254 10.3.2╅Secure Element Transaktionen����������������������������������尓���������� ╇ 255 10.4╅Nokia-Erweiterungen zu JSR 257����������������������������������尓������������������� ╇ 255 10.4.1╅Peer-to-Peer-Paket����������������������������������尓����������������������������� ╇ 256 10.4.2╅PushRegistry����������������������������������尓������������������������������������尓�� ╇ 256 10.4.3╅Zugriff auf das Secure Element����������������������������������尓��������� ╇ 257 Literatur����������������������������������尓������������������������������������尓���������������������������������� ╇ 257 Sachverzeichnis����������������������������������尓������������������������������������尓������������������������� ╇ 259
Abkürzungen
3DES Triple Data Encryption Standard 3GPP Third Generation Partnership Project ACK Acknowledge ACT Activation Protocol AEE Application Execution Environment AES Advanced Encryption Standard AID Application Identifier APDU Application Protocol Data Unit API Application Programming Interface APSD Application Provider Security Domain ASCII American Standard Code for Information Interchange ASK Amplitude-Shift Keying ATR Answer-to-Reset BIP Bearer Independent Protocol BPSK Binary Phase-Shift Keying BSI British Standards Institution CA Certificate Authority CA Controlling Authority CASD Controlling Authority Security Domain CC Capability Container CCM Card Content Management CDC Connected Device Configuration CDMA Code Division Multiple Access CF Chunk Flag CID Card Identification CKLA Confidential Key Loading Authority allgemeine Ausführungsumgebung für Applikationen. Programmierschnittstelle. ╇ Amplitudenumtastung. ╇ binäre Phasenumtastung. ╇ ╇
xv
xvi
CL Contactless CLA Class CLDC Connected, Limited Device Configuration CLF Contactless Front-end CLK Clock CLT Contactless Tunneling Protocol COS Card Operating System CPS Carrier Power State CRC Cyclic Redundancy Check CSR Certificate Signing Request CTF Carrier Type Format DES Data Encryption Standard DF Dedicated File DID Device Identifier DMTSD Delegated Mode TSM Security Domain DSAP Destination Service Access Point ECDH Elliptic Curve Diffie-Hellman EDC Error Detection Code EDGE Enhanced Data Rates for GSM Evolution EEPROM Electrically Erasable Programmable Read-Only Memory EF Elementary File EGT Extra Guard Time EOF End of Frame EPC Electronic Product Code ETSI European Telecommunications Standards Institute etu Elementary Time Unit10 EU Euroäische Union FDMA Frequency Division Multiple Access FeliCa Felicity Card FID File Identifier FM Frequency Modulation11 FSK Frequency-Shift Keying12 GCF Generic Connection Framework
kontaktlos. Instruktionsklasse. ╇ Takt. ╇ Smartcard-Betriebssystem. ╇ Fehlererkennungscode. 10╇ elementare Zeiteinheit. 11╇ Frequenzmodulation. 12╇ Frequenzumtastung. ╇
╇
Abkürzungen
Abkürzungen
GND Ground13 GPB General Purpose Byte GPRS General Packet Radio Service GSM Global System for Mobile Communications GSMA GSM Association HCI Host Controller Interface HCP Host Controller Protocol HF Hochfrequenz HSDPA High-Speed Downlink Packet Access HTML Hyper Text Markup Language HTTP Hyper Text Transfer Protocol HTTPS Hyper Text Transfer Protocol Secure I/O Input/Output I2C Inter-Integrated Circuit Bus IANA Internet Assigned Numbers Authority IC Integrated Circuit14 ID Identification IEC International Electrotechnical Commission IL ID Length present INS Instruction15 ISD Issuer Security Domain ISO International Organization for Standardization IT Information Technology JCOP Java Card Open Platform JCP Java Community Process JCRE Java Card Runtime Environment JCRMI Java Card Remote Method Invocation JCVM Java Card Virtual Machine JIS Japanese Industrial Standard JPEG Joint Photographic Experts Group JSR Java Specification Request JVM Java Virtual Machine LLC Logical Link Control Layer LLCP Logical Link Control Layer Protocol LSB Least Significant Bit/Byte MAC Medium Access Control Layer MAC Message Authentication Code MAD MIFARE Application Directory MB Message Begin ME Message End Masse. integrierte Schaltung. 15╇ Instruktionscode. 13╇ 14╇
xvii
xviii
MF Master File MID Mobile Information Device MIDP Mobile Information Device Profile MIFARE Mikron fare collection MIME Multipurpose Internet Mail Extensions MITM Man-in-the-Middle (Attack) MMS Multimedia Message Service MMU Memory Managment Unit MNO Mobile Network Operator16 MSB Most Significant Bit/Byte NAD Node Address NCI NFC Controller Interface NDEF NFC Data Exchange Format NFC Near Field Communication NFCIP Near Field Communication Interface and Protocol NFC-WI Near Field Communication Wired Interface NRZ-L Non-Return-to-Zero Level NTIP NFC Transfer Interface Packet OMA Open Mobile Alliance OOK On-Off Keying17 OSI Open Systems Interconnection OTA Over-the-Air OTP One-time Programmable Memory18 PCB Protocol Control Byte PCD Proximity Coupling Device PDA Personal Digital Assistant PDU Protocol Data Unit PFB Protocol Function Byte PHY Physical Layer19 PICC Proximity Integrated Cicuit Card PIN Personal Identification Number PKI Public Key Infrastructure POS Point of Sale PPS Protocol and Parameter Selection PSK Phase-Shift Keying20 RAC Read Access Condition RAM Random Access Memory RF Radio Frequency Mobilfunkbetreiber. Ein-Aus-Tastung. 18╇ einmal beschreibbarer Speicher. 19╇ Bitübertragungsschicht. 20╇ Phasenumtastung. 16╇ 17╇
Abkürzungen
Abkürzungen
RFC Request for Comments RFID Radio Frequency Identification RMV Rhein-Main-Verkehrsverbund ROI Return of Investment ROM Read-Only Memory RST Reset RTD Record Type Definition RZ Return-to-Zero SAK Select Acknowledge SAT SIM Application Toolkit SATSA Security and Trust Services API SCH Secure Channel Service SCP Smart Card Platform SCWS Smartcard-Webserver SD Secure Digital SDD Single Device Detection SDMA Space Division Multiple Access SE Secure Element SEC Secure Element Controller SHDLC Simplified High Level Data Link Control Protocol SIM Subscriber Identity Module SMAPSD Simple Mode Application Provider Security Domain SMC Secure Memory Card SMS Short Message Service SOF Start of Frame SP Service Provider21 SPI Serial Peripheral Interface Bus SPU Standard or Proprietary Use SR Short Record SSAP Source Service Access Point SSD Supplementrary Security Domain SSE Shared Secret Service SWP Single Wire Protocol TCP Transmission Control Protocol TCP/IP Transmission Control Protocol/Internet Protocol TDMA Time Division Multiple Access TEE Trusted Execution Environment22 TLS Transport Layer Security TLV Tag-Length-Value TNF Type Name Format TPDU Transport Protocol Data Unit 21╇ 22╇
Dienstanbieter. sichere Ausführungsumgebung für Applikationen.
xix
xx
TRNG True Random Number Generator23 TS Technical Specification24 TSM Trusted Service Manager TSN Time Slot Number UART Universal Asynchronous Receiver Transmitter UDP User Datagram Protocol UHF Ultra High Frequency UICC Universal Integrated Circuit Card UID Unique Identifier UMTS Universal Mobile Telecommunications System URI Uniform Resource Identifier URL Uniform Resource Locator URN Uniform Resource Name USB Universal Serial Bus USIM Universal Subscriber Identity Module UTF Unicode Transformation Format UV Ultraviolett VCC Voltage Common Collector25 VCD Vicinity Coupling Device VDV Verband Deutscher Verkehrsunternehmen VICC Vicinity Integrated Circuit Card VM Virtual Machine WAC Write Access Condition WAP Wireless Application Protocol WKT Well-known Type WLAN Wireless Local Area Network WORM Write once, read multiple XML Extensible Markup Language
echter Zufallszahlengenerator. technische Spezifikation. 25╇ positive Versorgungsspannung. 23╇ 24╇
Abkürzungen
Kapitel 1
Einführung
Dieses Buch wendet sich an Studierende, Ingenieure, technisch Interessierte sowie Personen, die mehr über NFC und NFC-Anwendungen erfahren möchten. Es gibt einen umfassenden Überblick über Grundlagen, Technik und Anwendungen dieser neuen Technologie. Wir haben versucht, in Beispielen die Thematik möglichst praxisnahe darzustellen. So wollen wir die Leser unterstützen, NFC einfacher in ihre Anwendungen zu integrieren und die Möglichkeiten dieser Technologie zu erkennen. Im Jahr 2010 waren noch nicht alle Standards und Geschäftsmodelle für den Einsatz von NFC definiert. In diesem Buch erklären wir die wichtigsten Normen sowie Alternativen für noch nicht standardisierte Abläufe und Modelle.
1.1 Historische Entwicklung Near Field Communication (NFC) ist eine kontaktlose Technologie zum Austausch von Nachrichten über kurze Distanzen. NFC wurde 2002 von NXP Semiconductors (ehemals Philips Semiconductors) und Sony entwickelt. Gleichzeitig basiert NFC auf einer jahrzehntelang erprobten und ausgereiften Technologie, weil sie bestehende Standards im Bereich von RFID (Radio Frequency Identification) und Chipkarten verwendet. Die Entwicklung von NFC muss daher sowohl mit der Geschichte von RFID als auch der Geschichte von Chipkarten begonnen werden.
1.1.1 Historische Entwicklung von RFID RFID ist die automatische Erkennung und Identifikation über elektromagnetische Wellen. Der erste Einsatz von RFID erfolgte im zweiten Weltkrieg. Hier wurden Sekundärradarsysteme für die Freund-Feind-Erkennung eingesetzt. Flugzeuge und Panzer wurden mit Leseeinheiten und Transpondern ausgerüstet, um eigene von feindlichen Fahrzeugen und Flugzeugen zu unterscheiden. Bis heute werden in den Armeen Systeme eingesetzt, um die Freund-Feind-Erkennung mit Hilfe kontaktJ. Langer, M. Roland, Anwendungen und Technik von Near Field Communication (NFC), DOI 10.1007/978-3-642-05497-6_1, ©Â€Springer-Verlag Berlin Heidelberg 2010
˘
˘
1 Einführung
loser Übertragungstechnologie durchzuführen. Das erste Werk über RFID schrieb Harry Stockmann, mit dem Titel „Communication by Means of Reflected Power“ im Jahre 1948 [9]. In den folgenden Jahrzehnten wurden viele proprietäre RFID-Lösungen entwickelt, um Produktionsprozesse zu optimieren oder die Nachverfolgbarkeit und Identifikation von Produkten zu gewährleisten. In den 1970ern kamen die ersten einfachen kommerziellen RFID-Lösungen auf den Markt. Die damals eingeführten elektronischen Warensicherungssysteme mit einem Bit Speicherkapazität sind auch heute noch in Verwendung. Bei diesen Systemen wird, durch Prüfung (vorhanden/ fehlt) einer Markierung (d.€h. einem Bit), bei Diebstahl ein Alarm ausgelöst. In den 1980er Jahren wurden zusätzliche Anwendungen, wie Tieridentifikation und Mautsysteme, eingeführt. In den 1990er Jahren folgten elektronische Zutrittskontrollsysteme, Skipässe, elektronisches Ticketing, Tankkarten und Bezahlkarten. Die eigentliche Entwicklung moderner RFID-Systeme begann in den 1990er Jahren. Die Abmessungen der Transponder ließen sich durch den technologischen Fortschritt stark reduzieren und Transponder wurden in größeren Produktionsmengen erzeugt. Die Preise, die vorher in einer Größenordnung von mehreren 10€€ lagen, verringerten sich um den Faktor 10 und noch weiter. Vor allem in der Tierkennzeichnung fand die Technologie seinen Aufschwung: Rinder, Schweine, sowie Tauben und andere Kleintiere wurden für die automatische Identifikation mit RFIDTranspondern ausgerüstet. Weitere Massenanwendungen folgten: die automatische Wegfahrsperre im Auto, die Zutrittskontrolle bei Gebäuden, Mautsysteme für Fahrzeuge und Zeiterfassungssysteme für Betriebe und Sportveranstaltungen [1]. Mittlerweile sind die Anwendungen sehr vielfältig und reichen von Kreditkarten, Reise- und Skipässen bis hin zu Logistik, Lagerverwaltung, Bibliotheksverwaltung und Zutritt. In Abb.€1.1 ist die Entwicklungsgeschichte der RFID-Technologie von Beginn der 1940er Jahre an abgebildet.
1.1.2 Historische Entwicklung der Chipkarten Ein weiterer wichtiger Bestandteil der NFC-Technologie sind Chipkarten oder „Smartcards“. Die wichtigsten Anwendungen von NFC, Bezahlen und Ticketing, basieren auf Chipkarten. Die Geschichte der Chipkarten beginnt Anfang der 1950er Jahre in den USA mit der Verbreitung von Plastikkarten. Diners Club gab 1950 die erste Plastikkarte für den überregionalen Zahlungsverkehr aus. Mit der Gründung der Kreditkartenunternehmen Visa und MasterCard verbreitete sich das bargeldlose Bezahlmedium sehr rasch. Auf diesen Karten waren zunächst weder ein Chip noch eine elektronische Kennung integriert. Eine Aufprägung verbesserte die Fälschungssicherheit. Eine weitere Verbesserung stellte die Verwendung eines Magnetstreifens auf der Rückseite der Karte dar. In den Magnetstreifen wurden digitalisierte Daten zur automatischen Datenweiterverarbeitung integriert. Die Benutzeridentifikation, die bis
Anwendungen
Technologieentwicklungen
1950
zwei einfache aktive Sender
Flugzeugerkennung Freund-Feind
1960
1970
Animal Radio Tracking
Kontaktkarten ISO 7816
Entwicklung von Middleware
Datenmanipulationen
2000
ID-Cards proximity ISO 14443
ID-Cards Vicinity ISO 15693
Harmonisierung Frequenzen und Sendeleistungen international
Datenschutzmassnahmen Datenverschlüsselung für einfache Anwendungen
Druckbare Schaltungen
Optimierte, kostengünstige Massenprodukte
epo Standard
2010
Item Management ISO 18000
Inlays für Etiketten
höhere Frequenzbereiche Datenübertragung
Antikollision
Chips für unterschiedliche Antennenformen bei Etiketten
Frachtkontaineridentifizierung ISO 10374
1990
Kontaktlose Karten ISO 10536
Tierkennzeichnung ISO 11785
Kontakt-Chips in Karten
Miniaturisierung von Schaltungen
Transponder in Glaskapseln
Transponder in Karten
programmierbare Transponder
Tieridentifikation zur Seuchen- und Qualitätskontrolle
Personenidentifikation (Skigebiete, Massensport)
Gepäckkennzeichnung
Autoschlüssel (Wegfahrsperre)
Ubiquitous Computing
Personalausweis Krankenkarte
wiederverwendbare Behälter
Bibliotheken
Dokumentenkennzeichnung
Autobahngebühren (Toll Payment)
RF- und EM-Systeme
1980
Transponder am Halsband
Müll-Container
Personenidentifikation Zugangskontrolle (Gebäude)
Telefonkarten Tieridentifikation bei Nutztieren
Positionsverfolgung bei Wildtieren
Abb. 1.1↜渀 Entwicklungsgeschichte von RFID. (Quelle: [1])
Standards
Warensicherung
1.1 Historische Entwicklung ˘
˘
1 Einführung
dahin nur durch die Unterschrift des Karteninhabers möglich war, konnte nun durch eine persönliche Geheimzahl, die PIN (↜Personal Identification Number), realisiert werden. Der große Nachteil der Magnetstreifentechnik liegt in der Möglichkeit, die gespeicherten Daten beliebig zu kopieren, zu lesen und zu löschen. Das ist auch der Grund dafür, dass in vielen Systemen aus Sicherheitsgründen die PIN nicht am Magnetstreifen abgespeichert ist, sondern direkt über eine Online-Verbindung geprüft wird. Um die Kosten möglichst niedrig zu halten, wurde nach Lösungen gesucht, die es ermöglichen, die Transaktionen offline durchzuführen, ohne die Sicherheit des Systems zu gefährden [8]. Die Entwicklung der Chipkarte erfolgte parallel zur Ausweitung der elektronischen Datenverarbeitung. In den 1970er Jahren gelang es, Rechnerlogik und Datenspeicher auf einem einzigen Siliziumplättchen mit wenigen Quadratmillimetern Fläche zu integrieren. Bereits 1968 wurden die Ideen, einen solchen integrierten Schaltkreis in eine Identifikationskarte einzubauen, zum Patent angemeldet. Der große Durchbruch gelang 1984, als die französische PTT (↜Poste, Téléphone et Télécommunications) einen Feldversuch mit einer Telefonkarte auf Chipkartenbasis durchführte. Die hohen Erwartungen an Zuverlässigkeit und Manipulationssicherheit konnten auf Anhieb unter Beweis gestellt werden. In Deutschland fand 1984/85 ein Pilotversuch mit Telefonkarten unterschiedlicher Technologien statt. Magnetstreifen, Karten mit optischer Speicherung und Chipkarten wurde gegenüber gestellt. Aus diesem Pilotversuch ging die Chipkarte als Sieger hervor. Im Jahr 1986 waren bereits mehrere Millionen Chipkarten für Telefonie im Einsatz. 1990 waren es bereits 60€Mio. und 1997 mehrere hundert Millionen weltweit [8]. Ein weiterer großer Meilenstein in der Geschichte der Chipkarte war die Integration von Mikroprozessoren und Kryptocoprozessoren auf der Karte. Der Einsatz einer Chipkarte als elektronische Geldbörse wurde 1995 in Österreich mit QUICK begonnen. Damit war Österreich weltweit das erste Land mit einem flächendeckenden elektronischen Geldbörsensystem. Die GeldKarte in Deutschland wurde ein Jahr später (1996) eingeführt. Wichtig für die zukünftige Verbreitung von Chipkarten im Zahlungsverkehr war die Verabschiedung der sogenannten EMV-Spezifikation, die gemeinsam von Europay, MasterCard und Visa erarbeitet wurde. Sie beschreibt im Detail die Funktionsweise von Karte und Terminal und gewährleistet die Kompatibilität zwischen den Kreditkartenorganisationen [8].
1.1.3 Historische Entwicklung von NFC Near Field Communication (NFC) wurde im Jahr 2002 von NXP Semiconductors und Sony entwickelt. Beide Unternehmen sind führend bei kontaktlosen Chipkarten: NXP mit der Produktreihe MIFARE und Sony mit FeliCa. Während FeliCa in Japan die Marktführung übernimmt, ist NXP mit MIFARE in Europa, Amerika und Teilen Asiens Marktführer. NFC ist zu diesen beiden Varianten kompatibel. Die proprietären Verschlüsselungsmethoden von MIFARE und FeliCa wurden nicht in
1.1 Historische Entwicklung
˘
den NFC-Standard übernommen und sind für NFC-Geräte nicht verpflichtend. Der Trend bei kontaktlosen Chipkarten geht hin zu offenen Kryptografiestandards, wie 3-DES, Elliptic Curve und AES, und weg von proprietären Firmenstandards, die als nicht sicher eingestuft werden. Im Jahr 2004 wurde das NFC Forum von NXP, Sony und Nokia gegründet und zählte 2010 mehr als 150 Mitglieder. Der Zweck des NFC Forums ist die weltweit einheitliche Standardisierung für diese Technologie. Mit Nokia ist ein Mobiltelefonhersteller Gründungsmitglied. In fast allen NFC-Anwendungen spielen Mobiltelefone eine wichtige Rolle. Das Telefon wird als Lesegerät für kontaktlose Chipkarten eingesetzt oder emuliert eine kontaktlose Chipkarte. So wird das Telefon zum elektronischen Fahrschein, zur Kreditkarte oder zum elektronischen Schlüssel, um Türen zu öffnen. Die ersten verfügbaren NFC-Mobiltelefone wurden von Samsung und Nokia entwickelt. 2005 wurde in Caen, Frankreich, ein Feldversuch mit 200 Personen gestartet. Die Teilnehmer am Feldversuch konnten sechs Monate lang mit dem NFC-Telefon Samsung D500E an den Kassen im Einzelhandel bezahlen, Tickets für Parkplätze kaufen und touristische Dienstleistungen abrufen. Die Firmen NXP, France Telecom, Samsung, Groupe LaSer und Vinci Park bildeten das Konsortium für die Umsetzung des Feldversuchs [7]. Der Rhein-Main-Verkehrsverbund (RMV) startete 2005 einen Feldversuch in der Stadt Hanau bei Frankfurt. Mit dem NFC-Telefon konnten Fahrscheine für den öffentlichen Personennahverkehr gekauft werden. Die Anwendung ist kompatibel zu dem bestehenden Chipkartensystem in der Stadt Hanau. Nach zehn Monaten im Test wurde die kommerzielle Ausweitung des Feldversuches bekannt gegeben. Jeder konnte sich in ausgewählten Telefongeschäften das NFC-Telefon Nokia 3220 mit der RMV-Ticket-Anwendung kaufen. Vodafone, Nokia, NXP und der RMV waren die Partner, die diese Anwendung realisierten. Im November 2006 startete an der Fachhochschule Oberösterreich in Hagenberg bei Linz ein NFC-Feldversuch, der vom NFC Research Lab Hagenberg, NXP, der Mobilkom Austria und der A1 Bank initiiert wurde. Studierende, Lehrende sowie Verwaltungspersonal erprobten mit dem NFC-Telefon SGH-X700N von Samsung die NFC-Technologie. Die insgesamt knapp 100 Teilnehmer konnten mit dem NFCTelefon in zwei Mensen und an Cola- und Kaffeeautomaten bezahlen. Als Zahlungsmittel wurde eine Prepaid-Börse über das Mobilfunknetz, oder alternativ an einem stationären Aufladeterminal gegen Bargeld, aufgeladen. Die Aufbuchungen über das Mobiltelefon wurden bei der nächsten Monatsabrechnung automatisch vom Mobilfunkbetreiber in Rechnung gestellt. Weiters wurden zwei Informationsterminals aufgestellt, an denen die Teilnehmer aktuelle Nachrichten, Mittagsmenüs und Stundenpläne auf ihr NFCTelefon übertragen konnten. Die Informationen waren offline über ein von der Fachhochschule entwickeltes Programm am Mobiltelefon abrufbar. Eine weitere Anwendung war der Zutritt zu Gebäuden, Labors sowie Seminar- und Vorlesungsräumen. Die Angestellten der Fachhochschule konnten Bonuspunkte für die Vergütung von Mittagessen mit dem NFC-Telefon sammeln. Diese Anwen-
˘
1 Einführung
dung war kompatibel zur bestehenden Lösung mit Chipkarten (Studenten- und Mitarbeiterausweis). Die Besonderheiten am NFC-Feldversuch in Hagenberg waren die vielen unterschiedlichen Anwendungen, die im NFC-Telefon integriert wurden. Damit wurde unter Beweis gestellt, dass NFC in einem größeren Feldversuch multiapplikationsfähig ist. 2007 wurde der Feldversuch um touristische Anwendungen erweitert. Es wurden intelligente Plakate an Sehenswürdigkeiten, wie dem Schloss, dem Softwarepark und anderen Orten, befestigt, mit denen Benutzer von NFC-Telefonen Texte und Bilder auf das Mobiltelefon laden können. Das Nutzungsverhalten der Teilnehmer wurde untersucht und in einer Studie veröffentlicht. Die Ergebnisse zeigten, dass vor allem die Zutritts- und Bezahllösungen für die Konsumenten sehr attraktiv sind. Die Technologie wurde überwiegend als einfach bedienbar und modern empfunden. Das erste große kommerzielle NFC-Roll-Out fand 2007 in Österreich statt. Mobilkom Austria, die Wiener Linien und die österreichischen Bundesbahnen (ÖBB) rüsteten, in Kooperation mit dem NFC Research Lab der Fachhochschule in Hagenberg, U-Bahnstationen, Bahnhöfe und Getränkeautomaten mit mehr als 1000 NFCTags aus. Zusätzlich konnte das Nokia 6131 NFC in jedem A1-Shop oder über die Webpage von Mobilkom Austria in ganz Österreich gekauft werden. Die Anwender hatten die Möglichkeit, U-Bahntickets und Fahrscheine für die Bahn zu kaufen sowie an Snackautomaten zu bezahlen [3]. Seit dem Jahr 2008 gibt es in vielen Ländern auf allen Kontinenten größere oder kleinere Feldversuche, sowie kommerzielle Anwendungen. Die wichtigsten Anwendungen sind Bezahlen oder Kaufen und Entwerten von Fahrscheinen für den öffentlichen Personennahverkehr.
1.1.4 Die NFC-Technologie Das Revolutionäre an NFC ist, dass die strikte Trennung in Lesegerät und Transponder aufgehoben wird. Bei klassischen RFID-Systemen gibt es immer eine aktive und eine passive Komponente. Das Lesegerät ist immer aktiv und versorgt die kontaktlose Chipkarte (den Transponder) mit Energie. Der Datenaustausch zwischen Lesegerät und Transponder erfolgt nach einem Frage-Antwort-Prinzip, bei dem immer das Lesegerät den Nachrichtenaustausch beginnt. Ein NFC-Gerät integriert hingegen beide Funktionen. Das heißt, das NFC-Gerät kann abwechselnd passiver Transponder und aktives Lesegerät sein. Ein NFC-Gerät ist daher in der Lage einerseits andere kontaktlose Chipkarten mit Energie zu versorgen und über bestehende Standard-Protokolle kommunizieren und andererseits auch eine kontaktlose Chipkarte zu emulieren. Die NFC-Chips integrieren beide Funktionalitäten – Lesegerät und Chipkarte. Der Nachrichtenaustausch basiert auf bereits bestehenden Standards, wie der Norm ISO/IEC 14443 [5], welche die Protokolle für Lesegerät und Transponder definieren. Für den Austausch von Nachrichten zwischen zwei NFC-Geräten wur-
1.2 Das NFC Forum
˘
de ein neues Protokoll entwickelt, das in ISO/IEC 18092 [6] bzw. ECMA-340 [4] definiert ist.
1.2 Das NFC Forum Das NFC Forum hat sich zum Ziel gesetzt, die NFC-Technologie zu standardisieren und den Einsatz weltweit zu forcieren. Das NFC Forum entwickelt Spezifikationen, die die Interoperabilität zwischen NFC-Geräten und Diensten gewährleisten. Das Forum hat mehr als 150 Mitglieder, die alle an der Weiterentwicklung und Kompatibilität von NFC arbeiten. Die Mitglieder kommen aus vielen Branchen: Chiphersteller, Mobiltelefonhersteller, SIM-Karten-Hersteller, Banken, Kreditkartenunternehmen, Mobilfunkbetreiber, Forschungsinstitute, Testhäuser, Systemintegratoren und Unternehmen aus dem öffentlichen Personennahverkehr und dem Handel. Die Ziele des NFC Forum sind: • die Entwicklung von Standards der NFC-Technologie, um eine modulare Architektur für mobile NFC-Geräte und Protokolle zu garantieren, • die Förderung der Entwicklung von Produkten, die die NFC Forum Spezifikationen einhalten, • die Zusammenarbeit zwischen den Unternehmen zu fördern, um die Ansprüche an die NFC-Produkte zu erfüllen und • weltweit Konsumenten, Endverbraucher und Unternehmen über NFC zu informieren. Das NFC Forum ist in mehrere Ausschüsse und Arbeitsgruppen unterteilt, die sich mindestens drei Mal jährlich bei den NFC Forum Meetings treffen. Für die Kommunikation zwischen diesen Meetings werden Telefonkonferenzen und zusätzliche persönliche Treffen vereinbart. Die Arbeitsgruppen sind in Abb.€1.2 dargestellt. Das Marketing Commitee ist für die externe Kommunikation und die Definition der Marketingaktivitäten des NFC Forums zuständig. Das Compliance Commitee behandelt in den Arbeitsgruppen die Interoperabilität und Tests der NFC-Geräte und Dienste. In den Untergruppen des Technical Committees entstehen die NFCStandards für Geräte und Dienste. Die möglichen Mitgliedschaften im NFC Forum sind in fünf Kategorien mit verschiedenen jährlichen Mitgliedsbeiträgen und unterschiedlichen Stimmrechten unterteilt. Unternehmen und Organisationen können sich als Sponsor (50.000€US$), Principal (25.000€US$), Associate (10.000€US$), Implementer (5.000€US$) sowie als Non-Profit-Organisation (1.500€US$) registrieren. Sponsor ist die Mitgliedschaftsform mit den meisten Rechten. Sponsor-Mitglieder haben einen Sitz im Board of Directors. Principal- und Sponsor-Mitglieder dürfen abstimmen, wenn neue Standards verabschiedet werden. Die anderen Mitglieder können in den Arbeitsgruppen und Task Forces mitarbeiten, haben jedoch keine Stimmrechte. Das NFC Forum kooperiert mit anderen Standardisierungs- und Interessengemeinschaften: EMVCo, ETSI, GSMA, Mobey Forum und der Smart Card Alliance [2].
Transport Focus Group
Retail Focus Group
Ecosystem Development Working Group
Marketing Communications Working Group
Test Mode Task Force
RF Testing Task Force
Plugfest Task Force
Testing Working Group
Compliance Program Working Group
Minimum Level of Interoperability Working Group
Compliance Committee
Abb. 1.2↜渀 Organigramm des NFC Forums. (Quelle: [2])
EMEA Focus Group
Asia / Pacific Focus Group
Americas Focus Group
Marketing Committee
Liaison Task Force
Board of Directors
Security Working Group
Reference Applications Working Group
NFC Devices Working Group
Technical Committee
Program Management Task Force
RF Task Force
SNEP Task Force
Peer-to-Peer Task Force
NFC Controller Interface Task Force
˘ 1 Einführung
1.3 Die ersten Mikrochips, Geräte und Hersteller
˘
1.3 Die ersten Mikrochips, Geräte und Hersteller In diesem Abschnitt werden jene Mikrochips und Geräte vorgestellt, die am Beginn der NFC-Technologie eingesetzt wurden. Teilweise handelt es sich dabei um nicht kommerzielle Kleinserien, aber auch um kommerziell erhältliche Produkte, die in hohen Stückzahlen produziert wurden.
1.3.1 NFC-ICs Die Basis jedes NFC-Gerätes sind NFC-ICs, welche die Verbindung der Luftschnittstelle zur digitalen Weiterverarbeitung im NFC-Gerät ermöglichen. Der erste kommerzielle NFC-Transceiver, der PN511, wurde von NXP Semiconductors hergestellt. Das PN511 Transmission Module unterstützt ISO/IEC 14443 Typ A und FeliCa als Lesegerät und kontaktlose Chipkarte und den NFCIP-1-Standard (ISO/ IEC 18092). Für die Emulation einer kontaktlosen Chipkarte ist ein zusätzlicher Smartcard-Mikrochip, wie der NXP SmartMX, notwendig. Die Unterstützung für das RFID-Protokoll ISO/IEC 14443 Typ B (als Lesegerät) wurde im Nachfolgermodell, dem PN512 Transmission Module, ergänzt. Der PN531 bzw. der PN532 sind die nächste Generation dieser NFC-Transceiver. Diese Chips haben zusätzlich einen Mikrocontroller für die Verarbeitung der Kontaktlosprotokolle integriert. Die neusten NFC-Chips von NXP Semiconductors sind der PN533 und der PN544. Dabei handelt es sich um NFC-Controller, welche die vollständige Verarbeitung der Kontaktlosprotokolle übernehmen und eine weitgehende Entkopplung der NFC-Verarbeitung von anderen Komponenten eines NFC-Geräts ermöglichen. Der PN544 unterstützt zudem die neuesten Protokolle für die Emulation kontaktloser Chipkarten. Auch andere Hersteller haben NFC-Controller entwickelt. Ein solches Produkt ist der MicroRead von Inside Contactless. Dieser unterstützt neben ISO/IEC 14443 und NFCIP-1 auch noch den Übertragungsstandard ISO/IEC 15693, sowie das Host Controller Interface (HCI) und das Single Wire Protocol (SWP) zur Emulation kontaktloser Chipkarten. Ein weiterer NFC-Controller ist der ST21NFCA von STMicroelectronics. Auch dieser unterstützt die wesentlichen RFID-Protokolle, das NFC-Protokoll und das Single Wire Protocol.
1.3.2 Mobiltelefone Von allen NFC-Geräten sind Mobiltelefone die häufigsten und populärsten NFCGeräte. Die ersten NFC-Mobiltelefone waren das Nokia 3220 (dank einem in die
10
1 Einführung
austauschbare Gehäuseschale integrierten NFC-Modul, der „NFC Shell“) und das Samsung D500E. Beide Telefone verwendeten NFC-ICs von NXP. Das Secure Element, d.€h. der Smartcard-Mikrochip zur Emulation kontaktloser Chipkarten, wurde direkt in das Telefon (bzw. die Gehäuseschale) integriert und war somit nicht austauschbar. Das Nokia 3220 mit „NFC Shell“ (Abb.€1.3a) war zudem das erste kommerziell verfügbare NFC-Telefon. Eines der ersten NFC-Mobiltelefone, bei dem die SIM-Karte als Secure Element verwendet wurde, ist das Sagem my700X. Es verwendet den MicroRead NFC-Controller von Inside Contactless. Damit kann es mit speziellen Single Wire Protocol SIM-Karten kommunizieren. Auch ein NFC-Telefon, das eine spezielle SD-Speicherkarte als Secure Element verwendet, ist verfügbar: das BenQ T80 (Abb.€1.3d). Es verwendet den PN532 von NXP als NFC-Transceiver. Andere bekannte NFC-Mobiltelefone sind das Nokia 6131 NFC (Abb.€1.3b), das Nokia 6212 Classic und das Samsung SGH-X700N (Abb.€1.3c). Weitere NFCTelefone sind das Sagem Cosyphone und Samsung S5230. Das Cosyphone ist, laut Hersteller, ein einfach bedienbares Telefon, das speziell für die Generation 50+ entwickelt wurde.
Abb. 1.3↜渀 NFC-Mobiltelefone. a Nokia 3220 mit „NFC Shell“, b Nokia 6131 NFC, c Samsung SGH-X700N, d BenQ T80. (Fotos: Stefan Grünberger/NFC Research Lab Hagenberg)
Literatur
11
Literatur [1]â•…Kern C: Anwendungen von RFID-Systemen, Springer Verlag, Berlin, Heidelberg, New York (2006) [2]â•…NFC Forum: NFC Forum Organizational Chart. http://www.nfc-forum.org/aboutus/committees_and_wgs/nfc_forum_organization_chart (Stand: März 2010) [3]â•…NFC Times: Austria: „Rollout“ Uses NFC Reader Mode To Sell Tickets and Snacks. http:// www.nfctimes.com/project/austria-rollout-uses-nfc-reader-mode-sell-tickets-and-snacks (Stand: März 2010) [4]â•… Norm ECMA-340 (2004): Near Field Communication Interface and Protocol (NFCIP-1) [5]â•…Norm ISO/IEC 14443: Identification cards – Contactless integrated circuit cards – Proximity cards [6]â•…Norm ISO/IEC 18092:2004: Information technology – Telecommunications and information exchange between systems – Near Field Communication – Interface and Protocol (NFCIP-1) [7]â•…NXP Semiconductors: City of Caen, France, to demonstrate simplicity of Near Field Communication (NFC) technology, News Release (Okt 2005) http://www.nxp.com/news/content/ file_1193.html (Stand: Feb 2010) [8]â•…Rankl W, Effing W: Handbuch der Chipkarten, 3. Aufl. Carl Hanser Verlag, München, Wien (1999) [9]â•…Rosol C: RFID. Vom Ursprung einer (all)gegenwärtigen Kulturtechnologie, Kulturverlag Kadmos, Berlin (2008)
Kapitel 2
Technische Grundlagen
Dieses Kapitel gibt einen Überblick über die physikalischen und technischen Grundlagen der Near Field Communication. Es werden darin die Übertragungsmechanismen über das magnetische Feld, die unterschiedlichen Arten der Modulation und Codierung, sowie die Übertragung der Daten beschrieben. Die Übertragungstechnologie der Near Field Communication basiert zu einem großen Teil auf bestehenden RFID-Standards und ist daher großteils rückwärtskompatibel zu bereits installierten Systemen. Dies ist besonders für Ticketing-Anwendungen im öffentlichen Personennahverkehr und für Bezahlfunktionen mit Kreditkarten ein großer Vorteil, da auf bereits bestehende Infrastruktur aufgesetzt werden kann.
2.1 Induktive Kopplung Die Übertragungstechnologie der Near Field Communication baut auf bestehende RFID-Systeme auf. RFID-Systeme lassen sich, anhand des Übertragungsprinzips, in drei große Gruppen einteilen: kapazitiv gekoppelte Systeme, induktiv gekoppelte Systeme und UHF-Backscatter-Systeme [2]. Während kapazitiv gekoppelte Systeme ein hochfrequentes elektrisches Feld zur Energie- und Datenübertragung verwenden, nutzen induktiv gekoppelte Systeme ein hochfrequentes magnetisches Feld. UHF-Backscatter-Systeme arbeiten mit Hilfe der elektromagnetischen Wellenausbreitung und nutzen, wie in der Radartechnik, die Reflektion von Energie (Backscattering). Bei NFC-Systemen handelt es sich ausschließlich um induktiv gekoppelte Systeme mit einer Betriebsfrequenz von 13,56€MHz. Analog zum Prinzip eines Transformators wird das magnetische Nahfeld stromdurchflossener Leiterspulen zur Kopplung von Leseeinheit und Transpondern verwendet. Zur Betrachtung induktiv gekoppelter Systeme sind einige physikalische Grundkenntnisse notwendig. Weiterführende Literatur zu diesem Thema findet man in [2, 3, 11, 12, 14].
J. Langer, M. Roland, Anwendungen und Technik von Near Field Communication (NFC), DOI 10.1007/978-3-642-05497-6_2, ©Â€Springer-Verlag Berlin Heidelberg 2010
13
14
2 Technische Grundlagen
2.1.1 Magnetisches Feld Jeder Stromfluss, d.€h. jedes Bewegen einer elektrischen Ladung, bewirkt ein magnetisches Feld. Das magnetische Feld ist ein Vektorfeld. Das bedeutet, dass jedem Raumpunkt ein Vektor bzw. ein Betrag und eine Richtung zugeordnet werden. Magnetische Felder lassen sich daher mit Hilfe von Feldlinien darstellen. Abbildung€2.1 zeigt die magnetischen Feldlinien um einen stromdurchflossenen Leiter. Das magnetische Feld wird durch die materialunabhängige magnetische Feldstärke H beschrieben. Diese wird in Ampere pro Meter (A/m) angegeben.
2.1.2 Magnetische Spannung Die magnetische Spannung Um ist die Summe der Stromstärken In aller Ströme durch eine von einem Weg s umschlossene Fläche. Sie ist gleich dem Kurvenintegral der magnetischen Feldstärke H entlang dieses geschlossenen Weges s [14],
Um =
n
In =
H ds.
(2.1)
s
2.1.3 Magnetische Feldstärke Aus der Definition der magnetischen Spannung ergibt sich der Zusammenhang zwischen der Anordnung von stromdurchflossenen Leitern und dem sie umgebenden magnetischen Feld. So ist die Feldstärke im Abstand r eines geraden Leiters (Abb.€2.1)
H=
I . 2π · r
(2.2)
Allgemein lässt sich die magnetische Feldstärke drahtförmiger Leiter mit dem Gesetz von Biot-Savart berechnen [14]:
Strom I
Abb. 2.1↜渀 Magnetische Feldlinien um einen stromdurchflossenen Leiter [14]
magnetische Feldlinien
2.1 Induktive Kopplung
15
Abb. 2.2↜渀 Stromdurchflossene Leiterspule mit d R, ergibt sich zu 102 100 10-2 10-4 10-6 10-8 10-3
I = 1A, N = 1, R = 55cm I = 1A, N = 1, R = 7.5cm I = 1A, N = 1, R = 1cm 10-2
10-1 Entfernung x [m]
100
101
16
2 Technische Grundlagen
H=
I ·N , d
(2.5)
und ist somit homogen [14].
2.1.4 Magnetische Flussdichte Die magnetische Flussdichte B gibt an, welche Kraft ein Magnetfeld auf eine bewegte Ladung ausübt. Sie wird in Tesla (T) angegeben. Die Flussdichte entspricht der Feldliniendichte. Sie ist materialabhängig und proportional zur magnetischen Feldstärke:
B = µ0 · µr · H.
(2.6)
Dabei ist μ0 die magnetische Feldkonstante. Diese gibt die Permeabilität, d.€h. die magnetische Leitfähigkeit, von Vakuum an. μr ist die relative Permeabilität des durchfluteten Materials.
2.1.5 Magnetischer Fluss Der magnetische Fluss Φ entspricht der Anzahl der Feldlinien, die eine bestimmte Fläche A durchsetzen. Er wird in Weber (Wb) angegeben und berechnet sich zu
=
B dA.
(2.7)
A
2.1.6 Induktivität Die Flussverkettung Ψ durch eine Spule entspricht der Summe aller Teilflüsse Φ durch die einzelnen Spulenebenen: = n . (2.8) n
Jede Spulenebene entspricht einer Windung. Strom und Fläche sind daher für jede der N Ebenen identisch:
= N · = N · B · A = N · µ0 · µr · H · A.
(2.9)
2.1 Induktive Kopplung
17
Die Induktivität L einer Spule ist das Verhältnis zwischen der Flussverkettung Ψ und der Stromstärke I durch die Spule und wird in Henry (H) angegeben: . I Für eine lange zylindrische Leiterspule ergibt sich daher
(2.10)
L=
N · µ0 · µr · H · R2 π I N · µ0 · µr · R2 π I · N = · I d 2 R π . = N 2 · µ0 · µr · d
L=
(2.11)
Gleichung€2.11 zeigt, dass die Induktivität nur von der Bauform (Windungen N, Radius R und Länge d) der Spule und den Materialeigenschaften (relative Permeabilität μr) des durchfluteten Raumes abhängt.
2.1.7 Gegeninduktivität Schiebt man zwei lange zylindrische Spulen mit unterschiedlichen Radien R1 und R2 und gleicher Länge d vollständig ineinander, so durchsetzt der Fluss der einen Spule die jeweils andere Spule. Es sei N1 die Windungszahl, I1 der Strom und R1 der Radius der äußeren Spule und N2 die Windungszahl, I2 der Strom und R2 der Radius der inneren Spule. Die gemeinsame Fläche beider Spulen ist somit
(2.12)
A2 = R22 π.
Die durch die äußere Spule verursachte Flussdichte (↜I2 = 0) berechnet sich zu N1 · I1 (2.13) . d Der gesamte durch die äußere Spule in der inneren Spule verursachte verkettete Fluss Ψ21 ist daher
B1 = µ0 · µr ·
21 = N2 · B1 · A2 = µ0 · µr · N1 · N2 · I1 ·
R22 π . d
(2.14)
Die durch die innere Spule verursachte Flussdichte (↜I1 = 0) berechnet sich zu
B2 = µ0 · µr ·
N2 · I2 . d
(2.15)
18
2 Technische Grundlagen
Der gesamte durch die innere Spule in der äußeren Spule verursachte verkettete Fluss Ψ12 ist daher
12 = N1 · B2 · A2 = µ0 · µr · N1 · N2 · I2 ·
R22 π . d
(2.16)
Die Stromkreise der Spulen beeinflussen sich also gegenseitig über den magnetischen Fluss. Die Gegeninduktivität M21 der Spule 2 zur Spule 1 ist das Verhältnis zwischen dem verketteten Fluss Ψ21 und der Stromstärke I1 durch Spule 1:
M21 =
21 R2 π = µ0 · µr · N1 · N2 · 2 . I1 d
(2.17)
Die Gegeninduktivität M12 der Spule 1 zur Spule 2 ist das Verhältnis zwischen dem verketteten Fluss Ψ12 und der Stromstärke I2 durch Spule 2:
M12 =
12 R2 π = µ0 · µr · N1 · N2 · 2 . I2 d
(2.18)
Die Gegeninduktivitäten stimmen folglich überein:
M = M21 = M12 .
(2.19)
2.1.8 Kopplungsfaktor Der Kopplungsfaktor k ist definiert als
M k= √ . L1 · L2
(2.20)
Er gibt Aufschluss über die Verkopplung zweier Spulen. Ist der Kopplungsfaktor k = 0, so sind die beiden Spulen vollständig entkoppelt. Sie beeinflussen sich daher nicht. Ein Kopplungsfaktor k = 1 bedeutet, dass die Spulen vom selben magnetischen Fluss durchsetzt sind [2].
2.1.9 Induktion Variiert man den magnetischen Fluss durch eine Leiterspule über die Zeit, dann entsteht an den Spulenenden eine Spannung. Diesen Vorgang nennt man Induktion. Die induzierte Spannung Uind ist also
2.1 Induktive Kopplung
19
Uind = −
d . dt
(2.21)
Die Selbstinduktion einer stromdurchflossenen Spule mit der konstanten Induktivität L ist
Uind = −L ·
dI . dt
(2.22)
2.1.10 Transformator Hat man zwei gekoppelte Spulen, dann bewirkt eine Stromänderung in einer Spule eine Flussänderung in beiden Spulen. Durch die Flussänderung wird in der zweiten Spule eine Spannung induziert. Abbildung€2.4 zeigt das Ersatzschaltbild eines Transformators, d.€h. zweier gekoppelter Spulen. Aus der Definition der induzierten Spannung (Gl.€2.21) ergeben sich folgende Zusammenhänge zwischen Strom, Spannung und Induktivität: Ui1 = +L1 · I˙1 − M · I˙2 ,
(2.23)
Ui2 = −L2 · I˙2 + M · I˙1 ,
(2.24)
U2 = Ui2 − R2 · I2 = −L2 · I˙2 + M · I˙1 − R2 · I2 .
(2.25)
Mit sinusförmigen Strömen, wie sie auch bei RFID- und NFC-Systemen zum Einsatz kommen, kann die komplexe Wechselstromrechnung verwendet werden:
Ui1 = +jωL1 · I1 − jωM · I2 ,
(2.26)
Ui2 = −jωL2 · I2 + jωM · I1 .
(2.27)
I1
M
I2
Ui1
Abb. 2.4↜渀 Ersatzschaltbild magnetisch gekoppelter Leiterschleifen [2]
R2
Ui2 L1
L2
U2
RL
20
2 Technische Grundlagen
Durch Umformen und Einsetzen des Kopplungsfaktors (Gl.€2.20) ergibt sich, unter Vernachlässigung des Innenwiderstands, folgender Zusammenhang zwischen Ui1 und Ui2: L2 (2.28) Ui2 = k · · Ui1 + jωL2 · I2 · (k 2 − 1). L1 Für den Fall, dass Spule 2 unbelastet ist, gilt
RL → ∞ I2 = 0,
(2.29)
(2.30)
Ui2 = k ·
L2 · Ui1 L1
bzw.
Ui2 = jω · k ·
(2.31)
L1 · L2 · I1 .
Die Spannungen an den Spulenenden des Transformators sind folglich proportional zueinander. Der Proportionalitätsfaktor ist abhängig vom Kopplungsfaktor und vom Verhältnis der Eigeninduktivitäten der beiden Spulen.
2.1.11 Schwingkreis Schaltet man, wie in Abb.€2.5, parallel zu Spule 2 eine Kapazität C2, dann erhält man einen Parallelschwingkreis. Der Schwingkreis hat die Resonanzfrequenz
fr =
1 . √ 2π · L2 · C2
(2.32)
Durch den Schwingkreis ist der Zusammenhang aus Gl.€2.31 nicht mehr gegeben (Abb. 2.6): • Für Frequenzen f > fr wirkt die Kapazität C2 dämpfend und führt daher zu einer niedrigeren Ausgangsspannung U2. • Für Frequenzen f nahe fr ist der Schwingkreis in Resonanz. Dadurch ist die Ausgangsspannung U2 um ein vielfaches höher, als ohne die Kapazität C2. Dies wird als Spannungsüberhöhung bezeichnet. Ein Maß für die Spannungs- und Stromüberhöhung im Schwingkreis ist der Gütefaktor Q. Dieser gibt an, wie schnell die Schwingung im Schwingkreis abklingt. Ein niedriger Gütefaktor bedeutet, dass die Schwingung rasch abklingt. Daher ist auch die Spannungsüberhöhung gering. Ein hoher Gütefaktor bedeutet, dass der Schwingkreis lange nachschwingt. Die Spannungsüberhöhung ist deshalb groß [2]. Für Abb.€2.5 berechnet sich der Gütefaktor zu
Q=
1 . R2 ωL2 + ωL2 RL
(2.33)
2.2 Energieversorgung Induktiv gekoppelte RFID- und NFC-Systeme nutzen das Prinzip des Transformators zur Energie- und Datenübertragung. Dabei lassen sich die drei Betriebsarten, passiv, semi-passiv und aktiv, des Transponders unterscheiden [2]. Während passive Transponder ihre gesamte Versorgungsenergie aus dem Feld des Lesegeräts beziehen, besitzen aktive Transponder eine eigene Energieversorgung und erzeugen ihr eigenes Hochfrequenzsignal. Semi-passive Transponder werden typischerweise durch eine Batterie versorgt. Zur Kommunikation erzeugen sie jedoch kein eigenes Hochfrequenzsignal, sondern benutzen das hochfrequente Feld des Lesegeräts.
22
Sendesignal Trägersignal
2 Technische Grundlagen C1
R1
I1
M
I2
R2 Gleichrichter
Spannungsbegrenzer
C2 Empfangssignal
L1
L2
Leseeinheit
Modulator, Transponderlogik, (Transponder IC) Transponder
Abb. 2.7↜渀 Prinzipieller Aufbau induktiv gekoppelter RFID- und NFC-Systeme
Der prinzipielle Aufbau induktiv gekoppelter, passiver RFID- und NFC-Systeme folgt Abb.€2.7. Zur Übertragung der Energie speist die Leseeinheit ihre Antenne (Spule 1) mit einem sinusförmigen Strom, dem Trägersignal. Nach Gl.€2.31 wird dadurch in der Transponderantenne (Spule 2) eine Spannung induziert. Diese Wechselspannung wird anschließend mit Hilfe eines Brückengleichrichters gleichgerichtet. Bei RFID- und NFC-Systemen treten üblicherweise Kopplungsfaktoren k gibt entweder den Application Identifier (AID) einer Smartcard-Applikation oder den String „SAT“ für die SIM Application Toolkit Anwendung (SAT) an. Jede Verbindung zu einer Anwendung verwendet einen eigenen logischen Kanal der Chipkarte. Der Zugriff auf die Connector.open-Methode wird über die Zugriffsberechtigungen • javax.microedition.apdu.sat (für den Zugriff auf den SAT) und • javax.microedition.apdu.aid (für den Zugriff über den AID) geregelt. Mit der Methode exchangeAPDU kann ein MIDlet eine Befehls-APDU an eine Smartcard-Anwendung senden und gleichzeitig die empfangene AntwortAPDU auslesen. Ein APDUConnection-Objekt stellt eine Verbindung mit einer einzelnen Kartenapplikation über einen eigenen logischen Kanal dar. Aus diesem Grund sperrt die API alle Befehle zur Auswahl von anderen Anwendungen und anderen logischen Kanälen. Die exchangeAPDU-Methode gibt immer die vollständige Antwort der Smartcard-Anwendung zurück. Zu diesem Zweck behandelt die API automatisch jene Statuscodes, die auf unvollständige Antworten hinweisen. D.€h. wenn der Statuscode '61xx' signalisiert, dass zum Abfragen der Antwort ein GET_RESPONSE-Kommando notwendig ist, dann wird dieser Befehl ausgeführt und erst die fertige Antwort zurückgegeben. Beim Statuscode '6Cnn' („Die richtige Antwortlänge ist 'nn'.“) wird die Befehls-APDU mit der korrigierten Antwortlänge (Le) gesendet. Neben dem Austausch von APDUs ermöglicht SATSA-APDU auch noch das Auslesen der Answer-to-Reset (ATR) und sichere PIN-Operationen. Die ATR wird bei der Initialisierung des Secure Elements gespeichert und lässt sich von einem MIDlet über die Methode getATR ermitteln. Die Methoden changePin, disa blePin, enablePin, enterPin und unblockPin ermöglichen einem MIDlet verschiedene PIN-Operationen. Mit der enterPin-Methode kann beispielsweise der Benutzer zur Eingabe der PIN für eine PIN-geschützte Smartcard-Anwendung aufgefordert werden. Die PIN-Operationen werden dabei so ausgeführt, dass weder die aufrufende Anwendung, noch eine andere aktive Anwendung, die PIN auslesen können. Zudem erfolgt die PIN-Abfrage in einer Form, die den Benutzer klar erkennen lässt, dass es sich um eine gesicherte PIN-Eingabe handelt.
10.1.2 SATSA-JCRMI SATSA-JCRMI definiert das Paket • javax.microedition.jcrmi. Dieses bietet einen abstrakteren Zugriff auf Smartcard-Applikationen als SATSAAPDU. Die Java Card Remote Method Invocation (JCRMI) ermöglicht eine objekt-
10.1 JSR 177
245
orientierte Kommunikation mit Java Cards. Dabei können Objekte einer Java Card Applikation in der Java ME Anwendung referenziert und deren Methoden aufgerufen werden. Wie bei SATSA-APDU basiert die Verbindung auf dem Generic Connection Framework. Eine Verbindung zu einer Java Card Applikation kann über den URI
geöffnet werden. Mit [SE] kann (optional) ein bestimmtes Secure Element ausgewählt werden und <Applikation> gibt den Application Identifier (AID) einer Smartcard-Applikation an. Das Interface JavaCardRMIConnection kapselt die Verbindung. Analog zu SATSA-APDU wird auch bei SATSA-JCRMI der Zugriff auf die Methode Connector.open über die Zugriffsberechtigung • javax.microedition.jcrmi geregelt. Mit der Methode getInitialReference kann ein MIDlet eine Referenz auf das Ausgangsobjekt der RMI anfordern. Über die Methoden dieses Ausgangsobjekt lassen sich dann Aufgaben auf der Java Card durchführen und Objekte und Daten mit der Java Card Applikation austauschen. Wie bei APDUConnection-Objekten lassen sich auch mit der JCRMI-API sichere PIN-Operationen (z.€B. zur Identifikation des Benutzers gegenüber der Java Card Applikation) durchführen.
10.1.3 SATSA-PKI SATSA-PKI definiert die zwei Pakete • javax.microedition.pki und • javax.microedition.securityservice. Das Paket PKI ermöglicht den Zugriff auf die Zertifikatverwaltung des Geräts bzw. des Secure Element. Die Klasse UserCredentialManager enthält drei statische Methoden: • Mit addCredential kann ein Zertifikat zum Zertifikatspeicher hinzugefügt werden, wobei der Benutzer diesen Vorgang bestätigen muss. • Mit removeCredential kann ein vorhandenes Zertifikat aus dem Zertifikatspeicher gelöscht werden, wobei auch dieser Vorgang vom Benutzer bestätigt werden muss. • Mit createCSR lässt sich ein Certificate Signing Request (CSR) erstellen. Ein CSR ist die Anfrage an einen Zertifizierungsdienst um einen privaten Schlüssel zu zertifizieren. Der private Schlüssel bzw. das Secure Element werden anhand der Funktionsparameter ausgewählt. Die Erzeugung des CSR muss vom Benutzer bestätigt werden.
246
10 Javaprogrammierung für NFC
Das Paket SecurityService enthält die Klasse CMSMessageSignatureServi ce zum Signieren von Nachrichten. Der zum Signieren verwendete private Schlüssel kann dabei aus einem der vorhanden Secure Elements ausgewählt werden. Diese Signaturen lassen sich als digitale Unterschrift von Texten oder zur Identifikation des Benutzers verwenden. Die Klasse stellt dafür zwei statische Methoden bereit: • Die authenticate-Methode signiert einen Text-String oder eine Bytefolge zur Benutzerauthentifizierung. • Die sign-Methode signiert einen Text-String, um das Einverständnis des Benutzers mit dem Textinhalt zu kennzeichnen. Für beide Methoden wird eine Bestätigung durch den Benutzer eingeholt. Falls es sich bei den signierten Daten um einen Text handelt, wird dieser dem Benutzer angezeigt. Handelt es sich hingegen um Binärdaten, werden diese nicht angezeigt. In diesem Fall muss die Applikation über die Zugriffsberechtigung • javax.microedition.securityservice.CMSMessageSignatureService verfügen. Wenn der private Schlüssel durch eine PIN geschützt ist, dann wird der Benutzer anschließend automatisch zur Eingabe dieser PIN aufgefordert.
10.1.4 SATSA-CRYPTO SATSA-CRYPTO definiert einen Teil der Cryptography API von Java SE für Java ME. Die Klassen von SATSA-CRYPTO sind in den Paketen • java.security und • javax.crypto enthalten. Die Funktionen umfassen die Berechnung von Hash-Werten (Mess ageDigest), die Verifikation von Signaturen (Signature) und die Ver- und Entschlüsselung (Cipher).
10.2 JSR 257 Die Contactless Communication API (JSR 257 [2]) ermöglicht den Zugriff auf kontaktlose Tags, Smartcards und Barcodes. Wenn ein Gerät diese API unterstützt, dann ist die Version der Contactless Communication API Spezifikation in der Systemeigenschaft „microedition.contactless.version“ gespeichert. Mit dem Aufruf
10.2 JSR 257
247
lässt sich daher sicherstellen, dass eine Unterstützung für JSR 257 vorhanden ist. Die Programmierschnittstelle ist in fünf Teilpakete gegliedert: • • • • •
gemeinsame Schnittstelle (javax.microedition.contactless), NDEF-Paket (javax.microedition.contactless.ndef), RFID-Tag-Paket (javax.microedition.contactless.rf), Smartcard-Paket (javax.microedition.contactless.sc) und Visual-Tag-Paket (javax.microedition.contactless.visual).
10.2.1 Gemeinsame Schnittstelle Dieses Teilpaket enthält die gemeinsamen Schnittstellen für alle kontaktlosen Targets (Tags, Smartcards, Barcodes). Es besteht aus den Klassen Discovery Manager und TargetType und aus den Interfaces TargetProperties, TagConnection, TargetListener und TransactionListener. Der Discovery-Manager verwaltet die Erkennung kontaktloser Targets. TargetType listet alle Tag- und Smartcard-Typen, die von JSR 257 unterstützt werden. Tar getProperties umfasst alle gemeinsamen Eigenschaften kontaktloser Targets. TagConnection setzt auf dem Generic Connection Framework auf und ist das Basisinterface für alle Verbindungen zu kontaktlosen Targets. Die Listener-Interfaces definieren eine Schnittstelle um Applikationen über eingetretene Ereignisse zu benachrichtigen. 10.2.1.1 Discovery-Manager Der Discovery-Manager ist das Kernelement der Contactless Communication API. Er verwaltet die Target-Erkennung und führt eine Liste aller unterstützten TargetTypen. Mit der statischen Methode getSupportedTargetTypes lässt sich abfragen, für welche Targets eine Unterstützung implementiert ist. Die möglichen Targets sind in der Klasse TargetType zusammengefasst und entsprechen jeweils einem Teilpaket der API-Schnittstelle: • • • •
NDEF_TAG für das NDEF-Paket, RFID_TAG für das RFID-Tag-Paket, ISO14443_CARD für das Smartcard-Paket und VISUAL_TAG für das Visual-Tag-Paket (Barcodes).
Das folgende Beispielprogramm zeigt, wie sich feststellen lässt, ob eine Unterstützung für NDEF-Tags vorhanden ist:
248
10 Javaprogrammierung für NFC
Mit der statischen getInstance-Methode kann das Discovery-Manager-Objekt geöffnet werden:
Der Aufrufer benötigt dazu die Berechtigung • javax.microedition.contactless.DiscoveryManager. Andernfalls wird eine Exception ausgelöst. Der Discovery-Manager verwaltet sogenannte Listener. Dabei handelt es sich um Klassen, die eines oder mehrere der Interfaces TargetListener, Trans actionListener und NDEFRecordListener implementieren. Durch die Implementierung eines solchen Interfaces erhält die Klasse eine spezielle öffentliche Methode. Wenn ein Listener auf ein bestimmtes Ereignis registriert ist, dann wird diese Methode aufgerufen, sobald das Ereignis eingetreten ist. Mit den Methoden addTargetListener und removeTargetListe ner lassen sich Listener für bestimmte Target-Typen verwalten. Pro Target-Typ kann maximal ein Listener registriert werden. Daher soll eine Anwendung alle nicht mehr benötigten Listener auch sofort (bzw. spätestens in der destroyApp-Methode) wieder freigeben. Derselbe Listener kann für mehrere Target-Typen verwendet werden. Das folgende Beispiel zeigt, wie das this-Objekt als Listener für NDEFTags registriert werden kann:
10.2 JSR 257
249
Die Klasse des this-Objekts, d.€h. zum Beispiel das MIDlet selbst, muss dazu das Interface TargetListener implementieren:
Sobald ein Target in Reichweite ist, wird dann das Ereignis targetDetected ausgelöst:
Der Parameter properties enthält die Eigenschaften aller erkannten Targets. Diese Eigenschaften umfassen die UID des Targets, den oder die Typen des Targets (ein Target vom Typ NDEF_TAG ist z.€B. immer auch ein RFID_TAG oder eine ISO14443_CARD), die Abbildung (↜Mapping) der Befehle auf die physikalische Tagstruktur, eine Liste der möglichen Verbindungen zum Target und die entsprechenden URLs zum Verbindungsaufbau über das GCF. Analog zur Target-Erkennung gibt es entsprechende Mechanismen zur Erkennung von Transaktionen im Card-Emulation-Modus und zur Reaktion auf NDEFRecords. Mit den Methoden addTransactionListener und removeTransac tionListener lassen sich Listener für Secure Element Transaktionen registrieren. Bei einem Ereignis wird die Methode externalReaderDetected aufgerufen. Diese erhält die Kennung des Secure Elements als Parameter. Die Kennung kann für den Verbindungsaufbau zu einer Smartcard-Anwendung mit SATSA verwendet werden. Über die Methoden addNDEFRecordListener und removeNDEFRe cordListener können Listener für bestimmte NDEF-Record-Typen verwaltet werden. Sobald der Record-Typ detektiert wurde, wird das Ereignis recordDe tected ausgelöst. Als Parameter wird der Methode recordDetected die empfangene NDEF-Message übergeben. NDEF-Paket Das NDEF-Paket ist die Schnittstelle zu NDEF-Daten. Der Austausch von NDEFDaten ist dabei unabhängig vom Tagformat. Die Implementierung der API kann sowohl die NFC-Forum-Tagformate, als auch proprietäre Tagformate (wie z.€B. MIFARE Classic), unterstützen. Das NDEF-Paket enthält die Interfaces NDEFRecordListener und NDEFTagConnection und die Klassen NDEFMessage, NDEFRecord und
250
10 Javaprogrammierung für NFC
NDEFRecordType. NDEFRecordType fasst die Bestandteile der Typbezeichnung, d.€h. das TNF-Feld und den Typ-URI, zusammen und identifiziert somit den Typ eines NDEF-Records. Die Klassen NDEFRecord und NDEF Message ermöglichen die objektorientierte Darstellung und Manipulation von NDEF-Records und NDEF-Messages. Das Interface NDEFTagConnection baut auf dem GCF auf und ermöglicht den Lese- und Schreibzugriff auf NDEFTags. Das folgende Beispiel zeigt wie eine Verbindung zu einem NDEF-Tag aufgebaut werden kann:
10.2 JSR 257
251
Der URL für die Connector.open-Methode ist nur dann verfügbar, wenn auch ein Target in Reichweite ist. Daher wird dieser URL dynamisch erzeugt und in den TargetProperties an den Listener übergeben. Zum Öffnen der Verbindung zu einem NDEF-Tag über das GCF ist die Berechtigung • javax.microedition.io.Connector.ndef notwendig. Falls zusätzlich auch NDEF-Daten geschrieben werden, dann ist für den Aufruf der writeNDEF-Methode die Berechtigung • javax.microedition.contactless.ndef.NDEFTagConnection.write notwendig. Nach dem Öffnen der Verbindung lässt sich die NDEF-Message mit der Methode readNDEF empfangen. Anschließend kann die Message z.€B. durch Zerlegung in einzelne NDEF-Records weiter verarbeitet werden. RFID-Tag-Paket Das RFID-Tag-Paket bildet die Grundlage für den Zugriff auf beliebige RFID und NFC-Tags. Im Gegensatz zum NDEF-Paket sind die Speicherstrukturen direkt, ohne die Abstraktion durch NDEF, ansprechbar. Die Schnittstelle ist auch nicht auf NDEF-kompatible Tags beschränkt, sondern ist für beliebige Tags geeignet. Das Interface PlainTagConnection baut auf dem GCF auf und ermöglicht den Austausch von Tag-spezifischen Befehlen. Zum Öffnen einer Verbindung über die Connector.open-Methode ist die Berechtigung • javax.microedition.io.Connector.rf notwendig. Sobald eine Verbindung geöffnet ist, lassen sich über die Methode transceive Befehlsvektoren an das Tag senden und Antwortvektoren empfangen. Das PlainTagConnection-Interface kann so auch als Grundlage für weiter abstrahierte, an eine bestimmte Tag-Plattform angepasste, Schnittstellen verwendet werden.
252
10 Javaprogrammierung für NFC
Smartcard-Paket Das Smartcard-Paket ermöglicht den APDU-basierten Zugriff auf kontaktlose Smartcards nach den Standards ISO/IEC 14443-4 und ISO/IEC 7816-4. Die Schnittstelle ist vergleichbar mit SATSA-APDU. Im Unterschied zu JSR 177 gestattet das Smartcard-Paket den Zugriff auf externe, kontaktlose Targets. Mit JSR 177 kann hingegen nur auf Secure Elements (d.€h. interne bzw. kontaktbehaftete Ziele) zugegriffen werden. Das Interface ISO14443Connection baut auf dem GCF auf und ermöglicht den Austausch von APDUs. Zum Öffnen einer Verbindung über die Connector. open-Methode ist die Berechtigung • javax.microedition.io.Connector.sc notwendig. Sobald eine Verbindung geöffnet ist, lassen sich über die Methode ex changeData Befehls- und Antwort-APDUs austauschen. Das folgende Beispiel zeigt, wie eine Verbindung zu einer kontaktlosen Smartcard hergestellt werden kann:
10.2 JSR 257
253
Visual-Tag-Paket Das Visual-Tag-Paket ist die Schnittstelle zu optischen Tags. Optische Tags sind ein- und zweidimensionale Barcodes. Die Erkennung solcher Barcodes kann über die Kamera eines Mobiltelefons erfolgen. Die Schnittstelle besteht aus der Klasse SymbologyManager und den Interfaces ImageProperties und VisualTagConnection. Der SymbologyManager verwaltet die unterstützten Barcodeformate („Symbologien“). Das Interface ImageProperties enthält die Eigenschaften einer Barcodeabbildung. Dazu zählen die Abmessungen, die Auflösung und die verwendete Symbologie. Das Interface VisualTagConnection baut auf dem GCF auf und ermöglicht das Lesen und das Erstellen von visuellen Tags. Zum Öffnen der Schnittstelle über die Connector.open-Methode ist die Berechtigung • javax.microedition.io.Connector.vtag notwendig.
254
10 Javaprogrammierung für NFC
10.3 PushRegistry und JSR 257 Normalerweise werden MIDlets durch den Benutzer gestartet. Mit der PushRegistry lassen sich Anwendungen eventbasiert starten. Das bedeutet, dass ein MIDlet für ein bestimmtes Ereignis, wie zum Beispiel Aktivitäten der NFC-Hardware, registriert werden kann. Sobald das Ereignis eintritt, wird die Anwendung gestartet und der entsprechende Listener ausgelöst. Durch die PushRegistry muss nicht jede Anwendung, die auf ein Ereignis wartet, ständig aktiv sein. So kann die Speicherauslastung des mobilen Geräts minimiert werden. Ein MIDlet wird in der PushRegistry entweder über den Application Descriptor der MIDlet Suite oder über das MIDlet selbst registriert. Um PushRegistry-Einträge zu erstellen ist die Berechtigung • javax.microedition.io.PushRegistry notwendig. Für die Registrierung über den Application Descriptor muss der Parameter
verwendet werden. Dabei ist eine fortlaufende Nummer über alle PushRegistry-Einträge in diesem Application Descriptor. Der erste Eintrag beginnt mit dem Index 1. definiert das Ereignis, bzw. die Verbindung, die das Ereignis auslöst. <MIDlet-Klasse> ist der Name des MIDlets, das beim Eintreten des Ereignisses gestartet werden soll. Der Parameter schränkt das Ereignis auf bestimmte Ereignisquellen ein. Auch direkt aus der Anwendung heraus können Einträge in der PushRegistry erstellt werden. Dazu wird die Methode registerConnection der PushRegistry (javax.microedition.io.PushRegistry) verwendet. Die Parameter dieser Funktion sind vergleichbar mit jenen des MIDlet-Push-Eintrags im Application Descriptor. Ein MIDlet kann feststellen, ob es durch die PushRegistry gestartet wurde und welche Ereignisse ausgelöst wurden. Zu diesem Zweck stellt die PushRegistry die Methode listConnection zur Verfügung. Diese liefert alle PushRegistry-Einträge, sowie alle momentan aktiven PushRegistry-Einträge für das MIDlet. JSR 257 sieht zwei PushRegistry-Mechanismen vor: NDEF-Records und Secure Element Transaktionen.
10.3.1 NDEF-Records Eine Anwendung kann bei der Detektion bestimmter NDEF-Record-Typen gestartet werden. Nach dem Start muss die Anwendung sofort einen NDEFRecord Listener registrieren, um das Ereignis und die auslösende NDEF-Message zu empfangen. Um ein MIDlet für NDEF-Events zu registrieren wird der folgende Push-URL verwendet:
10.4 Nokia-Erweiterungen zu JSR 257
255
Das Feld entspricht dem TNF-Feld des NDEF-Records und kann einen der Werte „rtd“, „external_rtd“, „mime“ oder „uri“ annehmen. Der Wert von entspricht dem Type-Feld des NDEF-Records, wobei der absolute URI bzw. der vollständige MIME-Media-Type angegeben wird. Eine Anwendung, die sowohl auf URI-Records, als auch auf Visitenkarten reagieren soll, würde diese PushRegistry-Einträge verwenden:
10.3.2 Secure Element Transaktionen Ein MIDlet kann auch gestartet werden, sobald Transaktionen mit einer bestimmten Applikation auf einem Secure Element durchgeführt werden. Nach dem Start muss die Anwendung sofort einen TransactionListener registrieren, um das Ereignis und die Identifikation des zugehörigen Secure Elements zu erhalten. Um ein MIDlet für Transaktionen zu registrieren wird der folgende Push-URL verwendet:
Das Feld <Application-Identifier> gibt den Application Identifer der zu überwachenden Secure Element Anwendung an.
10.4 Nokia-Erweiterungen zu JSR 257 Die Nokia-Erweiterungen zu JSR 257 bestehen aus mehreren Teilpaketen für unterschiedliche Kommunikationsaufgaben und aus Ergänzungen zur PushRegistry. Die Verfügbarkeit der Teilpakete kann über die Systemeigenschaften • • • • • • •
„com.nokia.nfc.nxp.nfcip.version“ (Peer-to-Peer-Paket), „com.nokia.nfc.nxp.simpletag.version“ (SimpleTag-Paket), „com.nokia.nfc.nxp.mfstd.version“ (MFStd-Paket), „com.nokia.nfc.nxp.desfire.version“ (DESFire-Paket), „com.innovision.jewel.version“ (Jewel-Tag-Paket), „com.sony.felica.type3tag.version“ (FeliCa-Paket) und „com.nokia.nfc.llcp.version“ (LLCP-Paket)
festgestellt werden.
256
10 Javaprogrammierung für NFC
10.4.1 Peer-to-Peer-Paket Das Peer-to-Peer-Paket (com.nokia.nfc.p2p) enthält das Interface NFCIPCon nection. Mit diesem Interface lassen sich Verbindungen im NFCIP-1 Peer-toPeer-Modus aufbauen. Der URL für die Connector.open-Methode lautet:
Dabei ist <Modus> entweder „initiator“ für den Initiator-Modus oder „target“ für den Target-Modus. Die Methode blockiert und gibt das NFCIPConnection-Objekt zurück, sobald die Verbindung zwischen einem Initiator und einem Target hergestellt wurde. Anschließend können Initiator und Target immer abwechselnd Daten übertragen. Das bedeutet, dass der Initiator damit beginnt ein Datenpaket mit der send-Methode zu senden. Anschließend muss die Antwort mit der receive-Methode empfangen werden, bevor wieder ein Datenpaket gesendet werden kann. Das Target-Gerät muss umgekehrt mit dem Empfangen eines Datenpakets beginnen.
10.4.2 PushRegistry Die Erweiterungen zur PushRegistry ermöglichen den automatischen Start von MIDlets auch dann, wenn kontaktlose Targets ohne NDEF-Daten erkannt wurden. Zur Reaktion auf solche Targets muss der Push-URL
verwendet werden. Beim Starten, als Reaktion auf dieses Ereignis, wird kein Listener aufgerufen. Ein MIDlet kann in diesem Fall aber trotzdem feststellen, ob es durch die PushRegistry gestartet wurde. Dazu stellt der Discovery-Manager die Eigenschaft „LaunchType“ bereit. Diese Eigenschaft kann über die Methode get Property ausgelesen werden. Sie gibt an, ob die Anwendung manuell („manual“) oder durch die PushRegistry („touch“) gestartet wurde. Für Targets mit und ohne NDEF-Daten können Filter die auslösenden Targets weiter einzuschränken. Der Filter hat das Format
ist entweder „ndef“ für Targets mit NDEF-Daten oder „rf“ für Targets ohne NDEF-Daten. gibt das Speicherformat des Targets an. Die möglichen Werte sind
Literatur
• • • • • • •
257
„felica“ (Sony FeliCa bzw. NFC Forum Type 3 Tag), „jewel“ (Innovision Jewel/Topaz bzw. NFC Forum Type 1 Tag), „simpletag“ (NXP MIFARE Ultralight bzw. NFC Forum Type 2 Tag), „mf1k“ (NXP MIFARE Classic 1k), „mf4k“ (NXP MIFARE Classic 4k), „iso4a“ (ISO/IEC 14443-4 Typ A bzw. NFC Forum Type 4 Tag) und „iso4b“ (ISO/IEC 14443-4 Typ B bzw. NFC Forum Type 4 Tag).
enthält die UID des Targets in Hexadezimalschreibweise. Sowohl , als auch dürfen die Platzhalterzeichen „*“ (für eine beliebige Anzahl an Zeichen) und „?“ (für maximal ein Zeichen) enthalten. Das folgende Beispiel zeigt einen Filter, der alle Smartcards nach ISO/IEC 14443-4 (Typ A und B) mit beliebiger UID zulässt:
10.4.3 Zugriff auf das Secure Element Neben dem Zugriff auf externe Targets ist mit den Nokia-Erweiterungen auch ein direkter Zugriff auf das interne Secure Element möglich. Diese Erweiterung ersetzt u.€a. die fehlende Unterstützung für JSR 177. Die Systemeigenschaft „internal.se.url“ enthält die URL um eine ISO14443Con nection, d.€h. eine APDU-basierte Verbindung, zum Secure Element aufzubauen. Über die Systemeigenschaft „internal.mf.url“ erhält man die URL um eine Mifa reStdConnection, d.€h. eine Verbindung über das MFStd-Paket, zum internen MIFARE-Speicher des Secure Elements aufzubauen. Für beide Verbindungen ist ein als vertrauenswürdig zertifiziertes MIDlet notwendig.
Literatur [1] [2]
JSR 177 Expert Group: Security and Trust Services API (SATSA), V1.0.1. Specification (Aug 2007) JSR 257 Expert Group: Contactless Communication API, V1.1. Specification (Jun 2009)
Sachverzeichnis
13,56 MHz, 13, 38, 87 3GPP. Siehe 3rd Generation Partnership Project 3rd Generation Partnership Project, 152 A ACT. Siehe Activation Protocol Action Record, 133 Activation Protocol, 169 Administration Gate, 172 AEE. Siehe Application Execution Environment Aggregated Frame-PDU, 98 AID. Siehe Application Identifier Akkulaufzeit, 104 Akkumulator, 153 Aktivator-Technologie, 130 aktiver Kommunikationsmodus, 93 aktiver Transponder, 21 Aktivierung, 46 ALOHA-Verfahren, 30 mit Zeitraster, 30 Alternative Carrier Record, 139 Android, 182 Answer-to-Reset, 46 Antikollisionsframe, 53 Antikollisionsverfahren, 28 APDU. Siehe Application Protocol Data Unit APDUConnection, 243 API. Siehe Programmierschnittstelle Applet, 187 Application Descriptor, 177, 179, 254 Application Execution Environment, 146, 164 Application Identifier, 80, 118 Application Protocol Data Unit, 44, 50, 66, 119 Area File, 82 ASK, 23 Asynchronous Balanced Mode, 97
ATR. Siehe Answer-to-Reset Attribute Information Block, 116 Attribute Request, 95 Authentifikation, 184 Authentifizierung, 67 Authentizität, 136 Authorized Mode, 195, 199 B Bandbreite, 23 Barcode, 253 Basisbandchipsatz, 145 Basisbandcontroller, 164 Bearer Independend Protocol, 182 Befehlssatz, 95, 114, 116, 117, 119 Benutzermanagement, 203 Best-Price, 216, 218 Besucher-Managementsystem, 231 Bezahlfunktion, 206 binäre Suche, 29 BIP. Siehe Bearer Independend Protocol Block-Chaining, 49 Blockliste, 84 Bluetooth, 137, 226 C Capability Container, 111, 112, 115, 118 Card Application Gate, 172 Card Content Management, 195 Card Enabler, 193 Card Issuer, 193 Card Operating System. Siehe Smartcard-Betriebssystem Card RF Gate, 172 Card-Emulation-Modus, 90, 100, 153, 158 Carrier Configuration Record, 140 Carrier Power State, 139 Cash-Handling, 220
J. Langer, M. Roland, Anwendungen und Technik von Near Field Communication (NFC), DOI 10.1007/978-3-642-05497-6, ©Â€Springer-Verlag Berlin Heidelberg 2010
259
260 CCM. Siehe Card Content Management CDMA, 28 Certificate Authority, 136 Certificate Signing Request, 245 Challenge-Response-Verfahren, 67 Check-Befehl, 117 Check-In/Check-Out, 216, 218 Checkpoint, 233 Chipkarte, 4 Chipmodul, 41 Chunk Flag, 122 Cipher, 246 CKLA. Siehe Confidential Key Loading Authority CLA, 50 CLDC. Siehe Connected, Limited Device Configuration CLF. Siehe Contactless Front-end CLT. Siehe Contactless Tunneling Protocol CMSMessageSignatureService, 246 Codeinterpreter, 63 Codierungsverfahren, 24 Collision Avoidance, 28, 92, 94 Confidential Key Loading Authority, 150 Connected Device Configuration, 175 Connected, Limited Device Configuration, 151, 175 Connection Complete-PDU, 99 Connection Handover, 137, 141 Connectionless Transport, 97 Connection-oriented Transport, 98 Connectivity Gate, 173 Connect-PDU, 99 Contactless Communication API, 178, 246 Contactless Front-end, 146, 153, 165, 166 Contactless Tunneling Protocol, 169 ConTag, 217 Controlling Authority, 191, 193 COS. Siehe Smartcard-Betriebssystem CRC. Siehe Cyclic Redundancy Check CRYPTO1, 77 CSR. Siehe Certificate Signing Request Cyclic Redundancy Check, 60 D Data Exchange Protocol Request, 96 Data Record, 133 Dateisystem, 65, 81, 118 Datenflusskontrolle, 97, 98 Datenübertragung, 22 Debitkarte, 208, 211 Dedicated File, 65 Delegated Mode, 195, 197
Sachverzeichnis Deselect Request, 96 Destination Service Access Point, 98 Device ID, 96 Diagnoseaufzeichnung, 236 Dienstanbieter. Siehe Service Provider Disconnected Mode-PDU, 99 Discovery-Manager, 247, 256 DSAP. Siehe Destination Service Access Point Dual-Interface-Karte, 38, 42 dynamisches Speichermodell, 111, 115 E ECMA, 87 340. Siehe ISO/IEC 18092 352. Siehe ISO/IEC 21481 373. Siehe ISO/IEC 28361 385, 106, 141 386, 107 Eigeninduktivität, 20 Electronic Product Code, 126 elektronische Geldbörse, 70, 81 elektronisches Bezahlsystem, 75 Elementary File, 65 Emailadresse, 126 emulierte Smartcard. Siehe Card-Emulation-Modus EMVCo, 152 Enabler, 109 Energieverbrauch, 92 Energieversorgung, 153 aktiv, 21 passiv, 21 semi-passiv, 21 Epilogfeld, 95 Ersparnis, 212 Essensservice, 228 ETSI, 148 ETSI TS 102 223, 182 102 613, 37, 166 102 622, 170 F Fahrscheinprüfung, 214 Fast-Track-Verfahren, 88 FDMA, 27 Feldlinien, 14 Feldstärkeverlauf im Nahbereich, 15 Feldversuch, 222 FeliCa, 4, 38, 56, 81, 87, 101, 116, 181 Flussverkettung, 16
Sachverzeichnis Frame Reject-PDU, 99 FSK, 24 G GCF. Siehe Generic Connection Framework Gegeninduktivität, 18 geheimer Schlüssel, 68, 70 GeldKarte, 4, 210 General Purpose Byte, 81 Generic Connection Framework, 175 Generic Control Record Type, 131 generische NFC-Plattform, 237 GlobalPlatform, 150, 155, 188 Messaging Specification, 190 GSMA, 147 Gütefaktor, 21, 23 H Handover Carrier Record, 140 Handover Request Record, 139 Handover Select Record, 139 Handover-Protokoll, 137 Hardwarefirewall, 63 HCI. Siehe Host Controller Interface HCP. Siehe Host Controller Protocol Hilfsträger, 26 Host Controller Interface, 149, 170, 173 Host Controller Protocol, 170 Hostcontroller. Siehe Basisbandcontroller Hotel-Anwendung, 223 Hybrid-Karte, 39 I I/O-Manager, 62 I-Block, 48, 55 Icon Record, 129 ID Length Present, 120 Identity Management Gate, 172 ID-Feld, 121 ID-Format ID-000, 40 ID-1, 40 ID-3, 40 Induktion, 18 Induktivität, 17 induzierte Spannung, 18 Information-PDU, 99 Informationsfeld, 95 Informationssicherheitspolitik, 201 Initiator, 89, 92, 97 INS, 50 Integrität, 136 Internetadresse, 126, 128
261 I-PDU, 96 iPhone, 183 ISO/IEC 10536, 38 13239, 170 14443, 43, 52, 56, 89, 117 14443-2, 52 14443-3, 52 14443-4, 53, 251 15693, 58, 89 18000-6C, 38 18092, 57, 81, 88, 89 21481, 88, 89, 101 28361, 165 7810, 40, 42 7816, 36 7816-10, 37 7816-12, 37 7816-2, 41, 56, 166 7816-3, 37, 45, 56 7816-4, 37, 56, 178, 251 ISO/IEC 18092, 153 ISO14443Connection, 252 ITSO-Standard, 220 J JAD-Datei, 177 JAR-Datei, 177 Java, 174 Virtual Machine, 174 Java Card, 63, 72, 155, 158 Open Platform, 63 Remote Method Invocation, 178 Java Card Remote Method Invocation, 244 Java Community Process, 151 Java ME, 151, 175, 243 Java Specification Request, 151 JavaCardRMIConnection, 245 JCP. Siehe Java Community Process JCRMI. Siehe Java Card Remote Method Invocation Jewel Tag, 181 JIS X 6319-4, 57, 81, 89 JSR. Siehe Java Specification Request JSR 118, 151 JSR 139, 151 JSR 177, 177, 243, 252 JSR 257, 178, 179, 246 JSR 271, 151 JSR 30, 151 JSR 37, 151 JVM. Siehe Java Virtual Machine
262 K Kartenherausgeber. Siehe Card Issuer Klassifizierung Daten, 201 Kollisionsvermeidung. Siehe Collision Avoidance Kommandointerpreter, 62 Kommunikationsmodus NFC, 89, 101 PCD, 89, 101 VCD, 89, 101 kontaktbehaftete Schnittstelle, 36 kontaktlose Schnittstelle, 37 Kopplungsfaktor, 18, 20 Kosteneinsparung, 206 Kreditkarte, 208 Kryptobibliothek, 63 Kundenbindungsprogramm, 223, 228 Kurzframe, 53 L Ladezustände, 154 Lastmodulation, 26 kapazitiv, 26 ohmsch, 26 Lc, 51 Le, 51 Link Management Gate, 171 Link Protocol Data Unit, 169 Linux, 182 Listener, 178, 247, 248 LLCP. Siehe Logical Link Control Protocol Loader, 194 Lock-Bit, 111, 115 Logical Channel Manager, 63 Logical Link Control Protocol, 92, 97, 106, 120 Logical-Link-Control-Layer, 91 Loop Back Gate, 172 LPDU. Siehe Link Protocol Data Unit M MAD. Siehe MIFARE Application Directory magnetische Feldstärke, 14 magnetische Flussdichte, 16 magnetische Spannung, 14 magnetischer Fluss, 16 magnetisches Feld, 14 Manchestercodierung, 24 Man-in-the-Middle, 105 Maschinenlesbarkeit, 39 Master File, 65 Media Type. Siehe Multipurpose Internet Mail Extensions
Sachverzeichnis Medium-Access-Control-Layer, 91 Mehrfachzugriffsverfahren, 27 Memory Management Unit, 35, 60, 63 Message Authentication Code, 105 Message Begin, 120 Message End, 120 MessageDigest, 246 MIDlet, 176, 179 MIDP. Siehe Mobile Information Device Profile MIFARE, 4, 75, 87, 101, 181 Application Directory, 79 Classic, 76, 77 DESFire, 76 Mini, 77 Plus, 76 Ultralight, 75, 76, 114 Millercodierung modifiziert, 24 MIME. Siehe Multipurpose Internet Mail Extensions MMU. Siehe Memory Managment Unit MNO. Siehe Mobile Network Operator Mobile Information Device Profile, 151, 176 Mobile Network Operator, 150, 195, 206 Mobilfunkbetreiber, 190 Mobilfunkindustrie, 148 Mobilfunkrechnung, 210 Mobiltelefon, 5, 9, 145 Mode Switching, 102, 104 Modulationskapazität, 26 Modulationsseitenband, 26 Modulationsverfahren, 23 ASK, 23 FSK, 24 PSK, 23 Modulationswiderstand, 26 Multipurpose Internet Mail Extensions, 123 N NCI. Siehe NFC Controller Interface NDEF. Siehe NFC Data Exchange Format Anwendung, 117 Datei, 118, 119 Magic Number, 112 Message, 120, 122, 131, 135, 251 Record, 120, 123 Record Handling Architecture, 179 NDEF-Paket, 249 NDEFRecordListener, 248, 254 NDEFTagConnection, 251 Near Field Communication, 1, 4, 87 Negotiated Handover, 137 Netzbetreiber. Siehe Mobile Network Operator
Sachverzeichnis
263
NFC. Siehe Near Field Communication NFC Activities Specification, 105 NFC Analog Specification, 110 NFC Controller Interface, 173 NFC Data Exchange Format, 110, 113, 120 NFC Digital Protocol, 91, 101, 110 NFC Forum, 5, 7, 88, 109 Architecture, 90, 99 Card Emulation Mode, 100 External Type, 125 Peer Mode. Siehe Peer-to-Peer-Modus Reader/Writer Mode. Siehe Reader/Writer-Modus Tag. Siehe Tag Tag Spezifikation. Siehe Tag Operation Specification Well-known Type, 124 NFC Protocol Stack, 182 NFC Record Type Definition, 123 NFC Transfer Interface Packet, 120 NFC Wired Interface, 157, 165 NFC-A, 101, 102, 110, 114, 117 NFC-Anwendungen, 5 NFC-B, 101, 102, 117 NFC-Controller, 9, 153, 166 NFC-F, 101, 102, 116 NFC-Front-end. Siehe Contactless Front-end NFCID3, 96 NFCIP-1. Siehe ISO/IEC 18092 NFCIP-2. Siehe ISO/IEC 21481 NFCIPConnection, 256 NFC-Modem, 153 NFC-Ökosystem, 148, 150, 155, 189 NFC-Protokollstack, 164 NFC-SEC. Siehe ECMA 385 NFC-Transceiver, 9, 165 NFC-WI. Siehe NFC Wired Interface N-Mark, 130, 205 Nokia 6131 NFC, 180 6212 Classic, 180 Erweiterungen zu JSR 257, 180, 255 Normal Response Mode, 97 Normierung, 146 NRZ-L-Codierung, 24 NTIP. Siehe NFC Transfer Interface Packet
OTA. Siehe Over-the-Air Over-the-Air, 150, 152, 160, 187 Management, 221 Plattform, 196, 198 Oyster Card, 213
O öffentlicher Personennahverkehr, 75, 81, 212 OMA. Siehe Open Mobile Alliance Open Mobile Alliance, 151 Open NFC, 182 OSI-Referenzmodell, 43
Q QUICK, 4, 210
P Parameter Exchange-PDU, 98 passiver Kommunikationsmodus, 92, 94 passiver Transponder, 21 Passivierungsschicht, 69 Passwortrichtlinie, 201 Patientendaten, 235, 236 Payload-Feld, 121 PCD, 52, 89 Peer-to-Peer-Modus, 90, 91, 153, 180, 255 Permeabilität, 16 Personalisierung, 160, 194 Phishing-Attacke, 128 PICC, 52 PIN, 34, 65, 67, 71 PlainTagConnection, 251 Platform Manager, 160 Platform Provider, 160 Point of Sale, 206 Polling Loop, 103 Polling-Befehl, 57, 117 Postpaid, 215 Power Analysis, 70 PPS. Siehe Protocol and Parameter Selection Präambel, 95 Prepaid, 208, 209 Prepaid-Tickets, 213 Produktinformationssystem, 225 Programmierschnittstelle, 174 Prologfeld, 95 Protocol and Parameter Selection, 46 Protokolldaten, 96 Proximity, 38, 52, 90, 101 Proximity Payment, 206 Prozessorkarte, 35, 60 PSK, 23 Pulslagen-Codierung, 24 PushRegistry, 178, 181, 253, 256 NDEF-Record, 179, 254 Secure Element, 255
R Radio Frequency Identification, 1 R-Block, 48, 55
Sachverzeichnis
264 Read Identification, 114 Read-Befehl, 83 Reader Application Gate, 173 Reader RF Gate, 172 Reader/Writer-Modus, 90, 99, 153, 178 Receive Ready-PDU, 99 Recommended Action Record, 129 Release Request, 96 Remote Mobile Payment, 206 Replay-Attacke, 105 Resonanz, 21 Returncode Manager, 63 RFID-System, 2, 104 RFID-Tag-Paket, 251 RFID-Transponder, 2, 99 RID. Siehe Read Identification Roaming-Gebühren, 225 R-PDU, 96 RTD. Siehe NFC Record Type Definition S SATSA. Siehe Security and Trust Services API S-Block, 48, 55 Schlüsselaustausch, 105, 107 Schwingkreis, 20 SCWS. Siehe Smartcard-Webserver SDD. Siehe Single Device Detection SD-Karte, 157 SDMA, 28 SEC. Siehe Secure Element Controller Secure Channel Protocol, 197 Secure Channel Service, 106 Secure Element, 101, 149, 155, 165, 182, 187, 209, 257 Lebenszyklus, 160, 191 MIFARE, 182 MIFARE-Speicher, 257 Transaktion, 180 Verwaltung, 160 Secure Element Controller, 162 Secure Memory Card, 157 Secure Messaging, 72 Secure Messaging Manager, 62 Security and Trust Services API, 177, 243 Security Domain, 150, 187, 192 Selbstinduktion, 19 semi-passiver Transponder, 21 Service Files Overlapped, 82 Service Provider, 150, 160, 189, 190 Servicecode, 82, 116 Shared Secret Service, 106
SHDLC. Siehe Simplified High Level Date Link Control Protocol Short Record, 120 Sicherheit, 68, 105, 133, 141, 183 Sicherheitsdienst, 232 Sicherheitslogik, 34 Signatur, 133, 136, 184, 246 Signature Record Type, 134 SIM, 157, Siehe Subscriber Identity Module Simple Mode, 195, 196 Simplified High Level Date Link Control Protocol, 170 Single Device Detection, 92 Single Wire Protocol, 37, 41, 149, 157, 159, 166 Size Record, 129 Smart Card Platform, 149 Smart Poster Record Type, 127 Smartcard, 2, 33, 38 multi-funktional, 149 Smartcard Webserver, 182 Smartcard-Betriebssystem, 60 Smartcard-Paket, 251 Smartcard-Webserver, 152 SmartMX, 76, 156 Smartposter, 100, 130, 221 SMC. Siehe Secure Memory Card SMS-Nachricht, 128, 136 SMS-Ticket, 130, 134 Social Engineering, 68 Source Service Access Point, 98 SP. Siehe Service Provider S-PDU, 97 Speicherkarte, 34, 59 Speichermanager, 62 SSAP. Siehe Source Service Access Point SSD-Manager, 192, 193 Standardframe, 53 Static Handover, 138 statische Speicherstruktur, 111, 115 Statuscode, 51 Subscriber Identity Module, 149 SWP. Siehe Single Wire Protocol Symbology-Manager, 253 Symmetry-PDU, 98 synchrones Übertragungsprotokoll, 37 Systemcode, 57, 116 T T=0, 46, 51 T=1, 48, 51 T=CL, 55
Sachverzeichnis Tag, 38, 90, 99, 109, 120, 133 Operation Specification, 110 Type 1, 110, 181 Type 2, 114, 181 Type 3, 116, 181 Type 4, 117 TagConnection, 247 Tag-Length-Value. Siehe TLV-Struktur Target, 89, 92, 97 Target Record, 132 TargetListener, 247, 248 TCP/IP. Siehe Transmission Control Protocol/ Internet Protocol TDMA, 27 TEE. Siehe Trusted Execution Environment Telefonnummer, 126 Terminal-Host, 170 Text Record Type, 125 Ticketsystem, 212, 220 Title Record, 128 TLV-Struktur, 111, 112, 118 Lock Control, 113 Memory Control, 113 NDEF File Control, 118 NDEF Message, 113 NULL, 113 Proprietary, 114 Proprietary File Control, 119 Terminator, 114 TNF. Siehe Type Name Format Topaz, 110 Topaz Tag, 181 Touch-and-Connect, 137 Touch-and-Go, 137 Touchpoint, 214, 218 Tourismus-Anwendung, 224 TPDU. Siehe Transport Protocol Data Unit TransactionListener, 247, 248 Transformator, 19 Transmission Control Protocol/Internet Protocol, 182 Transport Protocol Data Unit, 44, 50 TRNG. Siehe True Random Number Generator True Random Number Generator, 60 Trusted Execution Environment, 146, 164 Trusted Platform Module, 158 Trusted Service Manager, 150, 187, 189, 196, 200, 209 TSM. Siehe Trusted Service Manager Typ A, 53 Typ B, 54 Typ C, 57
265 Type Name Format, 120 Type Record, 130 Type-Feld, 121 U Übertragungsprinzip, 13 Übertragungsprotokoll, 46, 48, 54 Überwachung, 232 UICC, 195, Siehe Universal Integrated Circuit Card UID, 53, 77, 78, 111, 115 Uniform Resource Identifier, 126 Uniform Resource Locator, 126 Uniform Resource Name, 126 unipolaren RZ-Codierung, 24 Universal Integrated Circuit Card, 149, 157, 159 Unnumbered Information-PDU, 99 Update-Befehl, 117 URI. Siehe Uniform Resource Identifier URI Record, 128 URI Record Type, 126 URL. Siehe Uniform Resource Locator URN. Siehe Uniform Resource Name UserCredentialManager, 245 USIM, 149 V VCD, 58, 89 VDV-Kernapplikation, 218, 220 Vektorfeld, 14 Verschlüsselung, 105, 133 VICC, 58 Vicinity, 38, 58, 90 virtueller Taschendieb, 184 Visitenkarte, 123 VisualTagConnection, 253 Visual-Tag-Paket, 253 W Wartungssystem, 233 Werbeplakat, 128 Windows Mobile, 182 WLAN, 137 Write-Befehl, 83 Z Zertifikat, 135, 136 Zugriffsmanagement, 203 Zutrittschutz, 200 Zutrittskontrolle, 76, 81 Zutrittssystem, 223