УСТРОЙСТВО ДЛЯ ГЕНЕРАЦИИ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ
DEVICE FOR GENERATING PSEUDORANDOM NUMBERS

Изобретение относится к вычислительной технике и электросвязи, предназначено для решения задач защиты компьютерной информации. Наиболее предпочтительной областью использования изобретения является реализация стохастических методов защиты информации.
В совокупности признаков заявленного изобретения используются следующие термины:
Design Obfuscation - технология, затрудняющая реверс-инжиниринг цифровых устройств (ЦУ) за счет реализации механизма скрытых, особо защищенных функций целевого ЦУ, разрешить выполнение которых может только авторизованный пользователь. См., например, Physical Design Obfuscation of Hardware: A Comprehensive Investigation of Device and Logic-Level Techniques, https://arxiv.org/pdf/1910.00981.pdf
Регистр сдвига с линейной обратной связью (LFSR, Linear Feedback Shift Register) - наиболее распространенный класс устройств для генерации псевдослучайных чисел. Достоинством генераторов на основе LFSR являются эффективная программная и аппаратная реализация; хорошие статистические свойства; регулярная структура, удобная для интегрального исполнения. См., например, Стохастические методы и средства защиты информации в компьютерных системах и сетях. Иванов М.А., Чугунков И.В., Ковалев А.В. и др. М.: КУДИЦ-ПРЕСС, 2009. http://www.aha.ru/~msa/stochastic.pdf
Генераторы псевдослучайных чисел (ГПСЧ) - основа стохастических методов защиты информации, применение ГПСЧ обеспечивает непредсказуемое поведение объекта и средств защиты, позволяя тем самым защититься от активного противника.
Известно устройство для генерации псевдослучайных чисел, состоящее из N элементов памяти (D-триггеров), образующих N-разрядный регистр сдвига, и сумматора по модулю два, причем выходы разрядов регистра сдвига, номера которых определяются ненулевыми коэффициентами образующего двоичного полинома Ф(х) степени N, подключены ко входам сумматора по модулю два, выход которого соединен с информационным входом регистра сдвига. Тактовый вход устройства подключен к тактовому входу регистра сдвига, выходы разрядов которого являются выходами устройства. (Secured Pseudo-Random Number Generator, US Patent 10 007 488, Fig. 4a).
N
N
Подобная схема LFSR называется конструкцией Фибоначчи и при выборе в качестве Ф(х) примитивного полинома формирует псевдослучайную последовательность (ПСП) длиной М=2 - 1. ПСП можно снимать с выхода любого разряда регистра сдвига, при этом на остальных выходах регистра сдвига присутствуют сдвинутые копии той же ПСП. Диаграмма переключений устройства состоит из двух циклов длиной Ми 1. Недостатком известного устройства является невозможность генерации ПСП длиной 2, т.е. максимально возможной длины при заданном числе элементов памяти.
N
N
Для генерации последовательности длиной 2 требуется регистр сдвига с нелинейной обратной связью (NLFSR - Non-Linear Feedback Shift Register). Последовательности длиной 2 иногда называют (М+1)-последовательностями.
Таким образом, наиболее близким по своей технической сущности к заявленному устройству является устройство для генерации псевдослучайных чисел, состоящее из N элементов памяти (D-триггеров), образующих N-разрядный регистр сдвига, сумматора по модулю два и (N-1)-входового элемента ИЛИ-НЕ, причем выходы разрядов регистра сдвига, номера которых определяются ненулевыми коэффициентами образующего двоичного полинома Ф(х) степени N, подключены к (n - 1) входам сумматора по модулю два, где n - число ненулевых коэффициентов Ф(х), выход сумматора по модулю два соединен с информационным входом регистра сдвига, выходы первых (N - 1) разрядов регистра сдвига соединены со входами элемента ИЛИ-НЕ, выход которого соединен к n-му входу сумматора по модулю два. (Стохастические методы и средства защиты информации в компьютерных системах и сетях. Иванов М.А., Чугунков И.В., Ковалев А.В. и др. М.: КУДИЦ-ПРЕСС, 2009, рис. 2.16. http://www.aha.ru/~msa/stochastic.pdf)
Техническим результатом изобретения является расширение функциональных возможностей устройства, ориентированного на применение технологии Design Obfuscation, позволяющей реализовать механизм скрытых, особо защищенных функций, целевого цифрового устройства, разрешить выполнение которых может только авторизованный пользователь. Иначе говоря, повышение эффективности использования псевдослучайных последовательностей при реализации технологии Design Obfuscation
N
N
N
N
Указанный технический результат обеспечивается за счет того, что устройство для генерации псевдослучайных чисел, состоящее из генератора последовательности длиной 2, где N - число используемых элементов памяти, причем тактовый вход устройства подключен к тактовому входу генератора последовательности длиной 2, N выходов которого являются выходами устройства, дополнительно содержит элемент И, а также группу из N элементов И, первые входы N элементов И группы являются управляющими входами устройства, а вторые входы подключены к выходу элемента И, первый и второй входы которого подключены соответственно к N-му выходу и выходу изменения режима генератора последовательности длиной 2, а третий вход элемента И является входом режима устройства, N выходов элементов И группы подключены к управляющим входам генератора последовательности длиной 2.
N
N
На фиг. 1 показана схема заявленного устройства. На фиг. 1 показаны тактовый вход 1 устройства, генератор 2 последовательности длиной 2, где N - число элементов памяти генератора, элемент 3 И, группа из N элементов 4.1, 4.2, …, 4.N И, выходы 5.1, 5.2, …, 5.N устройства, управляющие входы 6.1, 6.2, …, 6.N устройства, выход 7 изменения режима генератора 2 последовательности длиной 2, вход 8 режима (Mode) устройства.
N
N
N
Тактовый вход 1 устройства подключен к тактовому входу генератора последовательности длиной 2, N выходов которого являются выходами устройства. Первые входы N элементов 4.1, 4.2, …, 4.N И группы являются управляющими входами устройства, а вторые входы подключены к выходу элемента 3 И, первый и второй входы которого подключены соответственно к N-му выходу 5.N и выходу 7 изменения режима генератора 2 последовательности длиной 2, а третий вход элемента 3 И является входом 8 режима устройства, N выходов элементов 4.1, 4.2, …, 4.N И группы подключены к управляющим входам генератора 2 последовательности длиной 2.
4
На фиг. 2 показан пример построения устройства для случая N=4, Ф(х)=х+х+1 - примитивный. Генератор 2 последовательности в данном случае состоит из четырех сумматоров 9.1, 9.2, 9.3, 9.4 по модулю два, четырех D-триггеров 10.1, 10.2, 10.3, 10.4, элемента 11 ИЛИ-НЕ, обеспечивающего переключение генератора 2 из состояния 0001 в состояние 0000, а затем из состояния 0000 - в состояние 1000.
1
2
3
4
На фиг. 3 показана диаграмма переключений устройства при значении сигнала на входе 8 режима, равном 1, и значениях управляющих сигналов на входах 6.1, 6.2, 6.3, 6.4 соответственно с=1, c=0, c=1, c=0.
N
Видно, что диаграмма переключений устройства состоит из предпериода (Tail) и циклического участка (Cycle). Длиной предпериода и цикла можно управлять, подавая соответствующие сигналы на управляющие входы 6 устройства. Суммарная длина предпериода и циклического участка диаграммы равна 2. На фиг. 3 рассматривается случай, когда N=4, а длина предпериода равна длине цикла, т.е. | Tail |=| Cycle |=8.
На фиг. 4 показан принцип работы механизма скрытых функций целевого устройства.
Устройство работает следующим образом.
Сигнал на входе 8 режима устанавливается равным «1».
Каждой функции целевого ЦУ ставится в соответствие определенное состояние устройства для генерации псевдослучайных чисел. Выполнить конкретную функцию можно лишь при нахождении устройства в соответствующем состоянии. Все функции целевого ЦУ делятся на две группы: Common Functions - обычные функции, Secure Functions - скрытые функции. Состояния устройства, входящие в предпериод, соответствуют функциям второй группы; состояния устройства, входящие в цикл, соответствуют функциям первой группы. Таким образом, для случая рассмотренного на фиг. 2 можно реализовать до 8 Secure Functions и до 8 Common Functions.
Исходным состоянием устройства может быть любое состояние генератора 2, входящее в цикл. Цепи установки в исходное состояние на фиг. 1 и 2 не показаны. До тех пор, пока значение сигнала на входе 8 режима равно «1», устройство работает в циклическом режиме, в котором разрешено только выполнение Common Functions.
Как только у авторизованного пользователя возникает необходимость выполнить одну из скрытых функций целевого устройства, он должен осуществить скрытый переход (Hidden Jump на фиг. 4) из циклического режима на начало предпериода. Для этого значение сигнала на входе 8 режима переключается в «0» и как только генератор 2 оказывается в состоянии 0001, осуществляется переход на начало предпериода (состояние 0000). Сигнал на входе 8 режима переключается в «1». Выполняется необходимое число тактов предпериода. Как только генератор 2 оказывается в состоянии, разрешающим выполнение требуемой функции, она выполняется, после чего устройство возвращается обратно в циклический режим.
Переключение сигнала на входе 8 режима из «1» в «0» разрешается только после аутентификации пользователя по принципу «случайный запрос - правильный ответ», переключение сигнала на входе 8 режима обратно из «0» в «1» осуществляется автоматически.
В случае, рассмотренном на фиг. 2, уравнения работы устройства имеют вид
z=1, если  и Mode=1,
j
j
j
где q-(t) и q(t+1) - состояния j-го регистра генератора соответственно в моменты времени t и (t+1), c - управляющее воздействие в момент времени t, поступающее на соответствующий вход 6.j, а все операции сложения выполняются по модулю два.
В общем случае уравнения принимают вид:
z=1, если  и Mode=1,
k
где а - коэффициенты двоичного многочлена Ф(х), k=1,2, 3, …, (N - 1).
Возможность достижения заявленного технического результата изобретения обуславливаются следующими факторами:
N
1) Диаграмма переключений ГПСЧ в основном режиме функционирования имеет вид t-c, где t - длина предпериода, с - длина циклического режима, причем t+с=2;
2) При нахождении ГПСЧ в циклическом режиме выполнить ни одну из скрытых функций целевого устройства невозможно;
3) За счет изменения значений сигналов на управляющих входах 6 ГПСЧ можно изменять значения t и с, меняя тем самым соотношение между обычными и скрытыми функциями;
4) Авторизованный пользователь, изменив значение сигнала на входе 8 режима, может инициировать скрытый переход из состояния 000…01 циклического режима в начало предпериода, после чего дождавшись перехода ГПСЧ в соответствующее состояние, выполнить требуемую скрытую функцию целевого устройства.
Таким образом, технический результат от использования изобретения заключается в повышении эффективности использования устройства для генерации псевдослучайных чисел при реализации технологии Design Obfuscation (Hardware Protection through Obfuscation. D. Forte, S. Bhunia, M.M. Tehranipoor editors. Springer International Publishing AG, 2017), ориентированной на защиту от реверс-инжиниринга за счет обфускации и рандомизации логической схемы защищаемого целевого устройства.