Базу данных можно определить как совокупность взаимосвязанных хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений. Хранение данных в БД организуется так, чтобы они были независимы от программ, использующих эти данные. Для добавления новых или модификации хранящихся данных, а также хранения их в БД применяется программная система управления БД (СУБД). 5.4.1. Механизм контроля доступа. СУБД, реализующие выполнение операций по обработке данных для прикладных программ, используют в процессе работы понятие "схема" и "подсхема".В понятие "схема" включается полная таблица всех типов элементов данных и типов записей, хранимых в БД.Подсхему определяют как описание данных, используемых прикладным программистом в конкретных задачах. Последовательность основных действий, реализуемых СУБД в процессе считывания записи по запросу прикладной программы, иллюстрирует рис. 5.1. На схеме цифрами отмечены основные действия, необходимые для реализации процесса чтения записи: - прикладная программа А выдает запрос на чтение записи СУБД. Сообщается идентификатор программиста, запрашивающего этот тип данных, а также передается значение ключа сегмента или записи; - СУБД получает в свое распоряжение подсхему, используемую прикладной программой А, и осуществляет в ней поиск описания данных, на которые выдан запрос; - СУБД получает в свое распоряжение схему и с ее помощью определяет, какого типа логические данные необходимы для удовлетворения запроса; - учитывая полномочия пользователя, СУБД просматривает описание физической организации БД и определяет, какую физическую запись требуется считать; - СУБД выдает операционной системе команду чтения запрошенной информации; - операционная система взаимодействует с физической памятью, в которой хранится информация; - запрошенная информация передается в системные буфера; - СУБД, сопоставляя схему и подсхему, выделяет ту логическую запись, которая запрошена прикладной программой. Любое преобразование данных, необходимость в котором возникает из-за различия в описании одних и тех же данных в схеме и подсхеме, выполняется СУБД. Если информация в БД была зашифрована, то в это время выполняется ее дешифрование; - СУБД передает данные из системных буферов в рабочую область прикладной программы; - СУБД передает прикладной программе информацию о результатах выполнения различных процедур по обслуживанию ее запроса. Эта информация отражает также сведения об ошибках, если при выполнении запроса они были; - прикладная программа обрабатывает данные, содержащиеся в ее рабочей области. здддддддддддддддддддддд здддддддд ЁПрикладная программа Ацдддддд1ддддддддд здддд2ддддПодсхемаЁ Ё здддддддддддд Ё Ё юдддддддды Ё Ё Состояние Ё Ё Ё цдддддддддадддддддддддд Ё Ё Ё Рабочая область цддддд10дддд Ё Ё юдддддддддбдддддддддддды Ё Ё Ё Ё Ё Ё Ё Ё здддаддддадддддддддаддд цддддддддд9дддддддддд Система управления Ё 8 Ё Ё базами данных Ё здддддддддадддддддддддд юддддддддбдддбддддддбдды здддддддд Ё Системные буфера Ё 5 Ё Ё юдддд3ддд Схема Ё юдддддддддбдддддддддддды Ё юддддд4дддддд юдддддддды 7 Ё зддддддддаддддддддддддд Ё цддддддддд6дддддддддд Базы данных Ё Ё Ё юдддддддддддддддддддддды Ё здддддддддадддддддддддд Ё Ё Базы данных Ё Ё зддддддддддд юдддддддддддддддддддддды Ё ЁОписание Ё юддфизической Ё ЁорганизацииЁ Ёбазы данныхЁ юддддддддддды Рис. 5.1. Действия системы управления базами данных при считывании записи в рабочую область прикладной программы. В случае обновления записи прикладной программой СУБД выполняет аналогичные действия. Запрашиваемая запись считывается и модифицируется в рабочей области прикладной программы, а затем производится ее перезапись в БД. СУБД выполняет все необходимые преобразования в системных буферах. СУБД одновременно реализуется несколько запросов, поэтому ее взаимодействие с ситсемными буферами должно допускать возможность одновременного выполнения операций с различными данными. Если учесть, что в процессе работы одновременно может участвовать несколько прикладных программ, каждая из которых работает с одной или несколькими подсхемами (рис.5.2), то с точки зрения защиты информации необходимо разграничить сферы действий различных специалистов. В основе распределения сфер влияния - обеспечение независимости прикладных программ от обрабатываемых ими данных. Система должна быть так организована, чтобы сфера действия прикладного программиста (пользователя) ограничивалась прикладной программой, выделенными ей рабочими областями и набором подсхем, закрепленных за программой. При этом изменения средств, представленных в нижней части рис. 5.2, не должны приводить к необходимости изменения прикладных программ и их подсхем. Системный аналист, не связанный с физической организацией данных, работает с общей схемой данных, но не взаимодействует с физической структурой данных. Изменения в описании физической организации БД не должны приводить к изменению схемы или общего представления системного аналитика по системе. Системный программист работает с описанием физической организации БД и сфера его действия должна быть ограничена, чтобы на него не влияли никакие изменения, происходящие в прикладных программах, за исключением случая формирования новой схемы. В зависимости от принятой структуры хранения информации СУБД требуется просмотреть много записей, прежде чем будет найдена та, которую запросила прикладная программа. Считывание записей для проверки будет производиться в системные буфера, но прикладная программа о них ничего знать не будет. Она получит управление только тогда, когда запрошенная запись будет найдена и передана в рабочую область прикладной программы или если СУБД установит невозможность удовлетворения запроса. В последнем случае СУБД устанавливает соответствующий индикатор в области "состояние" прикладной программы (см. рис. 5.1) При использовании БД несколькими пользователями необходимо решить задачу защиты информации от несанкционированного считывания, изменения, искажения человеком или программой. В качестве средств защиты применяются простые компоненты (например, пароли файлов) и очень сложные (например, программная защита СУБД). В зарубежных публикациях выделяются 3 группы средств защиты при работе с БД (рис.5.3).(См. стр. 150 В.В.Шуракова "Обеспечение сохранности информации в системах обработки данных"). Они реализуются в виде отдельных подпрограмм прикладной программы, специальной подпрограммы СУБД либо включаются в состав операционной системы в процессе ее разработки. В общем случае могут быть использованы любые сочетания этих видов защиты информации. Однако, как отмечается, чаще применяются средства защиты в составе СУБД, так как в этом случае централизуются процедуры контроля со стороны администратора БД. ----------------------------------------------------------------------------- здддддддддддддддддддддд здддддддд | ЁПрикладная программа АЁ ЁПодсхемыЁ | Ё здддддддддддд Ёпр-мы А Ё здддддддд | Ё Ё Состояние Ё юдддддддды ЁПодсхемыЁ 1 цдддддддддадддддддддддд Ёпр-мы В Ё | Ё Рабочая область Ё юдддддддды | юдддддддддддддддддддддды | ----------------------------------------------------------------------------- здддддддддддддддддддддд | Ё Система управления Ё | Ё базами данных Ё | здддддддддддддддддддддд юдддддддддддддддддддддды здддддддд | Ё Системные буфера Ё Ё Схема Ё 2 юдддддддддддддддддддддды здддддддддддддддддддддд юдддддддды | Ё Базы данных Ё | юдддддддддддддддддддддды | ----------------------------------------------------------------------------- здддддддддддддддддддд | здддддддддддд здддддддддддд здддддддддддд ЁОписание физической Ё | ЁБаза данных Ё ЁБаза данных Ё ЁБаза данных Ё Ёорганизации базы Ё 3 юдддддддддддды юдддддддддддды юдддддддддддды юдддддддддддддддддддды | | -----------------------------------------------------------------------------ы 1.Сфера действий прикладного программиста. 2.Сфера действий специалиста по системному анализу. 3.Сфера действий системного программиста. Рис.5.2. Механизм работы системы управления БД.