Файл: Методические указания к контрольной работе Рекомендовано к изданию Редакционноиздательским советом.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 185
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской ФедерацииФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»Кафедра программного обеспечения вычислительной техники и автоматизированных системН.А. ТишинаЗащита информационных процессов в компьютерных системахМетодические указанияк контрольной работеРекомендовано к изданию Редакционно-издательским советом государственного образовательного учреждениявысшего профессионального образования“Оренбургский государственный университет”
Задание состоит из двух этапов. На первом этапе Вы осуществляете реализацию протокола PAP и одностороннего протокола CHAP. После того, как Вы получите работающее приложение, Вам необходимо расширить его функциональность и обеспечить поддержку двухстороннего протокола CHAP. Для генерации секретных параметров рекомендуется использовать криптографически стойкие генераторы случайных чисел, а в качестве хеш-функции использовать алгоритм SHA2 или выше.2 Реализация протокола S/KEYЦелью данного задания является реализация протокола аутентификации S/KEY в виде приложения. В интерфейсе приложения должны быть наглядно представлены:
В общем случае процедуру аутентификации можно представить следующим образом: 1 Субъект инициирует процедуру аутентификации; 2 Субъект предъявляет один или несколько факторов аутентификации; 3 На основании механизма аутентификации принимается решение о подлинности субъекта; 4 В случае положительного решения, субъект наделяется правами доступа, присвоенными для него хозяином системы; В качестве фактора аутентификации выступает то или иное свойство, являющееся отличительным для данного субъекта. К факторам аутентификации относят:
Метод "меток времени" заключается в том, что в каждое пересылаемое сообщение добавляется специальная информация, называемая меткой времени (Time Stamp), которая описывает точное время отправки данного сообщения. Это позволяет каждому субъекту определить, насколько старо пришедшее сообщение и отбросить его в случае, если появится сомнение в его подлинности. 1.2.3._1._Password_Access_Protocol_(PAP)'>1.2.3 Протоколы, используемые при удаленной аутентификации 1.2.3.1. Password Access Protocol (PAP) Самым простым и эффективным протоколом удаленной аутентификации является протокол доступа по паролю (Password Access Protocol, PAP) Суть протокола заключается в аутентификации пользователя на сервере путем передачи последнему пары "логин-пароль", представляющей из себя идентификатор и информацию, известную лишь подлинному пользователю. Основной проблемой данного протокола является то, что информация передается в открытом виде, а значит данный протокол неустойчив к атакам типа Sniffing. Злоумышленник, обладающий доступом к открытому каналу связи и средствами перехвата пакетов может с легкостью получить пароль, что позволит ему пройти аутентификацию от лица другого пользователя. Для повышения безопасности пароли могут передаваться не в открытом виде, а в виде хэшей, однако данная модификация не способна повысить стойкость к атакам типа Sniffing, так как злоумышленник может перехватить и хэш пароля. 1.2.3.2. Протокол CHAP Протокол CHAP (Challenge-Handshake Authentication Protocol) - протокол удаленной аутентификации, основанный на методе "запрос-ответ" Протокол нашел применение в технологиях RADIUS (Remote Authentication Dial In User Service) и EAP (Extensible Authentication Protocol). В самом простом случае (односторонняя аутентификация) протокол в точности повторяет схему метода "запрос-ответ":1 Алиса генерирует случайное число N и отправляет его Бобу. 2 Боб, получив из запроса N, добавляет к нему свой пароль P и осуществляет вычисление дайджеста H1 = Hash(N, P). Полученный результат отправляется Алисе. 3 Алиса повторяет процедуры, выполненную Бобом на прошлом шаге и вычисляет значение дайджеста H2 = Hash(N, P1) от P1, которое хранится у Алисы в качестве пароля Боба. Если H1 совпадает с H2, пользователь считается аутентифицированным.
Существует модификация протокола, позволяющая проводить взаимную аутентификацию сторон. При этом производится следующая последовательность действий: 1 Алиса генерирует случайное число N1 и отправляет его Бобу вместе с запросом на аутентификацию (A); 2 Боб, получив запрос, генерирует собственное случайное число N2, которое вместе с Hash(N1, ????????) отправляется Алисе; 3 Алиса проверяет подлинность сообщения, содержащего ее зашифрованное случайное число и пароль Боба, а затем генерирует дайджест Hash(N2, ????????) и отправляет его Бобу; 4 Боб проверяет подлинность сообщения, полученного от Алисы и содержащего его зашифрованное случайное число. 1.2.3.3. Протокол использования одноразовых ключей S/KEY Протокол S/KEY основан на независимом формировании клиентом и сервером последовательности одноразовых паролей, построенной на общем секрете K. В основе протокола лежит Метод Лампорта (Lamport's Hash Chain Method) Пусть K – секретный пароль, известный как серверу, так и подлинному клиенту, H – некая хеш-функция. Клиент вычисляет последовательность одноразовых ключей Y следующим образом: ????1=????(????), ????2=????(????1)=????(????(????)),…????????=????(????????−1)=????(????(…????(????(????1))))Сервер, независимо от пользователя может сгенерировать точно такую же последовательность, что позволяет использовать ее для проверки одноразовых паролей. После генерации паролей изначальный секрет K отбрасывается, сервер устанавливает ???????? в качестве первоначального пароля пользователя и 1 в качестве текущего номера транзакции. Процесс аутентификации выглядит следующим образом: 1. Пользователь запрашивает аутентификацию у сервера; 2. Сервер сообщает пользователю текущий номер транзакции I; 3. Пользователь передает серверу пароль с индексом N-I; 4. Сервер применяет хеш-функцию H к полученному паролю от пользователя и сверяет его со значением пароля, хранящимся на сервере. 5. В случае, если пароли совпадают, пользователь считается аутентифицированным, сервер увеличивает текущий номер транзакции на единицу и перезаписывает хранимый пароль пользователя паролем, полученным при аутентификации. К недостаткам этого протокола можно отнести тот факт, что после исчерпания конечного множества одноразовых паролей мы не должны использовать его повторно, так как злоумышленник мог перехватить всю последовательность целиком. Это значит, что необходим механизм модификации исходных данных для процесса генерации последовательностей.
Оренбург 2022
ВведениеКонтрольная работа состоит из двух заданий. Задания выполняются по предметным областям выпускной квалификационной работы (ВКР).Задания должны быть реализованы в виде программных модулей на языке высокого уровня (С++, С#, Java), с возможностью подключения к программному средству, разрабатываемому в рамках ВКР.Результаты оформляются в виде отчета. Пример оформления титульного листа приведен Приложении А.Содержание отчета включает в себя:-
Титульный лист. -
Содержание. -
Задание. -
Разработка программного средства. -
Результаты работы программного средства. -
Выводы.
1 Задание № 1 «Протоколы удаленной аутентификации»
-
Цель и задание
-
Исходные данные протокола (модули, ключи, секретные данные и т.п.); -
Данные, передаваемые по сети каждой из сторон; -
Проверки, выполняемые каждым из участников.
Задание состоит из двух этапов. На первом этапе Вы осуществляете реализацию протокола PAP и одностороннего протокола CHAP. После того, как Вы получите работающее приложение, Вам необходимо расширить его функциональность и обеспечить поддержку двухстороннего протокола CHAP. Для генерации секретных параметров рекомендуется использовать криптографически стойкие генераторы случайных чисел, а в качестве хеш-функции использовать алгоритм SHA2 или выше.2 Реализация протокола S/KEYЦелью данного задания является реализация протокола аутентификации S/KEY в виде приложения. В интерфейсе приложения должны быть наглядно представлены:
-
Исходные данные протокола (модули, ключи, секретные данные и т.п.); -
Данные, передаваемые по сети каждой из сторон; -
Проверки, выполняемые каждым из участников.
-
Краткие теоретические сведения
-
Односторонняя – серверу или веб-приложению достаточно убедиться в подлинности клиента, который инициирует соединение; -
Двусторонняя (взаимная) – для такого сценария каждый из участников должен убедиться в подлинности своего собеседника;
-
Субъект аутентификации – лицо или процесс, устройство, проходящее процедуру аутентификации; -
Характеристика субъекта (фактор) – отличительная черта, характеризующая субъект; -
Владелец системы аутентификации – лицо, несущее ответственность и контролирующее работу системы; -
Механизм аутентификации – принцип, по которому осуществляется проверка подлинности предоставленного субъектом фактора; -
Механизм предоставления прав – механизм, обеспечивающий авторизацию, то есть предоставление тех или иных прав, приписанных данному субъекту, прошедшему проверку подлинности;
В общем случае процедуру аутентификации можно представить следующим образом: 1 Субъект инициирует процедуру аутентификации; 2 Субъект предъявляет один или несколько факторов аутентификации; 3 На основании механизма аутентификации принимается решение о подлинности субъекта; 4 В случае положительного решения, субъект наделяется правами доступа, присвоенными для него хозяином системы; В качестве фактора аутентификации выступает то или иное свойство, являющееся отличительным для данного субъекта. К факторам аутентификации относят:
-
Знание («пользователь знает») – тайные сведения, которыми обладает субъект аутентификации; -
Обладание («пользователь имеет») – устройство аутентификации (смарт-карта, eToken); -
Существование («пользователь существует») – биометрические данные.
Метод "меток времени" заключается в том, что в каждое пересылаемое сообщение добавляется специальная информация, называемая меткой времени (Time Stamp), которая описывает точное время отправки данного сообщения. Это позволяет каждому субъекту определить, насколько старо пришедшее сообщение и отбросить его в случае, если появится сомнение в его подлинности. 1.2.3._1._Password_Access_Protocol_(PAP)'>1.2.3 Протоколы, используемые при удаленной аутентификации 1.2.3.1. Password Access Protocol (PAP) Самым простым и эффективным протоколом удаленной аутентификации является протокол доступа по паролю (Password Access Protocol, PAP) Суть протокола заключается в аутентификации пользователя на сервере путем передачи последнему пары "логин-пароль", представляющей из себя идентификатор и информацию, известную лишь подлинному пользователю. Основной проблемой данного протокола является то, что информация передается в открытом виде, а значит данный протокол неустойчив к атакам типа Sniffing. Злоумышленник, обладающий доступом к открытому каналу связи и средствами перехвата пакетов может с легкостью получить пароль, что позволит ему пройти аутентификацию от лица другого пользователя. Для повышения безопасности пароли могут передаваться не в открытом виде, а в виде хэшей, однако данная модификация не способна повысить стойкость к атакам типа Sniffing, так как злоумышленник может перехватить и хэш пароля. 1.2.3.2. Протокол CHAP Протокол CHAP (Challenge-Handshake Authentication Protocol) - протокол удаленной аутентификации, основанный на методе "запрос-ответ" Протокол нашел применение в технологиях RADIUS (Remote Authentication Dial In User Service) и EAP (Extensible Authentication Protocol). В самом простом случае (односторонняя аутентификация) протокол в точности повторяет схему метода "запрос-ответ":1 Алиса генерирует случайное число N и отправляет его Бобу. 2 Боб, получив из запроса N, добавляет к нему свой пароль P и осуществляет вычисление дайджеста H1 = Hash(N, P). Полученный результат отправляется Алисе. 3 Алиса повторяет процедуры, выполненную Бобом на прошлом шаге и вычисляет значение дайджеста H2 = Hash(N, P1) от P1, которое хранится у Алисы в качестве пароля Боба. Если H1 совпадает с H2, пользователь считается аутентифицированным.
Существует модификация протокола, позволяющая проводить взаимную аутентификацию сторон. При этом производится следующая последовательность действий: 1 Алиса генерирует случайное число N1 и отправляет его Бобу вместе с запросом на аутентификацию (A); 2 Боб, получив запрос, генерирует собственное случайное число N2, которое вместе с Hash(N1, ????????) отправляется Алисе; 3 Алиса проверяет подлинность сообщения, содержащего ее зашифрованное случайное число и пароль Боба, а затем генерирует дайджест Hash(N2, ????????) и отправляет его Бобу; 4 Боб проверяет подлинность сообщения, полученного от Алисы и содержащего его зашифрованное случайное число. 1.2.3.3. Протокол использования одноразовых ключей S/KEY Протокол S/KEY основан на независимом формировании клиентом и сервером последовательности одноразовых паролей, построенной на общем секрете K. В основе протокола лежит Метод Лампорта (Lamport's Hash Chain Method) Пусть K – секретный пароль, известный как серверу, так и подлинному клиенту, H – некая хеш-функция. Клиент вычисляет последовательность одноразовых ключей Y следующим образом: ????1=????(????), ????2=????(????1)=????(????(????)),…????????=????(????????−1)=????(????(…????(????(????1))))Сервер, независимо от пользователя может сгенерировать точно такую же последовательность, что позволяет использовать ее для проверки одноразовых паролей. После генерации паролей изначальный секрет K отбрасывается, сервер устанавливает ???????? в качестве первоначального пароля пользователя и 1 в качестве текущего номера транзакции. Процесс аутентификации выглядит следующим образом: 1. Пользователь запрашивает аутентификацию у сервера; 2. Сервер сообщает пользователю текущий номер транзакции I; 3. Пользователь передает серверу пароль с индексом N-I; 4. Сервер применяет хеш-функцию H к полученному паролю от пользователя и сверяет его со значением пароля, хранящимся на сервере. 5. В случае, если пароли совпадают, пользователь считается аутентифицированным, сервер увеличивает текущий номер транзакции на единицу и перезаписывает хранимый пароль пользователя паролем, полученным при аутентификации. К недостаткам этого протокола можно отнести тот факт, что после исчерпания конечного множества одноразовых паролей мы не должны использовать его повторно, так как злоумышленник мог перехватить всю последовательность целиком. Это значит, что необходим механизм модификации исходных данных для процесса генерации последовательностей.