Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Хранение и защита компьютерной информации. Лабораторный практикум
.pdf
окончании редактирования сохраним корректировки. Нажмем
кнопки Применить → OK;
Рис. 4.1. Коррекция параметров в папке Локальные политики
б) в каталоге Политика аудита укажем события, предна-
значенные для записи в журнале безопасности. Установим регистрацию в журнале аудита успешных и неудачных попыток:
– входа в систему,
– изменения политики,
– использования привилегий,
– событий входа в систему,
– управления учетными записями;
в) в папке Параметры безопасности укажем разнообраз-
ные административные настройки, определяющие поведение
31

ОС (при входе в нее как локально, так и через сеть) и взаимодействие с различными устройствами. Установим:
– заголовок ПРЕДУПРЕЖДЕНИЕ в качестве значения па-
раметра Интерактивный вход в систему: заголовок сообщения
для пользователей при входе в систему,
– текст На этом компьютере могут работать только зарегистрированные пользователи! в качестве значения параметра
Интерактивный вход в систему: текст сообщения для пользователей при входе в систему,
– значение Отключен для параметра Интерактивный вход
в систему: не требовать нажатия CTRL+ALT+DEL,
– значение Включен для параметра Интерактивный вход в
систему: не отображать последнего имени пользователя,
– значение 7 дней для параметра Интерактивный вход в
систему: напоминать пользователям об истечении срока действия пароля заранее;
г) определим уровни безопасности политики ограниченного
использования программ: Панель управления → Администриро-
вание → Локальная политика безопасности → Политики ограниченного использования программ → Уровни безопасности;
д) определим дополнительные правила политики ограни-
ченного использования программ: Панель управления → Ад-
министрирование → Локальная политика безопасности →
Политики ограниченного использования программ → Дополнительные правила.
2. Рассмотреть возможности Редактора локальной группо-
вой политики. Для этого:
а) запускаем оснастку через окно Выполнить (или в Командную строку). Нажимаем Win + R → вводим gpedit.msc →
OK. Откроется интерфейс оснастки;
б) переходим в раздел Конфигурация компьютера → Кон-
фигурация Windows → Параметры безопасности. Откроется ди-
ректория (по аналогии с пунктом 1) с папками: Политики учетных записей, Локальные политики и т.д.;
в) дальнейшие действия выполним по алгоритму из пункта 1.
3. Рассмотреть возможности управления групповыми поли-
тиками Active Directory (AD GPO) на виртуальном сервере с операционной системой Windows Server. Для этого:
32

а) установим Active Directory Domain Service (AD DS) на
контроллер домена. На сервере появится оснастка Group Policy
Management. Для ее открытия нажмем комбинацию клавиш
Win + R → введем gpmc.msc → OK;
б) создадим объект групповой политики: Forest → Domains
→ указываем имя домена → Group Policy Objects. Правой кноп-
кой мыши откроем меню и выберем New → Name → вводим имя
групповой политики. Созданный объект должен появиться в общем списке политик;
в) настроим созданный объект под конкретные задачи. На-
пример, удалим ссылку Games из меню Start. Правой кнопкой мыши откроем меню объекта и выберем пункт Edit. Далее
в редакторе групповых политик перейдем по иерархии User
Configuration → Policies → Administrative Templates → Start
Menu and Taskbar → Remove Games link from Start Menu → Edit
(в контекстном меню) → отметим Enable (для включения правила) → напишите комментарий (при необходимости) → OK;
г) найдем объект групповой политики (рис. 4.2). Выберем
лес (forest) и в контекстном меню кликнем Search. Например,
произведем поиск объектов групповой политики, в которых
встречается слово Default;
Рис. 4.2. Поиск объекта групповой политики
33

д) удалим объект групповой политики. Укажем на объект
для удаления и с помощью правой кнопки мыши выберем опцию
Delete.
Отчет по работе
Каждый студент составляет отчет о проделанной работе объемом 4-5 с., который должен содержать следующие материалы.
1. Краткое изложение теории.
2. Краткое описание методики проведения лабораторной ра-
боты.
3. Выводы о проделанной работе.
Контрольные вопросы
1. В чем сущность политики безопасности в Windows?
2. Каковы инструменты настройки безопасности в Windows?
3. В чем сущность групповой политики безопасности?
4. Каковы компоненты групповых политик?
5. Каковы возможности Локальной политики безопасности?
6. Каковы возможности Редактора локальной групповой по-
литики?
7. Каковы возможности управления групповыми политиками
Active Directory (AD GPO) на виртуальном сервере с операционной системой Windows Server?
34

Лабораторная работа 5
КОДИРОВАНИЕ ИНФОРМАЦИОННЫХ
СООБЩЕНИЙ
Цель работы
Применить на практике алгоритмы кодирования информационных сообщений, идентифицировать ошибки в передаваемых
данных и рассмотреть способы их (данных) восстановления.
Теоретическая часть
Рассмотрим синтаксис в Matlab:
– для генерации проверочной и порождающей матриц для
кода Хэмминга (>> – приглашение для ввода команды; символ
‘ – клавиша Э при английской раскладке клавиатуры):
>> h = hammgen(m)
>> h = hammgen(m,pol)
>> [h,g] = hammgen(...)
>> [h,g,n,k] = hammgen(...)
m
где n = (2
m – целое число, больше или равное трем,
k = (n – m) – длина блока исходного сообщения;
– для генерации порождающего полинома для циклического
кода:
>> pol = cyclpoly(n,k)
>> pol = cyclpoly(n,k,opt)
Полином представляется в виде строки, содержащей коэффициенты полинома в порядке возрастания степеней. Первая
команда pol = cyclpoly(n,k) возвращает вектор-строку, представляющий один из нетривиальных порождающих полиномов для
циклического кода с длиной кодового слова n и длиной блока исходного сообщения k. Вторая команда pol = cyclpoly(n,k,opt) производит поиск одного или нескольких нетривиальных порождающих полиномов для циклических кодов с длиной кодового
слова n и длиной блока исходного сообщения k. Результат pol зависит от входного параметра opt;
– для генерации проверочной и порождающей матриц для
циклического кода:
– 1) – длина кодового слова,
35

>> parmat = cyclgen(n,pol)
>> parmat = cyclgen(n,pol,opt)
>> [parmat,genmat] = cyclgen(...)
>> [parmat,genmat,k] = cyclgen(...)
Полином может породить циклический код с длиной кодово-
го слова n и размером блока исходного сообщения k тогда и только тогда, когда этот полином имеет степень (n – k) и является де-
n
лителем полинома x
n
GF(2) x
– 1 – это то же самое, что и xn + 1.) Следовательно, k рав-
– 1. (В двоичном конечном поле Galois field
няется n минус степень порождающего полинома. Входной параметр opt определяет, должна итоговая матрица соответствовать
систематическому или несистематическому коду;
– для преобразования порождающей матрицы в провероч-
ную и обратно:
>> parmat = gen2par(genmat)
>> genmat = gen2par(parmat)
Первая команда parmat = gen2par(genmat) преобразует
двоичную порождающую матрицу genmat, представленную в
стандартной форме, в соответствующую проверочную матрицу
parmat. Вторая команда genmat = gen2par(parmat) преобразует двоичную проверочную матрицу parmat, представленную в
стандартной форме, в соответствующую порождающую матрицу
genmat;
– для расчета кодового расстояния для линейного блокового
кода:
>> wt = gfweight(genmat)
>> wt = gfweight(genmat,’gen’)
>> wt = gfweight(parmat,’par’)
>> wt = gfweight(genpoly,n)
Кодовое расстояние для линейного блокового кода равно
минимальному числу различающихся элементов в произвольной паре кодовых слов. Первая команда wt = gfweight(genmat)
возвращает кодовое расстояние для линейного блокового
кода с порождающей матрицей genmat. Вторая команда wt =
gfweight(genmat,’gen’) возвращает кодовое расстояние для линейного блокового кода с порождающей матрицей genmat. Третья команда wt = gfweight(parmat,’par’) возвращает кодовое расстояние для линейного блокового кода с проверочной матрицей
36

parmat. Четвертая команда wt = gfweight(genpoly,n) возвращает
кодовое расстояние для циклического кода с длиной кодового
слова n и порождающим полиномом genpoly. Параметр genpoly
должен быть вектором-строкой, содержащим коэффициенты порождающего полинома в порядке возрастания степеней;
– для генерации таблицы зависимости векторов ошибок от
синдрома (таблицы декодирования) для двоичных кодов:
>> t = syndtable(parmat)
Эта команда возвращает таблицу декодирования для двоичного корректирующего кода с длиной кодового слова n и длиной
сообщения k. Параметр parmat – проверочная матрица кода,
имеющая (n – k) строк и n столбцов. Результат t – двоичная ма-
n – k
трица, содержащая 2
строк и n столбцов. r-я строка матрицы
t представляет собой вектор ошибок для принятого двоичного
кодового слова, синдром декодирования которого имеет десятичное целочисленное значение (r – 1). Синдром декодирования
определяется произведением принятого кодового слова и транспонированной проверочной матрицы. Таким образом, строки
матрицы t – лидеры смежных классов (coset leaders) из стандартного расположения (standard array) для данного кода.
Среди библиотек Simulink (Matlab) для моделирова-
ния систем передачи дискретных сообщений используется
Communications System Toolbox. В ходе выполнения лабораторной работы мы будем использовать следующие разделы и блоки:
– Communications Sources – источники различных сигналов
(например, источники случайных данных Random Data Sources,
генераторы шума Noise Generators, генераторы последовательностей Sequence Generators);
– Error Detection and Correction – блоки обнаружения и ис-
правления ошибок, включая блоковые, сверточные и CRC-коды
(Cyclic redundancy check);
– Communications Sinks – блоки сбора, обработки и отобра-
жения информации (счетчики ошибок Error Rate Calculation, осциллографы и индикаторные диаграммы дискретного времени);
– Modulation – модуляторы и демодуляторы цифровых сиг-
налов (амплитудная, частотная и фазовая манипуляция, квадратурная амплитудная КАМ и амплитудная фазовая АФМ модуляция и т.д.);
37

– Communications Filters – телекоммуникационные фильтры
различного назначения;
– Channels – блоки, моделирующие дискретные и непре-
рывные каналы связи, включая двоичный симметричный канал
Binary Symmetric Channel и канал с аддитивным белым Гауссовским шумом AWGN Channel.
Отдельно рассмотрим блоки.
ammi
Кодер Хэмминга (H
ng Encoder) – для формирования ко-
довой комбинации кода Хэмминга на основе двоичного вектора информационных разрядов. В качестве параметров кодера Хэмминга
используются два числа – n и k. Первое число n = (2m – 1) – общая
длина кодовой комбинации, включая проверочные и информационные элементы (m – больше или равно 3). Второе число k = (n – m) –
количество информационных разрядов кодовой комбинации. Вместо параметра k можно использовать примитивный полином в двоичном виде (в порядке возрастания степеней переменной x) или
функцию gfprimfd(). Формат функции для нахождения прими-
m
тивных полиномов в поле Галуа p
: pol = gfprimfd(m,opt,p), где m
– положительное целое число, p – простое число. Если m = 1, то полином будет всего один. Если же m > 1, то полином будет зависеть
от параметра opt, который может принимать значения: min (при-
m
митивный полином поля Галуа GF(p
), содержащий минимальное
число ненулевых элементов), max (примитивный полином поля Га-
m
луа GF(p
), содержащий максимальное число ненулевых элемен-
тов), all (матрица, включающая все примитивные полиномы поля
m
Галуа GF(p
), каждая из строк которой будет содержать по одному
примитивному полиному) или положительное число (матрица,
m
включающая примитивные полиномы поля Галуа GF(p
) с числом
ненулевых элементов, равным opt, каждая из строк которой будет
содержать по одному примитивному полиному). Для поиска при-
m
митивных полиномов в поле Галуа GF(2
) рекомендуется приме-
нять функцию primpoly(m,opt). В качестве исходных данных блок
принимает вектор-столбец информационных символов длиной k и
возвращает вектор-столбец кодовой комбинации длиной n.
Декодер Хэмминга (Hamming Decoder) – для восстановле-
ния данных в кодовых комбинациях. Все параметры декодера
должны полностью совпадать с параметрами кодера Хэмминга
В качестве исходных данных блок принимает вектор-столбец
38

кодовой комбинации длиной n и возвращает вектор-столбец информационных символов длиной k.
Кодер БЧХ (BCH Encoder) – для создания кодовой комби-
нации кода Боуза–Чоудхури–Хоквингема на основе двоичного
вектора информационных разрядов. В качестве параметров кодера БЧХ используются числа n = (2m – 1), где 3 ≤ m ≤ 16, и k,
которое можно найти не для каждого значения n.
Декодер БЧХ (BCH Decoder) – для восстановления данных в
кодовых комбинациях. Все параметры декодера должны полностью совпадать с параметрами кодера БЧХ. В качестве исходных
данных блок принимает вектор-столбец кодовой комбинации
длиной n и возвращает вектор-столбец информационных символов длиной k.
Кодер циклического кода CRC-N (CRC-N Generator) – для
формирования проверочных битов в соответствии с алгоритмом
работы циклического кодера CRC-N. Данный блок – упрощенная версия General CRC Generator. Порождающий примитивный
полином выбирается из выпадающего списка. Параметр Initial
states задает начальное состояние внутреннего регистра сдвига
кодера. Число n определяет степень порождающего полинома и
число проверочных разрядов кода.
Декодер циклического кода CRC-N (CRC-N Syndrome
Detector) – для обнаружения ошибок в принятых кодовых ком-
бинациях кода CRC-N путем вычисления контрольной суммы.
Блок имеет два выхода. Первый – выдает информационные разряды. Второй – результат вычисления контрольной суммы в
виде вектора, в котором 1 означает наличие ошибок в принятой
комбинации, а 0 – отсутствие ошибок.
Двоичный генератор Бернулли (Bernoulli Binary
Generator) – для генерации случайных двоичных символов с
распределением Бернулли. Параметр Probability of a zero может
принимать значения от 0 до 1 и задает величину закона распределения p, равную вероятности появления нулей. Следовательно, вероятность появления единиц равна (1 – p). Параметр Initial
seed определяет начальное значение генератора случайных чисел, а Frame-based outputs – формат выходного сигнала генератора. Параметр Samples per frame задает число выборок в каждом
из столбов фреймового сигнала. Interpret vector parameters as
39

1-D делает выходной сигнал одномерным. Output data type определяет тип выходных данных – двоичный или целый.
Счетчик ошибок (Error Rate Calculation) – для вычисления
коэффициента ошибок в последовательности битов или символов.
Для этого блок находит отношение несовпадений символов на
входах Rx и Tx к общему числу переданных символов. Rx и Tx –
сигналы на входе и выходе системы. Число входов может быть от
2 до 4. Входные сигналы могут быть скалярными или векторными (вектор-столбец) величинами. Частоты сигналов на Rx и Tx
входах должны совпадать. Если на один вход подается скалярная
величина, а на другой – вектор, то происходит последовательное
сравнение скалярной величины с каждым из элементов вектора.
На выходе блока – вектор из трех значений: коэффициент ошибок, общее число ошибок (число несовпадений значений на входных портах), общее число сравнений (сделанных блоком).
Сверточный кодер (Convolutional Encoder) – для формиро-
вания сверточного кода из двоичных данных. Trellis structure –
параметр, в котором задается сверточный кодер. Если есть переменная MATLAB, содержащая треллис-структуру, то можно
указать ее. Иначе требуется использовать функцию poly2trellis(),
имеющую формат: poly2trellis(ConstraintLength , CodeGenerator ,
... FeedbackConnection). Эта функция преобразует полиномы сверточного кодера в треллис-структуру. В ней определяется длина
кодового ограничения ConstraintLength и производящие полиномы сверточного кодера CodeGenerator в восьмеричной форме, а
также обратная связь FeedbackConnection (если она есть).
Декодер Витерби (Viterbi Decoder) – для декодирования
данных, закодированных сверточным кодером, с применением
авторского алгоритма декодирования Витерби.
Двоичный симметричный канал Binary Symmetric
Channel – для формирования ошибки в последовательности би-
тов. Блок принимает скалярные величины или векторы на входе и создает для каждого элемента с определенной вероятностью
ошибки в виде замены входного двоичного символа на противоположный: 1 на 0 и 0 на 1. Параметр Error probability определяет вероятность ошибки в каждом из символов. Initial seed задает
начальное значение генератора случайных чисел.
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
