Nfc functionality

Как устроены пластиковые карты

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

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

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

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

Архитектура NFC

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

Рисунок 1. Сравнение технологий передачи данных ближнего действия.

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

Nfc functionality

Рисунок 2. Семейства протоколов NFC

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

Все режимы более подробно описаны ниже.

Платежная функция телефона

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

Вот и все! Оставайтесь вместе с сайтом Android 1, дальше будет еще интересней! Больше статей и инструкций читайте в разделе Статьи и Хаки Android.

Nfc functionality

Следующий обратный вызов класса переходов показывает функцию считывания. Если класс переходов вещания системы равен 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 нужно узнать, обнаружена ли радиометка, а затем записать информацию в 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();
	}

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

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

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

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

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

Secure Element может быть либо встроенным в материнскую плату телефона, либо находиться на отделяемом модуле: SIM-карте или SD-карте.

Nfc functionality

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

Первыми в РФ попытались перенести карту в телефон сотовые операторы, например, «МТС» и банк «Русский Стандарт», «Мегафон» и транспортная карта в г. Екатеринбург, «Билайн» и транспортная карта в г. Казань и т.п. Чтобы сделать это, им понадобилось закупить специальные SIM-карты с Secure Element, договориться с транспортной компанией или банком о записи на эти карты платежного приложения, осуществить процесс «контактной персонализации», а затем обменивать старые SIM-карты абонентов на новые.

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

Как пользоваться NFC? Как настроить NFC для оплаты? Android-кредитная карта

Все очень просто! Для того чтобы узнать есть ли NFC чип на вашем любимом смартфоне или планшете Android и включить при необходимости, вам необходимо перейти в Настройки -{amp}gt; Беспроводные сети (либо Дополнительные функции) -{amp}gt; NFC

Если у вас нет данного параметра в меню, то NFC в вашем Android отсутствует и его ни как не добавить, скачав «программу nfc», либо используя паяльник.

Часто забываете свою банковскую кредитную карту? Тогда в таком случае, если ваш Android оборудован NFC чипом, то он сможет легко стать кредиткой картой!

Nfc functionality

Android Beam это способ передачи информации (как Bluetooth) через чип NFC. Стоит предупредить, что скорость передачи через Android Beam очень мала, поэтому стоит использовать только для переброски небольшой текстовой информации или веб адреса. Для этого нажмите кнопку «расшарить».

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

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

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

NfcAdapter: Работает в качестве агента NFC (наподобие сетевого адаптера в компьютере), с помощью которого сотовые телефоны получают доступ к оборудованию NFC для запуска обмена данными NFC.

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

Nfc functionality

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

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

NDEF_DISCOVERED, TECH_DISCOVERED, TAG_DISCOVERED

Мы используем здесь тип intent-filter для обработки всех типов от TECH_DISCOVERED до ACTION_TECH_DISCOVERED. Файл nfc_tech_filter.xml используется для всех типов, определенных в файле TAG. Подробные сведения см. в документации Android. На приведенном ниже рисунке показано действие соответствующего процесса при обнаружении телефоном радиометки.

Рисунок 6. Процесс работы при обнаружении метки NFC

Удаленная загрузка карт

К счастью, телефон является интерактивным устройством, которое всегда на связи. Следовательно, в него можно удаленно записывать платежные карты и именно тех поставщиков услуг, которые нужны конкретным пользователям. Для осуществления этой функции была сформулирована роль TSM (Trusted Service Manager), который объединяет с одной стороны поставщиков услуг (Service Provider TSM), а с другой стороны чипы Secure Element в любых форма-факторах (Secure Element Issuer TSM). Такая платформа TSM и была разработана нами в компании i-Free и сертифицирована на соответствие всем необходимым мировым стандартам.

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

Взаимодействие смартфона и платформы TSM

Читаем NFC-тег

Платформа TSM удаленно управляет чипами Secure Element в телефонах пользователей через безопасный канал связи, используя сам телефон в качестве модема. Ключи от Secure Element хранятся на специальных серверах HSM (Hardware Security Module), являющихся неотъемлемой частью TSM, и без участия последнего получить доступ к чипу невозможно.

На основании распоряжения поставщика услуги TSM записывает (или удаляет, например, в случае утери смартфона) данные карты в Secure Element, а также позволяет проводить удаленный аудит выпущенных карт или, например, просматривать актуальный баланс по картам оплаты проезда или картам лояльности для отображения на экране телефона.

Для какой именно выпущенной карты активировать режим оплаты выбирает пользователь, через пользовательское приложение «Кошелёк», которое отображает выпущенные и доступные для выпуска карты, а также принимает заявки на выпуск новых. Поставщик услуги, получая заявку на выпуск карты, передает эти данные Secure Element телефона через платформу TSM.

Оплата банковской картой в телефоне

На сегодняшний день выпущенной в «Кошельке» банковской картой можно оплачивать покупки в магазинах, принимающих карты MasterCard PayPass по всему миру, и доступ в интернет в телефоне для этого не требуется. Банковские терминалы в таких точках продаж обозначаются логотипом бесконтактной оплаты (овальный логотип с волнами вправо), который размещается именно в том месте, где находится антенна в считывателе, и прикладывать телефон (местом где в его корпусе расположена антенна) необходимо к этому логотипу, даже если он находится на экране терминала.

Местонахождение антенны различается в зависимости от модели телефона. Например, в смартфонах Philips Xenium W336 и Philips Xenium W5888 антенна находится чуть ниже центра задней панели, а вот в HTC One она расположена выше — за задней камерой, так как корпус телефона металлический,  радио сигнал проходит через узкие пластиковые участки в форме буквы «Т».

На банковских терминалах, оборудованных бесконтактными считывателями, имеется 4 цветовых индикатора. Первый означает готовность к работе, второй — считывание, третий — считывание завершено и можно убирать карту, а четвертый — результат считывания.

Nfc functionality

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

Приложение «Кошелёк»

Приложение «Кошелёк» не является электронным кошельком или платежной системой, как скажем, многим известный Visa QIWI Wallet и аналоги. «Кошелёк» — это в первую очередь универсальный интерфейс к приложениям (картам) в Secure Element. Благодаря такому подходу, телефон становится «универсальной интерактивной пластиковой картой».

Основная роль приложения заключается в отображении выпущенных или доступных к выпуску карт и обеспечении канала связи между Secure Element и TSM. Также «Кошелёк» дает пользователю возможность интерактивно управлять картами, загруженными в Secure Element.

Приложение предустанавливается на совместимые телефоны на производстве или добавляется с обновлением программного обеспечения таких телефонов (на момент написания текста это HTC One, Philips W8555 и Philips Xenium W336, а в ближайшее время добавятся HTC One Dual SIM, HTC One Max, HTC One SV, HTC Desire 500 и HTC Desire 600). Другие модели и производители появятся позже.

Первая карта, которая доступна в «Кошельке» уже сегодня — предоплаченная банковская карта «ТКС Банка». «Предоплаченная» означает, что карта выпускается без заключения письменного договора с банком, не связана с вашими другими картами в банке, а также в соответствии с законодательством РФ имеет ограничения на одну операцию (не более 15 000 рублей) и общую сумму операций за месяц (не более 40 000 рублей). При выполнении заявки пользователя на выпуск, карта доставляется в телефон в среденем в течение 10 минут.

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

Любая карта в любом телефоне

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

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

Автор текста: Константин Савченко

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *