Обеспечение компьютерной безопасности

Ознакомление с проблемами компьютерной безопасности. Способы перечисления угроз. Изучение моделей секретности. Идентификация и аутентификация, реализация подсистемы аудита Windows 2000. Основные понятия криптологии. Шифр Ривеста-Шамира-Алдемана.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 10.05.2015
Размер файла 148,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Возможности Filemon:

отображает следующую информацию о запросах к файловой системе:

- имя процесса, отправившего запрос;

- имя файла, к которому производиться обращение;

- тип запроса (чтение, запись…);

- время отправки запроса или продолжительность обработки;

- результат выполнения запроса.

Возможности Regmon:

отображает следующую информацию о запросах к файловой системе:

- имя процесса;

- имя ключа;

- значения которыми производиться обращение;

- тип запроса;

- результат.

Наша система Melkoskop:

Её можно установить на различные компьютеры и сегменты сети, она выполняет следующие задачи:

- настройка параметров программного обеспечения на сервере системы;

- задания в режиме обучения или администрирования правил безопасного поведения прикладного программного на сервере системы;

- разрешения запуска на клиентских станциях ограниченного множества прикладных программ;

- сбор данных на клиентских станциях;

- анализ безопасности в зависимости от заданных правил;

- реакция на нарушение ограничения;

- хранение результатов на сервере системы.

Melkoskop относится к динамическим средствам отладки.

6.3 Сканеры уязвимостей

Сканеры уязвимостей - это программа, которая обнаруживает уязвимости удаленной или локальной системы.

Две стратегии: пассивное и активное сканирование.

Пассивное сканирование - рассматриваются программы и настройки, реализующие политику безопасности системы.

Активное сканирование - выполнение типовых сценариев атак и анализа реакции системы на них.

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

Наиболее распространен сканер уязвимости- Nessus.

Характеризуется:

1) имеет расширяемую структуру за счет встраивания внешних модулей тестирования;

2) наличие языка описания тестов-Nasl;

3) постоянно обновляемая база данных уязвимостей;

4) архитектура клиент-сервер;

5) одновременное тестирование неограниченного числа хостов;

6) четкое распознавание сетевых сервисов;

7) интенсивное тестирование уязвимостей и удобная форма отчета.

Язык Nasl используется для описания атак, тестирующих уязвимости в компьютерной системе.

Особенности языка:

- синтаксис похож на синтаксис С;

- переносимость;

- могут использоваться как в Windows, так и в Unix;

- поддержка стандарта СVE;

- на основе сканера Nessus и языка Nasl, разработаны сценарии, имитирующие атаки на систему.

7. Атаки и вторжения

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

Атаку рассматривают с точки зрения нарушителя и жертвы.

С точки зрения нарушителя:

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

С точки зрения жертвы:

что случилоському и в каком размере нанесен ущербкак был нанесен ущербкто нарушителькогда, как и почему состоялось нарушение?

По отношению: нарушитель - атакуемый объект атаки:

1) один к одному (1 1);

2) 1 ко многим(1многие);

3) цепочка( транзитивная связь) ;

4) многие к одному;

5) многие ко многим.

Вторжение- нарушение безопасности, состоящее из одной или нескольких атак. В качестве примера сценария вторжения:

1) нарушитель составляет базу данных IP-адресов, которую он может просканировать;

2) с помощью программы NMap определяются операционная система и хост с условиями уязвимости; при этом достаточно хотя бы одной уязвимости, которой сумеет воспользоваться автоматизированная система нарушителя;

3) производиться атака с дальнейшим нанесением ущерба.

7.1 Идентификация вторжений

Сложность идентификации зависит от квалификации нарушителя. Общим подходом к обнаружению является:

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

2) исследование аномального трафика в сети;

3) детальный анализ вторжения; При этом необходимо обращать внимание на следующие компоненты:

- целостность программного обеспечения, используемого для обнаружения нарушителя. Целостность критична для безопасности системы, программ и данных;

- операции в системе и сетевой трафик.

Windows для обнаружения вторжения проводит следующие проверки:

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

2) проверить наличие "странных" учетных записей пользователей или групп;

3) проверить членство в группах;

4) просмотреть корректность привилегий пользователя. Существует 27 привилегий, которые могут быть присвоены пользователю или группе;

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

- проверить каталог StartUp.Каталог проверяется как для конкретного пользователя так и для группы;

- проверить реестр;

- проверить необходимость запущенных серверов, троянские программы иногда регистрируются как серверные, которые стартуют при запуске системы;

- проверить системные файлы, сравнить с резервной начальной копией;

- рекомендуют использовать проверку на базе контрольной суммы;

6) проверить системную и сетевую конфигурацию на нахождение троянских программ;

7) проверить разделяемые объекты системы с Net Share;

8) проверить программы запускаемые планировщиком заданий, не являются ли они программами нарушителя;

9) проверить запущенные процессы;

10) проверить скрытые файлы и страничные файлы, назначение которых не понятно;

11) проверить все измененные права доступа для файлов и ключей реестра;

12) проверить изменения в политике безопасности;

13) проверить не был ли переопределен домен, т.к. нарушитель может попытаться получить права администратора домена.

