Описание интерфейса Wiegand. Форматы храненения данных Протокол wiegand 26

Wiegand - проводной интерфейс связи между устройством чтения идентификатора (считывателем) и контроллером. Предназначен для передачи в контроллер СКУД уникального кода карты либо pin-кода с клавиатуры.

Принцип передачи данных по интерфейсу Wiegand

Для связи контроллера и считывателя СКУД по интерфейсу Wiegand используется трехпроводная шина. Один из проводов предназначен для обеспечения питания считывателя.

Два других, носят название Data0 и Data1 и используются непосредственно для передачи информации. Передача осуществляется короткими импульсами в одностороннем порядке. Провода Data0 и Data1 изначально находятся под напряжением. Кратковременное падение напряжения на одном из них, позволяет зафиксировать 0 или 1 соответственно.

Передача данных по интерфейсу Wiegand

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

Интерфейсы Wiegand 26…42

Интерфейсы Wiegand различаются цифрами в названии, которые обозначают количество передаваемых бит:

  • Wiegand-26 – самый распространенный интерфейс, содержит 24 бита кода и 2 бита контроля на четность. Недостаток данного интерфейса проявляется при использовании идентификатора с большей длиной ряда данных, когда несколько бит не считываются, а обрезаются, и, следовательно, могут распознаваться некорректно.

    26-битный формат состоит из 255 возможных аппаратных кодов (Facility code). В пределах каждого фасилити кода может быть назначено 65 535 уникальных номеров карт;

  • Wiegand-33 - состоит из 32 бит кода и 1 бита контроля на четность;
  • Wiegand-34 = 32 бит кода + 2 бита контроля на четность;
  • Wiegand-37 – 35+2;
  • Wiegand-40 - состоит только из 40 бит кода;
  • Wiegand-42 - содержит 40 бит кода и 2 бита контроля на четность.

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

Интерфейсы Wiegand 4…8

Те системы контроля доступа, которые предполагают двойное удостоверение личности с помощью карты и pin-кода , обычно имеют считыватели, оборудованные цифровой клавиатурой. При этом набранный код передается также по интерфейсу Wiegand. Это может быть Wiegand-26: в таком случае данные с клавиатуры аккумулируются и отправляются на контроллер СКУД после нажатия специальной клавиши. Как правило такой код ограничен по длине. А могут быть и интерфейсы меньшей битности: Wiegand-4, Wiegand-6, Wiegand-8.

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

Достоинства интерфейса Wiegand

  • Простота работы;
  • Распространенность;
  • Совместимость устройств разных торговых марок;
  • Дальность 100-150 метров.

Недостатки интерфейса Wiegand

  • Отсутствие контроля целостности линии между контролером и считывателем;
  • Отсутствие шифрования данных и двусторонней аутентификации;
  • Отсутствие контроля целостности передаваемых данных;
  • Односторонняя передача данных (для двусторонней передачи информации требуется дополнительный интерфейс).

Уязвимость интерфейса Wiegand

Уязвимость протокола Wiegand подчеркивает метод атаки с использованием BLEKey.

BLEKey - небольшое устройство стоимостью около 35 долларов США, предназначенное для подключения к RFID-считывателю, использующему передачу данных по интерфейсу Wiegand. Достаточно подключиться к проводам и получить питание от считывателя. После прикрепления, BLEKey сохраняет информацию об успешной идентификации карты доступа. Используя Bluetooth Low Energy (BLE), устройство может синхронизироваться с телефонным приложением и позволяет телефону воспроизводить последнюю успешную карточку .

Материал спецпроекта "Без ключа"

Спецпроект "Без ключа" представляет собой аккумулятор информации о СКУД, конвергентном доступе и персонализации карт

Статьи

