
Задание 4. Настройка обновления
В этом задании нужно ознакомиться с настройками по умолчанию для задачи получения обновлений и при необходимости внести в них изменения (в соответствии с использующимися на Вашем компьютере настройками сети).
Откройте главное окно интерфейса и перейдите к подразделу Обновление
Откройте окно настройки, нажав на группу "Настройка"
Откроется окно Настройка, причем сразу на подразделе Обновление
Все настройки обновления, размещенные в правой части, разделены на три группы:
Режим запуска – расписание, с которым будет запускаться процедура обновления. Предлагается выбрать один из трех вариантов:
Автоматически. Это означает, что процедура получения новых файлов будет запускаться через промежутки времени, указанные в самих обновлениях. Таким образом, решение о необходимости участить или наоборот, увеличить интервал между загрузками новых обновлений остается за вирусными экспертами Лаборатории Касперского. Это - оптимальный сценарий для большинства пользователей, у которых открыт постоянный доступ в Интернет. Поэтому именно его предлагается использовать по умолчанию
Каждый 1 день. Если выбрать этот сценарий, то с помощью расположенной рядом кнопки можно задать подробное расписание (в том числе и раз в час, и каждый определенный день недели), когда должна запускаться процедура обновления. Этот способ рекомендуется использовать если доступ к сети Интернет ограничен и пользователь заранее знает, когда он может выделить несколько минут на загрузку новых баз
Вручную. Этот режим предназначен для случая, когда обновление необходимо получать без использования всемирной сети - например, передавая файлы по сети или с помощью мобильных носителей. Такой способ может использоваться при очень ограниченном канале связи с Интернет или при его отсутствии
Параметры обновления определяют какие файлы будут загружаться и какие настройки сети нужно при этом использовать.
Перейдите к окну настройки сетевых параметров, нажав кнопку Настройка
Открывшееся окно Настройка обновления содержит три закладки. На первой, Параметры LAN, задаются параметры соединения с Интернет. Их можно узнать у провайдера, администратора компьютерного класса или преподавателя.
Перейдите к закладке Источник обновления.
Источник обновления - это еще один важный параметр задачи получения обновлений. По умолчанию обновления загружаются с серверов Лаборатории Касперского. Их адреса фиксированы разработчиками программы и изменению не подлежат. Серверам обновлений Лаборатории Касперского соответствует одноименный пункт в списке всех источников.
Перейдите к закладке Дополнительно
Ознакомьтесь с представленными на ней полями, обратив внимание на группу Копировать в папку.
Эта настройка может быть полезна в случае, когда только Ваш компьютер имеет доступ в Интернет, а другие компьютеры сети - нет. В этом случае можно настроить автоматическое копирование файлов обновлений, полученных Вашим антивирусом, в определенный каталог. Тогда эту папку можно будет указать в качестве источника обновлений в настройках остальных компьютеров сети.
Настройка Запуск от имени может быть необходима в случае, если учетная запись системы Вашего компьютера не обладает достаточными правами на доступ к источнику обновления, например сетевой папке. В этом случае нужно отметить флаг Запуск от имени, узнать у системного администратора сети или преподавателя имя учетной записи, обладающей такими правами, и ее пароль и заполнить одноименные поля
Закройте окно настройки обновлений, нажав ОК
Если параметры Вашей сети совпадают с предложенными по умолчанию, нажмите Отмена, если в них были внесены изменения - Применить
Выберите Режим запуска Автоматически, нажмите кнопку Применить и Ок.
В Главном окне интерфейса Антивируса Касперского выберите раздел Сервис, затем подраздел Обновления.
Нажмите кнопку для запуска процедуры Обновления.
Если на вашем компьютере отсутствует подключение к Интернет, и попытка обновления не удалась, то появится примерно следующая ошибка
Если подключение к сети Интернет присутствует на вашем компьютере, начнется процесс обновления и по завершению будет выведено сообщение «Обновление завершено успешно»
Контрольные вопросы
Что такое Вирусы? Типы вирусов.
Возможные симптомы вирусного заражения.
Классификация вирусов по деструктивным возможностям.
Назначение антивирусных программных продуктов.
Как выявить вирусы на ПЭВМ.
Цель обновления антивирусных программ.
Структура антивируса Касперского.
Привести примеры антивирусных программ.
Лабораторная работа №4
Защита от несанкционированного доступа и сетевых хакерских атак
Цель работы: Познакомиться с встроенными компонентами защиты операционной системы Microsoft Windows XP и настроить их.
Задание:
Изучить настройки Брандмауэра Windows, Центра обеспечения безопасности Windows.
Порядок выполнения работы:
Включить компьютер;
Запустить программу Microsoft Virtual PC;
Загрузить образ ОС Microsoft Windows XP;
Выполнить задания.
Задание 1. Брандмауэр Windows
Задачу защиты от несанкционированного доступа и сетевых атак домашнего компьютера успешно решает персональная программа-брандмауэр. Она может быть как встроенной в операционную систему (например, брандмауэр Windows), так и устанавливаемой отдельно (например Outpost FireWall).
Самая, пожалуй, популярная на сегодняшний день операционная система домашнего компьютера - Microsoft Windows XP содержит встроенный Брандмауэр Windows. Более поздние версии Microsoft Windows, Vista и Seven (находится в стадии разработки, в начале 2009 года будет представлена beta-версия) содержат в себе дополнительные компоненты защиты от несанкционированного доступа и шпионских программ, например Windows Defender.
Встроенные брандмауэры отличаются весьма ограниченной функциональностью, что с другой стороны компенсируется отсутствием конфликтов с операционной системой и бесплатностью. Брандмауэры же третьих производителей, устанавливаемые отдельно, обеспечивают обычно более удобную и приятную работу с возможностью более точной настройки различных параметров.
После загрузки операционной системы Microsoft Windows XP (в Microsoft Virtual PC), Брандмауэр Windows будет отключен. Для его включения выполните следующие действия:
Нажмите Меню Пуск
– Панель управления – Брандмауэр
Windows
Появится сообщение операционной системы, информирующее вас о выключенной службе Брандмауэра Windows. Включите службу, нажав кнопку Да.
На экране появится меню Брандмауэр Windows
Меню Брандмауэр Windows содержит 3 вкладки – Общие, Исключения, Дополнительно . Выберите каждую вкладку и просмотрите ее содержимое.
Вкладка Общие позволяет менять режим работы Брандмауэра Windows. Можно Включить брандмауэр (после установки Операционной системы Microsoft Windows XP, система автоматически включает Брандмауэр Windows) или Выключить его (при установке другого Брандмауэра на ваш компьютер, Брандмауэр Windows будет выключен автоматически). Отключите Брандмауэр Windows, а затем вновь включите его.
Вкладка Исключения позволяет создавать исключения для нужных служб и приложений. Например, если вы точно уверены, что конкретное приложение не будет выполнять несанкционированных удаленных соединений или Брандмауэр Windows заблокировал сетевой доступ приложения, можно создать Исключение и блокировка будет снята. Добавьте исключение для программы, нажав кнопку Добавить программу
и в появившемся списке выберите любое приложение.
Вкладка Дополнительно позволяет включить или отключить Брандмауэр Windows для конкретных сетевых подключений, заблокировать или разблокировать сетевые службы. Выберите нужно сетевое Подключение и нажмите кнопку Параметры
При устранении неполадок, можно воспользоваться Журналом Безопасности, для того, чтобы выяснить, когда произошла неполадка и при каких обстоятельствах. Нажмите кнопку Параметры в блоке Ведение журнала безопасности. В появившемся окне произведите настройки, согласно предложенному рисунку и нажмите Ок.
Блок Протокол ICMP служит для приема и отправки сообщений об ошибках и состоянии компьютеров в сети. Так же этот протокол используют некоторые вредоносные программы, с периодичностью показывая различные сообщения о якобы произошедших ошибках в операционной системе.
Блок Параметры по умолчанию служит для восстановления исходных настроек Брандмауэра Windows.
Задание 2. Центр Обеспечения безопасности Windows
Если ваш компьютер подключен к компьютерной сети (неважно, Интернет это или Интранет), то он уязвим для вирусов, атак злоумышленников и других вторжений. Для защиты компьютера от этих опасностей необходимо, чтобы на нем постоянно работали межсетевой экран (брандмауэр) и антивирусное ПО (с последними обновлениями). Кроме того, необходимо, чтобы все последние обновления были также установлены на вашем компьютере.
Не каждый пользователь может постоянно следить за этим. Не каждый пользователь знает, как это осуществить. И даже если пользователь компетентен в этих вопросах, у него просто может не хватать времени на такие проверки. Компания Microsoft позаботилась обо всех этих пользователях, включив в состав SP2 (и SP3) для Windows XP такой инструмент. Он называется Центр обеспечения безопасности Windows (Windows Security Center).
Нажмите Меню Пуск – Панель управления – Центр обеспечения безопасности
Для включения Центра обеспечения безопасности Windows, нажмите Пуск – Панель управления – Администрирование – Службы. В списке служб найдите службу Security Center, нажмите 2 раза на на этой службе, выберите тип запуска Авто, нажмите кнопку Применить и ОК. Перезагрузите виртуальную машину.
На экране появится меню Центра обеспечения безопасности Windows.
Основное назначение этого инструмента - информировать и направлять пользователя в нужном направлении. Во-первых, он постоянно контролирует состояния трех основных компонентов ОС (брандмауэр, антивирус, система автоматического обновления). Если параметры любого из этих компонентов не будут удовлетворять требованиям безопасности компьютера, то пользователь получит соответствующее уведомление.
Меню Центра обеспечения безопасности Windows можно разделить на 3 части
Ресурсы. Здесь располагаются ссылки для перехода к Интернет-ресурсам, к встроенной в Windows справочной службе и к окну настройки параметров оповещений.
Компоненты безопасности. Здесь располагаются информационные элементы трех основных компонентов безопасности: брандмауэр, автоматическое обновление, антивирусная защита.
Параметры безопасности. Здесь располагаются кнопки перехода к настройкам безопасности следующих компонентов: обозреватель Internet Explorer, автоматическое обновление, брандмауэр Windows.
Рассмотрим эти части более подробно.
В части 1 первые три ссылки предназначены для перехода на соответствующие страницы на сайте Microsoft. Предпоследняя ссылка предназначена для открытия справочной службы Windows на странице "Общие сведения о центре обеспечения безопасности Windows". Последняя ссылка предназначена для открытия окна "Параметры оповещений".
Если на компьютере установлен брандмауэр и антивирусное ПО, не определяемое Центром обеспечения безопасности, вы можете отключить соответствующие оповещения
В части 2 каждое информационное табло сообщает о состоянии соответствующего компонента. На рисунке представлены возможные состояния.
Состояния A-C понятны без комментариев. Состояние D - "Не найдено" - соответствует невозможности определить присутствие соответствующего ПО (например, антивирус или брандмауэр). Состояние E - "Срок истек" - возможно для антивирусной защиты, когда обновления антивирусных баз устарели. Состояние F - "Не наблюдается" - соответствует отключенному контролю над соответствующим компонентом.
Выключите один из компонентов защиты. Состояние этого компоненты примет вид, показанный на рисунке (например, если отключить Брандмауэр Windows)
Включите отключенный компоненты защиты, на экране появится сообщение Ваш компонент успешно запущен
Если один из компонентов не может выполнить нужное действие (например, автоматические обновления устанавливаются по выбору пользователя), статус компонента примет вид, показанный на рисунке.
Как уже было указано ранее, в разделе 3 расположены кнопки перехода к настройкам безопасности следующих компонентов: обозреватель Internet Explorer, автоматическое обновление, брандмауэр Windows.
Нажав кнопку
, вы попадете на закладку "Безопасность" в окне настроек обозревателя Internet Explorer.
Нажав кнопку
, вы откроете окно настроек "Автоматического обновления".
Нажав кнопку
, вы попадете в соответствующее окно настроек.
Измените различные настройки безопасности компонентов Internet Explorer, Автоматического обновления и Брандмауэра Windows.
Контрольные вопросы
Для чего используется Брандмауэр Windows?
Какие действия необходимо выполнить для активации Брандмауэра Windows?
Как создать исключение в Брандмауэре Windows?
Для чего используется Центр обеспечения безопасности Windows?
Как центр обеспечения безопасности уведомляет пользователя об отключенном компоненте защиты?
Какие компоненты защиты настраиваются в Центре обеспечения безопасности?
Лабораторная работа №5
Управление правами пользователей в операционной системе Windows XP
Цель работы: Ознакомиться с процедурами создания ученых записей пользователей и управления их нравами.
Задание
Изучить процедуру создания учетных записей пользователей и научиться управлять их правами.
Порядок выполнения работы:
Включить компьютер;
Запустить программу Microsoft Virtual PC;
Загрузить образ ОС Microsoft Windows XP;
Выполнить задания.
Пользователи
Локальный пользователь или группа - это учетная запись, которой могут быть предоставлены разрешения и права на вашем компьютере. Домен или глобальные пользователи и группы управляются сетевым администратором. Имеется возможность добавить локальных пользователей, глобальных пользователей и глобальные группы в локальные группы. Однако невозможно добавить локальных пользователей и локальные группы в глобальные группы.
Пользователи и группы важны для безопасности Windows XP. поскольку позволяют ограничить возможность пользователей и групп выполнять определенные Действия путем назначения им прав и разрешений. Право даст возможность пользователю выполнять на компьютере определенные действия, такие как архивирование файлов и папок или завершение работы компьютера. Разрешение представляет собой правило, связанное с объектом (например, файлом, папкой пли принтером), которое определяет, каким пользователям и какого тина доступ к объекту разрешен.
Операционная система содержит несколько встроенных учетных записей пользователей и групп, которые не могут быть удалены.
Краткая информация о встроенных учетных записях.
Учетная запись администратора
Учетная запись пользователя е именем «Администратор» используется при первой установке рабочей станции пли рядового сервера. Эта учетная запись позволяет выполнять необходимые действия до того, как пользователь создаст спою собственную учетную запись. Учетная запись администратора является членом группы администраторов на рабочей станции или рядовом сервере.
Учетную запись «Администратор» нельзя удавить, отключить или вывести ИЗ группы администраторов, что исключает возможность случайной потери доступа к компьютеру после уничтожения всех учетных записей администраторов. Это свойство отличает пользователя «Администратор» от остальных членов локальной группы «Администраторы»
Учетная запись гостя
Учетная запись гостя используется теми, кто не имеет реальной учетной записи на компьютере. Если учетная запись пользователя отключена (но не удалена), он также может воспользоваться учетной записью «Гость». Учетная запись гостя не требует пароля. Учетная запись гостя по умолчанию отключена, но не может включена.
Учетной записи пользователя «Гость», как и любой другой учетной записи, можно предоставлять права и разрешения на доступ к объектам. Учетная запись «Гость» по умолчанию входит во встроенную группу «Гости», что позволяет пользователю войти в систему с рабочей станции или рядового сервера. Дополнительные права, как любые разрешения, могут быть присвоены группе «Гости» членом группы администраторов.
Группы
Администраторы
Пользователи, входящие в группу «Администраторы», имеют полный доступ на управление компьютером. Это единственная встроенная группа, которой автоматически предоставляются все встроенные нрава и возможности в системе.
Операторы архива
Члены группы «Операторы архива» могут архивировать и восстанавливать файлы на компьютере, независимо от всех разрешений, которыми защищены эти файлы. Также они могут входить на компьютер и выключать его, но не могут изменять параметры безопасности.
Опытные пользователи
Члены группы опытных пользователей могут создавать учетные записи пользователей, но могут изменять и удалять только созданные ими учетные записи. Они могут создавать локальные группы и удалять пользователей из локальных групп, которые они создали. Они также могут удалять пользователей из групп «Опытные пользователи», «Пользователи» и «Гости»
Они не могут изменять группы «Администраторы» и «Операторы архива», не могут являться владельцами файлов, не могут выполнять архивирование и восстановление каталогов, не могут загружать и выгружать драйверы устройств или управлять журналами безопасности и аудита.
Пользователи
Члены группы пользователей могут выполнять наиболее распространенные задачи, например запуск приложений, использование локальных и сетевых принтеров, завершение работы и блокировка рабочих станций. Пользователи могут создавать локальные группы, но изменять могут только те, которые они создали. Пользователи не могут организовывать общий доступ к каталогам или создавать локальные принтеры.
Гости
Группа «Гости» позволяет случайным или разовым пользователям войти в систему со встроенной учетной записью гостя рабочей станции и получить ограниченные возможности. Члены группы «Гости» могут только прекратить работу компьютера.
Управление учетной записью пользователя
Для управления
учетными записями используется компонент
«Управление компьютером». Чтобы открыть
окно этого компонента, нажмите Пуск-Панель
управления. Дважды щелкните значок
Администрирование
,
затем дважды щелкните значок Управление
компьютером
.
Создание новой учетное записи пользователя:
Откройте компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи и группы» и щелкните в нем узел Пользователи
Нажмите правой кнопкой мыши в окне со списком пользователей и в появившемся меню выберите команду Новый пользователь.
Введите соответствующие сведения в диалоговое окно.
Установите или снимите перечисленные ниже флажки.
Потребовать смену пароля при следующем входе в систему – при входе в систему пользователю будет выведено сообщение о смене пароля.
Запретить смену пароля пользователем – пользователь не сможет изменять пароли других пользователей в системе.
Срок действия пароля не ограничен – по истечению срока действия пароля, при входе в систему пользователю будет выводиться сообщение о блокировке учетной записи.
Отключить учетную запись – вход в систему для данного пользователя будет не возможен.
6. Выполните одно из следующих действий.
Чтобы создать дополнительного пользователя, нажмите кнопку Создать и повторите шаги 2 и 3.
Чтобы завершить работу, нажмите кнопку Создать, а затем Закрыть.
Изменение учетной записи пользователя
Откройте компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи н группы» и щелкните в нем учел Пользователи
Выберите учетную запись, которую требуется изменить.
В меню Действие выберите команду Свойства и произведите изменения.
Внесите нужные изменения и нажмите кнопку ОК.
Изменение пароля для пользователя
Откройте компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи и группы» и щелкните в нем узел Пользователи.
Выберите учетную запись, которую требуется изменить.
В меню Действие выберите команду Установка пароли.
Отключение и активизации учетной записи пользователи
Откройте компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи и группы» и щелкните в нем узел Пользователи
Выберите учетную запись, которую требуется изменить.
В меню Действие выберите команду Свойства.
Чтобы отключить выбранную учетную запись пользователя, установите флажок .
Чтобы активизировать выбранную учетную запись пользователя, снимите флажок .
Удаление учетной записи пользователи
Откройте компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи и группы» и щелкните в нем узел Пользователи
Выберите учетную запись, которую требуется удалить.
В меню Действие выберите команду Удалить
В окне подтверждения удаления нажмите кнопку ОК.
В отвез на приглашение подтвердить удаление нажмите кнопку Да.
Переименование учетной записи пользователя
Откроите компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи и группы» и щелкните в нем узел Пользователи
Выберите учетную запись, которую требуется переименовать.
В меню Действие выберите команду Переименовать.
Введите новое имя пользователя и нажмите клавишу ENTER.
Управление группами пользователей
Пользователь, принадлежащий группе, имеет все права на разрешения, предоставленные этой Группе. Пользователь, являющийся членом нескольких групп, имеет все права и разрешения, предоставленные каждой из этих трупп.
При удалении локальной группы удаляется учетная запись группы. Учетные записи пользователей и глобальных групп, являющихся членами удаленной группы, при этом не удаляются.
Создание новой локальной группы
Откройте компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи и труппы» и щелкните в нем узел Группы.
В меню Действие выберите команду Новая группа.
Введите имя новой группы в поле Имя группы
Введите описание новой группы в поле Описание
Выполните одно из следующих действий.
Чтобы создать другую группу, нажмите кнопку Создать и повторите шаги 2 и 3.
Чтобы завершить работу, нажмите кнопку Создать, а затем Закрыть.
Добавление пользователя в группу
Откроите компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи и группы» и выберите в нем узел Группы.
Выберите нужную группу.
В меню Действие выберите команду Свойства.
Нажмите кнопку Добавить.
В нижнее поле введите имена пользователей или групп, которые нужно добавить, или выберите имена пользователей или групп из верхнего поля и нажмите кнопку Добавить.
Если необходимо проверить имена добавляемых пользователей или групп. Нажмите кнопку Проверить имена.
Добавив имена всех требуемых пользователей, нажмите кнопку ОК.
Удаление локальной группы
Откройте компонент «Управление компьютером».
В дереве консоли выберите компонент «Локальные пользователи и группы» и щелкните в нем узел Группы.
Выберите Группу, которую следует удалить.
В меню Действие выберите команду Удалить.
В ответ на приглашение Подтвердить удаление нажмите кнопку Да.
Контрольные вопросы:
Какие встроенные учетные записи предусмотрены в операционной системе Microsoft Windows XP?
Какие встроенные группы пользователей предусмотрены в операционной системе Microsoft Windows XP?
Как создать новую учетную запись?
Как создать новую локальную группу?
Лабораторная работа №6
Перестановочные шифры
Цель работы: освоить метод шифрования перестановочным шифром
Задание
Разработать алгоритм для шифрования сообщений горизонтальным перестановочным шифром;
Разработать алгоритм для дешифрования сообщений зашифрованных горизонтальным перестановочным шифром;
Составить приложение для шифрования/дешифрования с использованием горизонтальным перестановочного шифра;
Структура алгоритмов шифрования
Алгоритмы шифрования можно разделить на две категории:
Алгоритмы симметричного шифрования;
Алгоритмы асимметричного шифрования.
В алгоритмах симметричного шифрования для расшифрования обычно используется тот же самый ключ, что и для зашифрования, или ключ, связанный с ним каким-либо простым соотношением. Последнее встречается существенно реже, особенно в современных алгоритмах шифрования. Такой ключ (общий для зашифрования и расшифрования) обычно называется просто ключом шифрования.
В асимметричном
шифровании ключ зашифрования
легко вычисляется из ключа
таким образом, что обратное вычисление
невозможно. Например, соотношение ключей
может быть таким:
,
где
и
- параметры алгоритма шифрования, имеющие
достаточно большую размерность.
Такое соотношение ключей используется и в алгоритмах электронной подписи.
Основной характеристикой алгоритма шифрования является криптостойкость, которая определяет его стойкость к раскрытию методами криптоанализа. Обычно эта характеристика определяется интервалом времени, необходимым для раскрытия шифра.
Симметричное шифрование менее удобно из-за того, что при передаче зашифрованной информации кому-либо необходимо, чтобы адресат заранее получил ключ для расшифрования информации. У асимметричного шифрования такой проблемы нет (поскольку открытый ключ можно свободно передавать по сети), однако, есть свои проблемы, в частности, проблема подмены открытого ключа и медленная скорость шифрования.
Симметричное шифрование бывает двух видов:
Блочное шифрование - информация разбивается на блоки фиксированной длины (например, 64 или 128 бит), после чего эти блоки поочередно шифруются. Причем, в различных алгоритмах шифрования или даже в разных режимах работы одного и того же алгоритма блоки могут шифроваться независимо друг от друга или "со сцеплением" - когда результат зашифрования текущего блока данных зависит от значения предыдущего блока или от результата зашифрования предыдущего блока.
Поточное шифрование - необходимо, прежде всего, в тех случаях, когда информацию невозможно разбить на блоки - скажем, некий поток данных, каждый символ которых должен быть зашифрован и отправлен куда-либо, не дожидаясь остальных данных, достаточных для формирования блока. Поэтому алгоритмы поточного шифрования шифруют данные побитно или посимвольно. Хотя стоит сказать, что некоторые классификации не разделяют блочное и поточное шифрование, считая, что поточное шифрование - это шифрование блоков единичной длины.
Блочные шифры бывают двух основных видов:
шифры перестановки;
шифры замены.
Шифры перестановок переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Шифры замены заменяют элементы открытых данных на другие элементы по определенному правилу.
Шифры замены делятся на две группы:
моноалфавитные (код Цезаря);
полиалфавитные (шифр Видженера)
В моноалфавитных шифрах замены буква исходного текста заменяется на другую, заранее определенную букву. Например в коде Цезаря буква заменяется на букву, отстоящую от нее в латинском алфавите на некоторое число позиций. Очевидно, что такой шифр взламывается совсем просто. Нужно подсчитать, как часто встречаются буквы в зашифрованном тексте, и сопоставить результат с известной для каждого языка частотой встречаемости букв.
В полиалфавитных подстановках для замены некоторого символа исходного сообщения в каждом случае его появления последовательно используются различные символы из некоторого набора. Этот набор не бесконечен, через какое-то количество символов его нужно использовать снова. В этом слабость чисто полиалфавитных шифров.
Описание метода шифрования перестановочным шифром
В перестановочных шифрах позиции символов сообщения изменяются, но значение сообщения остается неизменным. Простой шифр — это специальная таблица (сетка), куда сообщение вписывается одним способом, а затем считывается — другим. Эта операция показана на рис.6. Сообщение вписывается в строки сетки, а считывается по столбцам. Древний вариант этого способа состоял в записи сообщения на полосу, обернутую вокруг цилиндра, которая затем раскручивалась и отправлялась с посыльным. Обе эти формы являются простым чередованием (расслоением), только используемым для различных целей. Все, что подслушивающему нужно сделать, — это определить глубину сетки (или диаметр цилиндра). Увеличение глубины сетки приводит к тем же проблемам с задержкой, что и при чередовании с контролем ошибок.
Например, сообщение
«ЭТО СООБЩЕНИЕ ДЛЯ ОТПРАВКИ»
записывается в таблицу поочередно по строкам. Результат заполнения таблицы из 3 строк и 8 столбцов показан ниже.
Простой перестановочный шифр
После заполнения таблицы текстом сообщения по строкам для формирования шифртекста считывают содержимое таблицы по столбцам. Если шифртекст записывать группами по три буквы, получается такое шифрованное сообщение:
ЭЕТ ТНП ОИР СЕА ОДВ ОЛК БЯИ ЩО.
Усовершенствование этой методики состоит в том, чтобы читать столбцы сетки в более сложном порядке, чем просто слева направо. Для указания порядка считывания столбцов можно использовать ключевое слово, алфавитное упорядочивание букв которого и определяет порядок чтения столбцов.
Применим в качестве ключа, например, слово КОМБАЙН, в качестве текста сообщения возьмем предложение «ЭТО СООБЩЕНИЕ СЛЕДУЕТ ОТПРАВИТЬ». Ниже показаны две таблицы, заполненные текстом сообщения и ключевым словом, при этом левая таблица соответствует заполнению до перестановки, а правая таблица - заполнению после перестановки.
Горизонтальный перестановочный шифр
В верхней строке левой таблицы записан ключ, а номера под буквами ключа определены в соответствии с естественным порядком соответствующих букв ключа в алфавите. Если бы в ключе встретились одинаковые буквы, они бы были пронумерованы слева направо. В правой таблице столбцы переставлены в соответствии с упорядоченными номерами букв ключа.
При считывании содержимого правой таблицы по столбцам и записи шифртекста группами по четыре буквы получим шифрованное сообщение:
ОЕТИ СИЕВ ОСОТ ЭЩЕП ОНУА БЛТЬ ТЕДР .
Однако такая система остается все еще очень восприимчивой к нападениям по методу проб и ошибок.
Контрольные вопросы
Что понимается под шифрованием?
Что понимается под дешифрованием?
Объяснить понятие «симметричное шифрование».
Объяснить понятие «ассимметричное шифрование».
Объяснить понятие «блочное шифрование».
Объяснить понятие «поточное шифрование».
Алгоритм шифрования перестановочным шифром.
Лабораторная работа №7
Шифры замены
Цель работы: освоить шифрования методами замены.
Задание
Разработать алгоритм для шифрования сообщений полиалфавитным шифром Виженера;
Разработать алгоритм для дешифрования сообщений зашифрованных полиалфавитным шифром Виженера;
Составить приложение для шифрования/дешифрования с использованием полиалфавитным шифром Виженера с кодовым словом заданной длины.
Описание метода шифрования моноалфавитным шифром
Самый простой тип шифра замены должен брать каждый символ в сообщении и заменять его в зашифрованном тексте другим символом. Символы для зашифрованного текста обычно берутся из того же алфавита, что и для сообщения, но это не обязательно. Система называется моноалфавитной из-за того, что каждый символ сообщения всегда преобразуется в один и тот же символ зашифрованного текста.
О раннем использовании такой системы сообщил древнеримский комментатор сплетен Светоний, хотя это ни в коем случае не первое зарегистрированное использование криптографии, которое относится к древнему Египту, и использовалось в узнаваемых сегодня формах еще греками. Светоний написал, что еще Юлий Цезарь использовал систему преобразований при общении со своими друзьями. Он заменял каждую букву сообщения на третью букву из того же алфавита, доказывая не только потребность в секретной политической связи, но и трудность сохранения такой связи в тайне от прессы! Термин "подстановка Цезаря" теперь применяется к любому шифру с подобным сдвигом между символами сообщения и алфавитом шифра, даже если этот сдвиг не равен трем.
Шифр с подстановкой Цезаря
Проблема со всеми моноалфавитными шифрами состоит в том, что их очень просто атаковать с использованием частотного анализа. Избыточность, свойственная английскому языку, такова, что только около 25 символов зашифрованного текста требуются для того, чтобы дешифровать сообщение. Если в зашифрованном тексте остаются пробелы, расшифровка его даже упрощается, т. к. однобуквенным словом может быть лишь "а" или "I". Через эти прорехи может просачиваться и другая информация сообщения. Испытательная версия подобной "защитной" программы используется в системе программирования Java для шифрования адреса Web-сайта в том случае, если не был введен правильный ключ. Однако такой зашифрованный текст легко перехватывать, поскольку все URL-адреса Web-сети начинаются с последовательности "http", а большинство из них содержат строку "www" и заканчиваются на ".html" или ".htm". Таким образом, кодирование символов h, t, p, w и m обычно считается заданным. Разработчики программы облегчили жизнь хакера, оставляя пунктуацию без кодировки, так что ".xyz" в конце имени хост-машины — это вероятнее всего ".com". Такой код оставляет для расшифровки так мало букв, что остающиеся возможности можно проверить методом проб и ошибок.
Описание метода шифрования полиалфавитным шифром
Одна из проблем использования произвольной подстановки это длина ключа, т. к. должно быть определено преобразование каждого символа. Это непросто запомнить. В простой системе подобного рода, иногда называемой подстановкой Виженера, используется специальное кодовое слово, чтобы определить несколько первых подстановок, и затем вставляются остальные буквы. Ключ в форме кодового слова легко запомнить, но шифр очень беден, т. к. последние символы алфавита (такие как Э или Я) вряд ли будут вообще зашифрованы.
Шифр с подстановками Виженера
Одним из способов преодоления атаки частотного анализа является использование разных алфавитов преобразования, зависящих от позиции символа в сообщении. Система, изобретенная Джироламо Кардано (Girolamo Cardano), упоминается после системы Виженера (хотя на самом деле именно Виженер разработал автоключевую систему. Имя Блэза де Виженера, к сожалению, неправильно связывают с созданием двух шифров, которые он на самом деле не разрабатывал, и наоборот, не связывают с намного более качественным шифром, который действительно он изобрел). Для определения числа подстановок Цезаря, которые впоследствии будут использоваться для кодирования, применяется специальное кодовое слово. Например, пусть этим кодовым словом будет "ШИФР". Оно определяет четыре алфавита (рис.3, а), первый — со сдвигом 25, второй — со сдвигом 9, третий — со сдвигом 22 и четвертый — со сдвигом 18. Пример кодирования показан ниже.
Полиалфавитный шифр Виженера: а — таблица шифрования; б — пример кодирования
а)
б)
Такие полиалфавитные шифры лучше, чем моноалфавитные, но они все еще уязвимы для нападения, использующего частотный анализ, когда нападающий вычисляет длину повторения кодового слова и может затем выполнить частотный анализ для каждого алфавита индивидуально. В системе Виженера атака даже облегчается, т. к. каждый алфавит является подстановкой Цезаря.
Контрольные вопросы
Алгоритм шифрования моноалфавитным шифром.
Алгоритм шифрования полиалфавитным шифром.
Алгоритм шифрования шифром Виженера.
Лабораторная работа №8
Поточные методы шифрования
Цель работы: освоить шифрования поточными методами.
Задание
Разработать алгоритм для шифрования сообщений поточным методом Виженера;
Разработать алгоритм для дешифрования сообщений зашифрованных поточным методом Виженера;
Составить приложение для шифрования/дешифрования с использованием поточного метода Виженера с кодовым словом.
Описание методов поточного шифрования
Поточный шифр— это симметричный шифр, в котором каждый символ открытого текста преобразуется в символ шифрованного текста в зависимости не только от используемого ключа, но и от его расположения в потоке открытого текста. Поточный шифр реализует другой подход к симметричному шифрованию, нежели блочные шифры.
В поточных шифрах имеется обратная связь от открытого текста или, аналогично, от зашифрованного текста к ключу. Использование сообщения для формирования ключа таким способом называется автоключом (autokey) и было впервые предложено Виженером в 1568 году. Этот способ шифрования имеет преимущество в части сокращения длины ключа, который нужно сохранять или транспортировать, но есть в нем и очень существенный недостаток, состоящий в том что, если в посылаемом сообщении содержится какая-нибудь ошибка, то эта ошибка будет размножаться.
Система Виженера подобна полиалфавитной системе, после начального ключевого слова (в качестве которого Виженер использовал одиночный символ) используется сам текст сообщения. Это позволяет избегать повторений, которые ослабляют полиалфавитные системы, но если хотя бы один символ искажен, то, начиная от этой точки, расшифровка будет ошибочной.
Кодирование в автоключевой системе Виженера
Для того чтобы дешифровать сообщение, приёмник должен знать ключевое слово или символ (в примере, показанном на рис.1, это один символ— "Р"), что позволяет расшифровать первый символ сообщения. Это дает ключ для следующего символа, и т. д. Шифрованию и расшифровке помогает таблица Виженера .
Таблица Виженера для русского языка
Одноразовое заполнение (шифр Вернама)
В 1949 году американский криптограф Клод Шеннон опубликовал работу, в которой доказал абсолютную стойкость шифра Вернама, который также известен, как одноразовый блокнот (one-time pad).
Система одноразового шифрования
В системе одноразового заполнения каждое сообщение шифруется с ключом, который затем сбрасывается и никогда не используется снова. Поэтому ключ используется только один раз, давая шифру его название. Криптограмма зависит от сообщения и ключа, но так как ключ уникален для данной передачи и никогда повторно не используется, то подслушивающий не имеет никакой возможности узнать его и взломать шифр. Процесс кодирования может быть очень простым — нужно просто добавлять ключ к сообщению (рис.3).
Шифр Вернама был изобретен в 1917 году Мейджором Джозефом Моборном (Major Joseph Mauborn) и Гильбертом Вернамом (Gilbert Vernam) из AT&T (American Telephone & Telegraph). Суть шифрования одноразовым заполнением заключается в следующем: открытый текст представляется в виде пятизначных "импульсных комбинаций"(код Бодо). В этом коде, например, буква "А" имеет вид (+ + — — —). На бумажной ленте эта буква получала следующий вид:
Знак "+" означал отверстие, а знак "—" - его отсутствие. При считывании с ленты пятерка металлических щупов "опознавала" отверстия (при наличии отверстия щуп замыкал электрическую цепь). В линию связи посылались импульсы тока:
Вернам предложил электромеханически покоординатно складировать импульсы знаков секретного текста с импульсами гаммы (гамма - это секретный ключ, представляющий из себя хаотический набор букв того же самого алфавита). Сложение, по современной терминологии, осуществлялось "по модулю 2"(логика XOR или ИЛИ-НЕ):
(здесь "0" означает знак "—" "кода Бодо", а 1 - "+"). Пусть, например, знак гаммы имеет вид:
,
тогда буква "А" при шифровании переходит в двоичную комбинацию:
,
при расшифровывании ту же операцию необходимо повторить (покоординатно):
Для шифрования булевой строки длины N используется секретный ключ - полностью случайная булева строка длины N. Отправитель и Получатель имеют этот секретный ключ, и больше никто его не знает. Чтобы послать Получателю сообщение (булеву строку длины N), Отправитель побитно складывает текст сообщения с секретным ключом по модулю 2 и пересылает результат Получателю. Получатель, имея точно такой же ключ, сможет восстановить исходное сообщение, побитно сложив полученную от Отправителя строку с ключом. Шенноном было доказано, что такой шифр будет абсолютно стойким при условии полной случайности ключа и однократности его использования.
Однако трудность метода состоит в том, что ключ используется с такой же скоростью, как и сообщение, и не может генерироваться любым предсказуемым способом (но есть возможность отгадать ключ). Проблема безопасной транспортировки зашифрованного сообщения заменяется проблемами транспортировки ключа эквивалентной длины и генерации такого ключа. Эта система подходит для посылки относительно небольшого количества очень высокозащишенных данных, в которой ключ можно надежно транспортировать только автономно.
Регистры сдвига с обратной связью
Большинство реальных поточных шифров основано на регистрах сдвига с обратной связью. Регистр сдвига применяют для генерации ключевой последовательности. Регистр сдвига с обратной связью состоит из двух частей: регистра сдвига и функции обратной связи.
Регистр сдвига
представляет собой последовательность
битов. (Количество битов определяется
длиной сдвигового регистра. Если длина
равна
битам, то регистр называется
-битовым
регистром сдвига.) Всякий раз, когда
нужно извлечь бит, все биты регистра
сдвига сдвигаются вправо на 1 позицию.
Новый крайний левый бит является функцией
всех остальных битов регистра. На выходе
регистра оказывается один, обычно
младший значащий бит. Периодом регистра
называется длина получаемой
последовательности до начала ее
повторения.
Простейшим видом регистра сдвига с обратной связью является регистр сдвига с линейной обратной связью, РСЛОС (Linear Feedback Shift Register, LFSR). Обратная связь представляет собой XOR некоторых битов регистра; эти биты называются отводной последовательностью.
РСЛОС (n-битовый)
может находиться в одном из
внутренних состояний. Это означает, что
теоретически такой регистр может
генерировать псевдослучайную
последовательность с периодом
битов. (Число внутренних состояний и
период равны
,
потому что заполнение РСЛОС нулями
приведет к тому, что сдвиговый регистр
будет выдавать бесконечную последовательность
нулей, что абсолютно бесполезно.) Только
при определенных отводных последовательностях
РСЛОС циклически пройдет через все
внутренних состояний. Такие РСЛОС имеют
максимальный период. Получившийся
pезультат называется М-последовательностью.
Для того чтобы конкретный РСЛОС имел
максимальный период, многочлен,
ассоциированный с отводной
последовательностью, должен быть
примитивным по модулю 2 — то есть не
раскладываться на произведение двоичных
многочленов меньшей степени.
Сами по себе РСЛОС
являются хорошими генераторами
псевдослучайных последовательностей,
но они обладают некоторыми нежелательными
неслучайными свойствами. Для РСЛОС
длины
внутреннее состояние представляет
собой предыдущие
выходных битов генератора. Даже если
схема обратной связи хранится в секрете,
она может быть определена по
выходным битам генератора с помощью
алгоритма Берлекэмпа-Мэсси.
В качестве примера метода, рассмотрим 4-х битовый LFSR с отводом от первого и четвёртого битов:
Выходной последовательностью будет строка младших значащих битов 111101011101000:
№ такта |
Состояние регистров |
Выходной бит |
0 |
1111 |
- |
1 |
0111 |
1 |
2 |
1011 |
1 |
3 |
0101 |
1 |
4 |
1010 |
1 |
5 |
1101 |
0 |
6 |
0110 |
1 |
7 |
0011 |
0 |
8 |
1001 |
1 |
9 |
0100 |
1 |
10 |
0010 |
1 |
11 |
0001 |
0 |
12 |
1000 |
1 |
13 |
1100 |
0 |
14 |
1110 |
0 |
15 |
1111 |
0 |
=4,
значит, всего может быть
различных состояний, далее циклически
значения выходных битов будут повторяться.
A5
А5 — это поточный шифр, используемый для шифрования GSM (Group Special Mobile), — европейского стандарта для цифровых сотовых мобильных телефонов. А5 состоит из трех PCЛОС длиной 19, 22 и 23. Выходом является XOR трех PCЛОС. В А5 используется изменяемое управление тактированием. Каждый регистр тактируется в зависимости от своего среднего бита, затем выполняется XOR с обратной пороговой функцией средних битов всех трех регистров. Обычно на каждом этапе тактируется два РСЛОС. Существует тривиальная атака на открытом тексте, основанная на предположении о содержании первых двух РСЛОС и попытке определения третьего РСЛОС по ключевой последовательности. Тем не менее идеи, лежащие в основе А5, позволяют проектировать надежные поточные шифры. Алгоритм эффективен и удовлетворяет всем известным статистическим тестам, единственная его слабость — короткие регистры. Варианты А5 с более длинными сдвиговыми регистрами и более плотными многочленами обратной связи позволяют противостоять силовой атаке.
Лабораторная работа №9
Методы продукционного шифрования
Цель работы: освоить методы продукционного шифрования.
Задание
Изучить алгоритмы на основе сети Фейстеля.
Изучить DES-алгоритм.
Изучить расширенный алгоритм шифрования АES.
Описание методов продукционного шифрования
Как перестановочные, так и шифры замены имеют свои преимущества, поэтому безопасную криптосистему можно построить путем их объединения. Продукционный шифр — это такой шифр, в котором объединены две или несколько криптографических функции, выполняемых одна за другой. Примером такой системы является шифровальная машина военного времени “Enigma” («Загадка»), в которой ряд кодовых колес переставлял и преобразовывал символы сообщения в кодовые символы. Многие коммерческие шифры основаны на принципе выполнения достаточного количества относительно простых перестановок и преобразований, формирующих безопасную систему.
Хорошим примером системы этого типа является стандарт шифрования данных (Data Encryption Standard, DES), который использует последовательность из 16 преобразований и перестановок. Он имеет 56-разрядный ключ, который, хотя и восприимчив к нападениям "в лоб", но все еще очень популярен. Другие примеры продукционных шифров коммерческого использования — Blowfish Брюса Шнейера, ТС4 Рональда Райвеста (соавтора криптосистемы RSA) и IDEA (International Data Encryption Algorithm) — международный алгоритм шифрования данных, который использует 128-разрядный ключ и ряд, состоящий из 8 преобразований и перестановок.
Продукционные шифры обеспечивают очень хороший компромисс между защитой, сложностью и генерацией/распределением ключей. Они продолжают быть популярными и приняты Национальным институтом стандартов и технологий США (NIST, National Institute of Standards and Technology) для замены стандарта DES под названием Advanced Encryption Standard, AES (Расширенный стандарт шифрования).
Сети Фейстеля.
Сеть Фейстеля
подразумевает разбиение обрабатываемого
блока данных на несколько субблоков
(чаще всего - на два), один из которых
обрабатывается некоей функцией
и накладывается на один или несколько
остальных субблоков.
Структура алгоритмов на основе сети Фейстеля
а) шифрования, б) дешифрования.
а) б)
Блок открытого
текста делится на две равные части (
).
Для каждого раунда (
- номер раунда) вычисляется:
где
—
некоторая функция, а
—
ключ
-го
раунда.
Ключ раунда является
результатом обработки ключа шифрования
процедурой расширения ключа, задача
которой - получение необходимого
количества ключей
из
исходного ключа шифрования относительно
небольшого размера (в настоящее время
достаточным для ключа симметричного
шифрования считается размер 128 бит). В
простейших случаях процедура расширения
ключа просто разбивает ключ на несколько
фрагментов, которые поочередно
используются в раундах шифрования;
существенно чаще процедура расширения
ключа является достаточно сложной, а
ключи
зависят от значений большинства бит
исходного ключа шифрования.
Результатом
выполнения
раундов является
.
Но обычно в
-ом
раунде перестановка
и
не производится, что позволяет использовать
ту же процедуру и для расшифрования,
просто инвертировав порядок использования
раундовой ключевой информации:
Такая структура алгоритмов шифрования получила свое название по имени Хорста Фейстеля (Horst Feistel) - одного из разработчиков алгоритма шифрования Lucifer и разработанного на его основе алгоритма DES (Data Encryption Standard) - бывшего (но до сих пор широко используемого) стандарта шифрования США. Оба этих алгоритма имеют структуру, аналогичную показанной на рис. 1. Среди других алгоритмов, основанных на сети Фейстеля, можно привести в пример отечественный стандарт шифрования ГОСТ 28147-89, а также другие весьма известные алгоритмы: RC5, Blowfish, TEA, CAST-128 и т.д.
На сети Фейстеля основано большинство современных алгоритмов шифрования - благодаря множеству преимуществ подобной структуры, среди которых стоит отметить следующие:
Алгоритмы на основе сети Фейстеля могут быть сконструированы таким образом, что для зашифрования и расшифрования могут использоваться один и тот же код алгоритма - разница между этими операциями может состоять лишь в порядке применения ключей ; такое свойство алгоритма наиболее полезно при его аппаратной реализации или на платформах с ограниченными ресурсами; в качестве примера такого алгоритма можно привести ГОСТ 28147-89.
Алгоритмы на основе сети Фейстеля являются наиболее изученными - таким алгоритмам посвящено огромное количество криптоаналитических исследований, что является несомненным преимуществом как при разработке алгоритма, так и при его анализе.
Существует и более
сложные структуры сети Фейстеля. При
большом размере блоков шифрования (128
бит и более) реализация сети Фейстеля
на 32-разрядных архитектурах может
вызвать затруднения, поэтому применяются
модифицированные варианты этой
конструкции. Обычно используются сети
с 4 ветвями. На рисунке показаны наиболее
распространенные модификации. Также
существуют схемы, в которых длины
половинок
и
не совпадают. Они называются
несбалансированными.
Модификации сети Фейстеля
DES
DES — это стандарт шифрования данных, созданный для американского правительства с целью использования в финансовых транзакциях. Он был разработан на базе криптосистемы Lucifer компании IBM. DES — нелинейный алгоритм. Это означает, что невозможно формировать правильные сообщения простым дополнением зашифрованных текстов (шифрограмм). DES включает только простые подстановки и дополнения, что делает его идеальным для реализации на интегральных схемах. Другое преимущество — для дешифровки DES использует то же самое оборудование, что и для шифрования, только с секциями подключей в обратном порядке.
Кроме шифрования передаваемых данных стандарт DES также используется для шифрования паролей в операционной системе UNIX и для проверки PIN-кодов на кэш-картах ATM.
DES-алгоритм состоит из 16 стандартных конструктивных блоков, которые переставляют и преобразуют 64-разрядные входные блоки в 64-разрядные выходные (рис.3, а). Каждый стандартный конструктивный блок работает с отдельным 48-разрядным ключом, который получается из первоначального ключа. Ключ состоит из 64 разрядов, но 8 из них — разряды проверки на четность, так что фактически ключ имеет длину 56 разрядов. До подачи в первый стандартный конструктивный блок, 64-разрядный ввод подвергается перестановке, а после прохождения через блоки — обратной перестановке.
DES-шифрование
Каждый стандартный конструктивный блок преобразует левую и правую части 64 разрядного входа в 64-разрядный выход (рис.3, б). Правая часть входа передается напрямую и принимает участие в формировании левой половины выхода. Правая часть выхода формируется с помощью нелинейной функции из левой и правой частей входа и ключа, предназначенного для данного конкретного блока.
Нелинейная функция детализирована на рис.3,в. 32-разрядный правый блок входа расширяется до 48 битов путем двойного повторения половины его разрядов и их перестановки. Затем к этому блоку добавляется специфический 48-разрядный ключ. Результат делится на восемь 6-разрядных блоков. Каждый из этих блоков используется как адрес для массива, состоящего из 8 S-элементов. Каждый S-элемент в этом массиве представляет число от 0 до 15, так что выходом каждого S-элемента является 4-разрядное число, поэтому функции S-элементов уменьшают выход до 32 разрядного числа. Функция S-элемента нелинейна, т.е. f(A) + f(B) ≠ f{A + В), а сами S-элементы различны. Перед добавлением к левому 32-разрядному блоку 32-разрядный выход S-элементов снова подвергается перестановке и затем используется для формирования нового 32-разрядного правого блока выхода.
16 секций подключей формируются из 56 значащих разрядов ключа (без учета разрядов проверки на четность) путем их расщепления на две секции по 28 разрядов. Затем эти 28-разрядные секции циклически сдвигаются на один или два разряда и между каждым этапом каждые 48 разрядов соответствующего этапа извлекаются и переставляются, формируя подключи К1—K16. Если подключи используются в прямом порядке (К1, К2, К3,..., К16), то выполняется прямое шифрование. Если же они используются в обратном порядке (К16, К15,..., К1), то в результате происходит инверсия функции шифрования, т.е. зашифрованный блок преобразуется обратно в соответствующий блок сообщения. Это означает, что для шифрования и дешифровки может использоваться одно и то же оборудование.
DES очень популярен. Его алгоритм опубликован, и машинный код его реализации доступен для многих языков программирования. Лучшей атакой на него остается полный перебор всех 256 ключей, впрочем, поскольку шифрование дополнения сообщения с дополнением ключа дает дополнение полей шифрограммы, мы можем обойтись лишь половиной числа переборов (255).
Для работы с DES требуются весьма мощные компьютеры. В течение ряда лет полный перебор в течение нескольких часов был возможен только для очень богатых организаций, но прогресс в изготовлении микропроцессоров теперь вкладывает эти возможности в руки любой организации, позволяя экономить десятки миллионов долларов на использовании чужих секретов. Двойная шифровка сообщений приводит к небольшому увеличению защиты из-за возможности применения так называемого "встречающегося посередине" (meet in the middle) нападения. Однако шифрование с одним ключом, дешифрование — со вторым и повторное шифрование— с третьим, которое называется тройным DES-шифрованием, увеличивает число ключей, требующих проверки, приблизительно до 280, что снова можно считать безопасным.
Расширенный стандарт шифрования (AES)
Как отмечалось ранее, DES-стандарту присуща повышенная сложность обрабатывающего оборудования, что привело к практическим предложениям по его пересмотру. После открытого приглашения к разработке алгоритмов, на которое было получено 21 предложение от 11 стран, и двухлетней процедуры их оценки Национальный институт стандартов и технологий США (NIST) выбрал замену для DES в форме Расширенного стандарта шифрования (AES). Для него был принят шифр, строящийся по алгоритму Райндала (Rijndael). Это сложный блочный продукционный шифр, который может быть эффективно реализован. Шифр Райндала был разработан фламандскими исследователями Джоан Даймен (Joan Daemen) и Винсентом Райменом (Vincent Rijmen). В стандарте определяется три размера ключей: 128, 192 и 256 разрядов.
Также как DES, алгоритм состоит из нескольких раундов, точное число которых зависит от размера ключа, состоящих из перестановок и добавления подключа. Хотя алгоритм Райндала может работать и на других размерах блоков, стандарт AES определяет размер блока, равным 128 разрядов. Этот блок разбивается на 168-разрядных байтов, размещаемых в массивах размером 4 строки × 4 столбца. Каждый раунд обработки состоит из четырех этапов: нелинейного преобразования S-элемента, которое реализуется как отображение одного байта в другой, перестановки строк, перемешивания столбцов и, наконец, добавления подключа текущего раунда.
Одним из первых приложений AES будет шифрование информации, посылаемой в эфир, в новой системе мобильного радио 3-го поколения CDMA2000.
Лабораторная работа №10
Криптосистемы с общим ключом
Цель работы: освоить криптосистемы с общим ключом.
Криптосистемы с общим ключом
Проблема распределения ключей
Серьезной проблемой
является распределение и управление
ключами. В криптосистеме с частными
ключами каждое коммуникационное звено
требует отдельного ключа. Для двух
пользователей требуется только один
ключ, но когда к системе с
уже существующими пользователями каждый
раз добавляется по одному пользователю,
то требуется
дополнительных ключей. Это означает,
что система с
пользователями требует
различных ключей. Система, показанная
на рис.1, имеет 8 пользователей, так что
для нее требуются 28 ключей.
Криптосистема с общим ключом, как подсказывает название, имеет ключ, который является общим и поэтому доступным для всех сторон, которые желают поддерживать связь. Это решает проблему распределения ключей — они могут быть опубликованы в чем-то похожем на телефонную книгу, например. Устраняется также потребность для поддерживающих связь сторон в заблаговременном согласовании ключей. Алиса может посылать зашифрованное сообщение Бобу, даже если она никогда не имела никакого предыдущего контакта с ним, что важно для таких приложений, как электронная торговля, где требуется безопасная связь с незнакомцами.
Однако опубликованный ключ вводит новую проблему. Раз сообщение было зашифровано с ключом, то не должно быть возможности восстанавливать сообщение из закодированного текста даже со знанием ключа, который, как сказано, является доступным каждому. Это требует введения концепции односторонней функции, функции, которая не может быть (легко) обратимой, но должна обладать некоторой "лазейкой", чтобы с помощью некоторого секретного знания получатель мог обращать процесс получения сообщения.
Рис.1. Ключи для системы с частными ключами (а) и системы с общим ключом (б)
На первый взгляд, это выглядит так, как если бы система с общим ключом требовала большего количества ключей, т.к. каждая дуплексная связь требует двух ключей, по одному для каждого направления. Однако в системе с общим ключом, хотя имеется 56 коммуникационных связей, каждая связь с одним и тем же адресатом использует один и тот же ключ (общий ключ этого адресата), так что фактически требуется только 8 ключей. Кроме того, каждая связывающаяся сторона должна хранить только один ключ — свой секретный частный ключ, вместо ключей в случае системы с частными ключами.
Системы с общим ключом также называют асимметричными системами, потому что процесс, используемый для декодирования, не является простым обращением процесса кодирования. В этом состоит их главное отличие от систем с частными ключами, которые называют симметричными системами, потому что функция дешифрования является обратной по отношению к функции шифрования (и наоборот).
Односторонние функции
Односторонняя (one-way) функция — это функция, которую просто вычислять, но трудно обращать. Пример — умножение больших чисел. Мы можем вычислить без слишком больших трудностей произведение:
но обратный процесс — факторизация (разложение на множители) числа 8 616 460 799 существенно труднее. В.С. Джевонс (W.S. Jevons), рассматривавший эту проблему в 1873 г., резюмировал, что "мы можем легко... сделать некоторую вещь, но можем иметь много неприятностей, если попытаемся разделить ее".
В качестве операции
факторизации для системы с общим ключом
нам бы хотелось иметь такую функцию,
которая при работе на сообщении
давала бы в результате криптограмму
,
по которой практически невозможно
раскрыть
.
Другими словами, мы должны быть способны
легко выполнять функцию
(так, чтобы криптосистема оставалась
реализуемой), но реализовать
было бы практически невозможно. Заметим,
что обращение функции теоретически
всегда возможно (скажем, просто путем
вычисления
для каждого возможного сообщения
до тех пор, пока результат не совпадет
с
).
Однако стоимость выполнения таких
вычислений была бы значительно выше,
чем значимость информации, которая
могла быть получена таким способом,
или время, затраченное на это было бы
так велико, что полученная информация
оказалась бы устаревшей.
Односторонние функции, используемые для криптографических целей, должны обладать еще одним свойством — они должны иметь специальную "лазейку", т.е. способ, с помощью которого некто, обладающий специальным знанием, смог бы восстановить по , затратив разумное количество усилий. Это секретное знание формирует частный ключ, который тайно хранится получателем, позволяя ему расшифровывать сообщения.
Система работает следующим образом.
Каждый пользователь имеет пару ключей
и
.
Сообщение шифруется с помощью функции
.
Выполняется дешифрация с помощью функции
.
и
проектируются так, чтобы:
для заданных и , можно было легко находить
;
для заданного было бы нереально найти (то есть функция должна быть односторонней);
для заданных и , можно было легко найти (то есть функция должна иметь "лазейку", задаваемую параметром ).
Для использования в криптосистемах были предложены различные функции.
Ключевой обмен Диффи-Хеллмана (Diffie-Hellman). Основан на трудности вычисления дискретных логарифмов полей, которая возрастает по сравнению с вычислениями на основе степенных функций. Это не совсем шифр, но это первая опубликованная система с общим ключом.
RSA (криптосистема Райвеста, Шамира, Альдемана). Основана на трудности факторизации (разбиения на множители) произведения по сравнению с операцией умножения. Это наиболее популярная система с общим ключом, используемая, например, для почтовой программы, реализующей протокол POP (Post Office Protocol). Но в вычислительном отношении она довольно дорогая, и коммерческое ее использование в США подлежит патентованию.
Knapsack. Методика с таким странным названием основана на трудности разделения суммы на индивидуальные элементы по сравнению с добавлением этих элементов в начало суммы. Было много успешных атак на эту систему и в результате она используется довольно редко. Однако, она менее сложна, чем RSA, и до появления более современных систем с эллиптическими кривыми ее считали системой, вполне оправдывающей свои обещания, т.е. обладающей низкой сложностью и относительной безопасностью.
Эллиптические кривые. Эллиптические кривые — это специальные линии, определенные над первичным полем. Задав некоторую точку на этой линии, легче вычислять и все другие ее точки. Без генерации всех возможных точек (что не практично, если поле достаточно велико) обращение операции довольно затруднительно. Эти схемы являются довольно многообещающими, потому что кодирование и декодирование в них не очень-то сложное. Если не касаться защиты, то эта схема обладает всеми преимуществами предыдущей.
Коды с исправлением ошибок. Хотя код с исправлением ошибок способен исправлять до (d - l)/2 ошибок, но без набора декодирующих правил единственный способ реализовать эту возможность состоит в том, чтобы сравнивать полученный вектор с каждым кодовым словом и выбирать тот, который находится на расстоянии (d- l)/2 от него. Для длинных кодов это практически невозможно. Поэтому можно сформировать криптосистему, использующую код с исправлением ошибок, выполняя перестановки генерирующей матрицы. Исходный генератор формирует частный ключ, позволяющий декодировать сообщения, а генератор с перестановками используется в качестве общего ключа. Посылаемые сообщения маскируются добавлением ошибок, которые подслушивающий не может удалить, т.к. генератор с перестановками не позволяет выполнить простое декодирование.
Ключевой обмен Диффи-Хеллмана
Протокол обмена ключей Диффи-Хеллмана в действительности не является обычной системой с общим ключом, т.к. передаваемый секрет случаен, но его можно использовать для передачи информации, применяя общий секрет для шифрования передаваемых данных. Это была первая опубликованная система с общим ключом. В ней возникают трудности, связанные с вычислениями логарифмов первичных полей, которые значительно выше, чем при вычислениях с помощью экспоненциальных функций.
Протокол выполняет обмен секретом между двумя сторонами по опасному каналу, не требуя ни знания, ни даже существования этого секрета. Работает это следующим образом.
Алиса и Боб соглашаются использовать генератор
и простой модуль .
Алиса генерирует случайное число
. Это ее частный ключ. Она вычисляет свой общий ключ
, который равен
.
Подобным же образом Боб генерирует случайный частный ключ
и общий ключ
. Алиса и Боб обмениваются их общими ключами и
.
Алиса принимает ключ и использует свой частный ключ для следующего вычисления:
.
Боб также может вычислить
по ключу , который он принимает от Алисы, и своему частному ключу , т.к.
.
И Алиса и Боб теперь знают , но подслушивающий не может вычислять по наблюдениям
и .
В качестве примера такого обмена рассмотрим следующую процедуру:
и
.
Алиса получает случайный
, Боб выбирает
.
Алиса вычисляет
.
Боб вычисляет
.
Алиса посылает Бобу число 5, а Боб посылает Алисе число 9.
Алиса вычисляет
.
Боб вычисляет
.
Поэтому
.
Обратите внимание,
что общий секрет случаен, т.к.
,
так что его нельзя использовать, чтобы
напрямую посылать информацию. Если
Алиса и Боб не выбирают свои частные
ключи чисто случайно, то это знание
можно использовать для нападения на
систему.
Когда
и
опубликованы, то нападение на эту систему
становится эффективным с помощью
задачи дискретного логарифмирования.
означает, что
.
Поэтому Ева может находить
,
вычисляя
.
В вышеупомянутом примере нахождение
тривиально, но очень трудно, если
велико.
1 Для получения более подробной информации откройте в любом текстовом редакторе (Блокнот) файл C:\WINDOWS\system32\drivers\etc\services