Некоммерческое акционерное общество

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

Кафедра инженерной кибернетики

 

 

 

ЗАЩИТА ИНФОРМАЦИИ 

Конспект лекций для cтудентов специальности

5В070200 – Автоматизация и управление

 

 

 

 

Алматы 2011

СОСТАВИТЕЛЬ: Ибраева Л.К. Конспект лекций по дисциплине «Защита информации» для студентов всех форм обучения специальности 5В070200 – «Автоматизация и управление» – Алматы: АУЭС, 2011 – 62 с.

 

     Конспект лекций составлен в соответствии с рабочей программой дисциплины «Защита информации» для студентов всех форм обучения специальности 5В070200 – Автоматизация и управление и содержит 16 лекций.  

    Конспект лекций предназначается в помощь студентам при изучении теоретического материала и для подготовки к экзаменам, лабораторным занятиям, выполнении расчетно-графических работ.

Ил. - 9, библиогр. – 8  назв.

. 

Рецензент: канд. техн. наук, проф. Шевяков Ю.В.

 

Печатается по сводному плану издания некоммерческого акционерного общества «Алматинский университет энергетики и связи» на 2011 г.

 

© НАО «Алматинский университет энергетики и связи», 2011 г.

Введение

Роль информации в современном мире настолько велика, что информационная индустрия стала одной из ведущих отраслей наших дней, а получившие огромное распространение устройства для обработки цифровых данных - компьютеры являются одним из символов нашей цивилизации.  Информация, представленная в самых различных формах, подобно другим товарам производится, хранится, транспортируется к потребителю, продается, покупается, наконец, потребляется, устаревает, портится, и т.д.  Часто стоимость информации превосходит в сотни и тысячи раз стоимость компьютерной системы, в которой она находится. 

 На протяжении жизненного цикла информационные массивы могут подвергаться различным нежелательным для их потребителя воздействиям. Поэтому естественно возникает необходимость в защите информации от несанкционированного доступа, умышленного изменения, кражи, уничтожения. Для решения этой задачи не существует какого-то одного технического приема или средства. Общим в решении многих из них является использование криптографии и криптоподобных преобразований информации. Защита  информационных процессов от целенаправленных попыток отклонить их от нормальных условий протекания, базирующаяся на криптографических преобразованиях данных является криптографической защитой.

Так как информация имеет нематериальный характер, модификация информационного массива не оставляет осязаемых следов на нем и не может быть обнаружена обычными методами.  Поскольку создание и использование информационных массивов практически всегда разделены во времени и/или в пространстве, у потребителя всегда могут возникнуть обоснованные сомнения в том, что полученный им массив данных создан нужным источником и притом в точности таким, каким он дошел до него. Таким образом, в системах обработки информации помимо обеспечения ее секретности важно для каждого обрабатываемого массива данных гарантировать подлинность и авторство. Обеспечение системой обработки данных этих двух качеств массивов информации составляет задачу их аутентификации, а соответствующая способность системы обеспечить надежную аутентификацию данных называется ее аутентичностью. При обработке электронных документов непригодны традиционные способы установления подлинности по рукописной подписи и печати. Принципиально новым решением является электронная цифровая подпись.

            В конспектах лекций рассматриваются основные понятия информационной безопасности информационных систем; принципы криптографической защиты информации в компьютерных системах; симметричные и асимметричные алгоритмы криптографического преобразования данных; вопросы идентификации и аутентификации пользователей и передаваемых данных.

 

Лекция 1 Основные понятия информационной безопасности информационных систем

 

Содержание лекции: понятие безопасности информационной системы; категории безопасности информационной системы и информации.

 

Цель лекции: изучить основные понятия безопасности информационных систем.

1.1  Основные определения

 

Информационная система (ИС) - это взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации для достижения цели управления. В современных условиях основным техническим средством обработки информации является персональный компьютер. Информационный процесс - процесс взаимодействия двух и более субъектов, целью и основным содержанием которого является изменение имеющейся у них информации хотя бы у одного из них. 

Субъект - активный компонент, участник процесса информационного взаимодействия, может быть пользователем (человеком), устройством или компьютерным процессом. Злоумышленник - субъект, оказывающий воздействия на информационный процесс с целью вызвать его отклонение от условий нормального протекания. Злоумышленник идентифицируется набором возможностей по доступу к информационной системе, работу которой он намеревается отклонить от нормы. Считается, что в его распоряжении всегда есть все необходимые для выполнения его задачи технические средства, созданные на данный момент.

Под безопасностью ИС понимают ее защищенность от случайного или преднамеренного вмешательства в нормальный процесс ее функционирования, а также от попыток хищения, изменения или разрушения ее компонентов. Защита информации в компьютерных системах обладает рядом специфических особенностей, связанных с тем, что информация не является жестко связанной с носителем, может легко и быстро копироваться и передаваться по каналам связи.

Угроза безопасности ИС - возможные воздействия на ИС, которые прямо или косвенно могут нанести ущерб ее безопасности.

Уязвимость ИС - свойство системы (неудачное), которое делает возможным возникновение и реализацию угрозы.

Атака на ИС – действие, предпринимаемое злоумышленником, которое заключается в поиске той или иной уязвимости системы. Атака – это реализация угрозы безопасности.

Безопасная или защищенная система – это система со средствами защиты, которые успешно и эффективно противостоят угрозам безопасности.

1.2  Категории информационной безопасности

 

  Информационные системы с точки зрения информационной безопасности обладают следующими категориями:

  - надежность – гарантия того, что система ведет себя в нормальном и внештатном режимах так, как запланировано;

- точность – гарантия точного и полного выполнения всех команд;

- контроль доступа – гарантия того, что различные группы лиц имеют различный доступ к информационным объектам, и эти ограничения доступа постоянно выполняются;

- контролируемость – гарантия того, что в любой момент может быть произведена полноценная проверка любого компонента программного комплекса;

- контроль идентификации – гарантия того, что клиент, подключенный в данный момент к системе, является именно тем, за кого себя выдает;

- устойчивость к умышленным сбоям – гарантия того, что при умышленном внесении ошибок в пределах заранее оговоренных норм система будет вести себя так, как оговорено заранее.

В отношении информации применяются иные категории:

- конфиденциальность – гарантия того, что конкретная информация доступна только тому кругу лиц, для кого она предназначена; нарушение этой категории называется хищением либо раскрытием информации;

  - целостность – гарантия того, что информация сейчас существует в  исходном виде, то есть при ее хранении или передаче не было произведено несанкционированных изменений; нарушение этой категории называется фальсификацией сообщения;

- аутентичность – гарантия того, что источником информации является именно то лицо, которое заявлено как ее автор; нарушение этой категории также называется фальсификацией, но уже автора сообщении;

- апеллируемость – довольно сложная категория, но часто применяемая в электронной коммерции; это гарантия того, что при необходимости можно будет доказать, что автором сообщения является именно заявленный человек, и не может являться никто другой; отличие этой категории от предыдущей в том, что при подмене автора, кто-то другой пытается заявить, что он автор сообщения, а при нарушении апеллируемости – сам автор пытается "откреститься" от своих слов, подписанных им однажды.

 Секретность - свойство данных быть известными и доступными только тому кругу субъектов,  для которого они предназначены и свойство криптосистемы обеспечивать секретность защищаемых данных.

 Безопасность ИС достигается принятием мер по обеспечению конфиденциальности и целостности обрабатываемой ею информации, а также доступности и целостности компонентов и ресурсов системы.

 Под доступом к информации понимается ознакомление с информацией, ее обработка.

Санкционированный доступ к информации - доступ, не нарушающий установленные правила разграничения доступа.

Несанкционированный доступ к информации характеризуется  нарушением установленных правил разграничения доступа (наиболее распространенный вид компьютерных нарушений).

Правила разграничения доступа к информации служат для регламентации права доступа субъектов доступа к объектам доступа.

Комплекс средств защиты – совокупность программных и технических средств, создаваемых и поддерживаемых для обеспечения информационной безопасности ИС.

Политика безопасности – совокупность норм, правил и практических рекомендаций, регламентирующих работу средств защиты ИС от заданного множества угроз безопасности.

Информация, особенно в электронном виде, представлена сотнями различных видов. Информацией можно считать и отдельный файл, и базу данных, и одну запись в ней, и целиком программный комплекс. И все эти объекты могут подвергнуться и подвергаются атакам со стороны некоторой социальной группы лиц. С массовым внедрением компьютеров во все сферы деятельности человека объем информации, хранимой в электронном виде, вырос в тысячи раз. И теперь скопировать за полминуты и унести файл, содержащий важную секретную информацию, намного проще, чем копировать или переписывать кипу бумаг. А с появлением компьютерных сетей даже отсутствие физического доступа к компьютеру перестало быть гарантией сохранности информации. Каждый десятый случай повреждения электронных данных связан с компьютерными атаками.

   При хранении, поддержании и предоставлении доступа к любому информационному объекту его владелец, либо уполномоченное им лицо, накладывает набор правил по работе с ней. Умышленное их нарушение классифицируется как атака на информацию. В современном компьютерном сообществе атаки на информацию стали обыденной практикой. Большинство проблем безопасности возникают из-за злоумышленников, пытающихся извлечь какую-либо пользу для себя или причинить вред другим. Задача обеспечения безопасности информационной системы включает в себя значительно больше, нежели просто устранение программных ошибок. Часто стоит задача перехитрить умного, убежденного и иногда хорошо финансированного противника.

   Злоумышленники используют как ошибки в написании и администрировании программ, так и методы социальной психологии для получения желаемой информации. Также очевидно, что меры, способные остановить случайного нарушителя, мало повлияют на серьезного преступника. Статистика говорит, что большинство атак предпринимается не извне (людьми, прослушивающими линии связи), а изнутри – завистливыми или недовольными чем-либо людьми.

 

   Лекция 2 Основные понятия защиты от угроз безопасности

 

 Содержание лекции: основные угрозы информационной безопасности; комплексная система защиты информации.

 

 Цель лекции: изучить цели информационной безопасности, типы угроз и нарушителей; модели безопасности.

 

   2.1 Ресурсы информационных систем

   Цель информационной безопасности - обеспечить бесперебойную работу организации и свести к минимуму ущерб от событий, таящих угрозу безопасности, посредством их предотвращения и сведения последствий к минимуму. Прежде чем определять задачи системы безопасности, необходимо провести инвентаризацию информационных ресурсов: каждый ресурс и его владелец должны быть четко идентифицированы и задокументированы. Можно привести следующие примеры ресурсов, связанных с информационными системами:

 а) информационные ресурсы: базы данных и файлы данных, системная документация, руководства пользователя, учебные материалы, операционные процедуры и процедуры поддержки, планы обеспечения бесперебойной работы организации, процедуры перехода на аварийный режим;

 б) программные ресурсы: прикладное программное обеспечение, системное программное обеспечение, инструментальные средства и утилиты;

 в) физические ресурсы: компьютеры и коммуникационное оборудование, каналы связи, магнитные носители данных (ленты и диски), другое техническое оборудование (блоки питания, кондиционеры), мебель, помещения.

   Различная информация имеет разную степень конфиденциальности и важности. Систему классификации информации по категориям секретности необходимо использовать для определения соответствующего набора уровней защиты и для уведомления пользователей о необходимости специального обращения с этой информацией. Выходные данные информационных систем, содержащие секретную информацию, должны иметь соответствующий гриф секретности. Примерами таких выходных данных являются печатные отчеты, информация, выводимая на экраны дисплеев, данные, хранимые на магнитных носителях (лентах, дисках, кассетах), электронные сообщения и передаваемые файлы. Примеры грифов: особо секретная, секретная, с ограниченным доступом, для служебного пользования, публичная.

 

 2.2 Основные угрозы безопасности ИС

 С точки зрения защиты информации, компьютерная система рассматривается как набор функциональных услуг. Каждая услуга представляет собой набор функций, которые позволяют противостоять определённому множеству угроз.

    По цели воздействия различают 3 основных типа угроз безопасности ИС:

- угрозы нарушения конфиденциальности информации; 

- угрозы нарушения целостности информации;

- угрозы нарушения работоспособности системы (отказы в обслуживании).

Типы угроз можно классифицировать следующим образом:

а) природного характера: стихийные бедствия (наводнения, ураганы, землетрясения, пожары);

б) технического характера: аварии, сбои и отказы оборудования, средств вычислительной техники и связи;

в) человеческий фактор: ошибки проектирования и разработки компонентов ИС; ошибки эксплуатации (пользователей, операторов, обслуживающего персонала); непреднамеренные действия пользователей и обслуживающего персонала (любопытство); преднамеренные действия нарушителей (преступников, обиженных лиц из числа персонала); развитие технологий (совершенствование технологий написания вирусов, создания средств взлома).

  Типы нарушителя можно классифицировать следующим образом: профессионал, любитель, дилетант, сотрудник предприятия.

     Модель безопасности предполагает выполнение следующих требований:

- определение требований к системе защиты;

- осуществление выбора средств защиты и их характеристик;

- внедрение выбранных мер, способов и средств защиты;

- осуществление контроля целостности и управление системой защиты.

Безопасность информационной системы – это процесс, который можно представить следующей схемой (см.рисунок 2.1).

         Рисунок 2.1 – Схема процесса обеспечения безопасности ИС

2.3 Комплексная система защиты информации

Комплексная система защиты информации (КСЗИ) - это совокупность организационных и инженерных мер, программно-аппаратных средств, которые обеспечивают защиту информации во время её обработки в информационной системе. Первая задача КСЗИ – это организационные меры, то есть выработка официальной политики предприятия в области информационной безопасности. Вторая задача - обеспечение физической безопасности: периметр безопасности должен быть четко определен и должен соответствовать ценности защищаемых ресурсов и сервисов. В-третьих, кроме функциональных критериев, которые позволяют оценить наличие услуг безопасности в компьютерной системе, существуют критерии гарантии, которые позволяют оценить корректность реализации услуг. Критерии гарантии включают требования к архитектуре комплекса средств защиты, среды разработки, последовательности разработки, испытания комплекса средств защиты, среды функционирования и эксплуатационной документации. В-четвертых, необходимо уметь провести оценку ущерба от реализации прогнозируемых угроз.

Применение тех или иных организационных или технических средств защиты зависит не от типа пользователя, а от стоимости информации, которую нужно защищать, то есть от потерь, которые понесёт пользователь в случае нарушения одной или нескольких функций защиты – нарушения конфиденциальности, целостности или доступности информации. Как правило, действительно, чем больше компания, тем больше у неё информации, которая носит конфиденциальный характер и потери компании в этом случае выше. Но и обычный пользователь, например, руководитель той же компании на своём домашнем компьютере может содержать информацию, компрометация которой может обойтись очень дорого. Соответственно, его компьютер должен быть защищён не хуже, чем корпоративная сеть.

Процесс управления КСЗИ должен поддерживаться на протяжении всего жизненного цикла информационной системы. На стадии разработки целью процесса управления КСЗИ является создание средств защиты, которые могли бы эффективно противостоять возможным угрозам и обеспечивали бы дальнейшее соблюдение политики безопасности во время обработки информации. На стадии эксплуатации информационной системы целью процесса управления КСЗИ является оценка эффективности созданной КСЗИ. В результате этой оценки производится выработка дополнительных (уточняющих) требований с целью обеспечения адекватности КСЗИ при изменении начальных условий (характеристик операционной системы, обрабатываемой информации, физической среды, персонала, назначения АС, политики безопасности и  т. д.).

Итак, выбор средств защиты и их стоимость определяются стоимостью защищаемой информации. То есть, не имеет смысла тратиться на средства защиты больше, чем стоит сама информация.

 

Лекция 3 Проблемы защиты информации в компьютерных системах

 

Содержание лекции: обзор возможных способов несанкционированного доступа к информации.

 

Цель лекции: изучить возможные способы несанкционированного жоступа к информации..

 

3.1 Классификация атак на информацию

Реализация угрозы безопасности представляет собой атаку на информацию. Можно предложить следующую классификацию типов атак:

1)     по достигаемой цели: вывод со строя оборудования и служб,  ограничение доступа легальных пользователей к службам; ознакомление с информацией; уничтожение, подмена информации; хулиганство;

2) по способу реализации: активные, пассивные;

3) по сложности: простые, комплексные;

4) по уровню реализации (в многоуровневой модели компьютерных сетей OSI): физический, канальный, транспортный уровни, уровень приложений;

5) по объекту атаки: аппаратная платформа (коммуникационное оборудование, оборудование общего пользования (серверное), клиентское оборудование), программная платформа (коммуникационное оборудование, оборудование общего пользования (серверное), клиентское оборудование), каналы передачи данных;

6) по используемым уязвимостям: уязвимость технологии, уязвимость реализации, ошибки конфигурации и эксплуатации, человеческий фактор;

7) по месту реализации: внутренние, внешние.

Каналы утечки информации по физическим принципам можно классифицировать на следующие группы: акустические (включая вибрационные и акустопреобразовательные); визуально-оптические (наблюдение, фотографирование); электромагнитные (в том числе магнитные, электрические и параметрические); материально-вещественные (бумага, фото, магнитные носители, отходы и т.п.); компьютерный метод съёма (вирусы, закладки, в том числе «back door», «троянские кони», логические бомбы); перехват при передаче по каналам связи (передача данных, аудио- и видеоинформации).

Защита коммуникационного оборудования и каналов связи включает: защиту периметра сети; обеспечение безопасных соединений через публичные сети;  обеспечение безопасности в локальных сетях; обеспечение безопасности беспроводных линий связи.

Использование локальных компьютеров как для передачи и хранения информации, содержащей коммерческую или личную тайну, так и для работы в Internet, требует построения эффективной системы защиты. Рассмотрим, к какому уровню стека протоколов относится система сетевой безопасности. Вероятно, какое-то одно место для нее найти сложно. Каждый уровень должен внести свой вклад. На физическом уровне с подслушиванием можно бороться за счет помещения передающих кабелей в герметичные трубы, наполненные аргоном под высоким давлением. Любая попытка просверлить трубу приведет к утечке части газа из трубы, в результате давление снизится, и это послужит сигналом тревоги. Подобная техника применяется в некоторых военных системах. На уровне передачи данных пакеты, передаваемые по двухточечной линии, могут кодироваться при передаче в линию и декодироваться при приеме. Все детали этого могут быть известны только уровню передачи данных, причем более высокие уровни могут даже не догадываться о том, что там происходит. Однако такое решение перестает работать в том случае, если пакету нужно преодолеть несколько маршрутизаторов, поскольку при этом пакет придется расшифровывать на каждом маршрутизаторе, что сделает его беззащитным перед атаками внутри маршрутизатора. Кроме того, такой метод не позволит защищать отдельные сеансы, требующие защиты (например, осуществление покупок в Интернет-магазинах), и при этом не защищать остальные. Тем не менее, этот метод, называемый шифрованием в канале связи, легко может быть добавлен к любой сети и часто бывает полезен. На сетевом уровне могут быть установлены брандмауэры, позволяющие отвергать подозрительные пакеты, приходящие извне. К этому же уровню относится IP-защита. На транспортном уровне можно зашифровать соединения целиком, от одного конца до другого. Максимальную защиту может обеспечить только такое сквозное шифрование. Наконец, проблемы аутентификации и обеспечения строгого выполнения обязательств могут решаться только на прикладном уроне.

Итак, очевидно, что безопасность в сетях – это вопрос, охватывающий все уровни протоколов. На всех уровнях, за исключением физического, защита информации базируется на принципах криптографии. Поэтому изучение систем безопасности начинается с детального рассмотрения основ криптографии.

 

3.2 Распространенные технологии несанкционированного доступа

Злоумышленники исключительно тщательно изучают системы безопасности перед проникновением в нее. Очень часто они находят очевидные и очень простые методы "взлома" системы, которые создатели просто "проглядели", создавая возможно очень хорошую систему идентификации или шифрования. Когда речь идет о компьютерной безопасности постоянно цитируется правило: "прочность цепи не выше прочности самого слабого ее звена". Например, как бы ни была прочна система, если пароль на доступ к ней лежит в текстовом файле в центральном каталоге или записан на экране монитора – это уже неконфиденциальная система. Очень много примеров, когда разработчики системы защиты забывают или просто не учитывают какие-либо примитивнейшие методы проникновения в систему. Например, при работе в сети Internet не существует надежного автоматического подтверждения того, что данный пакет пришел именно от того отправителя (IP-адреса), который заявлен в пакете. А это позволяет даже при применении самого надежного метода идентификации первого пакета подменять все остальные, просто заявляя, что все они пришли тоже с этого же самого IP-адреса. Все это заставляет разработчиков защищенных систем постоянно помнить о самых простых и очевидных способах проникновения в систему и предупреждать их в комплексе.

Точки входа пользователя в информационную сеть называются терминалами. В том случае, когда к ним имеют доступ несколько человек или вообще любой желающий, при их проектировании и эксплуатации необходимо тщательное соблюдение целого комплекса мер безопасности. При использовании терминалов с физическим доступом необходимо соблюдать следующие требования: защищенность терминала должна соответствовать защищенности помещения; системы контроля за доступом в помещение с установленным терминалом должны работать полноценно и в соответствии с общей схемой доступа к информации.

          При использовании удаленных терминалов необходимо соблюдать следующие правила: любой удаленный терминал должен запрашивать имя регистрации и пароль; необходимо своевременное отключение всех модемов, не требующихся либо не контролируемых в данный момент; из log-in запроса терминала рекомендуется убрать все непосредственные упоминания имени фирмы, ее логотипы и т.п.

  Безотносительно от физического или коммутируемого доступа к терминалу, линия, соединяющая терминал (коммутируемый, либо установленный в публичном месте) с зоной ядра информационной системы должна быть защищена от прослушивания, либо же весь обмен информацией должен вестись по конфиденциальной схеме идентификации и надежной схеме аутентификации клиента (этим занимаются криптосистемы).

Дальнейшие действия взломшика, получившего доступ к терминальной точке входа, могут развиваться по двум основным направлениям: попытки выяснения пароля прямо или косвенно; попытки входа в систему совершенно без знания пароля, основываясь на ошибках в реализации программного или аппаратного обеспечения.

Перебор паролей по словарю являлся некоторое время одной из самых распространенных техник подбора паролей. В настоящее время, как хоть самый малый результат пропаганды информационной безопасности, он стал сдавать свои позиции. Следующей модификацией подбора паролей является проверка паролей, устанавливаемых в системах по умолчанию. В некоторых случаях администратор программного обеспечения, проинсталлировав или получив новый продукт от разработчика, не удосуживается проверить, из чего состоит система безопасности. Как следствие, пароль, установленный в фирме разработчике по умолчанию, остается основным паролем в системе. В сети Интернет можно найти огромные списки паролей по умолчанию практически ко всем версиям программного обеспечения, если они устанавливаются на нем производителем. Поэтому пароль должен тщательно подбираться так, чтобы его информационная емкость соответствовала времени полного перебора пароля; пароли по умолчанию должны быть сменены до официального запуска системы и до публичных испытаний программного комплекса. Особенно это относится к сетевому программному обеспечению.

Следующей по частоте использования является методика получения паролей из самой системы. Однако, здесь уже нет возможности дать какие-либо общие рекомендации, поскольку все методы атаки зависят только от программной и аппаратной реализации конкретной системы. Основными двумя возможностями выяснения пароля являются несанкционированный доступ к носителю, содержащему их, либо использование недокументированных возможностей и ошибок в реализации системы. Первая группа методов основана на том, что любой системе приходится где-либо хранить подлинники паролей всех клиентов для того, чтобы сверять их в момент регистрации. Получение доступа к паролям благодаря недокументированным возможностям систем встречается в настоящее время крайне редко. Ранее эта методика использовалась разработчиками намного чаще в основном в целях отладки, либо для экстренного восстановления работоспособности системы.

Следующей распространенной технологией получения паролей является копирование буфера клавиатуры в момент набора пароля на терминале. Этот метод используется редко, так как для него необходим доступ к терминальной машине с возможностью запуска программ. Но если злоумышленник все-таки получает подобный доступ, действенность данного метода очень высока.

Следующий метод получения паролей относится только к сетевому программному обеспечению. Проблема заключается в том, что во многих программах не учитывается возможность перехвата любой информации, идущей по сети – так называемого сетевого трафика. Современное аппаратное и программное обеспечение позволяет получать всю информацию, проходящую по сегменту сети, к которому подключен конкретный компьютер, и анализировать ее в реальном масштабе времени. Для комплексной защиты от подобной возможности кражи паролей необходимо выполнять следующие меры: физический доступ к сетевым кабелям должен соответствовать уровню доступа к информации; при определении топологии сети следует при любых возможностях избегать широковещательных топологий.

Еще один способ получения паролей – использование социальной психологии: иногда злоумышленники вступают и в прямой контакт с лицами, обладающими нужной им информацией, разыгрывая довольно убедительные сцены.

Для бизнес-класса и частной переписки проблема защиты информации решается гораздо проще с помощью криптографии. Против самых новейших технологий и миллионных расходов здесь стоит математика, и этот барьер до сих пор невозможно преодолеть.

 

 

  Лекция 4. Криптография в информационном обществе

 

  Содержание лекции: применение криптографических методов в компьютерных системах.

 

Цель лекции: изучить современные требования к криптографическим методам.

 

         Для обозначения всей области тайной (секретной) связи используется термин «криптология», который происходит от греческих корней: cryptos – тайный, logos – сообщение. Криптология в настоящее время является новым разделом математики, имеющим важные приложения в современных информационных технологиях и может быть разделена на два направления: криптографию и криптоанализ. Наука, которая учит, как следует поступать, чтобы сохранить содержание сообщений в тайне, называется криптографией. Люди, занимающиеся криптографией – криптологи. Своим превращением в научную дисциплину криптография обязана потребностям практики и развитию электронных информационных технологий.

Специфика криптографии состоит в том, что она направлена на разработку методов, обеспечивающих стойкость к любым действиям злоумышленника, хотя на момент разработки криптосистемы нереально предусмотреть все возможные способы атаки, которые могут быть изобретены в будущем на основе новых достижений теории и технологического процесса. Центральным является вопрос, насколько надежно решается та или иная криптографическая проблема. Ответ на этот вопрос непосредственно связан с оценкой трудоемкости каждой конкретной атаки на криптосистему. Решение такой задачи, как правило, чрезвычайно сложно и составляет самостоятельный предмет исследований, называемый криптоанализом.

 Криптоанализ – наука о вскрытии шифров. Криптоаналитики – специалисты в области криптоанализа. Задача криптографа – обеспечить конфиденциальность (секретность) и аутентичность (подлинность) передаваемых сообщений. Задача криптоаналитика – «взломать» систему защиты, разработанную криптографами. Он пытается раскрыть зашифрованный текст или выдать поддельное сообщение за настоящее.

  Сообщение состоит из открытого текста. Процесс преобразования открытого текста с целью сделать непонятным его смысл для посторонних называется шифрованием.  В результате шифрования получается шифртекст.  Процесс обратного преобразования шифртекста в открытый текст называется расшифрованием. Шифр - совокупность алгоритмов криптографических преобразований, отображающих множество возможных открытых данных на множество возможных зашифрованных данных, и обратных им преобразований.

Криптографическое преобразование -    преобразование данных по криптографическому алгоритму, то есть такое преобразование, часть деталей которого держится в секрете и которое не может быть осуществлено без знания этих деталей. Криптографический алгоритм - алгортим преобразования данных, являющийся секретным полностью или частично, или использующий при работе набор секретных параметров. Криптографический алгоритм, также называемый шифром или алгоритмом шифрования, представляет собой математическую функцию, используемую для шифрования и расшифрования. Точнее, таких функций должно быть две: одна применяется для шифрования, другая – для расшифрования.

 Обозначим открытый текст буквой P (plaintext). Это может быть текстовый файл, битовое изображение, оцифрованный звук и т.д. Единственное ограничение связано с тем, что, поскольку предметом изложения является компьютерная криптография, под  P понимаются двоичные данные. Шифртекст обозначается буквой C (ciphertext) и также представляет собой двоичные данные. Объем полученного шифртекста иногда совпадает с объемом соответствующего открытого текста, а иногда превышает его. После зашифрования преобразованный открытый текст может быть передан по каналам компьютерной сети или сохранен в памяти компьютера. На вход функции шифрования  E подается P, чтобы на выходе получить C. Это можно записать так:

   При обратном преобразовании шифртекста в открытый текст на вход  функции расшифрования D поступает C, а на выходе получается  P:  

   Поскольку смысл любого криптографического преобразования открытого текста состоит в том, чтобы потом этот открытый текст можно было восстановить в первозданном виде, верно следующее соотношение: 

   Криптографическая защита - защита  информационных процессов от целенаправленных        попыток отклонить их от нормальных условий протекания,          базирующаяся на криптографических преобразованиях данных.  Когда надежность криптографического алгоритма обеспечивается за счет сохранения в тайне сути самого алгоритма, алгоритм называется ограниченным. Такие алгоритмы представляют интерес с точки зрения истории криптографии, но непригодны при современных требованиях, предъявляемых к шифрованию. Ведь в этом случае каждая группа пользователей, желающих обмениваться секретными сообщениями, должна обзавестись своим оригинальным алгоритмом шифрования. Применение готового оборудования и стандартных программ исключено. В современной криптографии эти проблемы решаются с помощью использования ключа К (key). Ключ выбирается среди значений, принадлежащих множеству, которое называется пространством ключей. И функция шифрования, и функция расшифрования зависят от ключа:

 

И по-прежнему справедливо:

 Некоторые алгоритмы используют различные ключи для шифрования и расшифрования:

Надежность алгоритма шифрования с использованием ключей достигается за счет их надлежащего выбора и последующего хранения в секрете. Такой алгоритм не требуется держать в секрете. Можно организовать массовое производство криптографических средств, в основу функционирования которых положен данный алгоритм. Знание алгоритма не позволяет прочесть зашифрованное сообщение, так как неизвестен секретный ключ.

 Под криптосистемой понимается алгоритм шифрования, а также множество всевозможных ключей, открытых и шифрованных текстов. Криптоаналитик занимается поисками слабостей в криптосистеме. Если противник узнал ключ не с помощью криптоанализа (а, например, купил или выкрал), то говорят, что ключ был скомпрометирован. Попытка криптоанализа называется атакой. Успешная криптоаналитическая атака зовется взломом или вскрытием.

Пробуждение значительного интереса к криптографии и ее последующее развитие началось в 19 веке, что связано с зарождением электросвязи. В 19 столетии секретные службы большинства развитых стран стали относиться к этой дисциплине как к обязательному инструменту своей деятельности. Весь период с древних времен до 1949 года можно назвать донаучным периодом, поскольку средства закрытия письменной информации не имели строгого математического обоснования. Поворотным моментом, придавшим криптографии научность и выделившим ее в отдельное направление математики, явилась публикация в 1949 году статьи К.Э. Шеннона «Теория связи в секретных системах». Фундаментальным выводом из работы Шеннона стало определение зависимости надежности алгоритма от размера и качества секретного ключа, а также от информационной избыточности исходного текста. Шеннон ввел формальное определение информации и функции ненадежности ключа как его неопределенности при заданном количестве известных битов закрытого текста. Кроме того, им было введено важное понятие расстояния единственности как минимального размера текста, для которого еще возможно однозначное раскрытие исходного текста. Было показано, что расстояние единственности прямо пропорционально длине ключа и обратно пропорционально избыточности исходного текста.

         Другим фундаментальным толчком развития криптографии явилась публикация в 1976 году статьи У.Диффи и М.Е.Хеллмана «Новые направления в крипографии». В этой работе впервые было показано, что секретность передачи информации может обеспечиваться без обмена секретными ключами.

