Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Курсовая работа: Захист інформації в інформаційних системах

Название: Захист інформації в інформаційних системах
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Добавлен 10:00:32 27 февраля 2009 Похожие работы
Просмотров: 26 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

МІНІСТЕРСТВО НАУКИ І ОСВІТИ УКРАЇНИ

Одеський національний політехнічний університет

Кафедра комп’ютерних інтелектуальних систем та мереж

ЗАХИСТ ІНФОРМАЦІЇ В ІНФОРМАЦІЙНИХ СИСТЕМАХ

Курсова робота

АМКР.АМ035м.0909


Зміст

Вступ................................................................................................................ 3

Основна частина.............................................................................................. 4

1.Завдання................................................................................................. 4

2.Проектування БДІС............................................................................... 4

3.Реалізація елементів безпеки................................................................. 5

4.Реалізація елементів гарантованості................................................... 10

Заключення.................................................................................................... 16

Перелік літератури........................................................................................ 17


Вступ

Знання критеріїв оцінки інформаційної безпеки здатне допомогти при виборі і комплектуванні апаратно-програмної конфігурації. Крім того, в своїй повсякденній роботі адміністратор безпеки вимушений хоча б до деякої міри повторювати дії сертифікуючих органів, оскільки обслуговувана система швидше за все час від часу зазнає зміни, і потрібно по-перше, оцінювати доцільність модифікацій і їх результату, а, по-друге, відповідним чином коректувати повсякденну практику користування і адміністрування. Якщо знати, на що звертають увагу при сертифікації, можна концентруватися на аналізі критично важливих, аспектів економлячи час і сили і підвищуючи якість захисту.


Основна частина

1. Завдання

Спроектувати базу даних, що відповідає вимогам: політика безпеки, гарантованість, підзвітність, документація. Для варіанту дев’ять база даних призначена для зберігання інформації з предметної області «Банк», а саме

- інформація про рахунки по філіях банку (accounts): номер рахунку, назва філії, що обслуговує рахунок, баланс на рахунку;

- інформація про операції, що виконуються у філії (operations): код, дата, номер кредитного рахунку, номер дебетного рахунку, кошти переводу;

- інформація про філії (branch): назва, адреса, капітал.

2. Проектування БДІС

ER-діаграма бази даних зображена на рис. 1. Сутність Філія (Branch) містить багато Операцій(Operation) і Рахунків(Account).

Рис. 1.

Відповідна схема реляційної моделі зображена на рис. 2.

Рис. 2.

Зв'язок «багато-до-одного» у реляційній моделі виконують проміжні таблиці Рахунки(Accounts) і Операції(Operations).

Приведена реляційна модель реалізується наступними виразами мови SQL:

CREATE TABLE Account (num INT PRIMARY KEY, balance INT NOT NULL, CHECK(balance>=0)).

CREATE TABLE Operation (code INT PRIMARY KEY, dat DATE, credit_num INT, debet_num INT, change INT NOT NULL).

CREATE TABLE Branch (num INT PRIMARY KEY, name VARCHAR(50) NOT NULL UNIQUE, adress VARCHAR(50), capital INT NOT NULL, CHECK(capital>=0)).

CREATE TABLE Operations (branch INT REFERENCES Branch, operation INT REFERENCES Operation).

CREATE TABLE Accounts (branch INT REFERENCES Branch, account INT REFERENCES Account).

3. Реалізація елементів б езпеки

Однією з важливих складових безпеки є розподілення прав доступу між користувачами.

Створимо двох користувачів та одну групу. Для кожного користувача також створимо схему.

CREATE ROLE user1;

CREATE ROLE user2;

CREATE ROLE users NOLOGIN;

GRANT users TO user2;

CREATE SCHEMA schema1;

ALTER SCHEMA schema1 OWNER TO user1;

ALTER SCHEMA schema2 OWNER TO user2;

Надамо деякі права новим користувачам.

GRANT INSERT ON Accounts TO user2;

