Проект - Платежные карты: Бизнес-энциклопедия
Техническая основа мультиаппликационных карт
Мы уже упоминали о том, что мультиаппликационная карта с независимыми друг от друга приложениями (как по данным, так и по методам их обработки) должна быть смарт-картой. Более того, если речь идет о платежной смарт-карте, то для обеспечения должного уровня безопасности и совместимости с распространенными платежными системами мультиаппликационная карта должна имеет контактный чип. В дополнение к платежному приложению на этом чипе можно расположить иные приложения, однако с точки зрения удобства использования этих приложений более оптимальным является решение на бесконтактном чипе. Чем же мультиаппликационные карты на основе БСК привлекают и разработчиков, и пользователей? Рассмотрим эту проблему подробнее.
Обзор возможностей
Бесконтактные смарт-карты MIFARE® Standard 1K (БСК) широко используются в мире для самых разных целей, преимущественно там, где требуется надежное и очень быстрое обслуживание держателей карт, имеющее массовый характер. В основном это — транспортные, идентификационные, расчетные и дисконтные приложения. Фактически стандарт MIFARE® (основан на стандарте ISO/IEC 14 443A) является самым распространенным стандартом для бесконтактных смарт-карт.
Как и любая другая смарт-карта, БСК — активный элемент карточной системы, обладающий развитой логикой и умеющий самостоятельно обрабатывать хранящиеся в памяти карты данные. В этом ее основное отличие от других видов пластиковых карт — карточек с магнитной полосой или со штриховым кодом. Возможность офлайновой работы, хорошая защищенность и сравнительно низкая стоимость позволяют эффективно и дешево применять БСК в качестве расчетной карты или карты лояльности клиентов.
В БСК предусмотрен специальный механизм электронного счетчика для реализации быстрого и безопасного проведения операций с ним (уменьшения и увеличения значения счетчика). Для этого отдельные блоки памяти карты особым образом размечаются, а условия доступа к ним разграничиваются с точки зрения проведения отдельных операций: уменьшение счетчика происходит при использовании одного секретного ключа, увеличение — при использовании другого секретного ключа. Счетчик может иметь свыше 4 млрд значений, его уменьшение и увеличение может быть проведено на любую величину из этого интервала, причем переполнение регистра при арифметических операциях контролируется аппаратно чипом карты. Это, как и система безопасности операций, позволяет использовать счетчик в качестве «электронного кошелька».
БСК является многофункциональной картой. Она допускает размещение в своей памяти нескольких независимо использующихся приложений (в том числе — счетчиков). Каждая область памяти, занятая отдельным приложением, может быть защищена двумя своими секретными ключами. Таким образом, одно приложение не может изменить данные другого приложения. Это открывает широкие возможности для использования одной и той же карты в совершенно разных областях, обеспечивая при этом безопасную эмиссию отдельных приложений карты разными эмитентами (корпоративными системами).
Важным свойством БСК, выделяющим ее среди других смарт-карт, является отсутствие механического контакта с устройством, обрабатывающим данные с карты. Фактически надежность технических элементов систем, использующих БСК, определяется надежностью микросхем. Последнее обстоятельство приводит к существенному снижению эксплуатационных расходов на систему по сравнению с аналогичными системами, использующими смарт-карты с внешними контактами.
Обмен данными между картой и считывателем
Порядок проведения операций с БСК и устройством чтения (записи) памяти карты (в дальнейшем — считывателем) определяется программным приложением. При поднесении пользователем карты к считывателю происходит транзакция, т. е. обмен данными между картой и считывателем, и возможное изменение информации в памяти карты. Максимальное расстояние для осуществления транзакций между считывателем и картой составляет 10 см, хотя обычно оно меньше. При этом карту можно и не вынимать из бумажника. С одной стороны, это позволяет пользователю удобно и быстро произвести транзакцию, но, с другой стороны, при попадании карты в поле антенны карта вовлекается в процесс обмена информацией, независимо от того, желал этого пользователь или нет.
Здесь возникает одна интересная особенность карты MIFARE®, которая принципиально отличает БСК от контактных смарт-карт, да и от карт с магнитной полосой или штриховым кодом. Устройства, которые работают с тремя последними типами карт, при проведении карточной транзакции всегда имеют дело только с одной картой. Пока эта карта вставлена в приемную щель считывателя или сканируется, работа с другими картами на этом устройстве невозможна.
Иное дело — бесконтактная смарт-карта. В поле действия антенны считывателя может попасть не одна, а сразу несколько карт. Для избежания путаницы и ошибок, которые могут из-за этого возникнуть, в картах MIFARE® применяется так называемая антиколлизионная функция (в дальнейшем — антиколлизия). Механизм антиколлизии построен на «умении» считывателя определять количество карт в поле антенны и работать только с одной, выбранной в данный момент времени, картой. Если более одной карты попадает в поле действия антенны считывателя (что очень возможно), и за счет этого подается питание на микропроцессор карты и начинается его функционирование, то быстрое срабатывание алгоритма антиколлизии предотвращает путаницу между картами при передаче данных и, следовательно, возникновение ошибок при обработке транзакции.
В результате работы механизма антиколлизии карта может быть выбрана индивидуально (по уникальному идентификационному номеру чипа). Продолжение транзакции и выбор карты не искажаются другими БСК, находящимися в поле антенны считывателя. Если у пользователя в бумажнике находятся не одна, а, предположим, две карты MIFARE®, то благодаря антиколлизии система работы с картами выбирает для проведения транзакции только одну БСК либо просто отказывается от проведения транзакций.
Технология MIFARE® позволяет производить обмен данными по радиоканалу между считывателем и БСК с очень высокой скоростью — до 106 Кбод. Типичная начальная последовательность команд для работы приложения с картой включает в себя:
• «захват» карты (выбирается первая, находящаяся в поле антенны считывателя карта);
• если необходимо — включение антиколлизионного алгоритма (команда антиколлизии сообщает приложению уникальный номер «захваченной» карты, точнее — уникальный серийный номер встроенной в карту микросхемы);
• выбор карты с данным серийным номером чипа для последующей работы с памятью карты или серийным номером микросхемы.
Указанная последовательность команд выполняется за 3 мс, т. е. практически мгновенно.
Далее следует аутентификация выбранной области памяти карты. Она основана на использовании секретных ключей и будет описана ниже. Если карта и считыватель «узнали» друг друга, то данная область памяти «открывается» для обмена данными, и в зависимости от условий доступа могут быть выполнены команды чтения и записи, а также специализированные команды «электронного кошелька» (если, конечно, область соответствующим образом была размечена при начальной разметке памяти карты). Команда чтения 16 байт памяти карты выполняется за 2,5 мс, команды чтения и изменения баланса «электронного кошелька» — за 9-10 мс. Таким образом, типичная транзакция, начинающаяся с «захвата» карты и приводящая к изменению 16 байт памяти, совершается примерно за 16 мс. В зависимости от конструктивных особенностей считывателя время работы с БСК может увеличиваться, но малоощутимо для пользователя.
После работы с картой считыватель может дать команду «отпустить» данную карту, что эквивалентно ее удалению из поля действия антенны считывателя, и перейти к работе с другой, находящейся в поле антенны, картой MIFARE®.
Такое быстродействие (и, разумеется, отсутствие механического контакта карты с устройством) предопределило преимущественное применение карты MIFARE® в транспортных приложениях. Использование БСК позволяет сократить время проведения типичной транзакции в большинстве транспортных приложений до 0,1 с. Таким образом, держатель БСК при проходе, например, через турникет метрополитена, может не останавливаться для фиксации карты в поле считывающего устройства. Это существенно увеличивает пропускную способность системы и экономит время пользователя карты.
Важной особенностью карты MIFARE® (с точки зрения как потребителя, так и разработчика приложения) является возможность пользователя проводить транзакцию самостоятельно, без участия оператора, не обладая при этом специальными навыками. В отличие от контактных смарт-карт, карт с магнитной полосой или штриховым кодом пользователю БСК не надо знать, как вставлять карту в приемное устройство.