Лекція 19 на тему Механізми захисту інформації від НСД, Вступ до криптології з курсу Захист та безпека інформаційних ресурсів, НУДПСУ
« НазадЛекція №19. МЕХАНІЗМИ ЗАХИСТУ ІНФОРМАЦІЇ ВІД НСД. Вступ до криптології
План
Як було раніше відзначено, криптоаналіз – це наука про розкриття вихідного тексту зашифрованого повідомлення без доступу до ключа. Успішний аналіз може розкрити вихідний текст або ключ. Він дозволяє також знайти слабкі місця в криптосистемі, що, у кінцевому рахунку, веде до тих же результатів. Фундаментальне правило криптоаналізу, уперше сформульоване голландцем А. Керкхоффом ще в XIX столітті полягає в тому, що стійкість шифру (криптосистеми) повинна визначатися тільки таємністю ключа. Іншими словами, правило Керкхоффа полягає в тому, що увесь алгоритм шифрування, крім значення секретного ключа, відомий криптоаналітику супротивника. Це обумовлено тим, що криптосистема, що реалізує сімейство криптографічних перетворень, звичайно розглядається як відкрита система. Такий підхід відбиває дуже важливий принцип технології захисту інформації: захищеність системи не повинна залежати від таємності чого-небудь такого, що неможливо швидко змінити у випадку витоку секретної інформації. Звичайно криптосистема являє собою сукупність, апаратних і програмних засобів, яку можна змінити тільки при значних витратах часу і засобів, тоді як ключ є легко змінюваним об'єктом. Саме тому стійкість криптосистеми визначається тільки таємністю ключа. Інше майже загальноприйняте припущення в криптоаналізі полягає в тому, що криптоаналітик має у своєму розпорядженні шифртексти повідомлень. На рис. 5.7 показано потік інформації в криптосистемі у випадку активних дій перехоплювача. Активний перехоплювач не тільки зчитує всі шифртексти, що передані по каналу, але може також намагатися змінювати їх за своїм розсудом. Будь-яка спроба з боку перехоплювача розшифрувати шифртекст для одержання відкритого тексту М або зашифрувати свій власний текст М' для одержання правдоподібного шифртекста С', не маючи справжнього ключа, називається криптоаналітчною атакою. Якщо початі криптоаналитичні атаки не досягають поставленої мети і криптоаналітик не може, не маючи справжнього ключа, вивести М із С або С' з М', то вважається, що така криптосистема є криптостійкою. Існує чотири основних типи криптоаналітичних атак. Звичайно, усі вони формулюються за припущенням, що криптоаналітику відомо застосовуваний алгоритм шифрування і шифртексти повідомлень. Перелічимо ці криптоаналітичні атаки. 1. Криптоаналітична атака при наявності тільки відомого шифртексту. Криптоаналітик має тільки шифртексти С1, С2, ..., Cn декількох повідомлень, причому усі вони зашифровані з використанням того самого алгоритму шифрування Еk. Робота криптоаналітика полягає в тому, щоб розкрити вихідні тексти М1, M2, ..., Mn по можливості більшості повідомлень або, ще краще, обчислити ключ k, використаний для шифрування цих повідомлень, для того, щоб розшифрувати й інші повідомлення, зашифровані цим ключем. 2. Криптоаналітична атака при наявності відомого відкритого тексту. Криптоаналітик має доступ не тільки до шифртекстів C1, С2, .... Cn декількох повідомлень, але також до відкритих текстів М1, М2, ..., Mn цих повідомлень. Його робота полягає в перебуванні ключа k, використаного при шифруванні цих повідомлень, або алгоритму розшифрування Dk будь-яких нових повідомлень, зашифрованих тим же самим ключем. 3. Криптоаналітична атака при можливості вибору відкритого тексту. Криптоаналітик не тільки має доступ до шифртекстів C1, С2, ..., Cn, і зв'язаним з ними відкритим текстам М1, М2, ..., Mn декількох повідомлень, але і може за бажанням вибирати відкриті тексти, що потім одержує в зашифрованому виді. Такий криптоаналіз виходить більш потужним порівняно з криптоаналізом з відомим відкритим текстом, тому що криптоаналітик може вибрати для шифрування такі блоки відкритого тексту, що дадуть більше інформації про ключ. Робота криптоаналітика складається в пошуку ключа k, використаного для шифрування повідомлень, або алгоритму розшифрування Dk нових повідомлень, зашифрованих тим же ключем. 4. Криптоаналітична атака з адаптивним вибором відкритого тексту. Це особливий варіант атаки з вибором відкритого тексту. Криптоаналітик може не тільки вибирати відкритий текст, що потім шифрується, але і змінювати свій вибір залежно від результатів попереднього шифрування. При криптоаналізі з простим вибором відкритого тексту криптоаналітик звичайно може вибирати кілька великих блоків відкритого тексту для їхнього шифрування; при криптоаналізі з адаптивним вибором відкритого тексту він має можливість вибрати спочатку більш дрібний пробний блок відкритого тексту, потім вибрати наступний блок залежно від результатів першого вибору, і т.д. Ця атака надає криптоаналітику ще більше можливостей, чим попередні типи атак. Крім перерахованих основних типів криптоаналітичних атак, можна відзначити, принаймні, ще два типи. 5. Криптоаналітична атака з використанням обраного шифртексту. Криптоаналітик може вибирати для розшифрування різні шифртексти С1, С2, ..., Cn і має доступ до розшифрованих відкритих текстів М1, М2, ..., Mn. Наприклад, криптоаналітик одержав доступ до захищеного від несанкціонованого розкриття блоків, що виконує автоматичне розшифрування. Робота криптоаналітика полягає в отриманні ключа. Цей тип криптоаналізу становить особливий інтерес для розкриття алгоритмів з відкритим ключем. 6. Криптоаналітична атака методом повного перебору всіх можливих ключів. Ця атака припускає використання криптоаналітиком відомого шифртексту і здійснюється за допомогою повного перебору всіх можливих ключів з перевіркою, чи є осмисленим відкритий текст, що отримується. Такий підхід вимагає залучення граничних обчислювальних ресурсів і іноді називається силовою атакою (атакою під ключ). Де в сучасних комп’ютерних системах використовуються криптографічні перетворення? Розглянемо це питання більш детально. Перші операційні системи (ОС) для персональних комп'ютерів (MS-DOS і Windows версій до 3.1 включно) не мали власних засобів захисту, що і породило проблему створення додаткових засобів захисту. Актуальність цієї проблеми практично не зменшилася з появою більш могутніх ОС з розвинутими підсистемами захисту, наприклад Windows NT і Windows 2000. Це обумовлено тим, що більшість систем не здатні захистити дані, що знаходяться за її межами, наприклад, при використанні мережного інформаційного обміну. Апаратно-програмні засоби, що забезпечують підвищений рівень захисту, можна розбити на п'ять основних груп.
Рис. 5.8. Апаратно-програмні засоби захисту комп'ютерної інформації Першу групу утворюють системи ідентифікації й автентифікації користувачів. Такі системи застосовуються для обмеження доступу випадкових і незаконних користувачів до ресурсів комп'ютерної системи. Загальний алгоритм роботи цих систем полягає в тому, щоб одержати від користувача інформацію, що засвідчує його особистість, перевірити її дійсність і потім надати (або не надати) цьому користувачеві можливість роботи із системою. При побудові подібних систем виникає проблема вибору інформації, на основі якої здійснюються процедури ідентифікації й автентифікації користувача. Як згадувалося і раніше, можна виділити наступні типи: 1) секретна інформація, якою володіє користувач (пароль, персональний ідентифікатор, секретний ключ і т.д.); цю інформацію користувач повинен запам'ятати або ж може застосувати спеціальні засоби збереження цієї інформації; 2) фізіологічні параметри людини (відбитки пальців, малюнок райдужної оболонки ока і т.д.) або особливості поводження людини (особливості роботи на клавіатурі і т.д.). Системи ідентифікації, що засновані на першому типі інформації, прийнято вважати традиційними. Системи ідентифікації, що використовують другий тип інформації, називаються біометричними. Слід зазначити тенденцію, що намітилася, випереджального розвитку біометричних систем ідентифікації. Проте на сьгодні їх розповсюдження поки обмежується великою їх вартістю. Другу групу засобів, що забезпечують підвищений рівень захисту, складають системи шифрування дискових даних. Основна задача, що розв'язується такими системами, полягає в захисті від несанкціонованого використання даних, розташованих на магнітних носіях. Забезпечення конфіденційності даних, розташованих на магнітних носіях, здійснюється шляхом їхнього шифрування з використанням симетричних алгоритмів шифрування. Основною класифікаційною ознакою для комплексів шифрування служить рівень їхнього вбудовування в комп'ютерну систему. Робота прикладних програм з дисковими нагромаджувачами складається з двох етапів «логічного» і «фізичного». Логічний етап відповідає рівню взаємодії прикладної програми з операційною системою (наприклад, виклик сервісних функцій читання/запису даних). На цьому рівні основним об'єктом є файл. Фізичний етап відповідає рівню взаємодії операційної системи й апаратури. Як об'єкти цього рівня виступають структури фізичної організації даних – сектори диску. У результаті системи шифрування даних можуть здійснювати криптографічні перетворення даних на рівні файлів (захищаються окремі файли) і на рівні дисків (захищаються диски цілком). До програм першого типу можна віднести архіватори типу arj, що дозволяють використовувати криптографічні методи для захисту архівних файлів. Прикладом систем другого типу може служити програма шифрування Diskreet, що входить до складу популярного програмного пакета Norton Utilities. Іншою класифікаційною ознакою систем шифрування дискових даних є спосіб їхнього функціонування. За способом функціонування системи шифрування дискових даних поділяють на два класи: 1) системи «прозорого» шифрування; 2) системи, що спеціально призначені для здійснення шифрування. У системах прозорого шифрування (шифрування «на літу») криптографічні перетворення здійснюються в режимі реального часу, непомітно для користувача. Наприклад, користувач записує підготовлений у текстовому редакторі документ на диск, що захищається, а система захисту в процесі запису виконує його шифрування. Системи другого класу звичайно являють собою утиліти, які необхідно спеціально викликати для виконання шифрування. До них відносяться, наприклад, архіватори з убудованими засобами парольного захисту. До третьої групи засобів, що забезпечують підвищений рівень захисту, відносяться системи шифрування даних, що передаються по комп'ютерних мережах. Розрізняють два основних способи шифрування: канальне шифрування й кінцеве (абонентське) шифрування. У випадку канального шифрування захищається вся передана каналом зв'язку інформація, включаючи службову. Відповідні процедури шифрування реалізуються за допомогою протоколу канального рівня семірівневої еталонної моделі взаємодії відкритих систем OSI (Open System Interconnection). Цей спосіб шифрування має наступне достоїнство – убудовування процедур шифрування на канальний рівень дозволяє використовувати апаратні засоби, що сприяє підвищенню продуктивності системи. Однак у даного підходу є істотні недоліки: •шифруванню на даному рівні підлягає вся інформація, включаючи службові дані транспортних протоколів; це ускладнює механізм маршрутизації мережних пакетів і вимагає розшифрування даних у пристроях проміжної комутації (шлюзах, ретрансляторах і т.д.); •шифрування службової інформації, неминуче на даному рівні, може привести до появи статистичних закономірностей у шифрованих даних; це впливає на надійність захисту і накладає обмеження на використання криптографічних алгоритмів. Кінцеве (абонентське) шифрування дозволяє забезпечити конфіденційність даних, переданих між двома прикладними об'єктами (абонентами). Кінцеве шифрування реалізується за допомогою протоколу прикладного або представницького рівня еталонної моделі OSI. У цьому випадку захищеним виявляється тільки зміст повідомлення, уся службова інформація залишається відкритою. Даний спосіб дозволяє уникнути проблем, зв'язаних із шифруванням службової інформації, але при цьому виникають інші проблеми. Зокрема, зловмисник, що має доступ до каналів зв'язку комп'ютерної мережі, одержує можливість аналізувати інформацію про структуру обміну повідомленнями, наприклад про відправника й одержувача, про час і умови передачі даних, а також про обсяг переданих даних. Четверту групу засобів захисту складають системи автентифікації електронних даних. При обміні електронними даними по мережах зв'язку виникає проблема автентифікації автора документа і самого документа, тобто встановлення дійсності автора і перевірка відсутності змін в отриманому документі. Для автентифікації електронних даних застосовують код автентифікації повідомлення (імітовставку) або електронний цифровий підпис. При формуванні коду автентифікації повідомлення й електронного цифрового підпису використовуються різні типи систем шифрування. Код автентифікації повідомлення формують за допомогою симетричних систем шифрування даних. Зокрема, симетричний алгоритм шифрування даних DES при роботі в режимі зчеплення блоків шифру СВС дозволяє сформувати за допомогою секретного ключа і початкового вектора IV код автентифікації повідомлення MAC (Message Authentication Code). Перевірка цілісності прийнятого повідомлення здійснюється шляхом перевірки коду MAC одержувачем повідомлення. Аналогічні можливості надає вітчизняний стандарт симетричного шифрування даних ДСТ 28147-89. У цьому алгоритмі передбачений режим вироблення, імітовставки, що забезпечує імітозахист, тобто захист системи шифрованого зв'язку від нав'язування помилкових даних. Імітовставка виробляється з відкритих даних за допомогою спеціального перетворення шифрування з використанням секретного ключа і передається каналом зв'язку наприкінці зашифрованих даних. Імітовставка перевіряється одержувачем повідомлення, що володіє секретним ключем, шляхом повторення процедури, виконаної раніше відправником, над отриманими відкритими даними. Електронний цифровий підпис (ЕЦП) являє собою відносно невелику кількість додаткової цифрової інформації, переданої разом з текстом, що підписується. Для реалізації ЕЦП використовуються принципи асиметричного шифрування. Система ЕЦП включає процедуру формування цифрового підпису відправником з використанням секретного ключа відправника і процедуру перевірки підпису одержувачем з використанням відкритого ключа відправника. П'яту групу засобів, що забезпечують підвищений рівень захисту, утворюють засоби керування ключовою інформацією. Під ключовою інформацією розуміється сукупність усіх використовуваних у комп'ютерній системі або мережі криптографічних ключів. Безпека будь-якого криптографічного алгоритму визначається використовуваними криптографічними ключами. У випадку ненадійного керування ключами зловмисник може заволодіти ключовою інформацією й одержати повний доступ до всієї інформації в комп'ютерній системі або мережі. Розглянемо тепер більш детально поняття електронного підпису. У чому полягає проблема автентифікації даних? Наприкінці звичайного листа чи документа виконавець чи відповідальна особа звичайно ставить свій підпис. Подібна дія звичайно переслідує дві мети. По-перше, одержувач має можливість переконатися в істинності листа, звіривши підпис з наявним у нього зразком. По-друге, особистий підпис є юридичним гарантом авторства документа. Останній аспект особливо важливий при складанні різного роду торгових угод, складанні доручень, зобов'язань і т.д. Якщо підробити підпис людини на папері дуже непросто, а установити авторство підпису сучасними криміналістичними методами – технічна деталь, то з підписом електронним справа обстоїть інакше. Підробити ланцюжок бітів, просто її скопіювавши, чи непомітно внести нелегальні виправлення в документ зможе будь-який користувач. Із широким поширенням у сучасному світі електронних форм документів (у тому числі і конфіденційних) і засобів їхньої обробки особливо актуальною стала проблема встановлення дійсності й авторства безпаперової документації. Електронним (цифровим) підписом називається приєднане до тексту його криптографічне перетворення, що дозволяє при одержанні тексту іншим користувачем перевірити авторство і дійсність повідомлення. У розділі криптографічних систем з відкритим ключем було показано, що при всіх перевагах сучасних систем шифрування вони не дозволяють забезпечити автентифікацію даних. Тому засоби автентифікації повинні використовуватися в комплексі і криптографічних алгоритмах. Отже, є два користувачі Олександр і Борис. Від яких порушень і дій зловмисника повинна захищати система автентифікації. Відмовлення (ренегатство). Олександр заявляє, що він не надсилав повідомлення Борису, хоча насправді він усе-таки надсилав. Для виключення цього порушення використовується електронний (чи цифровий) підпис. Модифікація (переробка). Борис змінює повідомлення і затверджує, що дане (змінене) повідомлення послав йому Олександр. Підробка. Борис формує повідомлення і стверджує, що дане (змінене) повідомлення послав йому Олександр. Активне перехоплення. Володимир перехоплює повідомлення між Олександром і Борисом з метою їхньої скритої модифікації. Для захисту від модифікації, підробки і маскування використовуються цифрові сигнатури. Маскування (імітація). Володимир надсилає Борису повідомлення від імені Олександра. У цьому випадку для захисту також використовується електронний підпис. Півтор. Володимир повторює повідомлення, яке Олександр надіслав раніше Борису. Незважаючи на те, що приймаються всілякі заходи захисту від повторів, саме на цей метод приходиться більшість випадків незаконного зняття і витрати грошей у системах електронних платежів. Найбільш діючим методом захисту від повтору є: * використання імитовставок, * облік вхідних повідомлень. Іноді немає необхідності зашифровувати передане повідомлення, але потрібно його скріпити електронним підписом. У цьому випадку текст шифрується закритим ключем відправника й отриманий ланцюжок символів прикріплюється до документа. Одержувач за допомогою відкритого ключа відправника розшифровує підпис і звіряє її з текстом. Крім вибору придатної для конкретної інформаційної системи криптографічної системи, важлива проблема – керування ключами. Як би ні була складна і надійна сама криптосистема, вона заснована на використанні ключів. Якщо для забезпечення конфіденційного обміну інформацією між двома користувачами процес обміну ключами тривіальний, то в системі, де кількість користувачів складає десятки і сотні керування ключами – серйозна проблема. Під ключовою інформацією розуміється сукупність усіх діючих в системі ключів. Якщо не забезпечене досить надійне керування ключовою інформацією, то заволодівши нею, зловмисник одержує необмежений доступ до всієї інформації. Керування ключами – інформаційний процес, що включає до себе три елементи: * генерацію ключів; * накопичення (або збереження) ключів; * розподіл ключів. Розглянемо, як вони повинні бути реалізовані для того, щоб забезпечити безпеку ключової інформації в інформаційній системі. На самому початку розмови про криптографічні методи було сказано, що не варто використовувати невипадкові ключі з метою легкості їхнього запам'ятовування. У серйозних інформаційних системах використовуються спеціальні апаратні і програмні методи генерації випадкових ключів. Як правило, використовують датчики псевдовипадкових чисел (ПВЧ). Однак ступінь випадковості їхньої генерації повинна бути досить високою. Ідеальним генераторами є пристрої на основі «натуральних» випадкових процесів. Наприклад, з'явилися серійні зразки генерації ключів на основі білого радіошуму. Іншим випадковим математичним об'єктом є десяткові знаки ірраціональних чисел, наприклад p чи е, що обчислюються за допомогою стандартних математичних методів. У інформаційних системах із середніми вимогами захищеності цілком прийнятні програмні генератори ключів, що обчислюють ПВЧ як складну функцію від поточного часу і/або числа, уведеного користувачем. Під накопиченням ключів розуміється організація їхнього збереження, обліку і видалення. Оскільки ключ є самим привабливим для ЗЛ об'єктом, що відкриває йому шлях до конфіденційної інформації, то питанням накопичення ключів варто приділяти особливу увагу. Секретні ключі ніколи не повинні записуватися в явному виді на носії, що може бути зчитаний чи скопійований. У досить складній інформаційній системі один користувач може працювати з великим обсягом ключової інформації і іноді навіть виникає необхідність організації мінібаз даних з ключовою інформацією. Такі бази даних відповідають за прийняття, збереження, облік і видалення використовуваних ключів. Отже, кожна інформація про використання ключів повинна зберігатися в зашифрованому виді. Ключі, що зашифровують ключову інформацію називаються майстер-ключами. Бажано, щоб майстри-ключі кожен користувач знав напам'ять, і не зберігав їх узагалі на яких-небудь матеріальних носіях. Такий підхід приводить до концепції ієрархії ключів. В ієрархію ключів звичайно входять головний ключ (майстер-ключ), ключ шифрування ключів і ключ шифрування даних. Слід зазначити, що генерація і збереження майстрів-ключів є критичними питаннями криптографічного захисту. Дуже важливою умовою безпеки інформації є періодичне відновлення ключової інформації. При цьому перепризначуватися повинні як звичайні ключі, так і майстри-ключі. В особливо відповідальних системах відновлення ключової інформації бажано робити щодня. Питання відновлення ключової інформації пов'язано і з третім елементом керування ключами – розподілом ключів. Розподіл ключів – самий відповідальний процес у керуванні ключами. До нього пред'являються дві вимоги: - Оперативність і точність розподілу; - Скритність ключів, що розподіляються. Останнім часом помітне зрушення убік використання криптосистем з відкритим ключем, у яких проблема розподілу ключів відпадає. Проте, розподіл ключової інформації вимагає нових ефективних рішень. Розподіл ключів між користувачами реалізуються двома різними підходами: 1. Шляхом створення одного чи декількох центрів розподілу ключів. Недолік такого підходу полягає в тому, що в центрі розподілу відомо, кому і які ключі призначені і це дозволяє читати всі повідомлення, що циркулюють в системі. Можливі зловживання істотно впливають на захист. 2. Прямий обмін ключами між всіма користувачами. У цьому випадку проблема полягає в тому, щоб надійно засвідчити дійсність суб'єктів. В обох випадках повинна бути гарантована дійсність сеансу зв'язку. Це можна забезпечити двома способами: 1. Механізм запиту-відповіді, що полягає в наступному. Якщо користувач А бажає бути упевненим, що повідомлення який він одержує від В, не є помилковими, він включає в повідомлення, що посилається для В, непередбачений елемент (запит). При відповіді користувач В повинен виконати деяку операцію над цим елементом (наприклад, додати 1). Це неможливо здійснити заздалегідь, тому що не відомо, яке випадкове число прийде в запиті. Після одержання відповіді з результатами дій користувач А може бути упевнений, що сеанс є справжнім. Недоліком цього методу є можливість установлення хоча і складної закономірності між запитом і відповіддю. 2. Механізм оцінки часу («часовий штемпель»). Він має на увазі фіксацію часу для кожного повідомлення. У цьому випадку кожен користувач може знати, наскільки «старим» є повідомлення, що прийшло. В обох випадках варто використовувати шифрування, щоб бути упевненим, що відповідь послана не зловмисником і штемпель оцінки часу не змінений. При використанні оцінок часу встає проблема припустимого тимчасового інтервалу затримки для підтвердження дійсності сеансу. Адже повідомлення з «тимчасовим штемпелем» у принципі не може бути передане миттєво. Крім цього комп'ютерний годинник одержувача і відправника не можуть бути абсолютно синхронізовані. Яке запізнювання «штемпеля» вважати підозрілим? Тому в реальних інформаційних системах, наприклад, у системах оплати кредитних карток використовується саме другий механізм установлення дійсності і захисти від підробок. Використовуваний інтервал складає від однієї до декількох хвилин. Велике число відомих способів крадіжки електронних грошей, засновано на «уклинюванні» у цей проміжок з підробленими запитами на зняття грошей. Для обміну ключами можна використовувати криптосистемы з відкритим ключем, використовуючи той же алгоритм RSA. Як узагальнення сказаного про розподіл ключів варто сказати наступне. Задача керування ключами зводиться до пошуку такого протоколу розподілу ключів, що забезпечував би: * можливість відмовлення від центра розподілу ключів; * взаємне підтвердження дійсності учасників сеансу; * підтвердження вірогідності сеансу механізмом запиту-відповіді, використання для цього програмних чи апаратних засобів; * використання при обміні ключами мінімального числа повідомлень. Які проблеми та перспективи мають криптографічні системи? Однією з важливих практичних проблем є шифрування великих повідомлень і потоків даних. Ця проблема з'явилася порівняно недавно з появою засобів мультимедиа і мереж з високою пропускною здатністю, що забезпечують передачу мультимедийных даних. Дотепер говорилося про захист повідомлень. При цьому під ними малася на увазі скоріше деяка текстова чи символічна інформація. Однак у сучасних інформаційних системах починають застосовуватися технології, що вимагають передачі істотно більших обсягів даних. Серед таких технологій: * факсимільний, відео і мовний зв'язок; * голосова пошта; * системи відеоконференцій. Якщо порівнювати обсяги переданої інформації різних типів, то можна сказати, що обсяг текстової інформації є найменшим, обсяг звукової – у 2-3 рази більший, графічної – на порядок більший, відео – майже на два порядки. Так як передача оцифрованої звукової, графічної і відеоінформації в багатьох випадках вимагає конфіденційності, то виникає проблема шифрування величезних інформаційних масивів. Для інтерактивних систем типу телеконференцій, ведення аудио- чи відеозв'язку, таке шифрування повинне здійснюватися в реальному масштабі часу і по можливості бути «прозорим» для користувачів. Це немислимо без використання сучасних технологій шифрування. Найбільш розповсюдженим є потокове шифрування даних. Якщо в описаних раніше криптосистемах передбачалося, що на вході є деяке кінцеве повідомлення, до якого і застосовується криптографічний алгоритм, то в системах з потоковим шифруванням принцип інший. Система захисту не чекає, коли закінчиться передане повідомлення, а відразу ж здійснює його шифрування і передачу. Найбільш очевидним є побітове додавання вхідної послідовності (повідомлення) з деяким нескінченним чи періодичним ключем, одержуваним, наприклад, від генератора ПВЧ. Прикладом стандарту потокового шифрування є RC4, розроблений Ривестом. Однак, технічні подробиці цього алгоритму тримаються в секреті. Іншим, іноді більш ефективним методом потокового шифрування є шифрування блоками. Тобто накопичується фіксований обсяг інформації (блок), а потім перетворений деяким криптографічним методом передається в канал зв'язку. Як було неодноразово відзначено, проблема розподілу ключів є найбільш гострою у великих інформаційних системах. Частково ця проблема вирішується (а точніше знімається) за рахунок використання відкритих ключів. Але найбільш надійні криптосистеми з відкритим ключем типу RSA досить трудомісткі, а для шифрування мультимедійних даних і зовсім не придатні. Три види (шифрування, кодування і стиск інформації) перетворення інформації використовуються в різних цілях, що можна представити в таблиці.
Як видно, ці три види перетворення інформації частково доповнюють один одного і їхнє комплексне використання допоможе ефективно використовувати канали зв'язку для надійного захисту зраджуваної інформації. Особливо цікавим представляється можливість об'єднання методів кодування і шифрування. Можна затверджувати, що по суті кодування – це елементарне шифрування, а шифрування – це елементарне перешкодостійке кодування. Інша можливість – комбінування алгоритмів шифрування і стиск інформації. Завдання стиску полягає в тому, щоб перетворити повідомлення в межах того самого алфавіту таким чином, щоб його довжина (кількість букв алфавіту) стала менше, але при цьому повідомлення можна було б відновити без використання якоїсь додаткової інформації. Найбільш популярні алгоритми стиску – RLE, коди Хаффмана, алгоритм Лемпеля-Зива. Для стиску графічної і відеоінформації використовуються алгоритми JPEG і MPEG. Головне достоїнство алгоритмів стиску з погляду криптографії полягає в тому, що вони змінюють статистику вхідного тексту убік її вирівнювання. Так, у звичайному тексті, стиснутому за допомогою ефективного алгоритму всі символи мають практично однакові частотні характеристики і навіть використання простих систем шифрування роблять текст недоступним для криптоаналізу. Розробка і реалізація таких універсальних методів – перспектива сучасних інформаційних систем. Узагалі проблема реалізації методів захисту інформації має два аспекти: * розробку засобів, що реалізують криптографічні алгоритми, * методику використання цих засобів. Кожний з розглянутих криптографічних методів може бути реалізований програмним або апаратним способом. Можливість програмної реалізації обумовлюється тим, що всі методи криптографічного перетворення формальні і можуть бути представлені у виді кінцевої алгоритмічної процедури. При апаратній реалізації всі процедури шифрування і дешифрування виконуються спеціальними електронними схемами. Найбільше поширення одержали модулі, що реалізують комбіновані методи. При цьому неодмінним компонентом всіх апаратно реалізованих методів є гамування. Це пояснюється тим, що метод гамування вдало сполучає у собі високу криптостійкість і простоту реалізації. Основним достоїнством програмних методів реалізації захисту є їхня гнучкість, тобто можливість швидкої зміни алгоритмів шифрування. Основним же недоліком програмної реалізації є істотно менша швидкодія в порівнянні з апаратними засобами (в середньому приблизно в 10 разів). Останнім часом стали з'являтися комбіновані засоби шифрування, так звані програмно-апаратні засоби. У цьому випадку в комп'ютері використовується своєрідний «криптографічний співпроцесор» – обчислювальний пристрій, орієнтований на виконання криптографічних операцій (додавання по модулю, зсув і т.д.). Змінюючи програмне забезпечення для такого пристрою, можна вибирати той чи інший метод шифрування. Такий метод поєднує в собі достоїнства програмних і апаратних методів. Таким чином, вибір типу реалізації криптозахисту для конкретної інформаційної системи в істотній мірі залежить від її особливостей і повинен спиратися на всебічний аналіз вимог, запропонованих до СЗІ. Вибір для конкретних інформаційних систем повинен бути заснований на глибокому аналізі слабких і сильних сторін тих чи інших методів захисту. Обґрунтований вибір тієї чи іншої системи захисту взагалі ж повинен спиратися на якісь критерії ефективності. На жаль, дотепер не розроблені придатні методики оцінки ефективності криптографічних систем. Найбільш простий критерій такої ефективності – імовірність розкриття ключа або потужність множини ключів. По суті це те ж саме, що і криптостійкість. Для її чисельної оцінки можна використовувати також і складність розкриття шифру шляхом перебору всіх ключів. Однак, цей критерій не враховує інших важливих вимог до криптосистем: * неможливість розкриття чи осмисленої модифікації інформації на основі аналізу її структури; * досконалість використовуваних протоколів захисту; * мінімальний обсяг використовуваної ключової інформації; * мінімальна складність реалізації (у кількості машинних операцій), її вартість; * висока оперативність. Бажано кінцеве використання деяких інтегральних показників, що враховують зазначені фактори. Для обліку вартості, трудомісткості й обсягу ключової інформації можна використовувати питомі показники – відношення зазначених параметрів до потужності множини ключів шифру. Часто більш ефективним при виборі й оцінці криптографічної системи є використання експертних оцінок і імітаційне моделювання. У будь-якому випадку обраний комплекс криптографічних методів повинен сполучати як зручність, гнучкість і оперативність використання, так і надійний захист від зловмисників циркулюючої в інформаційній системі інформації. Додамо декілька слів про ситуацію, коли ЗЛ все ж удалося одержати доступ до синтаксичного представлення конфіденційної інформації, тобто він має перед собою послідовність знаків деякої мови, що задовольняє формальним правилам нотації. Дана ситуація може виникнути, наприклад, тоді, коли удалося дешифрувати файл даних і одержати текст, що може розглядатися як осмислений. У цьому випадку для приховання точного змісту повідомлення можуть застосовуватися різні прийоми, суть яких зводиться до того, що у відповідність однієї послідовності знаків чи слів однієї мови ставляться знаки чи слова іншого. Як приклади можна привести так званий шифр «Аве Марія», у кодовому варіанті якого кожному слову, а часом, і фразі ставляться у відповідність кілька слів явної релігійної тематики, у результаті чого повідомлення виглядає як специфічний текст духовного змісту. Звичайний жаргон (арго) також може ілюструвати застосовувані в повсякденній практиці підходи до приховання точного змісту повідомлень. У загальному випадку способи приховання або самого факту наявності повідомлення, або його точного змісту називаються стеганографією. Слово «стеганографія» у перекладі з грецького буквально означає «тайнопис». До неї відноситься величезна кількість секретних засобів зв'язку, таких як невидиме чорнило, мікрофотознімки, умовне розташування знаків (застосовуване в сигнальному агентурному зв'язку), цифрові підписи, таємні канали і засоби зв'язку на частотах, що плавають. Стеганографія займає свою нішу в забезпеченні безпеки інформації: вона не заміняє, а доповнює криптографію, хоча криптографія, судячи з відомих історичних прикладів використання секретного зв'язку, як окремий напрямок з'явилася пізніше. При наявності шифрованого повідомлення, тобто при застосуванні криптографічних методів захисту, супротивнику хоча і невідомий зміст повідомлення, але відомий факт наявності такого повідомлення. При використанні ж стеганографічних методів супротивнику невідомо, чи є отриманий зміст повідомлення остаточним чи за ним сховано додатковий зміст. У доступній літературі приводиться маса захоплюючих і корисних за своєю аналогією історичних прикладів практичного використання стеганографії за допомогою безбарвного чорнила, «порожніх» дощечок, покритих воском, і т.п. Стосовно до комп'ютерних технологій можна сказати, що стеганографія використовує методи розміщення файлу-«повідомлення» у файлі-«контейнері», змінюючи файл-«контейнера» таким чином, щоб зроблені зміни були практично непомітні. Контрольні запитання
З повагою ІЦ “KURSOVIKS”! |