Скачать приложение NFC Card Emulator Pro на Android — эмулятор бесконтактных NFC карт

Скачать приложение NFC Card Emulator Pro на Android - эмулятор бесконтактных NFC карт NFC

Что это такое?

Клонирование пластиковых карточек выполняется двумя способами.

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

Рассмотрим самый важный момент – эмуляцию платежной карточки и все, что связано с перечислениями денежных средств бесконтактным способом. Остальные функции эмулирования имеют эпизодические характеры, на практике применяются нечасто, так как пользуются ими только опытные юзеры.

Отметим, что функционирует связка НФС Андроид при помощи аккаунта Гугл, настроенного вами предварительно. Если ранее была загружена иная операционка на мобильном устройстве, то интегрировать гаджет в двойник платежной карточки возможно средствами самого устройства.

Следует заметить, что в устройствах, обладающих собственным «банком данных», имеется одна отличительная особенность – ограничение к ним доступа. Проще говоря, он отсутствует даже в операционной системе, и без помощи пользователя никакую информацию извлечь не получится.

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

Введение в разработку nfc под android

Android поддерживает NFC с помощью двух пакетов: android.nfc и android.nfc.tech.

Основными классами в android.nfc являются:

NfcManager: Устройства под Android могут быть использованы для управления любыми обнаруженными NFC адаптерами, но поскольку большинство Android устройств поддерживают только один NFC адаптер, NfcManager обычно вызывается с getDefaultAdapter для доступа к конкретному адаптеру.

NfcAdapter работает как NFC агент, подобно сетевому адаптеру на ПК. С его помощью телефон получает доступ к аппаратной части NFC для инициализации NFC соединения.

NDEF: Стандарты NFC определяют общий формат данных, называемый NFC Data Exchange Format (NDEF), способный хранить и передавать различные типы объектов, начиная с MIME и заканчивая ультра-короткими RTD-документами, такими как URL. NdefMessage и NdefRecord – два типа NDEF для определенных NFC форумом форматов данных, которые будут использоваться в коде-примере.


Tag: Когда устройство Android обнаруживает пассивный объект типа ярлыка, карты и т.д., он создает объект типа «метка», помещая его далее в целевой объект и в заключении пересылая в соответствующий процесс.

Пакет android.nfc.tech также содержит множество важных подклассов. Эти подклассы обеспечивают доступ к функциям работы с метками, включающими в себя операции чтения и записи. В зависимости от используемого типа технологий, эти классы разбиты на различные категории, такие как NfcA, NfcB, NfcF, MifareClassic и так далее.

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

Здесь мы используем целевой фильтр для работы со всеми типами информации начиная с TECH_DISCOVERED до ACTION_TECH_DISCOVERED. Файл nfc_tech_filter.xml используется для всех типов, определенных в метке. Подробности можно найти в

. Рисунок ниже показывает схему действий при обнаружении метки.

Архитектура технологии nfc

NFC основана на RFID технологии с частотой 13.56 МГц и рабочей дистанцией до 10 см. Скорость обмена данными составляет до 424 кб/сек. По сравнению с другими коммуникационными технологиями, основным преимуществом NFC является быстрота и простота использования. На рисунке ниже видно расположение NFC среди других коммуникационных технологий.

Технология NFC имеет три режима: эмуляция NFC-карты, пиринговый режим и режим чтения/записи.

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

Безопасность

Наиболее очевидное на сегодняшний день тонкое место технологии HCE – безопасность. Данные, необходимые и достаточные для осуществления NFC-платежей, хранятся непосредственно в памяти смартфона. Однако для мобильного приложения карты «Билайн» используется комплекс мер, которые сводят к минимуму вероятность взлома. Мы делали внутренний конкурс на взлом системы, с очень хорошим вознаграждением, анализ кода.

Разберем некоторые аспекты информационной безопасности технологии HCE, реализованные для мобильного приложения карты «Билайн».

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

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

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

Проблемы NFC:  Jakcom R3 smart кольцо

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

