Метод_указания к Лабораторным работам (1). Структурную и функциональную классификацию вс
![]()
|
Одним из наиболее распространённых методов контроля данных до их ввода в систему является верификация, представляющая собой их перезапись на технические носители и сравнение новой версии с предыдущей. Сравнение осуществляется аппаратно в процессе перезаписи знак за знаком. Большинство современных устройств подготовки данных (устройства записи на магнитные диски (МД) и сканеры) снабжены соответствующими техническими и логическими элементами (вариант .3). Другим не менее распространённым методом контроля данных при вводе является пакетирование. Исходные документы объединяются в пачки (пакеты) либо по равному числу, например, по 100, либо за определённый период времени (смена, сутки и т. д.). Каждой пачке присваивается порядковый номер и указывается число документов, дата и час заполнения, тип документа, промежуточные суммы и другие реквизиты. Пачка поступает в группу контроля, проверяющую её реквизиты. После проверки пачка поступает в группу подготовки данных, где последние фиксируются на магнитных дисках и, кроме того, записываются реквизиты пачки. Затем данные вводятся в ПЭВМ. Программа контроля проверяет номер пачки, устанавливая, что последовательность соблюдается, нет повторного ввода, проверяет реквизиты пачки. С помощью пакетирования обнаруживаются дополнительные или недостающие данные, подделки или ошибка, изменяющая сумму. Метод не позволяет обнаружить замену, если сумма осталась неизменной. Эффективный метод защиты данных от случайных и преднамеренных ошибок - метод контрольных знаков (варианты 4-28). Контрольный знак - цифра, добавляемая к ранее определённому числу, своего рода код, обеспечивающий уверенность в правильности копирования и передачи числа. Контрольный знак получается путём арифметических преобразований первоначального числа. Обычные ошибки копирования - добавление знака (например, вместо 47325 записывается 473425), пропуск (вместо 47325 записывается 4725), опечатка (вместо 44325 записывается 44525), перестановка (вместо 47325 записывается 47235), а также комбинация этих ошибок. Система контроля обнаруживает максимум ошибок, оставаясь в то же время простой и недорогой. Наиболее распространённый метод контроля содержит следующую процедуру: сначала каждая цифра числа умножается на определённый весовой коэффициент, например, 2,3,4,5,... Число 47325, следовательно, преобразуется в число 4*6 = 24 7*5 = 35 3*4 = 12 2*3 = 6 5*2 = 10 Результаты суммируются: 24+35+12+6+10=87 Полученная сумма делится на какое-либо простое число (модуль). Наиболее широко используется модуль 11: 87:11=7(10) Разность между остатком (10) и модулем 11 принимается в качестве контрольного знака: 10-11 = (-1) Всё число с контрольным знаком теперь имеет вид: 47325-1 При копировании этого числа оно проверяется обратной процедурой: 4*6=24 7*5=35 3*4=12 2*3=6 5*2=10 Сумма 24 + 35 + 12 + 6 + 10 + 01 = 88 делится на 11. Если нет остатка, число записано верно, если есть остаток, вкралась ошибка. Модуль 11 позволяет обнаруживать ошибки дополнения, пропуска, опечатки и перестановки. Единственный тип ошибки, которую нельзя обнаружить с его помощью - случайная комбинация, где в результате установленной процедуры получается число, делимое на модуль без остатка. Вероятность появления таких комбинаций невелика (около 10% случайных ошибок). Случайные ошибки составляют небольшую долю всех ошибок (менее 10%), и вероятность появления ошибок вообще относительно низка (около 0.1%), поэтому использование контрольного знака не обеспечивает проверки общего числа знаков. 0.1*0.1 * 0.001 =0.00001 Т. е. существует опасность появления одного неверного знака на каждые 100000 знаков. Для большинства систем это вполне приемлемая достоверность данных. Вычисление контрольного знака вручную - утомительное занятие, сопряжённое с ошибками. Поэтому эту процедуру в современных системах также автоматизируют, предоставляя выполнение этих расчётов специальным программам оргавтоматов, на которых выписываются документы (счета, накладные и т. д.), или программам ПЭВМ. Проверка осуществляется автоматически большинством современных копирующих устройств, оргавтоматов, устройств сбора данных и мини-ПЭВМ, используемых в качестве терминалов для сбора данных. Существует много других процедур контроля на основе контрольного знака: простых (менее эффективных) и сложных (более эффективных). В этих процедурах используются различные модули и различные весовые коэффициенты. В большинстве случаев контрольный знак дополняет число справа. Однако он может быть помещён и слева и встроен внутрь числа. Этот метод применяется тогда, когда существует опасность подделки, например, для банковских или бухгалтерских систем. При вводе данных обычно предусматривают следующие операции: контроль присутствия, обеспечивающий проверку существования полей и знаков; контроль формата, проверяющий величину и последовательность полей, числа ведущих полей и служебных знаков и т. д.; контроль чисел, с помощью которого рассчитывается контрольный знак, и проверяются кодовые комбинации; контроль сумм, выполняемый для всех полей, включая имена и адреса. Результаты суммирования обычно не имеют смысла и служат лишь целям контроля; контроль по ограничениям, обнаруживающий нереальные числа, значения которых выходят за пределы верхней и нижней границы диапазона их потенциальных изменений; контроль поступления, обеспечивающий проверку последовательности ввода в систему последовательности запросов и данных; контроль паролей и кодов, проверяющий идентифицирующие номера абонентов, терминалов, запросов, записей и их соответствие кодам постоянных и динамических массивов. Обычно предусматривается регистрация запросов и печать сообщений, содержащих ошибки. Существует также опасность случайной утечки информации, например, появление информации на другом терминале из-за порчи массива или сбоя в переключательных цепях машины, но вероятность такой утечки очень мала. Чаще всего она может быть фрагментарной и иметь кодированный вид. Могут быть и случаи, когда она способна нанести ущерб. Поэтому иногда применяют её алгоритмическое перемешивание с последующим восстановлением. Существует бесчисленное множество таких алгоритмов, достаточно простых для широкого применения. Один из них - последовательная транспозиция сообщения на знаки a, b, ..., где сочетание a, b, ... - ключ шифра перестановок. Алфавит при этом произвольно нумеруется (варианты 39-50). Этот метод особенно часто применяется в системах, содержащих списки имён, адресов и товаров, доступ к которым ограничивается по соображениям коммерческой или профессиональной конфиденциальности, например, списки торговых клиентов, пациентов лечебного учреждения, вкладчиков банка, лекарственных .препаратов на складе и т. д. Ключ шифра перестановок обычно фиксируется лишь на определённый период времени. Он может быть одно- и многоуровневый, при этом каждый уровень может иметь свой период обновления, а ответственность за установление ключей шифров разных уровней может принадлежать разным лицам. В качестве ключей перестановок могут выступать любые слова, включая исходные. Фамилия ТОМПСОН при этом в январе для случайного пользователя системы может выглядеть как ОРТАЛПЕ, а в феврале как КУГХРБО, в зависимости от ключа шифра перестановок. Основной недостаток этого метода - сохранение исходного числа знаков исходного слова, что может стать основанием для его раскрытия, - устраняется выравниванием: устанавливается единая длина слов в списке и более короткие дополняются значащими или незначащими комбинациями знаков, а более длинные - сжимаются. Полученный таким образом эквивалент слова обладает высокой степенью защищённости и практически недоступен для лиц, не имеющих право на его чтение. Могут применяться и более сложные процедуры. Вообще говоря, алгоритмы перемешивания информации могут быть сколь угодно сложными, и, строго говоря, невозможно провести границу за которой обычное технологическое кодирование - в секретное шифрование, а открытая система сбора, передачи и обработки данных - в закрытую. Этот метод используется для защиты данных от несанкционированного использования. Не всякий пользователь может иметь доступ к любому данному. Для осуществления этого система управления банками данных оснащается многочисленными средствами зашиты на разных уровнях. Первым уровнем является доступ к банку данных вообще. Система ведёт картотеку уполномоченных лиц, которые опознаются по номеру - идентификатору. Если введённый пользователем номер не опознан системой, то пользователь не получает доступа к банку данных. В этом случае, когда банк содержит особо секретные данные, имеется·возможность открывать доступ пользователю только по паролю, который может часто изменяться (или вычисляться по алгоритму, известному только лицам, имеющим соответствующее разрешение). Вопрос о доступе может также решаться у терминала. В зависимости от присвоенного пользователю номера он может иметь доступ к данным только с некоторых терминалов, например, с главного терминала, за которым может устанавливаться наблюдение. При незаконной попытке доступа с удалённых терминалов система окончательно запирается и вновь её может использовать только пользователь с главного терминала. После того, как доступ к банку данных открыт, вступает в действие защита на уровне процедур. Система запрашивает пользователя о процедуре, которой он желает воспользоваться: ввод новых данных, пополнение и модификация данных, печатание каталога, запрос. Некоторые потребители·могут иметь разрешение на запрос в банк данных, но не иметь право на ввод новых данных или на обновление существующих данных. Такой подход к защите устраняет риск недоброжелательных или ошибочных действий. Обычно процедуры, связанные с поддержанием файлов (создание, пополнение и т. д.), выполняются только с главного терминала. При процедуре запроса система последовательно спрашивает у пользователя, к какому файлу он хочет обратиться, какой тип данных он хочет получить - такой опрос предусматривается для каждого существующего в банке данных уровня. В зависимости от идентификатора пользователя система открывает ему доступ ко всем данным или к части их. Так, пользователь может запросить файл персонала и получить доступ к данным о квалификации служащих и об их положении на иерархической лестнице, но не получить доступа к данным о заработной плате или же получить доступ к таким данным только с определённого уровня тарифных ставок. Функция защиты данных является составной частью функции манипулирования, которой обладает система управления банков данных. Функция манипулирования предусматривает контроль за функционированием банка данных. Таким контролем, например, является статистический учёт, отражающий частоту использования данных (коэффициенты использования, коэффициенты изменения и т. д.). Такой контроль даёт лицам, обслуживающим банк данных, показатели для оценки работы банка. Ведь нет никакой пользы от ввода в память данных, которые никогда не используются - они лишь занимают место в файлах. Можно также проверять, правильно ли используется банк данных: контроль количества ошибок в формулировке запросов, количества запросов оставшихся без ответов и т. д. Такой контроль служит для совершенствования системы, чтобы в пределах возможности повысить её рабочие характеристики. Таблица 1 Методы-контроля данных при вводе
Подготовка к лабораторной работе Лабораторная работа рассчитана на 4 часа (2 лабораторных занятия) работы в лаборатории и 2 часа самостоятельной работы, которая состоит в изучении кратких теоретических сведений, подготовки блок-схемы программы на алгоритмическом языке для получения конечных результатов, предусмотренных в каждом конкретном варианте. Для допуска к лабораторной работе необходимо предъявить блок-схемы по своему варианту и ответить на вопросы по теоретической части лабораторной работы. Содержание лабораторной работы 1. Составить по блок-схеме программу на алгоритмическом языке для решения поставленной задачи. 2. Отладить программу на ПК. Провести анализ полученных результатов и сделать вывод. Содержание отчёта Отчёт должен содержать: 1.Задание на лабораторную работу в полном объёме. 2.Блок-схемы алгоритмов для конкретного варианта. 3.Листинги программы и результат. 4.Выводы по полученным результатам. Контрольные вопросы 1. Особенности верификации. 2. Особенности пакетирования. 3. Метод контрольных знаков. 4. Назначение числа с модулем 11. 5. Последовательная транспозиция сообщения на знаки. 6. Метод алгоритмического перемешивания. 7. Функции защиты данных. 8. Операции контроля при вводе данных. 9. Проверка данных символьного типа на оригинальность. 10.Восстановление части данных, потерянных при вводе в банке данных. Приложение Индивидуальные задания Варианты 1-50 1. Разработать алгоритм и программу проверки введённых данных символьного типа на оригинальность (устранить избыточные данные). Входной массив: SLOWO (10). Выходной массив не должен содержать одинаковых элементов массива SLOWO. 2. Разработать алгоритм и программу проверки введённых цифровых данных на оригинальность (устранить избыточные данные). Входной массив: S (10). На печать вывести исходный массив и массив, полученный после проверки. 3. Разработать алгоритм и программу восстановления части данных, утерянных при их вводе в банк данных, т. е. информацию, занесённую в банк данных, необходимо сравнить с источником информации, откуда была произведена перезапись. Числа во входном массиве должны быть четырёх-, пятизначными Таблица 2 |