Каждая карта MIFARE® обладает собственным уникальным серийным номером, идентифицирующим встроенную в карту микросхему. Номер этот задается при изготовлении чипа на заводе, его нельзя изменить на протяжении всего срока использования карты. Идентификация карты по серийному номеру чипа, который невозможно подделать, шифрование данных и аутентификация областей памяти карты с помощью секретных ключей обеспечивают надежную защиту карты MIFARE® от взлома. Уровень защиты карты позволяет использовать ее в платежных приложениях при невысоких уровнях риска.
Память карты MIFARE® разбита на 16 независимых друг от друга областей объемом 48 байт каждая. Любую область (она называется сектором памяти) можно защитить своими ключами. Как уже говорилось, такая структура памяти позволяет использовать карту в разных, не связанных между собой, приложениях.
Минимальная адресуемая область памяти карты MIFARE® называется блоком и состоит из 16 байт. Над этим блоком возможны операции чтения/записи в соответствии с условиями доступа к сектору. Кроме того, блок может быть размечен специальным образом так, чтобы представлять собой баланс «электронного кошелька». В этом случае над ним возможны арифметические операции декрементирования (уменьшения баланса) и инкрементирования (увеличения баланса), а также две дополнительные специфические операции, связанные с перемещением данных «внутри» памяти чипа карты. Все эти операции поддерживаются аппаратно, в том числе аппаратно проверяется переполнение памяти при арифметических операциях.
Для защиты приложения, чья информация размещена в данном секторе, могут быть использованы два секретных ключа, определяющих разные уровни доступа к памяти карты. Кроме того, каждому сектору памяти при начальной разметке памяти карты (операция выполняется как на заводе-изготовителе карты, так и непосредственно эмитентом, при наличии у него т. н. «центра кодирования») можно присвоить свои определенные условия доступа. Например, по первому ключу возможно только чтение сектора памяти и уменьшение баланса (операции, необходимые для «дебетования электронного кошелька»), а по второму ключу дополнительно — запись и увеличение баланса (что необходимо при «кредитовании электронного кошелька»). Таким образом, разграничение доступа к «электронному кошельку» по разным ключам позволяет строить корректные (с точки зрения безопасности) технологии приема карт.
Для
Чипы карты и устройства для работы с ней (мы будем говорить «карта» и «считыватель карты») обмениваются случайными числами. На первом шаге карта посылает считывателю сформированное картой случайное число. Считыватель добавляет к нему свое случайное число, шифрует сообщение и отправляет его карте. Карта расшифровывает полученное сообщение, сравнивает «свое» случайное число с числом, полученным в сообщении, при совпадении заново зашифровывает сообщение и направляет считывателю. Считыватель расшифровывает послание карты и сравнивает «свое» случайное число с числом, полученным в сообщении. При совпадении чисел аутентификация сектора считается успешной.
Итак, работа с сектором памяти возможна только после успешной аутентификации сектора выбранной карты и пока карта находится в поле антенны считывателя. При этом все данные, передаваемые по радиочастотному каналу, всегда шифруются.
Начальные (так называемые транспортные) ключи, а также условия доступа к секторам задаются во время первичной разметки памяти карты на заводе-изготовителе и секретным образом сообщаются эмитенту. В дальнейшем, в процессе вторичной разметки памяти карты эмитентом или пользователем приложения (если необходимо), ключи обычно меняются на другие, известные только эмитенту или пользователю. Также (это определяется конкретным приложением) при вторичной разметке памяти карты изменяются и условия доступа к секторам памяти.
Как уже отмечалось, высокая надежность системы с БСК достигается использованием считывателя без каких-либо подвижных механических частей: для обмена данными карту MIFARE® достаточно просто поднести к антенне считывателя. Карты MIFARE® пассивны, т. е. не имеют встроенного источника питания (батарейки). Питание БСК при проведении транзакций происходит беспроводным путем от считывателя карт, т. е. через пространство.