Технология NFC – обзор от «М.Видео»

Типы NFC-меток

Существует четыре типа меток, описанных NFC-форумом, все они базируются на RFID-протоколах. Это делает NFC метки частично совместимыми со многими уже существующими RFID системами (например, Mifare и FeliCa). Хотя эти более старые системы не поддерживают NDEF, они, однако, могут опознавать NFC метки, которые совместимы с ними.

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

Типы 1, 2 и 4 основаны на ГОСТ Р ИСО/МЭК 14443A (состоит из четырёх частей: 1, 2, 3, 4), тип 3 — на ГОСТ Р ИСО/МЭК 18092. Более подробно про каждый из типов можно прочитать под спойлером.

Тип 1:

  • Основан на ГОСТ Р ИСО/МЭК 14443A;
  • Может быть как только для чтения, так и для чтения/записи;
  • Содержит от 96 байт до 2 кбайт памяти;
  • Нет защиты данных от коллизий (прим. — коллизии могут возникнуть; когда два активных источника передают данные одновременно);
  • Примеры: Innovision Topaz, Broadcom BCM20203.

Тип 2:

  • Аналогично типу 1 основан на NXP/PhilipsMifareUltralight метках (ГОСТ Р ИСО/МЭК 14443A);
  • Может быть как только для чтения, так и для чтения/записи;
  • Содержит от 96 байт до 2 кбайт памяти;
  • Скорость взаимодействия 106 кбит/с;
  • Поддержка анти-коллизий;
  • Пример: NXP Mifare Ultralight.

Тип 3:

  • Основан на метках SonyFeliCa (ГОСТ Р ИСО/МЭК 18092 и JIS-X-6319-4) без поддержки шифрования и аутентификации, которая предоставлена спецификацией FeliCa;
  • Может быть либо только для чтения, либо для чтения/записи;
  • Скорость взаимодействия 212 или 424 кбит/с;
  • Поддержка анти-коллизий;
  • Пример: Sony FeliCa.

Тип 4:

  • Аналогично типу 1, тип 4 основан на ГОСТ Р ИСО/МЭК 14443A;
  • Может быть либо только для чтения, либо для чтения/записи;
  • 2, 4 или 8 кбайт памяти;
  • Скорость взаимодействия 106, 212 или 424 кбит/с;
  • Поддержка анти-коллизий;
  • Пример: NXP DESFire, SmartMX-JCOP.

Пятый тип является собственностью NXPSemiconductors и, вероятно, самым распространённым на сегодняшний день MifareClassictag (ГОСТ Р ИСО/МЭК 14443A):

  • Память: 192, 768 или 3584 байта;
  • Скорость взаимодействия 106 кбит/с;
  • Поддержка анти-коллизий;
  • Пример: NXP Mifare Classic 1K, Mifare Classic 4K, Mifare Classic Mini.

Бесконтактные системы оплаты

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

С приходом технологий бесконтактной оплаты Visa payWave и MasterCard PayPass процесс транзакции стал проходить быстрее, однако уровень безопасности не повысился. По-настоящему правила игры изменились с появлением NFC в смартфонах и технологии эмуляции пластиковой карты с возможностью оплаты. Вы просто подносите смартфон к терминалу, как обычную карту, и всё – покупка оплачена.

NFC совместима со стандартом ISO 14443 и объединяет множество бесконтактных карт, в том числе банковские карты, поддерживающее MasterCard PayPass или VISA PayWave. Пластиковая карта содержит микропроцессор с ОС и платежным приложением для взаимодействия с данными конкретного клиента. Как только карту вставляют в терминал или проводят по нему, она получает энергию для запуска операционной системы. В случае с бесконтактными картами питание, как мы уже говорили, получается при помощи электромагнитного поля считывателя.

Технология NFC – обзор от «М.Видео»

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

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

При совершении покупок свыше 1000 рублей вас могут попросить ввести PIN-код или поставить подпись на чеке — здесь уже все зависит от банка.

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

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

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

NFC устройства также имеют три способа работы. Они могут работать в режиме чтения информации с цели или записи на неё. Они могут эмулировать карты, ведя себя как RFID-метки, когда они в поле другого NFC или RFID устройства. Или они могут работать в режиме peer-to-peer (P2P), в котором они обмениваются данными сразу в обоих направлениях.

Технология NFC – обзор от «М.Видео»

Первым главным отличием NFC от RFID является способ взаимодействия peer-to-peer, который реализован с помощью ГОСТ Р ИСО/МЭК 18092. Обмен данными P2P реализуется двумя протоколами — протоколом подуровня управления логической связью (LLCP — logical link control protocol) и простым протоколом обмена данными NDEF (SNEP — simple NDEF exchange format).

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

NFC — это беспроводная короткодистанционная технология, которая работает на частоте 13,56 МГц, использующейся для промышленных, медицинских и научных целей. NFC является логическим продолжением технологии RFID, а её основным отличием стал ограниченный радиус действия. В то время как дистанция считывания RFID-меток может достигать нескольких сотен метров, метки NFC доступны в пределах 10 сантиметров.

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

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

Метки NFC

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

Технология NFC – обзор от «М.Видео»

Например, садясь в машину, вы обычно повышаете яркость экрана до максимума и запускаете «Google Карты» для навигации. Чтобы проделать это, потребуется немало действий. Если же у вас есть NFC-метка, запрограммированная на эти действия, то достаточно прикоснуться к ней смартфоном – и всё произойдёт само собой.

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

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

Это еще один распространенный способ применения NFC в смартфоне. Метки NFC получили большую популярность в торговых и рекламных зонах: их встраивают в афиши, рекламные щиты, помещают на товары в магазинах. Обычно это небольшие стикеры, стоимость которых не превышает 50 рублей. Затраты минимальные, зато какой эффект! От получения более подробной информации о концерте или товаре до ссылки на трейлер нового фильма.

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

На самом деле NFC-метки — настоящий подарок, когда речь заходит об автоматизации. Например, можно наклеить метку на ноутбук и при помощи приложения Trigger настроить включение точки доступа, выбрав в качестве действия «Беспроводные и локальные сети». Решение попроще — записать пароль от Wi-Fi на метку, наклеить ее на роутер, и потом всякий раз, когда гости спросят пароль, отправлять их к NFC-метке. Или еще: установить метку около кровати и сделать так, чтобы при прикосновении на смартфоне включался авиарежим (опять же с помощью Trigger).

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

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

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

Технология NFC – обзор от «М.Видео»

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

На физическом уровне NFC работает по алгоритму, описанному в ГОСТ для RFID (ГОСТ Р ИСО/МЭК 14443-2-2014), где говорится о маломощных радиосигналах частотой 13,56 МГц. Затем идёт уровень, который описывает разбивку потока данных на фреймы (ГОСТ Р ИСО/МЭК 14443-3-2014). Любые радиоконтроллеры, которые используются в телефоне, планшете или подсоединяются к компьютеру или микроконтроллеру, являются отдельными аппаратными компонентами.

Они взаимодействуют с главным процессором посредством одного или нескольких стандартных последовательных протоколов между устройствами: универсальный асинхронный приёмопередатчик (UART), последовательный периферийный интерфейс (SPI), последовательная шина данных для связи интегральных схем (I2C) или универсальная последовательная шина (USB).

Над этим находится несколько протоколов команд RFID, базирующихся на двух спецификациях. NFC чтение и запись меток базируется на оригинальном RFID ГОСТ Р ИСО/МЭК 14443A. Протоколы Philips/NXP Semiconductors Mifare Classic и Mifare Ultralight и NXP DESFire совместимы с ГОСТ Р ИСО/МЭК 14443A. Обмен данными P2P NFC базируется на ГОСТ Р ИСО/МЭК 18092.

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

Открываем все двери

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

Технология NFC – обзор от «М.Видео»

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

Какой длины может быть NDEF-сообщение?

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

Есть несколько распространённых типов NDEF-записей:

  1. Обычные текстовые записи. В них можно отправить любую строку, они не содержат инструкций для цели, но содержат метаданные об языке текста и кодировке.
  2. URI. Такие записи содержат данные об интернет-ссылках. Цель, получившая такую запись, откроет её в том приложении, которое сможет её отобразить. Например, веб-браузере.
  3. Умная запись. Содержит не только веб-ссылки, но и текстовое описание к ним, чтобы было понятно, что находится по этой ссылке. В зависимости от данных записи телефон может открыть информацию в нужном приложении, будь то SMS или e-mail, либо сменить настройки телефона (громкость звука, яркость экрана и т.д.).
  4. Подпись. Она позволяет доказать, что информация, которая была передана или передаётся, достоверна.

Можно использовать несколько видов записей в одном NDEF-сообщении.

Можно представить сообщение как параграф, а записи — как предложения. Параграф — определённая единица информации, которая содержит одно или несколько предложений. Тогда как предложение — меньшая единица информации, которая содержит всего одну идею. Например, можно в виде абзаца сделать приглашения на день рождения и написать в отдельных предложениях данные о дате, времени и месте проведения, а с помощью NDEF-сообщений передать друзьям напоминание об этом событии, где будет текстовое сообщение с описанием события, умную запись с местом и веб-ссылку с тем, как добраться до этого места.

