
Недостатки перехода на MIFARE 1K Типичный пример.
Как построить систему доступа и быть уверенным, что карты доступа защищены от копирования? Таким вопросом задаются заказчики оборудования для многих объектов – и режимных предприятий, и жилых комплексов, и парковок, и горнолыжных курортов и т.д.
В действующей СКУД используются всем известные карты 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 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 со многими имеющимися на рынке контроллерами СКУД.
Современные считыватели, поддерживающие работу с MIFARE Plus, имеют раз- личные интерфейсы подключения к контроллерам, в том числе и рас- пространенный – Wiegand-26. Это позволяет легко и просто переводить действующие СКУД с карт EM-Marine на карты MIFARE Plus. Потребуется только замена считывателей. Контроллеры, программное обеспечение, базы данных сохраняются.