Учебник по национална сигурност

193

Click here to load reader

Upload: maqn

Post on 27-Jul-2015

613 views

Category:

Documents


57 download

TRANSCRIPT

Page 1: Учебник по национална сигурност

ИНФОРМАЦИОННИ СИСТЕМИ И СИГУРНОСТ

Петър Милев, Иван Цонев, Кремен Христов

Учебник за дистанционно обучение

 

ПРЕДГОВОР

 

Информационните технологии навлязоха в много области на човешката дейност. Създадоха се различни информационни системи, предназначени за управление и общо ползване от широк кръг потребители.

Изучаването на дисциплината „Информационни системи и сигурност” е предпоставка за запознаване на студентите от ШУ „Епископ Константин Преславски” с проблемите на изграждането на информационните системи и мерките за защита на информацията.

Учебникът е предназначен за студенти, записани в редовна, задочна и дистанционна форма на обучение по специалност „Национална сигурност”.

Авторите са си поставили задачата чрез настоящия учебник да формират у студентите от тази специалност строг поглед и необходимите знания по проблемите, свързани със създаването и сигурността на информационните системи.

Първата част „Информационни системи” на учебника е разработена от доц. д-р Петър Милев. Втората част „Сигурност и защита на информацията” от доц. д-р Иван Цонев и 4 глава от ас. Кремен Христов.

Като се има предвид динамичното развитие на разглежданата област, авторите нямат претенции за пълнота на разглежданите теми.

1. СЪЩНОСТ НА ИНФОРМАЦИОННИТЕ СИСТЕМИ

1.1. СЪЩНОСТ И АРХИТЕКТУРА НА ИНФОРМАЦИОННИТЕ СИСТЕМИ

 

Научно-техническият прогрес непрекъснато променя структурата на заетостта. През ХХ и началото на XXI век се забелязва устойчива тенденция за увеличаване броя на заетите с информационни дейности. Под информационни дейности се разбира събиране, съхраняване, преработка и предаване на данни за някакъв процес.

Прието е системата за целенасочено събиране, съхраняване, преработка и предаване на информацията да се нарича информационна система (ИС).

Page 2: Учебник по национална сигурност

Естеството на процеса, за който се събира и обработва информацията, също може да конкретизира името на ИС.

Например:

Бизнес информационна система; Управленска информационна система;

Информационно-търсещи системи;

Експертни системи и др.

Фиг. 1.1. Блокова схема на дадена организация

a1, а2 - информация за съхранение

с1, с2 - информация за други системи и указания за действие

в - информация за вземане на решение

d - информация за регулиране на вътрешните взаимоотношения

е - информация за връзка с друга организация

Всеки ръководител, който взема “отговорни” решения при управление на някакъв процес, е принуден да организира своята дейност така, че. да използва информационна система. Всяка организация (предприятие, фирма, обединение и др.) може да се разглежда като съчетание от три взаимно проникващи се системи (подсистеми) (фиг. 1.1).

Системата за решения е предназнзчена завземане на управленски решения в зависимост от определените цели за развитието на организацията. Тук се анализира получената информация и в резултат на това се генерира ново решение. Пример: Да се достави допълнително количество Q от материал X в периодa T.

Оперативната система осъществява някакъв процес в съответствие с предварително определенa цел.

Page 3: Учебник по национална сигурност

Пример: Работникът произвежда детайли, продавачът продава стоки и др.

Информационната система представлява сбор от взаимодействащи елементи, свързани помежду си чрез определенамрежа от връзки. Тя осъществява връзката между останалите две системи и осигурява необходимата информация за изпълнението на възложените й задачи. Тя е катализатор и нервен център на системата като цяло.

Взаимодействието и основните потоци на информационните връзки са показани на фиг. 1.1. Основното внимание е насочено към разглеждане на управленска информационна система (УИС), независимо от предметната област, естеството на решаваните задачи и използваните методи и средства. УИС е една разновидност на ИС.

Фиг. 1.2. Архитектура на УИС

Управленската информационна система е човеко-машинна система, в която рутинните процедури по събиране, първична обработка на данните, фиксирани върху документа, както и тяхното съхранение, обработка и извеждане в максимална степен са алгоритмизирани, програмирани и се изпълняват от компютър.

Архитектурата на УИС (фиг. 1.2) съдържа:

система за събиране на първични документи (данни) за управлявания процес, т.е. организация на документооборота. Голяма част от тази дейност се извършва ръчно;

компютър – служи за приемане, съхраняване, преработка и извеждане на данните;

програмна система, представляваща комплекс от програми, които реализират алгоритмите на всички процедури по приемане, съхраняване, обработка на данните и извеждане на информацията;

Page 4: Учебник по национална сигурност

база от данни (БД) – съвкупност от данни, организирани и съхранявани на външна памет по такъв начин, че да е възможно ефективното им използване от много потребители;

специално подготвени специалисти за обслужване на информационната система са: информатици, математици-информатици. Най-отговорното лице за правилното функциониране на ИС е администраторът на ИС.

Всяка ИС се състои от елементи, които изпълняват следните функции:

запис на входни данни; съхраняване на данни;

обработка на данни;

достъп до данни;

извеждане на данни.

Във връзка с това при разработване на ИС трябва да се отчитат следните фактори:

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

стратегията на “изобразяване” на логическата структура на данните върху физическата структура на паметта на компютъра и начина за управление на свободната памет;

стратегията на достъп до логическата структура на вътрешните и външните носители.

 

1.2. ЖИЗНЕН ЦИКЪЛ НА ИНФОРМАЦИОННИТЕ СИСТЕМИ

Едно от базовите понятия в проектирането на информационните системи е понятието за жизнения цикъл. При жизнения цикъл за разработване на информационна система основните дейности се обособяват в етапи. Структурата на жизнения цикъл, съгласно стандарата ISO/IEC 12207, се базира върху три основни процеса:

основни процеси на жизнения цикъл на разработване на информацмационна система (процес на разработване, експлоатация, съпровождане);

допълнителни процеси, осигуряващи работата на основните процеси (документиране, управление на конфигурирането, осигуряване на качество, тестване, оценка, решаване на проблеми);

организационни процеси (процес на управление на проекта, оценка и подобряване на жизнения цикъл, обучение).

Процесът на разработване се състои от отделни стъпки, във всяка от които се извършва добре дефинирана дейност с оглед постигане целите на проекта.

Page 5: Учебник по национална сигурност

Експлоатацията включва работата по експлоатиране на компонентите на програмното осигуряване, конфигуриране на базата от данни, осигуряване на експлоатационна документация, обучение на персонала и т.н.

Процесът за управление на проекта се занимава с планирането, оценката на необходимите ресурси, създаването на график, неговото спазване и контролиране.

Дейностите на управление на проекта се разделят в три фази:

Първа фаза – Планиране

Управлението на даден проект започва с планиране. Целта е да се разработи план за разработването на информационната система.

Втора фаза – Следене и контрол

Следи се спазването на графика, бюджета на проекта и качеството.

Трета фаза – Анализ на приключването

Тази фаза настъпва след приключването на проекта. Целта е да се осигури информация за процеса на разработване.

При жизнения цикъл за разработване основните дейности се обособяват в етапи или фази. На тази база става възможно управлението и контрола върху тяхното изпълнение.

Най-голямо разпространение са получили следните два основни модела на жизнения цикъл:

каскаден модел;

спираловиден модел.

Каскадният модел е процес, който се управлява от документи, понеже изисква всяка фаза да завършва с определен документ.

Каскадният модел за разработване на програмно осигуряване на информационна система се използва тогава, когато още от самото начало са достатъчно точно и пълно дефинирани всичките изискавания (фиг. 1.3):

Page 6: Учебник по национална сигурност

Фиг. 1.3. Схема за разработване на реален каскаден модел

Спираловидния модел изобразява отделните фази във вид на спирала (фиг. 1.4). Всяка фаза се състои от анализ на риска, основна дейност и проверка. При този модел се засилва вниманието върху ранните етапи на жизнения цикъл: анализ и проектиране.

Фиг. 1.4. Спираловиден модел на жизненния цикъл

 

1.3. РАЗРАБОТВАНЕ НА ИНФОРМАЦИОННА СИСТЕМА

Съшествуват различни методи за разработване на информационни системи:

традиционен подход – формален и последователен процес с ограничено участие на потребителите;

прототипиране – динамично определяне на изискванията чрез прототип;

софтуерни пакети – закупуване или наемане на софтуерни пакети;

възлагане на външен изпълнител – системата се разработва от външна фирма;

разработване от потребителите – създаване на отделни приложения от потребителите.

Най-широко приложение при разработване на ИС намира традиционният подход. Той се реализира със следните етапи:

Първи етап – Проучване и анализ

Основание за проучването и анализа е сключването на договор между възложителя и изпълнителя.

На този етап се анализират проблемите (какво), които организацията трябва да реши чрез информационната система, идентифицират се проблемите в нейната дейност и причините за тях, определят се възможните решения и изискванията към новата система.

Page 7: Учебник по национална сигурност

Втори етап – Проектиране

При проектирането се определя как ще се реализират идентифицираните изисквания. Тази дейност се извършва от екип проектанти. Проектантите разработват цялостен модел на новата информационна система – определят нейните основни компоненти, връзките между тях, използването им от потребителите.

В етапа се извършват следните две основни дейности:

системно проектиране – нарича се още проектиране на високо ниво, целта е идентифицирането на отделните компоненти на системата, връзките помежду им, тяхното взаимодействие;

детайлно проектиране – задава се вътрешната логика на всеки компонент, уточняват се алгоритмите и структурите от данни.

Трети етап – Реализиране

При тази дейност се доставят/разработват необходимият хардуер и софтуер, конфигурира се компютърната мрежа, извършват се интегриране и тестване на системата.

На този етап се построява моделът на реализирането. Построяването на модела на реализирането включва:

генериране на MySQL – приложение, което напълно определя структурата на базата от данни (таблици, индекси и т.н.);

завършване на структурните схеми и диаграми.

Четвърти етап – Внедряване

При внедряването се извършва преход от старата към новата информационна система, включително обучение на персонала за работа с нея, комплектоване на пълна документация, която съдържа информация за функционирането (техническа гледна точка) и използването на системата (гледна точка на потребителите).

Пети етап – Тестване

Основната му функция е да се открият дефектите, получени не само поради грешките в програмирането, но и поради грешките в предишните фази. Затова тестването се извършва на различни нива:

тестване на модул; тестване на интегрирането;

тестване на системата;

тестване пред клиента.

Шести етап – Използване и поддържане

Page 8: Учебник по национална сигурност

На този етап системата се наблюдава от потребители и от специалисти, които я разработват, като целта е да се установи дали тя удовлетворява дефинираните цели и изисквания.

Основно предимство на традиционния подход е, че въвежда ред и дисциплина в един процес, който до голяма степен зависи от личните качества и творчеството на специалистите по разработване на информационни системи.

Същевременно обаче традиционният подход има някои недостатъци, които намаляват неговото значение в съвременните динамични условия. Той е тромав процес, при който трудно се правят промени в първоначално дефинираните изисквания.

 

Ключови думи

Информационна система (ИС), архитектура на управленска информационна система, жизнен цикъл на ИС, модел на жизнения цикъл, етапи за разработване на ИС, проучване и анализ, проектиране, реализиране, внедряване, тестване, използуване и поддържане.

 

 

ЗА САМОПОДГОТОВКА

Въпроси и задачи

1. Какво представлява информационната система?2. Кои са основните елементи на УИС?

3. Каква информация съдържа БД?

4. Кои са основните принципи за изграждане не БД?

 

2. БАЗИ ОТ ДАННИ

2.1. ОСНОВНИ ПОНЯТИЯ

 

Базата от данни (БД) е част от управленската информационна система и е нейна информационна база. Като такава тя осигурява в информационно отношение определен кръг потребители. БД се изгражда за определена предметна област (реална действителност, състояща се от множество обекти, заедно с

Page 9: Учебник по национална сигурност

техните свойства и взаимоотношения).

Понятието база от данни (БД) се появява за първи път във връзка с компютърната обработка на данните през 1963 г. Фирмата SDC (System Development Corporation) организира симпозиум на тема “Разработка и използване на машинноуправляеми бази от данни”. Основополагащи са идеите на Чарлз Бахман, отразени в две публикации през 1964 и 1965 г.

В периода 1965-1975 г. група от специалисти се обединяват в асоциация по езици за системи за обработка на данни с краткото име CODASYL (Conference on Data System Language). Те развиват концепцията за изграждане на система за управление на бази от данни (СУБД). За разлика от ИС, СУБД е инструментално средство, с помощта на което се изгражда ИС.

Когато говорим за БД, не можем да не посочим името на Е. Код, който през 1970 г. създава релационния модел на БД.

Преди да разгледаме въпроса “Какво представлява базата от данни?”, е необходимо да се разгледат редица основни понятия.

Източници на данни – данните са факти, на които се базират логически изводи. Те са ядрото на всяка информационна система. Източниците на данни са първични документи, съхранявани и обработвани във фирми, банки, предприятия в сферата на обслужването, университетите, болниците, складовете и др. Пример: банка - разходни и приходни отчети.

Предметна област – тя е част от реалния свят, за която се съхраняват данни. Различаваме пълна предметна област и организационна единица от тази предметна област, която, от своя страна, има своя подобласт. Пример: автомобилна фирма – цех – лаборатория.

Обект – това е предмет, същество, събитие, за което са записани данни. Известни са материални и нематериални обекти. Всеки обект притежава свойства, които го характеризират и отличават от останалите. Пример: книги, сгради, автомобили, събития и др.

Клас от обекти – прието е множеството от еднотипни обекти да се нарича клас от обекти. С класовете се моделират множества от същности на различни предметни области. Пример: клас-лични автомобили, клас-служители и др.

Атрибути (елементи на данните) – те са основни характеристики на класовете от обекти. Всеки атрибут е величина, която е определена от име и множество от допустими стойности. Атрибутите са елементи на БД, наречени още информационни единици – полета. Пример: обект – клиентът на банка има идентификационен номер, фамилия, адрес и др.

Значения на данните (стойности на данните) – това са действителните стойности, съдържащи се за всеки атрибут. Стойностите на данните зависят

Page 10: Учебник по национална сигурност

от областта на атрибута (дефинираното поле). Пример: обект – клиент на банката има идентификационен номер – 423456, фамилия – Иванов, адрес – Шумен, ул. “Омуртаг” 20, разход 500 и др.

Ключов елемент на данните – ключът е елемент на данните, чрез който може да се определят други елементи на данните. Всеки клас от обекти има поне един ключ. Той еднозначно идентифицира даден обект от класа. Пример: ако се знае идентификационният номер на клиента на банката – 423456, може лесно да се определят фамилията му – доц. Петров, адресът му – Шумен, ул. “Преслав” 20, и разходът 250.30.

Запис на данните – всеки запис на данни описва един информационен обект. Записът се състои от едно или повече полета (елементарни информационни единици, подредени в логическа последователност, описващи характеристиките на обекта). Той е съвкупност от значенията на елементите на данните по реда в дадена таблица. Съдържа ключ и данни за обекта.

Файл от данни – представлява подредена съвкупност от записи на обекти от един и същ клас. Използва се за съхраняване на еднотипни данни във външната памет. Файлът в базата от данни е набор от свързани записи от един тип. Всеки запис във файла е набор от едни и същи елементи на данните, чиито стойности са различни. Пример за файл – лични автомобили със записи е показан на таблица 2.1.

Таблица 2.1. Клас лични автомобили

Регистрационен номер

Собственик Година на производство

Цена

С 52 15

Н 6420

Н 9885

Георги Иванов

Тодор Петров

Валентина Георгиева

1990

1992

2000

6500

8200

4300

Програмна среда за файла от данни – тя се използва за обработката на данните във файловете. Пример: Програма за кадрите.

Page 11: Учебник по национална сигурност

Фиг. 2.1. Неинтегрирана съвкупност от данни

Първоначално са се разработвали програми, обслужващи отделните файлове, а по-късно се създаваха универсални програми. От фиг. 2.1 се вижда, че всеки отдел има компютърна система и поддържа по един файл с данни.

Виждаме, че немалко от полетата на всеки файл се съдържат и в други файлове (пример: служебен номер, име, отдел, длъжност).

Това води до разходи при въвеждане на данните (пример: служебен номер, име, отдел, длъжност се въвеждат няколко пъти). Промяната на данните на един служител води до неколкократни промени в отделните файлове. Нарушена е целостността на данните.

За отстраняване на тези слабости в работата на посочените системи е необходимо да се създаде единен архив от данни – интегрирана съвкупност от данни – и същият да се управлява централизирано.

Файл “Кадри” Файл ”Заплати”

Файл ”Проект” Файл “Командировки”

а) служебен номер а) служебен номер

1. Задача а) служебен номер

б) име б) име а) номер б) име

в) отдел в) отдел б) наименование в) отдел

г) длъжност г) длъжност 2. Ръководител г) вид командировка

Page 12: Учебник по национална сигурност

д) дата на постъпване

д) трудов стаж а) служ. номер д) място на командировки

е) образование е) основна заплата

б) име е) брой дни

ж) специалност ж) сем. положение

в) отдел ж) задача

    г) длъжност  

    3. Срок  

    а) започване  

    б) завършване  

Така се стига до идеята за интеграция на данните в БД.

Данните са систематизирана информация, представена във вид на последователност от символи и предназначена за обработка от компютър. Понятието данни е тясно свързано с понятието величини. Величините са основно средство за изразяване на различните характеристики и свойства на предметите и явленията от реалния свят. Данните са стойности на тези величини. Те са организирани в структури от данни и са от определен тип. Всяка база от данни е предметно ориентирана и съдържа данни за определена предметна област. Трудно е да се даде кратка и точна дефиниция на понятието база от данни.

Първо определение за БД – БД е съвкупност от файлове. Файлът е съвкупност от записи. Записът се състои от един или няколко ключа и информационна част (данни).

Това определение съвпада с определението за файлова система. Става дума за това, че БД трябва да се изгражда не като файлова система, а като интегрирана съвкупност от данни.

Page 13: Учебник по национална сигурност

Фиг. 2.2. Интегрирана съвкупност от данни

Това свойство на БД има дълбок смисъл, с който се изразява преди всичко начинът за използване и управление на БД. Това, че БД е интегрирана съвкупност от данни, означава, че тя съдържа данни за различни потребители. Промените на общите данни автоматически се отчитат и в останалите отдели, посочени на фиг. 2.2. Базата данни съдържа информация, организирана, съхранявана и управлявана по определен начин в интерес на всички потребители. Докато управлението на файловете се извършва от файловата система, то управлението на интегрираната БД се осъществява централизирано от системата за управление на базата данни.

СУБД е програмна система, която създава, обновява, подрежда и модифицира данните (фиг. 2.3).

Фиг. 2.3. Схема за управление на БД чрез СУБД

Второ определение за БД [1,2,6]. Базата от данни представлява структурирана съвкупност от свързани данни за конкретна предметна област. Тя е динамична и постоянно развиваща се съвкупност, която се управлява от СУБД.

Администратор на БД – той е специалист, който работи с данните в системата. Той отчита различните искания и разрешава конфликтите. Координира действията по събиране на сведения, проектиране, реализация, внедряване и защита на БД.

Page 14: Учебник по национална сигурност

 

2.2. СВОЙСТВА НА БАЗАТА ОТ ДАННИ

БД се характеризира с две основни свойства:

независимост на данните в БД; минимално излишество на данните в БД.

Преди да разгледаме какво представлява независимостта на данните, нека да анализираме следния пример. Да предположим, че в приложните програми Р1 и Р2 стойностите на полето “служебен номер” е различно, т.е. в Р1 е цяло неотрицателно число, а в Р2 полето е описано със знаков низ. При обединяване на данните в един архив, ще възникне противоречие, което е породено от зависимостта на програмите от типа на полето “служебен номер”. Начините за преодоляване на това противоречие е да се извършат промени в програмите Р1 и Р2. Този подход не е ефективен, защото това е свързано с допълнителни разходи на средства, и при нови промени отново ще се наложи промяна в програмите. За да се реши този проблем, е необходимо да съществува независимост между данни и програми.

Независимостта между програми и данни трябва да бъде двустранна. Това означава, че измененията, свързани с организацията на данните, не трябва да водят до изменения в приложните програми и обратно, измененията в приложните програми, отнасящи се до описанието на данните, които се използват, не трябва да се отразяват върху начина за съхранение на данните в БД. Съществува различна степен на независимост между данни и програми. Ще покажем това с един пример [1].

Ако се интересувате от най-новата книга по въпросите на БД в библиотеката, можете да я намерите по няколко начина. Ето пет от тях, при които се правят различни заявки към библиотекарката:

Моля, дайте ми последната постъпила книга по БД!

Моля, дайте ми книгата БД от П. Азълов.

Моля, дайте ми книгата БД от П. Азълов със сигнатурен номер 205СХ.

Моля, дайте ми книгата БД от П. Азълов от книгохранилището в 8-ми шкаф, 3-ти рафт, 10-тата отляво. Сам отивате и вземате книгата.

Всеки вариант на заявката съдържа различна информация за желаната книга.

Както се вижда от примера, в първата заявка читателят изобщо не познава наличните книги в библиотеката и начина, по който те се съхраняват в книгохранилището. Всеки от следващите случаи задължава читателя да има повече информация за търсената книга. Забелязваме, че първите две заявки са

Page 15: Учебник по национална сигурност

независими от физическото разположение на книгите в книгохранилището.

Сходството между БД и книгохранилище, от една страна, и СУБД и библиотекарка, от друга, е твърде голямо. Разликата е, че БД се управлява от СУБД, а книгохранилището се обслужва от библиотекарка (фиг. 2.4).

Фиг. 2.4.

Ако вместо заявка имаме програма в СУБД, търсенето на книгата може да стане по следния алгоритъм:

1) Въвеждаме данните, които търсим. Пример: номер на книгата.

2) Операция 1 + име на файл.

3) Операция 2 + адрес.

4) Операция 3 + метод на достъп.

5) Операция 4 + организация на файла.

В зависимост от степента на независимост на данните, осигурявана от СУБД, приложената програма може да получи необходимите данни при първия случай само по тяхното име, а в другите случаи е необходимо да се посочат: име на файл, адрес на данните, метод на достъп и др. При пълната физическа зависимост на данните е задължително познаването на физическата структура на записите в съответните файлове, което е доста неприятно. Казаното по-горе илюстрира ползата от наличие на независимост на данните. Когато става дума за осъществяване на независимост на данните, трябва да се имат предвид следните два аспекта.

Първият аспект се отнася до разглеждане на данните като обекти, с които се извършват определени операции, без да се интересуваме от тяхната природа, начина на организация и съхранение във външната памет. Той се отнася до логическата и физическата независимост на данните.

Прилогическа независимост на данните не е нужно програмите да се променят при евентуална реорганизация на физическото съхраняване на данните.

При физическа независимост на данните едни и същи данни могат да бъдат използвани от различни програми или от една програма, в която има някакви промени.

Page 16: Учебник по национална сигурност

Във връзка с това съществуват две нива на представяне на данните (фиг. 2.5):

логическо описание на данните (логическо ниво);

физическо представяне на данните (физическо ниво).

При логическото описание на данните не се интересуваме от природата и начина на съхраняване във външната памет. Това са потребителските програми, изградени по представата на програмиста. При физическото описание на данните се определя начинът на физическото им съхраняване върху външен носител.

Фиг. 2.5. Нива на представяне на данни

Тези две нива се различават съществено, с цел да се установи известна степен на независимост на данните.

Вторият аспект се отнася до осъществяването на по-голяма ефективност при съхраняването и търсенето на данните. Приемаме че БД е съвкупност от логически файлове на отделни потребители, както и че БД е съвкупност от файлове с данни, съхранявани във външната памет. Двете нива съответстват на две организации на БД - логическа и физическа БД (фиг. 2.6). Важното е това, че както логическата БД, така и физическата БД могат да се променят, без това да се отразява от едната върху другата. За да се осигури независимостта на логически и физически организираната БД, се въвежда междинно ниво на представяне на данните. То е известно под името концептуална схема или схема на БД. Тя представлява глобално логическо описание на БД и съдържа имена на обекти, описания на някои техни характеристики, както и отношения, които съществуват между тях. Тази схема се създава и поддържа от администратора на БД.

Page 17: Учебник по национална сигурност

Фиг. 2.6. Организация на БД

При наличие на схема на БД промените, извършени в логическата БД (логически файлове), дават отражение в схемата на БД, но не се отразяват върху съхранението на данните във физическата БД, нито в другите приложни програми.

Обратно, измененията в начина на съхранението на данните във физическата БД няма да предизвикат изменение в логическите файлове (фиг. 2.6).

По отношение независимостта на данните съществена роля играе СУБД (фиг. 2.7).

Фиг. 2.7. Връзка между логически и физически БД

Минимално излишество от данни – когато са налице няколко обекта, които използват еднакви данни (полета), то тогава се налага да се премахне дублирането на данните или това дублиране да е минимално.

Принципът на минималното излишество гласи: данните се дублират само там, където е оправдано от целите. Този принцип определя бързината и производителността на системата.

Трето заключително определение за БД [1,3,7]. БД е интегрирана съвкупност от взаимно свързани данни, съхранявана на външни носители, съдържаща минимално излишество от повтарящи се данни.

Организацията на данните е такава, че дава възможност да се създават

Page 18: Учебник по национална сигурност

разнообразни приложения и предоставя възможност за независимост на данните от програмите, които ги използват. За управление на данните се използва унифициран метод на достъп. Това става чрез СУБД.

 

2.3. АДМИНИСТРАТОР НА БД (АБД)

АБД е един от групата специалисти, които проектират и обслужват БД (фиг. 2.8).

Основни задължения на АБД:

Определя информационното съдържание на БД; Определя структурите на съхранение и стратегиите за достъп до данните;

Взаимодейства с потребителите и определя техните права за достъп;

Определя стратегията за дублиране и възстановяване на данните;

Осигурява ефективна работа за всяко приложение.

Фиг. 2.8. Място на АБД в УИС

АБД разполага със:

програма за първоначално създаване на първата (нулева) версия на БД; програма за реализация на данните;

програма за възстановяване на данните;

програма за анализ и статистика на използване на данните;

речник на данните - това е описание на данните, съхранявани в БД. Речникът се използва за документиране на данните. Тук се съдържа

Page 19: Учебник по национална сигурност

информация за източниците, форматите, връзката между данните, сведения за характера на използване и разпределение. Речникът представлява “данни за данните” и ръководство за БД.

 

Ключови думи

База от данни (БД), интегрирана съвкупност от данни, схема за управление на БД, независимост на данни, минимално излишество, концептуална схема, външна схема, вътрешна схема, администратор на БД.

 

 

ЗА САМОПОДГОТОВКА

Въпроси и задачи

1. Кои са основните понятия свързани с базата данни?2. Кои са свойствата на базата данни?

3. Дайте определения за базата от данни!

4. Кои са основните етапи от развитието на БД?

5. Кои са езиците за работа с БД?

6. Какви са основните задължения на АБД?

3. СИСТЕМА ЗА УПРАВЛЕНИЕ НА БАЗА ОТ ДАННИ3.1. СЪЩНОСТ НА СУБД. ИЗИСКВАНИЯ СУБД е програмна система, предназначена да създава и управлява данните, организирани в БД. Тук под управление се разбира търсене, обработка и актуализация на данните. Чрез СУБД се добавят, изменят и извличат данни от БД. Всяка СУБД е надстройка на операционната система (ОС). Тя е пряко свързана с ОС и всички елементи на тристепенно описание на данните (външна схема, концептуална схема, вътрешна схема) (фиг. 3.1). СУБД е връзката между потребителските програми и ОС, от една страна, и ОС и БД, от друга. Тя осигурява възможността голяма група от хора да използват интегрирана съвкупност от данни, свързани в сложна структура.СУБДосигурява на потребителите и техните програми такава представа за данните, която е удобна за тях, независимо че фактическите данни се съхраняват във външната памет на компютъра в специална машинна форма.

Page 20: Учебник по национална сигурност

Фиг. 3.1.Изисквания към СУБД:

да разделя описанието на данните от тяхната обработка; да осигури логическа и физическа независимост;

да осигури минимално излишество на данни в БД;

да има удобен потребителски интерфейс;

да осигури ефективна обработка на заявките;

да осигури цялостност и защита на данните в БД.

Независимо от различията и особеностите на множеството СУБД, всяка от тях съдържа следните компоненти с приложен характер:

резидентен модул - главна програма, която винаги се намира в ОП и е посредник между потребителя и данните в БД. Този модул комуникира с потребителя в диалогов или програмен режим. Той използва други модули, които записват данните в запомняща среда на специфичен за СУБД начин, наречен физически модел (организация) на данните. Пример: Модули DBASE, SQL и др.;

език за описание на данните (ЕОД) – чрез операторите на ЕОД се специфицират отношенията, имената на атрибутите и данните на атрибутите. В някои СУБД схемата на БД (съвкупност от отношения) се записва в отделен файл и достъпът до данните се осъществява, след като резидентният модул прочете в ОП схемата на БД. По такъв начин чрез резидентния модул тя се ориентира в конкретната БД;

език за манипулиране с данните (ЕМД) – той предоставя средства (оператори) за извършване на операции с данните. Най-често той е подобен

Page 21: Учебник по национална сигурност

на някой от алгоритмичните езици. На този език се пишат програмите за обновяване, обработка на данните и получаване на справки. Програмите нямат непосредствен достъп до данните. Те се обръщат към (извикват) резидентния модул, за да се извърши търсене, добавяне, обработка, изтриване на данни от БД. Много често ЕОД и ЕМД са обединени в едно;

генератори на отчети – отчетите са таблици, които се получават от БД след обработка на данните. Те са специфицирани. Към СУБД има специални езици, които се различават от традиционните и се използват за “запитване” от потребители непрограмисти;

средства за защита на данните от несанкциониран достъп – това са системи от пароли, които се проверяват от резидентния модул при заявка от потребителя в диалогов или програмен режим. Разрешава се достъп само на регистрирани в системата потребители;

средства за осигуряване на едновременен достъп на много потребители до данните в БД – разрешава се използване на едни и същи данни от служители, които решават различни задачи;

средства за възприемане на данни от файлове, създадени от други приложни програми, както и за създаване на данни предназначени за други програми.

Типична операция за всяка СУБД е търсенето и извличането на данни. Последователността от действия, изпълнявани при четене на данни от БД, е показана на следващата схема.

Фиг. 3.2. Функционална схема за изпълнение на потребителска заявкаФункционалната схема за изпълнение на заявка има вида, показан на фиг. 3.2. В нея от 1 до 10 са номерирани операции, както следва:1. Потребителят се идентифицира пред СУБД. Тя определя правилата за достъп в зависимост от клиента. Приложната програма А се обръща към СУБД, като задава името на подсхемата, кода на потребителя и условието, на което трябва да отговаря търсеният запис.2. От подсхемата СУБД се “информира” за логическата структура на записа, който се търси. Тук се указват условията на търсене.3. От схемата на БД СУБД прави съответствие между обектите на подсхемата и схемата. Един логически запис от подсхемата може да е изобразен чрез един или

Page 22: Учебник по национална сигурност

няколко записа в схемата. Това е необходимо с оглед ефективната работа на всички приложни програми. Типът на отделните полета от логическия запис на подсхемата може да не съвпада със записите от схемата.

Схема на БД        

Фак. № име специалност курс група успех

         

4. От физическото описание (вътрешната схема) СУБД локализира файловете, в които ще се търсят необходимите записи. Вземат се имената на файловете, до които трябва да се осигури достъп.

Запис 1 Запис 3 Запис 4 Запис 2  

5. СУБД се обръща към операционната система (ОС) със заявка за извличане на данни. ОС е подготвена да търси данните.6. ОС активира съответното програмно осигуряване, с което се извършва достъп до данни от БД. Прави се достъп до физическата БД. Локализира се къде се намират данните и същите се вземат.7. Данните се прехвърлят от физическата БД в буфер на системата – част от оперативната памет (ОП).8. Под управление на СУБД се извършва комплектоването на данните според изискванията на приложната програма.9. След завършване на комплектоването на записа той се прехвърля в буфера (работна област) на приложната програма. Данните се предоставят на потребителя в желаната комплектовка.10. СУБД съобщава на потребителя за начина, по който е завършила операцията. Чрез кода на резултата се указва как е завършила програмата. В живота се използват стотици СУБД. В зависимост от моделите на БД, които ще бъдат разгледани в следващата глава, се различават:

мрежови СУБД. Пример: DBMS на фирмата DEC; йерархични СУБД. Пример: IMS/VS на фирмата IBM;

релационни СУБД. Пример: SYSTEM R, ORACLE, ACCESS и др.

Най-голямо приложение имат системите за управление на релационните бази от данни. 3.2. РЕЛАЦИОННИ СИСТЕМИ ЗА УПРАВЛЕНИЕ НА БДСъвременните СУБД се появиха като необходимост от програмен инструмент за повишаване производителността на програмния труд при проектиране и разработване на системи за обработка на информация, както и за повишаване ролята на крайния потребител в създаването, модифицирането, съпровождането и експлоатацията на конкретни програмни системи. По мнението на много специалисти [1, 2, 11] изискванията към всяка СУБД в най-голяма степен се

Page 23: Учебник по национална сигурност

удовлетворяват от СУБД, използващи релационния модел на данните. Тези системи се наричат системи за управление на релационни бази от данни или накратко СУРБД.Основните предимства на СУРБД, изградени на основата на релационния модел на данни [1, 2, 11], са:

простота – изразява се в хомогенността на логическото представяне на данните и на връзките между тях;

независимост на данните - релационните схеми и релационните езици са независими от методите за представяне на данните и от методите на достъп до тях;

възможност за оптимизация за заявки;

интерфейс от високо ниво – чрез непроцедурни релационни езици крайният потребител има възможност да описва заявките си към БД;

възможност за ефективно физическо представяне и търсене;

работа с виртуални обекти – на базата на дефинирани релации потребителят има възможност да дефинира виртуални, физически несъществуващи релации;

възможност за разпределена обработка;

строга теоретична основа – основава се на математическото понятие n - членната релация, теорията на множествата и предикатното смятане от първи ред.

Най-пълно релационните системи са описани в [1, 2, 3, 6, 7, 10]. Тук са подбрани три релационни системи, които с разнообразието на езиковите средства отразяват по различен начин релационния подход.1. Система ORACLEORACLE е напълно релационна система и е разработена от фирмата Relational Software Inc. Началната й версия е от 1978 г. Езикът, използван в системата, е SQL и с него може да се работи или директно, или чрез програми на PASCAL, C, PL/1, COBOL, FORTRAN, в които се включват обръщения към SQL. ORACLE се използва за микрокомпютри и за големи компютри под управлението на различни операционни системи. Към системата е създаден генератор на отчети с възможности за:

разработка на интерактивни приложения; извеждане на отчети;

редактиране на текстове.

ORACLE разполага с развити възможности за дефиниране и обработка на виртуални таблици, както и за осигуряване целостността на данните в БД. Това е една от най-съвременните СУРБД.

Page 24: Учебник по национална сигурност

2. Система QUERY-BY-EXAMPLE (заявка чрез пример)QUERY-BY-EXAMPLE (QBE) е релационна система, разработена през 1978 г. в лабораторията на фирма IBM, САЩ. Разширената версия на тази система се нарича OBE (Office procedures By Example).Освен директно, потребителят може да взаимодейства със системата посредством програми, съставяни на PL/1 или APL, в които е допустимо обръщение към QBE. Системата допуска и следните възможности:

дефиниране на ограничения за цялостност; генериране на нова БД и реорганизиране на съществуваща БД;

генератор на изходи;

създаване на индекси, инвестиране на колонки.

Системата поддържа в каталога четири вида системни таблици с имена TABLE, DOMAIN, PROGRAM и AUTHORITI. Последните две таблици съдържат съответно имена на програми или заявки към БД и правата на достъп за отделни потребители.3. Система ACCESSMicrosoft ACCESS е система за управление на база данни, която работи под управлението на WINDOWS и предоставя на потребителя следните възможности:

изграждане, актуализация и работа с таблици; създаване на формуляри, отчети, заявки;

създаване на програми и макроси и др.

ACCESS предоставя на потребителя шест обекта за избор: Table (таблица), Query (заявка), Form (формуляр), Report (отчет), Module (модул) и Macro (макрос).Основните функции на системата са селекция, проекция и релациониране (свързване на данни от две и повече таблици). Ключови думиПодсхема на програма, схема на БД, вътрешна схема, резидентен модул, език за описание на данни, език за манипулиране с данни, генератор на отчети, достъп до данни.  ЗА САМОПОДГОТОВКАВъпроси и задачи

1. Какво представлява СУБД?2. Кои са компонентите на СУБД?

3. Начертайте и обяснете функционалната схема за изпълнение на потребителска заявка!

4. Какви релационни системи за управление на бази данни познавате?

Page 25: Учебник по национална сигурност

4. МОДЕЛИ НА ДАННИ4.1. ОСНОВНИ ПОНЯТИЯ  Моделите на данни са начин за изобразяване на предметната област. Със средствата на моделите на данни (МД) се създават модели на определена предметна област с ограничен брой обекти, за които се съхраняват и обработват данни с компютри. МД се състоят от множество генериращи правила и операции. МД се състоят от същности и връзки между тях. Същност - абстракция за реално съществуващи обекти, процеси и явления, за които е необходимо да се съхрани информация в БД. Обектите се характеризират със свойства, наречени атрибути. Връзки - средства, чрез които се представят отношения между същности. В тази връзка при моделиране на данни най-често се използва моделът на реалния свят “обекти - връзки” [1, 3].МД се използват за генериране на схеми на БД. Всяка схема на БД е модел на класа от обекти. Понятието МД е в пряко отношение с понятието БД. Организацията на данните във всяка БД е една от най-важните характеристики и тя е в пряка връзка с използвания модел. Избора на един или друг МД зависи от обектите, подлежащи за моделиране [1]. Основните етапи при моделиране на БД са:

определяне на предметната област за моделиране; избор на класовете от обекти;

определяне на набора от атрибути на съответните обекти;

определяне на отношенията и връзките между тях;

определяне на ключа на класа от обекти.

Примери:1. Клас от обекти “служащ”:- на класа: служебен номер, адрес, дата на раждане, образование, специалност, заплата;- ключ на класа “служащ” е атрибутът служебен номер.2. Таблица 4.1 е един възможен модел на класа от обекти “Оператори”, описан с шест атрибута и ключ - служител №#.Таблица 4.1. Оператори

Служител № #

Име Цех Семейно

положение Длъжност

Дата на постъпване

312 Иван

Петров 05 1 Стругар 01.06.1999

512 Петя 08 0 Леяр 02.07.1999

Page 26: Учебник по национална сигурност

Иванова

612 Стефан Колев

05 1 Стругар 05.08.1999

Изводи:

моделът на данни е съвкупност от изразни средства за логическо проектиране на БД при зададена предметна област;

логическо проектиране на БД означава извличане на информация за предметната област, необходима за изграждане на БД;

моделират се самите данни и връзките между тях.

 4.2. ВИДОВЕ МОДЕЛИ НА ДАННИ. АРХИТЕКТУРА НА МОДЕЛИТЕ НА ДАННИ Видът на представяне на връзките между класовете от обекти дава облика на използвания модел. Връзките между тях могат да се представят схематично чрез граф, дърво или таблица - фиг. 4.1 а,б,в.Известни са три вида модели на данни:

в)

Фиш  

 

№ книга # № читател # Дата

   

Читател    

Page 27: Учебник по национална сигурност

№ читател # Име на читател Адрес

   

№ книга # Заглавие Автор Издание

     

Фиг. 4.1. Връзка между обектите в моделите на данни 4.3. МРЕЖОВ МОДЕЛ НА ДАННИМрежовият модел на данни (ММД) се представя като ориентиран граф. Графически върховете на графа се изразяват с правоъгълници, а връзките между тях със стрелки (фиг. 4.2).

Фиг. 4.2. Архитектура на мрежов модел на данниПример: Обекти - пациент и хирург (фиг.4.3).

Фиг. 4.3.Върховете на графа представляват класове от обекти (набор от обекти), а дъгите - връзките между тях. Всеки клас или обект в модела може да изпълнява ролята на главен или подчинен. Това означава, че определен обект може да участва във всякакви взаимовръзки. Например: един пациент може да бъде опериран от няколко хирурзи и обратно, един хирург може да оперира няколко пациенти. Между пациента и хирурга съществува взаимовръзка “много към много”. В моделите на CODASYL тази връзка се декомпозира на две връзки на типа “един към много” (1:М) и “много към един“ (М:1) с въвеждане на междинен обект за връзка “операция” (фиг. 4.4).

Фиг. 4.4.

Page 28: Учебник по национална сигурност

В мрежовия модел на данни за представяне на обектите и връзките между тях се използват два основни компонента.

тип на записа;

тип на връзката.

Типът на записите (RECORD TYPE) е наредена последователност от полета, описващи свойствата на обектите.Типът на връзките (SET TYPE) се използва за установяване на връзките между класовете от обекти или между обектите от един клас.Структурната диаграма представлява логическо описание на модела. При мрежовия модел на данни с въвеждането на допълнителни нива (обекти) и връзки се променя структурната диаграма на същия.На фиг. 4.5 е показана нов вид структурна диаграма на ММД, която може да се възприеме като релационна структура, удобна за практическа реализация. При нея обектите се представят като таблици със записи.Както беше посочено по-горе, върховете на графа при мрежовия модел на данни представляват набор от обекти, представени чрез типове логически записи. Полетата на записите характеризират всеки обект. Ако някакъв обект се определя чрез връзка с друг обект, то във формата на неговия запис се добавя още едно поле, в което се поставя пореден номер в набора от обекти. Този номер ще идентифицира еднозначно всеки негов обект. При мрежовия модел са възможни следните връзки между обектите:

Преимущества на мрежовия модел са:

осигурява бързо и лесно моделиране; реализира връзката M:N;

осигурява добро управление на БД.

Недостатъци на мрежовия модел са:

Page 29: Учебник по национална сигурност

сложен от програмна гледна точка;

води до загуба на независимост на данните при реорганизация на БД.

 4.4. ЙЕРАРХИЧЕН МОДЕЛ НА ДАННИЙерархичният модел на данни има дървовидна структура.Тя се състои от върхове и клонове (фиг. 4.6).

Фиг. 4.6. Архитектура на йерархичен моделНай горният връх в йерархичното дърво се нарича корен. Зависимите възли се разполагат на по-ниски нива. Има предшестващ и следващ възел (без корена). Възлите представляват класове от обекти, които образуват естествена йерархия. Между главните и подчинените обекти се установява връзка “един към много” (1:М).В йерархичните модели на данни се налагат силни ограничения на връзките между класовете от обекти:

връзките са функционални (в една посока) и не са именувани;

структурната диаграма на БД представлява подредено дърво, в което е от значение наредбата на отделните дървета.

Структурната диаграма на йерархичния модел на данни се нарича още дефиниционно дърво. Всеки връх в структурната диаграма (фиг. 4.7) е тип запис. Коренът на дефиниционното дърво е запис, който не е породен от друг запис. С наличната функционална връзка между отделните записи се изразява съответствието между изходен и породен запис.

Page 30: Учебник по национална сигурност

Фиг. 4.7. Йерархична БДПри йерархичния модел на данни полетата в записа са така подредени, че от една обособена група от полета едното винаги е главно, а останалите подчинени. Различните групи от записи са разположени последователно и данните могат да се извличат само чрез преминаване през всички нива по пътя, определен от главните полета.Например данните за един университет и неговите подразделения при този модел се структурират по следния начин: на най-високо ниво в йерархията се намират общите данни за университета и указателите към данните за звената на следващо ниво. На следващите нива се намират съответно данните за факултети, катедри, преподаватели и така нататък.За да се извлекат данни за определен преподавател от йерархичната БД, трябва да се премине последователно през всички предшестващи нива. Пътят, по който трябва да се премине, зависи от нивото, на което се намират търсените данни. Класовете от обекти в йерархичното дърво се наричат сегменти, а връзките между класовете се представят с дървовидна структура.Преимуществата на йерархичния модел са:

простота при онагледяване, разбиране и използване; осигурява висока независимост на данните;

реализира бърз достъп до данните.

Недостатъците на йерархичния модел са:

достъпът до всеки следващ възел става само чрез предшестващ. За целта се съхранява много излишна служебна информация;

усложнена операция включване и изключване на обекти;

трудно се реализира връзка “много към много”.

 4.5. РЕЛАЦИОНЕН МОДЕЛ НА ДАННИРелационният модел се основава на математическата теория на отношенията. Този модел е следствие от теорията, а не от практическия опит. Релационният модел се изразява чрез таблица. Всяка таблица представлява един клас от обекти. Връзките между класовете от обекти също се представят чрез таблици. Тези таблици се наричат релационни (таблици на отношенията). Всяка таблица се състои от колони (полета) и редове (записи). Един стълб от таблицата съдържа конкретен атрибут и съответства на едно поле. Множеството от значения, които приема атрибутът, се наричат домени. Всеки ред от таблицата съдържа данни за един обект и съответствува на един запис. Съвкупността от значения на домените в един ред се нарича още кортеж. В релационния модел полетата от записа не се разделят на главни и подчинени и достъпът до всяко поле не зависи от другите полета. Релационният модел представлява множество от таблици (табл.4.2, 4.3, 4.4).

№ Пациент # Име Адрес № на патент на хирурга #

Име

Page 31: Учебник по национална сигурност

1111 Гугов Преслав 8 145 д-р Иванов

1181 Колев Лале 5 123 д-р Петрова

2121 Пеев Ком 2 412 д-р Лилова

Пациент - хирург - операция

№ Пациент # № на патент на хирурга #

Дата на операция

Операция Лекарства Ефект

1111 145 20.08.99 Язва Пеницилин Добър

1181 123 25.08.99 Херния Пеницилин Добър

2121 412 30.08.99 Сърце Пеницилин Добър

Релационният модел предоставя възможността да се гледа на БД като съвкупност от прости (нормализирани) релации, с които може да се оперира както с числата, като се използват операциите на релационната алгебра (РА). Той дава възможност за еднообразно представяне на данните за обектите и връзките между тях.Релационният модел е свързан основно с три понятия:

Област - D; Атрибут - А;

Релация - R.

Нека D1,D2,…,Dn са n, n>=1, множества. Всяко от тези множества е именувано, разглежда се като множество от допустими стойности на някаква величина и се нарича още област или домен. Областите могат да бъдат безкрайни или да съдържат краен брой елементи. Нека да разгледаме декартовото произведение на n-те множества D1,D2,…,Dn:D1xD2x ... Dn = {< d1, d2, ... , dn> | di Î Di за i = 1,2,…,n}.Ако с D1 означим сигнатурните номера на книгите в една библиотека, т.е. D1 = {820 CI, 120 СX, 920 IХ }, а с D2 означим номерата на служителите в един университет, т.е. D2 = {350, 250, 150}, тогава D1xD2 ще включва двойките на елементите, показани в таблици 4.8.Област D - Това е множество от допустими стойности на някаква величина - diПример: D1 = {820 CI, 120 CX, 920 IX} - сигнатури на книги D2 = {350, 250, 150} - служители (читатели)Ако читател 350 вземе книга 820 CI, се получава наредена двойна D1xD2. Релация - R. Това е всяко подмножество на декартовото произведение D1xD2, .... , Dn на n-области, или още < d1, d2, ... , dn > , където di Î Di за I=1,2,..., n. Всеки

Page 32: Учебник по национална сигурност

елемент на релацията е наредена n-торка. Например: R Í D1xD2 или <d1, d2>Î R.Смисълът на декартовото произведение е следният. Ако с D1 означим сигнатурните номера на книгите в библиотеката, а с D2 номерата на служителите, които получават книгите, тогава D1xD2 ще включва двойките номера, показани на таблица 4.5:Таблица 4.5.

Сигнатурен № № на служител

820CI 350

820CI 250

820CI 150

120CX 350

120CX 250

120CX 150

920IX 350

920IX 250

920IX 150

Смисълът на двойката от елементи <Сигнатурен №, № на служител> може да бъде примерно следният:“Книга със сигнатурен № 820CI е взета от служител с № 350”. Получава се наредена двойка D1xD2. Като следствие от това може да се заключи, че не всяка двойка от декартово произведение D1xD2 е смислена.Например, ако книгата със сигнатурен № 820CI е единствен екземпляр и тя е взета от служител № 350, двойките от елементи <820CI, 250> и <820CI, 150> са безсмислени. Подобни разсъждения могат да се направят и за останалите двойки. Така се стига до идеята за разглеждане на декартовото произведение D1xD2.Нека да разгледаме релацията R Í D1xD2 на взетите в даден момент книги от библиотеката (табл. 4.6).Таблица 4.6. R

Сигнатурен № № на служител

820CI 350

920IX 250

120CX 250

В друг момент от време съдържанието на тази релация може да бъде друго (табл. 4.7).Таблица 4.7. R

Page 33: Учебник по национална сигурност

Сигнатурен № № на служител

820CI 250

920IX 150

120CX 150

Атрибут - А. Това е всеки именуван стълб от табличното представяне на дадена релация. Табличното представяне зависи от наредбата на атрибутите. Чрез атрибутите се моделират свойствата на същностите.Използват се два начина за представяне на релациите:Първият начин се основава на дефиницията на понятието релация, а именно, че всеки неин елемент е наредена n-торка, т.е.<d1, d2,…,dn>, където di принадлежи на областта Di, i=1, 2,…,n. Следователно релацията може да се разглежда като таблица от елементи, в която редовете са n-торки, а стълбовете съдържат елементи само от една и съща област. При това представяне се изисква задължително спазване на наредбата на отделните стълбове в таблицата. В този смисъл елементът <820CI, 350> е от релация R, но елементът <350, 820CI> не е от същата релация R.Вторият начин предполага стълбовете в таблицата да са именувани и следователно спазването на наредбата на атрибутите не е необходимо. Релацията се представя като множество от функции.Таблица 4.8. R

Сигнатурен № № на служител

820CI 350

920IX 250

120CX 250

Релацията R може да се определи с три функции ¦ 1, ¦ 2 и ¦ 3 от вида:¦ : А->Di, i=1, 2, 3,където: ¦ 1 (сигнатурен №) = 820CI,¦ 1 (№ на служител) = 350,¦ 2 (сигнатурен №) = 920IX,¦ 2 (№ на служител) = 250,¦ 3 (сигнатурен №) = 120CX,¦ 3 (№ на служител) = 250.Двата начина за представяне на релацията R са еквивалентни. Структурата на всяка релация се представя с нейната релационна схема. Релационната схема се определя от името на релацията и съответните й атрибути. Например, ако A1, A2,..., An са атрибутите на n- члена релация с име R, нейната релационна схема се записва с израза R (A1, A2,..., An). Тъй като всеки атрибут може да получава стойност от точно определена област-D, то пълният запис на релационната схема има вида: R (A1 : D1, A2 : D2, ... , An : Dn). Много често релационните схеми се представят така:R (A1, A2,..., An), ако А = (A1, A2, A3, …….., An), тогава записваме R(A). Още R(A) ¹ R(A2, A1,…, An).

Page 34: Учебник по национална сигурност

Нека R(A1, A2,..., An) е релационна схема, а r e релация в тази релационна схема. Това се записва така - r : R.Съвкупността от всички релационни схеми, с които се записват класовете от обекти и връзките между тях, представлява схемата на базата от данни.

Ако R1, R2, …, Rк са релационни схеми, съставящи схемата на БД, записът е следният {R1, R2, …, Rк}. Всяка от тези релационни схеми има текуща стойност и това е съдържанието на съответната релация. Всяко множество от конкретни релации r1,r2,…,rk, за които ri:Ri при i = 1, 2,…, к, се нарича текущо състояние на релационната БД (РБД). Схемата на релационната база данни е показана на фиг. 4.8. Тя съдържа логическа релационна БД - съвкупност от всички релационни схеми, и физическа релационна база данни - съвкупност от всички релации, генерирани от релационните схеми. Всяка релационна схема може да генерира конкретни релации - p : P, q : Q, r : R. От една релационна схема могат да се породят повече от една релация - р : Р.Таблица 4.9.Студент

Фак. № # Име, презиме Курс Среден успех

1021 Георги Милев III 4.75

1252 Галя Иванова II 5.25

4391 Полина Милева I 6.00

Правила за дефиниране на релационни схеми. Релационните схеми се дефинират от администратора на БД.

всеки клас от обекти се представя с релация, чиято схема включва всички атрибути на релацията;

Page 35: Учебник по национална сигурност

n-торката представлява конкретен обект от класа от обекти;