В современной криптологии принято считать, что надежность шифра определяется только секретностью используемого ключа. Это правило впервые сформулировал голландский криптограф А. Керхгофф: считается, что весь механизм шифрования, за исключением значения секретного ключа, предположительно известен противнику. Это обусловлено тем, что криптосистема обычно рассматривается как открытая система. Такой подход отражает очень важный принцип технологии защиты информации: защищенность системы не должна зависеть от секретности чего-либо такого, что невозможно быстро изменить в случае утечки секретной информации. Обычно криптосистема представляет собой совокупность аппаратных и программных средств, которую можно изменить только при значительных затратах времени и средств, тогда как ключ является легко изменяемым объектом. Именно поэтому стойкость криптосистемы определяется только секретностью ключа. Другое почти общепринятое допущение в криптоанализе состоит в том, что криптоаналитик имеет в своем распоряжении шифртексты сообщений.

Правило Керхгоффа стимулировало появление более качественных шифрующих алгоритмов. В настоящее время это правило интерпретируется более широко: все долговременные элементы системы защиты должны предполагаться известными потенциальному злоумышленнику. В последнюю формулировку криптосистемы входят как частный случай систем защиты. К долговременным элементам относятся те элементы, которые связаны со структурой криптосистем защиты и заменяются только специалистами. К легко сменяемым относятся элементы криптосистемы, которые предназначены для частого модифицирования в соответствии с заданным порядком. Легко сменяемыми элементами шифра являются, например, секретный ключ, пароль, идентификатор и т.п. Правило Керхгоффа отражает тот факт, что надлежащий уровень секретности зашифрованной информации должен быть обеспечен только за счет неизвестных легко сменяемых элементов шифра. Действительно, долговременные элементы системы защиты трудно сохранить в тайне, поэтому система должна быть стойкой в случае, когда они являются известными атакующему.

         Несмотря на эти общие требования, шифры, используемые специальными службами, сохраняются, как правило, в секрете. Это обусловлено необходимостью иметь дополнительный запас прочности защиты секретной информации, поскольку в настоящее время создание криптосистем с доказуемой стойкостью является предметом развивающейся теории и представляет собой достаточно сложную проблему.

Лекция 5. Принципы криптографической защиты информации в компьютерных системах

 

  Содержание лекции: классы криптографических систем и операции, используемые в компьютерной криптографии.

 

Цель лекции: изучить применение двоичного кодирования и операции сложения по модулю два.

 

   5.1 Классы криптографических систем

Защита информации в компьютерных системах обладает рядом специфических особенностей, связанных с тем, что информация не является жестко связанной с носителем, может легко и быстро копироваться и передаваться по каналам связи. Вообще говоря, преобразование шифрования может быть симметричным или асимметричным относительно преобразования расшифрования. Это важное свойство функции преобразования определяет два класса криптосистем:  симметричные и асимметричные криптосистемы.

Симметричным называют криптографический алгоритм, в котором ключ, используемый для шифрования сообщений, может быть получен из ключа расшифрования и наоборот. В большинстве симметричных алгоритмов применяют всего один ключ. Такие алгоритмы называют одноключевыми или алгоритмами с секретным ключом, и требуют, чтобы отправитель сообщений и их получатель заранее условились о том, каким  ключом они будут пользоваться. Надежность одноключевого алгоритма определяется выбором ключа. Симметричные алгоритмы бывают двух видов. Одни из них обрабатывают открытый текст побитно. Они называются потоковыми алгоритмами или потоковыми шифрами. Согласно другим, открытый текст разбивается на блоки, состоящие из нескольких бит. Такие алгоритмы называются блочными или блочными шифрами. В современных алгоритмах блочного шифрования обычно длина блока составляет 64 бита.

Асимметричные алгоритмы шифрования, также называемые двухключевыми или алгоритмами шифрования с открытым ключом, устроены так, что ключ, используемый для шифрования сообщений, отличается от ключа, применяемого для их расшифрования. Более того, ключ расшифрования не может быть за обозримое время вычислен, исходя из ключа шифрования. Свое название алгоритмы с открытым ключом получили благодаря тому, что ключ шифрования не надо держать в тайне. Любой может им воспользоваться, чтобы зашифровать свое сообщение, но только обладатель соответствующего секретного ключа расшифрования будет в состоянии прочесть это шифрованное сообщение. Ключ шифрования обычно называют открытым ключом, а ключ расшифрования – секретным ключом.

Суть систем с открытым ключом состоит в следующем. Каждым адресатом генерируются два ключа, связанные между собой по определенному закону. Один ключ объявляется открытым, а другой – закрытым. Открытый ключ публикуется и доступен каждому, кто желает послать сообщение адресату. Закрытый ключ хранится адресатом в тайне. Исходный текст шифруется открытым ключом и передается адресату. Дешифрование возможно только с использованием закрытого ключа.

Криптографические системы с открытым ключом используют односторонние функции, которые обладают следующим свойством: при заданном значении x относительно просто вычислить значение f(x), однако если известно число  y=f(x), то нет простого пути для вычисления значения x. Множество классов необратимых функций и порождает все разнообразие систем с открытым ключом. Однако не всякая необратимая функция годится для использования в реальных системах. В самом определении необратимости присутствует неопределенность. Поэтому, чтобы гарантировать надежную защиту информации к системам с открытым ключом предъявляются два важных и очевидных требования:

1) преобразование исходного текста должно быть необратимым и исключать его восстановление на основе исходного ключа;

2) определение закрытого ключа на основе открытого также должно быть невозможным на современном технологическом уровне. При этом желательна точная нижняя оценка трудоемкости (количества операций) раскрытия шифра.

Надежность алгоритма шифрования зависит от того, насколько легко криптоаналитик может взломать шифр. Если при этом стоимость затрат превышает ценность полученной в результате информации, то владельцу шифра беспокоиться не о чем (возможно). Если время, потраченное на взлом шифра, больше, чем период, в течение которого ваши данные должны храниться в секрете, то они вне опасности (вероятно). Если противник не накопил достаточного количества ваших сообщений для криптоанализа, то время менять шифр не пришло (может быть). Оговорки здесь присутствуют, так как всегда существует шанс, что в криптоанализе произойдут революционные изменения. Свести к минимуму вредные последствия очередного такого прорыва поможет соблюдение простого правила: ценность секретных данных всегда должна быть ниже, чем стоимость преодоления защитных средств, используемых для сохранения этих данных в тайне.

 

          5.2 Операции, необходимые в компьютерной криптографии

При использовании компьютеров предполагается, что сообщение, которое необходимо криптографически преобразовать, прежде всего, переводится в последовательность двоичных цифр. Первоначальный смысл сообщений не интересует, мы будем иметь дело только с их двоичным представлением.

   Можно сказать, что вся современная криптография сводится к подстановкам. В своей простейшей форме подстановка может быть задана с помощью таблицы. Число n! возможных перестановок таблицы с n входами составляет число возможных "ключей". Но, несмотря на это, любая простая алфавитная подстановка легко может быть вскрыта статистическим анализом, основанным на определении частот символов в тексте.

 Для криптографического преобразования данных компьютерами идеально подходит двоичная система счисления, содержащая ровно две цифры, 0 и 1. Используя n двоичных цифр можно записать 2n различных двоичных кодов. Так, используя блок из 5 двоичных цифр, можно записать 25 или 32 различных комбинаций, - более чем достаточно для того, чтобы закодировать 26 букв английского алфавита Если мы хотим поименовать или пометить большее количество элементов, нам придется увеличить наш запас двоичных чисел, просто увеличивая размер цифрового блока. Каждый раз, когда мы увеличиваем размер блока на одну цифру, мы удваиваем число возможных кодов. Следовательно, шестицифровой код обеспечивает 26 или 64 различных кодов - достаточно для того, чтобы включить десятичные цифры, знаки пунктуации и т.д..

Вдобавок к той легкости, с которой двоичные цифры могут быть представлены в электрических схемах (например, наличием или отсутствием сигнала в проводнике), они имеют все полезные свойства обычных десятичных чисел. Так, двоичные числа могут складываться, вычитаться, умножаться и т.д. точно так же, как обычные десятичные числа. Арифметические манипуляции с данными играют жизненно важную роль в криптографических методах, разработанных для компьютеров. Например, для усложнения шифра вместо единственной таблицы подстановок, можно использовать несколько таблиц в хаотичном, но определенном заранее порядке. Порядок использования таблиц и образует ключ. Две таблицы двоичной подстановки эквивалентны двоичному сложению по модулю 2. Чтобы зашифровать двоичное представление буквы сообщения, прибавляют цифры ключа к каждой цифре сообщения. При расшифровании вычитают цифры (это то же самое, что и сложение по модулю 2). Сложение по модулю 2 имеет удобное свойство - вычитание по модулю два есть то же самое, что и сложение, поэтому исходное сообщение может быть восстановлено просто прибавлением последовательности цифр ключа (она известна тому, кому направлено сообщение), к последовательности цифр шифра.

Поскольку этот шифр, в сущности, использует лишь две таблицы подстановки минимального размера, очевидно, что мы должны переключаться между ними часто, и делать это случайным образом, то есть прибавлять к данным случайную последовательность ключевых цифр. Предположим, что мы делаем это. Тогда мы имеем потенциально нераскрываемый шифр. С точки зрения теории информации этот шифр делает следующее: к каждому биту информации сообщения прибавляется один бит информации (а точнее, дезинформации) ключа. Этого достаточно, чтобы полностью разрушить любую структуру, которую исходное сообщение могло бы иметь, если только цифры ключа взяты в случайном порядке, и ключевая последовательность имеет такую же длину, как и сообщение, и никогда не повторяется. Рассмотренное криптографическое преобразование является не более чем случайным прибавлением одной цифры, и в такой же степени тривиально. Стойкость метода следует исключительно из того факта, что для каждой цифры сообщения мы полностью и случайным образом меняем ключ. Это единственный класс шифров, для которого можно доказать невскрываемость в абсолютном смысле этого слова. Даже если оппонент осуществляет попытку вскрыть систему грубой силой, например, опробованием всех возможных прибавляемых ключей (26 или 64, в случае нашего 6-битового сообщения), он получит все возможные открытые тексты, включая тот, который мы в действительности зашифровали.

В реальных системах сначала подготавливают две идентичные ленты со случайными цифрами ключа, ленты могут быть любого типа - телетайпные, перфорированные, магнитные или какие-нибудь еще. Одна остается у отправителя, а другая передается "неперехватываемым" образом законному получателю. Когда отправитель хочет передать сообщение, он сначала преобразует его в двоичную форму и помещает в устройство, которое к каждой цифре сообщения прибавляет по модулю два цифры, считанные с ключевой ленты. На принимающей стороне кодированное сообщение записывается и пропускается через машину, похожую на устройство, использованное для шифрования, которое к каждой двоичной цифре сообщения прибавляет (вычитает) по модулю два цифры, считанные с ключевой ленты, получая, таким образом, открытый текст. При этом, естественно, ключевая лента должна продвигаться абсолютно синхронно со своим дубликатом, используемым для зашифрования. Эта система, называемая системой Вернама, требует, чтобы на передающей и приемной сторонах были ленты с одним и тем же ключом, синхронизированные посредством таймера. Для трафика большого объема обширные запасы ключевых цифр должны быть заблаговременно доставлены получателю, и храниться у него. Фундаментальный недостаток системы Вернама заключается в том, что для каждого бита переданной информации получателю необходимо хранить один заранее подготовленный бит ключевой информации. Более того, эти биты должны следовать в случайной последовательности, и эта последовательность не может быть использована вторично (система «одноразовая лента»). Если необходимо шифровать трафик большого объема, это является довольно серьезным ограничением. В силу данного требования система Вернама используется только для передачи сообщений наивысшей секретности.

Чтобы обойти проблему предварительной передачи получателю сообщения секретного ключа большого объема, инженеры и изобретатели придумали много остроумных схем генерации очень длинных потоков псевдослучайных цифр из нескольких коротких потоков в соответствии с некоторым алгоритмом. Получателя шифрованного сообщения при этом необходимо снабдить точно таким же генератором, как и у отправителя. Конечно, такой алгоритм предполагает использование систематических процедур, добавляющих регулярности в шифртекст, обнаружение которых может помочь аналитику дешифровать сообщение.

Лекция 6. Cимметричные криптосистемы. Потоковые шифры

 

  Содержание лекции: традиционные методы шифрования; современные симметричные криптосистемы.

 

Цель лекции: изучить некоторые традиционные и современные симметричные методы шифрования.

 

   6.1 Традиционные методы шифрования

  Традиционно людьми, больше всех нуждающимися в секретности, были военные и дипломаты. В их работе часто необходимы элементы неожиданности, а неожиданность такого рода всегда предполагает секретность. Примерно в  середине XIX века для усовершенствования техники тайного письма были привлечены научные методы и способы мышления. Несмотря на это вплоть до нашего столетия способы, использованные для секретной коммуникации, продолжали оставаться процедурами, выполняемыми с помощью карандаша и бумаги. Рассмотрим некоторые традиционные методы шифрования.

   Шифрование перестановкой заключается в том, что символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста. При достаточной длине блока, в пределах которого осуществляется перестановка, и сложном неповторяющемся порядке перестановки можно достигнуть приемлемой для простых практических приложений стойкости шифра. Это самые простые и древние шифры, среди которых можно упомянуть:

- шифр перестановки «скитала»: на стержень цилиндрической формы (скиталу) наматывали спиралью полоску пергамента и писали на ней вдоль стержня несколько строк текста. Когда пергамент снимали со стержня, буквы располагались хаотично. Для расшифровки надо было знать правило шифрования и ключ в виде стержня определенного диаметра;

- шифрующие таблицы: они задавали правила перестановки букв в сообщении; в качестве ключа здесь используется: размер таблицы, слово или фраза, задающие перестановку, особенности структуры таблицы;

- одиночная перестановка по ключу: столбцы таблицы переставляются по ключевому слову, фразе или  набору чисел длиной в строку таблицы;

- двойная перестановка: для обеспечения дополнительной скрытности можно повторно зашифровать сообщение, которое уже прошло шифрование; в качестве ключа двойной перестановки используются последовательности номеров столбцов и номеров строк исходной таблицы;

- табличная перестановка по нелинейному закону: сообщение записывается в таблицу размерности NxM последовательно по строкам, а считывание происходит змейкой, по спирали или по другому зигзагообразному пути;

 - применение магических квадратов, то есть квадратов, в которых суммы чисел по столбцам, строкам и диагоналям равны. Текст в таблицу вписывается в соответствии с нумерацией клеток. Считалось, что эти шифртексты обладают еще и магической силой. Число магических квадратов быстро возрастает с увеличением размера квадрата.

Шифры простой замены:

- одноалфавитные подстановки. Каждая буква исходного текста заменяется на другую букву того же алфавита по следующему правилу: заменяющая буква определяется смещением от исходной буквы на К букв (шифр Цезаря).

- система Цезаря  с ключевым словом: для смещения символов в алфавите используется ключевое слово.

Шифры сложной замены. Это многоалфавитные подстановки, которые последовательно и циклически меняют используемые алфавиты. Эффект использования многоалфавитных подстановок в том, что обеспечивается маскировка естественной статистики исходного языка.

Наиболее известная многоалфавитная система - система шифрования Вижинера. Суть этого алгоритма в  следующем. Множество из 26 алфавитов (для примера, по числу букв английского алфавита) формируется циклическим сдвигом букв исходного алфавита. Совокупность всех алфавитов образует таблицу Вижинера.

При шифровании буквы ключевого слова определяют набор конкретного сдвинутого алфавита, используемого при замене соответствующей буквы сообщения. Процесс шифрования может быть описан как процесс суммирования по модулю 26 номеров соответствующих друг другу букв открытого текста и ключевого слова. Каждой букве алфавита A-Z ставится в соответствие цифра 0-25.

