CCID (protocol)


CCID protocol is a USB protocol that allows a smartcard to be connected to a computer via a card reader using a standard USB interface, without the need for each manufacturer of smartcards to provide its own reader or protocol. This allows the smartcard to be used as a security token for authentication and data encryption, such as that used in BitLocker. Chip card interface devices come in a variety of forms. The smallest CCID form is a standard USB dongle and may contain a SIM card or Secure Digital card inside the USB dongle. Another popular device is a USB smart card reader keyboard, which in addition to being a standard PC USB keyboard, has an additional slot for accepting a smartcard.

Hardware implementation

According to the CCID specification by the USB standards work group, a CCID exchanges information through a host computer over USB by using a CCID message that consists of a 10-byte header followed by message-specific data. The standard defines fourteen commands that the host computer can use to send data and status and control information in messages. Every command requires at least one response message from the CCID.

Software driver

CCID driver support has been natively supported in the Windows operating system from Windows 2000. On Linux and other Unices, CCID and CT-API devices are usually accessed with user-space drivers, for which no special kernel adaptation is required.

List of CCID providers