Выберите год: Выберите месяц:
  • OSDP-протокол выводит защиту данных на новый уровень

    OSDP предназначен для безопасного обмена данными в защищенном виде с шифрованием по алгоритму AES-128. Его физическая основа – интерфейс RS-485.

  • Небанковские приложения для банковских карт

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

  • Протокол OSDP

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

  • Что надо знать, заказывая карты Mifare для СКД

    Все чаще в качестве карты доступа в СКД используются карты стандарта Mifare 1K. Это бесконтактные смарт-карты, намного более сложные и функциональные, чем самый популярный Em Marin, и при заказе таких карт следует быть очень внимательным.

  • Открытые стандарты способствуют совершенствованию систем контроля доступа

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

  • История развития технологий, повышающих надежность использования идентификаторов в СКУД

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

  • Перевод СКУД c карт EM MARIN на карты MIFARE®. Полезные сведения для владельца объекта СКД.

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

  • Выбор карты доступа СКД: MIFARE vs Em Marin

Новости

Выберите год: Выберите месяц:

Wiegand - простой проводной интерфейс связи между устройством чтения идентификатора (карточки) и контроллером, широко применяемый в системах контроля доступа (СКУД).

Предназначен для передачи уникального кода карты или pin-кода с клавиатуры в контроллер СКУД .

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

История

Изначально интерфейс применялся в считывателях магнитных карт и был максимально оптимизирован под простейшие считыватели. В сущности это был простой выход усилителя чтения. Из-за распространенности магнитных карт этот интерфейс стал стандартным де-факто. Позже магнитные карты были вытеснены бесконтактными картами (RFID) однако интерфейс был сохранен неизменным в целях совместимости оборудования.

Разновидности

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

Наиболее распространенные считыватели и контроллеры СКУД поддерживают следующие варианты Wiegand:

  • Wiegand-26. Самый распространенный. Состоит из 24 бит кода и 2 бит контроля на четность.
  • Wiegand-33. Состоит из 32 бит кода и 1 бита контроля на четность.
  • Wiegand-34. Состоит из 32 бит кода и 2 бит контроля на четность.
  • Wiegand-37. Состоит из 35 бит кода и 2 бит контроля на четность.
  • Wiegand-40. Состоит из 40 бит кода, контроля на четность нет.
  • Wiegand-42. Состоит из 40 бит кода и 2 бит контроля на четность.

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

Существуют и некоторые другие названия для аналогичных интерфейсов. Распространен, например, интерфейс KSF который является фактически Wiegand-32.

Электрическое подключение

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

Максимальная длина линии связи сильно зависит от грамотного выбора кабеля (основные критерии - низкая погонная емкость, низкое омическое сопротивление) и грамотного построения схемы развязки питания считывателя и контроллера. Обычные значения, приводимые поставщиками оборудования - до 150…250 метров.

Формат данных

Передача данных

Передача ведется короткими импульсами. Наличие импульса в линии «Data0» означает что был передан лог.0, наличие импульса в линии «Data1» означает что был передан лог.1. Ширина импульсов и их период сильно варьируется в зависимости от изготовителя считывателя. Ширина импульсов обычно в диапазоне 20…200 мкс. Период следования импульсов - 300…3000 мкс.

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

Разделение кадров осуществляется по таймауту. Реально минимальное время между кадрами 0,5 сек., рекомендуемый таймаут для контроллера СКУД - 50…250мс.

Контроль на четность

Если имеется контроль по четности, то к битам кода карты добавляются два бита - один перед кодом, другой после. Соответственно весь код карты делится ровно посередине на две части. Четность старшей половины кода контролируется первым битом, младшей - последним. Если количество бит в коде нечетное, то центральный бит кода входит в оба контроля четности.

Первый бит четности (старшей половины кода) ставится в 1 если количество единиц в его половине кода нечетное. Последний бит четности (младшей половины кода) ставится в 1 если количество единиц в его половине кода четное.

Надо заметить, что встречаются считыватели не подчиняющиеся этому правилу контроля четности. Поэтому реально большинство универсальных контроллеров СКУД просто игнорируют контроль на четность. Кроме того, некоторые форматы бесконтактных карт несут информацию о количестве бит кода и четности прямо на карте, соответственно считыватель не может никоим образом влиять на реальный выходной формат данных. Таков, например, формат HID ProxPass, Indala ASP и др.

Wiegand и клавиатуры для ввода pin кода

Некоторые СКУД имеют возможность двойного удостоверения личности: поднесением карты и набором pin-кода на клавиатуре. Обычно при этом цифровая клавиатура вмонтирована в считыватель и набранный код передается также по интерфейсу Wiegand. Обычно передается каждая набранная цифра индивидуально с помощью Wiegand-4.

Немного о Wiegand протоколе

Протокол wiegand26 появился в 80х годах как промышленный стандарт для систем контроля доступа - трехпроводная линия соединяет считыватель магнитных карт с платой контроллера, который обеспечивает хранение и контроль номеров карт.
В настоящее время магнитные карты практически вытеснены бесконтактными картами RFID, а протокол wiegand 26 был расширен и дополнен, но активно используется до сих пор как стандарт в большинстве охранных систем.

Wiegand протокол - физический уровень

Для передачи данных используются два провода - D0 / D1 и один для объединения земли ридера и контроллера. С учетом линии питания, минимально для подключения считывателя необходимо 4 жилы. Остальные 3-4 используются для управления дополнительными функциями считывателя.

В состоянии покоя, линии D0и D1 имеют высокий уровень (+5V) или неопределенный в расчете на подтяжку на стороне контроллера. Для передачи бита данных, считыватель притягивает одну из линий к земле на 50мкс, отпускает на 2мс и передает следующий бит притягивая соответствующую линию на 50мкс и снова пауза в 2мс. Если пауза между передачами больше 2мс, значит передача данных завершена.
Состояние бита 0 или 1 определяется по тому, какая линия D0 или D1 была притянута к земле в момент передачи бита. Линия D0 отвечает за нули, линия D1 за единицы.

Для наглядности приложу картинку

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

Wiegand протокол - логический уровень

На логическом уровне протокол wiegand26 состоит из 26 бит данных, внутри которых хранятся 2 номера - facility code и card number.
Facility code – нормер объекта или зоны
Card number – номер карточки доступа.

Первый бит используется для контроля первой половины данных (b1-b13) - если количество единиц в первой половине посылки нечетное, бит = 1
Следующие 8 бит (b2 – b9) - facility code (старший бит впереди)
Затем идут 16 бит (b14-b25) с номером карты (старший бит впереди)
Последний бит в посылке отвечает за контроль второй половины собранных данных (b14-b26) - если количество единиц во второй половине посылки четное, то бит =0

Более поздние версии wiegand протокола

В последнее время идет медленное вытеснение wiegand 26 расширенным вариантом протокола, где под коды выделяется не 26, а 32-40 бит + биты проверки четности. Общее количество бит в посылке, как и в случае с wiegand26, определяется по цифрам в названии протокола (wiegand33-wiegand42).
Существует так же огромное количество других разновидностей протокола с разными названиями и разным количеством бит, но по сути они все похожи и всё, что нужно выяснить это длину первой и второй части кода, а так же наличие битов четности.

Клавиатуры с wiegand

Некоторые считыватели совмещаются с клавиатурами и тогда контроллер охранной системы проверят карту и пин код набранный на клавиатуре. Чаще всего, пин код передается по одной цифре, длина посылки в таком случае всего 4 бита без битов четности. Но у разных производителей могут быть разные форматы. На практике мне несколько раз приходилось связываться с производителем и выяснять совместимы ли их системы со стандартом и часто ответ был «да, совместимо, но только в части карточек, для кода свой формат, мы его не разглашаем». Но имея анализатор сигналов, можно легко разобраться что и как передается, т.к. общий принцип остается неизменным. Ниже я приведу пример чтения wiegand26 для attiny2313 , который можно легко переделать в такой анализатор.

Номера зашитые в карточку

Формат Wiegand26, как уже было описано выше, содержит всего 2 кода - facility code и card number.
Facility code – это код здания или фирмы.
Card number - номер карточки.
Изначально предполагалось, следующая логика:
фирма 1 имеет карточки с facility кодом 1 и соответственно до 65535 карточек с уникальными номерами. Фирма 2 имеет карточки с facility кодом 2 и до 65535 карточек с теми же номерами что и у фирмы 1, но с другим facility кодом. Система контроля доступа проверяет facility код, если он совпадет с кодом принятым в этой фирме, проверяется номер карточки и если карточка есть в базе системы, дверь открывается. Если facility code не совпадает с принятым на данном объекте, система отказывает без проверки номера карты.
В большинстве современных систем, facility код частично утратил свой смысл и внутри объекта используются карты с любыми facility кодами, но общий принцип проверки остается похожим - сначала проверка короткого кода, затем проверка основного номера.

