MIFARE блок только для чтения и защиты от записи одновременно? - PullRequest
1 голос
/ 27 апреля 2019

Какая из карт MIFARE поддерживает один блок, который можно запрограммировать, чтобы требовать пароль для записи, но который доступен каждому для чтения его данных?И является ли такой стандарт приемлемым на всех платформах, особенно на iOS.Может ли он использовать свой чип NFC для выполнения обеих упомянутых операций с такой картой?

1 Ответ

2 голосов
/ 03 мая 2019

В семействе продуктов MIFARE довольно много продуктов 1 , которые позволили бы защитить информацию о записи с помощью ключа / пароля аутентификации (и в то же время иметь эту информацию свободно читаемой):

  • MIFARE Ultralight EV1: проверка 32-битного открытого текста, пароль может использоваться как пароль записи (свободное чтение, «аутентифицированная» запись) или как пароль чтения / записи (только «аутентифицированные» чтение / запись),Пароль не может быть установлен для одного сквозного блока, можно установить только один пароль для всех блоков, начиная с определенного смещения.Обратите внимание, что многие из продуктов NAGP NTAG также обладают этими возможностями.
  • MIFARE Ultralight C: Возможности, аналогичные описанным выше, но с более надежным механизмом аутентификации с использованием 2-key-TDES.
  • MIFARE Classic:Каждый сектор может иметь отдельные ключи.Вам всегда нужны ключи для чтения и записи.
  • MIFARE DESFire EV1: Не организован в блоках, но в файлах.Каждый файл может иметь несколько ключей, установленных для защиты от чтения и / или защиты от записи.Следовательно, у вас может быть файл, который можно легко прочитать, но для его записи требуется ключ.

Второе требование: « - это такой стандарт, приемлемый для всех платформ, особенно iOS »,немного сложнее ответить: во-первых, запись в теги NFC невозможна в iOS (за исключением некоторых jailbreak ?). Следовательно, я бы интерпретировал это следующим образом: Какие теги поддерживают защиту от записи и могут бытьчитать с устройства iOS?

Устройства iOS могут читать только из тегов NFC Forum, которые уже содержат сообщение NDEF.Более того, поскольку спецификации тегов NFC Forum (еще?) Не определяют способ аутентификации для доступа к данным NDEF, все данные должны быть свободно читаемыми.

Следовательно, все вышеперечисленное, за исключением, вероятно, MIFAREКлассика, можно использовать.Вам нужно будет отформатировать теги так, чтобы они содержали сообщение NDEF.

Например, вы можете использовать тег Ultralight C / EV1, сохранить на нем сообщение NDEF и затем установить защиту от записи для области, где находится NDEF.данные сохраняются (т.е. все страницы> = 3).Однако, только добавление защиты от записи для определенного блока не будет работать.Вы можете создать свое сообщение NDEF так, чтобы защищенная от записи часть находилась в конце сообщения NDEF на границе блока тега Ultrlaight.Тогда вы можете добавить защиту от записи только для этого конкретного блока (и всех более высоких, но неиспользуемых блоков).К сожалению, это открывает возможность для потенциальных манипуляций с полями размера для сообщения NDEF (отсечение этого защищенного от записи блока из данных).Следовательно, частичная защита от записи сообщения NDEF не может быть хорошей идеей с точки зрения безопасности.

Как и выше, вы также можете использовать DESFire EV1.При использовании в качестве тега форума NFC сообщение NDEF сохраняется в одном файле.Поэтому вы можете ограничить запись в этот файл ключом аутентификации.

Поскольку iOS не может записывать в теги, вы, вероятно, будете использовать другую платформу для записи обновлений в теги.Например, Android способен отправлять низкоуровневые команды, необходимые для аутентификации, на любой из вышеперечисленных тегов.Точно так же многие ридеры для ПК поддерживают это (хотя DESFire обычно имеет лучшую поддержку там).


1 ) Обратите внимание, что есть и другие продукты (даже от других производителей), которыеобеспечить аналогичные возможности.

...