em marine перевести номер карты в код

Обзор форматов карт и преобразование номеров

При проектировании или модернизации системы контроля доступа важно определиться с типом используемых идентификаторов и, соответственно, — считывателей. В качестве идентификатора может использоваться бесконтактная смарт-карта, виртуальный идентификатор, пин-код, биометрические данные (отпечаток пальца, рисунок вен ладони, геометрия лица), а также их произвольные комбинации (например, карта + пин-код, карта + палец, лицо + пин-код). В данной статье приведён обзор основных существующих на рынке СКУД идентификационных и смарт-карт, а также варианты работы с ними в НЕЙРОСС.

Общие сведения

Карта является идентификатором лица либо транспортного средства в СКУД. Данные идентификатора (карты) передаются в контроллер доступа посредством считывающего устройства (считывателя). Будьте внимательны при подборе модели считывателя, особо обратите внимание на корректную поддержку стандарта и формата (битности) идентификатора. Соответственно, существует два независимых канала передачи данных:

Считыватель — Контроллер: для связи считывателя с БОРЕЙ/ЯРС используется проводной интерфейс Wiegand или 1-Wire.

Wiegand — это «стандартный» проводной интерфейс в СКУД, а также одноименный формат карт доступа. При проектировании системы и выборе между Wiegand и 1-Wire следует отдать предпочтение этому интерфейсу. Он поддерживает передачу на расстояние до 150 м. Благодаря двум проводам для передачи данных обеспечивается устойчивость к помехам, наводкам, контроль целостности данных. Интерфейс 1-Wire имеет ограничение на длину кабеля и используется только при модернизации существующей СКУД с идентификацией посредством «таблеток» (iButton) и RFID-меток.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Стандарты идентификаторов

Электронные бесконтактные идентификаторы на рынке СКУД представлены в большинстве своём идентификационными картами размером 86х54х0,8мм и брелоками. Толщина бесконтактной карты 0,8 мм и гладкая поверхность даёт возможность сублимационной печати на карте.

Контроллер доступа получает информацию от считывателя. Будьте внимательны при подборе модели считывателя, особо обратите внимание на корректную поддержку используемых форматов карт.

125 КГц (Proximity)

Все перечисленные выше стандарты бесконтактных идентификаторов имеют несовместимые друг с другом технологии кодирования и радиопередачи. Что, в свою очередь, приводит к невозможности считывания идентификатора одного стандарта считывателем другого стандарта.

13,56 МГц

2,4 ГГц

Форматы идентификаторов

Формат карты — это длина и структура двоичных данных (бит), хранящихся в памяти карты.

26 бит Wiegand (H10301)

Открытый промышленный формат карт. Самый распространённый. Состоит из 24 бит кода и 2 бит контроля на четность.

P — биты четности (первый и последний бит) – EXXXXXXXXXXXX XXXXXXXXXXXXO;

Контроль целостности переданных от считывателя в контроллер данных обеспечивается двумя битами чётности. Первый бит (E) принимает значение 1, если в следующих за ним 12 битах данных содержат нечетное количество 1 (делая общее количество единиц в 13 битах четным), иначе первый бит четности принимает значение 0. Последний бит (O) четности принимает значение 1, если идущие перед ним 12 бит данных содержат четное количество единиц (делая общее количество единиц в 13 битах нечетным), иначе его значение 0.

Например, есть карта Wiegand-26 с фасилити кодом = 142 и номером 02136. Тогда 26 бит данных на карте представлены в следующей последовательности: 0 1000 1110 0000 1000 0101 1000 1. Первый бит четности 0, т.к. последующие за ним 12 бит данных содержат четное количество единиц.

Wiegand 34 бит

Состоит из 32 бит кода и 2 бит контроля на четность.

P — биты четности (первый и последний бит);

XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX — номер карты и фасилити. Размер и положение данных может изменяться, поэтому фасилити не выделяется. Все значимые биты относятся к номеру карты, а фасилити равен 0.

Wiegand 37 бит (HID H10304)

Стандарт HID Global. Состоит из 35 бит кода и 2 бит контроля на четность.

P — биты четности (первый и последний бит);

FFFF FFFF FFFF FFFF — фасилити-код (16 бит, диапазон значений: 0 — 65535);

Wiegand 37 бит (HID H10302)

Стандарт HID Global. Состоит из 35 бит кода и 2 бита контроля на четность.

P — биты четности (первый и последний бит) – E XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX O;

Другие

Существует несколько разновидностей интерфейса Wiegand, отличающихся количеством бит в посылке, наличием/отсутствием битов чётности. В этом случае значимыми считаются все биты, присылаемые считывателем. Двоичный код преобразуется в десятичный формат, фасилити равен 0. Считыватель 1-Wire всегда присылает 64 бита, которые преобразуются в большое десятичное число вида 12 802 481 456 215 952 123.

Преобразование номеров карт

При настройте точки доступа указывается алгоритм преобразование полученного идентификатора карты из двоичного формата.

БОРЕЙ/ЯРС поддерживают три алгоритма:

Номер карты в базе данных СКУД может не соответствовать номеру, указанному на карте.

При выборе разного алгоритма преобразования один и тот же номер карты будет представлен по-разному. Например, карта Wiegand-26 с фасилити кодом = 142 и номером 02136:

Проверить номер карты, получаемый контроллером, можно в приложении Журнал событий. Вы можете в реальном времени менять режим работы точки доступа и в «живом журнале» или в архиве событий просмотреть получаемый фасилити/номер карты. Сообщение «Неверный формат карты» отображается, если установлен автоматический режим, а карта в реальности не соответствует форматам Wiegand-26/34/37. Измените режим на «Сырой (с переменной длиной)».

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

ВНИМАНИЕ

В системе контроля доступа с несколькими источниками данных (usb-считыватель в бюро пропусков, разные контроллеры доступа, мобильные терминалы) необходимо добиться идентичности номера карты, получаемого от каждого источника.

Настольный USB-считыватель

В АРМ НЕЙРОСС Доступ вы можете ввести фасилити и номер карты в данные пропуска вручную, считать с помощью считывателя, подключенного к контроллеру БОРЕЙ/ЯРС, или с помощью настольного USB-считывателя, имеющего возможность работы в режиме клавиатуры (например, – в режиме Keyboard Wedge для считывателя HID® OMNIKEY® 5427 CK). При использовании стандартных карт Wiegand необходимо настроить вывод номера карты и фасилити в следующем формате:

Дополнительная информация приведена в разделе Настройка считывателя номера карты.

Мобильный терминал контроля МТК оснащён бесконтактным считывателем OMNIKEY® с поддержкой широко спектра идентификаторов. Также должен быть настроен в режим клавиатуры (выполняется при изготовлении) с выдачей номера в требуемом формате.

ITRIUM/ПАК Интеграция

Для работы в НЕЙРОСС с контроллерами «сторонних» производителей, интегрированными через ITRIUM/ПАК Интеграция, для идентичности номеров карт требуется воспользоваться функционалом автоматического преобразования номеров Службы бюро пропусков.

Источник

Перевод скуд c карт em marin на карты mifare® полезные сведения для владельца объекта скд.

Перевод СКУД c карт EM MARIN на карты MIFARE®. Полезные сведения для владельца объекта СКД.
Олег Быков, к.т.н., генеральный директор, компания NCS

Подавляющее большинство современных систем контроля доступа (СКД) использует в качестве средств доступа идентификаторы, работающие на частоте 125 кГц. Это проксимити карты доступа (только чтение), самыми распространенными являются карты EM Marin, а также HID, Indala®.

Карты этого стандарта являются удобным средством открывания дверей и турникетов. Но, не более. Эти карты не обладают никакой защищенностью, легко копируются и подделываются и, соответственно, ничего не дают для защиты объекта от несанкционированного проникновения.

Настоящую защиту от копирования и подделки обеспечивают такие идентификаторы, в чипах которых реализована криптографическая защита. Это бесконтактные смарт-карты, работающие на частоте 13,56 МГц, наиболее распространенными из них являются карты Mifare®, HID iClass®.

В картах этих стандартов криптозащита организована на высоком уровне, и подделка таких карт практически невозможна.

В данной статье рассматривается простой и легкий путь замены карт доступа EM Marin на действующем объекте СКД на карты стандарта Mifare®.

Планируя замену карт EM Marin на карты Mifare® в действующей СКД (или выбирая стандарт Mifare® в качестве карт доступа для новой СКД), следует уделять особое внимание процессу выпуска карт доступа. В отличие от обычной EM Marin, бесконтактные смарт-карты имеют память для записи-чтения и механизм криптографической защиты от несанкционированного чтения или записи данных в чип карты. И для того, чтобы в полной мере использовать имеющиеся возможности, заказчик СКД должен организовать у себя на объекте определенную процедуру выпуска карт доступа.

Основные отличия карт Mifare® и EM Marin приведены в таблице.

Табл. 1

Mifare® 1K

Mifare® Plus

EM Marin

Серийный номер, всегда открытый для считывания

Защита операций чтения и записи

ключ к чтению каждого сектора

ключ к чтению каждого сектора

ключ к записи в каждый сектор

ключ к записи в каждый сектор

I. ТИПИЧНЫЕ ОШИБКИ ПРИ ИСПОЛЬЗОВАНИИ КАРТ ДОСТУПА MIFARE®

Ошибка 1. Считывание серийного номера карты.

Если считыватель, установленный у турникета, шлагбаума или двери в помещение будет считывать серийный номер чипа карты Mifare®, то никакого преимущества по сравнению с картами EM Marin достигнуто не будет. Затраты на более дорогие карты доступа будут напрасными. Серийный номер чипа Mifare® (UID) можно скопировать, хоть и несколько сложнее, чем UID карты EM Marin. При считывании серийного номера Mifare® никак не задействуются криптографические функции, а это означает работу на уровне EM Marin, без защиты карты от копирования.

Чтобы правильно использовать функциональные возможности карт Mifare® надо считывать не серийный номер чипа, а данные из некоторого блока памяти карты (secure sector), доступ к которому защищен крипто-ключами.

Ошибка 2. Подключения считывателя по Wiegand-26.

Ситуацию, когда с карты Mifare® считывается серийный номер, а сам считыватель подключается к контроллеру через интерфейс Wiegand-26, можно назвать типичной. Но неправильной.

Для того, чтобы полностью считывать UID Mifare®,надо подключать считыватели по интерфейсу Wiegand-42 (который позволяет передать в контроллер все 4 байта серийного номера Mifare®).

II. КАК ЗАМЕНИТЬ КАРТЫ EM MARIN НА КАРТЫ MIFARE®

Для того, чтобы в действующей СКД заменить карты EM Marin на карты Mifare®, необходимо выполнить простые действия:

1) Идентификатор карты EM Marin записать в память карты Mifare®(рис. 1).

2) Настроить считыватели Mifare® на чтение того блока памяти, в который записан идентификатор EM Marin.

3) Заменить считыватели EM Marin на считыватели Mifare® (рис. 2).

Все остальное сохраняется: программное обеспечение, база данных, отчеты и т.п. Проходы по новым картам Mifare® будут обрабатываться точно так же, как и по старым картам EM Marin.

Рис. 1 em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Рис. 2em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Рис. 3em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Но выполнение этих трех, перечисленных выше этапов характеризуется определенными тонкостями. Рассмотрим эти этапы подробнее.

1. ЭМИССИЯ КАРТ

Когда владелец объекта может быть уверен в том, что карты, открывающие доступ в важные помещения, не будут подделываться? Только тогда, когда защиту от подделки он продумает и реализует самостоятельно (или через свое доверенное лицо). Нельзя передавать эти функции разработчику или установщику СКД.

1.1. Пред-эмиссия. Запись ключей (прошивка карт Mifare®)

В результате проведенной пред-эмиссии карты Mifare® оказались переведенными из открытого заводского состояния в закрытое и защищенное состояние для данного объекта СКД (рис. 3).

1.2.Запись идентификаторов Em Marin в память карты Mifare®

Рис. 4em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.
Действующая карта доступа EM Marin изымается у работника.

Идентификатор (серийный номер чипа) карты EM Marin записывается в сектор карты Mifare® ( в тот сектор, который выбран на этапе пред-эмиссии).

Карта доступа Mifare® выдается работнику.

Эти действия производятся со всеми картами EM Marin, находящимися на руках у работников, до тех пор, пока не будут заменены все имеющиеся карты EM Marine (рис. 4).

2. НАСТРОЙКА СЧИТЫВАТЕЛЕЙ

Для того, чтобы считыватели могли работать с картами Mifare®, прошитыми на предыдущем этапе, в них должны быть загружены соответствующие ключи. Не все считыватели подходят для работы в таком защищенном режиме, на что также следует обратить внимание владельцу объекта. Для использования в защищенном режиме подходят только такие считыватели Mifare®, которые могут хранить в своей энергонезависимой памяти ключи для доступа ко всем 16 секторам Mifare®. Многие дешевые считыватели не обладают такой характеристикой и, соответственно, бесполезны для защищенной СКД.

Рис. 5 em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.
Запись ключей в считыватели Mifare® переводятся с помощью специальной мастер-карты или карты-конфигуратора.

Карта конфигурации подносится к каждому считывателю. В результате все считыватели переводятся из открытого заводского состояния в защищенное состояние, в котором они смогут работать с «прошитыми» картами данного объекта доступа (рис. 5).

3. ЗАМЕНА СЧИТЫВАТЕЛЕЙ

Считыватели EM Marin, установленные у турникетов, дверей и т.п., демонтируются. Вместо них устанавливаются уже «прошитые» считыватели Mifare® и подключаются к контроллерам по интерфейсу Wiegand-26 (рис. 2).

4. ФУНКЦИОНИРОВАНИЕ СКД ПО КАРТАМ MIFARE®

Все карты EM Marin заменены на «прошитые» карты Mifare®. Вместо старых считок EM Marin к контроллерам (по Wiegand-26) подключены считки Mifare®. Эти считки читают данные из защищенного блока памяти Mifare® (secure sector), и в контроллер передается такой же идентификационный номер, который был у старой карты EM Marin.

Никаких других изменений, кроме отмеченных выше, не требуется. Проход по новой карте Mifare® фиксируется точно также, как и по старой карте EM Marin. С карты Mifare® считывается такой же идентификационный номер, который был на карте EM Marin. По этому номеру работник однозначно идентифицируется в базе данных.

5. ВЫДАЧА НОВЫХ КАРТ ДОСТУПА MIFARE®

После того, как были заменены все старые действующие карты доступа EM Marin, новым работникам должны выдаваться новые карты Mifare®.

После этого карты доступа Mifare® можно выдавать работникам.

Выдача новых карт доступа Mifare® производится точно так же, как выдавались карты EM Marin (в бюро пропусков или в другом аналогичном месте).

Вместо контрольного считывателя EM Marin к компьютеру подключается контрольный считыватель Mifare® (по интерфейсу USB), который считывает данные из защищенного блока памяти Mifare®. Все остальное происходит точно так же, как и при выдаче карт EM Marin. Идентификатор, записанный в защищенный блок памяти Mifare®, считывается с карты и сохраняется в базе данных вместе с персональными данными работника.

III. КАК ПРАВИЛЬНО ВЫБИРАТЬ КАРТЫ MIFARE®

В отличие от карт EM Marin карты Mifare® представляют собой более сложный продукт, и к закупке таких карт надо подходить более ответственно.

На что же следует обращать внимание при заказе карт данного стандарта? На качество, которое складывается из следующих составляющих:

— соединение чипа и антенны.

1. ЧИП КАРТЫ

Чипы Mifare® 1K бывают оригинальные и нет. От этого зависят такие параметры, как надежность и корректность работы с памятью чипа.

Чип от NXP называется MF1 IC S50 и является самым правильным «оригинальным» чипом.

Кроме NXP, оригинальные чипы выпускает фирма Infineon на основании лицензии от NXP. Чип от Infineon называется SLE66R35. По надежности и другим параметрам данный чип ничем не отличается от чипа NXP.

На рынке существуют чипы, кроме MF1 IC S50 и SLE66R35, которые называют «совместимые» или «неоригинальные» чипы Mifare® 1K. Но, так как эти чипы выпускаются без лицензии NXP, носить название Mifare® на законных основаниях они не могут. Фирмы-разработчики таких чипов этого и не делают, они дают своим чипам другие названия. А словосочетание «совместимый Mifare» или «неоригинальный Mifare» придумали менеджеры по продажам.

Из таких совместимых чипов наиболее известными являются:

— SHC1102/ HuaHong и др.

Заводы-изготовители таких чипов в своей технической документации, естественно, не упоминают Mifare®, а ссылаются на стандарт ISO 14443 Type A.

Следует иметь в виду, что стоимость совместимых чипов значительно ниже, чем стоимость оригинальных.

Есть еще такое понятие, как корректная или полная реализация стандарта ISO 14443 Type A. Не все совместимые чипы обладают такой реализацией. Это означает, что при выполнении сложных функций по операциям с памятью «Mifare-совместимого» чипа, такие чипы могут работать неправильно. Что и происходит на практике. Заказчик, польстившись на низкую стоимость, с удивлением обнаруживает, что карты через некоторое время перестают работать.

2. АНТЕННА

Бесконтактные смарт-карты стандарта ISO 14443 Type A работают на частоте 13,56 МГц. Т.е. и считыватель, и карта должны обеспечить работу на частоте 13,56 МГц. Для этого внутри карты имеется антенна. Чаще всего антенна делается из нескольких витков медной проволоки. Медная проволока может наматываться китайским рабочим вручную, а может наматываться на автоматическом станке. При намотке на станке антенна получается идеально ровной, чего нельзя сказать о ручной намотке. От этого может зависеть реальная частота, на которой данная антенна будет работать, и, соответственно, дальность считывания и правильность передачи данных между картой и считывателем.

3. СОЕДИНЕНИЕ ЧИПА И АНТЕННЫ

Чип и антенна должны быть надежно соединены. Иначе не будет передачи данных между картой и считывателем. От качества этого соединения зависит надежность и долговечность работы карты. Если площадь контакта антенной проволоки и чипа достаточно велика и качество пайки (сварки) высокое, карта будет долго и безупречно работать. Высокотехнологичные производства это обеспечивают.

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

Вот три наиболее важных момента, которые следует иметь в виду при заказе бесконтактных смарт-карт Mifare®.

Примечание: Об оригинальности чипов EM Marin и Mifare®.

То, что в народе называется EM Marin, представляет собой самую популярную карту доступа EM4102 от швейцарской фирмы EM Microelectronic-Mann SA. Но оригинальные чипы EM4102 практически отсутствуют на рынке. Подавляющее большинство карт доступа (браслетов, брелоков) поставляется с китайским аналогом TK4100 (и, строго говоря, называться EM Marin не может).

В Китае производятся «совместимые» чипы. Но заводы-изготовители их и не называют Mifare®, а дают свои наименования (например, ISSI, F08, TKs, HuaHong).

IV. КАК ДОБАВИТЬ В СКД ДОСТУП ПО ОТПЕЧАТКАМ ПАЛЬЦЕВ

Дополнительно повысить защищенность и безопасность СКД можно, добавив предоставление доступа по карте + по отпечатку пальца.

Если такое повышение статуса СКД необходимо для системы, где уже есть карты EM Marin, то, вместе с заменой карт EM Marin на карты Mifare® можно легко и просто добавить верификацию по отпечатку пальца. Выполняется это с помощью комбинированного считывателя Mifare® и отпечатка пальца, который подключается к контроллеру по интерфейсу Wiegand-26.

Считыватель работает следующим образом. Вначале считывается карта Mifare®, в памяти которой хранится отпечаток пальца владельца карты. Затем сканируется палец. Считыватель сравнивает оба отпечатка и при совпадении посылает в контроллер идентификационный номер, записанный в защищенном секторе Mifare®.

V. ЗАКЛЮЧИТЕЛЬНЫЕ ЗАМЕЧАНИЯ

В заключение перечислим основные моменты, на которые следует обращат внимание владельцу объекта СКД.

1) Вместо считывания серийного номера чипа, надо считывать данные из защищенного блока памяти карты Mifare®. Длина данных, записанных в блок памяти, должна быть не более 3 байт, чтобы полностью передать по Wiegand-26.

2) Не рекомендуется использовать карты Mifare® сразу после покупки. Пользователю следует поменять открытые заводские ключи на свои собственные,секретные ключи. Если не использовать ключи при работе с продуктами Mifare®, то нет смысла и в самих картах Mifare®. В этом случае дешевле и проще применять Em Marin. Все преимущества продуктов Mifare® будут реализованы только тогда, когда пользователь будет закрывать доступ к чтению-записи данных из чипа Mifare® по своим секретным ключам. И будет делать это самостоятельно, а не получать от поставщика карту с уже записанными (и неизвестными пользователю) ключами.

4) Владелец системы (доступа, оплаты, и т.п.) должен предусмотреть два этапа выпуска карт:

Предэмиссия нужна для того, чтобы перевести карты Mifare® с открытого заводского уровня на защищенный уровень, принятый в данной системе. С завода-изготовителя карты Mifare® поступают открытыми и незащищенными.

Очень важно для владельца объекта СКД знать, что закупаемые им карты Mifare® находятся на открытом заводском уровне и никакая информация в память карты не записана. Иногда поставщики карт Mifare® самостоятельно (и без ведома заказчика) прописывают свои ключи в карты Mifare®, защищая их якобы от подделки. Это неправильно. Поставщик привязывает таким образом владельца СКД к своим картам. А, зная значение ключей, он имеет все возможности для взлома и подделки карт.

Генерировать ключи и записывать их в карты должен сам владелец объекта, на котором установлена СКД, или его доверенное лицо.

Источник

Эмулятор RFID

Эмулятор карт EM Marine

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Технология RFID

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Внешний вид RFID-меток

RFID (англ. Radio Frequency IDentification, радиочастотная идентификация) — имеет достаточно широкий частотный диапазон и достаточно большое количество различных стандартов, которые так или иначе применимы к данной технологии. Для справки: используются частоты: 125-135кГц, 400 кГц, 6.78МГц, 13.56МГц (карты метро и банковские карты), 27.125МГц, 40.68 МГц, 433.29 МГц, 869 МГц, 915 МГц, 2.45 ГГц, 5.8 ГГц и 24.125ГГц. Как видно частотный диапазон очень широкий.

Мы же будем говорить о самых распространённых и наименее защищённых картах частотного диапазона 125 кГц. Я разберу стандарт EM Marine 4102, так как именно с ним лучше всего знаком. Однако код эмулятора позволяет работать и с другими стандартами, работающими на частоте 125 кГц.

Чтобы мы могли дальше углубиться в теорию, следует рассказать пару слов о принципе работы RFID. Далее в тексте будет приводиться информация, относящаяся к стандарту 125 кГц EM Marine, прочие RFID решения устроены подобным образом.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Считыватель, кроме информационного обмена осуществляет подачу питания. Метка из себя представляет ПЗУ, которое питается от электромагнитного поля, и после подачи питания просто отдаёт записанную информацию.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Из этой схемы хорошо видно, как устроен передатчик и приёмник. Оба колебательных контура настроены в резонанс и используются для передачи данных и передачи энергии, для питания пассивной метки, в роли которой выступает наша карта.

Более детально о принципе работы можно прочитать в [1]

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Внутренности разобранной карты

Если разобрать карту, то можно увидеть антенну в виде катушки и чип залитый компаундом, в котором находится ПЗУ и конденсатор ёмкостью 75 пФ.

Описание протокола EM4102

Прежде, чем мы пойдём дальше, давайте разберёмся со стандартом EM4102, который мы будем эмулировать. EM4102 совместимая RFID-метка содержит 64 бита памяти только для чтения. По сути — это и есть ПЗУ, то есть информация может быть считана из неё, но не может быть изменена либо записана, проще говоря этот чип единожды прошивается на заводе. Структуру памяти метки можно посмотреть на рисунке ниже.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Когда метка попадает в электромагнитное поле, излучаемое считывателем RFID, она получает энергию от поля (питание) и начинает передачу данных. Первые 9 битов – это логическая единица. Эти биты используются как последовательность маркеров для обозначения начала передачи. Поскольку во всех остальных данных используется контроль чётности, эта девятибитная последовательность единиц больше не встретится ни в каком другом месте. Далее идут 10 групп по 4 бита данных и 1 бит чётности на каждую группу. Наконец, есть 4 бита контрольной суммы и последний стоповый бит, который всегда равен нулю.

Метка повторяет цикл передачи данных, пока на неё приходит питание. Поэтому мы на ридере наблюдаем постоянное считывание метки.

Приведу пример данных, которые передаёт метка с номером: 0x06 — номер версии, и 0x001259E3 — данные.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Кстати, номер, напечатанный на карте можно перевести в hex-номер, который получит считыватель. Например, на карте записан номер: 116,23152

Модуляция сигнала

Передача данных от метки до считывателя осуществляется с помощью модуляции несущего сигнала считывателя (в нашем случае несущей частоты 125 кГц). Обратите внимание, что от этой несущей частоты идёт и питание и ей же осуществляется модуляция сигнала. Для начала рассмотрим упрощённую схему взаимодействия считывателя и метки. Запомните эту картинку, мы ещё будем к ней обращаться.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Как видно у метки есть колебательный контур LC, диод, служащий для выпрямления переменного тока, конденсатор для сглаживания пульсаций (это часть питания метки), и транзистор, управляя которым мы можем модулировать сигнал. На считывателе это будет отражаться в изменении тока протекающего в катушке. Проще говоря, при попадании в поле считывателя, метка потребляет электрический ток (примерно постоянно), при передаче информации она транзистором изменяет значение потребляемого тока и таким образом считыватель может получить сигнал, измеряя потребляемую мощность.

Считыватель генерирует магнитное поле, с помощью модулятора и катушки и снимает промодулированный сигнал, затем декодирует его.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Пример модуляции несущего сигнала

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

По стандарту RFID есть три популярных схемы модуляции:

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

При таком кодировании метка изменяет уровень передачи сигнала строго в середине периода передачи одного бита. Переход от низкого к высокому уровню в эти моменты означает состояние логической «1», а переход от высокого уровня к низкому, представляет состояние логического «0».

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Реальный промодулированный сигнал, снятый на катушке считывателя.

Делаем RFID-эмулятор

Ну что же, если вы ещё здесь и голова не опухла, от таких выкладок, то пришла пора делать RFID-эмулятор, всего из двух деталей. В этой простоте кроется гениальность. Устройство я собрал, позаимствовав идею и код у Micah Dowty, фотографии мои.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Вот такой миниатюрный таракан, вполне может эмулировать метку

Для начала разберёмся, как же эта штука вообще функционирует, хотя по определению работать не должна, так как противоречит привычной схеме подключения микроконтроллера. Схема устройства взята из исходного кода.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Катушка индуктивности около 1 мкГн и микроконтроллер ATtiny85

Вот это дамы и господа и есть настоящее Хакерство, когда уровень понимания особенностей работы оборудования позволяет создавать технические решения, выходящие за рамки, обозначенные производителем! И это работает, проверено лично. Вот истинное значение слова «хакер», это не про взлом и воровство.

Прежде чем мы пойдём разбирать код данного эмулятора давайте сделаем ему нормальную антенну. Мои эксперименты с текущей схемотехникой выявили крайнюю нестабильность её работы. Она работает только совсем рядом со считывателем и то не всегда. Поэтому сначала я припаял конденсатор 0,1 мкФ на ножки питания контроллера, а потом решил сделать настоящий большой колебательный контур, как в настоящей метке.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Первая модификация — конденсатор 0,1 мкФ по питанию

Создание антенны

Никаких хитростей в создании катушечной антенны нет, но всё же необходимо ознакомиться с документацией и понимать физику процесса… Это не сложно, и справится даже школьник, требуется только немного терпения и усидчивости.

Собрать и настроить антенну очень просто, прямо как в картинке из [1].

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Колебательный контур, электрическая цепь, содержащая катушку индуктивности и конденсатор, в которой могут возбуждаться электрические колебания.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Параллельный колебательный контур

Если оставить всю математику и перейти к сути, у колебательного контура есть такой параметр, как резонансная частота, которая определяется по формуле.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Где f — частота колебаний, L — индуктивность катушки, C — ёмкость конденсатора.

В данном случае у нас есть фиксированный параметр — частота, а с ёмкостью и индуктивностью мы можем играться. Для того чтобы рассчитать катушку, воспользуемся документом [2]. Все кто хоть как-то собираются делать антенны для RFID меток (любых частот), обязаны с ним ознакомиться!
Многие умельцы, как для ридеров, так и для эмуляторов (суть не важна) делают круглые катушки. Их проще считать и изготавливать, но они имеют существенный недостаток — их линейные размеры больше карточки. Я хочу изготовить катушку индуктивности в форме прямоугольника, с линейными размерами меньше размеров стандартной карты и, чтобы результирующее устройство было размером со стандартную карту RFID. В результате выбираю размер будущей катушки индуктивности практически такой же, как стоит в настоящей метке, то есть примерно 70х40 мм. Если конденсатор выбрать 10 нФ, то индуктивность катушки (из формулы выше), должна составлять у нас 162 мкГн. Теперь смотрим в документацию по расчёту прямоугольной катушки. Для намотки катушки выбрал провод сечением 0,2 мм. В результате открываем соответствующий раздел документации, и нашему взору представляется следующая славная формула.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Как видим параметры толщины и ширины катушки у нас неизвестные и изменяемые (упираются в толщину провода 0,2 мм), но общие прикидки мне дали цифру в 42 витка. Можно было бы сделать несколько итераций, и сделать прям точный-точный расчёт, но в нашем штучном случае, и так сойдёт.

После чего, необходимо изготовить каркас 70х40 мм для намотки катушки. Его я изготовил из текстолита и на него намотал катушку.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Каркас из текстолита

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Намотка и готовая катушка

К сожалению, измерителя индуктивности у меня нет, поэтому пришлось действовать далее методом научного тыка. Поскольку я наверняка ошибся в расчётах, и в количестве витков, когда наматывал катушку, так как делал их приблизительно и на глаз, то я решил подобрать резонансную ёмкость вручную. Для этого закрепил катушку на картридере, воткнул её концы в макетную плату (“матрац с дырками”), затем начал поочерёдно подключать ёмкости, при этом регистрируя сигнал на осциллографе.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Начнём подбор резонансного конденсатора

Сначала я проверил конденсатор емкостью 10 нФ, который должен быть резонансным. Но амплитуда сигнала сразу просела, по сравнению с пустой катушкой. Тогда я взял конденсатор меньшего номинала. И так перебирал конденсаторы, пока не поймал резонанс. Таким образом резонансная ёмкость конденсатора составила 3,2 нФ.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Сигнал без конденсатора, пустая катушка

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Видно, что пробовал разные варианты, и было ясно что максимум лежит где-то между 3 и 4 нФ и результатом стал конденсатор 3,2 нФ (состоящий из двух конденсаторов в параллели). Всё, наша катушка готова к дальнейшим опытам.

Вообще, хочу заметить, что катушку можно сделать вообще в виде дорожек на печатной плате, и при небольшой серии изделий так и стоит делать. Вот, пример такой платы, именно на 125 кГц от Alexander Guthmann. К сожалению, сайт практически умер, а автор давно не выходит на связь, так что довольствуемся только моими фото. Если кто поможет его найти, буду признателен! Не знаю что с ним случилось.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Таким образом, делать эмулятор сразу в виде печатной платы — нет никаких проблем. Думаю имея руководство [2], сможете рассчитать такое самостоятельно, раз это смог сделать четырнадцатилетний немецкий школьник.

Пробежимся по коду

Давайте кратенько пробежимся по коду, который можно посмотреть вот тут. Там пример эмуляции двух типов карт, я разберу только EM4102.

Перво-наперво, как гласит код, нам при прошивке микроконтроллера надо прошить fuse-биты в значение lfuse to 0xC0: таким образом, чтобы контроллер тактировался от внешнего генератора. Обращаю внимание, что любая перепрошивка контроллера будет сопряжена с тем, что его надо будет тактировать от внешнего источника, так как мы устанавливаем fuse биты с генерацией от внешнего генератора!

Весь код основан на макросах. Напомню, что такое макросы — это программа, которая подготавливает код к компиляции. Наша программа состоит всего из нескольких ассемблеровских инструкций: rjmp, call (2 такта), nop, ldi, out и ret (все по 1 такту)! Всё, весь остальной код формируется макросами в зависимости от макроса серийного номера (дефайна). Особенность работы в том, что у нас достаточно мало тактов для нормальной работы. Попробуй успей за 32 такта сделать что-то, учитывая что инструкции перехода в контроллере AVR занимают 2 такта. Поэтому весь код генерируют макросы в зависимости от ID-карты.

Дефайнами задаём какой тип карты мы эмулируем и задаём ID-карты. Это главный макрос, на основании которого и формируется остальной код. И, тадам, его величество макросы.

Если вы ещё соображаете, то дальше я вам совсем изнасилую мозг, но код так гениален что вам придётся потерпеть.

Рекурсивный макрос кодирования манчестер-кодом.

Собственно тут и осуществляется вся логика. Принимает на вход битовую маску и счётчик битов. Если счётчик не нуль, то вызываем ещё раз сами себя, декрементируя счётчик (рекурсивный макрос, ага). Далее в самом теле идут вызовы макросов baseband_0, baseband_1 и baseband_1_last. В зависимости от того, какой бит у нас “1” или “0”, мы модулируем сигнал манчестер кода с нуля на единицу или с единицы на нуль.

Помните выше я приводил таблицу в статье, как идёт кодирование содержимого карты, где идут биты чётности, и стоп биты в конце. Так вот, наша задача теперь ID-метки закодировать этим методом, для этого у нас существуют два макроса.

ROW_PARITY — расчёт бита чётности в строке из четырёх бит, COLUMN_PARITY — расчёт контрольной суммы всей посылки.

Ну то есть, так же точно передаём заголовочные 9 бит, потом манчестер кодинг, высчитывая бит чётности для каждых 4-х бит, в конце контрольная сумма и стоп бит.

Осталось разобраться, что же такое baseband. Для этого у нас служат ещё одни макросы обёртки (да сколько можно-то, а?).

Макросы baseband* — выполняют ассемблеровский код: вызывают соответствующие функции, и потом делают переход на другую команду. Макрос baseband_1_last — аналогична макросу baseband_1, кроме того что делает безусловный переход не на команду ниже, а в начало функции main. Макрос header — служит для вывода заголовка из девяти однотипных бит равных единице, и вызывает макрос манчестера с передачей числа и количества передаваемых бит.

Последнее, что осталось разобрать — это функции baseband30_0 и baseband30_1. Они описываются следующим кодом.

В зависимости от того, какая функция вызывается baseband30_0 или baseband30_1 в регистр r16 записывается значение того что должно быть на пине ввода/вывода: 1 или 0. После этого идёт безусловный переход на baseband30 осуществляется вывод и задержка на 19 тактов, после чего идёт возврат.

Самая большая магия этого кода, что он просчитан точно до каждого такта, каждый такт передачи манчестерского кода занимает ровно столько периодов, сколько допустимо стандартом, а именно 32 такта процессора! Это фантастически гениально, надо помнить сколько тактов занимает каждая команда.

Давайте его скорее скомпилируем и посмотрим как он выглядит, как развернутся все эти макросы. Компилируем командой make (предварительно установив avr-gcc) и дизассемблируем получившийся elf-файл

Вначале у нас вектора прерываний, но нас интересует только первый jump. Так как остальные вектора никуда не ведут.

Здесь мы настраиваем порты ввода/вывода, и вызываем функцию main. A main состоит из безумного количества вызовов функций baseband30* и jump (так развернулся наша адский цирк макросов).

И так далее… пока не джампнемся снова на main

Ну и глянем как же выглядит наш baseband модуль.

В конце видно как delay развернулся в список jump и nop для задержки. Вот такая красивая магия.

Ну что же, с кодом разобрались. Соберите вытекший мозг с ушей, переходим к испытаниям.

Испытания

Применим все полученные знания и проведём испытания. Компилируем прошивку, прошиваем контроллер, не забывая правильно выставить Fuse-биты.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Платка для прошивки

Подключаем наш колебательный контур и тестируем на настоящем промышленном считывателе, никаких полумер, честные боевые условия.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

И, о чудо! Оно работает, корректно считывается и в цикле даёт корректный ID! Без внешнего питания, с работой только от поля. Осталось всё это привести в порядок и сделать настоящую RFID-метку.

em marine перевести номер карты в код. картинка em marine перевести номер карты в код. em marine перевести номер карты в код фото. em marine перевести номер карты в код видео. em marine перевести номер карты в код смотреть картинку онлайн. смотреть картинку em marine перевести номер карты в код.

Окончательный “заламинированный” вариант метки

Итого

Могу честно признаться, что до конца не верил, что это заработает. Питание от поля, нестандартные режимы работы контроллера, работа строго по тактам, самодельная катушка индуктивности. Плюс ещё работа самого RFID. И вот, вроде плёвая поделка растекается на пару месяцев чтения документации и разбора полётов. Но это работает, и эта штука по-настоящему гениальна. Так что ребята, вот такие штуки и есть настоящее хакерство. Дерзайте!

Домашнее задание

Раз вы всё-таки прочитали эту крутую статью, я её писал, старался, делал, теперь пора и вам что-то попробовать сделать. В коде эмулятора есть раздел, который эмулирует карты стандарта HID Proximity, с кодированием фазовым сдвигом. Вам в качестве развлечения и лучшего усвоения материала следует разобраться со стандартом HID и этим кодированием. Решение присылайте в комментарии. Удачи.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *