CCID (протокол)

CCID (англ. chip card interface device) — протокол USB, который позволяет подключать смарт-карты к компьютеру через картридер с использованием стандартного USB-интерфейса, без необходимости предоставления каждым производителем смарт-карт собственного ридера или протокола[1]. Это позволяет использовать смарт-карты в качестве токенов безопасности для аутентификации и шифрования данных, например, в технологиях, используемых в BitLocker. CCID-устройства могут иметь различные формы. Минимальный размер CCID реализован как стандартный USB-донгл, который может содержать внутри SIM-карту или карту Secure Digital. Другой распространённый вариант — USB-клавиатура со встроенным ридером смарт-карт, совмещающая функции стандартной USB-клавиатуры и слот для смарт-карты. Однако, не все CCID-совместимые устройства принимают сменные смарт-карты: например, некоторые аппаратные устройства аутентификации YubiKey поддерживают CCID и выполняют роли как ридера, так и самой смарт-карты. Поскольку протокол ориентирован на работу со смарт-картами, он строится на взаимодействии согласно ISO/IEC 7816-4 и ISO/IEC 7816-3 как основных стандартов обмена данными со смарт-картой или с самим устройством.

Аппаратная реализация

Согласно спецификации CCID, принятой рабочей группой по USB-стандартам, обмен информацией между CCID и хост-компьютером осуществляется через USB посредством сообщений CCID, состоящих из 10-байтового заголовка и следующих за ним данных, специфичных для сообщения[2]. Стандарт определяет 14 команд, которые хост-компьютер может использовать для передачи данных, статуса и управляющей информации в сообщениях. Каждая команда требует как минимум одного ответного сообщения от CCID[3].

Программные драйверы

В поддерживаемых драйверах программ CCID с Windows 2000 реализована встроенная поддержка протокола Microsoft[4]. Apple внедрила базовую поддержку CCID, начиная с Mac OS X, причём реализация развивалась параллельно с рекомендациями Common Access Card и Personal Identity Verification, установленными правительством США[5][6]. Нативная поддержка CCID на устройствах iOS появилась с версии 16.0, а на iPadOS — с версии 16.1[7][8]. На Linux и других Unix-системах устройства CCID и CT-API, как правило, обслуживаются драйверами из пользовательского пространства, не требуя специальных адаптаций на уровне ядра.

Разработчики

  • Advanced Card Systems;
  • ActivIdentity;
  • Baltech;
  • Bit4id;
  • BLUTRONICS;
  • Elyctis;
  • FEITIAN Technologies;
  • Gemalto;
  • Giesecke & Devrient;
  • HID Global;
  • JaCarta;
  • rf IDEAS;
  • SafeNet;
  • SecuTech Solutions;
  • SpringCard;
  • Verisign;
  • Yubico;
  • Reiner Kartenlesegeräte;
  • DUALi.

Примечания