Селекторы цифровых команд. Часть 2

№ 8’2009
PDF версия
В этой части статьи представлены возможные способы построения селекторов цифровых команд с псевдослучайной сменой эталонных значений кодов в процессе подбора кода включения.

Все статьи цикла:

Анализ базовых вариантов селекторов цифровых команд (СК), представленных в первой части, показывает, что наилучшей совокупностью характеристик по простоте схемной реализации, объему массива исчерпывающего перебора входных кодов для несанкционированного включения и простоте санкционированного включения после попыток подбора кода обладает СК с блокировкой включения после L попыток подбора кода. В данном варианте минимальный объем массива исчерпывающего перебора кодов M = N2-N+1, где N = 2n, n — количество разрядов входного кода. В селекторах команд со сменой эталонных значений кодов M = BxN, где В — количество эталонных значений.

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

Увеличение массива исчерпывающего перебора для данных СК может быть обеспечено путем усложнения процедуры подбора кода за счет скрытия моментов смены его эталонного значения. Очевидным способом скрытия моментов смены является задание в запоминающее устройство совместно с соответствующим эталонным значением кода включения соответствующего значения L. Значения L для каждого из эталонных значений кода включения могут отличаться друг от друга в диапазоне от Lmin до Lmax. В этом случае процедура подбора кода носит случайный характер, что исключает возможность создания определенного (детерминированного) алгоритма подбора кода, обеспечивающего конечное значение массива исчерпывающего перебора. Санкционированное включение СК после попыток подбора кода при B<Lmin обеспечивается аналогично СК с постоянным значением L.

Соответствующее техническое решение СК, предназначенное для управления параллельным кодом, показано на рис. 1а. Цифровой компаратор ЦК1 осуществляет проверку входного кода на соответствие эталонному значению, поступающему из запоминающего устройства (ЗУ). При положительном результате проверки формируется выходной сигнал (ВС). При отрицательном результате элемент ИЛИ-НЕ формирует сигнал ошибки, вызывающий переключение счетчика сигналов ошибки ССО1. Когда состояние ССО1 достигает заданного значения L, срабатывает цифровой компаратор ЦК2 и вызывает переключение ССО2, после чего ЗУ выдает на цифровые компараторы новое эталонное значение кода и соответствующее пороговое значение количества ошибок. При этом ЦК2 совместно с ССО1 выполняет функцию ограничителя ошибок набора кода, а ССО2 — функцию формирователя адреса ЗУ.

Рис. 1. СК со скрытием порогового количества ошибок

При представлении входной команды последовательным двоичным кодом СК может быть выполнен в соответствии с рис. 1б, где СТ — счетчик тактов, ФИ — формирователь импульсов сброса. Для задания значений L в данном случае требуется отдельное запоминающее устройство 3yL. В исходном состоянии на входных шинах селектора присутствуют уровни логического «0». Конденсатор формирователя импульсов разряжен, на выходе ФИ — уровень логической «1», удерживающий СТ и триггер в состоянии логического «0», на выходе ЗУ присутствует информация первого разряда первого эталонного значения кода включения.

При поступлении первого тактового импульса по С-входу конденсатор ФИ быстро заряжается, на выходе ФИ устанавливается уровень логического «0», разрешающий переключение СТ и триггера. Если информация на D-входе совпадает с эталонным значением, на выходе элемента «исключающее ИЛИ» присутствует уровень логического «0», запрещающий прохождение тактового импульса через первый элемент И. Если же входная информация не совпадает с эталонным значением, тактовый импульс проходит на S-вход триггера и вызывает его переключение в состояние логической «1».

По заднему фронту тактового импульса переключается СТ и обеспечивает выдачу на выход ЗУ очередного разряда эталонного значения кода. В паузе между тактовыми импульсами конденсатор ФИ не успевает заметно разрядиться, и состояние логического «0» на выходе ФИ сохраняется. После поступления всех разрядов входного кода СТ формирует сигнал, поступающий на входы второго и третьего элементов И. Если к этому моменту триггер сохранил состояние логического «0», на выходе второго элемента И формируется выходной сигнал ВС.

Если же к этому моменту триггер переключился в состояние логической «1», ВС не формируется, а выходной сигнал СТ проходит через третий элемент И и вызывает переключение ССО1 по заднему фронту выходного сигнала СТ, длительность которого определяется временем разряда конденсатора ФИ до порога отпускания триггера Шмитта. Когда состояние ССО 1 достигнет заданного количества ошибок, цифровой компаратор формирует сигнал, вызывающий переключение ССО2 и смену эталонного значения кода включения и значения L порогового количества ошибок. При необходимости может быть реализовано обнуление ССО1 и ССО2 по заднему фронту ВС с помощью соответствующего формирователя импульса.

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

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

Соответствующее техническое решение СК с управлением параллельным кодом показано на рис. 2а.

