Ну вот пришло время повести разговор и о Mifare.
Сразу скажу, что здесь я пока выкладываю только начальные сведения.
Кого заинтересует эта проблема, должен уже сам потрудится и поискать информацию...
Сейчас карты и брелки Mifare стали использовать в системах контроля доступа и домофонах.
Пока это, в основном, сводится к установке считывателя CP-Z2M, который работает или в простом режиме ( чтение ID-номера карты ),
или в защищённом режиме ( с записью кодов с карты доступа ).
Что же это за зверёк такой Mifare ?
Это Rfid система идентификации стандарта ISO/IEC 14443.
Имеется уже много разновидностей карт Mifare. От простейших ( для простых систем идентификации на основе только ID-номера )
и до самых сложных ( применяемых в банковской сфере ).
Но я тут остановлюсь на Mifare Classic 1K ( так как это именно "наш клиент" ).
Эта карта ( или брелок ) имеет встроенную память размером 1 КБайт с крипто-системой защиты от чтения-записи и алгоритмом антиколлизий ( т. е. выбора нужной карты, если в поле считывателя их несколько ).
Вся эта память разделена на 16 секторов по 64 байта. В свою очередь каждый сектор поделён на 4 блока, причём каждый блок имеет ключи доступа и правила их использования.
То есть размер блока равен 16 байтам.
Ключи и правила хранятся в последнем ( 4-м блоке).
Блоки данных могут быть сконфигурированы в два вида:
1. Стандартный блок ( чтение и запись ),
2. Value -блок. Может быть использован в качестве электронного кошелька.
Здесь дополнительно есть такие команды, как:
increment (увеличение), decrement (уменьшение), restore (восстановление) и transfer (хранение).
Особенность есть у нулевого сектора карты. Здесь всего два блока.
В нулевом блоке этого сектора хранится идентификационный номер карты ( 4 байта ) и информация о производителе карты.
Эта информация записывается на заводе.
Доступ к этому блоку открыт всегда ( доступ только по чтению ).
Вот табличка, которая показывает как формируются условия работы с блоками в секторе:
То есть, если прикинуть, общая инфомационная ёмкость карты ( для записи в неё данных ) составляет 752 байта.
Теперь о самом интересном....
В отличие от карт EM-Marine, Hid Prox и т. п. , которые просто при поднесении начинали генерировать свой номер, эта карта общается со считывателем
( т. е. связь дуплексная ).
Причём операции по обмену данными зашифрованы и защищены ключами.
Примерная процедура работы с картами представлена на этом рисунке:
Для упрощения работы с картами разработаны специальные микросхемы. Например, серия PN53x.
Простейшее изучение работы с Mifare можно начать с помощью смартфона или планшета с функцией NFC.
Для этого необходимо скачать прораммы для чтения / записи этих карт иэ сети.
В качестве исходной карты можно взять старый проездной билет.
Но вот для более углублённого изучения ( например, для вскрытия ключей защиты ) нужно иметь более мощное устройство,
на основе считывателя, подключаемого к ПК ( например, ACR-122U ), специальных программ к нему и заготовки, в которую
можно писать и информацию, и ID номер самой карты ( Mifare Zero )....
Ну вот пока и всё. Для затравки вполне достаточно......
|