2013-09-05 3 views
6

Это убивает меня ... Я пытаюсь найти/RFID метку NFC, что:Криптографический тег NFC/RFID?

  1. Реализует шифрование и/или криптографическую подпись данных, передаваемых в теге таким образом, чтобы метка может быть аутентифицирована читатель. Меня не волнует, если тег пытается аутентифицировать читателя, и

  2. широко поддерживается Android телефонов и стандартных библиотек NFC и

  3. Магазины криптографический ключ (ы) в безопасном режиме (чтение это должно быть невозможно после перегорания конфигурационного предохранителя).

Мне все равно, какая полезная нагрузка может быть сохранена в теге, и я не могу использовать сообщения NDEF. Меня не волнует, является ли используемое шифрование симметричным или асимметричным. Все, что я хочу сделать, это отправить немного данных в тег и использовать его, используя общий секрет, шифровать или подписывать эти данные и отправлять их обратно на телефон, после чего мой код будет выполнять ту же функцию и сравнивать результаты с тег для проверки тега.

У меня есть образцы тегов Atmel CryptoRF *, и, хотя они, вероятно, будут делать большую часть того, что мне нужно, они не обнаружены должным образом на единственном телефоне Android, который у меня есть. Телефонные звонки и я фильтрую для «android.nfc.action.TECH_DISCOVERED» с соответствующими записями технического списка, но я ничего не получаю. Техническая поддержка Atmel хуже, чем бесполезно (потому что я потратил время, задавая вопросы, которые они никогда не удосужились ответить). Logcat выглядит так:

  • 09-04 21: 03: 53.474 1012-1012 /? D/NativeNfcTag: соединение сбой - состояние = 146
  • 09-04 21: 03: 53.474 1012-1012 /? E/NFCJNI: doDisconnect() - Target уже отключен

Я не вижу никаких предыдущих записей, предполагающих, что тег был когда-либо распознан Android.

Это похоже на простой, очевидный и необходимый тип тега, который должен существовать где-то.

NFCGuy или другие - любые идеи?

Спасибо!

* Лист данных Atmel CryptoRF говорит следующее, что может или не может быть полезным при определении того, эти вещи когда-либо могли быть прочитаны с помощью Android телефона:

  • ISO/IEC 14443-2: 2001 Тип B Соответствует
  • ISO/IEC 14443-3: 2001 Тип B Соответствует антиколлизии протокол
+1

Похоже, что этот тег/карта не поддерживается вашим устройством. Протестируйте другое устройство с поддержкой NFC, если у вас есть один и, вероятно, лучше получить более широко используемый тег, такой как Mifare Ultralight-C или Desfire (версия AES). –

ответ

3

Mifare DESFire будет делать то, что вы просите за исключением одной вещи:

Поддержка Crypto недоступна на уровне API.

Вы должны написать код, который выполняет всю аутентификацию и криптографию, и напрямую поговорить с тегом Desfire. API Android предоставляет инструменты для этого через низкоуровневую функцию доступа IsoDep.transceive.Сами функции криптографии можно найти в javax.crypto.spec

В отличие от других тегов с криптографической документацией требуемые шаги для аутентификации и шифрования доступны в Интернете.

+1

Отлично, спасибо. Иногда я думаю, что люди из ISO немного садисты при выборе их схем нумерации ... У меня есть образцы как DESFire EV1, так и MiFare Ultralight C. Надеюсь, вы сможете сделать эту работу. Получил это на шифровании. Это будет легко, как только я получу карточку, которая будет разговаривать с телефоном. Glad NXP использует стандартную криптографию вместо встроенной «безопасности через безвестность», которую выбрал Атмел. –

+1

NXP только начал использовать стандартную криптографию после того, как их доморощенный Crypto1 сломался, и они не смогли его скрыть. –

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