Рис. 2. СК с проверкой количества правильно набранных разрядов

В данной схеме эталонное значение кода включения расположено внутри диапазона фиксируемых кодов. Поэтому нижняя граница диапазона фиксируемых входных кодов формируется сумматором SM1 путем задания на его вход дополнительного кода допустимого отклонения (КОН) значений входного кода от эталонного значения. Верхняя граница диапазона фиксируемых входных кодов формируется сумматором SM2 путем задания на его вход прямого кода отклонения (КОВ). При поступлении на вход D схемы кода, соответствующего эталонному значению, ЦК2 формирует сигнал ВС и запрещает формирование элементом И сигнала ошибки и переключение ССО1. Если же входной код не совпал с эталонным значением, но находится внутри диапазона, элемент И формирует сигнал ошибки, обеспечивающий переключение ССО1.

Если эталонное значение кода включения находится за границами диапазона фиксируемых ошибочных кодов, запрет формирования сигнала ошибки выходным сигналом не производится, а оба граничных значения диапазона входных кодов больше (меньше) эталонного значения задаются в прямом (дополнительном) коде. При этом необходимо обеспечивать нижнее граничное значение кода не менее нуля, а верхнее граничное значение — не более 2n.

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

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

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

Пример схемной реализации СК с управлением параллельным кодом и с использованием отдельных цифровых компараторов (ЦК) для проверки кода подготовки и кода доступа показан на рис. 3, где ЗУКП (ЗУКД) — устройство хранения эталонных значений кода подготовки (доступа), счетчик ошибок ССО1 выполняет функцию ограничителя количества допустимых ошибок набора кода включения (ООН), а счетчик ССО2 — функцию формирователя адреса (ФА) для смены эталонных значений кодов на выходе ЗУКП и ЗУКД.

Рис. 3. СК с проверкой отклонения входного кода от кода включения

При включении питания оба счетчика и триггер устанавливаются в состояние логического «0». При этом разрешается работа ЦК1 и запрещается работа ЦК2. При поступлении на D-вход кода, не соответствующего установленному эталонному значению кода подготовки, состояние схемы не изменяется, а при поступлении кода, соответствующего установленному эталонному значению, формируется сигнал на выходе ЦК1 и заряжается конденсатор RC-цепи. По заднему фронту отрицательного тактового импульса триггер переключается в состояние логической «1», запрещая работу ЦК1 и разрешая работу ЦК2. При дальнейшем поступлении кода, соответствующего эталонному значению кода доступа, формируется выходной сигнал ВС, и по заднему фронту тактового импульса триггер возвращается в состояние логического «0».

Если же входной код не соответствует эталонному значению кода доступа, ВС не формируется, а производится переключение счетчика ССО1. При превышении порогового количества L ошибок набора кода производится переключение счетчика ССО2 и изменение эталонного значения кода подготовки. В данной схеме реализован перебор всех эталонных значений кода подготовки при каждом из эталонных значений кода доступа, при этом выходы 2 и 4 ССО2 можно поменять местами. В принципе возможны и другие способы коммутации эталонных значений, например, синхронное изменение эталонных значений кодов подготовки и доступа [ 1 ] или изменение только эталонного значения кода подготовки [2]. Но в схеме (рис. 3) реализовано наибольшее количество сочетаний N = n2/4 эталонных значений кодов подготовки и доступа, где n — суммарное количество эталонных значений кодов подготовки и доступа.

Пример схемной реализации СК с общим цифровым компаратором проверки параллельных кодов подготовки и доступа показан на рис. 4а. Формирователь адреса выполнен на основе счетного триггера Т2. В запоминающее устройство записано 4 эталонных значения кодов.

Рис. 4. СК с отдельными компараторами проверки кодов подготовки и доступа

При включении питания счетчик, триггеры и мажоритарный элемент устанавливаются в состояние логического «0». На В-вход цифрового компаратора подается первое эталонное значение кода. При поступлении на D-вход кода подготовки, не соответствующего первому эталонному значению, состояние схемы не изменяется. При совпадении кода подготовки с эталонным значением по заднему фронту выходного сигнала ЦК триггер Т1 переключается в состояние логической «1» и обеспечивает выдачу на выход ЗУ второго эталонного значения кода. При поступлении на D-вход кода доступа, соответствующего второму эталонному значению, выходной сигнал ЦК обеспечивает формирование ВС. По заднему фронту сигнала ЦК триггер Т1 устанавливается в исходное состояние логического «0». На В-вход цифрового компаратора выдается первое эталонное значение кода.

