Изв. вузов «ПНД», т. 17, № 6, 2009
УДК 621.373.54, 517.9
ЦИФРОВОЙ ГЕНЕРАТОР ПОДКАЧКИ ЭНТРОПИИ НА БАЗЕ ОТОБРАЖЕНИЯ АРНОЛЬДА
Л.С. Сотов, В.Н. Харин
В работе обсуждается использование цифровых генераторов, моделируемых двумерными отображениями на торе, в частности отображением «Кот Арнольда», в качестве встроенных источников энтропии, работающих в составе однокристальных криптографических систем генерации случайных чисел. Приводится практическая схема генератора на двоичных счетчиках, реализуемая на стандартной элементной базе фабрик - производителей полупроводников. Проводится сравнительная характеристика генераторов подкачки энтропии. Анализируются условия безопасности их использования.
Ключееые слова: Генератор случайных чисел, динамический хаос, источники энтропии, криптографические ключи, распределение вероятностей.
Большинство систем информационной безопасности имеют в своем составе генераторы случайных чисел. В связи с тем, что к данным генераторам предъявляются жесткие технические требования, использование непосредственно физических источников случайных сигналов, таких как тепловые, дробовые шумы в электронных схемах, процессы разряда в счетчиках Гейгера и т.п. обычно не представляется возможным [1,2]. Для генерации случайных чисел используются криптографические генераторы псевдослучайных последовательностей (ПСП). Для устранения угрозы восстановления последовательности по определенному в некоторый момент времени состоянию генератора ПСП периодически или по запросу системы в состояние генератора вносится неопределенность. При этом используются внешние источники случайных сигналов. Вопросы их получения и использования являются актуальными в настоящее время [3]. В литературе по криптографии такие источники часто называют источниками подкачки энтропии в систему [2]. Для большинства систем использование внешних источников случайных сигналов недопустимо из соображений безопасности, поэтому используются встроенные в систему безопасности генераторы случайных сигналов (ГСС).
Возможны два подхода при построении ГСС для подкачки энтропии.
1. Использование ГСС, работающих на флуктуациях параметров в системах с большим числом степеней свободы. При этом используется «мощный источник энтропии», а необходимый уровень сигнала получают путем его усиления.
57
2. Построение ГСС на базе систем с хаотической динамикой. При этом используется «слабый источник энтропии», например, обычный генератор тактовых импульсов, а динамическая система служит в качестве усилителя неопределенности.
Недостатком ГСС, работающих путем усиления случайных сигналов, таких как тепловые, дробовые шумы в электронных схемах и т.п., является малая среднеквадратичная мощность естественных флуктуаций. Это приводит к необходимости использования высокочувствительных усилителей с большим коэффициентом усиления и делает данную схему уязвимой к воздействиям со стороны злоумышленника. Высокочувствительные входные каскады усилителей имеют низкий порог насыщения. Злоумышленник может преднамеренно наводить помехи, переводящие усилитель естественных флуктуаций в режим насыщения, блокируя, таким образом, работу ГСС. В целях обеспечения безопасности представляет интерес использование динамических ГСС, которые построены на базе динамических систем с хаотической динамикой. Возможно совместное использование в качестве источников подкачки энтропии генераторов, работающих на основе систем с хаотической динамикой и с усилением естественных флуктуаций.
Известно большое количество радиотехнических генераторов с хаотической динамикой, однако большинство из них содержат либо нестандартные нелинейные элементы, либо элементы, не реализуемые в составе интегральной микросхемы (катушки индуктивности, конденсаторы достаточно большой емкости и.п.). Кроме того, для обеспечения безопасности использования такого генератора в составе используемой системы необходимо, чтобы характер его колебаний не менялся при внешних воздействиях, которые могут быть достаточно интенсивны.
С технической стороны проектируемый генератор должен удовлетворять следующим требованиям:
- ГСС должен соответствовать модели безопасности, используемой при разработке аппаратуры [2];
- должна быть обеспечена простота и надежность схемотехнических решений, а также некритичность требований к элементной базе (нестандартные элементы в ГСС не используются).
В данной работе предлагается использовать в качестве ГСС цифровой генератор, моделируемый двумерным линейным отображением на торе. Отличительной особенностью данного генератора является простота и возможность реализации в виде встроенной системы на кристалле, без предъявления каких-либо дополнительных требований к элементной базе производителя.
Модель безопасности использования ГСС
Сформулируем условия безопасности использования ГСС в криптографических системах генерации случайных чисел. На рис. 1 схематически изображена блок-схема, иллюстрирующая модель ГСС, работающего во враждебной среде. Злоумышленник может воздействовать на ГСС и анализировать данные о его состоянии в различные моменты времени, используя доступные технические каналы утечки информации [4]. Кроме этого злоумышленнику известна конструкция и алгоритмы работы ГСС, так что он может моделировать его работу. По запросу системы
58
в некоторые моменты времени Ti на основе внутреннего состояния X(Ti) генератора формируется цифровой сигнал {DS}тг, который по некоторому алгоритму вносит неопределенность в состояние генератора ПСП. Система определяет X(Ti) с погрешностью 8, таким образом {DS}Ti генерируется на основе любого значения Xиз 8-окрестности X(Ti) в фазовом пространстве системы
Рис. 1. Модель генератора случайных сигналов, ра-
{X}Ti — {X : yX, X X(Ti) < 8}. ботающего во враждебной среде Цифровой сигнал {DS }т генерируется системой по известному злоумышленнику алгоритму s для УХ (Ti) & {X }Ti, s(X (Ti)) ^ {DS}Ti.
Целью злоумышленника является определение состояниях (Ti) с погрешностью, не превышающей 8. ГСС будет безопасным, если злоумышленник не может определить состояние ГСС в требуемые моменты времени Ti с необходимой точностью даже в том случае, если некоторые значения из последовательности X(Ti) ему известны.
Пусть е > 0 - погрешность определения злоумышленником состояния динамической системы X (Ti). Объем фазового пространства {X }T —
— {X : yX, X—X(Ti) < е} известен злоумышленнику, {X}T & {X}T. Если рассматривать {X}T как множество, содержащее непересекающиеся подмножества
{X}bTi, то {X}£т. — { {X}Ti, {X2}Tt,---,{XL}Tt}. Пусть мощность M{X}T. — L. Величина L определяет уровень безопасности ГСС. Если L больше значения Lm, определенного разработчиком в качестве параметра модели безопасности данной системы, использование ГСС безопасно [2].
При использовании безопасного ГСС для злоумышленника также вычислительно неразрешимы задачи уточнения состояния ГСС путем анализа временной эволюции. Это условие выполняется в случае локальной неустойчивости траекторий аттрактора в фазовом пространстве ГСС.
Оценим возможности злоумышленника по уточнению состояния ГСС по известным фрагментам X(Ti).
Пусть моделью ГСС является дискретное отображение
Xn+1 — F (Xn).
(1)
Xn — Xn + fn - близкая к Xn траектория в фазовом пространстве ГСС. Тогда, учитывая малость fn и линеаризуя уравнение (1) вблизи траектории Xn в фазовом пространстве ГСС, получим уравнение для fn
Xn+i — F(Xn + fn) — F(Xn) + [A(Xn)\ In,
A(Xn)
Ln+1 fn+1 —
n
где
A(Xn) - матрица Якоби для F(Xn).
59
2
Рассмотрим эволюцию чальных возмущений fn
где - транспонированный вектор на-
fn+1
= fT
-|T г
A(Xn) A(Xп)
2
n
где
A(Xn)
-T
транспонированная матрица
Рассмотрим матрицу
v(Xn) - A(Xn)
A(Xn)
-T
A(Xn)
. Собственные значения
Xs и собственные векторы Hs этой матрицы находятся из уравнения
v(Xn)
Нs XsHs-
(2)
Задавая малое возмущение fn вдоль одного из собственных векторов Hs получим
fn+1
2 г -T г ^
-X+ A(Xn) х A(Xn)
fn — Xs
fn+1
- v%-
2
n
n
(3)
Начальное малое возмущение будет возрастать, если xs > 1. Если начальное возмущение возрастает для любого п, то ГСС безопасен для анализа в прямом времени по любому участку фазовой траектории, поскольку при попытках моделировать динамику генератора погрешность определения его состояния будет возрастать. Если отображение (1) необратимо, условием безопасности ГСС является xs > 1для любого Xn. Наличие положительного показателя Ляпунова отображения (1) является менее строгим требованием, поскольку на аттракторе системы возможны участки локально-устойчивых последовательностей Xk, анализируя которые злоумышленник может уточнить состояние ГСС.
Если отображение (1) обратимо, злоумышленник может инвертировать время и попытаться уточнить состояние ГСС путем моделирования отображения, обратного (1)
A(Xn)
-1
эп+1*
n
(4)
Аналогично получаем
v(Xn)
-1
A(Xn)
-1
T
A(Xn)
-1
A(Xn)
-1
A(Xn)
-1
Hs - XrsHs,
4 Hs xl
A(Xn) A(Xn) T Hs - A(Xn) T A(Xn) Hs - v(Xn)
Hs.
60
Таким образом, %s = 1/%rs, и ГСС будет безопасным для анализа в обратном времени, если одно из собственных значений xs < 1.
Следовательно, если моделью ГСС является дискретное отображение, и в спектре собственных значений всех матриц малых возмущений | [v(^Yra)j, n = 1, 2, есть хотя бы одно %s > 1 и %s < 1, ГСС является безопасным по отношению к попыткам уточнить его состояние путем вычислений по известной с погрешностью е временной последовательности Xn
V
v(Xn)
3s : Xs > 1& 3q : Xq < 1.
(5)
Менее строгим требованием безопасности является наличие хотя бы одного положительного и одного отрицательного показателя Ляпунова отображения (1).
Учитывая возможность внешнего воздействия на ГСС с целью изменения режима работы, необходимо, чтобы условие (5) сохранялось при любом возможном внешнем воздействии.
Модель цифрового ГСС
Эффективная техническая реализация ГСС в цифровой системе возможна на базе модельного отображения на торе [5]
xn+1
yn+1
a11a12
a21a22
Xn
yn
mod(1).
(6)
Из класса отображений, задаваемых уравнением (6), далее будут рассматриваться отображения, сохраняющие площадь a11a22 — a12a21 = 1 и являющиеся отображениями гиперболического типа: (a11+a22) > 2; a11+a22 + \/(an + a22)2 — 4 > 1; a11 + a22 — л/(a11 + a22)2 — 4 < 1. Эти условия являются достаточными для безопасности ГСС в рассмотренном ранее смысле.
В цифровых системах в качестве непрерывных переменных (x, у) удобно использовать длительность генерируемых импульсов. Импульс длительности т можно формировать с использованием реверсивного двоичного счетчика т = mg, где n -двоичное число, загружаемое в счетчик, Tg - период следования тактовых импульсов, подаваемых на счетчик. Двоичный счетчик разрядности N осуществляет счет по модулю 2n . Поэтому при использовании в ГСС счетчиков перепишем (6) для целочисленных переменных (k, m):
kn+1
mn+1
an a12 a21 a22
kn
mn
mod(2N)
(7)
Переход от (6) к (7) равносилен потере точности вычислений переменных (x,y), которые определяются с погрешностью 2-N. Отображения (6) и (7) можно считать эквивалентными для достаточно больших N, учитывая, однако, что из-за конечности множества целых чисел, на котором задано отображение (7), последнее будет периодическим с периодом не более 2N.
61
Рис. 2. Блок-схема ГСС на двоичных счетчиках
Построение цифрового ГСС, в котором реализуется модельное отображение Арнольда возможно на двоичных счетчиках. На рис. 2 представлена блок-схема разработанного ГСС. Моделирование архитектуры данного генератора выполнено на языке SystemC на уровне регистров и каналов передачи данных (RTL уровень) [6]. В процессе работы ГСС вырабатывает импульсы с длительностью, определяемой приведенным ниже выражением (8).
В общем случае ГСС состоит из четырех N-разрядных реверсивных двоичных счетчиков А11Хп, А12Yn, А21Хп, А22Yn, двух обычных двоичных счетчиков Xn+1, Yn+1 и, в общем случае, пяти генераторов тактовых импульсов Г, Г11, Г12, Г21, Г22, а также логических блоков Б1 и Б2, пропускающих импульсы от соответствующих генераторов Г11, Г21 при обнулении счетчиков А12Yn, А22Yn, соответственно. Данную схему можно реализовать только на цифровых элементах, используя в качестве Г, Г11, Г12, Г21, Г22 быстродействующие автогенераторы, частота колебаний которых определяется инерционными свойствами используемых логических элементов [7]. Если Tg - период следования тактовых импульсов, подаваемых на генератор Г, то тц = aiitg, ti2 = ai2xg, x2i = a2ixg, x22 = a22xg - периоды следования тактовых импульсов генераторов Г11, Г12, Г21, Г22, соответственно. Соотношение частот генераторов тактовых импульсов определяет коэффициенты отображения (6) и в конечном итоге характер динамики генератора.
62
В начальный момент времени счетчики Xn+1, Yn+1 обнуляются, в A11Xn, A21Xn заносится начальное значение ко, а в счетчики А12Yn, А22Yn заносится значение то. После этого тактовые импульсы от генераторов Г, Г12, Г22 подаются на соответствующие счетчики Xn+1, Yn+1, А12Yn, А22Yn, причем А12Yn, А22Yn осуществляют реверсивный счет, а Xn+1, Yn+1 - прямой. После обнуления счетчиков A12Yn, A22Yn тактовые импульсы от генераторов Г11, Г21 через логические схемы Б1 поступают на счетчики A11Xn, A21Xn, осуществляющие реверсивный счет. Цикл завершается в момент обнуления этих счетчиков. Для осуществления следующего цикла содержимое счетчиков Xn+1, Yn+1 записывается в A11Xn, A21Xn и A12Yn, A22Yn, соответственно. Время, необходимое для совершения цикла по элементам к - Tk+1 = kn+1xg = (ацкп+a12тп)тд; время, необходимое для совершения цикла по элементам m - T^+1 = mn+1Tg = (a21kn+a22mn)xg. Используя матричную запись, уравнения можно переписать в виде
T k Tn+1
Tn+1
a11a12 a21 a22
T k Tn
Tm
Tn
mod(2w Tg)
(8)
Учитывая флуктуации периодов колебаний генераторов Г, Г11, Г12, Г21, Г22, длительности циклов Т,П ,Tm являются случайными величинами. Если флуктуации периодов колебаний генераторов - независимые случайные величины, распределение Tk, Tm будет нормальным:
£) • (9)
Здесь о - дисперсия периодов поступающих на счетчик импульсов; ^(Tk) и р(Tm) - математические ожидания длительностей циклов Tk и Tm; к, m - число импульсов, которое поступило на двоичные счетчики за время T k и T m, соответственно. Tk
Поскольку кп = — ,mn = Tm/xg, целочисленные величины (kn,mn) отображения тд
(7) станут случайными. Полагая, что p(xg) - математическое ожидание Tg,
p(Tk T) =
1
2 пкто
exp
(Tkk - v(Tkk))2 , (Tm - V(T
2к2о2
+
m
n
2m2 о2
P (kn,mn) =
f(m„ + 1)^(t9) r (k„ + 1)^(tg)
p(Tk ,Tm)dTk dxm.
(10)
'mn^( Tg ) Jk„p,(Xg)
Преобразование (8) вследствие гиперболичности системы приводит к росту энтропии S в системе. С каждым циклом отображения (7) неопределенность в системе возрастает. Рассмотрим процесс роста S для (kn, mn). Пусть H 1,H2 - собственные векторы, а /1 > 1, %2 < 1 - собственные значения матрицы
a11a12
[А] = ( “11V~12 ). Вдоль H1 происходит растяжение, вдоль H2 - сжатие. На рис. 3
a21 a22
представлена эволюция плотности распределения (9) при итерациях отображения Арнольда [А] = ^ i ^ ^ для n = 0,1,2,3. Вследствие сжатия вдоль направления H2 двумерная плотность распределения быстро приближается к одномерной,
63
Рис. 3. Эволюция функции распределения плотности вероятности периода ГСС
и поверхность заполняется листами «всплесков» плотности вероятности. Частоты генераторов Г, Г11, Г12, Г21, Г22 необходимо выбирать так, чтобы обеспечить иррациональность углового коэффициента линии, вдоль которой расположен вектор Hi [5]. В этом случае листы не перекрываются, а плотно заполняют всю поверхность, и энтропия, накапливаемая системой, будет максимальна: Smax = 2N.
Вследствие растяжения вдоль направления Hi энтропия системы Sn = = N=iJ2m=i P(kn,mn) log2 P(kn,mn) растет линейно с шагом AS = log2xi
за каждую итерацию (7). При среднем времени выполнения цикла Tg ~ 2N-1тд производительность генератора в качестве источника энтропии Ps = (1/Tg)log2Xi. Накопление максимальной энтропии происходит за L = (2N)/(log2 Xi) циклов, на которое затрачивается TL = (2NTg)/(log2 xi) ~ (N2Nxg)/(log2 xi) времени. Если в некоторый момент времени стало известно состояние счетчиков ГСС, то за каждый цикл работы генератора происходит потеря информации о текущем состоянии AI = log2Xi [8]. Эффективным путем увеличения производительности генератора энтропии является сокращение Tg, менее эффективным - увеличение xi.
Минимальная разрядность счетчиков определяется из соотношения N > log2(ig/о). Оценим практическое число разрядов двоичных счетчиков и среднюю длительность цикла ГСС. Пусть генератор Г работает на частоте fo = 100 МГц, и его нестабильность определяется значением о = 10-4. В этом случае необходимо обеспечить N > 13 (при N = 14 средняя длительность цикла Tg будет около 164 мкс).
64
Выводы
В работе предложена модель безопасности использования ГСС в системах генерации случайных чисел. Приведена архитектурная модель генератора импульсов случайной длительности с использованием только стандартных цифровых логических элементов, которая выполнена на уровне регистров и передачи данных. Динамика изменения длительности импульсов данного ГСС определяется двумерным отображением типа отображения Арнольда. Генератор удовлетворяет сформулированным в работе требованиям безопасности. Проведена оценка роста энтропии в системе и получено соотношение для минимальной разрядности используемых двоичных счетчиков. Данный генератор не обладает высоким быстродействием, однако, его быстродействия достаточно для применения данного генератора в качестве источника подкачки энтропии в криптографических системах генерации случайных чисел. Генератор прост, не требует наладки и может быть встроен в проектируемые системы на кристалле (SoC) или программируемую логическую матрицу (FPGA) путем проведения процедуры логического синтеза.
Если предположить возможность преднамеренного воздействия со стороны злоумышленника на ГСС, работающий за счет усиления естественных флуктуаций, возможно блокирование его функций за счет наводок на высокочувствительные входные каскады усилителей. В этом случае предпочтительно использование подхода, при котором используются «слабый источник энтропии», например, флуктуации периода колебаний обычного генератора тактовых импульсов, и динамическая система с хаотической динамикой, которая служит в качестве усилителя неопределенности.
Библиографический список
1. Menezes A., van Oorschot P., Vanstone S. Handbook of applied cryptography CRC, 1997. P. 39.
2. Фергюсон Н., Шпайер Б. Практическая криптография/ Пер. с англ. M.: Издательский дом «Вильямс», 2005. C. 34,35,56,57,178-209.
3. Kelsey J., Schneier В., Wagner D. and Hall С. Cryptanalytic attacks on pseudorandom number generators // Fast Software Encryption. 5th International Workshop, FSE’98. Lecture Notes in Computer Science. Springer-Verlag. 1998. Vol. 1372. P. 168.
4. Куприянов A.M. Основы защиты информации: учеб. пособие для студ. высш. учеб. заведений / А.И.Куприянов, А.В.Сахаров, В. А. Шевцов. М.: Издательский центр «Академия», 2006. С. 48.
5. Кузнецов С.П. Динамический хаос. М.: ФИЗМАТЛИТ, 2001. 296 с.
6. Евтушенко Н.Д., Немудрое В.Г., Сырцов И.А. Методология проектирования систем на кристалле. Основные принципы, методы, программные средства // «Электроника». 2003. № 3.
7. Опадчий Ю.Ф., Глудкин О.П., Гуров А.И. Аналоговая и цифровая электроника. М.: «Горячая Линия - Телеком». 2000. С. 681, 682
8. Шустер Г. Детерминированный хаос: Введение. М.: Мир, 1988. С. 115.
Поступила в редакцию 12.01.2009 После доработки 3.04.2009
65
DIGITAL GENERATOR OF PUMPING OF ENTROPY ON THE BASIS OF ARNOLD’S MAPPING
L.S. Sotov, V.N. Harin
The digital generators model-based by two-dimensional mappings on toroid, in particular by mapping «Arnold’s Cat», as the built-in sources of entropy working as a part of single-crystal cryptographic systems of generation of random numbers is discussed. The practical scheme of the generator on the binary counters, realised on element base of semiconductor factories is resulted. The comparative characteristic of pumping of entropy generators is discussed. Safety conditions are analyzed.
Keywords: Random number generator, chaotic dynamics, entropy input streams, cryptographic keys, probability distribution.
Сотов Леонид Сергеевич - родился в Саратове (1963), окончил Саратовский государственный университет им. Н.Г. Чернышевского (1985). Защитил диссертацию на соискание ученой степени кандидата физико-математических наук (1991, СГУ) в области радиофизики и нелинейной динамики. Доцент кафедры общей физики СГУ. Опубликовал 50 научных статей.
410012 Саратов ул. Астраханская, 83
Саратовский государственный универсистет им. Н.Г. Чернышевского E-mail: slskit@mail.ru
Харин Валерий Николаевич - родился в 1940 году, окончил физический факультет Воронежского государственного университета (1962). Работал старшим инженером в НИИ физики ВГУ, ведущим инженером, начальником лаборатории, начальником отдела в ЦКБ НПО «Электроника». Впоследствии руководил отделением разработки программного обеспечения САПР в ОКБ при заводе «Процессор», являлся главным конструктором ряда направлений в Министерстве электронной промышленности СССР. В настоящее время работает профессором кафедры ВТиИС, д.т.н., профессор, лауреат Государственной премии СССР и Премии Совета Министров СССР. Имеет более 300 печатных работ, среди которых более 20 монографий и учебных пособий.
394613 Воронежская область, Воронеж, ул. Тимирязева, д. 8 Федеральное образовательное учреждение Воронежская государственная лесотехническая академия E-mail: Valery-Harin@intercon.ru
66