7.2 Метод анализа динамики развития атак. Система Авгур

Реализует следующие сценарии развития атаки:

1) сбор информации (нарушитель собирает информацию об атакуемой системе);

2) атака (нарушитель начинает атаку на систему, используя типовые уязвимости);

3) консолидация (с использованием атаки нарушитель проник в систему и начинает на основе скомпрометированного хоста этап консолидации - распространение атаки (вторжение).

Система Авгур использует два алгоритма:

- алгоритм исследования динамики развития атаки;

- алгоритм поиска аномалий.

В соответствии с типовыми сценариями вторжения определяются уязвимости, анализируются состояния хостов.

8. Криптографические методы

8.1 Элементы теории чисел

1) Целые числа А и В сравнимы по модулю, если выполняется условие:

А=В+кn;

А=В(mod n);

Пример:

2=8(mod 2),

9=27(mod 3).

2) Наибольший общий делитель (НОД):

(56,98) НОД=14, оба значения делятся на 14 без остатка;

3) Простым числом называется целое число, которое делится без остатка только на 1 и на само себя.

Числа называются взаимопростыми, если их НОД равен 1:

НОД (а,b)=1;

Целое число Y называется мультипликативным обратным целому числу Х, если имеем:

ХУ {mod n}=1.

8.2 Основные понятия криптологии

Открытым текстом-plainttext-называется информация, которая понятна любому объекту.

Под шифрованием понимается процесс преобразования открытого текста в шифр-текст (ciphertext) или криптограмму с целью сделать его содержание непонятным для посторонних лиц:

C=EK(P),

где C - шифр-текст, Е - функция шифрования, К - ключ шифрования, Р - открытый текст.

Под расшифрованием понимается обратный процесс:

Р=DK'(C),

где к' - ключ для расшифрования.

Совокупность реализуемых Е и D алгоритмов, множество всевозможных ключей, множество возможных открытых текстов и шифр-текстов принято называть криптосистемой.

Если при шифровании и расшифровании используются одни и те же ключи (к=к'), то криптосистема называется симметричной. В этом случае ключ является секретным.

Если при шифровании и расшифровании используются различные ключи, то такую криптосистему называют ассиметричной. В этом случае один из ключей должен быть секретным(secret key), а второй - открытым (public key).Такую систему называют криптосистемой с открытым ключом.

Наука о защите информации с помощью шифрования называют криптографией.

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

- минимальным объемом шифр-текста, статическим анализом которого можно его вскрыть и получить открытый текст без знания ключа;

- Mips- часов или mips-лет, т.е. временем работы условного криптоаналитического компьютера , производительностью 1 млн. операций в сек, необходимым для вскрытия шифр-текста или по числу комбинаций, которые может предоставить данный шифр-текст.

Выбор криптосистемы основан на следующем принципе:

- ценность конфиденциальной информации должна быть ниже стоимости вскрытия его шифра нарушителем

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

В операционной системе используется хеширование:

- процесс преобразования исходного текста произвольной длины в хеш значение или другие значения хеш: дайджест или образ.

Хеширование отвечает следующим требованиям:

1. постоянство длины хеш значений, независимо от длины исходного текста:

для любого текста М длина хешированного текста постоянная;

М lenght (H(M))=const

2. полная определенность для двух одинаковых исходных текстов должно получаться одно и тоже хеш значение;

М1,М2 Н(М1) = Н(М2)

3. необратимость, невозможность восстановления исходного текста по хеш значению;

¬ Е Н-1 (Н(М))=М

4. стойкость ко взлому: практическая невозможность подбора исходного текста для известного хеш значения;

¬ Е М' ?М Н(М')=H( М)

Хеширование при обеспечении информационной безопасности используется:

- при защите парольной или иной идентифицирующей пользователя информации;

- создание дайджеста файла или электронного сообщения применяемого в системе электронной цифровой подписи.

8.3 Способы создания симметричных криптосистем

К основным способам симметричного шифрования относятся:

- перестановка;

- подстановка;

- гаммирование.

1) При использовании перестановки - биты или символы открытого текста переставляются в соответствии с заданным ключом шифрования или правилом:

j, 1? i ?n, Ci =PK[i]

Pi, i=1,n - открытый текст;

n- длина открытого текста;

Сi - шифр-текст;

Кi - ключи шифрования.

При расшифровании используется обратная перестановка:

j, 1? i ?n, PK[i]= Ci.

При шифровании должно выполняться для ключей следующее правило:

кi c к , 1? к ?n

кi, кj c к, кj = кi

2) При подстановке -

Р-связной (длина n=7)

Рк(i)- к={4,2,1,7,6,3,5}

С= имеем код: ЗВСЙОЯН

Если длина ключа меньше, чем длина текста, текст разбивается на блоки длиной = длине ключа. И текст записывается в таблицу с числом столбцов равной длине ключа, а числом строк равной наименьшему целому числу не меньше чем:

n/m,

где n-длина текста, m-длина ключа:

Связной прилетает в пятницу

n=27, ключ = {3,5,4,2,1} m=5

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

Достоинства перестановки:

