Xii. Защита и безопасност на ос



страница5/5
Дата01.09.2016
Размер0.62 Mb.
#8028
ТипГлава
1   2   3   4   5

12.3. КРИПТОГРАФИЯ

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

Криптографията [85, 89] е общ метод за защита на информация при прехвърлянето и по ненадеждни линии в мрежата. Предмет на криптографията е преобразуване на данните, така че да станат неразбираеми за всички, освен за когото са предназначени. Основният проблем е запазване на тайната, да бъде избягнато получаването на информация от неавторизирани лица. Друг проблем е достоверността на предаваните данни, което е свързано със защита против изкривяване на данни или прибавяне на фалшиви. И накрая стои проблемът с потвърждаване на самоличността на подателя на съобщението, в което трябва да се убеди получателя, т.е. създаване на аналог на подписа.

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

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

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

Ключ Е може да се направи открит и с това не се нарушава секретността на D. Всеки потребител създава два ключа –Е е общоизвестен, a D е секретен. Така на даден потребител всеки може да изпрати шифровано съобщение, но да го разшифрова може само този потребител (секретният ключ за дешифроване е известен само на него).



Цыфровите подписи са електронен аналог на личния подпис. Да създаде и постави подпис може само един човек - авторът, а да разпознаят подписа, че принадлежи на даден автор, могат много хора, Системите с открити ключове предоставят възможност за реализация на цифровите подписи. Подателят „подписва" съобщението си, шифровайки го със своя секретен ключ. Получателят с помощта на открития ключ на подателя разшифрова съобщението.

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

Като примери за реализация са интересни две схеми. Едната схема DES (Data Ecryption Standart) е развита от Националното бюро за стандарти на САЩ. Тя е симетрична - използва се един ключ за шифроване и разшифроване. Тази схема страда от проблема за разпространението на ключа - преди началото на комуникацията секретният ключ трябва безопасно да се изпрати на подателя и получателя. Задачата не може ефективно да се извърши в среда на комуни-кационна мрежа. Асиметрично решение на проблема е предложено Дифи и Хелман. Всеки потребител има публичен (открит) и частен (секретен) ключ и двама потребители могат да комуникират, знаейки само откритите си ключове.

Алгоритьм RSA, базиращ се на тази концепция, е предложен от Ривест и др. [85]. Предполага се, че този алгоритъм е почти неразгадаем. Откритият ключ е двойката (е, n), а секретният ключ е двойката (d, п), където е, d, n са положителни цели числа. Всяко съобщение е представено като цяло между 0 и n-1 (дългите съобщение се нацепват на серия от по-къси, всяко от които може да се представи като цяло). Функциите за шифроване и разшифроване Е и D на съобщение т са дефинирани като:



Е(т) = we mod n = С

D(C) = Cdmod n.

Главният проблем е в избирането на ключове за шифроване и разшифроване. Цялото п се изчислява като резултат от две големи (100 цифри и повече), случайно подбрани прости числа р и q, с n=pxq.

Цялото d е избрано да бъде голямо, случайно избрано взаимно просто на (р-1)х(q-1), т.е. d удовлетворява:



най-големият общ делител на [d, (р-1) х (q-1)] = 1.

Накрая цялото е се изчислява (от р, q, d) да бъде мултипликативно обратно от d по модул (p-l)x(q-l), т.е. е удовлетворява:

е х d mod (р-1) х (q-1) = 1.

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

Схемата се илюстрира от следния пример. Нека p=5 и q=7. Тогава n=35 и (p-l)x(q-l)=24. Тъй като 11 е взаимно просто 24, d може да се избере (d=11, и тъй като 11x11 mod 24= 121 mod 24= 1, то е= 11. Сега предполагаме, че m=3. Тогава С=me mod n=311mod 35=12 и Cdmod n=1211mod 35=3=m. Така, ако m може да се кодира чрез е, също така т може да се декодира чрез d.

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

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



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

При метода с прозрачно шифроване съобщението се зашифрова в подателя и разшифрова само веднъж в получателя. Данните са защитени по целия път, даже защитата на някой възел да е нарушена. В мрежите с комутация на пакетите и междинно съхранение, снабдени със средства за подобно шифроване, адресът на получателя на пакета не може да е зашифрован - във всеки възел трябва да има възможност за неговото прочитане, за да се определи маршрутът.
Каталог: files -> tu files
tu files -> Увод в компютърната графика
tu files -> Електрически апарати
tu files -> Средства за описание на синтаксиса
tu files -> Stratofortress
tu files -> Начало Решаване на проблеми
tu files -> Писане на скриптове за bash шел : версия 2
tu files -> 6Технологии на компютърната графика 1Модели на изображението
tu files -> Z=f(x), където x- входни данни; z
tu files -> Body name библиотека global Matrix imports (достъп по име) … var m[N, N] := … end decl., proc … resource f final code imports node, Matrix end name var x: node node; if x … Matrix m[3,4] :=: … end


Сподели с приятели:
1   2   3   4   5




©obuch.info 2024
отнасят до администрацията

    Начална страница