Использование технологий RFID / NFC сейчас весьма популярно. Для начала разберемся с терминологией.
RFID-метки чаще всего содержат антенну и чип, и являются пассивными - питаются энергией радиоволны от считывателя. Существует несколько типов меток, работающих в различных диапазонах частот.
Наиболее популярные - HF - ВЧ (высокая частота 13,56 МГц, дальность до 1 м, слабо поглощается водой, в моей локации такие метки часто используются как ключи к домофонам).
Также применяются LF - НЧ (низкая частота 125 кГц, дальность до 10 см, применяются для чипирования животных) и реже UHF - УВЧ (ультравысокая частота 860-960 МГц, дальность до 15 м, сильно поглощается водой и металлом, применяются на складах и в магазинах).
NFC работает на той же частоте 13,56 Мгц, что и HF RFID (поэтому смартфон с поддержкой NFC может работать и с RFID-метками), но использует более сложные протоколы - режим эмуляции NFC-карточки, режим считывания/записи NFC-меток, режим "точка-точка" для обмена информацией.
Я рассмотрю только RFID-технологию.
Для экспериментов я приобрел вот такой набор из RFID-меток в виде брелка (1) и карточки (2) и плату (3) для подключения к микроконтроллеру, работающих на частоте 13,56 МГц (HF).

Эти метки - представители семейства MIFARE Classic (MF1C / MF1S503x) c объемом памяти 1 килобайт (бывают и с 4 килобайтами):

Считывание и запись RFID-модулей я выполняю посредством Android-смартфона с приложением MIFARE Classic Tool:

Мой смартфон считывает RFID-карту с расстояния около 4 см.
Вот пример считанного дампа RFID-брелка:

Как видно, память модуля разбита на 16 секторов с номерами от 0 до 15, а каждый сектор хранит 64 байта (16 · 64 = 1024 байта).
Сектор состоит из четырех блоков по 16 байт в каждом.
Первые 3 сектора хранят пользовательские данные, а последний сектор (trailer)- служебную информацию:

Первые 6 байт хранят ключ Key A, последние 6 байт - ключ Key B, а между ними 3 байта AC (Access Conditions) управляют доступом к блокам сектора, а четвертый - "dummy" (может хранить произвольное значение).
Key A
по умолчанию: FF FF FF FF FF FF
Key B
по умолчанию: FF FF FF FF FF FF
AC
по умолчанию: FF 07 80
Особую роль играет нулевой сектор, который хранит идентификатор RFID-модуля (UID), и у большинства карт доступен только для чтения:

(в этом случае 4-хбайтный UID = 0x243545A3)
Для модификации содержимого RFID-метки нужно считать содержимое ее памяти (дамп), экспортировать его, отредактировать, импортировать и записать на метку. Для экспорта/импорта удобно использовать текстовый формат файлов *.mct.

Продолжение следует