При утере телефона порядок действий практически ничем не отличается от стандартных мероприятий, выполняемых при утере обычной банковской карты: звонок в контакт-центр, блокировка карты «Билайн» по EAN, получение в салоне связи новой карты. На новую карту будут перенесены все остатки денежных средств, бонусы и так далее.

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

Существует представление, что уязвимым является сам сеанс передачи данных от смартфона к POS-терминалу. На самом деле каждая транзакция защищена уникальной криптограммой, без которой авторизация невозможна. Из тех данных, которые передаются по радиоканалу, практически невозможно извлечь никакой информации, которая помогла бы злоумышленникам похитить средства со счета, подписав другие транзакции.

Будет ли работать этот сервис на платформе ios?

Apple пошли по пути phone-based и используют встроенный Secure Element, куда никто, кроме Apple, карточные ключи загрузить не может. Поэтому единственный реалистичный в настоящее время вариант – это интеграция с новой технологией Visa Token Service (генерация временных ключей для оплаты), на основе которой Apple Pay, собственно, и работает.

В чем профит?

Итак, что нам дает сервис бесконтактной оплаты с помощью мобильного телефона? Можно забыть дома кошелек, оставить в квартире паспорт или даже водительское удостоверение, но почти со 100% вероятностью смартфон будет при вас. А если на этом телефоне установлено приложение для бесконтактной оплаты, значит, вы всегда с «баблом».

NFC-транзакция – это мгновенная оплата. Даже для того чтобы расплатиться пластиковой картой, её для начала нужно извлечь из бумажника, а перед этим – бумажник из кармана или сумки. При расчете наличными добавляется момент пересчета, передачи денег, получения и проверки сдачи и т.д.

После совершения транзакции на телефон приходит sms-сообщение о прошедшей операции и об остатке на счете, т.е. вы всегда в курсе состояния своего электронного кошелька.

Кстати, интересная деталь – в приложении карты «Билайн» реализована технология единого ПИНа для нескольких карт, в данном случае – для основной карты «Билайн» и карты, эмулированной мобильным приложением. То есть и при расчете по пластиковой картой, и используя сервис бесконтактных платежей, вы вводите один и тот же пароль.

Сервис бесплатный, никаких комиссий за NFC-транзакции не взимаются.

Вероятные ошибки

Их будет предостаточно, но рассказать следует об одной, считающейся наиболее «сложной» для рядового потребителя. Некоторое время назад шла борьба с уведомлением из операционки: «отсутствуют доступные элементы защиты. Эмуляция НФС-карты будет выключена».

Эмуляция пластиковой карточки в Андроид не считается сегодня сложным либо утомительным процессом.

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

Где можно платить?

Конечно, развитость инфраструктуры приема бесконтактных платежей зависит от конкретного региона, однако сегодня уже порядка 5% платежных терминалов уже оснащены функцией NFC. В масштабах всей России это, по экспертным оценкам, около 30 тысяч устройств.

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

Если говорить о конкретных точках, то это сети, крупные магазины, фаст-фуды, заправки. McDonald’s, Starbucks, Subway, гипермаркеты «Ашан», О’КЕЙ, «Магнит», «Аэроэкспресс», крупные сети сотового ритиейла, магазины глобальных производителей косметики и парфюмерии, модные места проведения досуга.

Добавление карты

Для использования приложения необходимо иметь права суперпользователя. Кроме того, требуется наличие чипа NFC в мобильном устройстве.

Для того, чтобы добавить карту, необходимо активировать режим бесконтактной оплаты. Затем следует запустить утилиту и перейти в соответствующий раздел главного меню. После этого нужно приложить карту к задней стенке мобильного устройства и дождаться окончания считывания.

Кроме того, пользователи могут добавить карту вручную. Для этого необходимо ввести ее номер, срок действия и CVC код. Отметим, что разработчик не гарантирует полную поддержку всех видов карт и мобильных устройств. По этой причине на некоторых аппаратах приложение может работать некорректно.

