2015-09-25 3 views
-1

Я разрабатываю APP для Android, чтобы читать NFC-карту (mifare 1k или 512).О NFC/Rfid: некоторые проблемы

Их применение не является критически важным: у них будет только число (отличное от карточки к карте), например. 11001000015, 11001000027 и т. Д.

Говоря с техником, который будет их кодировать, он говорит, что эти карты можно оставить в режиме записи/чтения, изменив KeyA и KeyB со стандартного (обычно FF FF FF FF ...) к другому более сложному.

Таким образом, для некритичной области пользователь, который может нанести какой-либо ущерб, должен обнаружить KeyA и KeyB, бесполезный для этого.

Мои сомнения являются:

1) В приложение для Android, мне нужно, чтобы указать новый ключ (ы) читать только тег? Или это не важно?

Если ответ на 1 НЕТ, мне нужно указать новый ключ (ы), только если я пишу APP для WRITE/OVERWRITE тега?

2) Можно ли прочитать ключ и проверить, правильно ли это?

3) Tech говорит, что я использую 512. Они более совместимы с большим количеством смартфонов (S3, S4, S5), S4, например, не читает 1k.

+1

Почему ниспровержение, без объяснения причин? – sineverba

+1

Я думаю, что это законный вопрос. – mictter

+0

Чтобы дать полезный ответ на ваш вопрос, нам нужно будет узнать, какой тип карты/метки имеет карта «512» ... –

ответ

0

Я думаю, что идентификатор карты можно прочитать без ключей (Tag.getId). Вам понадобятся только ключи для записи или чтения содержимого карты.

+0

Число не является идентификатором. Это номер, созданный мной – sineverba

1

Приложение может использовать только уникальный идентификатор карты или UID, как говорил Мистер Смит. UID устанавливаются, когда чипы карт производятся, поэтому они уникальны и неизменяемы. Но на этом не создавайте приложение безопасности, поскольку UID программируются на некоторых устройствах. UID можно прочитать всеми телефонами NFC, а не только Samsung. Это большое преимущество, см. Ниже.

Вы также можете сохранить номер внутри памяти MIFARE. В отношении контроля доступа существует большая гибкость: вы можете, например, определить слабый ключ чтения (KeyB = по умолчанию FF FF FF ...), который может быть сохранен в приложении телефона и сильная клавиша записи KeyA, вы можете хранить секрет, если (вы должны прочитать примерно ключевой вывод в любом случае). Играя с битами управления доступом, вы можете читать KeyB при определенных условиях.

Проблема в том, что только несколько телефонов могут считывать карты MIFARE: только те, у которых есть набор микросхем NFC от NXP, владельцы технологии MIFARE. Это не зависит от размера памяти (кстати, я не знаю ни одного варианта MIFARE, имеющего 512 байт).

+0

Спасибо, атм. Кстати, это членская карточка. Итак, мне нужно закодировать внутри номера, то же самое напечатано на карте. Для этого я не могу использовать UID ... – sineverba

Смежные вопросы