GRANT SELECT ON Accounts TO users;

GRANT UPDATE ON Operations TO user2.

Більш гнучкішим засобом контролю за доступом до таблиць БД є віртуальна таблиця(view). Нижче приведені SQL-запити для створення віртуальних таблиць для вибору щоденних операцій, рахунків одеської філії банку та операцій з переводами коштів до філії:

CREATE VIEW Today_Operations AS

SELECT * FROM Operation WHERE dat = CURRENT_DATE

CREATE VIEW Odessa_Branch_Accounts AS

SELECT * FROM Account WHERE num IN (SELECT account FROM Accounts WHERE branch IN (SELECT num FROM Branch WHERE name = 'Odessa'))

CREATE VIEW Income_Operations AS

SELECT * FROM Operation WHERE change > 0.

У СКБД “Postgres” для віртуальних таблиць можлива заміна запитів UPDATE, INSERT, DELETEдо цих таблиць на запити користувача.

CREATE RULE Income_Operations_INSERT AS ON INSERT TO schema1.Income_Operations

DO INSTEAD INSERT INTO Income_Operations

SELECT NEW.code, NEW.dat, NEW.credit_num, NEW.debet_num

WHERE NEW.change >0;

CREATE RULE Income_Operations_UPDATE AS ON UPDATE TO schema1.Income_Operations

DO INSTEAD UPDATE Income_Operations SET

code=NEW.code, dat=NEW.dat, credit_num=NEW.credit_num, debet_num=NEW.debet_num

WHERE NEW.change >0;

CREATE RULE Income_Operations_DELETE AS ON DELETE TO schema1.Income_Operations

DO INSTEAD DELETE FROM Income_Operations WHERE NEW.change >0;

CREATE RULE Today_Operations_INSERT AS ON INSERT TO schema1.Today_Operations

DO INSTEAD INSERT INTO Today_Operations

SELECT NEW.code, NEW.dat, NEW.credit_num, NEW.debet_num

WHERE NEW.dat = CURRENT_DATE;

CREATE RULE Today_Operations_UPDATE AS ON UPDATE TO schema1.Today_Operations

DO INSTEAD UPDATE Income_Operations SET

code=NEW.code, dat=NEW.dat, credit_num=NEW.credit_num, debet_num=NEW.debet_num

WHERE NEW.dat = CURRENT_DATE;

CREATE RULE Today_Operations_DELETE AS ON DELETE TO schema1.Today_Operations

DO INSTEAD DELETE FROM Income_Operations WHERE NEW.dat = CURRENT_DATE;

CREATE RULE Odessa_Branch_Accounts_UPDATE AS ON UPDATE TO schema1.Odessa_Branch_Accounts

DO INSTEAD UPDATE Account SET

balance=NEW.balance WHERE NEW.num IN (SELECT account FROM Accounts WHERE branch IN (SELECT num FROM Branch WHERE name = 'Odessa'))

CREATE RULE Odessa_Branch_Accounts_DELETE AS ON DELETE TO schema1.Odessa_Branch_Accounts

DO INSTEAD DELETE FROM Account WHERE NEW.num IN (SELECT account FROM Accounts WHERE branch IN (SELECT num FROM Branch WHERE name = 'Odessa'))

Для організації більш складної системи розмежування прав та введення рівнів секретності треба створити окремі структури даних з цією інформацією та ввести додаткові правила перевірки відповідності рівня користувача запиту рівню доступу до даної таблиці. Таблиця PERSONS містить список усіх користувачів, таблиця ACCESS_LEVELS – рівні доступу, GROUPS_ACCESS_LEVEL – призначені рівні доступу групам користувачів.

CREATE SEQUENCE PERSON_ID;

CREATE TABLE PERSONS (

PERSON_ID INTEGER NOT NULL PRIMARY KEY DEFAULT NEXTVAL('PERSON_ID')

NAME VARCHAR(30)

SEX CHAR(1)

BIRTHDAY DATE

CONSTRAINT VALID_SEX CHECK (SEX IN ('M','W')));