Какие еще есть особенности?

Например, если у пользователя не один, а несколько телефонов на Android 4.4, то сервис бесконтактной оплаты, привязанный к его основной карте, может быть установлен на все устройства владельца этой карты. Это удобно, например, для использования сервиса семьей. При этом на одном телефоне может существовать только одна виртуальная карточка.

При оплате, когда телефон подносится к терминалу, на экране отображается сумма покупки и информация об успешности проведения платежа.Оплата производится только при разблокированном экране, поэтому важно, чтобы телефон был защищен паролем. При этом само приложение может быть закрытым.

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

Об авторах

Songyue Wang и Liang Zhang — инженеры в Intel Software and Service Group, разрабатывающие мобильные приложения, в том числе и для Android, и оптимизирующие их под платформу х86.

Проблемы NFC:  Samsung Galaxy A02 технические характеристики, обзор преимуществ и недостатков телефона

Оплата

После добавления карт можно использовать смартфон для оплаты проезда или покупок, а также в качестве пропуска. Для этого нужно запустить утилиту, включить NFC и приложить мобильное устройство к терминалу.

Приложение позволяет создать резервную копию данных. Также есть возможность установить его в качестве средства оплаты по умолчанию. Пользователи могут выбрать тему оформления и язык интерфейса.

Особенности:

Пиринговый режим

Два NFC устройства могут легко взаимодействовать друг с другом напрямую, обмениваясь небольшими файлами. Для установления Bluetooth/WiFi соединения необходимо обменяться XML файлом специального формата. В этом режиме ЭБ не используется.

Пример 1. разработка nfc приложения для чтения/записи меток.

Следующий пример показывает функции чтения/записи NFC метки. Для того, чтобы получить доступ к аппаратной части NFC и корректно обрабатывать NFC информацию, объявите эти позиции в файле AndroidManifest.xml.

Минимальную версию SDK, которую должно поддерживать ваше приложение — 10, объявите об этом в файле AndroidManifest.xml

Следующий целевой вызов демонстрирует функцию чтения. Если широковещательное сообщение системы равняется NfcAdapter.ACTION_TAG_DISCOVERED, тогда вы можете считать информацию и показать ее.

@Override protected void onNewIntent(Intent intent){ if(NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())){ mytag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); // get the detected tag Parcelable[] msgs =	intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); NdefRecord firstRecord = ((NdefMessage)msgs[0]).getRecords()[0]; byte[] payload = firstRecord.getPayload(); int payloadLength = payload.length; int langLength = payload[0]; int textLength = payloadLength - langLength - 1; byte[] text = new byte[textLength]; System.arraycopy(payload, 1 langLength, text, 0, textLength); Toast.makeText(this, this.getString(R.string.ok_detection) new String(text), Toast.LENGTH_LONG).show(); } }

Следующий код демонстрирует функцию записи. Перед тем, как определить значение mytag, вы должны убедиться, что метка определена и только потом вписать в нее свои данные.