Ключевое слово k задается определенным количеством букв d и повторно записывается под шифруемым сообщением mi. В дальнейшем в i-ом столбце буква сообщения mi складывается по модулю 26 со стоящей под ней буквой ключевого слова ki в виде:

gi = mi mod 26,

где gi – буквы полученной криптограммы.

Расшифровка криптограммы осуществляется вычитанием ключевого слова по модулю 26.

 

   6.2 Современные симметричные криптосистемы

По мнению Шеннона в практических шифрах необходимо использовать два общих принципа: рассеивание и перемешивание.

Рассеивание представляет собой распространение влияния одного знака открытого текста на много знаков шифртекста, что позволяет скрыть статистические свойства открытого текста.

Перемешивание предполагает использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статистических свойств открытого и шифрованного текстов. Однако шифр должен не только затруднять, но и обеспечивать легкость зашифрования и расшифрования при известном пользователю секретном ключе.

   Распространенным способом достижения эффектов рассеивания и перемешивания является использование составного шифра, т.е. такого, который может быть реализован в виде последовательности простых шифров, каждый из которых вносит свой вклад в значительное рассеивание и перемешивание. В составных шифрах в качестве простых шифров чаще всего используются простые перестановки и подстановки (замены).

   В зависимости от размера блока информации криптоалгоритмы делятся на следующие виды:

а) потоковые шифры. Единицей кодирования в потоковых шифрах является один бит. Результат кодирования не зависит от прошедшего ранее входного потока. Схема применяется в системах передачи потоков информации, то есть в тех случаях, когда передача информации начинается и заканчивается в произвольные моменты времени и может случайно прерываться. Наиболее распространенными представителями поточных шифров являются скремблеры;

б) блочные шифры. Единицей кодирования в таких шифрах является блок из нескольких байтов. Результат кодирования зависит от всех исходных байтов этого блока. Схема применяется при пакетной передаче информации и кодировании файлов. Блочные шифры шифруют целые блоки информации (от 4 до 32 байт) как единое целое – это значительно увеличивает стойкость преобразований к атаке полным перебором и позволяет использовать различные математические и алгоритмические преобразования.

Скремблеры. Скремблерами называются программные или аппаратные реализации алгоритма, позволяющего шифровать побитно непрерывные потоки информации. Сам скремблер представляет из себя набор бит, изменяющихся на каждом шаге по определенному алгоритму. После выполнения каждого очередного шага на его выходе появляется шифрующий бит – либо 0, либо 1, который накладывается на текущий бит информационного потока операцией XOR. В последнее время сфера применения скремблирующих алгоритмов значительно сократилась. Это объясняется в первую очередь снижением объемов побитной последовательной передачи информации, для защиты которой были разработаны данные алгоритмы. Практически повсеместно в современных системах применяются сети с коммутацией пакетов, для поддержания конфиденциальности которой используются блочные шифры.

Суть скремблирования заключается в побитном изменении проходящего через систему потока данных. Практически единственной операцией, используемой в скремблерах является XOR – "побитное исключающее ИЛИ". Параллельно прохождению информационного потока в скремблере по определенному правилу генерируется кодирующий поток. Как прямое, так и обратное шифрование осуществляется наложением по XOR кодирующей последовательности на исходную последовательность. Генерация кодирующей последовательности бит производится циклически из небольшого начального объема информации – ключа по следующему алгоритму: из текущего набора бит выбираются значения определенных разрядов и складываются по XOR между собой. Все разряды сдвигаются на 1 бит, а только что полученное значение ("0" или "1") помещается в освободившийся самый младший разряд. Значение, находившееся в самом старшем разряде до сдвига, добавляется в кодирующую последовательность, становясь очередным ее битом.

Реализация скремблера возможна как на электронной, так и на электрической базе, что и обеспечило его широкое применение в полевых условиях. Более того, тот факт, что каждый бит выходной последовательности зависит только от одного входного бита, еще более упрочило положение скремблеров в защите потоковой передачи данных. Это связано с неизбежно возникающими в канале передаче помехами, которые могут исказить в этом случае только те биты, на которые они приходятся, а не связанную с ними группу байт, как это имеет место в блочных шифрах.

Декодирование заскремблированных последовательностей происходит по той же самой схеме, что и кодирование. Именно для этого в алгоритмах применяется результирующее кодирование по "исключающему ИЛИ" – схема, однозначно восстановимая при раскодировании без каких-либо дополнительных вычислительных затрат.

Главная проблема шифров на основе скремблеров - синхронизация передающего (кодирующего) и принимающего (декодирующего) устройств. При пропуске или ошибочном вставлении хотя бы одного бита вся передаваемая информация необратимо теряется. Поэтому, в системах шифрования на основе скремблеров очень большое внимание уделяется методам синхронизации. На практике для этих целей обычно применяется комбинация двух методов:

а) добавление в поток информации синхронизирующих битов, заранее известных приемной стороне, что позволяет ей при ненахождении такого бита активно начать поиск синхронизации с отправителем;

б) использование высокоточных генераторов временных импульсов, что позволяет в моменты потери синхронизации производить декодирование принимаемых битов информации "по памяти" без синхронизации.

  Число бит, охваченных обратной связью, то есть разрядность устройства памяти для порождающих кодирующую последовательность бит называется разрядностью скремблера. Чем больше разрядность скремблера, тем выше криптостойкость системы, основанной на его использовании.

Существенным недостатком скремблирующих алгоритмов является их нестойкость к фальсификации.

 

Лекция 7. Современные симметричные криптосистемы. Блочные шифры

 

  Содержание лекции: симметричные блочные методы шифрования.

 

  Цель лекции: изучить современные методы блочного шифрования.

 

  На сегодняшний день разработано достаточно много стойких блочных шифров. Практически все алгоритмы используют для преобразований определенный набор биективных (обратимых) математических преобразований

    Характерной особенностью блочных криптоалгоритмов является тот факт, что в ходе своей работы они производят преобразование блока входной информации фиксированной длины и получают результирующий блок того же объема, но недоступный для прочтения сторонним лицам, не владеющим ключом. Таким образом, схему работы блочного шифра можно описать функциями

  и  

   Ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Исходный (X) и зашифрованный (Z) блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа.

   Криптоалгоритм именуется идеально стойким, если прочесть зашифрованный блок данных можно только перебрав все возможные ключи, до тех пор, пока сообщение не окажется осмысленным. Так как по теории вероятности искомый ключ будет найден с вероятностью 1/2 после перебора половины всех ключей, то на взлом идеально стойкого криптоалгоритма с ключом длины N потребуется в среднем 2N-1 проверок. Таким образом, в общем случае стойкость блочного шифра зависит только от длины ключа и возрастает экспоненциально с ее ростом. Даже предположив, что перебор ключей производится на специально созданной многопроцессорной системе, в которой благодаря диагональному параллелизму на проверку 1 ключа уходит только 1 такт, то на взлом 128 битного ключа современной технике потребуется не менее 1021 лет. Естественно, все сказанное относится только к идеально стойким шифрам. Кроме этого условия к идеально стойким криптоалгоритмам применяется еще одно очень важное требование, которому они должны обязательно соответствовать. При известных исходном и зашифрованном значениях блока ключ, которым произведено это преобразование, можно узнать также только полным перебором. Ситуации, в которых постороннему наблюдателю известна часть исходного текста встречаются повсеместно. Это могут быть стандартные надписи в электронных бланках, фиксированные заголовки форматов файлов, довольно часто встречающиеся в тексте длинные слова или последовательности байт. В свете этой проблемы описанное выше требование не является ничем чрезмерным и также строго выполняется стойкими криптоалгоритмами, как и первое.

Таким образом, на функцию стойкого блочного шифра  накладываются следующие условия:

1)     функция EnCrypt должна быть обратимой;

2)     не должно существовать иных методов прочтения сообщения X по известному блоку Z, кроме как полным перебором ключей Key;

3)     не должно существовать иных методов ключа Key преобразования известного сообщения X в сообщение Z, кроме как полным перебором ключей.

Рассмотрим методы, с помощью которых разработчики блочных криптоалгоритмов добиваются одновременного выполнения этих трех условий с очень большой долей достоверности.

   Все действия, производимые над данными блочным криптоалгоритмом, основаны на том факте, что преобразуемый блок может быть представлен в виде целого неотрицательного числа из диапазона, соответствующего его разрядности. Кроме того, блок, разрядность которого обычно является "степенью двойки", можно трактовать как несколько независимых неотрицательных чисел из меньшего диапазона (рассмотренный выше 32-битный блок можно также представить в виде 2 независимых чисел из диапазона 0..65535 или в виде 4 независимых чисел из диапазона 0..255). Над этими числами блочным криптоалгоритмом и производятся по определенной схеме определенные действия. Последовательность выполняемых над блоком операций, используемые функции и составляют "ноу-хау" каждого конкретного блочного криптоалгоритма. Один-два раза в год исследовательские центры мира публикуют очередной блочный шифр, который под яростной атакой криптоаналитиков либо приобретает статус стойкого криптоалгоритма, либо (что происходит неизмеримо чаще) бесславно уходит в историю криптографии.

  Характерным признаком блочных алгоритмов является многократное и косвенное использование материала ключа. Это диктуется требованием невозможности обратного декодирования в отношении ключа при известных исходном и зашифрованном текстах. Для решения этой задачи в приведенных выше преобразованиях чаще всего используется не само значение ключа или его части, а некоторая, иногда необратимая (небиективная) функция от материала ключа. Более того, в подобных преобразованиях один и тот же блок или элемент ключа используется многократно. Это позволяет при выполнении условия обратимости функции относительно величины X сделать функцию необратимой относительно ключа Key.

   Поскольку операция зашифровки или расшифровки отдельного блока в процессе кодирования пакета информации выполняется многократно), а значение ключа и, следовательно, функций от ключа остается неизменным, то иногда становится целесообразно заранее однократно вычислить данные значения и хранить их в оперативной памяти совместно с ключом. Поскольку эти значения зависят только от ключа, то они в криптографии называются материалом ключа. Необходимо отметить, что данная операция никоим образом не изменяет ни длину ключа, ни криптостойкость алгоритма в целом. Здесь происходит лишь оптимизация скорости вычислений путем кеширования промежуточных результатов. Описанные действия встречаются практически во многих блочных криптоалгоритмах и носят название расширение ключа.

 В качестве типичных алгоритмов симметричного шифрования можно указать известный алгоритм шифрования DES (Data Encryption Standard), долгое время являвшийся фактическим стандартом шифрования в США и мире; европейский стандарт шифрования IDEA (Inernatioal Data Encryption Algorithm), российский стандарт шифрования ГОСТ 2814789. При многократном чередовании простых перестановок и подстановок, управляемых достаточно длинным секретным  ключом, можно получить очень стойкий шифр с хорошим рассеиванием и перемешиванием.

   Все эти алгоритмы построены в соответствии с методологией сети Фейстеля. Сетью Фейстеля называется схема (метод) обратимых преобразований текста, при котором значение, вычисленное от одной части текста, накладывается на другую часть. Сеть Фейстеля – модификация метода смешивания текущей части шифруемого блока с результатом некоторой функции, вычисленной от другой независимой части того же блока. Эта методика обеспечивает выполнение важного требования о многократном использовании ключа и исходного блока информации.

Смысл симметричного шифрования состоит в многократном рассеивании и перемещении исходных данных. Функционирование алгоритмов DES, IDEA и ГОСТ 2814789 можно описать таким образом (см. рисунок 7.1):

1) исходные данные разбиваются на блоки фиксированной длины, в каждом блоке может осуществляться начальная перестановка;

2)     данные преобразуются с использованием ключа шифрования (сам ключ тоже предварительно преобразуется);

3)     преобразование выполняется определенное число раз, после каждого преобразования может выполняться перестановка данных; в качестве исходного результата для преобразования используется результат предыдущего преобразования и перестановки;

4)     после определенного числа раундов (в DES -16, IDEA – 8, ГОСТ -  32) производится конечная перестановка, полученный результат является шифртекстом.

            Существенный недостаток DES – короткий ключ (56 значащих битов), что при современном уровне развития компьютерных средств означает высокую вероятность его взлома путем прямого перебора значений ключа. Российский стандарт не имеет этого недостатка  (длина ключа – 256 битов), в IDEA – 128. Модификация алгоритма DESTriple DES (тройной DES) использует три ключа: открытый текст шифруется на первом ключе, полученный текст – на втором, результат – на третьем. Все три ключа выбираются независимо друг от друга.

 

 

 

 

 

 

 

 

 

 

 

 

 


           

            Рисунок 7.1 - Упрощенная схема типичного алгоритма симметричного шифрования

 

  Новый стандарт симметричного криптоалгоритма, названного  AES (Advanced Encryption Standard) – блочный шифр Rijndael, имеющий надежную математическую базу преобразований (разработан двумя специалистами по криптографии Дэйменом Дж (J.Daemon) и В. Райджменом (V. Rijmen) из Бельгии).  Алгоритм  имеет длину блока 128 бит и поддерживает 3 длины ключа: 128, 192, 256 бит. Структура алгоритма AES позволяет достичь высокой степени оптимизации на современных компьютерах и серверах, и в то же время не слишком замедляет его выполнение. Некоторые авторы высказывают предположение, что в нем могут быть криптографические бреши, которые будут обнаружены спустя время.

Всем системам симметричного шифрования присущи следующие недостатки: принципиальным является требование защищенности и надежности канала передачи секретного ключа для обоих участников информационного обмена;  предъявляются повышенные требования к службе генерации и распространения ключей, обусловленные тем, что для n абонентов по схеме взаимодействия «каждый с каждым», требуется  ключей, то есть зависимость числа ключей от количества абонентов является квадратичной Поэтому использовать систему симметричного шифрования в таком виде в Internet практически невозможно без применения дополнительных методов и средств. 

 

 

Лекция 8. Американский стандарт шифрования данных DES

 

  Содержание лекции: cтандарт шифрования данных Data Encryption Stan­dard (DES).

 

Цель лекции: изучить схему шифрования по алгоритму DES.

 

Стандарт шифрования данных DES (Data Encryption Stan­dard) опубликован в 1977 г. Национальным бюро стандартов США. Он предназначался для защиты от несанкциони­рованного доступа к важной, но несекретной информации в госу­дарственных и коммерческих организациях. США. Алгоритм, поло­женный в основу стандарта, распространялся достаточно быстро, и уже в 1980 г. был одобрен Национальным институтом стандар­тов и технологий США (НИСТ). С этого момента DES превращает­ся в стандарт не только по названию (Data Encryption Standard), но и фактически. Появляются программное обеспечение и специали­зированные микроэвм, предназначенные для шифрования и рас­шифрования информации в сетях передачи данных. К настоящему времени DES является наиболее распро­страненным алгоритмом, используемым в системах защиты ком­мерческой информации.

Алгоритм DES использует комбинацию подстановок и перестановок. DES осуществляет шифрование 64-битовых бло­ков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 бит - проверочные биты для кон­троля на четность). Дешифрование в DES является операцией, обратной шифрованию, и выполняется путем повторения опера­ций шифрования в обратной последовательности. Обобщенная схема процесса шифрования в алгоритме DES показана на рисунке 8.1. Процесс шифрования заключается в начальной переста­новке битов 64-битового блока, шестнадцати циклах шифрования и, наконец, в конечной перестановке битов.

Рисунок 8.1 - Обобщенная схема шифрования в алгоритме DES

Используемые в алгоритме таблицы яв­ляются стандартными и должны включаться в реализацию алго­ритма DES в неизменном виде. Все перестановки и коды в таблицах подобраны разработ­чиками таким образом, чтобы максимально затруднить процесс расшифровки путем подбора ключа. Структура алгоритма DES приведена на рисунке 8.2. Здесь используются  следующие обозначения: L и R - последовательности битов (левая (left) и правая (right)); LR - конкатенация последовательностей L и R, т.е. такая последовательность битов, длина которой равна сумме длин L и R; в последовательности LR биты последовательности R следуют за битами последовательности L- операция побитового сложения по модулю 2.

