PC/SC-Reader

 

Mitte der 90er Jahre wurde erstmalig die  Anwendungsschnittstelle (API … Application Programming Interface) zwischen einem Smartcard Reader und einem PC-System von unterschiedlichen Organisationen standardisiert. Bis zu diesem Zeitpunkt verfügte jeder Reader über eine proprietäre Softwareschnittstelle. Bei der Entwicklung einer PC-Anwendung musste man sowohl die Spezifikationen der Karten, als auch die der Reader berücksichtigen.
Aus diesem Grund unterstützten Kartenanwendungen meist nur eine geringe Anzahl von Kartenreadern, oft auch nur einen einzigen Reader. Die von der Reader-Hardware unabhängige Entwicklung von PC-Kartenanwendungen ist das Ziel der unterschiedlichen Industriestandards.

Im Buch wird der PC/SC Standard ausführlich behandelt, da dieser Standard von nahezu allen gängigen Betriebssystemen unterstützt wird. Die Readerhersteller bieten PC/SC kompatible kontaktbehaftete, kontaktlose und Dual-Interface Smartcard Reader in den unterschiedlichsten Bauformen an. Die Auswahl reicht von Bezahlterminals, speziellen Reise-pass- und Ausweislesern, PC-Desktop-Readern bis zu Readern in der Bauform eines USB-Sticks. In Laptops integrierte kontaktbehaftete PC/SC Reader sind bereits Standard. Einige Laptop-Hersteller integrieren bereits kontaktlose ISO/IEC 14443, ISO/IEC 15693 und NFC Reader im Laptop.

Im Dezember 1997 wurde die Version 1.0 der „Interoperability Specification for ICCs and
Personal Computer Systems“ (kurz PC/SC) von der PC/SC Arbeitsgruppe veröffentlicht.  In   der  Version   1.0 wurden ausschließlich kontakt- behaftete Smartcards und einfache Reader unterstützt.

Kontaktlose ISO/IEC 14443 und ISO/IEC 15693 Chipkarten, asynchrone kontaktbehaftete Speicherchipkarten und höherklassige Reader (z.B.: Keyboards, Reader mit biometrischen Sensoren,   Displays,   Tastaturen   usw.)   werden  erst   ab   der   Version   2.0   unterstützt.   Diese Erweiterung   wurde   im   August   2004   veröffentlicht.
  
Die aus 10 Teilen bestehende Spezifikation kann man kostenlos von der PC/SC Workgroup Homepage (www.pcscworkgroup.com) laden.

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. Die auf der MUSCLE Webseite (http://www.musclecard.com) veröffentlichten Treiber liegen auch im Quellcode vor. Aktuell wird   PC/SC-Lite   in   den   folgenden   Betriebssystemen   eingesetzt:   Linux,   Solaris,   Mac   OS   X, FreeBSD und HP-UX.