4213

Асиметричні алгоритми кодування

Реферат

Информатика, кибернетика и программирование

Асиметричні алгоритми кодування. Загальні відомості про криптоалгоритми В асиметричних криптоалгоритмах для шифрування повідомлення використовується один ключ, а для розшифровки інший. Ключ шифрування відомий усім, але перетворення є незворотним, т...

Украинкский

2012-11-14

144.61 KB

70 чел.

Асиметричні алгоритми кодування

1 Загальні відомості про криптоалгоритми

В асиметричних криптоалгоритмах для шифрування повідомлення використовується один ключ, а для розшифровки інший. Ключ шифрування відомий усім, але перетворення є незворотним, тому зашифрований текст не може прочитати ніхто, крім отримувача  лише він один знає другий (закритий) ключ.

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

Симетричні криптосистеми, розглянуті в попередніх розділах, незважаючи на безліч переваг, володіють одним серйозним недоліком. Він пов’язаний із ситуацією, коли спілкуються не три-чотири людини, а сотні і тисячі. У цьому випадку для кожної пари, що листується, необхідно створювати свій секретний симетричний ключ. Це в підсумку призводить до існування в системі з N користувачів  ключів. А це вже дуже “пристойне” число. Крім того, при порушенні конфіденційності будь-якої робочої станції, зловмисник отримує доступ до всіх ключів цього користувача і може відправляти, нібито від його імені, повідомлення всім абонентам, з якими “жертва” вела листування.

Своєрідним вирішенням цієї проблеми стала поява асиметричної криптографії. Ця область криптографії дуже молода в порівнянні з іншими представниками. Перша схема, що мала прикладну значимість, була запропонована всього близько 20 років тому. Але за цей час асиметрична криптографія перетворилася на один з основних напрямків криптології, і використовується в сучасному світі так само часто, як і симетричні схеми.

Асиметрична криптографія першопочатково була задумана як засіб передачі повідомлень від одного об’єкта до іншого (а не для конфіденційного збереження інформації, яку забезпечують тільки симетричні алгоритми). Тому подальше пояснення буде вестися в термінах “відправник” особа, що шифрує, а потім відправляє інформацію по незахищеному каналу і “одержувач” особа, яка приймає і відновлює інформацію в її початковому вигляді. Основна ідея асиметричних криптоалгоритмів полягає в тому, що для шифрування повідомлення використовується один ключ, а при дешифрування інший (перша умова).

Крім того, процедура шифрування вибрана так, що вона незворотна навіть за відомим ключем шифрування це друга необхідна умова асиметричної криптографії. Тобто, знаючи ключ шифрування і зашифрований текст, неможливо відновити вихідне повідомлення прочитати його можна тільки за допомогою другого ключа ключа дешифрування. А раз так, то ключ шифрування для відправки листів будь-якій особі можна взагалі не приховувати знаючи його все одно неможливо прочитати зашифроване повідомлення. Тому, ключ шифрування називають в асиметричних системах “відкритим ключем”, а ось ключ дешифрування одержувачу повідомлень необхідно тримати в секреті він називається “закритим ключем”. Напрошується питання: “Чому, знаючи відкритий ключ, не можна обчислити закритий ключ?”  це третя необхідна умова асиметричної криптографії алгоритми шифрування і дешифрування створюються так, щоб знаючи відкритий ключ, неможливо було вирахувати закритий ключ.

У цілому система листування при використанні асиметричного шифрування виглядає наступним чином. Для кожного з N абонентів, що ведуть листування, обрана своя пара ключів: “відкритий”  і “закритий” , де j номер абонента. Всі відкриті ключі відомі всім користувачам мережі, кожен закритий ключ, навпаки, зберігається тільки у того абонента, якому він належить. Якщо абонент, скажімо під номером 7, збирається передати інформацію абоненту під номером 9, він шифрує дані ключем шифрування  і відправляє її абоненту 9. Незважаючи на те, що всі користувачі мережі знають ключ  і, можливо, мають доступ до каналу, по якому йде зашифроване послання, вони не можуть прочитати початковий текст, оскільки процедура шифрування незворотна по відкритому ключу. І тільки абонент №9, отримавши послання, здійснює над ним перетворення за допомогою відомого тільки йому ключа  і відновлює текст послання. Якщо ж повідомлення потрібно відправити у протилежному напрямку (від абонента 9 до абонента 7), то потрібно буде використовувати вже іншу пару ключів (для шифрування ключ , а для дешифрування ключ ).

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

2 Асиметричні криптосистеми

Загальна схема асиметричної криптосистеми зображена на рисунку 1. За структурою вона практично ідентична симетричній криптосистемі з ключем сеансу.

Алгоритми з відкритим ключем розроблені таким чином, що ключ, використовуваний для зашифрування, відрізняється від ключа розшифрування . Більш того, ключ розшифрування не може бути (принаймні протягом розумного інтервалу часу) розрахований по ключу зашифрування.

Рисунок 1. – Загальна схема асиметричної криптосистеми

Схематично зашифрування та розшифрування при використанні асиметричних криптографічних систем зображені на рис. 2.

 

Рисунок 2.Операції зашифрування та розшифрування в асиметричних криптосистемах

Слід зауважити, що ключі К1 та К2 не обов’язково мають бути різними, але в тому випадку, коли вони співпадають, втрачається багато переваг алгоритма з відкритим ключем.

Від часу винайдення криптографії з відкритим ключем було запропоновано безліч криптографічних алгоритмів з відкритими ключами . Багато з них не є стійкими. А з тих, які є стійкими, багато непридатних для практичної реалізації . Або вони використовують дуже великий ключ, або розмір отриманого шифртекста набагато перевищує розмір відкритого тексту. Небагато алгоритмів є і безпечними, і практичними. Зазвичай ці алгоритми засновані на одній з важких проблем. Деякі з цих безпечних і практичних алгоритмів підходять тільки для розподілу ключів. Інші підходять для шифрування (і для розподілу ключів). Треті корисні тільки для цифрових підписів. Тільки три алгоритми добре працюють як при шифруванні, так і для цифрового підпису: RSA, EIGamal (Ель-Гамаля) та Rabin (Рабіна). Усі ці алгоритми повільні. Вони зашифровують і розшифровують дані набагато повільніше, ніж симетричні алгоритми. Зазвичай їх швидкість недостатня для шифрування великих обсягів даних.

Гібридні криптосистеми дозволяють прискорити події: для шифрування повідомлення використовується симетричний алгоритм з випадковим ключем, а алгоритм з відкритим ключем застосовується для шифрування випадкового сеансового ключа.

Оскільки асиметричні криптоалгоритмами дуже повільні, в реальних системах використовуються швидкі надійні симетричні криптоалгоритмами по схемі з ключем сеансу. А от сам ключ сеансу кодується асиметричним криптоалгоритмами за допомогою відкритого ключа одержувача. Подібна система має всі властивості асиметричного криптоалгоритму і дуже високу швидкодію.

2.1. Порівняльна характеристика асиметричних та симетричних алгоритмів стосовно шифрування каналів зв’язку

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

Симетрична криптографія найкраще підходить для шифрування даних. Вона на декілька порядків швидша та стійкіша до розкриття з використанням підібраного шифртексту.

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

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

  1.  позбавлені складних математичних обчислень – для шифрування використовуються прості логічні операції;
  2.  працюють на декілька порядків швидше;
  3.  більш стійкі до зламування.

