Для защиты приложения, чья...
Кроме того, каждому сектору памяти при персонализации карты можно присвоить свои определенные условия доступа. Например, по первому ключу возможны только чтение сектора памяти и уменьшение баланса (операции, необходимые для дебетования электронного кошелька), а по второму ключу дополнительно - запись и увеличение баланса (что необходимо при кредитовании электронного кошелька). Таким образом, разграничение доступа к электронному кошельку по разным ключам позволяет строить корректные (с точки зрения безопасности) технологии приема карт.
Компания Розан Файнэнс разработала специальный комплект разработчика приложений карт MIFARER (Standard, Ultralight и JCOP30), дающий программистам возможность быстро создавать различные карточные системы (включая расчетные) с учетом всех особенностей стандарта MIFARER и требований технологической безопасности.
Для аутентификации сектора памяти карты применяется трехпроходный алгоритм с использованием случайных чисел и секретных ключей согласно стандарту ISOIEC 9798-2. Грубо процесс аутентификации можно представить так.
Чипы карты и устройства для работы с ней (мы будем говорить карта и считыватель карты) обмениваются случайными числами. На первом шаге карта посылает считывателю сформированное картой случайное число. Считыватель добавляет к нему свое случайное число, шифрует сообщение и отправляет его карте. Карта расшифровывает полученное сообщение, сравнивает свое случайное число с числом, полученным в сообщении, при совпадении заново зашифровывает сообщение и направляет считывателю. Считыватель расшифровывает послание карты и сравнивает свое случайное число с числом, полученным в сообщении. При совпадении чисел аутентификация сектора считается успешной. Итак, работа с сектором памяти возможна только после успешной аутентификации сектора выбранной карты и пока карта находится в поле антенны считывателя. При этом все данные, передаваемые по радиочастотному каналу, всегда шифруются.