ключът на релацията (К или #) става този атрибут или група от атрибути на класа от обекти, еднозначно идентифициращ отделни екземпляри от класа;

атрибутите на класа от обекти стават атрибути на релацията;

връзките между класовете от обекти също се представят чрез релация.

Понеже всяка релация е множество от неповтарящи се n-торки, то всяка релация има ключ. Естествено е една релация да има повече от един ключ. Ако едно множество от атрибути А е ключ на релация R, то всяко множество X от атрибути на R, за което А Ì X, също ще идентифицира еднозначно елементите на R. Затова към всеки ключ се предявява изискването за минималност, което може да се изрази по следния начин:Ако К е ключ на релацията R, тогава:

за всеки два елемента r1 Î R и r2 Î R е в сила r1[к] ¹ r2[к];

не съществува подмножество от атрибути на К, за което горното остава в сила.

Един от всички възможни ключове се избира за първичен ключ. Останалите ключове се наричат възможни или алтернативни.Външният ключ К¢ за една релация R е такъв атрибут или списък от атрибути, който не е ключ на релация R, но съществува релация Q, за която К¢ е първичен ключ. Първичните и външните ключове са основно средство за установяване на връзка между n-торките от две релации. Атрибутите, които влизат в състава на ключа, се отбелязват със знака К, # или с уплътнен шрифт.Между две релационни таблици е възможно да съществуват връзки от типа 1:1, 1:M и N:М.Ако връзката е от типа 1:1, то общите полета трябва да се изберат така, че да определят еднозначно записите във всяка от таблиците, които свързват. При връзка от типа 1:M избраните полета, трябва уникално да идентифицират записите от едната страна на връзката. Ако типът на връзката е N:M за осигуряване на цялостност и непротиворечивост на данните, се създава нова свързваща (кръстосана) таблица, с която двете таблици се свързват чрез връзка от типа 1:М.В релационните БД много често се използват тригери. Това е не голяма програма, написана на SQL, която се изпълнява автоматично в резултат на модефициране на таблицата. Процесът на модефициране се извършва чрез операторите: insert, update, delete. Тригерите реализират декларативни ограничения и правила за промяна в таблицата.В релационния модел се прилага две основни ограничения за цялостност:1) Не се допуска, който и да е атрибут участващ в първичния ключ на дадена базова релация да приема неопределено (нулево) значение.2) Всяко значение на атрибута участващ като външен ключ на дадена релация трябва:- или да бъде равно на значението на първичният ключ на дадена релация;

Page 36: Учебник по национална сигурност

- или да бъде напълно неопределено, като във този случай атрибутът участващ във външен ключ не може да влиза в състава на първичния ключ на друга релация.Освен посочените ограничения за цялостност се използват и други две такива: стойностите на даден атрибут да са в определен интервал; стойностите на даден атрибут (не непременно ключов) да не са нулеви. Ето защо трябва да се отговори на въпроса:Една таблица е релационна, когато тя притежава следните свойства: всеки елемент на таблицата представлява един елемент от данни; всички стълбове в таблицата са еднородни; стълбовете на същата имат уникални имена; в таблицата няма два еднакви реда; релационната схема на таблицата е нормализирана; възможността за използване на съставни атрибути отличават таблиците от релациите.Преимущества на релационния модел са:

работата с таблиците е проста и лесна; докато в мрежовия и йерархичния модел се работи с две структури, то при

релационния модел има само една;

ММД ЙМД РМД

мрежи дървета таблици

таблици таблици таблици

релационният модел е универсален. Всички други модели (ММД, ЙМД) могат да се приведат към РМД;

има висока независимост на данните;

може да се контролира излишеството от данни.

Недостатъкът на РМД е по-ниската му производителност в сравнение с мрежовия и йерархичния модел. Ключови думиМодели на данни, архитектура на моделите на данни, мрежов модел, йерархичен модел, релационен модел, структурна диаграма на модел, атрибути, области, релации, релационна схема, ключ, първичен ключ, външен ключ.  ЗА САМОПОДГОТОВКАВъпроси и задачи

1. Какво представлява модела на данни?2. Кога два списъка от атрибути са сравними?

3. Какво означава понятието двучленна релация?

4. Какви са видовете връзки между класовете обекти?

5. Какво представляват външната, концептуалната и вътрешната схема за

Page 37: Учебник по национална сигурност

описание на обектите?

6. Колко вида модели познавате?

7. Опишете мрежовия модел на данни!

8. Опишете йерархичния модел на данни!

9. Опишете релационния модел на данни!

10. Що е релация и релационна система?

5. ПРОЕКТИРАНЕ НА БАЗА ДАННИСъздаването на БД, което да удовлетворява текущите и перспективните информационни потребности на предприятието, фирмата, е свързано с необходимостта от цялостно проектиране на БД. Този процес е свързан с:

проектиране на концептуалния модел на предметната област; проектиране на логическия модел на базата на концептуалния модел;

проектиране на методите за съхраняване и достъп до данните във физическия модел.

 5.1. ПРОЕКТИРАНЕ НА КОНЦЕПТУАЛНИЯ МОДЕЛ НА ПРЕДМЕТНАТА ОБЛАСТ Проектирането на концептуалния модел на предметната област е една от главните задачи на администратора на базата от данни (АБД). В този модел трябва да бъдат представени всички обекти и взаимовръзката между тях. При проектирането на концептуалния модел всички усилия на разработващия са насочени към:

структуриране на данните; изразяване на връзките между тях;

описание и обработка на данните.

Проектирането на концептуалния модел включва:

изследване на предметната област и формулиране на основните ограничения и допускания;

определяне какви елементи от данни се използват във всеки отчет (документ);

установяване какви взаимовръзки съществуват между елементите от данни;

привеждане на схемата на отношенията на елементите от данни, влизащи във всеки отчет към 3Нф [виж т. 5.8];

Page 38: Учебник по национална сигурност

на базата на получените отношения в 3Нф се представя графическият концептуален модел.

 5.2. ПРОЕКТИРАНЕ НА ЛОГИЧЕСКИЯ МОДЕЛ НА ДАННИ При проектирането на логическия модел на данни се описва процедурата на преобразуването на концептуалния модел в логически.При разработката на логически модел на БД е необходимо да се реши въпросът, какъв модел на данни да се използва – релационен, мрежов или йерархичен.Редът за проектиране е следният:

представяне на логическия модел, на базата на концептуалния модел с помощта на моделите на данни: релационен, йерархичен и мрежов.

представяне на графически външни модели, използвани при подготовка на всеки от отчетите, като се изхожда от получения логически модел.

 5.3. ПРОЕКТИРАНЕ НА ФИЗИЧЕСКИЯ МОДЕЛ НА ДАННИ На базата на логическия модел се пристъпва към проектиране на физическия (вътрешния) модел. Един от основните фактори, влияещи на производителността на програмите, които взаимодействат с БД, се явява методът за достъп до вътрешния и външния модел.Изпълнението на въпросите на потребителя се осигурява от СУБД чрез методите на достъп до външния и вътрешния модел, а така също и методите на достъп до операционната система. 5.4. АНАЛИЗ НА РЕЛАЦИОННИ СХЕМИ При проектиране на релационните схеми на БД на дадена приложна област възникват въпросите:

кога една релационна схема е добра? кога две схеми са еквивалентни?

коя от двете схеми е по-добра?

За да се решат тези въпроси, е необходимо да се извърши анализ на релационните схеми за възможни аномалии и нежелателни функционални зависимости между атрибутите.При анализа на релационните схеми се наблюдават следните аномалии:

аномалии при обновяване на атрибути; аномалии на добавяне (включване) на кортежи;

аномалии при изтриване на кортежи.

Аномалията на обновяване произлиза от дублирането на някой от атрибутите в релациите. Ако се промени някой от атрибутите, то е необходимо да се направи

Page 39: Учебник по национална сигурност

обновяване на всички кортежи с цел да се осигури непротиворечивост на данните в БД. Тази аномалия се отстранява, като съставният ключ се отдели в друга релация.Аномалията на включване е свързан с това, че докато съставният първичен ключ определя целия кортеж, то отделни стълбове (домени) зависят само отчасти от този ключ. По тази причина нов запис (кортеж) може да се включи, ако са известни значенията на всички стълбове, влизащи в съставния ключ. В противен случай кортежът не може да бъде включен. Аномалията на изтриване (премахване) на кортежи влияе върху целостта на данните. Изтриването на едни данни води до премахване на други, т.е. до загуба на данни. Тази аномалия се отстранява, като се декомпозира релацията и съответният ключ се отдели в друга релация. Анализирането и отстраняването на посочените аномалии ще доведе до подобряване на релационните схеми. Освен това наложително е да се направи анализ и на зависимостите, съществуващи между атрибутите на релациите. Някои от тези зависимости са нежелателни поради странични ефекти или аномалии при модификация на БД. Това, от своя страна, изисква да се прави декомпозиция на релациите, при което дадено множество от релации се заменя с друго множество. Целта на тази процедура е да се премахнат нежеланите функционални зависимости. Този процес води до нормализация на релационните схеми.Нека да направим анализ на следната релационна схема:

В тази релационна схема се наблюдават следните аномалии:

аномалия на обновяване на атрибути – ако доставчикът има многократни договори за доставка и след втория договор той промени адреса си, то е необходимо да се направи обновяване на всички кортежи за доставчика с цел да се осигури непротиворечивост на данните в БД;

аномалия на включване на кортежи – запис за доставчик не може да се включи, ако не са известни значенията на всички стълбове, влизащи в съставния ключ. В случая запис за доставчик не може да се включи, без да е направена поръчка за доставка. Данни за изделието, което е необходимо да се добави, също не може да се включи, ако не е определен доставчикът.

аномалия на изтриване на кортежи – ако се изпълнят поръчките за доставки, сведенията за тях се изтриват и това води до изтриване на данните за доставчиците и изделията. Това ще наруши целостта на данните.

За отстраняване на съществуващите аномалии се извършва декомпозиция на първоначалната релационна схема на други две релации:Доставчик – R1 (код на дост. #, адрес)Доставки – R2 (код на дост. #, код на стока #, цена).Така вече няма никаква опасност от аномалии или загуба на информация. Проблемът настъпва, когато трябва да търсим данни, които не се съдържат едновременно и в двете релации.Между атрибутите А и В в отношението R може да съществува и многозначна зависимост, когато на всяка стойност аi на А съответства множество от стойности

Page 40: Учебник по национална сигурност

на В. Означава се с Пример: кои са адресите на доставчиците на обувки (Р2)?Адресът на доставчика съществува в първата релация, а другите атрибути се намират във втората релация. За да се свържат всички атрибути, би следвало да се използват основните операции на релационната алгебра. Оказва се, че тук използването на декартовото произведение не е разумно. Ще формираме релационен израз чрез основни операции - проекция p , рестрикция s , съединение

Нека r1 и r2 са отделни релации, където: r1 : R1 (r1 е с релационна схема R1)r2 : R2 (r2 е с релационна схема R2). Какъв е адресът на доставчика на стока P2 = обувки?Адресът може да се определи чрез релационния израз:

Адресът на доставчика D2 на стока P2 = “обувки” е ул. Ком 5.Извод: чрез използване на 5-те основни операции може да се запишат всякакви релационни заявки. 5.5. ФУНКЦИОНАЛНИ ЗАВИСИМОСТИ Между атрибутите в една релация съществуват определени функционални зависимости. Следват три определения за функционални зависимости.1. Нека е дадена релационната схема R (A)

2. Атрибутът В в отношение R функционално зависи от атрибута А, ако във всеки момент от време на всяка стойност на атрибута А съответства не повече от една стойност на атрибута В. Означава се с А->В. 5.6. МНОЖЕСТВО ОТ ФУНКЦИОНАЛНИ ЗАВИСИМОСТИ - FНека имаме релационна схема R (A) и x, y Í A.Казваме, че F е множество от функционални зависимости x -> y над R (A), ако x Î

Page 41: Учебник по национална сигурност

P(A) и y Î P (A). Същото се записва така F = { x ->y ½ x Î P (A) и y Î P (A)}, или F = { (x ,y) ½ x->y, x Î P (A) и y Î P (A)}.Нека имаме релационна схема R (A, B, C). Ако A -> B и B -> C, то A -> C също има място в тази релационна схема. Записва се така F = {A ->B, B ->C} и A -> C Î F+. 5.7. ПЪЛНА ФУНКЦИОНАЛНА ЗАВИСИМОСТ (ОБВИВКА - F+)Множеството от логически следствия, които могат да бъдат изведени от функционалната зависимост F, се нарича обвивка на F и се бележи с F+ , т.е. F Í F+.Когато F Í F+, разбираме пълна функционална зависимост (семейство от зависимости, обвивка). Атрибутът y се намира в пълна функционална зависимост от x или x, y Î R (A), ако (x -> y) Î F+ и ако за всяко подмножество x* е изпълнено (x* ->y) Î F+.Всички функционални зависимости се определят от АБД. 5.8. НОРМАЛИЗАЦИЯ НА РЕЛАЦИОННИТЕ СХЕМИ Нормализацията на една релационна схема е процес, насочен към преобразуването й, при който на новополучените релационни схеми се налагат известни ограничения, елиминиращи някои нежелателни свойства.Целта на нормализацията на релационните схеми е да се направи анализ на зависимостите, съществуващи между атрибутите на релациите и да се премахнат функционални зависимости, нежелателни поради странични ефекти или аномалии.Ненормализирана форма представлява началната (изходна) таблица, съдържаща всички данни. В нея се наблюдават всички характерни аномалии: излишък, аномалии при обновяване, вмъкване и изтриване. В теорията на релационните модели са известни 4 нормални форми (Нф), които се различават според ограниченията върху типа на допустимите функционални зависимости между атрибутите в релациите. Всяка нормална форма е свързана с определена функционална зависимост между атрибутите в релациите. Освен това от съществено значение е и структурата на атрибутите – дали те са прости (атомарни), или сложни (съставни).Първа нормална форма. Тя е свързана с понятията функционална зависимост и атомарност на атрибутите.Атрибутът В в релацията R (А,…,В,….) е функционално зависим от атрибута А на същата релация, ако във всеки момент от време на всяко значение на атрибута а съществува не повече от едно значение на атрибута В.Първа нормална форма (1нф). Една релационна схема е в 1нф, ако областите на съставящите я атрибути са атомарни (прости).Атомарността е понятие, което се определя в конкретния случай.Пример 1. Нека да разгледаме релацията “служител”, представена по два начина:Служител 1

ЕГН Име

4705126840 Петър Иванов

Page 42: Учебник по национална сигурност

8112276987

5308156842

Гергана Милева

Мария Христова

Служител 2

Код на служител Година Месец Ден Име

6840 47 05 12 Петър Иванов

6987 81 12 27 Гергана Милева

6842 53 08 15 Мария Христова

В посочените релации структурата на атрибутите е различна. На пръв поглед атрибутите в релация “служител 1” като че ли са съставни. Ако обаче информацията, която се обработва в релация “служител 1”, се отнася само за ЕГН и имената на служителите, следва да приемем, че атрибутите са прости и релацията е в 1нф. В нея името на всеки служител зависи функционално от ЕГН, т.е.

Неговият ключ (ЕГН #) е атомарен.Анализът на релацията “служител 2” показва, че атрибутът ЕГН е съставен от отделни части (код на сл. по ЕГН #, година, месец, ден), които са атомарни за тази релационна схема. В такъв случай, ако в релация “служител 2” се добави атрибут “зодия”, то е възможно да се изрази функционалната зависимост (месец, ден) -> зодия, но спрямо релация “служител 1” е невъзможно да се изрази наличието на такава зависимост. Освен това в релация “служител 2” атрибутът “име” е съставен от атрибут, който се състои от две части – собствено и фамилно име. Следователно така представената релация “служител 2” не е в 1нф. Тя ще се преобразува в 1нф, ако съставният атрибут “име” се раздели на два атрибута – “име” и “фамилия”. Тогава релацията придобива вида: Служител 3

Код сл. по ЕГН # Година Месец Ден Име Фамилия

6880 47 05 12 Петър Иванов

6987 81 12 27 Гергана Милева

6874 50 08 15 Мария Христова

Релационната схема на релацията “служител 3” съдържа само атомарни атрибути

Page 43: Учебник по национална сигурност

и тя е в 1Нф. Нейният ключ е съставен и включва атрибутите (код на сл. по ЕГН #, година, месец, ден). Тя има вида:

Пример 2:Нека е дадена е релацията “служител 4”.Служител 4 (код на служителя #, име, адрес, деца – име), където атрибутът “деца – име” задава имената на децата на служителя. В тази релационна схема съществува функционална зависимост код на служителя #->име, адрес.Посочената релация не е представена в 1Нф, тъй като атрибутът “деца – име” не зависи функционално от “код на служителя #” (на даден служител съответстват няколко атрибута “деца – име”). Това е така, защото един атрибут може да не е атомарен в случаите, когато неговите елементи представляват множество.За да се придаде в 1Нф, е необходимо да се отдели нова релация “деца” с атрибути “код на служителя” и “име на детето”. Като резултат ще получим две релации в 1Нф :

Получените релационни схеми в 1Нф е възможно да притежават редица недостатъци, които са аномалии на включване, обновяване и премахване на кортежи в релациите, разгледани в т. 5.4.Втората нормална форма е свързана с понятието пълна функционална зависимост. Атрибут В (или набор от атрибути) в релацията R (A,…,B,…) е пълно функционално зависим от друг набор от атрибути А на релация R, ако В функционално зависи от цялото множество на А, но не зависи от нито едно негово подмножество поотделно.Пример 3. Нека е дадена релацията “доставчик”.Доставчик (код на доставчик #, име, адрес, код на стока #, име, ед. цена, количество).Тази релация е в 1Нф и в нея съществуват следните функционални зависимости:код на доставчик # -> код на стока,код на доставчик # -> количество,код на стока # -> код на доставчик #,код на доставчик # -> име, адрес,код на стока # -> име, ед. цена.В тази релационна схема се наблюдават следните аномалии:

аномалии на включване на данни – запис за доставчик не може да се включи, без да е направена поръчка за доставка. От друга страна, данни за стоката, която е необходимо да се достави, също не може да се включи, ако не е определен доставчикът;

аномалии на обновяване – ако даден доставчик има многократни договори за доставки и след втория договор той промени адреса си, то е необходимо да се направи обновяване на всички кортежи за доставка;

аномалии на премахване на кортежи – ако се изпълнят всички поръчки за доставки, сведенията за тях се изтриват и това води до изтриване на

Page 44: Учебник по национална сигурност

данните за доставчика и стоката.

Начинът за преодоляване на тези аномалии е атрибутите “код на доставчик #” и “код на стока #” да се отделят в друга релация като съставен ключ и техните значения да са известни. Втора нормална форма (2Нф). Една релация е във 2Нф относно множеството от функционални зависимости, ако тя е в 1Нф и всеки непървичен атрибут е в пълна функционална зависимост от първичния ключ.В случая релацията, посочена в пример 3, не е във 2Нф и поради това, че съществуват някои неключови атрибути, които не са в пълна функционална зависимост от първичния ключ. При нея атрибутите “име” и “адрес” зависят само от “код на доставчик #”, но не зависят от “код на стока #”. Превеждането на релацията от 1Нф във 2Нф се извършва на основата на операцията разрязване. За преобразуване на дадена релация от 1-ва във 2Нф се прави разрязване, което води до получаването на следните релации:

Възможно е в някои от релациите във 2Нф да не са премахнати всички аномалии в случая, когато съществуват зависимости между неключови атрибути и атрибута на ключа, наречени транзитивни зависимости.Трета нормална форма е свързана с понятието транзитивна зависимост. Нека А, В, С са три атрибута (набори от атрибути) на релацията R (…,A,…,B,…,C,…), като А е ключ. Ако В зависи от А (A -> B), С зависи от В (B -> C), но А не зависи от В или B не зависи от С, то казваме че С транзитивно зависи от А (A -> C).Пример 4: Нека е дадена релацията:Студент (фак. № студент #, име, учебна дисциплина, хорариум)Тази релация е във 2 Нф и в нея съществуват следните зависимости:Фак. № студент -> уч. дисциплинауч. дисциплина -> хорариумСледователно съществува зависимостта:Фак. № -> хорариум, която е транзитивна.Това води до аномалии:

аномалии при обновяване – ако се промени хорариумът на учебната дисциплина, то значението на този атрибут трябва да се промени във всички записи на студентите, които я изучават;

аномалии при изтриване на данни – ако студентът завърши изучаването на учебната дисциплина и записът се изтрие, се загубват всички данни за учебната дисциплина и нейния хорариум.

Трета нормална форма (3Hф). Една релация е в 3Нф, ако е отстранена функционалната транзитивна зависимост между неключовите атрибути и ключа.Преобразуването от 2Нф в 3Нф с цел да се отстранят аномалиите във 2Нф става по

Page 45: Учебник по национална сигурност

същите правила както от 1Нф във 2Нф, но се изследват зависимостите между неключовите атрибути и ключа, след което се прави разрязване на релацията.За отстраняване на транзитивната зависимост в горния пример се извършва разрязване на релацията и като резултат се получават следните релации:

В представените релации във 3Нф отново се наблюдават аномалии, въпреки че са премахнати непълните функционални зависимости и транзитивните зависимости между неключовите атрибути и атрибутите на ключа.Четвъртата нормална форма е свързана с понятието многозначни зависимости и е нетривиална зависимост. Тривиална зависимост съществува, когато A B, В

А в R (А, В).Пример 5. Нека е дадена релацията поръчки.Поръчки (код завод #, код изделие #, клиент, количество, срок).В релацията присъстват следните функционални зависимости:Код завод # -> клиент, определен от ключа,Код изделие # -> клиент, определен от ключа,Клиент -> код изделие #.Тази релация е в 3Нф, но в нея се наблюдават следните аномалии:

аномалия при включване на данни – данни за поръчка на клиент за определено изделие не може да се въведе, ако не е известен заводът, който ще го произвежда;

аномалии при изтриване на данни – ако се произведе последното изделие за клиента, то данните за него се изтриват, т.е. изтрива се информацията за това, от кой клиент се купува дадено изделие;

аномалии при модификация – ако се промени клиентът на дадено изделие, то трябва да се направи оглед на всички кортежи, съдържащи номера на това изделие, за да се внесат изменения в тях.

Посочените аномалии се дължат на това, че атрибутът “код изделие #”, който влиза в съставния ключ на релацията, зависи от непървичния атрибут “клиент”. Те се премахват чрез разрязване на релацията “поръчки” на две релации, представени в нормалната форма на Бойс-Код. Тя е свързана с доразвитие на понятието пълна функционална зависимост. Нормална форма на Бойс-Код (НФБК). Нарича се още 4Нф. Казваме, че една релация се намира в НФБК (4Нф), ако тя е в 3Нф и в нея отсъстват зависимости на атрибутите, съставящи първичния ключ от неключови атрибути.В горния пример преобразуването на релацията от 3Нф в 4Нф чрез разрязване ще доведе до получаването на релациите:

Прието е релационен модел на данните, в който релациите са представени в НФБК, да се нарича нормализиран, тъй като са отстранени всички аномалии и нежелателни функционални зависимости.

Page 46: Учебник по национална сигурност

Извод: За нормализация на релациите в 1Нф, 2НФ, 3Нф и 4Нф се използват два основни метода – синтез и декомпозиция на релационни схеми. Обобщаващ пример. Дадена е релацията:R (A#, B, C#, D, E) и функционалната зависимост F = (A#,C# -> E, E -> D, A#, C# -> D, C# -> B)Определете в коя нормална форма е R и я приведете в 3Нф, ако е необходимо. Релацията R е в 1Нф, тъй като атрибутите са атомарни с наличие на непълна функция зависимост от първия ключ. Релацията не е в 2Нф , т. к. C# -> B.Декомпозираме релацията на две релации на две релации:R1 (A#, C#, D,E);R2 (C#, B),или R = R1 (A#, C#, D,E) È R2 (C#, B).Релацията R не е в 3Нф, т.к. съществува транзитивна зависимост в R1.Декомпозираме R1 на две релации:R11 (A#, C#, E) т.к. A#, C# -> E и A#, C# -> D,R12 (E#, D), или R1 = R11 (A#, C#, E) È R12 (E#, D).В резултат на тази обработка се получават нормализираните релации:R1 (A#, C#, E),R2 (E#, D),R3 (C#, B). 5.9. ОСНОВНИ СТЪПКИ ПРИ ПРОЕКТИРАНЕ НА БД1. Опрeделяне на целите на задачите, които трябва да се постигнат с проектираната БД. 2. Определяне на таблиците на класовете от обекти в БД.3. Определяне на полетата и записите във всяка таблица, т.е. какви обекти ще се описват и кои са техните характеристики.4. Определяне полетата с уникални стойности във всеки запис, т.е. ключовете на таблиците.5. Извършване на нормализация на релационните схеми.6. Определяне на връзките между таблиците на проектираната БД.Пример за проектиране на БД за продажби на компютри.Обекти:

компютри, които фирмата продава; клиенти, които купуват компютри;

търговски представители, които продават компютрите.

При проектиране на БД се изпълняват основните стъпки, посочени по-горе.За съхраняване на данни за горните обекти се създава прост модел, състоящ се от две таблици:Таблица 5.4.Търговски представител:

Име Фамилия Дата на постъпване

Page 47: Учебник по национална сигурност

Иван

Петър

Зюлфи

Петров

Ковачев

Гугов

12.09.97

01.02.90

01.10.93

Таблица 5.5.Продажби:

Дата на прод.

Търг. предст.

Клиент (име) Изделие (име)

Брой изд.

Обща ст-ст

12.03.01

18.03.01

18.03.01

Ив. Петров

П. Ковачев

З. Гугов

ЕФ “Еленко” – Шн

ООД “Тича” – Вн

ЕФ “Гугов”- Шн

Pentium II

Pentium III

Pentium IV

1

2

1

1000

2000

1200

За управление на продажбите е важно да се отговори на въпросите:

Какви компютри продава фирмата? Каква е ценовата листа?

Кои са клиенти на фирмата?

Каква е стойността на продажбите?

Какви продажби е направил търговския представител?

Крайният релационен модел има вида:

Фиг. 5.1.Релационните схеми са:

изделие (код изд. #, наименование, единична цена); клиенти (код клиенти #, име, адрес, телефон, банкова сметка);

търг. представители (код търг. представители #, име, адрес, телефон);

търг. сделки (код изд. #, код кл. #, код търг. предст. #, количество, срок).

Връзките между данните в таблиците на релационния модел се осъществяват чрез ключовите атрибути на релационните схеми по правилата, разгледани в глава 4. Ключови думиПроектиране на БД, логически модел на данни, физически модел на данни,

Page 48: Учебник по национална сигурност

аномалии, функционални зависимости, нормални форми – 1НФ, 2НФ, 3НФ, нормална форма на Бойс-Код, транзитивна зависимост, декомпозиция.  ЗА САМОПОДГОТОВКАВъпроси и задачи

1. Какво включва цялостното проектиране на БД?2. Какво значи да се направи анализ на релационните схеми?

3. Дайте определения за функционална зависимост, пълна функционална зависимост и множество от функционални зависимости!

4. Запишете аксиомите на Армстронг и следствията от тях!

5. Какво означава нормализация на релационните схеми и какви нормални форми познавате?

6. Дайте определение за 1-ва и 2-ра нормална форма!

7. Дайте определение за 3-та и 4-та нормална форма!

8. Кои са основните закони за преобразуване на релационните изрази?

 

6. ФИЗИЧЕСКИ ОСНОВИ НА БАЗИТЕ ОТ ДАННИ6.1. ФАЙЛОВЕ. ОСНОВНИ ПОНЯТИЯ. ЗАДАЧИ НА ФИЗИЧЕСКАТА ОРГАНИЗАЦИЯ НА ДАННИТЕ Файловете се използват за съхранение на съвкупност от еднотипни данни върху външната памет на компютьра. Файлът е съвкупност от записи за обектите от един и същ клас.На всеки файл може да се гледа като на двумерна таблица (фиг. 6.1), където:

редовете на таблицата представляват записи, а колоните – полета;

броят на записите определя размерността на файла.

Обектите се описват с определен набор от атрибути. Всеки атрибут може да получава стойности от точно определено множество от стойности, което се нарича област на атрибути.Съвкупността от стойности на отделните атрибути се нарича запис.

Page 49: Учебник по национална сигурност

В# А Т P C Y

990CX

Ивано

в

Pascal

Техник

а

София

1988

930CP

Петров

C + +

Техник

а

Шумен

1990

860KP

Колев

Алгебр

а

Техник

а

София

1995

Фиг. 6.1. Структура на файл като двумерна таблицаС файла са свързани понятията логически и физически запис.Логическият запис е съвкупност от полета, съдържащи данни. Тези полета описват обект или са необходими за изпълнение на една стъпка от алгоритъма на програмата. Физическият запис обединява няколко логически записа. Те се обединяват във външната памет под формата на физически запис. Обединяването се нарича блокуване, като физическите записи се наричат деблокуване, като един блок съдържа един запис. Това става под управлението на операционната система. Единиците данни (стойностите на атрибутите), изграждащи записите, се наричат полета. Всяко поле се характеризира с определена дължина, която се измерва:

при външно представяне, с брой знаци;

Page 50: Учебник по национална сигурност

при вътрешно представяне, с брой байтове.

Дължината на записа е сумата от дължините на отделните полета. Записите биват:

с фиксирана дължина - за екземпляри на клас от обекти;

с променлива дължина - самите полета са с различни дължини, полетата се повтарят.

Пример: Обикновено книгите имат анотация с различна дължина. Има три вида променливост на записите във файла:

дължината на записите е променлива; когато в рамките на един запис има повтарящи се групи;

вариантни записи.

Вариантното поле може да приема различни стойности (различни формати) в зависимост от селектора.Освен книги в библиотеките се съхраняват и списания, които имат общи и различни атрибути. Най-общо те се разглеждат като обекти (екземпляри) от един и същ клас. Техните записи са с различни формати. Такива записи се наричат записи с променлив формат или вариантни записи.Начинът, по който се разполагат отделните записи един спрямо друг във файла, определя организацията на файла. Освен същинските данни във файловете и извън тях, има и служебна (допълнителна) информация, която улеснява намирането на записите.Записите във файла се търсят по определени свойства. Прието е атрибутите, по които се извършва търсенето, да се наричат ключове. Ключът еднозначно идентифицира записите в цял файл. Същият може да е съставен от няколко атрибута.Начинът, по който се търсят и избират съответните записи във файла, определя метода на достъп. Те биват два вида:

последователен метод на достъп;

метод на достъп чрез ключ. Тaкива са методите на достъп чрез хеширане, индексиране и инвертиране по вътрешен ключ.

Всеки от методите за достъп взаимодейства с данните от файловете чрез входно/изходи операции за четене или запис на физическите записи (блокове). Обикновено един блок съдържа няколко (логически) записа. Един запис може да се разположи върху няколко блока.Файлът е именувана съвкупност от записи, принадлежащи на определен клас от обекти. БД е предназначена за осъществяване на връзки между различни класове от обекти, като всеки клас се представя с отделен файл. БД е съвкупност от файлове със записи, подчинени на свойството независимост и минималност, управлявани

Page 51: Учебник по национална сигурност

от СУБД.Логическата организация е свързана с представяне на данните в БД. Тя включва множество от логически записи.Всеки логически запис е последователност от отделни информационни полета, предшествани от определено име.Физическата организация е свързана с представяне на данни върху външната памет. Физическият запис е порция от паметта, която е достъпна с една входно/изходна команда. Всяка порция се характеризира с адрес, свързан със съответен ключ.

На съответния ключ се съпоставя адрес, като се използват т.нар. методи на адресиране при първоначално съхранение на данните във файла и методи на достъп до записите при четене на данните.Фактори и параметри, характеризиращи физическата организация:

икономия на памет - постига се по два начина:

- чрез блокуване - блокът, който ни трябва, се локализира и се прехвърля в ОП;- сбито представяне на данните - компресия на данните.

минимизация на излишеството - съхранява се единствено копие на данните и при необходимост обръщението към него става чрез указатели;

използване на различни възможности за обработка на данните по отношение на достъпа (последователен и произволен достъп);

коефициент на активност на файла – К. Чрез К се определя методът на достъп.

- когато К 0, има смисъл да се използва пряк достъп:

- когато К 1, се използва последователен достъп.

обработка на единични или групови заявки; честота на обръщения. Най-често използваните данни се зареждат в ОП, а

по-малко използваните се махат (не се зареждат);

време за отговор – при работа в реално време и пакетен режим;

пропускателна способност – за увеличаване на същата се използва паралелна обработка на данните;

изменчивост на данните – за най-често използваните данни се организират изменчиви (динамични) файлове;

търсене по няколко ключа;

Page 52: Учебник по национална сигурност

търсене по непървичен ключ - при инвертираните файлове;

възстановяемост на данните;

чувствителност на организацията на данните – зависи от методите на достъп;

независимост на данните на логическо и физическо ниво.

 6.2. ОСНОВНИ МЕТОДИ НА ТЪРСЕНЕ Основна задача при търсенето по даден ключ е определяне на мястото на записа за минимално време.

последователно търсене - записите във файла F, когато броя на записите е n, при n 1.

1 се преглеждат запис по запис от единия до другия край. Вероятността за търсене на всеки запис е p=1/n. Тогава средният брой на проверките за намиране на запис от файла е:

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

блоково търсене - използва се, когато файлът е подреден по стойностите на ключа.

Нека файлът F има n записа и записите му са групирани условно в отделни групи (блокове) от по a записа във всеки блок. Възможно е последният блок да има по-малко от X на брой записи. Броят на всички блокове ще бъде (n/x). Вместо да се преглеждат записите последователно един след друг, по-добре е да се разглеждат последните записи на всеки блок. Тогава средното количество преглеждани блокове ще бъде: М1=(n/x+1)/2. Ако се намери блок, в който евентуално се намира търсеният запис, тогава в този блок с не повече от X проверки може да се извърши последователно търсене, при което средното количество проверки ще бъде:

Тогава средният брой проверки при блоково търсене ще бъде:ЕБ=М1+М2= (n/x+1)/2 + (x-1)/2 = (n/x+x)/2,където n/x е общият брой записи, а x е броят на записите в блока.Тази оценка зависи от броя на записите x в един блок. За да я минимизираме, определяме първата производнаЕ`(x) = (-n/x2+1)/2 = 0.

Оттук . Следователно:

Page 53: Учебник по национална сигурност

Фиг. 6.2.

Ако имаме n записа, то оптимално е да имаме блока с по записа.

Пример: При блоково търсене проверяваме дали файлът има запис с ключ К. Разделяме файла на блокове с равен брой записи. Правим сравнение с ключа на последния запис (записите са подредени по възходящ ред) (фиг. 6.2):- ако К1 < К, то първия блок отпада;- ако К2 > К, то търсенето се извършва само във втори блок.

двоично търсене – използва се, ако файлът е подреден. Нека той има n записа, като а1 а2 а3 ... аn. Нека К е цяло положително число, като К представлява броя на разделянията на nте записа и 2к - 1 n< 2к. Разделя се файлът на две равни части. Търсеният запис е в първата или втора половина. Средният елемент на масива е А[m], където m = n + 1/2. Ако x>A[m], търсеният елемент е в дясната половина. Ако x < A[m], търсеният елемент е в лявата половина. Разделя се на още две части онази половина, в която е търсеният запис. Този процес продължава до намиране на записа или до установяване, че такъв запис няма.

Оценка за броя на проверките:

при 0 разделения файлът има n записа; при 1 разделения файлът има n/2 записа;

при 2 разделения файлът има n/22 записа;

при К-1 разделения файлът има n/2К-1 записа.

Но 1 n/2К-1<2. Оттук 0 log2n - log22К-1. Или окончателно nmax = log2n + 1.Следователно ЕДВ = log2n - 1.Ето няколко примера за поведението на средните оценки при:

последователно търсене; блоково търсене;

двоично търсене.

последователно блоково двоично

n log2n-1

Page 54: Учебник по национална сигурност

16 4 3

256 16 7

1024 32 9

Изводи:

блоковото и двоичното търсене са подходящи за слабо променливи файлове. Цената за по-бързо търсене се заплаща с времето, необходимо за нареждане на записите във файловете;

блоковото и двоичното търсене са типични за търсене във файлове, които изцяло се побират в ОП. Това са индексните файлове.

 6.3. ИНДЕКСНА ОРГАНИЗАЦИЯ НА ФАЙЛОВЕТЕ При тази организация на базата на подреден в нарастващ ред основен файл се създава индексен файл (фиг. 6.4). Индексната организация е такава организация на файла, че бързото търсене се пренася извън БД (в ОП).Нека имаме файл със записи F1, F2 ... Fm,Fm+1,Fm+2 ... F2m,… подредени в нарастващ ред по стойности на ключа К(F1) < К(F2) < ...< К(Fm)<.Разделяме записите на файла на групи от по m последователни записа. От всяка група извличаме ключа на последния в групата запис (фиг. 6.3).Ki=K(Fm,i) , i=1,2,3...Създаваме нов индексен файл или индекс – I(F) със запис от две полета (Ki,Ai), където А е адресът на физическия блок, в който се съхраняват записите от i-тата група на основния файл, i=1,2,3...m.Основен файл F Индексна таблица Индексен файл I(F)

Фиг. 6.3. Общ вид на индексния файлВсъщност индексът е таблица (наречена индексна таблица). С помощта на индексната таблица може да се създаде процедура (метод) за достъп до записите в основния файл (F). Тъй като двата файла са подредени, то търсенето става много бързо, т.е. скоростта на търсене в основния файл силно зависи от скоростта на търсене на неговия индекс.Този метод за достъп към основния файл е известен като индексен метод за достъп.

Page 55: Учебник по национална сигурност

Известни са два метода на индексна организация:

индексно-последователна организация;

индексно-произволна организация.

При индексно-последователна организация на всеки m записа (m>1) от основния файл се създава по един запис в индекса. Индексът е още файл, който е m-кратно по-малък по обем от основния файл. Този процес води до създаване на индекс с няколко нива. Следователно, ако индексния файл е в ОП, това силно ще намали общото време за търсене на записи. Търсенето на запис ще разгледаме със следния пример (фиг. 6.4).Пример 1:

Фиг. 6.4. Индексно-последователна организация с две нива на индексаНека да се търси ключ К = 550. Проверява се индексът на най-високо ниво (2 ниво), т.е. 370 < К < 900. Следователно търсенето продължава в блок 6. Желаният ключ евентуално се намира в блок №3 в интервал [509, 609].Индексно-последователната организация е удобна, тъй като при нея търсенето става много бързо. След като се намери индексът, по него се определя мястото, откъдето се извличат всички останали данни. Записите в индексно-последователния файл могат да се прочитат в последователен ред от първия до последния запис или в произволен ред чрез задаване ключа на търсения запис. Ключът може да бъде и дума.Индексният файл (индексната таблица) се получава от предшестващия файл (таблица) с разбиване на други подгрупи.Тази организация не е добра, ако файлът много често се променя.При индексно-произволна организация не се изисква подреденост на файла по стойностите на ключа. Това облекчава операциите за добавяне и отстраняване на записи. На всеки елемент от основния файл съответствува запис от индекса. Такъв индекс се нарича плътен индекс. При тази организация m = 1.

Page 56: Учебник по национална сигурност

Фиг. 6.5. Индексно произволна организацияИзнасяме в индексния файл всички ключове, които са наредени в азбучен ред. Използва се указател, който указва къде във физическия файл се намира запис (фиг. 6.5). 6.4. ИНВЕРТИРАНИ ФАЙЛОВЕПри тези файлове инвертирането се извършва по един или всички непървични атрибути. За целта срещу всеки запис на основния файл се записва относителния адрес. Той се разполага вляво от първия атрибут. Организира се един допълнителен (инвертиран файл) в, който непървичния атрибут става ключ (фиг. 6.6).

Отн. адр.

Номер поръчка #

Име Цвят Цена  

1 10 Самолет Бял 14 Инвертиран файл

2 15 Влак Черен 15 Име # Относителен

адрес

3 21 Топка Жълта 10 Самолет 1, 4, 6, 8

4 22 Самолет Сребрист 15 Влак 2, 5

5 30 Влак Червен 6 Топка 3

6 41 Самолет Сив 18 Кукла 7

7 42 Кукла Синя 10 Автомат 9

8 70 Самолет Бял 21  

Page 57: Учебник по национална сигурност

9 75 Автомат Кафяв 5

Фиг. 6.6. Инвентарни файловеЗа всяка една от стойностите на непървичния атрибут се записва относителен адрес.Пример: Номера 1, 4, 6, 8 са относителни адреси на “самолет” на атрибута “име” в инвертирания файл. По атрибута “име” в инвертирания файл много бързо се намира на какъв относителен адрес е разположен записът. Тук “име” е непървичен атрибут. Търсенето е изключително бързо, но се изисква памет. 6.5. ХЕШИРАНЕ. ХЕШ-ФАЙЛОВЕХеширането е пряк метод на достъп, при който ключът на всеки запис се трансформира в адрес, като се използва определена функция [1]. Хеширането означава случайно смесване – hashing. Всяка функция, която установява съответствие между елементите на пространството на ключовете на файла – SK и адресното пространство на файла – SA, е прието да се нарича хеш-функция и се означава с hF (фиг. 6.7), т.е. hF: SK -> SA .

Фиг. 6.7.Всяка хеш-функция “разделя” пространството SK на части със следните свойства:

SK = K1 È K2 ... Kn; Ki Ç Kj = 0, за i ¹ j;

ако hF (Ka ) = hF (Kb ), тогава съществува такова Кi , така че Ka Î Кi и Kb Î Кi;

ако Ka Î Kp и Kb Î Kq , p ¹ q тогава hF (Ka ) ¹ hF (Kb ).

С други думи, всяка хеш-функция разделя пространството на ключовете на части, всяка от които съдържа записи – синоними. Това означава, че чрез функцията hF два или повече записа с различни ключове ще “претендират” за един и същ адрес от SA.

Page 58: Учебник по национална сигурност

Файловете, чиято организация се основава на хеширането, се наричат хеш-файлове. Най-сериозният проблем, който трябва да се решава при хеш-файловете, е преодоляване на явлението колизия – collision. Това явление се получава, когато за един и същ адрес “претендират” няколко ключа. Ето защо дефинирането на хеш-функцията е доста трудна и отговорна задача. Трудно е да се дефинира хеш-функция, която да предизвика минимален брой колизии (фиг. 6.8).Много често за изчисляването на адреса чрез ключа на записа се използва някаква формула. Този подход има следните предимства:

изчисляването на адреса става много по-бързо, отколкото да се преглеждат таблиците на файловете;

при използването на формули се икономисва памет;

формулите за определяне на адреса на записа трябва да бъдат така конструирани, че вероятността за това два или повече ключа да определят един и същ адрес да бъде минимална.

Фиг. 6.8.Пример: Да се определи адрес в паметта на компютъра чрез формула за ключа (фиг. 6.9).

Фиг. 6.9.Да предположим, че ключът се представя чрез полета от седем букви: SK = B1 + B2 + B3 + B4 + B5 + B6 + B7, където Bi , i = 1...7 са букви от английската азбука.Решение:Всяка буква има определен номер от азбуката. Сумата от номерата на буквите

Page 59: Учебник по национална сигурност

определя адреса на записа. Записът с ключ FELT ще се разположи след 182-ри адрес, получен от умножението на 26 букви от английската по 7 букви във формулата за ключа. Към всяка хеш-функция се предявяват определени изисквания, които не винаги е лесно да бъдат удовлетворени.Ето някои от тях:

равномерно и случайно да разпределя записите по цялото адресно пространство;

всички части на ключа да участвуват в пресмятането на хеш-функцията;

броят на колизиите, които ще настъпят при хеширане, да бъде минимален, вероятността два записа да са синоними да бъде 1/N.

Известни са два вида хеш-файлове – статични и динамични [1]. Ключови думиФайл, логически запис, физически запис, последователно търсене, блоково търсене, двоично търсене, индексен файл, инвертиран файл, хеш файл.  ЗА САМОПОДГОТОВКАВъпроси и задачи

1. Що е файл?2. Кои са основните задачи на физическата организация на данните?

3. Кои са основните методи за търсене на данни?

4. Каква е разликата между индексните и инвертираните файлове?

5. Що е хеширане?

6. Какви хеш-файлове познавате?

 

7. РАЗПРЕДЕЛЕНИ БАЗИ ОТ ДАННИ7.1. ОСНОВНИ ПОНЯТИЯ И ПРИНЦИПИ ЗА ОРГАНИЗАЦИЯ НА РАЗПРЕДЕЛЕНИ БАЗИ ОТ ДАННИ  Съвременните информационни системи много рядко се реализират на един персонален компютър. Все по-широко се използват мрежи от компютри. При това обработката на информацията се разпределя между няколко компютъра и самото съхранение на информацията е на различни места. Ето защо в началото на 90-те години потребителите на компютри все по-често започнаха да използват разпределени бази от данни и съответни СУБД, разработени за мощни компютри.Във връзка с това възникнаха редица проблеми по използване на данните, съхранявани на различни компютри, с осигуряване на висока надеждност,

Page 60: Учебник по национална сигурност

ефективност на работа, конфликтност между потребителите и защита на данните. При свързването на отделните компютри в мрежа е необходимо да се обединят техните изчислителни, програмни и информационни ресурси по определен начин с оглед по-пълното и своевременно информационно осигуряване на потребителите. Този процес не е произволен, а строго обоснован и съобразен с конкретните потребности от информация и възможностите на технологичните средства в мрежата. Извършва се т.нар. разпределение на данните по възлите на мрежата.Под разпределена база от данни (РБД) [6] се разбира такава система за организация, натрупване, обработка, съхранение и представяне на данните, при която е предвидено едно предварително фиксиране на информационните структури в конкретна (локална) база от данни. Тези структури са достъпни за потребителите на всяка локална информационна система (ЛИС). По своята същност РБД представлява логически интегрирана БД, физически разпределена по възлите на мрежата. При това цялата БД е потенциално достъпна от всеки неин възел.Гигантска РБД се явява мрежата на Интернет. За потребителите на компютри, обединени в мрежа, във възлите на които е разпределена такава БД, тази база изглежда като единно цяло и еднакво достъпна.В РБД възникват и други проблеми като осигуряване на цялостност и непротиворечивост на съхраняваните данни, по-бързо действие на приложните програми, сложност на мрежовите взаимодействия за достъп до данните и др.Голяма част от тези проблеми се решават от СУБД - SyBase, Informix, Ingres и най-известната съвременна система Oracle.Важен момент при изграждането на система с РБД е изборът на стратегия за разпределение на информацията и обособяването на локалните бази от данни (ЛБД). Факторите, които трябва да се вземат под внимание, са [6]:

архитектура на разпределената система; дублирането на информацията;

размер на информационните масиви;

възможности на запомнящите устройства;

възможности на каналите за предаване на данни и др.

Известни са четири основни стратегии за разпределение на данните [6]:

деление на БД; копиране на БД;

централизация на БД;

комбинирана стратегия за разпределение на БД.

Деление на БД. Цялата БД се разделя на дизюнктивни части - по една част от БД във всеки възел на мрежата. Тъй като всяка БД се характеризира с определена структура и съдържание, разделянето може да бъде извършено хоризонтално и

Page 61: Учебник по национална сигурност

вертикално. При хоризонталното деление структурата от данните се запазва във всяка една от частите и логическите връзки се запазват във всички възли на ЛМ. Делението става в съответствие със съдържателната информация. При вертикалното деление БД се дели в съответствие със структурата й, като цялото множество от данни се разполага в един възел.Копиране на БД. В резултат на копирането на цялата БД или на отделни нейни части се формират т.нар. недизюнктивни набори от данни, които се разпределят в няколко възела на ЛМ. Известни са два варианта на копиране – пълно копиране и комбинирано копиране.При пълното копиране на БД в няколко възела се съдържат пълни копия на БД. При комбинираното копиране на БД се копират определени набори (части) от БД и същите се разполагат в различни възли.Централизация на БД. При този случай единственото копие на БД е разположено в един възел. Цялата информация е концентрирана в централния възел.Комбинирана стратегия за разделяне на БД. Това е стратегия, при която се използват разгледаните по-горе стратегии за създаване на РБД.Предимствата на РБД спрямо централизираната стратегия са:

по-висока степен на готовност на системата - тя продължава да работи дори при отказ на някой от възлите;

по-добро запазване на целостта на данните;

по-бързо обръщение към БД със възлите;

по-висока степен на актуализация на данните;

модулна структура на системата.

Недостатъците са:

по-голяма сложност на системата за РБД; по-голям обем на предаваните данни;

неизправностите се разпространяват в системата като цяло.

Структурен модел на възел от системата с РБДПо същество това е структурата на една ЛИС и някои допълнителни компоненти към нея (фиг. 7.1).Основните компоненти на ЛИС са [6]:

базата от данни; схемата на БД;

локален речник-справочник.

Допълнителните компоненти към ЛИС са:

системата за управление на РБД;

Page 62: Учебник по национална сигурност

процесът на мрежов достъп.

Базата от данни (БД) е интегрирана динамична съвкупност от структурирани данни, съхранявани на външни носители, които могат да се използват от множество потребители в мрежата.Схемата на БД представлява общо логическо описание на БД. Това е концептуалната схема и представлява съвкупност от всички отношения в БД.Локалният речник-справочник се състои от две части:Речник – съдържа сведения за данните в ЛБД: тип, структура, какво означават. Тук се отнасят: идентификатори на описаните данни, кратък текст поясняващ свойствата и характеристиките на данните, източник на данните, начин на използването им и др. Речникът представлява данни за данните (метаданни), които специфицират логическите свойства на включената в ЛБД информация.Справочник – съдържа информация за ЛБД: количество на физическата БД, физическа организация и размер на файловете, състав на ключовите думи, методи за достъп, логическа структура.Във всяка система с РБД се съдържат един главен речник-справочник и по няколко речник-справочници (по един за всяка ЛИС).Главният речник-справочник съдържа информация за разположението на файловете в ЛБД.

Фиг. 7.1. Структурен модел на възел в РБД

Page 63: Учебник по национална сигурност

Процесът на мрежов достъп се явява интерфейсен процес между процесите, реализирани във всеки възел и мрежа за предаване на данни. Информацията за местоположението на копията от БД или на нейни части във възлите се получава от мрежовия речник-справочник. Сведения за физическото разположение на възлите и връзките между тях се получава от документацията на самата локална мрежа.Потребителят изпраща запитвания (заявка), които се обработват от системата, и получава отговор по определен алгоритъм - приложна програма.Реализацията на системата с разпределена БД е довела до въвеждането на едно ново понятие – информационна мрежа (ИМ). Тя е сложна, разпределена в пространството и се състои от множество отделни (локални) подсистеми, наричани още информационни възли, притежаващи апаратни и програмни средства за реализация на едни или други функции на информационния процес, а също и множество средства, които осигуряват свързването и взаимодействието на тези подсистеми. Целта на изградената ИМ е да предостави широк кръг от услуги в сферата на информационното обслужване на териториално отдалечените потребители.Информационните мрежи се характеризират със следните особености:- сложност за пълно описание;- наличие на многоканални връзки, осъществяващи различни процеси на организация и управление;- многообразие на съставките на информационния процес – връзки и процеси, свързани с обработка, съхранение, търсене, предаване на информация, анализ и др.Основна роля в ИМ играят информационните възли (ИВ). Те представляват техническите или организационно-техническите системи (участието на хора) с определена сложност, изпълняваща съответните процеси.Във възлите се извършва обработка на информацията, постъпваща в тях във вид, подходящ за по-нататъшни преобразувания, редактиране, актуализация и управление на потоците с входна и изходна информация. Информационното обслужване на системата с РБД включва етапите от подаване на заявката, предаване и обработка на данните до получаване на отговор на системата до потребителя. Последователността на това обслужване зависи от броя на отделните етапи за предаване и обработка, времетраенето им, типа на информационните заявки, избраната архитектура на мрежата, от техническата реализация на нейните компоненти.Като правило отделните ЛБД, представляващи ядрото на отделните възли в системата с РБД, се изграждат, като се използва една и съща СУРБД. Създадената по такъв начин РИС, състояща се от определен брой ЛБД, се нарича още еднородна разпределена система (или система от еднородни ЛБД). 7.2. СУРБД. ВИДОВЕ СУРБДСУРБД е основен елемент на разпределената информационна система. СУРБД включва СУБД и осигурява анализа на потребителските запитвания, тяхното разпределение по съответните възли, управлява процеса на обработка на информацията в схемата на БД, поддържа цялостност на данните и проверява достоверността и секретността на данните. СУРБД представлява програмна система за управление на разпределената БД. СУРБД обикновено има йерархична структура, която съдържа следните основни нива: потребителско, глобално-логическо, фрагментарно, разпределено и възлово.

Page 64: Учебник по национална сигурност

Потребителското ниво отразява особеностите на отделните потребители на системата с РБД по отношение на техните информационни потребности и изисквания. То се явява подмножество на глобално-логическото представяне, което е достъпно за крайния потребител. С негова помощ се изграждат конкретни структури, представящи по най-подходящ начин отразяваните връзки, осигурява се защита на информацията и др.Глобално-логическото ниво съответства на логическата структура на цялата интегрирана БД, т.е. отразява нейния логически модел.Фрагментарното ниво позволява да се опишат несвързаните подмножества на интегрираната БД, които се наричат логически фрагменти. Нивото на разпределено представяне определя териториалното разположение на всеки един от логическите фрагменти. При това е възможно съществуването на няколко идентични, но териториално разсредоточени копия на отделните логически фрагменти, наричани дублиращи фрагменти. Нивото на възлово представяне включва СУРБД и ЛБД. Въвеждането на третото (фрагментарно) и четвъртото (разпределено) ниво фактически се налага от самата разпределеност на БД и от наличието на излишък от информация в нея.От казаното дотук следва, че в зависимост от избраните СУБД за реализация на отделните възли в РИС последните могат да се разделят на две основни групи: еднородни и нееднородни. При това деление обаче не се отчитат ролята и влиянието на апаратната среда, в която е реализирана системата. Не се взема под влияние и еднородността на техническите и програмните средства, както и архитектурата на ЛМ.Когато става дума за РИС или система с РБД, където се предполага наличие на мрежа от компютри, по-правилно е да се използва следната класификация [6]:

хомогенни системи; частично хетерогенни системи;

хетерогенни системи.

Хомогенните системи са тези, които се изграждат на основата на еднотипни ЕИМ, работещи под управлението на една и съща ОС, и отделните работни станции (ЛИС) се разполагат ЛБД, управлявани от една и съща СУБД.Частично хетерогенните системи са тези, които се изграждат на основата на еднотипни компютри и използват различни ОС или включват различни видове компютри, работещи под управлението на една и съща ОС. СУБД в различните възли могат да бъдат различни.Хетерогенните системи се характеризират с това, че обединяват различни по архитектура ЕИМ и функционират под управлението на различни СУБД за различните възли на разпределената система. При тях различните ЛИС са изградени на базата на различни модели - мрежов, йерархичен или релационен. С помощта на подходящи мрежови ОС може да се осигури нормалното им функциониране като цяло.Пример: Разпределена система за управление на бази от данни System R*Основната цел на System R* е да се интегрират локалните бази от данни - System R, разположени във възлите на компютърната мрежа, така че потребителите, работещи към всеки възел на мрежата, да имат достъп до всички данни.За реализация на тази цел са използвани редица проектни решения [27], свързани с

Page 65: Учебник по национална сигурност

декомпозиция на изходните запитвания, оптимален избор на способа за извършване на запитването, съгласуване изпълнението на транзакциите, осигуряване на синхронизация, откриване и разрешаване на безизходиците от задръстване на каналите, възстановяване на отказите във възлите и др.Така System R* е в състояние да осигури:

лекота при използване на системата; автономно функциониране при нарушени връзки в комуникационната

мрежа;

висока степен на ефективност.

 7.3. ПРИЛОЖЕНИЕ ЗА БАЗА ОТ ДАННИ И КОМПЮТЪРНИТЕ МРЕЖИ През последното десетилетие заедно с разширяването на компютърните мрежи, в това число и Интернет, настъпи разрастване и на сферата на услугите, достъпни чрез тях. Появиха се уеб-сайтове, управлявани от информацията, съхранявана в базите данни.Повечето уеб-приложения за бази данни постигат това чрез три слоя на приложната логика. В много уеб-приложения за бази от данни се използва трислойният архитектурен модел, показан на фиг. 7.2.

Фиг. 7.2. Трислоен архитектурен модел на уеб-приложения за БДВ основата на модела се намира системата за управление на БД, която управлява базата от данни, които потребителите въвеждат, търсят, модифицират и изтриват. Върху слоя база данни се намира средният слой, които пренася информацията между останалите слоеве. На върха на модела се намира клиентският слой. Обикновено това е уеб-браузър, взаимодействащ си с приложението. Компютърната мрежа съдържа три компонента:

Page 66: Учебник по национална сигурност

език за форматиране на хипертекст (HTML); протокол за трансфер на хипертекст (HTTP);

мрежови протоколи (TCP/IP).

HTML се използва за структуриране и представяне на информацията чрез уеб-браузър. НТТР е компонент свързващ трислойната архитектура. Протоколът НТТР се използва от уеб-браузърите за изпращане на заявки за ресурси към уеб-сървърите и от уеб-сървърите към браузърите за връщане на отговор. TCP/IP е протокол, прехвърлящ информация от едно приложение към друго в Интернет.Обикновено клиентският слой е уеб-браузър. Софтуерът на браузъра обработва и извежда HTML-ресурси, изпълнява заявки за ресурси по НТТР и обработва НТТР-отговорите. Клиентският слой представя данните на потребителя и събира информация за него.Средният слой обслужва задачите по свързването с другите два слоя, извежда структурата и съдържанието на данните, които ще бъдат показани на потребителя, и обработва входния поток. Компонентите на средния слой са:

уеб-сървър; мрежов скриптов език;

машина за обработка на скриптове.

Уеб-сървърът обработва заявките по НТТР и формулира отговорите. Скриптовият език е РНР. Това е най-популярният модул на НТТР-сървър (уеб-сървър) и е много подходящ за уеб-приложения на БД. РНР осигурява бързо изпълнение на скриптове. Машината за обработка на скриптове Zend работи на РНР, РНР3 и РНР4. Слоят база от данни е основа на уеб-приложенията за БД. Той управлява информацията в трислойната архитектура. Управлението на данните включва съхранение и обработването на информацията и на обикновените данни, позволявайки едновременен достъп до няколко от процесите на средния слой, предоставяйки интегрираност, архивираност и сигурност на данните. В уеб-приложенията за бази от данни тези услуги се осигуряват от релационната система за управление на БД (RDBMS), а данните се съхраняват в релационни бази от данни. За повечето системи DBMS избраният език за заявки е SQL. Той се използва за взаимодействие с релационни БД. Неговите компоненти са:

език за дефиниране на данни (DDL); език за управление на данните (DML);

команди за управление на транзакциите;

функции от по-високо ниво.

Една от най-често използваните системи за управление на БД е MySQL DBMS. Тя поддържа SQL като средство, с което се създават, управляват, осигуряват и се извършва запитване към БД. Уеб-приложение за БД с MySQL и РНР осигуряват следните възможности:

Page 67: Учебник по национална сигурност

моделиране на релационни БД и архитетури на уеб-приложения; съхраняване на потребителски данни;

разработване на механизми за търсене и преглеждане на данни;

проверяване на данните, подадени от потребителите;

управление на транзакциите;

поддържане на сигурност.

 Ключови думиРазпределени БД, структурен модел на възел на разпределени БД, речник, справочник, система за управление на разпределени БД, Web сървър, Web браузър, хомогенни системи, хетерогенни системи.  ЗА САМОПОДГОТОВКАВъпроси и задачи

1. Дайте определение за разпределена база от данни!2. Кои са основните стратегии за разпределение на данните?

3. Кои са основните елементи на структурния модел на възела от РБД?

4. Кои са основните елементи на трислойния архитектурния модел на Web-приложения за БД?

 

ЧАСТ II. СИГУРНОСТ И ЗАЩИТА НА ИНФОРМАЦИЯТА1. ПРОБЛЕМИ ПО ЗАЩИТА НА ИНФОРМАЦИЯТА Науката за информацията възниква в началото на 20. в. Тогава започва използването на информацията в съобщителните и информационните системи. През 1948 г. американският учен Шенон публикува своята теория за информацията, в която информацията се разглежда като средство за намаляване на неопределеността.Информация – това са сведения, познания за реалния свят, които се възприемат при взаимодействие с него. Обектите и субектите, свързани с това понятие, са източници на информация и получатели на информация. Източниците изпращат в пространството сигнали, които се разглеждат като носители на информация. Получателите увеличават познанията си за реалния свят. С информацията се извършват дейности като събиране, съхраняване, обработка и разпространяване. Посочените дейности рядко се срещат в чист вид. Обикновено те си взаимодействат и образуват процеси. Съхраняването на информацията е начин за

Page 68: Учебник по национална сигурност

пренасянето й във времето. За целта се използват носители, върху които се записва информацията, като хартия, филмови ленти, магнитни ленти, магнитни дискове, оптически дискове и други. С възникването на информационното общество и глобализацията на информационните технологии се създадоха условия и възможности за разкриване на държавни, ведомствени и корпоративни тайни чрез несанкциониран достъп на неупълномощени лица до данни и информация, която се смята за тайна. За противодействие на нежелания достъп до информационните системи са разработени множество методи за защита на информацията. Обект на защита са както информационните системи, така и комуникационните системи като среда за разпространение на информацията. 1.1. KАТЕГОРИИ ИНФОРМАЦИЯ, ПОДЛЕЖАЩА НА КЛАСИФИКАЦИЯ КАТО ДЪРЖАВНА ТАЙНА 1.1.1. Информация, свързана с отбраната на страната1. Структура, организация и функциониране на държавните органи и на Върховното главно командване на Въоръжените сили на Република България при положение на война, военно или друго извънредно положение.2. Местоположение, оборудване, поддържане, експлоатация и организация на охраната на пунктовете за управление на централната и териториалната администрация на изпълнителната власт и на Въоръжените сили на Република България, предназначени за използване при положение на война, военно или друго извънредно положение.3. Организация и функциониране на комуникационните и информационните системи за връзка на органите на държавно управление и на Въоръжените сили на Република България при различни състояния и степени на бойна готовност и война.4. Сведения за привеждане на страната в по-високо състояние и степени на бойна готовност, военновременните планове и разчети, проекти и мероприятия, свързани с осигуряването на отбранителната способност на национално равнище на централната и териториалната администрация на изпълнителната власт и на търговските дружества, произвеждащи военна продукция. Информация относно планирането, организацията и функционирането на мобилизационното развръщане на Въоръжените сили на Република България.5. Подробна структура на въоръжените сили, както и сведения за местата на разполагане (дислокация) и преместването им (предислокация), действителното наименование, организацията, щатната и списъчната численост на личния състав, въоръжението и системите за управление на Въоръжените сили на Република България, на отделните видове въоръжени сили, родове и специални войски, обединения, съединения, режимни поделения и обекти, невключени в официалния обмен на данни, произтичащ от международни задължения на страната.6. Информация относно задачите и бойните възможности на Въоръжените сили на Република България, на отделните видове въоръжени сили, родове и специални войски, както и на потенциалния противник и предвижданите райони и направления на военните действия.7. Организация, функциониране и технически средства за електронно разузнаване.8. Организация и функциониране на системата на привеждане на въоръжените сили, на централната и териториалната администрация на изпълнителната власт и на задължените юридически лица в по-високи състояния и степени на бойна готовност.

Page 69: Учебник по национална сигурност

9. Стратегически и оперативни документи, в които се излагат възприетите във въоръжените сили концепции за водене на войната и операциите.10. Информация, отнасяща се до външни опасности и заплахи за сигурността на държавата от военен характер, отбранителни планове, анализи и прогнози, както и произтичащите от тях решения и задачи.11. Сведения за проектирането, изпитанието, производството и постъпването на въоръжение на нови образци въоръжение, бойна техника и боеприпаси и създадените мобилизационни мощности за тяхното производство.12. Сведения за планирането и осигуряването на общия държавен военновременен план с материални, финансови и трудови ресурси, както и документите, регламентиращи тази дейност.13. Организация, дислокация, въоръжение, задачи и възможности на поделенията и органите за разузнаване.14. Сведения за свързочната система и разпределение на честотите на радиовръзките на Република България, които са свързани с отбраната и сигурността.15. Планове и отчети за отпусканите и изразходваните материални средства, свързани с конкретни мисии и задачи по отбраната на страната, определени с акт на Министерския съвет.16. Планове, сведения и обобщени данни за състоянието на оперативната подготовка на територията на страната и строителството на нови обекти с военновременно предназначение.17. Обобщена информация относно специалната продукция на отбранителната промишленост, както и прогнози за развитието, плановете, производствените мощности, научните и изследователските единици за реализация на поръчки за въоръжение, бойна техника, боеприпаси и военна апаратура.18. (Доп. - ДВ, бр. 52 от 2004 г.) Геодезични и картографски материали и данни, цифрови модели и данни, растерни изображения, аерофилми, аерофотоснимки и фотодокументи, които съдържат информация за местоположението, вида, характера, предназначението или инженерното оборудване на обектите и районите, имащи значение за отбраната и сигурността на държавата, с изключение на свързаните с безопасността на въздухоплаването в координатна система WGS-84.19. Задачи на централната и териториалната администрация на изпълнителната власт и на задължените юридически лица при положение на война, военно или друго извънредно положение.20. Организация, функциониране и управление на системата за снабдяване на Въоръжените сили на Република България с материални средства при положение на война, военно или друго извънредно положение.21. Данни за стратегическите запаси от материални средства, създадени за военно време.22. Обобщени сведения по вноса и износа на въоръжение, бойна техника и боеприпаси за нуждите на Въоръжените сили на Република България.23. Планиране, реализация и резултати от научноизследователска дейност с особено значение за отбраната и сигурността на Република България.24. Обобщени сведения за релефа и характера (структурата) на морското и речното дъно. Елементите, които определят хидрологичния режим на крайбрежните води в реално време (с изключение на фарватерите, които са обявени за международно корабоплаване). Данни за установените места за

Page 70: Учебник по национална сигурност

преминаване на войските през реките в Република България.1.1.2. Информация, свързана с външната политика и вътрешната сигурност на страната1. Информация от областта на външната политика, нерегламентираният достъп до която би застрашил сериозно националната сигурност, би могъл да увреди или да създаде опасност от възникване на значителни вреди на позициите на страната в преговори с друга държава.2. Сведения и документи за вътрешнополитическото и военното състояние на други държави, основаващи се на непубликувани данни, чието разгласяване може да застраши националната сигурност на страната.3. Сведения за организацията, способите и средствата при изпълнение на специфични задачи, осъществявани чрез оперативно-издирвателната и оперативно-разузнавателната дейност на службите за сигурност и обществен ред, както и данни за специалните им съоръжения и получените в резултат на тези дейности информация и предмети, както и данни, позволяващи да се установят лица, оказали или оказващи им помощ в тези дейности.4. Подробна организационна и щатна структура на службите за сигурност и службите за обществен ред, както и обобщени данни за личния състав.5. Установъчни данни или данни, можещи да спомогнат за установяване на лица, които не са служители, но сътрудничат или са сътрудничили на службите за сигурност и на службите за обществен ред.6. Информация относно използвани съгласно законовите разпоредби специални разузнавателни средства (технически средства и/или способите за тяхното прилагане).7. Данни за вида, нивото на снабденост и качествата на специална техника, въоръжение, боеприпаси, защитни средства, уреди и материали, използвани от службите за сигурност и от службите за обществен ред.8. Данни, получени в резултат на използване на специални разузнавателни средства, и данни относно контролирането на покупки и тайно наблюдавани пратки.9. Доклади, отчети, информационни бюлетини, статистически и други данни относно оперативната работа на службите за сигурност и службите за обществен ред.10. Информация за отпускани и използвани бюджетни средства и държавно имущество за специални цели, свързани с националната сигурност.11. Единните регистри на разрешенията, удостоверенията, потвържденията или отказите за достъп до класифицирана информация и делата по проверките за надеждност, водени и съхранявани от ДКСИ.12. Информацията, свързана с изработването и съхраняването на печатите с изображение на държавния герб, както и на печатите на органите на държавна власт.13. Класифицирана информация, обменяна между Република България и международни организации или държави, маркирана с гриф за сигурност "Строго секретно", "Секретно", "Поверително" или равнозначни на него.14. Сведения за организационно-техническата и програмната защита на автоматизираните информационни системи или мрежи на органите на държавна власт и местно самоуправление и техните администрации.15. Информация относно проектиране, изграждане, снабдяване с оборудване и функциониране на телекомуникационни, телеинформационни и пощенски мрежи

Page 71: Учебник по национална сигурност

за предаване на класифицирана информация, представляваща държавна тайна, използвана за нуждите на въоръжените сили, службите за сигурност или организациите по обезпечаване на тези системи и мрежи.16. Пароли и кодове за достъп до устройства, които създават, обработват, съхраняват и пренасят информация, маркирана с гриф "Строго секретно", "Секретно" или "Поверително".17. Организация, методи и средства за криптографска защита на класифицирана информация, маркирана с гриф "Строго секретно", "Секретно" или "Поверително"; описание и образци на разработвани или използвани средства за криптографска защита на така класифицираната информация; ключови материали и класифицираната информация, защитена с криптографски методи и средства.18. Информация за преминаването на икономиката от мирно на военновременно положение при различните състояния и степени на бойна готовност на държавата и при положение на война.19. Информация за подготовката, организацията и използването на железопътния, пътния и водния транспорт при привеждане на държавата и Въоръжените сили на Република България в по-високи състояния и степени на бойна готовност.20. Информация за организацията, методите и средствата, служещи за опазване на класифицираната информация, представляваща държавна тайна.21. Информация за месторазположението, предназначението, планирането и снабдяването на обекти със специално предназначение, както и планове за тяхната отбрана и охрана.22. Информация за лица, подозирани в провеждане на подривна, терористична или друга противозаконна дейност срещу обществения ред, сигурността, отбраната, независимостта, целостта или международното положение на държавата, получавана, проверявана и анализирана от службите за сигурност и службите за обществен ред.23. Системата от форми и методи на опазване, както и оперативните възможности за охраната на държавната граница, дейността на граничните контролно-пропускателни пунктове, както и информация за антитерористични и антисаботажни действия на държавната граница.24. Обобщени данни, отнасящи се до функционирането на системата за опазване на класифицираната информация, съставляваща държавна тайна.25. Електронни регистри и дневници за регистрация на документи, както и списъци за други материали, съдържащи класифицирана информация, съставляваща държавна тайна.26. Материали на Министерския съвет, касаещи стратегическия потенциал на държавата, както и правителствени стратегически поръчки, свързани с националната сигурност, и тяхната реализация.27. Информация за производствената технология, както и отделни начини за защита на документи за самоличност, банкноти и други ценни книжа и разплащателни средства, както и други защитавани (от фалшификация) документи, издавани от органите на държавна власт и техните администрации.28. Информация относно планове и задачи на външната политика, чието разгласяване би увредило важни интереси на държавата до времето на официалното им обявяване.29. Материали, документи, докладни записки от международни преговори и консултации, както и международни договори или части от тях, ако са класифицирана информация.

Page 72: Учебник по национална сигурност

30. Организация и функциониране на дипломатическата поща.31. Системата за охрана на българските дипломатически и консулски представителства.32. Задачите на българските дипломатически и консулски представителства по време на война.33. Задачите по охраната на чуждестранни дипломатически и консулски представителства, както и представителства на международни организации в Република България по време на война.1.1.3. Информация, свързана с икономическата сигурност на страната1. Документи за преговори по сключване на финансови договори от общодържавно значение, чието разкриване би могло да увреди националната сигурност.2. Изследователска работа с особено съществено значение за интересите на националната икономика, поръчана от държавни органи.3. Информация относно технически, технологични и организационни решения, чието разгласяване би заплашило с увреждане важни икономически интереси на държавата.4. Информация за начина на действие на контролно-сигнални устройства, алармени системи и режима на охрана, чието узнаване би могло да увреди националната сигурност.5. Политическа, икономическа или военна информация, засягаща чужди държави, получена при условие, че ще се защитава като класифицирана информация.6. Планове, прогнози и информация за развитието на оборота със специално оборудване, специални технологии и специални услуги с други държави.7. Информация за изобретения или полезни модели, определени като касаещи сигурността и отбраната на страната съгласно Закона за патентите. 1.2. ПРОБЛЕМИ НА ИНФОРМАЦИОННАТА СИГУРНОСТ Информационната сигурност е тясно свързана със защитата на информацията. Доколкото информацията се съхранява на различни носители, защитата може да се свърже в голяма степен със защитата на носителите. Информацията се защитава през цялото време на своето съществуване: създаване, обработка, съхраняване, разпространяване и унищожаване.На държавно ниво се приемат редица нормативни документи, в основата на които стои Законът за класифицираната информация. Съществуват подобни документи за междудържавни съюзи и сдружения между ведомства и фирми.Защитата на информацията в голяма степен се свързва със защита на данните. Съществуват два аспекта на защитата на данните.Първият се отнася до защита от разрушаване или опазване на тяхната цялост. Към тази защита се отнасят борбата с вирусите, контролът за автентичност на данните, защитата от апаратни и програмни грешки и защитата от грешки на персонала.Вторият аспект се отнася до защита от нерегламентирано ползване на данни. Към тази защита се отнасят контрола на регламентирания достъп и криптографската защита на данните.Чрез защитата на информацията се постига опазване на тайната на текста на съобщението, контролиране на автентичността на полученото съобщение, идентификация на лицата, имащи права за ползване на съобщението и контрол за загубени съобщения.В резултат на масовото приложение на компютъра и компютърните системи, като

Page 73: Учебник по национална сигурност

работно място и средство за комуникация в повечето случаи, понятието информационна сигурност се свързва с понятията компютърна и мрежова сигурност.Компютърната сигурност е свързана със защита на сградите и помещенията, в които са разположени работните места. Специални мерки се вземат за защита на мрежовите принтери и комуникационната среда на компютърните мрежи. Най-важната роля на компютърната сигурност е защитата на информацията, съхранявана в паметта на компютъра. Могат да се разграничат три различни страни на компютърната сигурност:

Тайна на информацията; Наличност на информацията;

Цялостност на информацията.

Тайната на информацията е свързана с недопускане до файловата система на неоторизирани лица. В защитените системи се гарантира, че потребителите имат достъп само до информацията, която им е позволена от системата за защита. Тайната има голямо значение за информацията, свързана с националната сигурност, стратегическите намерения на корпорациите и търговските дружества.Наличност на информацията означава, че компютърната система предоставя информация на потребителите. Апаратната и програмната част работят надеждно и системата може да се възстанови при възникване на аварийни събития. Обратното на наличност е отказът от обслужване, което означава,че потребителите няма да получат информацията, от която се нуждаят. Възможни са случаи, в които ресурсите на компютърната система са недостатъчни за изпълнение на дадена заявка. Поддържането на компютърната система в изправност означава във всички случаи сигурност.Целостността на информацията е свързана с нейната точност и автентичност. Недопустими са неоторизирани преднамерени или случайни промени в записите. Особено внимание се обръща на този проблем в мрежовите комуникации.За всяка компютърна система се прави преценка за риска и възможностите за защита. Вземат общи, специални, програмни или апаратни мерки за сигурност. Обръща се голямо внимание на обучението на операторите на работните места и потребителите на информацията. Достъпът до класифицирана информация се регистрира във всички случаи, като се отбелязва времето, през което потребителят е ползвал ресурса. 1.3. УЯЗВИМОСТ НА ИНФОРМАЦИЯТА, ЗАПЛАХИ И ПРОТИВОДЕЙСТВИЯ Съществени страни на информационната сигурност са уязвимостта на информационните системи, заплахите и противодействията. За всяка система още при проектирането й следва да се предвидят нейната уязвимост и възможните заплахи. В документацията на системата се препоръчват общи и специфични мерки за противодействие на възможните заплахи.1.3.1. Уязвимост на информационните системиТочките, в които една информационна система е податлива на атаки, определят степента на нейната уязвимост. Всяка информационна система е податлива на атаки. Взетите мерки по сигурността могат в голяма степен да намалят възможностите за успешни атаки и разбиване на защитата на системата.

Page 74: Учебник по национална сигурност

Ефективната защита на системата принуждава злосторниците да влагат такива усилия, ресурси и разходи за проникване, които ги принуждават да се откажат от намеренията си. И все пак трябва да се знае, че не съществува система за пълна защита.В зависимост от типа и мястото, където системата е податлива на атаки, уязвимостите се подразделят на физически, природни, апаратни (хардуерни), програмни (софтуерни), уязвимост в периферията, уязвимости от излъчване, комуникационни уязвимости, човешки уязвимоости и експлоатационни уязвимости.Физическата уязвимост е свързана с проникване на злосторници в сградите и офисите. Възможно е разрушаване или кражба на компютри или периферни устройства. В тези случаи алармените системи и обикновените средства за защита като метални решетки на вратите и прозорците дават добри резултати. Биометричните средства за защита осигуряват надеждна първоначална защита от злосторници.Природните уязвимости са свързани с бедствия като пожар, наводнение и земетресение, които могат да унищожат компютърните системи и носителите на информация. Повреда в компютрите могат да предизвикат високата запрашеност на помещенията, влагата, много високите и ниските температури в помещенията, където са разположени компютрите.Апаратните и програмните уязвимости в някои случаи могат да извадят от експлоатация цялата информационна система. Повреди в защитата на паметта могат да предизвикат загуба на информация или лесен достъп до файловата система. Грешки в софтуера могат да намалят сигурността на системата или да предизвикат хаос в нейната експлоатация. Тестването на хардуера и софтуера на системите е задължителен по определен график и след всяко инсталиране или генериране на системата. Уязвимостта в периферните устройства е свързана с твърдия магнитен диск, оптичния диск, принтера и специалните външни запомнящи устройства. Тези устройства могат да бъдат откраднати или повредени. Възможно е чрез гъвкавия магнитен диск при определени обстоятелства да се презапише и пренесе ценна информация от файловата система на работна станция или сървър.Уязвимостта от излъчване е свързана с излъчването на електронното оборудване. Посредством специална апаратура може да се подслушват сигнали от компютърни системи и мрежи, след което се декодират. По този начин предаваната информация става уязвима.Комуникационната уязвимост съществува тогава, когато имаме свързани работни станции в мрежа или е разрешен достъпът до работна станция чрез телефон. Възможните атаки са подправяне на информацията или повреда на комуникационната среда.Човешката уязвимост може да бъде най-опасната от всички уязвимости. Сигурността на цялата система зависи в голяма степен от системния администратор. Ако той е с недостатъчна квалификация или реши да служи на друга кауза, то информационната система е в реална опасност. Потребителите на информация и операторите на работните станции, ако не спазват правилата за опазване на тайната, могат да изложат на опасност сигурността на системата.Експлоатационната уязвимост е свързана с подслушване на телефонни и радио канали. Възможно е и подслушване на клетъчен мобилен телефон. Включването към информационна система се затруднява в голяма степен когато се използват

Page 75: Учебник по национална сигурност

защитни пароли и се предава по каналите за комуникация само криптирана информация. 1.3.2. Противодействие на заплахитеТехниката и технологиите на защита на компютърните и информационните системи се определят като противодействие. В зависимост от характера на заплахите съществуват следните видове противодействия:

Компютърни противодействия; Комуникационни противодействия;

Административни противодействия.

Компютърните противодействия осигуряват защитата на информацията, съхранявана в работните станции и файловите сървъри. Особено внимание се отделя на възможностите на операционните системи за защита на файловите системи на компютрите. Операционни системи като WINDOWS, UNIX и LINUX имат сравнително добри системи за защита на данните.Комуникационните противодействия осигуряват защита на данните при предаване на информацията по различните канали. Особено внимание се отделя на възможностите за достъп до локалните мрежи и технологиите за сигурност при комуникации с външния свят.Административните противодействия осигуряват защита на апаратната част на информационните системи от вредното влияние на околната среда и злосторници. Предприемат се всички възможни мерки като решетки, ключалки, климатици, смарт-карти, биометрични устройства и др. Местата, където се съхраняват особено важни бази от данни, се инсталират електронни охранителни системи от лицензирани охранителни фирми. 1.4. ПОЛИТИКА ПО СИГУРНОСТ, КРИТЕРИИ, СТАНДАРТИ И МЕЖДУНАРОДНИ ИЗИСКВАНИЯ Политиката по сигурност е съвкупност от правила и практики, които определят как едно ведомство или фирма събира, обработва, съхранява и разпространява класифицирана информация. Това е рамката, в която се осигурява защитата на информацията. Подробно се описват обектите и субектите на защитата. Обектите могат да бъдат файлове, директории, специализирани външни запомнящи устройства и т.н. Субектите са потребителите, операторите, администраторите, процесите, приложното и системното програмно осигуряване. Гарантирането на сигурността на информацията във всяка фирма започва с подготовката на документ, наречен “Политика по сигурността”. Обикновено този документ е необходимо да съдържа:

Определяне на необходимите допълнителни ресурси и средства за осигуряване на сигурността;

Правилата и контрол за достъпа на субектите до обектите;

Правилата и средствата за идентификация на обектите и автентификация на субектите;

Page 76: Учебник по национална сигурност

Криптиращите методи, средства и устройства;

Организацията на антивирусната защита;

Регламентиране на създаването на работни документи по сигурността – “Ръководство по сигурността” и инструкции за отделните субекти (ръководители, администратори, разработчици на софтуер, потребители, клиенти и т.н.);

Регламентиране на необходимото обучение на отделните субекти;

Създаване на звено за администриране на сигурността.

Критериите и стандартите за оценка степента на защита на информационните системи се развиват непрекъснато. Всяка страна създава своя нормативна база от документи. Съществуват и междудържавни документи, касаещи сигурността на информационните системи, отнасящи се до правото на ползване на информация в международни организации и блокове. Националната агенция за сигурност (National Security Agency) на САЩ в свой документ е приела основни класове, понятия и критерии за оценка на сигурността на информационните системи. Дефинирани са четири основни класа на сигурност на защитата:

D – минимална сигурност; C – разумна сигурност;

B – мандатна (временна) сигурност;

А – доказана сигурност.

Всеки клас може да съдържа един или повече подкласове. Подкласовете се дефинират посредством множество от критерии, които са групирани в четири обобщени категории:

Политика по сигурност; Отчетност;

Гаранция за сигурност;

Документация.

Критериите са разработени на три принципа:

Измерване; Управление;

Придобиване.

1.4.1. Политика по сигурностВ политиката по сигурност се формулират основните изисквания по опазването на

Page 77: Учебник по национална сигурност

тайната и информационните системи. Обръща се внимание на следните основни категории:

Разумен контрол на достъпа до класифицирана информация; Случайно използване на обекти (ресурси);

Етикети;

Мандатен контрол на достъпа.

Разумният контрол на достъпа (Discretionary Access Control) е система от правила за ограничаване на достъпа до обектите на информационната система. Създават се условия за идентифициране на потребителите и групите. Определят се списъците на субектите, имащи права да ползват отделните файлове.Случайното използване на обектите (Object Reuse) е свързано със защитата на файловете, паметта на компютрите и други обекти от случаен достъп на неоторизирани потребители. Задължително системата за сигурност трябва да гарантира недопускане на ситуации като:

Четене на записите на изтрит файл;

Наследяване на правомощията на потребител, излязъл от системата, от друг потребител.

Етикетите (Labels) са необходими за нуждите на мандатния контрол, като се въвежда понятието променлив етикет и се описва използването му. Етикетите и мандатният контрол на достъпа са различни изисквания, но винаги се спазват съвместно.Потребителският променлив етикет специфицира нивото на сигурност на субекта. Променливият етикет на обекта специфицира нивото на сигурност, което е необходимо да притежава субектът (потребителят), за да има право на достъп до този обект. Етикетната цялост гарантира, че чувствителните етикети, асоциирани с обектите и субектите, са правилно представени на нивата на сигурност на обектите и субектите.При предаване на етикирана информация една защитена система трябва да бъде сигурна, че информацията, създадена от системата, продължава да има защитен механизъм, който й е присвоен, през цялото време на съществуването й в системата. Съществуват два типа предаващи устройства: за едно или две нива на сигурност.Етикирането на изходна информация, до която субект може да има достъп, става по два начина:

Данните се етикират в началото и в края;

Всяка страница се етикира.

Променливият етикет на субекта изисква системата да съобщава на потребителя за всяка промяна на нивото на сигурност по време на интерактивната сесия. Необходимо е потребителят по всяко време да знае нивата на сигурност за обекта

Page 78: Учебник по национална сигурност

и субекта. Защитените системи трябва да изобразяват нивото на сигурност при влизане в системата, при всяка промяна автоматично и при поискване.Етикетите на устройствата от информационната система съдържат минимално и максимално ниво на безопасност. От съдържанието на етикета се определя физическото обкръжение на обекта.Мандатният контрол на достъпа (Mandatory Access Control) представя всички възможности за достъп под контрол на системата. Необходимо е на всички обекти и субекти от системата да бъдат присвоени променливи етикети. Потребителският променлив етикет определя нивото за сигурност, присвоено на потребителя. Файловият променлив етикет определя нивото на сигурност, което трябва да има потребител, за да получи достъп до този файл. Мандатният контрол на достъпа използва променливи етикети, за да се определи кой към каква информация има достъп в системата.1.4.2. Изисквания за отчетностОтчетността в системите за сигурност гарантира идентификацията на потребителите на информацията и обслужващия състав на информационната система. Системата има възможност да идентифицира всички потребители и да използва идентификацията за решения по легитимността за достъп на потребителите. Необходимо е да се изпълняват само заявките, при които има съответствие между етикетите на обекта и субекта. Приети са следните групи от мерки за отчетност:

Идентификация и автентификация; Защитен път;

Наблюдение.

Идентификация и автентификация се изисква на всички нива на сигурност. Необходимо е всеки потребител, преди да получи достъп до ресурс, да се идентифицира. Потребителят се идентифицира в системата със свой идентификатор, след което се изисква съобщаване на парола. Паролите трябва да са защитени по следните възможни способи;

Потребителят трябва да има възможност да смени паролата си; Паролите по възможност трябва да са генерирани с компютър;

Потребителят, датата и часът на последното влизане в системата трябва да се регистрират от операционната система.

Защитеният път осигурява една безпогрешна среда, чрез която потребителят се обръща към информационната система посредством защитените приложения и слоеве на операционната система.Наблюдението включва записване, проверка и преглед на дейностите, свързани с безопасността в защитената система. Безопасната дейност е тази, която свързва субект и обект, за които е разрешен достъп. Дейностите, които са възможни при разрешен достъп са:

Влизане в системата;

Page 79: Учебник по национална сигурност

Излизане от системата;

Отдалечен системен достъп;

Отваряне, затваряне, преименуване и изтриване на файлове;

Смяна на привилегии или атрибутите за безопасност.

За всяко влизане в системата се следят и регистрират:

Датата и часа на събитието; Идентификаторът на потребителя, инициирал събитието;

Тип на събитието;

Успешен или неуспешен сеанс;

Идентификатор на работната станция или терминала, от които е направена заявката;

Името на обекта на действието;

Описание на измененията в защитените бази от данни;

Нивата на безопасност на обекта и субекта.

1.4.3. Изисквания за гарантираност Изискванията за гарантираност са множество от правила за безопасна работа с информационни системи. Увереността е гаранция, че политиката по сигурност на една защитена система е приложена правилно и че системните мерки се изпълняват безусловно. Съществуват основно два типа гарантираност:

Системна гарантираност;

Гарантираност на жизнения цикъл.

Системната гарантираност се състои от архитектурата и възможностите на системата и обхваща:

Системната архитектура; Системната цялост;

Анализ за скрити канали;

Лесно защитено управление;

Защитено възстановяване.

Системната архитектура съответства на класа на сигурност на системата. За

Page 80: Учебник по национална сигурност

системите от нисък клас на сигурност (от С1 до В1 и В2) не се налагат специални изисквания за системната архитектура. При проектиране на многопотребителски и многозадачни системи се удовлетворяват изисквания за по-висок клас на сигурност.Системната цялост е важна цел за разработчиците на защитените и незащитените системи. Системната цялост гарантира безотказна работа на апаратната част и приложното програмно осигуряване. Важна цел на системната сигурност е работоспособността на системата и изпълнението на функциите по защитата.Анализът на скритите канали е свързан с откриване на информационни канали, които не са защитени от механизмите за сигурност. Достъпът по такива канали се забранява.Лесно защитеното управление реализира концепцията за най-малката привилегия. Това означава, че потребителите в системата имат възможно най-малки привилегии и то само през време на разрешения достъп. Защитеното възстановяване гарантира, че сигурността не е компрометирана при системно прекъсване или при други откази. Предвиждат се два режима:

Следене за системни откази;

Възстановяване на системата след отказ.

Системните откази са сериозен риск за сигурността. При тези откази не функционират системните защити.Възстановяването на системата се състои от софтуерни механизми и административни процедури. Основните процедури за възстановяване са:

Рестартиране на системата в режим на единичен потребител; Възстановяване на системни файлове;

Копиране на липсващи или повредени файлове и бази от данни;

Възстановяване на проектните параметри за сигурност;

Проверка на важните за сигурността файлове.

Гарантираността на жизнения цикъл включва въпросите за контрола и стандартите при разработването и експлоатацията на системата и обхваща:

Тестване за сигурност; Планиране на спецификацията и верификацията;

Управление на конфигурацията;

Защитено разпределение и разпространение.

Сигурността на жизнения цикъл се гарантира при спазване на стандартите за тези разработки и непрекъснат контрол от страна на администратори.Тестването за сигурност се извършва от системния разработчик. Проверяват се всички възможности за пробив и сигурност съгласно документацията на системата

Page 81: Учебник по национална сигурност

с две групи тестове:

Тестове на механизмите за сигурност – дискретен контрол на достъпа, етикирането, мандатен контрол на достъпа, идентификация и автентификация, защитен път и наблюдение;

Тестове на интерфейса – всички потребителски правила, които извикват функции за сигурност.

Планирането на спецификацията и верификацията изисква доказателства, че планираното описание на системата не противоречи на политиката по сигурност. Всяко ниво на сигурност изисква модел на политиката по сигурност.Управлението на конфигурацията защитава системата при проектирането, разработването и експлоатацията й. Включва се идентификация, контрол, отчетност и ревизия на всички промени през различните етапи. Управлението на конфигурацията е препоръчително за системи от нисък клас на сигурност и задължително за системи от висок клас на сигурност. Защитеното разпределение защитава информацията до пренасянето и до работното място на потребителя.1.4.4. Изисквания за документираностИзискването за документираност представлява създаване, завеждане под инвентарен номер и използване на четири различни книги:

Ръководство на потребителя за сигурността; Учебно пособие по защита на информацията;

Документация на тестовете;

План-документация.

Ръководството за потребителя е предназначено за всички обикновени субекти. В съдържанието му са включени:

Правила за влизане в защитената система – идентификатори, пароли, съобщения и използването им;

Защитата на файловете и указания как да се четат и пишат данни без заплахи за сигурността;

Указания за преодоляване на системните ограничения.

Учебното пособие по защита на информацията е предназначено за системния администратор и за администратора по сигурността. Документацията на тестовете съдържа плана за тестване и възможности за тестване на свързаните терминали и мрежи. В този формуляр са записани очакваните резултати от тестовете и фактически получените.Планът-документация е описание на хардуера и софтуера на информационната система. С плана се постигат две цели:

Доказателства, че системата удовлетворява критериите за сигурност;

Page 82: Учебник по национална сигурност

Разработчиците представят политиката по сигурност.

 1.5. КОМУНИКАЦИОННА И МРЕЖОВА СИГУРНОСТ В концепцията за защита на мрежите са включени мерки за борба с неразумното използване на идентификатори, пароли и неразрешени комуникации. Препоръчва се предаване на криптирана информация. В концепцията са обособени следните две основни мерки:Идентификация и автентификация на обектите и субектите, които включват мерките:

Невъзможност за повторно използване на обекти от неоторизирани субекти;

Етикиране и мандатен контрол на достъпа;

Непрекъснат контрол;

Недопускане на скрити канали.

Криптиране на комуникациите, което включва:

Криптиране от край до край;

Канално криптиране.

1.5.1. Основи на мрежовата защитаЗащитата на компютърната мрежа е свързана с цялосноста на комуникациите, обслужването на откази и защитата от компрометиране.Целостността на комуникациите гарантира коректната работа на мрежата. Това означава, че съобщенията не се загубват, не се забавят, не се модифицират или не са отказани при предаване. За целта се поддържат следните услуги:

Идентификация – гарантира идентичността на потребителя и съобщенията. Прилагат се технологиите криптиране, пароли, електронен подпис, времеви щемпел на съобщението;

Цялостност на комуникационното поле – защитава точността и целостта на съобщението. Гарантира, че съобщението, включително и неговите записи не са променени случайно или преднамерено. Използват се технологиите криптиране и автентичност на съобщението.

Неотхвърляемост – гарантира предаването и получаването на съобщението. Изпращачът не може да откаже изпращането и получателят не може да откаже получаването. Използват се технологиите криптиране, електронен подпис и заверка на подпис.

Обслужване на откази – поддържа работата на мрежата и осигурява всички услуги на потребителите.

Обслужването на откази поддържа работата на мрежата и осигурява в готовност

Page 83: Учебник по национална сигурност

всички видове услуги за потребителите. За целта се поддържат следните услуги:

Продължение на операциите чрез поддържане на ефективна работа на мрежата при отказ на компонентите или атака на злосторници;

Протоколно-базирана защита за диагностика и установяване на мрежови проблеми чрез използване на протоколни услуги;

Управление на мрежата чрез следене за откриване на атаки, откази или конфликти.

Защитата от компрометиране е предназначена да поддържа предаването на информацията в секретен вид и да не позволява неоторизиран достъп до нея. За целта се поддържат следните услуги:

Поверителност на данните чрез защита на данните от подслушване при предаване от неоторизирани лица;

Поверителност на трафика чрез защита на данните от анализ. Използва се технологията за анализ на скрити канали, изменяне на параметрите на съобщенията, изпращане на шум или фиктивни съобщения;

Избор на маршрути чрез избягване на частични заплахи, като се изключват някои канали и мрежи. Използва се технологията на мрежовата конфигурация.

1.5.2. Международни изисквания за сигурностКритериите за оценка на сигурността на информационните технологии (Information Technology Security Evaluation Criteria, ITSEC) са публикувани в Германия през 1992 г. и дефинират стандарта за международна сигурност. ITSEC разглежда понятията:

Функции за безопасност; Функционални класове;

Нива на гарантираност.

Функциите на безопасност се състоят от:Идентификация и автентификация, която изисква обектите и субектите да са идентифицирани и автентифицирани. Стандартът определя три механизма:

Идентификация чрез притежание; Идентификация чрез знание;

Идентификация чрез отличителни черти.

Администриране на правомощията чрез определяне на:

Правомощията на обектите и субектите, както и връзките между тях; Специалните правила в системата;

Page 84: Учебник по национална сигурност

Правилата за гарантиране на пълномощията и промяната в тях.

Проверка на пълномощията – проверяват се пълномощията на всеки субект, когато той иска да получи достъп до обект.Наблюдение – наблюдават се събитията, свързани със сигурността, и се регистрират всички обръщения към системата.Повторно използване – изисква се изчистване на данните след всяко използване, за да не могат случайни потребители да получат информация, за която нямат пълномощие.Възстановяване при грешки. Изисква се своевременно откриване на условията за грешки и тяхното отстраняване.Работоспособност. Системата непрекъснато трябва да осигурява всички услуги за поддържане на сигурността.Защита на данните при предаване. Използват се следните функции и механизми за защита на данните при предаване:

Първоначална автентификация; Контрол на достъпа;

Поверителност на данните;

Цялост на данните;

Автентичност на данните;

Безотказност.

Функционалните класове са следните:

F1 – съответства на клас С1; F2 – съответства на клас С2;

F3 – съответства на клас В1;

F4 – съответства на клас В2;

F5 – съответства на клас В3/А1;

F6 – отделен клас системи с изисквания за висока интеграция на данните и програмите;

F7 – отделен клас системи с изисквания за завършеност на системата или за конкретно назначение на системата;

F8 – отделен клас системи с изисквания за гарантиране на целостта на данните по време на предаването им;

F9 – отделен клас системи с изисквания за гарантиране на поверителността

Page 85: Учебник по национална сигурност

на данните по време на предаването им;

F10 – отделен клас системи с изисквания за поверителност и цялостност на предаваната информация. Този клас е подходящ, когато трябва да се обменя важна информация чрез незащитени публични мрежи.

Нивата на гарантираност на системата за сигурност са следните:

Е1 – ниво за тестване на системата; Е2 – ниво за контрол на конфигурацията и разпределението на системата.

Съответства на клас за сигурност С2;

Е3 – ниво за достъп до изходни текстове. Съответства на клас за сигурност В2;

Е4 – ниво за прецизен анализ на уязвимостта. Съответства на клас за сигурност В2;

Е5 – ниво за представяне на съответствието между подробния проект и изходните текстове. Съответства на клас за сигурност В3;

Е6 – ниво за формални модели и формални описания. Съответства на клас за сигурност С2.

 Ключови думиСигурност, защита на информацията, категории информация, вътрешната сигурност, икономическата сигурност, информационната сигурност, уязвимост, заплахи, противодействия, противодействие на заплахите, политика по сигурност, идентификация, автентификация, гарантираност, документираност, комуникационна и мрежова сигурност, мрежовата защита, изисквания за сигурност.  ЗА САМОПОДГОТОВКАВъпроси и задачи

1. Какви категории информация познавате?2. Опишете основните характеристики на компютърната сигурност?

3. Какви заплахи и уязвимости на информацията познавате?

4. В какво се изразява същността на политиката на сигурност?

5. Какво представляват идентификацията и автентификацията?

 

Page 86: Учебник по национална сигурност

2. ВЕДОМСТВЕННА И ФИРМЕНА СИГУРНОСТ2.1. ОСНОВИ НА ВЕДОМСТВЕНАТА И ФИРМЕНАТА СИГУРНОСТ Главата е посветена на комплекса от мерки за защита на информацията във ведомствата и фирмите. Приложението на целия комплекс или отделни елементи от защитата става по преценка на риска от заявителите и собствениците на информационната система. Анализират се вероятните атаки на системата и загубите при пробив на системата за сигурност на ведомството и фирмата. Системата за информационна сигурност се изгражда със следните основни средства:

Административни средства; Организационни средства;

Технически средства;

Програмни средства.

Административните средства се състоят от разпоредби, правила и технологии по сигурността и режима на функциониране на информационната система. В тези средства са включени и функционалните задължения на длъжностните лица на фирмата.Организационните средства се състоят от мерки по обособяване на сървъри, мрежови устройства, устройства за засекретяване на информацията и част от работните станции в помещения, защитени от електромагнитни излъчвания и контролиран достъп.Техническите и програмните средства осигуряват защита на данните при глобалните комуникации. Особено внимание се обръща на сървърите, локалните мрежи и работните станции.При изграждането на фирмената и корпоративната сигурност е необходимо да се извършат следните задължителни действия:

Конфигуриране на корпоративната Интранет; Дефиниране на потребителите и правомощията им;

Изграждане на система за управление на паролите;

Регламентиране на чувствителните услуги;

Системен мониторинг;

Осигуряване на целостта на данните;

Осигуряване на регламентиран достъп до данните.

Конфигурирането на корпоративната Интранет е задължителна дейност, когато корпорациите и фирмите създават своя частна мрежа, работеща по протоколите на Интернет (IP), или се ползва изцяло Интернет. Собствените корпоративни мрежи са по-доброто решение от гледна точка на опазване на важните данни.

Page 87: Учебник по национална сигурност

Конфигурират се локалните мрежи, техническите и мрежовите устройства. Вземат се на отчет сървърите, работните станции, активното и пасивното мрежово оборудване.Инсталира се нужният системен мрежов софтуер. Определят се протоколите, адресите, имената и услугите в локалните мрежи, Интранет или Интернет. Проверява се и се инсталира потребителския софтуер.Дефинирането на потребителите и правомощията им се извършва чрез обособяване на следните групи:

Групи на администраторите; Групи на глобалните потребители;

Групи на локалните потребители;

Групи на обикновени потребители;

Потребители със специални пълномощия (ръководители).

Потребителските пълномощия се ограничават през времето, необходимо за регистрация на потребители. Потребителските пълномощия се ограничават и при възникване на събития, като опит за неправомерен достъп, изтичане на срока за достъп и забрана на достъп до определени данни. Потребителските пълномощия могат да се възстановят динамично, чрез стартиране на файл за настройка на конфигурацията.Изграждането на система за управление на пароли е задължително при съхранение на класифицирана информация в информационните системи. Необходимо е и системният софтуер да изисква въвеждане на парола при стартиране на работните станции и сървърите. Въведените пароли трябва да се контролират за максимална и минимална дължина и за използване на символи само от допустимото множество. Необходимо е и да се въведат и ограничителни условия за броя на буквите, цифрите и характерни последователности от букви и цифри.Не се допуска използване на една и съща парола повече от определен брой пъти. Предвижда се възможност за смяна на паролата от потребителя, което дава на потребителя самочувствие и го прави отговорен за опазване на фирмената тайна. Добрата защита изисква често административно активиране на процеса на смяна на паролите от потребителите. Необходимо е стриктно да се контролира времето за актуалност на паролите. Часът и датата на създаване на паролата, както и тези данни от успешното използване на паролата за влизане в системата се съхраняват в отделен служебен файл.Чувствителните услуги регламентират услугите по ползването на чувствителните за корпорацията данни. В този смисъл се разработва система за контрол на физическия достъп и достъпа до системата, системните услуги и данните. За потребителите се регламентират възможностите за отдалечен достъп. Системното наблюдение включва записване, проверка и преглед на дейностите, свързани с безопасността на информационната система. Събитията, които се контролират при наблюдение, са: успешно или неуспешно влизане в системата, излизане от системата, отдалечен достъп до системата, отваряне, затваряне, преименуване и изтриване на файлове, смяна на атрибути или привилегии за сигурност.

Page 88: Учебник по национална сигурност

За всяко събитие се регистрират: идентификатор на потребителя, датата, точния час, типа на събитието, успешност или неуспешност, името на обекта на действието, описание на измененията в базите данни, нивата на безопасност на обекта и субекта. Осигуряването на целостта на данните изисква процедури за възстановяване на файловете в сървърите и работните станции и организация на надеждна антивирусна защита.Осигуряването на регламентиран достъп до данните изисква разработване на цялостна система за контрол на достъпа до данните и криптографска зашита на файловете, съобщенията и електронната поща. 2.2. ПРЕДНАЗНАЧЕНИЕ, ОБХВАТ, ФУНКЦИИ И МЯСТО НА СИСТЕМАТА ЗА ИНФОРМАЦИОННА СИГУРНОСТ Системата за информационна сигурност е предназначена да осигури изпълнението на изискванията на държавните и ведомствени нормативни документи по опазване на фирмената тайна чрез защита на данните и ресурсите от случайно или преднамерено разкриване, модификация, неправомерно използване или унищожаване. Обхватът се разпространява върху всички нива и звена на системата, както и върху потребителите. Обекти на защита са:

Работните помещения; Работните станции и сървърите;

Програмното и информационнот осигуряване;

Комуникационната среда;

Криптографската защита.

Основните функции на системата за информационна сигурност са:

Идентификация и автентификация; Контрол на достъпа до ресурсите на системата;

Изграждане на защитни стени;

Изграждане на виртуални частни мрежи;

Отдалечен достъп до Интранет ресурси;

Предоставяне на криптографски услуги;

Защита на програмите и данните от копиране, разрушение и промяна;

Наблюдение и регистрация на извършваните дейности;

Антивирусна защита и профилактика;

Page 89: Учебник по национална сигурност

Защита от излъчване;

Контрол на трафика;

Анализ и откриване на пробиви в Интранет на фирмата.

Системата за информационна сигурност поддържа следните сервизни функции:

Контрол на състоянието на системата; Откриване и обработка на събитията, застрашаващи сигурността;

Тестване и самотестване на елементи от системата;

Отчетност на дейностите, свързани с експлоатацията на системата.

Системата за информационна сигурност е основен елемент на информационната система. Тя обхваща всички обекти, в които са разположени изчислителните средства, мрежовото и специалното оборудване, като обединява методите и технологиите за защита в техническите и програмните средства.Информацията, обработвана в Интранет, се класифицира по тип и степен на секретност както следва:

Некласифицирана информация; Чувствителна информация, включваща в състава си:

Конфигурационни файлове;

Файлове за права на достъп;

Системни дневници;

Изпълними програми, влияещи върху работоспособността на системата.

Информация за служебно ползване;

Секретна и строго секретна информация.

Защитата се диференцира в зависимост от типа и секретността на информацията.Системата за информационна сигурност е относително самостоятелен елемент в Интранет на фирмата. Във функционално отношение системата има връзка и осигурява всички подсистеми на Интранет чрез предоставяне на следните услуги:

Криптиране и декриптиране на информацията; Цифрова сигнатура (имитосума);

Електронен подпис;

Управление на достъпа;

Page 90: Учебник по национална сигурност

Обмен и проверка на идентификатори.

 2.3. ОРГАНИЗАЦИОННА СТРУКТУРА И АРХИТЕКТУРА НА СИСТЕМАТА ЗА ИНФОРМАЦИОННА СИГУРНОСТ В зависимост от мащабите на фирмата и за нормалното функциониране на системата се създават специализирани органи и се назначават длъжностни лица, както следва:

Център за администриране и безопасност; Администратори по сигурността във възлите;

Център за управление на ключове и пароли.

В центъра за администриране и безопасност се извършват следните дейности:

Дефиниране на потребителите, ресурсите и правата за достъп до тях; Дефиниране на схемите за информационно взаимодействие;

Взаимодействие с центъра за подготовка, разпределение и управление на пароли;

Централно управление и контрол на състоянието на Интранет на фирмата;

Откриване и обработване на събития, застрашаващи безопасността;

Следене и регистрация на извършваните дейности.

Администраторите по сигурността осигуряват функционирането на системата за информационна сигурност в Интранет, като извършват следната дейност:

Дефинират потребителите, ресурсите и правата за достъп до тях; Определят схемите на информационно взаимодействие във възела:

Поддържат актуално състояние на системите, носители на ключове и пароли на средствата за криптографска защита;

Инсталират и администрират програмното осигуряване върху криптографския сървър на възела и работните станции;

Осъществяват взаимодействие с центъра за администриране и безопасност;

Откриват и обработват събития, застрашаващи безопасността;

Следят и регистрират извършваните дейности в информационната система на фирмата.

Центърът за подготовка, разпространение и управление на ключове и пароли

Page 91: Учебник по национална сигурност

подготвя системни, ключови и паролни носители на базата на указанията и сроковете, определени от длъжностни лица в центъра за администриране и безопасност.За нормалното функциониране на системата за информационна сигурност е необходимо да се разработят следните експлоатационни документи:

План за защита; Ръководство по защита;

Документация с тестове;

Инструкции за центъра за администриране и безопасност;

Инструкции за администратора по безопасността;

Инструкции за потребителя.

Планът документира съдържанието на програмното и техническото осигуряване на системата за сигурност и има за цел:

Да подпомогне проектантите и разработчиците при реализацията на политиката по сигурност;

Да докаже на оценяващите, че системата за сигурност удовлетворява напълно критериите за сигурност.

Ръководството по защита е предназначено за системния администратор и/или администратора по безопасността.Документацията с тестовете трябва да съдържа план за тестване, очаквани резултати и действителните резултати.Инструкцията за центъра за администриране и безопасност е предназначена за отговорниците в центъра и служи за описание на дейността със специфичните и програмни средства при изпълнение на функционалните им задължения.Инструкцията за отговорника по безопасността е предназначена за отговорниците във възлите на Интранет и служи за описание на работата със специфичните програмни и технически средства при изпълнение на функционалните им задължения.Инструкцията за потребителя е предназначена за обикновени потребители без привилегии и включва следните основни части:

Влизане в защитена система със съдържание: Идентификатор на потребителя;

Парола на потребителя;

Смяна на паролата;

Съобщения и тълкуването им.

Page 92: Учебник по национална сигурност

Защита на файловете и друга информация;

Системни ограничения от гледна точка на безопасността.

Архитектурата и функционалната системата за информационна сигурност се изграждат в съответствие с функциите и услугите, които тя предоставя:

Защита от електромагнитни излъчвания; Контрол на физическия достъп;

Защита на сървърите и работните станции;

Контрол на достъпа до ресурсите на сървърите и работните станции;

Защита на комуникационната среда;

Защита на данните “от край до край”;

Защита на приложните процеси;

Антивирусна защита и профилактика;

Наблюдение и контрол.

Защитата от електромагнитните излъчвания се решава по два начина:

Използване на защитени компютри за основните длъжностни лица, обработващи секретна и строго секретна информация;

Използване на средства за активна защита.

Контролът на физическия достъп трябва да се реализира чрез провеждане на административно-организационни мероприятия, технически и програмни средства, като се ограничи достъпът до:

Всички работни места в системата; Сървърите и работните станции, на които се работи със секретна и

чувствителна за фирмата информация;

Мрежовите и локални принтери;

Активните и пасивните мрежови устройства;

Кабелната система на мрежите;

Устройствата за защита (криптиране) на информацията.

Средата за контрол на физическия достъп и охраната се състои от:

Page 93: Учебник по национална сигурност

Контрол на достъпа до помещенията; Вътрешна охрана;

Контрол на достъпа до кабелните системи;

Видеонаблюдение;

Контрол за наводнение;

Пожароизвестяване.

Необходимо е средата за достъп и охрана да осигурява следните функционални възможности:

Контрол на физическия достъп до различните типове помещения; Известяване на длъжностните лица от охраната и на центъра за

администриране и безопасност за регистрирани нарушения;

Местна сигнализация;

Местно и дистанционно управление на работните режими на системата за контрол на физическия достъп;

Непрекъсната диагностика и контрол на техническите средства;

Поддържане на архив за проведените мероприятия по защитата.

Препоръчителните технически параметри на системата за контрол на физическия достъп са:

Захранване от мрежово напрежение 220 волта и от резервно напрежение от акумулатор;

Време за работа от резервният източник на ток не по-малко от 12 ч;

Време за реакция на системата 2 секунди.

Защитата на сървърите и работните станции, обработващи чувствителна и секретна информация, трябва да използва средства, осигуряващи защита при:

Стартиране на сървърите и работните станции; Съхраняване на данни върху магнитни носители;

Проверка на пълномощията и контрол на достъпа до ресурсите.

Възможни решения за тази защита са:

Използване на технически криптографски устройства за защита при стартиране, контрол на достъпа до ресурсите, криптографска защита на

Page 94: Учебник по национална сигурност

данните записани на магнитни и оптични носители и на електронната поща;

Разработване на програмни продукти с подобни на горните криптографски функции. Тези продукти работят във фонов режим и криптират входно-изходния обмен с периферните устройства;

Прилагане на административни и организационни мероприятия.

Контролът на достъпа до ресурсите на сървърите и работните станции се реализира чрез използване на:

Функционалните възможности на операционните системи, мрежовото програмно осигуряване и системите за управление на бази от данни;

Функционалните възможности на хъбовете, ключовете, концентраторите и мрежовите процесори;

Изграждане на защитни стени (firewall) както за връзка на Интранет с Интернет, така и за връзка между различни мрежи на фирмата;

Използване на сървъри за достъп до ресурсите;

Използване на цифрови сертификати при разработки създадени на базата на WWW-технологията.

Функциите за достъп до системата се свеждат до автентификация, авторизация и акаунтинг (ААА). Това е структура от три независими функции за осигуряване на сигурност при отдалечен достъп до ресурс.Автентификацията осигурява метод за идентифициране на потребители, състоящ се от диалог за име и парола със запитване и отговор. Автентификацията е начин потребителят да се идентифицира, преди да му е позволен достъп до мрежата и мрежовите услуги. Съществуват различни методи за автентификация, които се използват в различни входни точки. За случая по-често в практиката се използва думата идентификация.Авторизацията осигурява метод за контрол на отдалечен достъп, състоящ се от еднократна авторизация или авторизация за всяка услуга и всеки потребител или група поотделно.Акаунтингът осигурява метод за събиране и изпращане на информация, която може да се използва за таксуване, проверка и отчет. Информацията в случая съдържа идентификация на потребителя, начало и край на сесията, изпълнение на команди, брой пакети, количество на информацията в байтове и др. Акаунтингът дава възможност за проследяване на услугите, които потребителят ползва, и оценка на обема на ползваните ресурси.Контролът за правомерен достъп се извършва в повечето случаи от сървърите за достъп. Най-често използваните протоколи за връзка със сървърите за достъп са RADIUS, TACACS+ или Kerberos:По протоколА RADIUS работи разпределена клиент/сървър система, използваща ААА, и предпазва мрежите от неоторизиран достъп. При реализация на Cisco RADIUS клиентът работи върху Cisco устройства и изпраща заявки за

Page 95: Учебник по национална сигурност

автентификация към централния RADIUS сървър, в който е записана пълна информация за потребителите.TACACS+ е приложение, изпълнено на базата на ААА, и извършва централизирана проверка на потребителите, които искат достъп до рутера или сървъра за достъп. Услугите се пазят в база данни на TACACS+ приложението, което може да работи върху операционна система UNIX ,WINDOWS NT и всяка друга платформа.Kerberos е мрежов протокол за автентификация, използващ секретни ключове, базирани върху ААА. Използва се алгоритъм за криптиране и автентификация. Kerberos е предназначен за автентифициране на заявки за използване на мрежови ресурси. Концепцията му е базирана на доверена трета страна, която проверява потребителите и услугите.Системите, използващи тройната система за защита ААА, са най-надеждното решение в областта на компютърната сигурност. Обикновено се използват ключове, генерирани от програма, които се съхраняват на магнитен диск или отпечатани на хартия. 2.4. ЗАЩИТА НА КОМУНИКАЦИОННАТА СРЕДА И АНТИВИРУСНА ЗАЩИТА Криптирането на данните е основната защита на комуникационната среда. В Интранет на фирмите се използват функционалните възможности на активните мрежови устройства (рутерите), възможностите на защитните стени, виртуалните частни мрежи, защитените сесии и защитената електронна поща.За криптографска защита на данните в комуникационната среда на локалните мрежи се използват:

Специализирани криптографски устройства; Собствен софтуер за криптографска защита;

Защитени сесии;

Защитена електронна поща.

При защита на данните “от край до край” се извършва криптографска защита със собствен софтуер, който работи на приложно ниво в два режима:

Фонов – за криптиране на съобщения и заявки;

Изпълним модул – за криптиране на ниво файл.

Необходимо е този софтуер да поддържа двата вида криптографски алгоритми:

Симетрични (за работа със секретни ключове);

Асиметрични (за работа с публични ключове).

В архитектурата на криптографския софтуер са включени:

Програмно осигуряване за крайния потребител;

Page 96: Учебник по национална сигурност

Потребителски програмен интерфейс;

Система за разпределение и управление на ключове и пароли;

Осигуряване на администраторите по сигурността.

Защитата на приложните процеси се реализира чрез:

Контрол на достъпа при стартиране на системата; Контрол на достъпа до функциите на системата;

Тестове за проверка на целостта на програмите и данните.

За целта се разработват правила и технологии, които съвместно с криптографските средства се вграждат в съответните приложения.Антивирусната защита и профилактика се реализира чрез административно- организационни мероприятия и програмни средства за защита на оперативната памет и магнитните носители. Осигурява се възможност за:

Проверка на магнитните носители; Проверка на данни и програми;

Проверка на оперативната памет;

Отстраняване на последствията при проникване на вирус.

Необходимо е да се организират наблюдение и контрол за осъществяване на:

Физическо наблюдение на сървърите и работните станции, обработващи и съхраняващи класифицирана информация;

Физическо наблюдение на устройствата за криптиране;

Наблюдение на мрежовото оборудване;

Наблюдение на системните средства на операционните системи;

Наблюдение и регистрация на извършваните дейности с информационната система.

 2.5. СИСТЕМА ЗА ИДЕНТИФИКАЦИЯ И АВТЕНТИФИКАЦИА НА ПОТРЕБИТЕЛИТЕ И КРИПТОГРАФСКА ЗАЩИТАСистемата за идентификация и автентификация на потребителите (СИАП) е предназначена за проверка на потребителите в различни приложения с помощта на сървър за идентификация и автентификация, чрез използване на еднократни пароли и устройства за генерирането им на основата на криптографски методи и алгоритми. Сървърите, които идентифицират и автентифицират потребителите, притежават устройства за генериране на еднократни пароли, за достъп до услугите на приложенията. За целта се използват услугите ААА.

Page 97: Учебник по национална сигурност

Архитектурата на системата за идентификация и автентификация на потребителите се състои от:

Длъжностни лица; Сървър за идентификация и автентификация;

Устройства за генериране на еднократни пароли;

Приложения.

Длъжностните лица в системата са:

Администратор по сигурността;

Потребители.

При подготовката за експлоатация на информационната система администраторът по сигурността извършва следните действия:

Изготвяне на схема за СИАП; Инсталиране и конфигуриране на СИАП;

Работа на администратора с потребителите;

Водене на дневниците;

Наблюдение и анализ на работата на СИАП.

Схемата за използване на СИАП съдържа:

Списък на приложенията, изискващи идентификация и автентификация; Списък на потребителите, използващи приложения;

Двумерна таблица, описваща връзката “потребител” – “приложения”.

Таблицата за връзка се попълва с “1”, ако потребителят и приложението са свързани, и “0”, ако не са свързани. Колоните на таблицата съответстват на приложенията и редовете на потребителите.Инсталирането и конфигурирането на системата се извършват от администратора и включват:

Инсталиране и конфигуриране на сървър за защита; Конфигуриране на приложения;

Настройка на задължителна идентификация и автентификация от сървъра;

Въвеждане на ключ за взаимодействие със сървъра;

Page 98: Учебник по национална сигурност

Определяне на правомощията на потребителя.

Криптографската защита е разгледана подробно в глава V. Този метод на защита на данните, записани върху магнитен носител, се реализира чрез програмни продукти за криптографска защита, които са целево създадени и осигуряват:

Прозрачна киптографска система; Криптографска защита на данни на ниво файл, сектор и блок данни в

сървъри и работни станции;

Подготовка и проверка на имитосума (хеш-код) на всички нива на системата;

Електронен подпис;

Потребителски интерфейс и вграждането му в приложното програмно осигуряване;

Криптографските продукти се състоят от четири основни части:

Програмно осигуряване на крайния потребител; Програмно осигуряване за вграждане в потребителски приложения;

Програмно осигуряване за анализ и контрол;

Програмно осигуряване на центъра за подготовка, разпределение и управление на ключове и пароли.

Програмното осигуряване на крайния потребител е необходимо да позволява следните функционални възможности:

Криптиране и декриптиране на информацията, записана върху магнитни носители на ниво сектор във фонов режим;

Криптиране и декриптиране на файл;

Прекриптиране на файл;

Подготовка и проверка на имитосума;

Подготовка и проверка на електронен подпис;

Разглеждане на файл;

Справка за състояние на файл;

Дневник и архив на извършените действия със системата.

Програмното осигуряване за вграждане в потребителски приложения предоставя

Page 99: Учебник по национална сигурност

възможност за включване на процедури по криптиране и декриптиране, изпълнявани за един или повече файлове. Позволява избор на допустими ключове, подготовка и проверка на имитосума и електронен подпис.Програмното осигуряване за анализ и контрол е предназначено за администратора и центъра за администриране и безопасност и предоставя възможност за:

Контрол на използването на криптографски продукти; Анализ при констатиране на опити за нерегламентирано използване на

информация;

Автентифициране на инсталираното програмно осигуряване и недопускане изпълняване на неидентифицирано такова;

Динамична проверка за наличието на процеси, прихващащи въвежданите от клавиатурата символи.

Центърът за подготовка, разпределение и управление на ключовете и паролите създава паролите и ключовете, координира мероприятията по сигурност и извършва необходимите промени по график. За целта се разработва програмно осигуряване със следните функционални възможности:

Дефиниране на потребители с персонален ключ; Дефиниране на групи с общ ключ;

Генериране на ключове;

Създаване на системни и ключови носители;

Смяна на ключ за потребител или група с или без компрометиране;

Контрол на състоянието;

Анализ на използваната криптографска система.

Програмното осигуряване, системните и ключовите файлове се разпространяват на магнитни носители (дискети) в криптиран вид и в зависимост от приложенията могат да се инсталират върху твърдия диск на работните станции или в обособен сървър за отделните възли. Достъпът до програмите и ключовете се разрешава чрез индивидуални пароли. 2.6. ЗАЩИТА НА ИНФОРМАЦИОННИТЕ СИСТЕМИ ПРИ ИЗПОЛЗВАНЕ И ВЗАИМОДЕЙСТВИЕ С WWW-ТЕХНОЛОГИИВ съвременното информационно общество е необходимо свързване на локалните и корпоративните мрежи към глобалните. Фирмите по този начин си взаимодействат, разменят си документи, сключват договори и т.н. За съжаление, съвременните комуникации в глобалната мрежа Интернет са свързани с риск за изтичане на служебна информация или хакерски атаки. Осигуряването на защитата при използване на WWW-технологии изисква:

Page 100: Учебник по национална сигурност

Идентификация и автентификация на потребителите във уеб-сървърите; Идентификация и автентификация на уеб-сървърите;

Контрол на достъпа до ресурсите на уеб-сървърите;

Защита на сесиите;

Защита на електронната поща.

Решаването на проблемите по защитата чрез използването на пароли е несигурно и неприемливо поради:

Трудности при менажирането и опазването на паролите;

Предаването на паролите по незащитени канали и възможност за прихващане.

За целта са разработени и внедрени за използване цифрови сертификати. Това са файлове с определена структура, над чиито данни се изпълняват криптографски операции за осигуряване на по-високо ниво на сигурност при идентефикация и автентификация, отколкото при използване на име и парола.Архитектурата на такава среда включва следните компоненти:

Специализиран сървър за издаване и подписване на цифрови сертификати; Уеб-сървъри, конфигуриране за работа с цифрови сертификати;

Потребители, притежаващи цифрови сертификати и използващи ги за достъп до ресурсите на уеб-сървърите.

По-известни цифрови сертификати са тези на Netscape inc. и VeriSign inc. Продуктите на Microsoft за работа в Интернет, Netscape communicator, Oracle Navigator поддържат работа с цифрови сертификати. Всеки цифров сертификат съдържа информация за:

Дата на издаване; Сериен номер;

Използван алгоритъм за електронен подпис;

Издател на сертификата;

Срок на валидност на сертификата;

Притежател на сертификата;

Използван алгоритъм за работа с публични ключове;

Page 101: Учебник по национална сигурност

Публичен ключ;

Идентификатор за типа на сертификата;

Предназначение на сертификата (за сесия, електронна поща и т.н.);

Идентификатор на специализирания сървър за сертификати;

Алгоритъм за електронен подпис;

Електронен подпис.

В технологията за издаване на цифрови сертификати са използвани следните стандарти:

SSL (Secure Socket Layer) – протокол за защита на комуникационния канал по време на сесията между уеб-клиент и сървър;

X.509 v.3 – стандарт, определящ синтаксиса и семантиката на сертификата;

PKCS (Public Key Cryptographic Standards) с модификации 7 и 10 – стандарти, определящи форматите на цифровия сертификат и заявката за сертификат;

HTTP и HTML – стандартни уеб-протоколи за управление на сертификатите;

LDAP – стандарт за дистрибуция на сертификатите.

Пълният набор от програмни продукти за организиране на защитата включва:

Certificate Server – за изграждане на специализиран сървър; Enterprise Server – за изграждане на уеб-сървър;

Navigator – за достъп до ресурсите на уеб-сървъра от клиентите.

Криптографска основа са алгоритми с различно предназначение. За защита на данните в сесията SSL се използват RC2 или RC4. За защита на сертификатите, за предаване на ключовете за SSL и за идентификация и автентификация се използва протоколът RSA. За електронен подпис на съобщенията се използва протоколът MD5. За дефиниране на формата на сертификата и заявката за него се използва протоколът PKCS.Алгоритъмът RS2 е 64-битов алгоритъм с променлива дължина на ключа от 0 до Max стринг, който съответният компютър поддържа. RC4 e поточен алгоритъм с променлива дължина на ключа. RSA e криптографски алгоритъм, базиран на публичните ключове. MD5 е one-way hash функция, която подготвя 128-битова имитосума. PKCS (Public Key Cryptographic Standards) са индустриални стандарти за криптография, базирани на публични кодове.В средата за защита на информационните системи при взаимодействие с уеб-технологии се разграничават функционалните характеристики на:

Page 102: Учебник по национална сигурност

Администратор на системата; Издателите на сертификати;

Потребители в системата.

Администраторът организира взаимодействията и определя условията за ограничаване на достъпа до ресурсите на сървъра за сертификати и уеб-сървъра. Ограниченията до уеб-сървъра става по критериите:

Потребителите от определена база от данни; Потребителите от определена група;

По списък;

По IP-адреси;

Комбиниране на изброените по-горе условия.

Идентификацията на потребителите се извършва чрез име на паролата (класически способ) и потребителски сертификат.Издателите на сертификати се дефинират в сървъра за сертификати и имат достъп до функцията привилегирован потребител от менюто. Основните им функционални възможности се заключават в издаването чрез подписване на чакащи сертификати. Отстраняване на сертификати и формиране на заявки за нови сертификати.Потребителите получават достъп посредством браузери до ресурсите на сървъра за сертификати и уеб-сървъра. В сървъра за сертификати те получават достъп до менюто за общите потребители. В уеб-сървъра на потребителите се разрешава достъп до ресурси в зависимост от дадените им права от администратора на системата.Основните функции по защитата, до която потребителите на уеб-сървъра имат достъп, са:

Password – паролата служи за опазване на секретния ключ и сертификатите. Препоръчва се паролата да е съставена от не по-малко от 8 символа, задължително е да се комбинират букви и цифри, като се следи да няма съвпадение с име от речниците. Има възможност за смяна на паролата на навигатора, ако се знае старата парола и да се дефинира честотата на искане на парола;

Navigator – определят се режимите на функциониране на навигатора, като предупреждения, избор на сертификат и конфигуриране на сесията.

Messenger – могат да се настроят режимите за изпращане на съобщения: криптиране на електронна поща; подпис на пощата; подпис на съобщения при дискусии и новини; избор на потрбителски сертификат; криптиране на съобщения.

Certificate – дефинира операциите за манипулиране със сертификатите. За

Page 103: Учебник по национална сигурност

собствените сертификати операциите са: преглед, проверка, изтриване, импорт; експорт и заявка за сертификат.

За нормалното изграждане и конфигуриране на средата е необходимо последователно извършване на следните дейности:

Кофигуриране на системата; Създаване на заявки за издаване на сертификати;

Издаване на сертификати;

Инсталиране на сертификати;

Създаване на механизми за криптографски взаимодействия;

Организиране на съхранение.

Конфигурирането е свързано със създаването на сървъра за сертификати, уеб-сървъра, дефиниране на правомощията на потребителите и групите и режимите на взаимодействие между сървъра и клиентите.Заявките за издаване на сертификати са потребителски, за сървърите и за сървъра за сертификати.Механизмите за криптографското взаимодействие касаят отношенията клиент/сървър. Технологията, която осигурява защитата на това взаимодействие, е SSS (Secure Socket Layer) – криптографска схема, която се установява в следната последователност:

Потребителят се идентифицира в защитения сървър; Сървърът изпраща своя подписан сертификат, а клиентският браузер

използва публичен ключ на сървъра, за да провери собственика му;

Клиентът проверява дали сървърският сертификат е в негвия списък и ако го няма, предупреждава със съобщение;

Клиентът проверява дали този сертификат е на този сървър, в който той се е инициализирал;

Сървърът прави заявка за клиентския сертификат;

Потребителят избира кой персонален сертификат да предостави на сървъра (ако има повече от един);

Когато се установи защитен канал, клиентът генерира сесиен ключ, криптира го със сървърския публичен ключ и го изпраща на сървъра;

Сървърът декриптира получения сесиен ключ със своя частен ключ;

Page 104: Учебник по национална сигурност

Следва криптиране на информацията със сесийния ключ.

За всяка транзакция се генерира различен сесиен ключ. Ако транзакцията продължи повече време от определеното с настройките, се генерира нов сесиен ключ.Съхраняването е процес на запазване на секретните ключове, базите с данни за потребителите и ключовете им.  2.7. ИЗПОЛЗВАНЕ НА ЗАЩИТНИ СТЕНИ (FIREWALLl)В резултат от изследването на проблемите по сигурността на информационните системи при използване на Интернет услуги са установени слабости като:

Проследяване и достъп до електронната поща; Използване на слабости в адресирането;

Използване на постоянни пароли в открит вид.

Тези слабости създават условия за неоторизиран достъп, модификация или разрушаване на информационните ресурси на частната мрежа.Защитната стена в Интернет е система за провеждане на политика по сигурност. Защитната стена е част от глобалната политика по сигурност, която създава отбранителна зона за защита на информационните ресурси на ведомството. Всички потенциални точки за мрежова атака трябва да са защитени със съответните нива на мрежовата защита.Целите на защитната стена се свеждат до определяне на вътрешните услуги, които могат да са достъпни за външни потребители, и до определяне на външните услуги, достъпни за вътрешните потребители на мрежата.Защитната стена гарантира редица предимства като:

Концентриране на мрежовата сигурност; Дефиниране на “задушаваща точка” за защита от неоторизирани

потребители;

Разгръщане на преобразовател на мрежовите адреси;

Наблюдение и регистрация на използването на Интернет;

Съхранение на WWW- и FTP-сървърите.

Защитната стена не е достатъчно надеждна при:

Атаки, които не минават през стената; Наличие на чужди агенти или недобросъвестни потребители;

Осигуряване на временен мрежов достъп;

Предаване на заразени с вируси програми или данни;

Page 105: Учебник по национална сигурност

Предаването на данни.

За да е ефективна системата за защита, е необходимо взаимодействието с Интернет да минава през защитна стена за анализ и регистрация. Защитната стена може да се изгради с помощта на:

Маршрутизатори (рутери) с възможности за филтриране на пакети; Шлюз на приложно ниво или упълномощен сървър с използване на

специален компютър;

Шлюз при изграждане на връзките.

Най-високата степен на сигурност гарантира защитна стена от тип демилитаризирана зона. Тя се изгражда между Интернет и фирмената мрежа и се състои от:

Рутери с възможност за филтриране на пакетите; Специализиран компютър за защита;

Сървъри с публична информация.

Демилитаризираната зона се дефинира като част от Интернет и като елемент на фирмената мрежа. Тя е организирана от два основни елемента и гарантира висока степен на защита на мрежово и приложно ниво. Първият елемент е филтърът на пакетите (Packet-filtering router) и вторият – укрепен хост (Bastion host). В тази зона се намират сървърите, модемите за отдалечен достъп и всички възможни публични услуги. Демилитаризираната зона може да се представи като малка изолираща мрежа между Интернет и вътрешната фирмена мрежа. Тя е конфигурирана така, че системите от фирмената зона, тези от Интернет да имат само строго регламентиран брой услуги и директното предаване на трафик е забранено. 2.8. ИЗГРАЖДАНЕ НА ВИРТУАЛНИ ЧАСТНИ МРЕЖИ (VPN)Виртуалните частни мрежи (ВЧМ) осигуряват връзка на защитените частни мрежи на фирми, отдалечени офиси, партньори или потребители през публична мрежова структура. ВЧМ осигуряват цялостност, конфиденциалност и автентичност на предаваните данни. Изграждането на ВЧМ включва следните компоненти:

Защита на частните мрежи от неоторизиран достъп; Изграждане на “тунели” за случаи, когато частните мрежи ползват частни

IP-адреси, които не се рутират през Интернет. По този начин се дава възможност трафикът, насочен към друга частна мрежа, да се трансферира през публичната мрежа и да се разтовари във вътрешна крайна точка;

Криптиране на данните.

ВЧМ осигурява защитена връзка между абонати на виртуалната мрежа, използвайки евтината преносна среда на Интернет. Това се постига чрез

Page 106: Учебник по национална сигурност

осигуряване на защитен “канал” между двете страни. Защитата на данните се постига независимо от използвания протокол за комуникация.Това се постига чрез промяна на IP-пакета в друг, криптиран IP-пакет, така че данните да са защитени. Оттук произлиза и името на най-разпространения протокол за тази цел – IPSec (IP Security Architecture).Поради факта, че защитата се извършва на нивото на IP-протокола, този начин е независим от приложението, с което се работи, както и от външните начини на комуникация между програмите. Чрез използване на асиметрични алгоритми двете страни се договарят и достигат до таен ключ, който използват за криптиране на данните с някой от бързите и надеждни симетрични алгоритми за криптиране.Предаването на данни по протокола IPSec става по следната схема. Когато единият потребител от мрежата иска да предаде данни до друг потребител, той най-напред започва процедура по установяване на секретен ключ за комуникация. Следва договаряне на протокола за обмен на данните. Едва когато всички подробности са договорениq се изпраща първияj пакет с данни.В зависимост от типа на ВЧМ и устройствата, които я изграждат, съществуват два режима на работа и предаване на информация, касаещи защитата на IP-пакетите: транспортен режим и тунелен режим.Транспортният режим означава, че данните се отделят от оригиналния пакет, криптират се и се вкарват обратно в пакета. По този начин се защитават само данните, а IP-адресите на изпращача и получателя са в явен вид. Този режим на работа се използва за комуникации между софтуерни клиенти, когато не е необходимо да се крият адресите на комуникиращите работни места. Използва се и при мобилни комуникации, когато IP-адресите не могат твърдо да се специфицират.В случаи, когато е необходимо да се запазят в тайна адресите на комуникиращите страни, се използва тунелен режим. Възможен способ за атака е “отказ от обслужване”, при което сървърът с данни се атакува постоянно с ненужни данни и той не може да предостави своите ресурси на други клиенти. В тунелния режим целият оригинален IP-пакет се криптира и са скрива и информацията за комуникиращите страни.Виртуалните частни комутируеми мрежи осигуряват криптиране на връзки между клиенти, използващи комутируеми канали. Чрез тях клиентите с права за достъп до вътрешна информация имат възможност да ползват входни точки за достъп и през криптиран тунел на Интернет да ползват служебна информация.Частните локални мрежи в много случаи се разделят на виртуални локални мрежи VLAN. Чрез разделяне на локалната мрежа на различни подмрежи се реализира ефективно разделяне на трафика в различни честотни ленти. Sisco Systems има решения за изграждане на VLAN чрез фирмените си комутатори и рутери. Комутаторите дават възможност за комутация на пакетите между портовете от един и същ тип VLAN. Това дава възможност за групиране на отдалечените потребители в една виртуална мрежа и решаване на много проблеми, свързани с оптимизацията на броя на администрацията. Поради големия брой на потребителите и общия им обект за достъп в много случаи е по-ефективно да се изградят няколко виртуални мрежи от една локални мрежа. Виртуалните мрежи се обособяват по дирекции или отдели, като финансов отдел, маркетинг, пласмент и т.н. Извършва се пълно разделяне на трафика от една виртуална мрежа от трафика на другата, независимо че работните станции са свързани с общи комутатори. Връзката между виртуалните мрежи става през

Page 107: Учебник по национална сигурност

високоскоростен рутер. Политиката по сигурност се реализира чрез инсталиране в рутера, чрез протоколи, адреси и инструменти за разрешаване или забрана на трафик от една виртуална мрежа в друга.В резултат на глобалното си разширение Интернет осигурява гъвкава и евтина инфрастриктура за разширяване на ведомствените мрежи. За да се възползват фирмите от възможностите на Интернет, е необходимо да има гаранции за сигурността на собствените комуникации и мрежови ресурси. Виртуалните частни мрежи защитават неприкосновеността на комуникациите в Интернет. Тъй като ведомствата разширяват своите мрежи, управлението на мрежите се превръща в основен проблем. За да се управлява успешно потребителската информация, се налага мрежовите администратори да управляват големи потребителски бази от данни. Ключови думиВедомствена и фирмена сигурност, системата за информационна сигурност, пароли, автентификация, авторизация, акаунтинк, антивирусна защита, криптографска защита, WWW–технологии, защитни стени, виртуални частни мрежи, контрола на достъпа.  ЗА САМОПОДГОТОВКАВъпроси и задачи

1. В какво се изразяват ведомствената и фирмена сигурност?2. Какви са особеностите на системата за информационна сигурност?

3. Опишете основните характеристики на структура и архитектура на системата за информационна сигурност.

4. Кои са основните компоненти на архитектурата на системата за идентификация и автентификация?

5. Кои са основните методи за зашита на информационните системи при използване и взаимодействие с WWW–технологии?

6. Какво представляват защитните стени?

 

3. ВЪЗМОЖНОСТИ НА СИСТЕМНОТО ПРОГРАМНО ОСИГУРЯВАНЕ ЗА ЗАЩИТА НА ИНФОРМАЦИОННИТЕ СИСТЕМИЗащитата на информационните системи от злонамерени атаки изисква решения, които да се противопоставят на заплахите и вмешателствата на всички нива на корпоративните мрежи. Независимо от средствата за защита на корпоративно ниво, които се осигуряват от сървърите, все по-голям дял в сигурността на мрежите заема защитата на работните станции, защитата на потребителската работна среда и документите. 

Page 108: Учебник по национална сигурност

3.1. ВЪЗМОЖНОСТИ ЗА ЗАЩИТА НА ИНФОРМАЦИОННИТЕ СИСТЕМИ ОТ ОС ТИП WINDOWSMicrosoft определя архитектутрата на системата за управление и контрола на сигурността, като я означава с абревиатурата SEBA (Security Building Block Architecture). Създаденият модел е съставен от следните зони за сигурност:

Крайни системи; Локални комуникационни системи;

Административен модел;

Частни корпоративни мрежи;

Интернет.

Крайните системи са компютрите и инсталираният в тях софтуер, в който се включват операционната система и приложенията (приложен софтуер).Локалните комуникационни системи са мерките за мрежовата функционалност по отношение на мрежовата сигурност. Това са възможностите за криптиране на трафика и проверка на идентичността и автентичността на потребителите в мрежовата комуникация.Административният модел са потребителите в системата с неограничени права.Частните корпоративни мрежи включват в себе си всички връзки с отдалечените офиси на фирмата.Интернет зоната включва крайните работни станции, имащи достъп до Интернет. Тези работни станции са изложени на риск от атаки на информацията и системните услуги.Сигурността на информационните системи е понятие, което обединява различни аспекти на мрежовите комуникации, като:

Защита на данните при съхранение в дисковите устройства на работните станции;

Защита на системните файлове от сървърите и работните станции;

Криптиране на трафика между работните станции;

Идентификация и автентификация на потребителите.

По-нататък са разгледани възможностите на операционната система Microsoft Windows XP и офис пакета Microsoft Office XP за осигуряване на защита на информацията.3.1.1. Средства за защита на информацията в ОС Windows XPВ сравнение с предходните версии Windows ХР предлага сигурна среда за опазване на потребителския и системния софтуер. Входът към нея е защитен с име за акаунт и парола. На потребителите се предоставени следните способи за защита:

Автентификация и заключване на работните станции;

Page 109: Учебник по национална сигурност

Използване на програма SysKey:

Криптиране на файлове и папки.

Автентификацията и заключването на работните станции дава възможност работните станции да са заключени, без да се преустановяват работните сесии. Заключването става по два начина:

Чрез заключване на работната станция от потребителя;

Чрез защита на скрийнсейвъра с парола.

Заключената работна станция може да се отключи само от потребителя, който я е заключил, и от администратора на системата. Ако отключването се направи от администратора, всички работни процеси, стартирани от потребителя, се преустановяват и неговата сесия са затваря.Програмата SysKey защитава базата с данните за акаунтите. Дори да се открадне твърдият диск, не е възможно да се влезе в базата с данни и да се прочетат акаунтите на потребителите и паролата на администратора. Програмата SysKey поддържа няколко възможности:

При всяко стартиране на системата се изисква парола, преди да се зареди операционната система;

Паролата се съхранява на дискета, която се изисква при всяко стартиране на системата;

Ключът за криптиране се записва на всяка машина и се стартира без намеса на потребителя.

Настройката на режимите на програмата SysKey се извършва след стартирането и от специален прозорец.Криптирането на файлове и папки се извършва със специален за това софтуер – Encrypting File System (EFS). Този процес е възможен само за дялове, които са форматирани с файловата система NTFS. Криптирането на файл с EFS е гаранция, че до този файл има достъп само неговият собственик.При използването на EFS е необходимо да се пази в тайна ключът за декриптиране.3.1.2. Защита на информацията чрез пакета Microsoft Office XPЗащитата на информацията при използване на пакета Office XP е сравнително лесна и надеждна. Прилагат се следните защити:

Защита на документи с парола за достъп; Подписване на документи с цифров подпис;

Добавяне на цифров подпис към електронна поща.

Защитата на документи с парола за достъп е един от най-лесните начини на защита, която всеки потребител може да предприеме. Независимо че тази защита не е с пълна гарантираност, тя е полезна при създаването на нов документ.

Page 110: Учебник по национална сигурност

Основание за тази защита е фактът, че независимо къде ще се запише файлът, паролата си остава валидна и задължително условие за отварянето му.Защитата на документ с парола може да се извърши по два способа:

Забранява се отварянето на документа за каквато и да е цел;

Ограничаване на възможностите за модификация на документа.

Подписването на документи с цифров подпис е метод за доказване автентичността на автора му. Използването на електронния подпис ще става все по-важна и масова с нарастването на броя на документите за общо ползване в мрежите. За подписването на документи с електронен подпис е необходимо да се притежава цифров сертификат. Цифровият сертификат се получава от специален сървър или от външна за фирмата организация.След придобиване на сертификат той се инсталира на компютъра на потребителя и се използва за цифрово подписване на документи. Подписаните документи по електронен способ се съпровождат с публичен ключ на потребителя, който се използва за разчитане на подписа.Добавянето на цифров подпис към електронна поща е свързано с конфиденциалността на електронната поща. Дискретността се осигурява чрез:

Доказване на автентичността на подателя;

Криптиране на съобщенията към получателя.

Само получателят може да декодира писмото, което в някои случаи е проблем за останалите, които имат права за достъп до тези документи. 3.2. ВЪЗМОЖНОСТИ ЗА ЗАЩИТА НА ИНФОРМАЦИОННИТЕ СИСТЕМИ ОТ ОС UNIXОС UNIX е професионална операционна система и има надеждни защитни техники и технологии. Създадени са възможности за непрекъснат контрол на достъпа до ресурсите на машините и безупречна отчетност. Защитата и отчетността се реализират чрез системното администриране на сървърите и работните станции. Системният администратор конфигурира системите за:

Контрол на достъпа до ресурсите; Идентификация и автентификация;

Непрекъснато наблюдение.

Контролът на достъпа до ресурсите се реализира чрез потребителските атрибути, които се поддържат от операционната система. Това са:

Идентификатори; Пароли;

Групи и групови идентификатори;

Page 111: Учебник по национална сигурност

Обкръжение.

Идентификацията и автентификацията са основни механизми в защитата на обектите. Всички обекти на файловата система притежават асоциирани с тях механизми за сигурност. Основните права са зададени в таблици за достъп и показват правата на собственика на обекта, на групата и останалите потребители. Поддържат се следните таблици:

Основна таблица на правомощията; Допълнителна таблица на правомощията;

Идентификационен номер на собственика на обекта;

Идентификационен номер на групата с права за достъп до обектите;

Параметри по премълчаване.

Наблюдението е основен елемент на политиката по сигурност при ОС UNIX. Мерките за наблюдението се състоят от:

наблюдение за субекти, свързано със създаване и прекратяване на процеси; наблюдението за обекти е свързано със създаване, изтриване, отваряне,

затваряне, промяна на обекти за сигурност и въвеждане или извеждане на обекти;

наблюдението за отчетност е свързано с добавяне на потребител, добавяне на група смяна на атрибути и парола, влизане и излизане в системата, смяна на идентификационната информация, кофигуриране на защитени пътища, автентификация на информация;

наблюдението за общи събития е свързано с използване на привилегии, кофигуриране на файловата система и системните параметри, смяната на идентификационната информация, автентификационна информация;

наблюдението за защита е свързано с възможностите на привилегиите, диагностиката на системните грешки и опитите за пробив в защитата.

 Ключови думиЗащита в ОС Windows, крайни системи, локални комуникационни системи, административен модел, частни корпоративни мрежи, интернет, SysKey, Microsoft Office XP, цифров подпис, UNIX.  ЗА САМОПОДГОТОВКАВъпроси и задачи

1. Опишете защитните механизми при ОС Windows XP?

Page 112: Учебник по национална сигурност

2. Опишете защитните механизми в пакета Microsoft Office XP?

3. Опишете възможности за защита на информационните системи от ОС UNIX.

 

4. КРИПТОГРАФСКИ МЕТОДИ ЗА ЗАЩИТА НА ИНФОРМАЦИЯТА

4.1. ВЪВЕДЕНИЕ В КРИПТОГРАФИЯТА

 

Защитата на информацията от нарастващите и все по-злонамерени атаки изисква решения, които да се противопоставят на заплахите и намесите на всички нива на мрежовата йерархия. Независимо от всички средства за защита на корпоративно ниво, които сървърните продукти дават, все по-значим дял в сигурността на мрежите заема защитата на клиентските машини, защитата на потребителската работна среда и потребителските документи.

Сигурността е една от най-важните характеристики на всяка съвременна информационна система. Защитата от несанкциониран достъп и използване на данните се осъществява чрез контрол на самия достъп до данните и криптографска защита на данните.

Криптографските методи се използват широко при защита на съоръженията и ресурсите в информационните системи. Представката “крипто” (“crypto”) идва от гръцката дума “krypto”, която означава “скрит”. Думата “криптология” („cryptology”) идва от “crypto” и “logos” и следователно означава “скрит свят”. Тя се използва за описание на изследователските области в криптографията и криптоанализите. Криптирането може да се използва за нещо повече от конфиденциална комуникация. Криптографията е изкуство дадена информация да се запази конфиденциална, в такава форма, в която не може да се прочете от човек, който не притежава необходимия ключ. Криптоанализите са изкуството да се използват алгоритмите, разработени в криптографията. Криптирането може да се използва за нещо повече от конфиденциална комуникация. Посредством криптиране могат да се трансформират данни във форма, от която те не могат да се четат без четящия ги да има подходящо „познание” за схемата на криптиране. Това „познание” се нарича ключ. Ключът се използва за разрешаване на контролиран достъп до информацията на определени хора. При това положение информацията може да се изпрати до всеки, но само тези, които имат правилния ключ, могат да я видят. Често се приема, че криптирането е компонент на сигурността, но в действителност то е механизъм за постигане на сигурност.

Криптирането позволява изпращане по електронна поща на конфиденциални данни като договори или персонална информация, или съхраняване на конфиденциална информация върху преносим компютър, без да има опасения, че някой може да я открадне и данните да бъдат разпространени. Без сериозно

Page 113: Учебник по национална сигурност

криптиране всяка информация може да бъде прихваната лесно и използвана срещу нейния притежател.

Основни понятия при криптографията:

Ключ – променлива стойност, която се прилага в алгоритмите за получаването на кодиран текст от некодиран или от блокове от некодиран. От дължината на ключа зависи доколко трудно ще бъде разкодирането на текста в кодираното съобщение.

Частен ключ – частен ключ или секретен ключ е кодиращ/декодиращ ключ, известен само на едната страна от тези, които разменят кодирани съобщения. Традиционно в криптографията трябва да има ключ, който да е достъпен и за двете страни така, че всеки да може да кодира и декодира съобщения. Рискът при такава система е, че ако ключът бъде разбит или откраднат, системата спира да бъде защитена (на практика тя е разбита). В такива ситуации частният ключ се използва заедно с публичен ключ.

Публичен ключ – стойност, която, комбинирана по подходящ начин с частен ключ, може да се използва ефективно за декриптиране на кодирано съобщение и електронен подпис. Използването на публичен и частен ключ е известно като асиметрична криптография.

Криптиране – преобразуването на информация във формат, който не може да бъде разбран лесно от неоторизирани хора. Декодирането е обратната трансформация - от кодиран в разбираем формат. Има прости алгоритми за криптиране, които само разменят местата на буквите с цифри, а по-сложните методи, които се основават на “интелигентни” алгоритми – трансформират информацията в цифров вид и ако желаете да възстановите съдържанието на кодираното съобщение, се нуждаете от декодиращ ключ.

Кодирането/декодирането е много често приложимо, когато се пренася информация с голяма важност (когато се извършват покупки online или при конферентна връзка между служители на фирма, обсъждащи строго секретни теми). Колкото по-добре е генериран криптиращият ключ, толкова по-надеждно е кодирането и толкова по-трудно е за неоторизирани лица да разшифроват информацията. В наши дни методите на кодиране се развиват с доста бързи темпове и това рефлектира върху ключовете (криптиращ и декриптиращ). На практика при наличието на единия от двата ключа е практически невъзможно да се открие другият, а при кодирани данни те не могат да се разкодират без наличието на декодиращ ключ.

SSL card (Server Accelerator Card) e PCI компонент, който се използва за генериране на кодиращи ключове за сигурността при транзакциите в уеб-сайтовете за електронна търговия. Когато транзакцията е започнала, сървърът на уеб-сайта изпраща информация до клиентската машина. По този начин става проверка на идентификацията на уеб-сайта. След тази размяна кодиращият ключ се използва за кодиране на всичката информация, която се трансферира между двете страни така, че цялата лична и всякаква друга информация (например за кредитна карта) е защитена. Този процес чувствително намалява производителността на сървъра (могат да се извършва само по няколко транзакции в секунда) и

Page 114: Учебник по национална сигурност

именно тук на помощ идва SSL card. Процесът по размяната на информация се поема от картата и така сървърът се “облекчава”, по този начин се повишава ефективността му. SSL card поддържа няколко протокола за сигурност (SSL - Secure Sockets Layer, SET - Secure Electronic Transaction и др.).

Криптография (cryptography) – дисциплина, занимаваща се с разработката на сигурни криптографски алгоритми, кодове и протоколи, както и на ефективни режими и средства за тяхната реализация.

Криптографски алгоритъм (cryptographic algorithm) – алгоритъм за функционално преобразуване на входните данни в неразбираеми последователности от символи и за тяхното правилно обратно възстановяване.

Криптографски код (cryptographic code) – речник на съответствието на входните смислови словосъчетания и изходните неразбираеми (безсмислени на вид) изрази или знаци.

Криптографски протокол (cryptographic protocol) – правила и съглашения за действие при практическото използване на криптографските алгоритми и кодове.

Криптографска система (cryptosystem) – съвкупност от криптографски алгоритъм или код и криптографски протокол.

Криптоанализ (cryptanalysis) – дисциплина, занимаваща се с разработката на методи и средства за разкриване на криптографските системи и за оценка на тяхната сигурност.

Криптология (cryptology) – обобщена дисциплина, включваща в себе си криптографията и криптоанализа.

 

4.2. ТЕОРЕТИЧНИ АСПЕКТИ НА КРИПТОГРАФИЯТА

Развитието на съвременния криптоанализ е започнало през първите десетилетия на ХХ век. Формирането на тази наука се основава на няколко предшестващи разработки. Основната от тях е свързана с теоретичното доказателство за разкриваемостта на шифъра на Виженер. По-нататъшното развитие на криптоанализа се стимулира от неговата голяма значимост.

В съвременния криптоанализ се използват класически криптографски методи като: статистически методи, метод на пробите и грешките, метод на вероятните думи и др., a също така и нови методи. Криптоаналитичните изследвания се базират на вероятностни, комбинаторни и алгебрични математически методи, евристични подходи, итеративни изчислителни процедури и др.

Процесът на използване на криптографски методи за разкриване на шифрите или на криптографските протоколи е прието да се нарича криптографска (криптоаналитична) атака на шифър или на протокол. Криптосистемите трябва да са устойчиви и срещу двата вида атаки.

В момента в криптографията съществуват два противоположни подхода:

Page 115: Учебник по национална сигурност

Да не се създава криптографска система, която не може да се опише математически точно и пълно.

Да не се създава криптографска система, която е възможно да бъде пълно и точно математически описана.

За разлика от всички други области целта на криптографията е стабилност и сигурност. Това е възможно само при математически точно описана система. По този начин е възможно точно да бъде определена нейната надеждност. Така построената система е по-лесна за разбиване, защото при нейното атакуване също могат да бъдат използвани математически методи. Обратно е положението при втория подход. Тук и самият създател не знае пълното описание на системата си, което може да се използва при атаката й. Подобна стратегия ще бъде успешна, ако се използват така наречените еднопосочни функции, които са от класа на NР пълните функции.

Функциите принадлежат на сложния клас Р (полиномиални), ако те могат да бъдат изчислени от Машината на Тюринг за време, което е ограничено над някоя полиномиална функция. На клас NP принадлежат функциите, които не могат да бъдат изчислени в полиномиално време с определена машина на Тюринг.

Повечето съществуващи криптографски системи са с точно математическо описание.

Според Райнер Рупел има 4 различни теоретични подхода за конструиране на шифрови системи: информационно-теоретичен, сложностно-теоретичен, рандомизационен, системно-теоретичен.

Информационно-теоретичен – прави се опит да се скрие истинският текст от анализатора, а също така и обемът на работата, необходима за успешна атака. При тези условия криптоаналитикът рядко атакува дадена шифрова система.

Сложностно-теоретичен – подход, базиращ шифрови системи или правещ разбиването им еквивалентно на някои познати и трудни проблеми, като намирането на делителите на голямо число (факторинг), изчисляването на дискретен логаритъм и други подобни.

Рандомизационен – при тозиподход на криптоаналитика се налага да разглежда в своите анализи и много безполезни данни.

Системно-теоретичен – при тозиподход криптоаналитикът се опитва да постигне сигурност на шифровата система на базата на използването на множество фундаментални конструкции, принципи и критерии.

Шифровите системи с публични ключове са базирани на сложностно-теоретичния подход. Почти всички останали значими системи и алгоритми са базирани на информационно-теоретичния подход.

Исторически информационният подход предшества останалите подходи и се е разглеждал просто като теоретичен подход в криптографията. Той е въведен от

Page 116: Учебник по национална сигурност

Клод Елмвуд Шенон през 1948 г., когато е публикувана неговата монография “Теория на комуникацията в секретните системи”.

4.2.1. Дефиниция на шифрова система

Фиг. 1. Шифрова система

Тук криптиращите и декриптиращите ключове и алгоритми могат да бъдат еднакви или различни.

Множеството М на всички възможни съобщения се нарича пространство на съобщенията. Множеството С от всички криптограми е пространство на криптограмите. Множеството на ключовете обикновено се обозначава с К. Множествата М, С и К са крайни, но достатъчно големи.

Въвеждаме следната дефиниция Шенон. Шифрова система е ограничена фамилия Т от обратими трансформации от множеството на съобщенията М в множеството на криптограмите С.

Шифровата система може да бъде представена чрез двустранен граф.

Фиг. 2. Граф на шифрова система

Page 117: Учебник по национална сигурност

Ако всяка криптограма има само едно ребро за всеки ключ, тогава всяка трансформация е еднозначно обратима и шифровата система се нарича затворена.

4.2.2. Анализ на сложността в криптографията

Методите за анализ на различните криптографски техники и алгоритми се осигурява от Теорията на сложността. Според информационната теория всички криптографски алгоритми са разбиваеми. Теорията на сложността търси времето, което е необходимо за разбиването на дадена криптосистема.

Съществено значение в криптологията имат Големите числа. Те се използват като ключове и за оценяване сложността на алгоритмите и проблемите. Ето някои физически аналогии:

вероятност да бъдеш убит от светкавица (в ден) 1/8.5899*109; възраст на Вселената 234 = 1.718*1010 години; брой атоми в планетите 2170 = 1.4966*1051; брой атоми в Слънцето 2190 = 1.5693 *1057; брой атоми в Галактиката 2223 = 1.348*1067; време за цялостно съществуване на Вселената, ако е затворена 237=1011

години.

4.2.3. Сложност на алгоритмите

Когато говорим за алгоритмите и тяхната компютърна сложност, имаме следните възможности:

Т – сложност по отношение на времето. S – сложност по отношение на пространството.

Първата определя времето, необходимо за решаване на алгоритъма, а втората – необходимата памет за данни, изчисления и съхраняване на резултати. И двете сложности са точни функции на размера на входната информация n. Сложността се бележи с голяма буква О. Например, ако функцията за сложност на даден алгоритъм е 5*n2 + 12n + 6, то компютърната сложност е от ред п и се отбелязва с О(п).

Сложността на алгоритъма не зависи по никакъв начин от хардуерните и софтуерните характеристики на компютъра. При този подход се следи промяната на времето при увеличаване на входните данни. Алгоритмите се класифицират по следния начин:

0(1) – константен; 0{п) – линеен; 0{п2) – квадратен; 0(п3) – кубичен; 0(пт) – полиномиален (m-константа); 0(tf(n)) – експоненциален (при t =const>1 и f(n)-полином);

Page 118: Учебник по национална сигурност

0(Cf(n)) – суперполиномиален.

За да бъде един алгоритъм надежден, се изисква времето за разбиването му да е експоненциално.

Долната таблица дава представа за увеличение на времето при различните класове алгоритми и n = 106.

Клас Сложност 106 106 в различни измерения

Константа 0(1) 1 1 микросекунда

Линейна 0п) 106 1 секунда

Квадратна 0(п2) 1012 11.6 дни

Кубична 0(п3) 1018 320 000 години

Експонента 0(2n) 1030 103 C 10 301 006 пъти времето за

съществуване на Вселената

Времето за атака на съществуващите алгоритми е пропорционално на броя възможни ключове, който е експонента от дължината на ключа. Ако к е дължината на ключа в битове, то времето за пряка атака (атака с груба сила -brute force, при която трябва да бъдат опитани всички възможни ключове), е 0(2k).

4.2.4. Сложност на проблемите

При оценка на сложността на проблемите се търси общо решение на проблема, a не се оценява сложността на различните алгоритми, решаващи проблема или негови части.

Проблемите, които се решават с полиномиален алгоритъм, се наричат податливи (tractable), a тези, които не могат - неподатливи (intractable) или твърди.

Съществуват и неразрешими проблеми. Наричат се още неподатливи. Точното им название е алгоритмически неразрешими, защото това са проблеми, за които не може да се намери всеобщ алгоритъм. Такъв е случаят с решаването на уравнение от степен, по-голяма от 4 в радикали. За подобни уравнения все още не са намерени алгоритми.

Съществува следната класификация по отношение на сложността на проблемите:

Р – решава се в полиномиално време;

NP – решава се в полиномиално време само с недетерминирана машина на Тюринг (която може да прави догадки); с нормална машина на Тюринг такива проблеми се решават в неопределено полиномиално или в не полиномиално време;

Page 119: Учебник по национална сигурност

NP пълни – това са проблеми в NP, за които е доказано, че са трудни за всеки проблем в този клас;

PSPASE – могат да се решат в полиномиално пространство, но не задължително и в полиномиално време;

PSPASE – пълни – имат тази особеност, че ако всеки от тях е в NP то PSPACE = NP и ако всеки от тях е в Р, то PSPACE = P;

EXPTIME – решават се в експоненциално време;

EXPTIME – пълни – за тези проблеми предстои да се докаже, че са неразрешими в определено полиномиално време.

Макар да изглежда очевидно, че някои проблеми са по-твърди от други, не е доказано, че P = NP или P # NP. Предполага се, но също не е доказано, че PSPACE включва NP.

Много от симетричните и всички алгоритми с публичен ключ са в NP.

4.2.5. Булева алгебра

Произходът на думата логика е гръцки, като в древността логос е означавало ‘дума, понятие, мисъл, разум‘. В наши дни може да се обобщи, че с логика означаваме общите закономерности на мисленето. Предмет на нашите занимания все пак не е логиката изобщо, а математическата логика – науката за правилните математически разсъждения и изводи. Мнозина учени са дали своя принос за развитието на тази част от математиката, но сме длъжни да споменем ирландския математик Джордж Бул (1815-1864), който полага основите на Булевата алгебра.

Известен брой криптографски алгоритми използват логически променливи и действия, т.е. използват Булева алгебра.

Над тези променливи са допустими само три операции:

логическо събиране (дизюнкция, “или”, сборка, v); логическо умножение (конюнкция, “и”, съвпадение, ^); логическо отрицание (инверсия, “не”, ¬).

В Булевата алгебра се използват и знаците “=” и скоби.

Обект на Булевата алгебра са действия над двузначни променливи, приемащи стойности в множеството (0,1). Някои основни понятия:

логически константи - логическа 0 и логическа 1; логическа (Булева, превключвателна) променлива – всяка величина

(символ), която може да приема само две стойности – логическа 0 и логическа 1;

Page 120: Учебник по национална сигурност

логическа функция – функция на краен брой логически променливи, която, така както и променливите, може да приема само две стойности – логическа 0 и логическа 1.

Функционалната зависимост се означава по общоприетия начин - f(x1, x2, ..., xn), където n е броят на аргументите, от които зависи функцията f.

набор – всяка комбинация от стойности на аргументите на дадена функция. Тъй като аргументите могат да приемат само две стойности, броят на

различните набори от n аргумента е 2n.

Могат да се формулират няколко основни закона и аксиоми, отразяващи основните съотношения в алгебрата на логиката.

Тази таблица илюстрира дуалността (двойствеността) на логическите функции - всяко равенство от колонка А (Б) може да се получи от съответното му равенство от колонка Б (А), като операцията дизюнкция се замени с конюнкция и обратно, а 1 с 0 и обратно. За краткост полагаме: v - + и ^ - .

Таблицата може да бъде допълнена с теоремата на Шенон, която се явява приложение на закона на де Морган върху n аргумента и гласи следното:

Логическото отрицание на произведението от n аргумента е равно на логическата сума от отрицанията на аргументите, т.е.

Логическото отрицание на сумата от n аргумента е равно на логическото произведение от отрицанията на аргументите, т.е.

Приоритетът на логическите операции е отрицание, умножение, събиране (¬,^, v). Когато приоритетът на операциите не показва достатъчно ясно правилния

Page 121: Учебник по национална сигурност

начин за прилагането им, се използват скоби. Действията се извършват най-напред в скобите и след това в съответствие с приоритета на операциите. Допуска се също вложеност на скобите. В такъв случай най-напред се извършват действията в най-вътрешните скоби, след това в по-външните и т.н. до обработване на всички скоби.

Формулите за логическите действия събиране XvY = Z, умножение X^Y = Z и отрицание се реализират по следната таблица:

X Y XvY X^Y ¬X

0 0 0 0 1

0 1 1 0 1

1 0 1 0 0

Page 122: Учебник по национална сигурност

1 1 1 1 0

4.2.6. Модулна аритметика

Модулната аритметика е част от теорията на числата, която намира изключително широко приложение в криптографията. Тя се базира на следната основа:

a=b(mod n), ако a=b+k*n за някакво цяло к.

Ако а не е отрицателно и b e между 0 и n, може да се мисли за b като остатък от делението а/n. Понякога а се нарича конгруентно (сходно) на b по модул n и знакът = означава конгруентно.

Множеството от 0 до n-1 е пълно множество от остатъци по модул n. Това означава, че за всяко цяло а остатъкът по модул n е някое число в интервала [0, n-1]. Операцията се нарича редукция по модул или модулна редукция.

Модулната аритметика има свойства като нормалната. Тя е комутативна, асоциативна и дистрибутивна.

(a+b)mod n = ((a mod n) + (b mod n))mod n

(a-b)mod n = ((a mod n) - (b mod n))mod n

(a*b)mod n = ((a mod n) * (b mod n))mod n

(a*(b+c))mod n = (((a*b) mod n) + ((a+c) mod n))mod n

В криптографията по модул се търсят най-големият общ делител, реципрочна стойност, използват се китайската теорема за остатъците, квадратните остатъци, символите на Якоби и Лажендре, цялото на Блум и др.

4.2.7 Математическа статистика

Основна цел на математическата статистика е изграждането на математически модели с помощта на теория на вероятностите. Освен това тя дава средства за тяхната проверка върху реални данни, както и за интерпретация на резултатите от тях.

В математическата статистика винаги се разглежда следният вероятностен модел. За всяко наблюдение се предполага, че то е случайна величина. Ако наблюденията са много, то обикновено те са независими случайни величини. Когато независимостта е съмнителна, се предполага някакво съвместно разпределение на тези случайни величини. Въз основа на така направените предположения се изследват вероятностните свойства на различни '”полезни” функции от наблюденията - техните разпределения, моменти и т.н.

Когато в тези функции се поставят реалните наблюдения, се получават конкретни

Page 123: Учебник по национална сигурност

стойности – числа. Въз основа на тези числа се правят заключения – статистически изводи – за самия модел. Идеята на тези изводи е, че при верен модел ние знаем доколко те са “вероятни”:

какви са неговите параметри; доколко той е правдоподобен (адекватен).

Когато моделът се окаже неадекватен, се строи друг и т.н., както изобщо в науката математическо моделиране.

Статистическите изводи са заключения за различни свойства на генералната съвкупност, направени въз основа на наблюденията и различни предположения за генералната съвкупност. Така ако предположенията са верни, нашите твърдения стават функции на извадката, т.е. придобиват случаен характер - стават случайни величини. Тъй като твърденията приемат две “стойности” – истина и неистина, задачата всъщност е да намерим вероятността едно заключение да бъде вярно.

Математическата статистика е силно средство в ръцете на криптоаналитика за извършване на статистически криптоанализи. В същото време тя е необходима и на криптографа като средство за оценка на създаваните от него криптографски системи.

Най-типичният случай в криптологията е определянето на броя на появяванията на всеки възможен байт и на тази основа атакуване на криптограмата от криптоаналитика или проверка на хипотезата за равномерното разпределение на байтовете в криптиращата последователност от криптографа. За целта се използва въведеният от Пирсън критерий χ2.

Нека ни е зададена някаква теоретична плътност p(x) и имаме за задача да проверим съгласуваността й с извадката. Нека разполагаме с n наблюдения. Разделяме множеството от стойности на случайни величини (или носителя на плътността) на k интервала Hi, така че pi = ∫ Hi p(x)dx > 0 и npi > 5. Това изискване е важно. Понякога се налага някои интервали да се обединяват, за да може то да се удовлетвори. Съществува и вариант на хистограмата (и критерия), когато интервалите се избират равновероятни, т.е. pi = pj. Нека означим с ni броя на наблюденията попаднали в Hi. Пресмятаме статистиката

Теорема на Пирсън. Статистиката h има асимптотично (при n-> ∞) разпределение χ2 с k-1 степени на свобода.

 

4.3. КРИПТОГРАФСКИ АЛГОРИТМИ

Page 124: Учебник по национална сигурност

Известните базови криптографски алгоритми могат да се класифицират по различни класификационни признаци. На фиг. 3 е представена тяхна структура в обобщена йерархична класификация. На всяко ниво имаме различни класификационни признаци.

Като класификационен признак на първото ниво на класификацията е използвано свойството симетричност на алгоритмите. По този признак базовите криптографски алгоритми могат да се разделят на две основни групи: симетрични алгоритми или алгоритми със секретен ключ (Secret Key Algorithms) и асиметрични (несиметрични) алгоритми или алгоритми с публичен ключ (Public Key Algorithms).

Фиг. 3. Класификация на алгоритмите

4.3.1. Криптографски алгоритми със секретен ключ

Това е класическият вид криптография, наричана още симетрична. При нея се използва един единствен ключ за криптиране и декриптиране. Двете страни, включени в обмена на информация, трябва да се споразумеят за ключа преди обмена. Ключът не трябва да се предава през същата среда, през която се предава криптираното съобщение. В случай че се изпрати криптирано съобщение по Интернет, добре е да се уточни ключът по телефона. Паролата (или ключът) се използват за криптиране на изходящи съобщения. Така нареченият шифриран текст се изпраща по мрежата и получателят декриптира входящите съобщения с използването на същия ключ. Някои от алгоритмите са базирани на математически изчисления. Тези системи не могат да бъдат разкодирани от друг алгоритъм. Единственият начин за тяхното разкодиране е, като се изпробват всички възможни ключове. През януари 1999 едно криптирано съобщение с 56 бита беше разкодирано за 24 часа от фондацията Electronic Frontier Foundation (http://www.eff.org/). Понастоящем времето за разкодиране на криптирани

Page 125: Учебник по национална сигурност

съобщения при отсъствие на ключ намалява значително.

Все още криптирането с обществен ключ има някои предимства. То е по-бързо и изисква ключът да се състои от по-малко битове, при което се получава същата степен на защита. Най-често използваните техники за ключове са блоковите и непрекъснатите (потокови) шифри.

Непрекъснатите шифри са известни със своята бързина. Тя се постига чрез работа върху малки части от обикновения текст. Обикновено тези шифри работят на ниво битове. Така нареченият непрекъснат ключ, който се състои от последователност от битове, използва операция изключващо ИЛИ. Защитата на даден бит зависи от предходните битове.

От друга страна, блоковият шифър трансформира блок от обикновен текст с предварително определена големина (например 64 бита) блок от шифрован текст със същата големина. Трансформацията се прави чрез предоставяне на секретен ключ, който се използва за криптирането. Декриптирането става по същия начин, като към шифрования текст се приложи същият секретен ключ. Този тип криптография се използва например при среди с един потребител. В случай че искате да криптирате своите файлове на твърд диск, няма смисъл да използвате криптиране с обществен ключ, тъй като то ще бъде по-бавно, а и освен това съхраняването на обществени и частни ключове в една среда няма никакво предимство пред използването на един ключ.

Фиг. 4. Блоков и потоков шифър

Блоковите алгоритми със секретен ключ могат да се разделят на субституционни и на транспозиционни в зависимост от начина на преобразуване на открития текст.

При субституционните алгоритми всеки символ или блок от символи се заменя с друг символ или блок от символи. В случая редът на следване на символите в открития текст се запазва, но самите символи се променят (маскират). Кодовата книга или така наречената проста субституция представлява една таблица (едномерен масив), чрез която на всяка входна стойност от открития текст се съпоставя една уникална изходна стойност в шифротекста. Ключово-управляемата кодова книга е такава, при която или подредбата на нейните елементи е пермутация, зависеща от секретния ключ, или се извършва пренареждане на таблицата в съответствие с ключа.

Page 126: Учебник по национална сигурност

От своя страна, субституционните блокови алгоритми със секретен ключ могат да се класифицират на едноазбучни и многоазбучни субституционни алгоритми.

При най-стария известен шифър (на император Цезар) буквата А се замества с D, B - с E, C - с F, D - с G, ... и Z - с C. По същество, това е субституционен шифър с кръгово-изместена азбука и секретен ключ 3, т.е. секретната азбука е кръгово-преместена открита азбука с параметър 3. Обобщението на шифъра на Цезар се получава с параметър на преместването (секретен ключ) n. Това е типичен пример на шифри, използващи една азбука и известни като едноазбучни (моноазбучни) шифри.

Отделните букви във всеки естествен език се появяват в смислената реч и писмо с различна относителна честота. Това се отнася и за съчетанията от две и повече букви. В качеството на пример на фиг. 5 е представена част от известната статистическа информация за най-често употребяваните букви и съчетания от две и три букви в английски език, а на фиг. 6 - в руски език (цифрите показват измерените относителни честоти на използване на съответните букви и съчетания от букви в проценти).

Фиг. 5. Честота на употреба в английския език

Фиг. 6. Честота на употреба в руския език

Сравнителният анализ между получените статистически данни от шифрограмите (честоти на буквите и на съчетанията от букви) и известните статистически закономерности на езика, позволява да се направят предположения от криптоаналитиците за най-вероятните субституции. Например, ако в прихванатите шифрограми на английски език буквата F се среща най-често, то най-вероятно с нея е била заместена буквата E и т.н.

Сигурността на едноазбучните субституционни шифри може да се повиши, ако в шифротекстовете се изгладят (изравнят) честотите на различните букви и съчетания от букви. За постигане на тази цел могат да се използват няколко

Page 127: Учебник по национална сигурност

азбуки.

Интересно подмножество на многоазбучните шифри са шифрите, симулиращи роторна машина, известни като роторни шифри. Тези шифри се реализират на специални машини с подвижни дискове (валяци), разположени на обща ос. В случая секретният ключ се използва за първоначално задаване на положението на дисковете, след което се извършва и самото шифриране (дешифриране). Към този вид спада германският шифър ЕНИГМА, използван през Втората световна война.

При транспозиционните алгоритми символите в открития текст се запазват, т.е. не се маскират, но се променя тяхното местоположение в шифротекста. Най-простият транспозиционен шифър размества (пермутира) местата на символите от един блок и след това преминава към аналогична обработка на следващия блок. Очевидно е, че с увеличаването на дължината на блоковете расте и сложността на разкриването на шифъра. В частност целият открит текст може да представлява един блок.

При криптоанализ, транспозиционните шифри се разпознават по честотите на срещане на символите в шифрограмите, които се приближават до характерните за съответния естествен език относителни честоти, като приближението е толкова по-добро, колкото по-голям е обемът на прихванатите шифрограми. В случая статистическият анализ позволява само да се определи дали шифърът е субституционен, или транспозиционен. Това положение обаче значително облекчава криптоаналитиците, защото след класифициране на непознатия шифър като транспозиционен те имат възможност да изпробват множество различни техники за намиране на правилното подреждане на символите в открития текст.

В съвременните блокови шифри обикновено се използват комбинации от субституции и транспозиции и операции с ключа. За идеален блоков алгоритъм се смята този, за който може математически да се докаже, че промяната на дори един единствен бит от входния блок води до промяна на всички битове в изходния шифроблок с вероятност 0.5. Използваните на практика блокови шифри почти достигат този идеал, тъй като при тях около половината от изходните битове се променят при единична промяна във входния блок на открития текст.

Потоковите алгоритми реализират относително прости преобразувания последователно върху малки обеми от данни, най-често един бит, един байт или една дума. Потоковите шифри разчитат на това, че ключовите стойности, с които реално се извършва шифрирането, се изменят постоянно или се създават по определен алгоритъм по време на шифрирането.

При потоковите алгоритми се генерира ключов поток, който се наслагва (обединява) по някакъв начин с постъпващия поток от данни (обединението на двата потока може да се реализира с помощта на различни операции). Генераторът на ключовия поток възпроизвежда непрекъснат поток от битове, байтове или думи, в общия случай - поток от символи. Този ключов поток, понякога наричан работен ключ, се обединява с открития текст и така се получава изходящият шифропоток. При дешифриране същият работен ключ се обединява (операцията е

Page 128: Учебник по национална сигурност

обратна на тази при шифрирането) с постъпващия шифропоток, в резултат на което се възстановява откритият текст.

Тези системи са повлияни от идеите на еднократния бележник, която се изразява в следното. Само двамата кореспондиращи имат бележник с ключове. Изпращачът избира страница от бележника и чрез нея криптира съобщението, след което го изпраща на получателя. Като използва същата страница, получателят декриптира съобщението. След това участниците в този обмен на данни унищожават тази страница от бележника. Доказано е, че когато ключът е по-дълъг от съобщението и не се използва повече от един път, системата е практически неразбиваема.

От гледна точка на зависимостта на генерирания ключов поток потоковите алгоритми могат да бъдат класифицирани на две основни групи: потокови алгоритми с независим ключов поток и потокови алгоритми със зависим ключов поток.

В първия случай ключовият поток се генерира самостоятелно и независимо от постъпващия поток на открития текст и от шифротекста.

Блок-схемата на реализация на такъв шифър е показана на фиг. 7, където: K - секретен генераторен ключ, управляващ генератора на ключов поток, kj - j-ти елемент (символ) на ключовия поток.

При самата генерация на ключовия поток могат да се използват различни методи.

Ако ключовият поток е редица от напълно случайни елементи (символи), използва се само веднъж и е дълъг толкова, колкото е дълъг самият открит текст, тогава се говори за еднократно използваема таблица за шифриране (one-time pad). При това, шифрирането се извършва чрез обединяваща операция (FE) между j-я символ (mj) на открития текст и j-я символ от таблицата.

Фиг. 7. Независим ключов поток

Когато ключовият поток е редица от напълно случайни битове и шифрирането се реализира чрез сумиране (по mod 2) на съответнитв битове на ключовия поток и на открития текст, тогава се получава шифър на Вернам, който също е неуязвим.

Page 129: Учебник по национална сигурност

4.3.2. Криптографски алгоритми с публичен ключ

Криптирането с обществен ключ или още така нареченото асиметрично криптиране има едно основно предимство пред симетричните алгоритми – то не разчита на защитен способ за размяна на парола. Симетричните алгоритми изискват двете страни да се споразумеят за общ ключ, който може да се прихване при предаване на информацията от единия на другия участник. Това прави криптирането в Интернет безполезно, щом като изпращате ключа, преди да изпратите криптираното съобщение. Ключът трябва да се изпрати отделно, но това не позволява компании, които не се познават, да имат бизнес отношения чрез Интернет.

През 1976 г. двама професори от Университета в Стафорд – Уитфилд Дифъл и Мартин Хелман, предложиха система, която нарекоха „криптиране с обществен ключ”. При този тип криптиране се използват два ключа за всяко криптиране и то може да работи добре при мрежите, в които отсъства защита. Всеки от ключовете представлява голямо цяло число. Двата ключа са свързани един с друг и с помощта на специални изчисления е възможно чрез единия ключ да се криптира съобщение, а чрез другия да се декриптира. В този случай не може да се декриптира съобщението с ключа, с който е криптирано.

Всеки, който разполага с чужд публичен ключ, може да шифрира с него произволен открит текст, но не може да го дешифрира. Единствено получателят, който знае собствения си секретен ключ, е в състояние да възстанови открития текст на шифрограмите, създадени с неговия публичен ключ. Аналогията е като при обикновената пощенска кутия, в която всеки може да пусне писмо, но само получателят, който притежава ключа за тази кутия, може да я отвори, да вземе писмото и да го прочете.

Използването на асиметрични криптографски алгоритми води в редица случаи до намаляване на броя на необходимите различни ключове.

През 1975 г. трима изследователи в MIT разработиха алгоритъм за реализация на криптирането с обществен ключ – те измислиха системата RSA, която носи имената на тримата й изобретатели.

Алгоритъмът RSA генерира първоначално два различни ключа за всеки потребител. Единият от тези два ключа се определя като обществен. Последният може да се разпространява свободно. Общественият ключ не може да се използва за декриптиране на съобщение – той може да се използва само за криптиране на съобщения, изпратени до собственика на ключа. Само този, който притежава другия ключ, така наречения персонален ключ, може да декриптира съобщенията, които са криптирани с обществения ключ.

Безспорно много математици са се опитвали да блокират алгоритъма на обществения ключ, като са правили различни изчисления, но до момента никой не е намерил алгоритъм, който да реши математическия проблем. Програмите за декриптиране се опитват да „разрушат” ключа, но до момента това не е станало.

Page 130: Учебник по национална сигурност

Въпреки че всичко това не е невъзможно, от гледна точка на изчисленията то е неуместно, тъй като обществения ключ е прекалено дълъг.

В повечето случаи за криптиране на съобщения не се използва RSA, защото при нея изчисленията отнемат дълго време. За повечето съобщения продължителното време за криптиране и декриптиране е неприемливо. RSA се използва за криптиране на симетричен ключ, който криптира самото съобщение. Стандартът SSL, който се използва за криптиране на уеб-страници (URLs използва https:// вместо http://), използва именно това свойство. Ключът се генерира в уеб-браузъра и след това се изпраща към уеб-сървъра. В случай,че не се използва криптирането с обществен ключ, ключът трябва да се изпраща през Интернет, без да е защитен.

За да се направи предаването на ключа сигурно, уеб-сървърът изпраща своя обществен ключ към уеб-браузъра. Последният избира симетричен ключ и криптира съобщението с обществения ключ на уеб-сървъра и го връща обратно. Уеб-сървърът е единственият, който може да декриптира обществения ключ със своя персонален ключ. RSA ключът се използва като плик за симетричния ключ. От този момент нататък криптирането се прави със симетричен ключ, тъй като то е по-бързо от криптирането с обществен ключ.

При тази система симетричните ключове могат да се избират произволно. В случай, че някой може да разкодира едно криптирано съобщение, няма да получи никаква информация за ключовете, използвани при останалите съобщения.

В случай че трябва да се криптират електронни пощи, може да се криптира симетричният ключ няколко пъти с различни обществени ключове. Всеки обществен ключ принадлежи на един получател. При това положение всеки получател може да декриптира съобщението. Всеки обществен ключ формира плик, който съдържа същия ключ за декриптиране на оригиналното съобщение. Тази парадигма за гарантиране на защита се използва например при PGP и по подобен начин се използва при SSL криптирането при уеб.

Криптографските алгоритми с публични ключове намират приложение и в автентикационните схеми, базирани на пароли.

Автентикационната процедура се отличава с някои предимства в сравнение с известните други подобни автентикационни схеми, тъй като:

На сървъра не се съхранява никаква секретна информация за клиентите, а само техните общоизвестни публични ключове;

Новите клиенти се регистрират просто, само с публичните си ключове; Процедурата е диалогова и при всеки нов опит за достъп се обменя

различно случайно число или стринг, което означава, че нарушителят не може да използва прослушен и записан легален текущ сеанс на установяване на връзка за получаване впоследствие на лъжлив достъп;

По време на диалога се предава само откритият публичен ключ на клиента Х и изгенерираното от сървъра случайно число ТХ, което е в шифриран от сървъра или клиента вид и не може да бъде дешифрирано от евентуален

Page 131: Учебник по национална сигурност

нарушител; Подобно на известния автентикационен протокол CHAP, разгледаната

процедура може да се използва и за периодичен контрол на достъпа през време на легално установените сеанси на връзка, като при всеки нов такъв контрол ще се генерира и обменя нова стойност на ТХ;

Възможна е лесна модификация на процедурата с въвеждане на прекъсване на първоначално установената връзка и повторно повикване от страна на клиента или обратно повикване от сървъра в зависимост от конкретните условия.

Съществуват редица известни асиметрични криптографски алгоритми, основаващи се на различни трудно разрешими математически проблеми, изискващи огромен брой изчислителни операции. Най-популярни от тях са: алгоритъм на Diffie-Hellman, Knapsack на Ралф Меркле и Мартин Хелман, RSA (Rivest-Shammir-Adelman) на Роналд Ривест, Еди Шамир и Леонард Ейдълман, Pohlig-Hellman алгоритъм, Schnorr на Клаус Шнор (Claus Schnorr), алгоритъм на Рабин (Rabin), алгоритъм на Хюг Уйлямс (Hugh Williams), McEliece на Роберт Мак Елис и други.

Първите пет от горепосочените алгоритми с публичен ключ се отличават с най-голяма популярност, като най-разпространен понастоящем е RSA.

Известните сигурни криптографски алгоритми с публичен ключ се отличават с ниска производителност, поради което по принцип се използват рядко за шифриране на открити текстове. Техните приложения са свързани основно с автентикацията, цифровите подписи и защитата на секретните ключове на симетричните криптографски алгоритми.

Основното предимство на криптирането с обществен ключ пред това със секретен ключ е, че персоналните ключове никога не се предават. Това прави този тип криптография по-сигурна и удобна. В една система със секретен ключ, е необходимо предаване на ключовете, което е свързано с рискове. Освен това при работа със секретни ключове механизмът на идентифициране се осъществява трудно. Когато един цифров подпис използва инфраструктура с обществен ключ, се налага предаване на секретна информация. За да се избегне отказ на плащане, се налага трета страна да проверява идентичността.

Безспорно криптирането с обществен ключ има няколко недостатъка. Повечето технологии на секретни ключове са по-бързи от алгоритмите за криптиране с обществен ключ. Тъй като бързината е по-голяма с порядъци, криптирането с обществен ключ не е препоръчително да се използва за големи файлове. За да може една система да бъде и защитена и бърза, е необходимо да се комбинират и двата типа криптография.

При такава комбинация съобщението ще се криптира със секретен ключ, защото при криптиране с обществен ключ ще се отнеме много време, а секретният ключ се прикрепва към съобщението, като самият секретен ключ е криптиран с обществен ключ. По този начин се постига и по-висока скорост и защита.

Page 132: Учебник по национална сигурност

При SSL криптирането, което се използва за сигурен обмен на информация през уеб, криптирането с обществен ключ се използва за размяна на секретния ключ. Уеб-сървърът изпраща своя обществен ключ към уеб-браузъра. Последният създава ключ на сесия и криптира ключа на сесия с обществения ключ на уеб-сървъра. След това ключът на сесия се предава обратно на уеб-сървъра, който го декриптира с помощта на своя секретен ключ. По този начин ключовете на сесии могат спокойно да се предават през незащитени мрежи. След като ключът на сесия се предаде, той се използва за криптиране на връзката, тъй като е доста по-бърз. Алгоритмите за секретните ключове ще бъдат от значение до момента, в който компютрите не станат поне хиляди пъти по-бързи от съвременните. Ключът на сесия е сигурен, защото е валиден само за една определена сесия и след това не може да се използва повече.

При съвместно използване на симетричен и асиметричен алгоритъм цифровото подписване обикновено се реализира чрез дешифриране със секретния ключ на източника на уникална последователност, съответстваща на изпращаното съобщение. Тази последователност е значително по-кратка от самото съобщение, изчислява се с помощта на еднопосочни функции и се нарича цифрова сигнатура. В този случай ключът за симетричния алгоритъм ще се шифрира с публичния ключ на получателя, а цифровата сигнатура се подписва със секретния ключ на източника. Получателят ще възстанови цифровата сигнатура с помощта на известния публичен ключ на източника, след което ще я сравни с изчислената от него сигнатура на полученото съобщение. По такъв начин ще се направи и проверка за цялостност на приетото съобщение. Възможно е да се използват два различни асиметрични алгоритъма: един за защита на секретните ключове на симетричния алгоритъм и втори – за цифрово подписване на съобщенията.

4.3.3. Дължина на ключа и издръжливост на шифрирането

Най-общо издръжливостта на шифрирането е свързано с трудността за намиране на ключа, който зависи и от шифъра, и от дължината на ключа. Например трудността за откриване на ключа за RSA шифър, който е най-често използван в шифрирането с публичен ключ, зависи от трудността на разлагането на големи числа на прости множители, което е добре известен математически проблем.

Издръжливостта на шифрирането често се описва като дължината на ключовете, използвани при шифрирането: най-общо по-дългите ключове осигуряват по-издръжлив на атаки шифър. Дължината на ключа се измерва в битове. Например 128-битовите ключове, използвани със симетричния шифър RC4, осигуряват значително по-добра криптографска защита, отколкото 40-битовите ключове, използвани от същият шифър. Грубо казано, 128-битовото RC4 шифриране е 3 х 1026 пъти по-силно отколкото 40-битовото RC4 шифриране.

Различните шифри могат да изискват различни дължини на ключа, за да имат едно и също ниво на издръжливост на шифъра. RSA шифърът, използван за шифриране с публични ключове, например може да използва само подмножество от всички възможни стойности за ключ с дадена дължина поради естеството на математическия проблем, върху който е базиран. Други шифри, например такива с

Page 133: Учебник по национална сигурност

използване за симетрично шифриране, могат да използват всички възможни стойности на ключ с дадена дължина. Затова един 128-битов ключ, използван в шифър със симетричен ключ, би трябвало да осигурява по-силна криптографска защита от един 128-битов ключ, използван в RSA шифър.

Тази разлика обяснява защо RSA шифърът трябва да използва 512-битов (или по-дълъг) ключ, за да се приема за криптографски шлем, докато шифрите със симетричен ключ могат да имат приблизително същата степен на издръжливост със 64-битов ключ. Дори и при тази степен на издръжливост шифърът може да е податлив на атаки в близко бъдеще.

4.3.4. DES алгоритъм

През 1972 г. National Institute of Standards and Technology (преименуван в момента на National Bureau of Standards) решава, че трябва да се въведе криптографски алгоритъм за защита на некласифицирана информация. Затова служителите му помолили фирмите да направят публични предложения за такъв алгоритъм. През 1974 г. IBM изпратили алгоритъма Lucifer, който, както изглеждало, отговарял на повечето изисквания, поставени от NIST. NIST привлекли на помощ National Security Agency, за да преценят сигурността на Lucifer.

Модифицираният вариант на алгоритъма Lucifer бил одобрен от NIST като федерален стандарт на 23 ноември 1976 г. Неговото име било променено на Data Encryption Standard (DES). Точната спецификация на алгоритъма била публикувана през януари 1977 г. и с официалната подкрепа на правителството алгоритъмът станал широко разпространен за много кратно време. За съжаление, с годините са открити много видове атаки на алгоритъма, които могат значително да намалят времето, необходимо за намиране на ключа по метода на грубата сила. С увеличаването на бързината и производителността на компютрите било осъзнато, че 56-битовият ключ не е достатъчно голям, за да осигури голяма степен на сигурност. През 1998 г. Electronic Frontier Foundation спечели Des Challenge II-2, разбивайки DES за по-малко от 3 дни. EFF използвали специално проектиран компютър, наречен DES Cracker, който е разработен за по-малко от $250,000. Криптиращият чип, стоящ в основата на DES Cracker можел да обработва 88 милиарда ключа за секунда. Неотдавна, в началото на 1999 г. Distributed.net използва DES Cracker и световна мрежа от 100,000 PC-та, за да спечели DES Challange III с рекордните 22 часа и 15 минути. DES Cracker и PC-тата работили с капацитет 245 милиарда ключа за секунда. В допълнение било доказано, че за стойност от 1 милион долара може да се построи специализирано хардуерно устройство, което да сканира всичките възможни ключове на DES за 3.5 часа. Това само показва, че организации с достатъчно големи ресурси могат да разбият DES за много кратко време в наши дни.

Алгоритъм:

DES е блоков шифър, което значи, че той работи с блокове с определена дължина (64-бита) и като резултат се получава шифриран блок със същата големина. Така погледнато, DES извършва пермутация между 264 възможни нареждания на 64

Page 134: Учебник по национална сигурност

бита, всеки от които е 0 или 1. Всеки 64-битов блок се разделя на два блока от по 32 бита всеки, лява част L и дясна част R.

DES извършва операциите върху 64-битовите блокове, използвайки ключ с дължина 56 бита. Ключът в действителност е 64-битов, но всеки 8-ми бит от него не се използва (т.е. битове с индекс 8, 16, 24, 32, 40, 48, 56 и 64). Въпреки това в следващите изчисления ще индексираме битовете от 1 до 64 отляво-надясно. Осемте бита, които споменахме по-горе, са елиминирани при създаване на междинните ключове.

Стъпка 1: Създаване на 16 междинни ключа, всеки от които е 48-битов.

Върху 64-битовия ключ се извършва пермутация според таблицата PC-1. Това, че първият елемент в таблицата е “57”, означава, че 57-ят бит на оригиналният ключ K става първи бит в пермутирания ключ K+. 49-тият бит на оригиналния ключ става втори бит в пермутирания ключ. 4-тият бит на оригиналния ключ става последен бит в пермутирания ключ. Забележете, че само 56 бита от оригиналния ключ се появяват в пермутирания ключ.

PC-1

57 49 41 33 25 17 9

1 58 50 42 34 26 18

10 2 59 51 43 35 27

19 11 3 60 52 44 36

63 55 47 39 31 23 15

7 62 54 46 38 30 22

14 6 61 53 45 37 29

21 13 5 28 20 12 4

Пример: От оригиналния 64-битов ключ

K =00010011 00110100 01011011 01111001 10011011 10111100 11011111 11110001 получаваме

K+=1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111

След това разделяме получения ключ на лява и дясна половина, C0 и D0, всяка от които има 28 бита. За горния пример имаме: C0 = 1111000 0110011 0010101 0101111 D0 = 0101010 1011001 1001111 0001111. От C0 и D0 се създават 16 блока Cn

и Dn, 1<=n<=16. Всяка двойка блокове Cn и Dn се образува от предишната двойка Cn-1 и Dn-1, респективно, за n=1,2,3,..., 16, използвайки следната таблица с

Page 135: Учебник по национална сигурност

измествания наляво от предишния блок. За да извършите преместване наляво, преместете всеки бит с една позиция наляво освен първия бит, който се измества на края на блока.

Итерация номер

Брой премествания наляво

1 1

2 1

3 2

4 2

5 2

6 2

7 2

8 2

9 1

10 2

11 2

12 2

13 2

14 2

15 2

16 1

Горното означава, че например C3 и D3 се получават от C2 и D2, съответно, чрез две премествания налявo, а C16 и D16 са получени от C15 и D15, съответно чрез едно преместване наляво. Във всички случаи чрез единично преместване наляво се цели ротация на битовете с една позиция наляво, така че след едно преместване наляво битовете в 28-те позиции са битовете, които преди това са били в позиции 2,3,..,28,1.

Пример: За горния случай на двойката C0 и D0 имаме:

C0 = 1111000011001100101010101111

Page 136: Учебник по национална сигурност

D0 = 0101010101100110011110001111

C1 = 1110000110011001010101011111

D1 = 1010101011001100111100011110

C2 = 1100001100110010101010111111

D2 = 0101010110011001111000111101

..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....

C16 = 1111000011001100101010101111

D16 = 0101010101100110011110001111

Сега вече можем да образуваме ключовете Кn, за 1<=n<=16, чрез прилагане на следната пермутационна таблица върху всяка от слепените двойки CnDn. Всяка двойка има 56 бита, но PC-2 използва само 48 от тях.

PC-2

14 17 11 24 1 5

3 28 15 6 21 10

23 19 12 4 26 8

16 7 27 20 13 2

41 52 31 37 47 55

30 40 51 45 33 48

44 49 39 56 34 53

46 42 50 36 29 32

Следователно първият бит на Kn е 14-тият бит на CnDn, вторият бит е 17-тият и т.н., като се завърши с 48-мия бит на Kn, който е 32-рият бит на CnDn.

Стъпка 2: Шифриране на всеки един 64-битов блок с данни

В DES има начална пермутация IP, която се изпълнява върху 64-те бита на съобщението M. Тя пренарежда битовете според следната таблица, където записите в таблицата показват новото подреждане на битовете. 58-мият бит на M става пръв бит на IP. 50-тият бит на M става втори бит на IP. 7-мият бит на M става последен на IP.

Page 137: Учебник по национална сигурност

IP

58 50 42 34 26 18 10 2

60 52 44 36 28 20 12 4

62 54 46 38 30 22 14 6

64 56 48 40 32 24 16 8

57 49 41 33 25 17 9 1

59 51 43 35 27 19 11 3

61 53 45 37 29 21 13 5

63 55 47 39 31 23 15 7

Пример: Прилагайки началната пермутация върху блок текст M, получаваме

М =0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

IP=1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010

Тук 58-мият бит на М е “1”, който става първи бит на IP. 50-тият бит на М е “1”, който става втори бит на IP. 7-мият бит на М е “0” и той става последен бит на IP.

Следва разделяне на обработения блок IP на лява половина L0 с големина 32 бита и дясна половина R0 със същата големина.

Пример: От горният IP получаваме :

L0=1100 1100 0000 0000 1100 1100 1111 1111

R0=1111 0000 1010 1010 1111 0000 1010 1010

Следва прилагане на 16 итерации, за 1<=n<=16, като се използва функция f, която се извършва върху двата блока – 32-битов блок с данни и ключ Kn с дължина 48 бита, – за да генерира блок с дължина 32 бита. Нека с “+” означим XOR операция (побитова сума по модул 2). Тогава за итерациите на n от 1 до 16 имаме: Ln = Rn-

1Rn = Ln-1 + f(Rn-1,Kn).

Във всяка итерация се взимат десните 32 бита от предишния резултат и се поставят като леви 32 бита в текущата стъпка. За десните 32 бита в текущата стъпка се прави XOR на левите 32 бита от предишната стъпка и изчислената предварително фунцкия f.

Page 138: Учебник по национална сигурност

Пример: За n=1 имаме:

K1 = 000110 110000 001011 101111 111111 000111 000001 110010

L1=R0 = 1111 0000 1010 1010 1111 0000 1010 1010

R1=L0+f(R0,K1)

Остана да се обясни действието на функцията f. За да се изчисли f, първо всеки блок Rn-1 от 32 бита се разширява до 48 бита. Това става чрез таблица, която повтаря някои от битовете на Rn-1. Ще наречем използването на тази таблица функция Е. Така че E(Rn-1) има 32-битов входен блок и 48-битов изходен.

Нека Е е така построена, че 48-те бита на изхода, записани в 8 блока по 6 бита всеки, са получени чрез избор измежду входните й битове в ред, описан от таблицата:

E - таблица на заместване

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 13 14 15 16 17

16 17 18 19 20 21

20 21 22 23 24 25

24 25 26 27 28 29

28 29 30 31 32 1

Така първите три бита на E(Rn-1) са битовете с позиции 32, 1 и 2 на Rn-1, а последните два бита на E(Rn-1) са битовете с позиции 32 и 1.

Следващото нещо, което се прави при изчислението на f, е XOR операция между E(R0) и ключа Kn:

Kn + E(Rn-1).

Изчислението на f още не е завършило. До този момент сме разширили Rn-1 от 32 бита до 48 бита, използвайки таблицата на заместване, и сме извършили побитова операция XOR с ключа Kn. Досега имаме 48 бита или осем групи по 6 бита. Тези осем групи използваме като адреси в таблици, наречени “S таблици”. Всяка група от шест бита представлява адрес в различна S таблица. Елементът от таблицата е 4-битово число, с което се замества оригиналната 6-битова група. Общият

Page 139: Учебник по национална сигурност

резултат от заместванията е, че осемте групи от по 6 бита са трансформирани в осем групи от по 4 бита (4-битовите елементи от S-таблиците), като се получава 32-битов вектор.

Ще запишем предишното представяне по следния начин:

Kn + E(Rn-1) = B1B2B3B4B5B6B7B8,

където всяко Bi е група от 6 бита. Сега можем да запишем

S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8),

където Si(Bi) представлява резултата от i-тата S таблица.

За обобщение ще кажем, че всяка една от функциите S1,S2,...,S8 приема за входни данни 6-битов блок и извежда на изхода си 4-битов.

Последното нещо, което се прави при изчислението на f, е пермутацията P на получения изход от S-таблиците:

f=P(S1(B1)S2(B2)...S8(B8))

Triple-DES

Triple-DES представлява DES, в който се прилагат два 56-битови ключа. Първоначално се използва единият от ключовете за шифриране на съобщението. След това се използва вторият ключ в режим на декриптиране на получения резултат. Полученият нов шифър се криптира отново с първия ключ. Така се получава крайният резултат.

Съществува и вариант с три ключа, които се прилагат последователно при горните операции. В този случай броят на възможните ключове става около 2112.

4.3.5. RSA алгоритъм

Алгоритъмът RSA, наречен така по първите букви на фамилиите на създателите си (R. Rivest, A. Shamir и L. Adleman), е най-широко използваният алгоритъм в криптосистеми с използване на публични ключове. Универсалността му се изразява във възможността да се използва както за осигуряване на секретност (шифриране), така и възможността му за изграждане на цифров подпис.

Сигурността на RSA се базира на изключително сложния проблем за факторизиране (разлагане на множители) на големи числа. Публичният и частният ключ са функции на двойка големи (100 до 200 десетични цифри или повече) прости числа. Разкриването на съобщението чрез публичния ключ и шифрирания текст предполага, че е еквивалентно на разлагането на множители на произведението на две големи прости числа.

Page 140: Учебник по национална сигурност

За генериране на двата ключа се избират две случайно генерирани големи числа p и q. За максимална сигурност числата се избират достатъчно големи и с еднаква дължина. Изчислява се произведението им:

n = pq.

След това по случаен начин се избира шифриращият ключ e, такъв че e и (p-1)(q-1) да са относително (взаимно) прости. Накрая се използва разширеният Евклидов алгоритъм за изчисляване на дешифриращия ключ d, така че ed=1 mod (p-1)(q-1) (в този случай знакът “=” представлява еквивалентност). С други думи, d=e-1 mod ((p-1)(q-1)).

Забележете, че d и n са също относително прости. Числата e и n са публичният ключ, числото d е частният ключ. Двете прости числа p и q повече не са нужни. Те трябва да се отстранят, но никога да не се разкриват.

За да се шифрира съобщението M, то първо се разделя на числови блокове с големина по-малка от n (за двоични данни се избира най-голямата степен на 2, която е по-малка от n). Например, ако p и q са 100-цифрени прости числа, тогава n ще има по-малко от 200 цифри и всеки числов блок на съобщението би трябвало също да бъде по-малък от 200 цифри. Шифрираното съобщение C ще бъде съставено от почти същият брой блокове ci, с почти същата дължина всеки. Формулата за шифриране е следната: ci=mi

e mod n.

За дешифриране на съобщението се взема всеки блок ci и се изчислява mi=cid mod

n.

Тъй-като

cid=(mi

e)d=mied=mi

k(p-1)(q-1)+1=mimik(p-1)(q-1)=mi*1=mi; всичко (mod n),

формулата възстановява оригиналното съобщение. Горните формули са синтезирани в долната таблица.

Съобщението може да бъде шифрирано и с d, при което дешифрирането става с e, така че изборът на ключ за шифриране и ключ за дешифриране се определя от реализатора на алгоритъма.

За да стане алгоритъмът по-ясен, ще разгледаме един пример. Нека p = 47 и q = 71, тогава

RSA Шифриране

Публичен ключ: n   произведение на две прости числа p и q (p и q трябва да останат скрити) е   взаимно просто на (p-1)(q-1)

Частен ключ: d   e-1 mod ((p-1)(q-1))

Page 141: Учебник по национална сигурност

Шифриране: c=me mod n

Дешифриране: m=cd mod n

n=pq=3337.

Шифриращият ключ е не трябва да имам общи множители с

(p-1)(q-1)=46*70=3220.

Избираме е (по случаен начин) да бъде 79. В този случай

d=79-1 mod 3220=1019.

Тези числа бяха изчислени, като се използва разширеният Евклидов алгоритъм. Публикуваме e и n и запазваме скрит d. Отстраняваме числата p и q.

За да кодираме съобщението

M=6882326879666683,

първо го разделяме на по-малки блокове. Трицифрени блокове вършат добра работа в този случай. Така съобщението се разделя на шест блока mi, които са:

m1=688

m2=232

m3=687

m4=966

m5=668

m6=003.

Първият блок се шифрира като

68879 mod 3337=1570=c1.

Извършвайки същата операция и върху останалите блокове, получаваме следното шифрирано съобщение:

C=1570 2756 2091 2276 2423 158

Дешифрирането на съобщението изисква прилагането на същата експонента, но като се използва ключът за дешифриране, който в нашия случай е 1019, така че имаме 15701019 mod 3337 = 688 = m1.

Page 142: Учебник по национална сигурност

Останалата част от съобщението може да бъде дешифрирана по същия начин.

 

4.4. АПАРАТНИ КРИПТОГРАФСКИ СИСТЕМИ

4.4.1. Safeguard PKI

Електронната търговия е нов, развиващ се отрасъл в света на бизнеса. Чрез виртуалните частни мрежи се свързват много организации и отделни лица по целия свят. Традиционните хартиени документи все по-често се заменят от електронните. Данните се предават до всяка точка на света много по-бързо по електронен път. Това са новости, притежаващи редица предимства, но и предизвикващи много организации да се замислят сериозно за сигурността на своята информация, контрола на достъпа, потребителската идентификация и автентификация, електронната форма на подпис и т.н. За успешното решаване на проблемите, свързани с различните аспекти на сигурността, Utimaco предлага PKI (Инфраструктура на публичния ключ) решение. Базирайки се на работа с удостоверения, то прави издаването и управлението им по лесен и гъвкав начин. Това е платформа, използваща отворени стандарти, приети от цялата Интернет общност: X.509, CRL, PKCS, PKIX и LDAP. SafeGuard PKI се настройва към различни типове политики за сигурност и дава възможност за бъдещи разработки и интеграция с практически всяка архитектура. Решението SafeGuard®PKI изцяло покрива всички изисквания за PKI, залегнали в българския Закон за електронния документ и електронния подпис.

Характеристики

SafeGuard PKI се състои от следните компоненти: Certification Authority (CA), Registration Authority (RA), Registration Point (RP), User Agent (UA) и Publication Agent (PA). Управлението позволява централизирано и децентрализирано издаване на ключовете. Компонентите Certification и Registration Authority на SafeGuard PKI могат да се свързват с директорийни системи LDAP на водещи фирми чрез стандартни протоколи и формати. SafeGuard PKI чете и записва в X.500 директории посредством LDAP, като InJoin, IBM Secure-Way и Netscape. Вградения ODBC интерфейс позволява достъп до Oracle или MsAccess бази данни.

Описание на компонентите на SafeGuard PKI:

Certification Authority – представлява сървърно базиран модул с напълно автоматизирано изпълнение. Той работи под Windows NT или Windows 2000 сървър и не изисква никаква потребителска намеса при нормалната си работа. Максимална сигурност може да се постигне в комбинация със защитен криптографски хардуерен модул като CryptWare Board или IBM 4758 Board, а дължината на ключовете, използвани при работа, достига до 4096 бита. Вградена е поддръжката на йерархични нива на CA. Този модул извършва проверка на валидността на потребителския ID, генерира/сертифицира потребителски ключове (до 2048 бита), генерира

Page 143: Учебник по национална сигурност

PIN код, който може автоматично да се разпраща чрез придружаващи писма по електронна поща, анулира потребителски ключове/удостоверения, генерира CRL, възстановява и поправя повредени ключове.

Publication Agent – работи директно със Certification Authority и публикува електронните удостоверения и/или CRL списъците в директорийната система. Publication Agent може да бъде конфигуриран автоматично или през определен период от време да публикува сертификатите и CRL.

Registration Authority – служи за въвеждане и верифициране на потребителските данни, за генериране на заявки за издаване на електронни удостоверения и за изпращането на такива за подновяване и анулиране. Ключовете могат да се доставят върху защитен носител (смарт карта) или като PKCS#12 файл. Поддържат се множество Registration Authorities, които могат да работят на различни машини. На всяка една RA станция може да се дефинира различна роля в зависимост от политиката на сигурност. 

Batch mode е опционална добавка към Registration Authority на SafeGuard PKI, служеща за издаване на серия от удостоверения. Тази функция е особено важна при наличието на големи бази данни от потребители. Batch mode извършва по напълно автоматизиран начин генерирането, анулирането и подновяването на потребителските ключове и електронните удостоверения.

Registration Point и User Agent са компонентите, позволяващи извършването на децентрализирано генериране на двойка ключове. Registration Point служи само за потвърждаване и регистриране на данните (самоличността) на крайния потребител. Валидните данни водят до генериране на защитен код и файл с определни права за крайния потребител. Той може да използва този код за настройване на защитен комуникационен канал директно със CA. В зависимост от файла с правата потребителят има възможност да управлява удостоверението си от своята машина, като само в този случай може да му се гарантира, че той и само той притежава частния ключ от своята двойка ключове. Възможно е наличието на няколко Registration Point станции с различаващи се функции (например само регистриране или само потвърждаване на данни).

SafeGuard PKI – база за работа на приложения за:

Решения за електронен подпис. SafeGuard Sign&Crypt – продукт за подписване и/или криптиране на електронни документи с пълна интеграция в MS Office и Outlook. 

Виртуални частни мрежи. SafeGuard VPN – продукт, осигуряващ защитен трансфер на данни през публична преносна среда, като ги криптира със съвременни високозащитени алгоритми. 

Сигурна автентификация. SafeGuard Advanced Security – решение за разширено администриране правата за достъп до PC и до мрежови приложения. 

Електронни транзакции. SafeGuard Transaction Client – приложение,

Page 144: Учебник по национална сигурност

интегрирано в Internet Explorer, за директно електронно подписване на транзакции и работа със смарт-карти.

 

Ключови думи

Криптография, криптографски методи, криптографски алгоритъм, криптографски код, криптографска система, аспекти на криптографията, шифрова система, анализ на сложността, сложност на алгоритмите, сложност на проблемите, булева алгебра, математическа статистика, криптографски алгоритми, симетрични алгоритми, асиметрични (несиметрични) алгоритми, издръжливост на шифрирането, DES, RSA, Safeguard PKI.

 

 

ЗА САМОПОДГОТОВКА

Въпроси и задачи

1. В какво се изразява същността на криптографията?2. Опишете поне 5 основни понятия в криптографията.3. Кои са основните криптографски алгоритми?4. Кои са криптографски алгоритми са симетрични?5. Кои са криптографски алгоритми са асиметрични?6. Опишете основните характеристики на Safeguard PKI.

 

ЛИТЕРАТУРА Азълов, П. Бази от данни. Релационенен и обектен подход. София: Техника, 1991.Атре, Ш. Структурний подход и организации баз данных. Москва: Финанси и статистика, 1983.Ульман, Дж. Основы систем баз данных. Москва: Финанси и статистика, 1983.Бърнев, П. Информатика I част. София: Просвета, 1992.Азълов, П., Бърнев, П. Информатика II. София: Просвета, 1993.Арнаудов, Д., Нонинска, И. Бази от данни. София: Техника, 1992.Джеймс, М. Организация баз данных в вычислительных системах. Москва: Мир, 1980.Петков, Кр. Съвременни информационни технологии. София: УИ “Св. Климент Охридски”, 1996.Радев, Е. Информатика. София: УНСС, 1995.Кашева, М. С PARADOX в релационните бази от данни. София: Инфодар, 1994.

Page 145: Учебник по национална сигурност

Азълов, П., Кунева, П. Бази от данни. София: Просвета, 1994.Тейлър, Д. Borland Delphi programming част I и II. София: Алекс-Софт, 1996.Георгиев, Е. Организация баз данных в вычислительных систем. Москва: Мир, 1980.Сребров, П. Защита на информацията при работа с ЕИМ. София: Техника, 1989.Георгиев, Е. Научете сами SQL. Ръководство за работа с бази данни. София: Express Disign, 1998.Грубер, М. SQL. Том I и II. Професионално издание. София: Софпрес, 2001.InterBase 6. Language Reference. Borland/Inprise (http://www.borland.com/interbase/).InterBase 6. Data. Definition Guide, Borland/Inprise (http://www.borland.com/interbase/).Грабер, М. Справочное руководство по SQL Москва: ЛОРИ, 1997.Джон, В. Всичко за Microsoft Access 2000. София: Софтпрес, 2000.Райкерсторфер, Г., Вердених, К., Райзингер, У., Рьорих, Х. Икономическа информатика. София: ТИЛИА, 1997.Мейeр, Д. Теория релационньих баз данньх. Москва: Мир, 1987.Вълова, П., Арсов, С. Ръководство за практически знания по бази от данни. Русе: РУ “Ангел Кънчев”, 1998.Лешек, Л. Анализ требовании и проектирование систем. Москва: Вильямс, 2002.Арнаудов, Д., Рачев, Б. Автоматизирани информационни и управляващи системи. София: Техника, 1991.Рачев, Б. и др. Бази от данни и информационни системи. Варна, 1997.Конференция “PR и реклама в Интернет 2003”. Учебные курсы Ал. Вендрова. Москва, 26-27 август 2003.Златарова, Ф. Лекции, четени във ФМИ на ШУ “Епископ Константин Преславски”, Шумен.Хю Е. У., Леан, Д. Уеб-приложение за бази от данни РНР и MySQL. София: O’Reilly. 2003.