SDK Readers 1.0.1
SDK для связи со считывателями Iron logic
Mifare Ultralight

Phillips разработал карты Mifare Ultralight для использования со считывателями стандарта ISO/IEC14443A. Радиоинтерфейс (MIFARE RF) соответствует частям 2 и 3 стандарта ISO/IEC14443A. В основном Mifare Ultralight разработан для применения в сфере транспортных услуг в качестве бесконтактных билетов на одну поездку.

Основные возможности

  • Радиочастотный интерфейс Mifare (ISO/IEC 14443A)
    • Бесконтактная передача данных и питание по радиоканалу (не требует батарей)
    • Рабочее расстояние до 100мм (зависит от геометрических параметров антенны)
    • Рабочая частота: 13,56МГц
    • Быстрая передача данных: 106Кбит/сек
    • Высокая надежность передачи (16-битовая CRC, проверка на четность...)
    • Настоящая антиколлизия (поддержка нескольких карт в поле одновременно)
    • 7-байтовый уникальный серийный номер
    • Время типовой транзакции менее 35мс
    • Быстрая транзакция счетчика: менее 10мс
  • Память
    • Размер 512бит, организована в виде 16 страниц, по 4 байта каждая
    • Возможность программирования постраничной блокировки записи
    • 32-битовая область "одноразового" программирования (для нужд пользователя) - OTP (One Time Programmable)
    • 384-битовая (48 байт) область чтения-записи (12 страниц)
    • Срок хранения данных - 5 лет
    • 10 000 циклов записи
  • Защита
    • Уникальный 7-байтовый серийный номер каждой карты
    • 32битовая область OTP
    • Функция блокировки записи отдельных страниц

Уникальный 7-байтовый UID однократно программируется в каждую карту в процессе производства и не может быть изменен в последствии, что является эффективной защитой от клонирования.

Он может быть использован для организации криптозащиты хранимых данных. 32битовая область OTP (одноразового программирования) обеспечивает возможность однократной записи (т.е. данные, записанные в нее, не могут быть изменены впоследствии).

Поле программируемой функции запрета записи соответствующих страниц. Эта функция позволяет уникально запрограммировать карту для специализированного применения.

Организация памяти

  • 512 бит перепрограммируемой памяти организовано в виде 16 страниц по 4 байта каждая.
  • 80 бит зарезервировано под данные изготовителя.
  • 16 бит предназначено для механизма блокировки, делающий доступ только для чтения.
  • 32 бита доступны как OTP область.
  • 384 бита используются для программирования памяти для чтения/записи.

В стертом состоянии ячейки читаются, как логический ноль, в записанном - как 1.

Жирная рамка указывает на пользовательскую память.

UID/Серийный номер (SN0, SN1, SN2, SN3, SN4, SN5, SN6)

Уникальный 7-байтовый серийный номер и два байта контрольной суммы запрограммированы в первые 9 байт памяти. Поэтому он занимает страницы 0,1 и первый байт страницы 2. Второй байт страницы 2 зарезервирован для внутреннего данных. Для обеспечения безопасности и системных требований эти байты защищены от записи после того, как были запрограммированы изготовителем при производстве.

Блокирующие байты (Lock0, Lock1)

Биты байтов 2 и 3 страницы 2 являются средством запрета записи соответствующих страниц. Каждая страница X из диапазона 3..15, может быть индивидуально заблокирована для записи путем установки соответствующего бита Lx в 1. После блокировки, страница становится доступна только для чтения.

Изображение структуры блокирующих байтов

Биты BLx нужны для того, чтобы блокировать дальнейшую несанкционированную блокировку областей памяти. Например, если установить BL15-10 в 1, то биты L15..L10 больше нельзя будет изменить.

Биты блокировки устанавливаются стандартной командой записи во вторую страницу. Байты 2 и 3 в команде записи и фактическое значение lock-байтов логически складываются (т.е. если какой-либо бит в Lock-байте был установлен в 1, он больше не может быть сброшен!).

OTP область (байты для одноразовой записи) (OTP0, OTP1, OTP2, OTP3)

Страница 3 представляет собой область одноразовой записи. При установке 1 в каком-либо бите области OTP, его становится невозможно сбросить в ноль. По умолчанию (с завода) байты OTP установлены в 0.
Примечание: область OTP может быть использована как одноразовый счетчик до 32.

Страницы данных (Data0, Data1, ..., Data47)

Страницы 4..15 могут использоваться по усмотрению пользователя для чтения-записи. После производства страницы данных инициализированы ко всем "0".