CREATE TABLE ACCESS_LEVELS (

ACCESS_LEVEL_ID INTEGER PRIMARY KEY

ACCESS_LEVELVARCHAR UNIQUE);

INSERT INTO ACCESS_LEVELS VALUES (1,'public');

INSERT INTO ACCESS_LEVELS VALUES (2,'private');

INSERT INTO ACCESS_LEVELS VALUES (3,'secret');

INSERT INTO ACCESS_LEVELS VALUES (4,'top secret');

CREATE TABLE GROUPS_ACCESS_LEVEL (

GROUP_NAME VARCHAR PRIMARY KEY

ACCESS_LEVEL INTEGER REFERENCES

ACCESS_LEVELS(ACCESS_LEVEL_ID));

REVOKE ALL ON GROUPS_ACCESS_LEVEL FROM GROUP USERS;

GRANT SELECT ON GROUPS_ACCESS_LEVEL TO GROUP USERS;

INSERT INTO GROUPS_ACCESS_LEVEL VALUES ('users',2);

ALTER TABLE PERSONS

ADD COLUMN SPOT_CONF INTEGER DEFAULT 1

REFERENCES ACCESS_LEVELS(ACCESS_LEVEL_ID);

CREATE OR REPLACE VIEW PERSONS_LIST AS

SELECT PERSON_ID, NAME, SEX, BIRTHDAY

FROM PG_GROUP G, PG_USER U, PERSONS P

GROUPS_ACCESS_LEVEL L

WHERE

USENAME = CURRENT_USER AND

U.USESYSID = ANY (G.GROLIST) AND

L.GROUP_NAME = G.GRONAME AND

P.SPOT_CONF <= L.ACCESS_LEVEL;

REVOKE ALL ON PERSONS FROM GROUP USERS;

GRANT SELECT ON PERSONS_LIST TO GROUP USERS;

INSERT INTO PERSONS_LIST VALUES (1,'Tkachuk','M','23-02-1986');

UPDATE PERSONS SET SPOT_CONF = 4 WHERE PERSON_ID = 1;

INSERT INTO PERSONS_LIST VALUES (1,'Ivanov','M','15-03-1987');

UPDATE PERSONS SET SPOT_CONF = 1 WHERE PERSON_ID = 2;

DROP RULE PERSONS_LIST_INSERT ON PERSONS_LIST;

CREATE RULE PERSONS_LIST_INSERT AS ON INSERT TO PERSONS_LIST DO INSTEAD

INSERT INTO PERSONS

SELECT CASE WHEN NEW.PERSON_ID IS NULL THEN NEXTVAL('PERSON_ID') ELSE NEW.PERSON_ID END

NEW.NAME, NEW.SEX, NEW.BIRTHDAY, L.ACCESS_LEVEL

FROM PG_GROUP G, PG_USER U, GROUPS_ACCESS_LEVEL L

WHERE

U.USENAME = CURRENT_USER AND

U.USESYSID = ANY (G.GROLIST) AND

L.GROUP_NAME = G.GRONAME;

GRANT INSERT ON PERSONS_LIST TO GROUP USERS;

GRANT SELECT,UPDATE ON PERSON_ID TO GROUP USERS;

DROP RULE PERSONS_LIST_UPDATE ON PERSONS_LIST;

CREATE RULE PERSONS_LIST_UPDATE AS ON UPDATE TO PERSONS_LIST

DO INSTEAD

UPDATE PERSONS SET PERSON_ID = NEW.PERSON_ID

NAME = NEW.NAME, SEX = NEW.SEX, BIRTHDAY = NEW.BIRTHDAY

SPOT_CONF = L.ACCESS_LEVEL

FROM PG_GROUP G, PG_USER U, GROUPS_ACCESS_LEVEL L

WHERE

PERSON_ID = OLD.PERSON_ID AND