Работа алгоритма выполняется следующим образом. Из файла исходного текста считывается очередной 64-битовый (8-байтовый) блок Т. Этот блок Т преобразуется с помо­щью матрицы начальной перестановки IP (стандартная таблица алгоритма). Полученная последовательность битов То разделяется на две последовательности: L0 - левые или старшие биты, Ro - правые или младшие биты, каждая из которых содер­жит 32 бита.

 Далее выполняется итеративный процесс шифрования, состоящий из 16 шагов (циклов). Пусть Ti  - результат i-й итерации:

,

 где Li = t1 t2….t32 (первые 32 бита); Ri = t33t34... t64 (последние 32 бита). Тогда результат i-й итерации описывается следующими формулами:

 

Функция f называется функцией шифрования. Ее аргумен­тами являются последовательность Ri-1, получаемая на предыду­щем шаге итерации, и 48-битовый ключ Кi, который является ре­зультатом преобразования 64-битового ключа шифра К. Для вычисления значения функции f используются: функция Е расширения 32 бит до 48; функции S1, S2, ..., S8 преобразования 6-битового числа в 4-битовое; функция Р перестановки битов в 32-битовой последователь­ности. Результат функции Е(Ri-1) есть 48-битовое чис­ло. Функция расширения Е, выполняющая расширение 32 бит до 48 (принимает блок из 32 бит и порождает блок из 48 бит), опре­деляется стандартной таблицей алгоритма. Полученный результат (обозначим его E(Ri-1)) складывается по модулю 2 (операция XOR) с текущим значением ключа Kj и затем разбивается на восемь 6-битовых блоков B1, В2, .... B8:

Далее каждый из этих блоков используется как номер эле­мента в функциях-матрицах S1, S2.....S8, содержащих 4-битовые значения (эти матрицы также являются стандартными). В результате получаем S1(B1) S2(B2) S3(B3) ... S8(B8), т.е. 32-битовый блок (поскольку матрицы Sj содержат 4-битовые элемен­ты). Этот 32-битовый блок преобразуется с помощью функции пе­рестановки битов Р.

Окончательно функцию шифрования можно записать так:

где Р - функция пе­рестановки битов (стандартная таблица алгоритма).

На каждой итерации используется новое значение ключа Ki (длиной 48 бит). Новое значение ключа Кi вычисляется из начального ключа К. Ключ К представ­ляет собой 64-битовый блок с 8 битами контроля по четности, рас­положенными в позициях 8, 16, 24, 32, 40, 48, 56, 64. Для подготовки ключа к работе используется функция G первоначальной подготовки ключа (стандартная таблица алгоритма).

Результат преобразова­ния G(K) разбивается на две половины Со и Do. После определения Со и Do рекурсивно определяются Сi и Di, i = 1, 2.....16. Для этого применяются операции циклического сдвига влево на один или два бита в зависимости от номера шага итерации (используется стандартная таблица алгоритма). Ключ Кi, определяемый на каждом шаге итерации, есть результат выбора конкретных битов из 56-битовой последователь­ности СiDi и их перестановки. Другими словами, ключ

 

  где функция Н определяется матрицей, завершающей обработку ключа (стандартная матрица алгоритма).

  По окончании шифрования осуществляется восстановле­ние позиций битов с помощью матрицы обратной перестановки IP-1 (стандартная матрица алгоритма).

Процесс расшифрования данных является инверсным по отношению к процессу шифрования. Все действия должны быть выполнены в обратном порядке. Это означает, что расшифровы­ваемые данные сначала переставляются в соответствии с матри­цей IP-1, а затем над последовательностью битов R16L16 выпол­няются те же действия, что и в процессе шифрования, но в обрат­ном порядке.

Итеративный процесс расшифрования может быть описан следующими формулами:

 

Таким образом, для процесса расшифрования с перестав­ленным входным блоком R16L16 на первой итерации используется ключ К16, на второй итерации - К15 и т.д. На 16-й итерации ис­пользуется ключ K1. На последнем шаге итерации будут получены последовательности Lo и Ro, которые конкатенируются в 64-битовую последовательность L0R0. Затем в этой последователь­ности 64 бита переставляются в соответствии с матрицей IP. Peзультат такого преобразования - исходная последовательность битов (расшифрованное 64-битовое значение).

Лекция 9. Асимметричные криптосистемы

 

  Содержание лекции: концепция криптосистем с открытым ключом.

 

Цель лекции: изучить принципы асимметричного шифрования.

 

9.1 Концепция криптосистем с открытым ключом

Асимметричные криптосистемы, называемые также криптосистемами с открытым ключом принципиально отличаются от симметричных систем шифрования. В таких системах для шифрования информации и ее последующего расшифрования требуются различные ключи:

- открытый ключ К используется для шифрования информации;

- секретный ключ k используется для расшифро­вания информации, зашифрованной с помощью парного ему открытого ключа К.

Секретный и открытый ключи генерируются попарно. Секретный ключ остается у его владельца. Копия открытого ключа находится у каждого абонента, с которым обменивается информацией  владелец секретного ключа.

  Расшифрование данных с помощью открытого ключа невозможно. Разумеется, ключ расшифрования не может быть определен из ключа зашифрования.

  Обобщенная схема асимметричной криптосистемы с от­крытым ключом показана на рисунке 9.1. В этой криптосистеме абонент В генерирует два различных ключа: КВ - открытый ключ; kB - секретный ключ. Значения ключей КВ и kB зависят от начального состояния генератора ключей.

 

Рисунок 9.1 -  Схема асимметричного шифрования

 

  Раскрытие секретного ключа kB по известному открытому ключу КB должно быть вычислительно неразрешимой задачей.

  Процесс передачи зашифрованной информации в асимметричной криптосистеме:

1)  подготовительный этап:

- абонент В генерирует пару ключей: сек­ретный kB и открытый КВ;

- открытый ключ КВ посылается абоненту А и остальным (или делается доступным по  разделяемому ресурсу);

2) использование – обмен информацией между А и В:

  - А зашифровывет сообщение М с помощью открытого ключа КВ и отправляет  В криптограмму С;

  - В расшифровывет сообщение  С с помощью своего секретного ключа kB.

  Никто, даже абонент А,  не может расшифровать шифртекст (хотя отправитель  А, естественно, знает его содержание).

Характерные особенности асимметричных криптосистем:

1)  открытый ключ КВ и криптограмма С могут быть отправлены по незащищенным каналам, то есть противнику могут быть известны КВ и С;

2) алгоритмы шифрования  и расшифрования             являются открытыми.

Защита информации в асимметричной криптосистеме ос­нована на секретности ключа kB.

У.Диффи и М.Хеллман сформулировали требования, вы­полнение которых обеспечивает безопасность асимметричной криптосистемы:

1) вычисление пары ключей В, kB) получателем В на осно­ве начального условия должно быть простым;

2) отправитель А, зная открытый ключ КВ и сообщение М, может легко вычислить криптограмму

                                                                                                                                                                                                                                                                                                                                                                                       

3) получатель В, используя секретный ключ kB и крипто­грамму С, может легко восстановить исходное сообщение

                                                                                                                                                                                                                                                                  

4) злоумышленник, зная открытый ключ КВ, при попытке вычис­лить секретный ключ kB наталкивается на непреодолимую вычис­лительную проблему;

5) злоумышленник, зная пару В, С), при попытке вычислить ис­ходное сообщение М наталкивается на непреодолимую вычисли­тельную проблему

 

9.2 Однонаправленные функции

Концепция асимметричных криптографических систем с открытым ключом основана на применении однонаправленных функций. Неформально однонаправленную функцию можно опре­делить следующим образом.

Однонаправленной называется функция f(x), обладающая следующими двумя свойствами:

- существует алгоритм вычисления значения функции y = f(x) для всех х из Х y принадлежит Y (X и Y - некоторые произволь­ные множества);

- не существует алгоритма обращения функции f, то есть не существует решения уравнения f(x) = y  относительно х. Это означает, что для большинства y из Y достаточно сложно получить х из Х, такое, что f(x) = y; при этом полагают, что по крайней мере одно такое значение х существует.

Основным критерием отнесения функции f к классу одно­направленных функций является отсутствие эффективных алго­ритмов обратного преобразования

В качестве первого примера однонаправленной функции рассмотрим целочисленное умножение. Прямая задача - вычис­ление произведения двух очень больших целых чисел р и q, т.е. нахождение значения ,  является относительно несложной задачей для ЭВМ.

Обратная задача - разложение на множители большого целого числа, то есть нахождение делителей р и q большого целого числа , является практически неразрешимой задачей при достаточно больших значениях n. По современным оценкам тео­рии чисел при целом n ≈ 2664 и p q для разложения числа n по­требуется около 1023 операций, то есть задача практически неразре­шима на современных ЭВМ.

 Следующий характерный пример однонаправленной функ­ции - это модульная экспонента с фиксированными основанием и модулем.

Пусть а и n - целые числа, такие, что  . Опре­делим множество :

Тогда модульная экспонента с основанием а по модулю n представляет собой функцию

где х - целое число,

Существуют эффективные алгоритмы, позволяющие дос­таточно быстро вычислить значения функции fa,n (x).

Если у = ах, то естественно записать х = loga (у).

Поэтому задачу обращения функции fa,n(x) называют зада­чей нахождения дискретного логарифма или задачей дискретного логарифмирования.

Задача дискретного логарифмирования формулируется следующим образом. Для известных целых a, n, у найти целое число х, такое, что Алгоритм вычисления дискретного логарифма за приемле­мое время пока не найден. Поэтому модульная экспонента счита­ется однонаправленной функцией.

 

   Лекция 10. Алгоритмы с открытым ключом

 

   Содержание лекции: алгоритмы  с открытым ключом.

 

Цель лекции: изучить алгоритм асимметричного шифрования RSA и алгоритм выработки секретного ключа путем обмена информацией по открытому каналу связи.

.

   10.1 Криптосистема шифрования данных RSA

   Алгоритм RSA предложили в 1978 г. три автора: Р.Райвест (Rivest), А.Шамир (Shamir) и А.Адлеман (Adleman). Алгоритм полу­чил свое название по первым буквам фамилий его авторов. Авторы алгоритма воспользовались тем фактом, что нахождение произведения двух больших простых чисел  в вычислительном отношении выполняется легко, но разложение на множители произведения двух таких чисел практически невыполнимо. Доказано, что раскрытие шифра RSA эквивалентно такому разложению. Поэтому для любой длины ключа можно дать нижнюю оценку числа операций для раскрытия шифра, а с учетом производительности современных компьютеров, оценить и необходимое на это время. Возможность гарантированно оценить защищенность алгоритма RSA стала одной из причин его популярности на фоне десятков других схем. Поэтому алгоритм RSA используется в банковских компьютерных сетях, особенно для работы с удаленными клиентами (обслуживание кредитных карточек).

В криптосистеме RSA открытый ключ КВ (предположим, получателя В), секретный ключ kB, сообщение М и криптограмма С принадлежат множеству це­лых чисел

 

где n – модуль,  

Здесь р и q - случайные большие простые числа. Для обеспече­ния максимальной безопасности выбирают р и q равной длины и хранят в секрете.

Множество Zn с операциями сложения и умножения по модулю n образует арифметику по модулю n.

Открытый ключ КВ выбирают случайным образом так, что­бы выполнялись условия:

        

         где φ(n) - функция Эйлера.

Функция Эйлера φ(n) указывает количество положитель­ных целых чисел в интервале от 1 до n, которые взаимно про­сты с n. Второе из указанных выше условий означает, что открытый ключ КВ и функция Эйлера φ(n) должны быть взаимно простыми.

Далее, используя расширенный алгоритм Евклида, вычис­ляют секретный ключ kв, такой, что

          или 

Это можно осуществить, так как получатель В знает пару простых чисел (p,q) и может легко найти φ(n). Заметим, что kB и n должны быть взаимно простыми.

Открытый ключ КВ используют для шифрования данных, а секретный ключ kB -для расшифрования.

Преобразование шифрования определяет криптограмму С через пару “открытый ключ Кв, сообщение М” в соответствии со следующей формулой:

        

В качестве алгоритма быстрого вычисления значения С используют ряд последовательных возведений в квадрат целого М и умножений на М с приведением по модулю n.

Обращение функции , то есть определение значения М по известным значениям С, Кв и n, практически не осуществимо при n ≈ 2 512. Однако обратную задачу, т.е. задачу расшифрования крип­тограммы С, можно решить, используя пару “секретный ключ kB, криптограмма С” по следующей формуле:

        

Процесс расшифрования можно записать так:

        

Таким образом, получатель В, который создает криптоси­стему, защищает два параметра: секретный ключ kB;пару чисел (p,q), произведение которых дает значение модуля n. С другой стороны, получатель В открывает значение модуля n и от­крытый ключ Кв. Противнику известны лишь значения Кв и n. Если бы он смог разложить число n на множители р и q, то он узнал бы "потайной ход" - тройку чисел {p,q,KB}, вычислил значение функ­ции Эйлера φ(n) = (p-1)(q-1) и определил значение секретного ключа kB. Однако, как уже отмечалось, разложение очень большого n на множители вычислительно не осуществимо (при условии, что длины выбранных р и q составляют не менее 100 десятичных знаков). Например, злоумышленник, который перехватывал все сообщения в открытом канале связи, знает  e = 37, n = 77символы шифровки y1 = 47, y2 = 1, однако по этим промежуточным данным он не в состоянии вычислить исходный текст шифровки. Точнее сказать, задача расшифровки эквивалентна задаче разложения больших чисел (в примере малое число 77) на простые сомножители.            

Криптосистемы RSA реализуются как аппаратным, так и программным путем. Для аппаратной реализации операций зашифрования и расшифрования RSA разработаны специальные процессоры. И все же аппаратная реализация RSA примерно в 1000 раз медленнее аппаратной реа­лизации симметричного криптоалгоритма DES. Программная реализация RSA примерно в 100 раз мед­леннее программной реализации DES. С развитием технологии эти оценки могут несколько изменяться, но асимметричная криптоси­стема RSA никогда не достигнет быстродействия симметричных криптосистем. Следует отметить, что малое быстродействие криптоси­стем RSA ограничивает область их применения, но не перечерки­вает их ценность.

 

10.2 Алгоритм открытого распределения ключей Диффи-Хеллмана

Первая криптосистема с открытым ключом была создана Диффи и Хелманом, которые предложили способ выработки секретного ключа между абонентами сети без предварительного согласования путем обмена информацией по открытому каналу (1976 г.). В качестве односторонней функции они предложили функцию дискретного возведения в степень. Необратимость преобразования в этом случае достигается тем, что достаточно легко вычислить показательную функцию в конечном поле, состоящем из р элементов. Вычисление же логарифмов в таких полях (дискретное логарифмирование) – значительно более трудоемкая операция.

Предположим, что два пользователя А и В хотят организовать защищенный коммуникационный канал. Алгоритм выглядит так:

1) обе стороны заранее уславливаются о модуле n (n должен быть простым числом) и простом элементе g из Zn, (); Эти два целых числа n и g могут не храниться в секрете. Как правило, эти значения являются общими для всех пользователей системы;

2) затем пользователи А и В независимо друг от друга выбирают собственные секретные ключи kA и kB (kA, kB - случайные большие целые числа, которые хранятся пользователями А и В в секрете);

З) далее пользователь А вычисляет открытый ключ ), а пользователь В — открытый ключ ;

4) затем стороны А и В обмениваются вычисленными значениями открытых ключей yА и yB по незащищенному каналу. Считается, что все данные, передаваемые по незащищенному каналу связи, могут быть перехвачены элоумышленником;

5) далее пользователи А и В вычисляют общий секретный ключ, используя следующие сравнения:

пользователь А: ,

