Wg26 34 что это
Wiegand-Интерфейс
Wiegand — проводной интерфейс связи между устройством чтения идентификатора (считывателем) и контроллером. Предназначен для передачи в контроллер СКУД уникального кода карты либо pin-кода с клавиатуры.
Принцип передачи данных по интерфейсу Wiegand
Для связи контроллера и считывателя СКУД по интерфейсу Wiegand используется трехпроводная шина. Один из проводов предназначен для обеспечения питания считывателя.
Два других, носят название Data0 и Data1 и используются непосредственно для передачи информации. Передача осуществляется короткими импульсами в одностороннем порядке. Провода Data0 и Data1 изначально находятся под напряжением. Кратковременное падение напряжения на одном из них, позволяет зафиксировать 0 или 1 соответственно.
Передача данных по интерфейсу Wiegand
Величина напряжения, время его падения и промежуток между импульсами варьируются в зависимости от параметров контроллера. Кроме физической передачи данных большое значение имеет формат этих данных, который может быть идентифицирован за счет наличия Facility-кода.
Интерфейсы Wiegand 26…42
Интерфейсы Wiegand различаются цифрами в названии, которые обозначают количество передаваемых бит:
26-битный формат состоит из 255 возможных аппаратных кодов (Facility code). В пределах каждого фасилити кода может быть назначено 65 535 уникальных номеров карт;
Для успешной работы считыватель и контроллер должны работать с одинаковым количеством бит. Поскольку, при несовпадении, карта обладающая большей битностью может быть идентифицирована ошибочно. Современное оборудование СКУД, как правило, дает возможность настраивать битность рабочего интерфейса Wiegand.
Интерфейсы Wiegand 4…8
Те системы контроля доступа, которые предполагают двойное удостоверение личности с помощью карты и pin-кода, обычно имеют считыватели, оборудованные цифровой клавиатурой. При этом набранный код передается также по интерфейсу Wiegand. Это может быть Wiegand-26: в таком случае данные с клавиатуры аккумулируются и отправляются на контроллер СКУД после нажатия специальной клавиши. Как правило такой код ограничен по длине. А могут быть и интерфейсы меньшей битности: Wiegand-4, Wiegand-6, Wiegand-8.
Они позволяют передавать на контроллер каждый единичный сигнал – таким образом, длина pin-кода может варьироваться от одного символа до бесконечности. Однако, за счет отсутствия единых стандартов, алгоритмы работы с данными для контроллера и считывателя могут сильно различаться, что не всегда гарантирует совместимость клавиатуры с контроллером, даже если интерфейс Виганд, заявленный в качестве рабочего, имеет одинаковую маркировку по битности.
Достоинства интерфейса Wiegand
Недостатки интерфейса Wiegand
Уязвимость интерфейса Wiegand
Уязвимость протокола Wiegand подчеркивает метод атаки с использованием BLEKey.
Материал спецпроекта «Без ключа»
Спецпроект «Без ключа» представляет собой аккумулятор информации о СКУД, конвергентном доступе и персонализации карт
Формат Wiegand
Вопросы, которые планируем рассмотреть в этой статье:
Термин Wiegand используется в различных областях, связанных с системами контроля доступа, считывателями и картами. К сожалению, часто этот термин используется неправильно, что приводит к путанице. Ниже приведены краткие сведения.
Примечание. Термином Wiegand также описываются некоторые неупомянутые характеристики карт/считывателей.
Говоря «формат Wiegand» заказчики HID иногда обозначают так технологию кодирования карт доступа. Но стоит помнить, что термином Wiegand часто обозначается стандартный 26-битный формат, отличающийся особым расположением двоичных данных.
• Формат описывает значение числа, способ его использования. Формат — это не само число.
• Число бит не определяет формат (кроме 26-битного формата). Например, существует более сотни 34-битных форматов.
• Размер и положение элементов данных на имеющемся числе битов может изменяться, например:
o в одном 34-битном формате код помещения состоит из 8 бит и начинается со второго бита; o в другом 34-разрядном формате код помещения состоит из 12 бит и начинается с 21-ого бита.
• Совместимость форматов определяется возможностями панели контроля доступа. Строка цифр 74955968459 не значит ничего. Если известно, что это телефон в России, то станет понятно, что 7 — код страны, 495 — код города, и так далее. Расшифровать данные позволяет использовать данные. Номер телефона всегда выглядит так: (xxx) yyy-zzzz, так как оборудование телефонных компаний поддерживает только такой формат. У оборудования систем безопасности схожие требования. Телефонные компании стремятся к тому, чтобы все знали формат телефонных номеров, в отличие от индустрии безопасности, в которой форматы хранятся в секрете и часто изменяются. Форматы данных на картах 125 кГц proximity и iCLASS идентичны. Это гарантирует совместимость контроллеров, работающих со считывателями proximity, со считывателями и картами iCLASS.
Формат, используемый при программировании карты, определяется шаблоном хранения данных, совместимым с панелью контроля доступа. Все транспондеры корпорации HID (карты, брелоки, метки и т. п.) можно запрограммировать в стандартном 26-битном формате.
Стандартный 26-битный формат является открытым. Это значит, что приобрести такую карту может любой, и описание формат широко доступно. 26-битный формат является промышленным стандартом и доступен любому клиенту HID. Практически все системы контроля доступа могут работать со стандартным 26-битным форматом. Этот формат произошел от технологии кодирования данных Wiegand. Код заказа стандартного 26-битного формата в корпорации HID — H10301. В формате H10301 возможно кодирование 255 кодов помещений от 1 до 255. Для каждого кода помещения возможно кодирование 65535 кодов сотрудника от 1 до 65535. Общее число возможных комбинаций составляет 16711425. Ограничений на использование карт этого формата не существует. Его использование не отслеживается корпорацией HID, создание дубликатов карт разрешено. Корпорация HID поддерживает более 1000 других форматов карт, но все они имеют схожую концепцию, как и 26-битный формат. Другие изготовители карт также поддерживают свои проприетарные форматы. Формат H10301 описывает формат хранения двоичных данных. Ниже приведено описание этого формата.
Максимальное значение кода помещения — 255, так как если все биты кода помещения имеют значения 1, в десятичном представлении число будет иметь вид 255. Максимальное значение кода карты — 65535, так как если все биты кода карты имеют значения 1, в десятичном представлении число будет иметь вид 65535.
Примечание: Биты контроля четности/нечетности используются для быстрой и простой проверки правильности передачи двоичных данных. Разработчик формата выбирает, контролирует ли конкретный бит четность или нечетность. Фиксированная группа бит данных объединяется с одним битом данных, суммирование значений этих бит должно быть четным (или нечетным).
В приведенном выше примере первый контрольный бит (четности) связан с первыми 12 битами данных. Если сложение значений этих 12 бит является нечетным числом, контрольному биту присваивается значение 1, чтобы результат сложения 13 бит был четным. Аналогично последние 13 бит всегда дают в сумме нечетное число.
Чтобы лучше понять организацию форматов, рассмотрим два примера возможных форматов карт.
Примечание. Так как реальные форматы данных закрыты, мы не рассматриваем их в качестве примера.
В стандартном 26-битном формате одно из полей называется кодом помещения, другое — кодом карты. Эти поля могут называться по-разному в зависимости от формата. Одно и то же название может обозначать разные данные. Один из возможных форматов может выглядеть так:
Первый контрольный бит связан с одним подмножеством бит данных, второй контрольный бит — с другим подмножеством. Здесь определены и поля фасилити код(или код помещения) и код карты, однако этот формат отличается от H10301. Поэтому карты, где информация закодирована в этом формате, вполне могут не подойти к системами, работающими с H10301.
Также возможен и такой формат:
В этом формате 3 контрольных бита, поле код должности (5 бит), табельный номер (18 бит) и код комнаты (4 бит). Точные значения, предназначенные для программирования, необходимо уточнять у заказчика. Такой информацией корпорация HID не владеет. Заказчики склонны путать фасилити код и код места. Есть форматы, где присутствует лишь одно из этих полей, а есть такие, где какое-то одно или вообще ни одного. Поэтому при заказе карт надо быть весьма внимательными. Во избежание повторения номеров карт, необходимо знать номера используемых карт. Для настройки полей контроля доступа и ввода интегратором карт в систему требуется название формата кодируемые значения полей данных.
Один из возможных 36-битных форматов карт Первый контрольный бит связан с одним подмножеством бит данных, второй контрольный бит — с другим подмножеством. В этом формате также определены поля код помещения и код карты, но этот формат отличительно отличается от H10301, карты, закодированные в этом формате, могут быть несовместимы с системами, работающими с H10301.
Названия полей данных определяются разработчиком формата, поэтому названия могут быть любыми. Рассмотрим еще один возможный формат. Рис. 3. Один из возможных 30-битных форматов карт В этом формате 3 контрольных бита, поле код должности (5 бит), табельный номер (18 бит) и код комнаты (4 бит). В разговоре с заказчиком важно выяснить точные значения, которые должны быть запрограммированы на карты. Этой информацией владеет заказчик, а не корпорация HID.
Обратите внимание, что заказчики путают термины код помещения (Facility Code) и код места (Site Code). В некоторых форматах присутствует код помещений, в других — код места, в некоторых нет ни одного из этих полей, в некоторых — оба. Будьте очень внимательны при заказе карт. Чтобы избежать дублирования номеров карт, заказчик должен знать номера используемых карт.
Системные интеграторы также должны знать название формата данных и кодируемые значения полей данных, чтобы настроить панели контроля доступа и ввести карты в систему. Без этой информации ввести группу карт в систему практически невозможно.
Корпорация HID разработала уникальный формат, Corporate 1000, принадлежащий конечному пользователю. Корпорация HID гарантирует уникальность формата и то, никогда не будет создано повторяющихся карт этого формата. Для приобретения карт формата Corporate 1000 необходимо письменное подтверждение права использования этого формата. Это позволяет заказчику полностью контролировать производство и распространение карт этого формата. Ниже приведено еще несколько фактов о формате Corporate 1000:
Примечание. Ни карта, ни считыватель не учитывают формат записи данных. Карта просто хранит и передает двоичные данные, а считыватель принимает и преобразует данные к стандарту протокола Wiegand (или другого протокола). Только контроллер обрабатывает данные в соответствии с форматом данных.
Интерфейс определяет способ взаимодействия двух устройств. Считыватели HID взаимодействуют с контроллерами с помощью стандартных интерфейсов:
На физическом уровне интерфейс Wiegand представляет собой три провода: Data Zero (обычно зеленый), Data One (обычно белый) и Data Return (обычно черный). При установке считывателя HID именно эти метки должны быть на считывателе и контроллере. Все стандартные считыватели HID поддерживают интерфейс Wiegand. Так как данные хранятся в двоичном виде, считыватель получает данные в виде электромагнитного сигнала, преобразует их к формату протокола Wiegand и посылает двоичную строку в контроллер. Нули передаются по зеленому проводу, единицы — по белому проводу. В контроллере данные объединяются и образуют строку, хранимую на карте.
Примечание. Считыватель не обрабатывает и не проверяет считанные данные. Это устройство просто передает данные, хранимые на карте, на контроллер по протоколу Wiegand.
Контроллеры настроены таким образом, что карты, не соответствующие определенному выбранному формату, не принимаются системой. Почти все контроллеры могут работать со стандартным 26-битным форматом (кроме проприетарного формата изготовителя). Простые контроллеры могут работать с одним-двумя форматами, более сложные способны поддерживать практически все форматы после соответствующей настройки. Некоторые даже могут создавать собственные форматы. После того, как формат выбран, следует настроить считыватель и заказать карты этого формата. Для правильной работы карты должны быть запрограммированы в формате контроллера. Это рекомендованный способ настройки, затрудняющий несанкционированное использование случайно найденной карты злоумышленником. Это происходит благодаря тому, что полная информация о формате карты хранится не на карте, а в контроллере. Формат — не число, а способ представления числа. Для размещения заказа на карты HID необходимо знать следующее:
Во всем мире для расчетов принято использовать десятичную запись числа, однако в компьютерах хранятся и обрабатываются двоичные данные. В двоичном представлении для записи числа используются только цифры 0 и 1. Часто для удобства 4 двоичных знака объединяют в группы, каждая такая группа представляет собой один знак шестнадцатеричной системы счисления. Для записи знаков шестнадцатеричной системы дополнительно используют буквы A-F.
Русское описание wiegand26 в интернете найти оказалось не очень просто, пришлось разбираться по обрывкам информации. Когда разобрался, понял почему нет информации и примеров — тема достаточно проста и в классическом варианте (wiegand 26 bit) легко разбирается даже новичком. Немного о Wiegand протоколе
Протокол wiegand26 появился в 80х годах как промышленный стандарт для систем контроля доступа — трехпроводная линия соединяет считыватель магнитных карт с платой контроллера, который обеспечивает хранение и контроль номеров карт.
В настоящее время магнитные карты практически вытеснены бесконтактными картами RFID, а протокол wiegand 26 был расширен и дополнен, но активно используется до сих пор как стандарт в большинстве охранных систем.
Wiegand протокол — физический уровень
В состоянии покоя, линии 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 – номер карточки доступа.
Более поздние версии 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.
Карточки и частоты
Подключение RFID считывателя к attiny2313
Для экспериментов с RFID считывателем я накидал небольшую схему
Attiny2313 + стандартная обвязка — кварц 8 мгц, 2 конденсатора от кварца к земле, резистор от ресета к питанию, разъем программирования, разъем для связи с компом (через FT232 или MAX232). В дополнение 78l05 для питания контроллера.
Из обвязки необходимой для тестов считывателя только разъем для подключения самого считывателя (слева снизу), реле для замка, 2 джампера для выбора режима работы (ADD/DEL) схемы и для полноты картины я добавил ещё пару входов для геркона (МК) и для кнопки которая ставится с обратной стороны двери (REX).
На клеммы BEEP, RED и GREEN заводятся 3 оставшихся провода от считывателя, отвечающие за бипер, красный лед и зеленый лед соответственно. Управляются они нулем (PORTB.6=0 включит зеленый светодиод на считывателе).
Маленькая платка, которая поместится в небольшую пластиковую распредку.
Эта платка, более удобна как законченное устройство — все разъемы находятся на одной стороне и не нужно тянуть лишние проводники через плату. Как законченное устройство идущее в серию такой вариант будет предпочтительнее (оцениваю как профессиональный монтажник таких систем).
Однако на плате из защиты только конденсаторы на MK и REX входах, на питании. Строить полноценную систему на такой плате я бы не стал.
Так же на эту плату я добавил джампер для отключения реле — это может пригодиться, если используется только выведенный на клемник сигнал открытия двери (PD5). И ещё светодиод на питании — очень удобно в реальных условиях.
Вот так это выглядит в собранном виде
А вот плата с подключенным считывателем и омметром вместо замка на выходе реле.
Пример чтения wiegand26 для attiny2313
Замок на бесконтактных карточках.
Замок просто читает код с карты и проверяет есть ли такой в базе, если есть — открывает дверь.
Общий алгоритм:
1. Отловить и записать изменения на входах D0 и D1
2. Обработать полученные данные и выделить 2 кода
3. Произвести поиск по базе и при нахождении кода в базе включить реле на некоторое время
4. Очистить память от собранных данных и перейти к пункту 1.
В данном примере я проигнорировал все тайминги — не важно какой длины импульс, программа просто подвисает пока он не кончится. Не важно какие промежутки, главное успеть отследить начало следующего бита. Не важно сколько прошло времени после последнего бита — как только соберем 26, будем знать что конец и начнем обрабатывать данные.
Да, в таком варианте возможны проблемы — если будет сбой (наводка) и придет не 26 бит а меньше или больше система не узнает этого. Но это не столь важно — как только система доберет свои недостающие биты, она проведет проверки и сбросится к исходному состоянию. Таким образом будет пропущено не более 2х карт и не понадобится вмешательство. Для примера или бытового применения этого достаточно. А перед тем как пускать такой прибор в серию, стоит тщательно всё изучить и написать свой, более универсальный и правильный алгоритм.
Что ещё следует учесть при программировании системы
В данном примере, как и в большинстве известных мне систем, не производится проверка четности. Если карта прочитана не верно, считыватель отреагирует на неё как на неправильную карточку.
Но в таком варианте есть вероятность, что неправильно прочитанный код с чужой карты совпадет случайно с одним из правильных кодов. Это маловероятно, но возможно. Однако, такой проверкой пренебрегают так же многие известные производители охранного оборудования.
При программировании системы настоятельно рекомендую забить память полностью случайными данными или для каждой ячейки выставить флаг «ячейка пуста» и игнорировать такие ячейки при поиске. В более сложном варианте можно проходить по базе ровно столько шагов, сколько забито карт и при удалении проводить пересортировку с удалением пустот. Зачем это нужно? В любительских системах часто встречается одна беда — плохо написанная программа пробегает поиском по пустым ячейкам в которых все байты забиты нулями или FF. Для взлома такой системы достаточно эмулятора или карты у которой вписан код 00 или FF соответственно — такой код совпадет с пустой ячейкой и дверь будет открыта.
И напоследок — предупреждение:
Описанное выше — мое понимание работы систем контроля доступа на базе wiegand26. Я не гарантирую ни полноту, ни точность описания. Это лишь базовая информация, для старта изучения.
Автор zps
Форум по системам видеонаблюдения и безопасности.
Форум по системам видеонаблюдения, безопасности, пожарным и охранным сигнализациям, контролю доступа.
Тупой вопрос про W26 и W34 и концертацию
Тупой вопрос про W26 и W34 и концертацию
Сообщение KoTuK » 05 авг 2016, 08:06
собственно есть ли формула которая позволит сделать конвертацию одного протокола в другой и обратно?
связно это с тем сто 1С программа в которой будет вся движуха (а скуд используется только для контроля доступа) тупо работает по протоколу в26 и ей насрать на другие протоколы и практически не поддерживает разных считывателей.
Re: Тупой вопрос про W26 и W34 и концертацию
Сообщение KoTuK » 08 авг 2016, 08:01
Re: Тупой вопрос про W26 и W34 и концертацию
Сообщение greenkpz » 10 авг 2016, 09:30
Re: Тупой вопрос про W26 и W34 и концертацию
Сообщение Forgot » 10 авг 2016, 16:26
Re: Тупой вопрос про W26 и W34 и концертацию
Сообщение greenkpz » 11 авг 2016, 08:55
Re: Тупой вопрос про W26 и W34 и концертацию
Сообщение kostyanessi » 15 авг 2016, 10:30
ну, так-то на карте может и больше 4 байт информации содержаться. Протокол информацию не сжимает и не разжимает. Если ты попытаешься получить по в26 код карты больше 3х байт, то каковы будут дальнейшие действия после получения 3го байта будет зависеть от того, что решил программист, который делал программу для микроконтроллера контроллера. Но от этого меньше информации, содержащейся в памяти чипа карты не станет. Наверное, имелось ввиду это.
Согласен с Forgot. Мало информации.
Сколько байт содержит самый длинный код карты в системе с в34? Нужна ли она там вообще?
Откуда берутся входные данные для будущего конвертера?
Куда должны выдаваться выходные данные?
Структура таблиц баз(ы) данных 1С и таблицы(базы), откуда будут браться входные данные для конвертера? Важны типы полей под коды карт и вид их хранения (с разбиением на фасилити и тд или без разбиения)
Вообще, задача сводится к тому, чтобы сделать архиватор, по-моему) Нужно 4 байта ужать в 3 байта и обратно.
Re: Тупой вопрос про W26 и W34 и концертацию
Сообщение Forgot » 15 авг 2016, 15:11
Re: Тупой вопрос про W26 и W34 и концертацию
Сообщение KoTuK » 17 авг 2016, 07:54
визуально грубо говоря коды по разному выглядят когда происходит считывание карты через 34 и 26.
вечером уже идёт обратная синхронизация данных по утренним заливкам, т.е обратно так же выдаётся ID карты фио и статус студента.