NFC Reader

REINER SCT

REINER SCT REINER-SCT

REINER SCT

Dragon

NFC reader/writer Contactless smartcard reader/writer

duali.com *** duali.de *** duali.de kontakt

Dragon Dragon-NFC

NFC

Software

Wakdev wakdev

nfc-tools-pc-mac

nfctool-lattest.AppImage

Dragon NFC Reader

Linux:

lsusb Suche nach usbids

 lsusb
  ID  1db2:088b



CCID driver - PCSC

ccid.apdu.fr

~ccid-1.4.31/readers/supported_readers.txt

# DUALI

0x1db2:0x088b:DUALi DRAGON NFC READER


~ccid-1.4.31/examples/
 scardcontrol

pcsc_scan


Using reader plug'n play mechanism
Scanning present readers...
0: DUALi DRAGON NFC READER [DRAGON SAM READER] (823121300740) 00 00
 
Mon Mar  9 18:24:45 2020
 Reader 0: DUALi DRAGON NFC READER [DRAGON SAM READER] (823121300740) 00 00
  Event number: 31
  Card state: Card removed, 

opensc

nxp.com/docs/DOC-334952

LudovicRousseau/CCID

LudovicRousseau/pcsc-tools

CCID

wiki ccid

smardcards

ccid driver

heise

smartcard-magic PCSC reader

Der PC/SC Standard ist vollkommen plattform- und herstellerunabhängig und kann somit in jedes PC Betriebssystem integriert werden. Erstmalig wurde die PC/SC Spezifikation auf Windows implementiert. In allen aktuellen Microsoft Betriebssystemen ist PC/SC bereits ein fixer Bestandteil. Im Jahr 2000 startete David Cororan von der Purdue Universität das PC/SC -Lite Projekt, mit dem Ziel Smartcards unter UNIX zu unterstützen. Im selben Jahr wurde die erste Version von MUSCLE (Movement for the Use of Smartcards in a Linux Environment) veröffentlicht. PC/SC-Lite lehnt sich stark an den PC/SC Standard und die Microsoft WinSCard-API an, unterstützt jedoch nicht den vollen Umfang. MUSCLE Webseite

Projekt Seite

PCSC workgroup

Answer_to_Reset

Grundlagen zum Answer-to-Reset

Die „Answer to Reset“ ( ATR ) ist die erste Information die eine Chipkarte an den Kartenleser übermittelt, nach dem der Kartenleser einen Reset der Karte durchgeführt hat. Einfach gesprochen handelt es sich bei der ATR um eine Reihe von Parametern, mit der die Karte dem Kartenleser mitteilt, wie er mit ihr kommunizieren kann. Bei kontaktbehafteten Karten ist der Aufbau der ATR sowohl bei CPU- als auch bei Speicher-Karten, unabhängig vom verwendeten Protokoll, gleich. Der Inhalt der ATR ist aber von den Spezifikationen, dem Aufbau der Karten und den Hersteller-Vorgaben abhängig. Chipkarten-Hersteller haben die Möglichkeit, mit Hilfe der ATR die Performance der Chipkarte zu steuern, in dem sie die Parameter der ATR nach ihren Wünschen festlegen. Chipkarten können auch über mehrere ATR’s verfügen, um so ein bestimmtes Maß an Kompatibilität zu erreichen.

Der Aufbau einer ATR stellt sich wie folgt dar. Im Wesentlichen besteht eine ATR aus den Blöcken Initial Charater , Format Character, Interface Characters , Historical Bytes und dem Check Caracter .

Der Initial Character , auch TS genannt, dient zum einen für die Festlegung der Bit-Codierung (logisch „1“ wird als Low- (L) oder High- (H) Pegel übertragen) und zum anderen zur Erkennung des von der Karte angewendeten Teilers, der für die Bestimmung der Bitlänge relevant ist. Dabei wird wie folgt vorgegangen. Das Start-Bit und die nächsten drei weiteren Bits sind immer nach dem Muster (L) H H L x x x x x x aufgebaut (L = Low, H = High, x = don’t care). Der Kartenleser ermittelt die Zeit zwischen den beiden fallenden Flanken und teilt sie durch drei. Die erhaltene Elementary Time Unit (etu) bestimmt die Dauer eines Bits.