пользователь B:

При этом , так как .

Ключ К может использоваться в качестве общего секретного ключа (ключа шифрования ключей) в симметричной криптосистеме.

Элоумышленник, перехватив значения n, g, yA, yB тоже хотел бы определить значение ключа К. Для решения этой задачи надо вычислить такое значение kА по N, g, yA, что  (поскольку в этом случае, вычислив kА, можно найти . Однако нахождение kА по n, g, yA - задача нахождения дискретного логарифма в конечном поле, которая считается неразрешимой.

Выбор значений n и g может иметь существенное влияние на безопасность этой системы. Модуль n должен быть большим и простым числом. Число g должно быть простым элементом множества Zn.

Протокол взаимодействия пользователей А и В, в результате которого каждая из сторон получает секретный ключ шифрообмена для последующего сеанса связи, представим на конкретном числовом примере:

1) Пользователи А и В: договариваются об использовании в качестве открытых параметров сеанса двух заранее определенных простых чисел, например, n = 13, g = 7, публикуя их в общедоступном месте.

2) Пользователь А: выбирает случайным образом в качестве секретного параметра простое число x =5 из диапазона 1… n-1.

3) Пользователь В: выбирает случайным образом в качестве секретного параметра простое число y =11 из диапазона 1… n-1.

4) Пользователь А: вычисляет  и передает результат по открытому каналу В, храня x в секрете.

5) Пользователь В: вычисляет  и передает результат по открытому каналу А, храня y в секрете.

6) Пользователь А: получив от В значение , вычисляет значение  которое использует в качестве секретного ключа шифрования и дешифрования.

7) Пользователь В: получив от А значение , вычисляет значение  которое использует в качестве секретного ключа шифрования и дешифрования.

В результате всех операций и пересылок злоумышленнику, который прослушивал все сообщения в открытом канале связи,  известно:

Для восстановления x, y или  злоумышленнику необходимо решить задачу дискретного логарифмирования.

Алгоритм Диффи-Хеллмана позволяет обойтись без защищенного канала для передачи ключей. Однако, работая с этим алгоритмом, необходимо иметь гарантию того, что пользователь А получил открытый ключ именно от пользователя В, и наоборот. Эта проблема решается с помощью электронной подписи, которой подписываются сообщения об открытом ключе.

Лекция 11. Идентификация и проверка подлинности пользователя

 

  Содержание лекции:  процедуры идентификации и аутентификации пользователей.

 

Цель лекции: изучить протоколы потдтверждения подлинности пользователей.

 

11.1 Основные понятия

С каждым объектом информационной системы связана некоторая информация, однозначно идентифицирующая его. Это может быть число, строка символов, алгоритм, определяющий данный объект. Эту информацию называют идентификатором объекта.

Идентификация объекта – одна из функций подсистемы защиты. Эта функция выполняется в первую очередь, когда объект делает попытку войти в сеть. Если процедура идентификации завершается успешно, данный объект считается законным для данной сети. Обычно система запрашивает имя и идентификационный номер пользователя.

Следующий шаг – проверка подлинности или аутентификация объекта. Аутентификация[1] или подтверждение подлинности означает взаимное установление подлинности объектов, связывающихся между собой по линиям связи. Цель этой процедуры – обеспечить уверенность, что соединение установлено с законным объектом и вся информация дойдет до места назначения.

 После того, как объект идентифицирован и подтверждена его подлинность, можно установить сферу его действия и доступные ему ресурсы ИС. Такую процедуру называют предоставлением полномочий или авторизацией.

 Идентификацию и аутентификацию можно считать основой программно-технических средств безопасности, поскольку остальные сервисы рассчитаны на обслуживание именованных субъектов.

Идентификация позволяет субъекту (пользователю, процессу, действующему от имени определенного пользователя, или иному аппаратно-программному компоненту) назвать себя (сообщить свое имя). Посредством аутентификации вторая сторона убеждается, что субъект действительно тот, за кого он себя выдает.

 Проблема установления подлинности и авторства безбумажной документации стала особо актуальной с широким распространением электронных форм документов и средств их обработки. При всех преимуществах современных систем шифрования они не позволяют обеспечить аутентификацию данных. Поэтому средства аутентификации должны использоваться в комплексе с криптографическими алгоритмами.

Аутентификация бывает односторонней (обычно клиент доказывает свою подлинность серверу) и двусторонней (взаимной). Пример односторонней аутентификации – процедура входа пользователя в систему.

В настоящее время общепризнанными являются три задачи аутентификации:

- аутентификация пользователей - установление подлинности пользователя, которому требуется доступ к защищаемой информации, или который хочет подключиться  к сети;

- аутентификация данных – проверка того, что массив данных не был изменен в течение времени, когда он был вне контроля;

- аутентификация сообщения – установление подлинности сообщения, которое один абонент посылает другому по открытому каналу связи.

 

11.2 Аутентификация пользователей

 Возможные способы подтверждения подлинности пользователей:

- знание пользователем информации, которую знает только легальный пользователь (пароль);

- обладание характерными индивидуальными особенностями (отпечатки, рисунок сетчатки глаза)

- элементы аппаратного обеспечения (ключи, магнитные карточки, микросхемы);

- характерные приемы и черты поведения пользователя (особенности работы на клавиатуре, приемы работы с манипулятором).

- навыки и знания пользователя.

         Большинство из этих способов годны для начальной проверки претендента, а некоторые для поточной проверки в процессе работы.

Парольная аутентификация. Главное достоинство парольной аутентификации – простота и привычность. Пароли давно встроены в операционные системы и иные сервисы. При правильном использовании пароли могут обеспечить приемлемый для многих организаций уровень безопасности. Тем не менее, по совокупности характеристик их следует признать самым слабым средством проверки подлинности:

- чтобы пароль был запоминающимся, его зачастую делают простым;

- иногда пароли с самого начала не хранятся в тайне, так как имеют стандартные значения, указанные в документации, и далеко не всегда после установки системы производится их смена;

- ввод пароля можно подсмотреть; иногда для подглядывания используются даже оптические приборы;

- пароли нередко сообщают коллегам, чтобы те могли, например, подменить на некоторое время владельца пароля. Теоретически в подобных случаях более правильно задействовать средства управления доступом, но на практике так никто не поступает;

- пароль можно угадать "методом грубой силы", используя, скажем, словарь. Если файл паролей зашифрован, но доступен для чтения, его можно скачать к себе на компьютер и попытаться подобрать пароль, запрограммировав полный перебор (предполагается, что алгоритм шифрования известен).

Тем не менее, следующие меры позволяют значительно повысить надежность парольной защиты:

- наложение технических ограничений (пароль должен быть не слишком коротким, он должен содержать буквы, цифры, знаки пунктуации и т.п.);

          - управление сроком действия паролей, их периодическая смена;

          - ограничение доступа к файлу паролей;

          - ограничение числа неудачных попыток входа в систему (это затруднит применение "метода грубой силы");

          - обучение пользователей;

          - использование программных генераторов паролей.

Перечисленные меры целесообразно применять всегда, даже если наряду с паролями используются другие методы аутентификации.

         Традиционные парольные системы имели тот большой недостаток, что аутентификация происходила в одностороннем порядке, то есть только претендент пытался доказать системе свои права. Такая ситуация в современных криптосистемах не приемлема из-за опасности вклинивания злоумышленника в процесс обмена. В них требуется использовать протоколы взаимной аутентификации или протоколы с нулевой передачей данных.

         Рассмотрим некоторые процедуры аутентификации пользователей.

         Применение пароля для подтверждения подлинности пользователя. Простейший метод подтверждения подлинности с использованием пароля основан на сравнении представляемого пользователем пароля РА с исходным значением РA,  хранящимся в компьютерном центре.

Иногда получатель не должен раскрывать исходную открытую форму пароля. В этом случае отправитель должен посылать вместо открытой формы пароля отображение пароля, получаемое с использованием односторонней функция пароля, например, эта функцию можно определить следующим образом:

где P – пароль отправителя, ID – идентификатор отправителя,  EP – процедура шифрования, выполняемая с использованием пароля P в качестве

ключа.

Значение α(P) вычисляется заранее и хранится в идентификационной таблице у получателя.

   Протокол аутентификации с нулевой передачей знаний. Широкое распространение интеллектуальных карт для разнообразных применений (кредитные карты, карты доступа в охраняемые помещения, компьютерные пароли, ключи и т.д.) потребовало обеспечения безопасной идентификации таких карт и их владельцев.

  Для безопасного использования интеллектуальных карт разработаны протоколы идентификации с нулевой передачей знаний (zero-knowledge proofs), суть которой заключается в том, что наличие секретной информации у претендента проверяется без знания этой информации верификатором. Чаще всего в таких схемах верификатор задает претенденту серию вопросов, ответы на которые должны быть однозначными (0 или 1). По мере увеличения количества правильных ответов N, у верификатора растет уверенность в претенденте по формуле P=(1 – 0,5N).

   Недостаток таких систем – значительное замедление работы из-за многочисленных информационных пересылок.

   В качестве примера приведем алгоритм, в котором сторона А (кредитная карточка) доказывает стороне В (системе выдачи денег), что обладает знаниями секретного числа Х, не разглашая само это число и это при том, что сторона В не знает секретного числа Х:

- стороны А и В знают об использовании в качестве открытых параметров простого числа N и целого числа V < (N-1), получая их из общедоступного системного места. Числа V и N являются открытыми ключами и не меняются от сеанса к сеансу. Они могут иметь от 512 до 4096 двоичных разрядов;

- перед началом информационного взаимодействия только претендент А знает секретный ключ легального пользователя Х. Кроме того, А наделен таким числом Y, что

        

которое является его личным идентификатором;

- претендент А выбирает случайное целое r < (N-1), вычисляет

        

и отправляет В числа Y и T;

- верификатор В выбирает случайное целое d < (N-1) и посылает его претенденту А;        

- претендент А вычисляет

        

и отправляет его В;

- верификатор В самостоятельно вычисляет функцию

           

и сравнивает ее результат с полученным значением T.

 Если , то претендент действительно знает секретное Х и ему можно доверять.

 

Лекция 11. Идентификация и проверка подлинности пользователя

 

  Содержание лекции:  процедуры идентификации и аутентификации пользователей.

 

Цель лекции: изучить протоколы потдтверждения подлинности пользователей.

 

11.1 Основные понятия

С каждым объектом информационной системы связана некоторая информация, однозначно идентифицирующая его. Это может быть число, строка символов, алгоритм, определяющий данный объект. Эту информацию называют идентификатором объекта.

Идентификация объекта – одна из функций подсистемы защиты. Эта функция выполняется в первую очередь, когда объект делает попытку войти в сеть. Если процедура идентификации завершается успешно, данный объект считается законным для данной сети. Обычно система запрашивает имя и идентификационный номер пользователя.

Следующий шаг – проверка подлинности или аутентификация объекта. Аутентификация[2] или подтверждение подлинности означает взаимное установление подлинности объектов, связывающихся между собой по линиям связи. Цель этой процедуры – обеспечить уверенность, что соединение установлено с законным объектом и вся информация дойдет до места назначения.

 После того, как объект идентифицирован и подтверждена его подлинность, можно установить сферу его действия и доступные ему ресурсы ИС. Такую процедуру называют предоставлением полномочий или авторизацией.

 Идентификацию и аутентификацию можно считать основой программно-технических средств безопасности, поскольку остальные сервисы рассчитаны на обслуживание именованных субъектов.

Идентификация позволяет субъекту (пользователю, процессу, действующему от имени определенного пользователя, или иному аппаратно-программному компоненту) назвать себя (сообщить свое имя). Посредством аутентификации вторая сторона убеждается, что субъект действительно тот, за кого он себя выдает.

 Проблема установления подлинности и авторства безбумажной документации стала особо актуальной с широким распространением электронных форм документов и средств их обработки. При всех преимуществах современных систем шифрования они не позволяют обеспечить аутентификацию данных. Поэтому средства аутентификации должны использоваться в комплексе с криптографическими алгоритмами.

Аутентификация бывает односторонней (обычно клиент доказывает свою подлинность серверу) и двусторонней (взаимной). Пример односторонней аутентификации – процедура входа пользователя в систему.

В настоящее время общепризнанными являются три задачи аутентификации:

- аутентификация пользователей - установление подлинности пользователя, которому требуется доступ к защищаемой информации, или который хочет подключиться  к сети;

- аутентификация данных – проверка того, что массив данных не был изменен в течение времени, когда он был вне контроля;

- аутентификация сообщения – установление подлинности сообщения, которое один абонент посылает другому по открытому каналу связи.

 

11.2 Аутентификация пользователей

 Возможные способы подтверждения подлинности пользователей:

- знание пользователем информации, которую знает только легальный пользователь (пароль);

- обладание характерными индивидуальными особенностями (отпечатки, рисунок сетчатки глаза)

- элементы аппаратного обеспечения (ключи, магнитные карточки, микросхемы);

- характерные приемы и черты поведения пользователя (особенности работы на клавиатуре, приемы работы с манипулятором).

- навыки и знания пользователя.

         Большинство из этих способов годны для начальной проверки претендента, а некоторые для поточной проверки в процессе работы.

Парольная аутентификация. Главное достоинство парольной аутентификации – простота и привычность. Пароли давно встроены в операционные системы и иные сервисы. При правильном использовании пароли могут обеспечить приемлемый для многих организаций уровень безопасности. Тем не менее, по совокупности характеристик их следует признать самым слабым средством проверки подлинности:

- чтобы пароль был запоминающимся, его зачастую делают простым;

- иногда пароли с самого начала не хранятся в тайне, так как имеют стандартные значения, указанные в документации, и далеко не всегда после установки системы производится их смена;

- ввод пароля можно подсмотреть; иногда для подглядывания используются даже оптические приборы;

- пароли нередко сообщают коллегам, чтобы те могли, например, подменить на некоторое время владельца пароля. Теоретически в подобных случаях более правильно задействовать средства управления доступом, но на практике так никто не поступает;

- пароль можно угадать "методом грубой силы", используя, скажем, словарь. Если файл паролей зашифрован, но доступен для чтения, его можно скачать к себе на компьютер и попытаться подобрать пароль, запрограммировав полный перебор (предполагается, что алгоритм шифрования известен).

Тем не менее, следующие меры позволяют значительно повысить надежность парольной защиты:

- наложение технических ограничений (пароль должен быть не слишком коротким, он должен содержать буквы, цифры, знаки пунктуации и т.п.);

          - управление сроком действия паролей, их периодическая смена;

          - ограничение доступа к файлу паролей;

          - ограничение числа неудачных попыток входа в систему (это затруднит применение "метода грубой силы");

          - обучение пользователей;

          - использование программных генераторов паролей.

Перечисленные меры целесообразно применять всегда, даже если наряду с паролями используются другие методы аутентификации.

         Традиционные парольные системы имели тот большой недостаток, что аутентификация происходила в одностороннем порядке, то есть только претендент пытался доказать системе свои права. Такая ситуация в современных криптосистемах не приемлема из-за опасности вклинивания злоумышленника в процесс обмена. В них требуется использовать протоколы взаимной аутентификации или протоколы с нулевой передачей данных.

         Рассмотрим некоторые процедуры аутентификации пользователей.

         Применение пароля для подтверждения подлинности пользователя. Простейший метод подтверждения подлинности с использованием пароля основан на сравнении представляемого пользователем пароля РА с исходным значением РA,  хранящимся в компьютерном центре.

Иногда получатель не должен раскрывать исходную открытую форму пароля. В этом случае отправитель должен посылать вместо открытой формы пароля отображение пароля, получаемое с использованием односторонней функция пароля, например, эта функцию можно определить следующим образом:

где P – пароль отправителя, ID – идентификатор отправителя,  EP – процедура шифрования, выполняемая с использованием пароля P в качестве

ключа.

