Коллеги, кто знаком с темой - посоветуйте. Пытаюсь наладить общение с сабжем. Остановился на записи ключей на уровне 0. В частности посылаю RATS, получаю ATS, далее заряжаю на врайт персо в формате t=cl первый ключ. Результат 0x0B - данная команда не разрешена в текущем состоянии карты. Что ей еще нужно? Может какая аутентификация предварительная?
Разрешилась проблема?
Если нет, то предположу, что карта (если она не из "коробки") может быть уже персонализирована ключами. Т.е. после Commit Perso она уже допускает работу с ключами только после соответствующей аутентификации до SL1/SL3 (смотря что было выбрано при персонализации).
Господа, а вы все с NDA? Или где-то все таки есть утечки инфы на mf-plus?
Я зашит =) Сам долго искал форточку, но не нашёл и подписался. А что?
Так и есть. В моем случае она оказалась уже была на 1 уровне.
Если кому интересно, я таки, нашел кусочек. (http://electronix.ru/redirect.php?http://siyahsapka.org/doc/M2-02_MIFARE-Plus_RBt_07.pdf
Еще известны, из вот этого источника, номера команд (http://electronix.ru/redirect.php?https://github.com/zhaohuizhang/DWMS/blob/master/android/android_fore/jni/nxp/comps/phalMfp/src/phalMfp_Int.h)
Опытным путем выяснено, что братья китайцы не заморачивались, выпускают считыватели просто с измененным номером команды (http://electronix.ru/redirect.php?http://www.jinmuyu.com/download/MIFARE%20Plus%20Card%20Operation%20Guide.pdf.
Конечно, там ничего не сказано про авторизацию, но пока и не надо.
Теперь о моих опытах, может кому поможет:
Write_perso отвечает. Формат команды 0xa8 b[0..1] k[0..15] (b - блок, K - ключ (16байт)) LSB, MSB установлено опытным путем.
На плюсовых картах отвечает - 0x90 "ОК"
На картах где его быть не должно (Desfire EV1) - "0x1C"
Команды плюсовой карты должны быть завернуты в ISO14443-4 (http://electronix.ru/redirect.php?https://github.com/miguelbalboa/rfid/blob/master/src/MFRC522Extended.cpp)
Сейчас делаю как сказано в китайском даташите:
Инициализирую все сектора с 0x4000-0x404f с шагом 2 (четные - ключ А, нечетные - ключ B (MF Classic?)),
Если брать, что 0x90 - ОК, то что такое 0x09 было долго непонятно.
На карте с 2к, после сектора 0x4040 ответ меняется с 0x90 на 0x09, Зная, что карта с 2к имеет 32 сектора (до 3f, если по 2 на сектор), можно предположить что ответ 0x09 - Ошибка в номере блока
Далее китайцы советуют записать блоки 0x9000-0x9003 в которых хранятся глобальные ключи (Мастер, Настройки, Ключ на L2, Ключ на L3)
Здесь я снова встретил статус 0x09 в блоке 9002, зная что у меня карта MIFARE Plus S 2K которая не умеет L2, это убеждает меня, что 0x09 - ошибка в номере блока
Потом попытался сделать команду commit_perso (0xaa) - и получил 0x90, карта отключилась. У нее поменялся SAK, был 0x20 (MFP L3 согласно AN10833) стал 0x08 (MFP L1), значит что-то таки работает.
На одной из карт на попытку commit-a получал ошибку 0x0f, пока не ясно что-это такое
Да, по аппаратной части.
Использую самый обыкновенный MFRC522 (RFID-RC522).
Изначально плюсовые карты не читались в принципе, где-то видел упоминание, что им надо значительно больше мощности. Погуглив наткнулся (http://electronix.ru/redirect.php?https://forum.mikroe.com/viewtopic.php?f=147&t=64203). Ток хотя и вырос с 22ма до 25.5ма, большинство карт все равно не откликалось. Но начала откликаться Desfire.
Подумав дальше, я поменял конденсаторы развязки с 15пф до 33пф. Ток сразу вырос до 90ма.
Не знаю, насколько это было правильным решением, так как в ВЧ практически не разбираюсь. Но плюсовые карты заработали на-ура.
Надеюсь кому-нибудь мой опыт пригодится.
Да так как я ничего не подписывал, формально мои опыты ничего не нарушают. Если все таки кому-то эти данные помешают, дайте знать - удалю.
Какие конденсаторы Вы заменили (номера конденсаторов)?
Там обведены катушки, а не конденсаторы
Уважаемый letni, напишите мне на почту slonofil собака list.ru, есть кое-что для Вас =)
vesago,
Спасибо Большое!
Спасибо за доку.
По поводу катушек - важны характеристики. Некоторые китайцы пишут 80ма, но на деле там не больше 12. Я поставил хорошие изолированные катушки, и у меня со схемой описанной выше (без замены конденсаторов) работают все карты.
Пруф - http://electronix.ru/redirect.php?https://www.youtube.com/watch?v=42DRSZrFyKc
На видео нет plus'а но он тоже работает (во всяком случае еще не персонализированная карта).
Что бы не дублировать тему, разобрался кто либо с PLUS?
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)