- высокая скорость получения шифр-текста;

К недостаткам:

- сохранение частотных характеристик открытого текста;

- малое число возможных ключей шифрования.

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

i, 1? i ?n, Ci =Pi+к(mod m)

1?к?m

a cA

Ai+k=ai+k

m- мощность алфавита (количество символов в алфавите).

Недостатки одноалфавитного шифрования:

- не скрывается частота появления различных символов шифр-текста и малое число возможных ключей.

Достоинства многоалфавитного шифрования:

- маскируется частота появления различных символов, потому частотный словарь при взломе не используется.

3) Гаммирование лежит в основе потоковых шифров, в которых открытый текст преобразуется в шифр-текст последовательно по 1 биту.

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

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

RC4 - может использовать ключ переменной длины

SEAL - предназначен для обработки потоковой информации

8.4 Идеальный шифр

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

1. ключ шифрования должен выражаться случайным образом. В частности один и тот же ключ должен применяться для шифрования;

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

3. генерация случайной последовательности образует псевдослучайные последовательности и потому снижает криптостойкость.

9. Криптографическая система DES и ее модификация

Алгоритм DES до 2001 являлся общим стандартом США по защите информации, не относящейся к государственной тайне. Алгоритм допускает программную и аппаратную реализацию.

Пусть K - ключ шифрования, длина 64 бита, из которых 8 битов контрольных.

IP -длина перестановки битов в тексте P, длиной 64 бита.

IP- обратная перестановка к IP.

LR - левая и правая часть полублоков открытого текста P.

K- внутренний ключ шифрования i раунда длиной 48 бит.

f - функция шифрования на вход, которой поступает блок 32 бита и выходит блок тоже 32 бита.

С - сформированный блок шифрования

1. идет разбиение на 2 блока левый и правый согласно перестановки P.

LR= IP(P)

2. организуется сеть Фейстела с числом раундов 16.

3. затем определяется шифр

С= IP(LR),

аргументами функции шифрования является R и K.

Алгоритм выполнения функции f

1. Расширение R до 48 бит путем копирования крайних элементов из 8 четырех битных подблоков исходного R;

2. Вычисляется R;

3. Выполнение блока подстановки в котором каждый из 8 шестнадцати битных подблоков R используется для выбора строки и столбцы, соответствующие номеру подблока матрицы элементов со значениями от 0 до 15.

На выходе блока подстановки получается текст 2 бита;

4. Выполнение блока перестановки или блока проволочной коммутации.

Алгоритм выбора ключа

Функция ключа шифрования KS

K= К(I, K)

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

K'= CD

2. Дальше осуществляется подблоковой сдвиг Kи C независящий от команды раунда i число разрядов. Получается C и D- блоки преобразования.

3. Делается конечная перестановка C, D для получения 48 битного K.

Для расшифрования операция производится в обратном порядке. В алгоритме блоков DES используют 4 режима:

1. режим электронной почтовой книги.

Каждый блок отрытого текста зашифрован независимо от других блоков;

2. режим сцепления блоков шифра

Каждый блок открытого текста перед шифрованием складывается по mod2 с предыдущим шифром блока текста, а первый блок с вектором инициализации, синхропосылкой;

i 1in

C= E(PC) C=IV

3. Режим обратной связи по шифр-тексту

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

4. режим обратной связи по выходу

Используется регистр замены и вектор инициализации. После шифрования блока в регистре замены и сдвига вытесняемая часть замещает свободную область регистра и одновременно складывается по mod2 с очередной порцией отрытого текста. Для повышения криптостойкости алгоритма DES используют модификации 3-DES, DESX. В 3-DES к одному тому же блоку отрытого текста функция шифрования применяется 3 раза с тремя разными ключами K, K, K.

С= EK(Dk(E K(P)))

P = D K( EK(DK(C)))

К недостаткам 3-DES относят снижение производительности в три раза.

Этого недостатка лишен алгоритм DESX. В О.С. Windows доступ к шифрованному алгоритму DES возможен с помощью функции криптографического интерфейса Crypto API.

9.1 Криптографическая система ГОСТ 28.147-89

С 1989 года с этого алгоритма снят гриф секретности. Используется ключ шифрования 256 бит, который рассматривается как массив из 38 битных элементов K, K, K..К.

Дополнительных элементов является таблица замена h, представляет собой матрицу из 8 строк и 16 столбцов.

Каждая строка таблицы должна содержать 16 различных чисел. Общий замер таблицы составляет 512 бит. Алгоритм основной функции шифрования f представляется следующими операциями.

N - преобразуемой блок в 64 байта

K - один из ключей шифрования, 32 бита.

N - разбивается на блока на 2 блока в 32 бита.

N = N¦N

Вычисляемая матрица S = N+K (mod2)

S= S, S, …S(8 элементов по 4 бита)

Для всех i= 0..7

S= H[i,S]

Циклический сдвиг S, который состоит из 8 бит на 11 элементов влево.

S =SN

N=N, N=S

Для отрытого текста P=f(P,K) j= 0..7

P=P¦P

P- P- взаимная пересылка

Число раундов 32. Алгоритм расшифрования

C =f(C, K)

N = C¦C

C- C

Эта криптосистема может использоваться в трех основных и одном дополнительном.

1. В режиме простой замены, который соответствует режиму простой электронной книге режима DES.

2. Режим гаммирования в котором используется дополнительный параметр синхропосылки S= SS. Этот режим похож на режим обратной связи по выходу алгоритма DES.

3. Режим по выходу с обратной связью

Используют дополнительную синхропосылку. Похож на режим обратной связи по синхротексту DES.

4. Режим генерации и метовставки

Используется с одним из основных режимов и предназначен для подлинности шифр-текста.

J = 0..7

P=f(P, K)

S= EI(SP)

S=0

EI- функция реализации алгоритма выработки и метовставки.

Таким образом, для вскрытия шифр-текста необходимо решить z задачи:

· Вычисляется, не зная ключа шифрования, значения и метовставки,

· Подобрать открытый текст под данное значение и метовставки.

10. Шифр Ривеста-Шамира-Алдемана

Первой и наиболее известной криптографической системой с открытым ключом была предложенная в 1978 году так называемая система RSA.Ее название происходит от первых букв фамилий авторов Rivest, Shamir и Aldeman, которые придумали ее во время совместных исследований в Массачусетском технологическом институте в 1977 году. Она основана на трудности разложения очень больших целых чисел на простые сомножители.

Алгоритм ее работает так:

1. Пользователь выбирает два очень больших простых числа Р и Q и вычисляет два произведения

N=PQ и M=(P-1)(Q-1).

2. Затем он выбирает случайное целое число D,взаимно простое с М, и вычисляет Е, удовлетворяющее условию

DE = 1 MOD M.

3. После этого он публикует D и N как свой открытый ключ шифрования, сохраняя Е как закрытый ключ.

4. Если S -- сообщение, длина которого, определяемая по значению выражаемого им целого числа, должна быть в интервале (1.N), то оно превращается в шифровку возведением в степень D по модулю N и отправляется получателю

S'=SD MOD N.

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

S = S'E MOD N = SDE MOD N.

Таким образом, открытым ключом служит пара чисел N и D, а секретным ключом число Е.Смысл этой системы шифрования становится прозрачным, если упомянуть про малую теорему Ферма, которая утверждает, что при простом числе Р и любом целом числе К, которое меньше Р, справедливо тождество Кр"1=1 MOD P. Эта теорема позволяет определять, является ли какое-либо число простым или же составным.

Приведем простой пример на малых простых числах Р=211 и Q=223. В этом случае N=47053 и М=46620. Выберем открытый ключ шифрования D=16813 и вычислим секретный ключ расшифровывания Е= 19837. Теперь, взяв за сообщение название метода RSA, переведем его в число. Для этого будем считать букву R равной 18, S равной 19, А равной 1 по порядковому номеру их положения в английском алфавите. На представление каждой буквы отведем по 5 бит числа, представляющего открытый текст. В этом случае слову RSA соответствует следующее число:

S=((1-32)+19) -32+18-1650.

С помощью открытого ключа получаем шифровку:

S'=SD MOD N=165016813 MOD47053=3071.

Получатель расшифровывает ее с помощью секретного ключа:

S = S'E MOD N=307119837 MOD 47053=1650.

Криптостойкость системы RSA основана на том, что М не может быть просто вычислена без знания простых сомножителей Р и Q, а нахождение этих сомножителей из N считалась трудно разрешимой задачей. Однако недавние работы по разложению больших чисел на сомножители показали, что для этого могут быть использованы разные и даже совершенно неожиданные средства. Сначала авторы RSA предлагали выбрать простые числа Р и Q случайно, по 50 десятичных знаков каждое. Считалось, что такие большие числа очень трудно разложить на простые сомножители при криптоанализе. Райвест полагал, что разложение на простые множители числа из почти что 130 десятичных цифр, приведенного в их публикации, потребует более 40 квадриллионов лет машинного времени. Но математики Ленстра из фирмы Bellcore и Манасси из фирмы DEC разложили число из 155 десятичных цифр на простые сомножители всего за 6 недель, соединив для этого 1000 ЭВМ, находящихся в разных странах мира. Выбранное число, называемое девятым числом Ферма, с 1983 года находилось в списке чисел, разложение которых считалось наиболее желательным. Это число взято потому, что оно считалось неразложимым при существующей вычислительной технике и достаточно большим для того, чтобы его можно считать безопасным для формирования N в RSA. Как заявил Ленстра, ведущий в Bellcore исследования по электронной защите информации и разложению больших чисел, их целью было показать разработчикам и пользователям криптографических систем, с какими угрозами они могут встретиться и насколько осторожны должны быть при выборе алгоритмов шифрования. По мнению Ленстра и Манасси, их работа компрометирует и создает большую угрозу применениям криптографических систем RSA.

Следует учесть, что работа по совершенствованию методов и техники разложения больших чисел только началась и будет продолжена. Те же Ленстра и Манасси в 1991 году нашли делитель тринадцатого числа Ферма, которое состоит примерно из 2500 десятичных разрядов. Теперь разработчикам криптографических алгоритмов с открытым ключом на базе RSA приходится, как чумы избегать применения разложимых чисел длиной менее 200 десятичных разрядов. Самые последние публикации предлагают для этого применять числа в 250 и даже 300 десятичных разрядов. А так как для шифрования каждого блока информации приходится соответствующее число возводить в колоссально большую степень по модулю N, то для современных компьютеров это задача на грани возможного. Поэтому для практической реализации шифрования RSA радиоэлектроники начали разрабатывать специальные процессоры, которые позволили бы выполнять операции RSA достаточно быстро. Лучшими из серийно выпускаемых кристаллов являются процессоры фирмы CYLINK, которые позволяют выполнять возведение в степень целого числа из 307 десятичных знаков за доли секунды.

10.1 Шифр ЭльГамаля

Криптографы постоянно вели поиски более эффективных систем открытого шифрования, и в 1985 году ЭльГамаль предложил следующую схему на основе возведения в степень по модулю большого простого числа. Для этого задается большое простое число Р. Сообщения представляются целыми числами S из интервала (1, Р). Оригинальный протокол передачи сообщения S выглядит в варианте Шамира, одного из авторов RSA, так:

1. Отправитель А и получатель В знают лишь Р. А генерирует случайное число X из интервала(1 ,Р) и В тоже генерирует случайное число Y из того же интервала.

2. А шифрует сообщение Si=Sx MOD P и посылает В.

3. В шифрует его своим ключом 82=8/ MOD P и посылает 82 к А.

4. А "снимает" свой ключ S3=S2 x MOD P и возвращает 83 к В.

5. Получатель В расшифровывает сообщение: S=S3"Y MOD P.

Этот протокол можно применить, например, для таких неожиданных целей, как игра в очко или блэкджек по телефону. Крупье шифрует карты своим ключом и передает их игроку. Игрок выбирает наугад одну из карт, шифрует карты своим ключом и возвращает их крупье. Крупье "снимает" с выбранной карты свой ключ и отсылает ее игроку. "Сняв" с этой карты свой ключ игрок узнает ее номинал и принимает решение: спасовать, тянуть еще или раскрываться. Теперь, хотя колода находится у крупье, но он не может ее раскрыть, так как карты зашифрованы ключом игрока. Крупье выбирает свою карту аналогично игроку. В системе ЭльГамаля большая степень защиты, чем у алгоритма RSA достигается с тем же по размеру N, что позволяет почти на порядок увеличить скорость шифрования и расшифрования. Криптостойкость системы ЭльГамаля основана на том, что можно легко вычислить степень целого числа, то есть произвести умножение его самого на себя любое число раз так же, как и при операциях с обычными числами. Однако трудно найти показатель степени, в которую нужно возвести заданное число, чтобы получить другое, тоже заданное. В общем случае эта задача дискретного логарифмирования кажется более трудной, чем разложение больших чисел на простые сомножители, на основании чего можно предположить, что сложности вскрытия систем RSA и ЭльГамаля будут сходными. С точки зрения практической реализации, как программным, так и аппаратным способом ощутимой разницы между этими двумя стандартами нет. Однако в криптостойкости они заметно различаются. Если рассматривать задачу разложения произвольного целого числа длиной в 512 бит на простые множители и задачу логарифмирования целых чисел по 512 бит, вторая задача, по оценкам математиков, несравненно сложнее первой. Однако есть одна особенность. Если в системе, построенной с помощью алгоритма RSA, криптоаналитику удалось разложить открытый ключ N одного из абонентов на два простых числа, то возможность злоупотреблений ограничивается только этим конкретным пользователем. В случае же системы, построенной с помощью алгоритма ЭльГамаля, угрозе раскрытия подвергнутся все абоненты криптографической сети.

Кроме того, упомянутые выше Ленстра и Манасси не только поколебали стойкость RSA, разложив девятое число Ферма на простые множители за неприлично короткое время, но и, как было замечено некоторыми экспертами, указали "брешь" в способе ЭльГамаля. Дело в том, что подход, применявшийся при разложении на множители девятого числа Ферма, позволяет существенно усовершенствовать методы дискретного логарифмирования для отдельных специальных простых чисел. То есть тот, кто предлагает простое Р для алгоритма ЭльГамаля, имеет возможность выбрать специальное простое, для которого задача дискретного логарифмирования будет вполне по силам обычным ЭВМ. Следует заметить, что этот недостаток алгоритма ЭльГамаля не фатален. Достаточно предусмотреть процедуру, гарантирующую случайность выбора простого Р в этой системе, и тогда только что высказанное возражение теряет силу. Стоит отметить, что чисел специального вида, ослабляющих метод ЭльГамаля, очень мало и случайным их выбором можно пренебречь.

10.2 Открытое распределение ключей

Пока преимущества методов шифрования с открытым ключом не были очевидны. Однако на их основе легко решать задачу выработки общего секретного ключа для сеанса связи любой пары пользователей информационной системы. Еще в 1976 году Диффи и Хеллман предложили для этого протокол открытого распределения ключей. Он подразумевает независимое генерирование каждым из пары связывающихся пользователей своего случайного числа, преобразование его посредством некоторой процедуры, обмен преобразованными числами по открытому каналу связи и вычисление общего секретного ключа на основе информации, полученной в процессе связи от партнера. Каждый такой ключ существует только в течение одного сеанса связи или даже части его. Таким образом, открытое распределение ключей позволяет каждой паре пользователей системы самим выработать свой общий секретный ключ, упрощая тем процедуру распределения секретных ключей. Хотя все не так просто -- отсутствие у абонентов перед сеансом связи заблаговременно распределенного общего секретного ключа в принципе не дает им возможности удостовериться в подлинности друг друга при помощи обмена сообщениями по открытому каналу. Например, пересылать ключи можно и по описанному выше алгоритму ЭльГамаля в модификации Шамира, но как убедиться в том, что имеешь дело с партнером, а не перехватчиком? Для подтверждения подлинности каждый из участников секретной сети все же должен иметь собственный секретный ключ, известный только ему и отличающий его от всех других абонентов. В этом случае алгоритмом Диффи--Хеллмана будет обеспечена такая процедура предъявления пароля, что его многократное использование не снижало надежности доказательства подлинности владельца. В результате две функции общего секретного ключа, обычно доставляемого по секретному каналу, как защита информации в канале связи от третьей стороны и подтверждение подлинности каждого из абонентов партнеру, разделяются.

Алгоритм открытого распределения ключей Диффи--Хеллмана выглядит так:

1. Пусть имеются два абонента открытой сети А и В, знающие пару открытых ключей Р и D. Кроме того, у А есть секретный ключ X из интервала (1, N), а у В есть секретный ключ Y из того же интервала.

2. Абонент А посылает В шифровку своего ключа Z'=DX MOD Р, а абонент В посылает А шифровку своего ключа Z"=DY MOD P.

3. После этого общий ключ Z они вычисляют как Z=Z'Y =Z"X.

При помощи специальных приемов время формирования общего ключа в системе Диффи--Хеллмана может быть сокращено в 5 раз по сравнению с системой ЭльГамаля в модификации Шамира, и в 30 раз по сравнению с RSA при том же уровне стойкости. Это, с точки зрения большинства практических приложений, оказывается заметным преимуществом, так как шифрование и расшифровывание по алгоритму RSA примерно в, тысячу раз медленнее классических алгоритмов типа DES. Отметим, что для многих применений криптографических систем с открытым ключом время вычислений при криптографических преобразованиях не имеет большого значения. Например, при идентификации пользователей по кредитным карточкам не будет разницы потребует ли она одну микросекунду или одну секунду. То же относится и к выбору общего ключа шифрования для другой, более быстродействующей, но не обладающей способностью обмена ключами криптографической системы.

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

10.3 Цифровая подпись

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

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

Другое приложение цифровая подпись находит при снабжении абонентов криптографической информационной сети ключами. Простейший способ выделить группу пользователей сети -- снабдить их общим секретным ключом. Недостатком такого подхода является то, что компрометация пароля у одного из членов группы ведет к краху всей системы подтверждения подлинности. Простейший вариант усиления системы -- снабжение пользователей индивидуальными секретными паролями. Однако при таком варианте возникает проблема надежного хранения большого количества секретных паролей, а это приемлемо лишь для крупных абонентских пунктов. К тому же пользователи не могут непосредственно представляться друг другу, минуя центр. Чтобы обеспечить возможность непосредственного представления пользователей друг другу, процедура проверки пароля должна быть общедоступной. В то же время алгоритм должен быть устроен так, чтобы подделать пароль на основании известной процедуры проверки было невозможно. Для использования цифровых подписей при обмене ключами требуется общедоступный каталог секретной сети, где хранятся процедуры проверки подписи всех абонентов. Для системы RSA этот каталог содержит имена--идентификаторы абонентов ID с парой чисел (N, D). Для системы ЭльГамаля в каталоге против каждого имени ID записываются простое число Р и целые числа N и Y. Подлинность каталога с подписями может быть обеспечена путем подписывания каждой записи в каталоге или всего каталога сразу центром и выдачей в таком виде их абоненту. При установлении связи абоненты обмениваются этими подписанными сообщениями и на этом основании проверяют полномочия друг друга: просят партнера подписать случайное сообщение. Для системы ЭльГамаля общий объем ключевой информации в сети может быть сокращен за счет использования всеми одних и тех же чисел Р и N. Для системы RSA общим можно сделать только число N, а числа D должны быть у всех различными. Из-за перестановочности операции умножения в алгоритме RSA не имеет значения, будет ли опубликовано D или Е, для него функции шифрования и расшифровывания одинаковы. Это позволяет реализовать процедуру получения цифровой подписи сменой Е и D. Если отправитель хочет, чтобы получатели его сообщений могли удостовериться, что эти сообщения действительно исходят от него, то он посылает шифровку S' вместе с подписью R, вычисленной как:

S = RE MOD N

Для разрешения споров между отправителем и получателем информации, связанных с возможностью искажения ключа проверки подписи [S1, R], достоверная копия этого ключа выдается третьей стороне арбитру и применяется им при возникновении конфликта. Каждый может расшифровать сообщение S', но так как ключ Е известен только отправителю, то никто другой кроме него не мог бы послать шифрованное сообщение или подтвердить подпись как:

S = RD MOD N

Для того чтобы обеспечить подобную процедуру подтверждения подлинности отправителя сообщения, ЭльГамаль предложил следующий простой протокол:

1. Отправитель А и получатель В знают Р и случайное число N из интервала (1,Р). А генерирует случайные числа- X и Y из того же интервала. X нужно хранить в секрете, a Y должно быть взаимно простым с Р-1.

2. Далее А вычисляет Q=NX MOD Р и R=NY MOD P, решает относительно S уравнение

T=X-R+Y-S MOD (P-1)

и передает В документ с подписью [Q, R, S, Т].

3. Получатель проверяет подпись, контролируя тождество As =B -RT MOD P.

В этой системе секретным ключом для подписывания сообщений является число X, а открытым ключом для проверки достоверности подписи число Q.Особенностью этих протоколов, как нетрудно видеть, является наличие у абонента секретного ключа, служащего цифровой подписью идентификатора, который не позволяет абоненту самому сменить свой идентификатор или выработать подпись для другого идентификатора, а также то, что он предъявляет контролеру не сам секретный элемент, а некоторое значение функции, вычисляемое с помощью декретного ключа из случайного запроса, тем самым доказывая, что обладает секретом, путем его косвенной демонстрации при вычислениях. Именно отсюда происходит рассматриваемое ниже название "доказательство при нулевом знании", то есть абонент доказывает, что обладает секретом, на раскрывая самого секрета.

10.4 Доказательство при нулевом знании

На основании описанных алгоритмов шифрования, распределения ключей и электронной подписи можно организовывать более сложные протоколы взаимодействия пользователей криптографической сети, реализующие подтверждение подлинности и доказательство при нулевом знании. Так называемые системы "доказательства при нулевом знании" не являются собственно криптографическими системами. Они служат для передачи сообщений типа "Я знаю эту информацию" без раскрытия самого сообщения. Общая идея этих протоколов заключается в том, что обладатель секретного ключа доказывает, что он может вычислять некоторую функцию, зависящую как от секретного ключа, так и аргументов, задаваемых проверяющим. Проверяющий, даже зная эти аргументы, не может по данному ему значению функции восстановить секретный ключ. При этом функция должна быть такой, чтобы проверяющий мог удостовериться в правильности ее вычисления, например, представляла цифровую подпись выбранных им аргументов. Действие такой системы рассмотрим на приведенном ниже алгоритме, где подтверждение подлинности при использовании алгоритма RSA организовано следующим образом:

1. Доказывающий А и контролер В оба знают идентификатор I и открытый ключ (N, Е), но А кроме того знает еще секретное число S=ID MOD N, сформированное по секретному ключуD. Сначала А генерирует случайное число X и вычисляет

Y=XE MOD N.

Затем он отсылает [I, Y] к В.

2. После этого В генерирует и передает А случайное число V.

3. Затем А вычисляет и передает В число

W=X-YV MOD N.

4. Контролер В проверяет принадлежность идентификатора I к А, контролируя тождество

WE =Y·IV MOD P.

Случайный запрос обычно представлен вектором, координаты которого принимают значения О или 1, но он может быть любым вектором, координаты которого вычисляются по модулю числа Е.

Литература

1. Мельников В.П.: Информационная безопасность и защита информации. - М.: Академия, 2011 под ред. проф. В.В. Трофимова: Информационные технологии в экономике и управлении. - М.: Юрайт, 2011

2. Мельников В.П.: Информационная безопасность и защита информации. - М.: Академия, 2011 под ред. С.Я. Казанцева; рец.: Р.З. Матиев, Г.Е. Корчагин: Информационные технологии в юриспруденции. - М.: Академия, 2011

3. Ю.А. Белевская и др.; рец.: В.И. Шаров, А.С. Овчинский; под общ. ред. А.П. Фисуна и др.; М-во образования и науки РФ, Гос. ун-т учебно-научно-производственный комплекс, Орловский гос. ун-т: Правовые основы информационной безопасности. - Орел: ГУ-УНПК: ОГУ, 2011

4. Ю.А. Белевская и др.; рец.: В.И. Шаров, А.С. Овчинский ; под общ. ред. А.П. Фисуна и др.; М-во образования и науки РФ, Гос. ун-т учебно-научно-производственный комплекс, Орловский гос. ун-т: Правовые основы информационной безопасности. - Орел: ГУ-УНПК: ОГУ, 2011

5. Акперов И.Г.: Казначейская система исполнения бюджета в Российской Федерации. - М.: КНОРУС, 2010

6. Б.В. Соболь и др.; рец.: Каф. "Информационные системы в строительстве" РГСУ, А.В. Аграновский: Информатика. - Ростов н/Д: Феникс, 2010

7. Бардаев Э.А.: Документоведение. - М.: Академия, 2010

8. Гашков С.Б.: Криптографические методы защиты информации. - М.: Академия, 2010

9. Корнеев И.К.: Защита информации в офисе. - М.: Проспект, 2010

10. Л.К. Бабенко и др.: Защита данных геоинформационных систем. - М.: Гелиос АРВ, 2010

11. Степанова Е.Е.: Информационное обеспечение управленческой деятельности. - М.: ФОРУМ, 2010

12. Фуфаев Д.Э.: Разработка и эксплуатация автоматизированных информационных систем. - М.: Академия, 2010

13. Владимиров С.Н.: Нелинейно-динамическая криптология; Радиофизические и оптические системы. - М.: ФИЗМАТЛИТ, 2009

14. Грушо А.А.: Теоретические основы компьютерной безопасности. - М.: Академия, 2009

15. Иванов М.А. и др.; Под ред. И.Ю. Жукова: Стохастические методы и средства защиты информации в компьютерных системах и сетях. - М.: КУДИЦ-ПРЕСС, 2009

16. Саак А.Э.: Информационные технологии управления. - СПб.: Питер, 2009

17. Алешин Л.И.: Информационные технологии. - М.: Литера, 2008

18. Бабенко Л.К.: Алгоритмы "распределенных согласований" для оценки вычислительной стойкости криптоалгоритмов. - М.: ЛКИ, 2008

19. Балашов А.И.: Правоведение. - СПб.: Питер, 2008

20. Городов О.А.: Информационное право. - М.: Проспект, 2008

21. Краковский Ю.М.: Информационная безопасность и защита информации. - М.; Ростов н/Д: МарТ, 2008

22. Логинов В.Н.: Информационные технологии управления. - М.: КноРус, 2008

23. Московская международная высшая школа бизнеса "МИРБИС"; под ред. Ю.Д. Романовой; [рец.: В.М. Артющенко, В.Ф. Макаров]: Информатика и информационные технологии. - М.: ЭКСМО, 2008

24. Под ред. Г.А. Титоренко; Рец.: Каф. экономических информационных систем и информационных технологий Московского ун-та статистики, экономики, информатики, В.П. Жидаков: Информационные системы в экономике. - М.: ЮНИТИ-ДАНА, 2008

25. Под ред. чл.-корр. Академии криптографии РФ, проф. А.А. Стрельцова: Организационно-правовое обеспечение информационной безопасности. - М.: Академия, 2008

26. Родичев Ю.А.: Информационная безопасность: нормативно-правовые аспекты. - СПб.: Питер, 2008

27. Родичев Ю.А.: Информационная безопасность: нормативно-правовые аспекты. - СПб.: Питер, 2008

28. Саак А.Э.: Информационные технологии управления. - СПб.: Питер, 2008

29. Ломазов В.А.: Информационные технологии в управлении. - Белгород: БелГУ, 2007

Размещено на Allbest.ru


Подобные документы

  • Центр обеспечения безопасности (Windows Security Center) в операционной системе Windows XP SP2 и угрозы компьютерной безопасности. Обеспечение безопасности хранения данных в ОС Microsoft. Алгоритм создания отказоустойчивых томов для хранения данных.

    курсовая работа [507,1 K], добавлен 13.11.2011

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

    курсовая работа [318,8 K], добавлен 23.10.2009

  • Основные способы криптографии, история ее развития. Принцип шифрования заменой символов, полиалфавитной подстановкой и методом перестановки. Симметричный алгоритм шифрования (DES). Открытое распределение ключей. Шифры Ривеста-Шамира-Алдемана и Эль Гамаля.

    реферат [39,3 K], добавлен 22.11.2013

  • Политика безопасности и ее анализ в локальной компьютерной сети организации ООО "Корпорация Дилижанс". Обеспечение конфиденциальности данных в ходе их хранения, обработки, при передаче по ЛВС. Создание новой политики беспроводных сетей для Windows Vista.

    отчет по практике [1,6 M], добавлен 12.09.2012

  • Анализ угроз информационной безопасности. Понятия и функции сети VPN. Способы создания защищенных виртуальных каналов. Построение защищенных сетей на сеансовом уровне. Туннелирование на канальном уровне. Идентификация и аутентификация пользователей.

    дипломная работа [3,6 M], добавлен 17.08.2014

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

    курсовая работа [269,7 K], добавлен 28.05.2013

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

    презентация [223,8 K], добавлен 11.04.2018

  • Задачи подсистемы безопасности операционной системы Microsoft Windows. Предохранение систем ОС Windows от проникновения вредоносных программ, изоляцию этих программ в случае вторжения. Минимизация ущерба при заражении. Центр обеспечения безопасности.

    презентация [1,2 M], добавлен 20.12.2013

  • Основы защиты компьютерной информации: основные понятия и определения. Классификация угроз безопасности информации. Формы и источники атак на объекты информационных систем. Анализ угроз и каналов утечки информации. Анализ рисков и управление ими.

    курс лекций [60,3 K], добавлен 31.10.2009

  • Классификация программного обеспечения. Операционные системы и их функции. Служебные приложения Windows. Средства обеспечения компьютерной безопасности. Программы проверки и обслуживания диска Windows. Классификация служебных программных средств.

    реферат [50,5 K], добавлен 23.06.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.