Враховуючи те що каналами зв’язку пересилаються дуже великі об’єми даних (до того ж у більшості випадків послідовним кодом) на великих швидкостях (приблизно 100-1000 Мбіт/сек), а також те, що шифрування повинно відбуватися апаратно, криптографічний алгоритм повинен задовольняти наступним вимогам:

  1.  бути орієнтованим на апаратну реалізацію;
  2.  здійснювати шифрування даних на великих швидкостях без зайвих затримок;
  3.  бажано не використовувати буферизацію даних, через критичність затримок.

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


5 Алгоритм RSA. Механізм розповсюдження відкритих ключів. Обмін по алгоритму Діффі-Хелмана

5.1 Алгоритм RSA

Алгоритми RSA є класикою асиметричної криптографії. У ньому в якості незворотного перетворення відправки використовується піднесення цілих чисел до великих ступенів за модулем.

Алгоритм RSA стоїть біля витоків асиметричної криптографії. Він був запропонований трьома дослідниками-математиками: Рональдом Рівестом (R. Rivest), Аді Шамір (A. Shamir) і Леонардом Адльманом (L. Adleman) в 1977-78 роках.

Першим етапом будь-якого асиметричного алгоритму є створення пари ключів: відкритого та закритого та розповсюдження відкритого ключа “по всьому світу”. Для алгоритму RSA етап створення ключів складається з наступних операцій:

  1.  Вибираються два прості (!) числа p і q; 
  2.  Обчислюється їх добуток n ();
  3.  Вибирається довільне число e (), таке, що НСД
    , тобто e повинно бути взаємно простим з числом ;
  4.  Методом Евкліда вирішується в цілих числах (!) рівняння
    . Тут невідомими є змінні d і y метод Евкліда як раз і знаходить безліч пар (d, y), кожна з яких є рішенням рівняння в цілих числах.
  5.  Два числа (e, n) публікуються як відкритий ключ.
  6.  Число d зберігається в найсуворішій таємниці це і є закритий ключ, який дозволить читати всі послання, зашифровані за допомогою пари чисел (e, n).

Нижче наведено, як же здійснюється власне шифрування за допомогою цих чисел:

  1.  Відправник розбиває своє повідомлення на блоки, рівні
    біт, де квадратні дужки позначають взяття цілої частини від дробового числа.
  2.  Подібний блок може бути інтерпретований як число з діапазону . Для кожного такого числа (нехай, це буде ) обчислюється вираз . Блоки  і є зашифрованим повідомленням. Їх можна спокійно передавати по відкритому каналу, оскольки.операція піднесена до степеня по модулю простого числа, є незворотною математичною задачею. Обернена задача носить назву “логарифмування в кінцевому полі” і є на кілька порядків складнішим завданням. Тобто навіть якщо зловмисник знає числа e і n, то по  прочитати вихідні повідомлення  він не може ніяк, окрім як повним перебором .

А ось на приймальній стороні процес дешифрування все ж можливий, і допомогти у цьому може секретне число d. Досить давно була доведена теорема Ейлера, окремий випадок якої стверджує, що якщо число n, представлене у вигляді двох простих чисел p і q, то для будь-якого x має місце рівність . Для дешифрування RSA-повідомлень можна скористатись цією формулою. Звівши обидві її частини до степеня  отримаємо:  Тепер помноживши обидві її частини на x:  

А тепер згадаємо, як створюються відкритий і закритий ключі. За допомогою алгоритму Евкліда підбирали таке d, що
, тобто
. А отже в останньому виразі попереднього абзацу можна замінити показник ступеня на число . Отримуємо . Тобто, для того щоб прочитати повідомлення  достатньо піднести його до степеня d по модулю m:

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

5.1.1 Технологія цифрових підписів

Асиметрична криптографія, як виявилося, дозволяє дуже красиво вирішувати і завдання аутентифікації автора повідомлення простим зміною порядку використання відкритого та закритого ключів.

Для вирішення цієї проблеми за допомогою симетричної криптографії була розроблена дуже трудомістка і складна схема. У той же час за допомогою, наприклад, того ж алгоритму RSA створити алгоритм перевірки справжності автора й незмінності повідомлення надзвичайно просто.

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

У принципі, можна знайти інший текст, який дає те ж саме значення хеш-функції, але змінити в потрібному тексті десять-двадцять байт так, щоб текст залишився повністю осмисленим, та ще і змінився в вигідну користувачу сторону (наприклад, зменшив суму до оплати вдвіччі) надзвичайно складно. Саме для усунення цієї можливості хеш-функції створюють такими ж складними як і криптоалгоритми якщо текст з таким же значенням хеш-функції можна буде підібрати тільки методом повного перебору, а безліч значень буде становити як і для блокових шифрів 232-2128 можливих варіантів, то для пошуку подібного тексту зловмисникові “потрібні” ті ж самі мільйони років.

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

Представимо тепер готову до передачі хеш-суму у вигляді декількох kітних блоків , де k – це розмір повідомлень по алгоритму RSA в попередньому параграфі. Обчислимо для кожного блоку значення
,
де d – це той самий закритий ключ відправника. Тепер повідомлення, що складається з блоків  можна “спокійно” передавати по мережі. Ніякої небезпеки знайти по відомих  і  секретний ключ немає – це настільки ж складне завдання, як і завдання “логарифмування в кінцевому полі”. А ось будь-який одержувач повідомлення може легко прочитати початкове значення , виконавши операцію  Відкритий ключ відправника  є у всіх, а те, що піднесення будь-якого числа до степеня  по модулю n дає початкове число, було доведено в попередньому параграфі. При цьому ніхто інший, окрім користувача, не знаючи закритого ключа d не може, змінивши текст, а отже, і хеш-суму, обчислити такі , щоб при їх піднесенні до степеня e вийшла хеш-сума , що співпадала б з хеш-суммой фальсифікованого тексту.

Таким чином, маніпуляції з хеш-суммой тексту являють собою “асиметричне шифрування навпаки”: при відправці використовується закритий ключ відправника, а для перевірки повідомлення – відкритий ключ відправника. Подібна технологія отримала назву “електронний підпис”. Інформацією, яка унікально ідентифікує відправника (його віртуальним підписом), є закритий ключ d. Жодна людина, що не володіє цією інформацією, не може створити таку пару (текст, ), щоб описаний вище алгоритм перевірки дав позитивний результат.

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

