16 страница
Алгоритм декомпрессии
Распаковка сжатого по схеме LZ77 текста выполняется просто. Алгоритм декомпрессии должен сохранять последние N символов восстановленного вывода. Когда встречается закодированная строка, алгоритм декомпрессии использует значения полей <указатель> и <длина>, чтобы заменить код реальной строкой текста.
Сдвиг
текста
источника
Вывод сжатого текста (а) Общая структура |
he brown fox jumped over the brown foxy |
: U}K7-: own fox junc |
|
over the brown foxy |
Отбрасывание
(6) Пример
Рисунок 10.9 - Схема LZ77
Преобразование в формат radix-64
Как PGP, так и S/MIME применяется техника кодирования, называемая преобразованием radix-64. Эта техника позволяет отобразить вводимые произвольные двоичные данные в виде последовательности печатаемых символов. Данная форма кодирования имеет следующие характеристики.
1. Областью значений функции является набор символов, которые отличаются универсальной формой представления, а не специальная двоичная кодировка для этого набора символов. Таким образом, эти символы могут быть закодированы в любую форму, требуемую конкретной системой. На пример, символ "Е" представляется в системе на базе ASCII как шестнадцатеричное 45, а в системе на базе EBCDIC — как шестнадцатеричное С5.
2. Этот набор символов складывается из 65 печатаемых символов, один из которых выступает в качестве заполнителя. С доступными при этом 26=64 символами каждый символ может использоваться для представления 6 битов данных ввода.
3. Никакие управляющие символы во множество не включаются. Таким образом, кодированное в формат radix-64 сообщение может беспрепятственно пройти системы почтовой обработки, просматривающие поток данных в поиске управляющих символов.
4. Символ дефиса ("-") не используется. Этот символ имеет особое значение в формате RFC 822, и поэтому его следует избегать.
В табл. 3 показано отображение 6-битовых вводных значений в символы. Набор символов складываются из буквенно-цифровых символов, а также символов "+" и "/". Символ "=" служит в качестве символа заполнителя.
Таблица 10.3
Кодирование Radix-64
|
На рис. 10.10 показана простая схема отображения. Двоичный ввод обрабатывается блоками по 3 октета, или 24 бита. Каждый набор из 6 битов в 24битовом блоке отображается в символ. На рисунке символы представлены закодированными в виде 8-битовых величин. В таком типичном случае каждые 24 бита ввода расширяются до 32 битов вывода.
Для примера рассмотрим 24-битовую текстовую последовательность 00100011 01011100 10010001, которая может быть выражена в
шестнадцатеричном формате как 235С91. Разобьем эту последовательность на блоки по 6 битов.
001000 110101 110010 010001
Выделенными 6-битовыми значениями в десятичном виде являются 8, 53, 50, 17. Находим кодировку этих значений в формате radix-64: IlyR. Если эти
символы сохранить в 8-битовом формате ASCII с разрядом четности, равным нулю, получим
01001001 00110001 01111001 01010010.
В шестнадцатеричном представлении это 49317952. Подводя итог, получаем следующее.
Входные данные | |
Двоичное представление | 00100011 01011100 10010001 |
Шестнадцатеричное представление | 235С91 |
Входные данные в «j | юрмате Radix-64 |
Символьное представление | IlyR |
Коды ASCII (8 битов, нулевой бит четности) | 01001001 00110001 01111001 01010010 |
Шестнадцатеричное представление |
М----------------------------------- 24 бита-------------------------------- ► |
------------------------------------- 4 символа = 32 бита ---------------------------------------- ► Рисунок 10.10 - Кодирование двоичных данных в виде печатаемых символов в формате radix 64 |
Г енерирование случайных чисел PGP
В PGP используется сложная и мощная схема генерирования случайных и псевдослучайных чисел. PGP генерирует случайные числа на основе содержимого и на основе интервалов между нажатиями клавиш пользователем, а также псевдослучайные числа с помощью алгоритма, в основу которого положен алгоритм из документа ANSI X12.17. PGP использует эти числа в следующих целях.
■ Истинно случайные числа
• применяются при создании пар ключей RSA,
• обеспечивают начальные значения для генератора псевдослучайных чисел,
• обеспечивают дополнительный ввод в процессе генерирования псевдослучайных чисел.
■ Псевдослучайные номера
• применяются при создании сеансовых ключей,
• служат для создания векторов инициализации (IV), используемых с сеансовыми ключами при шифровании в режиме CFB.
Истинно случайные числа
PGP поддерживает 256-байтовый буфер случайных битов. Все время PGP ожидает нажатия клавиш пользователем, отразив в 32-битовом формате момент, с которого началось ожидание. Когда нажимается клавиша, записывается время нажатия клавиши и 8-битовое значение нажатой клавиши. Информация о времени нажатия и клавише применяется при генерировании ключа, который, в свою очередь, служит для шифрования текущего значения из буфера случайных битов.
Псевдослучайные числа
При генерировании псевдослучайных чисел используется 24-байтовое начальное значение и создается 16-байтовый сеансовый ключ, 8-байтовый вектор инициализации и новое начальное значение, которые предполагается использовать для получения следующего псевдослучайного числа. Алгоритм строится на основе алгоритме Х 12.17, но использует для шифрования CAST-128 вместо "тройного" DES. Алгоритм задействует следующие структуры данных.
1. Ввод.
• randseed.bin (24 октета). Если этот файл пуст, он заполняется 24 истинно случайными октетами.
• Сообщение. Сеансовый ключ и IV, которые используются для шифрования сообщения, являются функциями этого сообщения. Это вносит дополнительную случайность для ключа и IV, но если противник уже знает содержимое сообщения в виде открытого текста, ему нет никакой необходимости выяснять значение сеансового ключа.
2. Вывод.
• К (24 октета). Первые 16 октетов, К[0..15], содержат сеансовый ключ, а последние восемь октетов, К[16 .. 23], включают значение IV.
• randseed.bin (24 октета). В этом файле размещается новое начальное значение для генератора псевдослучайных чисел.
3. Внутренние структуры данных.
• dtbuf (8 октетов). Первые четыре октета, dtbuf [0 .. 3], инициализируются с помощью текущего значения даты-времени. Этот буфер эквивалентен переменной DT из алгоритма Х 12.17.
• rkey (16 октетов). Ключ шифрования CAST-128, действующий на всех стадиях алгоритма.
• rseed (8 октетов). Эквивалент переменной V, из алгоритма XI2.17.
• rbuf (8 октетов). Псевдослучайное число, генерируемое алгоритмом. Это буфер эквивалентен переменной R, из алгоритма Х 12.17.
• К' (24 октета). Временный буфер для нового значения randseed.bin.
Алгоритм состоит из девяти шагов. Первый и последний шаги призваны
уменьшить долю файла randseed.bin, которая может быть перехвачена противником. Остальные шаги, по существу, эквивалентны трем итерациям алгоритма Х 12.17 и иллюстрируются на рис. 10.11.
Рисунок 10.11 - Генерирование сеансового ключа и вектора инициализации PGP (шаги G2-G8 алгоритма)
Следующее пошаговое описание алгоритма соответствует описанию, предложенному Стефаном Ньюхаусом (Stephan Neuhaus).
1. [Дооперационная обработка начального значения.]
• randseed.bin копируется в К[0 .. 23].
• Хэш-код сообщения (он уже имеется, если сообщение подписано, иначе используется 4К первых октетов сообщения), служит в качестве ключа, вводится нулевое значение IV, и К шифруется в режиме CFB; результат сохраняется в К.
2. [Установка начального значения.]
• Для dtbuf[O..3] устанавливается значение, равное 32-битовому значению текущего локального времени. Значение dtbuf[4..7] обнуляется. Копируется rkey «- К [0.. 15]. Копируется rseed <r- К [16.. 23].
• 64-битовое значение dtbuf шифруется с использованием 128битового значения rkey в режиме ЕСВ; результат сохраняется в dtbuf.
3. [Подготовка к генерированию случайных октетов.]
Устанавливается rcount <— О и к <— 23. Циклическое повторение шагов G4-G7 будет выполнено 24 раза (для к = 23 ... 0), и при каждом выполнении будет получен случайный октет, помещаемый в К. Переменная rcount представляет число еще неиспользованных случайных октетов в rbuf. Ее значение трижды уменьшается от 8 до 0, чтобы в результате было получено 24 октета.
4.[Доступны ли еще байты?] Если rcount = 0, следует перейти к шагу G5, в противном случае — к шагу G7. Шаги G5 и G6 представляют однократное выполнение алгоритма Х12.17, порождающего новый набор из восьми случайных октетов.
5. [Генерирование новых случайных октетов.]
• rseed <— rseed Ф dtbuf .
• rbuf <- Erkey, [rseed] в режиме ЕСВ.
6. [Г енерирование следующего начального значения.]
• rseed «— rseed Ф dtbuf .
• rbuf <r- Erkey[rseed] в режиме ЕСВ.
• Устанавливается rcount <— 8.
7. [Перенос по одному байту из rbuf в К.]
• Устанавливается rcount <— rcount -1.
• Г енерируется истинно случайный байт b и устанавливается К [ к ] <- rbuf[rcount]0b.
8.[Готово?] Если к = 0, следует перейти к шагу G9, в противном случае установить к <- к -1 и перейти к шагу G4.
9. [Послеоперационная обработка начального значения и возвращение результата.]
• Генерируется еще 24 байта методом, представленным шагами G4-G7, но связывания с помощью операции XOR со случайным значением в G7 не производится. Результат помещается в буфер К'.
• К' шифруется в режиме CFB с ключом К [0.. 15] и вектором инициализации К [16 .. 23]; результат сохраняется в randseed.bin.
• Возвращается К.
Определить сеансовый ключ из 24 новых октетов, генерируемых на шаге G9a, должно быть невозможно. Однако чтобы гарантировать, что сохраненный файл randseed.bin не даст информации о последнем сеансовом ключе, шифруется 24 новых октета и результат сохраняется как новое начальное значение для генератора псевдослучайных чисел.
Этот тщательно разработанный алгоритм должен порождать криптографически надежные псевдослучайные числа. Анализ алгоритма показывает, что в нем нет внутренних зависимостей между битами сеансового ключа и что последовательные сеансовые ключи тоже являются независимыми.
Порядок выполнения работы
1. Ознакомиться с программным средством PGP для электронной почты и приложений хранения файлов.
2. Провести сравнительный анализ совместимости электронной почты и PGP.
3. Изучить криптографические ключи и связки ключей в PGP.
4. Решить предложенные преподавателем задачи.
Содержание отчета
В отчете необходимо привести:
1. Теоретические сведения.
2. Полное описание компонент системы PGP.
3. Подробное изложение решения задач приведенных в практической работе.
4. Выводы по работе.
Задачи:
1. В PGP используется режим шифрованной обратной связи (CFB)
алгоритма CAST-128, тогда как большинство других приложений шифрования (отличных от приложений шифрования ключей) действует в режиме сцепления шифрованных блоков (СВС). Мы имеем СВС: С, = ЕК[С« Ф
Р(]; Р, = Cw © Dk[C(]; CFB: Cf = Р, Ф Ек[См]; Р, = С, Ф ЕЛСц]. Оба варианта, кажется, обеспечивают одинаковую защиту. Предложите объяснение, почему в PGP используется режим CFB.
2. Какое ожидаемое число ключей в схеме PGP будет создано до того, как будет сгенерирован уже созданный ранее сеансовый ключ?
3. Чему равна вероятность того, что в схеме PGP у пользователя с N открытыми ключами идентификаторы по крайней мере двух ключей совпадут?
4. Первые 16 битов 128-битового профиля сообщения в подписи PGP пересылаются в открытом виде.
• В какой мере это компрометирует защиту алгоритма хэширования?
• В какой мере это в действительности выполняет свою функцию — а именно помогает определить, соответствующий ли ключ RSA использовался для того, чтобы дешифровать профиль сообщения?
5. На рис. 10.4 каждая запись в связке открытых ключей содержит поле доверия владельцу, значение которого указываемое степень доверия, оказываемого этому владельцу открытого ключа. Почему этого недостаточно? Иными словами, если этот владелец надежен и предполагается, что данный открытый ключ принадлежит этому владельцу, то почему этого не достаточно, чтобы сразу разрешить PGP использовать эту открытый ключ?
6. Насколько эффективным является алгоритм radix-64 с точки зрения криптоанализа при рассмотрении преобразования radix-64 как формы шифрования, когда нет никаких ключей, но противник знает только о том, что для шифрования английского текста применен некоторый алгоритм замены?
Литература
1. Соколов А.В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах. - М.: ДМК Пресс, 2002.
2. Вильям Столлингс Криптографическая защита сетей. - М.: Издательсткий дом “Вильямс”, 2001.
3. Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. - СПб.: Лань, 2000.
9 Жельников В. Криптография от папируса до компьютера. - М.: АВБ, 1996.
10 Фомичев В.М. Симметричные криптосистемы. Краткий обзор основ криптологии для шифросистем с секретным ключом. - М.: Издательство МИФИ, 1995.
4. Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография - СПб.: Издательство «Лань»,2000.-224 с.
5. Девянин П.Н., Михальский О.О. и др. Теоретические основы компьютерной безопасности. - М.: Радио и связь, 2000.-192 с.
6. Домашев А.В., Грунтович М.М., Попов В. О. Программирование алгоритмов защиты информации. - М.: Издательство “Нолидж”, 2002.
Лабораторная работа № 5 Разграничение доступа в ОС Novell Netware
Цель работы: На основе печатной и электронной литературы по Novell NetWare и с использованием базы знаний предыдущих дисциплин по информационной безопасности разобраться в принципе разграничения доступа в ОС Novell Netware и ответить на поставленные вопросы реферативно.
Основные темы:
1. Novell NetWare в корпоративной сети. Типовая корпоративная сеть.
Основные требования к автоматизированным системам. Уровни
информационной инфраструктуры корпоративной сети.
2. Уязвимости и атаки. Источники возникновения уязвимостей. Классификация уязвимостей по уровню в инфраструктуре информационной системы. Классификация уязвимостей по степени риска. Классификация атак по целям. Классификация атак по мотивации действий. Механизмы реализации атак. Источники информации об уязвимостях. CVE.
3. Защитные механизмы и средства. Идентификация и аутентификация
пользователей, разграничение доступа пользователей к ресурсам автоматизированной системы, криптографические методы защиты
информации, контроль целостности, защита периметра компьютерных сетей. Средства обеспечения информационной безопасности: межсетевые экраны, средства анализа защищенности, средства обнаружения атак, средства защиты информации от несанкционированного доступа.
4. Критерии оценки защищённости ОС. Уровень защиты С2. Common Criteria. British Standard (BS 7799). Государственная система защиты информации в России.
5. Установка и настройка Novell NetWare. Требования к аппаратному обеспечению сервера Novell NetWare 5.1. Установка сервера Novell NetWare 5.1. Установка клиентских частей на рабочие станции сети и утилиты NetWare Administrator на АРМ администратора безопасности.
6. Управление NDS. Понятие об NDS и Bindery. Схема NDS, классы и объекты. Свойства объектов и права на объекты NDS. Планирование дерева каталогов. Разделы NDS. Реплики. Утилиты управления разделами и диагностики NDS. Советы Novell по избежанию проблем с репликами. Утилиты для обеспечения надежности серверов.
7. Управление пользователями и группами в дереве NDS. Создание пользователей и групп. Шаблоны и организационные роли. Настройка требований к паролям пользователей. Разграничение прав на объекты NDS. Присвоение пользователям полномочий по доступу к объектам NDS и ресурсам файловой системы. Сценарии регистрации пользователя.
8. Аудит в системах NetWare. Регистрационные журналы на серверах. Аудит объектов NDS.
9. Настройка безопасности в сетях NetWare. Механизм защиты от взломщика. Защита от подделки пакетов. Настройки объекта Public. Уязвимые сервисные функции NetWare, которые следует отключить. Рекомендации независимых исследователей.
10. Защита серверов и рабочих станций. Физическая защита серверов и кабельной сети. Безопасность рабочих станций и межмашинных соединений. Дополнительные программно-аппаратные средства защиты информации от несанкционированного доступа, сертифицированные в Российской Федерации.
Порядок выполнения работы
1. Ознакомиться с литературой по сетям NetWare.
2. Разобраться с настройкой безопасности в сетях NetWare.
3. Ответы на контрольные вопросы.
Содержание отчета
В отчете необходимо привести:
1. Теоретические сведения.
2. Подробное изложение тем, приведенных выше.
3. Выводы по работе.
Литература
1. Юджин Х., Спаффорд «Основы безопасности компьютерных систем», HackZone, 1999 г.
2. Громов В.В., Васильев В.А. «Энциклопедия компьютерной безопасности» (сборник). М.: 1999 г.
3. Соколов А.В., Шаньгин В.Ф. Защита информации в
распределенных корпоративных сетях и системах.- ДМК Пресс, 2002.-656 с.
4. Романец Ю.Ф., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях./ Под ред. В.Ф. Шаньгина.-М: Радио и связь, 2001 - 376 с.
Практические работы
Цель работы: Представить реферат (10-15 стр.) или перевод обзорной статьи по выбранной теме. Результаты подготовки сформировать в доклад продолжительностью 15-20 минут на одном из практических занятий. Хронология занятий и график выступлений соответствуют порядку, приведенному преподавателем.
Перечень тем для выполнения практических работ по курсу «Программноаппаратная защита информации»
1. Уязвимость компьютерных систем:
- Уязвимость "переполнение буфера" (buffer overflow). Общая характеристика, разновидности и причины возникновения.
- Методы защиты от уязвимости "переполнение буфера".
- Диверсификация (diversification) компьютерных систем для повышения их надежности и защищенности.
- Защита путем внесения случайностей (рандомизация) в код, процесс выполнения программы, адреса памяти; использование случайного внутреннего кода.
- Уязвимость типа "race condition" ("состояние гонок"). Характеристика, разновидности и причины возникновения, методы защиты.
- Целенаправленное использование "случайных ошибок" (сбоев
памяти, ошибок чтения и т.п.).
2. Идентификация пользователей КС — субъектов доступа к данным.
3. Основные подходы к защите данных от НСД.
4. Организация доступа к файлам.
5. Особенности защиты данных от изменения.
6. Построение программно-аппаратных комплексов шифрования.
7. Плата Криптон-3 (Криптон-4).
8. Защита программ от несанкционированного копирования.
9. Организация хранения ключей.
10. Защита программ от изучения.
11. Вирусы.
12. Устройства и системы технической разведки. Противодействие
коммерческой разведке с помощью технических средств.
13. Примеры построения систем сетевой безопасности. Решения компании
Cisco Systems по обеспечению безопасности корпоративных сетей.
Продукты и решения компаний «Элвис плюс», НИП «Инфорзащита»,
«Анкад», «Инфотекс», «S-Terra CSP»
14. Вычислительная сеть как составная часть ЗКС. Сетевые уязвимости,
угрозы и атаки:
- Защищенная сетевая инфраструктура и ее основные элементы на разных уровнях.
- Сетевые ОС как элемент ЗКС в ВС. Современные сетевые ОС (Windows, Unix/Linux, Netware) с точки зрения безопасности и защиты.
- Основные уязвимости нижних уровней стека протоколов TCP/IP (уровень сетевого доступа и межсетевой уровень).
- Основные уязвимости верхних уровней стека протоколов TCP/IP (транспортный уровень и прикладной уровень).
- Атаки типа "Denial-of-Service" ("отказ в обслуживании"). Характеристика, разновидности и причины возникновения, методы защиты.
- Интернет-вирусы и черви. Механизмы функционирования и распространения. Методы защиты (помимо антивирусного ПО).
15. Новые и особенные подходы к проектированию и разработке ЗКС:
- Защищенные платформы и ядра (NGSCS, PSOS), технология "доверенных вычислений" ("trusted computing").
- Защита систем электронной коммерции. Основные уязвимости, угрозы и варианты защиты.
- Методы защиты мобильного кода. Proof-carrying code ("код с внутренней гарантией).
- Аспекты безопасности и гарантии в готовых системах и системах с открытым исходным кодом (open source). Характеристика и сравнение.
- Социальный фактор в защите компьютерных систем.
- Основные подходы к защите многоагентных систем.
Структура и оформление практической работы
Реферат должен содержать следующее: титульный лист, содержание, списки условных обозначений и сокращений. Основные разделы и подразделы представленного материала, перечень использованной литературы.
Работа должна быть оформлена в соответствии с требованиями стандартов ЕСКД.
Дата добавления: 2016-02-16; просмотров: 1312;