close

Вход

Забыли?

вход по аккаунту

?

shpory zaschita informatsii

код для вставкиСкачать
1. Актуальность проблемы обеспечения защиты информации. Основные понятия информационной безопасности: "безопасность АСОД", "НСД", "конфиденциальность", "угроза безопасности", "атака", "уязвимость", "политика безопасности", "комплекс средств защиты информации". Неправомерное искажение или фальсификация, уничтожение или разглашение определенной части информации, равно как и дезорганизация процессов ее обработки и передачи в информационно-управляюших системах наносят серьезный материальный и моральный урон многим субъектам (государству, юридическим и физическим лицам), участвующим в процессах автоматизированного информационного взаимодействия.
Жизненно важные интересы этих субъектов, как правило, заключаются в том, чтобы определенная часть информации, касающаяся их экономических, политических и других сторон деятельности, конфиденциальная коммерческая и персональная информация, была бы постоянно легко доступна и в то же время надежно защищена от неправомерного ее использования: нежелательного разглашения, фальсификации, незаконного тиражирования, блокирования или уничтожения.
Под информационной безопасностью мы будем понимать защищенность информации и поддерживающей инфраструктуры от случайных или преднамеренных воздействий естественного или искусственного характера, которые могут нанести неприемлемый ущерб субъектам информационных отношений, в том числе владельцам и пользователям информации и поддерживающей инфраструктуры.
Защита информации от НСД - деятельность по предотвращению получения защищаемой информации заинтересованным субъектом с нарушением установленных правовыми документами или собственником либо владельцем информации прав или правил доступа к защищаемой информации. Заинтересованным субъектом, осуществляющим НСД к защищаемой информации, может выступать государство, юридическое лицо, группа физических лиц, в т. ч. общественная организация, отдельное физическое лицо.
конфиденциальность информации - такую субъективно определяемую (приписываемую) характеристику (свойство) информации, которая указывает на необходимость введения ограничений на круг субъектов, имеющих доступ к данной информации, и обеспечиваемую способностью системы (инфраструктуры) сохранять указанную информацию в тайне от субъектов, не имеющих прав на доступ к ней. Объективные предпосылки подобного ограничения доступности информации для одних субъектов заключены в необходимости защиты законных интересов других субъектов информационных отношений.
Угроза безопасности - совокупность условий и факторов, создающих потенциальную или реально существующую опасность нарушения конфиденциальности, доступности и (или) целостности информации.
Политика безопасности - правила, директивы и практические навыки, которые определяют то, как информационные ценности обрабатываются, защищаются и распространяются в организации и между информационными системами; набор критериев для предоставления сервисов безопасности.
Атака - это действие или последовательность связанных между собой действий, использующих уязвимости данной информационной системы и приводящих к нарушению политики безопасности
Уязвимость - слабое место в системе, с использованием которого может быть осуществлена атака
Средства защиты информации - это совокупность инженерно-технических, электрических, электронных, оптических и других устройств и приспособлений, приборов и технических систем, а также иных вещных элементов, используемых для решения различных задач по защите информации, в том числе предупреждения утечки и обеспечения безопасности защищаемой информации.
2. Угрозы безопасности АСОД. Случайные и преднамеренные воздействия. Модель нарушителя. Способы и каналы несанкционированного доступа к информации. Основными видами угроз безопасности информационных технологий и информации (угроз интересам субъектов информационных отношений) являются:
стихийные бедствия и аварии (наводнение, ураган, землетрясение, пожар и т.п.);
сбои и отказы оборудования (технических средств) АИТУ;
последствия ошибок проектирования и разработки компонентов АИТУ (аппаратных средств, технологии обработки информации, программ, структур данных и т.п.);
ошибки эксплуатации (пользователей, операторов и другого персонала);
преднамеренные действия нарушителей и злоумышленников (обиженных лиц из числа персонала, преступников, шпионов, диверсантов и т.п.).
Естественные угрозы - это угрозы, вызванные воздействиями на АИТУ и ее элементы объективных физических процессов или стихийных природных явлений. Искусственные угрозы - это угрозы АИТУ, вызванные деятельностью человека. Среди них, исходя и мотивации действий, можно выделить: а) непреднамеренные (неумышленные, случайные) угрозы, вызванные ошибками в проектировании АИТУ и ее элементов, ошибками в программном обеспечении, ошибками в действиях персонала и т. п.; б) преднамеренные (умышленные) угрозы, связанные с корыстными устремлениями людей (злоумышленников). Источники угроз по отношению к информационной технологии могут быть внешними или внутренними (компоненты самой АИТУ - ее аппаратура, программы, персонал).
непреднамеренные искусственные угрозы:
1. неправомерное включение оборудования или изменение режимов работы устройств и программ;
2. неумышленная, порча носителей информации;
3. заражение компьютера вирусами;
4. некомпетентное использование, настройка или неправомерное отключение средств защиты персоналом службы безопасности;
5. пересылка данных по ошибочному адресу абонента (устройства);
6. ввод ошибочных данных;
7. неумышленное повреждение каналов связи.
преднамеренные искусственные угрозы:
* применение подслушивающих устройств, дистанционная фото- и видеосъемка и т. п.;
* перехват данных, передаваемых по каналам связи, и их анализ с целью выяснения протоколов обмена, правил вхождения в связь и авторизации пользователя и последующих попыток их имитации для проникновения в систему;
* хищение носителей информации (магнитных дисков, лент, микросхем памяти, запоминающих устройств и персональных ЭВМ);
* несанкционированное копирование носителей информации;
Модель нарушителя - (в информатике) абстрактное (формализованное или неформализованное) описание нарушителя правил разграничения доступа.
При разработке модели нарушителя определяются: 1) предположения о категориях лиц, к которым может принадлежать нарушитель; 2) предположения о мотивах действий нарушителя (целях, преследуемых нарушителем); 3) предположения о квалификации нарушителя и его технической оснащенности (методах и средствах, используемых для совершения нарушения); 4) ограничения и предположения о характере возможных действий нарушителя.
По отношению к АИТУ нарушители могут быть внутренними (из числа персонала системы) или внешними (посторонними лицами).
Можно выделить три основных мотива нарушений: а) безответственность; б) самоутверждение; в) корыстный интерес. При нарушениях, вызванных безответственностью, пользователь целенаправленно или случайно производит какие-либо разрушающие действия, не связанные, тем не менее, со злым умыслом. В большинстве случаев это следствие некомпетентности или небрежности. Всех нарушителей можно классифицировать по четырем параметрам (уровню знаний об АИТУ, уровню возможностей, времени и методу действия).
Возможные пути умышленной дезорганизации работы, вывода системы из строя, проникновения в систему и несанкционированного доступа к информации рассмотрены выше при описании искусственных преднамеренных угроз. На рис. 7.1 представлен состав типовой аппаратуры автоматизированной системы обработки данных и возможные каналы несанкционированного доступа к информации.
Все каналы утечки данных можно разделить на косвенные и прямые. Косвенные каналы не требуют непосредственного доступа к техническим средствам информационной системы. Прямые соответственно требуют доступа к аппаратному обеспечению и данным информационной системы.
Примеры косвенных каналов утечки:
* Кража или утеря носителей информации, исследование не уничтоженного мусора;
* Дистанционное фотографирование, прослушивание;
* Перехват электромагнитных излучений.
Примеры прямых каналов утечки:
* Инсайдеры (человеческий фактор). Утечка информации вследствие несоблюдения коммерческой тайны;
* Прямое копирование.
Каналы утечки информации можно также разделить по физическим свойствам и принципам функционирования:
* акустические - запись звука, подслушивание и прослушивание;
* акустоэлектрические - получение информации через звуковые волны с дальнейшей передачей ее через сети электропитания;
* виброакустические - сигналы, возникающие посредством преобразования информативного акустического сигнала при воздействии его на строительные конструкции и инженерно-технические коммуникации защищаемых помещений;
* оптические - визуальные методы, фотографирование, видео съемка, наблюдение;
* электромагнитные - копирование полей путем снятия индуктивных наводок;
* радиоизлучения или электрические сигналы от внедренных в технические средства и защищаемые помещения специальных электронных устройств съема речевой информации "закладочных устройств", модулированные информативным сигналом;
* материальные - информация на бумаге или других физических носителях информации
3. Политика безопасности и её виды. Этапы построения системы защиты. Основные требования к системам защиты информации. Политика безопасности устанавливает правила, которые определяют конфигурацию систем, действия служащих организации в обычных условиях и в случае непредвиденных обстоятельств. Она заставляет людей делать вещи, которые они не хотят делать. Однако, она имеет огромное значение для организации, и является наиболее важной работой отдела информационной безопасности.
Избирательная политика безопасности
Основой избирательной политики безопасности является избирательное управление доступом, которое подразумевает, что:
· все субъекты и объекты системы должны быть идентифицированы;
· права доступа субъекта к объекту системы определяются на основании некоторого правила (свойство избирательности).
Для описания свойств избирательного управления доступом применяется модель системы на основе матрицы доступа (МД), иногда ее называют матрицей контроля доступа. Такая модель получила название матричной.
Матрица доступа представляет собой прямоугольную матрицу, в которой объекту системы соответствует строка, а субъекту столбец. На пересечении столбца и строки матрицы указывается тип разрешенного доступа субъекта к объекту. Обычно выделяют такие типы доступа субъекта к объекту, как "доступ на чтение", "доступ на запись", "доступ на исполнение" и др.
Множество объектов и типов доступа к ним субъекта может изменяться в соответствии с некоторыми правилами, существующими вданной системе. Определение и изменение этих правил также является задачей МД.
Решение на доступ субъекта к объекту принимается в соответствии с типом доступа, указанным в соответствующей ячейке матрицы доступа. Обычно избирательное управление доступом реализует принцип "что не разрешено, то запрещено", предполагающий явное разрешение доступа субъекта к объекту. Матрица доступа - наиболее простой подход к моделированию систем доступа.
Избирательная политика безопасности наиболее широко применяется в коммерческом секторе, так как ее реализация на практике отвечает требованиям коммерческих организаций по разграничению доступа и подотчетности, а также имеет приемлемую стоимость и небольшие накладные расходы.
Полномочная (мандатная) политика безопасности
Основу полномочной политики безопасности составляет полномочное управление доступом, которое подразумевает, что:
· все субъекты и объекты системы должны быть однозначно идентифицированы;
· каждому объекту системы присвоена метка критичности, определяющая ценность содержащейся в нем информации;
· каждому субъекту системы присвоен уровень прозрачности, определяющий максимальное значение метки критичности объектов, к которым субъект имеет доступ.
Когда совокупность меток имеет одинаковые значения, говорят, что они принадлежат к одному уровню безопасности. Организация меток имеет иерархическую структуру и, таким образом, в системе можно реализовать иерархически восходящий поток информации (например, от рядовых исполнителей к руководству). Чем важнее объект или субъект, тем выше его метка критичности. Поэтому наиболее защищенными оказываются объекты с наиболее высокими значениями метки критичности.
Каждый субъект, кроме уровня прозрачности, имеет текущее значение уровня безопасности, которое может изменяться от некоторого минимального значения до значения его уровня прозрачности.
Основное назначение полномочной политики безопасности - регулирование доступа субъектов системы к объектам с различным уровнем критичности и предотвращение утечки информации с верхних уровней должностной иерархии в нижние, а также блокирование возможного проникновения с нижних уровней в верхние. I. Предпроектный этап, включающий предпроектное обследование объекта информатизации, разработку аналитического обоснования необходимости создания СЗИ и технического (частного технического) задания на ее создание
* устанавливается необходимость обработки (обсуждения) информации на данном объекте информатизации или защищенном помещении (ЗП);
* определяется перечень сведений конфиденциального характера, подлежащих защите;
* определяются (уточняются) угрозы безопасности информации и модель вероятного нарушителя применительно к конкретным условиям функционирования объекта;
* определяются условия расположения объекта информатизации относительно границ контролируемой зоны (КЗ);
* определяются конфигурация и топология ОТСС в целом и их отдельных компонентов, физические, функциональные и технологические связи ОТСС с другими системами различного уровня и назначения;
* определяются конкретные технические средства и системы, предполагаемые к использованию в разрабатываемой автоматизированной системе; условия их расположения, их программные средства;
* определяются режимы обработки информации в автоматизированной системы в целом и в отдельных компонентах;
* определяется класс защищенности автоматизированной системы;
* определяется степень участия персонала в информации, характер их взаимодействия между собой и со службой безопасности;
* определяются мероприятия по обеспечению конфиденциальности информации на этапе проектирования объекта информатизации.
По результатам предпроектного обследования разрабатывается аналитическое обоснование необходимости создания СЗИ и задаются конкретные требования по защите информации, включаемые в техническое (частное техническое) задание на разработку СЗИ.
II. Проектирование (разработки проектов) систем защиты информации
* разработка задания и проекта на строительные, строительно-монтажные работы (или реконструкцию) объекта информатизации;
* разработка раздела технического проекта на объект информатизации в части реализации мероприятий по защите информации;
* строительно-монтажные работы, размещение и монтаж технических средств и систем;
* разработка организационно-технических мероприятий по защите информации в соответствии с предъявляемыми требованиями;
* закупка сертифицированных образцов серийно выпускаемых защищенных технических средств, либо их сертификация;
* закупка сертифицированных технических, программных и программно-технических средств защиты информации и их установка;
* разработка (доработка) или закупка и последующая сертификация по требованиям безопасности информации программных средств защиты информации (в случае необходимости);
* организация охраны и физической защиты помещений объекта информатизации разработка разрешительной системы доступа пользователей и эксплуатационного персонала к защищаемой информации;
* определение и обучение подразделений и лиц, ответственных за эксплуатацию средств защиты информации;
* разработка эксплуатационной документации на объект информатизации, средства защиты информации, и организационно-распорядительной документации по ЗИ.
Результатом проектирования явлеся разработка технического проекта, эксплуатационной документации на ОИ ,СЗИ, организационно-распорядительной документации по ЗИ.
III. Ввод в действие СЗИ
При вводе в эксплуатацию выполняются следующие мероприятия:
* опытная эксплуатация средств защиты информации с другими техническими и программными средствами для проверки их работоспособности в комплексе и отработки технологического процесса обработки (передачи) информации;
* приемо-сдаточные испытания средств защиты информации по результатам опытной эксплуатации.
При этом разрабатываются и передаются заказчику следующие документы:
* Приемо-сдаточный акт, подписываемый разработчиком (поставщиком) и заказчиком;
* Акты внедрения средств защиты информации по результатам их приемо-сдаточных испытаний;
* Приказ (указание, решение) о назначении лиц, ответственных за эксплуатацию объекта информатизации;
* Приказ (указание, решение) о разрешении обработки в АС (ЗП) информации ограниченного доступа.
* Прежде всего, необходима полная идентификация пользователей, терминалов, программ, а также основных процессов и процедур, желательно до уровня записи или элемента. Кроме того, следует ограничить доступ к информации, используя совокупность следующих способов:
* иерархическая классификация доступа;
* классификация информации по важности и месту ее возникновения;
* указание ограничений к информационным объектам, например пользователь может осуществлять только чтение файла без права записи в него;
* определение программ и процедур, предоставленных только конкретным пользователям.
* Система защиты должна гарантировать, что любое движение данных идентифицируется, авторизуется, обнаруживается и документируется.
* Обычно формулируются общие требования к следующим характеристикам:
* способам построения СЗИ либо ее отдельных компонент (к программному, программно-аппаратному, аппаратному);
* архитектуре вычислительных средств и ИС (к классу и минимальной конфигурации ЭВМ, операционной среде, ориентации на ту или иную программную и аппаратную платформы, архитектуре интерфейса);
* применению стратегии защиты;
* затратам ресурсов на обеспечение СЗИ (к объемам дисковой памяти для программной версии и оперативной памяти для ее резидентной части, затратам производительности вычислительной системы на решение задач защиты);
* надежности функционирования СЗИ (к количественным значениям показателей надежности во всех режимах функционирования ИС и при воздействии внешних разрушающих факторов, к критериям отказов);
* количеству степеней секретности информации, поддерживаемых СЗИ;
* обеспечению скорости обмена информацией в ИС, в том числе с учетом используемых криптографических преобразований;
* количеству поддерживаемых СЗИ уровней полномочий;
* возможности СЗИ обслуживать определенное количество пользователей;
* продолжительности процедуры генерации программной версии СЗИ;
* продолжительности процедуры подготовки СЗИ к работе после подачи питания на компоненты ИС;
* возможности СЗИ реагировать на попытки несанкционированного доступа либо на "опасные ситуации";
* наличию и обеспечению автоматизированного рабочего места администратора защиты информации в ИС;
* составу используемого программного и лингвистического обеспечения, к его совместимости с другими программными платформами, к возможности модификации и т.п.;
* используемым закупаемым компонентам СЗИ (наличие лицензии, сертификата и т.п.).
4. Понятия конфиденциальности и целостности информации. Принципы криптографической защиты информации. Обобщенные схемы симметричной и асимметричной криптосистем. Целостность информации (также целостность данных) - термин в информатике и теории телекоммуникаций, который означает, что данные полны, условие того, что данные не были изменены при выполнении любой операции над ними, будь то передача, хранение или представление.
В криптографии и информационной безопасности целостность данных в общем - это данные в том виде, в каком они были созданы. Примеры нарушения целостности данных:
* злоумышленник пытается изменить номер аккаунта в банковской транзакции, или пытается подделать документ.
* случайное изменение при передаче информации или при неисправной работе жесткого диска.
* искажение фактов средствами массовой информации с целью манипуляции общественным мнением.
Пример проверки целостности данных в криптографии - это использование хеш-функции, к примеру MD5. Такая функция преобразует совокупность данных в последовательность чисел. Если данные изменятся, то и последовательность чисел, генерируемая хеш-функцией тоже изменится.
конфиденциальность информации - такую субъективно определяемую (приписываемую) характеристику (свойство) информации, которая указывает на необходимость введения ограничений на круг субъектов, имеющих доступ к данной информации, и обеспечиваемую способностью системы (инфраструктуры) сохранять указанную информацию в тайне от субъектов, не имеющих прав на доступ к ней. Объективные предпосылки подобного ограничения доступности информации для одних субъектов заключены в необходимости защиты законных интересов других субъектов информационных отношений.
Криптография представляет собой совокупность методов преобразования данных, направленных на то, чтобы защитить эти данные, сделав их бесполезными для незаконных пользователей. Такие преобразования обеспечивают решение трех главных проблем защиты данных: обеспечение конфиденциальности, целостности и подлинности передаваемых или сохраняемых данных.
Для обеспечения безопасности данных необходимо поддерживать три основные функции:
• защиту конфиденциальности передаваемых или хранимых в памяти данных;
• подтверждение целостности и подлинности данных;
• аутентификацию абонентов при входе в систему и при установлении соединения;
Для реализации указанных функций используются криптографические технологии шифрования, цифровой подписи и аутентификации.
Конфиденциальность обеспечивается с помощью алгоритмов и методов симметричного и асимметричного шифрования, а также путем взаимной аутентификации абонентов на основе многоразовых и одноразовых паролей, цифровых сертификатов, смарт-карт и т. п.
Целостность и подлинность передаваемых данных обычно достигается с помощью различных вариантов технологии электронной подписи, основанных на односторонних функциях и асимметричных методах шифрования.
Аутентификация разрешает устанавливать соединения только между легальными пользователями и предотвращает доступ к средствам сети нежелательных лиц. Абонентам, доказавшим свою легальность (аутентичность), предоставляются разрешенные виды сетевого обслуживания.
симметричные криптосистемы называют криптосистемами с секретным ключом - ключ шифрования должен быть доступен только тем, кому предназначено сообщение. Симметричные криптосистемы называют еще одноключевыми криптографическими системами, или криптосистемами с закрытым ключом. Схема симметричной криптосистемы шифрования показана на рис
Принципиальное отличие асимметричной криптосистемы от криптосистемы симметричного шифрования состоит в том, что для шифрования информации и ее последующего расшифровывания используются различные ключи:
• открытый ключ К используется для шифрования информации, вычисляется из секретного ключа к;
• секретный ключ к используется для расшифровывания информации, зашифрованной с помощью парного ему открытого ключа К.
Эти ключи различаются таким образом, что с помощью вычислений нельзя вывести секретный ключ к из открытого ключа К. Поэтому открытый ключ К может свободно передаваться по каналам связи.
5. Основные понятия криптографии (шифр, ключ, криптостойкость). Требования к шифрам. Виды шифров и их особенности.
Под шифром понимают совокупность процедур и правил криптографических преобразований, используемых для зашиф-ровывания и расшифровывания информации по ключу шифрования. Ключ шифрования является тем элементом, с помощью которого можно варьировать результат криптографического преобразования. Данный элемент может принадлежать конкретному пользователю или группе пользователей и являться для них уникальным.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т.е. способность противостоять криптоанализу).
Требования к криптографическим системам защиты информации
Для разрабатываемых в настоящее время криптографических систем защиты информации сформулированы следующие общепринятые требования:
* зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
* знание алгоритма шифрования не должно влиять на надежность защиты;
* любой ключ из множества возможных должен обеспечивать надежную защиту информации;
* алгоритм шифрования должен допускать как программную, так и аппаратную реализацию.
Не для всех алгоритмов шифрования перечисленные требования выполняются полностью. В частности, требование отсутствия слабых ключей (ключей, которые позволяют злоумышленнику легче вскрыть зашифрованное сообщение) не выполняется для некоторых "старых" блочных шифров. Однако все вновь разрабатываемые системы шифрования удовлетворяют перечисленным требованиям.
Симметричные криптографические системы
Моноалфавитные подстановки - это наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. В случае моноалфавитных подстановок каждый символ исходного текста преобразуется в символ шифрованного текста по одному и тому же закону. При многоалфавитной подстановке закон преобразования меняется от символа к символу.
Перестановки - также несложный метод криптографического преобразования, заключающийся в перестановке местами символов исходного текста по некоторому правилу.
Блочные шифры - семейство обратимых преобразований блоков (частей фиксированной длины) исходного текста. Фактически блочный шифр - это система подстановки на алфавите блоков. Она может быть моно - или многоалфавитной в зависимости от режима блочного шифра. Иначе говоря, при блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: шифры перестановки (transposition, permutation, P-блоки) и шифры замены (подстановки, substitution, S-блоки). В настоящее время блочные шифры наиболее распространены на практике.
Гаммирование - преобразование исходного текста, при котором символы исходного текста складываются с символами псевдослучайной последовательности (гамме), вырабатываемой по некоторому правилу. В качестве гаммы может быть использована любая последовательность случайных символов. Процедуру наложения гаммы на исходный текст можно осуществить двумя способами. При первом способе символы исходного текста и гаммы заменяются цифровыми эквивалентами, которые затем складываются по модулю k, где k - число символов в алфавите. При втором методе символы исходного текста и гаммы представляются в виде двоичного кода, затем соответствующие разряды складываются по модулю 2. Вместо сложения по модулю 2 при гаммировании можно использовать и другие логические операции.
Асимметричные криптографические системы
RSA, хэш- функции
6. Классификация методов шифрования информации.
Известны несколько классификаций криптографических алгоритмов. Одна из них подразделяет КА в зависимости от числа ключей, применяемых в конкретном алгоритме:
• бесключевые КА - не используют в вычислениях никаких ключей;
• одноключевые КА - работают с одним ключевым параметром (секретным ключом);
• двухключевые КА - на различных стадиях работы в них применяются два ключевых параметра: секретный и открытый ключи.
Хэширование - это метод криптозащиты, представляющий собой контрольное преобразование информации: из данных неограниченного размера путем выполнения криптографических преобразований вычисляется хэш-значение фиксированной длины, однозначно соответствующее исходным данным.
Симметричное шифрование использует один и тот же ключ как для зашифровывания, так и для расшифровывания информации.
Симметричное шифрование подразделяется на два вида: блочное и поточное, хотя следует отметить, что в некоторых классификациях они не разделяются и считается, что поточное шифрование - это шифрование блоков единичной длины.
Блочное шифрование характеризуется тем, что информация предварительно разбивается на блоки фиксированной длины (например, 64 или 128 бит). При этом в различных КА или даже в разных режимах работы одного и того же алгоритма блоки могут шифроваться как независимо друг от друга, так и "со сцеплением", т. е. когда результат шифрования текущего блока данных зависит от значения предыдущего блока или от результата шифрования предыдущего блока.
Поточное шифрование применяется, прежде всего, тогда, когда информацию невозможно разбить на блоки - скажем, есть некий поток данных, каждый символ которых требуется зашифровать и отправить, не дожидаясь остальных данных, достаточных для формирования блока. Алгоритмы поточного шифрования шифруют данные побитно или посимвольно.
Асимметричное шифрование характеризуется применением двух типов ключей: открытого - для зашифровывания информации и секретного - для ее расшифровывания. Секретный и открытый ключи связаны между собой достаточно сложным соотношением.
Электронная цифровая подпись (ЭЦП) используется для надежного подтверждения целостности и авторства данных.
7. Классические шифры перестановки, их свойства и принципы. Примеры шифрования.
При шифровании перестановкой открытый текст, как правило, разбивается на блоки равной длины, после чего в каждом таком блоке символы шифруемого текста переставляются по определенному правилу. Особенностью данных шифров является их независимость от алфавита и языка исходного текста. Каждый шифр перестановок может шифровать информацию любого содержания и на любом языке.
Различают следующие шифры перестановок:
- шифр "скитала";
- простые шифрующие таблицы;
- шифрующие таблицы с одиночной перестановкой по ключу;
- шифрующие таблицы с двойной перестановкой по ключу;
- магические квадраты.
Шифр "скитала" удобно реализовать как таблицу определенного размера (m x n), в клетки которой построчно записывается весь открытый текст. Шифртекст образуется при чтении символов таблицы по столбцам с первого до последнего. При этом незаполненные ячейки также необходимо считывать. Ключом для шифра "скитала" является число строк таблицы m. Число столбцов зависит от числа символов шифруемого текста k (весь текст должен быть размещен в одной таблице). Таким образом, число столбцов определяется по формуле n=((k-1)/m)+1. Для расшифрования необходима такая же таблица, как и для шифрования. Зашифрованный текст расшифровывается в обратном порядке: шифртекст записывается по столбцам, а считывается по строкам. Данный метод применяют для шифрования коротких сообщений.
ПРОИЗВЕДЕНЗАПУСКСПУТНИКА После заполнения таблицы по строкам считываем ее содержимое по столбцам и получаем шифртекст: "ПВ_СУА_РЕЗКТ_
_ОДА_Н__ИЕПСИИ ЗНУПК__".При дешифрации записываем шифртекст в таблицу размером 7х5 по столбцам, затем считываем по строкам.
Шифрующие таблицы также основаны на заполнении их ячеек буквами текста. Ключом шифрующих таблиц может быть - размер таблицы (число строк и столбцов);
- слово или фраза, определяющая перестановку строк и (или) столбцов.
Для метода простых шифрующих таблиц ключом является число строк и столбцов таблицы. Этот метод шифрования аналогичен шифру "скитала", но в отличие от него исходный текст разделяется на блоки. Размер каждого из них равен числу ячеек в таблице. Каждый из блоков шифруется отдельно. Текст записывается в таблицы по столбцам, а считывается по строкам. Такой подход позволяет шифровать сообщения любой длины.
Исходное сообщение разделяется на блоки по 15 символов (ровно столько, сколько ячеек в таблице). Для записи текста необходимо 2 таблицы (рис. 3). После заполнения первой таблицы символами по столбцам считывают ее содержимое по строкам. Получаем: "ПИЕНАРЗД_ПОВЕЗУ" Для второго блока исходного текста действия повторяются. ПИЕНАССТКРЗДПКПНАОВЕЗУУИ В результате, после соединения двух зашифрованных блоков, получаем шифртекст: "ПИЕНАРЗД_ПОВЕЗУССТК_КПНА__УИ__".
Метод шифрующих таблиц с одиночной перестановкой по ключу отличается от предыдущего метода перестановкой столбцов таблицы по ключевому слову после заполнения таблицы исходным текстом. Число столбцов таблицы должно быть равно длине ключевого слова, фразы или числа, задающего способ перестановки. Исходный текст записывается в таблицу по столбцам. Столбцы переставляются в порядке следования в алфавите символов ключевого слова, после чего текст считывается по строкам. Расшифрование осуществляется в строго обратном порядке.
Зашифруем фразу "СИСТЕМНЫЙ ПАРОЛЬ ИЗМЕНЕН" с помощью таблицы размером 4х6 и ключевого слова "СКАНЕР".
СКАНЕРАЕКНРС631425123456СЕЙРЕЙЕРЕСИМОИНИМОНИСНПЛЗЕПЗНЛЕСТЫАЬМНАМЫЬНТ Шифрующие таблицы с двойной перестановкой по ключу используют для повышения криптографической стойкости шифра. В данном методе используются два ключевых слова. Первое слово определяет перестановку и число столбцов, второе - перестановку и число строк таблицы. Перестановки производятся согласно порядку следования в алфавите символов ключевых слов.
Шифрование по методу магических квадратов. Магическими квадратами называют квадратные таблицы с вписанными в их клетки последовательными натуральными числами, начиная от 1, которые дают в сумме по каждому столбцу, строке и диагонали одно и то же число.
Перед шифрованием исходный текст разделяется на одинаковые блоки. Размер блока равен числу ячеек в магическом квадрате. Каждый блоков шифруется отдельно.
При шифровании буквы открытого текста необходимо вписать в магический квадрат в соответствии с нумерацией его клеток. Для получения шифртекста считывают содержимое заполненной таблицы по строкам. Расшифрование, в отличие от предыдущих методов, ведется по тому же алгоритму, что и шифрование (без изменений). Буквы шифртекста необходимо вписать в магический квадрат в соответствии с нумерацией его клеток. Открытый текст получают путем считывания содержимого заполненной таблицы по строкам.
Зашифруем фразу "МАГИЧЕСКАЯ СИЛА" с помощью магического квадрата размером 4х4.
163213ГАИ96712АЕСС510118ЧЯК415141ИАЛМ 8. Классические шифры простой замены, их свойства и принципы. Примеры шифрования.
Шифры замены требуют четкого определения состава алфавита шифруемого текста. Неучтенные в алфавите, но присутствующие в исходном тексте символы не смогут быть зашифрованы. Криптографические алфавиты могут отличаться не только составом входящих в них символов, но и их порядком.
При шифровании простой заменой каждый символ шифруемого текста заменяется символом того же алфавита одинаково по всему тексту в соответствии с криптографическим алгоритмом и ключом. Поэтому шифры простой замены называют также шифрами одноалфавитной замены.
Различают следующие шифры простой замены:- полибианский квадрат;- система Цезаря;- аффинная система подстановок Цезаря;- система Цезаря с ключевым словом;- шифрующие таблицы Трисемуса;- биграммный шифр Плейфейра.
Классический полибианский квадрат - таблица, состоящая из 5 строк и 5 столбцов, заполненная случайным образом буквами греческого алфавита и пробелом (рис. 7). При шифровании в таблице находят букву открытого текста и записывают в шифртекст букву, расположенную ниже ее в том же столбце.
Система шифрования Цезаря. При шифровании каждый символ открытого текста заменяется на другой символ того же алфавита путем смещения по алфавиту на K символов. Таким образом, K - ключ системы Цезаря. Если при смещении выходим за пределы алфавита, то выполняется циклический переход к его началу.
Если поставить в соответствие каждой букве алфавита ее порядковый номер или определенный код (начиная от 0), то замену по методу Цезаря можно описать следующей формулой:I = (J+K) mod M, где J - числовой код буквы открытого текста, 0 ≤ J ≤ (M-1); K - ключ, 1 ≤ K ≤ (M-1); I - числовой код соответствующей буквы шифртекста; M - число букв в алфавите.
Аффинная система подстановок Цезаря. В данном методе используется ключ шифрования в виде пары целых чисел (A, K). Число A задает переход при шифровании вперед на A∙J букв, а число K - дополнительное смещение по алфавиту на K букв. Следовательно, аффинную систему подстановок Цезаря можно описать следующей формулой:I = (А∙J+K) mod M. Наибольший общий делитель чисел A и M должен быть равен единице, чтобы избежать ситуации повтора, когда разным символам открытого текста соответствует один и тот же символ шифртекста.
Таблица кодов для аффинных подстановок при A=5, K=3, M=32 J0123456789101112131415I38131823281611162126314914J16171819202122232425262728293031I1924292712172227051015202530 Система Цезаря с ключевым словом. В этой системе шифрования наряду с числовым ключом K, 0 ≤ K ≤ (M-1), задающим смещение, используется ключевое слово для изменения порядка символов в заменяющем алфавите. В качестве ключевого слова необходимо выбирать слово или короткую фразу (не более длины алфавита). Все буквы ключевого слова должны быть различными. Для создания таблицы замены ключевое слово записываем под буквами алфавита, начиная с буквы, числовой код которой совпадает с выбранным числовым ключом K. Оставшиеся буквы алфавита замены записываем в алфавитном порядке (избегая повтора букв) после ключевого слова. При достижении конца таблицы циклически переходим на ее начало и дописываем последние буквы алфавита, не встречавшиеся ранее.
Шифрующие таблицы Трисемуса по принципу шифрования аналогичны полибианскому квадрату. Различия между ними заключаются лишь в принципе заполнения таблиц буквами алфавита. Таблица Трисемуса заполняется с помощью ключевого слова, повторяющиеся буквы которого отбрасываются. Затем таблица дополняется не вошедшими в нее буквами алфавита по порядку, как в системе Цезаря с ключевым словом. Таким образом, ключом в таблицах Трисемуса является ключевое слово и размер таблицы. При шифровании буква открытого текста заменяется буквой, расположенной ниже нее в том же столбце.
Биграммный шифр Плейфейра предназначен для шифрования сообщений парами букв (биграммами). Основой этого шифра является таблица, имеющая структуру, аналогичную структуре шифрующей таблицы Трисемуса - ключом служит число строк и столбцов (размер таблицы) и ключевое слово.
Процесс шифрования начинается с этапа подготовки открытого текста, который должен соответствовать следующим требованиям:
1. Иметь четное число букв. В случае исходного сообщения нечетной длины необходимо добавлять незначимый символ (например, пробел или точку) в конец сообщения. 2. После разбиения на пары букв не должно быть биграмм, содержащих две одинаковые буквы. Повторяющиеся подряд две буквы встречаются довольно часто в любом языке, поэтому необходимо сделать так, чтобы они находились в разных биграммах, например, в слове "ДИАГРАММА" при разделении на биграммы четвертая биграмма состоит из двух одинаковых букв "ММ" ("ДИ АГ РА ММ А_"). Чтобы исправить данную ситуацию, лучше всего добавить пробел в начало слова. Тогда идущие подряд буквы попадут в разные биграммы: "_Д ИА ГР АМ МА".
На заключительном этапе шифрования разделяют открытый текст на пары букв, которые последовательно преобразуются с помощью шифрующей таблицы в биграммы шифртекста по следующим правилам:
1. Если обе буквы биграммы исходного текста не лежат в одной строке или в одном столбце, тогда находят буквы в углах прямоугольника, определяемого данной парой букв. Первой буквой биграммы шифртекста становится буква, расположенная в той же строке, что и первая буква исходной биграммы, и в том же столбце, что и вторая буква открытого текста. Вторая буква биграммы шифртекста находится на пересечении строки, содержащей вторую букву, и столбца, содержащего первую букву открытого текста.
2. Если обе буквы биграммы открытого текста принадлежат одной строке таблицы, то первой и второй буквами биграммы шифртекста считаются буквы, лежащие справа соответственно от первой и второй букв биграммы открытого текста. При этом считается, что таблица циклически замкнута по строкам, то есть конец любой строки связан с ее началом. Поэтому если буквы биграммы расположены в одной строке и одна из них находится в последнем столбце таблицы, то для шифртекста берется буква из первого столбца этой строки.
3. Если обе буквы биграммы открытого текста принадлежат одному столбцу таблицы, то первой и второй буквами биграммы шифртекста считаются буквы, лежащие соответственно под первой и под второй буквами биграммы открытого текста. При этом считается, что таблица циклически замкнута по столбцам, то есть конец любого столбца замыкается на его начале. Поэтому если буквы биграммы расположены в одном столбце и одна из них находится в последней строке таблицы, то для шифртекста берется буква из первой строки этого столбца.
9. Классические шифры сложной замены, их свойства и принципы. При шифровании исходного сообщения с помощью шифра сложной замены для каждого символа открытого текста используют свой шифр простой замены. Алфавиты замен последовательно и циклически изменяют от символа к символу. Поэтому эти шифры называют, также многоалфавитными. Многоалфавитная подстановка обладает существенным преимуществом перед шифрами простой замены (одноалфавитная подстановка), так как обеспечивает маскировку частоты встречаемости букв исходного сообщения.
Система шифрования Альберти предложил оригинальный шифр сложной замены, на основе двух концентрических кругов, по окружности которых записывались алфавиты открытого текста и шифртекста. При этом алфавит замены мог быть не последовательным "АБВГ... ЭЮЯ", а произвольным "АЭВЮГ..." и мог быть смещен на любое число позиций (рис 2). В шифре Альберти была впервые реализована идея увеличения стойкости шифровальной системы путем повторения шифрования с помощью разных алфавитов (меняя последовательность алфавита замены и его сдвиг относительно алфавита открытого текста).
Шифрование по методу Альберти может быть реализовано в различных вариантах. Ключом в них, как правило, является порядок букв в алфавите замены, число позиций начального сдвига алфавитов и величина шага при относительных сдвигах алфавитов после шифрования каждого символа или слова.
Шифр Тритемия создается таблица замены, первой строкой которой является собственно сообщение, второй - алфавит замены, третьей - алфавит замены, сдвинутый на один шаг, и т. д. При шифровании первая буква сообщения заменяется буквой, стоящей под ней в первой строке, вторая буква - буквой, стоящей во второй строке, и т. д. Фактически, многоалфавитный шифр Тритемия является частным случаем системы шифрования Альберти при нулевом начальном смещении алфавитов открытого текста и замены, при упорядоченном по возрастанию алфавите замены и при единичном шаге относительного сдвига алфавитов.
Шифр Гронсфельда Этот шифр сложной замены, представляет собой модификацию шифра Цезаря числовым ключом. Для этого под буквами исходного сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифртекст получают примерно, как в шифре Цезаря, но отсчитывают по алфавиту фиксированное число букв (как это делается в шифре Цезаря), а выбирают ту букву, которая смещена по алфавиту на соответствующую цифру ключа. Например, применяя в качестве ключа группу из пяти цифр "53271", получаем для исходного сообщения "КРАСНАЯ ПЛОЩАДЬ" следующий шифртекст: "ПУВШОЕВ СТПЮГЖГ" (рис. 3).
СообщениеКРАСНАЯПЛОЩАДЬКлюч53271532715327ШифртекстПУВШОЕВСТПЮГЖГ Рис. 3. Пример использования шифра Гронсфельда
Шифр Гронсфельда вскрывается относительно легко, так как в числовом ключе каждая цифра имеет только десять значений, а значит, имеется лишь десять вариантов прочтения каждой буквы шифртекста. С другой стороны, шифр Гронсфельда допускает дальнейшие модификации, улучшающие его стойкость, в частности двойное шифрование разными числовыми ключами.
Система шифрования Вижинера Система Вижинера подобна системе шифрования Цезаря, у которой ключ замены меняется от буквы к букве. Этот шифр многоалфавитной замены можно описать таблицей шифрования, называемой таблицей Вижинера (рис.4).
Таблица Вижинера используется для зашифрования и расшифрования. Она имеет два входа:
• верхнюю строку символов, используемую для считывания очередной буквы исходного открытого текста;
• крайний левый столбец ключа.
Последовательность ключей образуется из кодов (числовых значений) букв ключевого слова. При шифровании исходного сообщения его выписывают в строку, а под ним записывают ключевое слово (или фразу). Если ключ оказался короче сообщения, то его циклически повторяют. В процессе шифрования находят в верхней строке таблицы очередную букву исходного текста и в левом столбце очередное значение ключа. Очередная буква шифртекста находится на пересечении столбца, определяемого шифруемой буквой, и строки, определяемой числовым значением ключа.
Шифр "двойной квадрат" Уитстона "Двойной квадрат" Уитстона использует сразу две таблицы одинакового размера. Они заполняются буквами алфавита случайным образом аналогично методу полибианского квадрата, а шифрование идет биграммами, как в шифре Плейфейра. Таким образом ключом данного шифра является размер таблиц и порядок букв в них. Сократить длину ключа можно, используя способ заполнения таблиц с помощью ключевых слов, аналогично методу Трисемуса.
Рассмотрим процедуру шифрования методом "двойной квадрат" на примере. Пусть имеются две таблицы со случайно расположенными в них русскими алфавитами, пробелом и знаками препинания. Перед шифрованием исходное сообщение разбивают на биграммы. Каждая биграмма шифруется отдельно. Первую букву биграммы находят в левой таблице, а вторую букву - в правой таблице. Затем мысленно строят прямоугольник так, чтобы буквы биграммы лежали в его противоположных вершинах. Другие две вершины этого прямоугольника дают буквы биграммы шифртекста.
Допустим, что шифруется биграмма исходного текста "СА". Букву "С" находим левой таблице. Букву "А" находим в правой таблице. Это означает, что прямоугольник образован строками 1 и 4, а также столбцами 1 левой таблицы и 5 правой таблицы. Следовательно, в биграмму шифртекста входят буква "Н", расположенная в столбце 5 и строке 1 правой таблицы, и буква "И", расположенная в столбце 1 и строке 4 левой таблицы. Таким образом, получаем биграмму шифртекста "НИ".
СЬЖНФЪКЯЩЧФН.УЦБЩЯРДГРТЮГЦЙЕ ШЭМЙЧЫИЖЛЭКЬСИХЗ,ПОВХДЗШАЪЫЛА.ЕТЮУОМВПБ , Если обе буквы биграммы сообщения лежат в одной строке или столбце, то буквы шифртекста берут из этой же строки или столбца. Первую букву биграммы шифртекста берут из правой таблицы в ячейке с индексами второй буквы биграммы сообщения. Вторая буква биграммы шифртекста берется из левой таблицы в ячейке с индексами первой буквы биграммы сообщения. Поэтому биграмма сообщения "АБ" превращается в биграмму шифртекста "МЮ". Аналогичным образом шифруются все биграммы сообщения.
Шифруя методом "двойной квадрат" Уитстона сообщение "КРАСНАЯ ПЛОЩАДЬ" получим следующий шифртекст: "ЯГ, Н,ГЕОЛЦЗЙЧ" (рис. 7).
СообщениеКРАСНАЯПЛОЩАДЬШифртекстЯГ,Н,ГЕОЛЦЗЙЧ Одноразовая система шифрования Характерной особенностью одноразовой системы шифрования является одноразовое использование ключевой последовательности, длина которой равна длине шифруемого текста.
Одноразовая система шифрует исходный открытый текст в шифртекст посредством подстановки Цезаря с переменным случайным ключом Сi = (Mi+Ki) mod m ,(1)
где Mi - числовой код буквы открытого текста, Ki - i-й элемент случайной ключевой последовательности; Сi - числовой код соответствующей буквы шифртекста; m - число букв в алфавите.
Ключевая последовательность одноразовой системы представляет собой набор дискретных случайных величин.
Процедура расшифрования описывается соотношением
Мi = (Сi - Ki) mod m . Для реализации этой системы подстановки иногда используют одноразовый блокнот. Этот блокнот составлен из отрывных страниц, на каждой из которых напечатана таблица со случайными числами (ключами) Кi. Блокнот выполняется в двух экземплярах: один используется отправителем, а другой - получателем. Для каждого символа Mi сообщения используется свой ключ Кi из таблицы только один раз. После того как таблица использована, она должна быть удалена из блокнота и уничтожена. Шифрование нового сообщения начинается с новой страницы.
Этот шифр абсолютно надежен, если набор ключей Кi действительно случаен и непредсказуем. Если криптоаналитик попытается использовать для заданного шифртекста все возможные наборы ключей и восстановить все возможные варианты исходного текста, то они все окажутся равновероятными.
Шифрование методом Вернама Метод Вернама использует двоичное представление символов исходного текста. Каждый символ открытого текста кодируется двоичным числом определенной длины. Если длина алфавита не более 32 символов, то для кодирования символа достаточно 5 бит. При более длинных алфавитах можно использовать 6-ти, 7-ми и 8-ми битное кодирование. Случайная последовательность двоичных ключей k заранее генерируется и записывается.Шифрование исходного текста, предварительно преобразованного в последовательность двоичных символов x, осуществляется путем побитового сложения по модулю 2 (операция XOR) символов x с последовательностью двоичных ключей k:
Расшифрование состоит в сложении по модулю 2 символов у шифртекста с той же последовательностью ключей k:
y k = x k k = x .
10. Роторные машины. Принципы и математическое описание работы роторной машины.
роторные машины - электромеханические устройства, автоматизирующие процесс шифрования. Принцип работы таких машин основан на многоалфавитной замене символов исходного текста по длинному ключу согласно версии шифра Вижинера. Главной деталью роторной машины является ротор (или колесо) с проволочными перемычками внутри. Ротор представляет собой небольшой диск, на каждой стороне которого расположены равномерно по окружности m электрических контактов, где m - число знаков алфавита. Каждый контакт на передней стороне диска соединен с одним из контактов на задней стороне. В результате электрический сигнал, представляющий знак, будет переставлен в соответствии с тем, как он проходит через ротор от передней стороны к задней. Например, на рис. 9 буква "А" в первом роторе преобразуется в букву "Е".
Рис. 9. Пример работы банка роторов
Роторы объединяют в банк роторов таким образом, чтобы выходные контакты одного ротора касались входных контактов следующего ротора. При этом электрический импульс от нажатой клавиши с буквой исходного текста, входящий с одного конца банка роторов, будет переставляться каждым из роторов, до тех пор, пока не покинет банк. Например, если роторы установлены без сдвигов, то есть контакты на передней стороне всех дисков соответствуют символам алфавита, то возможна замена буквы "А" на букву "М", представленная на рис. 9. Сначала входной сигнал, соответствующий букве "А", попадет на входной контакт диска соответствующий букве "А", затем по проволочной связи импульс придет в контакт "Е", откуда перейдет в соответствующий контакт второго диска и так далее до последнего ротора, который заменит сигнал буквы "Б" на выходной сигнал, соответствующий позиции буквы "М" (рис. 9). Подобная статическая система роторов обеспечивает всего одну замену для каждого символа, однако если хотя бы один диск начинает вращаться, то число возможных замен каждого символа увеличивается до числа знаков в алфавите (m). Если вращаются все диски, то максимальный период замен роторной машины составит mn, где n - число роторов. Например, если m=32 и n=6, то повтор порядка замен роторной машины произойдет только после шифрования ≈10 6 символов.
При повороте ротора из одного положения в другое замена, которую он осуществляет, будет изменяться. В общем случае порядок проведения этой замены можно записать в виде C -j , π, C j, где π - подстановка, реализуемая ротором в его начальном положении; C j - циклический сдвиг на j позиций вперед по алфавиту; C -j - циклический сдвиг на j позиций назад по алфавиту.
Например, если начальная подстановка первого ротора π (Ю) = "О" (рис. 10) и ротор сдвигается на две позиции (j = 2), то буква открытого текста "А" будет против того контакта ротора, который используется для представления символа "Ю", а буква "О", заменяющая в роторе букву "Ю", окажется против того контакта, который используется для представления шифрованного символа "Р". Таким образом, результирующая подстановка Т(А) = "Р" при j = 2. Для этого же сдвига ротора буквы открытого текста "Б", "В", "Г", "Д", "Е" будут зашифрованы соответственно буквами "Ю", "З", "П", "Т", "Й" (рис. 10). Преобразование импульсов во втором и последующих дисках роторной машины производится аналогично.
Положение контактов в начальном положении (без сдвига)Входной сигнал
АБВГДЕЖЗИЙ...ЮЯПодстановка без сдвига (π)ЕНРЗЯПШАБФ...ОЬПоложение контактов после сдвига на 2 позиции (j=2)Входной контакт (результат операции C -2)ЮЯАБВГДЕЖЗИЙ...Выходной контакт (результат операции π)ОЬЕНРЗЯПШАБФ...Выходной сигнал (результат операции C 2)РЮЗПТЙБСЪВГЦ...Рис. 10. Схема формирования подстановки при сдвиге ротора (j =2)
Для получения сильной криптографической системы расположение роторов должно меняться при переходе от знака к знаку сообщения.
Простейшее из возможных движений ротора - это движение по принципу одометра, которое использовалось в немецкой машине Enigma во время второй мировой войны. При шифровании одного знака последний диск поворачивается на одну позицию. Когда этот (или любой другой) диск переместится на m позиций и совершит полный оборот, колесо, расположенное перед ним (по ходу сигнала), передвинется на одну позицию, и процесс будет повторяться. Улучшение движения по принципу одометра можно получить, если поворачивать каждый ротор более чем на одну позицию. Если смещения каждого ротора не имеют общих множителей с размером алфавита m, то период останется максимальным. Усложнить движение роторов можно также с помощью путем введения запрещенных остановочных мест (позиций) для каждого колеса. При этом период роторной машины сократится, но шифртекст станет более непредсказуемым для криптоаналитика.
Таким образом, роторная машина может быть настроена по ключу изменением любых ее переменных: внутренней структуры роторов, порядка их расположения, числа разрешенных (или запрещенных) мест остановки каждого диска, характера движения и т.д.
11. Гаммирование. Гамма шифра. Методы генерации гаммы шифра. Линейный сдвиговый регистр.
Гаммирование - процесс наложения гаммы шифра (псевдослучайной последовательности) на открытые данные по определенному закону.
Гамма шифра - псевдослучайная, как правило, двоичная последовательность, выработанная по заданному алгоритму для шифрования или расшифрования данных.
При шифровании методом гаммирования открытый текст представляется в двоичном виде. Затем на основе некоторого начального (порождающего) значения вырабатывается гамма шифра, которая накладывается на исходный текст с использованием обратимой операции сложения по модулю 2 (побитовый XOR). Пред шифрованием открытые данные разбивают на блоки одинаковой длины, обычно по 64 бита. Гамма шифра вырабатывается по алгоритму генерации в виде последовательности блоков аналогичной длины.Уравнение шифрования блока открытых данных с использованием соответствующего блока гаммы шифра описывается следующей формулой:
(1)
где - i-й блок шифртекста; М - число блоков открытого текста.Процесс расшифрования заключается в повторной генерации гаммы шифра на основе того же порождающего значения, что и при шифровании и наложении этой гаммы на зашифрованные данные:
Методы генерации псевдослучайных чисел
Генератор Неймана Этот способ основан на том, что каждое последующее случайное число образуется возведением предыдущего в квадрат и отбрасыванием цифр младших и старших разрядов. Способ Неймана является ненадежным из-за малого периода и предсказуемости гаммы.
Линейный конгруэнтный генератор Из простейших процедур, имитирующих случайные числа, наиболее удачным является так называемый конгруэнтный способ, разработанный Д.Х. Лемером: где - текущее число последовательности; - предыдущее число последовательности; - множитель; - приращение; - модуль.Генерация начинается с порождающего (стартового) числа - . В нем каждое последующее псевдослучайное число получается из предыдущего умножением его на , сложением с и взятием остатка от деления на . Данное уравнение генерирует псевдослучайные числа с периодом повторения, который может достигать значения . Регистр линейного сдвига с обратной связью
Регистр линейного сдвига c обратной связью (Linear Feedback Shift Register - LFSR) - механизм создания псевдослучайной последовательности двоичных битов. Регистр (рис. 1) состоит из ряда ячеек, которые устанавливаются вектором инициализации (чаще всего секретным ключом). Работа регистра определяется наличием или отсутствием связи от каждого разряда к обратной связи. Отводы регистра с обратной связью не фиксированы, а являются частью ключа. На очередном шаге содержимое ячеек регистра сдвигается на одну позицию вправо, а один бит, оставшийся в результате операции XOR свободным, помещается в крайнюю левую ячейку. Рис. 1. Линейный регистр сдвига с обратной связью
Для достижения максимального периода гаммы шифра число разрядов m сдвигового регистра выбирается равным одному из простых чисел Мерсенна (2, 3, 5, 7, 13, 17, 31, 61, 89, 107, 127, 521, 607, 1279, 2203 ...), а внутренние связи регистра должны выбираться в соответствии с неприводимыми примитивными многочленами со старшей степенью m. В этом случае период гаммы шифра может достигать (2m-1). LFSR быстро работает и легко реализуется как программно, так и аппаратно. При грамотном выборе битов обратной связи генерируемые последовательности имеют хорошие статистические свойства. LFSR используется как базовый элемент для построения высоко защищенных систем.
Каскад регистров - набор LFSR, связанных таким образом, что поведение одного регистра LFSR зависит от поведения предыдущего регистра LFSR в каскаде. Такое "зависимое" поведение обычно организуется для управления с помощью первого LFSR счетчиком сдвигов следующего за ним LFSR. Например, регистр сдвигается на один шаг, если значение предшествующего регистра - 1, а если значение 0, то регистр сдвигается на два шага или как-то иначе. Большое количество подобных сочетаний позволяет обеспечить весьма высокую безопасность. Наиболее криптостойкие последовательности дает сжимающий генератор (shrinking generator), основанный на простом взаимодействии между результатами двух регистров LFSR. Биты одного результата определяют, будут ли соответствующие биты второго результата использоваться как часть полного "потокового ключа". Сжимающий генератор прост, масштабируем и имеет хорошие защитные свойства. Его недостаток состоит в том, что скорость генерации "потокового ключа" не будет постоянной, если не принять некоторых предосторожностей.
Метод Фибоначчи с запаздываниями Один из широко распространённых фибоначчиевых генераторов основан на следующей итеративной формуле:
где Yk - вещественные числа из диапазона [0, 1); a, b - целые положительные числа, называемые лагами. Для работы фибоначчиеву генератору требуется знать max(a, b) предыдущих сгенерированных случайных чисел. При программной реализации для хранения сгенерированных случайных чисел используется конечная циклическая очередь на базе массива. Для старта фибоначчиевому данному алгоритму требуется max(a, b) случайных чисел, которые могут быть сгенерированы простым конгруэнтным генератором.
Лаги a и b не следует выбирать произвольно. Рекомендуются следующие пары значений лагов: a=17, b=5; a=55, b=24; a=97, b=33. Качество получаемых случайных чисел зависит от значения константы a, чем оно больше, тем выше размерность пространства, в котором сохраняется равномерность случайных векторов, образованных из полученных случайных чисел. В то же время, с увеличением величины константы a увеличивается объём используемой алгоритмом памяти.Значения a = 17, b = 5 можно рекомендовать для простых приложений. Значения a = 55, b = 24 позволяют получать числа, удовлетворительные для большинства алгоритмов, требовательных к качеству случайных чисел. Значения a = 97, b = 33 позволяют получать очень качественные случайные числа и используются в алгоритмах, работающих со случайными векторами высокой размерности.Получаемые случайные числа обладают хорошими статистическими свойствами, причём все биты случайного числа равнозначны по статистическим свойствам. Период фибоначчиева датчика может быть оценен по следующей формуле:где n - число битов в мантиссе вещественного числа.
Алгоритм Блюма, Блюма и Шуба Генератор BBS основан на следующей итеративной формуле:где m=pq является произведением двух больших простых p и q. На каждом шаге алгоритма выходные данные получаются из Yn путём взятия либо бита чётности, либо одного или больше наименее значимых бит Yn .Два простых числа, p и q, должны быть сравнимы с числом 3 по модулю 4, т.е. (p - 3) ≡ 0 (mod 4) и (q - 3) ≡ 0 (mod 4). Данный генератор имеет необычно высокую стойкость, которая обеспечивается качеством генератора исходя из вычислительной сложности задачи факторизации чисел.
Криптографически созданные случайные числа В криптографических приложениях целесообразно шифровать получающиеся случайные числа. Чаще всего используется три способа: 1) циклическое шифрование; 2) режим обратной связи по выходу одного из симметричных блочных алгоритмов;3) генератор псевдослучайных чисел ANSI X9.17.В случае циклического шифрования в качестве входа в шифрующее устройство используется счетчик с периодом N (рис. 2). Например, в случае использования 56-битного ключа DES может применяться счетчик с периодом 256. После каждого созданного ключа значение счетчика увеличивается на 1. Таким образом, каждое выходное значение Х0, Х1,...ХN-1 основано на различных значениях счетчика и, следовательно, получаемые числа не равны между собой.
Рис. 2. Циклическое шифрование
Режим обратной связи по выходу DES может применяться для генерации псевдослучайных чисел, аналогично тому, как он используется для поточного шифрования. Выходом каждой стадии шифрования является 64-битное значение, из которого только старшие j битов подаются обратно для шифрования. 64-битные выходы составляют последовательность псевдослучайных чисел с хорошими статистическими свойствами.
Генератор псевдослучайных чисел, описанный в стандарте ANSI X9.17, является одним из наиболее криптостойких генераторов псевдослучайных чисел. В число приложений, использующих эту технологию, входят приложения финансовой безопасности и PGP.
Генератор ANSI X9.17 состоит из следующих частей (рис. 3):
1. Вход: генератором управляют два псевдослучайных входа. Первый вход является 64-битным представлением текущих даты и времени (DTi), которые изменяются каждый раз при создании числа. Второй вход является 64-битным начальным значением, которое инициализируется некоторым произвольным значением и изменяется в ходе генерации последовательности псевдослучайных чисел (Vi). 2. Ключи: генератор использует три модуля тройного DES с двумя ключами K1, K2. Все три используют одну и ту же пару 56-битных ключей, которая должна держаться в секрете и применяться только для генерации псевдослучайного числа. 3. Выход: выход состоит из 64-битного псевдослучайного числа Ri и 64-битного значения, которое будет использоваться в качестве начального значения при создании следующего числа (Vi+1) .
Рис. 3. Генератор псевдослучайных чисел ANSI X9.17
12. Принципы построения современных симметричных криптосистем. Стандарты симметричных криптосистем.
В симметричных криптоалгоритмах для зашифровывания и расшифровывания сообщения используется один и тот же блок информации (ключ). Хотя алгоритм воздействия на передаваемые данные может быть известен посторонним лицам, но он зависит от секретного ключа, которым должны обладать только отправитель и получатель. Симметричные криптоалгоритмы выполняют преобразование небольшого блока данных (1 бит либо 32-128 бит) в зависимости от секретного ключа таким образом, что прочесть исходное сообщение можно только зная этот секретный ключ.
Симметричные криптосистемы позволяют на основе симметричных криптоалгоритмов кодировать и декодировать файлы произвольной длины.
Характерная особенность симметричных блочных криптоалгоритмов - преобразование блока входной информации фиксированной длины и получение результирующего блока того же объема, но недоступного для прочтения сторонним лицам, не владеющим ключом. Схему работы симметричного блочного шифра можно описать функциями
С = ЕК(М) и М = DК(C),
где М - исходный (открытый) блок данных, С - зашифрованный блок данных.
Ключ K является параметром симметричного блочного криптоалгоритма и представляет собой блок двоичной информации фиксированного размера. Исходный М и зашифрованный С блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа К.
Блочные шифры являются той основой, на которой реализованы практически все симметричные криптосистемы. Практически все алгоритмы используют для преобразований определенный набор обратимых математических преобразований.
Методика создания цепочек из зашифрованных блочными алгоритмами байтов позволяет шифровать ими пакеты информации неограниченной длины. Отсутствие статистической корреляции между битами выходного потока блочного шифра используется для вычисления контрольных сумм пакетов данных и в хэшировании паролей. На сегодняшний день разработано достаточно много стойких блочных шифров.
Криптоалгоритм считается идеально стойким, если для прочтения зашифрованного блока данных необходим перебор всех возможных ключей до тех пор, пока расшифрованное сообщение не окажется осмысленным. В общем случае стойкость блочного шифра зависит только от длины ключа и возрастает экспоненциально с ее ростом. Идеально стойкие криптоалгоритмы должны удовлетворять еще одному важному требованию. Ключ, которым произведено это преобразование, при известных исходном и зашифрованном значениях блока можно узнать только путем полного перебора его значений.
Стандарты:
* AES (англ. Advanced Encryption Standard) - американский стандарт шифрования
* ГОСТ 28147-89 - отечественный стандарт шифрования данных
* DES (англ. Data Encryption Standard) - стандарт шифрования данных в США
13. Обобщенная структура и особенности криптоалгоритма DES (длина ключа, последовательность шифрования, операции шифрования, криптостойкость и т.д.). Алгоритм шифрования данных DES (Data Encryption Standard) был опубликован в 1977 г. и остается пока распространенным блочным симметричным алгоритмом, используемым в системах защиты коммерческой информации.
Алгоритм DES построен в соответствии с методологией сети Фейстеля и состоит из чередующейся последовательности перестановок и подстановок. Алгоритм DES осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 - проверочные биты для контроля на четность).
Процесс шифрования заключается в начальной перестановке битов 64-битового блока, 16 циклах (раундах) шифрования и, наконец, в конечной перестановке битов (рис. 6.2).
Расшифровывание в DES является операцией, обратной шифрованию, и выполняется путем повторения операций шифрования в обратной последовательности.
Основные достоинства алгоритма DES:
• используется только один ключ длиной 56 бит;
• относительная простота алгоритма обеспечивает высокую скорость обработки;
• зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий алгоритму DES;
• криптостойкость алгоритма вполне достаточна для обеспечения информационной безопасности большинства коммерческих приложений.
До недавнего времени DES считался относительно безопасным алгоритмом шифрования.Алгоритм 3-DES (Triple DES - тройной DES) используется в ситуациях, когда надежность алгоритма DES считается недостаточной.
Начальная перестановка
Исходный текст T (блок 64 бит) преобразуется c помощью начальной перестановки IP которая определяется таблицей 1:
Таблица 1. Начальная перестановка IP58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157По таблице первые 3 бита результирующего блока IP(T) после начальной перестановки IP являются битами 58, 50, 42 входного блока Т, а его 3 последние бита являются битами 23, 15, 7 входного блока.
Циклы шифрования
Полученный после начальной перестановки 64-битовый блок IP(T) участвует в 16-циклах преобразования Фейстеля.
- 16 циклов преобразования Фейстеля:
Разбить IP(T) на две части , где - соответственно 32 старших битов и 32 младших битов блока IP(T)= Пусть результат (i-1) итерации, тогда результат i-ой итерации определяется:
Левая половина равна правой половине предыдущего вектора . А правая половина - это битовое сложение и по модулю 2.
В 16-циклах преобразования Фейстеля функция f играет роль шифрования. Рассмотрим подробно функцию f.
Основная функция шифрования (функция Фейстеля)
Аргументами функции f являются 32-битовый вектор и 48-битовый ключ ki, который является результатом преобразования 56-битового исходного ключа шифра k.
Для вычисления функции f используются функция расширения Е, преобразование S, состоящее из 8 преобразований S-блоков , и перестановка P.
Функция Е расширяет 32-битовый вектор до 48-битового вектора путём дублирования некоторых битов из ; при этом порядок битов вектора указан в таблице 2.
Генерирование ключей Ключи получаются из начального ключа k (64 бит = 8 байтов или 8 символов в ASCII) таким образом. Восемь битов, находящихся в позициях 8, 16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким образом чтобы каждый байт содержал нечетное число единиц. Это используется для обнаружения ошибок при обмене и хранении ключей. Затем делают перестановку для расширенного ключа (кроме добавляемых битов 8, 16, 24, 32, 40, 48, 56, 64). Такая перестановка определена в таблице 5.
Криптостойкость алгоритма DES
Нелинейность преобразований в DES средствами только S-блоков, и использование слабых S-блоков позволяет осуществлять контроль за шифрованной перепиской. Выбор S-блоков требует соблюдения нескольких условий:
* Каждая строка каждого блока должна быть перестановкой множества {0, 1, 2, ..., 15}
* S-блоки не должны являться линейной или афинной функцией своих аргументов.
* Изменение одного бита на входе S-блока должно приводить к изменению по крайней мере двух битов на выходе.
* Для каждого S-блока и любого аргумента х значение S(x) и должны различаться по крайней мере двумя битами.
Из-за небольшого числа возможных ключей (всего ), появляется возможность их полного перебора на быстродействующей вычислительной технике за реальное время. В 1998 году Electronic Frontier Foundation используя специальный компьютер DES-Cracker, удалось взломать DES за 3 дня.
14. Алгоритмы вычисления функции шифрования f и ключей для DES.
Основная функция шифрования (функция Фейстеля)
Аргументами функции f являются 32-битовый вектор и 48-битовый ключ ki, который является результатом преобразования 56-битового исходного ключа шифра k.
Для вычисления функции f используются функция расширения Е, преобразование S, состоящее из 8 преобразований S-блоков , и перестановка P.
Функция Е расширяет 32-битовый вектор до 48-битового вектора путём дублирования некоторых битов из ; при этом порядок битов вектора указан в таблице 2.
Таблица 2. Функция расширения E3212345456789891011121312131415161716171819202120212223242524252627282928293031321Первые три бита вектора являются битами 32, 1, 2 вектора . По таблице 2 видно, что биты 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 дублируются. Последние 3 бита вектора - это биты 31, 32, 1 вектора . Полученный после перестановки блок складывается по модулю 2 с ключами и затем представляется в виде восьми последовательных блоков .
Каждый является 6-битовым блоком. Далее каждый из блоков трансформируется в 4-битовый блок с помощью преобразований . Преобразования определяются таблицей 3.
(таблицы с S перестановками)
Предположим, что , и мы хотим найти . Первый и последний разряды являются двоичной записью числа а, 0<=a<=3, средние 4 разряда представляют число b, 0<=b<=15. Строки таблицы S3 нумеруются от 0 до 3, столбцы таблицы S3 нумеруются от 0 до 15. Пара чисел (а, b) определяет число, находящееся в пересечении строки а и столбца b. Двоичное представление этого числа дает . В нашем случае , , а число, определяемое парой (3,7), равно 7. Его двоичное представление =0111.
Значение функции (32 бит) получается перестановкой Р, применяемой к 32-битовому блоку . Перестановка Р задана таблицей 4.
Таблица 4. Перестановка P1672021291228171152326518311028241432273919133062211425
Согласно таблице 4, первые четыре бита результирующего вектора после действия функции f - это биты 16, 7, 20, 21 вектора Генерирование ключей Ключи получаются из начального ключа k (64 бит = 8 байтов или 8 символов в ASCII) таким образом. Восемь битов, находящихся в позициях 8, 16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким образом чтобы каждый байт содержал нечетное число единиц. Это используется для обнаружения ошибок при обмене и хранении ключей. Затем делают перестановку для расширенного ключа (кроме добавляемых битов 8, 16, 24, 32, 40, 48, 56, 64). Такая перестановка определена в таблице 5.
Таблица 5.57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124Эта перестановка определяется двумя блоками и по 28 бит каждый. Первые 3 бита есть биты 57, 49, 41 расширенного ключа. А первые три бита есть биты 63, 55, 47 расширенного ключа. i=1,2,3...получаются из одним или двумя левыми циклическими сдвигами согласно таблице 6.
Таблица 6.i12345678910111213141516Число сдвига1122222212222221Ключ , i=1,...16 состоит из 48 бит, выбранных из битов вектора (56 бит) согласно таблице 7. Первый и второй биты есть биты 14, 17 вектора Таблица 7.1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932Конечная перестановка
Конечная перестановка действует на и используется для восстановления позиции. Она является обратной к перестановке IP. Конечная перестановка определяется таблицей 8.
Таблица 8. Обратная перестановка 40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725 15. Режимы работы алгоритма DES, области их применения, достоинства и недостатки. Для наиболее полного удовлетворения всем требованиям, предъявляемым к коммерческим системам шифрования, реализованы несколько режимов работы алгоритма DES. Наиболее широкое распространение получили режимы:
* электронный шифроблокнот (Electronic Codebook ) - ECB;
* цепочка цифровых блоков (Cipher Block Chaining) - CBC;
* цифровая обратная связь (Cipher Feedback) - CFB;
* внешняя обратная связь (Output Feedback) - OFB.
DES-ECB
В этом режиме исходный файл M разбивается на 64-битовые блоки (по 8 байтов): M = M(1)M(2)...M(n). Каждый из этих блоков кодируется независимо с использованием одного и того же ключа шифрования (рис.5). Основное достоинство этого алгоритма - простота реализации. Недостаток - относительно слабая устойчивость против квалифицированных криптоаналитиков.
В частности, не рекомендуется использовать данный режим работы для шифрования EXE файлов, потому что первый же блок - заголовок файла, является вполне удачным началом для взлома всего шифра. В то же время следует признать, что этот режим в силу своей простой реализации наиболее популярен среди любительских разработок.
DES-CBC
В этом режиме исходный файл M также, как и в режиме ECB, разбивается на 64-битовые блоки: M = M(1)M(2)...M(n). Первый блок M(1) складывается по модулю 2 с 64-битовым начальным вектором IV, который меняется ежедневно и держится в секрете. Полученная сумма затем шифруется с использованием ключа DES, известного и отправителю, и получателю информации. Полученный 64-битовый блок шифртекста C(1) складывается по модулю 2 со вторым блоком исходного текста, результат шифруется и получается второй 64-битовый блок шифртекста C(2) и т.д. Процедура повторяется до тех пор, пока не будут обработаны все блоки исходного текста
Таким образом для всех i = 1...n блок шифртекста C(i) определяется следующим образом:
C(i) = DES(M(i) xor C(i-1)), C(0) = IV - начальное значение шифра, равное начальному вектору. Расшифрование выполняется следующим образом:
M(i) = C(i-1) xor DES-1(C(i)), C(0) = IV - начальное значение шифра, равное начальному вектору. Прелесть данного режима состоит в том, что он не позволяет накапливаться ошибкам при передаче. Блок M(i) является функцией только C(i-1) и C(i). Поэтому ошибка при передаче приведет к потере только двух блоков исходного текста.
DES-CFB В этом режиме размер блока может отличаться от 64. Исходный файл M считывается последовательными t-битовыми блоками (t <= 64): M = M(1)M(2)...M(n) (остаток дописывается нулями или пробелами).
64-битовый сдвиговый регистр (входной блок) вначале содержит вектор инициализации IV, выравненный по правому краю. Для каждого сеанса шифрования используется новый IV.
Для всех i = 1...n блок шифртекста C(i) определяется следующим образом:
C(i) = M(i) xor P(i-1) ,
где P(i-1) - старшие t битов операции DES(С(i-1)), причем C(0)=IV.
Обновление сдвигового регистра осуществляется путем удаления его старших t битов и дописывания справа C(i).
Восстановление зашифрованных данных также не представляет труда: P(i-1) и C(i) вычисляются аналогичным образом и M(i) = C(i) xor P(i-1) .
DES-OFB Режим OFB очень похож на режим CFB.
Отличие от режима CFB состоит только в методе обновления сдвигового регистра. В данном случае это осуществляется путем удаления его старших t битов и дописывания справа P(i-1)
Каждому из рассмотренных режимов свойственны свои достоинства и недостатки, что обусловливает области их применения.
Режим ECB хорошо подходит для шифрования ключей. Режимы CBC и CFB пригодны для аутентификации данных. Режим CFB, кроме того, предназначен для шифрования отдельных символов. Режим OFB нередко используется в спутниковых системах связи.
16. Схема симметричного блочного алгоритма в режиме сцепления блоков шифра (CBC).
В этом режиме исходный файл M также, как и в режиме ECB, разбивается на 64-битовые блоки: M = M(1)M(2)...M(n). Первый блок M(1) складывается по модулю 2 с 64-битовым начальным вектором IV, который меняется ежедневно и держится в секрете. Полученная сумма затем шифруется с использованием ключа DES, известного и отправителю, и получателю информации. Полученный 64-битовый блок шифртекста C(1) складывается по модулю 2 со вторым блоком исходного текста, результат шифруется и получается второй 64-битовый блок шифртекста C(2) и т.д. Процедура повторяется до тех пор, пока не будут обработаны все блоки исходного текста (рис.6).
Рис.6. Работа алгоритма в режиме CBC
Таким образом для всех i = 1...n блок шифртекста C(i) определяется следующим образом:
C(i) = DES(M(i) xor C(i-1)),
C(0) = IV - начальное значение шифра, равное начальному вектору. Расшифрование выполняется следующим образом:
M(i) = C(i-1) xor DES-1(C(i)),
C(0) = IV - начальное значение шифра, равное начальному вектору. Прелесть данного режима состоит в том, что он не позволяет накапливаться ошибкам при передаче. Блок M(i) является функцией только C(i-1) и C(i). Поэтому ошибка при передаче приведет к потере только двух блоков исходного текста.
17. Схема симметричного блочного алгоритма в режиме обратной связи по шифртексту (CFB).
В этом режиме размер блока может отличаться от 64. Исходный файл M считывается последовательными t-битовыми блоками (t <= 64): M = M(1)M(2)...M(n) (остаток дописывается нулями или пробелами).
64-битовый сдвиговый регистр (входной блок) вначале содержит вектор инициализации IV, выравненный по правому краю. Для каждого сеанса шифрования используется новый IV.
Для всех i = 1...n блок шифртекста C(i) определяется следующим образом:
C(i) = M(i) xor P(i-1) ,
где P(i-1) - старшие t битов операции DES(С(i-1)), причем C(0)=IV.
Обновление сдвигового регистра осуществляется путем удаления его старших t битов и дописывания справа C(i).
Восстановление зашифрованных данных также не представляет труда: P(i-1) и C(i) вычисляются аналогичным образом и
M(i) = C(i) xor P(i-1) .
Блок-схема режима CFB приведена на рис.7.
Рис.7. Работа алгоритма DES в режиме CFB
18. Схема симметричного блочного алгоритма в режиме обратной связи по выходу (OFB).
Отличие от режима CFB состоит только в методе обновления сдвигового регистра. В данном случае это осуществляется путем удаления его старших t битов и дописывания справа P(i-1) (рис.8).
Рис.8. Блок-схема алгоритма DES в режиме OFB
19. Комбинирование блочных алгоритмов. Схемы двукратного и трехкратного шифрования и расшифрования.
В настоящее время блочный алгоритм DES считается относительно безопасным алгоритмом шифрования. Он подвергался тщательному криптоанализу в течение 20 лет, и самым практичным способом его взламывания является метод перебора всех возможных вариантов ключа. Ключ DES имеет длину 56 бит, поэтому существует 256 возможных вариантов такого ключа. Если предположить, что суперкомпьютер может испытать миллион вариантов ключа за секунду, то потребуется 2285 лет для нахождения правильного ключа. Если бы ключ имел длину 128 бит, то потребовалось бы 1025 лет (для сравнения: возраст Вселенной около 1010лет).
Нетрудно представить себе, что при постоянном прогрессе возможностей компьютерной техники недалеко то время, когда машины поиска ключа DES методом полного перебора станут экономичными для мощных в финансовом отношении государственных и коммерческих организаций.
Возникает естественный вопрос: нельзя ли использовать DES в качестве строительного блока для создания другого алгоритма с более длинным ключом?
В принципе существует много способов комбинирования блочных алгоритмов для получения новых алгоритмов. Одним из таких способов комбинирования является многократное шифрование,
т.е. использование блочного алгоритма несколько раз с разными ключами для шифрования одного и того же блока открытого текста. Двухкратное шифрование блока открытого текста одним и тем
же ключом не приводит к положительному результату. При использовании одного и того же алгоритма такое шифрование не влияет на сложность криптоаналитической атаки полного перебора.
Рассмотрим эффективность двухкратного шифрования блока открытого текста с помощью двух разных ключей. Сначала шифруют блок Р ключом K1 а затем получившийся шифртекст EK1(P)
шифруют ключом К2. В результате двухкратного шифрования получают криптограмму
C = EK2(EK1(P)). Расшифрование является обратным процессом:P = DK1(DK2(C)). Если блочный алгоритм обладает свойствами группы [125], то всегда найдется такой ключ К3, что С = ЕK2(ЕK1(Р))=ЕK3(Р). Если же блочный алгоритм не является группой, то результирующий двухкратно шифрованный блок текста окажется намного сложнее для взламывания методом полного перебора вариантов.
Вместо 2n попыток, где n-длина ключа в битах, потребуется 22n . попыток. В частности, если n = 64, то двухкратно зашифрованный блок текста потребует 2128 попыток для нахождения ключа.
Однако Р. Меркль и М. Хеллман показали на примере DES, что, используя метод "обмена времени на память" и криптоаналитическую атаку "встреча посредине", можно взломать такую схему двухкратного шифрования за 2n+1 попыток [34]. Хотя эта атака потребует очень большого объема памяти (для алгоритма с 56-битовым ключом потребуется 256 64-битовых блоков или 1017 бит памяти).
Более привлекательную идею предложил У. Тачмен [125]. Суть этой идеи состоит в том, чтобы шифровать блок открытого текста Р три раза с помощью двух ключей K1 и К2 (рис. 3.9). Процедура шифрования: C = EK1(DK2(EK1(P))), т.е. блок открытого текста Р сначала шифруется ключом K1, затем расшифровывается ключом К2 и окончательно зашифровывается ключом K1
.
Рис. 3.9. Схемы трехкратного применения алгоритма DES
с двумя разными ключами
Этот режим иногда называют режимом EDE (encrypt-decrypt- encrypt). Введение в данную схему операции расшифрования DK2 позволяет обеспечить совместимость этой схемы со схемой однократного использования алгоритма DES. Если в схеме трехкратного использования DES выбрать все ключи одинаковыми, то эта схема превращается в схему однократного использования DES. Процедура расшифрования выполняется в обратном порядке:
Р = DK1(ЕK2(DК1(С))),
т.е. блок шифртекста С сначала расшифровывается ключом K1, затем зашифровывается ключом К2 и окончательно расшифровывается ключом K1.
Если исходный блочный алгоритм имеет n-битовый ключ, то схема трехкратного шифрования имеет 2n-битовый ключ. Чередование ключей K1 и К2 позволяет предотвратить криптоаналитическую атаку "встреча посредине". Данная схема приводится в стандартах Х9.17 и ISO 8732 в качестве средства улучшения характеристик алгоритма DES.
При трехкратном шифровании можно применить три различных ключа. При этом возрастает общая длина результирующего ключа. Процедуры шифрования и расшифрования описываются выражениями:
С = ЕK3(DК2(ЕК1(Р))),
Р = DК1(ЕК2(DК3(С))).
Трехключевой вариант имеет еще большую стойкость. Очевидно, что если требуется повысить безопасность большого парка оборудования, использующего DES, то гораздо дешевле переключиться на схемы трехкратных DES, чем переходить на другой тип криптосхем.
20. Основы криптоалгоритма IDEA (длина ключа, последовательность шифрования, операции шифрования, получение подключей, криптостойкость). Из 128-битного ключа для каждого из восьми раундов шифрования генерируется по шесть 16-битных подключей, а для выходного преобразования генерируется четыре 16-битных подключа. Всего потребуется 52 = 8 × 6 + 4 различных подключей по 16 бит каждый. Процесс генерации пятидесяти двух 16-битных ключей заключается в следующем:
* Первым делом, 128-битный ключ разбивается на восемь 16-битных блоков. Это будут первые восемь подключей по 16 бит каждый - * Затем этот 128-битный ключ циклически сдвигается влево на 25 позиций, после чего новый 128-битный блок снова разбивается на восемь 16-битных блоков. Это уже следующие восемь подключей по 16 бит каждый - Процедура циклического сдвига и разбивки на блоки продолжается до тех пор, пока не будут сгенерированы все 52 16-битных подключа.
Процесс шифрования состоит из восьми одинаковых раундов шифрования и одного выходного преобразования. Исходный незашифрованный текст делится на блоки по 64 бита. Каждый такой блок делится на четыре подблока по 16 бит каждый. Обозначим эти подблоки как D1, D2, D3, D4. В каждом раунде используются свои подключи согласно таблице подключей. Над 16-битными подключами и подблоками незашифрованного текста производятся следующие операции:
* умножение по модулю 216 + 1 = 65537, причем вместо нуля используется 216;
* сложение по модулю 216;
* побитовое исключающее ИЛИ.
В конце каждого раунда шифрования имеется четыре 16-битных подблока, которые затем используются как входные подблоки для следующего раунда шифрования. Выходное преобразование представляет собой укороченный раунд, а именно, четыре 16-битных подблока на выходе восьмого раунда и четыре соответствующих подключа подвергаются операциям:
* умножение по модулю 216 + 1;
* сложение по модулю 216.
После выполнения выходного преобразования конкатенация подблоков , , и представляет собой зашифрованный текст. Затем берется следующий 64-битный блок незашифрованного текста и алгоритм шифрования повторяется. Так продолжается до тех пор, пока не зашифруются все 64-битные блоки исходного текста.
Математическое описание:
* Блок открытого текста размером 64 бит делится на четыре равных подблока размером по 16 бит:
* Для каждого раунда вычисляются:
Результатом выполнения восьми раундов будут следующие четыре подблока .
* Выполняется выходное преобразование (i=9):
Результатом выполнения выходного преобразования является зашифрованный текст Метод вычисления, использующийся для расшифровки текста по существу такой же, как и при его шифровании. Единственное отличие состоит в том, что для расшифровки используются другие подключи. В процессе расшифровки подключи должны использоваться в обратном порядке.
Последние два подключа i-го раунда расшифровки равны последним двум подключам (9-i)-го раунда шифрования. Мультипликативная инверсия подключа K обозначается 1/ K и (1 / K) * K = 1 mod (216 +1). Так как 216 + 1 - простое число, каждое целое не равное нулю K имеет уникальную мультипликативную инверсию по модулю 216 + 1. Аддитивная инверсия подключа K обозначается -K и -K + K = 0 mod (216) .
Таблица подключей для каждого раунда
Номер раундаПодключи12345678выходное преобразование 21. Основы криптоалгоритма ГОСТ 28147-89. Анализ режимов работы криптоалгоритма ГОСТ 28147-89. советский и российский стандарт симметричного шифрования, введённый в 1990 году, также является стандартом СНГ. Полное название - "ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования". Блочный шифроалгоритм. При использовании метода шифрования с гаммированием, может выполнять функции поточного шифроалгоритма.
ГОСТ 28147-89 - блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. Основа алгоритма шифра -сеть Фейстеля. Выделяют четыре режима работы ГОСТ 28147-89:
* простой замены; гаммирование; гаммирование с обратной связью; режим выработки имитовставки.
Достоинства ГОСТа
* бесперспективность силовой атаки (XSL-атаки в учёт не берутся, так как их эффективность на данный момент полностью не доказана);
* эффективность реализации и соответственно высокое быстродействие на современных компьютерах.
* наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа.
Криптоанализ
Считается,[5] что ГОСТ устойчив к таким широко применяемым методам, как линейный и дифференциальный криптоанализ. Обратный порядок использования ключей в последних восьми раундах обеспечивает защиту от атак скольжения(slide attack) и отражения(reflection attack). вид криптоанализа, который сводится к построению алгебраической целевой функции и нахождению ее экстремума. Были выделены классы слабых ключей, в частности показано, что разреженные ключи (со значительным преобладанием 0 или 1) являются слабыми. По мнению авторов, их метод в любом случае лучше, чем полный перебор, однако без численных оценок.
Режим простой замены
Режим простой замены имеет следующие недостатки:
* Может применяться только для шифрования открытых текстов с длиной, кратной 64 бит [1]
* При шифровании одинаковых блоков открытого текста получаются одинаковые блоки шифротекста, что может дать определенную информацию криптоаналитику.
Таким образом, применение ГОСТ 28147-89 в режиме простой замены желательно лишь для шифрования ключевых данных. [1]
Гаммирование
Особенность работы ГОСТ 28147-89 в режиме гаммирования заключается в том, что при изменении одного бита шифротекста изменяется только один бит расшифрованного текста. С одной стороны, это может оказывать положительное влияние на помехозащищенность; с другой - злоумышленник может внести некоторые изменения в текст, даже не расшифровывая его.[1]
Гаммирование с обратной связью
При изменении одного бита шифротекста, полученного с использованием алгоритма гаммирования с обратной связью, в соответствующем блоке расшифрованного текста меняется только один бит, а следующий и все остальные блоки меняются полностью непредсказуемо.
Режим выработки имитовставки
Этот режим не является в общепринятом смысле режимом шифрования. При работе в режиме выработки имитовставки создается некоторый дополнительный блок, зависящий от всего текста и ключевых данных. Данный блок используется для проверки того, что в шифротекст случайно или преднамеренно не были внесены искажения. Это особенно важно для шифрования в режиме гаммирования, где злоумышленник может изменить конкретные биты, даже не зная ключа; однако и при работе в других режимах вероятные искажения нельзя обнаружить, если в передаваемых данных нет избыточной информации.
22. Схема алгоритма ГОСТ 28147-89 в режиме простой замены. Для зашифрования в этом режиме 64-битный блок открытого текста сначала разбивается на две половины (младшие биты - A, старшие биты - B[2]). На i-ом цикле используется подключ Ki:
( = двоичное "исключающее или")
Для генерации подключей исходный 256-битный ключ разбивается на восемь 32-битных блоков: K1...K8. Ключи K9...K24 являются циклическим повторением ключей K1...K8 (нумеруются от младших битов к старшим). Ключи K25...K32 являются ключами K8...K1.
После выполнения всех 32 раундов алгоритма, блоки A33 и B33 склеиваются (обратите внимание, что старшим битом становится A33, а младшим - B33) - результат есть результат работы алгоритма. Расшифрование выполняется так же, как и зашифрование, но инвертируется порядок подключей Ki.
Функция вычисляется следующим образом:
Ai и Ki складываются по модулю 232. Результат разбивается на восемь 4-битовых подпоследовательностей, каждая из которых поступает на вход своего узла таблицы замен (в порядке возрастания старшинства битов), называемого ниже S-блоком. Общее количество S-блоков ГОСТа - восемь, то есть столько же, сколько и подпоследовательностей. Каждый S-блок представляет собой перестановку чисел от 0 до 15 (конкретный вид S-блоков в стандарте не определен). Первая 4-битная подпоследовательность попадает на вход первого S-блока, вторая - на вход второго и т. д.
Если S-блок выглядит так:
1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12
и на входе S-блока 0, то на выходе будет 1, если 4, то на выходе будет 5, если на входе 12, то на выходе 6 и т. д.
Выходы всех восьми S-блоков объединяются в 32-битное слово, затем всё слово циклически сдвигается влево (к старшим разрядам) на 11 битов.
Режим простой замены имеет следующие недостатки:
* Может применяться только для шифрования открытых текстов с длиной, кратной 64 бит [1]
* При шифровании одинаковых блоков открытого текста получаются одинаковые блоки шифротекста, что может дать определенную информацию криптоаналитику.
Таким образом, применение ГОСТ 28147-89 в режиме простой замены желательно лишь для шифрования ключевых данных. [1]
23. Схема алгоритма ГОСТ 28147-89 в режиме гаммирования с обратной связью.
Алгоритм шифрования похож на режим гаммирования, однако гамма формируется на основе предыдущего блока зашифрованных данных, так что результат шифрования текущего блока зависит также и от предыдущих блоков. По этой причине данный режим работы также называют гаммированием с зацеплением блоков.
Алгоритм шифрования следующий:
1. Синхропосылка заносится в регистры N1 и N2
2. Содержимое регистров N1 и N2 шифруется в соответствии с алгоритмом простой замены. Полученный результат является 64-битным блоком гаммы.
3. Блок гаммы побитово складывается по модулю 2 с блоком открытого текста. Полученный шифротекст заносится в регистры N1 и N2
4. Операции 2-3 выполняются для оставшихся блоков требующего шифрования текста.
При изменении одного бита шифротекста, полученного с использованием алгоритма гаммирования с обратной связью, в соответствующем блоке расшифрованного текста меняется только один бит, а следующий и все остальные блоки меняются полностью непредсказуемо.[1]
24. Схема алгоритма ГОСТ 28147-89 в режиме гаммирования.
При работе ГОСТ 28147-89 в режиме гаммирования описанным ниже образом формируется криптографическая гамма, которая затем побитово складывается по модулю 2 с исходным открытым текстом для получения шифротекста. Шифрование в режиме гаммирования лишено недостатков, присущих режиму простой замены.[1] Так, даже идентичные блоки исходного текста дают разный шифротекст, а для текстов с длиной, не кратной 64 бит, "лишние" биты гаммы отбрасываются. Кроме того, гамма может быть выработана заранее, что соответствует работе шифра в поточном режиме.
Выработка гаммы происходит на основе ключа и так называемой синхропосылки, которая задает начальное состояние генератора. Алгоритм выработки следующий:
1. Синхропосылка шифруется с использованием описанного алгоритма простой замены, полученные значения записываются во вспомогательные 32-разрядные регистры N3 и N4 - младшие и старшие биты соответственно.
2. К N3 и N4 прибавляются константы соответственно C2 = 101010116 и C1 = 101010416
3. N3 и N4 переписываются соответственно в N1 и N2, которые затем шифруются с использованием алгоритма простой замены. Полученный результат является 64 битами гаммы.
4. Шаги 2-4 повторяются в соответствии с длиной шифруемого текста.
Для расшифрования необходимо выработать такую же гамму, после чего побитово сложить ее по модулю 2 с зашифрованным текстом. Очевидно, для этого нужно использовать ту же синхропосылку, что и при шифровании. При этом, исходя из требований уникальности гаммы, нельзя использовать одну синхропосылку для шифрования нескольких массивов данных. Как правило, синхропосылка тем или иным образом передается вместе с шифротекстом.
Особенность работы ГОСТ 28147-89 в режиме гаммирования заключается в том, что при изменении одного бита шифротекста изменяется только один бит расшифрованного текста. С одной стороны, это может оказывать положительное влияние на помехозащищенность; с другой - злоумышленник может внести некоторые изменения в текст, даже не расшифровывая его.[1]
25. Понятие имитозащиты и имитовставки. Режим выработки имитовставки алгоритма ГОСТ 28147-89.
Имитозащита - защита системы шифровальной связи или другой криптосистемы от навязывания ложных данных. Реализуется с помощью добавления к сообщению дополнительного кода,имитовставки, MAC, зависящей от содержания сообщения и секретного элемента, известного только отправителю и получателю (ключа). Закладка избыточности позволяет обнаружить внесённые в сообщение несанкционированные изменения.
Имитовста́вка (MAC, англ. message authentication code - код аутентичности сообщения) - средство обеспечения имитозащиты в протоколах аутентификации сообщений с доверяющими друг другу участниками - специальный набор символов, который добавляется к сообщению и предназначен для обеспечения его целостности и аутентификации источника данных.
MAC обычно применяется для обеспечения целостности и защиты от фальсификации передаваемой информации.
Этот режим не является в общепринятом смысле режимом шифрования. При работе в режиме выработки имитовставки создается некоторый дополнительный блок, зависящий от всего текста и ключевых данных. Данный блок используется для проверки того, что в шифротекст случайно или преднамеренно не были внесены искажения. Это особенно важно для шифрования в режиме гаммирования, где злоумышленник может изменить конкретные биты, даже не зная ключа; однако и при работе в других режимах вероятные искажения нельзя обнаружить, если в передаваемых данных нет избыточной информации.
Имитовставка вырабатывается для M ≥ 2 блоков открытого текста по 64 бит. Алгоритм следующий:
1. Блок открытых данных записывается в регистры N1 и N2, после чего подвергается преобразованию, соответствующему первым 16 циклам шифрования в режиме простой замены
2. К полученному результату побитово по модулю 2 прибавляется следующий блок открытых данных. Последний блок при необходимости дополняется нулями. Сумма также шифруется в соответствии с пунктом 1.
3. После добавления и шифрования последнего блока из результата выбирается имитовставка длиной L бит: с бита номер 32-L до 32(отсчет начинается с 1). Стандарт рекомендует выбирать L исходя из того, что вероятность навязывания ложных данных равна 2-L. Имитовставка передается по каналу связи после зашифрованных блоков.
Для проверки принимающая сторона после расшифрования текста проводит аналогичную описанной процедуру. В случае несовпадения результата с переданной имитовставкой все соответствующие M блоков считаются ложными.
Следует отметить, что выработка имитовставки может проводиться параллельно шифрованию с использованием одного из описанных выше режимов работы.[1]
26. Основы стандарта AES (длины ключей, размер блока, последовательность шифрования, операции шифрования, криптостойкость). AES [1] представляет собой алгоритм шифрования 128-битных блоков данных клю-
чами по 128, 192 и 256 бит. AES является упрощенной версией алгоритма Rijndael [2].
Blockпоследовательность бит, из которых состоит input, output, State и Round Key. Также под Block можно понимать последовательность байтCipher Keyсекретный, криптографический ключ, который используется Key Expansion процедурой, чтобы произвести набор ключей для раундов(Round Keys); может быть представлен как прямоугольный массив байтов, имеющий четыре строки и Nk колонок.Ciphertextвыходные данные алгоритма шифрованияKey Expansionпроцедура используемая для генерации Round Keys из Cipher KeyRound KeyRound Keys получаются из Cipher Key используя процедуру Key Expansion. Они применяются к State при шифровании и расшифрованииStateпромежуточный результат шифрования, который может быть представлен как прямоугольный массив байтов имеющий 4 строки и Nb колонокS-boxнелинейная таблица замен, использующаяся в нескольких трансформациях замены байт и в процедуре Key Expansion для взаимнооднозначной замены значения байта. Предварительно рассчитанный S-box можно увидеть ниже.Nbчисло столбцов(32-х битных слов), составляющих State. Для AES, Nb = 4Nkчисло 32-х битных слов, составляющих шифроключ. Для AES, Nk = 4,6, или 8Nrчисло раундов, которое является функцией Nk и Nb. Для AES, Nr = 10, 12, 14Rcon[]массив, который состоит из битов 32-х разрядного слова и является постоянным для данного раунда. Предварительно рассчитанный Rcon[] можно увидеть ниже. Для шифрования в алгоритме AES применяются следующие процедуры преобразо-
вания данных:
1. ExpandKey - Вычисление раундных ключей для всех раундов.
2. SubBytes - Подстановка байтов с помощью таблицы подстановок;
3. ShiftRows - Циклический сдвиг строк в форме на различные величины;
4. MixColumns - Смешивание данных внутри каждого столбца формы;
5. AddRoundKey - Сложение ключа раунда с формой.
Порядок выполнения процедур 2 и 3 можно поменять местами в силу опеределения
этих операций.
Процедуры 4 и 5 тоже можно выполнять в разном порядке, но при этом изменяется
количество их вызовов, поскольку MixColumns(AddRoundKey(A, B)) =
AddRoundKey(MixColumns(A), MixColumns(B)).
Шифрование производится по алгоритму, приведенному на Риc. 1.
AES является стандартом, основанным на алгоритме Rijndael. Для AES длина input(блока входных данных) и State(состояния) постоянна и равна 128 бит, а длина шифроключа K составляет 128, 192, или 256 бит. При этом, исходный алгоритм Rijndael допускает длину ключа и размер блока от 128 до 256 бит с шагом в 32 бита. Для обозначения выбранных длин input, State и Cipher Key в байтах используется нотация Nb = 4 для input и State, Nk = 4, 6, 8 для Cipher Key соответственно для разных длин ключей.
В начале шифрования input копируется в массив State по правилу , для и . После этого к State применяется процедура AddRoundKey() и затем State проходит через процедуру трансформации (раунд) 10, 12, или 14 раз (в зависимости от длины ключа), при этом надо учесть, что последний раунд несколько отличается от предыдущих. В итоге, после завершения последнего раунда трансформации, State копируется в output по правилу , для и .
Отдельные трансформации SubBytes(), ShiftRows(), MixColumns(), и AddRoundKey() - обрабатывают State. Массив w[] - содержит key schedule.
Преобразование SubBytes заключается в замене каждого байта {xy} формы (где x и y обозначают шестнадцатиричные цифры) на другой в соответствии с Табл. 3.
Преобразование ShiftRows заключается в циклическом сдвиге влево строк формы.
Преобразование схематично представлено на Риc. 2. Первая строка остается неизменной.
Во второй производится сдвиг на 1 байт, то есть первый байт переносится в конец. В третьей ― сдвиг на 2 байта, в четветрой ― на 3.
Преобразование MixColumns заключается в умножении квадратной матрицы 4-го
порядка на каждый столбец формы.
В преобразовании AddRoundKey 32-битные слова раундного ключа прибавляются
к столбцам формы с помощью побитовой операцииXOR.
В алгоритме AES генерируются раундные ключи на основе ключа шифрования с
помощью процедуры ExpandKey. Процедура ExpandKey создает Nb * (Nr + 1) слов: алгоритму требуется начальный ключ размером Nb, плюс каждый из Nr раундов требует ключ из Nb слов.
При дешифровании все преобразования производятся в обратном порядке. Используются следующие обратные преобразования вместо соответствующих шифрующих:
• InvSubBytes ― Подстановка байтов с помощью обратной таблицы подстановок;
• InvShiftRows ― Циклический сдвиг строк в форме на различные величины;
• InvMixColumns ― Смешивание данных внутри каждого столбца формы;
Криптостойкость
В июне 2003 года Агентство национальной безопасности США постановило, что шифр AES является достаточно надёжным, чтобы использовать его для защиты сведений, составляющих государственную тайну (англ. classified information). Вплоть до уровня SECRET было разрешено использовать ключи длиной 128 бит, для уровня TOP SECRET требовались ключи длиной 192 и 256 бит[7].
27. Понятия и сравнительный анализ блочных и поточных шифров.
Блочный шифр - разновидность симметричного шифра [1] , оперирующего группами бит фиксированной длины - блоками, характерный размер которых меняется в пределах 64 - 256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют. Фактически, блочный шифр представляет собой подстановку на алфавите блоков, которая, как следствие, может быть моно- или полиалфавитной. [2] Блочный шифр является важной компонентой многихкриптографических протоколов и широко используется для защиты данных, передаваемых по сети. Блочный шифр способен зашифровать одним ключом одно или несколько сообщений, суммарной длиной больше, чем длина ключа. Передача малого по сравнению с сообщением ключа по зашифрованному каналу - задача значительно простая и быстрая, чем передача самого сообщения или ключа такой же длины, что делает возможным его повседневное использование. Однако, при этом шифр перестает быть невзламываемым. От поточных шифров работа блочного отличается обработкой бит группами, а не потоком. блочные надёжней, но медленее поточных.
Пото́чный шифр - это симметричный шифр, в котором каждый символ открытого текста преобразуется в символ шифрованного текста в зависимости не только от используемого ключа, но и от его расположения в потоке открытого текста. Поточный шифр реализует другой подход к симметричному шифрованию, нежели блочные шифры. Синхронные поточные шифры (СПШ) - шифры, в которых поток ключей генерируется независимо от открытого текста и шифротекста.
Самосинхронизирующиеся поточные шифры (асинхронные поточные шифры (АПШ)) - шифры, в которых поток ключей создаётся функцией ключа и фиксированного числа знаков шифротекста.
Большинство существующих шифров с секретным ключом однозначно могут быть отнесены либо к поточным, либо к блочным шифрам. Но теоретическая граница между ними является довольно размытой. Например, используются алгоритмы блочного шифрования в режиме поточного шифрования (пример: для алгоритма DES режимы CFB и OFB).
Рассмотрим основные различия между поточными и блочными шифрами не только в аспектах их безопасности и удобства, но и с точки зрения их изучения в мире:
* важнейшим достоинством поточных шифров перед блочными является высокая скорость шифрования, соизмеримая со скоростью поступления входной информации; поэтому, обеспечивается шифрование практически в реальном масштабе времени вне зависимости от объема и разрядности потока преобразуемых данных.
* в синхронных поточных шифрах (в отличие от блочных) отсутствует эффект размножения ошибок, то есть число искаженных элементов в расшифрованной последовательности равно числу искаженных элементов зашифрованной последовательности, пришедшей из канала связи.
* структура поточного ключа может иметь уязвимые места, которые дают возможность криптоаналитику получить дополнительную информацию о ключе (например, при малом периоде ключа криптоаналитик может использовать найденные части поточного ключа для дешифрования последующего закрытого текста).
* ПШ в отличие от БШ часто могут быть атакованы при помощи линейной алгебры (выходы отдельных регистров сдвига с обратной линейной связью могут иметь корреляцию с гаммой). для взлома поточных шифров успешно применяется линейный и дифференциальный анализ.
* в большинстве работ по анализу и взлому блочных шифров рассматриваются алгоритмы шифрования, основанные на стандарте DES; для поточных же шифров нет выделенного направления изучения; методы взлома ПШ весьма разнообразны.
* для поточных шифров установлен набор требований- критериями надёжности (большие периоды выходных последовательностей, постулаты Голомба, нелинейность); для БШ таких чётких критериев нет.
* исследованием и разработкой поточных шифров в основном занимаются европейские криптографические центры, блочных - американские.
* исследование поточных шифров происходит более динамично, чем блочных; в последнее время не было сделано никаких заметных открытий в сфере DES-алгоритмов, в то время как в области поточных шифров случилось множество успехов и неудач (некоторые схемы, казавшиеся стойкими, при дальнейшем исследовании не оправдали надежд изобретателей).
28. Схема ассиметричной криптосистемы с открытым ключом. Требования, предъявляемые к асимметричным криптосистемам.
Асимметричные криптографические системы были разработаны в 1970-х гг. Принципиальное отличие асимметричной криптосистемы от криптосистемы симметричного шифрования состоит в том, что для шифрования информации и ее последующего расшифровывания используются различные ключи:
• открытый ключ К используется для шифрования информации, вычисляется из секретного ключа к;
• секретный ключ к используется для расшифровывания информации, зашифрованной с помощью парного ему открытого ключа К.
Эти ключи различаются таким образом, что с помощью вычислений нельзя вывести секретный ключ к из открытого ключа К. Поэтому открытый ключ К может свободно передаваться по каналам связи.
Асимметричные системы называют также двухключевыми криптографическими системами, или криптосистемами с открытым ключом.
Обобщенная схема асимметричной криптосистемы шифрования с открытым ключом показана на рис. 5.3.
Для криптографического закрытия и последующего расшифровывания передаваемой информации используются открытый и секретный ключи получателя В сообщения.
В качестве ключа зашифровывания должен использоваться открытый ключ получателя, а в качестве ключа расшифровывания - его секретный ключ.
Секретный и открытый ключи генерируются попарно. Секретный ключ должен оставаться у его владельца и быть надежно защищен от НСД (аналогично ключу шифрования в симметричных алгоритмах). Копия открытого ключа должна находиться у каждого абонента криптографической сети, с которым обменивается информацией владелец секретного ключа.
Процесс передачи зашифрованной информации в асимметричной криптосистеме осуществляется следующим образом.
Подготовительный этап:
• абонент В генерирует пару ключей: секретный ключ кв и открытый ключ Кв;
• открытый ключ Кв посылается абоненту А и остальным абонентам (или делается доступным, например на разделяемом ресурсе).
Использование - обмен информацией между абонентами А и В:
• абонент А зашифровывает сообщение с помощью открытого ключа Кв абонента В и отправляет шифртекст абоненту В;
• абонент В расшифровывает сообщение с помощью своего секретного ключа кв. Никто другой (в том числе абонент А) не может расшифровать данное сообщение, так как не имеет секретного ключа абонента В. Защита информации в асимметричной криптосистеме основана на секретности ключа кв получателя сообщения.
Характерные особенности асимметричных криптосистем:
• открытый ключ Кв и криптограмма С могут быть отправлены по незащищенным каналам, т. е. противнику известны Кв и С;
• алгоритмы шифрования и расшифровывания: Ев : М → С; DB : С → М являются открытыми.
У. Диффи и М. Хеллман сформулировали требования, выполнение которых обеспечивает безопасность асимметричной криптосистемы.
1. Вычисление пары ключей (Кв, кв) получателем В должно быть простым.
2. Отправитель А, зная открытый ключ Кв и сообщение М, может легко вычислить криптограмму С=ЕКв(М).
3. Получатель В, используя секретный ключ кв и криптограмму С, может легко восстановить исходное сообщение М=Окя(С).
4. Противник, зная открытый ключ Кв, при попытке вычислить секретный ключ кв наталкивается на непреодолимую вычислительную проблему.
5. Противник, зная пару (Кв, С), при попытке вычислить исходное сообщение М наталкивается на непреодолимую вычислительную проблему.
Концепция асимметричных криптографических систем с открытым ключом основана на применении однонаправленных функций. Однонаправленной функцией называется функция F(X), обладающая двумя свойствами:
• существует алгоритм вычисления значений функции Y= F(X);
• не существует эффективного алгоритма обращения (инвертирования) функции F (т. е. не существует решения уравнения F(X) = Y относительно X).
В качестве примера однонаправленной функции можно указать целочисленное умножение. Прямая задача - вычисление произведения двух очень больших целых чисел Р и Q, т. е. нахождение значения N = P × Q - относительно несложная задача для компьютера.
Обратная задача - факторизация, или разложение на множители большого целого числа, т. е. нахождение делителей Р и Qбольшого целого числа N = Р × Q, - является практически неразрешимой при достаточно больших значениях N.
Другой характерный пример однонаправленной функции - это модульная экспонента с фиксированными основанием и модулем.
29. Основные виды однонаправленных функций и принципы их использования в асимметричных криптосистемах.
Однонаправленной называется такая функция , для которой легко определить значение функции , но практически невозможно отыскать для заданного такое , что .
Для построения криптографических систем защиты информации чаще используются однонаправленные функции, для которых обратное преобразование существует и однозначно, но вычислительно нереализуемо. Они называются вычислительно необратимыми функциями.
Односторонняя функция с потайным входом (англ. trapdoor function) - это функция, которая легко вычисляется в одном направлении, но трудно вычисляется в обратном без специальной информации (секрета), называемой "лазейкой" или "потайным входом". Односторонние функции с потайным входом широко используются в криптографии.
Односторонние функции с потайным входом, допускающие потери
1. Повторяют работу обычной односторонней функции с потайным входом, то есть при наличии "лазейки" позволяет эффективно вычислить x по значению F(x).
2. Теряют часть информации о входе, тогда у выхода F(x) существует много прообразов.
Основная особенность в том, что эти два свойства становятся фактически неразличимыми[6]. Зная только зашифрованное сообщение F(x), ни один криптоаналитик не может сказать, какая функция была использована - с потерями или без.
Односторонние функции с потайным входом, допускающие потери применяются во многих схемах шифрования. В их число входят: детерминированное шифрование с открытым ключом, защита от атак выборочного открытого текста и другие. Также эти функции могут использоваться в псевднослучайных генераторах[7].
Односторонние функции с потайным входом "Все, кроме одного"
Для исследований атак, проводимых на основе подобранного шифротекста, были введены односторонние функции с потайным входом "Все, кроме одного"[8].
Каждая функция имеет дополнительный аргумент, называемый ветвью. Все ветви являеются односторонними функциями с потайным входом с одной "лазейкой", за исключением одной - которая является ветвью с потерями. Данная ветвь определяется как параметр функции, причём его значение - скрыто (с точки зрения вычисления) описанием полученной функции.
Применение односторонних функций с потайным входом
RSA
Возьмем число , где и принадлежат множеству простых чисел. Считается, что для данного числа вычисление и является математически трудной задачей. Функция шифрования RSA - , где - взаимнопростое с . Числа и являются потайным входом, зная которые вычислить обратную функцию легко. На сегодняшний день лучшей атакой на RSA является факторизация числа [9][10].
Функция Рабина
Рассмотрим функцию , где , а p и q принадлежат множеству простых чисел. Рабин показал, что вычислить функцию легко тогда и только тогда, когда разложение на множители составного числа из двух простых является простой задачей[11].
Схема Эль-Гамаля
Данная схема была предложена Тахером Эль-Гамалем в 1984 году. Она основывается на задаче дискретного логарифмирования[12].
Алгоритм
1. Алиса выбирает простое чисто p и произвольное число a.
2. Алиса вычисляет свой открытый ключ (а, b), где , 3. Боб выбирает и шифрует сообщение m: 4. Алиса расшифровывает сообщение 30. Алгоритм шифрования RSA.
RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) - криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел.
В основу криптографической системы с открытым ключом RSA положена сложность задачи факторизации произведения двух больших простых чисел. Для шифрования используется операция возведения в степень по модулю большого числа. Для дешифрования за разумное время (обратной операции) необходимо уметь вычислять функцию Эйлера от данного большого числа, для чего необходимо знать разложения числа на простые множители.
В криптографической системе с открытым ключом каждый участник располагает как открытым ключом, так и закрытым ключом. В криптографической системе RSA каждый ключ состоит из пары целых чисел. Каждый участник создаёт свой открытый и закрытый ключ самостоятельно. Закрытый ключ каждый из них держит в секрете, а открытые ключи можно сообщать кому угодно или даже публиковать их. Открытый и закрытый ключи каждого участника обмена сообщениями в криптосистеме RSA образуют "согласованную пару" в том смысле, что они являются взаимно обратными, то есть:
* сообщения , где - множество допустимых сообщений;
* допустимых открытого и закрытого ключей и ;
* соответствующие функции шифрования и расшифрования , такие что
RSA-ключи генерируются следующим образом:
1. Выбираются два различных случайных простых числа и заданного размера (например, 1024 бита каждое).
2. Вычисляется их произведение , которое называется модулем.
3. Вычисляется значение функции Эйлера от числа :
4. Выбирается целое число (), взаимно простое со значением функции . Обычно в качестве берут простые числа, содержащие небольшое количество единичных бит в двоичной записи, например, простые числа Ферма 17, 257 или 65537.
* Число называется открытой экспонентой; * Время, необходимое для шифрования с использованием быстрого возведения в степень, пропорционально числу единичных бит в .
* Слишком малые значения , например 3, потенциально могут ослабить безопасность схемы RSA. 5. Вычисляется число , мультипликативно обратное к числу по модулю , то есть число, удовлетворяющее условию:
Число называется секретной экспонентой. Обычно, оно вычисляется при помощи расширенного алгоритма Евклида.
6. Пара публикуется в качестве открытого ключа RSA.
7. Пара играет роль закрытого ключа RSA и держится в секрете.
Предположим, отправитель хочет послать получателю сообщение m.
Сообщениями являются целые числа в интервале от до , т.е .
Шифрование:
* Взять открытый ключ получателя;
* Взять открытый текст ;
* Зашифровать сообщение с использованием открытого ключа:
Дешифрование:
* Принять зашифрованное сообщение * Взять свой закрытый ключ * Применить закрытый ключ для расшифрования сообщения:
31. Алгоритм шифрования Эль Гамаля. Отличительные особенности от RSA.
Схема Эль-Гамаля (Elgamal) - криптосистема с открытым ключом,основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи. Схема Эль-Гамаля лежит в основе стандартов электронной цифровой подписи в США (DSA) и России (ГОСТ Р 34.10-94).
Генерация ключей
1. Генерируется случайное простое число длины битов.
2. Выбирается случайный примитивный элемент поля .
3. Выбирается случайное целое число такое, что .
4. Вычисляется .
5. Открытым ключом является тройка , закрытым ключом - число .
Работа в режиме шифрования
Шифросистема Эль-Гамаля является фактически одним из способов выработки открытых ключей Диффи - Хеллмана. Шифрование по схеме Эль-Гамаля не следует путать с алгоритмом цифровой подписи по схеме Эль-Гамаля.
Шифрование
Сообщение шифруется следующим образом:
1. Выбирается сессионный ключ - случайное целое число такое, что 2. Вычисляются числа и .
3. Пара чисел является шифротекстом.
Нетрудно видеть, что длина шифротекста в схеме Эль-Гамаля длиннее исходного сообщения вдвое.
Расшифрование
Зная закрытый ключ , исходное сообщение можно вычислить из шифротекста по формуле:
При этом нетрудно проверить, что
и поэтому
.
Для практических вычислений больше подходит следующая формула:
RSAДо 4096 битШифрование и подпись2,7•1028 для ключа 1300 битОснован на трудности задачи факторизации больших чисел; один из первых асимметричных алгоритмов. Включен во многие стандартыElGamalДо 4096 битШифрование и подписьПри одинаковой длине ключа криптостойкость равная RSA, т.е. 2,7•1028 для ключа 1300 битОснован на трудной задаче вычисления дискретных логарифмов в конечном поле; позволяет быстро генерировать ключи без снижения стойкости. Используется в алгоритме цифровой подписи DSA-стандарта DSS
32. Комбинированный метод шифрования данных. Обоснование необходимости использования. Оптимальные длины ключей симметричной и асимметричной криптосистем.
Главным достоинством криптосистем с открытым ключом является их потенциально высокая, безопасность: нет необходимости ни передавать, ни сообщать кому бы то ни было значения секретных ключей, ни убеждаться в их подлинности. В симметричных криптосистемах существует опасность раскрытия секретного ключа во время передачи.
Однако алгоритмы, лежащие в основе криптосистем с открытым ключом, имеют следующие недостатки:
• генерация новых секретных и открытых ключей основана на генерации новых больших простых чисел, а проверка простоты чисел занимает много процессорного времени;
• процедуры шифрования и расшифрования, связанные с возведением в степень многозначного числа, достаточно громоздки.
Поэтому быстродействие криптосистем с открытым ключом обычно в сотни и более раз меньше быстродействия симметричных криптосистем с секретным ключом.
Комбинированный (гибридный) метод шифрования позволяет сочетать преимущества высокой секретности, предоставляемые асимметричными криптосистемами с открытым ключом, с преимуществами высокой скорости работы, присущими симметричным криптосистемам с секретным ключом. При таком подходе криптосистема с открытым ключом применяется для шифрования, передачи и последующего расшифрования только секретного ключа симметричной криптосистемы. А симметричная криптосистема применяется для шифрования и передачи исходного открытого текста. В результате криптосистема с открытым ключом не заменяет симметричную криптосистему с секретным ключом, а лишь дополняет ее, позволяя повысить в целом защищенность передаваемой информации.
Если пользователь А хочет передать зашифрованное комбинированным методом сообщение М пользователю В, то порядок его действий будет таков.
1. Создать (например, сгенерировать случайным образом) симметричный ключ, называемый в этом методе сеансовым ключом KS.
2. Зашифровать сообщение М на сеансовом ключе KS.
3. Зашифровать сеансовый ключ KS на открытом ключе КB пользователя В и своем секретном ключе kA.
4. Передать по открытому каналу связи в адрес пользователя В зашифрованное сообщение вместе с зашифрованным сеансовым ключом.
Действия пользователя В при получении зашифрованного сообщения и зашифрованного сеансового ключа должны быть обратными:
5. Расшифровать на своем секретном ключе kB и открытом ключе ка пользователя KА сеансовый ключ KS.
6. С помощью полученного сеансового ключа KS расшифровать и прочитать сообщение М.
При использовании комбинированного метода шифрования можно быть уверенным в том, что только пользователь В сможет правильно расшифровать ключ KS и прочитать сообщение М.
Таким образом, при комбинированном методе шифрования применяются криптографические ключи как симметричных, так и асимметричных криптосистем. Очевидно, выбор длин ключей для каждого типа криптосистемы следует осуществлять таким образом, чтобы злоумышленнику было одинаково трудно атаковать любой механизм защиты комбинированной криптосистемы.
В табл.3. приведены распространенные длины ключей симметричных и асимметричных криптосистем, для которых трудность атаки полного перебора примерно равна трудности факторизации соответствующих модулей асимметричных криптосистем.
Таблица 3 Длины ключей для симметричных и асимметричных криптосистем при одинаковой их криптостойкости
Длина ключей симметричной криптосистемы, битДлина ключей асимметричной криптосистемы, бит56384645128076811217921282304Комбинированный метод допускает возможность выполнения процедуры аутентификации, т.е. проверки подлинности передаваемого сообщения. Для этого пользователь А на основе функции хэширования сообщения и своего секретного ключа kA с помощью известного алгоритма электронной цифровой подписи (ЭЦП) генерирует свою подпись и записывает ее, например, в конец передаваемого файла.
Пользователь В, прочитав принятое сообщение, может убедиться в подлинности цифровой подписи абонента А. Используя тот же алгоритм ЭЦП и результат хэширования принятого сообщения, пользователь В проверяет полученную подпись. Комбинированный метод шифрования является наиболее рациональным, объединяя в себе высокое быстродействие симметричного шифрования и высокую криптостойкость, гарантируемую системами с открытым ключом.
33. Цель аутентификации электронных документов. Свойства и структура электронной цифровой подписи.
При обмене электронными документами по сети связи существенно снижаются затраты на обработку и хранение документов, убыстряется их поиск. Но при этом возникает проблема аутентификации автора документа и самого документа, т.е. установления подлинности автора и отсутствия изменений в полученном документе. В обычной (бумажной) информатике эти проблемы решаются за счет того, что информация в документе и рукописная подпись автора жестко связаны с физическим носителем (бумагой). В электронных документах на машинных носителях такой связи нет. Целью аутентификации электронных документов является их защита от возможных видов злоумышленных действий, к которым относятся:
* активный перехват - нарушитель, подключившийся к сети, перехватывает документы (файлы) и изменяет их;
* маскарад - абонент С посылает документ абоненту В от имени абонента А;
* ренегатство - абонент А заявляет, что не посылал сообщения абоненту В, хотя на самом деле послал;
* подмена - абонент В изменяет или формирует новый документ и заявляет, что получил его от абонента А;
* повтор - абонент С повторяет ранее переданный документ, который абонент А посылал абоненту В.
Эти виды злоумышленных деиствий могут нанести существенный ущерб банковским и коммерческим структурам, государственным предприятиям и организациям, частным лицам, применяющим в своей деятельности компьютерные информационные технологии.
При обработке документов в электронной форме совершенно непригодны традиционные способы установления подлинности по рукописной подписи и оттиску печати на бумажном документе. Принципиально новым решением является электронная цифровая подпись (ЭЦП).
Электронная цифровая подпись используется для аутентификации текстов, передаваемых по телекоммуникационным каналам. Функционально она аналогична обычной рукописной подписи и обладает ее основными достоинствами:
* удостоверяет, что подписанный текст исходит от лица, поставившего подпись;
* не дает самому этому лицу возможности отказаться от обязательств, связанных с подписанным текстом;
* гарантирует целостность подписанного текста.
Цифровая подпись представляет собой относительно небольшое количество дополнительнои цифровой информации, передаваемой вместе с подписываемым текстом.
Система ЭЦП включает две процедуры: 1) процедуру постановки подписи; 2) процедуру проверки подписи. В процедуре постановки подписи используется секретный ключ отправителя сообщения, в процедуре проверки подписи - открытый ключ отправителя.
При формировании ЭЦП отправитель прежде всего вычисляет хэш-функцию h(М) подписываемого текста М. Вычисленное значение хэш-функции h(М) представляет собой один короткий блок информации m, характеризующий весь текст М в целом. Затем число m шифруется секретным ключом отправителя. Получаемая при этом пара чисел представляет собой ЭЦП для данного текста М. При проверке ЭЦП получатель сообщения снова вычисляет хэш-функцию m = h(М) принятого по каналу текста М, после чего при помощи открытого ключа отправителя проверяет, соответствует ли полученная подпись вычисленному значению m хэш-функции.
Принципиальным моментом в системе ЭЦП является невозможность подделки ЭЦП пользователя без знания его секретного ключа подписывания.
В качестве подписываемого документа может быть использован любой файл. Подписанный файл создается из неподписанного путем добавления в него одной или более электронных подписей. Каждая подпись содержит следующую информацию:
дату подписи; срок окончания действия ключа данной подписи; информацию о лице, подписавшем файл (Ф.И.0., должность, краткое наименование фирмы); идентификатор подписавшего (имя открытого ключа); собственно цифровую подпись.
34. Однонаправленные хэш-функции. Требования и стандарты хэш-функций.
Хэш-функция предназначена для сжатия подписываемого документа М до нескольких десятков или сотен бит. Хэш-функция h(•) принимает в качестве аргумента сообщение (документ) М произвольной длины и возвращает хэш-значение h(М)=Н фиксированной длины. Обычно хэшированная информация является сжатым двоичным представлением основного сообщения произвольной длины. Следует отметить, что значение хэш-функции h(М) сложным образом зависит от документа М и не позволяет восстановить сам документ М.
Хэш-функция должна удовлетворять целому ряду условий:
* хэш-функция должна быть чувствительна к всевозможным изменениям в тексте М, таким как вставки, выбросы, перестановки и т.п.;
* хэш-функция должна обладать свойством необратимости, то есть задача подбора документа М', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима;
* вероятность того, что значения хэш-функций двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала.
Большинство хэш-функций строится на основе однонаправленной функции f(•), которая образует выходное значение длиной n при задании двух входных значений длиной п. Этими входами являются блок исходного текста М, и хэш-значение Ні-1 предыдущего блока текста (рис.1):
Ні = f(Мi, Нi-1).
Хэш-значение, вычисляемое при вводе последнего блока текста, становится хэш-значением всего сообщения М.
Рис.1. Построение однонаправленной хэш-функции
В результате однонаправленная хэш-функция всегда формирует выход фиксированной длины n (независимо от длины входного текста).
Алгоритм безопасного хэширования SНА (Secure Hash Algorithm) разработан НИСТ и АНБ США в рамках стандарта безопасного хэширования SHS (Secure Hash Standard) в 1992 г. Алгоритм хэширования SНА предназначен для использования совместно с алгоритмом цифровой подписи DSА.
При вводе сообщения М произвольной длины менее 264 бит алгоритм SНА вырабатывает 160-битовое выходное сообщение, называемое дайджестом сообщения МD (Message Digest). Затем этот дайджест сообщения используется в качестве входа алгоритма DSА, который вычисляет цифровую подпись сообщения М. Формирование цифровой подписи для дайджеста сообщения, а не для самого сообщения повышает эффективность процесса подписания, поскольку дайджест сообщения обычно намного короче самого сообщения.
Такой же дайджест сообщения должен вычисляться пользователем, проверяющим полученную подпись, при этом в качестве входа в алгоритм SНА используется полученное сообщение М.
Алгоритм хэширования SНА назван безопасным, потому что он спроектирован таким образом, чтобы было вычислительно невозможно восстановить сообщение, соответствующее данному дайджесту, а также найти два различных сообщения, которые дадут одинаковый дайджест. Любое изменение сообщения при передаче с очень большой вероятностью вызовет изменение дайджеста, и принятая цифровая подпись не пройдет проверку.
Однонаправленную хэш-функцию можно построить, используя симметричный блочный алгоритм. Наиболее очевидный подход состоит в том, чтобы шифровать сообщение М посредством блочного алгоритма в режиме СВС или СFВ с помощью фиксированного ключа и некоторого вектора инициализации IV. Последний блок шифртекста можно рассматривать в качестве хэш-значения сообщения М. При таком подходе не всегда возможно построить безопасную однонаправленную хэш-функцию, но всегда можно получить код аутентификации сообoения МАС (Message Authentication Code).
Более безопасный вариант хэш-функции можно получить, используя блок сообщения в качестве ключа, предыдущее хэш-значение - в качестве входа, а текущее хэш-значение - в качестве выхода. Реальные хэш-функции проектируются еще более сложными. Длина блока обычно определяется длиной ключа, а длина хэш-значения совпадает сдлиной блока.
Рис.3. Обобщённая схема формирования хэш-функции
Поскольку большинство блочных алгоритмов являются 64-битовыми, некоторые схемы хэширования проектируют так, чтобы хэш-значение имело длину, равную двойной длине блока.
Если принять, что получаемая хэш-функция корректна, безопасность схемы хэширования базируется на безопасности лежащего в ее основе блочного алгоритма. Схема хэширования, у которой длина хэш-значения равна длине блока, показана на рис.3. Ее работа описывается выражениями:
Н0 = Ін, Нi = ЕA(В) Å С,
где Ін - некоторое случайное начальное значение; А, В и С могут принимать значения Мі, Ні-1, (Мi Å Ні-1) или быть константами.
Российский стандарт ГОСТ Р 34.11-94 определяет алгоритм и процедуру вычисления хэш-функции для любых последовательностей двоичных символов, применяемых в криптографических методах обработки и защиты информации. Этот стандарт базируется на блочном алгоритме шифрования ГОСТ 28147-89, хотя в принципе можно было бы использовать и другои блочный алгоритм шифрования с 64-битовым блоком и 256-битовым ключом.
Данная хэш-функция формирует 256-битовое хэш-значение.
Функция сжатия Ні = f (Мi, Нi-1) (оба операнда Мі и Ні-1 являются 256-битовыми величинами) определяется следующим образом:
1. Генерируются 4 ключа шифрования Кj, j = 1...4, путем линейного смешивания Мі, Ні-1 и некоторых констант Сj.
2. Каждый ключ Кj, используют для шифрования 64-битовых подслов hі слова Нi-1 в режиме простой замены: Si = EKj(hj).
Результирующая последовательность S4, S3, S2, S1 длиной 256 бит запоминается во временной переменной S.
3. Значение Ні является сложной, хотя и линейной функцией смешивания S, Мi, и Нi-1.
При вычислении окончательного хэш-значения сообщения М учитываются значения трех связанных между собой переменных:
Нn - хэш-значение последнего блока сообщения;
Z - значение контрольной суммы, получаемой при сложении по модулю 2 всех блоков сообщения;
L - длина сообщения.
Эти три переменные и дополненный последний блок М' сообщения объединяются в окончательное хэш-значение следующим образом:
Н = f (Z Å М', f (L, f(М', Нn))).
Данная хэш-функция определена стандартом ГОСТ Р 34.11-94 для использования совместно с российским стандартом электронной цифровой подписи.
35. Алгоритм безопасного хеширования SHA. Главный цикл алгоритма SHA.
Алгоритм безопасного хэширования SНА (Secure Hash Algorithm) разработан НИСТ и АНБ США в рамках стандарта безопасного хэширования SHS (Secure Hash Standard) в 1992 г. Алгоритм хэширования SНА предназначен для использования совместно с алгоритмом цифровой подписи DSА.
При вводе сообщения М произвольной длины менее 264 бит алгоритм SНА вырабатывает 160-битовое выходное сообщение, называемое дайджестом сообщения МD (Message Digest). Затем этот дайджест сообщения используется в качестве входа алгоритма DSА, который вычисляет цифровую подпись сообщения М. Формирование цифровой подписи для дайджеста сообщения, а не для самого сообщения повышает эффективность процесса подписания, поскольку дайджест сообщения обычно намного короче самого сообщения.
Такой же дайджест сообщения должен вычисляться пользователем, проверяющим полученную подпись, при этом в качестве входа в алгоритм SНА используется полученное сообщение М.
Алгоритм хэширования SНА назван безопасным, потому что он спроектирован таким образом, чтобы было вычислительно невозможно восстановить сообщение, соответствующее данному дайджесту, а также найти два различных сообщения, которые дадут одинаковый дайджест. Любое изменение сообщения при передаче с очень большой вероятностью вызовет изменение дайджеста, и принятая цифровая подпись не пройдет проверку.
Рассмотрим подробнее работу алгоритма хэширования SНА. Прежде всего исходное сообщение М дополняют так, чтобы оно стало кратным 512 битам. Дополнительная набивка сообщения выполняется следующим образом: сначала добавляется единица, затем следуют столько нулей, сколько необходимо для получения сообщения, которое на 64 бита короче, чем кратное 512, и наконец добавляют 64-битовое представление длины исходного сообщения.
Инициализируется пять 32-битовых переменных в виде:
А = 0х67452301
В = 0хЕFСDАВ89
С = 0х98ВАDСFЕ
D = 0x10325476
Е = 0хС3D2Е1F0
Затем начинается главный цикл алгоритма. В нем обрабатывается по 512 бит сообщения поочередно для всех 512-битовых блоков, имеющихся в сообщении. Первые пять переменных А, В, С, D, Е копируются в другие переменные a, b, с, d, е:
а = А, b = В, с = С, d = D, е = Е Главный цикл содержит четыре цикла по 20 операций каждый. Каждая операция реализует нелинейную функцию от трех из пяти переменных а, b, с, d, е, а затем производит сдвиг и сложение.
Алгоритм SНА имеет следующий набор нелинейных функций:
ft (Х, Y, Z) = (X Ù Y) Ú ((Ø X) Ù Z) для t = 0...19, ft (Х, Y, Z) =Х Å Y Å Z для t = 20...39, ft (Х, Y, Z) = (X Ù Y) Ú (X Ù Z) Ú (Y Ù Z) для t = 40...59, ft (Х, Y, Z) = Х Å Y Å Zдля t = 60...79,
где t - номер операции.
В алгоритме используются также четыре константы:
Кt = 0х5А827999 для t = 0...19, Кt = 0х6ЕD9ЕВА1 для t = 20...39,
Кt = 0х8F1ВВСDС для t = 40...59,
Кt = 0хСА62С1D6 для t = 60...79.
Блок сообщения преобразуется из шестнадцати 32-битовых слов (М0...М15) в восемьдесят 32-битовых слов (W0...W79) с помощью следующего алгоритма:
Wt = Мt для t = 0...15, Wt = (Wt-3 Å Wt-8 Å Wt-14 Å Wt-16) <<< 1 для t = 16...79,
где t - номер операции, Wt - t-й субблок расширенного сообщения, <<< S - циклический сдвиг влево на S бит.
С учетом введенных обозначений главный цикл из восьмидесяти операций можно описать так:
цикл по t от 0 до 79
ТЕМР = (а <<< 5) + ft (b, c, d) + е + Wt + Кt е = d d = с
с = (b <<< 30)
b = а а = ТЕМР
конец_цикла
Схема выполнения одной операции показана на рис.5.
Рис.5. Схема выполнения одной операции алгоритма SHA
После окончания главного цикла значения а, b, с, d, е складываются с А, В, С, D, Е соответственно, и алгоритм приступает к обработке следующего 512-битового блока данных. Окончательный выход формируется в виде конкатенации значений А, В, С, D, Е.
Отличия SHA от MD5 состоят в следующем:
* SНА выдает 160-битовое хэш-значение, поэтому он более устойчив к атакам полного перебора и атакам "дня рождения", чем MD5, формирующий 128-битовые хэш-значения.
* Сжимающая функция SHA состоит из 80 шагов, а не из 64 как в MD5.
* Расширение входных данных производится не простым их повторение в другом порядке, а рекуррентной формулой.
* Усложнен процесс перемешивания
36. Схемы безопасного хеширования на основе симметричных блочных алгоритмов.
Однонаправленную хэш-функцию можно построить, используя симметричный блочный алгоритм. Наиболее очевидный подход состоит в том, чтобы шифровать сообщение Мпосредством блочного алгоритма в режиме СВС или СFВ с помощью фиксированного ключа и некоторого вектора инициализации IV. Последний блок шифртекста можно рассматривать в качестве хэш-значения сообщения М. При таком подходе не всегда возможно построить безопасную однонаправленную хэш-функцию, но всегда можно получить код аутентификации сообщения МАС (Message Authentication Code).
Более безопасный вариант хэш-функции можно получить, используя блок сообщения в качестве ключа, предыдущее хэш-значение - в качестве входа, а текущее хэш-значение - в качестве выхода. Реальные хэш-функции проектируются еще более сложными. Длина блока обычно определяется длиной ключа, а длина хэш-значения совпадает с длиной блока.
Поскольку большинство блочных алгоритмов являются 64-битовыми, некоторые схемы хэширования проектируют так, чтобы хэш-значение имело длину, равную двойной длине блока.
Если принять, что получаемая хэш-функция корректна, безопасность схемы хэширования базируется на безопасности лежащего в ее основе блочного алгоритма. Схема хэширования, у которой длина хэш-значения равна длине блока, показана на рис.3. Ее работа описывается выражениями:
Н0 = Iн, Нi = ЕA(В) Å С,
где Å - сложение по модулю 2 (исключающее ИЛИ); Iн - некоторое случайное начальное значение; А, В, С могут принимать значения Мi, Нi-1, (Мi Å Нi-1) или быть константами.
Рис.3. Обобщенная схема формирования хэш-функции
Сообщение М разбивается на блоки Мi принятой длины, которые обрабатываются поочередно.
Три различные переменные А, В, С могут принимать одно из четырех возможных значений, поэтому в принципе можно получить 64 варианта общей схемы этого типа. Из них 52 варианта являются либо тривиально слабыми, либо небезопасными. Остальные 12 схем безопасного хэширования, у которых длина хэш-значения равна длине блока перечислены в табл.1.
Таблица 1Номер схемыФункция хэширования1Нi = ЕHi-1 ( Мi ) Å Мi2Нi = ЕHi-1 ( Мi Å Нi-1 ) Å Мi Å Нi-13Нi = EHi-1 ( Мi ) Å Мi Å Нi-14Нi = ЕHi-1 ( Мi Å Нi-1 ) Å Мi5Нi = ЕMi ( Нi-1 ) Å Нi-16Нi = ЕMi ( Мi Å Нi-1 ) Å Мi Å Нi-17Нi = ЕMi ( Нi-1 ) Å Мi Å Нi-18Нi = EMi ( Мi Å Нi-1) Å Нi-19Нi = ЕMi Å Hi-1 ( Мi ) Å Мi10Нi = ЕMi Å Hi-1 ( Нi-1) Å Нi-111Нi = ЕMi ÅHi-1 ( Mi ) Å Нi-112Нi = ЕMi Å Hi-1 ( Нi-1 ) Å Мi Первые четыре схемы хэширования, являющиеся безопасными при всех атаках, приведены на рис.4.
Рис.4. Четыре схемы безопасного хэширования
Недостатком хэш-функций, спроектированных на основе блочных алгоритмов, является несколько заниженная скорость работы. Дело в том, что ту же самую стойкость относительно двух основных требований к хэш-функции можно обеспечить за гораздо меньшее количество операций над входными данными. Но для этого алгоритм необходимо изначально проектировать специально, исходя из тандема требований (стойкость, скорость). Далее рассмотрены три самостоятельных алгоритма криптостойкого хэширования, получивших наибольшее распространение на сегодняшний день.
37. Обобщенный алгоритм вычисления хэш-функции по ГОСТ Р 34.11-94.
Российский стандарт ГОСТ Р 34.11-94 определяет алгоритм и процедуру вычисления хэш-функции для любых последовательностей двоичных символов, применяемых в криптографических методах обработки и защиты информации. Этот стандарт базируется на блочном алгоритме шифрования ГОСТ 28147-89, хотя в принципе можно было бы использовать и другои блочный алгоритм шифрования с 64-битовым блоком и 256-битовым ключом.
Данная хэш-функция формирует 256-битовое хэш-значение.
Функция сжатия Нi = f(Мi, Нi-1) (оба операнда Мi и Нi-1 являются 256-битовыми величинами) определяется следующим образом:
1. Генерируются 4 ключа шифрования Кj , j = 1...4, путем линейного смешивания Мi , Нi-1 и некоторых констант Сj .
2. Каждый ключ Кj используют для шифрования 64-битовых подслов hj слова Нi-1 в режиме простой замены: Si = EKj(hj) . Результирующая последовательность S4, S3, S2, S1 длиной 256 бит запоминается во временной переменной S.
3. Значение Нi является сложной, хотя и линейной функцией смешивания S, Мi, Нi-1.
При вычислении окончательного хэш-значения сообщения М учитываются значения трех связанных между собой переменных:
Нn - хэш-значение последнего блока сообщения; Z - значение контрольной суммы, получаемой при сложении по модулю 2 всех блоков сообщения; L - длина сообщения.
Эти три переменные и дополненный последний блок М' сообщения объединяются в окончательное хэш-значение следующим образом:
Н = f (Z М', f ( L, f( М', Нn ) ) ).
Данная хэш-функция определена стандартом ГОСТ Р 34.11-94 для использования совместно с российским стандартом электронной цифровой подписи.
38. Обобщенная схема формирования и проверки электронной цифровой подписи.
39. Алгоритм электронной цифровой подписи RSA.
Первой и наиболее известной во всем мире конкретной системой ЭЦП стала система RSА, математическая схема которой была разработана в 1977 г. в Массачуссетском технологическом институте США.
Сначала необходимо вычислить пару ключей (секретный ключ и открытый ключ). Для этого отправитель (автор) электронных документов вычисляет два больших простых числа Р и Q, затем находит их произведение
N = Р * Q и значение функции
j (N) = (Р-1)(Q-1).
Далее отправитель вычисляет число Е из условий:
Е £ j (N), НОД (Е, j (N)) = 1
и число D из условий:
D < N, Е*D º 1 (mod j (N)).
Пара чисел (Е, N) является открытым ключом. Эту пару чисел автор передает партнерам по переписке для проверки его цифровых подписей. Число D сохраняется автором как секретный ключ для подписывания.
Обобщенная схема формирования и проверки цифровой подписи RSА показана на рис.6.
Допустим, что отправитель хочет подписать сообщение М перед его отправкой. Сначала сообщение М (блок информации, файл, таблица) сжимают с помощью хэш-функцииh(·) в целое число m:
m = h(М).
Затем вычисляют цифровую подпись S под электронным документом М, используя хэш-значение m и секретный ключ D:
S = mD (mod N).
Пара (М,S) передается партнеру-получателю как электронный документ М, подписанный цифровой подписью S, причем подпись S сформирована обладателем секретного ключа D.
После приема пары (М,S) получатель вычисляет хэш-значение сообидения М двумя разными способами. Прежде всего он восстанавливает хэш-значение m', применяя криптографическое преобразование подписи S с использованием открытого ключа Е:
m' = SE (mod N).
Кроме того, он находит результат хэширования принятого сообщения М с помощью такой же хэш-функции h(·):
m = h(М).
Если соблюдается равенство вычисленных значений, т.е.
SE ( mod N ) = h ( М ),
то получатель признает пару (М,S) подлинной. Доказано, что только обладатель секретного ключа D может сформировать цифровую подпись S по документу М, а определить секретное число D по открытому числу Е не легче, чем разложить модуль N на множители.
Кроме того, можно строго математически доказать, что результат проверки цифровой подписи S будет положительным только в том случае, если при вычислении S был использован секретный ключ D, соответствующий открытому ключу Е. Поэтому открытый ключ Е иногда называют "идентификатором" подписавшего.
Недостатки алгоритма цифровой подписи RSА.
1. При вычислении модуля N, ключей Е и D для системы цифровой подписи RSА необходимо проверять большое количество дополнительных условий, что сделать практически трудно. Невыполнение любого из этих условий делает возможным фальсификацию цифровой подписи со стороны того, кто обнаружит такое невыполнение. При подписании важных документов нельзя допускать такую возможность даже теоретически.
2. Для обеспечения криптостойкости цифровой подписи RSА по отношению к попыткам фальсификации на уровне, например, национального стандарта США на шифрование информации (алгоритм DES), т.е. 1018, необходимо использовать при вычислениях N, D и Е целые числа не менее 2512 (или около 10154) каждое, что требует больших вычислительных затрат, превышающих на 20...30% вычислительные затраты других алгоритмов цифровой подписи при сохранении того же уровня криптостойкости.
3. Цифровая подпись RSА уязвима к так называемой мультипликативной атаке. Иначе говоря, алгоритм цифровой подписи RSА позволяет злоумышленнику без знания секретного кпюча D сформировать подписи под теми документами, у которых результат хэширования можно вычислить как произведение результатов хэширования уже подписанных документов.
Пример. Допустим, что злоумышленник может сконструировать три сообщения М1, М2, М3, у которых хэш-значения
m1 = h (М1), m2 = h (М2), m3 = h (М3) ,
причем
m3 = m1 * m2 (mod N) .
Допустим также, что для двух сообщений М1 и М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) = m3D (mod N) = S3 .
Более надежный и удобный для реализации на персональных компьютерах алгоритм цифровой подписи был разработан в 1984 г. американцем арабского происхождения Тахером Эль Гамалем. В 1991 г. НИСТ США обосновал перед комиссией Конгресса США выбор алгоритма цифровой подписи Эль Гамаля в качестве основы для национального стандарта.
40. Алгоритм электронной цифровой подписи Эль Гамаля.
Название ЕGSА происходит от слов Е_ Gаmа_ Signaturе Аlgorithm (алгоритм цифровой подписи Эль Гамаля). Идея ЕGSА основана на том, что для обоснования практической невозможности фальсификации цифровой подписи может быть использована более сложная вычислительная задача, чем разложение на множители большого целого числа,- задача дискретного логарифмирования. Кроме того, Эль Гамалю удалось избежать явной слабости алгоритма цифровой подписи RSА, связанной с возможностью подделки цифровой подписи под некоторыми сообщениями без определения секретного ключа.
Рассмотрим подробнее алгоритм цифровой подписи Эль-Гамаля. Для того чтобы генерировать пару ключей (открытый ключ - секретный ключ), сначала выбирают некоторое большое простое целое число Р и большое целое число G, причем G < Р. Отправитель и получатель подписанного документа используют при вычислениях одинаковые большие целые числа Р (~10308 или ~21024) и G (~10154 или ~2512), которые не являются секретными.
Отправитель выбирает случайное целое число X, 1 < Х £ (Р-1), и вычисляет
Y =GX mod Р .
Число Y является открытым ключом, используемым для проверки подписи отправителя. Число Y открыто передается всем потенциальным получателям документов.
Число Х является секретным ключом отправителя для подписывания документов и должно храниться в секрете.
Для того чтобы подписать сообщение М, сначала отправитель хэширует его с помощью хэш-функции h(·) в целое число m:
m = h(М), 1 < m < (Р-1) ,
и генерирует случайное целое число К, 1 < К < (Р-1), такое, что К и (Р-1) являются взаимно простыми. Затем отправитель вычисляет целое число а:
а = GK mod Р
и, применяя расширенный алгоритм Евклида, вычисляет с помощью секретного ключа Х целое число b из уравнения
m = Х * а + К * b (mod (Р-1)) .
Пара чисел (а,b) образует цифровую подпись S:
S=(а,b) ,
проставляемую под документом М.
Тройка чисел (М,а,b) передается получателю, в то время как пара чисел (Х,К) держится в секрете.
После приема подписанного сообщения (М,а,b) получатель должен проверить, соответствует ли подпись S=(а,b) сообщению М. Для этого получатель сначала вычисляет по принятому сообщению М число
m = h(М) ,
т.е. хэширует принятое сообщение М.
Затем получатель вычисляет значение
А = Ya ab (mod Р)
и признает сообщение М подлинным, только если
А = Gm (mod Р) .
Иначе говоря, получатель проверяет справедливость соотношения
Ya ab (mod Р) = Gm (mod Р) .
Можно строго математически доказать, что последнее равенство будет выполняться тогда, и только тогда, когда подпись S=(а,b) под документом М получена с помощью именно того секретного ключа X, из которого был получен открытый ключ Y. Таким образом, можно надежно удостовериться, что отправителем сообщения М был обладатель именно данного секретного ключа X, не раскрывая при этом сам ключ, и что отправитель подписал именно этот конкретный документ М.
Следует отметить, что выполнение каждой подписи по методу Эль Гамаля требует нового значения К, причем это значение должно выбираться случайным образом. Если нарушитель раскроет когда-либо значение К, повторно используемое отправителем, то он сможет раскрыть секретный ключ Х отправителя.
Пример. Выберем: числа Р = 11, G = 2 и секретный ключ Х = 8. Вычисляем значение открытого ключа:
Y = GX mod Р = 28 mod 11 = 3 .
Предположим, что исходное сообщение М характеризуется хэш-значением m = 5.
Для того чтобы вычислить цифровую подпись для сообщения М, имеющего хэш-значение m = 5, сначала выберем случайное целое число К = 9. Убедимся, что числа К и (Р-1)являются взаимно простыми. Действительно, НОД (9,10) = 1. Далее вычисляем элементы а и b подписи:
а = GK mod Р = 29 mod 11 = 6 ,
элемент b определяем, используя расширенный алгоритм Евклида:
m = Х * а + К * b (mod(Р-1)).
При m = 5, а = 6, Х = 8, К = 9, Р = 11 получаем
5 = 8 * 6 + 9 * b (mod 10)
или
9 * b = -43 (mod 10) .
Решение: b = 3. Цифровая подпись представляет собой пару: а = 6, b = 3. Далее отправитель передает подписанное сообщение. Приняв подписанное сообщение и открытый ключ Y = 3, получатель вычисляет хэш-значение для сообщения М : m = 5, а затем вычисляет два числа:
Yaab (mod Р) = 36 * 63 (mod 11) = 10 (mod 11);
Gm (mod Р) = 25 (mod 11) = 10 (mod 11).
Так как эти два целых числа равны, принятое получателем сообщение признается подлинным.
Следует отметить, что схема Эль Гамаля является характерным примером подхода, который допускает пересылку сообщения М в открытой форме вместе с присоединенным аутентификатором (а,b). В таких случаях процедура установления подлинности принятого сообщения состоит в проверке соответствия аутентификатора сообщению.
Схема цифровой подписи Эль Гамаля имеет ряд преимуществ по сравнению со схемой цифровой подписи RSА:
1. При заданном уровне стойкости алгоритма цифровой подписи целые числа, участвующие в вычислениях, имеют запись на 25% короче, что уменьшает сложность вычислений почти в два раза и позволяет заметно сократить объем используемой памяти.
2. При выборе модуля Р достаточно проверить, что это число является простым и что у числа (Р-1) имеется большой простой множитель (т.е. всего два достаточно просто проверяемых условия).
3. Процедура формирования подписи по схеме Эль Гамаля не позволяет вычислять цифровые подписи под новыми сообщениями без знания секретного ключа (как в RSА).
Однако алгоритм цифровой подписи Эль Гамаля имеет и некоторые недостатки по сравнению со схемой подписи RSА. В частности, длина цифровой подписи получается в 1,5 раза больше, что, в свою очередь, увеличивает время ее вычисления.
41. Алгоритм электронной цифровой подписи по ГОСТ Р 34.10-94.
Отечественный стандарт цифровой подписи обозначается как ГОСТ Р 34.10-94. Алгоритм цифровой подписи, определяемый этим стандартом, концептуально близок к алгоритму DSА. В нем используются следующие параметры:
р - большое простое число длиной от 509 до 512 бит либо от 1020 до 1024 бит; q - простой сомножитель числа (р-1), имеющий длину 254...256 бит; а - любое число, меньшее (р-1), причем такое, что аq mod p = 1; х - некоторое число, меньшее q; у = аx mod р.
Кроме того, этот алгоритм использует однонаправленную хэш-функцию Н(х). Стандарт ГОСТ Р 34.11-94 определяет хэш-функцию, основанную на использовании стандартного симметричного алгоритма ГОСТ 28147-89.
Первые три параметра р, q, а являются открытыми и могут быть общими для всех пользователей сети. Число х является секретным ключом. Число у является открытым ключом. Чтобы подписать некоторое сообщение m, а затем проверить подпись, выполняются следующие шаги.
1. Пользователь А генерирует случайное число k, причем k<q.
2. Пользователь А вычисляет значения
3. r = (аk mod p) mod p ,
s = (х * r + k (Н(m))) mod p .
Если Н(m) mod q = 0, то значение Н(m) mod q принимают равным единице. Если r=0, то выбирают другое значение k и начинают снова. Цифровая подпись представляет собой два числа:
r mod 2256 и s mod 2256 .
Пользователь А отправляет эти числа пользователю В.
4. Пользователь В проверяет полученную подпись, вычисляя
5. v = Н(m)q-2 mod q ,
6. z1 = (s * v) mod q ,
7. z2 = ((q-r) * v) mod q ,
u = ((аz1 * уz2 ) mod р) mod p .
Если u = r, то подпись считается верной.
Различие между этим алгоритмом и алгоритмом DSА заключается в том, что в DSА
s = (k-1 (х * r + (Н(m)))) mod q ,
что приводит к другому уравнению верификации.
Следует также отметить, что в отечественном стандарте ЭЦП параметр q имеет длину 256 бит. Западных криптографов вполне устраивает q длиной примерно 160 бит. Различие в значениях параметра q является отражением стремления разработчиков отечественного стандарта к получению более безопасной подписи.
42. Алгоритм электронной цифровой подписи DSA.
Алгоритм цифровой подписи DSА (Digital Signature Algorithm) предложен в 1991 г. в НИСТ США для использования в стандарте цифровой подписи DSS (Digital Signature Standard). Алгоритм DSА является развитием алгоритмов цифровой подписи Эль Гамаля и К.Шнорра.
Отправитель и получатель электронного документа используют при вычислении большие целые числа: G и Р - простые числа, L бит каждое (512 £ L £ 1024); q - простое число длиной 160 бит (делитель числа (Р-1)). Числа G, Р, q являются открытыми и могут быть общими для всех пользователей сети.
Отправитель выбирает случайное целое число X, 1 < Х < q. Число Х является секретным ключом отправителя для формирования электронной цифровой подписи.
Затем отправитель вычисляет значение
Y = GX mod Р.
Число Y является открытым ключом для проверки подписи отправителя и передается всем получателям документов.
Этот алгоритм также предусматривает использование односторонней функции хэширования h(·). В стандарте DSS определен алгоритм безопасного хэширования SНА (Secure Hash Algorithm).
Для того чтобы подписать документ М, отправитель хэширует его в целое хэш-значение m:
m = h(М), 1<m<q ,
затем генерирует случайное целое число К, 1< К< q, и вычисляет число r:
r = (GK mod Р) mod q .
Затем отправитель вычисляет с помощью секретного ключа Х целое число s:
s = ((m + r * X)/K) mod q .
Пара чисел (r,s) образует цифровую подпись
S = (r,s)
под документом М.
Таким образом, подписанное сообщение представляет собой тройку чисел (М,r,s).
Получатель подписанного сообщения (М,r,s) проверяет выполнение условий
0 < r < q, 0 < s < q
и отвергает подпись, если хотя бы одно из этих условий не выполнено. Затем получатель вычисляет значение
w = (1/s) mod q ,
хэш-значение
m = h(М)
и числа
u1 = (m * w) mod q ,
u2 = (r * w) mod q .
Далее получатель с помощью открытого ключа Y вычисляет значение
v = ((Gu1 * Yu2 ) mod Р) mod q
и проверяет выполнение условия
v = r .
Если условие v = r выполняется, тогда подпись S=(r,s) под документом М признается получателем подлинной.
Можно строго математически доказать, что последнее равенство будет выполняться тогда, и только тогда, когда подпись S=(r,s) под документом М получена с помощью именно того секретного ключа X, из которого был получен открытый ключ Y. Таким образом, можно надежно удостовериться, что отправитель сообщения владеет именно данным секретным ключом Х (не раскрывая при этом значения ключа X) и что отправитель подписал именно данный документ М.
По сравнению с алгоритмом цифровой подписи Эль Гамаля алгоритм DSА имеет следующие основные преимущества:
1. При любом допустимом уровне стойкости, т.е. при любой паре чисел G и Р (от 512 до 1024 бит), числа q, X, r, s имеют длину по 160 бит, сокращая длину подписи до 320 бит.
2. Большинство операций с числами К, r, s, Х при вычислении подписи производится по модулю числа q длиной 160 бит, что сокращает время вычисления подписи.
3. При проверке подписи большинство операций с числами u1, u2, v, w также производится по модулю числа q длиной 160 бит, что сокращает объем памяти и время вычисления.
Недостатком алгоритма DSА является то, что при подписывании и при проверке подписи приходится выполнять сложные операции деления по модулю q:
s = ((m + rX)/K) (mod q), w = (1/s) (mod q) ,
что не позволяет получать максимальное быстродействие.
Следует отметить, что реальное исполнение алгоритма DSА может быть ускорено с помощью выполнения предварительных вычислений. Заметим, что значение r не зависит от сообщения М и его хэш-значения m. Можно заранее создать строку случайных значений К и затем для каждого из этих значений вычислить значения r. Можно также заранее вычислить обратные значения К-1 для каждого из значений К. Затем, при поступлении сообщения М, можно вычислить значение s для данных значений r и К-1. Эти предварительные вычисления значительно ускоряют работу алгоритма DSА.
43. Управление криптографическими ключами. Создание ключей.
Управление ключами состоит из процедур, обеспечивающих:
* включение пользователей в систему;
* выработку, распределение и введение в аппаратуру ключей;
* контроль использования ключей;
* смену и уничтожение ключей;
* архивирование, хранение и восстановление ключей.
Управление ключами играет важнейшую роль в криптографии как основа для обеспечения конфиденциальности обмена информацией, идентификации и целостности данных. Важным свойством хорошо спроектированной системы управления ключами является сведение сложных проблем обеспечения безопасности многочисленных ключей к проблеме обеспечения безопасности нескольких ключей, которая может быть относительно просто решена путем обеспечения их физической изоляции в выделенных помещениях и защищенном от проникновения оборудовании. В случае использования ключей для обеспечения безопасности хранимой информации субъектом может быть единственный пользователь, который осуществляет работу с данными в последовательные промежутки времени. Управление ключами в сетях связи включает, по крайней мере, двух субъектов - отправителя и получателя сообщения.
Целью управления ключами является нейтрализация таких угроз, как:
* компрометация конфиденциальности закрытых ключей;
* компрометация аутентичности закрытых или открытых ключей. При этом под аутентичностью понимается знание или возможность проверки идентичности корреспондента, для обеспечения конфиденциальной связи с которым используется данный ключ;
* несанкционированное использование закрытых или открытых ключей, например использование ключа, срок действия которого истек.
Для получения ключей используются аппаратные и программные средства генерации случайных значений ключей. Как правило, применяют датчики псевдослучайных чисел (ПСЧ). Один из методов генерации сеансового ключа для симметричных криптосистем описан в стандарте ANSI X 9.17. Он предполагает использование криптографического алгоритма DES (хотя можно применить и другие симметричные алгоритмы шифрования).
Обозначения: -результат шифрования алгоритмом DES значения X; К- ключ, зарезервированный для генерации секретных ключей; -секретное 64-битовое начальное число; Т- временная отметка. Схема генерации случайного сеансового ключа , в соответствии со стандартом ANSI X 9.17 покачана на рис.8.1. Случайный ключ генерируют, вычисляя значение .
Следующее значение вычисляют так: .
Если необходим 128-битовый случайный ключ, генерируют пару ключей и объединяют их вместе. Если ключ не меняется регулярно, это может привести к его раскрытию и утечке информации. Регулярную замену ключа можно осуществить, используя процедуру модификации ключа.
^ Модификация ключа - это генерирование нового ключа из предыдущего значения ключа с помощью односторонней (однонаправленной) функции. Участники информационного обмена разделяют один и тот же ключ и одновременно вводят его значение в качестве аргумента в одностороннюю функцию, получая один и тот же ре зультат. Затем они берут определенные биты из этих результатов, чтобы создать новое значение ключа.
Генерация ключей для асимметричных криптосистем с открытыми ключами много сложнее, потому что эти ключи должны обладать определенными математическими свойствами (они должны быть очень большими и простыми и т.д.).
44. Управление криптографическими ключами. Безопасное хранение ключей. Мастер-ключи и сеансовые ключи.
Управление ключами состоит из процедур, обеспечивающих:
* включение пользователей в систему;выработку, распределение и введение в аппаратуру ключей;
* контроль использования ключей;смену и уничтожение ключей;
* архивирование, хранение и восстановление ключей.
Управление ключами играет важнейшую роль в криптографии как основа для обеспечения конфиденциальности обмена информацией, идентификации и целостности данных. Важным свойством хорошо спроектированной системы управления ключами является сведение сложных проблем обеспечения безопасности многочисленных ключей к проблеме обеспечения безопасности нескольких ключей, которая может быть относительно просто решена путем обеспечения их физической изоляции в выделенных помещениях и защищенном от проникновения оборудовании. В случае использования ключей для обеспечения безопасности хранимой информации субъектом может быть единственный пользователь, который осуществляет работу с данными в последовательные промежутки времени. Управление ключами в сетях связи включает, по крайней мере, двух субъектов - отправителя и получателя сообщения.
Целью управления ключами является нейтрализация таких угроз, как:
* компрометация конфиденциальности закрытых ключей;
* компрометация аутентичности закрытых или открытых ключей. При этом под аутентичностью понимается знание или возможность проверки идентичности корреспондента, для обеспечения конфиденциальной связи с которым используется данный ключ;
несанкционированное использование закрытых или открытых ключей, например использование ключа, срок действия которого истек.
Под функцией хранения ключей понимают организацию их безопасного хранения, учета и удаления. Носители ключевой информацииКлючевой носитель может быть технически реализован различным образом на разных носителях информации - магнитных дисках, устройствах хранения, ключей типа Touch Memory, пластиковых картах и т. д.
Устройство хранения ключей типа Touch Memory является относительно новым носителем ключевой информации, предложенным американской компанией Dallas Semiconductor. Носитель информации Touch Memory (TM) представляет собой энергонезависимую память, размещенную в металлическом корпусе, с одним сигнальным контактом и одним контактом земли. Корпус ТМ имеет диаметр 16,25 мм и толщину 3,1 или 5,89 мм (в зависимости от модификации прибора).
В структуру ТМ входят следующие основные блоки
* Постоянное запоминающее устройство (ПЗУ) хранит 64-разрядный код, состоящий из байтового кода чипа прибора, 48-битового уникального серийного номера и 8-битовой контрольной суммы Содержимое ПЗУ уникально и не может быть изменено в течение всего срока службы прибора. * Оперативное запоминающее устройство (ОЗУ) емкостью от 128 до 8192 байт содержат практически все модификации ТМ. В одной из модификаций оперативная память аппаратно защищена от несанкционированного доступа. * Встроенная миниатюрная литиевая батарейка со сроком службы не менее 10 лет обеспечивает питанием все блоки устройства. Концепция иерархии ключей.
Необходимость в хранении и передаче ключей, зашифрованных с помощью других ключей, приводит к концепции иерархии ключей. В стандарте ISO 8532 (Banking-Key Management) подробно изложен метод главных/сеансовых ключей (master/session keys). Суть метода состоит в том, что вводится иерархия ключей: главный ключ (ГК), ключ шифрования ключей (КК), ключ шифрования данных (КД).
Иерархия ключей может быть: * двухуровневой (КК/КД); * трехуровневой (ГК/КК/КД). Самым нижним уровнем являются рабочие или сеансовые КД, которые применяются для шифрования данных, персональных идентификационных номеров (PIN) и аутентификации сообщений.
Когда эти ключи надо зашифровать с целью защиты при передаче или хранении, используют ключи следующего уровня - ключи шифрования ключей. Ключи шифрования ключей никогда не должны использоваться как сеансовые (рабочие) КД, и наоборот.
Cтандарт устанавливает, что различные типы рабочих ключей (например, для шифрования данных, для аутентификации и т.д.) должны всегда шифроваться с помощью различных версий ключей шифрования ключей. В частности, ключи шифрования ключей, используемые для пересылки ключей между двумя узлами сети, известны также как ключи обмена между узлами сети (cross domain keys). Обычно в канале используются два ключа для обмена между узлами сети, по одному и каждом направлении. Поэтому каждый узел сети будет иметь ключ отправления для обмена с узлами сети и ключ получения для каждого канала, поддерживаемого другим узлом сети
На верхнем уровне иерархии ключей располагается главный ключ, мастер-ключ. Этот ключ применяют для шифрования КК. когда требуется сохранить их на диске. Обычно в каждом компьютере используется только один мастер-ключ. Проблема аутентификации мастер-ключа может быть решена различными путями. Один из способов аутентификации показан на рис.8.2. Администратор, получив новое значение мастер-ключа хост-компьютера, шифрует некоторое сообщение М ключом . Пара (криптограмма , сообщение М) помещается в память компьютера. Всякий раз, когда требуется аутентификация мастерключа хост-компьютера, берется сообщение М из памяти и подается в криптографическую систему. Получаемая криптограмма сравнивается с криптограммой, хранящейся в памяти. Если они совпадают, считается, что данный ключ является правильным.
Рабочие ключи (например, сеансовый) обычно создаются с помощью псевдослучайного генератора и могут храниться в незащищенном месте. Это возможно, поскольку такие ключи генерируются в форме соответствующих криптограмм, т.е. генератор ПСЧ выдает вместо ключа его криптограмму , получаeмую с помощью мастер-ключа хост-компьютера. Расшифровывание такой криптограммы выполняется только перед использованием ключа . Схема защиты рабочего (сеансового) ключа показана на рис.8.3. Чтобы зашифровать сообщение М ключом , на соответствующие входы криптографической системы подается криптограмма и сообщение М. Криптографическая система сначала восстанавливает ключ , а затем шифрует сообщение М, используя открытую форму сеансового ключа .
Таким образом, безопасность сеансовых ключей зависит от безопасности криптографической системы. Криптографический блок может быть спроектирован как единая СБИС и помещен в физически защищенное место. 45. Управление криптографическими ключами. Способы распространения ключей. Сертификаты.
Управление ключами состоит из процедур, обеспечивающих:
* включение пользователей в систему;выработку, распределение и введение в аппаратуру ключей;
* контроль использования ключей;смену и уничтожение ключей;
* архивирование, хранение и восстановление ключей.
Управление ключами играет важнейшую роль в криптографии как основа для обеспечения конфиденциальности обмена информацией, идентификации и целостности данных. Важным свойством хорошо спроектированной системы управления ключами является сведение сложных проблем обеспечения безопасности многочисленных ключей к проблеме обеспечения безопасности нескольких ключей, которая может быть относительно просто решена путем обеспечения их физической изоляции в выделенных помещениях и защищенном от проникновения оборудовании. В случае использования ключей для обеспечения безопасности хранимой информации субъектом может быть единственный пользователь, который осуществляет работу с данными в последовательные промежутки времени. Управление ключами в сетях связи включает, по крайней мере, двух субъектов - отправителя и получателя сообщения.
Целью управления ключами является нейтрализация таких угроз, как:
* компрометация конфиденциальности закрытых ключей;
* компрометация аутентичности закрытых или открытых ключей. При этом под аутентичностью понимается знание или возможность проверки идентичности корреспондента, для обеспечения конфиденциальной связи с которым используется данный ключ;
несанкционированное использование закрытых или открытых ключей, например использование ключа, срок действия которого истек.
При использовании симметричной криптосистемы две вступающие в информационный обмен стороны должны сначала согласовать секретный сессионный ключ, то есть ключ для шифрования всех сообщений, передаваемых в процессе обмена. Этот ключ должен быть неизвестен всем остальным и должен периодически обновляться одновременно у отправителя и получателя. Процесс согласования сессионного ключа называют также обменом или распределением ключей. Асимметричная криптосистема предполагает использование двух ключей - открытого и закрытого (секретного). Открытый ключ можно разглашать, а закрытый надо хранить в тайне. При обмене сообщениями необходимо пересылать только открытый ключ, обеспечив его подлинность. К распределению ключей предъявляются следующие требования: − оперативность и точность распределения; − конфиденциальность и целостность распределяемых ключей. Для распределения ключей между пользователями компьютерной сети используются следующие основные способы: 1) Использование одного или нескольких центров распределения ключей. 2) Прямой обмен ключами между пользователями сети. Проблемой первого подхода является то, что центру распределения ключей известно, кому и какие ключи распределены, и это позволяет читать все сообщения, передаваемые по сети. Возможные злоупотребления могут существенно нарушить безопасность сети. При втором подходе проблема состоит в том, чтобы надежно удостовериться в подлинности субъектов сети. Задача распределения ключей сводится к построению такого протокола рас-
пределения ключей, который обеспечивает: − взаимное подтверждение подлинности участников сеанса; − подтверждение достоверности сеанса; − использование минимального числа сообщений при обмене ключами. Остановимся подробнее на втором подходе - прямом обмене ключами между
пользователями сети. При использовании для защищенного информационного обмена криптосистемы с симметричным секретным ключом, два пользователя, желающие обменяться криптографически защищенной информацией, должны обладать общим секретным ключом. Эти пользователи должны обменяться общим ключом по каналу связи безопасным образом. Если пользователи меняют ключ достаточно часто, то доставка ключа превращается в серьезную проблему. Для решения этой проблемы можно применить два основных способа:
1) Использование асимметричной криптосистемы с открытым ключом для защиты секретного ключа симметричной криптосистемы. 2) Использование системы открытого распределения ключей Диффи-Хеллмана. Реализация первого способа, осуществляется в рамках комбинированной криптосистемы с симметричными и асимметричными ключами. При таком подходе симметричная криптосистема применяется для шифрования и передачи исходного открытого текста, а асимметричная криптосистема с открытым ключом - для шифрования, передачи и последующего дешифрования только секретного ключа симметричной криптосистемы. Второй способ безопасного распространения секретных ключей основан на применении алгоритма открытого распределения ключей Диффи-Хеллмана. Этот алгоритм позволяет пользователям обмениваться ключами по незащищенным каналам связи.
Сертификат открытого ключа (сертификат ЭЦП, сертификат ключа подписи, сертификат ключа проверки электронной подписи (согласно ст. 2 Федерального Закона от 06.04.2011 "Об электронной подписи" № 63-ФЗ)) - цифровой или бумажный документ, подтверждающий соответствие между открытым ключом и информацией, идентифицирующей владельца ключа. Содержит информацию о владельце ключа, сведения об открытом ключе, его назначении и области применения, название центра сертификации и т. д.
Открытый ключ может быть использован для организации защищённого канала связи с владельцем двумя способами:
* для проверки подписи владельца (аутентификация)
* для шифрования посылаемых ему данных (конфиденциальность)
Существует две модели организации инфраструктуры сертификатов: централизованная (PKI) и децентрализованная (реализуемая на основе т. н. сетей доверия), получившая наибольшее распространение в сетях PGP.
Сертификаты, как правило, используются для обмена зашифрованными данными в больших сетях. Криптосистема с открытым ключом решает проблему обмена секретными ключами между участниками безопасного обмена, однако не решает проблему доверия к открытым ключам. Предположим, что Алиса, желая получать зашифрованные сообщения, генерирует пару ключей, один из которых (открытый) она публикует каким-либо образом. Любой, кто желает отправить ей конфиденциальное сообщение, имеет возможность зашифровать его этим ключом, и быть уверенным, что только она (так как только она обладает соответствующим секретным ключом) сможет это сообщение прочесть. Однако описанная схема ничем не может помешать злоумышленнику Давиду создать пару ключей, и опубликовать свой открытый ключ, выдав его за ключ Алисы. В таком случае Давид сможет расшифровывать и читать, по крайней мере, ту часть сообщений, предназначенных Алисе, которые были по ошибке зашифрованы его открытым ключом.
Идея сертификата - это наличие третьей стороны, которой доверяют две другие стороны информационного обмена. Предполагается, что таких третьих сторон немного, и их открытые ключи всем известны каким-либо способом, например, хранятся в операционной системе или публикуются в журналах. Таким образом, подлог открытого ключа третьей стороны легко выявляется.
Если Алиса сформирует сертификат со своим публичным ключом, и этот сертификат будет подписан третьей стороной (например, Трентом), любой, доверяющий Тренту, сможет удостовериться в подлинности открытого ключа Алисы. В централизованной инфраструктуре в роли Трента выступает удостоверяющий центр. В сетях доверия Трент может быть любым пользователем, и следует ли доверять этому пользователю, удостоверившему ключ Алисы, решает сам отправитель сообщения.
46. Обмен ключами по алгоритму Диффи-Хеллмана.
Алгори́тм Ди́ффи - Хе́ллмана (англ. Diffie-Hellman, DH) позволяет двум или более пользователям обменяться без посредников ключом, который может быть использован затем для симметричного шифрования. [1]
Данный алгоритм не применяется для шифрования сообщений или формирования электронной подписи. Его назначение - в распределении ключей.
Это была первая криптосистема, которая позволяла защищать информацию без использования секретных ключей, передаваемых по защищенным каналам.
Предположим, существует два абонента: Алиса и Боб. Обоим абонентам известны некоторые два числа g и p, которые не являются секретными и могут быть известны также другим заинтересованным лицам. Для того, чтобы создать неизвестный более никому секретный ключ, оба абонента генерируют большие случайные числа: Алиса - число a, Боб- число b. Затем Алиса вычисляет значение[5] (1): (1)
и пересылает его Бобу , а Боб вычисляет (2): (2)
и передаёт Алисе. Предполагается, что злоумышленник может получить оба этих значения, но не модифицировать их (то есть у него нет возможности вмешаться в процесс передачи).
На втором этапе Алиса на основе имеющегося у ней a и полученного по сети B вычисляет значение (3): (3)Боб на основе имеющегося у него b и полученного по сети A вычисляет значение (4): (4)
Как нетрудно видеть, у Алисы и Боба получилось одно и то же число (5): (5)
Его они и могут использовать в качестве секретного ключа, поскольку здесь злоумышленник встретится с практически неразрешимой (за разумное время) проблемой вычисления (3) или (4) по перехваченным и , если числа p,a,b выбраны достаточно большими. Наглядная работа алгоритма показана на рисунке
При работе алгоритма, каждая сторона:
1. генерирует случайное натуральное число a - закрытый ключ
2. совместно с удалённой стороной устанавливает открытые параметры p и g (обычно значения p и g генерируются на одной стороне и передаются другой), где
p является случайным простым числом
g является первообразным корнем по модулю p
3. вычисляет открытый ключ A, используя преобразование над закрытым ключом
A = ga mod p
4. обменивается открытыми ключами с удалённой стороной
5. вычисляет общий секретный ключ K, используя открытый ключ удаленной стороны B и свой закрытый ключ a
K = Ba mod p
К получается равным с обеих сторон, потому что:
Ba mod p = (gb mod p)a mod p = gab mod p = (ga mod p)b mod p = Ab mod p
В практических реализациях, для a и b используются числа порядка 10100 и p порядка 10300. Число g не обязано быть большим и обычно имеет значение в пределах первого десятка.
Использование алгоритма Диффи-Хеллмана не ограничивается двумя участниками. Он может быть применен на неограниченное количество пользователей. Рассмотрим ситуацию, когда Алиса, Боб и Кэрол вмести генерируют исходный ключ. В данном случае последовательность действий будет следующая[8]:
1. Стороны договариваются о параметрах алгоритма p и g
2. Стороны генерируют свои ключи - a, b и c
3. Алиса вычисляет и посылает его Бобу
4. Боб вычисляет = и посылает его Кэрол
5. Боб вычисляет и посылает его Кэрол
6. Кэрол вычисляет и посылает его Алисе.
7. Алиса вычисляет и использует его как свою тайну.
8. Кэрол вычисляет и посылает его Алисе
9. Алиса вычисляет и посылает его Бобу
10. Боб вычисляет и использует его как свою тайну
В данной ситуации любой участник мог видеть , , , , , , но при этом не может видеть любую комбинацию .
Для того чтобы данный алгоритм был эффективно применен для большой группы людей необходимо соблюдение двух основных принципов:
* Передача ключа должна начинаться с "пустого" ключа g. Весь секрет состоит в повышении текущего значения показателя каждого участника один раз;
* Любое промежуточное значение может быть раскрыто публично, но окончательное значение представляет из себя секретный ключ, которое никогда не должно быть публично раскрыто. Таким образом, каждый пользователь получает свою копию тайного ключа и передает его последующему.
Алгоритм Диффи-Хеллмана так же может быть использован при шифровании с открытым ключом. В этом случае общая схема остаётся аналогичной приведённой выше, но с небольшими отличиями. Алиса не передаёт значения p, g и A Бобу напрямую, а публикует их заранее в качестве своего открытого ключа. Боб выполняет свою часть вычислений, после чего шифрует сообщение симметричным алгоритмом, используя K в качестве ключа, и передает шифротекст Алисе вместе со значением B.Если имеется сообщество пользователей, каждый из пользователей может опубливать открытый ключ X=mod n, в общей базе данных. Если Алиса хочет установить связь с Бобом, ей надо получить открытый ключ Боба и сгенерировать их общий секретный ключ. Алиса может зашифровать сообщение открытым ключом и послать его Бобу. Боб извлечет открытый ключ Алисы и найдет общий секретный ключ. Каждая пара пользователей может использовать свой уникальный секретный ключ, не требуя обмена данными между пользователями. При этом все открытые ключи должны пройти проверку подлинности для того чтобы исключить "человека в середине"Криптографическая стойкость алгоритма Диффи - Хеллмана (то есть сложность вычисления по известным p, g, и , основана на предполагаемой сложности проблемы дискретного логарифмирования.
Протокол Диффи-Хеллмана отлично противостоит пассивному нападению, но в случае реализации атаки "человек посередине" он не устоит. В самом деле, в протоколе ни Алиса, ни Боб не могут достоверно определить, кем является их собеседник, поэтому вполне возможно представить следующую ситуацию, при которой Боб и Алиса установили связь с Меллори, который Алисе выдает себя за Боба, а Бобу представляется Алисой
47. Проблемы безопасности сетей. Источники угроз в сетях. Уязвимости служб и сетевых протоколов. Главных проблем безопасности в сети не так уж и много. Вот их самый краткий, но вполне достаточный перечень:
* Как предотвратить проникновение в сеть и манипуляции с данными?
* Как предотвратить разглашение информации в сети?
* Какие места системы безопасности сети менее всего устойчивы?
* Какова модель предполагаемого нарушителя?
Большинство взломов систем происходит из-за того, что администратору сети поручают несвойственную ему дополнительную обязанность следить за строгим соблюдением пользователями правил работы, которую в большинстве случаев он выполнить не в состоянии. Разглашение информации слишком часто встречается в практике работы сетей потому, что люди постоянно находятся под прессом обстоятельств и не всегда осознают последствия кажущихся им мелкими действий.
Нужно защищать все компоненты системы: оборудование, программы, данные и персонал. Система защиты должна быть многоуровневой и строиться по уровням секретности. Для надежной защиты необходимо распределить функции между этими уровнями так, чтобы осуществлялось необходимое дублирование функций защиты и происходила компенсация недостатков одного уровня другим. Криптографическая защита должна быть применена на всех верхних уровнях, однако ее применение должно соответствовать предполагаемым угрозам.
Сотрудники служб компьютерной безопасности и антихакеры делят всех нарушителей на четыре группы по отношению к жертве:
* не знающие фирму посторонние; знающие фирму посторонние и бывшие сотрудники;
* служащие непрограммисты; служащие программисты.
Консорциум ISTF выделил 12 областей информационной безопасности, на которых в первую очередь должны сконцентрировать свое внимание создатели электронного бизнеса, чтобы обеспечить его работоспособность. Этот список, в частности, включает:
• аутентификацию (механизм объективного подтверждения идентифицирующей информации);
• право на частную, персональную информацию (обеспечение конфиденциальности информации);
• определение событий безопасности (Security Events);
• защиту корпоративного периметра;
• определение атак;
• контроль за потенциально опасным содержимым;
• контроль доступа;
• администрирование;
• реакцию на события (Incident Response). Рекомендации ISTF предназначены для существующих или вновь образуемых компаний электронной коммерции и электронного бизнеса.
Для реализации основных функциональных компонентов системы безопасности для электронного бизнеса применяются различные методы и средства защиты информации:
• защищенные коммуникационные протоколы; • средства криптографии;• механизмы аутентификации и авторизации; • средства контроля доступа к рабочим местам сети и из сетей общего пользования; • антивирусные комплексы;• программы обнаружения атак и аудита;
• средства централизованного управления контролем доступа пользователей, а также безопасного обмена пакетами данных и сообщениями любых приложений по открытым IP-сетям.
Анализ наиболее распространенных угроз, которым подвержены современные проводные корпоративные сети, показывает, что источники угроз могут изменяться от неавторизованных вторжений злоумышленников до компьютерных вирусов, при этом весьма существенной угрозой безопасности являются человеческие ошибки. Необходимо учитывать, что источники угроз безопасности могут находиться как внутри КИС - внутренние источники, так и вне ее - внешние источники. Такое деление вполне оправдано потому, что для одной и той же угрозы (например кражи) методы противодействия для внешних и внутренних источников различны. Знание возможных угроз, а также уязвимых мест КИС необходимо для выбора наиболее эффективных средств обеспечения безопасности.
Подслушивание (sniffing). В основном данные по компьютерным сетям передаются в незащищенном формате (открытым текстом), что позволяет злоумышленнику, получившему доступ к линиям передачи данных в сети подслушивать или считывать трафик. Для подслушивания в компьютерных сетях используют сниффер. Сниффер пакетов представляет собой прикладную программу, которая перехватывает все сетевые пакеты, передаваемые через определенный домен.
В настоящее время снифферы работают в сетях на вполне законном основании. Они используются для диагностики неисправностей и анализа трафика. Однако ввиду того, что некоторые сетевые приложения передают данные в текстовом формате (Telnet, FTP, SMTP, РОРЗ и т. д.), с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли).
Изменение данных. Злоумышленник, получивший возможность прочитать ваши данные, сможет сделать и следующий шаг - изменить их. Данные в пакете могут быть изменены, даже если злоумышленник ничего не знает ни об отправителе, ни о получателе. Даже если вы не нуждаетесь в строгой конфиденциальности всех передаваемых данных, то наверняка не захотите, чтобы они были изменены по пути.
Анализ сетевого трафика. Целью атак подобного типа является прослушивание каналов связи и анализ передаваемых данных и служебной информации для изучения топологии и архитектуры построения системы, получения критической пользовательской информации (например, паролей пользователей или номеров кредитных карт, передаваемых в открытом виде). Атакам этого типа подвержены такие протоколы, как FTP или Telnet, особенностью которых является то, что имя и пароль пользователя передаются в рамках этих протоколов в открытом виде.
Подмена доверенного субъекта. Большая часть сетей и ОС используют IP-адрес компьютера, для того чтобы определять, тот ли это адресат, который нужен. В некоторых случаях возможно некорректное присвоение IP-адреса (подмена IP-адреса отправителя другим адресом). Такой способ атаки называют фальсификацией адреса (IP-spoofing).
Посредничество. Эта атака подразумевает активное подслушивание, перехват и управление передаваемыми данными невидимым промежуточным узлом. Когда компьютеры взаимодействуют на низких сетевых уровнях, они не всегда могут определить, с кем именно они обмениваются данными.
Посредничество в обмене незашифрованными ключами (атака man-in-the-middle). Для проведения атаки man-in-the-middle (че-ловек-в-середине) злоумышленнику нужен доступ к пакетам, передаваемым по сети. Такой доступ ко всем пакетам, передаваемым от провайдера ISP в любую другую сеть, может, например, получить сотрудник этого провайдера. Для атак этого типа часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации.
Перехват сеанса (session hijacking). По окончании начальной процедуры аутентификации соединение, установленное законным пользователем, например с почтовым сервером, переключается злоумышленником на новый хост, а исходному серверу выдается команда разорвать соединение. В результате "собеседник" законного пользователя оказывается незаметно подмененным.
Отказ в обслуживании (Denial of Service, DoS). Эта атака отличается от атак других типов: она не нацелена на получение доступа к сети или на получение из этой сети какой-либо информации. Атака DoS делает сеть организации недоступной для обычного использования за счет превышения допустимых пределов функционирования сети, ОС или приложения. По существу, она лишает обычных пользователей доступа к ресурсам или компьютерам сети организации.
Большинство атак DoS опирается на общие слабости системной архитектуры. В случае использования некоторых серверных приложений (таких как web-сервер или FTP-сервер) атаки DoS могут заключаться в том, чтобы занять все соединения, доступные для этих приложений, и держать их в занятом состоянии, не допуская обслуживания обычных пользователей. В ходе атак
DoS могут использоваться обычные Интернет-протоколы, такие как TCP и ICMP (Internet Control Message Protocol).
Парольные атаки. Их цель - завладение паролем и логином законного пользователя. Злоумышленники могут проводить парольные атаки, используя такие методы, как:
• подмена IP-адреса (IP-спуфинг);
• подслушивание (сниффинг);
• простой перебор.
Угадывание ключа. Криптографический ключ представляет собой код или число, необходимое для расшифровки защищенной информации. Хотя узнать ключ доступа не просто и требует больших затрат ресурсов, тем не менее это возможно. В частности, для определения значения ключа может быть использована специальная программа, реализующая метод полного перебора.
Компьютерные вирусы, сетевые "черви", программа "троянский конь". Вирусы представляют собой вредоносные программы, которые внедряются в другие программы для выполнения определенной нежелательной функции на рабочей станции конечного пользователя. Вирус обычно разрабатывается злоумышленниками таким образом, чтобы как можно дольше оставаться необнаруженным в компьютерной системе.
Атаки на уровне приложений могут проводиться несколькими способами.
Самый распространенный из них состоит в использовании известных слабостей серверного ПО (FTP, HTTP, web-сервера).
Главная проблема с атаками на уровне приложений состоит в том, что они часто пользуются портами, которым разрешен проход через межсетевой экран. Сведения об атаках на уровне приложений широко публикуются, чтобы дать возможность администраторам исправить проблему с помощью коррекционных модулей (патчей). К сожалению, многие хакеры также имеют доступ к этим сведениям, что позволяет им учиться.
Сетевая разведка - это сбор информации о сети с помощью общедоступных данных и приложений. При подготовке атаки против какой-либо сети хакер, как правило, пытается получить о ней как можно больше информации.
Сетевая разведка проводится в форме запросов DNS, эхо-тестирования (ping sweep) и сканирования портов. Запросы DNS помогают понять, кто владеет тем или иным доменом и какие адреса этому домену присвоены.
48. Политика сетевой безопасности. Правила доступа к ресурсам. Межсетевые экраны. Компоненты межсетевых экранов. Политика безопасности - правила, директивы и практические навыки, которые определяют то, как информационные ценности обрабатываются, защищаются и распространяются в организации и между информационными системами; набор критериев для предоставления сервисов безопасности.
Политика сетевой безопасности каждой организации должна включать две составляющие:
политику доступа к сетевым сервисам;
политику реализации межсетевых экранов.
В соответствии с политикой доступа к сетевым сервисам определяется список сервисов Internet, к которым пользователи должны иметь ограниченный доступ. Задаются также ограничения на методы доступа, например, на использование протоколов SLIP (Serial Line Internet Protocol) и РРР (Point-to-Point Protocol). Ограничение методов доступа необходимо для того, чтобы пользователи не могли обращаться к "запрещенным" сервисам Internet обходными путями. Например, если для ограничения доступа в Internet сетевой администратор устанавливает специальный шлюз, который не дает возможности пользователям работать в системе WWW, они могли бы установить РРР-соединения с Web-серверами по коммутируемой линии.
Политика доступа к сетевым сервисам обычно основывается на одном из следующих:
1) запретить доступ из Internet во внутреннюю сеть, но разрешить доступ из внутренней сети в Internet;
2) разрешить ограниченный доступ во внутреннюю сеть из Internet, обеспечивая работу только отдельных "авторизированных" систем, например почтовых серверов.
В соответствии с политикой реализации межсетевых экранов определяются правила доступа к ресурсам внутренней сети. Прежде всего, необходимо установить, насколько "доверительной" или "подозрительной" должна быть система защиты. Иными словами, правила доступа к внутренним ресурсам должны базироваться на одном из следующих принципов:
1) запрещать все, что не разрешено в явной форме;
2) разрешать все, что не запрещено в явной форме.
Реализация межсетевого экрана на основе первого принципа обеспечивает значительную защищенность. Однако правила доступа, сформулированные в соответствии с этим принципом, могут доставлять большие неудобства пользователям, а кроме того, их реализация обходится достаточно дорого. При реализации второго принципа внутренняя сеть оказывается менее защищенной от нападений хакеров, однако, пользоваться ей будет удобнее и потребуется меньше затрат.
Эффективность защиты внутренней сети с помощью межсетевых экранов зависит не только от выбранной политики доступа к сетевым сервисам и ресурсам внутренней сети, но и от рациональности выбора и использования основных компонентов межсетевого экрана.
Межсетевой экран или брандмауэр (по-нем. brandmauer, по-англ. firewall, по-рус. граница огня) - это система или комбинация систем, позволяющих разделить сеть на две или более частей и реализовать набор правил, определяющих условия прохождения пакетов из одной части в другую (см. рис.1). Чаще всего эта граница проводится междулокальной сетью предприятия и INTERNET, хотя ее можно провести и внутри локальной сети предприятия. Брандмауэр, таким образом, пропускает через себя весь трафик. Для каждого проходящего пакета брандмауэр принимает решение пропускать его или отбросить. Для того чтобы брандмауэр мог принимать эти решения, ему необходимо определить набор правил. О том, как эти правила описываются и какие параметры используются при их описании, речь пойдет чуть позже.
В настоящее время не существует единой и общепризнанной классификации межсетевых экранов. Выделим следующие классы межсетевых экранов:
Фильтрующие маршрутизаторы. Шлюзы сеансового уровня.Шлюзы уровня приложений.
Эти категории можно рассматривать как базовые компоненты реальных межсетевых экранов. Лишь немногие межсетевые экраны включают лишь одну из перечисленных категорий. Тем не менее эти компоненты отражают ключевые возможности, отличающие межсетевые экраны друг от друга.
49. Сравнительный анализ основных схем сетевой защиты на базе межсетевых экранов. При подключении корпоративной или локальной сети к глобальным сетям администратор сетевой безопасности должен решать следующие задачи: * защита корпоративной или локальной сети от несанкционированного доступа со стороны глобальной сети; * скрытие информации о структуре сети и ее компонентов от пользователей глобальной сети, * разграничение доступа в защищаемую сеть из глобальной сети и из защищаемой сети в глобальную сеть. Для защиты корпоративной или локальной сети применяются следующие основные схемы организации межсетевых экранов:
* межсетевой экран - фильтрующий маршрутизатор; * межсетевой экран на основе двухпортового шлюза; * межсетевой экран на основе экранированного шлюза; * межсетевой экран - экранированная подсеть. Межсетевой экран, основанный на фильтрации пакетов, является самым распространенным и наиболее простым в реализации. Он состоит из фильтрующего маршрутизатора, расположенного между защищаемой сетью и сетью Internet (рис. 11.6). Фильтрующий маршрутизатор сконфигурирован для блокирования или фильтрации входящих и исходящих пакетов на основе анализа их адресов и портов. ^ Рис. 11.6. Межсетевой экран на основе фильтрующего маршрутизатора
Компьютеры, находящиеся в защищаемой сети, имеют прямой доступ в сеть Internet, в то время как большая часть доступа к ним из Internet блокируется. Часто блокируются такие опасные службы, как Х Windows, NIS и NFS.
^ Межсетевой экран на базе двухпортового прикладного шлюза включает двудомный хост-компьютер с двумя сетевыми интерфейсами. При передаче информации между этими интерфейсами и осуществляется основная фильтрация. Для обеспечения дополнительной защиты между прикладным шлюзом и сетью Internet обычно размещают фильтрующий маршрутизатор (рис. 11.7). В результате между прикладным шлюзом и маршрутизатором образуется внутренняя экранированная подсеть. Эту подсеть можно использовать для размещения доступных извне информационных серверов.
Рис. 11.7. Межсетевой экран с прикладным шлюзом и фильтрующим маршрутизатором
Межсетевой экран на основе экранированного шлюза объединяет фильтрующий маршрутизатор и прикладной шлюз, разрешаемый со стороны внутренней сети. Прикладной шлюз реализуется на хост - компьютере и имеет только один сетевой интерфейс(рис11.8)
Рис 11.8. Межсетевой экран с экранизированным шлюзом
Основной недостаток схемы межсетевого экрана с экранированным шлюзом заключается в том, что если атакующий нарушитель сумеет проникнуть в хост-компьютер, то перед ним окажутся незащищенные системы внутренней сети. Другой недостаток связан с возможной компрометацией маршрутизатора. Если маршрутизатор окажется скомпрометированным, внутренняя сеть станет доступна атакующему нарушителю.
Межсетевой экран, состоящий из экранированной подсети, представляет собой развитие схемы межсетевого экрана на основе экранированного шлюза. Для создания экранированной подсети используются два экранирующих маршрутизатора (рис 11.9)
Рис. 11.9. Межсетевой экран - экранизированная подсеть
Внешний маршрутизатор защищает от сети internet как экранированную подсеть, так и внутреннюю сеть. Он должен пересылать трафик согласно следующим правилам: * разрешается трафик от объектов internet к прикладному шлюзу; * разрешается трафик от прикладного шлюза к internet; * разрешается трафик электронной почты от internet к серверу электронной почты; * разрешается трафик электронной почты от сервера электронной почты к internet; * разрешается трафик FTP, Gopher и т.д. от internet к информационному серверу; * запрещается остальной трафик. Внутренний маршрутизатор защищает внутреннюю сеть как от Internet, так и от экранированной подсети. Внутренний маршрутизатор осуществляет большую часть пакетной фильтрации. Он управляет трафиком к системам внутренней сети и от них в соответствии со следующими правилами: * разрешается трафик от прикладного шлюза к системам сети; * разрешается прикладной трафик от систем сети к прикладному шлюзу; * разрешает трафик электронной почты от сервера электронной почты к системам сети; * разрешается трафик электронной почты от систем сети к серверу электронной почты; * разрешается трафик FTP, Gopher и т.д. от систем сети к информационному серверу; * запрещает остальной трафик. Применение межсетевых экранов для организации виртуальных корпоративных сетей
50. Межсетевые экраны - фильтрующие маршрутизаторы. Достоинства и недостатки фильтрующих маршрутизаторов..
Фильтрующий маршрутизатор представляет собой маршрутизатор или работающую на сервере программу, сконфигурированные таким образом, чтобы фильтровать входящие и исходящие пакеты. Фильтрация пакетов осуществляется на основе информации, содержащейся в TCP- и IP-заголовках пакетов.
Фильтрующий маршрутизатор обычно может фильтровать IP-пакеты на основе группы следующих полей заголовка пакета:
* IP-адрес отправителя; * IP-адрес получателя; * порт отправителя; * порт получателя. Некоторые маршрутизаторы проверяют, с какого сетевого интерфейса маршрутизатора пришел пакет, и затем используют эту информацию как дополнительный критерий фильтрации.
Фильтрация может быть реализована различными способами для блокирования соединений с определенными компьютерами или портами. Например, можно блокировать соединения, идущие от конкретных адресов тех компьютеров и сетей, которые считаются враждебными или ненадежными. Правила фильтрации пакетов формулируются сложно, к тому же обычно не существует средств для проверки их корректности, кроме медленного ручного тестирования. При этом в отсутствие фильтрующего маршрутизатора средств протоколирования (если правила фильтрации пакетов все-таки позволят опасным пакетам пройти через маршрутизатор) такие пакеты не смогут быть выявлены до обнаружения последствий проникновения. Даже если администратору сети удастся создать эффективные правила фильтрации, их возможности останутся ограниченными. Например, администратор задает правило, в соответствии с которым маршрутизатор будет отбраковывать все пакеты с неизвестным адресом отправителя. Однако в данном случае хакер для проникновения внутрь защищенной сети может осуществить атаку, которую называют подменой адреса. В таких условиях фильтрующий маршрутизатор не сумеет отличить поддельный пакет от настоящего и пропустит его.
К положительным качествам фильтрующих маршрутизаторов можно отнести следующие:
* сравнительно невысокая стоимость; * гибкость в определении правил фильтрации; * небольшая задержка при прохождении пакетов. Недостатки фильтрующих маршрутизаторов:
* внутренняя сеть видна (маршрутизируется) из сети Интернет; * правила фильтрации пакетов трудны в описании и требуют очень хороших знаний технологий TCP и UDP; * при нарушении работоспособности межсетевого экрана с фильтрацией пакетов все компьютеры за ним становятся полностью незащищенными либо недоступными; отсутствует аутентификация на пользовательском уровне.
Межсетевой экран, основанный на фильтрации пакетов, является самым распространенным и наиболее простым в реализации, представляя собой фильтрующий маршрутизатор, расположенный между защищаемой сетью и Интернетом.
Фильтрующий маршрутизатор сконфигурирован для блокирования или фильтрации входящих и исходящих пакетов на основе анализа их адресов и портов.
Компьютеры, находящиеся в защищаемой сети, имеют прямой доступ в Интернет, в то время как большая часть доступа к ним из Интернета блокируется. В принципе, фильтрующий маршрутизатор может реализовать любую из политик безопасности, описанных ранее. Однако если маршрутизатор не фильтрует пакеты по порту источника и номеру входного и выходного порта, то реализация политики "запрещено все, что не разрешено" в явной форме может быть затруднена.
Межсетевые экраны, основанные на фильтрации пакетов, имеют те же недостатки, что и фильтрующие маршрутизаторы.
* сложность правил фильтрации, в некоторых случаях совокупность этих правил может стать неуправляемой;
* невозможность полного тестирования правил фильтрации; это приводит к незащищенности сети от не протестированных атак;
* в результате администратору трудно определить, подвергался ли маршрутизатор атаке и скомпрометирован ли он;
* каждый хост-компьютер, связанный с сетью Internet , нуждается в своих средствах усиленной аутентификации.
51. Назначение и особенности работы шлюзов сетевого уровня. Шлюз сетевого уровня иногда называют системой трансляции сетевых адресов или шлюзом сеансового уровня модели OSI. Такой шлюз исключает, прямое взаимодействие между авторизированным клиентом и внешним хост-компьютером. Шлюз сетевого уровня принимает запрос доверенного клиента на конкретные услуги, и после проверки допустимости запрошенного сеанса устанавливает соединение с внешним хост-компьютером. После этого шлюз копирует пакеты в обоих направлениях, не осуществляя их фильтрации.
Шлюз следит за подтверждением (квитированием) связи между авторизированным клиентом и внешним хост-компьютером, определяя, является ли запрашиваемый сеанс связи допустимым. Чтобы выявить допустимость запроса на сеанс связи, шлюз выполняет следующую процедуру.
Когда авторизированный клиент запрашивает некоторый сервис, шлюз принимает этот запрос, проверяя, удовлетворяет ли этот клиент базовым критериям фильтрации (например, может ли DNS-сервер определить IP-адрес клиента и ассоциированное с ним имя). Затем, действуя от имени клиента, шлюз устанавливает соединение с внешним хост-компьютером и следит за выполнением процедуры квитирования связи по протоколу TCP. Эта процедура состоит из обмена TCP-пакетами, которые помечаются флагами SYN (синхронизировать) и АСК (подтвердить). Первый пакет сеанса TCP, помеченный флагом SYN и содержащий произвольное число, например 1000. является запросом клиента на открытие сеанса. Внешний хост-компьютер, получивший этот пакет, посылает в ответ пакет, помеченный флагом АСК и содержащий число, на единицу большее, чем в принятом пакете подтверждая, тем самым прием пакета SYN от клиента. Далее осуществляется обратная процедура: хост-компьютер посылает клиенту пакет SYN с исходным числом (например, 2000), а клиент подтверждает его получение передачей пакета АСК, содержащего число 2001. На этом процесс квитирования связи завершается.
Шлюз сетевого уровня признает запрошенное соединение допустимым только в том случае, если при выполнении процедуры квитирования связи флаги SYN и АСК, а также числа, содержащиеся в TCP-пакетах, оказываются логически связанными между собой.
После того как шлюз определил, что доверенный клиент и внешний хост-компьютер являются авторизированными участниками сеанса TCP, и проверил допустимость этого сеанса, он устанавливает соединение. Начиная с этого момента, шлюз копирует и перенаправляет пакеты туда и обратно, не проводя никакой фильтрации. Он поддерживает таблицу установленных соединений, пропуская данные, относящиеся к одному из сеансов связи, зафиксированных в этой таблице. Когда сеанс завершается, шлюз удаляет соответствующий элемент из таблицы и разрывает цепь. использовавшуюся в данном сеансе.
Для копирования и перенаправления пакетов в шлюзах сетевого уровня применяются специальные приложения, которые называют канальными посредниками, поскольку они устанавливают между двумя сетями виртуальную цепь или канал, а затем разрешают пакетам, которые генерируются приложениями TCP/IP, проходить по этому каналу. Канальные посредники поддерживают несколько служб TCP/IP, поэтому шлюзы сетевого уровня могут использоваться для расширения возможностей шлюзов прикладного уровня, работа которых основывается на программах-посредниках конкретных приложений.
Фактически большинство шлюзов сетевого уровня не являются самостоятельными продуктами, а поставляются в комплекте со шлюзами прикладного уровня. Примерами таких шлюзов являются Gauntlet Internet Firewall компании Trusted Information Systems, Alta Vista Firewall компании DEC и ANS Interlock компании ANS. Например, Alta Vista Firewall использует канальные посредники прикладного уровня для каждой из шести служб TCP/IP, к которым относятся, в частности, FTP, HTTP (Hyper Text Transport Protocol) и telnet. Кроме того, межсетевой экран компании DEC обеспечивает шлюз сетевого уровня, поддерживающий другие общедоступные службы TCP/IP, такие как Gopher и SMTP, для которых межсетевой экран не предоставляет посредников прикладного уровня.
Шлюз сетевого уровня выполняет еще одну важную функцию защиты: он используется в качестве сервера-посредника. Этот сервер-посредник выполняет процедуру трансляции адресов, при которой происходит преобразование внутренних IP-адресов в один "надежный" IP-адрес. Этот адрес ассоциируется с межсетевым экраном, из которого передаются все исходящие пакеты. В результате в сети со шлюзом сетевого уровня все исходящие пакеты оказываются отправленными из этого шлюза, что исключает прямой контакт между внутренней (авторизированной) сетью и потенциально опасной внешней сетью. IP-адрес шлюза сетевого уровня становится единственно активным IP-адресом, который попадает во внешнюю сеть. Таким образом шлюз сетевого уровня и другие серверы-посредники защищают внутренние сети от нападений типа подмены адресов. После установления связи шлюзы сетевого уровня фильтруют пакеты только на сеансовом уровне модели OSI, т.е. не могут проверять содержимое пакетов, передаваемых между внутренней и внешней сетью на уровне прикладных программ. И поскольку эта передача осуществляется "вслепую", хакер, находящийся во внешней сети, может "протолкнуть" свои "вредоносные" пакеты через такой шлюз. После этого хакер обратится напрямую к внутреннему Web-серверу, который сам по себе не может обеспечивать функции межсетевого экрана. Иными словами, если процедура квитирования связи успешно завершена, шлюз сетевого уровня установит соединение и будет "слепо" копировать и перенаправлять все последующие пакеты независимо от их содержимого.Чтобы фильтровать пакеты, генерируемые определенными сетевыми службами, в соответствии с их содержимым необходим шлюз прикладного уровня.
52. Назначение и особенности работы шлюзов прикладного уровня. Полномочный сервер.
Для устранения ряда недостатков, присущих фильтрующим маршрутизаторам, межсетевые экраны должны использовать дополнительные программные средства для фильтрации сообщений сервисов типа TELNET и FTP. Такие программные средства называются полномочными серверами (серверами-посредниками), а хост-компьютер, на котором они выполняются, - шлюзом прикладного уровня.
Шлюз прикладного уровня исключает прямое взаимодействие между авторизированным клиентом и внешним хост-компьютером. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне . Связанные с приложением серверы - посредники перенаправляют через шлюз информацию, генерируемую конкретными серверами.
Для достижения более высокого уровня безопасности и гибкости шлюзы прикладного уровня и фильтрующие маршрутизаторы могут быть объединеныв одном межсетевом экране. В качестве примера рассмотрю сеть, в которой с помощью фильтрующего маршрутизатора блокируются входящие соединения TELNET и FTP. Этот маршрутизатор допускает прохождение пакетов TELNET или FTP только к одному хост-компьютеру - шлюзу прикладного уровня TELNET/FTP. Внешний пользователь, который хочет соединиться с некоторой системой в сети, должен сначала соединиться со шлюзом прикладного уровня, а затем уже с нужным внутренним хост-компьютером. Это осуществляется следующим образом:
1) сначала внешний пользователь устанавливает TELNET-соединение со шлюзом прикладного уровня с помощью протокола TELNET и вводит имя интересующего его внутреннего хост-компьютера;
2) шлюз проверяет IP - адрес отправителя и разрешает или запрещает соединение в соответствии с тем или иным критерием доступа
3) пользователю может потребоваться аутентификация (возможно, с помощью одноразовых паролей);
4) сервер-посредник устанавливает TELNET-соединение между шлюзом и внутренним хост-компьютером;
5)сервер посредник осуществляет передачу информации между этими двумя соединениями;
6) шлюз прикладного уровня регистрирует соединение.
Этот пример наглядно показывает преимущества использования полномочных серверов-посредников.
Полномочные серверы - посредники пропускают только те службы, которые им поручено обслуживать. Иначе говоря, если шлюзы прикладного уровня наделен полномочиями для служб FTP и TELNET, то в защищаемой сети будут разрешены только FTP и TELNE, а все другие службы будут полностью блокированы. Для некоторых организаций такой вид безопасности имеет большое значение, так как он гарантирует, что через межсетевой экран будут пропускаться только те службы , которые считаются безопасными.
Полномочные серверы-посредники обеспечивают возможность фильтрации протокола. Например, некоторые межсетевые экраны, использующие шлюзы прикладного уровня, могут фильтровать FTP - соединения и запрещать использование команды FTP put, чтогарантированно не позволяет ползователям записывать информацию на анонимный FTP-сервер.
В дополнение к фильтрации пакетов многие шлюзы прикладного уровня регистрируют все выполняемые сервером действия и, что особенно важно, предупреждают сетевого администратора о возможных нарушениях защиты. Например, при попытках проникновения в сеть извне BorderWare Firewall Server компании Secure Computing позволяет фиксировать адреса отправителя и получателя пакетов, время, в которое эти попытки были предприняты, и используемый протокол. Межсетевой экран Black Hole компании Milkyway Networks регистрирует все действия сервера и предупреждает администратора о возможных нарушениях, посылая ему сообщение по электронной почте или на пейджер. Аналогичные функции выполняют и ряд других шлюзов прикладного уровня.
Шлюзы прикладного уровня позволяют обеспечить наиболее высокий уровень защиты, поскольку взаимодействие с внешним миром реализуется через небольшое число прикладных полномочных программ-посредников, полностью контролирующих весь входящий и выходящий трафик.
53. Межсетевой экран на основе двухпортового шлюза.
Межсетевой экран на базе двухпортового прикладного шлюза представляет собой хост с двумя сетевыми интерфейсами. При передаче информации между этими интерфейсами и осуществляется основная фильтрация. Для обеспечения дополнительной защиты между прикладным шлюзом и Интернетом размещают фильтрующий маршрутизатор. В результате между прикладным шлюзом и маршрутизатором образуется внутренняя экранированная подсеть. Ее можно использовать для размещения доступного извне информационного сервера. Размещение информационного сервера увеличивает безопасность сети, поскольку даже при проникновении на него злоумышленник не сможет получить доступ к системам сети через шлюз с двумя интерфейсами.
В отличие от схемы межсетевого экрана с фильтрующим маршрутизатором, прикладной шлюз полностью блокирует трафик IP между Интернетом и защищаемой сетью. Только уполномоченные приложения, расположенные на прикладном шлюзе, могут предоставлять услуги и доступ пользователям.
Данный вариант межсетевого экрана реализует политику безопасности, основанную на принципе "запрещено все, что не разрешено в явной форме"; при этом пользователю доступны только те службы, для которых определены соответствующие полномочия. Такой подход обеспечивает высокий уровень безопасности, поскольку маршруты к защищенной подсети известны лишь межсетевому экрану и скрыты от внешних систем.
Рассматриваемая схема организации межсетевого экрана относительно проста и достаточно эффективна. Поскольку межсетевой экран использует хост, то на нем могут быть установлены программы для усиленной аутентификации пользователей. Межсетевой экран может также протоколировать доступ, попытки зондирования и атак системы, что позволяет выявить действия злоумышленников. Шлюз - прикладной шлюз. Информационный сервер - машины , которые должны быть доступны снаружи . Двухпортовый шлюз разбивает сеть на два участка : открытый и замкнутый .
54. Межсетевой экран на основе экранированного шлюза.
Межсетевой экран на основе экранированного шлюза обладает большей гибкостью по сравнению с межсетевым экраном, построенным на основе шлюза с двумя интерфейсами, однако эта гибкость достигается ценой некоторого уменьшения безопасности. Межсетевой экран состоит из фильтрующего маршрутизатора и прикладного шлюза, размещаемого со стороны внутренней сети. Прикладной шлюз реализуется на хосте и имеет только один сетевой интерфейс.
В данной схеме первичная безопасность обеспечивается фильтрующим маршрутизатором, который фильтрует или блокирует потенциально опасные протоколы, чтобы они не достигли прикладного шлюза и внутренних систем. Пакетная фильтрация в фильтрующем маршрутизаторе может быть реализована одним из следующих способов:
* внутренним хостам позволяется открывать соединения с хостами в сети Интернет для определенных сервисов (доступ к ним разрешается среде пакетной фильтрации); * запрещаются все соединения от внутренних хостов (им надлежит использовать уполномоченные приложения на прикладном шлюзе). В подобной конфигурации межсетевой экран может использовать комбинацию двух политик, соотношение между которыми зависит от конкретной политики безопасности, принятой во внутренней сети. В частности, пакетная фильтрация на фильтрующем маршрутизаторе может быть организована таким образом, чтобы прикладной шлюз, используя свои уполномоченные приложения, обеспечивал для систем защищаемой сети сервисы типа Telnet, FTP, SMTP.
Основной недостаток схемы межсетевого экрана с экранированным шлюзом заключается в том, что если атакующий нарушитель сумеет проникнуть в хост, перед ним окажутся незащищенными системы внутренней сети. Другой недостаток связан с возможной компрометацией маршрутизатора. Если маршрутизатор окажется скомпрометированным, внутренняя сеть станет доступна атакующему нарушителю.
Межсетевой экран на основе экранированного шлюза объединяет фильтрующий маршрутизатор и прикладной шлюз, разрешаемый со стороны внутренней сети. Прикладной шлюз реализуется на хост - компьютере и имеет только один сетевой интерфейс
55. Межсетевой экран - экранированная подсеть.
Межсетевой экран, состоящий из экранированной подсети, представляет собой развитие схемы межсетевого экрана на основе экранированного шлюза. Для создания экранированной подсети используются два экранирующих маршрутизатора. Внешний маршрутизатор располагается между Интернетом и экранируемой подсетью, а внутренний - между экранируемой подсетью и защищаемой внутренней сетью. В экранируемую подсеть входит прикладной шлюз, а также могут включаться информационные серверы и другие системы, требующие контролируемого доступа. Эта схема межсетевого экрана обеспечивает высокий уровень безопасности благодаря организации экранированной подсети, которая еще лучше изолирует внутреннюю защищаемую сеть от Интернета.
Внешний маршрутизатор защищает от вторжений из Интернета как экранированную подсеть, так и внутреннюю сеть. Внешний маршрутизатор запрещает доступ из Глобальной сети к системам внутренней сети и блокирует весь трафик к Интернету, идущий от систем, которые не должны являться инициаторами соединений.
Этот маршрутизатор может быть использован также для блокирования других уязвимых протоколов, которые не должны передаваться к хост-компьютерам внутренней сети или от них.
Внутренний маршрутизатор защищает внутреннюю сеть от несанкционированного доступа как из Интернета, так и внутри экранированной подсети. Кроме того, он осуществляет большую часть пакетной фильтрации, а также управляет трафиком к системам внутренней сети и от них.
Межсетевой экран с экранированной подсетью хорошо подходит для защиты сетей с большими объемами трафика или с высокими скоростями обмена.
К его недостаткам можно отнести то, что пара фильтрующих маршрутизаторов нуждается в большом внимании для обеспечения необходимого уровня безопасности, поскольку из-за ошибок в их конфигурировании могут возникнуть провалы в системе безопасности всей сети. Кроме того, существует принципиальная возможность доступа в обход прикладного шлюза.
Межсетевой экран, состоящий из экранированной подсети, представляет собой развитие схемы межсетевого экрана на основе экранированного шлюза. Для создания экранированной подсети используются два экранирующих маршрутизатора
Внешний маршрутизатор защищает от сети internet как экранированную подсеть, так и внутреннюю сеть. Он должен пересылать трафик согласно следующим правилам: * разрешается трафик от объектов internet к прикладному шлюзу; * разрешается трафик от прикладного шлюза к internet; * разрешается трафик электронной почты от internet к серверу электронной почты; * разрешается трафик электронной почты от сервера электронной почты к internet; * разрешается трафик FTP, Gopher и т.д. от internet к информационному серверу; * запрещается остальной трафик. Внутренний маршрутизатор защищает внутреннюю сеть как от Internet, так и от экранированной подсети. Внутренний маршрутизатор осуществляет большую часть пакетной фильтрации. Он управляет трафиком к системам внутренней сети и от них в соответствии со следующими правилами: * разрешается трафик от прикладного шлюза к системам сети; * разрешается прикладной трафик от систем сети к прикладному шлюзу; * разрешает трафик электронной почты от сервера электронной почты к системам сети; * разрешается трафик электронной почты от систем сети к серверу электронной почты; * разрешается трафик FTP, Gopher и т.д. от систем сети к информационному серверу; * запрещает остальной трафик. 56. Сетевая трансляция адресов и портов межсетевыми экранами.
Любой сети, желающей подключиться к Интернет, необходим набор IP адресов, которые может выделить любая имеющая на это право организация. Существуют три класса IP адресов: класс А, внутри которого можно описать до 16777214 хостов, класс В, позволяющий описать до 65533 хостов и класс С с 254 хостами. Трансляция сетевых адресов - это технология, которая позволяет использовать для внутренней сети любые адреса, возможно даже из класса А; при этом сохраняется одновременный и прозрачный доступ в Интернет для всех хостов. Механизм функционирования такого процесса достаточно прост: каждый раз, когда хост с зарезервированным адресом пытается получить доступ в Интернет, межсетевой экран контролирует эту попытку и автоматически преобразует его адрес в разрешенный. Когда хост назначения отвечает и посылает данные на разрешенный адрес, межсетевой экран преобразует его обратно в зарезервированный адрес и передает данные внутреннему хосту. При этом ни клиент, ни сервер не знают о существовании этого преобразования.
Кроме уже упомянутых преимуществ, трансляция сетевых адресов позволяет все хосты внутренней сети сделать невидимыми для внешней сети, что увеличивает уровень безопасности.
Трансляция сетевых адресов не может быть использована для сервисов, которые передают информацию об IP-адресах или портах внутри протокола. Межсетевой экран Aker из сервисов такого вида поддерживает только сервисы FTP и Real Audio/Real Video.
Что представляет собой моя внутренняя сеть?
Внутренняя сеть состоит из хостов, входящих в состав одной или более подсетей, защищенных межсетевым экраном Aker. Сюда включаются также внутренние сетевые устройства, такие как маршрутизаторы, коммутаторы, серверы, клиенты и т.д. В межсетевом экране Aker внутренняя сеть называется частной сетью (Private Network).
Что представляет собой моя внешняя сеть?
Внешние сети состоят из тех хостов, которые не являются частью внутренней сети. Они могут находиться или не находиться под административной ответственностью вашей организиции.
Если организация подключена к Интернет, внешней сетью будет весь Интернет.
Адресация в локальной сети
Независимо от технических возможностей, адреса внутренней сети не следует выбирать случайным образом. Специально для этих целей существуют зарезерезерированные адреса. Эти адреса не присвоены и никогда не будут присвоены какому-либо хосту, непосредственно соединенному с Интернет.
Зарезервированными являются следующие адреса:
От 10.0.0.0 до 10.255.255.255, маска 255.0.0.0 (класс A)
От 172.16.0.0 до 172.31.0.0, маска 255.255.0.0 (класс B)
От 192.168.0.0 до 192.168.255.255, маска 255.255.255.0 (класс C)
Трансляция 1-1 и много - 1
Существуют два различных типа преобразования сетевых адресов: 1-1 и много - 1. Каждый из них обладает своими характерными особенностями. Для улучшения результатов обычно применяют их комбинацию.
Предположим, что некоторая организация получает сеть класса С (обозначим ее А.В.С.0). Эта сеть позволяет описать 254 реальных хоста (адреса А.В.С.0 и А.В.С.255 резервируются для специальных целей и не быть использованы, остаются значения между А.В.С.1 и А.В.С.254). Предположим еще, что локальная сеть состоит из 1000 хостов, которые необходимо подключить к Интернет. Так как реальных адресов недостаточно, необходимо воспользоваться трансляцией сетевых адресов. Поэтому для использования во внутренней сети была выбрана зарезервированная сеть класса А 10.x.x.x c cетевой маской 255.0.0.0.
Межсетевой экран Aker устанавливается на границе между Интернет и внутренней сетью, имеющей адреса из зарезервированной сети. Aker будет выполнять преобразование зарезервированных адресов 10.x.x.x в реальные адреса А.В.С.x. В результате межсетевой экран должен иметь по крайней мере два адреса: реальный адрес, до которого можно добраться через Интернет, и зарезервированный, к которому возможен доступ только из внутренней сети. (Как правило на межсетевом экране устанавливают два или более адаптера, один для внешней сети, а один или более - для внутренней. Возможно, хотя крайне нежелательно установить на межсетевой экран всего один сетевой адаптером, с присвоением реального и зарезервированного адреса одному и тому же адаптеру.)
Предположим, что адрес А.В.С.2 выбран для реального (внешнего) сегмента, а адрес 10.0.0.2 для внутреннего сегмента. Реальный адрес будет использоваться межсетевым экраном для преобразования всех соединений из внутренней сети в Интернет. С внешней стороны все соединения будут выглядеть так, как будто они начинаются на межсетевом экране.
В межсетевом экране Aker такой адрес называется виртуальным адресом (он виртуальный, поскольку на самом деле соединения не инициируются межсетевым экраном). Этот адрес должен быть настроен на одном из сетевых интерфейсов межсетевого экрана. Если на сетевом интерфейсе описано более одного реального адреса, виртуальным адресом может быть любой из них.
При такой схеме все внутренние хосты могут получить доступ к ресурсам Интернет прозрачно, как если бы они имели действительные адреса. Однако при этом внешние хосты не могут образовывать соединения с внутренними (так как внутренние хосты не имеют реальных адресов). Для решения этой проблемы у межсетевого экрана Aker есть таблица статического преобразования, которая выполняет преобразования 1-1 и позволяет имитировать реальный адрес для любого из зарезервированных. Эта таблица называется таблицей серверной трансляции.
Вернемся опять к нашей гипотетической организации. Предположим, что в вашей сети существует WWW сервер с адресом 10.1.1.5. Предположим еще. что вам хотелось бы, чтобы этот сервер предоставлял информацию как для внутренней сети, так и для Интернет. В этом случае нужно так выбрать реальный адрес, чтобы он мог использоваться внешними клиентами для соединения с этим сервером. Положим, что выбранный адрес есть А.В.С.10. Тогда в таблицу статического преобразования должен прибавиться элемент для отображения адреса А.В.С.10 во внутренний адрес 10.1.1.5. С этого момента все обращения к адресу А.В.С.10 будут автоматически направляться по адресу 10.1.1.5
Реальный адрес, выбранный для выполнения преобразования 1-1, нельзя присвоить какому-нибудь хосту. В нашем примере возможны конфигурации, содержащие до 253 серверов во внутренней сети, к которым можно иметь доступ извне (один из 254 допустимых действующих адресов уже использован для преобразования трафика всех клиентов).
Межсетевой экран Aker использует технологию proxy-arp для взаимодействия внешних сетевых устройств (например, внешний маршрутизатор) с виртуальными серверами.
57. Антивирусная защита и система обнаружения вторжений на межсетевом экране. Система обнаружения вторжений (СОВ) - программное или аппаратное средство, предназначенное для выявления фактов неавторизованного доступа в компьютерную систему или сеть либо несанкционированного управления ими в основном через Интернет. Соответствующий английский термин - Intrusion Detection System (IDS). Системы обнаружения вторжений обеспечивают дополнительный уровень защиты компьютерных систем.
Системы обнаружения вторжений используются для обнаружения некоторых типов вредоносной активности, которая может нарушить безопасность компьютерной системы. К такой активности относятся сетевые атаки против уязвимых сервисов, атаки, направленные на повышение привилегий, неавторизованный доступ к важным файлам, а также действия вредоносного программного обеспечения (компьютерных вирусов, троянов и червей)
Обычно архитектура СОВ включает:
* сенсорную подсистему, предназначенную для сбора событий, связанных с безопасностью защищаемой системы
* подсистему анализа, предназначенную для выявления атак и подозрительных действий на основе данных сенсоров
* хранилище, обеспечивающее накопление первичных событий и результатов анализа
* консоль управления, позволяющая конфигурировать СОВ, наблюдать за состоянием защищаемой системы и СОВ, просматривать выявленные подсистемой анализа инциденты
Виды систем обнаружения вторжений
В сетевой СОВ, сенсоры расположены на важных для наблюдения точках сети, часто в демилитаризованной зоне, или на границе сети. Сенсор перехватывает весь сетевой трафик и анализирует содержимое каждого пакета на наличие вредоносных компонентов. Протокольные СОВ используются для отслеживания трафика, нарушающего правила определенных протоколов либо синтаксис языка (например, SQL). В хостовых СОВ сенсор обычно является программным агентом, который ведет наблюдение за активностью хоста, на который установлен. Также существуют гибридные версии перечисленных видов СОВ.
* Сетевая СОВ (Network-based IDS, NIDS) отслеживает вторжения, проверяя сетевой трафик и ведет наблюдение за несколькими хостами. Сетевая система обнаружения вторжений получает доступ к сетевому трафику, подключаясь к хабу или свитчу, настроенному на зеркалирование портов, либо сетевое TAP устройство. Примером сетевой СОВ является Snort.
* Основанное на протоколе СОВ (Protocol-based IDS, PIDS) представляет собой систему (либо агента), которая отслеживает и анализирует коммуникационные протоколы со связанными системами или пользователями. Для веб-сервера подобная СОВ обычно ведет наблюдение за HTTP и HTTPS протоколами. При использовании HTTPS СОВ должна располагаться на таком интерфейсе, чтобы просматривать HTTPS пакеты еще до их шифрования и отправки в сеть.
* Основанная на прикладных протоколах СОВ (Application Protocol-based IDS, APIDS) - это система (или агент), которая ведет наблюдение и анализ данных, передаваемых с использованием специфичных для определенных приложений протоколов. Например, на веб-сервере с SQL базой данных СОВ будет отслеживать содержимое SQL команд, передаваемых на сервер.
* Узловая СОВ (Host-based IDS, HIDS) - система (или агент), расположенная на хосте, отслеживающая вторжения, используя анализ системных вызовов, логов приложений, модификаций файлов (исполняемых, файлов паролей, системных баз данных), состояния хоста и прочих источников. Примером является OSSEC.
* Гибридная СОВ совмещает два и более подходов к разработке СОВ. Данные от агентов на хостах комбинируются с сетевой информацией для создания наиболее полного представления о безопасности сети. В качестве примера гибридной СОВ можно привести Prelude.
Пассивные и активные системы обнаружения вторжений
В пассивной СОВ при обнаружении нарушения безопасности, информация о нарушении записывается в лог приложения, а также сигналы опасности отправляются на консоль и/или администратору системы по определенному каналу связи. В активной системе, также известной как Система Предотвращения Вторжений (IPS - Intrusion Prevention system (англ.)), СОВ ведет ответные действия на нарушение, сбрасывая соединение или перенастраивая межсетевой экран для блокирования трафика от злоумышленника. Ответные действия могут проводиться автоматически либо по команде оператора.
Сравнение СОВ и межсетевого экрана
Хотя и СОВ, и межсетевой экран относятся к средствам обеспечения информационной безопасности, межсетевой экран отличается тем, что ограничивает поступление на хост или подсеть определенных видов трафика для предотвращения вторжений и не отслеживает вторжения, происходящие внутри сети. СОВ, напротив, пропускает трафик, анализируя его и сигнализируя при обнаружении подозрительной активности. Обнаружение нарушения безопасности проводится обычно с использованием эвристических правил и анализа сигнатур известных компьютерных атак.
Межсетевой экран сам по себе не панацея от всех угроз для сети. В частности, он:
* не защищает узлы сети от проникновения через "люки" (англ. back doors) или уязвимости ПО;
* не обеспечивает защиту от многих внутренних угроз, в первую очередь - утечки данных;
* не защищает от загрузки пользователями вредоносных программ, в том числе вирусов;
Для решения последних двух проблем используются соответствующие дополнительные средства, в частности, антивирусы. Обычно они подключаются к файрволу и пропускают через себя соответствующую часть сетевого трафика, работая как прозрачный для прочих сетевых узлов прокси, или же получают с файрвола копию всех пересылаемых данных. Однако такой анализ требует значительных аппаратных ресурсов, поэтому обычно проводится на каждом узле сети самостоятельно.
Антивирусная программа (антивирус) - любая программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ вообще и восстановления зараженных (модифицированных) такими программами файлов, а также для профилактики - предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.
58. Аутентификация на межсетевом экране. Методы аутентификации. Прозрачная и непрозрачная аутентификация. Аутентификация является одним из самых важных компонентов брандмауэров. Прежде чем пользователю будет предоставлено право воспользоваться тем или иным сервисом, необходимо убедиться, что он действительно тот, за кого он себя выдает.
Как правило, используется принцип, получивший название "что он знает" - т.е. пользователь знает некоторое секретное слово, которое он посылает серверу аутентификации в ответ на его запрос.
Одной из схем аутентификации является использование стандартных UNIX паролей. Эта схема является наиболее уязвимой с точки зрения безопасности - пароль может быть перехвачен и использован другим лицом.
Брандмауэры на основе маршрутизаторов не обеспечивают аутентификации пользователей. Брандмауэры, в состав которых входят прокси-сервера, обеспечивают следующие типы аутентификации:
Имя/пароль
Это самый плохой вариант, так как эта информация может быть перехвачена в сети или получена путем подглядывания за ее вводом из-за спины и еще тысячей других способов
Одноразовые пароли
Они используют программы или специальные устройства для генерации нового пароля для каждого сеанса. Это означает, что старые пароли не могут быть повторно использованы, если они были перехвачены в сети или украдены другим способом.
Электронные сертификаты
Они используют шифрование с открытыми ключами
Единый вход (прозрачная авторизация) - возможность зарегистрированным пользователям (логин, пароль) на Вашем сайте при переходе в сообщество автоматически авторизоваться в нем.
Единый вход (прозрачная авторизация) и про ее безопасность.
Безопасность прозрачной авторизации для вас обеспечивается тем, что вы сами решаете, какие данные нам предоставляются.
Пользователь идентифицируется нами по cookie, которая должна задаваться с вашей стороны. Имя cookie может быть любым значение, просто некоторый ключ обозначающий текущую сессию пользователя. Она может быть никак не связана с вашей кукой авторизации, потому что она не обязана нести никакой смысловой нагрузки, это просто идентификатор сессии пользователя.
Зачем он нужен? Чтобы запросив вас и указав этот номер, вы могли бы предоставить нам информацию об этом пользователе.
Обязательных параметров всего 2:
1) любой идентификатор пользователя (что угодно, лишь бы для этого пользователя оно было одинаковым, это может быть id в базе или скажем хеш от логина, тогда мы не сможем узнать логин либо еще какие-либо данные, но сможем в следующий раз понять что это опять он)
2) и как его называть, т.е. ник в нашей системе.
Желательно также передавать его email чтобы мы могли оповещать его и ссылку на аватар, чтобы собственно показать его.
Таким образом мы не знаем идентификатор сессии пользователя, не знаем его логин, пароль или еще какие-либо данные, мы никак не можем использовать его аккаунт в вашей системе.
59. Законодательство РФ в области информационной безопасности.
ПРАВОВЫЕ АКТЫ ОБЩЕГО НАЗНАЧЕНИЯ, ЗАТРАГИВАЮЩИЕ ВОПРОСЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
Основным законом Российской Федерации является Конституция, принятая 12 декабря 1993 года.
В соответствии со статьей 24 Конституции, органы государственной власти и органы местного самоуправления, их должностные лица обязаны обеспечить каждому возможность ознакомления с документами и материалами, непосредственно затрагивающими его права и свободы, если иное не предусмотрено законом.
Статья 41 гарантирует право на знание фактов и обстоятельств, создающих угрозу для жизни и здоровья людей, статья 42 - право на знание достоверной информации о состоянии окружающей среды.
В принципе, право на информацию может реализовываться средствами бумажных технологий, но в современных условиях наиболее практичным и удобным для граждан является создание соответствующими законодательными, исполнительными и судебными органами информационных серверов и поддержание доступности и целостности представленных на них сведений, то есть обеспечение их (серверов) информационной безопасности.
Статья 23 Конституции гарантирует право на личную и семейную тайну, на тайну переписки, телефонных переговоров, почтовых, телеграфных и иных сообщений, статья 29 - право свободно искать, получать, передавать, производить и распространять информацию любым законным способом. Современная интерпретация этих положений включает обеспечение конфиденциальности данных, в том числе в процессе их передачи по компьютерным сетям, а также доступ к средствам защиты информации.
В Гражданском кодексе Российской Федерации (в своем изложении мы опираемся на редакцию от 15 мая 2001 года) фигурируют такие понятия, как банковская, коммерческая и служебная тайна. Согласно статье 139, информация составляет служебную или коммерческую тайну в случае, когда информация имеет действительную или потенциальную коммерческую ценность в силу неизвестности ее третьим лицам, к ней нет свободного доступа на законном основании, и обладатель информации принимает меры к охране ее конфиденциальности. Это подразумевает, как минимум, компетентность в вопросах ИБ и наличие доступных (и законных) средств обеспечения конфиденциальности.
Весьма продвинутым в плане информационной безопасности является Уголовный кодекс Российской Федерации (редакция от 14 марта 2002 года). Глава 28 - "Преступления в сфере компьютерной информации" - содержит три статьи:
* статья 272. Неправомерный доступ к компьютерной информации;
* статья 273. Создание, использование и распространение вредоносных программ для ЭВМ;
* статья 274. Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети.
Первая имеет дело с посягательствами на конфиденциальность, вторая - с вредоносным ПО, третья - с нарушениями доступности и целостности, повлекшими за собой уничтожение, блокирование или модификацию охраняемой законом информации ЭВМ. Включение в сферу действия УК РФ вопросов доступности информационных сервисов представляется нам очень своевременным.
Статья 138 УК РФ, защищая конфиденциальность персональных данных, предусматривает наказание за нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений. Аналогичную роль для банковской и коммерческой тайны играет статья 183 УК РФ.
Интересы государства в плане обеспечения конфиденциальности информации нашли наиболее полное выражение в Законе "О государственной тайне" (с изменениями и дополнениями от 6 октября 1997 года). В нем гостайна определена как защищаемые государством сведения в области его военной, внешнеполитической, экономической, разведывательной, контрразведывательной и оперативно-розыскной деятельности, распространение которых может нанести ущерб безопасности Российской Федерации. Там же дается определение средств защиты информации. Согласно данному Закону, это технические, криптографические, программные и другие средства, предназначенные для защиты сведений, составляющих государственную тайну; средства, в которых они реализованы, а также средства контроля эффективности защиты информации. Подчеркнем важность последней части определения.
ЗАКОН "ОБ ИНФОРМАЦИИ, ИНФОРМАТИЗАЦИИ И ЗАЩИТЕ ИНФОРМАЦИИ"
Основополагающим среди российских законов, посвященных вопросам информационной безопасности, следует считать закон "Об информации, информатизации и защите информации" от 20 февраля 1995 года номер 24-ФЗ (принят Государственной Думой 25 января 1995 года). В нем даются основные определения и намечаются направления развития законодательства в данной области.
Процитируем некоторые из этих определений:
* информация - сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления;
* документированная информация (документ) - зафиксированная на материальном носителе информация с реквизитами, позволяющими ее идентифицировать;
* информационные процессы - процессы сбора, обработки, накопления, хранения, поиска и распространения информации;
* информационная система - организационно упорядоченная совокупность документов (массивов документов) и информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы;
* информационные ресурсы - отдельные документы и отдельные массивы документов, документы и массивы документов в информационных системах (библиотеках, архивах, фондах, банках данных, других информационных системах);
* информация о гражданах (персональные данные) - сведения о фактах, событиях и обстоятельствах жизни гражданина, позволяющие идентифицировать его личность;
* конфиденциальная информация - документированная информация, доступ к которой ограничивается в соответствии с законодательством Российской Федерации;
* пользователь (потребитель) информации - субъект, обращающийся к информационной системе или посреднику за получением необходимой ему информации и пользующийся ею.
Мы, разумеется, не будем обсуждать качество данных в Законе определений. Обратим лишь внимание на гибкость определения конфиденциальной информации, которая не сводится к сведениям, составляющим государственную тайну, а также на понятие персональных данных, закладывающее основу защиты последних.
Закон выделяет следующие цели защиты информации:
* предотвращение утечки, хищения, утраты, искажения, подделки информации;
* предотвращение угроз безопасности личности, общества, государства;
* предотвращение несанкционированных действий по уничтожению, модификации, искажению, копированию, блокированию информации;
* предотвращение других форм незаконного вмешательства в информационные ресурсы и информационные системы, обеспечение правового режима документированной информации как объекта собственности;
* защита конституционных прав граждан на сохранение личной тайны и конфиденциальности персональных данных, имеющихся в информационных системах;
* сохранение государственной тайны, конфиденциальности документированной информации в соответствии с законодательством;
* обеспечение прав субъектов в информационных процессах и при разработке, производстве и применении информационных систем, технологий и средств их обеспечения.
Отметим, что Закон на первое место ставит сохранение конфиденциальности информации. Целостность представлена также достаточно полно, хотя и на втором месте. О доступности ("предотвращение несанкционированных действий по ... блокированию информации") сказано довольно мало.
Продолжим цитирование:
"Защите подлежит любая документированная информация, неправомерное обращение с которой может нанести ущерб ее собственнику, владельцу, пользователю и иному лицу".
По сути, это положение констатирует, что защита информации направлена на обеспечение интересов субъектов информационных отношений.
Далее. "Режим защиты информации устанавливается:
* в отношении сведений, отнесенных к государственной тайне, - уполномоченными органами на основании Закона Российской Федерации "О государственной тайне";
* в отношении конфиденциальной документированной информации - собственником информационных ресурсов или уполномоченным лицом на основании настоящего Федерального закона;
* в отношении персональных данных - федеральным законом."
Здесь явно выделены три вида защищаемой информации, ко второму из которых принадлежит, в частности, коммерческая информация. Поскольку защите подлежит только документированная информация, необходимым условием является фиксация коммерческой информации на материальном носителе и снабжение ее реквизитами. Отметим, что в данном месте Закона речь идет только о конфиденциальности; остальные аспекты ИБ забыты.
Обратим внимание, что защиту государственной тайны и персональных данных берет на себя государство; за другую конфиденциальную информацию отвечают ее собственники.
Как же защищать информацию? В качестве основного закон предлагает для этой цели мощные универсальные средства: лицензирование и сертификацию. Процитируем статью 19.
1. Информационные системы, базы и банки данных, предназначенные для информационного обслуживания граждан и организаций, подлежат сертификации в порядке, установленном Законом Российской Федерации "О сертификации продукции и услуг".
2. Информационные системы органов государственной власти Российской Федерации и органов государственной власти субъектов Российской Федерации, других государственных органов, организаций, которые обрабатывают документированную информацию с ограниченным доступом, а также средства защиты этих систем подлежат обязательной сертификации. Порядок сертификации определяется законодательством Российской Федерации.
3. Организации, выполняющие работы в области проектирования, производства средств защиты информации и обработки персональных данных, получают лицензии на этот вид деятельности. Порядок лицензирования определяется законодательством Российской Федерации.
4. Интересы потребителя информации при использовании импортной продукции в информационных системах защищаются таможенными органами Российской Федерации на основе международной системы сертификации.
Здесь трудно удержаться от риторического вопроса: а есть ли в России информационные системы без импортной продукции? Получается, что на защите интересов потребителей стоит в данном случае только таможня...
И еще несколько пунктов, теперь из статьи 22:
2. Владелец документов, массива документов, информационных систем обеспечивает уровень защиты информации в соответствии с законодательством Российской Федерации.
3. Риск, связанный с использованием несертифицированных информационных систем и средств их обеспечения, лежит на собственнике (владельце) этих систем и средств. Риск, связанный с использованием информации, полученной из несертифицированной системы, лежит на потребителе информации.
4. Собственник документов, массива документов, информационных систем может обращаться в организации, осуществляющие сертификацию средств защиты информационных систем и информационных ресурсов, для проведения анализа достаточности мер защиты его ресурсов и систем и получения консультаций.
5. Владелец документов, массива документов, информационных систем обязан оповещать собственника информационных ресурсов и (или) информационных систем о всех фактах нарушения режима защиты информации.
Из пункта 5 следует, что должны обнаруживаться все (успешные) атаки на ИС. Вспомним в этой связи один из результатов опроса (см. лекцию 1): около трети респондентов-американцев не знали, были ли взломаны их ИС за последние 12 месяцев. По нашему законодательству их можно было бы привлечь к ответственности...
Далее, статья 23 "Защита прав субъектов в сфере информационных процессов и информатизации" содержит следующий пункт:
2. Защита прав субъектов в указанной сфере осуществляется судом, арбитражным судом, третейским судом с учетом специфики правонарушений и нанесенного ущерба. Очень важными являются пункты статьи 5, касающиеся юридической силы электронного документа и электронной цифровой подписи:
3. Юридическая сила документа, хранимого, обрабатываемого и передаваемого с помощью автоматизированных информационных и телекоммуникационных систем, может подтверждаться электронной цифровой подписью. Юридическая сила электронной цифровой подписи признается при наличии в автоматизированной информационной системе программно-технических средств, обеспечивающих идентификацию подписи, и соблюдении установленного режима их использования.
4. Право удостоверять идентичность электронной цифровой подписи осуществляется на основании лицензии. Порядок выдачи лицензий определяется законодательством Российской Федерации.
Таким образом, Закон предлагает действенное средство контроля целостности и решения проблемы "неотказуемости" (невозможности отказаться от собственной подписи).
Таковы важнейшие, на наш взгляд, положения Закона "Об информации, информатизации и защите информации". На следующей странице будут рассмотрены другие законы РФ в области информационной безопасности.
60. Оценочные стандарты в области защиты информации (Оранжевая книга, документы Гостехкомиссии РФ). Криптографические стандарты.
С 1983 по 1988 год Министерство обороны США и Национальный комитет компьютерной безопасности разработали систему стандартов в области компьютерной безопасности, которая включает более десяти документов. Этот список возглавляют "Критерии оценки безопасности компьютерных систем", которые по цвету обложки чаще называют "Оранжевой книгой". В 1995 году Национальный центр компьютерной безопасности США опубликовал "Пояснения к критериям безопасности компьютерных систем", объединившие все имеющиеся на тот момент дополнения и разъяснения к "Оранжевой книге".
В "Оранжевой книге" надежная система определяется как "система, использующая достаточные аппаратные и программные средства, чтобы обеспечить одновременную обработку информации разной степени секретности группой пользователей без нарушения прав доступа".
Надежность систем оценивается по двум основным критериям:
* Политика безопасности - набор законов, правил и норм поведения, определяющих, как организация обрабатывает, защищает и распространяет информацию. В частности, правила определяют, в каких случаях пользователь имеет право оперировать с определенными наборами данных. Чем надежнее система, тем строже и многообразнее должна быть политика безопасности. В зависимости от сформулированной политики можно выбирать конкретные механизмы, обеспечивающие безопасность системы. Политика безопасности - это активный компонент защиты, включающий в себя анализ возможных угроз и выбор мер противодействия.
* Гарантированность - мера доверия, которая может быть оказана архитектуре и реализации системы. Гарантированность можно определить тестированием системы в целом и ее компонентов. Гарантированность показывает, насколько корректны механизмы, отвечающие за проведение в жизнь политики безопасности. Гарантированность можно считать пассивным компонентом защиты, надзирающим за самими защитниками.
Основные элементы политики безопасности
Согласно "Оранжевой книге", политика безопасности должна включать в себя по крайней мере следующие элементы:
* произвольное управление доступом - это метод ограничения доступа к объектам, основанный на учете личности субъекта или группы, в которую субъект входит. Произвольность управления состоит в том, что некоторое лицо (обычно владелец объекта) может по своему усмотрению давать другим субъектам или отбирать у них права доступа к объекту;
* безопасность повторного использования объектов - Безопасность повторного использования объектов - важное на практике дополнение средств управления доступом, предохраняющее от случайного или преднамеренного извлечения секретной информации из "мусора". Безопасность повторного использования должна гарантироваться для областей оперативной памяти, в частности для буферов с образами экрана, расшифрованными паролями и т.п., для дисковых блоков и магнитных носителей в целом.;
* метки безопасности- Для реализации принудительного управления доступом с субъектами и объектами используются метки безопасности. Метка субъекта описывает его благонадежность, метка объекта - степень закрытости содержащейся в нем информации.;
* принудительное управление доступом - Принудительное управление доступом основано на сопоставлении меток безопасности субъекта и объекта. Субъект может читать информацию из объекта, если уровень секретности субъекта не ниже, чем у объекта, а все категории, перечисленные в метке безопасности объекта, присутствуют в метке субъекта. В таком случае говорят, что метка субъекта доминирует над меткой объекта. Смысл сформулированного правила понятен - читать можно только то, что положено.
Организационно-техническое обеспечение деятельности Межведомственной комиссии возложено на центральный аппарат Государственной технической комиссии при Президенте Российской Федерации (Гостехкомиссии России).
Гостехкомиссия России является одним из основных органов, решающих проблемы защиты информации в Российской Федерации.
Правовой статус Гостехкомиссии России определен в Положении о Гостехкомиссии России, утвержденном Указом Президента Российской Федерации от 19 февраля 1999 года № 212, а также рядом других нормативных правовых актов.
Согласно Положению Гостехкомиссия России является федеральным органом исполнительной власти, осуществляющим межотраслевую координацию и функциональное регулирование деятельности по обеспечению защиты (некриптографическими методами) информации, содержащей сведения, составляющие государственную или служебную тайну, от ее утечки по техническим каналам, от несанкционированного доступа к ней, от специальных воздействий на информацию в целях ее уничтожения, искажения и блокирования и по противодействию техническим средствам разведки на территории Российской Федерации (далее именуется - техническая защита информации).
Некоторые материалы, связанные с деятельностью Гостехкомиссии России, размещены в сети Интернет по адресам: www.infoteks.ru и www.jet.msk.ru.
Кроме того, Гостехкомиссией России подготовлен проект Каталога "Безопасность информационных технологий", в который войдут отечественная нормативная правовая база в области технической защиты информации, анализ зарубежных нормативных документов по информационной безопасности, перечень лицензиатов Гостехкомиссии России, перечень сертифицированных средств защиты информации и множество другой интересной для специалистов информации.
Основные направления совершенствования законодательства в области информационной безопасности (в том числе и связанного с защитой информации) сформулированы в проекте Концепции совершенствования правового обеспечения информационной безопасности Российской Федерации, который был разработан рабочей комиссией при аппарате Совета Безопасности Российской Федерации. Проект Концепции представлен на обсуждение широкой общественности и размещен в сети Интернет на сайте Совета Безопасности Российской Федерации по адресу: www.gov.ru.
Что касается совершенствования законодательства субъектов Российской Федерации, то оно будет направлено на формирование в рамках единой системы обеспечения информационной безопасности Российской Федерации региональных систем обеспечения информационной безопасности субъектов Российской Федерации.
Таким образом, несмотря на то, что в Российской Федерации за довольно короткое время сформировалась достаточно обширная нормативная правовая база в области информационной безопасности и защиты информации, в настоящее время существует острая необходимость в ее дальнейшем совершенствовании.
В заключение хотелось бы подчеркнуть и о международном сотрудничестве Российской Федерации в области защиты информации.
С учетом исторического опыта в качестве основных партнеров для сотрудничества в данной области Российская Федерация рассматривает государства - члены СНГ. Однако нормативная база по вопросам защиты информации в рамках СНГ развита недостаточно.
Представляется перспективным осуществлять указанное сотрудничество в направлении гармонизации законодательной базы государств, их национальных систем стандартизации, лицензирования, сертификации и подготовки кадров в области защиты информации.
Документ
Категория
Без категории
Просмотров
1 316
Размер файла
1 070 Кб
Теги
informatsia, zaschita, shpory
1/--страниц
Пожаловаться на содержимое документа