Page tree

PC/SC (Personal Computer/Smart Card) - это широко используемый промышленный стандарт программного интерфейса для приложений, работающих на персональных компьютерах (PC) и оперирующих со смарт-картами (SC). Этот стандарт был разработан рабочей группой PC/SC, первая версия спецификации была выпущена в 1997 году.

Назначение и смысл архитектуры и спецификации PC/SC состоит в том, чтобы дать возможность разработчикам приложений разрабатывать свои продукты независимо от специфики каждого конкретного считывателя (ридера) смарт-карт, оперируя универсальным интерфейсом. Соответствие общему стандарту снижает стоимость разработки приложений, помогает поддерживать постоянный уровень безопасности, требуемый при использовании технологий смарт-карт.

Архитектура PC/SC определяет интерфейс между ридером смарт-карт, менеджером ресурсов (Resource Manager) и приложением. С данной точки зрения все ридеры должны вести себя одинаково, а их специфика скрыта в реализации интерфейса для конкретного ридера. Любое приложение, способное взаимодействовать со смарт-картами через интерфейс PC/SC, может быть легко приспособлено для поддержки Рутокен, точно так же, как и любой другой PC/SC-совместимой смарт-карты.

Доступ приложений к смарт-картам (ICC, Integrated Circuit Card) осуществляется посредством интерфейсных устройств (IFD, Interface Device). В случае с Рутокен, карта и интерфейсное устройство конструктивно объединены.

Каждое интерфейсное устройство ассоциировано с IFD Handler - программным модулем, осуществляющим связь с физическим устройством и по сути представляющим собой драйвер устройства. С появлением ридеров, имеющих USB интерфейс, была разработана спецификация USB CCID, которая позволяет достичь еще большей универсальности за счет того, что универсальный драйвер CCID уже встроен в операционную систему. В настоящее время такие драйверы присутствуют в большинстве современных операционных систем, включая Microsoft Windows, различные версии Linuх, Mac OS X. Интерфейсом CCID оснащены Рутокен семейства ЭЦП (2.0, PKI, 2100, 2151) и Рутокен Lite.

Основа архитектуры - Менеджер Ресурсов смарт-карт (ICC Resource Manager) предостваляет сервис системного уровня. Он управляет ресурсами смарт-карт, интерфейсных устройств, а также контролирует совместный доступ к этим устройствам и предоставляет примитивы управления транзакциями.

ICC Service Provider представляет собой высокоуровневый интерфейс, абстрагирующий разработчика от конкретной реализации смарт-карты. Он предоставляет различные сервисы (аутентификация, доступ к файловой системе, криптографические функции).

Криптографические функции имеют также изолированный интерфейс - криптографический сервис-провайдер (CSP, Cryptograhic Service Provider). Его наличие обусловлено различными проблемами регулирования экспорта и импорта криптографии. Криптографический сервис-провайдер реализует набор функций, представленных, в частности в Microsoft CryptoAPI (CAPI).

В настоящее время известны реализации PS/CS для Windows, а также совободная реализация PC/SC Lite (M.U.S.C.L.E Free Implementation) для Linux, различных версий Unix, а также Mac OS X.


  • No labels