Nfc нет доступного элемента защиты как исправить
Платежная карта (смарт-карта) — это микропроцессор, помещенный в кусок пластика стандартизированного размера, который при контакте со считывателем получает достаточное для работы питание и запускает операционную систему с установленным в ней платежным приложением (чаще всего Java-applet в *nix-подобной операционной системе). Бесконтактные смарт-карты, которыми уже давно являются карты оплаты проезда в городском транспорте и стремительно становятся банковские карты (
), работают по тому же принципу, только питание получают от электромагнитного поля считывателя на кассе или турникете. Все бесконтактные банковские карты и подавляющее большинство транспортных объединяет стандарт
Банк или транспортная компания закупают «болванки» карт и записывают на них свое приложение с «платежными данными» клиента. Этот процесс, называемый персонализацией, осуществляется в так называемых персобюро, которые могут быть как внутренними подразделениями поставщиков услуг, так и отдельными компаниями на рынке.
В процессе персонализации данные на карте зашифровываются и закрываются ключами, что делает невозможным их изменение. Более того, архитектура современных смарт-карт позволяет на аппаратном уровне различать их состояние до и после персонализации, что полностью исключает возможность изменения (подделки), например, ваших платежных данных после того, как карта выпущена.
Эволюция карт от магнитной полосы (
) до смарт-карт с чипом (
) и бесконтактным интерфейсом (
) привела к тому, что форм-фактор карты перестал иметь значение. Это дает возможность использовать в качестве «носителя» карты любой объект: пластиковую карту, часы, браслет, стикер, брелок и, конечно же, смартфон.
NFC — это всего лишь технология беспроводной передачи данных. Такая же, как Bluetooth или WiFi, только работает на небольшом расстоянии и не очень высокой частоте (13,56 MHz), что является ее преимуществом, так как исключает вероятность «случайного» соединения.
В то же время NFC — это расширение существующего стандарта бесконтактных смарт-карт ISO 14443, который, как мы уже отметили, используется в современных банковских картах, пропусках в офис и на парковку, проездных билетах в метро, «Тройках» и «Подорожниках». Другими словами, стандарт NFC наследует весь стандарт ISO 14443, за счет чего реализуется 100% совместимость NFC-смартфонов, бесконтактных карт и существующей инфраструктуры приема.
В NFC-совместимом телефоне, чтобы он был полноценным NFC-устройством, кроме NFC-антенны и NFC-контроллера должен быть так называемый Secure Element — отдельный микропроцессор, подобный тому, что находится в пластиковых картах. Он и будет отвечать за безопасное хранение и выполнение платежных приложений (например, MasterCard Mobile PayPass).
Если в телефоне с поддержкой NFC находится такой же микропроцессор, как и в пластиковых картах, вывод напрашивается сам собой — в телефон можно записывать такие же платежные приложения и прикосновением телефона к считывателю осуществлять такие же бесконтактные платежи.
Первую попытку поместить карту в телефон в РФ осуществили сотовые операторы, например, «МТС» и банк «Русский Стандарт», «Мегафон» и транспортная карта в г. Екатеринбург, «Билайн» и транспортная карта в г. Казань и т.п. Для этого им потребовалось закупить партию специальных UICC SIM-карт с Secure Element, договориться с банком или транспортной компанией о предварительной записи туда платежного или транспортного приложения, отвезти SIM-карты в персобюро для осуществления привычного в отрасли процесса «контактной персонализации», а потом обменивать старые SIM-карты абонентов на новые в центрах обслуживания.
Да, поместить карту в телефон таким образом можно, и это работает. Но что делать, если вам нужен другой банк? Или транспортная компания в другом городе? А может, в двух городах? SIM-карте придется как следует попутешествовать по всем инстанциям перед попаданием в ваши руки, а сотовому оператору — договориться со всеми этими компаниями. При этом для перевыпуска банковской карты, например, по причине окончания срока действия, операцию придется повторить.
Читайте ещё про NFC: Сравните цены на arduino uno nfc — мегаскидки на arduino uno nfc от продавцов со всего мира на АлиЭкспрессРежим эмуляции карты NFC
Режим эмуляции карты помещает устройство NFC в режим пассивной связи. Устройство действует точно так же, как смарт-карта. На рисунке показаны некоторые способы, которыми вы можете использовать устройство NFC в режиме эмуляции карты. Важно помнить, что безопасность NFC (через SE или HCE) защищает только токены, используемые для идентификации личности. У вас должно быть приложение, обеспечивающее безопасность данных.
Использование режима эмуляции карты.
Ваше устройство с поддержкой NFC может эмулировать несколько смарт-карт, а поддержка смарт-карт может включать в себя более одной формы идентификации. Например, один и тот же цифровой кошелек может хранить карты лояльности и кредитные карты.
Запись платежной карты в телефон
При работе в режиме чтения / записи большинство устройств NFC действуют как считыватели, как показано здесь. Устройство NFC работает в активном режиме для чтения содержимого тега. Когда он обнаруживает два или более тега, он использует алгоритм антиколлизии для выбора только одного тега. Устройство NFC должно также обнаруживать тип тега (ISO / IEC 14443 A / B или FeliCa) и взаимодействовать с ним соответствующим образом. Метод, используемый для выполнения антиколлизии, зависит от типа тега.
Использование режима чтения / записи.
Создатель тега может защитить содержимое тега. Некоторые теги обеспечивают глобальную блокировку, в то время как другие теги позволяют блокировать выбранные данные в защищенной области памяти. Когда тег остается разблокированным, устройство NFC также может записывать данные в тег. Чтобы записать данные в тег, на вашем устройстве должно быть приложение для записи тегов, такое как TagWriter. После запуска приложения обычно используются такие шаги для записи данных в тег:
Читайте ещё про NFC: Технология RFID что это такое? Где применяется RFID модуль (чип) и его отличие от NFC.Одноранговый режим NFC
Два устройства с питанием могут участвовать в режиме одноранговой сети, что является специфичным для NFC. Тем не менее, инициатор запускается с включенным ВЧ-полем, и цель запускается с выключением его радиочастотного поля. (Цель также может перейти в пассивный режим, чтобы уменьшить потребление энергии.) Состояние поля RF изменяется с изменением направления связи. На этом рисунке показано типичное использование для однорангового режима.
Использование однорангового режима.
Обязательно обратите внимание, что устройства NFC используют протокол прослушивания перед разговором. Устройства прослушивают, чтобы ни одно другое устройство не передавало, прежде чем устройство попытается передать какую-либо информацию. Использование прослушивания перед разговором помогает гарантировать, что связь между устройствами не страдает от помех от других устройств.
Во время первоначальной связи два устройства определяют параметры связи, такие как размер блока данных. Максимальный размер блока данных составляет 256 байтов. Во многих случаях одноранговый режим используется для сопряжения устройств с использованием некоторых других способов передачи фактических данных, таких как Wi-Fi или Bluetooth. Этот процесс называется Передача соединения .
Удаленная персонализация и платформа TSM
К счастью, в отличие от пластиковой карточки, телефон является интерактивным устройством, которое всегда на связи (будь то Wi-Fi или сотовая сеть), а значит записывать в него карточки можно, во-первых, удаленно, а во-вторых, только тех поставщиков услуг, которые нужны именно вам. Для осуществления этой функции была сформулирована роль TSM (
) — доверенного посредника, объединяющего, с одной стороны, поставщиков услуг (банки, транспорт и т.д.), а с другой — чипы Secure Element во всех их формах. Именно такую платформу TSM мы разработали в компании i-Free и сертифицировали на соответствие всем необходимым стандартам.
Основные функции TSM:
- Агрегация различных поставщиков услуг. Банк или другой поставщик услуг подключается к TSM по стандартному протоколу и получает доступ ко множеству Secure Element, т.е. получает возможность выпускать карты для множества пользователей. При этом ему не нужно договариваться отдельно с каждым сотовым оператором или с каждым производителем телефонов. Эту часть TSM называют SP TSM (Service Provider TSM).
- Агрегация различных Secure Element. Владелец Secure Element (сотовый оператор или производитель телефонов) подключается к TSM по стандартному протоколу и получает доступ ко множеству поставщиков услуг, т.е. получает возможность предоставить своим пользователям множество сервисов. При этом ему не нужно договариваться отдельно с каждым сервис-провайдером, не нужно учитывать особенности каждого сервиса, аппаратных и системных возможностей разных Secure Element. Эту часть TSM называют SEI TSM (Secure Element Issuer TSM).
Как работает платформа TSM
Платформа TSM обеспечивает удаленное управление чипами Secure Element в телефонах пользователей через безопасный канал связи. По указанию поставщика услуги TSM записывает (или удаляет, например, в случае утери смартфона) персонализационные данные карты в Secure Element телефона, используя сам телефон исключительно как модем.
Ключи от Secure Element хранятся на узкоспециализированных серверах HSM (Hardware Security Module), являющихся неотъемлемой частью платформы TSM. Без участия последнего получить доступ к чипу невозможно — точно по такому принципу работает индустрия пластиковых карт, только ключи находятся в ведении банка или транспортной компании, выпустившей карту.
Читайте ещё про NFC: Как подключить enum к WebMoneyКакой именно картой оплачивать покупку, выбирает пользователь через приложение «Кошелек», которое отображает выпущенные и доступные для выпуска карты, а также принимает заявки на выпуск новых карт. Заявка отправляется к поставщику услуги, который вместо записи платежных данных на пластиковую карту, передает эти данные через TSM в Secure Element телефона.
Пользовательское приложение
Приложение «Кошелек» работает в операционной системе телефона, которая по определению не является безопасной, и, соответственно, «Кошелек» не несет в себе никаких функций, связанных с безопасностью. Основная роль приложения, кроме демонстрации выпущенных и доступных к выпуску карт, заключается в обеспечении канала связи между Secure Element и TSM, а также предоставлении пользователю интерактивных интерфейсов к приложениям (картам), загруженным в Secure Element.
В большинстве случаев, если приложение «Кошелек» использует встроенный в телефоны Secure Element, то зачастую нет смысла выкладывать его в Google.Play, так как партнерство с производителями телефонов обеспечивает важное преимущество: производитель предустанавливает пользовательское приложение в телефон вместе с прошивкой, его не нужно продвигать, не нужно скачивать или устанавливать — оно уже в телефоне — такое же родное, как «Калькулятор».
Любая карта в любом телефоне
Для превращения телефона в банковскую карту TSM должен получить доступ к Secure Element либо от производителя этого телефона, либо от владельца SIM-карты (сотового оператора). Так как платежные карты в телефон не переносятся и не «привязываются» (иначе они будут считаться «дубликатами»), а выпускаются заново, то для выпуска в телефон банковской карты какого-либо банка этот банк должен подключиться к TSM.
Таким образом, любую карту в любой телефон выпустить пока не получится, но движение в этом направлении уже идет, и всем участникам рынка очевидно, что это закономерный эволюционный шаг. В этом заинтересованы и производители телефонов (новая функциональность, которая покруче лишнего мегапикселя в камере), и сотовые операторы (примерно по той же причине), и поставщики услуг (новая аудитория и канал продаж с интерактивным взаимодействием), и пользователи (уставшие от множества различных пластиковых карточек).
Сегодня в «Кошельке» можно выпустить банковскую карту «ТКС Банка», до конца года будет доступна также оплата проезда в транспорте: в качестве пилотной зоны стартуют города Вологда и Чебоксары. В следующем году доступных для выпуска карт станет значительно больше. Бесконтактных вам впечатлений!
Послесловие
Многие процессы (как технологические, так и бизнес), описанные в данном посте, сильно упрощены для облегчения понимания всей картины. Возможно, в некотором смысле данный текст даже больше подойдет журналу «Крестьянка», чем Хабру, однако такого вводного материала не хватало бы для дальнейших публикаций, касающихся платежных карт в телефоне. Основываясь на ваших вопросах и комментариях будем постепенно раскрывать отдельные части этой большой и, надеемся, интересной темы.
Когда я окунулся в километры описаний преобразования реальных банковских карт в виртуальный аналог, то понял, что просто перенести, даже в сжатом виде, в поле статьи эту информацию у меня не получится. Написано не для массового читателя, нашпиговано специальными терминами и имеет чересчур наукообразный вид. В статье пойдет речь об эмуляции карты NFC на Android. Поэтому — просто о сложном!
Что такое эмуляция карты
Имеется совершенно конкретная технология HCE (Host Card Emulation), которая позволяет воспроизвести дубликат NFC-карты, то есть бесконтактной по методу соединения с внешним миром. Естественно, понадобится некое программное обеспечение, с его помощью и произойдет второе рождение вашего «пластика». О чем речь?
Сюда попадают банковские карты, для оплаты проезда в общественном транспорте, пропуска на работу и еще целый отряд необходимых «электронных ключей» для повседневной жизни.
Есть два принципиальных подхода к процессу клонирования карт. Возможно хранить всю информацию о ней во встроенном элементе безопасности, файл данных в зашифрованном виде записывается в самом мобильном устройстве. Либо он переносится в облачное хранилище и защищен от постороннего доступа запароленным входом.
Во всей этой истории нас, в первую очередь, интересует банковская карта и связанное с ней понятие бесконтактного платежа.
Именно об этом пойдет речь в дальнейшем, остальные прикладные функции эмуляции носят эпизодический характер и применяются на практике пытливыми продвинутыми юзерами.
Нужно заметить, что работает связка NFC Android с помощью аккаунта от Google, предварительно заведенного вами, в случае установленной другой операционной системы (на ум приходит только продукция компании Apple) на мобильном устройстве, сделать из него двойник вашего платежного инструмента получится средствами самого телефона. Это значит, что в нем есть вмонтированный чип, в котором лежит буквально все, что касается вашего счета в банке и идентификационных данных.
Вообще, все устройства, имеющие собственный «банк данных», обладают одной очень привлекательной особенностью. Доступ к нему ограничен. Строго говоря, его нет даже у операционной системы девайса и извлечь что-либо, без вашей помощи, никому постороннему не удастся.
Кроме того, подобные устройства способны на проведение оплаты в бесконтактном режиме без помощи интернета. Все необходимое для транзакции уже есть под рукой.
Как это работает
До 2017 года был написан не один десяток статей на эту тему. С приходом новых приложений, таких как Google Pay, Samsung Pay и Apple Pay, страсти улеглись. Процесс виртуализации физического «пластика» заметно упростился и многие проблемы, связанные с этой процедурой, отпали сами собой. В марте прошлого года был запущен проект Android Pay (детище Google, впоследствии переработанное в современный вариант), детально описанный и донельзя конкретизированный. Изменения в алгоритме эмуляции с тех пор почти не произошли.
Вот как это работает сегодня.
- Прежде всего, предстоит выбрать и скачать нужное вам приложение, из числа предложенных.
- Установить на смартфон.
- Затем приступить к главному — эмулировать банковскую карту. Потребуется ее отсканировать, остальные необходимые данные ввести в ручном режиме. Ничего особенного, сведения о держателе счета в банке, домашний адрес, CVV-код с обратной стороны «пластика», номер телефона.
- Согласиться с пользовательским соглашением.
- Подтвердить СМС правильность ввода.
- Карта эмулирована, она у вас есть и хранится в приложении. В нужный момент просто активируйте NFC-модуль и саму программу. Платеж будет проведен моментально.
Отдельно остановлюсь на процедуре «внесения» дубликата пластикового пропуска куда-либо, в этот разряд можно отнести все другие носители информации, не связанные с банками.
Пытливые китайские умы сделали процедуру переноса физического объекта в память смартфона максимально комфортной и несложной. Вам предстоит скачать NFC Card Emulator с Play Маркета и установить на устройство. Затем активировать NFC-чип (без него никуда), запустить приложение и поднести к задней крышке телефона то, что хотите продублировать. «Пластик» предстанет в виртуальном образе в самой программе, в дальнейшем на него нужно будет нажать и поднести к объекту взаимодействия.
Как удивятся охранники с вашей работы, когда турникет на проходной откроется путем приложения смартфона к нему. Бывшие менты из охраны не любят неожиданностей, и вцепятся в вас мертвой хваткой. Правда, ненадолго.
Что требуется для эмуляции
Уже упомянутый NFC Card Emulator и Root-права в вашем устройстве. Все дело в том, что для изменения настроек в NFC (без этого не обойтись) придется кое-что изменить в системных файлах. Что под силу только суперпользователю.
Именно здесь кроется подвох, о чем нельзя не упомянуть. Предыдущее описание производства виртуальной платежной карты возможно только на совершенно «чистом» телефоне. Что я имею в виду. У вас должна стоять официальная прошивка, Root-права должны отсутствовать.
Только в этом случае получится провести платеж. А значит, если хотите иметь у себя в устройстве буквально все, что должно вас огорчить. Придется что-то выбрать. Либо платите в магазине, либо ходите в бассейн по эмулированному пропуску. Так обстоят дела сегодня, возможно в будущем произойдут перемены к лучшему.
Безопасность
Недавно заглянул в свой старый Xiaomi MI3 и был немало удивлен. Устройство имеет собственный элемент безопасности! В меню настроек предлагается на выбор места хранения: встроенный или на сим-карте. Что касается последнего места, то оно не прижилось на практике, ввиду сложности реализации. На сегодняшний день распространен вариант облачного хранилища Google, счастливчики могут похвастать собственным специальным чипом.
Возможные проблемы
Эмуляция карты NFC Android в настоящее время не является утомительным или сложным занятием. По крайней мере, те, кто хочет воспользоваться бесконтактным способом оплаты покупок, без труда воспользуются максимально разжеванными, в картинках, этапами привязки карты в приложении, предварительно установленном на собственный телефон. Все это есть в интернете.
Современные смартфоны на базе Android отличаются беспрецедентной функциональностью. Сейчас это далеко не только устройство для общения и потребления контента, но и финансовый инструмент, позволяющий оплачивать покупки в супермаркете и любом другом магазине у дома. А поскольку смартфон в последнее время стал полноценной заменой кошелька, важно знать, как включить защиту на операционной системе Андроид для бесконтактной оплаты.
Требования к устройствам и платежным терминалам
Чтобы совершать бесконтактные платежи с телефона, мобильные устройства, а также терминалы оплаты, должны соответствовать определенным требованиям. Главное из них – наличие датчика NFC.
Сегодня практически все платежные терминалы оснащены этим датчиком, однако производители бюджетных смартфонов нередко экономят на этом компоненте. Поэтому заранее удостоверьтесь, что ваше устройство поддерживает НФС, изучив его характеристики на сайте производителя. Также проверить наличие датчика можно через приложение NFC Check, доступное в Play Market, и через настройки девайса.
Настройка бесконтактных платежей
Чтобы начать использовать устройство в качестве платежного инструмента, необходимо выполнить несколько простых действий:
- Опустите шторку уведомлений и активируйте NFC (также это можно сделать через настройки).
- Откройте Google Pay или другое платежное приложение.
- Добавьте банковскую карту, указав ее номер и CVC-код.
Теперь для совершения транзакций необходимо просто поднести телефон к терминалу на расстояние до 10 сантиметров. Учтите, что обычно датчик располагается возле камеры. Именно это место должно быть как можно ближе к терминалу.
Включение защиты Android для бесконтактной оплаты
Когда смартфон становится средством оплаты, остро встает вопрос безопасности транзакций. Не сможет ли злоумышленник, получивший доступ к устройству, использовать его для совершения покупок? Теоретически это возможно, но только в том случае, если владелец мобильного устройства заранее не активировал защиту.
Защита для кошелька представляет собой запрет на совершение транзакций на заблокированном экране. То есть для оплаты покупок владельцу телефона так или иначе придется разблокировать его, используя установленное ранее средство защиты (пароль, графический ключ, отпечаток, лицо и так далее). Для активации защиты нужно:
- Перейти в раздел «Подключенные устройства», а затем – «Настройки подключения».
- Активировать параметр «Запрашивать разблокировку устройства».
Теперь ни один злоумышленник не сможет воспользоваться вашими деньгами для оплаты покупок. Однако не забывайте, что высокая степень безопасности гарантируется только в том случае, если вы заранее активировали блокировку экрана одним из средств, представленных выше.
Раз уж от бесконтактных банковских карт (на карте совмещены чип и NFC ) не скрыться и добрались они даже до массовых зарплатных проектов, стоит ждать роста количества атак на них (скрытые списания, копирования, клонирования). Давайте посмотрим какие у нас есть варианты более безопасного использования их:
1. Экранирующий чехол с защитой RFID / NFC . Но покупать и использовать чехольчик для каждой отдельной карты – неудобно. Скорее уж при обновлении кошелька, выбирать сразу с RFID защитой.
2. Задать лимит на списание средств без ПИН-кода? Упс. Тут уже постарались без нас. По РФ действует лимит - до 1000 руб. в сутки можно оплачивать без ПИН. Поменять сумму невозможно
3. Отключить возможность бесконтактной оплаты, оставив возможность обычной чиповой карты? Упс. Такой возможности нет. Ни со стороны банка, ни со стороны клиента.
4. Скопировать свою карту в телефон/смарт часы/браслет/кольцо с поддержкой NFC (в приложение Apple pay , Samsung pay , android pay , microsoft wallet и другое ПО). Выложить все бесконтактные карты дома.
5. Не забывать про классические меры безопасности с вязанные с банковскими картами ( SMS информирование, доверенные получатели, иметь под рукой номер для оперативной блокировки карты, помнить кодовое слово для разблокировки и т.п.)
Далее посмотрим какие варианты есть в случае если все ваши банковские карты сохранены на телефоне:
2. Вывести кнопку управления беспроводного интерфейса NFC на быстрый доступ. По умолчанию держать выключенным. При необходимости быстро включать одним нажатием
3. Отключить возможность проведения платежа пока телефон заблокирован
iOS: Settings -> Touch ID & Passcode -> Allow access when locked: wallet – off
Android Pay и Samsung Pay : это уже сделано по умолчанию .
4. Настроить один из вариантов авторизации платежа ( Pattern , PIN , or Password )
5. Включить уведомления о платежах в телефоне. По умолчанию включено.
iOS: Settings -> Wallet & Apple Pay-> Card Notifications
Settings > Applications > Application Manager > Android Pay > Notifications
6. Не отдавайте надолго разблокированный телефон. Не допускайте установки вредоносного ПО на мобильное устройство – хотя на нем и хранятся виртуальные токены вместо данных пластиковых карт, но клонирование устройства с виртуальной картой в ряде случаев возможно.
В нашем телеграм канале мы рассказываем о главных новостях из мира IT, актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру. Узнай первым как выжить в цифровом кошмаре!
Читайте также: