Важно. !!!_Важно!!!_МетодПособие-ИнБезОС-21(БИ-4). Методическое пособие к лабораторным работам Составитель др техн наук, проф. Ю. М. Краковский 2022 оглавление
Скачать 341.83 Kb.
|
Лабораторная работа № 2 «Технология обнаружения и исправления ошибок» Цель работы – освоить технологию обнаружения и исправления ошибок на примере кода Хэмминга. Введение Код называется кодом с исправлением ошибок, если всегда из неправильного кодового набора можно получить правильный. Главным для исправления ошибок является то, что необходимо уметь обнаруживать и выделять местоположение ошибочных битов. Если местоположение ошибки определено, то ее исправление производится путем замены ошибочного разряда на его инверсию: 0→1, 1→0. Код, в котором возможно обнаружить и исправить ошибки, называют помехозащищенным или корректирующим. Одним из первых корректирующих кодов, для которого одиночная ошибка не только обнаруживается, но и исправляется, является код Хэмминга. Рассмотрим основные принципы его построения. Код Хэмминга Пусть сообщение имеет n информативных разрядов (m1, …, mn) и k контрольных разрядов (p1, …, pk), которые используются для контроля целостности сообщения. Пронумеруем позиции каждого из (n+k) разрядов расширенного сообщения, начиная со значения 1 для старшего разряда (левый бит) и заканчивая значением (n+k) для младшего (правый бит). Контрольные разряды размещаются в позициях с номерами 2d-1, d= 1,2, …, k, (1, 2, 4, …). (2.1) Отправитель должен сформировать контрольные разряды и вставить их в расширенное сообщение в соответствие с выражением (2.1). Значения контрольных разрядов определяются с использованием сложения по модулю 2 специальных позиций сообщения. Получатель, используя полученное расширенное сообщение, формирует k-разрядное контрольное слово, используя сложение по модулю 2 специальных позиций расширенного сообщения. Если все разряды этого слова нулевые, то сообщение является целым (принято без искажения). В любом другом случае код этого слова указывает номер разряда, в котором произошло искажение бита. Получатель, используя операцию инверсии, исправляет ошибку и делает сообщение целым (без искажения). Чтобы в код из k разрядов можно было записать (n+k+1) значений, должно выполняться условие 2k ≥ n+k+1. (2.2) Так, например, если n=4, то k=3, а контрольное слово будет иметь восемь значений. Номера контрольных разрядов (2.1): 1, 2, 4; при n=8, учитывая (2.2), k=4, номера контрольных разрядов: 1, 2, 4, 8. Опишем способ построения кода Хэмминга при n=4 (m1, m2, m3, m4) и k=3 (р1, р2, р3). Для этого приведем перечень комбинаций двоичного кода контрольного слова (c3c2c1) при k=3 (N – десятичное представление двоичного кода) (рис. 2.1): с3 c2 c1N 0 0 0 0 (ошибка отсутствует) 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 Рис. 2.1. Комбинации контрольного слова Числа 1–7, представленный на рисунке 2.1, указывают номера ошибочных разрядов в расширенном сообщении: 1 2 3 4 5 6 7 p1 p2 m1 p3 m2 m3 m4 Подгруппы для каждого разряда контрольного слова содержат те номера его комбинаций, которые в данном столбце содержат 1. Например, в столбце для с1 единица присутствует в комбинациях с номерами 1, 3, 5, 7. Исходя из этого, получаются следующие подгруппы: с1 – (1, 3, 5, 7); с2 – (2, 3, 6, 7); с3 – (4, 5, 6, 7). (2.3) Как мы видим, каждый контрольный разряд входит в одну из подгрупп, номера их позиций подчеркнуты. При формировании контрольного слова с3с2с1 к подгруппам (2.3) применяется операция сложения по модулю 2. Напомним, что контрольное слово формирует получатель. Как мы уже указывали, отправитель формирует контрольные разряды и расставляет их в расширенном сообщении в соответствии с выражением (2.1). При этом он использует следующие подгруппы: р1 – (3, 5, 7); р2 – (3 ,6, 7); р3 – (5, 6, 7). (2.4) Подгруппы (2.4) формируются из подгрупп (2.3). Если для нашего примера информативная часть расширенного сообщения равна 0101, то с учетом выражения (2.4): р1=0, р2=1, р3=0. Тогда номера разрядов 1 2 3 4 5 6 7 сообщение 0 1 0 1 отправленное сообщение 0 1 0 0 1 0 1 полученное сообщение 0 1 0 0 1 1 1 Значение контрольного слова (2.3) (используется операция сложения по модулю 2 подгрупп разрядов) c3=1; c2=1; c1=0; (110=6). Таким образом, ошибочен шестой разряд, поэтому единицу в нем надо изменить на ноль (после этого полученное сообщение совпадет с отправленным). Заметим, что существуют коды, которые обнаруживают и исправляют более одной ошибки. Подобные коды используются в современных процессорах для обнаружения и исправления возможных ошибок при вычислениях. Список контрольных вопросов Характеристика и классификация угроз информационной безопасности. Дать определение угрозы и уязвимости. Опишите технологию обнаружения и исправления ошибок на примере кода Хэмминга. В чем отличие методов обнаружения ошибок от методов обнаружения и исправления ошибок. Как определить число контрольных разрядов. Как создается контрольное слово и для чего. Сравнить метод КС и метод Хэмминга. Содержание лабораторной работы Взять первый байт из таблицы 1.2 своего варианта; Получить расширенное сообщение; Получить контрольное слово. Убедиться, что оно состоит из нулей. Изменить один бит (выбрать самому) в расширенном сообщении; Получить контрольное слово и исправить ошибку. Убедиться, что ошибка исправлена правильно. Повторить п. 4 и 5 с другим ошибочным битом. Оформить лабораторную работу. Лабораторная работа № 3 «Вероятностный подход к определению длины пароля» Цель работы – показать связь между атакой в виде перебора паролей и его длиной. Введение Идентификация – процедура распознавания пользователя по его идентификатору (имени). Эта функция выполняется, когда пользователь делает попытку войти в систему. Пользователь сообщает системе по ее запросу свой идентификатор, и система проверяет в своей базе данных его наличие. Аутентификация – процедура проверки подлинности заявленного пользователя, процесса или устройства. Эта проверка позволяет достоверно убедиться, что пользователь (процесс или устройство) является именно тем, кем себя объявляет. При проведении аутентификации проверяющая сторона убеждается в подлинности проверяемой стороны, при этом проверяемая сторона тоже активно участвует в процессе обмена информацией. Обычно пользователь подтверждает свою идентификацию, вводя в систему уникальную, не известную другим пользователям информацию о себе (например, пароль или сертификат). Идентификация и аутентификация являются взаимосвязанными процессами распознавания и проверки подлинности субъектов (пользователей). Именно от них зависит последующее решение системы: можно ли разрешить доступ к ресурсам системы конкретному пользователю или процессу. После идентификации и аутентификации субъекта выполняется его авторизация. Авторизация – процедура предоставления субъекту определенных полномочий и ресурсов в данной системе. Иными словами, авторизация устанавливает сферу его действия и доступные ему ресурсы. Если система не может надежно отличить авторизованное лицо от неавторизованного, то конфиденциальность и целостность информации в этой системе могут быть нарушены. Организации необходимо четко определить свои требования к безопасности, чтобы принимать решения о соответствующих границах авторизации. С процедурами аутентификации и авторизации тесно связана процедура администрирования действий пользователя. Администрирование – регистрация действий пользователя в сети, включая его попытки доступа к ресурсам. Хотя эта учетная информация может быть использована для выписывания счета, с позиций безопасности она особенно важна для обнаружения, анализа инцидентов безопасности в сети и соответствующего реагирования на них. Записи в системном журнале и аудиторские проверки – все это может быть использовано для обеспечения подотчетности пользователей, если что-либо случится при входе в сеть с их идентификатором. Характеристика протоколов аутентификации Необходимый уровень защиты технологии аутентификации определяется требованиями безопасности, которые установлены в организации. Общедоступные Web-серверы могут разрешить анонимный или гостевой доступ к информации. Финансовые транзакции могут потребовать двухфакторной или строгой аутентификации. Надежная аутентификация является тем ключевым фактором, который гарантирует, что только авторизованные пользователи получат доступ к нужной информации. При защите каналов передачи данных должна выполняться взаимная аутентификация субъектов, т. е. подтверждение подлинности субъектов (отправителя и получателя), связывающихся между собой по линиям связи. Процедура подтверждения подлинности выполняется обычно в начале сеанса установления соединения абонентов. Термин «соединение» указывает на логическую связь (потенциально двустороннюю) между двумя субъектами сети. Цель данной процедуры – обеспечить уверенность, что соединение установлено с законными субъектами и вся информация дойдет до места назначения. Для подтверждения своей подлинности субъект может предъявлять системе разные сущности. В зависимости от предъявляемых субъектом сущностей процессы аутентификации могут быть разделены на основе: а) знания чего-либо. Примерами могут служить пароль, персональный идентификационный код PIN, а также ключи, знание которых демонстрируется в протоколах типа «запрос – ответ»; б) обладаниячем-либо. Примерами могут служить магнитные карты, смарт-карты, токены, сертификаты и другие средства; в) каких-либо неотъемлемых характеристик. Примерами могут служить методы, базирующиеся на проверке биометрических характеристик пользователя – голос, радужная оболочка или сетчатка глаза, отпечатки пальцев, геометрии ладони руки и др. Пароль– это то, что знает пользователь и другой участник взаимодействия. Для взаимной аутентификации участников может быть организован обмен паролями между ними. При выборе паролей помимо его длины необходимо учитывать, что технологии их восстановления не требует силовой атаки (перебора). Для определения паролей созданы специальные частотные словари, специальные методы, использующие нейронные сети, что упрощает их поиск. Учитывая это, пароли желательно защищать, поэтому их преобразуют при хранении, например, с помощью хэш-функций. Динамический (одноразовый) пароль – это пароль, который после однократного применения никогда больше не используется. Динамический механизм задания пароля — один из лучших способов защиты процесса аутентификации от угроз извне. Обычно системы аутентификации с одноразовыми паролями используются для проверки удаленных пользователей. Генерация одноразовых паролей может осуществляться аппаратным или программным способом. Двухфакторная проверка подлинности помогает обеспечить защиту, усложняя вход в вашу учетную запись для другого пользователя. Она использует две различные формы аутентификации: пароль и способ связи, который в данном случае называют сведения безопасности. Даже если кто-то другой узнает ваш пароль, он не сможет войти, если не имеет доступа к сведениям безопасности. При этом необходимо выполнять рекомендацию, связанную с тем, что желательно использовать различные пароли для всех своих учетных записей. Если включена двухфакторная проверка подлинности, то пользователь для проверки подлинности каждый раз при входе будет получать код безопасности (динамический пароль) по электронной почте, телефону или в приложении. Основные атаки на протоколы аутентификации: маскарад, когда пользователь выдает себя за другого с целью получения полномочий и возможности действий от лица другого пользователя; подмена стороны аутентификационного обмена, когда злоумышленник в ходе данной атаки участвует в процессе аутентификационного обмена между двумя сторонами с целью модификации проходящего через него трафика; повторная передача, которая заключается в повторной передаче аутентификационных данных каким-либо пользователем; 4) принудительная задержка, когда злоумышленник перехватывает некоторую информацию и передает ее спустя некоторое время; 5) перехват, когда злоумышленник перехватывает аутентификационный трафик и пытается получить информацию о долговременных криптографических ключах. Вероятностный подход к определению длины пароля Рассмотрим вероятностный подход к определению длины пароля, когда используется атака в виде перебора паролей. С какой-то вероятностью пароль может быть угадан. Введем такие обозначения: n– число различных символов, которые можно использовать при создании пароля (мощность алфавита); N – число возможных паролей; v – скорость подбора паролей, паролей/сек; T – время действия пароля, сутки; u – необходимая длина пароля по числу символов. Длина пароля должна обеспечивать вероятность его угадывания (р) меньше заданного значения этой вероятности: р < pz. Вероятность подбора (угадывания) пароля и число возможных паролей равны р < pz=86400·v·T/N, N=nu, (3.1) где 86400 – число секунд в сутках. Замечание: рассматриваются все возможные варианты паролей, хотя на практике это не всегда выполняется. С учетом (3.1), необходимая длина пароля u> lg(86400·v·T/pz)/lg(n). (3.2) Возьмем как пример такие исходные данные: pz=10-4; v=104 паролей/сек; Т=10 суток. Виды символов: большие и маленькие русские и английские буквы, цифры (n=128). Учитывая (3.2) и исходные данные: u> 6,6 = 7. Пароль должен иметь не менее 7 разнообразных символа (в примере символы могут повторяться). Примерами такого пароля являются: Ва12Sdf; hGJ13ро; КуЦ78BN. Список контрольных вопросов В чем заключаются преимущества и недостатки парольной технологии аутентификации. Что такое процедура аутентификации. Как она связана с процедурой идентификации. Двухфакторная проверка подлинности. Основные атаки на протоколы аутентификации. Дать характеристику стандартов безопасности информационный технологий. Содержание лабораторной работы Используя исходные данные по своему варианту (табл. 3.1), определить длину пароля для трех случаев заданного значения вероятности: pz. Для каждого полученного значения длины пароля предложить три его варианта. Оформить лабораторную работу. Замечание: во всех вариантах в качестве символов используются большие и маленькие русские и английские буквы, а также цифры (n=128). Варианты лабораторной работы Таблица 3.1
|