SPOT_CONF = L.ACCESS_LEVEL AND

U.USENAME = CURRENT_USER AND

U.USESYSID = ANY (G.GROLIST) AND

L.GROUP_NAME = G.GRONAME;

GRANT UPDATE ON PERSONS_LIST TO GROUP USERS.

4. Реалізація елементів гарантованості

Для створення резервної копії бази даних СКБД Postgres слід виконати команду:

pg_dump my_database –f my_database_15.05.2008.dump

Шифрування дампу виконується за допомогою бібліотеки openssl алгоритмом DES:

openssl enc –e –des-cbc –iv smart_initial_value –k very_good_long_key –in my_database_15.05.2008.dump –out my_database_15.05.2008.dump.arh

Розшифрування архівної копії:

openssl enc –d –des-cbc –iv smart_initial_value –k very_good_long_key –in my_database_15.05.2008.dump.arh –out my_database_15.05.2008.dump

Завантаження інформації з дампу до бази даних:

psql < my_database_15.05.2008.dump

5. Реалізація елементів Підзвітності

a. Забезпечення надійності з’єднання

Для генерації сертифікатів центру сертифікації виконаємо наступну команду:

openssl req –config $SSLDIR$/openssl.cnf –new –x509 –nodes –days 1000 –sha1 rsa:1024 –keyout $SSLDIR$/private/ca.key –out $SSLDIR$/ca.crt –subj ‘/C=UA/ST=OdessaRegion/L=Odessa/O=ONPU/OU=CISN/CN=www.ae035.com.ua’

Для генерації сертифікатів клієнтів виконаємо наступну команду:

openssl req –new –sha1 –newkey rsa:1024 –nodes –keyout server.key –out request.pem –subj ‘/O=ONPU/OU=CISN/CN=www.ae035.com.ua’

І команда підписання сертифікату:

openssl ca –config $SSLDIR$/openssl.cnf –policy policy_anything -noemailDN -out $SSLDIR/requests/signed.pem -infiles $SSLDIR/requests/request.pem

b. Забезпечення журналювання змін

Для забезпечення журналювання змін інформації в таблицях для кожної з них створюється таблиця-журнал та правила для операцій зміни:

CREATE TABLE Account_logs (

USERNAME VARCHAR DEFAULT CURRENT_USER,

OPER_TYPECHAR(1) CHECK (OPER_TYPE IN ('I','U','D')),

OPER_TIMETIMESTAMP DEFAULT NOW(),

num_new INTEGER,

num_old INTEGER,

balance_new INTEGER,

balance_old INTEGER);

CREATE TABLE Operation_logs (

USERNAME VARCHAR DEFAULT CURRENT_USER,

OPER_TYPECHAR(1) CHECK (OPER_TYPE IN ('I','U','D')),

OPER_TIMETIMESTAMP DEFAULT NOW(),

code_new INTEGER,

code_old INTEGER,

dat_new DATE,

dat_old DATE

credit_num_new INTEGER,

credit_num _old INTEGER

debet_num _new INTEGER,

debet_num _old INTEGER

change_new INTEGER,

change _old INTEGER);

CREATE TABLE Branch_logs (

USERNAME VARCHAR DEFAULT CURRENT_USER,

OPER_TYPECHAR(1) CHECK (OPER_TYPE IN ('I','U','D')),

OPER_TIMETIMESTAMP DEFAULT NOW(),

num_new INTEGER,

num_old INTEGER,

name_new VARCHAR(50),

name_old VARCHAR(50),

address_new VARCHAR(50),

address_old VARCHAR(50),

capital_new INTEGER,

capital_old INTEGER);

DROP RULE Account_logs _INSERT ON Account;

CREATE RULE Account_logs _INSERT AS ON INSERT TO Account

DO

INSERT INTO Account_logs

(OPER_TYPE, num_new , balance_new )

VALUES ('I', NEW.num, NEW.balance);

DROP RULE Account_logs _UPDATE ON Account;

