Защита информации в вычислительных сетях.
Часа
Цель работы:
Получить практические навыки использование шифра при передачи информации в сети.
Для защиты информации в вычислительных сетях используется такой способ криптографического преобразования как шифрование, в котором всегда различают два элемента: ключ и алгоритм. При этом ключом является секретное состояние некоторых параметров алгоритма криптопреобразования сообщения.
На практике в зависимости от способа применения ключа различают 2 типа криптографических систем:
● Одноключевые (симметричные)
● Двухключевые (несимметричные)
В одноключевых системах, называемых традиционными, ключи шифрования и расшифрования либо одинаковы, либо легко выводятся один из другого, обеспечивая, таким образом единый общий ключ. Такой ключ является секретным и передается получателю сообщением только по защищенному каналу связи.
При этом имеет место следующий парадокс: если для обмена ее секретного ключа используется защищенный канал, то нет необходимости шифровать конфиденциальные сообщения, гораздо проще отправить их по это: каналу.
Отмеченный парадокс может быть исключен использованием идеи Диффи и Хеллмана, которые предложили способ выработки секретного ключа без предварительного согласования между абонентами сети путем обмена информацией по открытому каналу. Этот способ был предложен Диффи и Хеллманом в 1976 году и опубликован в ряде работ по криптографии. Реализация такого способа привела к появлению открытого шифрования. Абонент сети открыто сообщал о том, каким образом зашифровать к нему сообщение, расшифровать же его мог только он сам.
Основную роль при выработке секретного ключа в данном случае играют математические операции, когда прямая операция сравнительно проста, а обратная - практически трудно реализуема.
Прямая операция: возвести основание а в степень р и взять остаток по модулю m вида:
L = ap mod m.
Обратная операция: найти р, зная L, а и т.
Обратная операция (задача) при этом может быть решена простым перебором значений р, но практически не решается при больших значениях р .
В предлагаемом алгоритме выработки секретного ключа известны основание а и mod m.
Отправитель сообщения с помощью генератора случайных чисел получает случайное число X (1 < х < т), вычисляет значение L0 = aх mod т и посылает L0 получателю.
Получатель принимает L0 вырабатывает с помощью своего ГСЧ случайное число Y (1 < у < т), вычисляет значение Lp = ay mod т и посылает Lp отправителю.
Отправитель принимает Lp, вычисляет К0 = Lpx = ауx mod т. Получатель вычисляет Кp = L0y = ауx mod т.
Так как К0 = Кp., то это число и является общим секретным ключом.
Злоумышленник, перехватив L0 и Lp , не знает случайных чисел х и у и не сможет расшифровать исходный текст сообщения.
Самостоятельное задание:
Составьте программное обеспечение, реализующее алгоритм обмена ключами. Ключи должны автоматически формироваться в файлы. Должна быть обеспечена наглядность выполнения алгоритма. Для созданного программного обеспечения проведите тестирование не менее чем на 10 различных наборах данных.
Практическая работа 7
Разработка проекта и программная реализация прототипа системы с разграничением полномочий пользователей на основе паролей.
Часов
Цель работы:
Получить практические навыки защиты данных от несанкционированного доступа
Система безопасности БД должна обеспечивать физическую целостность БД и защиту от несанкционированного вторжения с целью чтения содержимого и изменения данных. Защита БД производится на двух уровнях:
· на уровне пароля;
· на уровне пользователя (защита учетных записей пользователей и идентифицированных объектов).
1. Алгоритм защиты БД MS Access (монопольный режим). Открываем СУБД MS Access и создаем новую базу данных MS Access. Сохраняем созданную БД и закрываем. Открываем БД в монопольном режиме. Файл àОткрыть. В диалоговом окне Открыть необходимо найти файл, который необходимо открыть, и выделяем его. Щелкаем по стрелке рядом с кнопкой Открыть и выбираем команду Монопольно. На вкладке Файл кнопка Сведения и выбираем пункт Зашифровать паролем. Откроется диалоговое окно Задание пароля базы данных. Введите пароль в поле Пароль, а затем повторите его в поле Проверить. Закрыть БД. Открыть защищенную паролем БД в монопольном режиме. Появиться окно «Необходимо ввести пароль». Для удаления созданного пароля необходимо зайти во вкладке Файл нажать кнопку Сведения и выбрать пункт Расшифровать базу данных. Появиться окно Удаления пароля баз данных.
2. Для защиты БД Ассеss использует файл рабочих групп systеm.mdw (рабочая группа - это группа пользователей, которые совместно используют ресурсы сети), к которому БД на рабочих станциях подключаются по умолчанию. Файл рабочих групп содержит учётные записи пользователей и групп, а также пароли пользователей. Учётным записям могут быть предоставлены права на доступ к БД и её объектам, при этом сами разрешения на доступ хранятся в БД.
Для обеспечения защиты БД Ассеss необходимо создать рабочую группу. При создании уникальной рабочей группы задается имя пользователя, название организации и код рабочей группы. Файл рабочей группы MS Ассеss содержит следующие встроенные учётные записи:
1. Аdmins - стандартная учётная запись пользователя. Данные записи являются одинаковыми для всех экземпляров Мs Ассеss;
2. Аdmin - учётная запись группы администратора - является уникальной в каждом файле рабочей группы;
3. Usеrs - содержит учётные записи пользователей.
Для создания файла рабочих групп необходимо в папке systеm или systеm32 в каталоге windоws найти файл рабочей группы и создать новую рабочую группу (может быть до 20 цифровых или буквенных обозначений).
Группа Аdmins может содержать произвольное число пользователей, но владелец объекта всегда один (владельцем объекта может быть учётная запись, которая создавала объект или которой были переданы права на его использование). Так как чтение записи Аdmin возможно для всех рабочих групп и данные учётные записи являются одинаковыми, то пользователя АDМIN необходимо удалить из группы администраторов, для чего следует создать новую учётную запись администратора и задать пароль на его учётные записи и на учетные записи владельца.
Зашифровать и дешифровать базу данных могут только её владелец и члены группы Admins. Для шифрования используется алгоритм RSA (назван по первым буквам фамилий его изобретателей: Rivest, Shamir, Adelman) с ключом на основе идентификатора рабочей группы. У шифрования базы данных имеется два негативных побочных эффекта. Во-первых, снижается её быстродействие - по оценкам Microsoft, на 10-15 процентов. Во-вторых, зашифрованную базу данных нет смысла сжимать её размер уменьшится незначительно.
Разграничение прав доступа пользователей
Разрешения к доступу называются явными, если они принадлежат или присвоены учётной записи пользователя.
Разрешения будут неявными, если они присвоены учётной записи группы, при этом пользователь, включённый в группу, получает все её разрешения.
ТИПЫ РАЗРЕШЕНИЙ НА ДОСТУП К БД
Полномочия пользователя определяются по минимальным разрешениям доступа. Изменить разрешения для пользователей могут члены группы Аdmins, владелец объекта и пользователь, получивший на этот объект разрешения администратора. При подключении к БД пользователи получают права групп, которым они принадлежат.
Практическое задание:
Для информационной системы (разработанной ранее на дисциплинах «Проектирование информационных систем», «Базы данных») разрабатываются 3 уровня доступа с проверкой полномочий: уровень администратора, уровень пользователя (менеджера), уровень гостя. Администратору ИС доступны все данные и все функции системы. Менеджер может просматривать часть данных из базы данных информационной системы. Набор функций системы для менеджера ограничен, например, он может добавлять новые данные, а удалять может только администратор. Гостю доступны для просмотра лишь некоторые поля из базы знаний. Также необходимо обеспечить проверку правильности вводимой информации (контроль ввода идентичных записей, форматов и интервалов дат и т. д.)
Требования к базе данных:
1. база данных должна содержать не менее 3-х связанных таблиц.
2. таблицы могут быть реализованы как в Delphi, так и в Access.
3. каждая таблица должна содержать ключевое поле (для идентификации записи).
Уровни доступа реализуются в Delphi, C++, VisualBasic.
Практическая работа 8
ЭЛЕКТРОННАЯ ПОДПИСЬ
Часа
Цель работы:
Получить теоретические знания использования электронной подписи при защите информации.
Электронная подпись (ЭП) ‑ реквизит электронного документа, полученный в результате криптографического преобразования информации с использованием закрытого ключа подписи и позволяющий установить отсутствие искажения информации в электронном документе с момента формирования подписи и проверить принадлежность подписи владельца сертификата ключа подписи.
Электронная подпись предназначена для идентификации лица, подписавшего электронный документ, и является полноценной заменой (аналогом) собственноручной подписи в случаях, предусмотренных законом.
Использование электронной подписи позволяет осуществить:
· Контроль целостности передаваемого документа: при любом случайном или преднамеренном изменении документа подпись станет недействительной, потому что вычислена она на основании исходного состояния документа и соответствует лишь ему.
· Защиту от изменений (подделки) документа: гарантия выявления подделки при контроле целостности делает подделывание нецелесообразным в большинстве случаев.
· Невозможность отказа от авторства. Так как создать корректную подпись можно, лишь зная закрытый ключ, а он известен только владельцу, он не может отказаться от своей подписи под документом.
· Доказательное подтверждение авторства документа: В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
Поскольку подписываемые документы — переменного (и как правило достаточно большого) объёма, в схемах ЭП зачастую подпись ставится не на сам документ, а на его хэш. Для вычисления хэша используются криптографические хэш-функции, что гарантирует выявление изменений документа при проверке подписи. Хэш-функции не являются частью алгоритма ЭП, поэтому в схеме может быть использована любая надёжная хэш-функция.
Использование хэш-функций даёт следующие преимущества:
· Вычислительная сложность. Обычно хэш цифрового документа делается во много раз меньшего объёма, чем объём исходного документа, и алгоритмы вычисления хэша являются более быстрыми, чем алгоритмы ЭП. Поэтому формировать хэш документа и подписывать его получается намного быстрее, чем подписывать сам документ.
· Совместимость. Большинство алгоритмов оперирует со строками бит данных, но некоторые используют другие представления. Хэш-функцию можно использовать для преобразования произвольного входного текста в подходящий формат.
· Целостность. Без использования хэш-функции большой электронный документ в некоторых схемах нужно разделять на достаточно малые блоки для применения ЭП. При верификации невозможно определить, все ли блоки получены и в правильном ли они порядке.
Использование хэш-функции не обязательно при электронной подписи, а сама функция не является частью алгоритма ЭП, поэтому хэш-функция может использоваться любая или не использоваться вообще.
Задание:
Подготовить доклад и презентацию на одну из тем:
1. Основные понятия электронной подписи.
2. Основные алгоритмы электронной подписи.
3. Подделка электронной подписи.
Индивидуальное задание