Для обмена данными между считывателем и картой стандарт ISO 7816-3 определяет
два протокола канального уровня:
1. протокол Т = 0;
2. протокол Т = 1.
Протокол Т = 0 является асинхронным протоколом типа "одна команда-ответ". Когда карта получает команду от считывателя, она выполняет запрашиваемые операции и посылает обратно считывателю ответ, соответствующий этой команде. После этого считыватель может послать карте следующую команду в любое нужное ему время. В этом протоколе нет жесткой привязки по времени между последовательно посылаемыми считывателем командами.
Протокол Т = 1 является асинхронным протоколом типа "много команд-ответ", используемым для передачи блоков. В одном передаваемом блоке (от считывателя в карту) содержится от одной до нескольких команд. Карта отвечает на эту (эти) команду (команды) указанием считывателю, когда он может послать следующую команду или блок команд.
При анализе коммуникационных протоколов обычно пользуются терминами эталонной модели взаимодействия открытых систем OSI (Open Systems Inteгconnection). Эталонная модель OSI описывает коммуникационное взаимодействие между двумя объектами, вводя понятие о семи различных уровнях протоколов, которые размещены друг над другом, чем обеспечивается полный механизм, посредством которого два приложения на разных платформах могут эффективно вести взаимный обмен информацией. Эталонная модель OSI предполагает строгое разделение уровней.
Это означает, что данный уровень связывается только с уровнем, непосредственно прилегающим к нему сверху или снизу через хорошо определенный интерфейс, и каждый уровень обеспечивает определенный набор услуг всему стеку протоколов. В случае протоколов Т = 0 и Т = 1 для смарт-карт протокол Т = 1 прямо соответствует эталонной модели OSI как
протокол передачи данных канального уровня, а протокол Т = 0 соединяет элементы нескольких разных уровней, определяемых эталонной моделью OSI.
Скорость обмена данными в интерфейсе считыватель-карта хоть относительно и невысока (номинально 9600 бит/с), но достаточна для бесперебойной работы любых
систем на базе смарт-карт. Например, в этом месяце мы внедрили систему контроля доступа в офисное здание компании "Алюр-ІІ", которая оказывает клиентам таможенно брокерские услуги и полный спектр сопутствующих услуг, и здесь использование интеллектуальных карт зарекомендовало себя с наилучшей стороны. Для максимального удобства Заказчика желательно, чтобы скорость обработки данных со смарт-карт была как можно быстрее. Поэтому в протоколе Т = 0 обработка ошибок и поддержка протокола прикладного уровня оптимизированы таким образом, чтобы свести к минимуму объем информации, проходящей через интерфейс считыватель-карта, и тем самым уменьшить время транзакции. Однако в результате такой оптимизации протокол Т = 0 обеспечивает слабое разделение канального и прикладного уровней протоколов.
Обнаружение ошибок в протоколе Т = 0 производится с помощью просмотра бита четности в каждом байте, проходящем через
интерфейс считыватель-карта. Бит четности сбрасывается или устанавливается так, чтобы сделать общее количество единичных битов (в передаваемом символе) четным. На принимающей стороне канала можно просмотреть значения битов, переданных перед битом четности, и определить, в каком состоянии бит четности должен быть. Если переданный бит четности не соответствует ожидаемому значению, то можно предположить, что возникла ошибка в только что переданном байте данных и что нужно проделать некоторую процедуру восстановления.
Процедура восстановления, используемая в протоколе Т = 0,запускается принимающей стороной, которая при обнаружении ошибки четности сигнализирует передающей стороне о том, что она ожидает повторной передачи байта (принятого с ошибкой). Этот сигнал передающей стороне передается поддерживанием низкого уровня напряжения в линии 1/0. В нормальном состоянии линия 1/0 непосредственно перед отправкой байта находится в положении с высоким уровнем напряжения, так что низкий уровень используется в качестве сигнала обратной связи с передатчиком при возникновении ошибки. Обнаружив низкий уровень, передающая сторона канала ждет по меньшей мере в течение времени, необходимого для передачи двух символов, а затем снова посылает байт, принятый ранее с ошибкой.
Естественно такой механизм обнаружения и исправления ошибок нельзя признать эффективным. После установления протоколов Т = 0 или Т = 1
между считывателем и смарт-картой эти протоколы применяются для поддержки протоколов прикладного уровня в канале между программным обеспечением на стороне карты и программным обеспечением на стороне считывателя.