CREATE RULE Account_logs _ UPDATE AS ON UPDATE TO Account

DO

INSERT INTO Account_logs

(OPER_TYPE, num_new , balance_new, num_old, balance_old )

VALUES ('U', NEW.num, NEW.balance, OLD.num, OLD.balance);

DROP RULE Account_logs _DELETE ON Account ;

CREATE RULE Account_logs _DELETE AS ON DELETE TO Account

DO

INSERT INTO Account_logs

(OPER_TYPE, num_old , balance _old,)

VALUES ('D', OLD.num, OLD.balance);

DROP RULE Operation_logs _INSERT ON Operation ;

CREATE RULE Operation_logs _INSERT AS ON INSERT TO Operation

DO

INSERT INTO Operation_logs

(OPER_TYPE, code_new , dat_new, credit_num_new, debet_num_new, change_new )

VALUES ('I', NEW.code, NEW.dat, NEW.credit-num, NEW.debet_num, NEW.change);

DROP RULE Operation_logs _UPDATE ON Operation ;

CREATE RULE Account_logs _ UPDATE AS ON UPDATE TO Operation

DO

INSERT INTO Operation_logs

(OPER_TYPE, code_new , dat_new, credit_num_new, debet_num_new, change_new,

code_old, dat_old, credit_num_old, debet_num_old, change_old)

VALUES ('U', NEW.code, NEW.dat, NEW.credit_num, NEW.debet_num, NEW.change,

OLD.code, OLD.dat, OLD.credit_num, OLD.debet_num, OLD.change);

DROP RULE Operation_logs _DELETE ON Operation ;

CREATE RULE Operation_logs _DELETE AS ON DELETE TO Operation

DO

INSERT INTO Operation_logs

(OPER_TYPE, code_old , dat_old, credit_num_old, debet_num_old, change_old )

VALUES ('D', OLD.code, OLD.dat, OLD.credit_num, OLD. debet_num, OLD.change);

DROP RULE Branch_logs _INSERT ON Branch ;

CREATE RULE Account_logs _INSERT AS ON INSERT TO Branch

DO

INSERT INTO Branch_logs

(OPER_TYPE, num_new , name_new, address_new, capital_new )

VALUES ('I', NEW.num, NEW.name, NEW. address, NEW. capital );

DROP RULE Branch_logs _UPDATE ON Branch ;

CREATE RULE Account_logs _ UPDATE AS ON UPDATE TO Branch

DO

INSERT INTO Branch_logs

(OPER_TYPE, num_new , name_new, address_new, capital_new,

num_old , name_ old , address_ old , capital_ old )

VALUES ('U', NEW.num, NEW. name , NEW. address , NEW. capital,

OLD.num, OLD. name , OLD. address , OLD. capital );

DROP RULE Branch_logs _DELETE ON Branch;

CREATE RULE Branch_logs _DELETE AS ON DELETE TO Branch

DO

INSERT INTO Branch_logs

(OPER_TYPE, num_old , name_old, address_old, capital_old )

VALUES ('D', OLD.num, OLD.name, OLD.address, OLD.capital);


Заключення

В даній роботі проведено проектування та реалізація БД у СКБД Postgres. Реалізовані наступні елементи безпеки ІС:

- цілісність даних на рівні таблиць, перевірка їх коректності;

- облік користувачів, груп користувачів та їх прав, рівні секретності, контроль доступу до таблиць;

- організація захищеного з’єднання з СКБД за допомогою протоколу SSL;

- організація журналювання змін таблиць засобами самої СКБД.


Перелік літератури

1. Грабер М. SQL. – М: Лори, 2003. – 642 с.

2. Дейт К. Дж. Введение в системы баз данных. – К: Диалектика, 1998. – 784 с.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений06:47:30 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
19:53:20 28 ноября 2015

Работы, похожие на Курсовая работа: Захист інформації в інформаційних системах

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(150043)
Комментарии (1830)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru