Перейти к содержимому
NFC Utils
Меню NFC Utils
Руководства и разделы

Руководство NFC Utils

NTAG 424 DNA

Настраивайте ключи, защищённые динамические сообщения и доступ к файлу на NTAG 424 DNA. Вариант TagTamper добавляет собственные элементы «Проверить» и «Включить». «Декодировать SDM URL» работает и офлайн.

Обзор

NTAG 424 DNA является небольшой файловой системой, которую охраняют пять ключей. Сообщение NDEF живёт в файле 02. Каждая настройка на этой странице является свойством этого файла или ключей, и каждое изменение происходит внутри сеанса защищённого обмена EV2, который приложение открывает одним из ключей.

Выберите NTAG 424 DNA или NTAG 424 DNA TagTamper. У обоих есть осмотр, NDEF, «Ключи», SDM и инструменты доступа. Строка TagTamper появляется только на соответствующем варианте. Другие карты DESFire и Plus используют свои профили осмотра.

Меню инструментов NTAG 424

Ключи

Что это
Пять слотов, от ключа 0 до ключа 4, по 32 шестнадцатеричные цифры каждый. Ключ 0 является мастер-ключом. Остальные четыре используют те права и функции, которые на них указывают.
Что даёт изменение
На телефоне ничего не видно. Меняется то, кто может открывать сеансы, использующие этот слот.
Что для этого нужно
Ключ 0, всегда. Для изменения ключей с 1 по 4 также нужны их текущие значения в полях, потому что чип принимает новый ключ, замаскированный старым.
Отмена
Измените обратно или выполните «Сброс к заводским настройкам», оба действия ключом 0. Потерянный ключ 0 оставляет карту ровно такой, какая она есть, навсегда, и ничто в этом приложении его не восстановит.

Текущие ключи

Страница «Ключи» содержит ключи с 0 по 4, начиная с заводских нулей, а действие «Заводские ключи» возвращает их. Каждая операция использует ровно то, что лежит в этих полях, и ничто их не переопределяет. Хранилище ключей заполняет их, а не подменяет. Чтение тега, ключи которого есть у приложения, заполняет поля, успешное изменение обновляет их, а сброс к заводским настройкам обнуляет.

Проверить

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

Изменить

«Изменить» выбирает номер ключа и принимает новое 32-значное значение, введённое или сгенерированное. Сначала проверьте, потом меняйте. Если сменить ключ 0 на значение, которое вы потом потеряете, тег навсегда останется настроенным как есть, и приложение не сможет его восстановить.

Страница «Ключи»

Защищённые динамические сообщения

При включённых защищённых динамических сообщениях чип переписывает части URL при каждом чтении. Поля ниже определяют, какие именно.

ПолеЗначение
Базовый URLСтраница, которую открывает тег. Приложение добавляет зеркальные поля как параметры запроса в раскладке настольного кодировщика.
Зашифрованные данные PICCUID и счётчик передаются зашифрованными ключом данных PICC вместо открытого текста. Во включённом состоянии заменяет два открытых зеркала.
«UID в URL», «Счётчик чтений в URL»Открытые зеркала UID и счётчика чтений.
CMACПодписывает зеркальные поля ключом CMAC, чтобы сервер мог отклонять копии.
Зашифрованные данные в URLЗаполнитель из 32 или 64 символов, enc={enc}, первая половина которого хранит в файле до 16 или 32 байт открытого текста. Чип заменяет весь заполнитель шифротекстом при каждом чтении без аутентификации. Нужны включённый CMAC, а также UID и счётчик в URL. Раздел «Зашифрованные данные» ниже описывает это подробнее.
Лимит счётчика чтенийНеобязательно. Как только счётчик его достигает, чип отклоняет каждое чтение файла без аутентификации, поэтому телефоны ничего не открывают, а вкладка «Чтение» в этом случае называет лимит. Повышение или снятие лимита восстанавливает чтение, счётчик не сбрасывается.
Собственный шаблонНеобязательно. Полный URL с заполнителями {uid}, {counter}, {cmac} и {picc}, когда раскладка по умолчанию не подходит. {picc} нельзя сочетать с {uid} или {counter}.

Моноширинная строка под полями показывает предварительный вид URL с буквами-заполнителями.

Что это
«UID в URL» вставляет серийный номер, «Счётчик чтений в URL» вставляет число касаний, а CMAC добавляет подпись, вычисленную ключом, чтобы сервер мог отличить настоящее касание от скопированной ссылки. «Зашифрованные данные PICC» заменяют открытые UID и счётчик одним зашифрованным блоком, который может открыть только владелец ключа.
Что даёт изменение
Каждое касание открывает другой URL. Смещения в карточке результата показывают, где в файле чип записывает живые значения. Пока счётчик стоит на «Лимите счётчика чтений» или за ним, чип отклоняет и любое изменение настроек, сохраняющее этот лимит, включая «Права доступа», поэтому сначала нужно повысить или снять лимит здесь.
Что для этого нужно
Ключ «Изменения настроек», а выбранный ключ CMAC или PICC должен существовать на карте. «Применить» также устанавливает «Запись» в «Ключ 0».
Отмена
«Отключить», которое оставляет сообщение и права как есть.

Применить и отключить

«Применить SDM» записывает NDEF и устанавливает настройки файла. После этого файл читается свободно, а для записи или изменения нужен ключ 0. «Отключить» выключает зеркалирование и сохраняет права, установленные в «Правах доступа».

Страница защищённых динамических сообщений

Зашифрованные данные

«Зашифрованные данные в URL» являются участком URL из 32 или 64 символов, который чип шифрует при каждом чтении без аутентификации. Введённый вами открытый текст, до 16 или 32 байт, живёт в первой половине этого участка в файле. Считыватели его никогда не видят. Они видят шифротекст, который меняется при каждом касании, потому что счётчик участвует в шифровании.

Какой ключ

Чип выводит ключ шифрования из ключа CMAC вместе с UID и счётчиком чтений. Это не отдельный выбор, поэтому ключ, подписывающий CMAC, шифрует и данные, а функции нужны включённый CMAC, а также UID и счётчик в URL.

Обновление

Открытый текст является обычными данными файла, поэтому он меняется записью этого участка файла с правом «Запись», ключом 0 на карте, настроенной здесь.

Чтение

«Полное сканирование» показывает шифротекст, а когда на странице «Ключи» есть ключ CMAC, показывает под ним открытый текст.

Сокрытие

Этот блок нельзя убрать из URL, но его можно замаскировать. Назовите параметр как угодно в «Собственном шаблоне», поместите его в сегмент пути или включите рядом «Зашифрованные данные PICC», чтобы URL нёс два похожих шестнадцатеричных блока. Поставьте перед ним {cmacStart}, и CMAC подпишет и шифротекст.

Чем это не является

Это не смарт-карта. Карта с защищённым элементом выполняет собственный апплет с PIN-кодом и обменом запрос-ответ. 424 защищает небольшую статичную полезную нагрузку от случайных считывателей и не делает ничего больше.

Карточка результата «SDM настроен»

Права доступа

Четыре селектора на файле NDEF, каждый «Свободно» (0xE), от «Ключ 0» до «Ключ 4» или «Никогда» (0xF). «Изменение настроек», установленное в «Никогда», делает настройки файла постоянными. Остальные права ещё могут меняться, пока «Изменение настроек» это разрешает.

  • ЧтениеКто может читать сообщение. «Свободно» нужно каждому телефону, а ключ здесь скрывает сообщение от телефонов.
  • ЗаписьКто может перезаписать сообщение. «Свободно» на новой карте, а «Применить SDM» устанавливает «Ключ 0», чтобы никто не затёр зеркало.
  • Чтение и записьВторой ключ на тот же файл. Чтение разрешено, когда выполнено «Чтение» или «Чтение и запись», а запись, когда выполнено «Запись» или «Чтение и запись».
  • Изменение настроекКто может менять эти четыре права и раскладку SDM. «Ключ 0» на новой карте, и именно это право важно для блокировки.
Что это
Четыре разрешения на файле NDEF, каждое «Свободно», ключ или «Никогда».
Что даёт изменение
«Применить права доступа» перезаписывает настройки файла, не трогая текущее состояние SDM. Каждый слот, который вы открываете или закрываете, меняет, кто сможет читать, записывать или перенастраивать файл после этого.
Что для этого нужно
Ключ, который сейчас указан в «Изменении настроек». Страница показывает этот ключ вверху, чтобы используемое значение было на виду.
Отмена
Примените новые права, пока «Изменение настроек» не установлено в «Никогда».

«Запись» против «Чтения и записи»

«Запись» и «Чтение и запись» являются двумя независимыми слотами, оба покрывают запись, и чип проверяет их через ИЛИ. Запись проходит, если выполнен любой из слотов. То же верно для чтения со слотами «Чтение» и «Чтение и запись». «Чтение и запись» является слотом для одного ключа, который полностью владеет файлом, пока «Чтение» остаётся «Свободно» для телефонов, а «Запись» закрыта. Чтобы закрыть запись, закройте оба слота.

ЗаписьЧтение и записьКто может записывать
Свободно (0xE)ЛюбоеЛюбой.
Ключ 0Свободно (0xE)Любой, потому что второй слот открыт.
Ключ 0Ключ 0Только ключ 0.
Ключ 0Ключ 1Ключ 0 или ключ 1.
Никогда (0xF)Ключ 0Только ключ 0, через второй слот.
Никогда (0xF)Никогда (0xF)Никто и никогда.

Карточка «Инфо» показывает все четыре права в одной строке на 424. Сразу после «Применить SDM» там значится Read E · Write 0 · RW 0 · Change 0.

Страница «Права доступа»

Блокировка 424

На 424 нет команды блокировки. Карта становится постоянной, когда право установлено в «Никогда», и выбранное право определяет, что замораживается. Делайте это на карте, которую хотите оставить как есть.

Вы хотитеУстановитеПосле этого
Раскладка SDM и права зафиксированы, сообщение по-прежнему живое«Изменение настроек» в «Никогда» (0xF)Чтение и SDM продолжают работать. Запись следует праву «Запись» как оно есть. Ключи по-прежнему можно менять ключом 0. «Права доступа», «Отключить SDM» и «Сброс к заводским настройкам» отклоняются. Это рабочая блокировка для тега с SDM.
Сообщение тоже зафиксировано«Запись» в «Никогда» (0xF), «Чтение и запись» в «Никогда» (0xF), «Изменение настроек» в «Никогда» (0xF), всё одним «Применить»Файл навсегда только для чтения. Ключи по-прежнему можно менять.
Сообщение навсегда скрыто от телефонов«Чтение» в «Никогда» (0xF) вместе с «Изменением настроек» в «Никогда» (0xF)Ни один телефон ничего не открывает. Данные видит только считыватель с ключом чтения файла. Редко кому это нужно.
Пока ничего постоянного«Запись» в «Ключ 0», «Изменение настроек» в «Ключ 0»Для телефона выглядит заблокированной, а вы по-прежнему можете менять всё ключом 0. «Применить SDM» уже оставляет карту в этом состоянии.

Право, установленное в «Никогда», пока «Изменение настроек» ещё открыто, не является блокировкой. «Изменение настроек» является замком, а остальные три являются тем, что он запирает.

Как The NFC Mint блокирует карту

Кодировщик The NFC Mint завершает каждую выпущенную карту с «Чтением» в «Свободно», «Записью» в «Никогда», «Чтением и записью» в «Никогда», «Изменением настроек» в «Никогда», CMAC на ключе 1 и получением счётчика в «Никогда». Чтение и защищённые динамические сообщения после этого работают вечно, никто не может записать файл, никто не может изменить раскладку, а ключи остаются изменяемыми через ключ 0, единственное, что The NFC Mint оставляет себе. То же состояние в приложении занимает два шага.

  • Шаг 1: защищённые динамические сообщенияНастройте с нужным ключом CMAC и пустым полем лимита, затем нажмите «Применить». Это также устанавливает «Запись» и «Чтение и запись» в «Ключ 0».
  • Шаг 2: Права доступа«Чтение» в «Свободно» (0xE), «Запись» в «Никогда» (0xF), «Чтение и запись» в «Никогда» (0xF), «Изменение настроек» в «Никогда» (0xF). Нажмите «Применить», затем пройдите модальное окно, сообщающее, что это нельзя отменить.

В карточке «Инфо» после этого значится Read E · Write F · RW F · Change F. «Применить права доступа», «Отключить SDM» и «Сброс к заводским настройкам» с этого момента отклоняются, а карта по-прежнему читается, и её URL по-прежнему меняется при каждом касании.

Чтение заблокированной карты

Декодировать SDM URL

Что это
Серверная сторона SDM-ссылки, выполненная на телефоне. Возьмите URL, найдите поля, которые заполнил чип, расшифруйте зашифрованное и проверьте подпись. Тег в поле не нужен. Вставьте любой URL или нажмите «Использовать последнее чтение», чтобы взять URL из последнего чтения 424.
Что даёт изменение
«Декодировать» сообщает UID и счётчик, открытые или восстановленные из данных PICC, расшифрованный текст, состояние пломбы и «CMAC верен» или «CMAC неверен» с ожидаемым значением при несовпадении. Несовпадающий CMAC означает, что ссылка была изменена, скопирована с другого тега или подписана другим ключом.
Что для этого нужно
Ключ CMAC, который также расшифровывает зашифрованные данные, и ключ данных PICC, когда URL несёт зашифрованные данные PICC. Оба расположены под полями со значениями прямо в общих слотах «Ключей», а после чтения тега с включённым SDM по умолчанию берутся из слотов, которые называют настройки тега.
Отмена
Это не изменение.

Как угадываются роли

Приложение разбивает URL на значения, как параметры запроса, так и похожие на шестнадцатеричные сегменты пути, и угадывает роль каждого сначала по имени, затем по длине. Четырнадцать шестнадцатеричных символов читаются как UID, 6 как счётчик, 16 как CMAC, 32 как данные PICC или зашифрованные данные, 64 как зашифрованные данные, а две буквы как состояние пломбы. Каждая догадка показана в селекторе, поэтому URL от другого кодировщика с собственными именами параметров исправляется вручную. Чип всё равно никогда не видит имён, поэтому URL от любого кодировщика декодируется одинаково, как только селекторы указывают, какое значение чем является.

«Начало входа CMAC» выбирает, где начинаются входные данные MAC, с зашифрованных данных, когда они есть, с самого CMAC в остальных случаях или с начала URL для других раскладок.

Страница «Декодировать SDM URL»

TagTamper

Что это
На NTAG 424 DNA TagTamper это проволочная петля через пломбу, которую чип измеряет каждый раз при получении питания. От GetTTStatus приходят два значения. «Текущее» показывает, что петля выдаёт в этот момент. «Постоянное» показывает, читалась ли петля когда-либо разомкнутой с момента включения, и оно меняется только в одну сторону.
Что даёт изменение
Включение активирует петлю командой SetConfiguration с опцией 07 и выбирает ключ состояния, который потом понадобится GetTTStatus, «Свободно» в том виде, в каком их поставляет The NFC Mint. NFC Utils даёт «Проверить» и «Включить» в профиле TagTamper. «Проверить» запрашивает текущее и постоянное состояние. «Включить» требует ключ 0 и выбирает ключ доступа к состоянию. TamperKit даёт отдельную запись активации и проверки во времени.
Что для этого нужно
Ключ 0 для включения. Свободный доступ к состоянию позволяет спрашивать любому считывателю, выбранный ключ требует аутентификации, а «Нет доступа» оставляет состояние доступным только через настроенный SDM.
Отмена
Нет. Петлю нельзя выключить обратно.

Неактивна, цела, нарушена

Вердикт по пломбе в NFC Utils, NFC Proof и TamperKit одинаков. «Цела» только пока оба значения показывают «Замкнута», «Нарушена» как только любое из них показало «Разомкнута», и «Неактивна» пока петля никогда не включалась. Проволока, которую перерезали и снова соединили, показывает «Нарушена», потому что чип навсегда записал первое «Разомкнута».

Петля, перерезанная до активации

До включения чип ничего не измеряет, поэтому петлю, перерезанную до активации, увидеть нельзя, и включение из-за этого не срывается. Первое измерение приходит вместе с самим включением, и уже перерезанная петля сразу показывает «Нарушена». С этого момента чип не может отличить петлю, перерезанную до активации, от перерезанной после, поэтому TamperKit записывает состояние при активации.

Страница TagTamper

Стирание и сброс

В разделе NTAG 424 строка называется «Стирание и сброс», а «Форматирование» не появляется, поскольку контейнер возможностей 424 является фиксированным файлом, встроенным в чип, и записывать нечего.

Стереть тег

Очищает сообщение. Ключи и права остаются. Нужно, чтобы «Запись» была «Свободно» или указанный в ней ключ.

Сброс к заводским настройкам

Обнуляет сообщение, восстанавливает заводские права файла и выключает SDM, затем возвращает каждый ключ к нулям. Нужен ключ 0 в «Ключах» и текущее значение каждого ненулевого ключа. Очищает запись тега в хранилище и поля «Текущих ключей», поскольку ключи снова заводские. Не может восстановить права на карте, у которой «Изменение настроек» установлено в «Никогда».

Страница «Стирание и сброс»

Что нельзя отменить

ДействиеЧто замораживает
Любое право в «Никогда» (0xF), пока «Изменение настроек» в «Никогда» (0xF)Это право, а вместе с «Изменением настроек» вся раскладка.
Потеря ключа 0Всё. Ни одна команда чипа не меняет ключ без него.