О бедном заказчике замолвите слово. Как получить правильную СКУД на картах Mifare Plus?

Олег Быков Генеральный директор компании NCS

Типичный пример. В действующей СКУД используются всем известные карты EM-Marine. Если выражаться технически более точно – Proximity-карты на частоте 125 кГц. К ним относятся и EM-Marine (на практике китайский аналог ТК4100) и HID Prox. Владелец объекта, на котором установлена СКУД, устал от копирования карт доступа и ищет новые варианты, гарантирующие защиту.

И находит. Например, MIFARE 1K. И полагает: это то, что нужно. На него сыплется информация примерно такого содержания:

  • тип микросхемы – MIFARE S50, стандарт ISO14443А;
  • рабочая частота – 13,56 МГц;
  • время транзакции – не более 164 мс;
  • поддержка антиколлизии;
  • возможность перезаписи – не менее 100 000 циклов;
  • объем памяти – не менее 1024 байт;
  • 3-проходная аутентификация;
  • идентификатор длиной 32 бита.

Заказчик мало что понимает, но обилие "умных" терминов подсказывает ему, что это хорошо, данные карты будут защищены от копирования. И заказывает карты доступа MIFARE 1K и соответствующие считыватели.

Какой же результат он получает? Реальная практика говорит о том, что деньги потрачены напрасно. Никакой дополнительной защиты карт доступа от копирования нет.

Почему? Потому что большинство имеющихся считывателей MIFARE 1K, применяемых в СКУД, не задействуют шифрования и криптографии при работе с картами MIFARE 1K.

Незащищенный номер чипа
Ничего из перечисленных выше технических особенностей MIFARE 1K (кроме идентификатора длиной 32 бита) считыватели MIFARE 1K не используют. То есть большинство считывателей работают с картами MIFARE 1K так же, как и с картами EM-Marine, а именно – считывают открытый номер чипа. Серийный номер чипа MIFARE 1K (часто называемый ID или UID) – это открытая последовательность цифр, ничем не защищенная. Все приведенные выше "умные" термины, характеризующие технические особенности MIFARE 1K, относятся к памяти чипа и не затрагивают его серийный номер. При считывании ID-номера ни микропроцессор, ни 3-проходная аутентификация, ни криптография не задействуются. Номер чипа ничем не защищен. И легко может быть скопирован для изготовления дубликатов карты доступа.

Дублирование номеров карт
Другой распространенный недостаток многих считывателей MIFARE 1K – это интерфейс Wiegand-26, с помощью которого считка подключается к контроллеру СКУД. Номер чипа MIFARE 1K имеет длину 4 байта (те же 32 бита). А по интерфейсу Wiegand-26 можно передать число длиной максимум 3 байта. Соответственно, один байт отсекается.

Номер чипа передается через контроллер в систему не полностью. И в системе появляются одинаковые номера карт. Что в реальной практике и встречается.

Ситуация усугубляется еще и тем, что длина номера чипа MIFARE 1K может быть не 4, а 7 байт. Обусловлено это тем, что компания NXP – разработчик и собственник торговой марки MIFARE – несколько лет назад объявила, что диапазон уникальных 4-байтовых номеров исчерпан. И что в дальнейшем чипы MIFARE 1K будут выпускаться с 7-байтными уникальными номерами (UID). Чипы с 4-байтными номерами продолжают выпускаться, но 4-байтные номера больше не являются уникальными и называются NUID (Non Unique ID – с англ. "не уникальный идентификационный номер").

Соответственно, при использовании считывателя MIFARE 1K с интерфейсом Wiegand-26 вероятность появления в системе карт с "одинаковыми" номерами повышается, так как отсекаться будет 4 байта из 7.

Можно ли получить карты доступа, защищенные от копирования, применяя MIFARE 1K? Конечно, можно. При правильной работе с картой и использовании правильного считывателя. "Правильно" – значит с помощью всех тех технических особенностей, которые и характеризуют MIFARE 1K. А именно – необходимо задействовать память MIFARE 1K и обращаться к памяти с помощью той самой 3-проходной аутентификации, встроенных криптографических алгоритмов. И для этого на рынке есть технические средства