5.1.2 Сертифікація електронних підписів (вибірка з http://www.unis.org.ua/index.php/uk/topcsk/questions)

Метою застосування систем цифрового підпису є автентифікація інформації – захист учасників інформаційного обміну від нав’язування хибної інформації, встановлення факту модифікації інформації, яка передається або зберігається, й отримання гарантії її справжності, а також вирішення питання про авторство повідомлень. Система цифрового підпису припускає, що кожен користувач мережі має свій таємний ключ, який використовується для формування підпису, а також відповідний цьому таємному ключу відкритий ключ, відомий решті користувачів мережі й призначений для перевірки підпису. Цифровий підпис обчислюється на основі таємного ключа відправника інформації й власне інформаційних бітів документу (файлу). Один з користувачів може бути обраним в якості “нотаріуса” й завіряти за допомогою свого таємного ключа будь-які документи. Решта користувачів можуть провести верифікацію його підпису, тобто пересвідчитися у справжності отриманого документу. Спосіб обчислення цифрового підпису такий, що знання відкритого ключа не може призвести до підробки підпису. Перевірити підпис може будь-який користувач, що має відкритий ключ, в тому числі незалежний арбітр, якого уповноважено вирішувати можливі суперечки про авторство повідомлення (документу).

Простий аналіз інформаційних ризиків, які виникають при використанні несертифікованих засобів криптографічного захисту інформації (до яких, безумовно, відносяться засоби електронного цифрового підпису) без будь-яких обумовлень, вже дає достатньо підстав зробити вибір на користь застосування сертифікованих Департаментом спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України засобів для здійснення ЕЦП.

Власне ризик фальсифікації електронного підпису навряд чи можна вважати значним. По-перше, більшість несертифікованих засобів ЕЦП використовуються вже досить давно й на практиці довели свою надійність; по-друге, навіть для того, щоб фальсифікувати підпис, який накладається за допомогою будь-якого недосконалого алгоритму, можуть знадобитися досить значні витрати. Між тим є менш затратні способи компрометації системи, ніж спроби прямого злому.

Перший ризик полягає в тому, що учасник системи документообігу може, посилаючись на те, що засоби ЕЦП не сертифіковані (а значить, не мають гарантій криптографічної стійкості), заявити, що його підпис було підроблено, й відкликати таким чином електронний документ із своїм підписом. Відзначимо, що для цього зовсім не потрібно, щоб підробка дійсно мала місце! Віртуальний, за великим рахунком, ризик фальсифікації ЕЦП породжує абсолютно реальний ризик відмови від ЕЦП.

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

Інший ризик, що пов’язаний з можливістю відмовитися від авторства підписаного документу, ще більш серйозний. Річ у тім, що несертифікований засіб ЕЦП ніхто не перевіряв, по-перше, з точки зору якості виконання основної функції (й на цьому засновано описаний вище ризик), а по-друге, з точки зору відсутності бічної дії. Автор завіреного ЕЦП електронного документу може в принципі спробувати відмовитися від змісту цього документу, стверджуючи, що засіб ЕЦП неадекватно перетворив запропонований йому файл: не тільки поставив ЕЦП, але й "випадково" щось ще змінив у файлі в силу помилки у програмі. Скоріше за все це твердження хибне. Досить малоймовірно, щоб випробуваний на практиці засіб ЕЦП дійсно дав такий збій. Ризик неадекватного перетворення вхідного файлу - чисто віртуальний. В той же час, заснований на ньому ризик відмови від змісту файлу цілком реальний. Автор стверджує, що програма дала збій й на виході отримано правильно завірений ЕЦП файл, відмінний від того, який було передано програмі на вхід. Це неправда - але як це довести?

За використання сертифікованих засобів криптографічного захисту інформації гарантом якості виконання основної функції й відсутності бічної дії виступає Департамент спеціальних телекомунікаційних систем захисту інформації Служби безпеки України. А при використанні несертифікованих засобів криптографічного захисту інформації таких гарантій не може дати ніхто.

Згідно Закону України “Про електронний цифровий підпис”, послуги ЕЦП, в тому числі й видачу сертифікатів відкритих ключів, здійснює центр сертифікації ключів.

Центром сертифікації ключів (далі – ЦСК) може бути юридична чи фізична особа – суб’єкт підприємницької діяльності, який надає послуги в сфері ЕЦП й засвідчив свій відкритий ключ в органі технічного управління сфери ЕЦП – центральному засвідчувальному органі. В загальному вигляді визначається два типи надавачів послуг в сфері ЕЦП – центр сертифікації ключів й акредитований центр сертифікації ключів. Акредитованим ЦСК є центр сертифікації, який прошов добровільну процедуру акредитації, яка підтверджує його здатність виконувати зобов’язання щодо обслуговування посилених сертифікатів. Додатково до обов’язків й вимог, встановленим Законом для ЦСК, акредитований ЦСК повинен використовувати для надання послуг в сфері цифрового підпису лише надійні засоби ЕЦП. Надійним вважається засіб ЕЦП, який має сертифікат відповідності або позитивний експертний висновок за результатами державної експертизи в сфері криптографічного захисту інформації.

В загальному вигляді система ЕЦП функціонує наступним чином. Фізична або юридична особа, яка бажає стати учасником системи, в термінах Закону - підписувачем, звертається безпосередньо в ЦСК (акредитований ЦСК) або до його повноважного представника, який в ході процедури реєстрації з певним ступенем достовірності здійснює ідентифікацію заявника й отримуваних від нього даних, необхідних для формування сертифікату (посиленого сертифікату). ЦСК формує сертифікат відкритого ключа користувача й завіряє його своїм підписом. Новий сертифікат переміщується до бази даних дійсних сертифікатів ЦСК й стає доступним для всіх користувачів по загальнодоступним телекомунікаційним каналам.

Тепер разом з підписаним документом отримувачу може направлятися сертифікат відправника та/або, отримавши повідомлення, отримувач звертається до бази даних сертифікатів, по ідентифікаційним даним відправника отримує його сертифікат й перевіряє статус цього сертифікату (чинний, заблокований, скасований). Якщо сертифікат дійсний на момент перевірки ЕЦП з отриманого сертифікату вилучається відкритий ключ відправника й виконується перевірка його підпису. Слід відмітити, що клієнтське програмне забезпечення, яке забезпечує формування й перевірку ЦЕП, проводить ці операції автоматизовано й абсолютно прозоро для користувачів.

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

В основі інфраструктури відкритих ключів (ІВК) лежить спеціальний суб’єкт – центр сертифікації ключів (ЦСК), основною метою якого є забезпечення безпечного обміну відкритими ключами між учасниками електронної взаємодії.

У відповідності до Закону України “Про електронний цифровий підпис”, ЦСК має право:

  1.  надавати послуги ЕЦП й обслуговувати посилені сертифікати ключів;
  2.  отримувати й перевіряти інформацію, необхідну для реєстрації користувача й формування сертифіката ключа безпосередньо в юридичної або фізичної особи або в їх представника.

Відповідно до Закону, ЦСК повинен:

  1.  вживати заходи для забезпечення безпеки інформації під час сертифікації ключів й зберігання сертифікатів ключів;
  2.  встановлювати під час формування сертифікату ключа, відповідності відкритого ключа й особистого ключа користувача;
  3.  забезпечувати захист персональних даних, отриманих від користувача, у відповідності до законодавства;
  4.  своєчасно скасовувати, блокувати й поновлювати сертифікати ключів у випадках, передбачених Законом;
  5.  перевіряти законність звернень про скасування й блокування сертифікатів ключів й зберігати документи, на основі яких були скасовані або блоковані сертифікати ключів;
  6.  цілодобово приймати заявки про скасування, блокування й поновлення сертифікатів ключів;
  7.  вести електронні реєстри чинних, скасованих й блокованих сертифікатів ключів й документацію, перелік якої визначається контролюючим органом;
  8.  забезпечення цілодобового доступу користувачів до сертифікатів ключів й відповідних електронних реєстрів через загальнодоступні телекомунікаційні канали;
  9.  забезпечувати зберігання сформованих сертифікатів ключів протягом термінів, передбачених законодавством для зберігання відповідних документів на паперовій основі;
  10.  надавати консультації з питань, пов’язаних з цифровим підписом.

Центри сертифікації ключів (ЦСК) є єдиними суб’єктами системи ЕЦП, які надають послуги сертифікації відкритих ключів безпосередньо кінцевим користувачам.

З технічної точки зору, функції, що їх виконує ЦСК, умовно можливо розділити на основні (функції управління сертифікатами) та додаткові.

До основних функцій відносяться:

  1.  генерація власної ключової пари;
  2.  реєстрація (ідентифікація) кінцевого користувача;
  3.  сертифікація відкритих ключів користувачів (процес формування сертифікатів відкритих ключів для кінцевих користувачів);
  4.  публікація (розповсюдження) сертифікатів у відкритому каталозі для забезпечення доступу до них кінцевих користувачів;
  5.  забезпечення відкликання сертифікатів (блокування або скасування дії сертифікату за умови виникнення певних обставин).
  6.  забезпечення перевірки легітимності сертифікату (розповсюдження списків відкликаних сертифікатів);
  7.  архівацію сертифікатів;
  8.  До додаткових функцій можливо віднести:
  9.  -генерація ключів користувачам;
  10.  забезпечення підтримки неможливості відмови від ЕЦП;
  11.  управління історією сертифікату;
  12.  часові штампи;
  13.  нотаріальне засвідчення;
  14.  розбір конфліктних ситуацій.

Відповідальність за зберігання особистого ключа у таємниці покладається на його власника. Передача ключа іншим особам є фактом компрометації ключа – в такому випадку його власник не може контролювати особистий ключ, хоча несе відповідальність за його застосування. Для випадків, коли власник ключа відсутній з поважної причини, слід використовувати ЕЦП іншої особи, яка має свій власний ключ.

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

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

5.2 Механізм розповсюдження відкритих ключів

Асиметрична криптографія зробила ще і достатньо могутній прорив в технології первинного розповсюдження ключів. Якщо для симетричних криптосистем обов’язковим був попередній обмін по закритому каналу (зазвичай особисто з рук в руки), то тепер з’явилися абсолютно нові способи для цього.

Здавалося б, асиметричні криптосистеми позбавлені одного з найголовніших недоліків симетричних алгоритмів – необхідності попереднього обміну сторонами секретним ключем по захищеній схемі. Начебто досить “розтрубити” по всьому світу про свій відкритий ключ, і ось готова надійна лінія передачі повідомлень.

Але виявляється не все так просто. Для того, щоб відправити зашифроване повідомлення, відправник повинен дізнатися відкритий ключ отримувача. Якщо ключ не приносили особисто на дискеті, то це означає, що відправник його просто узяв з інформаційної мережі. А зараз головне питання: де доказ, що даний набір байт є відкритим ключем саме цього отримувача? Адже зловмисник може згенерувати довільну пару (закритий ключ, відкритий ключ), потім активно поширювати або пасивно підміняти при запиті бажаний відкритий ключ створеним ним. В цьому випадку при відправці повідомлення:

  1.  Відправник зашифрує його тим ключем, що отримав від зловмисника;
  2.  Зловмисник, перехопивши повідомлення дешифрує його парним закритим ключем, прочитає;
  3.  Може переслати далі, зашифрувавши вже відкритим ключем відправника. Так само, але по інверсній схемі, він може підмінити і електронний підпис вже відправника під його ж листом.

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

Але в принципі, якщо безліч однодумців об’єднаються з метою створити надійну мережу розповсюдження ключів, то це буде їм цілком під силу. А сама асиметрична криптографія допоможе їм в цьому таким чином: насправді нікуди ходити з дискетою, отримавши прохання від свого знайомого передати відкритий ключ містера V.M.B. містерові R.H.J., не потрібно. Адже співбесідник знає відкритий ключ іншого, отриманий яким-небудь надійним способом. А отже, він може інший співбесідник може прислати цей відкритий ключ містера V.M.B., підписавши повідомлення своїм електронним підписом. Наступному у свою чергу потрібно всього лише відправити цей ключ далі по ланцюжку у напрямі містера R.H.J., підписавши вже своїм електронним підписом. Таким чином, минувши декілька перепідписів, відкритий ключ дійде від місця відправлення до місця вимоги по надійному шляху. В принципі від користувача може навіть не вимагатися ніяких дій – просто потрібно поставити на ПК спеціальний сервер розповсюдження ключів, і він всі тільки що описані дії виконуватиме автоматично.

На сьогоднішній день не існує єдиної мережі розповсюдження відкритих ключів, і справа, як це часто буває, полягає у війні стандартів. Розвиваються декілька незалежних систем, але жодна з них не отримала достатньої переваги над іншими, щоб назватися “світовим стандартом”.

Необхідно відзначити, що ланцюжок розповсюдження ключів в реальних випадках не дуже великий. Зазвичай він складається з двох-чотирьох ланок. Із залученням до процесу розповсюдження ключів крупних фірм-виробників програмних продуктів він стає ще коротшим. Дійсно, якщо на компакт-диску (не піратському!) з купленим програмним забезпеченням вже знаходиться відкритий ключ цієї фірми, а сама вона має крупний ринок збуту, то ланцюжок складатиметься або з однієї ланки (якщо ПЗ ця ж фірма стоїть і у потенційного отримувача), або з двох (другим стане який-небудь інший гігантський концерн, чиє ПЗ встановлено у співбесідника –між собою всі крупні компанії обмінялися ключами електронних підписів досить давно). Відкритий ключ, підписаний якою-небудь третьою стороною, називається завіреним за допомогою сертифікату. Сертифікатом називається інформаційний пакет, що містить який-небудь об’єкт (зазвичай ключ) і електронний підпис, підтверджуючий цей об’єкт від імені чиєї-небудь особи.

5.3 Обмін по алгоритму Діффі-Хелмана

Метод Діффі-Хелмана використовує алгоритм, подібний до алгоритму RSA, для первинного обміну ключами в симетричних криптосистемах по відкритому каналу, але тільки такому, в якому неможлива фальсифікація повідомлень.

Це цікавий алгоритм, який достатньо важко класифікувати. Він допомагає обмінюватися секретним ключем для симетричних криптосистем, але використовує метод, дуже схожий на асиметричний алгоритм RSA. Алгоритм названий по прізвищах його творців Діффі (Diffie) і Хелмана (Hellman).

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

Нехай, обом абонентам відомо деякі два числа v і n. Вони, втім, відомі і всім іншим зацікавленим особам. Наприклад, вони можуть бути просто фіксовано “зашиті” в програмне забезпечення. Для того, щоб створити нікому більше невідомий секретний ключ, обидва абонента генерують випадкові або псевдовипадкові прості числа: перший абонент – число x, другий абонент – число у. Потім перший абонент обчислює значення
і пересилає його другому, а другий обчислює  і передає першому. Зловмисник отримує обидва цих значення, але модифікувати їх (втрутитися в процес передачі) не може. На другому етапі перший абонент на основі того, що є у нього x і отримане по мережі значення  обчислює значення , а другий абонент на основі того, що є у нього у і отриманого по мережі  обчислює значення
. Насправді операція піднесення до степеня переноситься через операцію взяття модуля по простому числу (тобто комутативна в кінцевому полі), тобто у обох абонентів вийшло одне і те ж число:
 . Його вони і можуть використовувати як секретний ключ, оскільки тут зловмисник знову зустрінеться з проблемою RSA при спробі з’ясувати по перехоплених  і  самі числа x і у – це дуже і дуже ресурсоємна операція, якщо числа v, n, x, y вибрані достатньо великими.

Необхідно ще раз відзначити, що алгоритм Діффі-Хелмана працює тільки на лініях зв’язку, надійно захищених від модифікації. Якби він був застосовний на будь-яких відкритих каналах, то давно зняв би проблему розповсюдження ключів і, можливо, замінив собою всю асиметричну криптографію. Проте, в тих випадках, коли в каналі можлива модифікація даних, з’являється очевидна можливість уклинення в процес генерації ключів “зловмисника-посередника” по тій же самій схемі, що і для асиметричної криптографії.


6 Захист серверів та робочих станцій. Огляд систем захисту для ОС Windows та Linux

6.1 Мережеві компоненти, що піддаються атакам

З розвитком комп’ютерних мереж надійного локального захисту ЕОМ вже недостатньо: існує безліч способів віддаленого вторгнення на ЕОМ з неправильно зконфігурованою системою мережевої безпеки, або тимчасового виведення комп’ютера з ладу.

6.1.1 Сервери

Сервера призначені для зберігання інформації або надання певних видів послуг. Внаслідок цього, основними класами атак проти серверів є “відмова в сервісі” і спроби розкриття конфіденційної інформації. Специфічними атаками є атаки, що полягають у фальсифікації службових сервісів.

Основними компонентами будь-якої інформаційної мережі є сервера і робочі станції. Сервера надають інформаційні або обчислювальні ресурси, на робочих станціях працює персонал. В принципі будь-яка ЕОМ в мережі може бути одночасне і сервером і робочою станцією – в цьому випадку до неї млжна застосувати описи атак як на сервера, так і на робочі станції.

Основними завданнями серверів є зберігання і надання доступу до інформації і деякі види сервісів. Отже, і всі можливі цілі зловмисників можна класифікувати як

  1.  отримання доступу до інформації;
  2.  отримання несанкціонованого доступу до послуг;
  3.  спроба виводу з робочого режиму певного класу послуг;
  4.  спроба зміни інформації або послуг, як допоміжний етап якої-небудь крупнішої атаки.

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

А ось проблема виводу з ладу (порушення нормального функціонування) сервісів досить актуальна у сучасному комп’ютерному світі. Клас подібних атак отримав назву атака “відмова в сервісі” (англ. deny of serviceDOS ). Атака “відмова в сервісі” може бути реалізована у цілому діапазоні рівнів моделі OSI: фізичному, канальному, мережевому, сеансовому.

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

DNS-служба (англ. Domain Name System – служба доменних імен) в мережах Intra- і Inter- Net відповідає за зіставлення “вимовних”, легкозапам’ятовуваних доменних імен (наприклад, www.intel.com або mail.metacom.ru, до їх IP-адрес (наприклад, 165.140.12.200 або 19186.106.26). Пакети між станціями завжди передаються тільки на підставі IP-адрес (маршрутизатори орієнтуються тільки на їх значення при виборі напряму відправки пакету – доменне ім’я взагалі не включається в пакет, що відправляється), а служба DNS була створена в основному для зручності користувачів мережі. Як наслідок і в багатьох мережевих програмах ім’я віддаленого комп’ютера для більшої гнучкості або для зручності операторів заноситься не у вигляді 4-байтного IP-адреса, а у вигляді доменного імені. Так, дійсно, дві вказані переваги будуть досягнуті в цьому випадку, а ось безпека постраждає.

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

6.1.2 Робочі станції

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

Основною метою атаки на робочу станцію є, звичайно, отримання даних, що обробляються, або що локально зберігаються на ній. А основним засобом подібних атак до цих пір залишаються “троянські” програми. Ці програми по своїй структурі нічим не відрізняються від комп’ютерних вірусів, проте при попаданні на ЕОМ прагнуть поводитися якомога непомітніше. При цьому вони дозволяють будь-якій сторонній особі, що знає протокол роботи з даною троянською програмою, проводити відддалено з ЕОМ будь-які дії. Тобто основною метою роботи подібних програм є руйнування системи мережевого захисту станції зсередини – пробиття в ній величезного пролому.

Для боротьби з троянськими програмами використовується як звичайне антивірусне ПЗ, так і декілька специфічних методів, орієнтованих виключно на троянів. Відносно першого методу як і з комп’ютерними вірусами необхідно пам’ятати, що антивірусне ПЗ виявляє величезну кількість вірусів, але тільки таких, які широко розійшлися по країні і були численні прецеденти зараження. У тих же випадках, коли вірус або троянська програма пишеться з метою отримання доступу до конкретної ЕОМ або корпоративної мережі, то практично з вірогідністю 90% це не буде виявлено стандартним антивірусним ПЗ.

Ті троянські програми, які постійно забезпечують доступ до зараженої ЕОМ, а, отже, тримають на ній відкритий порт якого-небудь транспортного протоколу, можна виявляти за допомогою утиліт контролю за мережевими портами. Наприклад, для операційних систем клона Microsoft Windows такою утилітою є програма NetStat. Запуск її з ключем “netstat -a” виведе на екран всі активні порти ЕОМ. Оператору в цьому випадку потрібно знати порти стандартних сервісів, які постійно відкриті на ЕОМ, і тоді, будь-який новий запис на моніторі повинен привернути його увагу. На сьогоднішній день існує вже декілька програмних продуктів, що проводять подібний контроль автоматично.

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

Тому найбільш простій шлях, що надійно захищає як від комп’ютерних вірусів, так і від троянських програм, – це установка на кожній робочій станції програм контролю за змінами в системних файлах і службових областях даних (реєстрі, завантажувальних областях дисків і тому подібне) – так званих адвізорів (англ. adviser – повідомлювач).

6.2 Рівні мережевих атак відповідно до моделі OSI

Еталонна модель взаємодії відкритих систем OSI дозволяє кваліфікувати мережеві атаки по рівню протоколу, що атакується.

OSI (англ. Open Systems Interconnection) була розроблена інститутом стандартизації ISO з метою розмежувати функції різних протоколів в процесі передачі інформації від одного абонента іншому. Подібних класів функцій було виділено 7 – вони отримали назву “рівні”. Кожен рівень виконує свої певні завдання в процесі передачі блоку інформації, причому відповідний рівень на приймальній стороні проводить перетворення, точно зворотні тим, які проводив той же рівень на стороні, що передає. В цілому проходження блоку даних від відправника до одержувача показане на рис.6.1. Кожен рівень додає до пакету невеликий об’єм своєї службової інформації – префікс (на малюнку вони зображені як P1...P7). Деякі рівні в конкретній реалізації цілком можуть бути відсутніми.

Дана модель дозволяє провести класифікацію мережевих атак згідно рівня їх дії.

Фізичний рівень відповідає за перетворення електронних сигналів в сигнали середовища передачі інформації (імпульси напруги, радіохвилі, інфрачервоні сигнали). На цьому рівні основним класом атак є “відмова в сервісі”. Постановка шумів по всій смузі пропускання каналу може привести до “надійного” розриву зв’язку.

Канальний рівень управляє синхронізацією двох і більше мережевих адаптерів, підключених до єдиного середовища передачі даних. Прикладом його є протокол EtherNet. Дії на цьому рівні також полягають в основному в атаці “відмова в сервісі”. Проте, на відміну від попереднього рівня, тут проводиться збій синхропосилань або самої передачі даних періодичною передачею “без дозволу і не свого часу”.

Рисунок 6.1 – Шлях даних від відправника до одержувача

Мережевий рівень відповідає за систему унікальних імен і доставку пакетів по цьому імені, тобто за маршрутизацію пакетів. Прикладом такого протоколу є протокол Інтернету IP.

Транспортний рівень відповідає за доставку великих повідомлень по лініях з комутацією пакетів. Оскільки в подібних лініях розмір пакету є зазвичай невеликим числом (від 500 байт до 5 кілобайт), то для передачі великих об’ємів інформації їх необхідно розбивати на стороні, що передає, і збирати на приймальній. Транспортними протоколами в мережі Інтернет є протоколи UDP і TCP. Реалізація транспортного протоколу – досить складне завдання, а якщо ще врахувати, що зловмисник придумує найрізноманітніші схеми складання неправильних пакетів, то проблема атак транспортного рівня цілком з’ясовна.

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

Сеансовий рівень відповідає за процедуру встановлення початку сеансу і підтвердження (квитування) приходу кожного пакету від відправника одержувачеві. У мережі Інтернет протоколом сеансого рівня є протокол TCP (він займає і 4, і 5 рівнів моделі OSI). Відносно сеансового рівня дуже широко поширена специфічна атака класу “відмова в сервісі”, заснована на властивостях процедури встановлення з’єднання в протоколі TCP. Вона отримала назву SYN-Flood (flood – англ. “великий потік”).

При спробі клієнта підключитися до сервера, що працює по протоколу TCP (а його використовують більше 80% інформаційних служб, зокрема HTTP, FTP, SMTP, POP3), він посилає серверу пакет без інформації, але з бітом SYN, встановленим в 1 в службовій області пакету, – запитом на з’єднання. Після отримання такого пакету сервер зобов’язаний вислати клієнтові підтвердження прийому запиту, після чого з третього пакету починається власне діалог між клієнтом і сервером. Одночасно сервер може підтримувати залежно від типу сервісу від 20 до декількох тисяч клієнтів.

При атаці типу SYN-Flood зловмисник починає на своїй ЕОМ створювати пакети, що є запитами на з’єднання (тобто SYN-пакети) від імені довільних IP-адрес (можливо навіть неіснуючих) на ім’я атакованого сервера, по порту сервісу, який він хоче призупинити. Всі пакети доставлятимуться одержувачеві, оскільки при доставці аналізується тільки адреса призначення. Сервер, починаючи з’єднання по кожному з цих запитів, резервує під нього місце в своєму буфері, відправляє пакет-підтвердження і починає чекати третього пакету клієнта протягом деякого проміжку часу (1-5 секунд). Пакет-підтвердження піде за адресою, вказаною як помилковий відправник в довільну точку Інтернету і або не знайде адресата взагалі, або надмірно “здивує” операційну систему на цій IP-адресі (оскільки вона ніяких запитів на даний сервер не посилала) і буде просто проігнорований. А ось сервер при достатньо невеликому потоці таких запитів постійно триматиме свій буфер заповненим непотрібними очікуванням з’єднань і навіть SYN-запити від справжніх легальних користувачів не поміщатимуться в буфер: сеансовий рівень просто не знає і не може дізнатися, які із запитів фальшиві, а які справжні і могли б мати більший пріоритет.

Атака SYN-Flood набула досить широкого поширення, оскільки для неї не потрібні ніяких додаткових підготовчих дій. Її можна проводити з будь-якої точки Інтернету в адресу будь-якого сервера, а для відстежування зловмисника буде потрібно сумісні дії всіх провайдерів, складових ланцюжок від зловмисника до сервера, що атакується (практично всі фірми-провайдери, якщо вони володіють відповідним програмним забезпеченням і кваліфікованим персоналом, активно беруть участь у відстежуванні атакуючої ЕОМ на перше ж прохання, у тому числі і від зарубіжних колег).

6.3 Системи захисту для ОС MS Windows

Операційні системи є основною частиною програмного комплексу ЕОМ і при цьому виконують величезний набір проміжних операцій між прикладними програмами і апаратним забезпеченням. Природно, що помилки в них цікавлять зловмисників понад усе.

Операційна система є найважливішим програмним компонентом будь-якої обчислювальної машини, тому від рівня реалізації політики безпеки в кожній конкретній ОС багато в чому залежить і загальна безпека інформаційної системи. У даному параграфі буде приведений короткий огляд основних сучасних операційних систем. Найбільшу цікавість представлятиме безпечне розділення оперативної пам’яті і файлів між процесами і користувачами і стійкість ОС до мережевих атак.

Операційна система MS-DOS є ОС реального режиму мікропроцесора Intel, а тому тут не може йтися про розділення оперативної пам’яті між процесами. Всі резидентні програми і основна програма використовують загальний простір ОЗП. Захист файлів відсутній, про мережеву безпеку важко сказати що-небудь конкретне, оскільки на тому етапі розвитку ПЗ драйвери для мережевої взаємодії розроблялися не фірмою MicroSoft, а сторонніми розробниками.

Сімейство операційних систем Windows 95, 98, Millenium – це клони, спочатку орієнтовані на роботу в домашніх ЕОМ. Ці операційні системи використовують рівні привілеїв захищеного режиму, але не роблять ніяких додаткових перевірок і не підтримують системи дескрипторів безпеки. В результаті цього будь-яка зприкладна програма може дістати доступ до всього об’єму доступної оперативної пам’яті як з правами читання, так і з правами запису. Заходи мережевої безпеки присутні, проте, їх реалізація не на висоті. Більш того, у версії Windows 95 була допущена ґрунтовна помилка, що дозволяє відддалено буквально за декілька пакетів приводити до “зависання” ЕОМ, що також значно підірвало репутацію ОС, в подальших версіях було зроблено багато кроків по поліпшенню мережевої безпеки цього клона.

Покоління операційних систем Windows NT, 2000 є вже значно надійнішими розробками компанії MicroSoft. Вони явлются дійсно багатокоритсувацькими системами, що надійно захищають файли різних користувачів на жорсткому диску (правда, шифрування даних все ж таки не проводиться і файли можна без проблем прочитати, завантажившись з диска іншої операційної системи – наприклад, MS-DOS). Дані ОС активно використовують можливості захищеного режиму процесорів Intel, і можуть надійно захистити дані і код процесу від інших програм, якщо тільки він сам не захоче надавати до них додатковий доступ ззовні процесу.

За довгий час розробки було враховано безліч різних мережевих атак і помилок в системі безпеки. Виправлення до них виходили у вигляді блоків оновлень (англ. service pack). На сьогоднішній день для Windows NT 0 найостаннішим є оновлення “Service Pack 6”, природно всі виправлення, включені в нього були враховані і при розробці Windows 2000. Таким чином дві ці операційні системи мають приблизно рівну (і дуже високу) систему безпеки.

6.3.1 Безпека в MS Windows XP (вибірка із http://www.winsov.ru/safe03php)

Модель безпеки Windows XP Professional заснована на поняттях аутентифікації та авторизації. При аутентифікації перевіряються ідентифікаційні дані користувача, а при авторизації – наявність у нього прав доступу до ресурсів комп’ютера або мережі. У Windows XP Professional також є технології шифрування, які захищають конфіденційні дані на диску і в мережах, наприклад, EFS (Encrypting File System), технологія відкритого ключа.

Аутентифікація. Реєструючись на комп’ютері для отримання доступу до ресурсів локального комп’ютера або мережі, користувач повинен ввести своє ім’я та пароль. У Windows XP Professional можлива єдина реєстрація для доступу до всіх мережевих ресурсів. Таким чином, користувач може ввійти до системи з комп’ютера-клієнта за єдиним паролем або смарт-картою і одержати доступ до інших комп’ютерів домену без повторного введення ідентифікаційних даних. Головний протокол безпеки в доменах Windows 2000 – Kerberos версії 5. Для аутентифікації на серверах під управлінням Windows NT 0 і доступу до ресурсів доменів Windows NT клієнти Windows XP Professional використовують протокол NTLM. Комп’ютери з Windows XP Professional, які не належать до домену, також застосовують для аутентифікації протокол NTLM. Використовуючи Windows XP Professional у мережі з активним каталогом (Active Directory), можна керувати безпекою реєстрації за допомогою параметрів політики груп, наприклад, обмежувати доступ до комп’ютерів і примусово завершувати сеанси роботи користувачів через заданий час. Можна застосовувати попередньо сконфігуровані шаблони безпеки, що відповідають вимогам до безпеки даної робочої станції або мережі. Шаблони являють собою файли із сконфігурованими параметрами безпеки, які можна застосовувати на локальному комп’ютері або імпортувати в групові політики активного каталогу. Ці шаблони використовуються в незмінному вигляді або настроюються для певних потреб.

Авторизація. Авторизація дозволяє контролювати доступ користувачів до ресурсів. Застосування списків управління доступом (access control list, ACL) і прав доступу NTFS гарантує, що користувач отримає доступ тільки до потрібних йому ресурсів, наприклад, до файлів, дисків (у тому числі мережевих), принтерів і програм. За допомогою групи безпеки, прав користувачів і прав доступу можна одночасно керувати безпекою як на рівні ресурсів, так і на рівні файлів, папок і прав окремих користувачів.

Групи безпеки. Групи безпеки спрощують керування доступом до ресурсів. Можна приписувати користувачів до груп безпеки, а потім надавати цим групам права доступу. Можна додавати користувачів до груп безпеки і видаляти їх звідти відповідно до потреб цих користувачів. Оснащення MMC Computer Management дозволяє створювати облікові записи користувачів і розміщати їх в локальні групи безпеки. Можна надавати користувачам права доступу до файлів і папок та визначати дії, які користувачі можуть виконувати над ними. Можна дозволити й спадкування прав доступу. При цьому права доступу, визначені для каталогу, застосовуються до всіх його підкаталогу і знаходяться в них файлів. Серед груп безпеки, локальних для домену та компютера, є ряд попередньо сконфігурованих груп, в які можна включати користувачів.

Адміністратори (Administrators) володіють повним контролем над локальним компютером і правами на вчинення будь-яких дій. При установці Windows XP Professional для цієї групи створюється і призначається вбудований обліковий запис Адміністратор (Administrator). Коли компютер приєднується до домену, за замовчуванням до групи Адміністратори додається група Адміністратори домену (Domain Administrators).

Досвідчені користувачі (Power Users) володіють правами на читання і запис файлів не тільки в особистих папках, але і за їх межами. Вони можуть встановлювати програми і виконувати багато адміністративні дії. У членів цієї групи такий же рівень прав доступу, що і у груп Користувачі (Users) і Досвідчені користувачі (Power Users) у Windows NT 0.

Користувачі (Users) відносно більшої частини системи мають тільки право на читання. У них є право на читання і запис тільки файлів їх особистих папок. Користувачі не можуть читати дані інших користувачів (якщо вони не знаходяться у спільній папці), встановлювати програми, що вимагають модифікації системних каталогів або реєстру, і виконувати адміністративні дії. Права користувачів в Windows XP Professional більш обмежені в порівнянні з Windows NT 0.

Гості (Guests) можуть реєструватися за вбудованим обліковим записом Guest і виконувати обмежений набір дій, в тому числі вимикати комп’ютер. Користувачі, що не мають профіля на цьому комп’ютері, або користувачі, чиї облікові записи відключені (але не видалені), можуть зареєструватися на комп’ютері по профілю Guest. Можна встановлювати права доступу для цього облікового запису, що за умовчанням входить у вбудовану групу Guests. За замовчуванням обліковий запис Guest відключено. Можна сконфігурувати списки управління доступом (ACL) для груп ресурсів або груп безпеки і в міру необхідності додавати/видаляти з них користувачів або ресурси, що полегшує управління правами доступу і їх аудит. Це також дозволяє рідше змінювати ACL. Можна надати користувачам права на доступ до файлів і папок та вказати дії, які можна виконувати з ними. Можна також дозволити успадкування прав доступу; при цьому права доступу до деякої папки застосовуються і до її підкаталогу і до файлів у ній. При роботі з Windows XP Professional у складі робочої групи або в ізольованому режимі вам надаються права адміністратора, і у вас є всі права по відношенню до всіх функцій безпеки ОС. Якщо компютер під управлінням Windows XP Professional включений в мережу, параметри безпеки визначає мережевий адміністратор.

Шифрування. EFS (Encrypting File System) дозволяє зашифрувати дані на жорсткому диску. Ризик крадіжки портативних компютерів особливо великий, а за допомогою EFS можна підсилити безпеку шляхом шифрування даних на жорстких дисках портативних компютерів компанії. Це захищає інформацію та ідентифікаційні дані від несанкціонованого доступу.

6.3.2 Безпека в MS Windows 7 (вибірка із http://windows7.ru.msn.com/article.aspx?cp-documentid=150224229)

Брандмауер, який входить до складу Windows 7, зазнав істотних змін. Можливо, багато користувачів вважають його цілком достатнім засобом блокування небажаного трафіку і тому будуть купувати саме антивірусні пакети сторонніх виробників, а не повнофункціональні рішення, які включають і міжмережевий екран. Одна з основних переваг нового брандмауера його здатність орієнтуватися в локальних мережах, до яких підключається даний ПК. Це особливо важливо для мобільного компютера: автоматичне перемикання між профілями “дім”, “робота” і “громадське місце” значно спростить життя тим, хто часто змінює свою дисклокацію, прагнучи залишатися при цьому онлайні.

Для мобільних і стаціонарних комп’ютерів, чиї накопичувачі несуть вкрай важливу інформацію, стане в нагоді вбудована в Windows 7 функція BitLocker: можливість шифрувати вміст цілими логічними дисками. У поєднанні з мікросхемами TPM, BitLocker забезпечує наднадійних збереження даних – особливо якщо користуватися смарт-картою в якості засобу аутентифікації.

Адміністратор комп’ютера з Windows 7 на борту (навіть домашнього) може у вкрай широких межах контролювати рівень безпеки своїх даних – від жорсткої установки мінімальної довжини пароля, який необхідний для входу в облікові записи користувачів, і до заборони на обмін інформацією з зовнішніми носіями (USB-накопичувачами, наприклад), не зашифрованими із застосуванням BitLocker.

Екранна клавіатура, яку Windows 7 містить в комплекті поставки, може послужити теж важливим елементом системи безпеки. Клавіатурні шпигуни перехоплюють набір, який здійснюється на звичайній клавіатурі, і якщо є підозра, хто компютер підчепив таку “заразу” – до перевірки та лікування є сенс користуватися саме екранною клавіатурою для введення паролів та інших конфіденційних даних.

6.4 Системи захисту для ОС Linux (вибірка із http://www.compdoc.ru/os/linux/safety_linux_vs_windows/)

Треба розуміти, що існує фундаментальна відмінність між архітектурою Linux та Windows. Windows розроблена таким чином, що в її ядрі зосереджена більша функціональність, що дозволяє глибше інтегрувати програми в ядро. Linux відрізняється від Windows тим, що в ній присутній поділ між ядром і прикладним ПЗ. Це має велике значення, тому що безпека ОС залежить від її архітектури.

Зростаюча популярність Linux змусила Microsoft вкладати набагато більше ресурсів у безпеку Windows. Безсумнівним прогресом у цій галузі можна вважати випуск Service Pack 2 для Windows XP. Цей пакет посилює безпеку Windows за допомогою відключення деяких сервісів за замовчуванням, а також додає кілька нових security-інструментів, таких як поліпшений брандмауер Windows. У більшості випадків відключення сервісів робить систему в цілому безпечніше, але не варто це робити на шкоду гнучкості або функціональності.

Microsoft сконцентрувалася на посиленні безпеки через підвищення зручності роботи. Service Pack 2 вводить спеціальний сервіс для обробки вкладень Outlook/Exchange, Windows Messenger і Internet Explorer замість того, щоб виправляти непрацюючу інфраструктуру і безпеку комунікацій. У Linux подібного ніколи не відбувалося.

В Linux питання безпеки забезпечується вихідним кодом системи.

Фундаментальна відмінність між Linux та Windows полягає і в моделях ліцензування. Linux ліцензується під GNU General Public License, яка дає можливість користувачеві копіювати, змінювати та розповсюджувати вихідний код. Windows ж, навпаки, закрита ОС, безпека якої забезпечується недоступністю вихідного коду.

Прихована загроза безпеки Windows уявна простота адміністрування. Як відомо, у Windows всі дії з настройки та експлуатації ОС виконуються за допомогою графічного інтерфейсу, а в Linux за допомогою командою рядка (оболонки). Графічний інтерфейс підкуповує своєю простотою, дозволяючи адмініструвати систему навіть новачкові, що не володіє глибокими знаннями з питань забезпечення безпеки. Цим він піддає ризику не тільки адмініструються систему, але і фінанси компанії, найняти такого системного адміністратора.

Ще одна фундаментальна відмінність Windows і Linux в їх принципі побудови. Windows монолітна, а не модульна система, на відміну від Linux. По суті це означає, що занадто багато компонентів інтегровано в ядро Windows. Наприклад, інтеграція в ядро Internet Explorer приховує в собі потенційні дірки в безпеці всієї системи. Або, скажімо, інтеграція підсистеми рендеринга зображень в ядро при її крах приведе до краху ядра в цілому, а не окремої підсистеми. Монолітна структура нестабільна за своєю природою. Кожна підсистема такого ядра має безліч залежностей, і при її модифікації доводиться стежити за всіма залежностями, що, природно, досить важко.

І Linux, і Windows включають IPSec як відритий стандарт криптографічного захисту IP-протоколу. IPSec перевіряє, чи не було яких модифікацій переданої по мережі інформації, і шифрує її. OpenSSH, OpenSSL і OpenLDAP реалізовані на Linux, їх закриті реалізації SSH, SLL і LDAP – на Windows.

Linux перевершує Windows в питанні безпеки програм, особливо у зв’язку з постійними дірами в безпеці Microsoft ISS і Exchange/Outlook. Apache і Postfix – крос-платформні, вони мають кращу захищеність в порівнянні з продуктами Microsoft. Безпеку Linux також забезпечує брандмауер, вбудований в ядро, і Snort – де-факто стандарт систем захисту від вторгнення.

Насторожує тенденція Microsoft змішувати дані і код у програмах. Наприклад, ActiveX приносить неперевірені дані із зовнішніх систем і запускає неперевірений код. Одна з основних проблем Windows переповнення буферу. Користувачі Linux оцінять можливість використовувати захист від виконання, що зявилася в ядрі Linux 2.6. Вона забезпечує захист від експлойтів, які перезаписують структури даних або вставляють код в ці структури.

Ще одне підмога в безпеці – використання User-Mode Linux (UML), спеціального патча для ядра, який дозволяє запускати кілька незалежних ядер Linux одночасно. Таким чином можна тестувати програми, не побоюючись за безпеку робочої системи.

Windows XP – перша ОС сімейства MS Windows, щодо повноцінно підтримуюча багатокористувацьку роботу за ПК. Файли користувачів відокремлені один від одного, і кожен користувач має свої приватні файли, недоступні для інших, а також обмежені системні привілеї. У Linux багатокористувацька підтримка працює з найпершої версії системи.

Закриті стандарти, які так любить Microsoft, несуть в собі потенційні дірки в безпеці. Про це свідчать численні віруси в документах Word і Excel, чого немає в документах Open Office, побудованих на відкритій моделі.

Але не можна думати, що відкриті стандарти та відкритий вихідний код небезпечніші закритих, оскільки надає зловмисники можуть досліджувати їх. На практиці веб-сервер з відкритим вихідним кодом Apache набагато популярніший і безпечніший веб-сервера Microsoft IIS. Дослідження коду різними людьми дозволяє не тільки знайти вразливості, але й оперативно усунути їх.

І ще одна помилка: Windows, нібито, більше схильна до вірусів, троянів, атакам хакерів і т. д. Факти говорять про зворотнє: якщо порівняти кількість заплаток Windows і Linux, то під Linux їх виходить більше. Причиною цієї думки стала повсюдна поширеність Windows і, як наслідок, більший інтерес до неї зловмисників.


 

А также другие работы, которые могут Вас заинтересовать

81998. Пронеси добро і милосердя через усе своє життя 32.5 KB
  Пронеси добро і милосердя через усе своє життя Що таке добро милосердя Як ви думаєте діти Відповіді дітей. Я б хотіла діти щоб ви усвідомлювали свої вчинки несли за них відповідальність бо без відповідальності за них не буде добра і милосердя. Діти Що є головним для кожного з вас що є найважливіше для вас...
81999. Знакомые незнакомцы 53 KB
  Цель викторины: обобщить и расширить знания учащихся о мире животных; развивать память, логическое мышление, творчество, умение сочетать любовь к животным и бережное отношение к ним; воспитывать эстетические чувства, любовь к живой природе.
82000. Внеклассное чтение Волшебница зима 34 KB
  Цель: обобщить знания учащихся о зиме и её отображение в художественных произведениях; расширять круг чтения; совершенствовать умение выразительно читать стихотворения наизусть; развивать навыки самостоятельной работы с художественной литературой, творческие способности учащихся; прививать любовь к литературе.
82001. Сім’я і здоров’я. Ставлення до ВІЛ-інфікованих людей. Рольова гра «Як ВІЛ руйнує імунітет» 51 KB
  Мета: Виховувати любов і повагу до всіх членів родини. Виховувати співчуття і чуйне ставлення до людей ВІЛ-інфікованих. Розширити знання про сім’ю, як основний чинник здоров’я. Розширити знання про ВІЛ-інфекцію, її дію на імунну систему. Розвивати вміння піклуватися про сім’ю – обов’язок усіх членів сім’ї.
82002. УКРАЇНСЬКИЙ ВІНОЧОК 57 KB
  Мета. Познайомити учнів з давніми обрядами, традиціями, звичаями нашого народу, пов’язаними з квітами України, які вплітають в український вінок. Відкрити дивовижний світ української пісні, легенди. Допомогти учням усвідомити необхідність примножувати традиції, вчити бачити прекрасне.
82003. Сценарий выпускного бала для 11 – х классов 176.5 KB
  Ведь нет для них торжественней момента Подарим всем свои аплодисменты Маэстро вальс зажгите свечи Мы начинаем школьный вечер На фоне музыки педагог-организатор школы приглашает пройти выпускников в праздничный актовый зал Организатор В зал входит гордость нашей школы...
82005. Випускний вечір (Літературно-музична композиція за авторською віршованою методикою) 76 KB
  Мета: урочисто і святково провести вручення свідоцтв про базову освіту; розкрити талановитість дітей школи перед педагогічним колективом, батьками та місцевими жителями; виховувати почуття любові до життя і людей, до рідного краю.
82006. Вірус лихослів’я... Як його подолати? 67.5 KB
  Українська мова як і будьяка інша розвинена жива мова крім корінної лексики що становить її основу містить певну кількість слів чужомовного походження. Читець 2 Прийшли вони до нас із російської мови. Читець 1 Але звідки ж з’явилися матюки та інші брутальні слова в російській мові...