Если же входной код доступа не соответствует второму значению эталонного кода, сигнал на выходе ЦК не формируется. Поэтому отрицательный тактовый импульс вызывает переключение мажоритарного элемента в состояние логической «1», сброс Т1 в состояние логического «0» и выдачу на В-вход ЦК первого эталонного значения кода. По заднему фронту тактового импульса мажоритарный элемент устанавливается в состояние логического «0» и вызывает переключение счетчика ССО1. После L ошибок в наборе кода доступа переключается триггер Т2 формирователя адреса и обеспечивает выдачу на В-вход цифрового компаратора третьего эталонного значения кода. Для формирования ВС в этом случае необходимо последовательно подать на вход код подготовки, соответствующий третьему эталонному значению, и код доступа, соответствующий четвертому эталонному значению. Следовательно, в данной схеме обеспечивается N = n/2 сочетаний эталонных значений кодов подготовки и доступа: при n = 4 — сочетаний «12» и «34».

В схеме формирователя адреса, представленной на рис. 4б, обеспечивается N = n сочетаний эталонных значений кодов. При n = 4 последовательно формируются следующие сочетания: «12», «21», «34», «43». Дальнейшее увеличение количества сочетаний обеспечивается схемой, представленной на рис. 4в, где N = 2n. При n = 4 последовательно формируются сочетания: «12», «23», «34», «41», «21», «32», «43», «14». Максимальное количество сочетаний эталонных значений обеспечивается схемой, показанной на рис. 4г, где используется счетчик ССО3 с модулем счета «п» и счетчик ССО2 с модулем счета «n-1». В данной схеме количество сочетаний эталонных значений кодов равно количеству размещений из п по 2: A2n = n(n-1). При n = 4 количество сочетаний кодов равно 12. В принципе возможна реализация n2 сочетаний кодов, но при этом появляются сочетания с одинаковыми эталонными значениями кодов подготовки и доступа. Однако при этих сочетаниях существенно упрощается процедура несанкционированного включения СК. Поэтому использование их нецелесообразно.

При представлении входной информации последовательным двоичным кодом СК может быть построен в соответствии с рис. 5, где СТ — счетчик тактов, ФИ — формирователь импульсов сброса, схема которого показана на рис. 1б. В качестве ФИ могут использоваться схемные решения, показанные на рис. 4.

Рис. 5. СК с общим компаратором проверки кодов подготовки и доступа

В режиме ожидания на С-входе сохраняется уровень логического «0», определяющий присутствие на выходе ФИ уровня логической «1», удерживающего СТ и триггеры в состоянии логического «0». При поступлении на С-вход первого положительного импульса ФИ переключается в состояние логического «0», разрешая переключение СТ и триггеров. СТ переключается по заднему фронту тактовых импульсов и обеспечивает последовательную выдачу на выход ЗУ всех разрядов эталонных значений кодов. Триггер Т переключается в состояние логической «1» только при наличии ошибки в наборе входного кода.

После поступления на D-вход последнего разряда кода подготовки СТ формирует уровень логической «1» на выходе Qn, который вызывает переключение триггера ТТ в состояние логической «1» при отсутствии ошибок в наборе кода подготовки и смену эталонного значе

ния кода на выходе ЗУ. При наличии ошибки смена эталонного значения кода не производится. После приема кода доступа СТ формирует сигнал Qn+1 опроса состояния триггеров. При отсутствии ошибок в наборе обоих кодов формируется ВС, длительность которого определяется временем разряда конденсатора ФИ до порога отпускания триггера Шмитта. После разряда конденсатора СТ и триггеры устанавливаются в исходное состояние логического «0». При отсутствии ошибок в наборе кода подготовки и наличии ошибки в наборе кода доступа работа данной схемы аналогична работе схемы, представленной на рис. 4.

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

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

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

Схема одного из вариантов соответствующего устройства показана на рис. 6а, где ССС — счетчик сигналов совпадения. В схеме (рис. 6а) после приема всех разрядов кода СТ формирует сигнал опроса состояния Т и ССС. В случае отсутствия ошибок формируется ВС. При наличии ошибок и количестве правильно набранных разрядов, превышающем пороговое значение, производится переключение ССО2 и смена эталонного значения кода. В схеме (рис. 6 б) формирование ВС производится с помощью ССС, когдаколичество правильно набранных разрядов равно количеству разрядов кода включения. Переключение ССО2 производится в случае, когда количество правильно набранных разрядов меньше количества разрядов кода включения, но больше порогового значения. Интегрирующая RC-цепь обеспечивает поступление сигнала опроса ССС после окончания процесса его переключения. 

Рис. 6. СК с проверкой последовательных кодов подготовки и доступа

Продолжение статьи

Литература

  1. Патент 2187612РФ, МКИ Е05В49/00. Электронный кодовый замок / Д. Б. Николаев, В. Н. Фомченко, Г. И. Шишкин // Изобретения. Полезные модели. 2002. № 23.
  2. Патент 2156851РФ, МКИ Е05В49/00, 47/00. Электронный кодовый замок / С. Н. Гончаров, А. П. Мартынов, С. В. Панкратов, В. Н. Фомченко, Г. И. Шишкин // Изобретения. Полезные модели. 2000. № 27.

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

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