metoda_2013
.pdfОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
множество функций, которым такой член будет доступен? Очевидный ответ для языков, поддерживающих объектноориентированное программирование, таков: доступ имеют все операции, которые определены для этого объекта, иными словами, все функции-члены. Например:
class window
{
// ...
protected: Rectangle inside; // ...
};
class dumb_terminal : public window
{
// ...
public:
void prompt (); // ...
};
Здесь в базовом классе window член inside типа Rectangle описывается как защищенный (protected), но функции-члены производных классов, например, dumb_terminal::prompt(), могут обратиться к нему и выяснить, с какого вида окном они работают. Для всех других функций член window::inside недоступен.
В таком подходе сочетается высокая степень защищенности (действительно, вряд ли вы "случайно" определите производный класс) с гибкостью, необходимой для программ, которые создают классы и используют их иерархию (действительно, "для себя" всегда можно в производных классах предусмотреть доступ к защищенным членам).
Неочевидное следствие из этого: нельзя составить полный и окончательный список всех функций, которым будет доступен защищенный член, поскольку всегда можно добавить еще одну, определив ее как функцию-член в новом производном классе. Для метода абстракции данных такой подход часто бывает мало приемлемым. Если язык ориентируется на метод абстракции данных, то очевидное для него решение - это требование указывать в описании класса список всех функций, которым нужен доступ к члену. В С++ для этой цели используется описание частных (private) членов.
Важность инкапсуляции, т.е. заключения членов в защитную
340
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
оболочку, резко возрастает с ростом размеров программы и увеличивающимся разбросом областей приложения.
VIII. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
1. Системотехнические основы построения датчиков случайных чисел. Принципы аналого-цифрового преобразования. Причины выбора данного принципа аналого-цифрового преобразования.
Функциональная схема генератора случайной последовательности (подход “в лоб”)
S(t) оказывается не случайным, а модулированным рядом гармоник и не позволяет получить случайные числа.
Проблемы:
1)влияние ЭМП на случайность последовательности (50 Гц
!!!);
2)влияние качаний напряжений питания - вектор U (U на рис - это вектор питающих напряжений).
Вторая проблема и отчасти первая могут быть решены подобающим выбором принципа аналоговоцифрового преобразования.
Первая проблема принципиально может быть решена за счет схемотехнических и конструктивных решений
Функциональная схема реального генератора случайной последовательности
341
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
Основные положения:
1)Если ИШ1 и ИШ2 - источники на основе теплового шума, то S1(t) и L1(t), S2(t) и L2(t)- сравнимы по величине даже при хорошей экранировке.
2)Если S1(ti)и S1(ti), где ti = t0 + i∆t, i=1,2…. – нормально распределенные случайные величины, то S1(ti) - S1(ti) – также нормально распределенная случайная величина
3)Если каналы конструктивно выполнены идентично, то
обычно L1(t) ≈ L2(t). Для этого должны быть выполнены следующие требования:
a.Платы расположены в одной плоскости
b.Градиент плотности энергии электромагнитного поля в области расположения плат мал.
Если (1), (2) и (3) выполнены, то
Где s1(t) – усиленный шум 1-го источника, l1(t) – паразитное составляющее 1-го канала
s2(t) – усиленный шум 2-го источника, l2(t) – паразитное составляющее 2-го канала Таким образом ЭМП побеждена.
Апробированные историей источники шума:
1.Сцинтилляционные --- основан на случайном процессе радиоактивного распада. 1) Главный недостаток – временная нестабильность (ВН). Чем выше быстродейтвие, тем ниже стабильность. 2) Технические сложности защиты от радиации
2.Механические (лототроны) --- 1) неудобство использования,
2) BH
3.Электрические
3.1.Шум газового разряда --- BH типа регресса Ток протекающий по люминесцентным лампам излучает случайность тем выше, чем ниже габаритные размеры.
3.2.Шумовые вакуумные диоды --- BH типа регресса. В криптографических приложениях используется, в т.ч для защиты информации от утечки побочным каналом.
3.3.Шумовые полупроводниковые диоды --- Выдают шум в полупробойном состоянии. имеются паразитные процессы, но в целом обладают неплохими качествами. Именно они используется для генерации случайных последовательностей.
342
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
3.4.Использование теплового шума проволочных резисторов. Требуется высокая чувствительность усилителей
Аналогово-цифровое преобразование. Принадлежности.
1 проблема – качания питающих напряжений
2 проблема – «нормальность» закона распределения исходных случайных величин.
Причины качания напряжения:
-Изменение нагрузки в зависимости от текущего сочетания решаемых на компьютере задач
-Изменение внешних напряжений (сезонные и принудительные со стороны злоумышленника)
Следствие: качание эталонных импульсов тока АЦП и т.о. неслучайное модулированная последовательность случайных чисел.
Для криптгографических приложений нужны случайные числа с равномерным законом распределения, в то время как шум у полупроводниковых диодов и тепловой шум имеет нормальный закон распределения, т.е. необходим преобразователь. В качестве такого преобразователя, одновременно устраняющего проблему с качаниями напряжений, может быть использована АЦП принадлежность.
Теорема. Пусть для любого целого k, , тогда для непрерывной случайной величины с нормальной плотностью распределения
вероятности попадания в поле интервала и
одинаковы.
Определение. АЦП, формирующей в той или иной форме номер поля интервала, к которому принадлежат измеряемый в данный момент аналоговый сигнал, назовем АЦП принадлежностью.
В качестве формирователей последовательностей случайных бит с равномерным распределением 0 и 1на основе теплового шума и шума полупроводниковых диодов целесообразно использовать
343
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
АЦП принадлежности, построены на основе результатов рассмотренной теоремы. Это объясняется 1) нечувствительностью таких формирователей к качаниям напряжений, 2) нечувствительностью таких формирователей их качаниям амплитуды теплового шума, 3) в случае зеркальной симметрии обоих интервалов такого рода формирователь будет правильно выполнять свою функцию для случайных сигналов с производимой четной функцией плотности распределения. На практике невозможно идеально соблюсти условия теоремы.
1) |
множество |
Z |
сужают |
до |
множества |
2) |
- условие выполняется приближенно |
|
|||
На практике |
|
|
|
|
Чем выше n, тем выше достигается точность преобразования, но тем сложнее настройка
Отсюда в коммерческих приложения n = 2 ~ 3, а в приложениях систем гарантированной секретности n = 4 ~ 6
2.Понятие Фон Нэймановской архитектуры вычислительной системы. Базовые принципы. Проблема получения случайных чисел в рамках данной архитектуры. Основной вывод
Практически все сигнальные процессоры имеют схожие базовые модули: вычислительное ядро, служащее для выполнения математических операций; память для хранения данных и программ; устройства преобразования аналоговых сигналов в цифровые и наоборот.
Адрес выполняемой команды отображается в адресном автомате вычислительного ядра сигнального процессора. Обычный цикл работы процессора состоит из выбора команды и данных из
344
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
памяти программ и данных и сохранения результатов обработки. По отношению к памяти программ и данных различают Фон Неймановскую и Гарвардскую архитектуры процессоров. Основные особенности типов архитектур показаны на рисунке 3.
Фон Неймановская архитектура является стандартом в развитии микропроцессорных систем. Описываемая архитектура наиболее проста, так как программа и данные располагаются в одной и той же памяти. Фон Неймановская архитектура используется для построения в основном универсальных процессоров, таких как процессоры семейства х86. Основная особенность такой архитектуры - наличие только одной шины, в результате за один цикл обращения процессор может получить доступ либо к памяти программ, либо к памяти данных.
Принципы фон Неймановской архитектуры:
1)Совмещение памяти программ и памяти данных, т.е. программы в некоторых случаях могут рассматриваться как данные
2)Строгая детерминированность действий в соответствии с программой, находящейся в памяти компьютера
Вывод (следует из 2-го утверждения): в Фон-Неймановской архитектуре невозможна генерация случайных чисел, так как все определено, нет случайного харатктера.
Аппаратные источники случайных чисел конечно-автоматного типа не возможны.
1)Нарушение 2-й характеристики фон Неймановской архитектуры возможно в истинно параллельных вычислительных структурах (отдельно независимые тактовые генераторы).
Реализация функции randomize в языках программирования. Случайность достигается за счет не «фон-нейманности» связанной с использованием взаимодействия двух истинно параллельных процессов: вычислительного (АЛУ со своим тактовым генератором) и векового таймера (со своим тактовым генератором). Случайность низкого качества. Повышение качества возможно за счет применения случайных вычислительных алгоритмов.
2)Не «фон-неймановость» поведений человека при взаимодействии с устройствами ввода (мышь, клавиатура).
345
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
А) качество случайности – низкое, так как зона подбора может быть сужена Б) не очень высокая скорость генерации
3. Системы гарантированной секретности. Теоретические основы.
Получены были К. Шенноном.
Пусть R – алфавит символов ключа, A – алфавит символов исходного сообщения.
В случае, если мощность множества |R| >= |A| и ключевая последовательность является равномерно распределенной случайно величиной на множестве R и каждая ключевая последовательность используется только 1 раз (т.к. 1 раз – шифр-блокнот), то атака на такой шифр невозможна в принципе. Связано это с тем, что доказано, что зашифрованное сообщение с равной вероятностью может быть декодировано в любое другое в принципе возможное.
“Грабли” Цезаря.
Пусть n – разрядность слова;
{ai}i = 1,2,…,N – шифруемая последовательность слов; {ri}i = 1,2,…,N – ключ шифрования;
{a*i}i =1,2,…,N – зашифрованная последовательность.
Положим:
ai* = |ai + ri|m (i = 1,2,…,N), где m = 2n. (1)
Рассмотрим операцию:
|ai* + ri|m, где ri – противоположное ri число по модулю m.
|ai* + ri|m = ||ai + ri|m+ ri|m = ||ai|m + |ri|m+ |ri|m|m = |ai + |ri+ ri|m|m = |ai|m= ai,
так как i(i = 1,2,..,N) ai < m = 2n.
Т. о.: ai = |ai* + ri|m = |ai* + m - ri| (i=1,2,…,N) (2)
Схема шифрования (1) и дешифрования (2) называются схемой Цезаря. На рис. представлено условное изображение древнего механизма, реализующего схему (1) и (2).
В случае, когда последовательность {ri}i =1,2,…,N является периодической с периодом k, то говорят о схеме “Граблей”
А
Цезаря с k “зубьями”.
В случае, когда последовательность {ri}i=1,2,…,N является последовательностью случайных чисел, равномерно распределенных на отрезке [0, 2n-1] и мощность множества
элементов, входящих в эту последовательность, не |
ниже |
|||
мощности |
множества |
элементов, |
входящих |
в |
346
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
последовательность {ai}, и для каждого акта шифрования некоторой последовательности {ai}i=1,2,…,N и дешифрования {a*i}i =1,2,…,N, используется отдельная реализация {ri}i=1,2,…,N (то есть {ri}i=1,2,…,N используется однократно), то говорят о схеме гарантированной секретности.
Однократное использование ключа в системе гарантированной секретности наз-ся использованием одноразового шифраблокнота.
Схема, приближенная к данной модели называется схемой Цезаря (Вижинера) с псевдослуайным длиннопериодическим ключом.
На сегодня известны 2 изоморфных подхода генерации псевдослучайных последовательностей:
o сложение сдвиговых регистров
o на рекуррентных соотношениях, причем среди всех рекуррентных соотношений лучше дает результат следующее соотношение:
Xi+1 = |axi + C|M
0 < a < M, 0 <= C < M, 0 <= X0 < M
Данный метод генерации псевдослучайно последовательности называется линейным конгруэнтным методом. При C = 0 метод называется мультипликативным конгруэнтным методом, C != 0 метод называется смешанным конгруэнтным методом. Качество получаемой псевдослучайной последовательности зависит от всех 4 параметров метода: X0 – начальное значение, a – множитель, C – приращение, M – модуль.
4. Длиннопериодические ключевые последовательности. Датчики псевдослучайных чисел и их роль для создания длиннопериодических ключевых последовательностей. Анализ стойкости длиннопериодических ключевых последовательностей
Псевдослучайный ключ (длиннопериодический) в некоторых случаях является практически достаточно стойким и используется в качестве вспомогательного алгоритма в современных криптографических алгоритмах.
Одним из самых лучших методов генерации случайной последовательности является метод Лемера 1948г. – линейный конгруэнтный метод генерации, который заключается в последовательности вычисления следующего регулярного соотношения:
хi+1=|axi+С|M, i=1,2,..
347
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
при известных М – модуль, С – приращение, а – множитель, х0 – начальное значение эти пары д. б. специально подобраны (М, а, С, х0)
В случае, если С=0, то метод называют мультипликативным конгруэнтным методом.
При С≠0 – смешенным конгруэнтным методом.
Качественная псевдослучайная последовательность может быть получена только при правильном выборе параметров датчика. Выбор параметров: хi+1=|aХi+С|M датчик
Его описание 0≤Х0 < М
0< a < M 0≤ C < M
Как обеспечить стойкость? Действия:
1)выбор М
2)выбор а
3)выбор С
4)выбор Х0 (условный)
5)какую часть хi использовать в качестве ri (ri – выбор из хi – младшие, старшие байты)
Мдолжно быть достаточно большим. Чем больше М, тем выше вычислительная сложность. Выбор М обычно осуществляется из
соображений вычислительной эффективности. Казалось бы наиболее эффективный выбор М=2е , где е – разрядность вычислительной машины. Но качество псевдослучайной последовательности в этом случае окажется недопустимо низким.
Выбор модуля:
1)линейные конгруэнтные методы (линейные) последовательности, т. к. хi<М,
2)длина периода не м. б. > М,
3)максимально большой период
В таких случаях просто произвести вычисления, - самый простой
в вычисление со степенью 2. Пример: М=216
MOV AX,x
MOV BX,a
MOV CX,c
MUL BX; (DX;AX):=axi <=> (ax)=|axi|M ADD AX,CX; (ax):= |ax i+c|M
MOV xi+1, ax
Также эффективные схемы могут быть реализованы при М=2е +1 и М=2е -1, следует предположить, что С = 0. Датчики с таким модулем не следует применять в схемах, использующих вычеты
348
МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
по модулю делителей М. Простое число – лучший выбор при выборе модуля.
5. Простейшие протоколы обеспечения многократной электронной цифровой подписи. Пример применения
Криптографические системы с открытыми ключами шифрования позволяют пользователям осуществлять безопасную передачу данных по незащищенному каналу без какой-либо предварительной подготовки. Такие криптосистемы должны быть ассиметричными в том смысле, что отправитель и получатель имеют различные ключи (алгоритмы), причем ни один из них не может быть выведен из другого при помощи вычислений.
Реализация ЭЦП при помощи ассиметричных криптосистем возможна, только если операторы шифрования и дешифрования коммутируют DE = ED.
Процедура шифрования на секретном алгоритме отправляющей стороны означает однозначную идентификацию управляющей стороны и называется электронно-цифровой подписью (электронной сигнатурой).
D – секретный ключ
E – публичный(открытый) ключ ГП – генерация пар М – сообщение
Использование ЭЦП приведенной в схеме предполагает производственный порядок применения процедур шифрования и расшифрования.
Практическое применение: электронные платежи Преимущества: отсутствие секретного канала Недостатки: низкое быстродействие
349