Die nächsten drei Bits der Sequenz geben die Bit-Kodierung an. Drei Bits auf High bedeutet, dass logisch 1 als High codiert (direkte Konvertierung) wird; drei Bits auf Low bedeutet, dass logisch 0 als Low (indirekte Konvertierung) codiert wird. erstes Bit: Start-Bit; letztes Bit: Partity-Bit

Direct Conversion - (L) H H L H H H L L (H)

Indirect Conversion - (L) H H L L L L L L (H)

Dabei ist zu beachten, dass sich je nach Konvertierung auch die Bit-Reihenfolge ändert. Bei der direkten Konvertierung wird das Least Significant Bit zuerst übertragen, während bei der indirekten Konvertierung das Most Significant Bit zuerst übertragen wird.

Da die Interface Characters und die Historical Characters optional sind, gibt das Format Caracter (auch T0 genannt) an, welche der Character übertragen werden. Das Most Signifiant Nibble (MSN) von T0 zeigt als Bitmuster an, welches der nächsten vier Interface Characters übertragen wird. Das Least Significant Nibble (LSN) wird als Zahl interpretiert und liefert die Anzahl der Historical Character (1 bis max. 15). Tabelle 1 gibt Aufschluss über die möglichen Zusammenstellungen des Format Characters.

Format Character Belegung
               
			b8	b7	b6	b5	b4	b3	b2	b1
Anzahl der 
Historical Characters 	-	-	-	-	x	x	x	x
TA(1) wird übertragen  	-	-	-	1	-	-	-	-
TB(1) wird übertragen 	-	-	1	-	-	-	-	-
TC(1) wird übertragen 	-	1	-	-	-	-	-	-
TD(1) wird übertragen 	1	-	-	-	-	-	-	-
 

Der Aufbau der Interface Characters ist mit einer verketteten Liste vergleichbar. In TD(1) wird, ähnlich wie in T0, im MSN (Most Significant Nibble) angezeigt, welche der nächsten Interface Characters (TX(i+1), X Î {A, B, C, D}, i > 1) in der ATR vorkommen. Das Least Significant Nibble (LSN) von TD(i) gibt Auskunft über den zu verwendeten Protokoll-Typ (T = 0, T = 1 bzw. in Zukunft auch andere). Unterstützt die Chipkarte mehrere Protokoll-Typen, kann in TD(i+1) auch ein anderer vermerkt sein. Die Auswahl hat dann in der Protokoll Selektion zu erfolgen. TA(1), TB(1), TC(1) und TB(2) werden als globale Interface Bytes bezeichnet. Sie geben dem Kartenleser Auskunft über den internen Taktteiler, die nötige Programmierspannung Vpp und den resultierenden Programmierstrom. Die Interpretation von TA(i), TB(i), TC(i) (i > 2) hängt vom Protokolltyp ab.

Der Inhalt der Historical Bytes ist derzeit noch nicht genormt. Man findet darin sehr oft Informationen über den Kartenhersteller, den Kartentyp (z. B. Grösse, usw.), die Versionsnummer und den Status der Karte. Bei österreichischen Maestro-Karten ist bspw. der aktuelle Saldo der integrierten Geldbörse Quick in diesen Bytes zu finden.

Mit dem Check Character kann eine zusätzliche Paritätsprüfung vorgenommen werden. Das Check Character enthält eine XOR-Verknüpfung (Exklusiv-Oder) der Bytes der ATR von T0 bis zum letzen Byte vor TCK. Seine Übertragung hängt aber von Kriterien wie z.B. dem Protokolltyp ab, wodurch eine Überprüfung nicht immer möglich ist.

Application_Protocol_Data_Uni APDU

Drago log

Personalausweisportal

https://www.personalausweisportal.de/DE/Buergerinnen-und-Buerger/Online-Ausweisen/das-brauchen-Sie/Software/software-node.html

https://www.openscdp.org/scsh3/index.html