Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК по СРОД-10-12.doc
Скачиваний:
22
Добавлен:
13.11.2018
Размер:
2.55 Mб
Скачать

5. Безопасность бд

Безопасность данных – это защита данных от случайного или преднамеренного разрушения, раскрытия или модификации данных.

Существуют следующие возможные причины опасности:

  1. Использование прав доступа другого человека.

  2. Несанкционированное изменение или копирование данных.

  3. Изменение программ.

  4. Подключение к кабельной сети.

  5. Ввод хакерами некорректных данных.

  6. Похищение данных, программ и оборудования.

  7. Недостаточность обучения персонала, ее нехватка.

  8. Просмотр и раскраска засекреченных данных.

  9. Электронные наводки и радиации.

  10. Разрушение данных из-за электропитания.

  11. Пожары.

  12. Физическое повреждение оборудования.

  13. Обрыв или отсоединение кабелей.

  14. Внедрение компьютерных вирусов.

Меры безопасности

1.    Идентификация или установление подлинности 2.    Предоставление полномочий 3.    Обеспечение целостности БД 4.    Кодирование информации 5.1. Идентификация и установление подлинности

Для установления подлинности пользователя употребляются пароли.

Пароли: 1.    Простые пароли 2.    Однократного использования. Пользователю выдается список из N паролей. Такие же N паролей хранятся в ЭВМ. Данная схема обеспечивает большую степень безопасности, но она является и более сложной.     Пример 5.1:     xyz        xyz                       абв         абв 3.    «Запрос - ответ». В системе хранятся данные об идентификации личности. Машина задает вопросы пользователю, известные только ему. 4. Установление пользователем подлинности системы. Пароли используются не только для установления пользователя по отношению к системам, но и для обратного установления подлинности. Это важно, например, в сетях ЭВМ. Такую проверку называют процедурой в режиме “рукопожатия “.

Рис.5.1. Взаимодействие машин в режиме «рукопожатия»

Из машины посылается некоторое число х, на другой машине есть функция преобразования f(x). После преобразования посылается ответ f(х). Первая машина определяет: верна ли функция преобразования или нет. Число посылается открыто, а функция преобразования по линиям связи не передается.

Пример 5.2. Пример системы «рукопожатия»     Х                    f(x)                  1312                 4   4752                86   5472                76   6836               120      ... d1d2d3d4 – четырехзначное десятичное число f(x)=2*(d1*d4+d2*d3)mod(d1d2d3d4) x=4752    f(x)=2*(8+35)=86 Определение полномочий представлено в таблице 5.1.

Таблица 5.1.

Наименование

ФИО

Квалифи-

кация

Оклад

Транспорт

Прогноз

объема

продаж

Цена на

покупку

Отдел кадров

11

11

11

00

00

00

Транспортный отдел

00

00

00

11

00

00

Касса

01

00

11

00

00

00

Отдел сбыта

00

00

00

00

11

01

Отдел МТС

01

00

00

01

11

01

Исследовательский отдел

01

01

00

01

01

01

Обозначения: 00 – запрос доступа, 01 – право читать, 10 – право записи, 11 – право читать и писать      5.2. Механизм представления и система привилегий

Механизм представления используется для скрытия данных. CREATE VIEW <имя> [поля] AS<подзапрос> CREATE VIEW spec 2202 AS SELECT *  FROM STUD  WHERE SPEC=”2202”

Привилегии предоставляются с помощью: оператора GRANT языка SQL GRANT <привилегии> [ON_тип объекта] TO <пользователь>

GRANT SELECT ON TABLE stud TO Данилов GRANT SELECT, UPDATE ON TABLE stud TO Огородников GRANT ALL PRIVILEGES ON TABLE stud, disc, st TO Лаврентьева GRANT SELECT ON TABLE stud TO PUBLIC

Пример 5.3. Предоставление привилегий.

CREATE VIEW prim1 AS SELECT fio, gr FROM stud GRANT SELECT ON prim1 TO Коля, Света

Факультативные возможности GRANT

Пользователь U1 может предоставить привилегии пользователю U2 с возможностями GRANT (путем фразы WITH GRANT OPTION в предложении GRANT)

Далее U2 может в свою очередь предоставить привилегии U3 и т.д.

U1 ->U2 -> U3         WITH GRANT OPTION Пользователь U1 GRANT SELECT ON TABLE STUD TO U2 WITH GRANT OPTION Пользователь U2 GRANT SELECT ON TABLE STUD TO U3 WITH GRANT OPTION Пользователь U3 … Пользователь U4

Отмена полномочий может быть осуществлена оператором REVOKE REVOKE <привилегии> [ON_тип объекта]     FROM <пользователь>

REVOKE SELECT ON TABLE stud    FROM U2

Если пользователь U1 отменит привилегии пользователю U2, то все остальные будут отменены каскадно.