В более новых форматах длина facility кода увеличена в 2 раза - до 2х байт и номер карты увеличен в несколько раз. В отличии от некоторых других систем, коды на картах не являются уникальными и могут повторяться в разных партиях или у разных производителей. Только достаточная длина кода защищает от совпадения номеров карт.

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

Мне не известно как точно работают расширенные форматы и как происходит их чтение. Желающим изучить работу системы подробнее, советую отправиться на сайт производителя таких систем или в google . Ключевые слова - Mifare, HID, RFID.

Карточки и частоты

В системах контроля доступа в основном используются 2 типа карточек - 125КГц и 13,5Мгц.
125КГц - наиболее распространенный формат, используется в основной массе считывателей, 13,5МГц более новый и чуть менее распространенный, но для для общения контроллера со считывателем эта информация не имеет значения, т.к. на стороне контроллера считыватель будет работать одинаково. Некоторые считыватели поддерживают обе частоты.
Карточки обоих форматов делятся на 2 типа - карточки доступные только для чтения и карточки с перезаписываемой памятью. В первом случае оба кода записаны при производстве карт и не меняются, во втором - номера можно менять при необходимости, например, при переводе сотрудника в другое здание, с другим facility кодом.
Обычно карты всех форматов несут общую стандартную часть в 26 бит, всё остальное читается по отдельному запросу системы, после чтения основной части.

Подключение RFID считывателя к attiny2313

Для экспериментов с RFID считывателем я накидал небольшую схему

Attiny2313 + стандартная обвязка - кварц 8 мгц, 2 конденсатора от кварца к земле, резистор от ресета к питанию, разъем программирования, разъем для связи с компом (через FT232 или MAX232). В дополнение 78l05 для питания контроллера.

Из обвязки необходимой для тестов считывателя только разъем для подключения самого считывателя (слева снизу), реле для замка, 2 джампера для выбора режима работы (ADD/DEL) схемы и для полноты картины я добавил ещё пару входов для геркона (МК) и для кнопки которая ставится с обратной стороны двери (REX).
На клеммы BEEP, RED и GREEN заводятся 3 оставшихся провода от считывателя, отвечающие за бипер, красный лед и зеленый лед соответственно. Управляются они нулем (PORTB.6=0 включит зеленый светодиод на считывателе).

Плата номер 1

Маленькая платка, которая поместится в небольшую пластиковую распредку.

Плата номер 2

Эта платка, более удобна как законченное устройство - все разъемы находятся на одной стороне и не нужно тянуть лишние проводники через плату. Как законченное устройство идущее в серию такой вариант будет предпочтительнее (оцениваю как профессиональный монтажник таких систем).
Однако на плате из защиты только конденсаторы на MK и REX входах, на питании. Строить полноценную систему на такой плате я бы не стал.
Так же на эту плату я добавил джампер для отключения реле - это может пригодиться, если используется только выведенный на клемник сигнал открытия двери (PD5). И ещё светодиод на питании - очень удобно в реальных условиях.

Вот так это выглядит в собранном виде

А вот плата с подключенным считывателем и омметром вместо замка на выходе реле.

Пример чтения wiegand26 для attiny2313

Замок на бесконтактных карточках.

Замок просто читает код с карты и проверяет есть ли такой в базе, если есть - открывает дверь.

Общий алгоритм:
1. Отловить и записать изменения на входах D0 и D1
2. Обработать полученные данные и выделить 2 кода
3. Произвести поиск по базе и при нахождении кода в базе включить реле на некоторое время
4. Очистить память от собранных данных и перейти к пункту 1.

Char dat; // массив для сбора 26 бит данных unsigned char fcode; // для facility code (0..255) unsigned int code; // для card number (0..65535) while(){ if(PIND.3==0){ // считыватель притянул D1 к земле dat[i]=1; // это D1, значит бит = 1 i++; while(PIND.3==0){}; } if(PIND.4==0){// считыватель притянул D0 к земле dat[i]=0; // это D0, значит бит = 0 i++; while(PIND.4==0){}; //ждем пока линия вернется в исходное состояние } if(i==27) { //если i=27, значит 26 бит собрано и больше данных быть не должно //теперь обработаем полученные данные b=0; for(a=9;a>1;a--){ //пробегаем через первые 8 бит в обратном порядке if(dat[a]==1) fcode=fcode+stepen(b); //если соответствующий бит =1, //прибавляем к коду степерь числа 2 //равную порядковому номеру бита //(2^0 , 2^1 , 2^2 и тд) b++; // увеличиваем порядковый номер бита с каждым шагом } b=0; // сбросить счетчик шагов for(a=25;a>9;a--){//то же самое для второй части посылки - 16 бит номера if(dat[a]==1) code=code+stepen(b); b++; } } //Если всё прошло успешно, на этом этапе у нас есть //facility code - в переменной fcode //card number – в переменной code //теперь нужно произвести поиск по базе //номера лежат в 2 массивах в eeprom //unsigned char fcode; для facility code //unsigned int code; для card number //MAX – константа задана в начале проекта, задает размер памяти // для attiny2313 это 40 кодов, больше не влезет for(i=0;i//проходим циклом по всему массиву // в цикле проверяем только facility code if(fcode == fcodedb[i]){ //если код совпал с кодом одной из ячеек //проверим для этой же ячейки номер карты if(code==codedb[i]){ //если номер карты тоже совпал... //...у нас есть полное совпадение, карта найдена card_found=1; // флаг = карта найдена break; //обрываем цикл, дальше искать не нужно } } } //проверим, было совпадение или нет if(card_found){//да было PORTD.5=1;//откроем замок PORTD.6=0;//включим зеленый индикатор (NB! Включается нулем) delay_ms(5000); //задержка 5 секунд на вход. PORTD.5=0;//закрываем замок PORTD.6=1;//выключим зеленый индикатор } else{ //совпадений не было - карта не найдена - в доступе отказано PORTB,0=0;//включим красный индикатор (NB! Включается нулём) delay_ms(3000); //задержка 3 секунды PORTB.0=1;//выключим красный индикатор } //вне зависимости от результата поиска обнуляем все данные fcode=0; // facility код code=0; // номер карточки i=0; // счетчик собранных битов card_found=0; // флаг поиска } //цикл уходит в повтор и крутится пока не появится новый сигнал }

В данном примере я проигнорировал все тайминги - не важно какой длины импульс, программа просто подвисает пока он не кончится. Не важно какие промежутки, главное успеть отследить начало следующего бита. Не важно сколько прошло времени после последнего бита - как только соберем 26, будем знать что конец и начнем обрабатывать данные.
Да, в таком варианте возможны проблемы - если будет сбой (наводка) и придет не 26 бит а меньше или больше система не узнает этого. Но это не столь важно - как только система доберет свои недостающие биты, она проведет проверки и сбросится к исходному состоянию. Таким образом будет пропущено не более 2х карт и не понадобится вмешательство. Для примера или бытового применения этого достаточно. А перед тем как пускать такой прибор в серию, стоит тщательно всё изучить и написать свой, более универсальный и правильный алгоритм.

Что ещё следует учесть при программировании системы

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

При программировании системы настоятельно рекомендую забить память полностью случайными данными или для каждой ячейки выставить флаг «ячейка пуста» и игнорировать такие ячейки при поиске. В более сложном варианте можно проходить по базе ровно столько шагов, сколько забито карт и при удалении проводить пересортировку с удалением пустот. Зачем это нужно? В любительских системах часто встречается одна беда - плохо написанная программа пробегает поиском по пустым ячейкам в которых все байты забиты нулями или FF. Для взлома такой системы достаточно эмулятора или карты у которой вписан код 00 или FF соответственно - такой код совпадет с пустой ячейкой и дверь будет открыта.

Wiegand - простой проводной интерфейс связи между устройством чтения идентификатора (карточки) и контроллером, широко применяемый в системах контроля доступа (СКУД) и охранных системах (ОС). Предназначен для передачи уникального кода идентификатора или pin-кода с клавиатуры в контроллер.

Существует несколько разновидностей интерфейса Wiegand, различающихся цифрами в названии интерфейса. Эта цифра в названии обозначает количество бит в посылке. Наиболее распространенны следующие варианты Wiegand:

  • Wiegand-26. Самый распространенный. Состоит из 24 бит кода и 2 бит контроля на четность.
  • Wiegand-33. Состоит из 32 бит кода и 1 бита контроля на четность.
  • Wiegand-34. Состоит из 32 бит кода и 2 бит контроля на четность.
  • Wiegand-37. Состоит из 35 бит кода и 2 бит контроля на четность.
  • Wiegand-40. Состоит из 40 бит кода, контроля на четность нет.
  • Wiegand-42. Состоит из 40 бит кода и 2 бит контроля на четность.

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

Для связи между считывателем и контроллером СКУД используется трехпроводная шина - два провода сигнальных, один земля.


Рисунок 1

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

Передача ведется короткими импульсами. Наличие импульса в линии «Data0» означает, что был передан логический 0, наличие импульса в линии «Data1» означает, что был передана логическая 1. Ширина импульсов и их период сильно варьируется в зависимости от изготовителя считывателя. Стандарт допускает ширину импульсов в диапазоне 20…200 мкс., а период следования импульсов – 300…3000 мкс.

Если используется контроль четности, то к коду карты добавляется два бита. Один в начале кода, второй в конце. Весь код делится на две части. Первым битом контролируется старшая часть кода, последним – младшая. В случае, если код имеет нечетное количество битов, то центральный бит входит в обе контролируемые группы. Первый бит четности (старшей половины кода) ставится в единицу, если количество единиц в его половине кода нечетное . Последний бит четности (младшей половины кода) ставится в единицу, если количество единиц в его половине кода четно .

Так как Wiegand-26 имеет самое большое распространение его и рассмотри на конкретном примере. Имеем: считыватель прокси-карты подключенный к контроллеру СКУД, логический анализатор (для просмотра пересылаемого пакета данных) и, конечно же, саму карту с номером 105 51238. Этот номер зачастую производители пишут на самой карте, как показано на рисунке 2.

Рисунок 2

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

Рисунок 3

В текстовом виде это выглядит так: 0 01101001 11001000 00100110 1. Первый и последний биты – это биты контроля четности, который мы разобрали ранее. Теперь у нас остались 24 символа, то есть 3 байта: 01101001 11001000 00100110.

Исторически сложилось так, что для экономии внутренней памяти контроллеров СКУД производители делили код на две не равные части. Младшая часть, как правило, состоящая из 16 бит – это и есть номер карты и оставшаяся часть – серия. То есть на одном предприятии использовались карты одной серии, и памяти контроллера сохранялся только номер карты, этим и достигалась экономия памяти. В наше время актуальность такого деления/экономии уже утратила силу.

Первый байт (серия) 01101001 в десятичной системе равен 105, оставшиеся два 11001000 00100110 (номер) – 51238. То есть наша карта имеет серию 105 и номер 51238, или просто 105 51238. Что мы и видим на рисунке 2.

* Способ хранения двоичных данных на карте доступа.
* Получение данных считывателем и передача на контроллер системы контроля доступа.
* Возможности контроллера по получению и обработке сигнала.

Что такое Wiegand (Виганд)

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

1. Интерфейс связи карта-считыватель
2. Интерфейс связи считыватель-контроллер
3. Электромагнитный сигнал, передающий данные
4. «Стандартный» двоичный 26-битный формат карт
5. Электромагнитный эффект
6. Технология изготовления карт

В нашем случае рассматриваются только пункты 2 и 4.

Примечание. Термином Wiegand также описываются некоторые неупомянутыехарактеристики карт/считывателей.

Формат Wiegand

Говоря «формат Wiegand» заказчики HID иногда обозначают так технологию кодированиякарт доступа. Но стоит помнить, что термином Wiegand часто обозначается стандартный26-битный формат, отличающийся особым расположением двоичных данных.

* Формат описывает значение числа, способ его использования. Формат - это несамо число.
* Число бит не определяет формат (кроме 26-битного формата). Например,существует более сотни 34-битных форматов.
* Размер и положение элементов данных на имеющемся числе битов можетизменяться, например
- в одном 34-битном формате код помещения состоит из 8 бит и начинаетсясо второго бита;
- в другом 34-разрядном формате код помещения состоит из 12 бит иначинается с 21-ого бита.
* Совместимость форматов определяется возможностями панели контроля доступа.

Строка цифр 74955968459 не значит ничего. Если известно, что это телефон в России, тостанет понятно, что 7 - код страны, 495 - код города, и так далее. Расшифровать данныепозволяет использовать данные. Номер телефона всегда выглядит так: (xxx) yyy-zzzz, таккак оборудование телефонных компаний поддерживает только такой формат.

У оборудования систем безопасности схожие требования. Телефонные компаниистремятся к тому, чтобы все знали формат телефонных номеров, в отличие от индустриибезопасности, в которой форматы хранятся в секрете и часто изменяются.

Форматы данных на картах 125 кГц proximity и iCLASS идентичны. Это гарантируетсовместимость контроллеров, работающих со считывателями proximity, со считывателямии картами iCLASS.

Стандартный 26-битный формат

Формат, используемый при программировании карты, определяется шаблоном храненияданных, совместимым с панелью контроля доступа. Все транспондеры корпорации HID(карты, брелоки, метки и т. п.) можно запрограммировать в стандартном 26-битномформате.

Стандартный 26-битный формат является открытым. Это значит, что приобреститакую карту может любой, и описание формат широко доступно. 26-битный форматявляется промышленным стандартом и доступен любому клиенту HID. Практически всесистемы контроля доступа могут работать со стандартным 26-битным форматом. Этотформат произошел от технологии кодирования данных Wiegand.

Код заказа стандартного 26-битного формата в корпорации HID - H10301.

В формате H10301 возможно кодирование 255 кодов помещений от 1 до 255. Для каждогокода помещения возможно кодирование 65535 кодов сотрудника от 1 до 65535. Общеечисло возможных комбинаций составляет 12711425. Ограничений на использование картэтого формата не существует. Его использование не отслеживается корпорацией HID,создание дубликатов карт разрешено.

Корпорация HID поддерживает более 1000 других форматов карт, но все они имеютсхожую концепцию, как и 26-битный формат. Другие изготовители карт такжеподдерживают свои проприетарные форматы.

Формат H10301 описывает формат хранения двоичных данных. Ниже приведено описаниеэтого формата.

Рис. 1. Открытый 26-битный формат Wiegand

* Максимальное значение кода помещения - 255, так как если все биты кодапомещения имеют значения 1, в десятичном представлении число будет иметь вид255.
* Максимальное значение кода карты - 65535, так как если все биты кода картыимеют значения 1, в десятичном представлении число будет иметь вид 255.

Примечание.

Биты контроля четности/нечетности используются для быстрой и простой проверкиправильности передачи двоичных данных. Разработчик формата выбирает, контролируетли конкретный бит четность или нечетность. Фиксированная группа бит данныхобъединяется с одним битом данных, суммирование значений этих бит должно бытьчетным (или нечетным).

В приведенном выше примере первый контрольный бит (четности) связан с первыми 12битами данных. Если сложение значений этих 12 бит является нечетным числом,контрольному биту присваивается значение 1, чтобы результат сложения 13 бит былчетным. Аналогично последние 13 бит всегда дают в сумме нечетное число.

Другие форматы

Чтобы лучше понять организацию форматов, рассмотрим два примера возможныхформатов карт.Примечание. Так как реальные форматы данных закрыты, мы не рассматриваем их вкачестве примера.В стандартном 26-битном формате одно из полей называется кодом помещения, другое -кодом карты. Эти поля могут называться по-разному в зависимости от формата. Одно и тоже название может обозначать разные данные. Один из возможных форматов можетвыглядеть так:




Рис. 2. Один из возможных 36-битных форматов карт

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

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




Рис. 3. Один из возможных 30-битных форматов карт

В этом формате 3 контрольных бита, поле код должности (5 бит), табельный номер (18бит) и код комнаты (4 бит).

В разговоре с заказчиком важно выяснить точные значения, которые должны бытьзапрограммированы на карты. Этой информацией владеет заказчик, а не корпорация HID.Обратите внимание, что заказчики путают термины код помещения (FacilityCode) и код места (Site Code). В некоторых форматах присутствует кодпомещений, в других - код места, в некоторых нет ни одного из этих полей, внекоторых - оба. Будьте очень внимательны при заказе карт.

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

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

Corporate 1000

Корпорация HID разработала уникальный формат, Corporate 1000, принадлежащийконечному пользователю. Корпорация HID гарантирует уникальность формата и то,никогда не будет создано повторяющихся карт этого формата. Для приобретения картформата Corporate 1000 необходимо письменное подтверждение права использованияэтого формата. Это позволяет заказчику полностью контролировать производство ираспространение карт этого формата. Ниже приведено еще несколько факто о форматеCorporate 1000:

* Панели контроля доступа заказчика должны быть совместимы с форматомCorporate 1000
* Все форматы Corporate 1000 имеют длину 35 бит, форматы отличаются друг отдруга размещением данных. Например, номер карты может быть разбит на три илиболее частей, размещенных в строке битов. Это гарантирует уникальностьCorporate 1000.
* На данный момент существует несколько сотен форматов Corporate 1000,большинство форматов еще не занято.
* Как и остальные форматы, Corporate 1000 идентичны на картах 125 кГц proximity иiCLASS.

Примечание. Ни карта, ни считыватель не учитывают формат записи данных. Картапросто хранит и передает двоичные данные, а считыватель принимает и преобразуетданные к стандарту протокола Wiegand (или другого протокола). Только контроллеробрабатывает данные в соответствии с форматом данных.

Интерфейс Wiegand считыватель-контроллер

Интерфейс определяет способ взаимодействия двух устройств. Считыватели HIDвзаимодействуют с контроллерами с помощью стандартных интерфейсов:

* Wiegand
* Последовательный (RS232, RS422, RS485)
* Clock-and-Data (второй трек магнитной полосы) или ABA

Остановимся на интерфейсе Wiegand, так как это самый распространенный интерфейс всистемах контроля доступа.

На физическом уровне интерфейс Wiegand представляет собой три провода: Data Zero(обычно зеленый), Data One (обычно белый) и Data Return (обычно черный). Приустановке считывателя HID именно эти метки должны быть на считывателе иконтроллере. Все стандартные считыватели HID поддерживают интерфейс Wiegand.Так как данные хранятся в двоичном виде, считыватель получает данные в видеэлектромагнитного сигнала, преобразует их к формату протокола Wiegand и посылаетдвоичную строку в контроллер. Нули передаются по зеленому проводу, единицы - побелому проводу. В контроллере данные объединяются и образуют строку, хранимую накарте.

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

Настройка контроллеров

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

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

Формат - не число, а способ представления числа.

Для размещения заказа на карты HID необходимо знать следующее:

* Название формата (например, H10301.cdf) - на данный момент для кодированиякарт используется несколько сотен различных форматов, формата по умолчанию несуществует. Заказчик должен знать название требуемого формата и сообщитьего корпорации HID.
* Кодируемые данные - например, число в формате H10301.cdf, состоит из первогоконтрольного бита, 8 бит кода помещения, 16 бит кода сотрудника и последнегоконтрольного бита.

Преобразование двоичных, десятичных, шестнадцатеричныхзначений

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

для записи числа используются только цифры 0 и 1. Часто для удобства 4 двоичных знакаобъединяют в группы, каждая такая группа представляет собой один знакшестнадцатеричной системы счисления. Для записи знаков шестнадцатеричной системыдополнительно используют буквы A-F.

В шестнадцатеричном формате для записи 24 бит необходимо всего 6 знаков.

(1111) (1111) (1111) (1111) (1111) (1111) группы двоичных знаков

* Код помещения 255 выглядит как FF (15х16) + 15 = 255.
* Код карты 65535 выглядит как FFFF (15x4096) + (15x256) + (15x16) + 15 = 65535.

Шестнадцатеричная система счисления используется во многих контроллерах благодарякомпактности и удобству представления двоичных данных. Считыватели ProxPro иMaxiProx могут передавать данные на контроллер в шестнадцатеричном виде попротоколу RS-232 или RS-422.

nber-horeca.ru - Браузеры. Компьютер. Социальные сети. Программы