No Image

Эмуляция карты что это такое

СОДЕРЖАНИЕ
1 просмотров
10 марта 2020

Режим работы определяет конкретный вид задачи, выполняемой Near Field Communication (NFC) в любой момент времени. Устройства, взаимодействующие в то время, допускают определенные режимы работы.

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

Режим эмуляции карты помещает устройство NFC в режим пассивной связи. Устройство действует точно так же, как смарт-карта. На рисунке показаны некоторые способы, которыми вы можете использовать устройство NFC в режиме эмуляции карты. Важно помнить, что безопасность NFC (через SE или HCE) защищает только токены, используемые для идентификации личности. У вас должно быть приложение, обеспечивающее безопасность данных.

Использование режима эмуляции карты.

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

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

При работе в режиме чтения / записи большинство устройств NFC действуют как считыватели, как показано здесь. Устройство NFC работает в активном режиме для чтения содержимого тега. Когда он обнаруживает два или более тега, он использует алгоритм антиколлизии для выбора только одного тега. Устройство NFC должно также обнаруживать тип тега (ISO / IEC 14443 A / B или FeliCa) и взаимодействовать с ним соответствующим образом. Метод, используемый для выполнения антиколлизии, зависит от типа тега.

Использование режима чтения / записи.

Приложение, которое взаимодействует с данными NFC, интерпретирует данные тега и реагирует соответственно. Например, при чтении тега, содержащего унифицированный идентификатор ресурса (URI), устройство открывает браузер, и браузер открывает содержимое, на которое указывает URI. Все пользователи видят браузер с веб-содержимым, отображаемым в нем — процесс открытия URI остается скрытым от просмотра.

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

  1. Выберите тип кодировки. Тип кодирования определяет тип данных, которые содержит тег. Вот некоторые типичные типы кодирования:
    • Контакт
    • URI
    • Обычный текст
    • Служба коротких сообщений (SMS)
    • Электронная почта
    • Телефон
    • Bluetooth
    • Определите закладку для удерживайте данные.
    • Создайте данные.
    • Выберите параметры кодирования, которые могут включать:
      • Блокировка тега из дальнейших изменений
      • Написание нескольких тегов с использованием тех же данных
      • Подтверждение перезаписи существующих данных тега
      • Нажмите тег, чтобы закодировать его ,
        Процесс обычно занимает несколько секунд, поэтому вы должны оставить устройство на месте, пока приложение не сообщит вам, что кодировка завершена.

      Одноранговый режим NFC

      Два устройства с питанием могут участвовать в режиме одноранговой сети, что является специфичным для NFC. Тем не менее, инициатор запускается с включенным ВЧ-полем, и цель запускается с выключением его радиочастотного поля. (Цель также может перейти в пассивный режим, чтобы уменьшить потребление энергии.) Состояние поля RF изменяется с изменением направления связи. На этом рисунке показано типичное использование для однорангового режима.

      Использование однорангового режима.

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

      Читайте также:  Xiaomi mi 8 сравнение камеры

      Во время первоначальной связи два устройства определяют параметры связи, такие как размер блока данных. Максимальный размер блока данных составляет 256 байтов. Во многих случаях одноранговый режим используется для сопряжения устройств с использованием некоторых других способов передачи фактических данных, таких как Wi-Fi или Bluetooth. Этот процесс называется Передача соединения .

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

      Что такое эмуляция карты

      Имеется совершенно конкретная технология HCE (Host Card Emulation), которая позволяет воспроизвести дубликат NFC-карты, то есть бесконтактной по методу соединения с внешним миром. Естественно, понадобится некое программное обеспечение, с его помощью и произойдет второе рождение вашего «пластика». О чем речь?

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

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

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

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

      Нужно заметить, что работает связка NFC Android с помощью аккаунта от Google, предварительно заведенного вами, в случае установленной другой операционной системы (на ум приходит только продукция компании Apple) на мобильном устройстве, сделать из него двойник вашего платежного инструмента получится средствами самого телефона. Это значит, что в нем есть вмонтированный чип, в котором лежит буквально все, что касается вашего счета в банке и идентификационных данных.

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

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

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

      До 2017 года был написан не один десяток статей на эту тему. С приходом новых приложений, таких как Google Pay, Samsung Pay и Apple Pay, страсти улеглись. Процесс виртуализации физического «пластика» заметно упростился и многие проблемы, связанные с этой процедурой, отпали сами собой. В марте прошлого года был запущен проект Android Pay (детище Google, впоследствии переработанное в современный вариант), детально описанный и донельзя конкретизированный. Изменения в алгоритме эмуляции с тех пор почти не произошли.

      Вот как это работает сегодня.

      1. Прежде всего, предстоит выбрать и скачать нужное вам приложение, из числа предложенных.
      2. Установить на смартфон.
      3. Затем приступить к главному — эмулировать банковскую карту. Потребуется ее отсканировать, остальные необходимые данные ввести в ручном режиме. Ничего особенного, сведения о держателе счета в банке, домашний адрес, CVV-код с обратной стороны «пластика», номер телефона.
      4. Согласиться с пользовательским соглашением.
      5. Подтвердить СМС правильность ввода.
      6. Карта эмулирована, она у вас есть и хранится в приложении. В нужный момент просто активируйте NFC-модуль и саму программу. Платеж будет проведен моментально.
      Читайте также:  Что такое сетевые настройки

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

      Пытливые китайские умы сделали процедуру переноса физического объекта в память смартфона максимально комфортной и несложной. Вам предстоит скачать NFC Card Emulator с Play Маркета и установить на устройство. Затем активировать NFC-чип (без него никуда), запустить приложение и поднести к задней крышке телефона то, что хотите продублировать. «Пластик» предстанет в виртуальном образе в самой программе, в дальнейшем на него нужно будет нажать и поднести к объекту взаимодействия.

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

      Что требуется для эмуляции

      Уже упомянутый NFC Card Emulator и Root-права в вашем устройстве. Все дело в том, что для изменения настроек в NFC (без этого не обойтись) придется кое-что изменить в системных файлах. Что под силу только суперпользователю.

      Именно здесь кроется подвох, о чем нельзя не упомянуть. Предыдущее описание производства виртуальной платежной карты возможно только на совершенно «чистом» телефоне. Что я имею в виду. У вас должна стоять официальная прошивка, Root-права должны отсутствовать.

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

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

      Недавно заглянул в свой старый Xiaomi MI3 и был немало удивлен. Устройство имеет собственный элемент безопасности! В меню настроек предлагается на выбор места хранения: встроенный или на сим-карте. Что касается последнего места, то оно не прижилось на практике, ввиду сложности реализации. На сегодняшний день распространен вариант облачного хранилища Google, счастливчики могут похвастать собственным специальным чипом.

      Возможные проблемы

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

      Эмуляция карты NFC 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.

      Комментировать
      1 просмотров
      Комментариев нет, будьте первым кто его оставит

      Это интересно
      No Image Компьютеры
      0 комментариев
      No Image Компьютеры
      0 комментариев
      No Image Компьютеры
      0 комментариев
      No Image Компьютеры
      0 комментариев
      Adblock detector