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.
Примечания
- ↑ Finn, David, "Portable identity card reader system for physical and logical access", US patent 7748636, published 2010-07-06
- ↑ Specification for Integrated Circuit(s) Cards Interface Devices Revision 1.1. usb.org 25. USB Implementers Forum, Inc.. Дата обращения: 26 января 2015.
- ↑ USB Complete: Everything you need to develop custom USB peripherals, Jan Axelson, 2005, с. 189
- ↑ Microsoft Class Drivers for USB CCID Smart Cards. Microsoft Developer Network. Microsoft. Дата обращения: 26 января 2015.
- ↑ Jamf Pro Overview—macOS Smart card Functionality 7. Jamf (2018). Дата обращения: 29 апреля 2026. Архивировано 26 ноября 2020 года.
- ↑ Intro to smart card integration (англ.). Apple Support. Apple. Дата обращения: 26 ноября 2020. Архивировано 26 ноября 2020 года.
- ↑ Use a smart card on iPhone and iPad (англ.). Apple Support. Дата обращения: 23 января 2024.
- ↑ Supported smart card functions on iPhone and iPad (англ.). Apple Support. Дата обращения: 23 января 2024.