- •Введение
- •1. Информация как предмет защиты
- •2. Информационная безопасность
- •3. Основные угрозы информационной безопасности
- •3.1. Классификация угроз безопасности данных
- •4. Модель потенциального нарушителя
- •4.1. Типы нарушителей информационной безопасности ис
- •5. Классификация компьютерных преступлений
- •6. Личностные особенности компьютерного преступника
- •7. Принципы организации систем обеспечения безопасности данных (собд) ивс
- •7.1. Основные подсистемы, входящие в состав собд ивс
- •8. Стандарты информационной безопасности
- •8.1. Критерии оценки безопасности компьютерных систем. «Оранжевая книга» сша.
- •Основные элементы политики безопасности.
- •Произвольное управление доступом.
- •Безопасность повторного использования объектов.
- •Метки безопасности.
- •Принудительное управление доступом.
- •Классы безопасности.
- •Требования к политике безопасности.
- •Произвольное управление доступом:
- •Повторное использование объектов:
- •Метки безопасности:
- •Целостность меток безопасности:
- •Принудительное управление доступом:
- •Требования к подотчетности. Идентификация и аутентификация:
- •Предоставление надежного пути:
- •Требования к гарантированности. Архитектура системы:
- •Верификация спецификаций архитектуры:
- •Конфигурационное управление:
- •Тестовая документация:
- •Описание архитектуры:
- •8.2. Европейские критерии безопасности информационных технологий
- •8.3. Руководящие документы Гостехкомиссии России.
- •8.4. Общие критерии безопасности информационных технологий
- •9. Методы и средства защиты данных
- •9.1. Основные методы защиты данных
- •9.2. Классификация средств защиты данных
- •9.3. Формальные средства защиты
- •9.4. Физические средства защиты
- •9.5. Аппаратные средства защиты
- •9.5.1. Отказоустойчивые дисковые массивы
- •9.5.2. Источники бесперебойного питания
- •9.6.Криптографические методы и средства защиты данных
- •Классификация криптографических методов преобразования информации
- •9.7. Методы шифрования
- •9.7.1. Методы замены
- •9.7.2. Методы перестановки
- •9.7.3. Методы аналитических преобразований
- •9.7.4. Комбинированные методы
- •9.7.5. Стандарт сша на шифрование данных (des)
- •Функция перестановки и выбора последовательности в
- •Функции сдвига Si
- •9.7.6. Отечественный стандарт на шифрование данных
- •9.8. Системы шифрации с открытым ключом
- •9.8.1. Алгоритм rsa
- •9.8.2. Криптосистема Эль-Гамаля
- •9.8.3. Криптосистемы на основе эллиптических уравнений
- •9.9. Электронная цифровая подпись
- •9.10. Методы кодирования
- •9.11. Другие методы шифрования
- •10. Стеганография
- •11. Защита программ от несанкционированного копирования
- •11.1. Методы, затрудняющие считывание скопированной информации
- •11.2. Методы, препятствующие использованию скопированной информации
- •11.3. Основные функции средств защиты от копирования
- •11.4. Основные методы защиты от копирования
- •11.4.1. Криптографические методы
- •11.4.2. Метод привязки к идентификатору
- •11.4.3. Методы, основанные на работе с переходами и стеком
- •11.4.4. Манипуляции с кодом программы
- •11.5. Методы противодействия динамическим способам снятия защиты программ от копирования
- •12. Защита информации от несанкционированного доступа
- •12.1. Аутентификация пользователей на основе паролей и модели «рукопожатия»
- •12.2. Аутентификация пользователей по их биометрическим характеристикам, клавиатурному подчерку и росписи мыши
- •12.3. Программно-аппаратная защита информации от локального несанкционированного доступа
- •12.4. Аутентификация пользователей при удаленном доступе
- •13. Защита информации в компьютерных сетях
- •Пакетные фильтры.
- •Сервера прикладного уровня.
- •Сервера уровня соединения.
- •Сравнительные характеристики пакетных фильтров и серверов прикладного уровня.
- •Схемы подключения.
- •Администрирование.
- •Системы сбора статистики и предупреждения об атаке
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
9.7.4. Комбинированные методы
Наиболее часто применяются такие комбинации, как подстановка и гамма, перестановка и гамма, подстановка и перестановка, гамма и гамма.
Примером может служить шифр Френдберга, который комбинирует многоалфавитную подстановку с генератором псевдослучайных чисел, суть алгоритма поясняется следующей схемой:
1) установление начального состояния генератора псевдослучайных чисел;
2) установление начального списка подстановки;
3) все символы открытого текста зашифрованы?
4) если да - конец работы, если нет -продолжить;
5) осуществление замены;
6) генерация случайного числа;
7) перестановка местами знаков в списке замены;
8) переход на шаг 4.
Особенность данного алгоритма состоит в том, что при большом объеме шифртекста частотные характеристики символов шифртекста близки к равномерному распределению независимо от содержания открытого текста.
Пример 16.
Открытый текст: «АБРАКАДАБРА».
Используем одноалфавитную замену согласно таблице
А Б Д К Р
X V N R S
Последовательность чисел, вырабатываемая датчиком: 31412543125.
1. у1=Х. После перестановки символов исходного алфавита получаем таблицу(h1=3).
Д Б А К Р
X V N R S
2. у2=V. Таблица замены после перестановки (h2=1) принимает вид:
Б Д А К Р
X V N R S
Осуществляя дальнейшие преобразования в соответствии с алгоритмом Френдберга, получаем шифртекст: «XVSNSXXSSSN».
Одной из разновидностей метода гаммирования является наиболее часто применяемый метод многократного наложения гамм.
При составлении комбинированных шифров необходимо проявлять осторожность, так как неправильный выбор составлявших шифров может привести к исходному открытому тексту. Простейшим примером служит наложение одной гаммы дважды.
9.7.5. Стандарт сша на шифрование данных (des)
Одним из наиболее распространенных криптографических стандартов на шифрование данных, применяемых в США, является DЕS (Dаtа Еnсгtурtion Stаndаrt). Первоначально метод, лежащий в основе данного стандарта, был разработан фирмой IВМ для своих целей. Он был проверен Агентством Национальной Безопасности США, которое не обнаружило в нем статистических или математических изъянов. Это означало, что дешифрация данных, защищенных с помощью DЕS, не могла быть выполнена статистическими (например, с помощью частотного словаря) или математическими («прокручивание» в обратном направлении) методами.
После этого метод фирмы IВМ был принят в качестве федерального стандарта. Стандарт DЕS используется федеральными департаментами и агентствами для защиты всех достаточно важных данных в ЭВМ (исключая некоторые данные, методы защиты которых определяются специальными актами). Его применяют многие негосударственные институты, в том числе большинство банков и служб обращения денег. Оговоренный в стандарте алгоритм криптографической защиты данных опубликован для того, чтобы большинство пользователей могли использовать проверенный и апробированный алгоритм с хорошей криптостойкостью. Заметим, что, одной стороны, публикация алгоритма нежелательна, поскольку может привести к дешифрации закрытой информации. Но, с другой стороны, это не столь существенно (если стандарт сильный) по сравнению со слабыми методами защиты данных, используемыми государственными институтами. Иначе говоря, потери от публикации алгоритма криптографической защиты намного меньше, чем потеря от применения методов защиты с низкой криптостойкостью. Разумеется, стандартный алгоритм шифрования данных должен обладать такими характеристиками, чтобы его опубликование не сказалось на криптостойкости.
В качестве примера использования стандарта DЕS рассмотрим алгоритм для шифрования и расшифровывания данных разрядностью 64 бита на основе 64-битового ключа. Расшифровывание выполняется по тому же ключу, что и шифрование, но этот процесс является инверсным по отношению к процессу зашифровывания данных.
При описании алгоритма шифрования используются следующие обозначения. Если L и R - последовательности бит, то через LR будем обозначать конкатенацию последовательностей L и R, т.е. последовательность бит, размерность которой равна сумме размерностей L и R. В этой последовательности биты последовательности R следуют за битами последовательности L. Конкатенация битовых строк является ассоциативной, т.е. запись ABCDE обозначает, что за битами последовательности А следуют биты последовательности В, затем С и т.д. Процесс шифрования данных поясняется рис. 11. Сначала 64 бита входной последовательности перестанавливаются в соответствии с табл. 10. Таким образом, бит 58 входной последовательности становится битом 1; бит 59 – битом 2 и т.д.
Таблица 10
Начальная перестановка |
|||||||
58 |
50 |
42 |
34 |
26 |
18 |
10 |
2 |
60 |
52 |
44 |
36 |
28 |
20 |
12 |
4 |
62 |
54 |
46 |
38 |
30 |
22 |
14 |
6 |
64 |
56 |
48 |
40 |
32 |
24 |
16 |
8 |
57 |
49 |
41 |
33 |
25 |
17 |
9 |
1 |
59 |
51 |
43 |
35 |
27 |
19 |
11 |
3 |
61 |
53 |
45 |
37 |
29 |
21 |
13 |
5 |
63 |
55 |
47 |
39 |
31 |
23 |
15 |
7 |
Полученная последовательность бит разделяется на две последовательности: L0 (левые, или старшие биты) и R0 (правые, или младшие биты), каждая из которых содержит 32 бита.
Рис. 11. Процесс шифрования данных
Затем выполняется итеративный процесс шифрования, который описывается следующими формулами:
Li= Ri-1, i = 1, 2, …, 16;
Ri = Li-1 f(Ri-1, Ki), i = 1, 2, ... ,16.
Функция f называется функцией шифрования. Ее аргументами являются последовательность R, полученная на предыдущем шаге итерации, и 48-битовый ключ Кi, который является результатом функции преобразования 64-битового ключа шифра. Подробно функция шифрования и алгоритм получения ключа описаны ниже.
На последнем шаге итерации будут получены последовательности L16 и R16, которые конкатенируются в 64-битовую последовательность R16L16. Видно, что в полученной последовательности 64 бита переставляются в соответствии с табл. 11. Данная перестановка является обратной по отношению к первоначальной (табл. 10).
Полученная последовательность из 64 бит и будет являться зашифрованной входной последовательностью. Процесс расшифровывания данных является инверсным по отношению к процессу шифрования, Все действия должны быть выполнены в обратном порядке. Это означает, что расшифровываемые данные сначала представляются в соответствии с таблицей 2.2, а затем над последовательностью бит R16L16 выполняются те же действия, что и в процессе зашифровывания, но в обратном порядке. Итеративный процесс расшифровывания может быть описан следующими формулами:
Ri-1 = Li-1, i = 1, 2, ... ,16;
Li-1 = Ri X f(Li, Ki), i = 1, 2, ... ,16.
На последнем шаге итерации будут получены последовательности L0 и R0, которые конкатенируются в 64-битовую последовательность L0R0. В полученной последовательности 64 бита представляются я соответствии с таблицей 2.1. Результат такого преобразования – исходная последовательность бит (расшифрованное 64-битовое значение).
Таблица 11
Конечная перестановка |
|||||||
40 |
8 |
48 |
16 |
56 |
24 |
64 |
32 |
39 |
7 |
47 |
15 |
55 |
23 |
63 |
31 |
38 |
6 |
46 |
14 |
54 |
22 |
62 |
30 |
37 |
5 |
45 |
13 |
53 |
21 |
61 |
29 |
36 |
4 |
44 |
12 |
52 |
20 |
60 |
28 |
35 |
3 |
43 |
11 |
51 |
19 |
59 |
27 |
34 |
2 |
42 |
10 |
50 |
18 |
58 |
26 |
33 |
1 |
41 |
9 |
49 |
17 |
57 |
25 |
Функция шифрования f(R,K) схематически показана на рис. 12. Для вычисления значения функции f используется функция E (расширение 32 бит до 48), функции S1, S2, ..., S8 (преобразование 6-битового числа в 4-битовые) и функция P (перестановка бит в 32-битовой последовательности). Приведем определения этих функций. Аргументами функций шифрования являются R (32 бита) и К (48 бит). Результат функции Е(R) есть 48-битовое число, которое складывается по модулю 2 с числом К. Таким образом, получается 48-битовая последовательность, которая рассматривается как конкатенация 8 строк длиной по 6 бит (т.е. В1В2В3В4В5В6В7В8). Результат функции Si(Вi) – 4-битовая последовательность, которую будем обозначать Li. В результате конкатенации всех 8 полученных последовательностей и имеем 32-битовую последовательность L=L1L2L3L4L5L6L7L8. Наконец, для получения результата функции шифрования надо переставить биты последовательности L. Для этого применяется функция перестановки P(L).
Функция расширения E, выполняющая расширение 32 бит до 48, определяется таблицей 12. В соответствии с этой таблицей первые три бита Е(R) – это биты 32, 1, и 2, а последние – 31, 32 и 1.
Таблица 12
Функция расширения Е |
|||||
32 |
1 |
2 |
3 |
4 |
5 |
4 |
5 |
6 |
7 |
8 |
9 |
8 |
9 |
10 |
11 |
12 |
13 |
12 |
13 |
14 |
15 |
16 |
17 |
16 |
17 |
18 |
19 |
20 |
21 |
20 |
21 |
22 |
23 |
24 |
25 |
24 |
25 |
26 |
27 |
28 |
29 |
28 |
29 |
30 |
31 |
32 |
1 |
Функция Si, которая преобразует 6-битовые числа в 4-битовые, определяется таблицей 13.
К табл. 13 требуются дополнительные пояснения. Каждая из функций Si(В) преобразует 6-битовый вход в 4-битовый выход по следующему алгоритму:
первый и последний биты входной последовательности В определяют номер строки k;
второй, третий, четвертый и пятый биты последовательности В задают номер колонки l;
результат преобразования выбирается из k и колонки l.
Например, перепишем определение функции S1 в виде табл. 14.
Предположим, что В=011011. Тогда S1(В)=0101. Действительно, k=1, l=13. В колонке 13 строки 1 задано значение 5, которое и является значением функции S1(011011).
Функция перестановки бит Р(L), также используемая для определения функции шифрования, задается значениями, приведенными в табл. 15. В последовательности L 32 бита переставляются так, чтобы бит 16 стал первым битом, бит 7-вторым и т.д.
Таблица 13
Функции преобразования Si.
S1 |
|||||||||||||||
14 |
4 |
13 |
1 |
2 |
15 |
11 |
8 |
3 |
10 |
6 |
12 |
5 |
9 |
0 |
7 |
0 |
15 |
7 |
4 |
14 |
2 |
13 |
1 |
10 |
6 |
12 |
11 |
9 |
5 |
3 |
8 |
4 |
1 |
14 |
8 |
13 |
6 |
2 |
11 |
15 |
12 |
9 |
7 |
3 |
10 |
5 |
0 |
15 |
12 |
8 |
2 |
4 |
9 |
1 |
7 |
5 |
11 |
3 |
14 |
10 |
0 |
6 |
13 |
S2 |
|||||||||||||||
15 |
1 |
8 |
14 |
6 |
11 |
3 |
4 |
9 |
7 |
2 |
13 |
12 |
0 |
5 |
10 |
3 |
13 |
4 |
7 |
15 |
2 |
8 |
14 |
12 |
0 |
1 |
10 |
6 |
9 |
11 |
5 |
0 |
14 |
7 |
11 |
10 |
4 |
13 |
1 |
5 |
8 |
12 |
6 |
9 |
3 |
2 |
15 |
13 |
8 |
10 |
1 |
3 |
15 |
4 |
2 |
11 |
6 |
7 |
12 |
0 |
5 |
14 |
9 |
S3 |
|||||||||||||||
10 |
0 |
9 |
14 |
6 |
3 |
15 |
5 |
1 |
13 |
12 |
7 |
11 |
4 |
2 |
8 |
13 |
7 |
0 |
9 |
3 |
4 |
6 |
10 |
2 |
8 |
5 |
14 |
12 |
11 |
15 |
1 |
13 |
6 |
4 |
9 |
8 |
15 |
3 |
0 |
11 |
1 |
2 |
12 |
5 |
10 |
14 |
7 |
1 |
10 |
13 |
0 |
6 |
9 |
8 |
7 |
4 |
15 |
14 |
3 |
11 |
5 |
2 |
12 |
S4 |
|||||||||||||||
7 |
13 |
14 |
3 |
0 |
6 |
9 |
10 |
1 |
2 |
8 |
5 |
11 |
12 |
4 |
15 |
13 |
8 |
11 |
5 |
6 |
15 |
0 |
3 |
4 |
7 |
2 |
12 |
1 |
10 |
14 |
9 |
10 |
6 |
9 |
0 |
12 |
11 |
7 |
13 |
15 |
1 |
3 |
14 |
5 |
2 |
8 |
4 |
3 |
15 |
0 |
6 |
10 |
1 |
13 |
8 |
9 |
4 |
5 |
11 |
12 |
7 |
2 |
14 |
S5 |
|||||||||||||||
2 |
12 |
4 |
1 |
7 |
10 |
11 |
6 |
8 |
5 |
3 |
15 |
13 |
0 |
14 |
9 |
14 |
11 |
2 |
12 |
4 |
7 |
13 |
1 |
5 |
0 |
15 |
10 |
3 |
9 |
8 |
6 |
4 |
2 |
1 |
11 |
10 |
13 |
7 |
8 |
15 |
9 |
12 |
5 |
6 |
3 |
0 |
14 |
11 |
8 |
12 |
7 |
1 |
14 |
2 |
13 |
6 |
15 |
0 |
9 |
10 |
4 |
5 |
3 |
S6 |
|||||||||||||||
12 |
1 |
10 |
15 |
9 |
2 |
6 |
8 |
0 |
13 |
3 |
4 |
14 |
7 |
5 |
11 |
10 |
15 |
4 |
2 |
7 |
12 |
9 |
5 |
6 |
1 |
13 |
14 |
0 |
11 |
3 |
8 |
9 |
14 |
15 |
5 |
2 |
8 |
12 |
3 |
7 |
0 |
4 |
10- |
1 |
13 |
11 |
6 |
4 |
3 |
2 |
12 |
9 |
5 |
15 |
10 |
11 |
14 |
1 |
7 |
6 |
0 |
8 |
13 |
S7 |
|||||||||||||||
4 |
11 |
2 |
14 |
15 |
0 |
8 |
13 |
3 |
12 |
9 |
7 |
5 |
10 |
6 |
1 |
13 |
0 |
11 |
7 |
4 |
9 |
1 |
10 |
14 |
3 |
5 |
12 |
2 |
15 |
8 |
6 |
1 |
4 |
11 |
13 |
12 |
3 |
7 |
14 |
10 |
15 |
6 |
8 |
0 |
5 |
9 |
2 |
6 |
11 |
13 |
8 |
1 |
4 |
10 |
7 |
9 |
5 |
0 |
15 |
14 |
2 |
3 |
12 |
S8 |
|||||||||||||||
13 |
2 |
8 |
4 |
6 |
15 |
11 |
1 |
10 |
9 |
3 |
14 |
5 |
0 |
12 |
7 |
1 |
15 |
13 |
8 |
10 |
3 |
7 |
4 |
12 |
5 |
6 |
11 |
0 |
14 |
9 |
2 |
7 |
11 |
4 |
1 |
9 |
12 |
14 |
2 |
0 |
6 |
10 |
13 |
15 |
3 |
5 |
8 |
2 |
1 |
14 |
7 |
4 |
10 |
8 |
13 |
15 |
12 |
9 |
0 |
3 |
5 |
6 |
11 |
Таблица 14
Функция преобразования S1
Строка |
Колонка |
|||||||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
0 |
14 |
4 |
13 |
1 |
2 |
15 |
11 |
8 |
3 |
10 |
6 |
12 |
5 |
9 |
0 |
7 |
1 |
0 |
15 |
7 |
4 |
14 |
2 |
13 |
1 |
10 |
6 |
12 |
11 |
9 |
5 |
3 |
8 |
2 |
4 |
1 |
14 |
8 |
13 |
6 |
2 |
11 |
15 |
12 |
9 |
7 |
3 |
10 |
5 |
0 |
3 |
15 |
12 |
8 |
2 |
4 |
9 |
1 |
7 |
5 |
11 |
3 |
14 |
10 |
0 |
6 |
13 |
Таблица 15
Функция перестановки Р |
|||
16 |
7 |
20 |
21 |
29 |
12 |
28 |
17 |
1 |
15 |
23 |
26 |
5 |
18 |
31 |
10 |
2 |
8 |
24 |
14 |
32 |
27 |
3 |
9 |
19 |
13 |
30 |
6 |
22 |
11 |
4 |
25 |
Чтобы завершить описание алгоритма шифрования данных, осталось привести алгоритм получения ключей Ki, i=1,2. ...,16 размерностью в 48 бит. Ключи Кi определяются по 64-битовому ключу шифра, как это показано на рис. 13.
Вначале над ключом шифра выполняется операция В, которая сводится к выбору определенных бит и их перестановке, как это показано в табл. 16. Причем, первые четыре строки определяют, как выбираются биты последовательности С0 (первым битом С0 будет бит 57 ключа шифра, затем бит 49 и т.д., а последними битами – биты 44 и 36 ключа), а следующие четыре строки – как выбираются биты последовательности D0 (т.е. последовательность D0 будет состоять из битов 63, 55, ..., 12, 4 ключа шифра).
Таблица 16