Everything there is to know about PC/SC !
What is it ?
The PC/SC is an interoperability standard ensuring the dialogue between computers and smartcards. This standard is available in most of the operating system, including Windows and Linux. Personal computer/Smart card (or PC/SC) is at the same time a specification and a software library for the access to smartcards under Microsoft Windows. A free implementation of the PC/SC, called PC/SC Lite, is available under GNU/Linux and distributed with Mac OS X. The specification of this library is done by the PC/SC Workgroup, composed of smartcard and computer manufacturer. Its goal is to ensure a standard base of orders to allow a better interoperability between PC, card readers and smartcards.
How does it work ?
PC/SC is based on a layered architecture which starts with the coupler and its driver it continues with a middleware that implements the device abstraction facility and a strong isolation of the customer card-aware applications. The middleware maintains the list of currently connected couplers. It notifies the applications when a smartcard is inserted in the coupler, it prevents multiple applications from accessing the same card at the same time.
Finally this layered architecture ends up with high-level application programming interface (API). The API is an application that aims to use smartcards. It is a dynamic library which invoke special services provided by the PC/SC middleware.The PC/SC does not see a difference between a contact and contactless coupler. It hides most of the specificities of each technologies. PC/SC allows you to operate wire-logic cards using APDU’s as if they were microcontroller-based smartcards.
APDU stands for Application Protocol Data Unit, it is a message exchanged between a smartcard and a reader. This type of message is described in the norm ISO 7816. There are two types of APDU, ones which send commands and those which transmit answers. The role of the APDU is to allow the communication between the reader and the smartcard and to gather the informations of the smartcard to transmit them to the reader.
If you want to have more technical informations about smartcards and contactless smartcards we have created for you an Integrator’s Implementer’s Guide that you can download here.
Published on 5/09/2018