1.Информационная безопасность. Основные понятия и определения.
2 .Основные угрозы безопасности АСОИ.
3. Обеспечение безопасности АСОИ.
4.
Криптография. Основные понятия и определения.
5.
Симметричные
системы шифрования.
6.
Асимметричные
системы шифрования.
7.
Виды
криптоаналитических атак.
8. Традиционные симметричные криптосистемы. Шифры перестановок (примеры).
9. Традиционные симметричные криптосистемы. Шифры простой замены.
11. Традиционные симметричные криптосистемы. Шифры
сложной замены.
12. Шифрование по
таблице Вижинера.
13. Одноразовая
система шифрования.
14. Шифрование
методом Вернама (сложение по модулю 2).
15. Традиционные симметричные криптосистемы.
Гаммирование.
16.Методы генерации псевдослучайных
последовательностей чисел.
17.Современные симметричные криптосистемы. Стандарт DES
18.Алгоритм шифрования данных IDEA
19.Отечественный стандарт
шифрования данных.
20. Асимметричные
криптосистемы.
22. Криптосистема шифрования данных RSA. Пример в числовой форме.
23. Сравнение симметричных и ассиметричных систем.
24. Идентификация и проверка
подлинности. Основные понятия и концепции.
25. Идентификация и механизмы
подтверждения подлинности пользователя.
26. Взаимная проверка подлинности пользователей. Механизм запроса-ответа
27. Взаимная проверка подлинности пользователей. Механизм отметки
времени.
29. Проблема аутентификации
данных и электронная цифровая подпись
30. Однонаправленные
хэш-функции.Схемы безопасного хеширования.
31. Алгоритм цифровой подписи RSA
32. Управление
криптографическими ключами. Основные понятия.
34. Хранение ключей.
35. Аутентификация мастер-ключа хост-компьютера.
36. Схема защиты сеансового ключа.
37. Распределение ключей. Использование центров распределения ключей.
38. Распределение ключей
прямым обменом сеансовыми ключами между пользователями сети.
40. Особенности
функционирования межсетевых экранов.
41. Основные компоненты межсетевых экранов. Фильтрующие
маршрутизаторы.
42. Основные компоненты межсетевых экранов. Шлюзы сетевого уровня.
43. Основные компоненты межсетевых экранов. Шлюзы
прикладного уровня.
47. Основные схемы сетевой защиты на базе
межсетевых экранов. Межсетевой экран - экранированная подсеть.
49. Защита от копирования.
“Привязка" к компьютеру.
50. Защита от копирования. Введение ограничений
на использование программного обеспечения.
51. Защита от копирования. Привязка к диску
52. Правовые аспекты компьютерной безопасности.
55. RAID-массивы.
1. Информационная
безопасность. Основные понятия и определения.
Под безопасностью АСОИ понимают ее защищенность от случайного или преднамеренного вмешательства в нормальный процесс ее функционирования, а также от попыток хищения, изменения или разрушения ее компонентов.
Природа воздействий на АСОИ может быть самой разнообразной. Это и стихийные бедствия (землетрясение, ураган, поджар), и выход из строя составных элементов АСОИ, и ошибки персонала, и попытка проникновения злоумышленника.
Безопасность АСОИ достигается принятием мер по обеспечению конфиденциальности и целостности обрабатываемой ею информации, а также доступности и целостности компонентов и ресурсов системы.
Под доступом к информации понимается ознакомление с информацией, ее обработка, в частности копирование, модификация или уничтожение информации.
Различают санкционированный и несанкционированный доступ к информации.
Санкционированный доступ к информации - это доступ к информации, не нарушающий установленные правила разграничения доступа.
Правила разграничения доступа служат для регламентации права доступа субъектов доступа к объектам доступа.
Несанкционированный доступ к информации характеризуется нарушением установленных правил разграничения доступа.
Конфиденциальность данных - это статус, предоставленный данным и определяющий требуемую степень их защиты.
Субъект - это активный компонент системы, который может стать причиной потока информации от объекта к субъекту или изменения состояния системы.
Объект - пассивный компонент системы, хранящий, принимающий или передающий информацию. Доступ к объекту означает доступ к содержащейся в нем информации.
Целостность информации обеспечивается в том случае, если данные в системе не отличаются в семантическом отношении от данных в исходных документах, т.е. если не произошло их случайного или преднамеренного искажения или разрушения.
Целостность компонента или ресурса системы - это свойство компонента или ресурса быть неизменными в семантическом смысле при функционировании системы в условиях случайных или преднамеренных искажений или разрушающих воздействий.
Доступность компонента или ресурса системы - это свойство компонента или ресурса быть доступным для авторизованных законных субъектов системы.
Под угрозой безопасности АСОИ понимаются возможные воздействия на АСОИ, которые прямо или косвенно могут нанести ущерб ее безопасности.
Ущерб безопасности подразумевает нарушение состояния защищенности информации, содержащейся и обрабатывающейся в АСОИ. С понятием угрозы безопасности тесно связано понятие уязвимости АСОИ.
Уязвимость АСОИ - это некоторое неудачное свойство системы, которое делает возможным возникновение и реализацию угрозы.
Атака на компьютерную систему - это действие, предпринимаемое злоумышленником, которое заключается в поиске и использовании той или иной уязвимости системы. Таким образом, атака - это реализация угрозы безопасности.
Противодействие угрозам безопасности является целью защиты систем обработки информации.
Безопасная или защищенная система - это система со средствами защиты, которые успешно и эффективно противостоят угрозам безопасности.
Комплекс средств защиты представляет собой совокупность программных и технических средств, создаваемых и поддерживаемых для обеспечения информационной безопасности АСОИ. Комплекс создается и поддерживается в соответствии с принятой в данной организации политикой безопасности.
Политика безопасности - это совокупность норм, правил, практических рекомендаций, регламентирующих работу средств защиты АСОИ от заданного множества угроз безопасности.
2.
Основные угрозы безопасности АСОИ.
По цели воздействия различают три основных типа угроз безопасности АСОИ:
- угрозы нарушения конфиденциальности информации;
- угрозы нарушения целостности информации;
- угрозы нарушения работоспособности системы (отказы в обслуживании).
Угрозы нарушения конфиденциальности направлены на разглашение конфиденциальной или секретной информации. При реализации этих угроз информация становится известной лицам, которые не должны иметь к ней доступ.
Угрозы нарушения целостности информации, хранящейся в компьютерной системе или передаваемой по каналу связи, направлены на ее изменение или искажение, приводящее к нарушению ее качества или полному уничтожению. Целостность информации может быть нарушена умышленно злоумышленником, а также в результате объективных воздействий со стороны среды, окружающей систему.
Угрозы нарушения работоспособности направлены на создание таких ситуаций, когда определенные преднамеренные действия либо снижают работоспособность АСОИ, либо блокируют доступ к некоторым ее ресурсам.
Компоненты АСОИ можно разбить на следующие группы:
- аппаратные средства - ЭВМ и их составные части (процессоры, мониторы, терминалы, периферийные устройства - дисководы, принтеры, контроллеры, кабели, линии связи) и т.д.;
- программное обеспечение - приобретенные программы, исходные, объектные, загрузочные модули; операционные системы и системные программы (компиляторы, компоновщики и др.), утилиты, диагностические программы и т.д.;
- данные - хранимые временно и постоянно, на магнитных носителях, печатные, архивы, системные журналы и т.д.;
- персонал - обслуживающий персонал и пользователи.
Опасные воздействия на АСОИ можно подразделить на случайные и преднамеренные. Анализ опыта проектирования, изготовления и эксплуатации АСОИ показывает, что информация подвергается различным случайным воздействиям на всех этапах цикла жизни и функционирования АСОИ. Причинами случайных воздействий при эксплуатации АСОИ могут быть:
- аварийные ситуации из-за стихийных бедствий и отключений электропитания;
- отказы и сбои аппаратуры;
- ошибки в программном обеспечении;
- ошибки в работе обслуживающего персонала и пользователей;
- помехи в линиях связи из-за воздействий внешней среды.
Преднамеренные угрозы связаны с целенаправленными действиями нарушителя. В качестве нарушителя могут выступать служащий, посетитель, конкурент, наемник и т.д.
В частности, для банковских АСОИ можно выделить следующие преднамеренные угрозы:
- несанкционированный доступ посторонних лиц, не принадлежащих к числу банковских служащих, и ознакомление с хранимой конфиденциальной информацией;
- ознакомление банковских служащих с информацией, к которой они не должны иметь доступ;
- несанкционированное копирование программ и данных;
- кража магнитных носителей, содержащих конфиденциальную информацию;
- кража распечатанных банковских документов;
- умышленное уничтожение информации;
- несанкционированная модификация банковскими служащими финансовых документов, отчетности и баз данных;
- фальсификация сообщений, передаваемых по каналам связи;
- отказ от авторства сообщения, переданного по каналам связи;
- отказ от факта получения информации:
- навязывание ранее переданного сообщения;
- разрушение информации, вызванное вирусными воздействиями;
- разрушение архивной банковской информации, хранящейся на магнитных носителях;
- кража оборудования.
Несанкционированный доступ (НСД) является наиболее распространенным и многообразным видом компьютерных нарушений. Суть НСД состоит в получении нарушителем доступа к объекту в нарушение правил разграничения доступа, установленных в соответствии с принятой в организации политикой безопасности.
Перечислим основные каналы несанкционированного доступа, через которые нарушитель может получить доступ к компонентам АСОИ и осуществить хищение, модификацию и/или разрушение информации:
- все штатные каналы доступа к информации (терминалы пользователей, оператора, администратора системы; средства отображения и документирования информации; каналы связи) при их использовании нарушителями, а также законными пользователями вне пределов их полномочии;
- технологические пульты управления;
- линии-связи между аппаратными средствами АСОИ;
- побочные электромагнитные излучения от аппаратуры, линий связи, сетей электропитания и заземления и др.
3. Обеспечение безопасности
АСОИ.
Обеспечение безопасности АСОИ предполагает организацию противодействия любому несанкционированному вторжению в процесс функционирования АСОИ, а также попыткам модификации, хищения, выведения из строя или разрушения ее компонентов, т.е. защиту всех компонентов АСОИ - аппаратных средств, программного обеспечения, данных и персонала.
Существуют два подхода к проблеме обеспечения безопасности АСОИ: "фрагментарный" и комплексный.
"Фрагментарный" подход направлен на противодействие четко определенным угрозам в заданных условиях. В качестве примеров реализации такого подхода можно указать отдельные средства управления доступом, автономные средства шифрования, специализированные антивирусные программы и т.п.
Достоинством такого подхода является высокая избирательность к конкретной угрозе. Существенным недостатком данного подхода является отсутствие единой защищенной среды обработки информации. Фрагментарные меры защиты информации обеспечивают защиту конкретных объектов АСОИ только от конкретной угрозы. Даже небольшое видоизменение угрозы ведет к потере эффективности защиты.
Комплексный подход ориентирован на создание защищенной среды обработки информации в АСОИ, объединяющей в единый комплекс разнородные меры противодействия угрозам. Организация защищенной среды обработки информации позволяет гарантировать определенный уровень безопасности АСОИ, что является несомненным достоинством комплексного подхода. К недостаткам этого подхода относятся: ограничения на свободу действий пользователей АСОИ, большая чувствительность к ошибкам установки и настройки средств защиты, сложность управления.
Комплексный подход к проблеме обеспечения безопасности основан на разработанной для конкретной АСОИ политике безопасности. Политика безопасности представляет собой набор норм, правил и практических рекомендаций, на которых строится управление, защита и распределение информации в АСОИ.
Различают два основных вида политики безопасности: избирательную и полномочную.
Избирательная политика безопасности основана на избирательном способе управления доступом.
Матрица доступа представляет собой матрицу, в которой столбец соответствует объекту системы, а строка - субъекту. На пересечении столбца и строки матрицы указывается тип разрешенного доступа субъекта к объекту.
Полномочная политика безопасности основана на полномочном (мандатном) способе управления доступом. Полномочное (или мандатное) управление доступом характеризуется совокупностью правил предоставления доступа, определенных на множестве атрибутов безопасности субъектов и объектов, например, в зависимости от метки конфиденциальности информации и уровня допуска пользователя.
Под системой защиты АСОИ понимают единую совокупность правовых и морально-этических норм, административно-организационных мер, физических и программно-технических средств, направленных на противодействие угрозам АСОИ с целью сведения к минимуму возможности ущерба.
Процесс построения системы защиты включает следующие этапы:
- анализ возможных угроз АСОИ;
- планирование системы защиты;
- реализация системы защиты;
- сопровождение системы защиты.
4
Криптография. Основные понятия и определения.
Криптография представляет собой совокупность методов преобразования данных, направленных на то, чтобы сделать эти данные бесполезными для противника. Такие преобразования позволяют решить две главные проблемы защиты данных:
- проблему конфиденциальности (путем лишения противника возможности извлечь информацию из канала связи)
- проблему целостности (путем лишения противника возможности изменить сообщение так, чтобы изменился его смысл, или ввести ложную информацию в канал связи).
Проблемы конфиденциальности и целостности информации тесно связаны между собой, поэтому методы решения одной из них часто применимы для решения другой.
Обобщенная схема криптографической системы, обеспечивающей шифрование передаваемой информации, показана на рис.2.1. Отправитель генерирует открытый текст исходного сообщения- М, которое должно быть передано законному получателю по незащищенному каналу. За каналом следит перехватчик с целью перехватить и раскрыть передаваемое сообщение. Для того чтобы перехватчик не смог узнать содержание сообщения М, отправитель шифрует его с помощью обратимого преобразования Ек и получает шифртекст (или криптограмму) С = Ек (М), который отправляет получателю.
Законный получатель, приняв шифртекст С, расшифровывает его с помощью обратного преобразования D = Ек-1 и получает исходное сообщение в виде открытого текста М:
Dk (С) = Ек-1 (Ек (М)) = М.
Преобразование Ек выбирается из семейства криптографических преобразований, называемых криптоалгоритмами. Параметр, с помощью которого выбирается отдельное используемое преобразование, называется криптографическим ключом К. Криптосистема имеет разные варианты реализации: набор инструкций, аппаратные средства, комплекс программ компьютера, которые позволяют зашифровать открытый текст и расшифровать шифр-текст различными способами, один из которых выбирается с помощью конкретного ключа К.
Вообще говоря, преобразование шифрования может быть симметричным или асимметричным относительно преобразования расшифрования. Это важное свойство функции преобразования определяет два класса криптосистем:
- симметричные (одноключевые) криптосистемы;
- асимметричные (двухключевые) криптосистемы (с открытым ключом).
Схема симметричной криптосистемы с одним секретным ключом была показана на рисунке. В ней используются одинаковые секретные ключи в блоке шифрования и блоке расшифрования.
Обобщенная схема асимметричной криптосистемы с двумя разными ключами k1 и К2; показана на рис. 2.2. В этой криптосистеме один из ключей является открытым, а другой - секретным.
5.
Симметричные
системы шифрования.
Вообще говоря, преобразование шифрования может быть симметричным или асимметричным относительно преобразования расшифрования. Это важное свойство функции преобразования определяет два класса криптосистем:
- симметричные (одноключевые) криптосистемы;
- асимметричные (двухключевые) криптосистемы (с открытым ключом).
Схема симметричной криптосистемы с одним секретным ключом показана на рисунке. В ней используются одинаковые секретные ключи в блоке шифрования и блоке расшифрования.
Отправитель генерирует открытый текст исходного сообщения- М, которое должно быть передано законному получателю по незащищенному каналу. За каналом следит перехватчик с целью перехватить и раскрыть передаваемое сообщение. Для того чтобы перехватчик не смог узнать содержание сообщения М, отправитель шифрует его с помощью обратимого преобразования Ек и получает шифртекст (или криптограмму) С = Ек (М), который отправляет получателю. Законный получатель, приняв шифртекст С, расшифровывает его с помощью обратного преобразования D = Ек-1 и получает исходное сообщение в виде открытого текста М:
Dk (С) = Ек-1 (Ек (М)) = М.
В этой системе используются одинаковые секретные ключи в блоке шифрования и блоке расшифрования.
В симметричной криптосистеме секретный ключ надо передавать отправителю и получателю по защищенному каналу распространения ключей, например такому, как курьерская служба.
6.
Асимметричные
системы шифрования.
Обобщенная схема асимметричной криптосистемы с двумя разными ключами k1 и К2; показана на рисунке В этой криптосистеме один из ключей является открытым, а другой - секретным.
7.
Виды
криптоаналитических атак.
Любая попытка со стороны перехватчика
расшифровать шифртекст для получения
открытого текста или зашифровать свой
собственный текст для получения
правдоподобного шифртекста , не имея подлинного ключа, называется крипто-аналитической
атакой.
Перечислим основные криптоаналитические атаки:
1. Криптоаналитическая атака при наличии только известного шифртекста. Криптоаналитик имеет только шифртексты нескольких сообщений, причем все они зашифрованы с использованием одного и того же алгоритма шифрования . Работа криптоаналитика заключается в том, чтобы раскрыть исходные тексты по возможности большинства сообщений или, еще лучше, вычислить ключ использованный для шифрования этих сообщений, с тем, чтобы расшифровать и другие сообщения, зашифрованные этим ключом.
2. Криптоаналитическая атака при наличии известного. открытого текста. Криптоаналитик имеет доступ не только к шифртекстам нескольких сообщений, но также к открытым текстам этих сообщений. Его работа заключается в нахождении ключа, используемого при шифровании этих сообщений, или алгоритма расшифрования любых новых сообщений, зашифрованных тем же самым ключом.
3. Криптоаналитическая атака при возможности выбора открытого текста. Криптоаналитик не только имеет доступ к шифртекстам и связанным с ними открытым текстам нескольких сообщений, но и может по желанию выбирать открытые тексты, которые затем получает в зашифрованном виде. Такой криптоанализ получается более мощным по сравнению с криптоанализом с известным открытым текстом, потому что криптоаналитик может выбрать для шифрования такие блоки открытого текста, которые дадут больше информации о ключе. Работа криптоамалитика состоит в поиске ключа К, использованного для шифрования сообщений, или алгоритма расшифрования dk новых сообщений, зашифрованных тем же ключом.
4. Криптоаналитическая атака с адаптивным выбором открытого текста. Это - особый вариант атаки с выбором открытого текста. Криптоаналитик может не только выбирать открытый текст, который затем шифруется, но и изменять свой выбор в зависимости от результатов предыдущего шифрования. При криптоанализе с простым выбором открытого текста криптоаналитик обычно может выбирать несколько крупных блоков открытого текста для их шифрования; при криптоанализе с адаптивным выбором открытого текста он имеет возможность выбрать сначала более мелкий пробный блок открытого текста, затем выбрать следующий блок в зависимости от результатов первого выбора, и т.д. Эта атака предоставляет криптоаналитику еще больше возможностей, чем предыдущие типы атак.
5. Криптоаналитическая атака с использованием выбранного шифртекста. Криптоаналитик может выбирать для расшифрования различные шифртексты , и имеет доступ к расшифрованным открытым текстам. Например, криптоаналитик получил доступ к защищенному от несанкционированного вскрытия блоку, который выполняет автоматическое расшифрование. Работа криптоаналитика заключается в нахождении ключа. Этот тип криптоанализа представляет особый интерес для раскрытия алгоритмов с открытым ключом.
6. Криптоаналитическая атака методом полного перебора всех возможных ключей. Эта атака предполагает использование криптоаналитиком известного шифртекста и осуществляется посредством полного перебора всех возможных ключей с проверкой, является ли осмысленным получающийся открытый текст. Такой подход требует привлечения предельных вычислительных ресурсов и иногда называется силовой атакой.
Существуют и другие, менее распространенные, криптоаналитические атаки.
8.Традиционные симметричные криптосистемы. Шифры перестановок (примеры).
Основной характеристикой шифра является криптостойкость, которая определяет это стойкость к раскрытию методами криптоанализа. Обычно эта характеристика определяется интервалом времени, необходимым для раскрытия шифра.
Шифрование перестановкой заключается в том, что символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста. При достаточной длине блока, в пределах которого осуществляется перестановка, и сложном неповторяющемся порядке перестановки можно достигнуть приемлемой для простых практических приложений стойкости шифра.
Шифр перестановки "скитала"
Шифрование выполнялось следующим образом. На стержень цилиндрической формы, который назывался скитала, наматывали спиралью полоску пергамента и писали на ней вдоль стержня несколько строк текста сообщения. Затем снимали со стержня полоску пергамента с написанным текстом. Буквы на этой полоске оказывались расположенными хаотично. Для расшифрования такого шифртекста нужно не только знать правило шифрования, но и обладать ключом в виде стержня определенного диаметра. Зная только вид шифра, но не имея ключа, расшифровать сообщение было непросто. Шифр скитала многократно совершенствовался в последующие времена.
В качестве ключа в шифрующих таблицах используются:
- размер таблицы;
- слово или фраза, задающие перестановку;
- особенности структуры таблицы.
Одним из самых примитивных табличных шифров перестановки является простая перестановка, для которой ключом служит размер таблицы. Этот метод шифрования сходен с шифром скитала. Например, сообщение
ТЕРМИНАТОР ПРИБЫВАЕТ СЕДЬМОГО В ПОЛНОЧЬ
записывается в таблицу поочередно по столбцам. Естественно, отправитель и получатель сообщения должны заранее условиться об общем ключе в виде размера таблицы. Следует заметить, что объединение букв шифртекста в 5-буквенные группы не входит в ключ шифра и осуществляется для удобства записи несмыслового текста. При расшифровании действия выполняют в обратном порядке.
Магическими квадратами называют квадратные таблицы с вписанными в их клетки последовательными натуральными числами, начиная от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число.
Шифруемый текст вписывали в магические квадраты в соответствии с нумерацией их клеток. Если затем выписать содержимое такой таблицы по строкам, то получится шифртекст, сформированный благодаря перестановке букв исходного сообщения. В те времена считалось, что созданные с помощью магических квадратов шифртексты охраняет не только ключ, но и магическая сила.
Пример магического квадрата и его заполнения сообщением ПРИЛЕТАЮ ВОСЬМОГО показан на рисунке
О |
И |
Р |
М |
Е |
О |
С |
Ю |
В |
Т |
А |
Ь |
Л |
Г |
О |
П |
16 |
3 |
2 |
13 |
5 |
10 |
11 |
8 |
9 |
6 |
7 |
12 |
4 |
15 |
14 |
1 |
9. Традиционные симметричные криптосистемы. Шифры простой замены.
При шифровании заменой (подстановкой) символы шифруемого текста заменяются символами того же или другого алфавита с заранее установленным правилом замены. В шифре простой замены каждый символ исходного текста заменяется символами того же алфавита одинаково на всем протяжении текста. Часто шифры простой замены называют шифрами одноалфавитной подстановки.
Полибианский
квадрат
Одним из первых шифров простой замены считается так называемый попибианский квадрат. За два века до нашей эры греческий писатель и историк Полибий изобрел для целей шифрования квадратную таблицу размером 5х5, заполненную буквами греческого алфавита в случайном порядке
При шифровании в этом полибианском квадрате находили
очередную букву открытого текста и записывали в шифртекст букву, расположенную
ниже ее в том же столбце. Если буква текста оказывалась в нижней строке
таблицы, то для шифртекста брали самую верхнюю букву из того же столбца.
Концепция полибианского квадрата оказалась плодотворной и нашла применение в криптосистемах последующего времени.
Система шифрования Цезаря
При шифровании исходного текста каждая буква заменялась на другую букву того же алфавита по следующему правилу. Заменяющая буква определялась путем смещения по алфавиту от исходной буквы на К букв. При достижении конца алфавита выполнялся циклический переход к его началу. Цезарь использовал шифр замены при смещении К = 3. Такой шифр замены можно задать таблицей подстановок, содержащей соответствующие пары букв открытого текста и шифртекста. Совокупность возможных подстановок для К = 3.
Достоинством системы шифрования Цезаря является простота шифрования и расшифрования. К недостаткам системы Цезаря следует отнести следующие:
- подстановки, выполняемые всоответствии с системой Цезаря, не маскируют частот появления различных букв исходного открытого текста;
- сохраняется алфавитный порядок в последовательности заменяющих букв; при изменении значения К изменяются только начальные позиции такой последовательности;
- число возможных ключей К мало;
- шифр Цезаря легко вскрывается на основе анализа частот появления букв в шифртексте.
В системе шифрования Цезаря
использовались только аддитивные свойства множества целых . Однако символы множества
, можно также умножать по модулю m. Применяя одновременно операции
сложения и умножения по модулю m
над элементами множества
можно получить систему
подстановок, которую называют аффинной системой подстановок Цезаря.
Определим преобразование в такой системе:
Ea,b: Zm→ Zm (над Z черта)
Ea,b:t→ Ea,b
Ea,b(t)=at+b(mod m)
где a, b - целые числа, 0<=a,b<m, НОД(а,m)=1.
В данном преобразовании буква, соответствующая числу t, заменяется на букву, соответствующую числовому значению (at+b) по модулю m.
Следует заметить, что преобразование Ea,b(t) является взаимно однозначным отображением на множестве Zn, только в том случае, если наибольший общий делитель чисел а и m, обозначаемый как НОД (а, m), равен единице, т.е. а и m должны быть взаимно простыми числами.
Например, пусть m = 26, а = 3, b = 5. Тогда, очевидно, НОД (3,26) = 1, и мы получаем следующее соответствие между числовыми кодами букв (рис. 2.9):
t |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
3t+5 |
5 |
8 |
11 |
14 |
17 |
20 |
23 |
0 |
3 |
6 |
9 |
12 |
15 |
18 |
21 |
24 |
1 |
4 |
7 |
10 |
13 |
16 |
19 |
22 |
25 |
2 |
Рисунок 2.9. Соответствие между числовыми кодами букв
Преобразуя числа в буквы английского языка, получаем следующее соответствие для букв открытого текста и шифртекста (рис. 2.10) :
А |
В |
С |
O |
Е |
F |
G |
Н |
I |
J |
К |
L |
М |
N |
O |
Р |
Q |
R |
S |
T |
U |
V |
W |
Х |
Y |
Z |
F |
I |
L |
O |
R |
U |
Х |
А |
D |
G |
J |
М |
Р |
S |
V |
Y |
В |
Е |
Н |
K |
N |
Q |
Т |
W |
Z |
C |
Рисунок 2.10. Соответствие для букв открытого текста и шифртекста
Исходное сообщение HOPE преобразуется в шифртвкст AVYR.
Достоинством аффинной системы является удобное управление ключами - ключи шифрования и расшифрования представляются в компактной форме в виде пары чисел (а, b). Недостатки аффинной системы аналогичны недостаткам системы шифрования Цезаря.
Аффинная система использовалась на практике несколько веков назад, а сегодня ее применение ограничивается большей частью иллюстрациями основных криптологических положений.
Система шифрования Цезаря с ключевым словом является одноалфавитной системой подстановки. Особенностью этой системы является использование ключевого слова для смещения и изменения порядка символов в алфавите подстановки.
Выберем некоторое число к, 0 <= k < 25 , и слово или короткую фразу в качестве ключевого слова. Желательно, чтобы все буквы ключевого слова были различными. Пусть выбраны слово DIPLOMAT в качестве ключевого слова и число k = 5.
Ключевое слово записывается под буквами алфавита, начиная с буквы, числовой код которой совпадает с выбранным числом К:
5
ABCDEFGHIJKLMNOPQRSTUVWXУZ
DIPLOMAT
Оставшиеся буквы алфавита подстановки записываются после ключевого слова в алфавитном порядке:
ABCDEFGHIJKLMNOPQRSTUVWX
VWXYZDIPLOMATBCEFGHJKNQRSU
Теперь мы имеем подстановку для каждой буквы произвольного сообщения.
Исходное сообщение SEND MORE MONEY шифруется как HZBY TCGZ TCBZS
Следует отметить, что требование о различии всех букв ключевого слова не обязательно. Можно просто записать ключевое слово (или фразу) без повторения одинаковых букв. Например, ключевая фраза
КАК ДЫМ ОТЕЧЕСТВА НАМ СЛАДОК И ПРИЯТЕН и число k=3 порождают следующую таблицу подстановок:
А Б В ГДЕ Ж 3 ИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ
ЪЭЮКАДЫМОТЕЧ СВНЛИПРЯ БГЖЗИ УФ Х ЦШЩ Ь
Несомненным достоинством системы Цезаря с ключевым словом является то, что количество возможных ключевых слов практически неисчерпаемо. Недостатком этой системы является возможность взлома шифртекста на основе анализа частот появления букв.
Для русского алфавита шифрующая таблица может иметь размер 4х8. Выберем в качестве ключа слово БАНДЕРОЛЬ. Шифрующая таблица с таким ключом показана на рис.2.11.
Б |
А |
Н |
Д |
Е |
Р |
О |
Л |
Ь |
В |
Г |
Ж |
3 |
И |
И |
К |
М |
П |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Ы |
Ъ |
Э |
Ю |
Я |
Рисунок 2.11. Шифрующая таблица с ключевым словом БАНДЕРОЛЬ
Как и в случае полибианского квадрата, при шифровании находят в этой таблице очередную букву открытого текста и записывают в шифртекст букву, расположенную ниже ее в том же столбце. Если буква текста оказывается в нижней строке таблицы, тогда для шифртекста берут самую верхнюю букву из того же столбца.
Например, при шифровании с помощью этой таблицы сообщения
ВЫЛЕТАЕМ ПЯТОГО получаем шифртекст ПДКЗЫВЗЧШЛЫЙСЙ.
Система омофонов обеспечивает простейшую защиту от криптоаналитических атак, основанных на подсчете частот появления букв в шифртексте. Система омофонов является одноалфавитной, хотя при этом буквы исходного сообщения имеют несколько замен. Число замен берется пропорциональным вероятности появления буквы в открытом тексте.
Шифруя букву исходного сообщения, выбирают случайным образом одну из ее замен. Замены (часто называемые омофонами) могут быть представлены трехраэрядными числами от 000 до 999. Например, в английском алфавите букве Е присваиваются 123 случайных номера, буквам В и О - по 16 номеров, а буквам J и Z - по 1 номеру. Если омофоны (замены) присваиваются случайным образом различным появлениям одной и той же буквы, тогда каждый омофон появляется в шифртёксте равновероятно.
При таком подходе к формированию шифртекста простой подсчет частот уже ничего не дает криптоаналитику. Однако в принципе полезна также информация о распределении пар и троек букв в различных естественных языках. Если эту информацию использовать при криптоанализе, он будет проведен более успешно.
Таблица
2.1 Распределение вероятностей букв в
русских текстах
буква |
вероятность |
буква |
вероятность |
буква |
вероятность |
буква |
вероятность |
ПРОБЕЛ |
0,175 |
Р |
0,040 |
Я |
0,018 |
X |
0,009 |
0 |
0,090 |
В |
0,038 |
Ы |
0,016 |
Ж |
0.007 |
Е |
0,072 |
Л |
0,035 |
3 |
0,016 |
Ю |
0.006 |
А |
0,062 |
К |
0,028 |
Ъ |
0,014 |
Ш |
0.006 |
И |
0,062 |
М |
0,026 |
Б |
0,014 |
Ч |
0,004 |
Н |
0.053 |
Д |
0,025 |
Г |
0,013 |
Щ |
0,003 |
Т |
0,053 |
П |
0,023 |
Ч |
0,012 |
Э |
0.003 |
С |
0,045 |
У |
0,021 |
И |
0.010 |
Ф |
0.002 |
Таблица 2.2 Распределение вероятностей букв в
английских текстах
буква |
вероятность |
буква |
вероятность |
буква |
вероятность |
Е |
0,123 |
L |
0,040 |
В |
0.016 |
Т |
0,096 |
D |
0,036 |
G |
0,016 |
А |
0,081 |
С |
0,032 |
V |
0,009 |
0 |
0,079 |
U |
0,031 |
К |
0,005 |
N |
0,072 |
Р |
0,023 |
Q |
0,002 |
L |
0,071 |
F |
0,023 |
X |
0,002 |
S |
0,066 |
М |
0,022 |
J |
0.001 |
R |
0,060 |
W |
0,020 |
Z |
0,001 |
Н |
0,051 |
Y |
0,019 |
|
|
11. Традиционные
симметричные криптосистемы. Шифры сложной замены.
Шифры сложной замены называют многоалфавитными, так как для шифрования каждого символа исходного сообщения применяют свой шифр простой замены. Многоалфавитная подстановка последовательно и циклически меняет используемые алфавиты.
При r-алфавитной подстановке символ Хо исходного сообщения заменяется символом Уо из алфавита Во, символ X1 -символом Y1 из алфавита B1, и так далее, Cимвол Хr заменяется символом Уr, снова из алфавита Во, и т.д.
Общая схема многоалфавитной подстановки для случая r =4 показана на рисунке
Входной символ: |
Хо |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
X7 |
X8 |
X9 |
Алфавит подстановки: |
B0 |
B1 |
B2 |
B3 |
B0 |
B1 |
B2 |
B3 |
B0 |
B1 |
Эффект использования многоалфавитной подстановки заключается в том, что обеспечивается маскировка естественной статистики исходного языка, так как конкретный символ из исходного алфавита А может быть преобразован в несколько различных символов шифровальных алфавитов Вj. Степень обеспечиваемой защиты теоретически пропорциональна длине периода г в последовательности используемых алфавитов Вj.
Этот шифр сложной замены, называемый шифром Гронсфельда. представляет собой модификацию шифра Цезаря числовым ключом. Для этого под буквами исходного сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифртекст получают примерно, как в шифре Цезаря, но отсчитывают по алфавиту не третью букву (как это делается в шифре Цезаря), а выбирают ту букву, которая смещена по алфавиту на соответствующую цифру ключа. Например, применяя в качестве ключа группу из четырех начальных цифр числа е (основания натуральных логарифмов), а именно 2718, получаем для исходного сообщения ВОСТОЧНЫЙ ЭКСПРЕСС следующий шифртекст
Сообщение |
В |
О |
С |
Т |
О |
Ч |
Н |
Ы |
Й |
Э |
К |
С |
П |
Р |
Е |
С |
С |
Ключ |
2 |
7 |
1 |
8 |
2 |
7 |
1 |
8 |
2 |
7 |
1 |
8 |
2 |
7 |
1 |
8 |
2 |
Шифртекст |
Д |
Х |
Т |
Ь |
Р |
Ю |
О |
Г |
Л |
Д |
Л |
Щ |
С |
Ч |
Ж |
Щ |
У |
Чтобы зашифровать первую букву сообщения В, используя первую цифру ключа 2 , нужно отсчитать вторую по порядку букву от В в алфавите В-Г-Д; получается первая буква шифртекста Д.
Следует отметить, что шифр Гронсфельда вскрывается относительно легко, если учесть, что в числовом ключе каждая цифра имеет только десять значений, а значит, имеется лишь десять вариантов прочтения каждой буквы шифртекста. С другой стороны, шифр Гронсфельда допускает дальнейшие модификации, улучшающие его стойкость, в частности двойное шифрование разными числовыми ключами.
12.Шифрование по таблице Вижинера.
Система Вижинера подобна такой системе шифрования Цезаря, у которой ключ подстановки меняется от буквы к букве. Этот шифр многоалфавитной замены можно описать таблицей шифрования, называемой таблицей Вижинера.
Таблица Вижинера используется для зашифрования и расшифрования. Таблица имеет два входа:
- верхнюю строку подчеркнутых символов, используемую для считывания очередной буквы исходного открытого текста;
- крайний левый столбец ключа.
Последовательность ключей обычно получают из числовых значений букв ключевого слова.
При шифровании исходного сообщения его выписывают в строку, а под ним записывают ключевое слово (или фразу). Если ключ оказался короче сообщения, то его циклически повторяют. В процессе шифрования находят в верхней строке таблицы очередную букву исходного текста и в левом столбце очередное значение ключа. Очередная буква шифртекста находится на пересечении столбца, определяемого шифруемой буквой, и строки, определяемой числовым значением ключа.
Рассмотрим пример получения шифртекста с помощью таблицы Вижинера. Пусть выбрано ключевое слово АМБРОЗИЯ. Необходимо зашифровать сообщение ПРИЛЕТАЮ СЕДЬМОГО.
Выпишем исходное сообщение в строку и запишем под ним ключевое слово с повторением. В третью строку будем выписывать буквы шифртекста, определяемые из таблицы Вижинера (рис. 2.15) .
сообщение |
п |
р |
и |
л |
е |
т |
а |
ю |
с |
е |
д |
ь |
м |
о |
г |
о |
ключ |
а |
м |
б |
р |
о |
з |
и |
я |
а |
м |
б |
р |
о |
з |
и |
я |
шифртекст |
п |
ъ |
й |
ы |
у |
щ |
и |
э |
с |
с |
е |
к |
ь |
х |
л |
н |
13. Одноразовая система шифрования.
Почти все применяемые на практике шифры характеризуются как условно надежные, поскольку они могут быть в принципе раскрыты при наличии неограниченных вычислительных возможностей. Абсолютно надежные шифры нельзя разрушить даже при использовании неограниченных вычислительных возможностей. Существует единственный такой шифр, применяемый на практике, - одноразовая система шифрования. Характерной особенностью одноразовой системы шифрования является одноразовое использование ключевой последовательности.
Одноразовая система шифрует исходный открытый текст
в шифртекст
посредством подстановки Цезаря
Yi=(Xi+Ki) mod m, 0<=i<=n,
где ki - i-й элемент случайной ключевой последовательности.
Ключевое
пространство одноразовой системы
представляет собой набор дискретных случайных величин из
и содержит
значений.
Процедура расшифрования описывается соотношением
Xi = (Yi - Кi) mod m,
где Кi - i-й элемент той же самой случайной ключевой последовательности.
Одноразовая система изобретена в 1917 г. американцами Дж.Моборном и Г.Вернамом. Для реализации этой системы подстановки иногда используют одноразовый блокнот. Этот блокнот составлен из отрывных страниц, на каждой из которых напечатана таблица со случайными числами (ключами) Кi. Блокнот выполняется в двух экземплярах: один используется отправителем, а другой - получателем. Для каждого символа Xi сообщения используется свой ключ Кi из таблицы только один раз. После того как таблица использована, она должна быть удалена из блокнота и уничтожена. Шифрование нового сообщения начинается с новой страницы.
Этот шифр абсолютно надежен, если набор ключей Ki действительно случаен и непредсказуем. Если криптоаналитик попытается использовать для заданного шифртекста все возможные наборы ключей и восстановить все возможные варианты исходного текста, то они все окажутся равновероятными. Не существует способа выбрать исходный текст, который был действительно послан. Теоретически доказано, что одноразовые системы являются нераскрываемыми системами, поскольку их шифртекст не содержит достаточной информации для восстановления открытого текста.
Казалось бы, что благодаря данному достоинству одноразовые системы следует применять во всех случаях, требующих абсолютной информационной безопасности. Однако возможности применения одноразовой системы ограничены чисто практическими аспектами. Существенным моментом является требование одноразового использования случайной ключевой последовательности. Ключевая последовательность с длиной, не меньшей длины сообщения, должна передаваться получателю сообщения заранее или отдельно по некоторому секретному каналу. Это требование не будет слишком обременительным для передачи действительно важных одноразовых сообщений, например, по горячей линии Вашингтон - Москва. Однако такое требование практически неосуществимо для современных систем обработки информации, где требуется шифровать многие миллионы символов.
В некоторых вариантах одноразового блокнота прибегают к более простому управлению ключевой последовательностью, но это приводит к некоторому снижению надежности шифра. Например, ключ определяется указанием места в книге, известной отправителю и получателю сообщения. Ключевая последовательность начинается с указанного места этой книги и используется таким же образом, как в системе Вижинера. Иногда такой шифр называют шифром с бегущим ключом. Управление ключевой последовательностью в таком варианте шифра намного проще, так как длинная ключевая последовательность может быть представлена в компактной форме. Но с другой стороны, эти ключи не будут случайными. Поэтому у криптоаналитика появляется возможность использовать информацию о частотах букв исходного естественного языка.
14.Шифрование методом Вернама (сложение по модулю 2).
Система шифрования Вернама является в сущности частным случаем системы шифрования Вижинера при значении модуля m = 2.
Каждый символ исходного открытого текста из английского алфавита {А, В, С, D,.... Z}, расширенного шестью вспомогательными символами (пробел, возврат каретки и т.п.), сначала кодировался в 5-битовый блок (b0,b1,...,b4) телеграфного кода Бодо.
Случайная последовательность двоичных ключей ko, k1, k2, ... заранее записывалась на бумажной ленте.
Схема передачи сообщений с использованием шифрования методом Вернама показана на рисунке. Шифрование исходного текста, предварительно преобразованного в последовательность двоичных символов х, осуществлялось путем сложения по модулю 2 символов х с последовательностью двоичных ключей к.
y=x+k (знак + заключен в круг)
Расшифрование состоит в сложении по модулю 2 символов у шифртекста с той же последовательностью ключей k:
y+k=x+k+k=x (знак + заключен в круг)
При этом последовательности ключей, использованные при шифровании и расшифровании, компенсируют друг друга (при сложении по модулю 2), и в результате восстанавливаются символы х исходного текста.
При разработке своей системы Вернам проверял ее с помощью закольцованных лент, установленных на передатчике и приемнике для того, чтобы использовалась одна и та же последовательность ключей.
Следует отметить, что метод Вернама не зависит от длины последовательности ключей и, кроме того, он позволяет использовать случайную последовательность ключей. Однако при реализации метода Вернама возникают серьезные проблемы, связанные с необходимостью доставки получателю такой же последовательности ключей, как у отправителя, либо с необходимостью безопасного хранения идентичных последовательностей ключей у отправителя и получателя. Эта недостатки системы шифрования Вернама преодолены при шифровании методом гаммирования.
15. Традиционные
симметричные криптосистемы. Гаммирование.
Под гаммированием понимают процесс наложения по определенному закону гаммы шифра на открытые данные. Гамма шифра - это псевдослучайная последовательность, выработанная по заданному алгоритму для зашифрования открытых данных и расшифрования зашифрованных данных.
Процесс зашифрования заключается в генерации гаммы шифра и наложении полученной гаммы на исходный открытый текст обратимым образом, например с использованием операции сложения по модулю 2.
Следует отметить, что перед
зашифрованием открытые данные разбивают на блоки То(i) одинаковой длины,
обычно по 64 бита. Гамма шифра вырабатывается в виде последовательности блоков
Гш(i) аналогичной длины.
Уравнение зашифрования можно записать в виде
Tiш=Гiш+Ti0, i=1.M (знак + заключен в круг)
где Тш(i)- 1-й блок шифртекста;
Гш(i) - i-й блок гаммы шифра;
То(i) -i-й блок открытого текста;
М - количество блоков открытого текста.
Процесс расшифрования сводится к повторной генерации гаммы шифра и наложению этой гаммы на зашифрованные данные. Уравнение расшифрования имеет вид
Ti0= Tiш+Гiш (знак + заключен в круг)
Получаемый этим методом шифртекст достаточно труден для раскрытия, поскольку теперь ключ является переменным. По сути дела гамма шифра должна изменяться случайным образом для каждого шифруемого блока. Если период гаммы превышает длину всего шифруемого текста и злоумышленнику неизвестна никакая часть исходного текста, то такой шифр можно раскрыть только прямым перебором всех вариантов ключа. В этом случае криптостойкость шифра определяется длиной ключа.
16.Методы генерации
псевдослучайных последовательностей чисел.
Генерируемые псевдослучайные ряды чисел часто называют гаммой шифра или просто гаммой
Обычно для генерации последовательности псевдослучайных чисел применяют компьютерные программы, которые, хотя и называются генераторами случайных чисел, на самом деле выдают детерминированные числовые последовательности, которые по своим свойствам очень похожи на случайные.
К криптографически стойкому генератору псевдослучайной последовательности чисел (гаммы шифра) предъявляются три основных требования:
- период гаммы должен быть достаточно большим для шифрования сообщений различной длины;
- гамма должна быть практически непредсказуемой, что означает невозможность предсказать следующий бит гаммы, даже если известны тип генератора и предшествующий кусок гаммы;
- генерирование гаммы не должно вызывать больших технических сложностей.
Длина периода гаммы является самой важной характеристикой генератора псевдослучайных чисел. По окончании периода числа начнут повторяться, и их можно будет предсказать. Требуемая длина периода гаммы определяется степенью закрытости данных. Чем длиннее ключ, тем труднее его подобрать. Длина периода гаммы зависит от выбранного алгоритма получения псевдослучайных чисел.
Второе требование связано со следующей проблемой: как можно достоверно убедиться, что псевдослучайная гамма конкретного генератора является действительно непредсказуемой? Пока не существуют такие универсальные и практически проверяемые критерии и методики. Чтобы гамма считалась непредсказуемой, т.е. истинно случайной, необходимо, чтобы ее период был очень большим, а различные комбинации битов определенной длины были равномерно распределены по всей ее длине.
Третье требование обусловливает возможность практической реализации генератора программным или аппаратным путем с обеспечением необходимого быстродействия.
Из известных процедур генерации последовательности псевдослучайных целых чисел наиболее часто применяется так называемый линейный конгруэнтный генератор. Этот генератор вырабатывает последовательность псевдослучайных чисел Y1, Y2, ....Yi-1, Yi, ..., используя соотношение
Yi=(a*Yi-1+b)mod m
где Yi - i-e (текущее) число последовательности;
Yi-1 - предыдущее число последовательности;
а, b, m - константы; m - модуль;
а - множитель (коэффициент); b - приращение; Yo - порождающее число(исходное значение).
Текущее псевдослучайное число Yi получают из предыдущего числа Yi-1 умножением его на коэффициент а, сложением с приращением b и вычислением остатка от деления на модуль m. Данное уравнение генерирует псевдослучайные числа с периодом повторения, который зависит от выбираемых значений параметров а, b и m и может достигать значения m. Значение модуля m берется равным 2n либо равным простому числу, например m=231-1. Приращение b должно быть взаимно простым с m, коэффициент а должен быть нечетным числом.
17.Современные симметричные
криптосистемы. Стандарт DES.
Рассеивание представляет собой распространение влияния одного знака открытого текста на много знаков шифртекста, что позволяет скрыть статистические свойства открытого текста.
Перемешивание предполагает использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статистических свойств открытого и шифрованного текстов. Однако шифр должен не только затруднять раскрытие, но обеспечивать легкость зашифрования и расшифрования при известном пользователю секретном ключе.
Стандарт DES предназначен для защиты от несанкционированного доступа к важной, но несекретной информации в государственных и коммерческих организациях США.
К настоящему времени DES является наиболее распространенным алгоритмом, используемым в системах защиты коммерческой информации. Более того, реализация алгоритма DES в таких системах становится признаком хорошего тона.
Основные достоинства алгоритма DES:
- используется только один ключ длиной 56 бит;
- зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий стандарту DES;
- относительная простота алгоритма обеспечивает высокую скорость обработки;
- достаточно высокая стойкость алгоритма.
Алгоритм DES также использует комбинацию подстановок и перестановок. DES осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 бит - проверочные биты для контроля на четность). Дешифрование в DES является операцией, обратной шифрованию, и выполняется путем повторения операций шифрования в обратной последовательности. Обобщенная схема процесса шифрования в алгоритме DES показана на рис.3.1. Процесс шифрования заключается в начальной перестановке битов 64-битового блока, шестнадцати циклах шифрования и, наконец, в конечной перестановке битов.
18.Алгоритм шифрования
данных IDEA.
Алгоритм IDEA (International Data Encryption Algorithm) является блочным шифром. Он оперирует 64-битовыми блоками открытого текста. Несомненным достоинством алгоритма IDEA является то, что его ключ имеет длину 128 бит. Один и тот же алгоритм используется и для шифрования, и для дешифрования.
В IDEA используются следующие математические операции:
- поразрядное сложение по модулю 2 (операция "исключающее ИЛИ"); операция обозначается как (+);
- сложение беззнаковых целых по модулю 216; операция обозначается как [+];
- умножение беззнаковых целых по модулю (216+1), причем блок из 16 нулей рассматривается как 216; операция обозначается как (·).
Все операции выполняются над 16-битовыми субблоками.
Эти три операции несовместимы в том смысле, что:
-
никакая пара из этих трех операций не удовлетворяет
ассоциативному закону,
например a[+](b(+)c)#(a[+]b)(+)c;
-
никакая пара из этих трех операций не удовлетворяет
дистрибутивному закону,
например a[+](b(·)c)#(a[+]b)(·)(a[+]с).
Комбинирование этих трех операций обеспечивает комплексное преобразование входных данных, существенно затрудняя крипто-анализ IDEA по сравнению с DES, который базируется исключительно на операции "исключающее ИЛИ".
64-битовый блок данных делится на четыре 16-битовых субблока. Эти четыре субблока становятся входом в первый цикл алгоритма. Всего выполняется восемь циклов. Между циклами второй и третий субблоки меняются местами. В каждом цикле выполняется следующая последовательность операций:
1. (·) - умножение субблока X1 и первого подключа.
2. [+] - сложение субблока X2 и второго подключа.
3. [+] - сложение субблока X3 и третьего подключа.
4. (·) - умножение субблока X4 и четвертого подключа.
5. (+) - сложение результатов шагов 1 и 3.
6. (+) - сложение результатов шагов 2 и 4.
7. (·) - умножение результата шага 5 и пятого подключа.
8. [+] - сложение результатов шагов 6 и 7.
9. (·) - умножение результата шага 8 и шестого подключа.
10. [+] - сложение результатов шагов 7 и 9.
11. (+) - сложение результатов шагов 1 и 9.
12. (+) - сложение результатов шагов 3 и 9.
13. (+) - сложение результатов шагов 2 и 10.
14. (+) - сложение результатов шагов 4 и 10.
Выходом цикла являются четыре субблока, которые получаются как результаты выполнения шагов 11, 12, 13 и 14. В завершение цикла второй и третий субблоки меняются местами (за исключением последнего цикла). В результате формируется вход для следующего цикла.
После восьмого цикла осуществляется заключительное преобразование выхода:
1. (·) - умножение субблока X1 и первого подключа.
2. [+] - сложение субблока X2 и второго подключа.
3. [+] - сложение субблока X3 и третьего подключа.
4. (·) - умножение субблока X4 и четвертого подключа.
Полученные четыре субблока Y1...Y4 объединяют в блок шифртекста.
Создание подключей Z1...Z6 также относительно несложно. Алгоритм использует всего 52 подключа (по шесть для каждого из восьми циклов и еще четыре для преобразования выхода). Сначала 128-битовый ключ делится на восемь 16-битовых подключей. Это - первые восемь подключей для алгоритма (шесть подключей - для первого цикла и первые два подключа - для второго). Затем 128-битовый ключ циклически сдвигается влево на 25 бит и снова делится на восемь подключей (четыре подключа - для второго цикла и четыре подключа - для третьего). Ключ снова циклически сдвигается влево на 25 бит для получения следующих восьми подключей и т.д., пока выполнение алгоритма не завершится.
Дешифрование осуществляется аналогичным образом, за исключением того, что порядок использования подключей становится обратным, причем ряд подключей дешифрования являются или аддитивными (-x), или мультипликативными (1/x) обратными величинами подключей шифрования
Алгоритм IDEA обладает рядом преимуществ перед алгоритмом DES. Он зачительно безопаснее алгоритма DES, поскольку 128-битовый ключ алгоритма IDEA вдвое больше ключа DES. Внутренняя структура алгоритма IDEA обеспечивает лучшую устойчтвость к криптоанализу. Существующие программные реализации примерно вдвое быстрее реализаций алгоритма DES. Алгоритм IDEA запатентован в Европе и США.
19.Отечественный
стандарт шифрования данных.
В нашей стране установлен единый алгоритм
криптографического представления данных для систем обработки информации в сетях
ЭВМ, отдельных вычислительных комплексов и ЭВМ, который определяется ГОСТ
28147-89.
Этот алгоритм криптографического преобразования данных
представляет собой 64-битовый блочный алгоритм с 256-битовым ключом,
предназначен для аппаратной и программной реализации, удовлетворяет
криптографическим требованиям и не накладывает ограничений на степень
секретности защищаемой информации.
При описании алгоритма используются следующие обозначения:
L и R - последовательности битов;
LR - конкатенация последовательностей L и R, в которой биты
последовательности R следуют за битами последовательности L;
(+) - поразрядное сложение по модулю 2 (операция
"исключающее ИЛИ");
[+] - сложение 32-разрядных чисел по модулю 232;
{+} - сложение 32-разрядных чисел по модулю 232-1.
Числа суммируются по следующему правилу:
A [+] B = A + B, если A + B < 232,
A [+] B = A + B - 232, если A + B >= 232.
A {+} B = A + B , если
A + B < 232 - 1,
A {+} B = A + B - (232 - 1), если A + B >= 232 - 1.
Алгоритм
предусматривает четыре режима работы:
-
гаммирование с обратной связью;
В любом
случае для шифрования данных используется 256-битовый ключ K, который
представляется в виде восьми 32-битовых подключей Ki:
K = K7K6K5K4K3K2K1K0.
Расшифрование
выполняется по тому же ключу, что и шифрование, но этот процесс является
инверсией процесса шифрования данных.
20. Асимметричные
криптосистемы.
Эффективными системами криптографической защиты данных являются асимметричные криптосистемы, называемые также криптосистемами с открытым ключом. В таких системах для зашифрования данных используется один ключ, а для расшифрования - другой ключ (отсюда и название - асимметричные). Первый ключ является открытым и может быть опубликован для использования всеми пользователями системы, которые зашифровывают данные. Расшифрование данных с помощью открытого ключа невозможно.
Для расшифрования данных получатель зашифрованной информации использует второй ключ, который является секретным. Разумеется, ключ расшифрования не может быть определен из ключа зашифрования.
Обобщенная схема асимметричной криптосистемы с открытым ключом показана на рис. В этой криптосистеме применяют два различных ключа: Кв - открытый ключ отправителя A; kв -секретный ключ получателя В. Генератор ключей целесообразно располагать на стороне получателя В (чтобы не пересылать секретный ключ kв, пo незащищенному каналу). Значения ключей зависят от начального состояния генератора ключей. Раскрытие секретного ключа kв, по известному открытому ключу К, должно быть вычислительно неразрешимой задачей.
Характерные особенности асимметричных криптосистем:
1. Открытый ключ Кв, и криптограмма С могут быть отправлены по незащищенным каналам, т.е. противнику известны Кв и С.
2. Алгоритмы шифрования и расшифрования являются открытыми: Ев: М -> С,
Рисунок 4.1. Обобщенная схема асимметричной криптосистемы с открытым ключом
Концепция асимметричных криптографических систем с открытым ключом основана на применении однонаправленных функций. Неформально однонаправленную функцию можно определить следующим образом. Пусть Х и Y - некоторые произвольные множества. Функция f: X -> Y
является однонаправленной, если для всех хХ можно легко вычислить функцию
y=f(x), где yY.
И в то же время
для большинства yY достаточно сложно получить значение х
Х, такое, что f
(x)=y (при этом полагают, что существует, по
крайней мере, одно такое значение х).
Основным критерием отнесения функции f к классу однонаправленных функций является отсутствие эффективных алгоритмов обратного преобразования Y -> X.
В качестве первого примера однонаправленной функции рассмотрим целочисленное умножение. Прямая задача - вычисление произведения двух очень больших целых чисел Р и Q, т.е. нахождение значения N = P*Q, является относительно несложной задачей для ЭВМ.
Обратная задача - разложение на множители большого целого числа, т.е. нахождение делителей Р и Q большого целого числа N = P*Q, является практически неразрешимой задачей при достаточно больших значениях N. По современным оценкам теории чисел при целом N≈2664 и P≈Q для разложения числа N потребуется около 1023 операций, т.е. задача практически неразрешима на современных ЭВМ.
Следующий характерный пример однонаправленной функции - это модульная экспонента с фиксированными основанием и модулем. Следует отметить, что пока не удалось доказать, что не существует эффективного алгоритма вычисления дискретного логарифма за приемлемое время. Исходя из этого, модульная экспонента отнесена к однонаправленным функциям условно, что, однако, не мешает с успехом применять ее на практике.
Вторым важным классом функций, используемых при построении криптосистем с открытым ключом, являются так называемые однонаправленные функции с "потайным ходом" (с лазейкой). Дадим неформальное определение такой функции. Функция f: X->Y
относится к классу однонаправленных функций с "потайным ходом" в том случае, если она является однонаправленной и, кроме того, возможно эффективное вычисление обратной функции, если известен "потайной ход" (секретное число, строка или другая информация, ассоциирующаяся сданной функцией).
В качестве примера однонаправленной функции с "потайным ходом" можно указать используемую в криптосистеме RSA модульную экспоненту с фиксированными модулем и показателем степени. Переменное основание модульной экспоненты используется для указания числового значения сообщения М либо криптограммы С.
22. Криптосистема
шифрования данных RSA. Пример в числовой форме.
Алгоритм RSA предложили в
Надежность алгоритма основывается на трудности факторизации больших чисел и трудности вычисления дискретных логарифмов.
Процедуры шифрования и расшифрования в криптосистеме RSA
Под простым числом будем понимать такое число, которое делится только на 1 и на само себя. Взаимно простыми числами будем называть такие числа, которые не имеют ни одного общего делителя, кроме 1.
Чтобы использовать алгоритм RSA надо сначала сгенерировать открытый и секретный ключи, выполнив следующие шаги:
1. Выберем два очень больших простых числа p и q.
2. Определим n как результат умножения p на q (n=p*q).
3. Выберем большое случайное число, которое назовем d. Это число должно быть взаимно простым с результатом умножения (p-1)*(q-1).
4. Определим такое число е, для которого является истинным следующее соотношение: (e*d) mod ((p-1)*(q-1)) = 1.
5. Назовем открытым ключом числа е и n, а секретным ключом числа d и n.
Теперь, чтобы зашифровать данные по известному ключу {e,n}, необходимо сделать следующее:
-
разбить шифруемый текст на блоки, каждый из которых
может быть представлен в виде числа
M(i)=0, 1,..., n-1;
-
зашифровать текст, рассматриваемый как
последовательность чисел M(i), по формуле:
С(i)=(M(i)e) mod n.
Чтобы расшифровать эти данные используя секретный ключ {d,n}, необходимо выполнить следующие вычисления: M(i)=(C(i)d) mod n. В результате будет получено множество чисел M(i), которые представляют собой исходный текст.
Приведем простой пример использования метода RSA для шифрования сообщения "CAB". Для простоты будем использовать очень маленькие числа (на практике используются намного большие числа).
1. Выберем р=3 и q=11.
2. Определим n=3*11=33.
3. Найдем (р-1)*(q-1)=20. Следовательно, в качестве d выберем любое число, которое является взаимно простым с 20, например d=3.
4. Выберем число e. В качестве такого числа может быть взято любое число, для которого удовлетворяется соотношение (e*3) mod 20 = 1, например 7.
5. Представим шифруемое сообщение как последовательность целых чисел в диапазоне 0...32. Пусть буква A изображается числом 1, буква B - числом 2, а буква C - числом 3. Тогда сообщение можно представить в виде последовательности чисел 3 1 2.
Зашифруем сообщение, используя ключ {7,33}:
C1=(37)
mod 33 = 2187 mod 33 = 9,
C2=(17)
mod 33 = 1 mod 33 = 1,
C3=(27)
mod 33 = 128 mod 33 = 29.
1. Попытаемся расшифровать сообщение {9,1,29}, полученное в результате зашифрования по известному ключу на основе секретного ключа {3,33}:
M1=(93) mod 33 = 729 mod
33 = 3,
M2=(13) mod 33 = 1 mod 33
= 1,
M3=(293) mod 33 = 24389 mod 33 = 2.
Таким образом, в результате расшифрования сообщения получено исходное сообщение "CAB".
Криптостойкость алгоритма RSA основывается на предположении, что исключительно трудно определить секретный ключ по известному, поскольку для этого необходимо решить задачу о существовании делителей целого числа. Данная задача является NP - полной. Известные точные алгоритмы для решения данной задачи имеют экспоненциальную оценку вычислительной сложности, следствием чего является невозможность получения точных решений для задач большой и даже средней размерности.
23. Сравнение симметричных и ассиметричных систем.
Все асимметричные криптосистемы пытаются взломать путем прямого перебора ключей. Поэтому в асимметричных криптосистемах используют длинные ключи. Для обеспечения эквивалентного уровня защиты ключ асимметричной криптосистемы должен быть гораздо длиннее ключа симметричной криптосистемы. Это сразу же сказывается на вычислительных ресурсах, требуемых для шифрования. Брюс Шнейер в книге "Прикладная криптография: протоколы, алгоритмы и исходный текст на C" приводит следующие данные об эквивалентных длинах ключей.
Таблица 4.1. Эквивалентные длины ключей
Длина
симметричного ключа |
Длина
открытого ключа |
56 |
384 |
64 |
512 |
80 |
768 |
112 |
1792 |
128 |
2304 |
Для того чтобы избежать низкой скорости алгоритмов асимметричного шифрования, генерируется временный симметричный ключ для каждого сообщения, и только он шифруется асимметричными алгоритмами. Само сообщение шифруется с использованием этого временного сеансового ключа. Затем этот сеансовый ключ шифруется с помощью открытого асимметричного ключа получателя и асимметричного алгоритма шифрования. После этого этот зашифрованный сеансовый ключ вместе с зашифрованным сообщением передается получателю. Получатель использует тот же самый асимметричный алгоритм шифрования и свой секретный ключ для расшифровки сеансового ключа, а полученный сеансовый ключ используется для расшифровки самого сообщения.
В асимметричных криптосистемах важно, чтобы сеансовые и асимметричные ключи были сопоставимы в отношении уровня безопасности, который они обеспечивают. Если используется короткий сеансовый ключ (например, DES), то не имеет значения, насколько велики асимметричные ключи. Хакеры будут атаковать не их, а сеансовые ключи. Асимметричные открытые ключи уязвимы к атакам прямым перебором отчасти из-за того, что их тяжело заменить. Если атакующий узнает секретный асимметричный ключ, то будет скомпрометирован не только текущее, но и все последующие взаимодействия между отправителем и получателем.
24. Идентификация и проверка
подлинности. Основные понятия и концепции.
С каждым объектом компьютерной системы (КС) связана некоторая информация,
однозначно идентифицирующая его. Это может быть число, строка символов,
алгоритм, определяющий данный объект. Эту информацию называют идентификатором
объекта. Если объект имеет некоторый идентификатор, зарегистрированный в
сети, он называется законным (легальным) объектом; остальные объекты относятся
к незаконным (нелегальным).
Идентификация объекта - одна из функций подсистемы защиты. Эта функция выполняется в
первую очередь, когда объект делает попытку войти в сеть. Если процедура
идентификации завершается успешно, данный объект считается законным для данной
сети.
Следующий шаг - аутентификация
объекта (проверка подлинности объекта). Эта процедура устанавливает,
является ли данный объект именно таким, каким он себя объявляет.
После того как объект идентифицирован и подтверждена его подлинность, можно
установить сферу его действия и доступные ему ресурсы КС. Такую процедуру
называют предоставлением полномочий (авторизацией).
Перечисленные три процедуры инициализации являются процедурами защиты и относятся
к одному объекту КС.
При защите каналов передачи данных подтверждение подлинности (аутентификация) объектов означает взаимное установление подлинности объектов, связывающихся между собой по линиям связи. Процедура подтверждения подлинности выполняется обычно в начале сеанса в процессе установления соединения абонентов. Термин "соединение" указывает на логическую связь (потенциально двустороннюю) между двумя объектами сети. Цель данной процедуры - обеспечить уверенность, что соединение установлено с законным объектом и вся информация дойдет до места назначения.
После того как соединение установлено, необходимо обеспечить выполнение требований защиты при обмене сообщениями:
(а) получатель должен быть уверен в подлинности источника данных;
(б) получатель должен быть уверен в подлинности передаваемых данных;
(в) отправитель должен быть уверен в доставке данных получателю;
(г) отправитель должен быть уверен в подлинности доставленных данных.
Для выполнения требований (а) и (б) средством защиты является цифровая подпись. Для выполнения требований (в) и (г) отправитель должен получить уведомление о вручении с помощью удостоверяющей почты (certified mail). Средством защиты в такой процедуре является цифровая подпись подтверждающего ответного сообщения, которое в свою очередь является доказательством пересылки исходного сообщения.
Если эти четыре требования реализованы в КС, то гарантируется защита данных при их передаче по каналу связи и обеспечивается функция защиты, называемая функцией подтверждения (неоспоримости) передачи. В этом случае отправитель не может отрицать ни факта посылки сообщения, ни его содержания, а получатель не может отрицать ни факта получения сообщения, ни подлинности его содержания.
25. Идентификация и механизмы
подтверждения подлинности пользователя.
Прежде чем получить доступ к КС, пользователь должен идентифицировать себя, а затем средства защиты сети должны подтвердить подлинность этого пользователя, т.е. проверить, является ли данный пользователь действительно тем, за кого он себя выдает. Компоненты механизма защиты легальных пользователей размещены на рабочей ЭВМ, к которой подключен пользователь через его терминал (или каким-либо иным способом). Поэтому процедуры идентификации, подтверждения подлинности и наделения полномочиями выполняются в начале сеанса на местной рабочей ЭВМ.
Когда пользователь начинает работу в КС, используя терминал, система запрашивает его имя и идентификационный номер. В зависимости от ответов пользователя компьютерная система проводит его идентификацию. Затем система проверяет, является ли пользователь действительно тем, за кого он себя выдает. Для этого она запрашивает у пользователя пароль. Пароль - это лишь один из способов подтверждения подлинности пользователя.
Перечислим возможные способы подтверждения подлинности.
- Предопределенная информация, находящаяся в распоряжении пользователя: пароль, персональный идентификационный номер, соглашение об использовании специальных закодированных фраз.
- Элементы аппаратного обеспечения, находящиеся в распоряжении пользователя: ключи, магнитные карточки, микросхемы и т.п.
- Характерные личные особенности пользователя: отпечатки пальцев, рисунок сетчатки глаза, тембр голоса и т.п.
- Характерные приемы и черты поведения пользователя в режиме реального времени: особенности динамики и стиль рабты на клавиатуре, приемы работы с манипулятором и т.п.
- Навыки и знания пользователя, обусловленные образованием, культурой, обучением, воспитанием, привычками и т.п.
Применение пароля для подтверждения подлинности пользователя. Традиционно каждый законный пользователь компьютерной системы получает идентификационный номер и/или пароль. В начале сеанса работы на терминале пользователь указывает свой идентификационный номер (идентификатор пользователя) системе, которая затем запрашивает у пользователя пароль.
Простейший метод подтверждения подлинности с использованием пароля основан на сравнении представляемого пользователем пароля с исходным значением, хранящимся в компьютерном центре. Поскольку пароль должен храниться в тайне, его следует шифровать перед пересылкой по незащищенному каналу. Если значения пользователя и системы совпадают, то пароль считается подлинным, а пользователь - законным.
Если кто-нибудь, не имеющий полномочий для входа в систему, узнает каким-либо образом пароль и идентификационный номер законного пользователя, он получит доступ в систему.
Иногда получатель не должен раскрывать исходную открытую форму пароля. В этом случае отправитель должен пересылать вместо открытой формы пароля отображение пароля, получаемое с использованием односторонней функции a(*) пароля. Это преобразование должно гарантировать невозможность раскрытия противником пароля по его отображению, так как противник наталкивается на неразрешимую числовую задачу.
Например, функция а(*) может быть определена следующим образом:
a(P)=Ep(ID),
где Р - пароль отправителя;
ID - идентификатор отправителя;
Ер - процедура шифрования, выполняемая с использованием пароля Р в качестве ключа.
Такие функции особенно удобны, если длина пароля и длина ключа одинаковы. В этом случае подтверждение подлинности с помощью пароля состоит из пересылки получателю отображения a(Р) и сравнения его с предварительно вычисленным и хранимым эквивалентом а'(Р).
На практике пароли состоят только из нескольких букв, чтобы дать возможность пользователям запомнить их. Короткие пароли уязвимы к атаке полного перебора всех вариантов. Для того чтобы предотвратить такую атаку, функцию а(Р) определяют иначе, а именно:
t(P)=Ep xor k(ID),
где К и ID-соответственно ключ и идентификатор отправителя.
Очевидно,значение а(Р) вычисляется заранее и хранится в виде a'(Р) в идентификационной таблице у получателя. Подтверждение подлинности состоит из сравнения двух отображений пароля a(РА) и a'(PА) и признания пароля рА, если эти отображения равны. Конечно, любой, кто получит доступ к идентификационной таблице, может незаконно изменить ее содержимое, не опасаясь, что эти действия будут обнаружены.
26. Взаимная
проверка подлинности пользователей. Механизм запроса-ответа.
Обычно стороны, вступающие, в информационный обмен, нуждаются во взаимной проверке подлинности друг друга (аутентификации).
Для проверки подлинности применяют:
- механизм запроса-ответа;
- механизм отметки времени.
Механизм запроса-ответа состоит в следующем. Если пользователь А хочет быть уверенным, что сообщения, получаемые им от пользователя B не являются ложными, он включает в посылаемое для B сообщение непредсказуемый элемент – запрос X (например, некоторое случайное число).
При ответе пользователь B должен выполнить над этим элементом некоторую операцию (например, вычислить некоторую функцию f(x)). Это невозможно осуществить заранее, так как пользователю B неизвестно, какое случайное число X придет в запросе. Получив ответ с результатом действий B, пользователь А может быть уверен, что B – подлинный. Недостаток этого метода – возможность установления закономерности между запросом и ответом.
Механизм отметки времени подразумевает регистрацию времени для каждого сообщения. В этом случае каждый пользователь сети может определить, насколько “устарело” пришедшее сообщение, и решить не принимать его, поскольку оно может быть ложным.
В обоих случаях следует применять шифрование, чтобы быть уверенным, что ответ послан не злоумышленником.
27. Взаимная проверка подлинности пользователей. Механизм отметки
времени.
Механизм отметки времени подразумевает регистрацию времени для каждого сообщения. В этом случае каждый пользователь сети может определить, насколько “устарело” пришедшее сообщение, и решить не принимать его, поскольку оно может быть ложным.
В обоих случаях следует применять шифрование, чтобы быть уверенным, что ответ послан не злоумышленником.
При использовании отметок времени возникает проблема допустимого временного интервала задержки для подтверждения подлинности сеанса. Какое время запаздывания сообщения в этом случае следует считать подозрительным?
Для взаимной проверки подлинности обычно используют процедуру «рукопожатия». Эта процедура базируется на указанных выше механизмах контроля и заключается во взаимной проверке ключей, используемых сторонами. Процедуру рукопожатия обычно применяют в компьютерных сетях при организации сеанса связи между пользователями, пользователем и хост-компьютером.
Пример. Рукопожатие двух пользователей A и B. Используется симметричная криптосистема. Пользователи А и B разделяют один и тот же секретный ключ.
- Пусть пользователь А инициирует процедуру рукопожатия, отправляя пользователю B свой идентификатор IDА в открытой форме.
- Пользователь B, получив идентификатор IDА находит в базе данных секретный ключ KАB и вводит его в криптосистему.
-
Тем временем пользователь А генерирует случайную последовательность
S с помощью псевдослучайного генератора PG и отправляет ее пользователю В в
виде криптограммы
-
Пользователь В расшифровывает эту криптограмму и
раскрывает исходный вид последовательности S.
-
Затем оба пользователя А и В преобразуют
последовательность S, используя открытую
одностороннюю функцию a(*).
-
Пользователь В шифрует сообщение a(S) и отправляет эту криптограмму пользователю А.
-
Наконец, пользователь А расшифровывает эту криптограмму и
сравнивает полученное сообщение a'(S) с исходным a(S). Если эти сообщения равны, пользователь А признает подлинность
пользователя В.
Очевидно, пользователь В проверяет подлинность пользователя А таким же
способом. Обе эти процедуры образуют процедуру рукопожатия, которая обычно
выполняется в самом начале любого сеанса связи между любыми двумя сторонами в
компьютерных сетях.
Достоинством модели рукопожатия является то, что ни один из участников
сеанса связи не получает никакой секретной информации во время процедуры
подтверждения подлинности.
Рисунок 5.1. Схема процедуры рукопожатия (пользователь А проверяет подлинность пользователя B)
Иногда пользователи хотят иметь непрерывную проверку подлинности отправителей в течение всего сеанса связи. Один из простейших способов непрерывной проверки подлинности показан на рис. 5.2. Передаваемая криптограмма имеет вид
ek(ida,m),
где IDA - идентификатор отправителя А; М - сообщение.
Получатель В, принявший эту криптограмму, расшифровывает ее и раскрывает пару (IDA, М). Если принятый идентификатор IDA совпадает с хранимым значением IDA’, получатель В признает эту криптограмму.
Рисунок 5.2. Схема непрерывной проверки подлинности отправителя
Другой вариант непрерывной проверки подлинности использует вместо
идентификатора отправителя его секретный пароль. Заранее подготовленные пароли
известны обеим сторонам. Пусть ра
и Рв - пароли пользователей А и В соответственно. Тогда
пользователь А создает криптограмму
С = Ек (ра, М).
Получатель криптограммы расшифровывает ее и сравнивает пароль, извлеченный
из этой криптограммы, с исходным значением. Если они равны, получатель признает
эту криптограмму.
Процедура рукопожатия была рассмотрена в предположении, что пользователи А
и В уже имеют общий секретный сеансовый ключ. Реальные процедуры
предназначены для распределения ключей между подлинными партнерами и включает
как этап распределения ключей, так и этап собственно подтверждения подлинности
партнеров по информационному обмену.
29. Проблема аутентификации
данных и электронная цифровая подпись
При обмене электронными документами по сети связи существенно снижаются затраты на обработку и хранение документов, убыстряется их поиск. Но при этом возникает проблема аутентификации автора документа и самого документа, т.е. установления подлинности автора и отсутствия изменений в полученном документе. В обычной (бумажной) информатике эти проблемы решаются за счет того, что информация в документе и рукописная подпись автора жестко связаны с физическим носителем (бумагой). В электронных документах на машинных носителях такой связи нет.
Целью аутентификации электронных документов является их защита от возможных видов злоумышленных действий, к которым относятся:
- активный перехват - нарушитель, подключившийся к сети, перехватывает документы (файлы) и изменяет их;
- маскарад - абонент С посылает документ абоненту В от имени абонента А;
- ренегатство - абонент А заявляет, что не посылал сообщения абоненту В, хотя на самом деле послал;
- подмена - абонент В изменяет или формирует новый документ и заявляет, что получил его от абонента А;
- повтор - абонент С повторяет ранее переданный документ, который абонент А посылал абоненту В.
Эти виды злоумышленных действий могут нанести существенный ущерб банковским и коммерческим структурам, государственным предприятиям и организациям, частным лицам, применяющим в своей деятельности компьютерные информационные технологии.
При обработке документов в электронной форме совершенно непригодны традиционные способы установления подлинности по рукописной подписи и оттиску печати на бумажном документе. Принципиально новым решением является электронная цифровая подпись (ЭЦП).
Электронная цифровая подпись используется для аутентификации текстов, передаваемых по телекоммуникационным каналам. Функционально она аналогична обычной рукописной подписи и обладает ее основными достоинствами:
- удостоверяет, что подписанный текст исходит от лица, поставившего подпись;
- не дает самому этому лицу возможности отказаться от обязательств. связанных с подписанным текстом;
- гарантирует целостность подписанного текста.
- цифровая подпись представляет собой относительно небольшое количество дополнительной цифровой информации, передаваемой вместе с подписываемым текстом.
Система ЭЦП включает две процедуры: 1) процедуру постановки подписи; 2) процедуру проверки подписи. В процедуре постановки подписи используется секретный ключ отправителя сообщения, в процедуре проверки подписи - открытый ключ отправителя.
При формировании ЭЦП отправитель прежде всего вычисляет хэш-функцию h(М) подписываемого текста М. Вычисленное значение хэш-функции h(М) представляет собой один короткий блок информации m, характеризующий весь текст М в целом. Затем число m шифруется секретным ключом отправителя. Получаемая при этом пара чисел представляет собой ЭЦП для данного текста М.
При проверке ЭЦП получатель сообщения снова вычисляет хэш-функцию m = h(M) принятого по каналу текста М, после чего при помощи открытого ключа отправителя проверяет, соответствует ли полученная подпись вычисленному значению m хэш-функции.
Принципиальным моментом в системе ЭЦП является невозможность подделки ЭЦП пользователя без знания его секретного ключа подписывания.
В качестве подписываемого документа может быть использован любой файл. Подписанный файл создается из неподписанного путем добавления в него одной или более электронных подписей. Каждая подпись содержит следующую информацию:
- дату подписи:
- срок окончания действия ключа данной подписи;
- информацию о лице, подписавшем файл (Ф.И.0., должность, краткое наименование фирмы);
- идентификатор подписавшего (имя открытого ключа);
- собственно цифровую подпись.
30. Однонаправленные
хэш-функции. Схемы
безопасного хеширования.
Хэш-функция предназначена для сжатия подписываемого документа М до нескольких десятков или сотен бит. Хэш-функция h(*) принимает в качестве аргумента сообщение (документ) М произвольной длины и возвращает хэш-значение h(M)=H фиксированной длины. Обычно хэшированная информация является сжатым двоичным представлением, основного сообщения произвольной длины. Следует отметить, что значение хэш-функции h(М) сложным образом зависит от документа М и не позволяет восстановить сам документ М.
Хэш-функция должна удовлетворять целому ряду условий:
- хэш-функция должна быть чувствительна к всевозможным изменениям в тексте М, таким как вставки, выбросы, перестановки и т.п.;
- хэш-функция должна обладать свойством необратимости, то есть задача подбора документа М', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима;
- вероятность того, что значения хэш-функции двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала.
Большинство хэш-функций строится на основе однонаправленной функции f(*), которая образует выходное значение длиной n при задании двух входных значений длиной n. Этими входами являются блок исходного текста Мi и хэш-значение Нi-1 предыдущего блока текста (рис.6.1):
Нi = f(Mi ,Hi-1).
Хэш-значение, вычисляемое при вводе последнего блока текста, становится хэш-значением всего сообщения М.
Рисунок 6.1. Построение однонаправленной хэш-функции
В результате однонаправленная хэш-функция всегда формирует выход фиксированной длины n (независимо от длины входного текста).
Алгоритм
безопасного хэширования SHA
(Secure Hash Algorithm)
разработан НИСТ и АНБ США в рамках стандарта безопасного хэширования SHS (Secure Hash Standard) в
При вводе сообщения М произвольной длины менее 264 бит алгоритм SHA вырабатывает 160-битовое выходное сообщение, называемое дайджестом сообщения МD (Message Digest). Затем этот дайджест сообщения используется в качестве входа алгоритма DSA, который вычисляет цифровую подпись сообщения М. Формирование цифровой подписи для дайджеста сообщения, а не для самого сообщения повышает эффективность процесса подписания, поскольку дайджест сообщения обычно намного короче самого сообщения.
Такой же дайджест сообщения должен вычисляться пользователем, проверяющим полученную подпись, при этом в качестве входа в алгоритм SHA используется полученное сообщение М.
Алгоритм хэширования SHA назван безопасным, потому что он спроектирован таким образом, чтобы было вычислительно невозможно восстановить сообщение, соответствующее данному дайджесту, а также найти два различных сообщения, которые дадут одинаковый дайджест. Любое изменение сообщения при передаче с очень большой вероятностью вызовет изменение дайджеста, и принятая цифровая подпись не пройдет проверку.
Рассмотрим подробнее работу алгоритма хэширования SHA. Прежде всего исходное сообщение М дополняют так, чтобы оно стало кратным 512 битам. Дополнительная набивка сообщения выполняется следующим образом: сначала добавляется единица, затем следуют столько нулей, сколько необходимо для получения сообщения, которое на 64 бита короче, чем кратное 512, и наконец добавляют 64-битовое представление длины исходного сообщения.
Инициализируется пять 32-битовых переменных в виде:
А=0х67452301
B=0xEFCDAB89
C=0x98BADCFE
D= 0х10325476
E=0xC3D2E1F0
Затем начинается главный цикл алгоритма. В нем обрабатывается по 512 бит сообщения поочередно для всех 512-битовых блоков, имеющихся в сообщении. Первые пять переменных А, В, С, D, Е копируются в другие переменные а, Ь, с, d, е;
а=А, Ь=В, с=С, d=D, е=Е,
Главный цикл содержит четыре цикла по 20 операций каждый. Каждая операция реализует нелинейную функцию от трех из пяти переменных а, b, с, d, е, а затем производит сдвиг и сложение.
Алгоритм SHA имеет следующий набор нелинейных функций:
ft (X,Y, Z) = (X /\У) \/ ((⌐X) /\ Z) для t=0...19
ft (X,Y, Z) = X xor Y xor Z для t=20...39
ft (X,Y, Z) = (X /\Y) \/ (X /\ Z) \/ (Y /\ Z) для t=40...59
ft (X,Y, Z) = X xor Y xor Z для t=60...79
где t - номер операции.
В алгоритме используются также четыре константы:
Kt=0x5A827999 для t=0...19
Кt =0x6ЕD9ЕВА1 для t=20...39
Kt=0x8F1BBCDC для t=40...59
Kt=0xCA62C1D6 для t=60...79
Блок сообщения преобразуется из шестнадцати 32-битовых слов (Mo...Mi5) в восемьдесят 32-битовых слов (Wo ...W79) с помощью следующего алгоритма:
Wt=Mt для t=0...15
Wt=( Wt-3+ Wt-8+ Wt-14+ Wt-16)<<<1 (знак +заключить в окружность) для t=16...79
где t - номер операции (для 1=1...80),
Wt - t-й субблок расширенного сообщения,
<<< S - циклический сдвиг влево на S бит.
С учетом введенных обозначений главный цикл из восьмидесяти операций можно описать так:
FOR t = 0 до 79
TEMP =
(а<<< 5) + ft (b,c,d) + е + Wt + Кt
e=d
d=c
с = (b <<< 30)
b=a
a = TEMP
Схема выполнения одной операции показана на рис.6.2.
После окончания главного цикла значения а, b, с, d и е складываются с А, В, С, D и Е соответственно, и алгоритм приступает к обработке следующего 512-битового блока данных. Окончательный выход формируется в виде конкатенации значений A, B, C, D и Е.
Поскольку алгоритм SHA выдает 160-битовое хэш-значение, он
более устойчив к атакам полного перебора и атакам "дня рождения", чем
большинство других алгоритмов хэширования, формирующих 128-битовые
хэш-значения.
31. Алгоритм цифровой подписи
RSA.
Первой и наиболее известной во всем мире конкретной системой ЭЦП стала
система RSA, математическая схема которой была разработана в
Сначала необходимо вычислить пару ключей (секретный ключ и открытый ключ). Для этого отправитель (автор) электронных документов вычисляет два больших простых числа Р и Q, затем находит их произведение
N=P*Q
и значение функции
φ(N)=(P-1)(Q-1).
Далее отправитель вычисляет число Е из условий:
E≤£(N), НОД (E, £(N))
и число D из условий:
D<N,. E*D=1(mod £(N))
Пара чисел (E,N) является открытым ключом. Эту пару чисел автор передает партнерам по переписке для проверки его цифровых подписей. Число D сохраняется автором как секретный ключ для подписывания.
Обобщенная схема формирования и проверки цифровой подписи RSA показана на рис.6.5.
Допустим, что отправитель хочет подписать сообщение М перед его отправкой. Сначала сообщение М (блок информации, файл, таблица) сжимают с помощью хэш-функции h(*) в целое число m:
m=h(M).
Затем вычисляют цифровую подпись S под электронным документом М, используя хэш-значение m и секретный ключ D:
S = mD (mod N).
Пара (M,S) передается партнеру-получателю как электронный документ М, подписанный цифровой подписью S, причем подпись S сформирована обладателем секретного ключа D.
После приема пары (M,S) получатель вычисляет хэш-значение сообщения М двумя разными способами.
Прежде всего он восстанавливает хэш-значение m', применяя криптографическое преобразование подписи S с использованием
открытого ключа Е:
m\=SE(mod N)
Рисунок 6.5. Обобщенная схема цифровой подписи RSA
Кроме того,
он находит результат хэширования принятого сообщения М с помощью такой же
хэш-функции h(*):
m = h(M).
Если
соблюдается равенство вычисленных значений, т.е.
SE(mod N)=h(M)
то
получатель признает пару (M,S) подлинной.
Доказано, что только обладатель секретного ключа D может сформировать цифровую подпись S по документу М, а определить секретное число D по открытому числу Е не легче, чем разложить модуль N на множители.
Кроме того, можно строго математически доказать, что результат проверки
цифровой подписи S будет положительным только в
том случае, если при вычислении S был использован
секретный ключ D, соответствующий открытому
ключу Е. Поэтому открытый ключ Е иногда называют "идентификатором"
подписавшего.
Недостатки алгоритма цифровой подписи RSA.
1. При вычислении модуля N, ключей Е и D для системы цифровой подписи RSA необходимо
проверять большое количество дополнительных условий, что сделать практически
трудно. Невыполнение любого из этих условий делает возможным фальсификацию
цифровой подписи со стороны того, кто обнаружит такое невыполнение. При
подписании важных документов нельзя допускать такую возможность даже
теоретически.
2. Для
обеспечения криптостойкости цифровой подписи RSA по отношению к попыткам фальсификации на уровне, например, национального
стандарта США на шифрование информации (алгоритм DES), т.е. 1018, необходимо использовать при вычислениях N, D и Е целые числа не менее 2512 (или около 10154) каждое,
что требует больших вычислительных затрат, превышающих на 20...30%
вычислительные затраты других алгоритмов цифровой подписи при сохранении того
же уровня криптостойкости.
3. Цифровая
подпись RSA уязвима к так называемой мультипликативной атаке. Иначе говоря, алгоритм
цифровой подписи RSA позволяет злоумышленнику без
знания секретного ключа D сформировать
подписи под теми документами, у которых результат хэширования можно вычислить
как произведение результатов хэширования уже подписанных документов.
Пример. Допустим, что злоумышленник может сконструировать три
сообщения M1, М2 и М3 у которых хэш-эначения:
m1 = h(M1), m2 = h(М2), m3 = h(М3),
причем m3=m1*m2 (mod N).
Допустим также, что для двух сообщений M1 и М2 получены законные подписи
S1 = m1D
(mod N) и
S2 = m2D (mod N).
Тогда
злоумышленник может легко вычислить подпись S3 для документа М3 даже не зная секретного ключа D:
S3 =
S1 * S2 (mod N).
Действительно,
S1
* S2 (mod N) = m1D * m2D (mod N) =
(m1m2)D (mod N) = m2D
(mod N) = S3.
Более надежный и удобный для реализации на персональных компьютерах
алгоритм цифровой подписи был разработан в
32. Управление
криптографическими ключами. Основные понятия.
Любая криптографическая система основана на использовании криптографических ключей. В симметричной криптосистеме отправитель и получатель сообщения используют один и тот же секретный ключ. Этот ключ должен быть неизвестен всем остальным и должен периодически обновляться одновременно у отправителя и получателя. Процесс распределения (рассылки) секретных ключей между участниками информационного обмена в симметричных криптосистемах имеет весьма сложный характер.
Асимметричная криптосистема предполагает использование двух ключей - открытого и личного (секретного). Открытый ключ можно разглашать, а личный надо хранить в тайне. При обмене сообщениями необходимо пересылать только открытый ключ. Важным требованием является обеспечение подлинности отправителя сообщения. Это достигается путем взаимной аутентификации участников информационного обмена.
Под ключевой информацией понимают совокупность всех действующих в АСОИ ключей. Если не обеспечено достаточно надежное управление ключевой информацией, то, завладев ею, злоумышленник получает неограниченный доступ ко всей информации.
Управление ключами - информационный процесс, включающий реализацию следующих основных функций:
- генерация ключей;
- хранение ключей;
- распределение ключей.
Для получения ключей используются аппаратные и программные средства генерации случайных значений ключей. Как правило, применяют датчики псевдослучайных чисел (ПСЧ). Однако степень случайности генерации чисел должна быть достаточно высокой. Идеальными генераторами являются устройства на основе "натуральных" случайных процессов, например на основе белого радиошума.
В АСОИ со средними требованиями защищенности вполне приемлемы программные генераторы ключей, которые вычисляют ПСЧ как сложную функцию от текущего времени и (или) числа, введенного пользователем.
Один из методов генерации сеансового ключа для симметричных криптосистем описан в стандарте ANSI X9.17. Он предполагает использование криптографического алгоритма DES (хотя можно применить и другие симметричные алгоритмы шифрования).
Обозначения:
Ек (X) - результат шифрования алгоритмом DES значения X;
К- ключ, зарезервированный для генерации секретных ключей;
Vo - секретное 64-битовое начальное число;
Т - временная отметка.
Схема генерации случайного сеансового ключа Ri в соответствии со стандартом ANSI X9.17 показана на рис. 7.1. Случайный ключ Ri генерируют, вычисляя значение
Ri= Ek(Ek+( Ti)+ Vi) (знак + заключен в окружность)
Рисунок 7.1. Схема генерации случайного ключа Ri в соответствии
со стандартом ANSI X9.17
Следующее значение Vni вычисляют так:
Vi+1= Ek(Ek( Ti)+ Vi (знак + заключен в окружность)
Если необходим 128-битовый случайный ключ, генерируют пару ключей Ri, Ri+1 и объединяют их вместе.
Если ключ не меняется регулярно, это может привести к его раскрытию и утечке информации. Регулярную замену ключа можно осуществить, используя процедуру модификации ключа.
Модификация ключа — это генерирование нового ключа из предыдущего значения ключа с помощью односторонней (однонаправленной) функции. Участники информационного обмена разделяют один и тот же ключ и одновременно вводят его значение в качестве аргумента в одностороннюю функцию, получая один и тот же результат. Затем они берут определенные биты из этих результатов, чтобы создать новое значение ключа.
Процедура модификации ключа работоспособна, но надо помнить, что новый ключ безопасен в той же мере, в какой был безопасен прежний ключ. Если злоумышленник сможет добыть прежний ключ, то он сможет выполнить процедуру модификации ключа.
Под функцией хранения ключей понимают организацию, их безопасного хранения, учета и удаления. Ключ является самым привлекательным для злоумышленника объектом, открывающим ему путь к конфиденциальной информации. Поэтому вопросам безопасного хранения ключей следует уделять особое внимание.
Секретные ключи никогда не должны записываться в явном виде на носителе, который может быть считан или скопирован. Любая информация об используемых ключах должна быть защищена, в частности храниться в зашифрованном виде.
Необходимость в хранении и передаче ключей, зашифрованных с помощью других ключей, приводит к концепции иерархии ключей. В стандарте ISO 8532 (Banking-Key Management) подробно изложен метод главных/сеансовых ключей (master/session keys). Суть метода состоит в том, что вводится иерархия ключей:
- главный ключ (ГК);
- ключ шифрования ключей (КК);
- ключ шифрования данных (КД).
Иерархия ключей может быть:
- двухуровневой (КК/КД);
- трехуровневой (ГК/КК/КД).
Самым нижним уровнем являются рабочие или сеансовые КД, которые используются для шифрования данных, персональных идентификационных номеров (PIN) и аутентификации сообщений. Когда эти ключи надо зашифровать с целью защиты при передаче или хранении, используют ключи следующего уровня - ключи шифрования ключей. Ключи шифрования ключей никогда не должны использоваться как сеансовые (рабочие) КД, и наоборот.
Такое разделение функций необходимо для обеспечения максимальной безопасности. Фактически стандарт устанавливает, что различные типы рабочих ключей - (например, для шифрования данных, для аутентификации и т.д.) должны всегда шифроваться с помощью различных версий ключей шифрования ключей..
В частности, ключи шифрования ключей, используемые для пересылки ключей между двумя узлами сети, известны также как ключи обмена между узлами сети (cross domain keys). Обычно в канале используются два ключа для обмена между узлами сети, по одному в каждом направлении. Поэтому каждый узел сети будет иметь ключ отправления, для обмена с узлами сети и ключ получения для каждого канала, поддерживаемого другим узлом сети.
На верхнем уровне иерархии ключей располагается главный ключ, мастер-ключ. Этот ключ применяют для шифрования КК, когда требуется сохранить их на диске. Обычно в каждом компьютере используется только один мастер-ключ.
35. Аутентификация мастер-ключа хост-компьютера.
Мастер-ключ распространяется между участниками обмена неэлектронным способом - при личном контакте, чтобы исключить его перехват и/или компрометацию. Раскрытие противником значения мастер-ключа полностью уничтожает защиту компьютера.
Значение мастер-ключа фиксируется на длительное время (до нескольких недель или месяцев). Поэтому генерация и хранение мастер-ключей являются критическими вопросами криптографической защиты. На практике мастер-ключ компьютера создается истинно случайным выбором из всех возможных значений ключей. Мастер-ключ помещают в защищенный по считыванию и записи и от механических воздействий блок криптографической системы таким образом, чтобы раскрыть значение этого ключа было невозможно. Однако все же должен существовать способ проверки, является ли значение ключа правильным.
Проблема аутентификации мастер-ключа может быть решена различными путями. Один из способов аутентификации показан на рис. 7.2.
Рисунок 7.2. Схема аутентификации мастер-ключа хост-компьютера
Администратор, получив новое значение мастер-ключа Кн хост-компьютера, шифрует некоторое сообщение М ключом Кн. Пара (криптограмма ЕKн(М), сообщение М) помещается в память компьютера. Всякий раз, когда требуется аутентификация мастер-ключа хост-компьютера, берется сообщение М из памяти и подается в криптографическую систему. Получаемая криптограмма сравнивается с криптограммой, хранящейся в памяти. Если они совпадают, считается, что данный ключ является правильным.
36. Схема защиты сеансового ключа.
Рабочие ключи (например, сеансовый) обычно создаются с помощью псевдослучайного генератора и могут храниться в незащищенном месте. Это возможно, поскольку такие ключи генерируются в форме соответствующих криптограмм, т.е. генератор ПСЧ выдает вместо ключа Ks его криптограмму EKн(Ks), получаемую с помощью мастер-ключа хост-компьютера. Расшифровывание такой криптограммы выполняется только перед использованием ключа Ks.
Схема защиты рабочего (сеансового) ключа показана на рис. 7.3. Чтобы зашифровать сообщение М ключом Ks, на соответствующие входы криптографической системы подается криптограмма EKн(Ks) и сообщение М. Криптографическая система сначала восстанавливает ключ Ks, а затем шифрует сообщение М, используя открытую форму сеансового ключа Ks.
Таким образом, безопасность сеансовых ключей зависит от безопасности криптографической системы. Криптографический блок может быть спроектирован как единая СБИС и помещен в физически защищенное место.
Рис. 7.3. Схема защиты сеансового ключа
Очень важным условием безопасности информации является периодическое обновление ключевой информации в АСОИ. При этом должны переназначаться как рабочие ключи, так и мастер-ключи. В особо ответственных АСОИ обновление ключевой информации (сеансовых ключей) желательно делать ежедневно. Вопрос обновления ключевой информации тесно связан с третьим элементом управления ключами - распределением ключей.
37. Распределение ключей. Использование
центров распределения ключей.
Распределение ключей - самый ответственный процесс в управлении ключами. К нему предъявляются следующие требования:
- оперативность и точность распределения;
- скрытность распределяемых ключей.
Распределение ключей между пользователями компьютерной сети реализуется двумя способами:
1) использованием одного или нескольких центров распределения ключей;
2) прямым обменом сеансовыми ключами между пользователями сети.
Недостаток первого подхода состоит в том, что центру распределения ключей известно, кому и какие ключи распределены, и это позволяет читать все сообщения, передаваемые по сети. Возможные злоупотребления существенно влияют на защиту. При втором подходе проблема состоит в том, чтобы надежно удостоверить подлинность субъектов сети.
В обоих случаях должна быть обеспечена подлинность сеанса связи. Это можно осуществить, используя механизм запроса-ответа или механизм отметки времени.
Механизм запроса-ответа заключается в следующем. Пользователь А включает в посылаемое сообщение (запрос) для пользователя В непредсказуемый элемент (например, случайное число). При ответе пользователь В должен выполнить некоторую операцию с этим элементом (например, добавить единицу), что невозможно осуществить заранее, поскольку неизвестно, какое случайное число придет в запросе. После получения результата действий пользователя В (ответ) пользователь А может быть уверен, что сеанс является подлинным.
Механизм отметки времени предполагает фиксацию времени для каждого сообщения. Это позволяет каждому субъекту сети определить, насколько старо пришедшее сообщение, и отвергнуть его, если появится сомнение в его подпинности. При использовании отметок времени необходимо установить допустимый временной интервал задержки.
Задача распределения ключей сводится к построению протокола распределения ключей, обеспечивающего:
- взаимное подтверждение подлинности участников сеанса;
- подтверждение достоверности сеанса механизмом запроса-ответа или отметки времени;
- использование минимального числа сообщений при обмене ключами;
- возможность исключения злоупотреблений со стороны центра распределения ключей (вплоть до отказа от него).
При распределении ключей между участниками предстоящего информационного обмена должна быть гарантирована подлинность сеанса связи. Для взаимной проверки подлинности партнеров приемлема модель рукопожатия. В этом случае ни один из участников не будет получать никакой секретной информации во время процедуры установления подлинности.
При включении в процесс распределения ключей центра распределения ключей (ЦРК) осуществляется его взаимодействие с одним или обоими участниками сеанса с целью распределения секретных или открытых ключей, предназначенных для использования, в последующих сеансах связи.
Следующий этап - подтверждение подлинности участников - содержит обмен удостоверяющими сообщениями, чтобы иметь возможность выявить любую подмену или повтор одного из предыдущих вызовов.
Рассмотрим протоколы для симметричных криптосистем с секретными ключами и для асимметричных криптосистем с открытыми ключами. Вызывающий (исходный объект) обозначается через А, а вызываемый (объект назначения) - через В. Участники сеанса А и В имеют уникальные идентификаторы Ida и Idb, соответственно.
Протокол для симметричных криптосистем с использованием отметок времени. Каждый из участников сеанса А и В имеет мастер-ключ Kt, для объекта i (i=A; В), известный только ему и ЦРК. Эти мастер-ключи генерируются в ЦРК и распределяются каждому объекту при личном контакте. Мастер-ключ используется для шифрования сеансового ключа, когда последний передается по сети. Сеансовый ключ Ks генерируется в ЦРК и используется участниками сеанса А и В для защиты сообщений при передаче по линиям связи. Для предотвращения фальсифицированных повторных вызовов на стадии распределения ключей в этом протоколе применяются отметки времени Т.
Участник А инициирует фазу распределения ключей, посылая в ЦРК по сети идентификаторы Idа и Idb:
(1) A->ЦРК: Idа, ( Idb,
Прошу связь с B’).
Идентификатор Idа посыпается в явном виде, поэтому менеджер ЦРК будет знать, какой мастер-ключ необходим для расшифрования зашифрованной части сообщения. Для этого в ЦРК имеются таблицы идентификаторов и соответствующих им мастер-ключей. Любая попытка злоумышленника изменить Idа приведет к получению неправильного ключа для расшифрования и, следовательно, к выявлению нарушителя службой ЦРК.
Если сообщение правильное, менеджер ЦРК разыскивает мастер-ключ Ktb, а также вычисляет сеансовый ключ Ks. Затем участнику А посылается ответное сообщение
(2) ЦРК -> А
: (Т, Ks, Idb,
(Т, Ks, Ida)).
Это сообщение может расшифровать только А, поскольку оно зашифровано ключом Kta. Участник А проверяет отметку времени Т, чтобы убедиться, что это сообщение не является повтором предыдущей процедуры распределения ключей. Идентификатор Idb убеждает А, что действительно требуемый адресат был указан в сообщении (1). Участник А сохраняет у себя сеансовый ключ Ks и посылает участнику В часть сообщения, зашифрованную мастер-ключом объекта В. а также случайное число r1, зашифрованное сеансовым ключом Ks:
(3) A->B : (t,
Ks, Ida),
.
В этом случае только участник В может расшифровать сообщение (3). Участник В получает отметку времени Т, сеансовый ключ Ks и идентификатор Ida. Если отметка времени Т верна, то В уверен, что никто, кроме А, не может быть вызывающим объектом. Фактически верная отметка времени, и уникальный идентификатор участника А, зашифрованные ключом Ktb, обеспечивают подтверждение подлинности А по отношению к В. Далее В извлекает из сообщения случайное число r1, выполняя расшифрование сеансовым ключом Ks. Для взаимного подтверждения подлинности участник В посылает А сообщение, зашифрованное ключом Ks и содержащее некоторую функцию от случайного числа f(r1):
(4) В->А : .
Например, функция f может осуществлять отображение
f : r1->r1-1.
Если после расшифрования сообщения (4) участник А получает правильный результат, он знает, что объект на другом конце линии связи действительно В.
Если все шаги успешно выполнены, то этих взаимных подтверждений достаточно, чтобы установить связь, которая будет проходить под сеансовым ключом Ks. Следует отметить, что в этом протоколе необходим обмен с ЦРК для получения сеансового ключа каждый раз, когда А желает установить связь с В. Данный протокол обеспечивает надежное соединение объектов А и В при условии, что ни один из ключей не скомпрометирован и ЦРК защищен.
Протокол для асимметричных криптосистем с использованием сертификатов открытых ключей. В этом протоколе используется идея сертификатов открытых ключей [48].
Сертификатом открытого ключа С называется сообщение ЦРК, удостоверяющее целостность некоторого открытого ключа объекта. Например, сертификат открытого ключа для пользователя А, обозначаемый СА, содержит отметку времени Т, идентификатор IdА и открытый ключ КА, зашифрованные секретным ключом ЦРК Кцрк, т.е.
СА=Ek(црк) (Т, IdA, КA).
Отметка времени Т используется для подтверждения актуальности сертификата и тем самым предотвращает повторы прежних сертификатов, которые содержат открытые ключи и для которых соответствующие секретные ключи несостоятельны.
Секретный ключ kцрк известен только менеджеру ЦРК. Открытый ключ Kцрк известен участникам А и В. ЦРК поддерживает таблицу открытых ключей всех объектов сети, которые он обслуживает.
Вызывающий объект А инициирует стадию установления ключа, запрашивая у ЦРК сертификат своего открытого ключа и открытого ключа участника В:
(1) А -> ЦРК : IdA, IdB, 'Вышлите сертификаты ключей А и В. Здесь IdA и IdB - уникальные идентификаторы соответственно участников А и В.
Менеджер ЦРК отвечает сообщением
(2) ЦРК -> А : Ek(црк) (Т, IdA, КA), Ek(црк), (Т, IdB,КB).
Участник А, используя открытый ключ ЦРК Кцрк, расшифровывает ответ ЦРК, проверяет оба сертификата. Идентификатор IdB убеждает А, что личность вызываемого участника правильно зафиксирована в ЦРК и Кв - действительно открытый ключ участника В, поскольку оба зашифрованы ключом Кцрк.
Хотя открытые ключи предполагаются известными всем, посредничество ЦРК позволяет подтвердить их целостность. Без такого посредничества злоумышленник может снабдить А своим открытым ключом, который А будет считать ключом участника В. Затем злоумышленник может подменить собой В и установить связь с А, и его никто не сможет выявить.
Следующий шаг протокола включает установление связи А с В:
(3) А-> В : CA, Ek(a)(T),.
Здесь CA - сертификат открытого ключа пользователя А;
- отметка
времени, зашифрованная секретным ключом участника А и являющаяся подписью
участника А, поскольку никто другой не может создать такую подпись;
r1 - случайное число, генерируемое А и используемое для обмена с В в ходе процедуры подлинности. Если сертификат СA и подпись А верны, то участник В уверен, что сообщение пришло от А. Часть сообщения Ek(b)(ri) может расшифровать только В, поскольку никто другой не знает секретного ключа kв, соответствующего открытому ключу Кв. Участник В расшифровывает значение числа r1 и, чтобы подтвердить свою подлинность, посылает участнику А сообщение
(4) В->А : Ek(a)(ri).
Участник А восстанавливает значение r1, расшифровывая это сообщение с использованием своего секретного ключа kA. Если это ожидаемое значение r1, то А получает подтверждение, что вызываемый участник действительно В.
Протокол, основанный на симметричном шифровании, функционирует быстрее, чем протокол, основанный на криптосистемах с открытыми ключами. Однако способность систем с открытыми ключами генерировать цифровые подписи, обеспечивающие различные функции защиты, компенсирует избыточность требуемых вычислений.
38. Распределение ключей
прямым обменом сеансовыми ключами между пользователями сети.
При использовании для информационного обмена криптосистемы с симметричным секретным ключом два пользователя, желающие обменяться криптографически защищенной информацией, должны обладать общим секретным ключом. Пользователи должны обменяться общим ключом по каналу связи безопасным образом. Если пользователи меняют ключ достаточно часто, то доставка ключа превращается в серьезную проблему.
Для решения этой проблемы можно применить два способа:
1) использование криптосистемы с открытым ключом для шифрования и передачи секретного ключа симметричной криптосистемы;
2) использование системы открытого распределения ключей Диффи-Хеллмана.
Первый способ был подробно изложен ранее. Второй способ основан на применении системы открытого распределения ключей. Эта система позволяет пользователям обмениваться ключами по незащищенным каналам связи. Интересно отметить, что система открытого распределения ключей базируется на тех же принципах, что и система шифрования с открытыми ключами.
Алгоритм
открытого распределения ключей Диффи-Хеллмана. Алгоритм Диффи-Хеллмана был
первым алгоритмом с открытыми ключами (предложен в
Предположим, что два пользователя А и B хотят организовать защищенный коммуникационный канал.
1. Обе стороны заранее уславливаются о модуле N (N должен быть простым числом) и примитивном элементе , , g€Zn, 1≤g≤N который образует все ненулевые элементы множества ZN, т.е.
{g,g2,…,gN-1=1}=ZN-{0}
Эти два целых числа N и g могут не храниться в секрете. Как правило, эти значения являются общими для всех пользователей системы.
2. Затем пользователи А и В независимо друг от друга выбирают собственные секретные ключи kA и kB (kA и kB - случайные большие целые числа, которые хранятся пользователями А и В в секрете).
3. Далее пользователь А вычисляет открытый ключ
ya=gk(a)
а пользователь В - открытый ключ
.yb=gk(b)(mod N)
4. Затем стороны А и В обмениваются вычисленными значениями открытых ключей уA и уB по незащищенному каналу.
(Мы считаем, что все данные, передаваемые по незащищенному каналу связи, могут быть перехвачены злоумышленником.)
5. Далее пользователи А и В вычисляют общий секретный ключ, используя следующие сравнения:
пользователь А: K=(yb)K(a)=(gk(b))k(a)(mod N)
пользователь
В: K/=(ya)k(b)=(gk(a))k(b)
При этом K = К', так как (gk(b))k(a)= (gk(a))k(b)(mod N)
Схема реализации алгоритма Диффи-Хеллмана показана на рис. 7.4.
Ключ К может использоваться в качестве общего секретного ключа (ключа шифрования ключей) в симметричной криптосистеме.
Кроме того, обе стороны А и В могут шифровать сообщения, используя следующее преобразование шифрования (типа RSA): С = Ек (М) = МK (mod N).
Рисунок 7.4. Схема реализации алгоритма Диффи-Хеллмана
Для выполнения расшифрования получатель сначала находит ключ расшифрования К* с помощью сравнения
K*K=1(mod N-1)
а затем восстанавливает сообщение
M= Dk(C)=Ck*
Пример. Допустим, модуль N = 47, а примитивный элемент g = 23. Предположим, что пользователи А и В выбрали свои секретные ключи: КА =12(mod 47) и kB = 33 (mod 47).
Для того чтобы иметь общий секретный ключ К. они вычисляют сначала значения частных открытых ключей:
уА
= = 2312= 27
(mod 47),
УВ
= = 2333 = 33
(mod 47).
После того, как пользователи А и В обменяются своими значениями уА и Ув, они вычисляют общий секретный ключ
K=(yb)k(a)= (ya)k(b)=3312=2733=2312*33=25(mod
N-1)
Кроме того, они находят секретный ключ расшифрования, используя следующее сравнение:
K*K*=1(mod N-1)
откуда
= 35 (mod 46).
Теперь, если сообщение М =16, то криптограмма
C=Mk=1625=21(mod 47)
Получатель восстанавливает сообщение так:
..M=Ck=2135=16(mod 47)
Злоумышленник, перехватив значения N, g, yA и yB, тоже хотел бы определить значение ключа К. Очевидный путь для решения этой задачи состоит в вычислении такого значения kA по N, g, yA, что gk(a)mod N=ya (поскольку в этом случае, вычислив КA, можно найти). K=(yb)k(a)mod N Однако нахождение kA по N, g и уA - задача нахождения дискретного логарифма в конечном поле, которая считается неразрешимой.
Выбор значений N и g может иметь существенное влияние на безопасность этой системы. Модуль N должен быть большим и простым числом. Число (N -1)/2 также должно быть простым числом. Число g желательно выбирать таким, чтобы оно было примитивным элементом множества ZN. (В принципе достаточно, чтобы число g генерировало большую подгруппу мультипликативной группы по mod N.)
Алгоритм открытого распределения ключей Диффи-Хеллмана позволяет обойтись без защищенного канала для передачи ключей. Однако, работая с этим алгоритмом, необходимо иметь гарантию того, что пользователь А получил открытый ключ именно от пользователя В, и наоборот. Эта проблема решается с помощью электронной подписи, которой подписываются сообщения об открытом ключе.
Метод Диффи-Хеллмана дает возможность шифровать данные при каждом сеансе связи на новых ключах. Это позволяет не хранить секреты на дискетах или других носителях. Не следует забывать, что любое хранение секретов повышает вероятность попадания их в руки конкурентов или противника.
Преимущество метода Диффи-Хеллмана по сравнению с методом RSA заключается в том, что формирование общего секретного ключа происходит в сотни раз быстрее. В системе RSA генерация новых секретных и открытых ключей основана на генерации новых простых чисел, что занимает много времени.
40. Особенности
функционирования межсетевых экранов.
В сети Интернет обычно используются следующие методы защиты:
- межсетевые экраны
- криптопротоколы
Межсетевой экран (МЭ) - это система межсетевой защиты, позволяющая разделить общую сеть на две части или более и реализовать набор правил, определяющих условия прохождения пакетов с данными через границу из одной части общей сети в другую.
Обычно межсетевые экраны защищают внутреннюю сеть предприятия от "вторжений" из глобальной сети Internet, однако они могут использоваться и для защиты от "нападений" из корпоративной интрасети, к которой подключена локальная сеть предприятия. Ни один межсетевой экран не может гарантировать полной защиты внутренней сети при всех возможных обстоятельствах. Однако для большинства коммерческих организаций установка межсетевого экрана является необходимым условием обеспечения безопасности внутренней сети. Главный довод в пользу применения межсетевого экрана состоит в том, что без него системы внутренней сети подвергаются опасности со стороны слабо защищенных служб сети Internet, а также зондированию и атакам с каких-либо других хост-компьютеров внешней сети.
Рисунок 8.1. Схема установления межсетевого экрана
Политика сетевой безопасности каждой организации должна включать две составляющие:
- политику доступа к сетевым сервисам;
- политику реализации межсетевых экранов.
В соответствии с политикой доступа к сетевым сервисам определяется список сервисов Internet, к которым пользователи должны иметь ограниченный доступ.
В соответствии с политикой реализации межсетевых экранов определяются правила доступа к ресурсам внутренней сети. Прежде всего, необходимо установить, насколько "доверительной" или "подозрительной" должна быть система защиты.
Эффективность защиты внутренней сети с помощью межсетевых экранов зависит не только от выбранной политики доступа к сетевым сервисам и ресурсам внутренней сети, но и от рациональности выбора и использования основных компонентов межсетевого экрана.
41. Основные компоненты межсетевых экранов. Фильтрующие
маршрутизаторы.
Большинство компонентов межсетевых экранов можно отнести к одной из трех категорий:
- фильтрующие маршрутизаторы;
- шлюзы сетевого уровня;
- шлюзы прикладного уровня.
Фильтрующий маршрутизатор представляет собой маршрутизатор или работающую на сервере программу, сконфигурированные таким образом, чтобы фильтровать входящие и исходящие пакеты, фильтрация пакетов осуществляется на основе информации, содержащейся в TCP- и IP-заголовках пакетов.
Фильтрующий маршрутизатор, обычно может фильтровать IP-пакеты на основе группы следующих полей заголовка пакета:
- IP-адрес отправителя (адрес системы, которая послала пакет);
- IP-адрес получателя (адрес системы, которая принимает пакет);
- порт отправителя (порт соединения в системе-отправителе);
- порт получателя (порт соединения в системе-получателе).
Порт - это программное понятие, которое используется клиентом или сервером для посылки или приема сообщений; порт идентифицируется.16-битовым числом.
Настройка правил выглядит как заполнение следующей таблицы:
Тип |
Адрес отправителя |
Адрес получателя |
Порт отправителя |
Порт получателя |
Действие |
TCP |
* |
123.4.5.6 |
>1023 |
23 |
Разрешить |
К положительным качествам фильтрующих маршрутизаторов следует отнести:
- сравнительно невысокую стоимость;
- гибкость в определении правил фильтрации;
- небольшую задержку при прохождении пакетов.
- Недостатками фильтрующих маршрутизаторов являются:
- внутренняя сеть видна (маршрутизируется) из сети Internet;
- правила фильтрации пакетов трудны в описании и требуют очень хороших знаний технологий TCP и UDP;
- при нарушении работоспособности межсетевого экрана с фильтрацией пакетов все компьютеры за ним становятся полностью незащищенными либо недоступными;
42. Основные компоненты межсетевых экранов.
Шлюзы сетевого уровня.
Большинство компонентов межсетевых экранов можно отнести к одной из трех категорий:
- фильтрующие маршрутизаторы;
- шлюзы сетевого уровня;
- шлюзы прикладного уровня.
Шлюз сетевого уровня иногда называют системой трансляции
сетевых адресов или шлюзом сеансового уровня модели OS). Такой шлюз исключает прямое взаимодействие между
авторизированным клиентом и внешним хост-компьютером.
Шлюз сетевого уровня принимает запрос доверенного клиента на конкретные услуги и после проверки допустимости запрошенного сеанса устанавливает соединение с внешним хост-компьютером. После этого шлюз копирует пакеты в обоих направлениях, не осуществляя их фильтрации.
Шлюз сетевого уровня выполняет еще одну важную функцию защиты: он используется в качестве сервера-посредника. Этот сервер-посредник выполняет процедуру трансляции адресов, при которой происходит преобразование внутренних IP-адресов в один "надежный" IP-адрес. Этот адрес ассоциируется с межсетевым экраном, из которого передаются все исходящие пакеты. В результате в сети со шлюзом сетевого уровня все исходящие пакеты оказываются отправленными из этого шлюза, что исключает прямой контакт между внутренней (авторизированной) сетью и потенциально опасной внешней сетью. IP-адрес шлюза сетевого уровня становится единственно активным IP-адресом, который попадает во внешнюю сеть. Таким образом, шлюз сетевого уровня и другие серверы-посредники защищают внутренние сети от нападений типа подмены адресов.
43. Основные компоненты
межсетевых экранов. Шлюзы прикладного уровня.
Большинство компонентов межсетевых экранов можно отнести к одной из трех категорий:
- фильтрующие маршрутизаторы;
- шлюзы сетевого уровня;
- шлюзы прикладного уровня.
Для устранения ряда недостатков, присущих фильтрующим маршрутизаторам, межсетевые экраны должны использовать дополнительные программные средства для фильтрации сообщений сервисов типа TELNET и FTP. Такие программные средства называются полномочными серверами (серверами-посредниками), а хост-компьютер, на котором они выполняются, - шлюзом прикладного уровня.
Шлюз прикладного уровня исключает прямое взаимодействие между авторизированным клиентом и внешним хост-компьютером. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне. Связанные с приложениями серверы-посредники перенаправляют через шлюз информацию, генерируемую конкретными серверами.
Для достижения более высокого уровня безопасности и гибкости шлюзы прикладного уровня и фильтрующие маршрутизаторы могут быть объединены в одном межсетевом экране.
Шлюзы прикладного уровня позволяют обеспечить наиболее высокий уровень защиты, поскольку взаимодействие с внешним миром реализуется через небольшое число прикладных полномочных программ-посредников, полностью контролирующих весь входящий и выходящий трафик.
Шлюзы прикладного уровня имеют ряд серьезных преимуществ по сравнению с обычным режимом, при котором прикладной трафик пропускается непосредственно к внутренним хост-компьютерам. Перечислим эти преимущества.
- Невидимость структуры защищаемой сети из глобальной сети Internet.
- Надежная аутентификация и регистрация.
- Оптимальное соотношение между ценой и эффективностью.
- Простые правила фильтрации.
44. Основные схемы сетевой защиты на базе
межсетевых экранов. Межсетевой экран - фильтрующий маршрутизатор.
При подключении корпоративной или локальной сети к глобальным сетям администратор сетевой безопасности должен решать следующие задачи:
- защита корпоративной или локальной сети от несанкционированного удаленного доступа со стороны глобальной сети;
- скрытие информации о структуре сети и ее компонентов от пользователей глобальной сети;
- разграничение доступа в защищаемую сеть из глобальной сети и из защищаемой сети в глобальную сеть.
Межсетевой экран, основанный на фильтрации пакета, является самым распространенным и наиболее простым в реализации. Он состоит из фильтрующего маршрутизатора, расположенного между защищаемой сетью и сетью Internet (рис. 8.6). Фильтрующий маршрутизатор сконфигурирован для блокирования или фильтрации входящих и исходящих пакетов на основе анализа их адресов и портов.
Рисунок 8.6. Межсетевой экран на основе фильтрующего маршрутизатора
Межсетевые экраны, основанные на фильтрации пакетов, имеют такие же недостатки, что и фильтрующие маршрутизаторы, причем эти недостатки становятся более ощутимыми при ужесточении требований к безопасности защищаемой сети. Отметим некоторые из них:
- сложность правил фильтрации; в некоторых случаях совокупность этих правил может стать неуправляемой;
- невозможность полного тестирования правил фильтрации; это приводит к незащищенности сети от непротестированных атак;
45., Основные схемы сетевой защиты на базе
межсетевых экранов. Межсетевой экран на основе двухпортового шлюза.
Межсетевой экран на базе двупортового прикладного шлюза включает двудомный хост-компьютер с двумя сетевыми интерфейсами. При передаче информации между этими интерфейсами и осуществляется основная фильтрация. Для обеспечения дополнительной защиты между прикладным шлюзом и сетью Internet обычно размещают фильтрующий маршрутизатор (рис. 8.7). В результате между прикладным шлюзом и маршрутизатором образуется внутренняя экранированная подсеть. Эту подсеть можно использовать для размещения доступных извне информационных серверов.
Рисунок 8.7. Межсетевой экран с прикладным шлюзом фильтрующим маршрутизатором
Данный вариант межсетевого экрана реализует политику безопасности, основанную на принципе "запрещено все, что не разрешено в явной форме", при этом пользователю недоступны все службы, кроме тех, для которых определены соответствующие полномочия. Такой подход обеспечивает высокий уровень безопасности, поскольку маршруты к защищенной подсети известны только межсетевому экрану и скрыты от внешних систем.
Рассматриваемая схема организации межсетевого экрана является довольно простой и достаточно эффективной.
46. Основные схемы сетевой защиты на базе
межсетевых экранов. Межсетевой экран на основе экранированного шлюза.
Межсетевой экран на основе экранированного шлюза объединяет фильтрующий маршрутизатор и прикладной шлюз, размещаемый со стороны внутренней сети. Прикладной шлюз реализуется на хост-компьютере и имеет только один сетевой интерфейс (рис. 8.8).
Рисунок 8.8. Межсетевой экран с экранированным шлюзом
Межсетевой экран, выполненный по данной схеме, получается более гибким, но менее безопасным по сравнению с межсетевым экраном с прикладным шлюзом на базе двудомного хост-компьютера. Основной недостаток схемы межсетевого экрана с экранированным щлюзом заключается в том, что если атакующий нарушитель сумеет проникнуть в хост-компьютер, то перед ним окажутся незащищенные системы внутренней сети. Другой недостаток связан с возможной компрометацией маршрутизатора. Если маршрутизатор окажется скомпрометированным, внутренняя сеть станет доступна атакующему нарушителю.
47. Основные схемы сетевой защиты на базе
межсетевых экранов. Межсетевой экран - экранированная подсеть.
Межсетевой экран, состоящий из экранированной подсети, представляет собой развитие схемы межсетевого экрана на основе экранированного шлюза. Для создания экранированной подсети используются два экранирующих маршрутизатора (рис. 8.9). Внешний маршрутизатор располагается между сетью Internet и экранируемой подсетью, а внутренний - между экранируемой подсетью и защищаемой внутренней сетью. Экранируемая подсеть содержит прикладной шлюз, а также может включать информационные серверы и другие системы, требующие контролируемого доступа. Эта схема межсетевого экрана обеспечивает хорошую безопасность благодаря организации экранированной подсети, которая еще лучше изолирует внутреннюю защищаемую сеть от Internet.
Рисунок 8.9. Межсетевой экран - экранированная подсеть
Межсетевой экран с экранированной подсетью хорошо подходит для защиты сетей с большими объемами трафика или с высокими скоростями обмена.
Межсетевой экран с экранированной подсетью имеет и недостатки:
- пара фильтрующих маршрутизаторов нуждается в большом внимании для обеспечения необходимого уровня безопасности, поскольку из-за ошибок при их конфигурировании могут возникнуть провалы в безопасности всей сети:
- существует принципиальная возможность доступа в обход прикладного шлюза.
Технологии безопасности, основанные на применении
биометрических характеристик человека, в последнее время все чаще стали
рассматриваться в качестве возможных средств защиты электронной подписи от
несанкционированного использования.
Отпечатки пальцев
На сравнении отпечатков пальцев основаны наиболее
старые и хорошо разработанные методы проверки и распознавания личности
человека. В ходе подготовки образца для сравнения полутоновое изображение
преобразуется в двоичную форму, после чего происходит выделение из него деталей
— признаков отпечатка, из которых формируется образец для сравнения.
Результативность метода определяется качеством контрольного образца, и поэтому
иногда применяется многократное снятие отпечатков или используется не один, а
два или более пальцев и т. д.
Образцами для распознавания по чертам лица являются
фотографии установленного вида. Применявшиеся ранее алгоритмы «ручного»
определения черт лица (расстояний между уголками глаз, между углами рта и т.
д.), теперь заменены более надежными и точными алгоритмами их автоматического
определения, основанными на сравнении образцов изображений и т. д. Его
недостатки связаны с изменением черт лица от старения, косметики, другой
прически, очков; практической невозможностью различить идентичных близнецов и
т. д.
Она определяется с помощью специального сканера,
выполняющего около 100 замеров кисти, лежащей в специальном шаблоне. При
проверке личности осуществляется однократное сканирование руки оригинала, и
полученное отображение сопоставляется с контрольным образцом кисти, который
формируется как среднее арифметическое результатов трех полных циклов
сканирования оригинала. После чего результат выражается суммой баллов,
характеризующей степень сходства образцов.
Этот метод пригоден для удостоверения личности.
Этот параметр является наиболее точным для
идентификации личности, поскольку двух глаз с одинаковой радужной оболочкой,
даже у одного и того же человека или у полностью идентичных близнецов, не
существует. Рисунок радужной оболочки не меняется в течение всей жизни человека
(не считая первого года), физически защищен роговицей глаза и допускает
кодирование с расстояния до одного метра. Данный метод отличный для приложений,
связанных с обслуживанием больших баз данных при высоких требованиях к
безопасности.
Рисунок сосудов за сетчаткой глаза (за ретиной) так же
уникален, как и радужная оболочка глаза. Данный метод отличается большей
сложностью в использовании, ограниченностью расстояния между инфракрасной
камерой и глазом (например, не более
Расположение вен на руке рассматривается на запястье,
ладони и тыльной стороне кисти. Рисунок вен регистрируется в инфракрасном
свете, и образцом для сравнения служит бинарное изображение, полученное по
такому снимку. Этот метод может применяться в небольших биометрических системах
личного пользования и в таких типично биометрических приложениях, как «умные»
дверные ручки, замки и т. д.
Динамическими характеристиками почерка являются координаты движения конца пера в зависимости от времени, скорость пера, а также оказываемое им давление.
1.1.8 Особенности речи
На сравнении особенностей речи основаны самые
естественные и экономичные методы аутентификации личности по биометрическим
характеристикам. Их простота достигается в результате широкого распространения
телефонных сетей и развивающейся практики встраивания микрофонов в компьютеры.
На качество работы системы могут повлиять: ошибки при произношении заданных
фраз, эмоциональное состояние проверяемого, изменение положения микрофона во
время проверки, применение разных микрофонов при записи образца и проверке и т.
д.
Динамика ударов по клавишам так же уникальна для каждого отдельного лица, как и личная подпись, и проявляется во время работы на клавиатуре. Для ее описания измеряются промежутки времени: либо между ударами при печатании символов, расположенных в определенной последовательности, либо между моментом удара по клавише и моментом отпускания ее при печатании каждого символа в этой последовательности.
Другие характеристики
Ряд биометрических характеристик, пригодных для
идентификации личности, находится на стадии разработки, некоторые из них
считаются пока недостаточно перспективными с точки зрения защиты электронной
подписи. К этому ряду относятся:
-
структура кожи и
эпителия на пальцах (ультразвуковой метод идентификации по отпечаткам пальцев);
-
термограмма лица
(инфракрасный метод идентификации);
-
отпечатки
ладоней;
-
признаки походки;
-
особенности
запаха;
-
форма уха;
-
характеристики
ДНК.
49. Защита от копирования.
“Привязка" к компьютеру.
Системы защиты от копирования можно разделить на следующие группы:
-
ограничение использования ПО.
В мировой практике существуют следующие способы распространения программ:
- FreeWare (свободно с сохранением прав за автором);
- ShareWare (2-4 недели опробовать, потом или не использовать или оплатить);
- CriptWare (две версии: демо+зашифрованная рабочая).
Большинство программ распространяется по принципу AS IS (как есть), общепринятым в международной компьютерной практике. Это означает, что за проблемы, возникающие в процессе эксплуатации программы, разработчик и распространитель ответственности не несут.
Гораздо удобнее иметь необходимый программный продукт записанным на винчестере. Поэтому необходимо, чтобы контролирующая часть защищаемой программы (КЧЗП) "запомнила" свой компьютер и потом при запуске сравнивала имеющиеся характеристики с характеристиками "родного" компьютера. В случае их расхождения можно считать, что программа незаконно скопирована, и прервать ее выполнение. Для этого надо найти какие-то параметры, которые бы индивидуально характеризовали каждую вычислительную систему.
Рассмотрим, что все же можно предложить для КЧЗП в качестве характеристик, которые могли бы проверяться при работе защищаемой программы.
При работе жесткого диска (винчестера) возможно возникновение сбойных участков на магнитной поверхности. Такие дефектные места могут иметься даже на совершенно новом винчестере. Номера этих сбойных участков помещаются в FAT (их признак - код FF7). При инсталляции защищаемой программы на винчестер в ее контролирующую часть записываются их адреса.
Можно попытаться сузить класс компьютеров, на которых возможно функционирование незаконно скопированной программы. Это достигается, например, путем введения проверки даты создания BIOS, которая записана в ПЗУ каждого компьютера.
Так как версия операционной системы, с которой работает пользователь на данном компьютере, не меняется на протяжении достаточно длительного времени, то ее также можно использовать в качестве параметра для организации проверки в КЧЗП.
При форматировании диска на него создается так называемый серийный номер, его несложно изменить с помощью программ типа DiskEdit.
50. Защита от копирования. Введение ограничений
на использование программного обеспечения.
В одном из способов защиты программного обеспечения от незаконного использования применяются ограничения по:
- времени его эксплуатации;
- количеству запусков;
- его перемещению для использования на других машинах.
Иногда изготовители программного обеспечения накладывают ограничения на срок его работы у определенного пользователя, то есть как бы выдают временную лицензию, по истечении срока которой происходит либо самоуничтожение программы, либо она перестает работать. Идея, лежащая в основе этого метода, достаточно прозрачна: нужно только получить текущую дату из таймера, а затем, сравнив с "лицензионным" сроком использования, либо разрешить работу программы, либо запретить. Однако и недостаток данного метода защиты ясен: можно просто изменить дату, установленную в таймере, и тогда программа будет выполняться незаконно.
Еще одним способом ограничить использование программного обеспечения является введение счетчика запусков. Обычно такой счетчик устанавливают в:
- CMOS памяти;
- теле программы или в специальных числовых файлах;
- загрузочном секторе диска(вместо информации о версии DOS);
- FATе (в первом элементе таблицы, обычно заполненном кодом FFF);
- резервных секторах;
- сбойных секторах;
- системном реестре;
- за концом одного из файлов на локальном диске.
Уменьшая значение счетчика при каждом запуске, контролирующая часть программы следит за ним и при достижении нулевого значения выполняет предусмотренные разработчиком действия.
51. Защита от копирования. Привязка к диску.
Для начала несколько слов об устройстве дискеты. Двухстороняя дискета 3.5" в дисководе 3.5". Скорость передачи данных дисководом 250 Кбит (DD) 500 Кбит (HD).
Один из методов зашиты от копирования основывается на перестановке номеров секторов на дорожке, то есть вместо обычной последовательности 1,2,3,4,5,6,7,8,9 вводится, например, 1,5,3,7,9,8,6,2,4.
Другой схемой защиты, основанной на идее нестандартного форматирования, является способ, при котором часть секторов на определенной дорожке нумеруется одинаково. Например, 1,2,3,3,3,6,7,8,9. В эти сектора записываются некоторые различные данные.
В одном из методов защиты от копирования используется модификация изложенного выше способа, применяющего организацию нескольких секторов с одинаковым номером на заданной дорожке.
На выделенной дорожке
дистрибутивной дискеты путем применения специальной программы организуется
несколько секторов с одинаковым номером и в них записываются некоторые различные
данные.
Еще одна схема защиты, основанная на методе нестандартного форматирования, использует изменение длины сектора. Напомним, что стандартная длина сектора, с которой работает MS DOS по умолчанию, - 512 байт, при этом на дорожке размещается 9 секторов. В процессе специального форматирования дискеты на заданной дорожке длина секторов устанавливается либо 128, либо 256 байт.
Выбирается дорожка на дискете, которая специальной программой форматируется заново с измененным значением межсекторного промежутка в таблице базы дисков, что ведет к нестандартному расположению секторов.
При этом способе защиты используется дополнительная, 81-ая дорожка на дистрибутивной дискете. Заметим, что на гибком диске имеется место для размещения еще трех дорожек, сверх принятых 80. Дисковод позволяет вести на них запись данных. Поэтому на дополнительной 81-ой дорожке на дистрибутивной дискете хранится информация для контролирующей части защищаемой программы.
На дистрибутивной дискете при
выполнении операции записи в определенный сектор производится кратковременное
отключение мотора НГМД, что приводит к искажению записываемых данных.
Одной из схем создания защиты от копирования используется другая скорость вращения диска. Стандартная скорость вращения - 300 об/мин. Если ее понизить, скажем, до 280 об/мин, в то время как данные для записи передаются с прежней скоростью, то это понижение увеличивает плотность хранения данных на дискете, и на каждой дорожке образуется место для дополнительного десятого сектора.
Способом записи информации на дискету является ее представление в виде 0 или 1. Данный метод защиты использует запись некоторого участка дистрибутивной дискеты с неопределенным уровнем сигнала. Таким образом, получается участок "ослабленных" битов.
Одной из наиболее известных технологий защиты от копирования является физическая пометка дискеты лазерным лучом путем ее прожигания. Такой дефект приводит к искажению данных в секторе.
52. Правовые аспекты компьютерной безопасности.
Для удобства восприятия и изложения, правонарушения связанные с использованием компьютера (их сети) разделены на те, когда компьютерная информация является основной целью посягательства и те, когда компьютер и/или сеть являются средством достижения иных целей.
На этот счет отечественное законодательство содержит ряд положений, как допускающих подобную деятельность, так и карающих ее.
Законодатель в целом допускает редактирование чужих программ, если оно осуществляется в разумных пределах. К сожалению, несовершенство законодательства и широкие возможности его толкования, допускают неоднозначное его понимание, что фактически расширяет перечень оснований (и обоснований) редактирования чужих программ (ст. 25 Закона РФ "Об авторском праве и смежных правах").
а) с изменением исходного кода,
б) без такового изменения.
Представляется, что данная деятельность может попадать под действие ст. 273 УК РФ, т.к. она устанавливает ответственность за "Создание программ для ЭВМ заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети".
Декомпилирование программы не носит противоправный характер, если осуществляется для достижения способности к взаимодействию программам, для изучения кодирования и структуры программы или обосновывается этими целями (п. 2 ст. 25 Закона РФ "Об авторском праве и смежных правах").
Законно копирование программного обеспечения вполне возможно, при наличии обоснования указанного в законе, при этом, конечно, желательно быль "правомерным владельцем программы" (п. 1 ст. 25 Закона РФ "Об авторском праве и смежных правах").
В зависимости от характера вреда возможно наступление гражданско-правовой ответственности.
Статья предусматривает уголовную ответственность за создание программ для ЭВМ или их модификацию, заведомо приводящее к несанкционированному уничтожению, блокированию и модификации, либо копированию информации, нарушению работы информационных систем, а равно использование таких программ или машинных носителей с такими программами.
Статья защищает права владельца компьютерной системы на неприкосновенность находящейся в ней информации.
Уголовное законодательство предусматривает два случая наступления ответственности за деяния связанные с компьютерной сетью:
Все выше рассмотренное можно с определенной долей условности считать верным лишь при условии, что компьютер (компьютерная информация, сеть) используется как конечная цель деятельности, а если этот инструментарий рассматривать как средство (например, для искажения информации на счете в банке) то тут возможна ответственность и по другим статьям УК РФ.
Программой с потенциально опасными последствиями назовем программу или часть программы, которая способна выполнить одно из следующих действий:
- скрыть признаки своего присутствия в программной среде ПЭВМ;
- самодублироваться, ассоциировать себя с другими программами и/или переносить свои фрагменты в какие-либо области оперативной или внешней памяти, не принадлежащие программе;
- изменять код программ в оперативной или внешней памяти;
- сохранять фрагменты информации из оперативной памяти в некоторых областях внешней памяти (локальных или удаленных);
1. Вирус.
Компьютерным вирусом называется программа, которая может создавать свои копии (не обязательно совпадающие с оригиналом) и внедрять их в файлы, системные области компьютера, сети и так далее. При этом копии сохраняют способность дальнейшего распространения.
По деструктивным возможностям вирусы можно разделить на:
- безвредные, никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);
- неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и прочими эффектами;
- опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;
- очень опасные вирусы, которые могут привести к потере программ, уничтожить данные, способствовать ускоренному износу или повреждению частей механизмов.
2. Люк.
Люком называется не описанная в документации на программный продукт возможность работы с этим программным продуктом. Сущность использования люков состоит в том, что при выполнении пользователем некоторых не описанных в документации действий он получает доступ к возможностям и данным, которые в обычных условиях для него закрыты (в частности - выход в привилегированный режим). Люки чаще всего являются результатом забывчивости разработчиков. Люк (или люки) может присутствовать в программе ввиду того, что программист:
1) забыл удалить его;
2) умышленно оставил его в программе для обеспечения тестирования или выполнения оставшейся части отладки;
3) умышленно оставил его в программе в интересах облегчения окончательной сборки конечного программного продукта;
4) умышленно оставил его в программе с тем, чтобы иметь скрытое средство доступа к программе уже после того, как она вошла в состав конечного продукта.
3. Троянский конь.
Троянская программа — это программа, которая выполняет действия, направленные против пользователя. Она собирает и передает владельцам конфиденциальную информацию о пользователе, выполняет несанкционированные или деструктивные действия, несанкционированная загрузка ПО.
4. Логическая бомба.
"Логической бомбой" обычно называют программу или даже участок кода в программе, реализующий некоторую функцию при выполнении определенного условия.
5. Программная закладка.
Закладки выполняют:
- сохранение фрагментов информации, возникающей при работе пользователей, прикладных программ, вводе-выводе данных, во внешней памяти сети;
- изменение алгоритмов функционирования прикладных программ
- навязывание некоторого режима работы, либо замена записываемой информации информацией, навязанной закладкой (например, при выводе на экран слово "неверно" заменяется словом "верно", а "рубль" - "доллар" и т.д.).
-
RAID- Redundant Arrays of Inexpensive Discs («Избыточный
массив недорогих дисков»).
Отказоустойчивость достигается за счет избыточности.
То есть часть емкости дискового пространства отводится для служебных целей,
становясь недоступной для пользователя.
1. При параллельном доступе дисковое пространство
разбивается на блоки (полоски) для записи данных. Аналогично информация, подлежащая
записи на диск, разбивается на такие же блоки.
2. При независимом доступе все данные отдельного запроса
записываются на отдельный диск, то есть ситуация идентична работе с одним
диском. Преимущество модели с параллельным доступом в том, что при одновременном
поступлении нескольких запросов на запись (чтение) все они будут выполняться
независимо, на отдельных дисках.
В соответствии с различными типами доступа существуют
и различные типы RAID-массивов, которые принято характеризовать уровнями RAID.
Кроме типа доступа, уровни RAID различаются способом размещения и формирования
избыточной информации.
RAID уровня 0 не является избыточным массивом и
соответственно не обеспечивает надежности хранения данных. Тем не менее, данный
уровень находит широкое применение в случаях, когда необходимо обеспечить
высокую производительность дисковой подсистемы. При создании RAID-массива
уровня 0 информация разбивается на блоки, которые записываются на отдельные
диски, то есть создается система с параллельным доступом (если, конечно,
размер блока это позволяет).
RAID уровня 1 - это массив дисков со 100-процентной
избыточностью. То есть данные при этом просто полностью дублируются, за счет
чего достигается очень высокий уровень надежности (как и стоимости). Для
реализации уровня 1 не требуется предварительно разбивать диски и данные на
блоки. В простейшем случае два диска содержат одинаковую информацию и являются
одним логическим диском. При выходе из строя одного диска его функции выполняет
другой (что абсолютно прозрачно для пользователя). Этот уровень удваивает скорость
считывания информации.
RAID уровня 2 - это схема
резервирования данных с использованием кода Хэмминга для коррекции ошибок. Код
Хэмминга, формирующий контрольное слово, основан на использовании поразрядной
операции «исключающего ИЛИ» (ХОR) (употребляется
также название «неравнозначность»). Само контрольное слово, полученное по алгоритму
Хэмминга, - это инверсия результата поразрядной операции исключающего ИЛИ
номеров тех информационных разрядов слова, значения которых равны 1.
RAID уровня 3 — это отказоустойчивый массив с
параллельным вводом-выводом и одним дополнительным диском, на который записывается
контрольная информация. При записи поток данных разбивается на блоки на уровне
байт и записывается одновременно на все диски массива, кроме выделенного для
хранения контрольное информации. Для вычисления контрольной информации используется операция «исключающего ИЛИ»
(XOR), применяемая к записываемым блокам данных.
RAID уровня 4 - это отказоустойчивый массив
независимых дисков с одним диском для хранения контрольных сумм. RAID 4 во
многом схож с RAID 3, но отличается от последнего прежде всего значительно
большим размером блока записываемых данных (большим, чем размер записываемых
данных). В этом и есть главное различие между RAID 3 и RAID 4.
RAID уровня 5 - это отказоустойчивый массив
независимых дисков с распределенным хранением контрольных сумм. Блоки данных и
контрольные суммы, которые рассчитываются точно так же, как и в RAID 3, циклически
записываются на все диски массива, то есть отсутствует выделенный диск для хранения
информации о контрольных суммах.
Для практической реализации RAID-массивов необходимы
две составляющие: собственно массив жестких дисков и RAID-контроллер.
Контроллер выполняет функции связи с сервером, генерации избыточной информации
при записи и проверки при чтении, распределения информации по дискам в
соответствии с алгоритмом функционирования.