Взаимная связь между двумя компьютерами соответствует эталонной модели коммуникационных протоколов OSI. Эта модель является ведущим фактором при определении архитектуры
стека протоколов смарт-карт внутри программного обеспечения системы ПК. При помощи этого стека приложение, находящееся наверху стека, может посылать информацию в микроконтроллер смарт-карты и получать ее из него. Эта архитектура не может быть разложена точно на части 7-уровневой модели OSI, поскольку реализации не всегда полностью соответствуют идеализированным моделям.
Целью стандартизации является:1. независимость свойств всех считывателей смарт-карт от изготовителя - приложение должно работать со считывателем смарт-карт любого изготовителя;
2. независимость свойств всех смарт-карт от изготовителя - приложение должно использовать смарт-карты различных изготовителей.
Пользователю желательно иметь поддержку многих приложений, выполняющихся в персональном компьютере, каждому из которых необходим независимый доступ к смарт-карте. Кроме того, каждое приложение должно иметь возможность использовать интерфейс API для установления связи с конкретной смарт-картой.
Интерфейс API для каждой смарт-карты должен иметь в своем распоряжении службы общей операционной системы для осуществления соединения со смарт-картой, которая вставляется в конкретный считыватель. Стек протоколов смарт-карты должен делать все считыватели одинаковыми для пользователя.
Считыватели смарт-карт не являются стандартными элементами архитектур ПК. Напротив, имеется множество
считывателей смарт-карт, подключаемых к ПК через стандартные порты ввода/вывода в системах ПК. Так, при решении задачи контроля доступа в складские помещения для одного из наших Заказчиков, который изготавливает быстровозводимые ангары и склады, в каждом проеме и на важных контрольных участках использовались стационарные считыватели фирмы Motorola и
бесконтактные карты доступа для сотрудников предприятия. Пользователю желательно, чтобы различия между конкретным используемым портом ввода/вывода и конкретным считывателем смарт-карты, подключенным к этому порту, были бы нивелированы при помощи архитектуры стандартных драйверов устройств внутри операционной системы.
Соответственно, операционная система, связывая конкретное приложение с конкретной смарт-картой, выполняет роль общего переключателя. В то же время стандартизация не должна закрывать перспективы обновления продукции в условиях здоровой конкуренции. Поэтому нужно создавать стандарты, которые стабилизируют рынок и не доводят выпуск
систем смарт-карточных приложений до ситуации единого источника. Стандарты должны давать достаточно пространства для дифференциации выпускаемых продуктов.
На протяжении многих лет каждый производитель смарт-карт создавал для них свой собственный пакет программного обеспечения, который позволял бы использовать его смарт-карты и считыватели в общих компьютерных системах. Однако в последние годы были предприняты попытки разработать унифицированные
программные стеки смарт-карт на базе различных компьютерных платформ.
К наиболее известным и успешным относятся такие разработки:1. спецификация PC/SC взаимодействия смарт-карт и ПК;
2. открытая платформа поддержки смарт-карт OCF (Open Card Framework);
3. платформа взаимодействия малых терминалов STIP (Small Terminal Interoperability Platform).
В результате усилий по созданию спецификации PC/SC появился стек протоколов смарт-карты, показавший свою пригодность в множестве общих компьютерных платформ. Усилия по разработке OCF воплотились в открытую
программную платформу поддержки смарт-карт в полномасштабных Jаvа-ориентированных вычислительных платформах. Спецификация STIP предназначается для платформ малых терминалов, разрабатываемых на Java, и она завоевала широкую популярность среди производителей терминалов.