Криптография и безопасность цифровых систем
Покупка
Авторы:
Грибунин Вадим Геннадьевич, Мартынов Александр Петрович, Николаев Дмитрий Борисович, Фомченко Виктор Николаевич
Год издания: 2017
Кол-во страниц: 411
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Кадры высшей квалификации
Артикул: 680388.01.99
Доступ онлайн
В корзину
В книге рассмотрены вопросы построения блочных и поточных алгоритмов преоб-
разования информации, методы защиты ее целостности и подлинности, а также прото-
колы и методики, обеспечивающие безопасность данных в вычислительных сетях раз-
личного назначения. Особое место уделено проблемной области развития безопасных
сетей – распространению ключевых параметров. Подробно рассмотрены практические
подходы к построению инфраструктуры открытых ключей PKI. B настоящее время PKI
активно развертываются не только на уровне крупных компаний, но и на общегосудар-
ственном уровне. Рассмотренные вопросы в совокупности представляют собой новое
направление в сетевой криптографии, получившее название – виртуальные частные
сети VPN. Применение этой основанной на криптографии технологии позволяет строить
механизмы, обеспечивающие конфиденциальность и целостность передаваемой инфор-
мации в корпоративных сетях и при соединении нескольких сетей через Internet.
В основу книги положены материалы лекций, прочитанных авторами в НИЯУ
МИФИ, и учебно-методические пособия, разработанные авторами или при их непосред-
ственном участии на кафедре «Радиофизика и электроника» по курсам «Основы крипто-
графии» и «Криптография и специальные исследования». Изложение вопросов предпо-
лагает математическую подготовку читателей. Книга предназначена для студентов,
аспирантов и преподавателей соответствующих специальностей. Она может быть ис-
пользована инженерно-техническими и научными работниками, занимающимися разра-
боткой и применением вычислительных и радиоэлектронных систем и систем их за-
щиты, а также специалистами в области защиты информации.
Тематика:
ББК:
УДК:
ОКСО:
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
ФГУП «Российский федеральный ядерный центр – Всероссийский научно-исследовательский институт экспериментальной физики» В. Г. Грибунин, А. П. Мартынов, Д. Б. Николаев, В. Н. Фомченко КРИПТОГРАФИЯ И БЕЗОПАСНОСТЬ ЦИФРОВЫХ СИСТЕМ Учебное пособие Под редакцией доктора технических наук, профессора, заслуженного деятеля науки РФ А. И. Астайкина Саров 2011
УДК 004.056 ББК 32.973 К82 Грибунин В. Г., Мартынов А. П., Николаев Д. Б., Фомченко В. Н. Криптография и безопасность цифровых систем: Учебное пособие / Под ред. А. И. Астайкина. Саров: ФГУП «РФЯЦ-ВНИИЭФ», 2011, 411 с. ISBN 978-5-9515-0166-0 В книге рассмотрены вопросы построения блочных и поточных алгоритмов преоб разования информации, методы защиты ее целостности и подлинности, а также протоколы и методики, обеспечивающие безопасность данных в вычислительных сетях различного назначения. Особое место уделено проблемной области развития безопасных сетей – распространению ключевых параметров. Подробно рассмотрены практические подходы к построению инфраструктуры открытых ключей PKI. B настоящее время PKI активно развертываются не только на уровне крупных компаний, но и на общегосударственном уровне. Рассмотренные вопросы в совокупности представляют собой новое направление в сетевой криптографии, получившее название – виртуальные частные сети VPN. Применение этой основанной на криптографии технологии позволяет строить механизмы, обеспечивающие конфиденциальность и целостность передаваемой информации в корпоративных сетях и при соединении нескольких сетей через Internet. В основу книги положены материалы лекций, прочитанных авторами в НИЯУ МИФИ, и учебно-методические пособия, разработанные авторами или при их непосредственном участии на кафедре «Радиофизика и электроника» по курсам «Основы криптографии» и «Криптография и специальные исследования». Изложение вопросов предполагает математическую подготовку читателей. Книга предназначена для студентов, аспирантов и преподавателей соответствующих специальностей. Она может быть использована инженерно-техническими и научными работниками, занимающимися разработкой и применением вычислительных и радиоэлектронных систем и систем их защиты, а также специалистами в области защиты информации. ISBN 978-5-9515-0166-0 © ФГУП «РФЯЦ-ВНИИЭФ», 2011
Содержание 3 СОДЕРЖАНИЕ Список условных обозначений, сокращений и терминов . . . . . . . . . . . . . . . . . . . 9 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Часть первая. ШИФРОВАНИЕ, ЦЕЛОСТНОСТЬ, АУТЕНТИФИКАЦИЯ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1. Алгоритмы шифрования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.1. Блочные симметричные алгоритмы шифрования . . . . . . . . . . . . . . . . 14 1.1.1. Принципы построения блочных алгоритмов . . . . . . . . . . . . . . . 14 1.1.2. Режимы работы блочных шифров . . . . . . . . . . . . . . . . . . . . . . . . 17 1.1.3. Алгоритм AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.1.4. Статистическое тестирование блочных криптоалгоритмов . . . 25 1.2. Асимметричные алгоритмы шифрования . . . . . . . . . . . . . . . . . . . . . . . 29 1.2.1. Общие принципы построения асимметричных алгоритмов . . . 29 1.2.2. RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.2.3. Протокол согласования ключей Диффи – Хеллмана . . . . . . . . 34 1.2.4. Сравнение асимметричных и симметричных криптосистем . . 35 1.3. Поточные шифры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.3.1. Общие принципы построения поточных шифров . . . . . . . . . . . 36 1.3.2. Самосинхронизирующиеся поточные шифры . . . . . . . . . . . . . . 38 1.3.3. Российский шифр – АВС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 1.3.4. Конкурс eSTREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.3.5. Построение псевдослучайных генераторов случайных чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.3.6. Методы тестирования поточных шифров и генераторов случайных чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 1.3.7. Аппаратные генераторы случайных чисел . . . . . . . . . . . . . . . . . 51 2. Методы защиты целостности данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.1. Криптографические методы контроля целостности . . . . . . . . . . . . . . 53 2.2. Защита целостности данных на основе CRC-кодов . . . . . . . . . . . . . . 56 2.3. Имитозащита на основе криптографических бесключевых хэш-функций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.3.1. Свойства хэш-функций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.3.2. Хэш-функция MD5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.3.3. Хэш-функция SHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.3.4. Хэш-функция ГОСТ 34.11-94 . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.4. Функции хэширования с ключом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Содержание 4 2.4.1. Функции хэширования на основе блочных алгоритмов шифрования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.4.2. Алгоритм HMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.5. Защита целостности и аутентификация отправителя на основе ЭЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.5.1. Понятие об ЭЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.5.2. Схема подписи RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 2.5.3. Схема подписи Эль-Гамаля . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 2.5.4. ГОСТ 34.10-2001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 2.5.5. О стойкости ЭЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3. Аутентификация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.1. Основные понятия аутентификации . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.2. Основные типы механизмов аутентификации . . . . . . . . . . . . . . . . . . . 83 3.3. Парольная аутентификация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.3.1. Многоразовые пароли . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.3.2. Атаки на парольную систему защиты и методы защиты . . . . . 89 3.3.3. Одноразовые пароли . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.4. Механизмы типа запрос-ответ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.4.1. Запрос-ответ с использованием симметричных алгоритмов шифрования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.4.2. Запрос-ответ с использованием асимметричных алгоритмов шифрования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.5. Идентификация и механизмы подтверждения подлинности пользователя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.6. Взаимная проверка подлинности пользователей . . . . . . . . . . . . . . . . 103 Часть вторая. ПРОТОКОЛЫ АУТЕНТИФИКАЦИИ И ШИФРОВАНИЯ В ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНЫХ СЕТЯХ . . 107 4. Защита на канальном уровне . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.1. Протокол канального уровня L2F . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.1.1. Формат протокола . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.2. Протокол канального уровня L2TP . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.2.1. Формат протокола . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.2.2. Протокольные операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.2.3. Соображения безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5. Защита на сетевом уровне . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.1. Протокол сетевого уровня IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.1.1. Архитектура защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.1.2. Аутентифицирующий заголовок AH . . . . . . . . . . . . . . . . . . . . 128 5.1.3. Инкапсуляция зашифрованных данных ESP . . . . . . . . . . . . . . 129 5.1.4. Алгоритмы аутентификации и шифрования IPSec . . . . . . . . . 131 5.1.5. Установление безопасных ассоциаций . . . . . . . . . . . . . . . . . . . 133
Содержание 5 5.1.6. База данных политики безопасности (SPD) . . . . . . . . . . . . . . . 135 5.1.7. База данных безопасных ассоциаций (SAD) . . . . . . . . . . . . . . . 136 5.1.8. Атаки на AH, ESP и IKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.2. Протокол сетевого уровня SKIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.2.1. Принципы функционирования и формат протокола . . . . . . . . 140 6. Защита на транспортном уровне . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.1. Протокол транспортного уровня PPTP . . . . . . . . . . . . . . . . . . . . . . . . 143 6.1.1. Принципы функционирования и формат протокола . . . . . . . . 144 6.1.2. Аспекты безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6.2. Криптоанализ туннельного протокола типа точка-точка (PPTP) . . . 147 6.2.1. Криптоанализ MS-CHAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.2.2. Криптоанализ МРРЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.2.3. Другие атаки на MS-PPTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7. Защита на сеансовом уровне . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.1. Протокол сеансового уровня SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 7.1.1. Описание взаимодействий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 7.1.2. Формат протокола . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 7.1.3. Атаки на протокол SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.2. Протокол сеансового уровня TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 7.2.1. Краткое описание протокола . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.2.2. Протокол записей TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 7.2.3. Протокол диалога TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 7.2.4. Особенности реализации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.2.5. Аспекты безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.3. Протокол сеансового уровня SOCKS 5 . . . . . . . . . . . . . . . . . . . . . . . . 181 7.3.1. Функционирование протокола SOCKS 5 . . . . . . . . . . . . . . . . . . 183 7.3.2. Аспекты безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 8. Защита на прикладном уровне . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 8.1. Управление идентификацией и доступом . . . . . . . . . . . . . . . . . . . . . . 192 8.2. Защищенный удаленный доступ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 8.3. Протокол S/Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 8.4. Протокол PPP PAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 8.5. Протокол PPP CHAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 8.6. Протокол RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 8.6.1. Порядок работы протокола . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 8.6.2. Режим Challenge/Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 8.6.3. Взаимодействие с PAP и CHAP . . . . . . . . . . . . . . . . . . . . . . . . . 205 8.6.4. Сервер-посредник (Proxy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 8.6.5. Формат заголовков протокола RADIUS . . . . . . . . . . . . . . . . . . 208 8.6.6. Вопросы безопасности . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 208 8.7. Протокол управления доступом TACACS . . . . . . . . . . . . . . . . . . . . . . 209
Содержание 6 8.7.1. Описание соединений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 8.7.2. Форматы запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 8.7.3. Формат заголовков протокола TACACS . . . . . . . . . . . . . . . . . . 213 8.7.4. Вопросы безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 8.8. Доступ по схеме однократного входа с авторизацией Single Sign-On (SSO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 8.8.1. Серверные системы однократного входа . . . . . . . . . . . . . . . . . 217 8.8.2. Клиентские системы однократного входа . . . . . . . . . . . . . . . . 218 8.8.3. Аутентификация на основе маркера . . . . . . . . . . . . . . . . . . . . . 219 8.8.4. Системы однократного входа Web-SSO . . . . . . . . . . . . . . . . . . 220 8.8.5. SSSSO системы однократного входа . . . . . . . . . . . . . . . . . . . . . 223 8.9. Pretty Good Privacy (PGP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 8.9.1. Краткое описание PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 8.9.2. Шифрование файлов и сообщений . . . . . . . . . . . . . . . . . . . . . . 225 8.9.3. Симметричные алгоритмы PGP . . . . . . . . . . . . . . . . . . . . . . . . . 226 8.9.4. Сжатие данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 8.9.5. О случайных числах, используемых в качестве сеансовых ключей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 8.9.6. Расшифрование файлов и сообщений . . . . . . . . . . . . . . . . . . . . 228 8.9.7. Электронная цифровая подпись . . . . . . . . . . . . . . . . . . . . . . . . 229 8.10. Протокол S/MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 8.10.1. Спецификация MIME (Multipurpose Internet Mail Extension) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 8.10.2. Функциональные возможности S/MIME . . . . . . . . . . . . . . . . . 231 8.10.3. Формирование объекта envelopedData (упакованные данные) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 8.10.4. Формирование объекта signedData (подписанные данные) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 8.10.5. Расширенные сервисы обеспечения безопасности . . . . . . . . 235 9. Другие прикладные протоколы аутентификации . . . . . . . . . . . . . . . . . . . 236 9.1. Протокол обмена ключами IKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 9.1.1. Основной режим . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 9.1.2. Активный режим . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.1.3. Ускоренный режим . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 9.2. Протокол SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 9.2.1. Ключ хоста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 9.2.2. Транспортный уровень SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.2.3. Протокол аутентификации SSH-USERAUTH . . . . . . . . . . . . . . 242 9.2.4. Протокол соединения SSH-CONNECT . . . . . . . . . . . . . . . . . . . 243 9.3. Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 9.3.1. Концепции функционирования Kerberos . . . . . . . . . . . . . . . . . 246 9.3.2. Управление ключами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 9.3.3. Сеансовые мандаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Содержание 8 17.1. VPN-решения ОАО «Элвис-Плюс» . . . . . . . . . . . . . . . . . . . . . . . . . . 360 17.2. Структура решений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 17.3. Выбор продуктов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 17.4. Описание решений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 17.5. Использование ПЗИП в сетях Cisco . . . . . . . . . . . . . . . . . . . . . . . . . 370 17.6. Поддержка VPN в маршрутизаторах компании Cisco Systems . . . . 371 17.7. Поддержка VPN в маршрутизаторах компании 3Com . . . . . . . . . . . 374 17.8. VPN-решения и продукты компании Check Point . . . . . . . . . . . . . . . 375 17.8.1. Программные решения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 17.8.2. Программно-аппаратные комплексы . . . . . . . . . . . . . . . . . . . 379 17.9. VPN-решения ФГУП НТЦ «Атлас» . . . . . . . . . . . . . . . . . . . . . . . . . . 382 17.9.1. Ключевая система . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 17.10. Программные продукты RAS и RRAS от компании Microsoft . . . . 384 17.11. VPN-решения компании Nortel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 17.12. VPN-решения ОАО «Инфотекс» . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 17.13. VPN-решения ЗАО «Сигнал-КОМ» . . . . . . . . . . . . . . . . . . . . . . . . . 389 17.13.1. Программно-аппаратный комплекс CSP VPN . . . . . . . . . . . 389 17.13.2. IP-шифратор для организации VPN с функциями межсетевого экрана (IPSafe-PRO) . . . . . . . . . . . . . . . . . . . . . 392 Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Приложение 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Приложение 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Список условных обозначений, сокращений и терминов 9 СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СОКРАЩЕНИЙ И ТЕРМИНОВ CBC – режим сцепления блоков CFB – обратная связь по шифртексту Dz – алгоритм для обратного вычисления F(*) Еz – алгоритм для прямого вычисления F(*) ECB – электронная кодовая книга F(*) – функция преобразования GF(*) – поле Галуа h(M) – хэш-функция ID – идентификатор К – множество ключей OFB – обратная связь по выходу S – множество сообщений Т – отображение преобразования Zm – алфавит, состоящий из m символов НОД (i,n) – наибольший общий делитель целых чисел i и n Ф(n) – функция Эйлера ЦРК – центр распределения (распространения) ключей ЭВМ – электронная вычислительная машина ЭЦП – электронная цифровая подпись n-грамма – текст, состоящий из n букв алфавита Zm Асимметричная (двухключевая) криптография (криптография с открытым ключом) подразумевает наличие двух ключей: открытого и секретного. Шифрование может осуществляться на секретном ключе, а расшифрование – на открытом. Дешифрование – процесс восстановления открытого сообщения из криптограммы без знания ключевой информации по косвенной информации. Зашифрование (шифрование) – процесс получения криптограммы из открытого сообщения при помощи ключевой информации. Ключевая информация (ключ) – обеспечивает выбор одного варианта преобразования из совокупности возможных и применяется для шифрования сообщения (ключ определяет безопасность защищаемой информации). Криптоалгоритм – набор определенных правил, с помощью которого осуществляется преобразование открытого сообщения. Криптоанализ – решение задачи дешифрования данных на основании имеющейся косвенной информации без знания ключа. Криптография – обеспечивает скрытие смысла сообщения с помощью зашифрования и раскрытие его расшифрованием, выполняемым по определенным
Список условных обозначений, сокращений и терминов 10 законам или алгоритмам, применение которых требует искусства, интуиции и знания научных основ. Факт передачи сообщения криптография не скрывает, но скрывает смысл передаваемого сообщения. Криптограмма – сообщение, преобразованное по определенным правилам (зашифрованное сообщение). Криптология – наука, объединяющая криптографию и криптоанализ. Неопределенность – условная энтропия передаваемого сигнала, когда полученный сигнал известен. Односторонняя функция – это некоторая функция F, такая, что для любого Х из ее области определения функция F(X) легко вычислима; однако практически для всех Y из ее области значений нахождение Х (для которого Y = F(X)) вычислительно неосуществимо. Односторонняя функция с потайным ходом – это семейство обратимых функций Fz с параметром z, таких, что при данном z можно найти алгоритмы Ez и Dz, позволяющие легко вычислить соответственно Fz(X) для всех Х из области определения и Fz (Y) для всех Y из области значений; однако практически для всех z и практически для всех Y из области значений Fz нахождение Fz (Y) вычислительно неосуществимо даже при известном Еz. Расшифрование – процесс восстановления из криптограммы открытого сообщения при помощи ключевой информации. Симметричная (одноключевая) криптография (криптография с секретным ключом) подразумевает наличие одного секретного ключа. Шифрование и расшифрование осуществляется на секретном ключе. Шифр – 1) аналог криптограммы, 2) аналог криптоалгоритма. Энтропия – характеризует определенное множество сообщений с заданным алфавитом, является мерой неопределенности, которая имеется во множестве сообщений. Энтропия характеризует статистические свойства множества сообщений независимо от длины сообщения.
Введение 11 ВВЕДЕНИЕ В это трудно поверить, но всего лишь каких-нибудь пятнадцать лет назад слово «криптография» было в нашей стране не то чтобы запретным, но какимто… не приветствуемым, что ли. В СССР, а позднее и в России не было издано ни одной открытой книги по данной тематике, практически отсутствовали публикации в научных журналах, вопросы криптографии не обсуждались на конференциях и симпозиумах. Ненамного лучше обстояли дела и в других странах. Такое положение дел было вызвано как субъективными, так и объективными причинами. И в самом деле: ну для чего тогда могла применяться криптография? – Для засекречивания (шифрования) переписки, телефонных переговоров – вот, в общем-то, и все. Конечно, этим вопросам уделялось пристальное внимание на государственном уровне, но широкого использования криптография в те времена иметь не могла. Положение дел изменилось кардинальным образом благодаря широкому повсеместному внедрению компьютерной техники, которая объединена в сети самого разного масштаба. (Кстати говоря, ни один фантаст не смог предугадать возникновения глобальной межнациональной сети – Интернета.) Оказалось, что легкость доступа к информации имеет оборотную сторону. Далеко не всегда собственник информации желает свободного ее распространения, кроме того, необходимо бороться со всевозможными угрозами подделки, фальсификации данных. Поэтому задаче защиты информации от несанкционированного доступа (НСД) уделяется в современном мире самое серьезное внимание. Составными частями этой задачи являются обеспечение конфиденциальности, целостности и доступности информации. В последнее время к задачам защиты от НСД часто относят еще и неотказуемость авторства (например, подписи под платежным документом). Необходимо отметить, что все перечисленные задачи защиты информации от НСД решаются с применением криптографии. В некоторых случаях они могут быть решены и другими путями, но, как правило, использование криптографии повышает качество их решения. В современном мире криптография применяется для обеспечения: – конфиденциальности сообщений (алгоритмы шифрования); – целостности данных (алгоритмы хэширования); – доступности информации (защищенные протоколы); – неотказуемости авторства (алгоритмы электронной цифровой подписи – ЭЦП); – аутентификации – отправителя, получателя, сообщения, сервера, клиента и т. п. (здесь применяется совокупность алгоритмов и протоколов). Криптография используется повсеместно – в государственных и коммерческих организациях, финансово-кредитных учреждениях, вузах и на предприятиях.
Введение 12 Наконец, известную популярность получили свободно распространяемые криптографические программы. Поэтому неудивительно, что по криптографии в России выпущен не один десяток книг, ее аспекты освещаются в журнальных статьях, регулярно проводятся научные конференции. За рубежом имеется целый ряд журналов, полностью посвященных криптографии. На наш взгляд, в последнее десятилетие произошло некоторое смещение интересов в этой области. Если в «былые времена» основное внимание уделялось вопросам конструирования безопасных алгоритмов шифрования, то сейчас пришло понимание недостаточности хороших алгоритмов. Большое значение имеет правильная реализация этих алгоритмов в программной или программноаппаратной среде, а также корректность протоколов, в рамках которых они применяются. Кроме того, новое время предъявляет новые требования и к самим алгоритмам. Помимо безопасности, они должны позволять эффективную реализацию на различных вычислительных платформах, быть незапатентованными (никто не хочет получить вереницу судебных исков), одобренными междуна- родными организациями и известными криптографами. Показательным в этом отношении является проведенный американским институтом стандартизации конкурс на разработку блочного алгоритма шифрования (AES). В результате конкурса победил не самый безопасный алгоритм, но лучший по совокупности показателей. Интересно также, что победил иностранный (бельгийский) криптоалгоритм – еще несколько лет назад такое было бы невозможно себе представить. Глобализация… Конечно, соперничества между Старым и Новым Светом никто не отменял. И в 2000–2003 годах под эгидой Евросоюза проходил конкурсный отбор криптографических примитивов различных типов – NESSIE (New European Schemes for Signature, Integrity and Encryption). Помимо AES, Евросоюзом были рекомендованы к применению и другие блочные шифры (MISTY1, Camellia, SHACAL-2), кроме того, были оценены алгоритмы шифрования с открытым ключом, алгоритмы хэширования, ЭЦП и даже схема идентификации. Интересным результатом отбора стало то, что не удалось принять ни одного достойного поточного алгоритма шифрования. Неудача с поточными шифрами побудила Евросоюз в рамках стартовавшего в феврале 2004 года четырехлетнего проекта ECRYPT организовать отбор поточных шифров eSTREAM. Более подробно об этих конкурсах, а также о блочных и поточных алгоритмах шифрования мы раскажем в первой главе книги. Там же вы найдете и информацию о программных датчиках псевдослучайных чисел. Во второй главе речь пойдет о методах защиты целостности данных, в том числе и о всевозможных функциях хэширования, а также об алгоритмах ЭЦП. Таким образом, в первых двух главах вкратце описаны все криптографические примитивы. Перед тем как перейти к изложению «главной» темы книги – сетевой криптографии, в третьей главе мы рассматриваем важнейший для Сети вопрос: аутентификацию и, конечно, ее «криптографическую составляющую».
Введение 13 Вторая часть книги посвящена сетевым протоколам аутентификации и шифрования. Рассмотрены только те протоколы, которые рекомендованы в документах RFC. В третьей части книги описаны стандарты, проблемы, практические подходы к построению инфраструктуры открытых ключей (PKI). В настоящее время PKI активно развертываются не только крупными компаниями, но и на общегосударственном уровне. Четвертая, заключительная часть книги рассказывает о технологии виртуальных частных сетей (VPN). Применение этой основанной на криптографии технологии уже сэкономило много денег тысячам компаний. Нет сомнений, что за VPN – будущее. В приложении приводятся сведения о некоторых отечественных криптопродуктах. Таким образом, данная книга является одновременно и учебным пособием по наиболее актуальным аспектам криптографии, и достаточно полным справочником по всем используемым в бизнесе технологиям криптографии. Данная книга гармонично продолжает и дополняет монографию «Криптография и электроника» авторов А. П. Мартынова и В. Н. Фомченко [1]. Людей, разрабатывающих криптоалгоритмы и протоколы – единицы. Людей, использующих криптографию – миллионы. Именно на последнюю категорию лиц и ориентирована наша книга.
Часть первая. Шифрование, целостность, аутентификация 14 Часть первая. ШИФРОВАНИЕ, ЦЕЛОСТНОСТЬ, АУТЕНТИФИКАЦИЯ 1. Алгоритмы шифрования 1.1. Блочные симметричные алгоритмы шифрования 1.1.1. Принципы построения блочных алгоритмов. Алгоритм зашифрования преобразует открытый текст в закрытый, обратный процесс реализуется алгоритмом расшифрования. При этом сам алгоритм считается обычно общеизвестным, а вся стойкость заключена только в незнании его текущего состояния при конкретной операции зашифрования. Это секретное состояние называется ключом, который считается известным лишь законным корреспондентам. Если алгоритм работы может принимать n состояний, то для их описания требуется ключ длиной ( ) 2 log . n Следовательно, чем больше длина ключа, тем больше состояний может принимать алгоритм и тем больше его стойкость – при прочих равных условиях. Ключ криптоалгоритма кроме достаточной длины должен быть неотличим от отрезка случайной последовательности. Это означает, что при знании любой части ключа невозможно предсказать предыдущие или последующие его биты. Для формирования случайного ключа обычно используется какой-нибудь физический датчик (например, так называемый шумящий диод). В крайнем случае можно воспользоваться программными генераторами псевдослучайных чисел. Обычно используется один и тот же ключ для зашифрования и расшифрования. Такие алгоритмы называются симметричными в отличие от асимметричных, в которых ключи – разные. Асимметричные алгоритмы (другое название – алгоритмы с открытым ключом) рассматриваются в п. 1.2. Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако имеет и преимущества: высокую производительность, простоту, защищенность. Программная реализация более практична, допускает известную гибкость в использовании. Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования [2]: – зашифрованное сообщение должно поддаваться чтению только при наличии ключа; – число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
Содержание 7 9.3.4. Мандаты на выдачу мандатов . . . . . . . . . . . . . . . . . . . . . . . . . . 251 9.3.5. Флаги мандата . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.3.6. Аспекты безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Часть третья. ИНФРАСТРУКТУРА ОТКРЫТЫХ КЛЮЧЕЙ . . . . . . . . . . 255 10. Введение в инфраструктуру открытых ключей . . . . . . . . . . . . . . . . . . . 255 10.1. Актуальность инфраструктуры открытых ключей и перспективы развития . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 10.2. Основные понятия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 11. Структура и основные элементы архитектуры ИОК . . . . . . . . . . . . . . . . 262 11.1. Основные элементы ИОК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 11.2. Системные сервисы ИОК и модель доверия . . . . . . . . . . . . . . . . . . 266 11.3. Базовые модели архитектуры ИОК . . . . . . . . . . . . . . . . . . . . . . . . . . 275 12. Нормативная база в области ИОК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 12.1. Международные стандарты в области ИОК . . . . . . . . . . . . . . . . . . . 284 12.2. Российская нормативная база . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 13. Структуры данных ИОК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 13.1. Каталог LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 13.2. Профиль сертификата открытого ключа X.509 v3 . . . . . . . . . . . . . . 308 13.3. Профиль списка отозванных сертификатов X.509 v2 . . . . . . . . . . . 318 13.4. Атрибутный сертификат X.509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 14. Политика ИОК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 14.1. Подходы к формированию политики ИОК . . . . . . . . . . . . . . . . . . . . 326 14.2. Политика сертификата . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 14.3. Регламент сертификационной практики . . . . . . . . . . . . . . . . . . . . . . 329 15. Особенности построения ИОК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 15.1. Этапы создания ИОК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 15.2. Угрозы и риски в процессе функционирования ИОК . . . . . . . . . . . 342 15.3. Краткая характеристика технических решений поддержки ИОК отечественных и зарубежных производителей . . . . . . . . . . . . . . . . 345 Часть четвертая. ВИРТУАЛЬНЫЕ ЧАСТНЫЕ СЕТИ (VPN) . . . . . . . . . . 354 16. Принципы построения VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 16.1. VPN на базе брандмауэров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 16.2. VPN на базе маршрутизаторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 16.3. VPN на базе программного обеспечения . . . . . . . . . . . . . . . . . . . . . . 358 16.4. VPN на базе сетевой ОС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 16.5. VPN на базе аппаратных средств. . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 17. Решения по VPN различных фирм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Доступ онлайн
В корзину