Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы и средства защиты компьютерной информации криптографические методы для защиты информации. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
561 Кб
Скачать

В этой архитектуре для подключения к сети Интернет служит пакетный фильтр, а для обеспечения различных сервисов – proxy-серверы. Причем пакетный фильтр пропускает внутрь сети лишь пакеты, адресованные proxy-серверу, а наружу передаются только пакеты, отправляемые proxy-сервером.

1.4.4. Экранированная подсеть

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

1.5. Этапы маршрутизации

Передача информации по сети через маршрутизаторы является процессом, который реализуется поэтапно. Этапы маршрутизации:

1.На маршрутизаторах запускаются специальные программы, которые называются «протоколами маршрутизации». Эти программы служат для приема и передачи маршрутной информации другим маршрутизаторам сети.

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

3.Маршрутизаторы сканируют таблицы маршрутов различных «протоколов маршрутизации», выбирают один или несколько наилучших путей.

4.Маршрутизаторы взаимодействуют при передачи трафика со следующими ближайшими устройствами, обладающими адресом канального уровня. В качестве следующего устройства может высту-

пать еще один маршрутизатор или просто удаленный узел, которому предназначен пакет.

5.Информация о пересылке – адрес канального уровня и исходящий интерфейс – помещается на маршрутизаторе в таблицу маршрутов пересылки.

6.Когда маршрутизатор принимает пакет, он анализирует заголовок пакета и выделяет адрес получателя.

11

7.Далее маршрутизатор «консультируется» с таблицей маршрутов пересылки и получает от туда сведения об исходящем интерфейсе.

8.Кроме того, маршрутизатор выполняет некоторые необходимые дополнительные функции (уменьшение значения «времени жизни» IP TTL и др.) и затем пересылает пакет на соответствующее устройство.

9.Все эти действия продолжаются, пока пакет не достигнет хоста получателя.

В настоящее время стандартом де-факто для сети Интернет является протокол граничного шлюза версии 4 BGP-4 (Border Gateway Protocol Version 4).

1.6. Способ работы протоколов маршрутизации

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

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

(link-state database).

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

1.7. Вычислительные сети. Адреса

Для однозначного определения компьютера в Интернете применяется система адресов, называемая IP-адресами. Адреса компьютеров состоят из разделенных точками четырех десятичных чисел, каждое из которых не превышает 256. Числовые адреса используются компьютерами для связи между собой.

12

В глобальной сети принято пять классов адресов, соответствующих пяти региональным регистраторам (Европа, Северная Америка, Южная Америка, Азия, Африка): A, B, C, D, E. Сети класса А определяются значением 0 самого старшего (левого) бита в адресе. Первый октет (биты 0–7) начинается с левого бита в адресе. Он определяет количество подсетей в сети, например, адрес – 124.16.0.1. Здесь 124.16.0.0 – это адрес сети, а единица в конце адреса – обозначает первый хост в этой сети.

Структура сети класса А – в старшем разряде (левый бит) записан

0– представлена на рис. 1.1.а, а сети В – определяется значением 1 и

0в старших битах адреса – на рис. 1.1.б.

 

 

0

 

 

7

 

15

 

23

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

Сеть

 

 

Сеть

 

 

 

Узел

 

 

Узел

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

. 0

1

 

7

15

23

31

1

 

0

Сеть

 

 

Сеть

 

 

 

Узел

 

Узел

 

 

 

 

 

 

Рис. 1.1. Структура адресов для сетей классов А и В

 

б)

 

 

 

 

 

 

 

 

Для более удобного использования адресов в Интернете поддерживается система имен доменов – DNS (Domen Name System), в которой каждому компьютеру наряду с IP-адресом присваивается уникальное имя.

13

2. Криптоалгоритмы. Классификация

Криптография совместно с криптоанализом (целью которого является противостояние методам криптографии) составляют комплексную науку – криптологию. В отношении криптоалгоритмов существует несколько схем классификации, каждая из которых основана на группе характерных признаков. Таким образом, один и тот же алгоритм может «проходить» сразу по нескольким схемам.

Основная схема классификации криптоалгоритмов является следующей:

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

2.Криптография с ключом. Алгоритм воздействия на передаваемые данные известен всем сторонним лицам, но он зависит от некоторого параметра – «ключа», которым обладают только отправитель и получатель. Различают симметричные и асимметричные криптоалгоритмы.

Симметричные криптоалгоритмы. Для зашифровки и расшиф-

ровки сообщения используется один и тот же блок информации (ключ)

Асимметричные криптоалгоритмы. Алгоритм метода таков, что для зашифровки сообщения используется один («открытый») ключ, известный всем желающим, а для расшифровки – другой («закрытый»), существующий только у получателя.

3. Различие криптоалгоритмов в зависимости от характера воздействий.

При перестановочных воздействиях блоки информации (байты,

биты, более крупные единицы) не изменяются сами по себе, но изменяется их порядок следования, что делает информацию недоступной стороннему наблюдателю.

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

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

14

4. В зависимости от размера блока информации:

––потоковые шифры;

