© best_vector/Shutterstock.com
Windows Developer
Teil 2: Praktische Anwendungen und NFC-Komponenten

NFC-Kommunikation: Sprich mit mir

Near Field Communication (NFC) ist ein auf internationalen Standards basierendes kontaktloses Übertragungsverfahren. Den Schwerpunkt von NFC-Anwendungen bilden zum einen mobile Zahlungsverfahren (Micropayments), indem diese die bereits etablierten kontaktbasierten Transaktionen erweitern. Zum anderen werden unter der Rubrik soziale Vernetzung (Social Networking) via NFC Kontakte, Fotos oder Videos ausgetauscht. Derzeit sind bereits die meisten Smartphones im mittleren Preissegment mit NFC-Interface ausgestattet, und es sind preisgünstige, universell einsetzbare NFC-Tags für unterschiedlichste Einsatzzwecke am Markt verfügbar. Bezüglich Applikationsprogrammierung und Implementierung von NFC-Systemen besteht jedoch eine nicht unerhebliche Nachfrage.

Helmut Stoiber


ArtikelserieTeil 1: Grundlagen, typische Betriebsarten und SicherheitTeil 2: Praktische Anwendungen und NFC-Komponenten

Ausgehend von den im ersten Artikelteil vorgestellten Grundlagen und Prinzipien der NFC-Technologie schließt sich in diesem zweiten Teil eine Vorstellung praktischer Anwendungen und aktueller NFC-Komponenten an. Weiterhin werden die rudimentären Features des Proximity-API von .NET unter Windows 10 aufgezeigt und anhand von Standardsequenzen für das Lesen, Schreiben und Publizieren von NDEF-Daten veranschaulicht, wobei das Generieren und Parsen von NDEF-Nachrichten detailliert beschrieben ist. Anschließend wird auf die Programmierung spezifischer NFC-Komponenten bzw. Smartcards nach den durch ISO/IEC 14443 spezifizierten Standards eingegangen. Ein kurzer Abriss über TLV-Codierung und APDU-Sequenzen rundet den Artikel ab.

NFC-Reader

Für das Proximity-Framework von Windows 10 ist ein spezieller NFC-Reader erforderlich, der gemäß Abbildung 1 als Näherungsgerät (Proximity-Device) vom System erkannt und registriert wird, nachdem ein spezifischer Treiber installiert wurde. Ein kontaktloser Standardkartenleser, der im Gerätemanager unter der Rubrik Smartcard-Leser aufgelistet ist, wird vom Windows Proximity Framework nicht unterstützt und ist somit nur für Protokolle des Standards ISO/IEC 14443 geeignet.

Abb. 1: NFC-Reader in der Rubrik „Näherungsgeräte“

Die nachstehend gezeigten Programmsequenzen wurden mit einem NFC-fähigen Reader RC-S380 von Sony getestet. Bei diesem Reader handelt es sich um einen USB-NFC-Reader, der Schreib- und Leseoperationen mit FeliCa-Devices (Tags) und Smart Cards vom Typ A und B nach ISO/IEC 14443 unterstützt.

Windows-Proximity-API

Der Namespace Windows.Networking.Proximity enthält Klassen, die sowohl den Verbindungsaufbau als auch die Kommunikation von NFC-Devices unterstützen. Neben Klassen wie ProximityDevice oder ProximityMessage, um Nachrichten zu publizieren und zu abonnieren, stehen Delegates für die Verarbeitung von Ereignissen zur Verfügung. Hiermit lässt sich beispielsweise die Annäherung zweier NFC-Devices erkennen oder das Verarbeiten von Nachrichten triggern. Ein Delegate ähnelt einem Funktionszeiger der Programmiersprache C und kapselt typischerweise eine Methode, die ereignisgesteuert aufgerufen wird.

Das Windows-Proximity-API stellt weder Verschlüsselungsfunktionalitäten noch Mechanismen für Authentisierung oder Nachrichtenintegrität bereit. Die Kommunikation ist somit per se ungeschützt, und es muss gegeben...

Windows Developer
Teil 2: Praktische Anwendungen und NFC-Komponenten

NFC-Kommunikation: Sprich mit mir

Near Field Communication (NFC) ist ein auf internationalen Standards basierendes kontaktloses Übertragungsverfahren. Den Schwerpunkt von NFC-Anwendungen bilden zum einen mobile Zahlungsverfahren (Micropayments), indem diese die bereits etablierten kontaktbasierten Transaktionen erweitern. Zum anderen werden unter der Rubrik soziale Vernetzung (Social Networking) via NFC Kontakte, Fotos oder Videos ausgetauscht. Derzeit sind bereits die meisten Smartphones im mittleren Preissegment mit NFC-Interface ausgestattet, und es sind preisgünstige, universell einsetzbare NFC-Tags für unterschiedlichste Einsatzzwecke am Markt verfügbar. Bezüglich Applikationsprogrammierung und Implementierung von NFC-Systemen besteht jedoch eine nicht unerhebliche Nachfrage.

Helmut Stoiber


ArtikelserieTeil 1: Grundlagen, typische Betriebsarten und SicherheitTeil 2: Praktische Anwendungen und NFC-Komponenten

Ausgehend von den im ersten Artikelteil vorgestellten Grundlagen und Prinzipien der NFC-Technologie schließt sich in diesem zweiten Teil eine Vorstellung praktischer Anwendungen und aktueller NFC-Komponenten an. Weiterhin werden die rudimentären Features des Proximity-API von .NET unter Windows 10 aufgezeigt und anhand von Standardsequenzen für das Lesen, Schreiben und Publizieren von NDEF-Daten veranschaulicht, wobei das Generieren und Parsen von NDEF-Nachrichten detailliert beschrieben ist. Anschließend wird auf die Programmierung spezifischer NFC-Komponenten bzw. Smartcards nach den durch ISO/IEC 14443 spezifizierten Standards eingegangen. Ein kurzer Abriss über TLV-Codierung und APDU-Sequenzen rundet den Artikel ab.

NFC-Reader

Für das Proximity-Framework von Windows 10 ist ein spezieller NFC-Reader erforderlich, der gemäß Abbildung 1 als Näherungsgerät (Proximity-Device) vom System erkannt und registriert wird, nachdem ein spezifischer Treiber installiert wurde. Ein kontaktloser Standardkartenleser, der im Gerätemanager unter der Rubrik Smartcard-Leser aufgelistet ist, wird vom Windows Proximity Framework nicht unterstützt und ist somit nur für Protokolle des Standards ISO/IEC 14443 geeignet.

Abb. 1: NFC-Reader in der Rubrik „Näherungsgeräte“

Die nachstehend gezeigten Programmsequenzen wurden mit einem NFC-fähigen Reader RC-S380 von Sony getestet. Bei diesem Reader handelt es sich um einen USB-NFC-Reader, der Schreib- und Leseoperationen mit FeliCa-Devices (Tags) und Smart Cards vom Typ A und B nach ISO/IEC 14443 unterstützt.

Windows-Proximity-API

Der Namespace Windows.Networking.Proximity enthält Klassen, die sowohl den Verbindungsaufbau als auch die Kommunikation von NFC-Devices unterstützen. Neben Klassen wie ProximityDevice oder ProximityMessage, um Nachrichten zu publizieren und zu abonnieren, stehen Delegates für die Verarbeitung von Ereignissen zur Verfügung. Hiermit lässt sich beispielsweise die Annäherung zweier NFC-Devices erkennen oder das Verarbeiten von Nachrichten triggern. Ein Delegate ähnelt einem Funktionszeiger der Programmiersprache C und kapselt typischerweise eine Methode, die ereignisgesteuert aufgerufen wird.

Das Windows-Proximity-API stellt weder Verschlüsselungsfunktionalitäten noch Mechanismen für Authentisierung oder Nachrichtenintegrität bereit. Die Kommunikation ist somit per se ungeschützt, und es muss gegeben...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang