Обеспечение компьютерной безопасности
Пока преимущества методов шифрования с открытым ключом не были очевидны. Однако на их основе легко решать задачу выработки общего секретного ключа для сеанса связи любой пары пользователей информационной системы. Еще в 1976 году Диффи и Хеллман предложили для этого протокол открытого распределения ключей. Он подразумевает независимое генерирование каждым из пары связывающихся пользователей своего… Читать ещё >
Обеспечение компьютерной безопасности (реферат, курсовая, диплом, контрольная)
компьютерный угроза криптология аутентификация.
1. Угроза безопасности. Нарушители. Политика безопасности.
1.1 Основные проблемы компьютерной безопасности.
1.2 Способы перечисления угроз.
1.3 Нарушители.
1.4 Модель нарушителя.
2. Описание политики безопасности.
2.1 Модели и механизмы безопасности.
2.2 Мониторы безопасности пересылок.
2.3 Принципы разработки Trusted computer Base (ТСВ).
3. Модели секретности.
3.1 Модель Харисона, Рузо и Ульмана.
3.2 Управление доступом.
3.3 Реализация дискреционного контроля доступа.
3.4 Мандатное управление доступом.
3.5 Модель китайской стены.
3.6 Модель целостности Кларка Вильсона.
3.7 Модель Липкера.
4. Идентификация и аутентификация.
4.1 Реализация подсистемы идентификации /аутентификации в Windows 2000.
5. Аудит.
5.1 Реализация подсистемы аудита Windows 2000.
6. Уязвимость.
6.1 Ошибки, приводящие к уязвимости.
6.2 Поиск уязвимостей в процессе разработки и анализа систем.
6.3 Сканеры уязвимостей.
7. Атаки и вторжения.
7.1 Идентификация вторжений.
7.2 Метод анализа динамики развития атак. Система Авгур
8. Криптографические методы.
8.1 Элементы теории чисел.
8.2 Основные понятия криптологии.
8.3 Способы создания симметричных криптосистем.
8.4 Идеальный шифр
9. Криптографическая система DES и ее модификация.
9.1 Криптографическая система ГОСТ 28.147−89.
10. Шифр Ривеста-Шамира-Алдемана.
10.1 Шифр ЭльГамаля.
10.2 Открытое распределение ключей.
10.3 Цифровая подпись.
10.4 Доказательство при нулевом знании.
В современном мире время, благополучие и даже жизнь многих людей зависят от обеспечения информационной безопасности. В соответствии с определением безопасность информации — состояние защищенности информации, обрабатываемой средствами вычислительной техники или автоматизированной системы, от внутренних и внешних угроз..
Везде, где информация обрабатывается с помощью компьютеров, теоретически можно говорить о компьютерной безопасности. При этом можно отметить значительные проблемы в обеспечении компьютерной безопасности, подтверждаемые постоянными публикациями об успешных атаках на вычислительные системы. Такое положение дел связано со следующими причинами.
Обеспечение компьютерной безопасности не дает никакого вклада в повышение эффективности вычислительного процесса организации, а наоборот, создает ограничение в работе пользователей и отнимает вычислительные ресурсы..
Компьютерная безопасность всего лишь гарантирует то, что не случится неприятностей вследствие нарушения в конфиденциальности, целостности или доступности информации.
Проблема обеспечения компьютерной безопасности является сложной задачей в связи с тем, что она должна решаться комплексно. При этом сложность решения этой задачи растет вместе с ростом сложности вычислительной системы, а чаще всего и с внедрением новых информационных технологий.
В большинстве реальных вычислительных систем обеспечение компьютерной безопасности является процессом. Можно представить вычислительную систему, безопасность которой математически доказана и которая не меняет своих свойств в процессе своей работы. И такую систему действительно можно создать, однако она будет очень дорога и неудобна. В используемых в реальной жизни вычислительных системах чаще всего функционирует программное обеспечение общего назначения, безопасность которого отнюдь не гарантирована. Кроме того, в процессе работы вычислительной системы постоянно изменяются выполняемые функции, так и состав используемого программного обеспечения. Таким образом, обеспечение компьютерной безопасности является не однократным действием, постоянным процессом.
1. Угроза безопасности. Нарушители. Политика безопасности.
1.1 Основные проблемы компьютерной безопасности.
Основные проблемы компьютерной безопасности (КБ).
1. от чего необходимо защищать информацию,.
2. от кого защищать,.
3. как защищать.
Угроза безопасности — это информация, совокупность условий и факторов, создающих потенциальную и реальною существующую опасность, связанную с утечкой информации и/или несанкционированным и/или непреднамеренным воздействием на нее.
Выделяют три типа угроз безопасности:
1. относящиеся к нарушению конфиденциальности информации,.
2. относящиеся к нарушению целостности информации,.
3. относящиеся к нарушению к доступности информации.
Угроза нарушения конфиденциальности информации заключается в том, что информация становится известной не полномочному на это лицу. Иногда это называется утечкой информации. Особенностью конфиденциальности является то, что иногда важна не сама информация, а важен факт ее существование.
Угроза нарушения целостности включает в себя любую возможность несанкционированного доступа изменения информации, хранящейся в системе или передаваемой из одной системы в другую.
Угроза нарушения доступности — возможность блокирования доступа к некоторому ресурсу. Вычислительная система (ВС), которая может быть реализована в результате умышленных действий, так и в совокупности случайных факторов. Угроза нарушения доступности связана со свойством надежности системы.
Конфиденциальность информации — свойство, позволяющее не давать право на доступ к информации или не раскрывать ее не полномочным лицам, логическим объектам и процессам.
Средства вычислительной техники (СВТ) или автоматизированная система (АС) обеспечивает неизменность информации в условиях случайного или преднамеренного искажения.
Доступность — это свойство быть доступным по запросу со стороны уполномоченного объекта.
Угрозами безопасности может быть:
· противоправный сбор и использование информации;
· внедрение в аппаратные и программные изделия компонентов, реализующих функции, не предусмотренные документацией на эти изделия;
· уничтожение, повреждение, радиоэлектронное подавление;
· воздействие на парольно-ключевые системы защиты автоматизированных систем обработки и передачи информации;
· компрометация ключей и средств криптографической защиты;
· утечка информации по техническим каналам;
· внедрение элементарных устройств для перехвата информации;
· уничтожение, повреждение носителей информации;
· перехват информации в сетях передачи данных;
· использование не сертифицированных информационных технологий, средств защиты;
· несанкционированный доступ информации находящейся в банках.
1.2 Способы перечисления угроз.
1. Произвольный список,.
2. составление деревьев угроз,.
3. угрозы с защитой.
Наиболее эффективна третья форма, поскольку сразу определяется область и механизм защиты. При выборе механизма защиты обычно не учитываются вычислительные ресурсы, и перечисление угроз с определенным механизмом защиты определяется автономно. При этом может оказаться, что механизм защиты информации потребует дополнительные вычислительные ресурсы. Поэтому иногда рассчитываются потери ресурсов и потери угроз.
По разнице потерь определяется выбор механизма защиты информации.
1.3 Нарушители.
Нарушитель — это лицо, предпринявшее попытку выполнения запрещенных операций по ошибке, незнанию, осознанно (в корыстных интересах) или без такового (ради игры, развлечения, с целью самоутверждения) и возможностью испытания различных методов и средств.
Нарушителей можно классифицировать следующим образом:
1. по уровню знаний об автоматизированной системе (АС);
2. по уровню возможностей;
3. по времени действия;
4. по месту действия.
Первая категория знает функциональные особенности АС, формирование массивов данных, потоков, запросов. Испытывает штатные средства, обладает высоким опытом работы с техническими средствами. Обладает высоким уровнем программирования, знает структуру, функции и механизм защиты информации, их сильные и слабые стороны.
Вторая категория применяет методы инженерии, пассивные средства без модификации компонент, применяют средства активного воздействия и специальных инструментальных и технологичных программ.
Третья группа: как в процессе функционирования, так и в не рабочее время.
Четвертая группа: без доступа на контролируемую территорию; с контролируемой территории без доступа к зданиям; внутри помещения, но без доступа к техническим средствам; с рабочих мест пользователей; с доступом в зону данных; с доступом в зону управления средствами обеспечения безопасности.
1.4 Модель нарушителя.
Нарушители классифицируются по уровню возможностей, представляемых их штатными средствами. Выделяют четыре уровня этих возможностей:
1. запуск задач из фиксированного набора, заранее предусмотренных функций по обработки информации;
2. запуск собственных программ с новыми функциями, обрабатывающими информации;
3. по возможности управления функционированием автоматизированной системы (АС);
4. определяется всем объемом возможностей лиц, осуществляющих проектирование или реализующих ремонт АС.
Под политикой безопасности понимается набор правовых и организационно-технических мер принятых в конкретной организации. Политика описывает множество условий, при которых пользователи системы могут получить доступ к ресурсам операционной системе (О.С.) без потери безопасности этой системы.
Информационная политика оформляется в виде специальных документов.
С 1 уровня высшего начинается процесс разработки политики безопасности: руководство — инженер безопасности (уровень требований политики) — инженер безопасности (описывающий ограничения на операции рабочим);
второй уровень: инженер безопасности (формальные спецификации);
третий уровень: низкоуровневые формальные спецификации — разработчики — программные и аппаратные реализации.
2. Описание политики безопасности.
Описание политики безопасности может быть реализовано на трех уровнях:
1. неформальное описание — описание политики сводится к описанию разграничений доступа субъектов к объектам. На высоком уровне спецификация разграничений сводится к характеристикам субъектов и объектов.
Для субъектов:
· степень доверия к субъекту;
Используется при доступе субъектов к информации с учетом классификации информационных ресурсов.
· Необходимость доступа субъекта.
Атрибут указывает, что субъект должен иметь доступ к.
информационному ресурсу.
· Роль используется субъектом.
Используется при описании функций пользователя системы и соответствующих полномочий этого пользователя.
· Группы, к которым относится субъект.
Используется для группы пользователей с одинаковыми привилегиями.
Характеристики объекта:
1. Метка чувствительности объекта.
Используется при классификации информационных ресурсов. Классификация необходима для определения ценности в разработке механизмов контроля, сохраняющие ценность для организации. Вся информация делится на категории:
· Конфиденциальная,.
· Для служебного пользования,.
· Свободного доступа.
Конфиденциальная информация — это информация, раскрытие которой может разрушить отдельные секреты, причинить ущерб организации, уменьшить преимущества организации в конкурентной борьбе.
Служебного пользования — это информация необходимая персоналу для функционирования организации.
Свободного доступа — эта информация, которая распространяется для общественного использования.
Операции, которые выполняет субъект над объектом.
1. создание объектов и задание атрибутов доступа к ним,.
2. периодическая корректировка классификации объектов, т. е. пересмотр уровня конфиденциальности,.
3. уничтожение объектов,.
4. чтение информации из объектов,.
5. чтение, запись,.
6. копирование,.
К политике безопасности относится также и требование вспомогательных политик безопасности, которые включают:
1. собственность,.
2. авторизация,.
3. минимальные привилегии,.
4. разделение пользователей,.
5. полномочия пользователей,.
6. отсутствие защиты по умолчанию,.
7. уважение и право на тайну,.
8. отсутствие гарантии тайны сообщений,.
9. регулярный мониторинг сообщений,.
10. статистика,.
11. раскрытие при происшествии,.
12. распространение сообщений,.
13. удаление сообщений,.
14. запрещение посылки спама без получения предварительного запроса,.
15. запрещение поддержки заголовков электронной почты.
Неформально могут быть описаны не только политики безопасности, но и модели. Примером неформального описания модели безопасности служит модель Кларка Вильсона.
2. Формальное описание политики безопасности.
Модель безопасности (защиты) представляет абстрактное или формализованное описание комплекса программно-технических средств и организационных мер защиты от несанкционированного доступа.
Модель безопасности формальная отвечает следующим требованиям:
· Адекватность,.
· Способность к предсказанию,.
· Общность.
Примером формализованного описания модели служит модель Белла и Лападула.
Формальные модели имеют ряд недостатков:
· Не разрешает ряд противоречий,.
· Разработка моделей может привести к неудобству их использования,.
· Разработка дорогостоящая,.
· Нарушения безопасности могут происходить вследствие некорректной работы пользователя, при этом Формальная модель не работает,.
· Модели не обеспечивают безопасность реальной системы.
3. Сочетание формальных и предикатных моделей.
2.1 Модели и механизмы безопасности.
Модели безопасности основываются на политике разграничения доступа. При этом рассматриваются модели дискретного и мандатного контроля и управления доступа. Для описания модели вводятся определения: субъекты, объекты, доступ. Под сущностью мы будем понимать именованную составную компьютерную систему, т. е. сущность— это компонент, к которому можно обратиться по имени, например файл. В защищенной системе все ресурсы должны быть сущностями. Объект доступа является единственным информационным ресурсом АС, доступ к которому регламентируется правилом разграничения доступа.
В Windows 2000 декларируемы следующие типы объектов:
· Файлы;
· Устройства;
· Почтовые ящики;
· Каналы;
· Задания, процессы, потоки, события, мьютексы, семафоры, порты завершения;
· Разделы общей памяти;
· IPC — порты;
· Таймеры;
· Маркеры доступа;
· Сетевые ресурсы;
· Сервисы;
· Разделы реестра;
· Принтеры.
Субъект определяется как активная сущность, лицо или процесс, которая регламентируется правилами разграничения доступа. В Windows 2000 для описания субъектов используются идентификаторы защиты (Security identifiers, SID). SID имеется у пользователей локальных и доменных групп, локальных компьютеров, доменов и членов доменов. Для идентификатора контекста защиты потока или процесса используется объект называемый маркером или маркером доступа. Взаимодействие субъекта и объекта называется доступом. В результате происходит перенос информации, ее обработка или копирование, модификация, уничтожение, чтение и запись. Для файлов типичными правами доступа являются права чтения, записи, выполнения и права владельца. Права владельца относятся к праву контроля и изменения права доступа к файлу.
2.2 Мониторы безопасности пересылок.
При работе программного обеспечения (ПО) обеспечения за инициализацию объектов, субъектов и процессов передачи информации должна отвечать программа, которая принимает решения.
SRN должен обладать тремя свойствами:
· полнота — ни один запрос на доступ к субъекту не должен выполняться в обход монитора безопасности пересылок;
· целостность — работа монитора безопасности пересылок должна быть защищена от постороннего вмешательства;
· простота — представление монитора безопасности пересылок должно быть достаточно простым для верификации корректности его работы.
Верификация — сравнение, доказательство, проверка.
Для реализации монитора безопасности пересылок разрабатывают некоторые механизмы или процедуры, которые могут одновременно поддерживать и секретность, и целостность, и доступность объектов. Такие механизмы реализуются в так называемом доверенном ПО, которое является ядром защиты. В общем случае ядро защиты — это технические, программные и микропрограммные элементы комплекса защиты, реализующие концепцию диспетчера доступа. Механизмы защиты могут быть централизованными или распределенными. Современная концепция поддерживает распределенную.
2.3 Принципы разработки Trusted computer Base (ТСВ).
Существует две технологии проектирования доверенного программного обеспечения (ПО):
· иерархическое проектирование основано на принципе: «механизм защиты должен быть простым, единым и находится на самом низком уровне системы». При чем иерархическое проектирование может поддерживать многослойную иерархическую структуру подсистем защиты. Такая структура имеет следующие преимущества:
1. Упрощается структура доверенного программного обеспечения.
2. Верификация безопасности более высокого иерархического уровня системы может опираться на верификацию безопасности более низких уровней иерархии.
В качестве уровня можно рассматривать программы приложения, где помещаются программы сервисы приложений пользователя не являющихся частью операционной системы (О.С);
Уровень О.С., где располагаются компоненты О.С.;
Уровень аппаратного обеспечения помещается ПО в строенное в аппаратное обеспечение.
· Модульное или горизонтальное проектирование, как правило, облегчает декомпозицию системы в ходе ее анализа. В современных системах доверенное программное обеспечение представляет собой множество отдельных взаимосвязанных модулей, выполняющих различные функции. Совокупность таких моделей, образующих доверенное программное обеспечение, определяет так называемый периметр защиты. Модули включают в периметр защиты, если функциональность компоненты влияет на доказательство безопасности системы. Кроме описанных выше, можно выделить следующие дополнительные принципы:
1. Принцип наименьших привилегий. Субъекту даны только те привилегии, которые необходимы для решения задач. При выделении дополнительных привилегий они изымаются после выполнения задачи.
2. Принцип безопасных умолчаний. Данный принцип говорит о том, что по умолчанию доступа к объектам системы не должно быть. Все права доступа должны быть определены явно.
3. Принцип простоты разработки. Для уменьшения вероятности ошибок, обеспечения процесса верификации, тестирования механизмов безопасности.
4. Принцип полного контроля доступа. Контроль выполняется не только при первом доступе, но при каждой последующей операции доступа.
5. Принцип открытой разработки. Безопасность системы не должна быть основана на секретности разработки.
Системы, основанные на секретности разработки, не обеспечивают эффективной защиты от квалифицированных пользователей.
6. Принцип разделения привилегий. Механизмы, предоставляющие доступ к ресурсам системы, не должны принимать решения о доступе, базируясь на единичном условии.
7. Принцип минимального количества разделяемых механизмов. Механизмы, предоставляющие доступ к ресурсам системы, не должны быть разделяемыми. О.С. реализуют этот принцип за счет технологии виртуальных машин.
8. Принцип психологической преемственности. Механизмы не должны требовать значительных вычислительных ресурсов, должны быть легко конфигурируемы и представлять пользователям информацию в удобной форме. Не должны провоцировать собственные отключения.
3. Модели секретности.
В моделях секретности рассматривают два механизма:
1. дискреционный (произвольный) контроль и управление доступом.
2. мандатный подход.
Дискреционное управление доступом представляет разграничения доступа между поименованными субъектами и поименованными объектами.
Передача прав доступа к объектам определяется на основании правил конкретной дискреционной модели. Основой в дискреционной модели доступа к объектам является матрица доступа, которая является концептуальной моделью со спецификацией прав доступа.
Матрица дискреционного контроля доступа.
Файл1. | Файл2. | Файл3. | Процесс1. | Процесс2. | ||
Процесс1. | R. | RWOX. | ||||
Процесс2. | RW. | R. | RW. | RWOX. | ||
Процесс3. | RW. | |||||
Процесс4. | ||||||
RWправо доступа пользователя на чтение.
Wправо доступа пользователя по чтению.
Оуправление доступа к файлу для других пользователей.
Хправо на выполнение процесса (execute).
Индивидуальное разрешение, которые могут быть представлены индивидуальными правами, могут иметь следующие функции: reade, write, execute, delete, change Permission, take owner ship.
3.1 Модель Харисона, Рузо и Ульмана.
Пусть имеется конечный набор прав R={r1.rn}, конечный набор субъектов S0, конечный набор объектов Оn. Субъект может быть одновременно и объектом, команда, хформальные элементы (параметры) указывающие на объект. Элементы матрицы доступа являются правами доступа. Состояние системы изменяется при изменении матрицы М. Запросы к системе можно выразить в форме if.
Ввести новые права:
Enter r into (s, o) — внесение права r в ячейку (s, o) матрицы доступа.
При этом новая.
=S, =O, [s, o]=[s, o].
xS yO (x, y)(s, o).
[x, y]=[x, y].
Удаление субъекта delete:
Delete r from (s, o).
=S, =O, [s, o]=[s, o]-r.
xS yO (x, y)(s, o).
[x, y]=[x, y].
Создание субъекта create:
Create subject S.
=S{S}, =O{S},.
y [s, y]=.
x [x, s]=.
xS, yO [x, y]=[x, y].
Создание объекта:
Create object O.
=S, =O{S}.
y [o, y]=.
y [x, o]=.
xS, yO [x, y]=[x, y].
Убрать субъект:
Destray subject S.
S=-{S}, O= -{O}.
y [s, y]=.
x [x, y]=[x, y].
xS, yO [x, y]=[x, y].
Убрать объект:
Destray object O.
=S, =O-{O}.
x [x, o]=.
xS, yO [x, y]=[x, y].
Take (t) grant (G) — модель создается для иллюстрации и доступа. Модель является представлением системы в виде направленного графа, в котором вершинами являются субъекты, объекты представляют окружность. Направленные дуги графа обозначают права, которые имеет объект по отношению к другому. Кроме обычных прав К добавляются еще два права take (t) и grant (g) изменяющих права доступа. Модель обеспечивает множество правил переписания графа, позволяющих изучить изменения графа вследствие передачи прав и изменения состояния системы. Изменение состояния системы выполняется с использованием правил переписания графа. Пусть имеется х обладает правом t по отношению z, а z обладает правом b по отношению к у. Тогда правило Take определяет новый граф. Правило b от х к субъекту у, то есть х берет право b по отношению у от х.
Правило Grant: пусть в этом случае z является субъектом. Субъект z имеет право g по отношению х и b по отношению к у. z задает право b по отношению к у для х.
Правило Create представляет или определяет новый граф, который позволяет добавить еще одну вершину с правом b по отношению к х.
Правило Remove: пусть х и у вершины графа. Х является субъектом. Пусть имеется некоторое право, которое является частью или входом в b.
3.2 Управление доступом.
Контроль полномочий доступа подразумевает передачу полномочий другим субъектам. Эта передача соответствует праву own, а методы передачи могут быть:
· Иерархический.
· Концепция владельца.
· Концепция laissez — faire.
· Центральный.
Иерархический метод основан на действиях администратора, который контролирует все полномочия по всем объектам в системе. Передача полномочий доступа осуществляется делегированием полномочий отдельным субъектам.
Преимущество иерархической структуры заключается в том, что все полномочия контролируются доверенным единым пользователем. Концепция владельца ассоциируется с единственным пользователем, имеющим полномочия контроля с объектом. Владелец всегда полностью контролирует, созданный им объект и не может передать полномочия контроля другому объекту. Но он может изменить право доступа к объекту в любой момент.
Концепция владельца рассматривается как иерархия с двумя уровнями:
1. контроля права доступа.
2. безусловным контролем полномочий.
3.3 Реализация дискреционного контроля доступа.
Дискреционный контроль доступа предполагает выполнение следующих требований:
· все субъекты и объекты должны быть однозначно идентифицированы.
· для любого объекта должен быть определен пользователь владелец.
· владелец объекта должен обладать правом, определяющим право доступа к объекту со стороны любых субъектов.
· должен существовать привилегированный пользователь, обладающий правом полного доступа к любому объекту. Это свойство определяет невозможность существования потенциально недоступных объектов, владелец, которых отсутствует. Но реализация права полного доступа к любому объекту по средствам назначения себя и его владельцем не позволяет привилегированному пользователю использовать свои полномочия незаметно для реального владельца.
Дискреционное управление доступом реализуется в виде матрицы доступа.
Достоинства:
1. простая реализация.
2. хорошая изученность.
3. реализуемость в О.С.
Недостатки:
1. статичность разграничений доступа, т. е невозможность изменения права доступа к открытому объекту.
2. не обеспечивает защиту от утечки конфиденциальной информации.
S. | CO. | PO. | |
LU. | O, R, W. | W. | |
NU. | -; | O, R, W. | |
CO — объект с конфиденциальной информацией, владелец которого является хороший пользователь.
PO — объект с исходным кодом программы, содержит закладку («троянский конь»), владелец которой нехороший пользователь.
NU — нарушитель.
Нарушитель NU создает ситуацию, при которой владелец объекта с конфиденциальной информацией запускает программу из объекта PO, активируя тем самым закладку, которая имеет в этом случае права доступа NU, читает информацию PO, после этого NU читает информацию конфиденциальную из РО.
3.4 Мандатное управление доступом.
Мандатный подход требует ограничения:
1. все объекты и субъекты должны быть однозначно идентифицированы;
2. должен существовать линейно упорядоченный набор меток конфиденциальности и соответствующие им степени доступа;
3. каждому объекту должна быть присвоена метка конфиденциальности;
4. каждому субъекту должна быть присвоена степень доступа;
5. в процессе своего существования каждый субъект должен иметь свой уровень конфиденциальности объектов, в котором данный субъект получил доступ;
6. должен существовать привилегированный пользователь, имеющий полномочия на удаление любого объекта в системе;
7. понизить метку конфиденциальности объекта может только субъект, имеющий доступ к объекту и обладающий специальной привилегией;
8. право на чтение информации из объекта получает только тот субъект, степень допуска которого не больше метки конфиденциальности данного объекта;
9. право на запись информации в объект получает только тот субъект, уровень конфиденциальности которого не меньше метки конфиденциальности данного объекта;
Основной целью мандатного правления является предотвращение утечки информации. Для мандатного подхода характерно, если начальное состояние системы было безопасно и все переходы в системе из одного состояния в другое не нарушают правило разграничения доступа, то любое состояние системы безопасно.
Достоинства:
· высокая надежность работы системы, так как разграничение доступом к объектам контролируется,.
· простота правил определения разграничения доступом.
Недостатки:
· сложность программной реализации, которая увеличивает вероятность внесения ошибки и появление каналов утечки информации,.
· снижение эффективности, так как проверка прав доступа субъекта к объекту выполняется не только при открытии объекта, но и перед выполнением любой операции,.
· создаются дополнительные неудобства, связанные с невозможностью изменением информации в не конфиденциальном объекте, если тот процесс использует не конфиденциальную информацию.
В оранжевой книге выделено 2 класса защищенности, в которых реализовано дискреционное управление, и 3 в которых мандатное.
Мандатное управление доступом основано на метках конфиденциальности информации и офисном разрешении допуска субъектов. Под уровнем секретности будет пониматься атрибут, который может быть ассоциирован с сущностью системы, может быть ассоциирован степенью критичности в смысле безопасности. Этот атрибут может обозначать степень ущерба от нарушителя безопасности или чувствительность, которая определяет ценность ресурса или важность или может учитывать его уязвимость. Совокупность линейно упорядоченных уровней системы секретности образует классификацию:
· по уровню общедоступности для служебного использования,.
· степень доверия определяющей уровень секретности функции, отражающие объекты и субъекты на уровне секретности, можно определить на множестве субъектов и объектов.
Кроме уровня секретности вводится множество категорий, которые определяют тип информации. Например, категория для прессы ядерный, стратегический.
Множество уровней секретности образует решетку по отношению к операции упорядочивания.
SC — множество уровней секретности.
— операция упорядочивания элементов на этом множестве уровней элементов. Это отношение рефлексивно, транзитивно и ассиметрично. При этом для каждого множества SC существует верхняя граница над этим уровнем.
SCс=мах (А, В).
1. АС и ВС.
2. АВ и BD CDDSC.
Классической моделью мандатного управления доступом является модель Белла и Лападула. В основе модели Белла и Лападула лежит работа с документами в правительстве США.
Субъектам с низким уровнем секретности не позволяют читать информацию из объектов с высоким уровнем секретности. Субъектам не позволяют размещать информацию имеющую более низкий уровень секретности.
Второе правило размещения «троянского коня», т. е. запись на более низкий уровень секретности запрещается. На одинаковом уровне секретности субъектам доступна соответствующая информация.
Пусть S — множество субъектов, О — множество объектов, Lрешетка уровней секретности.
ОS — будут характеризоваться множеством, — множество состоит из упорядоченных пар [F, M]. М — матрица доступа субъектов к объектам.
Fопределяет уровни секретности аргументов или субъектов, объектов. Множество запросов R состоит из переходов Т (VR)V. Будут определяться декартовым произведением предыдущего состояния на запрос и переход на новое состояние.
Недостатки модели Белла — Лападула устраняются за счет дополнительного обеспечения, что приводит к усложнению программ, и как правило к дополнительному контролю за скрытыми каналами утечки информации, которые характерны для MAC контроля доступом.
3.5 Модель китайской стены.
Выражает динамическое изменение прав доступа. Модель построена следующим образом: сначала определено понятие «китайской стены», а затем множество правил, декларирующих то, что ни один субъект не может получить доступ к данным по некорректную сторону стены.
Основной политикой является утверждение о том, что субъект может получить доступ к информации, не входящей в конфликт с любой информацией, к которой он имел доступ до этого. Пусть существует 3 класса конфликтов интересов: (a, b, c),(d, e, f),(g, h, i). Изначально субъект имеет доступ к любому множеству от a до i, но если субъект получил доступ к множеству e, то согласно второму классу конфликтов интересов ему запрещен доступ к множеству d и f. Формально это правило может быть выражено следующим образом пусть S-множество субъектов, О — множество объектов, CD — множество объектов, принадлежащих одной компании, COI — класс, описывающий конфликт интересов, PR (S) -множество объектов к которым S имел доступ по чтению. Тогда правило безопасности для китайской стены имеет вид:
— S может читать О, если и только если существует О1, для которого SO` CD (O`)=CD (O);
— для всех О1 со свойством О1 принадлежащих PR (S) следует COI (O`)=COI (O);
— O содержит общедоступную информацию, т. е. доступ по чтению предоставляется субъекту, если доступ к запрашиваемому ресурсу был предоставлен и он не входит в конфликт с запрашиваемым классом. По записи доступ разрешен, если он разрешен простым правилом безопасности и не существует объекта, который может быть прочитан из множества данных, отличного от того, в которое производиться запись и содержащего не общедоступную информацию.
При создании мандатной модели категории целостности, которая так же как в модели Белла-Лападула образует решетку. Модель целостности Биба аналогично модели Белла-Лападула имеет аналогичные правила. Например, целостности записи наверх может представлять угрозу в том случае, если субъект с низким уровнем целостности искажает или уничтожает данные, лежащие на более высоком уровне целостности. Это может быть сформулировано следующими примерами:
— нет чтения снизу (no read down);
— нет записи наверх (no write up);
По направлению эти правила являются противоположными правилам Белла-Лападула.
Достоинства:
— наследует те положительные характеристики модели Белла-Лападула, включая простоту, интуитивность, доходчивость модели при проектировании;
— модель Биба также подразумевает монотонное изменение уровней целостности, т. е. уровни остаются неизменными или снижаются, модель не предусматривает повышение целостности.
3.6 Модель целостности Кларка Вильсона.
Модель основана на анализе методов управления документооборотом в неавтоматизированном офисе коммерческой организации. Основой для модели являются транзакции, состоящие из последовательности операций, переводящих систему из одного состояния в другое.
Объекты в модели представлены в виде конечного множества данныхD, данные разделяются на два множества: однообладает целостностью (контролируется целостность) -CDI (constrained data items); второеданные не контролируются на целостность — UDI (unconstrained data items);
CDI U UDI= D,.
CDI? UDI=Ш.
Субъекты включены в модель как множество компонентов, которые могут инициировать транзакцииTP (transformation procedure). В модели так же определена процедура утверждения целостности IVP (integrity verification procedure).
Модель Кларка Вильсона можно рассматривать как набор из девяти правил:
1) в системе должны иметься IVP, подтверждающие целостность любой CDI/ Простейшим методом подтверждения целостности является проверка контрольной суммы CDI;
2) применение любой TP к любому CDI должно сохранять целостность этого CDI;
3) только TP могут вносить изменения в CDI; процедуры и действия, не являющиеся TP не могут изменяться CDI;
4) субъекты могут инициализировать только определенные TP над определёнными CDI. Это правило предполагает, что система должна определять и поддерживать некоторые отношения между TP и CDI, так называемые KBM — тройки, которые имеют аргумент (s, t, d), это обозначает, что субъекту S разрешается применить к TP по имени — t, к CDId, если это правило не определено, то процедура невозможна! Это правило гарантирует, что всегда можно определить, кто может изменить CDI и как это изменение может произойти;
5) КВМ — тройки должна проводить политику разделения обязанностей субъектов;
6) специальные TP могут превращать UDI в CDI, т. е. повышать целостность данных (специальные TP);
7) каждое применение TP должно регистрироваться в специальном CDI, доступным только для добавления информации. В данной CDI необходимо записывать информацию, достаточную для восстановления работы системы, это правило требует введения специального регистрационного журнала, который храниться в определенном CDI;
8) система должна распознавать субъекты, пытающиеся инициализировать TP. Этот механизм помогает определить атаки подмены;
9) система должна разрешать производить изменения в списке авторизации только специальным субъектам. Это правило гарантирует, что основная защита, определяемая КВМ тройкой, не будет обойдена злоумышленником, пытающимся изменить содержание такого списка.
Эти 9 правил определяют: как может быть проверена целостность, как и кем, могут изменяться CDI, и как UDI могут быть превращены в CDI.
3.7 Модель Липкера.
Модель Липкера представляет собой объединение моделей Белла-Лападула с моделью Биба и представляет собой реализацию требований к разработке программного обеспечения и последующего его использования.
Правила:
1) пользователи не имеют права на разработку программного обеспечения, а используют существующее прикладное программное обеспечение;
2) программисты разрабатывают и тестируют программы в системе, не обрабатывающие критичные данные, т. е. без проверок на целостность, безопасность;
3) для внесения разработанных программ в систему используется специально разработанный механизм;
4) механизм, описанный в 3) должен контролироваться, а результаты фиксироваться в журнале аудита;
5) администраторы системы должны иметь возможность доступа к данным аудита и функциям администрирования системы.
В модели определены два уровня безопасности:
— высший (управление и аудит) на этом уровне находятся функции управления системой и аудит системы;
— низший (SL) информация на данном уровне может читать любой процесс;
В модели определено 5 категорий:
1) разработка D (Development) — к данной категории относятся разработанные и тестируемые прикладные программы;
2) прикладные программы PC (Production Code) — к данной категории относятся прикладные программы, используемые в системе;
3) критичные данные PD (Production Data) — к данной категории относятся данные, целостность которых контролируется;
4) разрабатываемые системные программы SD (System Development) — к данной системной категории относятся разрабатываемые и тестируемые системные программы;
5) средства разработки T (Software Tools) — к данной категории относятся прикладные программы, используемые для разработки приложений и не участвующие в разработке критичных данных.
4. Идентификация и аутентификация.
Для того чтобы политики разграничения доступа могли связать пользователей системы с их представлением в вычислительной системе, необходимо наличие некоторого механизма, позволяющего определить соответствие пользователей и их представлений. Данный механизм называется идентификация/ аутентификация.
Под идентификацией понимается присвоение субъектом и объектом доступа идентификатора и сравнения предъявленного с перечнем присвоенных идентификаторов. Идентификация состоит из процедур, позволяющих внешним по отношению к некоторой вычислительной системы агентам уведомлять систему об их личности. При этом разделяются понятие уведомления системы и гарантии того, что это уведомление корректно. В результате идентификацию объединяют со вторым понятием аутентификацией, которое гарантирует корректность идентификационной последовательности.
Под аутентификацией понимается проверка принадлежности субъекту доступа предъявленного им идентификатора, подтверждение подлинности. Под информацией аутентификации понимается информация, используемая для установления подлинности запрашиваемой личности.
Методы обычно включают:
1. метод проверки правильности данных, дающий доказательство или выражающий доверие факту, что личность, о которой сообщалось — допустима;
2. функции добавления новых идентификаторов в систему с обеспечением соответствующей информации аутентификации, а так же удаление устаревшей и соответствующей им информации аутентификации из системы;
3. функции генерации, изменения и просмотра авторизированными пользователями информации аутентификации;
4. функции проверки целостности и предотвращения неавторизированного использования информации аутентификации;
5. функции ограничения количества попыток ввода для некорректной информации аутентификации.
Выделяются три метода аутентификации:
1) аутентификация, основанная на обладании предметом (карточкой, ключом…);
2) аутентификация, основанная на воплощенных характеристиках;
3) аутентификация, основанная на знаниях.
Биометрическая аутентификация основана на аутентификации в распознавании некоторой характеристики являющейся неотъемлемой частью агента: голос, отпечатки пальцев, сетчатая оболочка глаза. Этот метод относится к биометрическим системам.
Парольная аутентификация — это аутентификация, основанная на знаниях. Под паролем понимается конфиденциальная информация, обычно состоящая из строки символов.
В парольной аутентификации предъявляют ряд требований как к администраторам и пользователям, так и к механизму аутентификации.
Требования к администратору:
1) требование к администратору системы (инициализация парольной системы). Многие системы поставляются с встроенными учетными записями, администратор должен заменить все встроенные в систему учетные записи;
2) администратор должен сгенерировать пароли всех новых учетных записей и проинформировать об этом пользователей;
3) пользователь может забыть пароль, или администратор может обнаружить, что пароль скомпрометирован, для решения подобных проблем администратор должен иметь возможность изменения пароля любого пользователя даже не зная забытого пароля;
4) не в один из моментов функционирования системы два пользователя не могут иметь два одинаковых идентификатора или знать для них пароль;
5) администратор отвечает за своевременное удаление учетных записей из системы.
Требования к пользователям системы:
1) пользователи несут ответственность за тайну пароля и докладывают администратору обо всех нарушениях безопасности, т. е. помогают администратору обнаружить нарушения;
2) пароли должны меняться периодически и пользователи должны помнить пароли;
Требования к механизму аутентификации:
1) при внутреннем хранении паролей база данных паролей должна быть защищена, а пароли должны быть зашифрованы. При проверке паролей их не расшифровывают, а сравнивают как зашифрованное значение кэш-функции;
2) система не должна отображать пароли, вводимые пользователями;
3) количество попыток неуспешного входа в систему должно быть ограничено;
4) система должна регистрировать использование и смену пароля, при этом сами пароли не регистрируются;
5) при входе в систему с некоторой учетной записью пользователь должен быть оповещен о времени последнего входа в систему с этой учетной записью, месте последнего входа и результате последнего входа с этой учетной записью. В этом же документе должна быть приведена оценка пароля со следующими параметрами:
L — максимальное время жизни пароля, M — длина пароля, А — количество символов в пароле, Р — вероятность того, что пароль может быть подобран за время его жизни, R — количество возможных попыток подбора в единицу времени, S — количество паролей, которое может создать генератор,.
S=Am.
Gколичество попыток подбора, то вероятность того, что пароль может быть подобран за.
L S=G/P = LЧR/P, M=logA (LЧR/P); P=10−6, Pкр=10−20.
4.1 Реализация подсистемы идентификации /аутентификации в Windows 2000.
Поддержку механизмов идентификации/аутентификации осуществляет диспетчер учетных записей (Security Account Manager — SAM). База данных SAM представляет собой один из кустов реестра Windows 2000, находящийся в ветви HKey_Local_Machine.База данных SAM находиться в файле winntrootsystem32configsam. Доступ к данным для обычных пользователей и групп запрещен. Пароли в базе данных SAM хранятся в виде двух 16-тибайтовых последовательностях, которые зашифрованыt кэшированные пароли системы Windows2000 и системы LAN Manager. В Windows 2000 пароль в виде строки символов Unicode преобразуется с использованием кэш-функции RSA MD-4, а полученное 16-тибайтовое число шифруется по алгоритму DES. Стандарт системы LAN считается одним из слабых мест парольной системы Windows 2000, поскольку пароль состоит из двух частей 14-тибайтового пароля, которые обрабатываются независимо, поэтому имеется возможность оценить длину пароля > или < 8 символов, а длинный пароль эквивалентен двум коротким, а это облегчает взлом.
Процедуру интерактивного входа с механизмом идентификации/аутентификации можно представить следующим образом:
— пользователь набирает комбинацию: CTRl/ALT/DEL, которая обрабатывается системой на низком уровне и препятствует созданию программ, маскирующихся под системный процесс входа и перехватывающих введение пароля;
— в диалоговом окне пользователь вводит пользовательское имя и пароль, и имя домена, на котором происходит вход в систему и это зависит от места нахождения пользовательской учетной записи. Процесс входа в систему вызывает пакет аутентификации.
5. Аудит.
Под аудитом понимается использование автоматизированных механизмов, вызывающих создание и хранение в защищенном компьютерном журнале записей деятельности вычислительной системы.
Учетность — свойство, обеспечивающее однозначное отслеживание собственных действий любого логического объекта.
Механизм аудита:
1) просмотр:
· попыток доступа к отдельным объектам;
· активности процессов и пользователей;
· использование механизмов защиты системы;
2) обнаружение попыток обхода механизмов защиты авторизированными пользователями и нарушителями;
3) для выявления использования привилегий больших, чем необходимо пользователю;
4) для использования в качестве мер защиты сообщений нарушителям, о том, что их действия фиксируются;
5) для использования в качестве гарантии надежности для авторизированных пользователей, что все попытки обхода системы защиты будут зафиксированы.
Пользователи механизма аудита:
— аудиторы;
— пользователи механизма аудита.
Аудиторы — настраивают механизмы аудита, выбирая события в системе, которые надо фиксировать и выполняют анализ этих событий. Обычно эти функции выполняет системный администратор.
Пользователи — не только генерируют события аудита, но и знают, что механизм аудита присутствует, т. е. не будут нарушать правила безопасности.
Механизм аудита регистрирует следующие операции:
1) доступ субъектов к объектам;
2) использования механизмов администрирования вычислительной системы;
3) действия администратора и других привилегий пользователей;
4) вывод документов на печать и др. события, которые могут повлиять на безопасность вычислительной системы.
Записи аудита:
— дата и время события;
— идентификатор пользователя;
— тип события;
— результат события.
К подсистеме аудита могут быть предъявлены следующие дополнительные требования:
— сжатие данных;
— ведение нескольких журналов аудита;
— представление данных аудита в удобной форме.
5.1 Реализация подсистемы аудита Windows 2000.
Существует 3 журнала:
1) системный журнал, который ведется для критичных событий.
2) (сбой системы, отказ компонентов);
3) журнал приложений, события в который добавляют приложения пользователей;
4) журнал безопасности, фиксируются записи о событиях, относящихся к безопасности.
Категории событий аудита.
1) Privilege userиспользование привилегий;
2) System-системные события;
3) Object access-доступ к объектам;
4) Logonвход в систему;
5) Policy changeизменение политики безопасности, и др.
Для просмотра событий имеются средства просмотра событий аудита и администратор может определить реакцию системы на переполнение журнала аудита, которое может быть представлено:
— остановка системы;
— запрет функционирования системы аудита;
— удаление старых записей;
6. Уязвимость.
Уязвимость — это некоторая слабость, которую можно использовать для нарушения безопасности системы или содержащейся в ней информации.
Уязвимости могут возникать из-за следующих причин:
1) логическая ошибка, которая может содержаться в операционной системе или пользовательском приложении (ошибка реализации механизма безопасности);
2) слабость, т. е. такой механизм, что его использование при определенных условиях приводит к нарушению безопасности (устаревшее аппаратное программное обеспечение, небезопасная конфигурация) ;
3) некорректное использование системы, пользователи системы сами нарушают политику безопасности, которая создает условия для успеха атаки.
Уязвимость характеризуется:
1) ошибка и тип ошибки, приводящей к образованию уязвимости;
2) последствия, т. е. степенью компрометации безопасности системы (получение нарушителем прав администратора, получение доступа к системе с правами авторизированного пользователя, получение несанкционированного доступа к защищенным файлам, отказ системы или её функциональной части в обслуживании);
3) авторизация (права, необходимые нарушителю для осуществления атаки и определения его уровня возможностей);
4) местонахождение (представляет необходимость физического доступа нарушителя для проведения атаки):
— доступ к системному серверу;
— доступ к сети;
При проектировании систем процесс занесения уязвимости состоит из следующих этапов (процедур):
1) обнаружение уязвимостей;
2) оповещение пользователей;
3) присвоение уязвимости идентификатора, на основе которого она будет распознаваться или именоваться;
4) предложение для включения в список уязвимостей новых уязвимостей;
5) модификация (изменение) характеристик уязвимостей;
6) публикация (оповещение списка уязвимостей);
7) переоценка (изменение списка уязвимостей).
6.1 Ошибки, приводящие к уязвимости.
1) ошибки синхронизации (несовпадение событий);
2) ошибки проверки условий;
3) ошибки проверки входных данных;
4) ошибка переполнения буфера, данные выходят за пределы буфера и ссылки за продолжение работы программы, за пределом буфера могут быть перехвачены злоумышленником. Атаки на переполнение буфера могут быть связаны с:
— адрес возврата из функции (управление может быть передано на код нарушителя);
— указатель на функцию;
— указатель на данные.
5) ошибки администрирования:
— ошибки конфигурации;
— ошибки окружения.
6.2 Поиск уязвимостей в процессе разработки и анализа систем.
Поиск уязвимостей может осуществляться в два этапа:
1) анализ исходных текстов программ (статика);
2) динамический анализ безопасности программ.
При статическом анализе решаются следующие задачи:
1) исследование структуры программ;
2) выделение набора стандартных функций;
3) выявление способов и целей взаимодействия программы с внешними устройствами и ресурсами;
4) поиск типовых уязвимостей;
5) поиск разрушающих средств в коде программы.
Динамический анализ: исследование поведения программы под воздействием разнообразной входной информации с обеспечением полного контроля использования внешних устройств и системных ресурсов.
К средствам динамического анализа относятся:
— автоматизированные отладчики;
— средства мониторинга.
Отладчики:
1) программа NuMegaBoundsChecker осуществляет детальный анализ ошибок программирования на С++, диагностирует ошибки в статической памяти, в стеке и «куче» .
Позволяет спроектировать трассу отлаживаемого приложения в виде дерева функций с указанием адреса вызова, значения аргументов и результатов вывода;
2) программа Rational Software Purify — служит отладчиком, оптимизатором, проверяет элементы Ole и Activex, библиотеки системы компоновки (MFC); компоненты Visial Basic, Internet и приложения Microsoft Office, приложения, выполняющиеся в режиме эмуляции WinCe под управлением Windows NT.
Кроме динамического анализа исполняемого кода существуют программы мониторинга, обращения к файловой системе и системному реестру: Filemon, Regmon.
Комбинация графической среды пользователя и драйвер-устройств; драйверы регистрируют в системе и перехватывают обращения к системе и системному реестру, при этом отсеиваются обращения всех запущенных приложений; оболочка пользователя служит для отображения информации о перехваченных обращениях и настройки драйверов.
Возможности 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'©,.
где к' - ключ для расшифрования.
Совокупность реализуемых Е и 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.
PP- взаимная пересылка.
Число раундов 32. Алгоритм расшифрования.
C =f (C, K).
N = C¦C.
CC.
Эта криптосистема может использоваться в трех основных и одном дополнительном.
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=47 053 и М=46 620. Выберем открытый ключ шифрования D=16 813 и вычислим секретный ключ расшифровывания Е= 19 837. Теперь, взяв за сообщение название метода RSA, переведем его в число. Для этого будем считать букву R равной 18, S равной 19, А равной 1 по порядковому номеру их положения в английском алфавите. На представление каждой буквы отведем по 5 бит числа, представляющего открытый текст. В этом случае слову RSA соответствует следующее число:
S=((1−32)+19) -32+18−1650.
С помощью открытого ключа получаем шифровку:
S'=SD MOD N=165 016 813 MOD47053=3071.
Получатель расшифровывает ее с помощью секретного ключа:
S = S’E MOD N=307 119 837 MOD 47 053=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 =BRT 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.