––блочные шифры.

В потоковых шифрах единицей кодирования является один бит.

Схема применяется в системах передачи потоков информации. Наиболее распространенными представителями поточных шифров являются скремблеры.

Единицей кодирования в блочных шифрах является блок из нескольких байтов (в настоящее время обычно используется от 4 до 32 байтов). Схема применяется при пакетной передаче информации и кодировании файлов.

2.1. Симметричные криптоалгоритмы

2.1.1. Скремблеры

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

Суть скремблирования заключается в побитном изменении проходящего через систему потока данных. Практически единственной операцией, используемой в скремблерах, является XOR – «побитное исключающее ИЛИ», которая позволяет делать обратимые преобразования. Параллельно прохождению информационного потока в скремблере по определенному правилу генерируется поток бит – кодирующий поток. Как прямое, так и обратное шифрование осуществляется наложением по XOR кодированной последовательности на исходную информацию. На рис. 2.1 представлена матрица преобразования бит по XOR.

Бит 1

Бит 2

Результат

0

0

0

1

1

0

1

0

1

0

1

1

Рис. 2.1. Матрица преобразования по XOR

15

Генерация кодирующей последовательности бит производится по следующему алгоритму. Из текущего набора бит выбираются значения определенных разрядов и складываются по XOR между собой. Все разряды сдвигаются на 1 бит, а только что полученное значение («0» или «1») помещается в освободившийся самый младший разряд. Значение, находившееся в самом старшем разряде до сдвига, добавляется в кодируемую последовательность, становясь очередным ее битом (рис. 2.2).

 

 

 

 

0

1

 

 

 

 

 

1

0

0

1

1

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

1

1

 

 

 

 

 

Рис. 2.2. Схема скремблера

Из теории передачи данных криптография заимствовала для записи подобных схем двоичную систему записи. По ней изображенный на рисунке скремблер записывается комбинацией «10011» – единицы соответствуют разрядам, с которых «снимаются» биты для формирования обратной связи.

Декодирование заскермблированных последовательностей происходит по той же схеме, что и кодирование. Именно для этого в алгоритмах применяется результирующее кодирование по «побитному исключающему ИЛИ» – схема, однозначно восстанавливаемая при раскодировании без каких-либо дополнительных вычислительных затрат.

Главная проблема шифров на основе скремблеров – синхронизация передающего (кодирующего) и принимающего (декодирующего) устройств. При пропуске или ошибочном вставлении хотя бы одного бита вся передаваемая информация необратимо теряется. Поэтому в системах шифрования на основе скремблеров очень большое внимание уделяется методам синхронизации. На практике для этих целей обычно применяется комбинация двух методов:

1)добавление в поток информации синхронизирующих битов, заранее известных приемной стороне, что позволит ей при не нахождении такого бита активно начать поиск синхронизации с отправителем;

2)использование высокоточных генераторов временных импульсов.

16

При достаточно долгой работе скремблеров неизбежно возникает его зацикливание. По выполнении определенного количества тактов в ячейках скремблера создается комбинация бит, которая в нем уже однажды оказывалась, и с этого момента кодирующая последовательность начнет циклически повторяться с фиксированным периодом. Данная проблема не устранима по своей природе, так как в N разрядах скремблера не может пребывать более 2N комбинаций бит, и следовательно, максимум через (2N–1) циклов повтор комбинаций обязательно произойдет. Комбинация «все нули» является не приемлемой и сразу же исключается из цепочки графа состояний скремблера – она приводит скремблер к такому же положению «все нули».

Для скремблера любой разрядности N всегда существует такой выбор охватываемых обратной связью разрядов, что генерируемая ими последовательность бит будет иметь период, равный (2N1) битам. Вследствие этого, разрядность скремблера должна определяться в зависимости от длины передаваемой информации без опасения начала повторения кодирующей последовательности.

2.1.2. Блочные шифры

На сегодняшний день разработано достаточно много стойких блочных шифров. Практически все алгоритмы используют для преобразований определенный набор биективных (обратимых) математических преобразований.

Характерной особенностью блочных криптоалгоритмов является тот факт, что в ходе своей работы они производят преобразование блока входной информации фиксированной длины и получают результирующий блок того же объема, но недоступный для прочтения сторонним лицам, не владеющим ключом. Таким образом, схему работы блочного шифра можно описать функциями:

Z = EnCrypt (X, Key) и X = DeCrypt (Z, Key).

При этом ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Исходный (Х) и зашифрованный (Z) блоки данных также имеют фиксированную размерность, равную между собой, но не обязательно равную длине ключа.

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

17

теории вероятности искомый ключ будет найден с вероятностью 1/2 после перебора половины всех ключей, то на взлом идеально стойкого криптоалгоритма с ключом длины N потребуется в среднем 2N–1 проверок. Таким образом, в общем случае стойкость блочного шифра зависит только от длины ключа и возрастает экспоненциально с ее ростом. Даже предположив, что перебор ключей производится на специально созданной многопроцессорной системе, в которой благодаря диагональному параллелизму на проверку одного ключа уходит только один такт, то на взлом 128-битного ключа современной технике потребуется не менее 1021 лет.

Для получения стойкого блочного шифра Z = EnCrypt (X, Key) определены следующие условия:

1.Функция EnCrypt должна быть обратимой.

2.Не должно существовать иных методов прочтения сообщения Х по известному блоку Z, кроме как полным перебором ключей Key.

3.Не должно существовать иных методов определения, каким ключом Key было произведено преобразование известного сообщения X в сообщение Z, кроме как полным перебором ключей.

Все действия, производимые над данными блочного криптоалгоритма, основаны на том факте, что преобразуемый блок может быть представлен в виде целого неотрицательного числа из диапазона, соответствующего его разрядности. Например, 32-битный блок данных можно интерпретировать как число из диапазона 0…4 294 967 295. Кроме того, блок, разрядность которого обычно является «степенью двойки», можно трактовать как несколько независимых неотрицательных чисел из меньшего диапазона. Рассмотренный выше 32-бит- ный блок можно представить в виде двух независимых чисел из диапазона 0…65 535 или в виде четырех независимых чисел из диапазона 0…255.

Над этими числами блочным криптоалгоритмом производятся по определенной схеме действия (операции), представленные в табл. 2.1 (на графических схемах алгоритмов слева даны условные обозначения операций).

Вкачестве параметра V для любого из этих преобразований может использоваться как:

1)фиксированное число (например, Х= Х + 125);

2)число, полученное из ключа (например, Х= Х + F (Key));

3)число, получаемое из независимой части блока (например, Х=

Х2 + F(X1)).

18

2.1.3. Сеть Фейштеля

Последний вариант преобразования информации используется в схеме, названной по имени ее создателя сетью Фейштеля (нем. – Feistel). При шифровании информации происходит смешение текущей части шифруемого блока с результатом некоторой функции, вычисленной от другой части того же блока.

Таблица 2.1

Схемы блочных криптоалгоритмов

Биективные математические функции

+

 

Сложение

X= X + V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Исключающее ИЛИ

X= X XOR V

 

 

 

 

 

 

 

 

 

 

 

 

Умножение по модулю (2N + 1)

X= (X * V) mod (2N + 1)

*

 

Умножение по модулю (2N)

X= (X * V) mod (2N)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Битовые сдвиги

 

 

 

 

 

 

Арифметический сдвиг влево

X= X SHL V

 

<

<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Арифметический сдвиг вправо

X= X SHR V

 

 

> >

 

 

 

 

 

< < <

Циклический сдвиг влево

X= X ROL V

 

 

 

 

 

Циклический сдвиг вправо

X= X ROR V

 

> > >

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табличные подстановки

 

 

S

S-box (англ. substitute)

 

X= Table [X, V]

 

 

 

 

 

 

 

 

 

 

Эта система получила широкое распространение, поскольку обеспечивает выполнение требования о многократном использовании ключа и материала исходного блока информации. Табличная подстановка используется в схеме

Х= Table [X, V],

где X – исходный код;

V = F ( X1 );

Х= X2 + F ( X1 ).

19

2.2. Помехоустойчивое кодирование информации

Помехоустойчивое кодирование используется при передаче информации по каналам связи, когда могут возникнуть ошибки из-за каких либо помех. Для такого кодирования используется наиболее известный самоконтролирующий и саморегулирующий код, названный в честь американского математика Ричарда Хэмминга, предложившего его в 1950 году. Этот код относится к систематическим, в которых символы подразделяются на проверочные и информационные. Код Хэмминга состоит из двух частей. Первая часть кодирует исходное сообщение, вставляя в него в определенных местах контрольные биты (вычисленные специальным способом). Вторая часть получает входное сообщение и заново вычисляет контрольные биты ( по тому же алгоритму, что и первая часть).

Суть кода заключается в том, что к каждому кодируемому блоку добавляются служебные разряды (дополнительный код), количество которых определяется из неравенства

r + k <= 2r – 1,

где k– длина исходной информационной последовательности в битах; r – количество дополнительных (служебных) разрядов.

Тогда общая длина кода Хэмминга будет равна n = k + r. Используется следующая последовательность шифрования исход-

ной информации, разделенной на блоки битов:

1.Запись информации в кодовую таблицу.

2.Определение значения дополнительных разрядов, номера которых являются степенями числа 2 (1, 2, 4, 8) – 4 разряда и т.д.

3.Алгоритм определения ошибки и ее местонахождения.

4.Дешифровка информации.

Количество дополнительных разрядов можно определить по формулам:

r = n – k > = log2 (n + 1) или

r – k = log2 [log2 {( k + 1) + [log2 (k + 1)]}]

с округлением до ближайшего целого числа.

Каждый дополнительный бит контролирует определенные биты исходной информации. Чтобы понять, за какие биты отвечает каждый контрольный бит, необходимо принять простую закономерность: контрольный бит с номером N контролирует все последующие N бит, начиная с позиции N. Исходя из сказанного, определяются значения контрольных бит при сложении значений бит исходной информации.

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]