Пароль на NFC-метку: что защищает, а что клонируют

Пароль на NFC-метку: что защищает, а что клонируют

2026-09-23

Ты поставил пароль на метку, проверил — читается только с паролем, вроде всё закрыто. А через месяц кто-то открывает твоим «защищённым» пропуском дверь, потому что пароль на метке защищает совсем не то, что ты думал.


В NFC нет одной кнопки «защитить». Есть несколько независимых механизмов, и работают они на разных уровнях: пароль внутри чипа, необратимая блокировка памяти, ключи секторов, криптография чипа и, наконец, логика системы доступа на стороне контроллера. Пароль — лишь один из них, причём не самый сильный.


Разберём по-честному: как поставить пароль на NTAG 213/215/216, почему у MIFARE Ultralight пароля нет и почему его не поставить, как устроена защита MIFARE Classic, почему нулевой блок (тот самый UID) нельзя запереть, чем в 2026 году копируют пропуска и метки — и что действительно помогает.


Четыре замка и один уровень, которого нет


Что защищаемЧем закрываетсяНасколько надёжно
Номер чипа (UID)ничем: прошит на заводе, читается до любой аутентификации0 из 10
Содержимое метки (NDEF)пароль PWD: NTAG 21x, Ultralight EV1, Ultralight Cзависит от настроек
Запись в памятьWRITE LOCK (необратимо) или пароль8 из 10
Данные в секторахключи A и B, шифр Crypto-1 (MIFARE Classic)3 из 10
Сам доступ (дверь, турникет)криптография AES плюс решение контроллера9 из 10

Начнём с главного, что почти никто не осознаёт: пароль и UID — это два разных мира. UID передаётся считывателю в момент антиколлизии, когда метка только «поздоровалась» с ридером: никакой пароль, никакая криптография на этой стадии ещё не участвуют. Если дверь или турникет проверяют только UID — пароль на метке не значит ничего.


Второй момент: даже правильный пароль защищает только те страницы памяти, которые ты сам указал при настройке. По умолчанию чип с завода открыт: пароль в нём есть, а защита выключена. Как это выглядит на практике — ниже.


Пароль на NTAG 213/215/216: как он устроен


У NTAG 213, 215 и 216 (и у MIFARE Ultralight EV1) защита сделана просто и жёстко: 4-байтный пароль, который передаётся командой PWD_AUTH. Никаких сертификатов и обмена ключами — метка отдаёт защищённые страницы, если пароль угадан.


ПолеЧто это
PWDсам пароль, 4 байта (8 hex-символов)
PACK2 байта, «ответ» метки: по нему ридер понимает, что пароль верный
AUTH0номер страницы, с которой начинается защита; значение FF — защита выключена
ACCESSбит PROT: 0 — пароль нужен только для записи, 1 — и для чтения, и для записи
AUTHLIMлимит неудачных попыток: после его превышения метка закрывается навсегда
CFGLCK«пломба» на конфигурацию: пароль и настройки больше не изменить

Заводские значения: PWD = `FF FF FF FF`, PACK = `0000`, AUTH0 = `FF`, ACCESS = `00`. То есть из коробки метка открыта и перезаписывается кем угодно.


Две неприятные особенности этой схемы:


  • Забытый пароль не восстанавливается. Никакого «сброса» нет: подобрать 4 байта перебором через смартфон нереально, а если AUTHLIM задан, метка после нескольких неверных попыток уходит в глухую блокировку. Пароль на тестовых метках — правило, а не паранойя.
  • Пароль ходит по воздуху. Считыватель отправляет 4 байта открытым текстом, и их можно перехватить. Flipper Zero, например, умеет эмулировать сохранённую метку, дождаться, пока ридер пришлёт пароль, перехватить его и уже потом прочитать закрытые страницы. Поэтому пароль — не «замок», а «шторка».

Как поставить пароль: четыре способа


  1. NFC Tools (Android) — раздел «Другое»: установка пароля на NTAG 213/215/216, там же снятие пароля (если помнишь текущий), блокировка метки и форматирование. Подробно — в разборе NFC Tools.
  2. NXP TagWriter — официальное приложение NXP: «Защита метки» ставит пароль на запись, отдельный режим переводит метку в read-only навсегда.
  3. Flipper Zero — обратная задача: ввод известного пароля, чтобы прочитать закрытые страницы, либо перехват пароля у считывателя и генерация пароля по UID для некоторых вендорских меток (игрушки, фильтры Xiaomi).
  4. MIFARE Classic Tool — паролей не ставит: у MIFARE Classic другая модель защиты, о ней ниже.

Практический порядок для тиража: настроить одну метку, записать в неё контент, проверить на Android и на iPhone, и только потом ставить пароль и, если нужно, WRITE LOCK. И сразу завести реестр: номер метки, страница соглашения, пароль, дата настройки.


Ловушки, из-за которых «пароль» не работает


  1. AUTH0 остался заводским. Пароль записан, PACK записан, а защита выключена: AUTH0 = FF означает «защищённых страниц нет». Более того, при таком значении сам пароль лежит в открытой памяти — можно прочитать дамп и просто узнать его. Проверяется во вкладке технической информации металки.
  2. Пароль из словаря. `12345678`, `00000000`, `FFFFFFFF`, `A0A1A2A3` — по этим значениям ходят готовые словари в приложениях для чтения меток и во встроенных базах Flipper Zero. Простой пароль эквивалентен его отсутствию.
  3. Пароль защищает не то, что нужно. Защита чтения на NTAG закрывает страницы NDEF, но не UID. Значит, клон пропуска всё равно делается: содержимое копируется обходным путём, а номер подделывается на magic-карте.
  4. iPhone не пройдёт парольную аутентификацию. Системный NFC на iOS не отправляет PWD_AUTH, а в iOS-версиях приложений функций пароля и блокировки почти нет. Метка с защитой чтения на iPhone выглядит пустой — это важно, если ей пользуются клиенты.

MIFARE Ultralight: пароля нет и не будет


Самый частый вопрос от заказчиков: «а на этих метках пароль поставить можно?». Если на упаковке написано просто Ultralight — нет, нельзя. Это чип MF0ICU1 первого поколения: 16 страниц по 4 байта, из них 48 байт пользовательской памяти, две страницы UID, OTP-страницы и lock-биты. Ни аутентификации, ни пароля, ни криптографии в нём нет вообще.


Единственный доступный «замок» — необратимый: OTP-страницы (один раз записал — дальше только добавить единичные биты) и lock-биты, которые закрывают запись навсегда. Дверь без замка, которую можно заварить.


ЧипПамятьЗащита
MIFARE Ultralight48 байтнет: только OTP и lock-биты
MIFARE Ultralight EV148–128 байт4-байтный пароль PWD/PACK, как у NTAG 21x
MIFARE Ultralight C144 байта3DES, 16-байтный ключ
MIFARE Ultralight AES144 байтаAES-128, взаимная аутентификация

Из таблицы видно, где ловушка: пароль появляется только в EV1 и старше, а 3DES и AES — уже полноценная криптография, но у Ultralight C ключ часто оставлен заводским, и такие ключи собраны в словари (у Flipper Zero есть встроенный словарь для Ultralight C). Криптография спасает, только когда ключ уникален и не утёк.


Вывод простой: если нужен пароль на содержимое — бери NTAG 21x или Ultralight EV1. Если нужна защита от копирования — только линейка с AES (Ultralight AES, NTAG 424 DNA, DESFire). Что подходит под какую задачу — в разборе по выбору меток.


MIFARE Classic: ключи вместо пароля


Если метка определяется как MIFARE Classic — дело не в пароле. Здесь память поделена на секторы: в 1K это 16 секторов по 4 блока по 16 байт, в 4K — 40 секторов. Три блока сектора хранят данные, а последний, трейлер, устроен так:


Часть трейлераРазмерНазначение
Key A6 байтключ доступа «A»
Access-биты4 байтаправа на чтение и запись для каждого блока
Key B6 байтключ доступа «B»

Ключ длиной 48 бит — это и есть вся защита MIFARE Classic. Перед чтением или записью карта аутентифицируется шифром Crypto-1. Обычно права делают так, что по Key A можно читать, а по Key B — писать, но конкретика зависит от access-битов, и именно тут рождаются дыры:


  • Ключ по умолчанию. `FF FF FF FF FF FF` или `A0 A1 A2 A3 A4 A5` — самые популярные значения в мире. Эти ключи лежат в словарях всех приложений и устройств для работы с Classic.
  • Key B «на всякий случай» оставлен читаемым. Злоумышленник вычитывает Key B вместе с данными и получает полный доступ к сектору.
  • Заводские access-биты (`FF 07 80 69`) означают, что Key A прочитать нельзя, но это не спасает: 48 бит перебираются, а соседние секторы часто открываются одним и тем же ключом.

Crypto-1 сломан, и это не новость