If (mytag==Null){ ……	}	else{	……	write(message.getText().toString(),mytag);	……	} private void write(String text, Tag tag) throws IOException, FormatException { NdefRecord[] records = { createRecord(text) }; NdefMessage message = new NdefMessage(records);	// Get an instance of Ndef for the tag. Ndef ndef = Ndef.get(tag); // Enable I/O ndef.connect(); // Write the message ndef.writeNdefMessage(message); // Close the connection ndef.close(); }


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

Пример 2. разработка nfc-приложения, использующего карты mifareclassic

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

Последний блок в зоне называется трейлером и используется обычно для хранения локального ключа чтения/записи. Он содержит два ключа, А и В, 6 байт длиной каждый, по умолчанию забитые 00 или FF, в зависимости от значения MifareClassic.KEY_DEFAULT.

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

Принцип действия

До наступления 2021 года на эту тему велись жаркие споры, но после прихода приложений Гугл, Самсунг и Эпл Пей страсти утихли. Процесс эмуляции пластиковой карты через NFC существенно облегчился, и огромное количество проблем, связанных с подобной процедурой, отпало само по себе.

Сегодня он функционирует следующим образом:

  1. для начала определяется и скачивается необходимое платежное приложение из представленных потребителю;
  2. выполняется установка на мобильный телефон;
  3. после этого начинается основной этап – эмуляция платежного продукта. Необходимо отсканировать ее реквизиты, остальные сведения вводятся ручным способом. К ним относятся личные данные пользователя картой, адрес его проживания, CVV-код, находящийся на оборотной стороне пластика, контактный номер телефона;
  4. на экране появятся пользовательские соглашения, которые следует изучить и дать свое согласие на их работу;
  5. правильность указанной информации подтверждается введением кода, поступившего на телефон в СМС-уведомлении;
  6. ваша банковская карточка эмулирована, информация о ней сохранена в платежном приложении. В необходимый момент остается активировать модуль НФС и платежный сервис. Перечисление денежных средств выполняется моментально.

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

Прогнозы

Можно прогнозировать, что рынок NFC-платежей в России переходит из стадии становления в фазу активного роста. Растет число телефонов, поддерживающих технологию NFC, появляются интеграционные проекты, реализуемые совместно вендорами, платежными системами и ритейлерами.

В I полугодии 2021 г. в России было реализовано 1,2 млн. смартфонов, поддерживающих технологию NFC. Это на 21% больше, чем за аналогичный период прошлого года. NFC-смартфоны составили 14% от всех продаж смартфонов в стране. Понятно, что бурный рост может быть обусловлен только удобством применения бесконтактных технологий, а массовость сервису может придать мощный драйвер. Такой, например, как бесконтактная оплата проезда в общественном транспорте, прежде всего в метрополитене.

Если же говорить о емкости рынка NFC-платежей в России, то эксперты называют цифру порядка 15 млрд. рублей (оценка агентства J’son & Partners).

Режим записи/чтения

В данном режиме NFC устройство может читать и записывать NFC метки. Хорошим примером применения является чтение информации с оснащенных NFC «умных» постеров.

Режим эмуляции nfc карты

NFC модуль обычно состоит из двух частей: NFC контроллера и элемента безопасности (ЭБ). NFC контроллер отвечает за коммуникации, ЭБ – за шифрацию и дешифрацию чувствительной к взлому информации.

ЭБ подключается к NFC контроллеру посредством шины SWP (Single Wire Protocol) или DCLB (Digital Contactless Bridge). Стандарты NFC определяют логический интерфейс между хостом и контроллером, позволяя им взаимодействовать через RF-поле. ЭБ реализуется с помощью встроенного приложения или компонента ОС.

Проблемы NFC:  Как подключить карточку МИР к NFC модулю для бесконтактной оплаты

Существует три варианта реализации ЭБ: можно встроить его в SIM-карту, SD-карту или в NFC чип.

Операторы связи, такие как CMCC (China Mobile Communication Corporation), Vodafone или AT&T обычно используют решение на SIM-карте, поощряя своих абонентов бесплатной заменой старых SIM-карт на новые, оснащенные NFC.

Степень защиты

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

Сегодня большинство пользователей задействуют хранилище Гугл, некоторые потребители используют специальные чипы – NFC Card Emulator Pro 4 pda.

Эмуляция карты с помощью программного обеспечения nfc oh! android

Прочитав много вопросов, я решил опубликовать это. Я читал, что версия запаса Android не поддерживает API для эмуляции карты. Кроме того, мы не можем писать собственные приложения для защиты элементов, встроенных в контроллеры nfc, из-за ключей, управляемых Google / Самсунгом.

Мне нужно подражать карте (mifare или desfire и т. Д.). Опция, которую я вижу, выполняет с помощью программного обеспечения. У меня есть считыватель ACR122U, и я тестировал, что режим NFC P2P отлично работает с Nexus-S, который у меня есть.

1) Я наткнулся на сайт, в котором говорится, что NFC-контроллер nexus s (pn532) может эмулировать карточку mifare 4k. Если это правда, могу ли я написать / прочитать команды apdu для этой эмулируемой карты? (Возможно, если я использую модифицированный ром, как цианогенмод)

