Протокол CCID ( интерфейсное устройство чип-карты ) — это протокол USB , который позволяет подключать смарт-карту к компьютеру через устройство чтения карт с использованием стандартного интерфейса USB, без необходимости для каждого производителя смарт-карт предоставлять свой собственный считыватель или протокол. [1] Это позволяет использовать смарт-карту в качестве токена безопасности для аутентификации и шифрования данных, например, используемого в BitLocker . Устройства интерфейса чип-карты бывают разных форм. Наименьшая форма CCID — это стандартный USB- ключ , который может содержать SIM-карту или карту Secure Digital внутри USB-ключа. [ требуется цитата ] Другим популярным интерфейсом является клавиатура USB-считывателя смарт-карт , которая в дополнение к тому, что является стандартной USB-клавиатурой, имеет встроенный слот для приема смарт-карты. Однако не все устройства, совместимые с CCID, принимают съемные смарт-карты, например, некоторые устройства аппаратной аутентификации Yubikey поддерживают CCID, где они играют роль как устройства чтения карт, так и самой смарт-карты.
Согласно спецификации CCID рабочей группы по стандартам USB, CCID обменивается информацией через хост-компьютер по USB, используя сообщение CCID, состоящее из 10-байтового заголовка, за которым следуют данные, специфичные для сообщения. [2] Стандарт определяет четырнадцать команд, которые хост-компьютер может использовать для отправки данных, а также информации о состоянии и управлении в сообщениях. Каждая команда требует как минимум одного ответного сообщения от CCID. [3]
Поддержка драйверов CCID изначально поддерживается Microsoft , начиная с Windows 2000. [4] Apple включила некоторую форму собственной поддержки CCID, начиная с Mac OS X , с поддержкой, развивающейся вместе со спецификациями Common Access Card и Personal Identity Verification, установленными федеральным правительством США . [5] [6] Apple включила собственную поддержку CCID в iOS, начиная с версии 16.0, и в iPadOS, начиная с версии 16.1. [7] [8] В Linux и других Unix-системах доступ к устройствам CCID и CT-API обычно осуществляется с помощью драйверов пользовательского пространства, для которых не требуется специальной адаптации ядра . [9]