Эмуляция карты через OpenNFC

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

Кто-нибудь смог использовать эмуляцию карты через программный стек Open NFC? Я полностью потерялся в этом, так как он имеет очень запутанный стиль документации и не предлагает примеров для случая эмуляции карты.

Кроме того, если бы кто-то смог его использовать, мне бы очень хотелось узнать, есть ли какие-либо требования, которые я должен выполнить с телефоном, чтобы он работал.


person Dekker    schedule 31.08.2012    source источник
comment
Наткнулся на это, потому что (теперь Android 4.4 и выше изначально поддерживает HCE, но) я ищу решения для Android 4.3 и более ранних версий.   -  person ADTC    schedule 01.07.2015


Ответы (2)


На большинстве телефонов Android эмуляция карты будет отключена. На некоторых из них он будет направлен на встроенный элемент безопасности (Google Wallet) или на SIM-карту (Cityzi и кошелек Quicktap).

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

Другая проблема заключается в том, что большинство современных телефонов Android включают в себя чипсеты NXP, которыми OpenNFC не может управлять.

Если вы хотите выполнить эмуляцию карты, см. EasyNFC, который позволяет создавать приложение NFC на SIM-карте.

person takumar    schedule 14.09.2012
comment
EasyNFC — это, по сути, расширение стандартной среды разработки Eclipse, которое позволяет писать и тестировать приложения Javacard. Хотя это действительно неплохо, поскольку это бесплатная альтернатива, на самом деле это не очень помогает, если у вас нет доступа к безопасному элементу. И если у вас есть контракт с каким-то поставщиком SIM-карт, у них обычно есть собственная IDE для работы над этим. Хорошим примером могут быть Giesecke & Devrient с их собственным JCS Suit и Sm@rtcaffee (или как там это пишется). - person Dekker; 20.09.2012
comment
На некоторых из них он будет направлен на встроенный элемент безопасности (Google Wallet) или на SIM-карту (Cityzi и кошелек Quicktap). Вы имеете в виду, что прошитое вами ПЗУ влияет на это? будет ли ПЗУ, поставляемое Orange (для включения быстрого доступа), несовместимым с Google Wallet? - person Sam; 20.05.2013

Так как кажется, что никто не мог дать окончательного ответа, по крайней мере, я смог ответить на свой вопрос по другим каналам. Вот что я узнал.

По сути, программный стек OpenNFC предназначен для работы с любым оборудованием с помощью уровня аппаратной абстракции. Этот HAL в настоящее время предоставляется только для их собственных наборов микросхем SecuRead и MicroRead. Так что из коробки использовать его не представляется возможным.

Для случая эмуляции карты на Android: как многие из вас знают, обычно невозможно использовать режим эмуляции карты без помощи защитного элемента. Я искал какую-то возможность эмуляции программной карты. Это может поставляться с Cyanogenmod 1 (было несколько ночных сборок, где он был активирован, вы можете найти дополнительную информацию на это, проверив этот проект здесь: NFCProxy 2). Совсем недавно (на самом деле ровно в тот день, когда я задал свой вопрос) эти функции были перенесены для работы с Jelly Bean в новейшей версии.

person Dekker    schedule 04.09.2012