Менеджер ресурсов смарт-карт решает следующие проблемы при управлении доступом к множеству считывателей и смарт-карт.
Во-первых, он отвечает за идентификацию и отслеживание ресурсов.
Сюда входят:
1. отслеживание инсталлированных считывателей и обеспечение доступности этой информации другим приложениям;
2. отслеживание известных типов смарт-карт вместе со связанными с ними сервис-провайдерами и поддерживаемыми интерфейсами и обеспечение доступности этой информации другим приложениям;
3. отслеживание событий вставки и удаления смарт-карт, чтобы обеспечить точную информацию по смарт-картам в считывателях.
Во-вторых, он отвечает за управление распределением считывателей и ресурсов (и следовательно, за доступ к смарт-картам) по множеству приложений. Это осуществляется предоставлением механизмов для прикрепления к конкретным считывателям в режиме совместного или привилегированного использования. Третий уровень стека смарт-карт состоит из набора драйверов для каждого считывателя. Драйверы должны устранять любые различия между конкретными каналами ввода/вывода, используемыми считывателями смарт-карт.
Считыватель смарт-карты представляет собой устройство физического интерфейса, через которое смарт-карта общается с персональным компьютером.
Архитектура PC/SC определяет интерфейс между считывателями смарт-карт и менеджером ресурсов таким образом, чтобы с точки зрения приложения все считыватели смарт-карт вели себя одинаково. Например,
на базе индивидуальных смарт-карт нами был реализован проект системы доступа на производственную территорию предприятия "Пласт Сервис", которое производит тару из пластика промышленного использования, причем 8 шт. считывателей смарт-карт были объединены в единую локальную сеть. Производители считывателей смарт-карт обеспечивают одновременно с аппаратной частью считывателя смарт-карты также и драйвер PC/SC, соединяющий аппаратную часть считывателя с менеджером ресурсов.
Соответственно, система обращается со
считывателем смарт-карты как с накопителем на дискетах или приводом CD-ROM. Считыватели смарт-карт имеют больше различий и более широкий набор функций, чем простые дисководы, поэтому спецификация PC/SC предоставляет программе приложения возможность прямого обмена со считывателем смарт-карты в дополнение к прямому обмену с картой, вставленной в него.
Этот интерфейс может применяться, например, когда смарт-карта находится в банкомате АТМ (automatic teller machine) или в терминале розничной торговли POS (point-of-sale). Провайдеры
сервисов смарт-карт SSP указываются, как правило, производителями смарт-карт и поставляются с самими картами. Например, компания Gemplus снабжает провайдером SSP каждую свою серийную карту, аналогично поступают и компании Schlumberger и Oberthur. Эти ориентированные на карту провайдеры SSP упрощают использование приложением каждой из команд, поддерживаемой картой. Некоторые также предоставляют функции более высокого уровня, которые можно строить на базовых командах.
По мере более четкого определения стандартами и спецификациями областей применения смарт-карт появляются провайдеры сервисов SSP, поддерживающие эти стандарты и спецификации. Например, сейчас имеются
провайдеры SSP JavaCard наряду с провайдерами SSP цифровых подписей. Эти предметно-ориентированные провайдеры сервисов SSP не только поддерживают вычисления и процедуры, характерные для данной области, но и охватывают карты, которые содержат структуры данных и вычислительные возможности, присущие данной области. Предметно-ориентированные провайдеры сервисов SSP дают возможность независимым компаниям расширить выпуск программного обеспечения смарт-карт.
Следует отметить, что эталонная реализация спецификаций PC/SC была создана для платформ Windows. Однако широкое внедрение смарт-карт в сферу персональных компьютеров и рабочих станций поставило вопрос о поддержке ряда таких операционных систем, как Macintosh, Solaris, Linux и др. Сначала решения для этих платформ были узкоспециализированными и включали в себя вертикальные стеки, работавшие только в аппаратной среде производителя.
Рабочая группа PC/SC Workgroup разработала документацию, описывающую поведение
менеджера ресурсов смарт-карт и криптографических устройств независимо от операционной системы ПК. Поэтому стандарт PC/SC обеспечивает возможность другим платформам поддерживать смарт-карты способом, который аналогичен использованному для платформ Windows.