Как нас найти:

[вернуться в раздел СТАТЬИ]

Организация памяти MIFARE Classic

Память чипов MIFARE Classic имеет четкую структуру (в отличие от MIFARE DESFIre, имеющего более сложную, файловую организацию памяти). Память MIFARE 1K и MIFARE 4K разделена на сектора, 16 секторов у MIFARE 1K и 40 секторов у MIfare 4K. Каждый сектор MIFARE 1K и первые 32 сектора MIFARE 4K состоят из трех блоков данных и одного блока для хранения ключей (Sector Trailer). Последние 8 секторов MIFARE 4K состоят из 15 блоков данных и одного (16-го) блока хранения ключей. Блоки данных доступны для чтения/записи при условии успешной авторизации по ключу.

Блок Sector Trailer:
Этот блок хранит секретные значения ключей (А и В) для доступа к соответствующему сектору, а также условие доступа (определяемое значением битов доступа). Блок Sector Trailer всегда последний (четвертый) блок в секторе. Каждый сектор MIFARE Classic может иметь свои собственные ключи доступа и условия записи/чтения данных.

Блоки данных:
Каждый блок данных состоит из 16 байт, доступных для записи/чтения (кроме блока 0 сектора 0, где хранится нестираемая информация завода-изготовителя). Запись/чтение данных производится по ключу и битам доступа. Блоки данных могут конфигурироваться как блоки для обычной записи/чтения, или как блоки хранения условных единиц (функция электронного кошелька). В обычные блоки данных моно записывать любую информацию (цифры, символы и т.п.). Если блок данных конфигурирован как блок для хранения условных единиц, то работа с таким блоком происходит по командам increment/decrement. Т.е., числовое значение, хранящееся в таком блоке, можно только увеличивать и уменьшать.

Сектор Блок Порядковый номер блока Функция
0 0 0 UID и информация завода-изготовителя чипа
0 1 1 Данные
0 2 2 Данные
0 3 3 Sector Trailer (Ключ A, условие доступа, Ключ B)
... ... ... ...
15 0 60 Данные
15 1 61 Данные
15 2 62 Данные
15 3 63 Sector Trailer (Ключ A, условие доступа, Ключ B)
Организация памяти чипа MIFARE 1K (16 секторов, по 4 блока в каждом секторе, по 16 байт каждый блок (в секторе 0, блоке 0 содержится информация завода-изготовителя).

Правила доступа
Ко всем секторам карты MIFARE Classic доступ осуществляется по единым правилам. Доступ к тому или иному сектору производится с помощью ключей (Ключ А и Ключ В). С помощью Access Condition (условие доступа в Sector Trailer) задаются условия записи и чтения данных из каждого сектора с использованием одного ключа (А или В) или обоих ключей А и В одновременно. Например, при пользовании клиентами карт MIFARE можно реализовать чтение (только чтение) данных из блока по ключу А, в то время как системный администратор может читать и писать данные к память MIFARE, используя ключ В. В четвертом блоке каждого сектора (Sector Trailer) для обеспечения такого разграничения доступа используются три бита (access bits) C1, C2 и С3. С помощью этих битов можно задать восемь различных режимов доступа к сектору MIFARE. Бит C1 считается младшим значащим битом (LSB).

Например:

C1 C2 C3 Режим доступа
1 1 0 3

Имеется четыре режима доступа к каждому сектору (к трем блокам данных и к блоку Sector Trailer). При этом каждый блок MIFARE Classic 1K имеет свое значение трех битов доступа. Задавая значения битов доступа можно определить «назначение» каждого блока данных (block mode):

Практические аспекты
Технология MIFARE используется, как правило, в сложных системах, где вопросы конфиденциальности и защиты данных имеют большое значение. Именно для обеспечения защиты и безопасности в технологии MIFARE реализована обработка данных с использованием ключей и криптографических алгоритмов. Считыватели, используемые для записи и чтения данных в чип MIFARE, должны также поддерживать защиту и безопасность данных со своей стороны. Это означает, что считыватель должен также хранить в своей памяти ключи доступа для каждого сектора MIFARE Classic. Если считыватель не обладает такой возможностью, то такой считыватель не следует использовать, так как защищенность всей системы в целом будет на низком уровне.

[вернуться в раздел СТАТЬИ]


На главную страницу Пишите нам!