Против карт » Публикации » Описание формата карты Mifare 1K компании MikleSoft

Описание формата карты Mifare 1K компании MikleSoft

 (голосов: 2)

Описание формата карты Mifare 1K компании MikleSoft

 


 

версия 1.01

Покольку карты Mifare изначально проектировались как многоцелевые (для нескольких применений одновременно), наша компания разработала формат (который будет поддерживаться в дальнейшем), который позволит сторонним разработчикам использовать карты (уже применяющиеся для работы с ПО нашей компании) для своих нужд.
Мы всячески призываем к сотрудничеству, ибо стандартизация - вещь великая.

Описание формата

СЕКТОР 0: заголовок карты

 
  • блок 0 - данные производителя (номер карты и проч), пишется Филипсом, не может быть перезаписан
  • блок 1 - заголовок карты
  • блок 2 - не используется
  • блок 3 - прицеп
    Доступ к сектору 0 должен быть сконфигурирован таким образом, чтобы читать его могли все стандартным ключем (шесть нолей) для быстрой идентификации типа карты.
    Запись сектора закрывается ключем B. Ключ B по умолчанию для сектора 0: "HEADER" в кодировке win1251 (в двоичном виде: 0x48 0x45 0x41 0x44 0x45 0x52)
    Если по каким-либо причинам вы хотите блокировать изменение формата карты - изменяйте ключ В.
    Формат заголовка карты:
    0x4D 0x4B 0x53 XX CS
    где XX - порядковый номер версии формата карты, начиная с 1
    CS - контрольная сумма, считается простым сложением, т.е. она равна (0xEB+номер версии)
    СЕКТОР 1: каталог карты
    каталог карты представляет собой массив идентификаторов секторов. Одному сектору соответствует двухбайтовый идентификатор, определяющий его применение. В каталоге идентификаторы начинаются с сектора 2 (ибо сектора 0 и 1 жестко заняты). Запись 00 00 в поле идентификатора указывает на то, что сектор не используется.
    В идентификаторе сектора старший (первый) байт рекомендуется использовать в качестве идентификатора разработчика (MikleSoft=0xA0 или 0xA1), а младший байт - в качестве конретного приложения разработчика.
    В хвосте каталога (байты 28 и 29) - контрольная сумма (считается простым сложением)

    Т.е. идеология простая: чистая карта содержит пустой каталог (заполненый нолями). Первая программа может занимать любой сектор (или несколько), записав в каталог свой идентификатор (а в соответствующий сектор - произвольную информацию)

    В каждом сеансе работы, ПО считывает каталог и ищет "свои" сектора, а далее работает с ними. Т.е. вся идея в том, что если на карте есть свободное место - оно может быть произвольно использовано впоследствии.

    Пример каталога:
    байт № 00 01 02 03 04 05 06 07 08 09 10 11 .... 28 29
    значение 0xA001 0xA002 0xA010 0xA011 0xB000 0x0000 .... К.С.
    по такой записи видно, что сектор 2 занят под применение 1 компании MikleSoft, сектор 3 - под применение 2, сектор 4 - под применение 0х11, а сектор 5 - используется в ПО разработчика 0xB0, сектор 6 - свободен.
    Сектор каталога доступен для чтения по стандартному ключу 00 00 00 00 00 00, а на запись - по ключу В: "CATAL." (в двоичном: 0x43 0x41 0x54 0x41 0x4С 0x2E)
    Если по каким-то причинам хотите ограничить дальнейшее использование карты - измените ключ В для сектора каталога.

    На сегодня список зарезервированных идентификаторов разработчика:
    0xA0 = MikleSoft - программы лояльности, контроль доступа и прочее не связанное с платежами
    0xA1 = MikleSoft - решения, связанные с финансовыми транзакциями(операциями с цифровыми титульными знаками частных платёжных систем)
    0x01 = Штрих-М
    0x02 = НТКФ "Гамбит"(г.Новосибирск)
    0x03 = "Центр готовых решений - Isoft", г.Алматы, базовый системный интегратор Республики Казахстан
  •  

     

    http://www.rfidchip.info/comments.php?id=11&type=Note

     

     

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Комментарии:

    Оставить комментарий