Карта в метро, оплата в кофейне, пропуск в офис, метка на визитке — всё это NFC. Метка в кармане вообще без батарейки — питается от поля телефона. Дальше — как это работает, и что в этом всём можно сломать.
NFC (Near Field Communication) — это способ передать данные по радио на расстояние до 4 см. Работает на частоте 13.56 МГц — это тот же стандарт, что используется в банковских картах и пропусках на работе.
Главная магия — метка на другом конце не имеет собственного питания. Ни батарейки, ни аккумулятора. Телефон создаёт переменное магнитное поле, метка «ловит» его своей антенной, и из этого поля получает и энергию, и данные одновременно.
Если сравнить с QR-кодом — оба передают ту же информацию (ссылку, текст, контакт). Но QR — это картинка, которую надо увидеть глазами. NFC — это радио, которому свет не нужен, но которое работает только в упор.
Поле, которое создаёт телефон, гаснет с расстоянием очень быстро. Уже на 4 сантиметрах его почти нет, а на 10 — нет совсем. Подвигайте ползунок и увидите, в какой момент метка «оживает».
Метка хранит данные в формате NDEF. Это как посылка: есть тип вложения, длина и сами данные. Выберите, что хотите записать — и увидите, как это упаковывается в байты.
Большинство NFC-меток не защищены паролем. Любой телефон с NFC может считать содержимое и записать его на болванку — получится идеальный клон. Но у меток с защитой (например, банковских карт) — всё иначе.
Визитка, стикер на столе, метка на подъезде. Никто не мешает считать её содержимое и записать на такую же пустую метку.
Внутри — криптографический чип. Он не отдаёт данные просто так: каждая операция — это обмен подписанными сообщениями с секретным ключом.
NFC не только про оплату. Вот типичные ситуации, где вы имеете дело с этой технологией каждый день.
Телефон притворяется банковской картой. Терминал думает, что держит пластик, а на самом деле общается с чипом в приложении.
Пропуск или карта «Тройка». Прикладываешь — и турникет открывается за 200 миллисекунд. Работает без батарейки, потому что питается от поля турникета.
Наклейка на столе или визитке: прикладываешь телефон — открывается сайт. По сути, QR-код, но без картинки.
Метка на столике в кафе. Прикладываешь — телефон сам подключается к сети, без ввода пароля.
Внутри паспорта — чип с фотографией и отпечатками. Пограничник сканирует его, но для защиты используется шифрование.
Метка у входа — «ушёл». Телефон прикладывается и выключает свет, ставит охрану, глушит уведомления. Одна метка = один сценарий.
NFC-технология сама по себе не опасная — но требует понимания. Вот несколько правил, которые избавят от проблем.
4 см — это очень мало. Перехватить сигнал из соседнего помещения невозможно. NFC-считыватель на расстоянии практически не существует.
Пароли, PIN-коды, банковские данные — всё это можно считать и скопировать за секунду, если метка не защищена.
Если метка открыта на запись — любой телефон с NFC превратит её в копию. Это не баг, это фича для удобства.
Настоящий EMV-чип не отдаёт данные в открытом виде. Он подписывает каждую транзакцию ключом, который никогда не покидает чип.
NTAG 424, MIFARE DESFire, EMV-карты. Внутри — AES-128 и challenge-response. Клонировать не получится.
Chrome на Android умеет читать и писать NFC прямо со страницы. На iPhone не работает. Для демо лучше симулятор.