2) Могу ли я написать приложение для Android, которое считывает команды apdu, отправленные от читателя, и генерирует соответствующие ответы (если не полностью, то только в некоторой степени). Для этого я обыскал, что нам нужно исправлять связи с cynagenmod. Кто-то пробовал эмулировать карту с помощью этого метода?

Я вижу, что это возможно, поскольку у нас есть продукты от компаний контроля доступа, предлагающих мобильные приложения, через которые можно открывать двери, например http://www.assaabloy.com/en/com/Products/seos-mobile-access/

Некоторые факты, которые могут помочь в ваших поисках:

  • Контроллер NFC в Nexus S (и Galaxy Nexus, Nexus 7 и многие другие устройства Android) – это PN544
  • Эмуляция карты может быть выполнена либо защищенным элементом, подключенным к контроллеру NFC, либо хост-устройством (в данном случае это устройство Android). Nexus S имеет безопасный элемент, который может быть использован для этого (используется в Google Кошельке). Эмуляция карты с главного устройства не является особенностью контроллера PN544 NFC, хотя некоторые утверждают, что им удалось заставить его работать.
  • Вы можете включить эмуляцию карты защищенным элементом, укоренив свое устройство и следуя инструкциям на https://stackoverflow.com/a/10506299/1202968 (не пробовал это с 4.x JB, но я предполагаю, что он все еще работает).
  • Эмуляция карты MIFARE Classic может быть выполнена защищенным элементом в Nexus S, но не хост-устройством. Эмуляция карты DESFire не поддерживается защищенным элементом в Nexus S.
  • Я исследовал аналогичный продукт дверного замка, который сам использовал эмуляцию карты для связи с мобильным устройством NFC, используя режим чтения / записи карт для связи с контрольными картами доступа.

IMO, двумя простейшими параметрами являются: использование P2P-связи (Android Beam) или использование эмуляции карты в устройстве считывателя (если оно поддерживается). Все остальные варианты требуют таких вещей, как укорененные устройства и пользовательские ПЗУ, которые не являются надежными для будущего и не могут быть переведены на реальный продукт.

Эмуляция карты с помощью программного обеспечения теперь доступна с Android 4.4.http://developer.android.com/guide/topics/connectivity/nfc/hce.html

2) Эмуляция карт с помощью программного обеспечения должна быть возможна, но не показана в текущих API Android. Вам придется углубиться в libnfc-nxp (и, возможно, ниже). Это может быть сложно. Эта функция предлагается на чипах Inside Secure, как показано в их справочной реализации OpenNFC. Вопрос только в том, требуется ли изменение прошивки CLF. Если нет, вы можете взломать его в программный образ.

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

Я считаю, что SEOS основана на ISO14443-4, а не на Mifare. Это означает, что вам нужен безопасный элемент для его запуска.

1) Не слишком уверен в этом, я полагаю, что это все равно будет аппаратно (например, зависит от встроенного защищенного элемента, такого как SmartMX от NXP.

Другая альтернатива – начать разработку на безопасном элементе. Самый простой способ – получить некоторые тестовые SIM-карты с поддержкой SWP / HCI. Существует бесплатный набор разработчика под названием IzyNFC, который вы можете использовать для javacard, а также технические документы GSMA и AFSCM для стороннего приложения Android.

Заключение

Из мобильных устройств, поддерживающих эмуляцию платежных карт, выделяют Xiaomi, Huawei, OnePlus, Сони, Самсунг различных модификаций. К этому списку добавьте смарт часы от компании Huawei.

Таким способом можно превратить в виртуальный продукт карты на 4, 7 или 10 bytes uid. Для поддержки рекомендуется использовать НФС-чипы NXP или Broadcom.

Оцените статью
NFC в смартфонах