Значение α(P) вычисляется заранее и хранится в идентификационной таблице у получателя.

   Протокол аутентификации с нулевой передачей знаний. Широкое распространение интеллектуальных карт для разнообразных применений (кредитные карты, карты доступа в охраняемые помещения, компьютерные пароли, ключи и т.д.) потребовало обеспечения безопасной идентификации таких карт и их владельцев.

  Для безопасного использования интеллектуальных карт разработаны протоколы идентификации с нулевой передачей знаний (zero-knowledge proofs), суть которой заключается в том, что наличие секретной информации у претендента проверяется без знания этой информации верификатором. Чаще всего в таких схемах верификатор задает претенденту серию вопросов, ответы на которые должны быть однозначными (0 или 1). По мере увеличения количества правильных ответов N, у верификатора растет уверенность в претенденте по формуле P=(1 – 0,5N).

   Недостаток таких систем – значительное замедление работы из-за многочисленных информационных пересылок.

   В качестве примера приведем алгоритм, в котором сторона А (кредитная карточка) доказывает стороне В (системе выдачи денег), что обладает знаниями секретного числа Х, не разглашая само это число и это при том, что сторона В не знает секретного числа Х:

- стороны А и В знают об использовании в качестве открытых параметров простого числа N и целого числа V < (N-1), получая их из общедоступного системного места. Числа V и N являются открытыми ключами и не меняются от сеанса к сеансу. Они могут иметь от 512 до 4096 двоичных разрядов;

- перед началом информационного взаимодействия только претендент А знает секретный ключ легального пользователя Х. Кроме того, А наделен таким числом Y, что

        

которое является его личным идентификатором;

- претендент А выбирает случайное целое r < (N-1), вычисляет

        

и отправляет В числа Y и T;

- верификатор В выбирает случайное целое d < (N-1) и посылает его претенденту А;        

- претендент А вычисляет

        

и отправляет его В;

- верификатор В самостоятельно вычисляет функцию

           

и сравнивает ее результат с полученным значением T.

 Если , то претендент действительно знает секретное Х и ему можно доверять.

 

Лекция 13. Проблема аутентификации данных и электронная цифровая подпись

 

  Содержание лекции: аутентификация данных с помощью элетронной цифровой подписи

 

Цель лекции: понятие и алгоритмы электронной цифровой подписи.

 

13.1 Понятие электронной цифровой подписи

При обработке электронных документов непригодны традиционные способы установления подлинности по рукописной подписи и печати. Принципиально новым решением является электронная цифровая подпись.

Электронная цифровая подпись (ЭЦП) используется для аутентификации текстов, передаваемых по телекоммуникационным каналам. Она аналогична обычной рукописной подписи и обладает ее свойствами:

- удостоверяет, что подписанный текст исходит от лица, поставившего подпись;

- не дает самому этому лицу возможности отказаться от обязательств, связанных с подписанным текстом;

- гарантирует целостность подписанного текста.

ЭЦП представляет собой небольшое количество дополнительной цифровой информации, передаваемой вместе с подписываемым текстом.

Система ЭЦП  включает две процедуры:

1) процедуру постановки подписи; здесь используется секретный ключ отправителя сообщения;

2) процедуру проверки подписи; используется открытый ключ отправителя.

Каждая подпись содержит следующую информацию: дату подписи, срок окончания действия ключа этой подписи, информацию о лице, подписавшем файл (ФИО, должность, краткое наименование фирмы), идентификатор подписавшего (имя открытого ключа), собственно цифровую подпись.

Технология электронной подписи предполагает, что каждый абонент электронной почтовой сети владеет двумя ключами – секретным и открытым. Секретный ключ абонента А используется только для формирования цифровой подписи, а открытый ключ может быть использован остальными абонентами для проверки подлинности полученного от А сообщения. В алгоритмах цифровой подписи используются разные математические принципы, основанные чаще всего на использовании однонаправленных функций.

  При прямом использовании механизмов электронной подписи возможно подписывать сообщения ограниченной длины. Поэтому подписывается не сам документ, а некоторый его цифровой образ небольшого размера, полученный по специальным криптографическим процедурам называемым хэшированием. Алгоритм хэширования должен быть таким, чтобы обеспечить вычислительную неосуществимость нахождения двух сообщений с одинаковым значением цифрового образа (значением хэш-функции от сообщения).

Понятие хэш-функции. Хэш-функцией (Hash-function) в криптографии называют такой алгоритм преобразования информации, который преобразует исходную строку битов произвольной длины в строку битов фиксированной длины. Они используются: для создания сжатого образа сообщения, применяемого в механизмах цифровой подписи; для защиты паролей; для построения кода аутентификации сообщений.

К хэш-функциям предъявляются три основных требования:

 - по известному значению функции h(m) должно быть невозможно (очень сложно) найти ее аргумент m. Такая хэш-функция называется стойкой в смысле обращения;

 - для данного аргумента m должно быть невозможно найти другой аргумент m’ такой, что h(m)=h(m’). Такая хэш-функция называется стойкой в смысле вычисления коллизий;

 - для практической полезности, алгоритмы получения хэш-функций должны быть быстро вычислимыми, а еще лучше – быть оптимизированными под конкретную аппаратную вычислительную среду.

          Большинство хэш-функций строится на основе однонаправленной функции f(.), которая образует выходное значений длиной n при задании двух входных значений длиной n. Этими входами являются блок исходного текста Mi и хэш-значение Hi-1 предыдущего блока текста (см.рисунок 13.1):


 Хэш-значение, вычисляемое при вводе последнего блока текста, становится хэш-значением всего сообщения М.  В результате однонаправленная хэш-функция  всегда формирует выход фиксированной длины n независимо от длины входного текста.

         При формировании электронной цифровой подписи отправитель, прежде всего, вычисляет хэш-функцию h(М) подписываемого текста М. Вычисленное значение хэш-функции h(М) представляет собой один короткий блок информации m, характеризующий весь текст М в целом. Затем число m шифруется секретным ключом отправителя. Получаемая при этом пара чисел представляет собой ЭЦП для данного текста М.

При проверке ЭЦП получатель  сообщения снова вычисляет хэш-функцию m=h(M) принятого по каналу текста М, после чего при помощи открытого ключа отправителя проверяет, соответствует ли полученная подпись вычисленному значению m хэш-функции. Принципиальным моментом в системе ЭЦП является невозможность подделки ЭЦП пользователя без знания его секретного ключа.

 

13.2 Алгоритм электронной цифровой подписи RSA

Вначале необходимо сгенерировать по алгоритму  RSA пару ключей: открытый - e и секретный – d. Открытый ключ передается партнерам по переписке для проверки цифровых подписей. Секретный ключ сохраняется автором для подписания сообщений.

Допустим, что отправитель хочет подписать сообщение М перед его отправкой. Сначала сообщение сжимают с помощью хэш-функции в целое число m=h(M). Затем вычисляют цифровую подпись S под электронным документом М, используя хэш-значение m и секретный ключ d:

.

Пара (M, S) передается партнеру-получателю как электронный документ М, подписанный цифровой подписью S, причем подпись S сформирована обладателем секретного ключа d. После приема пары (M, S) получатель вычисляет хэш-значение сообщения М двумя разными способами. Прежде всего, он восстанавливает хэш-значение , применяя криптографическое преобразование подписи S с использованием открытого ключа е:

Кроме того, он находит результат хэширования принятого сообщения М с помощью такой же хэш-функции m=h(M). Если соблюдается равенство вычисленных значений, т.е.

 

то получатель принимает пару (M, S) подлинной.

Доказано, что только обладатель секретного ключа d может сформировать цифровую подпись S по документу М, а определить секретное число d по открытому ключу е не легче, чем разложить модуль М на множители.

    Недостатки алгоритма:

            - для обеспечения криптостойкости необходимо использовать при вычислениях n, p, q целые числа не менее 2512 или 10154 каждое, что повышает вычислительные затраты на 20-30% по сравнению с затратами других алгоритмов;

            - алгоритм уязвим к мультипликативной атаке. То есть, можно без знания секретного ключа d сформировать подписи под теми документами, у которых результат хэширования можно вычислить как произведение результатов хэширования уже подписанных документов.

 

Лекция 14.  Управление ключами

 

  Содержание лекции: политика управления ключами.

 

Цель лекции: изучить принципы реализации основных функций процесса управления ключами.

        

Как бы ни была сложна и надежна сама криптосистема, она основана на использовании ключей. Кроме выбора подходящей для конкретной информационной системы криптографической системы, еще одна важная проблема – политика управления ключами.

         Под ключевой информацией понимается совокупность всех действующих в информационной системе ключей. Если не обеспечено достаточно надежное управление ключевой информацией, то завладев ею, злоумышленник получает неограниченный доступ к информации.

Управление ключами – информационный процесс, включающий реализацию следующих основных функций: генерация ключей, хранение ключей, распределение ключей.

Рассмотрим, по каким принципам они должны быть реализованы, чтобы обеспечить безопасность ключевой информации.

         Генерация ключей. Для обеспечения удовлетворительной криптостойкости информационной системы не стоит использовать неслучайные ключи с целью их легкого запоминания. Обычно используются специальные аппаратные и программные методы генерации случайных ключей. Обычно применяются датчики псевдослучайных чисел. Степень случайности их генерации должна быть достаточно высокой. Идеальными генераторами являются устройства на основе «натуральных» случайных процессов. Например, появились серийные образцы генерации ключей на основе белого радиошума. Другим случайным математическим объектом являются десятичные знаки иррациональных чисел, например, π или е, которые вычисляются с помощью стандартных математических методов. В информационной системе со средними требованиями защищенности вполне приемлемы программные генераторы ключей, которые вычисляют псевдослучайные числа как сложную функцию от текущего времени и (или) числа, введенного пользователем.

 Один из методов генерации сеансового ключа для симметричных криптосистем описан в стандарте ANSI. Здесь случайный ключ R генерируют. вычисляя значение

 здесь Ek – результат шифрования, к - ключ, зарезервированный для генерации секретных ключей, V0 - секретное 64- битовое начальное число, T - временная отметка.

 Следующее значение Vi+1  вычисляют так:

           Если необходим 128-битовый случайный ключ, генерируют пару ключей Ri и Ri+1 и объединяют их вместе.

          Если ключ не меняется регулярно, это может привести к его раскрытию и утечке информации. Регулярную замену ключа можно осуществить, используя процедуру модификации ключа.

 Модификация ключа – это генерирование нового ключа из предыдущего его значения с помощью односторонней функции. Участники информационного обмена получают результат преобразования ключа с помощью этой функции и берут определенные биты этого результата , чтобы создать новое значение ключа. Но надо помнить, что новый ключ безопасен в той же мере, в какой был безопасен прежний. Если злоумышленник добудет прежний ключ, он сможет выполнить процедуру модификации.

          Накопление ключей. Под накоплением ключей понимается организация их хранения, учета и удаления. Секретные ключи никогда не должны записываться в явном виде на носители, которые могут быть считаны или скопированы. В сложной информационной системе один пользователь может работать с большим объемом ключевой информации, и иногда возникает необходимость организации мини-баз данных по ключевой информации. Каждая информация об используемых ключах должна храниться в зашифрованном виде.

          Необходимость в хранении и передаче ключей, зашифрованных с помощью других ключей. приводит к концепции иерархии ключей. Суть метода состоит в том, что вводится иерархия ключей: главный ключ (ГК), ключ шифрования ключей (КК), ключ шифрования данных (КД). Иерархия может быть двухуровневой (КК/КД) или трехуровневой (ГК/КК/КД).

          Самым нижним уровнем являются рабочие или сеансовые ключи КД, которые используются для шифрования данных, ПИН-ов и аутентификации сообщений.

 Когда эти ключи надо зашифровать с целью их защиты при передаче или хранении, используют ключи следующего уровня – ключи шифрования ключей. Эти ключи никогда не должны использоваться как сеансовые (рабочие) ключи и наоборот. Такое разделение функций необходимо для обеспечения максимальной безопасности.

          На верхнем уровне иерархии ключей располагается главный ключ или мастер-ключ. Этот ключ применяют для шифрования КК, когда требуется хранить их на диске. Желательно, чтобы мастер-ключи каждый пользователь знал наизусть. Мастер-ключ распространяется между участниками обмена неэлектронным способом, при личном контакте.

 Периодически надо обновлять ключевую информацию.

          Распределение ключей. Это самый ответственный процесс в управлении ключами. В последнее время заметен сдвиг в сторону асимметричных криптосистем с открытым ключом, в которых проблема распределения ключей отпадает. К нему предъявляются следующие требования: оперативность и точность распределения; скрытность распределяемых ключей. 

          Распределение ключей может реализоваться путем создания центра распределения или прямым обменом ключами.

Для прямого обмена ключами можно применить два способа:

- использование криптосистемы с открытым ключом для шифрования и передачи секретного ключа симметричной криптосистемы;

- использование системы открытого распределения ключей Диффи—Хеллмана (см.лекцию 11).

 При включении в процесс распределения ключей центра распределения ключей (ЦРК) осуществляется его взаимодействие с одним или обоими участниками сеанса с целью распределения секретных или открытых ключей, предназначенных для использования в последующих сеансах связи.

 Следующий этап – подтверждение подлинности участников содержит обмен удостоверяющими сообщениями, чтобы иметь возможность выявить любую подмену или повтор одного из предыдущих вызовов.

  В обоих случаях должна быть гарантирована подлинность сеанса связи. Это обеспечивается с помощью механизма запроса-ответа или механизма отметки времени.

 Механизм запроса-ответа заключается в следующем. Пользователь А включает в посылаемое сообщение (запрос) для пользователя В непредсказуемый элемент (например, случайное число). При ответе пользователь В должен выполнить некоторую операцию с этим элементом (например, прибавить единицу). После получения результата пользователь А может быть уверен, что сеанс подлинный.

 Механизм отметки времени предполагает фиксацию времени для каждого сообщения. Это позволяет субъекту сети определить, насколько старым является сообщение и отвергнуть его, если появятся сомнения. Здесь необходимо установить допустимый временной интервал задержки.

В реальных информационных системах, например, системах оплаты кредитных карточек, используется второй механизм. Временной интервал составляет от одной до нескольких минут. Большое число известных способов краж электронных денег основано на «вклинивании» в этот промежуток с подложными запросами на снятие денег.

         Таким образом, задача управления ключами сводится к поиску такого протокола распределения ключей, который бы обеспечивал:

- возможность отказа от центра распределения ключей;

- взаимное подтверждение подлинности участников сеанса;

- подтверждение достоверности сеанса механизмом запроса-ответа или отметки времени,

- использование для этого программных или аппаратных средств;

- использование при обмене ключами минимального числа сообщений.

        

 

Лекция 15.         Распределение ключей с участием центра распределения ключей

 

  Содержание лекции: политика управления ключами.

 

Цель лекции: изучить протоколы распределения ключей.

 

При включении в процесс распределения ключей центра распределения ключей (ЦРК) осуществляется его взаимодействие с одним или обоими участниками сеанса с целью распределения секретных или открытых ключей, предназначенных для использования в последующих сеансах связи. Следующий этап – подтверждение подлинности участников – содержит обмен удостоверяющими сообщениями, чтобы иметь возможность выявить любую подмену или повтор одного из предыдущих вызовов.

Рассмотрим протоколы для симметричных и асимметричных криптосистем. Вызывающий (исходный) объект – А, вызываемый (объект назначения) – В. Они имеют уникальные идентификаторы  - IDA  и IDB соответственно.

 

15.1 Протокол для симметричных криптосистем с использованием отметок времени.

Каждый из участников сеанса А и В имеет мастер-ключ Kti (i = А,В), известный только ему и ЦРК. Эти мастер-ключи генерируются в ЦРК и распределяются каждому объекту при личном контакте. Мастер-ключ используется для шифрования сеансового ключа, когда последний передается по сети. Сеансовый ключ KS генерируется в ЦРК и используется участниками сеанса А и В для защиты сообщений при передаче по линиям связи. Для предотвращения фальсифицированных повторных вызовов на стадии распределения ключей в этом протоколе применяются отметки времени  Т.

