ПРИНЦИП РАБОТЫ БЕСКОНТАКТНЫХ КАРТ МЕТРОПОЛИТЕНА
Кормышев Р.У.
Научные
руководители: д-р физ.-мат наук, проф. Слипченко Н.И., к.т.н., доц. Наталуха
Ю.В., к.т.н., ассистент Балакирева А.Г.
Харьковский национальный университет
радиоэлектроники
e-mail: Y_nataluha@mail.ru
This work is about the
principles of proximity cards in UNDERGROUND
Рассматриваются карточки, применяеме в метро, а точнее - их
интегральные схемы "MIFARE 1 S50". Сами схемы связаны не только с метро и
могут применяться для решения любых задач с бесконтактными ключевыми картами.
Тем не менее, для простоты и ввиду причин совершенно очевидных я буду ссылаться
на них, как на бесконтактные карты метро.
Сама карта содержит всего два
элемента: микросхему и плоскую обмотку-антенну, используемую как для
электропитания карты, так и для связи с хост-системой (турникетом). Наведенное
турникетом в антенне напряжение достаточно велико для того, чтобы после
выпрямления и стабилизации снабдить карту энергией, необходимой для обработки
информации и посылки обратного сигнала. Работает радиосвязь на частоте 13.56
МГц и скорость связи достигает 106 КБод. При этом карта должна находиться на
расстоянии никак не более 10 см от турникета. Как правило, для проведения
классических операций с картой достаточно 0.1 секунды - за это время можно
провести один-два десятка элементарных обменов информацией, таких как
считывание, запись и инкремент блока.
Что представляет собой карта
с точки зрения программиста? Фактически, это просто один килобайт
энергонезависимой памяти. Он делится на 16 секторов по 4 16-байтных блока в
каждом. Блок - наименьшая адресуемая единица при работе с картой. Сектор -
единица, с которой сопоставляются отдельные права доступа и ключи для
проведения операций. Каждый сектор хранит собственную пару ключей, а права
доступа указывают, какой доступ при указании какого ключа возможен.
Карта сама по себе
многофункциональна и может поддерживать до 15 функций. Например, быть
электронным кошельком, "билетом" в метро, пропуском в клуб, ключом
для домофона и хранителем "пароля" от компьютера. Каждой функции
выделяется сектор, в котором хранятся необходимые для нее данные, два
персональных ключа и карта прав доступа. Карта определяет, что хост-система
может делать с тем или иным блоком, и какой ключ для этого необходим. Например,
при использовании карты в качестве электронного кошелька можно позволить
снимать деньги с карты с помощью одного ключа, а класть с помощью другого,
известного лишь банку.
Метро использует только
секторы 0 и 15 карты. Нулевой сектор - специальный и в его нулевом блоке
хранится уникальный идентификатор карты, который используется для того, чтобы
отличать ее от других. В 15 пишется специфическая для системы метро информация - к примеру, номер месяца для
месячного проездного, число поездок для "счетного" проездного и т.п.
Итак, как же все это
работает. Вы подходите к турникету и подносите карту к датчику. Передающая
система датчика наводит в антенне карты электрический ток, который поступает в
карту и снабжает ее энергией. Этот же ток несет в себе кодированную информацию
запроса турникета к карте. Карта отвечает на него (через ту же антенну,
используя накопленную энергию) идентификатором, который определяет протокол
дальнейшего общения. По идентификатору турникет узнает тип карты.
Далее идет считывание
серийного номера карты. Если в этот момент в поле радиосистемы турникета
оказалось более одной карты, происходит коллизия и считывание повторяется до
тех пор, пока не будут чисто и без всяких коллизий считаны номера всех
находящихся в пределах доступности карт. В частности, если в вашем кошельке две
карты и лишь одна из них - метро, турникет сможет включить лишь ее, игнорируя
другие карты. Обмен информацией будет происходить конкретно с этой картой.
Затем происходит выбор
сектора карты, с которым турникет (или иное устройство для работы с
бесконтактными картами) хочет обменяться информацией. Для данного сектора
производится обмен шифровками, призванный убедить турникет и карту в том, что
они - действительно те, за кого себя выдают. При этом используется способ
"я тут дам тебе число, а ты его зашифруй, и ответ пришли мне. А я погляжу,
так ли ты зашифровал, как положено". Эта проверка выполняется с обеих
сторон, после чего все уже уверены в том, что они - это они. Включается
шифрование канала и турникет может, в соответствии с разрешенным ему его ключом
доступом читать и модифицировать данные в карте.
Следует отметить, что карта,
обладая уникальным серийным номером,
уже на этом уровне является многофункциональным ключом. Ведь для того, чтобы
считать серийный номер карты не нужно знать никаких паролей! А значит, прописав
номера "разрешенных" карт в замок можно сделать систему доступа на
базе этих карт, попросту присоседившись к метро.
Для управления
картой метрополитена в “домашних
условиях” необходимо использовать специальный Cardreader на базе чипа MIFARE 1 S50.
Настольное устройство чтения/записи
бесконтактных карт и меток стандартов MIFARE®, FeliCa, NFC - ACR122
представляет собой многофункциональный считыватель бесконтактных
карт, поддерживающий бесконтактные микропроцессорные карты, отвечающие
стандарту ISO14443 A/B (MIFARE®, MIFARE® Ultralight C, JCOP30 и др.),.ISO/IEC18092..(NFC), FeliCa.
Устройство может быть интегрировано в создаваемые или уже существующие системы,
использующие бесконтактные карты и метки MIFARE®, FeliCa, NFC, такие
как: системы контроля доступа, платежные терминалы, пункты продажи и проката.
При пополнении счета на бесконтактной
карте очищается определенный блок памяти в секторе карты, который был заполнен
в процессе прохода через турникет.
Размер очищенной памяти зависит от пополняемой суммы.
С помощью Cardreader есть возможность самостоятельно очистить память на карте.