Смекни!
smekni.com

Защита информации от несанкционированного доступа (стр. 1 из 4)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

на тему: "Защита информации от несанкционированного доступа"

по курсу "Кодирование и защита

информации"

2004


АННОТАЦИЯ

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

СОДЕРЖАНИЕ

АННОТАЦИЯ

ВВЕДЕНИЕ

1 Постановка задачи

2 Основные понятия

3 Выбор методов шифрования

4 Программная реализация

Общее описание

Дополнительные модули

5 Руководство пользователя

ЗАКЛЮЧЕНИЕ

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

ПРИЛОЖЕНИЕ А


Введение

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


1. Постановка задачи

Необходимо разработать программу для шифрования и расшифровывания файлов на основе настроек пользователя. Для шифрования использовать ГОСТ 28147-89. Разработать удобный интерфейс общения с пользователем. Поставить программу на платформу Windows, что обеспечит ее расширение, дополнение и удобство использования.


2. Основные понятия

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

- хранение на съемном носителе;

- ограничение доступа к системе;

- хранение в зашифрованном виде;

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

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

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

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

Гамма шифра – это некоторая псевдослучайная последовательность заданной длины, используемая для шифрования.

Гаммирование – процес наложения гаммы шифра на открытые данные.

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

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

Шифрование – зашифровывание и (или) расшифровывание.

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

Имитозащита – защита от ложной информации. Осуществляется по собственным алгоритмам, с помощью выработки имитовставки.

Имитовставка – последовательность данных определенной длины, полученных специальными методами гаммирования из открытых исходных данных. Содержимое имитовставки является эталоном для проверки всей остальной информации.


3. Выбор методов шифрования

Для шифрования информации в программу встроены следующие алгоритмы:

- ГОСТ 28147-89 - стандарт шифрования Российской Федерации. В программе используется два режима кодирования – режим простой замены и режим гаммирования. Данные кодируются по 64 бита (8 байт) с помощью 256-битного (32-байтного) ключа.

- Два простых метода, вложенных как пример построения модулей для программы. Кодирование по 64 бит, ключ – 64 бит.

Программа может быть дополнена алгоритмами кодирования, т.е. рекомпилирована с дополнительными модулями. В дальнейших версиях предполагается создание модульных расширений (plug-in) для программы, которые будут содержать дополнительные алгоритмы криптографических преобразований.

Рассмотрим подробнее алгоритм криптографического преобразования ГОСТ 28147-89. Ключ состоит из восьми 32-битных элементов, рассматриваемых как беззнаковые целые числа. Таким образом, ключ составляет 256 бит или 32 байта. При шифровании используется таблица замен, являющейся матрицей 8х16, содержащей 4-битовые элементы (числа от 0 до 15). Основной шаг криптопреобразования – оператор, определяющий преобразование 64-битового блока. Дополнительным параметром этого оператора является 32-битный блок, в качестве которого используется какой – либо элемент ключа.


Алгоритм основного шага криптопреобразования

Рисунок 3.1 Схема основного шага криптопреобразования алгоритма ГОСТ 28147-89.

Шаг 0. Определяет исходные данные для основного шага криптопреобразования: N –преобразуемый 64-битовый блок данных, в ходе выполнения шага его младшая (N1) и старшая (N2) части обрабатываются как отдельные 32-битовые целые числа без знака. Таким образом, можно записать N=(N1,N2). X – 32-битовый элемент ключа;

Шаг 1. Сложение с ключом. Младшая половина преобразуемого блока складывается по модулю 232 с используемым на шаге элементом ключа, результат передается на следующий шаг;

Шаг 2. Поблочная замена. 32-битовое значение, полученное на предыдущем шаге, интерпретируется как массив из восьми 4-битовых блоков кода: S=(S0,S1,S2,S3,S4,S5,S6,S7). Далее значение каждого из восьми блоков заменяется на новое, которое выбирается по таблице замен следующим образом: значение блока Si заменяется на Si-тый по порядку элемент (нумерация с нуля) i-того узла замен (т.е. i-той строки таблицы замен, нумерация также с нуля). Другими словами, в качестве замены для значения блока выбирается элемент из таблицы замен с номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4-битового целого неотрицательного числа.

Шаг 3. Циклический сдвиг на 11 бит влево. Результат предыдущего шага сдвигается циклически на 11 бит в сторону старших разрядов и передается на следующий шаг. На схеме алгоритма символом 11 обозначена функция циклического сдвига своего аргумента на 11 бит в сторону старших разрядов.

Шаг 4. Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю 2 со старшей половиной преобразуемого блока.

Шаг 5. Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.

Шаг 6. Полученное значение преобразуемого блока возвращается как результат выполнения алгоритма основного шага криптопреобразования.

Базовые циклы:

- цикл выработки имитовставки (0123456701234567)

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

- цикл зашифрования (01234567012345670123456776543210)

- цикл расшифрования (01234567765432107654321076543210)

следования которых приведен выше. Для циклов шифрования левая и правая половины блока меняются местами, для цикла выработки имитовставки – нет.

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

Рис. 4. Алгоритм зашифрования (расшифрования) данных в режиме гаммирования.

Режим простой замены – наиболее простой. Блоки данных по 64 бит проходят базовый цикл зашифрования (расшифрования). Результат – зашифрованная (расшифрованная информация). При таком режиме блоки независимы.


Режим гаммирования – чтобы блоки информации были зависимы друг от друга используется рекуррентный генератор последовательности чисел, который инициализируется синхропосылкой, прошедшей цикл зашифрования. Схема алгоритма шифрования в режиме гаммирования приведена на рисунке 3.2, ниже изложены пояснения к схеме:

Шаг 0. Определяет исходные данные для основного шага криптопреобразования: Tо(ш) – массив открытых (зашифрованных) данных произвольного размера, подвергаемый процедуре зашифрования (расшифрования), по ходу процедуры массив подвергается преобразованию порциями по 64 бита; S – синхропосылка, 64-битный элемент данных, необходимый для инициализации генератора гаммы;

Шаг 1. Начальное преобразование синхропосылки, выполняемое для ее «рандомизации», то есть для устранения статистических закономерностей, присутствующих в ней, результат используется как начальное заполнение РГПЧ;

Шаг 2. Один шаг работы РГПЧ, реализующий его рекуррентный алгоритм. В ходе данного шага старшая (S1) и младшая (S0) части последовательности данных вырабатываются независимо друг от друга;