НФС расшифровка

Второе главное различие между NFC и RFID — формат обмена данными NFC (NDEF — NFC data exchange format). NDEF определяет формат данных в сообщениях, которые в свою очередь состоят из NDEF записей. Есть несколько видов записей, о которых будет рассказано более подробно чуть ниже. NDEF делает возможным с помощью программного кода управлять процессом чтения и записи NFC-меток, обмена данными при помощи peer-to-peer и эмулирования карт.

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

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

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

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

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

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

расположение модуля нфс

Для того чтобы передать большой объем информации, устройства придётся держать друг рядом с другом длительное время, это может быть неудобным. Если нужно длительное взаимодействие между устройствами, то можно воспользоваться NFC для быстрого обмена данными о возможностях устройств и последующего включения одного из более подходящих способов передачи данных (Bluetooth, Wi-Fi и т.д.).

Когда телефон на Android считывает NFC-метку, он сначала её обрабатывает и распознает, а затем передаёт данные о ней в соответствующее приложение для последующего создания intent. Если с NFC может работать больше одного приложения, то появится меню выбора приложения. Система распознавания определяется тремя intent, которые перечислены в порядке важности от самой высокой до низкой:

  1. ACTION_NDEF_DISCOVERED: Этот intent используется для запуска аctivity, если в метке содержится NDEF-сообщение. Он имеет самый высокий приоритет, и система будет запускать его в первую очередь.
  2. ACTION_TECH_DISCOVERED: Если никаких activity для intent ACTION_NDEF_DISCOVERED не зарегистрировано, то система распознавания попробует запустить приложение с этим intent. Также этот intent будет сразу запущен, если найденное NDEF-сообщение не подходит под MIME-тип или URI, или метка совсем не содержит сообщения.
  3. ACTION_TAG_DISCOVERED: Этот intent будет запущен, если два предыдущих intent не сработали.

В общем случае система распознавания работает, как представлено на рисунке ниже.

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

Если activity запускается из-за NFC intent, то можно получить информацию с отсканированной NFC-метки из этого intent. Intent может содержать следующие дополнительные поля (зависит от типа отсканированной метки):

  • EXTRA_TAG (обязательное): объект Tag, описывающий отсканированную метку.
  • EXTRA_NDEF_MESSAGES (опциональное): Массив NDEF-сообщений, просчитанный с метки. Это дополнительное поле присуще только intent ACTION_NDEF_DISCOVERED.
  • EXTRA_ID (опциональное): Низкоуровневый идентификатор метки.

Ниже представлен пример, проверяющий intent ACTION_NDEF_DISCOVERED и получающий NDEF-сообщения из дополнительного поля.

Kotlin

override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    ...
    if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) {
        intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)?.also { rawMessages -{amp}gt;
            val messages: List = rawMessages.map { it as NdefMessage }
            // Обработка массива сообщений.
            ...
        }
    }
}
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    ...
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
        Parcelable[] rawMessages =
            intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
        if (rawMessages != null) {
            NdefMessage[] messages = new NdefMessage[rawMessages.length];
            for (int i = 0; i {amp}lt; rawMessages.length; i  ) {
                messages[i] = (NdefMessage) rawMessages[i];
            }
            // Обработка массива сообщений.
            ...
        }
    }
}

Как активировать НФС

Kotlin

val tag: Tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

Существует несколько методов для создания NDEF-записи: createUri(), createExternal() и createMime(). Лучше использовать один из них во избежание ошибок, которые могут возникнуть при создании записи вручную. Все примеры, представленные ниже, следует отправлять первым сообщением при записи метки, либо сопряжением с другим устройством.

Kotlin

Вместо заключения

Беспроводная оплата с помощью НФЦ

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

Более подробно об NFC или NDEF можно почитать в книге Tom Igoe, Don Coleman, and Brian Jepson «Beginning NFC. Near Field Communication with Arduino, Android, and PhoneGap».

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

(за $321.99 по коду Mi5SGBS до 31.12) и

, так и во флагманах вроде

. Радует также разнообразие

Обмен данными с помощью НФС

Что с Apple и ее iPhone 7, спросите вы? Увы, но компания-производитель ограничивает работу чипа NFC в своем смартфоне, и его можно использовать только для платежной системы Apple Pay. Осенью, впрочем, она запустилась в России, так что хоть какой-то плюс.

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

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

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