Хронология, которая объясняет, почему не бывает «сложной» MIFARE Classic:


  • 2008 — публичная атака на шифр Crypto-1: разбор MIFARE Classic и Oyster-карт.
  • 2009 — беспроводное «карманничество»: атаки darkside и nested позволяют восстановить ключи и сделать клон проездного или пропуска, не касаясь карты дольше пары секунд.
  • 2015 — атака по шифротексту на «укреплённые» карты (метод, известный как hardnested). В том же году NXP официально признала слабость Crypto-1 и рекомендовала переход на решения с AES.

Вывод: MIFARE Classic — не защищённый носитель. Он отлично работает как дешёвая метка для меню, браслета, самоката, но как ключ от чего-то ценного он не годится, если только система доступа не использует дополнительную криптографию поверх (об этом ниже).


Нулевой блок: почему UID нельзя «запереть»


В MIFARE Classic нулевой блок — тот самый, который в дампах выглядит как строка с UID в начале, — это 16 байт: UID (4 байта, в семибайтных версиях — 7 байт), контрольный байт BCC, SAK, ATQA и 8 байт данных производителя.


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


А теперь про клоны. Существует класс карт, которые называют magic (UID-changeable), и они делятся на поколения:


ПоколениеКак переписать нулевой блок
Gen1A (он же UID)служебная команда-бэкдор, обычной записью блок 0 не берётся
Gen2 (CUID)нулевой блок пишется как обычный, с ключом сектора
Gen3 (APDU)через APDU-команды
Gen4 (USCUID, FUID, UFUID)гибкая перепрошивка: карта конфигурируется хоть под MIFARE Classic, хоть под NTAG 213/215/216 или Ultralight EV1/EV2

Magic-карта стоит от 50 до 150 рублей, и Flipper Zero умеет писать в Gen1, Gen2 и Gen4 данные и UID оригинала. Отсюда практический вывод: любое решение, которое опирается только на UID, ломается за минуты и копейки. Именно поэтому в нормальных чипах последних поколений (DESFire EV1 и новее) есть Random UID — номер меняется от сессии к сессии, и доверять ему бессмысленно: решение принимает криптография.


Дешёвые домофоны старой волны работают вообще на 125 кГц (EM-Marine, клоны на чипе T5577): там нет не то что пароля — там нет ни одной проверки подлинности, а дубликат ключа делается копеечным брелоком на любом рынке.


Чем копируют метки и пропуска в 2026 году


Арсенал давно не требует лаборатории: почти всё делается со смартфона, а «профессиональная» часть стоит как один поход в магазин.


ИнструментЧто умеет и чего не может
NFC Tools (Android)чтение, запись, копия метки, дамп памяти, пароль, блокировка. С Classic работает не на всех телефонах, на iPhone этих функций почти нет
MIFARE Classic Toolподбор ключей, дамп 1K и 4K, запись дампа на magic-карту. Только MIFARE Classic
NFCGateклонирование метки в файл и ретрансляция данных. Нужен второй смартфон и интернет
Flipper Zeroключи из словаря, перехват данных у считывателя, атаки на карту, эмуляция. NTAG с паролем — только через словарь или перехват
Proxmark3всё то же, но серьёзнее: hardnested, работа с укреплёнными картами. Дороже и сложнее
ChameleonMiniэмуляция точного клона, включая UID. Дамп нужно снять заранее
Копир 125 кГцдубликат старого ключа домофона на чипе T5577. Работает там, где криптографии нет вообще

Как выглядит типовой сценарий клонирования пропуска:


  1. Считать карту: телефоном или Flipper — что удалось, сохраняется в дамп.
  2. Добрать ключи: словарь дефолтных, потом атака на конкретную карту. Интересная деталь: Flipper умеет собирать данные прямо со считывателя (атака mfkey32) — карта ему для этого не нужна, только доступ к двери, куда он приложится вместе с твоим пропуском в кармане.
  3. Записать дамп на magic-карту вместе с нулевым блоком — UID совпадёт с оригиналом.
  4. Эмулировать карту телефоном или Flipper: для двери это выглядит как твой пропуск.

Отдельная история — ретрансляция (relay), и она обходит даже криптографию. Смартфон злоумышленника у двери, второй смартфон рядом с тобой, связь между ними через интернет: ридер думает, что разговаривает с твоей картой, и получает правильные ответы, потому что на другом конце отвечает настоящий чип. Против этого работает только так называемая проверка близости (Proximity Check), которая есть в DESFire EV2 и новее, и физическая изоляция — например, карта в защищённом чехле, которая «не дотягивается» до ридера.


Как защищены нормальные пропуска


Разница между «карта для прохода» и «карта для красоты» — в криптографии и в том, кто принимает решение о допуске.


