Программный комплекс для обучения студентов направления информационная безопасность методам помехоустойчивого кодирования
Оладько Владлена Сергеевна к.т.н., преподаватель Финансовый университет при правительстве Российской Федерации Ленинградский просп., 49, 125993 (ГСП-3), г. Москва, oladko .vs@yandex. га
Аннотация
Тенденции современного высшего и среднего профессионального образования указывают на необходимость использования множества интерактивных технологий обучения. В связи с этим актуально использование различных обучающих программ и форм дистанционного обучения, позволяющих автоматизировать процесс получения и самоконтроля знаний среди студентов. В данной статье описывается разработанный обучающий программный комплекс, предназначенный для ознакомления студентов с методами помехоустойчивого кодирования информации - алгоритмом Хемминга, кодом Рида-Соломона, БЧХ-кодом. Проанализированы теоретические основы помехоустойчивого кодировании в линиях связи, описаны базовые параметры помехоустойчивых кодов, принципы кодирования и декодирования, которые подлежат изучению. Представлена и описана модульная архитектура программного комплекса с графическим пользовательским интерфейсом. Показано его место в учебном процессе и задаче формирования профессиональной компетенции студентов направления информационная безопасность. Описаны основные этапы изучения теоретического и практического материала по помехоустойчивому кодированию с помощью разработанного программного комплекса. Сделан вывод о возможности его применения при выполнении студентами практических (лабораторных) работ по дисциплинам «Сети и системы передачи информации» и «Теория информации».
The trends of modern higher and secondary vocational education indicate the need to use a variety of interactive learning technologies. Now, it is important to use training programs that automate the process of gaining knowledge and self-control of knowledge among students. This article describes the developed training software package. The program teaches students methods of noise-immune encoding information - the Hamming algorithm, Reed-Solomon code, BCH-code. The theoretical foundations of noise-immune coding in communication lines analyzed. Basic parameters of noise-immune codes, principles of encoding and decoding, which are subject to study, described. A modular architecture of a software package with a graphical user interface presented and described. It shows its place in the educational process and the task of forming the professional competence of students in the direction of information security. The main stages of studying the theoretical and practical material on noise-immune encoding with the help of the developed software described. The conclusion about the possibility of its application by students in the course of practical work on the disciplines "Networks and Information Transfer Systems" and "Information Theory" made.
Ключевые слова
компетенции, учебный контент, объектно -ориентрованный подход, теория информации, помехоустойчивое кодирование, сети связи, ошибки, целостность, информационная безопасность
competencies, learning content, object-oriented approach, information theory, noise immunity coding, communication networks, errors, integrity, information security
Введение
Анализ современных федеральных государственных образовательных стандартов высшего (ФГОС ВО) и среднего профессионального образования (ФГОС СПО) в сфере информационной безопасности [1,2] показывает, что большое внимание уделяется формированию практических навыков и компетенций студентов при изучении общих профессиональных и модульных профессиональных (специальных) дисциплин. В связи с данной тенденцией увеличивается число аудиторных часов, отводимых на лабораторные, практические и семинарские занятия. Поэтому крайне важно, во время реализации учебного процесса, на дисциплинах, не подразумевающих использование специального лабораторного оборудования или программно-аппаратного обеспечения, при решении расчетных и ситуационных задач активно применять интерактивные обучающие системы и программы тренажеры. Цель подобных программных комплексов не только дополнить учебный материал и обеспечить возможность самоконтроля, закрепления навыков и проверки правильности «ручного» решения задач студентами, но и способствовать практической деятельности, которая по данным [3], дает до 30% усвоения знаний. Как показано исследователями в работах [4,5], данные технологии активно применяются в учебном процессе по самым разнообразным дисциплинам и реализуют востребованную на сегодняшний день концепцию дистанционного и сетевого образования. Однако, не всегда по реализуемым в рамках учебного плана дисциплинам существуют готовые программные решения, полностью раскрывающие содержание темы и обеспечивающие освоение той или иной компетенции. В связи с этим актуальна разработка собственных обучающих программных комплексов, учитывающих особенности тематического содержания и структуры материала определенной дисциплины.
Задача обучения студентов алгоритмам помехоустойсиового кодирования
В Финансовом университете при Правительстве Российской Федерации реализуется многоступенчатый комплексный подход к обучению студентов в области информационной безопасности [6]. Данный подход является комплексным и предусматривает охват среднего профессионального образования, высшего образования и аспирантуры в области информационной безопасности, методов и средств защиты. Дисциплины учебного плана и освоенные компетенции каждой предыдущей образовательной ступени формируют базу для последующей ступени, теоретические знания, практические умения и навыки совершенствуются и углубляются, схожие дисциплины дополняют друг друга, охватывая вопросы обеспечения целостности, доступности и конфиденциальности информации в различных сферах и уровнях инфокоммуникационного взаимодействия. Одной из таких базовых дисциплин является общепрфессиональная дисциплина «Сети и системы передачи информации» цель которой рассмотреть особенности архитектуры
и принципы безопасной передачи информации в наиболее распространенных сетях связи и системах передачи.
Задача передачи информации, в условиях существования помех различного типа, по каналам связи без ошибок или своевременное обнаружение и исправление их является одной из главных проблем обеспечения целостности информации, а значит и информационной безопасности. В связи с этим ФГОС СПО и ФГОС ВО в описании компетенций данной дисциплины делает акцент на необходимости изучения методов и алгоритмов помехоустойчивого кодирования.
Помехоустойчивыми называются коды, позволяющие обнаруживать и (или) исправлять ошибки в кодовых словах, которые возникают при передаче по каналам связи. [7] Эти коды строятся таким образом, что для передачи сообщения используется лишь часть кодовых слов, которые отличаются друг от друга более чем в одном символе. Эти кодовые слова называются разрешенными. Все остальные кодовые слова не используются и относятся к числу запрещенных. Применение помехоустойчивых кодов для повышения верности передачи данных связанно с решением задач кодирования и декодирования.
Существует множество помехоустойчивых кодов, помогающих обеспечить целостность данных при передачи их по каналам связи, но наиболее эффективными, простыми в кодировании и декодировании являются линейные и циклические коды, из которых наиболее простыми для изучения являются коды Хемминга, коды Рида-Соломона и БЧХ-коды, которые и было решено автоматизировать и реализовать в виде обучающего программного комплекса, который можно использовать при проведении лабораторных работ, семинарских занятий и при самостоятельной работе студентов для самоконтроля результатов решения задач.
Типовая задача помехоустойчивого кодирования заключается в получении при передаче информационного сообщения для каждой к - элементной комбинации из множества qk соответствующего ей кодового слова длиною п из множества qn.
Концепция помехоустойчивого кодирования
Задача декодирования состоит в получении к - элементной комбинации из принятого п - разрядного кодового слова при одновременном обнаружении или исправлении ошибок. [7]
Построение помехоустойчивых кодов в основном связано с добавлением к исходной комбинации (к-символов) контрольных (г-символов) Закодированная комбинация будет составлять п-символов. Эти коды часто называют (п,к) - коды, где k—число символов в исходной комбинации, г—число контрольных символов.
Декодирование кода может производиться либо в режиме обнаружения ошибки, либо в режиме исправления ошибок. Если полученная из канала кодовая комбинация является одной из разрешенных, то она считается принятой правильно, хотя на самом деле могла передаваться другая разрешенная комбинация. Если принятая комбинация не является одной из разрешенных комбинаций, то в режиме обнаружения ошибки фиксируется факт обнаружения ошибки, и кодовая комбинация, в общем случае, стирается, т.е. удаляется из дальнейшей обработки, а в режиме исправления ошибки предпринимается попытка исправить искажение (исправить ошибки).
Исправление ошибки выполняется по какому-то правилу или критерию выбора разрешенной комбинации, в которую преобразуется принятая искаженная комбинация (не равная передаваемой в канал связи). При декодировании двоичных алгебраических кодов используется принцип максимума правдоподобия, в основу которого положено предположение, что в канале связи вероятность ошибки большей кратности меньше вероятности меньшей кратности. Соответственно, если в канале
может исказиться один из символов кодовой комбинации (кратность ошибки t = 1), два символа (t = 2), три символа (t = 3) и т.д., то справедливо для вероятностей искажения P(t = 1) > P(t = 2) > P(t = 3) ... Если такое предположение справедливо для используемого дискретного канала, то в декодере, который не знает, что было искажено в принятой кодовой комбинации, оправдано отождествить с передаваемой комбинацией ту из разрешенных комбинаций, которая ближе по расстоянию от комбинации, подлежащей исправлению. Самая близкая (отличающаяся в меньшем числе символов) разрешенная комбинация считается переданной и объявляется результатом исправления ошибки.
Основные параметры помехоустойчивых кодов:
• длина кода - n;
• длина информационной последовательности - k;
• длина проверочной последовательности - r=n-k;
• кодовое расстояние кода - d;
• скорость кода - R=k/n;
• избыточность кода - Rв;
• вероятность обнаружения ошибки (искажения) - РОО;
• вероятность не обнаружения ошибки (искажения) - РНО.
Код Хэмминга относится к классу линейных кодов и представляет собой систематический код - код, в котором информационные и контрольные биты расположены на строго определенных местах в кодовой комбинации. Представляет собой (n, k) - код, который содержит к информационных и m = n-k избыточных (проверочных) бит. Избыточная часть кода строится таким образом, чтобы можно было при декодировании не только установить наличие ошибки но, и указать номер позиции в которой произошла ошибка, а значит и исправить ее, инвертировав значение соответствующего бита.
Коды Боуза-Чоудхури-Хоквингейма (БЧХ) - циклические n-элементные коды. Разработаны для увеличения минимального кодового расстояния и повышения корректирующей способности. Длина кодовой комбинации в них n=2r+1-1 (кодовая комбинация может содержать 3, 7, 15, 31, 63, 127). Порождающий полином находится как наименьшее общее кратное (НОК) неприводимых полиномов. Обладают хорошими корректирующими способностями и позволяют обнаруживать и исправлять ошибки с учетом группирования, что очень важно для реальных каналов. При этом они обладают нечетными значениями минимального кодового расстояния.
Коды Рида-Соломона (РС) являются недвоичными циклическими кодами, символы кодовых слов которых берутся из конечного поля GF(q).
Требования к модели обучающего программного комплекса по помехоустойчивому кодированию
В связи с выделенными особенностями процессов кодирования и декодирования, а также типовыми параметрами кодов при построении модели обучающего программного комплекса для исследования методов построения помехоустойчивых кодов учитываются следующие требования:
• схожесть с каналом связи;
• эффективность и быстрота работы выбранных алгоритмов при построении кодовых последовательностей;
• простота работы с моделью;
• возможность работы программного комплекса с кодами, имеющими разные характеристики.
Для выполнения требований, предъявленных к разрабатываемой модели, были найдены следующие решения:
• эмуляция передачи информации по каналу связи путем добавления ошибок случайным образом (с помощью генератора случайных чисел);
• анализ методов декодирования циклических кодов для выявления наиболее эффективных и точных алгоритмов;
• разработка удобного для работы интерфейса;
• возможность работы программного комплекса с различными кодами (независимость от длины блока кода).
Реализация программного комплекса помехоустойчивому кодированию
для обучения
С целью наиболее эффективной реализации поставленных требований, обучающий программный комплекс предлагается реализовать в виде трех программ с графическим пользовательским интерфейсом, реализующих методы помехоустойчивого кодирования (код Хемминга, РС, и БЧХ-код), объединенных единым интерфейсом и системой контроля знаний студентов. Программный комплекс имеет модульную архитектуру, представленную на рис.1. В состав архитектуры входит графический пользовательский интерфейс, имеющий оконную форму и 2 тематических модуля: модуль «Реализация модели помехоустойчивого кода» и модуль «Система контрольных вопросов для тестирования теоретических знаний».
Рис. 1. Архитектура программного комплекса по изучению методов помехоустойчивого кодирования
Графический пользовательский интерфейс предназначен для взаимодействия с пользователем (студентом, преподавателем), выбора режима обучения, модели помехоустойчивого кода, а также ввода и вывода результатов.
Модуль «Реализация модели помехоустойчивого кода» вызывает одну из трех подпрограмм, моделирующих выбранный помехоустойчивый код: Код Хемминга, БЧХ - код, код Рида-Соломона. Предоставляет доступ к информации описывающие особенности каждого помехоустойчивого кода, что позволит студенты закрепить на практике полученные знания по выбранному коду.
Модуль «Система контрольных вопросов для тестирования теоретических знаний» предназначен для тестирования полученных теоретических знаний и практических навыков в целях самоконтроля студента.
Для выполнения практической части задания по коду Хемминга была реализована подпрограмма, выполняющая кодирование входного сигнала кодом Хемминга, моделирование возможности появления одиночной ошибки при передаче закодированного сообщения, декодирование сообщения, с обнаружением и корректировкой ошибки. Интерфейс разработанной программы представлен на рис. 2.
Я Код Хемминга 0(6 т
гш = И 11......................1
Позиция ошибки ; оычислить i
12
Кодовое слово 13
Поции контрольных 4
битов
Контрольные биты 15
Передаваемый код 16
Полученный код |7
Вычисленная 18
позиция ошибки
Скорректированное 9
сообшение
Декодированное Но
сообшение
Рис 2. Интерфейс программы реализующей код Хемминга (экранная копия)
Поле 1 предназначено для ввода числа проверочных символов.
Поле 2 предназначено для ввода номера позиции, в которой будет смоделирована ошибка.
Поле 3 предназначено для задание входной информации, которая будет закодирована по коду Хемминга.
Поле 4 предназначено для вывода рассчитанных программой позиций проверочных символов в передаваемом коде.
Поле 5 предназначено для вывода рассчитанных программой контрольных бит, которые будут вставлены в передаваемый код на соответствующие позиции, показанные в поле 4.
Поле 6 предназначено для вывода передаваемого сообщения, закодированного по коду Хемминга.
Поле 7 предназначено для вывода полученного из канала связи сообщения, в котором была смоделирована ошибка, указанная в поле 2.
Поле 8 предназначено для вывода рассчитанной программой позиции ошибки из полученного кода.
Поле 9 и 10 предназначены для вывода скорректированного полученного сообщения, закодированного по коду Хемминга, и для вывода декодированного сообщения.
Кнопка 8 предназначена для запуска процедуры кодирования-декодирования по коду Хемминга.
Для выполнения практической части лабораторной работы по коду БЧХ была реализована подпрограмма, выполняющая кодирование входного сигнала кодом БЧХ. В программе реализована возможность моделировать ошибки в канале, указывая количество произошедших ошибок, позиции, в которых произойдут ошибки, будут смоделированы программой. Далее программа осуществляет проверку на наличие ошибок, корректировку найденных ошибок, при необходимости. Интерфейс подпрограммы с реализацией помехоустойчивого БЧХ-кода представлен на рис. 3.
Поле 1 предназначено для задание входной информации, которая будет закодирована по коду БЧХ.
Поле 2 предназначено для ввода количества ошибок, которые будут смоделированы для передаваемого кода.
Поле 3 предназначено для вывода сгенерированного порождающего многочлена.
Поле 4 предназначено для вывода полученного двоичного кода БЧХ.
Поле 5 предназначено для вывода переданного кода, с учетом смоделированных ошибок.
Поле 6 предназначено для вывода информации о декодировании полученного сообщения, в том числе о выводе сообщения о найденных ошибках.
Поле 7 предназначено для вывода отправленного и полученного кода, а также исходной последовательности и полученной последовательности, чтобы студент мог оценить, где произошли ошибки. В конце программа показывает, прошло ли сообщение верно. В случае наличия ошибок после декодирования, программа показывает количество ошибок после передачи.
Кнопка 8 предназначена для запуска процедуры кодирования-декодирования информации по БЧХ коду.
Рис.3. Интерфейс подпрограммы, реализующей БЧХ код (экранная копия)
Для выполнения практической части по коду Рида-Соломона была реализована подпрограмма, выполняющая кодирование входного сигнала кодом Рида-Соломона. В подпрограмме реализована возможность моделировать ошибки в канале, указывая количество произошедших ошибок, позиции, в которых произойдут ошибки, будут смоделированы программой. Далее программа осуществляет проверку на наличие ошибок, корректировку найденных ошибок, при необходимости. Интерфейс программы представлен на рис. 4.
Поле 1 предназначено для задания степени поля Галуа. Над этим полем будет сгенерирован порождающий полином для кода Рида-Соломона.
Поле 2 предназначено для задания длины кода Рида-Соломона.
Поле 3 предназначено для задания числа проверочных байт кода Рида-Соломона.
Поле 4 предназначено для задание входной информации, которая будет закодирована по коду Рида-Соломона.
Поле 5 предназначено для ввода количества ошибок, которые будут смоделированы для передаваемого кода.
Поле 6 предназначено для вывода сгенерированного полинома степени m (значение введено в поле 1), который является порождающим полиномом для поля Галуа.
Поле 7 предназначено для вывода корней сгенерированного порождающего многочлена для кода Рида-Соломона.
Рис.4 Интерфейс программы реализующей код Рида-Соломона (экранная
копия)
Поле 8 предназначено для вывода позиций, в которых была смоделирована ошибка при моделировании передачи информации по каналзу связи.
Поле 9 предназначено для вывода информации при декодировании полученного код Рида-Соломона, включая информацию о корректировке ошибок.
Поле 10 предназначено для вывода исходной информационной последовательности и полученной после декодирования кода Рида-Соломона. Студент может визуально определить ошибки и степень "повреждения" сообщения.
Кнопка 11 предназначена для запуска процедуры кодирования-декодирования информации по коду Рида-Соломона.
Анализ и оценка разработки
Разработанный программный комплекс позволяет автоматизировать процесс выполнения практической работы, посвященный обеспечению целостности и достоверности передачи информации в канале связи с помощью помехоустойчивых кодов. Эффективен при комплексном подходе пятиэтапном подходе к обучению, когда студенту выдается индивидуальное задание, основанное на аналитическом расчете
помехоустойчивого кода с заданными параметрами для определенного информационного сообщения.
Рис.5. Процесс обучения с помощью разработанного программного комплекса по методам помехоустойчивого кодирования
Для решения поставленной задачи студенту предлагается использовать программный комплекс для изучения теоретического материала по алгоритму построения помехоустойчивого кода, после чего провести аналитический расчет и сравнить полученный результаты с результатами моделирования кода из выбранной подпрограммы (см. рис.6).
Рис. 6. Результат выполнения задания по кодированию-декодированию по коду Хемминга с ошибкой в канале (экранная копия)
Использование программы позволит студенту проверить самостоятельно результаты проделанной работы и расчетов, выявить если есть ошибки и провести контроль теоретических знаний по данной теме. В результате обучающийся сможет лучшим образом подготовиться к сдаче практической работы, повысить качество своих знаний, а, следовательно, освоить профессиональную компетенцию.
Заключение
Описан разработанный компьютерный обучающий программный комплекс, предназначенный для обучения студентов направления информационной безопасности методам помехоустойчивого кодирования. Данный программный комплекс отвечает современным представлениям о целях обучения, может быть использован на практических и лабораторных занятиях для выполнения лабораторных работ, а также как средство самоконтроля знаний студентов. Применение данного программного комплекса совместно учебно-методическими материалами позволит повысить качество знаний студентов и более эффективно сформировать профессиональную компетенцию по дисциплине «Сети и системы передачи информации» или «Теория информации».
Литература
1. ФГОС ВО по направлению подготовки 10.03.01 "Информационная безопасность" (уровень бакалавриата) (утв. приказом Министерства образования и науки РФ от 1 декабря 2016 г. № 1515) // ГАРАНТ.РУ [Электронный ресурс]. Режим доступа:
http://www. garant.ru/products/ipo/prime/doc/71471188/#ixzz506oNkKG1 (дата обращения 06.12.2017).
2. ФГОС СПО по специальности 10.02.03 «Информационная безопасность автоматизированных систем». Утвержден приказом Министерства образования и науки №806 от 28.07.2014.
3. Клюева А.В. Использование мультимедиа-технологий в подготовке персонала по направлению «Безопасность жизнедеятельности» //Образовательные технологии и общество. - 2017. - Т.20. №4. - С. 414 - 419
4. Захарова О.А. Модель системы научно-методического обеспечения дополнительного профессионального образования (ДПО) в информационно -образовательной корпоративной среде//Образовательные технологии и общество. - 2017. - Т.20. №4. - С. 366 - 371.
5. Башелханов И.В., Оладько В.С., Трусов Н.А. Задачи подготовки и обучения персонала ситуационных центров комплексной безопасности предприятий и регионов//ИТ-Стандарт. - 2017. Т. 1. - № 1-1. - С. 21-25.
6. Оладько В.С. Формирование первичных профессиональных навыков при подготовке техников по защите информации// В сборнике: Научно -методологические и социальные аспекты психологии и педагогике сборник статей международной научно-практической конференции: в 2 частях. 2017. -С. 64-67.
7. Колесник В.Д., Полтырев Г.Ш. Курс теории информации. - М., Наука. 2002.