Участник А инициирует фазу распределения ключей, посылая в ЦРК  по сети идентификаторы IDA  и IDB:

                            (15.1)

Идентификатор IDA посылается явно, поэтому ЦРК будет знать, какой мастер-ключ необходим для расшифрования зашифрованной части сообщения. Для этого в ЦРК имеются таблицы идентификаторов и соответствующих им мастер-ключей. Любая попытка злоумышленника изменить IDA приведет к получению неправильного ключа для расшифрования и, следовательно, к выявлению нарушителя службой ЦРК.

Если сообщение правильное, менеджер ЦРК разыскивает мастер-ключ KtВ, а также вычисляет сеансовый ключ KS. Затем участнику А посылается  ответное сообщение:

                                      (15.2)

Это сообщение может расшифровать только А, т.к.  оно зашифровано на ключе KtА. участник А проверяет отметку времени Т, чтобы убедиться, что это сообщение не является повтором предыдущей процедуры распределения ключей. Идентификатор IDB убеждает А, что действительно требуемый адресат был указан в сообщении (15.1). Участник А сохраняет у себя сеансовый ключ KS и посылает В часть сообщения, зашифрованную мастер-ключрм объекта В, а также случайное число r1, зашифрованное  сеансовым ключом KS:

                                                 (15.3)

В этом случае только участник В может расшифровать сообщение (153). Участник В получает отметку времени Т, сеансовый ключ KS, идентификатор IDА. Если отметка времени Т верна, то В уверен, что никто, кроме А не может  быть вызывающим объектом. Фактически верная отметка времени и уникальный идентификатор участника А, зашифрованное ключом KtВ, обеспечивают подтверждение подлинности А по отношению к В. Далее В извлекает из сообщения случайное число r1, выполняя расшифрование сеансовым ключом KS. Для взаимного подтверждения подлинности участник В посылает А сообщение, зашифрованное ключом KS и содержащее некоторую функцию от случайного числа (f r1):

         .                                                                      (15.4)

Если после расшифрования сообщения (15.4) участник А получает правильный результат, он знает, что объект на другом конце линии связи действительно В.

Если все шаги успешно выполнены, то этих взаимных подтверждений достаточно, чтобы установить связь, которая будет проходить под сеансовым ключом KS. Следует отметить, что в этом протоколе необходим обмен с ЦРК для получения сеансового ключа каждый раз, когда А желает установить связь с В. Данный протокол обеспечивает надежное соединение объектов А и В при условии, что ни один ключ не скомпрометирован и ЦРК защищен.

 

15.2 Протокол для асимметричных криптосистем

         В этом протоколе используется идея сертификатов открытых ключей.          Сертификатом открытого ключа С называется сообщение ЦРК, удостоверяющее целостность некоторого открытого ключа объекта. Например, сертификат открытого ключа для пользователя А, обозначаемый СА, содержит отметку времени Т, идентификатор IDА и открытый ключ КА, зашифрованные секретным ключом центра распределения ключей kЦРК, т.е.

                           

         Отметка времени Т используется для подтверждения актуальности сертификата и тем самым предотвращает повторы прежних сертификатов, которые содержат открытые ключи и для которых соответствующие секретные ключи несостоятельны.

         Секретный ключ  известен только менеджеру ЦРК. Открытый ключ КЦРК известен участникам А и В. ЦРК поддерживает таблицу открытых ключей всех объектов .сети, которые он обслуживает. Вызывающий объект А инициирует стадию установления ключа, запрашивая у ЦРК сертификат своего открытого ключа и открытого ключа участника В:

                 

Здесь IDА, IDB - уникальные идентификаторы соответственно участников А и В. Менеджер ЦРК отвечает сообщением:

                  

         Участник А, используя открытый ключ ЦРК КЦРК расшифровывает ответ ЦРК, проверяет оба сертификата. Идентификатор IDB убеждает А, что личность вызываемого участника правильно зафиксирована в ЦРК и КB — действительно открытый ключ участника В, поскольку оба зашифрованы ключом kЦРК.

         Хотя открытые ключи предполагаются известными всем, посредничество ЦРК позволяет подтвердить их целостность. Без такого посредничества элоумышленник может снабдить А своим открытым ключом, который А будет считать ключом участника В. Затем элоумышленник может подменить собой В и установить связь с А, и его никто не сможет выявить.

         Следующий шаг протокола включает установление связи А с В:

                 

Здесь: СA — сертификат открытого ключа пользователя А;  - отметка времени, зашифрованная секретным ключом участника А и являющаяся подписью участника А, поскольку никто другой не может создать такую подпись; r1 - случайное число, генерируемое А и используемое для обмена с В в ходе процедуры установления подлинности.

         Если сертификат СА и подпись А верны, то участник В уверен, что сообщение пришло от А. Часть сообщения может расшифровать только В, поскольку никто другой не знает секретного ключа kB, соответствующего открытому ключу КB. Участник В расшифровывает значение числа r1 и, чтобы подтвердить свою подлинность, посылает участнику А сообщение

                           

         Участник А восстанавливает значение r1, расшифровывая это сообщение с использованием своего секретного ключа kA. Если это ожидаемое значение r1, то А получает подтверждение, что вызываемый участник действительно В.

         Протокол, основанный на симметричном шифровании, функционирует быстрее, чем протокол, основанный на криптосистемах с открытыми ключами. Однако способность систем с открытыми ключами генерировать цифровые подписи, обеспечивающие различные функции защиты, компенсирует избыточность требуемых вычислений.

 

Лекция 16. Методы и средства защиты от удаленных атак через сеть Internet

 

Содержание лекции: межсетевые экраны, как средство защиты от удаленных атак.

 

Цель лекции: изучить основные компоненты и назначение межсетевых экранов.

 

16.1 Основные понятия

Использование глобальных сетей в коммерческих целях, а также при передаче информации конфиденциального характера, влечет за собой необходимость построения эффективной системы защиты информации. Ряд задач по отражению наиболее вероятных угроз для внутренних сетей способны решать межсетевые экраны (МЭ).  

Межсетевой экран - это набор связанных между собой программ, располагающихся на компьютере, который размещает ресурсы владельцев и защищает их от пользователей из внешней сети. Владелец компьютера, имеющего выход в Internet, устанавливает межсетевой экран, чтобы предотвратить получение посторонними конфиденциальных данных, хранящихся на защищаемом компьютере, а также для контроля над внешними ресурсами, к которым имеют доступ другие пользователи данного компьютера.

В основном межсетевые экраны работают с программами маршрутизации и фильтрами всех сетевых пакетов, чтобы определить, можно ли пропустить данный информационный пакет и если можно, то отправить его точно по назначению к компьютерной службе. Для того чтобы межсетевой экран мог сделать это, ему необходимо определить набор правил фильтрации. Главная цель систем межсетевого экранирования - это контролирование удаленного доступа внутрь или изнутри защищаемого компьютера.

Решение о том, фильтровать ли с помощью МЭ конкретные адреса и протоколы зависит от принятой в сети политики безопасности. Существует два уровня политики безопасности компьютера, непосредственно влияющие на установку и использование межсетевого экрана. Политика высокого уровня или политика доступа к компьютеру определяет те службы, которые будут допускаться через модем и которым будет запрещено работать на компьютере, она описывает так же, как эти службы будут использоваться, и какие условия являются исключениями в этой политике. Политика низкого уровня описывает, как межсетевой экран будет фактически выполнять задачу ограничения доступа и фильтрования служб, которые были определены политикой высокого уровня.

  Правила доступа к защищаемым ресурсам должны базироваться на одном из следующих принципов:

  - разрешать все, что не запрещено в явной форме;

- запрещать все, что не разрешено в явной форме.

  Межсетевой экран, осуществляющий первый принцип, разрешает по умолчанию всем службам работать на защищаемом компьютере, за исключением тех служб, которые политика доступа к службам отвергает, считая их небезопасными. МЭ, осуществляющий второй принцип, отвергает по умолчанию все службы, но пропускает те службы, которые были определены как безопасные. Этот второй принцип следует из классической модели доступа, используемой во всех областях информационной безопасности. Первая политика модемного доступа менее желательна, так как она предлагает большее количество путей для обхода межсетевого экрана.

16.2 Основные компоненты межсетевых экранов

Большинство компонентов межсетевых экранов можно отнести к одной из трех категорий: фильтрующие маршрутизаторы, шлюзы сетевого уровня, шлюзы прикладного уровня. Эти категории можно рассматривать как базовые компоненты реальных межсетевых экранов. Лишь немногие межсетевые экраны включают только одну из перечисленных категорий. Тем не менее, эти категории отражают ключевые возможности, отличающие межсетевые экраны друг от друга.

Фильтрующий маршрутизатор представляет собой маршрутизатор или работающую на  сервере программу, сконфигурированные таким образом, чтобы фильтровать входящие и исходящие пакеты. Фильтрация пакетов осуществляется на основе информации, содержащейся в TCP- и IP-заголовках пакетов.

Фильтрующий маршрутизатор обычно может фильтровать IP-пакеты на основе группы следующих полей заголовков пакета: IP-адрес отправителя (адрес системы, которая послала пакет); IP-получателя (адрес системы, которая принимает пакет); порт отправителя (порт соединения в системе-отправителе; порт получателя (порт соединения в системе-получателе).

Недостатки фильтрующих маршрутизаторов:

- внутренняя сеть видна (маршрутизируется) из сети Internet;

- правила фильтрации пакетов трудны в описании и требуют хороших знаний технологий TCP и UDP;

- при нарушении работоспособности МЭ с фильтрацией пакетов все компьютеры за ним становятся незащищенными или недоступными;

- аутентификацию с использованием IP-адреса можно обмануть путем подмены IP-адреса адреса;

- отсутствует аутентификация на пользовательском уровне.

Плюсы: сравнительно небольшая стоимость;  гибкость в определении правил фильтрации; небольшая задержка при прохождении пакетов.

Шлюзы сетевого уровня. Их иногда называют системой трансляции сетевых адресов или шлюзами сеансового уровня модели OSI. Такой шлюз исключает прямое взаимодействие между авторизованным клиентом и внешним хост-компьютером.

Шлюз сетевого уровня принимает запрос доверенного клиента на конкретные услуги и после проверки допустимости запрошенного сеанса устанавливает соединение с внешним хост-компьютером. После этого шлюз копирует пакеты в обеих направлениях, не осуществляя их фильтрации, независимо от их содержания.

Фактически большинство шлюзов сетевого уровня не являются самостоятельными продуктами, а поставляются в комплекте со шлюзами прикладного уровня.

Шлюзы прикладного уровня. Шлюз прикладного уровня исключает прямое взаимодействие между авторизованным клиентом и внешним хост-компьютером. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне. Связанные с приложениями серверы-посредники перенаправляют через шлюз информацию, генерируемую конкретными серверами.

Для достижения более высокого уровня безопасности и гибкости, шлюзы прикладного уровня и фильтрующие маршрутизаторы могут быть объединены в одном межсетевом экране.

Преимущества использования серверов-посредников:

- шлюз прикладного уровня пропускает только те службы, которые ему разрешено обслуживать;

- шлюза прикладного уровня может фильтровать протоколы. В дополнение к фильтрации пакетов многие шлюзы прикладного уровня регистрируют все выполняемые сервером действия и предупреждают о возможных нарушениях зашиты.

Аутентификация пользователя. С тех пор как межсетевой экран может централизовать доступ к сети и управлять им, он является логичным местом для установки программного и аппаратного обеспечения усиления аутентификации.

Итак, компьютеры, имеющие модемный выход в Internet, подвержены значительному риску быть атакованными нарушителями или стать плацдармом для атаки на другие компьютеры. Хотя применение систем межсетевого экранирования позволяет защититься от целого ряда угроз, однако они обладают целым рядом недостатков и, кроме того, существуют угрозы, которым они не могут противостоять.

Различные схемы применения межсетевых экранов и модемов предназначаются для обеспечения безопасности компьютеров от угроз определенного вида. Для успешного противодействия угрозам из Internet должны применяться сочетания из основных типов межсетевых экранов, эффективно перекрывающих небезопасные модемные соединения. Системы межсетевого экранирования в настоящее время все же могут служить достаточно надежным барьером для защиты удаленных компьютеров от атак со стороны Internet.

 

 

Список литературы

 

   1. Анин Б.Ю. Защита компьютерной информации.

   2. Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии – М.: Изд. «Горячая линия – Телеком», 2001.

   3. Зегжда Д.П., Ивашко А.М. Основы безопасности информационных систем. - М.2000.

   4. Петраков А.В. Основы практической защиты информации. Учебное пособие. - Радио и связь.

   5. Гундарь К.Ю. , Гундарь А.Ю., Янишевский Д.А. Защита информации в компьютерных системах – Киев: «Корнейчук», 2000 г.

   6. Иванов М.А. Криптографмческие методы защиты информации в компьютерных системах - М.2001.

   7. Домарев А.В. и др. Программирование алгоритмов защиты информации.

   8 Левин А. PGP. Кодирование и шифрование информации с открытым ключом. 

 

 

Содержание

 

Введение

3

Лекция 1. Основные понятия информационной безопасности информационных систем

    1.1 Основные определения

    1.2 Категории информационной безопасности

 

4

4

5

Лекция 2. Основные понятия защиты от угроз безопасности

    2.1 Ресурсы информационных систем

    2.2 Основные угрозы безопасности ИС

    2.3 Комплексная система защиты информации

7

7

7

9

Лекция 3. Проблемы защиты информации в компьютерных системах

    3.1 Классификация атак на информацию

    3.2 Распространенные технологии несанкционированного доступа

10

10

11

Лекция 4. Криптография в информационном обществе

14

Лекция 5. Принципы криптографической защиты информации в компьютерных системах

     5.1 Классы криптографических систем

     5.2 Операции, необходимые в компьютерной криптографии

 

18

18

19

Лекция 6. Cимметричные криптосистемы. Потоковые шифры

     6.1 Традиционные методы шифрования

     6.2 Современные симметричные криптосистемы

22

22

23

Лекция 7. Современные симметричные криптосистемы. Блочные шифры

 

26

Лекция 8. Американский стандарт шифрования данных DES

30

Лекция 9. Асимметричные криптосистемы

     9.1 Концепция криптосистем с открытым ключом

     9.2 Однонаправленные функции

34

34

35

Лекция 10. Алгоритмы с открытым ключом

    10.1 Криптосистема шифрования данных RSA

    10.2 Алгоритм открытого распределения ключей Диффи-Хеллмана

37

37

39

Лекция 11. Идентификация и проверка подлинности пользователя

    11.1 Основные понятия

    11.2 Аутентификация пользователей

41

41

42

Лекция 12. Взаимная проверка подлинности пользователей

45

Лекция 13. Проблема аутентификации данных и электронная цифровая подпись

    13.1 Понятие электронной цифровой подписи

    13.2 Алгоритм электронной цифровой подписи RSA

 

48

48

50

Лекция 14. Управление ключами

51

Лекция 15. Распределение ключей с участием центра распределения ключей

    15.1 Протокол для симметричных криптосистем с использованием отметок времени

    15.2 Протокол для асимметричных криптосистем

 

54

 

54

55

Лекция 16. Методы и средства защиты от удаленных атак через сеть Internet

      16.1 Основные понятия

      16.2 Основные компоненты межсетевых экранов

 

57

57

58

Список литературы

60

 

Св. план 2010, поз.309

[1] Следует заметить, английское "authentication" скорее можно прочитать как "аутентикация". Но на русском языке  устоялся и используется в многочисленных публикациях термин "аутентификация" (может быть по аналогии с "идентификацией".

[2] Следует заметить, английское "authentication" скорее можно прочитать как "аутентикация". Но на русском языке  устоялся и используется в многочисленных публикациях термин "аутентификация" (может быть по аналогии с "идентификацией".