УровеньНа чём построен
AES-128 и взаимная аутентификацияMIFARE DESFire EV2 и EV3, MIFARE Plus в режиме SL2 или SL3: ключ не уходит в эфир, данные шифруются и подписываются
Уникальный ключ на каждую картудиверсификация ключей, случайный UID, транзакционный MAC: утечка одной карты не открывает остальные
Проверка на стороне системыконтроллер или сервер проверяет подпись, ведёт журнал, ставит лимиты и требует второй фактор

Три практических наблюдения из этой таблицы:


  • MIFARE Plus безопасен не всегда. В режиме SL1 он специально совместим с MIFARE Classic — и уязвим ровно так же, как Classic. Защита включается только в SL2 и SL3, где работает AES.
  • Заводские ключи убивают любую криптографию. DESFire EV3 с ключом из документации и ключами по умолчанию ничуть не лучше Classic. Ключи должны быть уникальными для каждой карты и храниться в контроллере или SAM-модуле, а не в блокноте администратора.
  • Система, которая смотрит только на UID, бесполезна с любым чипом. Даже если заказчик купил DESFire, а считыватель передаёт дальше только номер карты — вы получили дорогую метку с теми же свойствами, что и домофонный ключ за 50 рублей.

А если метка нужна не для доступа, а для контента, действует обратная логика: не переплачивай за крипточип, ставь пароль, блокируй запись и следи, чтобы метка не стала «кирпичом».


Чек-лист: как защитить свои метки


Понять, что именно защищаем: контент метки, запись или сам доступ в помещение
Для доступа брать только чипы с AES: DESFire EV2 или EV3, MIFARE Plus в режиме SL2 или SL3
Убедиться, что считыватель проверяет подпись или защищённый файл, а не только UID
Заменить все заводские ключи и пароли на уникальные, реестр хранить в контроллере, а не в переписке
На NTAG задать пароль из 4 случайных байт, настроить AUTH0 и осознанно выбрать режим защиты чтения
После настройки проверить: метка читается только с паролем и не пишется без него
Закрыть запись через WRITE LOCK там, где содержимое больше не будет меняться
Проверить метку на Android и на iPhone, если её будут читать клиенты
Запланировать замену старых пропусков на 125 кГц и MIFARE Classic
Вести реестр меток: номер, пароль, дата настройки, ответственный

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


Забыл пароль на NTAG — можно сбросить? Нет. Сброса не существует: если AUTHLIM задан, после нескольких неверных попыток метка закрывается навсегда, а если ещё и CFGLCK, то конфигурацию уже не изменить. Метка останется «кирпичом» или, в лучшем случае, читаемой, но не перезаписываемой.


Пароль защищает от копирования? Нет. Он защищает содержимое и запись, но не UID и не сам носитель. Копию делают с другого чипа.


А потом снять пароль получится? Да, если помнишь пароль и не включён CFGLCK: в приложениях это отдельная операция «снять пароль».


Метка «Ultralight» — на неё встанет пароль? На оригинальный Ultralight — нет, там пароля нет вообще. Нужен Ultralight EV1, NTAG 21x или чип с AES.


Купил партию меток — они уже защищены? Нет. Заводские настройки открыты: PWD `FF FF FF FF`, AUTH0 `FF`, запись разрешена. Всё, что нужно, настраивается перед выдачей.


У нас весь офис на MIFARE Classic — менять всё? Не обязательно одномоментно: сначала выведите на нормальные чипы внешний контур и зоны с ценностями, а Classic оставьте там, где важен только факт прохода. Но закладывайте замену в бюджет: Crypto-1 не станет надёжнее.


Итог


Пароль на NFC-метке — это полезный инструмент, но ровно с той областью действия, которую ему дали при настройке: он закрывает страницы памяти от чтения и запись от посторонних. Он не защищает номер чипа, не спасает от ретрансляции, не превращает MIFARE Classic в надёжный ключ и не работает там, где метку читает iPhone.


Реальная защита всегда собрана из уровней: правильный чип (AES вместо Crypto-1), уникальные ключи и пароли вместо заводских, необратимая блокировка для неизменяемого контента и решение о допуске на стороне системы, а не в считывателе. Всё остальное — вопрос удобства и бюджета.


Если нужно проверить свои метки на клонируемость и собрать защищённую схему под конкретную задачу — напиши нам на info@nfcrafter.ru. Разбор атак на клонирование меток и уровни защиты — в новости про NFCGate, выбор чипа под задачу — в гиде по меткам, настройка паролей и блокировок — в инструкциях по NFC Tools и NXP TagWriter, а системы доступа — в материале про NFC для умного доступа. Метки с готовой записью, защитой и паролем можно заказать в каталоге NFCrafter.