Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 49
Текст из файла (страница 49)
Есливведенный и полученный пароли совпадают, клиент формирует шифрованный запрос серверу выдачи разрешения на получение доступа к требуемым ресурсам сети.После ряда манипуляций (расшифровывания и ряда проверок) и полной уверенности, что подключающийся пользователь тот, за кого себя выдает, сервер выдачи разрешения отсылает пользователю зашифрованноеразрешение на доступ к ресурсам сети.Получив и расшифровав разрешение, клиент связывается с помощью зашифрованного сообщения с целевым сервером, ресурсы которого требуютсяпользователю, и только после этого пользователь получает доступ к ресурсу.Для обеспечения еще более высокого уровня защиты клиент может потребовать идентификации целевого сервера, а не безусловной связи с ним. В этомслучае устраняется возможность перехвата информации, дающей право надоступ к ресурсам сети.Система «Кобра» является одной из распространенных и эффективныхспециализированных систем защиты для MS-DOS и Windows.
Она основана2378. Использование баз данныхна технологии прозрачной защиты, которой пользователь в своей работе незамечает, а поэтому не испытывает неудобств от функционирования защитных средств.Прозрачная защита в системе «Кобра» строится с помощью метода динамического шифрования. Конфиденциальная информация, записываемая навнешние устройства, автоматически зашифровывается по ключу, зависящему от пароля пользователя. При считывании зашифрованной информациипроисходит ее автоматическая дешифрация.Для шифрования информации в системе «Кобра» применяется технология криптозащиты, обеспечивающая повышение скорости шифрования икриптостойкости зашифрованной информации.
Скорость шифрования увеличивается за счет двухэтапной схемы шифрования, а криптостойкость - засчет внесения неопределенности в алгоритм шифрования.СредствазащитыБДСредства защиты БД в различных С У Б Д несколько отличаются друг отдруга. На основе анализа современных С У Б Д фирм Borland и Microsoft можно утверждать, что средства защиты БД условно делятся на две группы: основные и дополнительные.К основным средствам защиты и н ф о р м а ц и и можно отнести следующие средства:• парольной защиты;• шифрования данных и программ;• установления прав доступа к объектам БД;• защиты полей и записей таблиц БД.Парольная защита представляет простой и эффективный способ зашитыБД от несанкционированного доступа. Пароли устанавливаются конечнымипользователями или администраторами БД.
Учет и хранение паролей производится самой СУБД. Обычно пароли хранятся в определенных системныхфайлах С У Б Д в зашифрованном виде. Поэтому просто найти и определитьпароль невозможно. После ввода пароля пользователю С У Б Д предоставляются все возможности по работе с защищенной БД. Саму С У Б Д защищатьпаролем большого смысла нет.Шифрование данных (всей базы или отдельных таблиц) применяют длятого, чтобы другие программы, «знающие формат БД этой СУБД», не моглипрочитать данные. Такое шифрование (применяемое в Microsoft Access), повидимому, дает немного, поскольку расшифровать БД может любой с помощью «родной» СУБД.
Если шифрация и дешифрация требуют задания пароля, то дешифрация становится возможной при верном вводе пароля. Надеемся, разработчики Access учтут это в последующих версиях.Шифрование исходных текстов программ позволяет скрыть от несанкционированного пользователя описание соответствующих алгоритмов.238Часть 2.
Проектирование и использование БДВ целях контроля использования основных ресурсов СУБД во многих системах имеются средства установления прав доступа к объектам БД. Правадоступа определяют возможные действия над объектами. Владелец объекта(пользователь, создавший объект), а также администратор БД имеют все права. Остальные пользователи к разным объектам могут иметь различные уровни доступа.По отношению к таблицам в общем случае могут предусматриваться следующие права доступа:• просмотр (чтение) данных;• изменение (редактирование) данных;• добавление новых записей;• добавление и удаление данных;• все операции, в том числе изменение структуры таблицы.К данным, имеющимся в таблице, могут применяться меры защиты по отношению к отдельным полям и отдельным записям.
В известных нам реляционных СУБД, отдельные записи специально не защищаются, хотя можнопривести примеры из практики, когда это требуется. Контроль прав доступа,по-видимому, должен быть в объектно-ориентированных СУБД, в которыхесть идентификация отдельных записей (одно из отличий объектно-ориентированной модели от реляционной).Применительно к защите данных в полях таблиц можно выделить следующие уровни прав доступа:• полный запрет доступа;• только чтение;• разрешение всех операций (просмотр, ввод новых значений, удаление иизменение).По отношению к формам могут предусматриваться две основные операции: вызов для работы и разработка (вызов Конструктора). Запрет вызова Конструктора целесообразно делать для экранных форм готовых приложений, чтобы конечный пользователь случайно не испортил приложение.
В самих экранных формах отдельные элементы могут быть тоже защищены. Например, некоторые поля исходной таблицы вообще могут отсутствовать или скрыты от пользователя, а некоторые поля - доступныдля просмотра.Отчеты во многом похожи на экранные формы, за исключением следующего.
Во-первых, они не позволяют изменять данные в таблицах, а во-вторых, основное их назначение - вывод информации на печать. На отчеты, также как и на экранные формы, может накладываться запрет на вызов средствих разработки.Для исключения просмотра и модификации (случайной и преднамеренной) текстов программ, используемых в приложениях СУБД, помимо шифрации, может применяться их парольная защита.8.
Использование баз данных239К дополнительным средствам защиты БД можно отнести такие, которые нельзя прямо отнести к средствам защиты, но которые непосредственновлияют на безопасность данных. Их составляют следующие средства:• встроенные средства контроля значений данных в соответствии с типами;• повышения достоверности вводимых данных;•обеспечения целостности связей таблиц;• о р г а н и з а ц и и совместного и с п о л ь з о в а н и я о б ъ е к т о в Б Д в сети.Редактируя БД, пользователь может случайно ввести такие значения, которые не соответствуют типу поля, в которое это значение вводится. Например, в числовое поле пытаться занести текстовую информацию.
В этом случае СУБД с помощью средств контроля значений блокирует ввод и сообщаетпользователю об ошибке звуковым сигналом, изменением цвета вводимыхсимволов или другим способом.Средства повышения достоверности вводимых значений в СУБД служатдля более глубокого контроля, связанного с семантикой обрабатываемыхданных. Они обычно обеспечивают возможность при создании таблицы указывать следующие ограничения на значения: минимальное и максимальноезначения; значение, принимаемое по умолчанию (если нет ввода), требование обязательного ввода; задание маски (шаблона) ввода; указание дополнительной сверочной таблицы, по которой ведется контроль вводимых значений и т.
д.Более совершенной формой организации контроля достоверности информации в БД является разработка хранимых процедур. Механизм хранимыхпроцедур применяется в БД, размещенных на сервере. Сами хранимые процедуры представляют собой программы, алгоритмы которых предусматривают выполнение некоторых функций (в том числе контрольных) над данными. Процедуры хранятся вместе с данными и при необходимости вызываются из приложений либо при наступлении некоторых событий в БД.Решение прикладной задачи, как правило, требует информации из нескольких таблиц. Сами таблицы для удобства обработки и исключения дублирования информации некоторым образом связываются (подраздел 3.3).
Функцииподдержания логической целостности связанных таблиц берет на себя СУБД(подраздел 3.4). К сожалению, далеко не все СУБД в полной мере реализуютэти функции, в этом случае ответственность за корректность связей возлагается на приложение.Приведем пример возможных действий СУБД по контролю целостностисвязей таблиц. Пусть между двумя таблицами существует связь вида 1:М и,следовательно, одной записи основной таблицы может соответствовать несколько записей вспомогательной таблицы.При вставке записей во вспомогательную таблицу система контролируетналичие соответствующих значений в поле связи основной таблицы. Есливводимое значение отсутствует в основной таблице, СУБД временно блоки-Часть 2. Проектирование и использование БД240рует работу с новой записью и предлагает изменить значение или удалитьзапись целиком.Удаление записей дополнительных таблиц проходит «безболезненно»,чего не скажешь о записях основной таблицы.
В случае, когда запись основной таблицы связана с несколькими записями дополнительной таблицы, возможны два варианта поведения: не удалять основной записи, покаимеется хотя бы одна подчиненная запись (записи должен удалять пользователь), либо удалить основную запись и все подчиненные записи (каскадное удаление).В многооконных системах (почти все современные программы) и, тем более, в распределенных информационных системах, работающих с базами данных, возникает проблема разрешения конфликтов между различными действиями над одними и теми же объектами (совместного использования объектов БД).
Например, что делать в случае, когда один из пользователей локальной сети редактирует БД, а другой хочет изменить ее структуру? Для такихситуаций в С У Б Д должны быть предусмотрены механизмы разрешения конфликтов.Обычно при одновременной работе нескольких пользователей сети, а также работе нескольких приложений на одном компьютере или работе в нескольких окнах С У Б Д используются блокировки.Блокировки могут действовать на различные объекты Б Д и на отдельныеэлементы объектов.