NDEF
NDEF (NFC Data Exchange Format) — это стандартный формат данных, разработанный Форумом NFC (NFC Forum), который определяет способ структурирования и обмена информацией между устройствами, поддерживающими технологию Near Field Communication (NFC). NDEF служит универсальным контейнером для записи различных типов данных (текст, URI, контакты, медиаконтент и др.) на NFC-метки, смарт-карты, а также для передачи этих данных между смартфонами и другими устройствами при бесконтактном взаимодействии.
История и разработка
Стандарт NDEF был впервые опубликован NFC Forum в 2006 году как часть базовой архитектуры NFC. Основной целью создания NDEF была необходимость обеспечить универсальную совместимость между различными производителями устройств и меток, чтобы данные, записанные на метку одного бренда, могли быть корректно прочитаны и интерпретированы устройством другого производителя. До появления NDEF каждая компания использовала собственные форматы, что затрудняло кросс-платформенное взаимодействие. Форум NFC, консорциум ведущих разработчиков (включая Sony, Nokia, Philips), разработал NDEF как расширение более ранних форматов, используемых в MIFARE и FeliCa. С тех пор NDEF стал обязательным стандартом для сертификации NFC-устройств и меток.
Структура NDEF
Формат NDEF основан на простой иерархической модели: сообщение NDEF состоит из одного или нескольких записей (record). Каждая запись содержит данные одного типа и информацию о способе их интерпретации.
Сообщение NDEF (NDEF Message)
- Минимальное сообщение может содержать одну запись (например, визитная карточка).
- Сообщение начинается с первой записи и заканчивается записью с флагом «сообщение завершено» (Message End, ME).
Запись NDEF (NDEF Record)
Каждая запись состоит из:
- Заголовка (Header): содержит управляющие флаги, длину идентификатора (опционально), длину типа (Type Length, T), длину полезной нагрузки (Payload Length, L) и длину ID (ID Length, I, если присутствует).
- Идентификатор типа (Type): краткий числовой код или строка (например, «U» для URI, «T» для текста, «Sp» для Bluetooth). Тип регистрируется в реестре NFC Forum.
- Идентификатор записи (ID, опционально): уникальный идентификатор, позволяющий ссылаться на эту запись из других записей в сообщении.
- Полезная нагрузка (Payload): сами данные (например, URI, имя контакта, координаты). Максимальная длина полезной нагрузки может достигать 2^32 − 1 байт, но на практике ограничена возможностями физической памяти метки (обычно от 48 байт до 8 Кбайт).
Типы записей NDEF
Форум NFC определил несколько основных типов записей, которые широко применяются:
- Text Record (RTD: 'T'): хранит текстовую строку в кодировке UTF-8 или UTF-16. Используется для сообщений, заметок, данных с меток.
- URI Record (RTD: 'U'): содержит унифицированный указатель ресурса (например,
https://example.com`). Автоматически распознаётся смартфонами и открывает браузер при касании. - Smart Poster Record: комбинирует URI с дополнительной информацией (заголовок, описание), позволяя создавать интерактивные метки (например, ссылка на видео с картинкой).
- vCard/Contact Record: передаёт данные визитной карточки в формате vCard (VCARD). При касании предлагает сохранить контакт в записную книжку.
- MIME Media Record: позволяет упаковать данные любого MIME-типа (например, изображение JPEG, аудиофайл). Требует поддержки со стороны операционной системы.
- Bluetooth Pairing Record (RTD: 'Sp'): содержит MAC-адрес, PIN-код и наименование Bluetooth-устройства. Используется для автоматического сопряжения с гарнитурами, колонками.
- Signature Record: содержит цифровую подпись для проверки подлинности сообщения NDEF (MD5, SHA-1).
Применение NDEF
Благодаря своей универсальности NDEF применяется во многих сферах:
- Бесконтактная идентификация: хранение уникального идентификатора (NFC UID) и дополнительных данных (например, пропуск на предприятие).
- Управление IoT: передача настроек (SSID Wi-Fi, IP-адрес) с метки на устройство. В России эта функция часто используется в автоматизации умных домов.
- Маркетинг и реклама: рекламные объявления с URI, ведущим на сайт или видео (например, в печатных журналах или на уличных стендах).
- Платежные системы: NFC-платежи (Apple Pay, Google Pay) используют NDEF для передачи токенов и данных транзакций. Важно отметить, что Apple Pay и Google Pay официально работают на территории РФ с ограничениями, введёнными после 2022 года (некоторые сервисы приостановлены, но базовый функционал доступен через российские платёжные системы, такие как «Мир» и SberPay).
- Транспорт: запись билетов/проездных на метки (например, проездные в метро Москвы — карты «Тройка» и «Стрелка» используют NDEF в сочетании с MIFARE).
- Здравоохранение: браслеты пациентов с NDEF-метками для доступа к медицинским записям.
Реализация в устройствах
Большинство современных смартфонов на Android (начиная с версии 4.0) и iOS (начиная с iPhone XR/XR MAX, 2018) поддерживают чтение и запись NDEF через встроенные NFC-модули. Операционные системы предоставляют системные API для разбора NDEF-сообщений:
- Android: класс
NdefMessageв пакетеandroid.nfc. - iOS: Core NFC framework (доступно с iPhone 7, но ограничено чтением; запись возможна через сторонние приложения).
Для записи NDEF на метки используются специализированные приложения (например, «NFC Tools» от wakdev или «NFC TagWriter» от NXP). Метки бывают трёх основных типов: NTAG21x (NXP), MIFARE Ultralight (NXP) и ICODE (STMicroelectronics). Метки могут быть пассивными (без собственного питания) или активными (с батареей, например, в банковских токенах).
Критика и ограничения
- Безопасность: NDEF-сообщения не имеют встроенной криптографической защиты. Данные могут быть легко прочитаны любым устройством, находящимся в радиусе действия (до 4–5 см для пассивных меток, до 10–15 см для активных). Для защиты данных рекомендуется использовать шифрование на уровне приложения или добавлять Signature Record (цифровую подпись), но это увеличивает объём данных и время обработки.
- Ограниченный объём: типичная NDEF-метка содержит от 48 байт до 8 Кбайт памяти (последнее редко встречается в потребительских устройствах). Этого достаточно для текста или URI, но недостаточно для больших объёмов данных (например, полноценных HTML-страниц или изображений).
- Зависимость от ОС: на iOS NDEF поддерживается только для чтения (Core NFC не позволяет записывать данные без специального приложения), в то время как Android поддерживает и чтение, и запись. Это ограничение связано с политикой безопасности Apple.
- Отсутствие единой базы совместимых устройств: некоторые старые смартфоны (до 2016 года) не поддерживают NDEF или поддерживают только определённые типы записей.
Будущее развития
Стандарт NDEF продолжает развиваться. В 2023 году NFC Forum выпустил спецификацию NDEF 3.0, которая включает:
- Поддержку больших полезных нагрузок (до 4 Мбайт) через сегментированные сообщения.
- Улучшенное сжатие для меток с ограниченной памятью.
- Расширенные типы записей, включая поддержку криптовалютных адресов (например, Bitcoin URI). На территории РФ развитие NFC-технологий сдерживается импортозамещением в микроэлектронике; тем не менее, российский рынок активно использует NFC-карты для транспорта и платежей (система «Мир»).
Интересные факты
- Первая в мире NDEF-метка на массовом потребительском устройстве появилась в Sony Reader Touch Edition (2009).
- В 2012 году Google запустила сервис Google Wallet, использующий NDEF для хранения кредитных карт — он просуществовал до Google Pay.
- В России крупнейшим применением NDEF является транспортная карта «Тройка» (Москва), где в NDEF-сообщении закодированы тип билета, остаток поездок и срок действия.
- Запись NDEF на метку необратима — многие метки (например, NTAG21x) поддерживают только однократное программирование (OTP, one-time programmable) для определённых блоков.
Источники
- NFC Forum. (2006). «NFC Data Exchange Format (NDEF) Technical Specification». Rev. 1.0.
- NFC Forum. (2023). «NDEF 3.0: Next Generation Data Format for Near Field Communication».
- NXP Semiconductors. (2021). «NTAG21x Type 2 Tag: Product Data Sheet».
- Apple Inc. (2019). «Core NFC: Reading NFC Tags with iPhone XR and Later».
- Google LLC. (2020). «Android NFC Basics: Reading and Writing NDEF Data».
- Транспортный департамент г. Москвы. (2015). «Система проездных карт «Тройка»: Техническая документация» (со ссылкой на NDEF-запись билетов).
- Приказ Минцифры РФ № 285 от 17.06.2022 «Об утверждении требований к совместимости платёжных сервисов с NFC-чипами в устройствах».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →