NFC Card Emulator Pro: эмуляция карты, клонирование, дублирование

NFC Card Emulator Pro: эмуляция карты, клонирование, дублирование 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 используется для всех типов, определенных в метке. Подробности можно найти в

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

Google: мы пойдем другим путем

Другой подход избрали в Google, рассудив, что зависимость от вендоров (производителей телефонов и Secure Elements) радикально снижает адаптивность технологии и препятствует массовому тиражированию платежных сервисов. Рассудив так, Google реализовала подход, при котором NFC-контроллер напрямую связан с основным процессором, непосредственно обеспечивающим работу платежного приложения, хранение данных, подпись транзакций и т.д. А информационная безопасность обеспечивается программными средствами.

В декабре 2021 года Google выпустила версию Android 4.4 KitKat, в которой была реализована возможность взаимодействия NFC-контроллера не только с SE, но и с обычным приложением в телефоне. Проще говоря, отпала необходимость промышленной прогрузки информации в специальные устройства, стало достаточно просто установить на смартфон платежное приложение, работающее по технологии HCE.

Idtransfer (windows, linux)

IDTransfer из той же «оперы», что и два приложения выше. С его помощью можно произвести авторизацию пользователя по RFID-карте в системе. Однако здесь вам понадобится отдельный USB-считыватель карт.

Nfc assistant (android)

NFC Assistant нужен для выполнения различных действий при распознавании метки. Приложение умеет:

  • Отображать сообщение;
  • Читать заданный текст;
  • Устанавливать будильник;
  • Изменять режим «Не беспокоить»;
  • Управлять Bluetooth;
  • Получать данные о событиях календаря;
  • Получать данные о погоде;
  • Запускать приложение или сайт;
  • Управлять умными устройствами.

Nfc tagwriter (android)

NFC TagWriter поможет записать на метку контакты, закладки, геолокацию, данные о Bluetooth Handover, email, текстовые сообщения и многое другое.

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

У разработчиков также есть NFC TagInfo, которое служит для чтения всех данных, хранящихся на метках, включая транспортные билеты и тому подобные вещи.

Read-a-card (windows)

Ещё одно платное и специфическое приложение. Оно необходимо для получения информации с RFID-метки и передачи её в специализированный софт для дальнейшей работы.

Проблемы NFC:  Смартфоны с НФС ( NFC ) модулем до 10000 рублей 2021

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

Smart nfc (ios)

Как и аналоги, Smart NFC может читать и записывать NFC-метки. На метку можно добавить любой из поддерживаемых технологией тегов.

Если вы iOS-пользователь, то именно с этого приложения стоит начать.

Tagxplorer (windows)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В чем профит?

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

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

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

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

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

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

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

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

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

Проблемы NFC:  Установка домашнего телефона мгтс

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

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

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

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

Как обстояли дела ранее?

У классических способов до HCE имеются существенные недостатки. При подходе SIM centric требуются специальные SIM-карты, которые значительно дороже стандартных карт, обязательна процедура посещения пользователем точки продаж для замены SIM-карты и т.д.

При eSE-подходе сложностей и ограничений ещё больше – моделей телефонов, имеющих специальный блок для хранения информации о карте, на рынке крайне мало, стоимость персонализации элемента в телефоне весьма высокая, появляется зависимость от производителя телефона и провайдера услуг персонализации «по воздуху» (Over-The-Air Service Provider).

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

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

Как это работает?

У нас есть карта «Билайн» — обычная дебетовая MasterCard, которую можно получить бесплатно в любом салоне «Билайн». Ежегодная абонентская плата за обслуживание нашей карты не взимается. Карта работает как обычный MC по всему миру, только при совершении покупок возвращается от 1,5% потраченной суммы на счет в виде бонусов.

Карта эмулируется на телефоне.

По сути, технология HCE дает возможность эмулировать в телефоне бесконтактные smart-карты. В нашем случае виртуальная карта является дополнительной функцией физического носителя – пластиковой карты «Билайн». Владелец такой карты, являющийся одновременно владельцем телефона на платформе Android KitKat, оснащенного NFC-модулем, устанавливает на него мобильное приложение карты «Билайн».

При входе в мобильное приложение для активации функции бесконтактных платежей достаточно ввести ЕАN карты и свой пароль. Приложение проверяет наличие/доступность HCE на устройстве, и если все ок, пользователю предлагается подключить функционал. Если пользователь подтверждает свое согласие на подключение сервиса, ответив на полученную sms вводом одноразового пароля, то производится эмиссия виртуальной карты – в мобильное приложение из процессингового центра загружаются данные, необходимые для совершения NFC-платежей. Собственно, на этом всё – телефон стал инструментом бесконтактной оплаты.

На телефоне HCE функционирует как фоновый сервис, что позволяет использовать HCE, не запуская приложение для этого взаимодействия. При взаимодействии с терминалом Android’у необходимо выбрать приложение, которому отправить данные для обработки. Такой выбор делается на базе Application ID (AID), который содержит до 16 байт информации, и известен для популярных платежных систем, таких как Visa или MasterCard.

Приложение может обрабатывать несколько различных AID, которые объединяются в группу. Каждая группа может быть связана с определенной категорией. В настоящий момент определено две категории: CATEGORY_PAYMENT (для приложений оплаты) и CATEGORY_OTHER (для остальных).

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

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

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

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

NFC Card Emulator Pro: эмуляция карты, клонирование, дублирование
Активность сервиса бесконтактной оплаты подтверждается оранжевым цветом соответствующей иконки

Об авторах

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

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

Два 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(); }

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

Проблемы NFC:  Беспроводные метки NFC / Хабр

Пример 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-поле. ЭБ реализуется с помощью встроенного приложения или компонента ОС.

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

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

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

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

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

Заключение

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

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

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