Защита MIFARE 1К от копирования

Защитить карту доступа MIFARE 1K просто. Достаточно записать в один из 64 блоков памяти идентификатор (номер длиной 3 байта для передачи по Wiegand-26) и закрыть доступ к этому блоку криптоключом. А считыватель вместо чтения ID-номера настроить на чтение идентификатора из указанного блока памяти MIFARE 1K с помощью такого же криптоключа, которым закрыта память MIFARE 1K.

Для этого предлагаются технические и программные средства. И стоят они недорого.

Но тут кроется еще один подводный камень. А кто придумывает значение криптоключа? Кто записывает его в карту MIFARE и прошивает в считыватель? Ведь если криптоключ известен постороннему, то тот легко может копировать карты доступа.

Поэтому вопросы криптозащиты заказчик/ собственник объекта должен взять на себя – не доверять это ни поставщику карт и считывателей, ни монтажнику СКУД.

Если ключи и пароли находятся в руках у третьего лица, защита карт от копирования будет зависеть от его добросовестности, а также от непредвиденных случайностей (уволился обиженный специалист и назло понаделал копии карт…).

От владельца объекта СКУД требуется немного. Сначала понять важность этого момента. Затем самому или через доверенное лицо придумать значения паролей и ключей и записать их в карты и считыватели. Для этого имеются простые и удобные программно-технические средства. Например – создание мастер-карты. Собственник объекта создает мастер-карту, на которой будет храниться вся "ключевая" информация. Далее оператор с помощью мастер-карты сможет "прошивать" и карты MIFARE 1K, и считыватели. Но знать ключи, пароли и т.д. не будет.

Это и есть тот путь, который позволит защитить карты доступа MIFARE 1K от копирования.

Распространенные заблуждения

Но время идет, хакеры не дремлют. Криптозащита, встроенная в чип MIFARE 1K, в настоящее время признается невысокой. Об этом есть публикации в открытой научно-технической прессе. На некоторых сайтах можно найти информацию о способах взлома защиты MIFARE 1K. Что делать заказчику, стремящемуся надежно защитить карты доступа от копирования и подделки?

Есть современные надежные средства. Например, компания NXP разработала линейку чипов MIFARE Plus, где используется криптография AES, вскрытие которой в настоящее время считается невозможным. Применение MIFARE Plus – гарантия защиты карт доступа от копирования и подделки.

Но и здесь заказчику приходится нелегко. Изготовители считывателей карт для СКУД часто скрывают технические тонкости.

Поддержка различных форматов MIFARE
Еще один типичный пример. Разработчик считывателя узнал, что 4-байтные серийные номера чипов больше не являются уникальными, а компания NXP выпустила 7-байтную версию чипа MIFARE 1K. Производитель дорабатывает свою считку (оставляя при этом тот же самый интерфейс Wiegand-26) на чтение 7-байтного номера MIFARE 1K. И тут он понимает, что может еще и расширить перечень чипов, с которыми якобы работает его считка. Ведь 7-байтный UID имеется у многих других продуктов MIFARE, а именно – у MIFARE Ultrlaight C, MIFARE Plus, MIFARE DESFire EV1. И разработчик тут же включает в документацию фразу такого характера: "Поддержка различных форматов MIFARE Ultralight, MIFARE Plus, DESFire EV1".

Бедный неосведомленный заказчик покупает карты MIFARE Plus и такой считыватель. Что он получает? Снова ничего, кроме напрасно потраченных денег.

Считыватель будет работать с открытым UID, который никак не защищен (об этом говорилось выше). Криптография AES, встроенная в чип MIFARE Plus, не распространяется на UID. Этот UID копируется так же легко, как и ID MIFARE 1K, и считывание номера чипа MIFARE Plus ничего не добавляет к защите карт от копирования и подделки.

Карты MIFARE Plus поступают с завода-изготовителя в незащищенном режиме и на самом деле в таком виде не предназначены для использования. В отличие от традиционных Proximity-карт (HID Prox, EM-Marine) карты MIFARE Plus после покупки должны быть проинициализированы. И сделать это должен заказчик.

Считка MIFARE Plus
Как еще некоторые изготовители считывателей вводят заказчика в заблуждение? Есть пример из жизни.

Известно, что карты MIFARE Plus могут быть проинициализированы таким образом, что чип MIFARE Plus полностью эмулирует MIFARE 1K (в том числе и криптоалгоритм СRYPTO-1). Более точно этот режим называется переводом чипа MIFARE Plus на уровень безопасности SL1 в режиме эмуляции MIFARE Classic. Не проводя тестирования, изготовитель считывателя (гипотетический) добавляет в свою документацию фразу "Поддержка MIFARE Plus". К несчастью для заказчика, купившего подобную считку, корректно работать с картами MIFARE Plus она не будет.

6 этапов защиты MIFARE Plus

Что же делать, чтобы карты доступа MIFARE Plus работали в СКУД в защищенном режиме?

1. Первое – проникнуться пониманием, что необходимо личное участие владельца объекта СКУД в решении вопросов защищенности карт MIFARE Plus. Это чисто организационный момент, но необходимый.

2. Далее следует выбрать уровень безопасности, на котором будут работать карты MIFARE Plus в данной СКУД: SL1, SL2 или SL3.

Здесь потребуется консультация специалиста. Тот или иной уровень должен быть выбран, исходя из специфики объекта и требований защищенности. Уровень SL3 – самый высокий с точки зрения защиты, но и подготовка карт и считывателей MIFARE Plus для работы на SL3 технически самая сложная. К тому же, не все считыватели могут работать на уровне SL3.

3. Выбирая уровень безопасности, заказчик должен решить, сколько секторов будет закрываться секретными ключами. Для СКУД вполне достаточно закрыть только один сектор памяти MIFARE Plus.

4. Следующий этап – предэмиссия карт MIFARE Plus. Это фактический перевод карт MIFARE Plus на выбранный уровень безопасности (SL1, SL2 или SL3) и закрытие выбранного сектора памяти секретным ключом с криптографией AES.

5. Затем – подготовка считывателей. Каждый считыватель, подключаемый к контроллеру СКУД, должен быть запрограммирован на чтение данных из того же блока памяти и по тому же ключу AES, что и карта MIFARE Plus.

6. Далее следует собственно эмиссия карт доступа, то есть запись идентификатора в выбранный сектор памяти MIFARE Plus. Этот идентификатор будет связан с конкретным работником и будет считываться в защищенном режиме.

Скопировать или подделать такую карту MIFARE Plus будет невозможно. Ввод в систему карт доступа MIFARE Plus осуществляется через контрольный считыватель (с интерфейсом USB, RS-232 или RS-485, TCP/IP). Контрольный считыватель читает идентификатор, хранящийся в защищенной памяти MIFARE Plus, используя при этом криптографию AES.

Уровни безопасности

Бесконтактные карты MIFARE Plus поддерживают 3 уровня безопасности и могут быть в любой момент переведены с одного уровня на более высокий.

Уровень безопасности 0 Карты MIFARE Plus на уровне 0 не предназначены для использования. Заказчик должен проинициализировать чип MIFARE Plus и перевести его на более высокий уровень. Инициализация чипа может производиться по ключам, соответствующим MIFARE Classic с применением криптоалгоритма CRYPTO1, или по ключам AES.

Уровень безопасности 1 На этом уровне карты имеют 100%-ную совместимость с MIFARE Classic 1K, MIFARE Classic 4K. Карты MIFARE Plus легко работают в существующих системах вместе с картами MIFARE Classic.

Уровень безопасности 2 Аутентификация по AES является обязательной. Для защиты данных используется CRYPTO1.

Уровень безопасности 3 Аутентификация, обмен данными, работа с памятью только по AES

Описанный выше подход позволяет использовать карты доступа MIFARE Plus со многими имеющимися на рынке контроллерами СКУД. Современные считыватели, поддерживающие работу с MIFARE Plus, имеют различные интерфейсы подключения к контроллерам, в том числе и распространенный – Wiegand-26. Это позволяет легко и просто переводить действующие СКУД с карт EM-Marine на карты MIFARE Plus. Потребуется только замена считывателей. Контроллеры, программное обеспечение, базы данных сохраняются.

 

По материалам: Secuteck