17295

Вступ до криптології

Лекция

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

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

Украинкский

2013-06-30

111 KB

8 чел.

Лекція 5. Вступ до криптології

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

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

Чому проблема використання криптографічних методів в інформаційних системах (ІС) стала в даний момент особливо актуальна?

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

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

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

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

  1.  Симетричні криптосистеми.
  2.  Криптосистеми з відкритим ключем.
  3.  Системи електронного підпису.
  4.  Керування ключами.

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

Приведемо деякі найбільш уживані терміни з криптографії.

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

Алфавіт  кінцева множина використовуваних для кодування інформації знаків. Текст – упорядкований набір з елементів алфавіту.

Шифрування – процес перетворення: вихідний текст, що носить також назву відкритого тексту, заміняється шифрованим текстом.

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

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

Криптосистеми розділяються на симетричні і з відкритим ключем.

У симетричних системах і для шифрування і для дешифрування використовується той самий ключ.

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

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

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

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

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

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

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

Для сучасних криптографічних систем захисту інформації сформульовані наступні загальноприйняті вимоги:

зашифроване повідомлення повинне піддаватися читанню тільки при наявності ключа;

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

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

знання алгоритму шифрування не повинно впливати на надійність захисту;

незначна зміна ключа повинна приводити до істотної зміни виду зашифрованого повідомлення навіть при використанні того самого ключа;

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

додаткові біти, що вводяться в повідомлення в процесі шифрування, повинні бути цілком і надійно сховані в шифрованому тексті;

довжина шифрованого тексту повинна бути рівною довжині вихідного тексту;

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

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

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

Усе різноманіття існуючих криптографічних методів можна звести до наступних класів перетворень:

  1.  

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

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

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

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

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

Метод гамування стає неспроможним, якщо зловмиснику стає відомий фрагмент вихідного тексту і відповідна йому шифрограмма. Простим вирахуванням по модулю виходить відрізок тексту і по ньому відновлюється вся послідовність. Зловмисник може зробити це на основі здогадів про зміст вихідного тексту. Так, якщо більшість повідомлень, що посилаються, починається зі слів «ЦІЛКОМ ТАЄМНО», то криптоаналіз усього тексту значно полегшується. Це варто враховувати при створенні реальних систем інформаційної безпеки.

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

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

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

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

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

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

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

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

Тому, щоб гарантувати надійний захист інформації, до СВК пред'являються дві важливих і очевидних вимоги:

1. Перетворення вихідного тексту повинне бути необоротним і виключати його відновлення на основі відкритого ключа.

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

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

Узагалі ж усі запропоновані сьогодні криптосистеми з відкритим ключем спираються на один з наступних типів необоротних перетворень:

  1.  Розкладання великих чисел на прості множники.
  2.  Обчислення логарифма в кінцевому полі.
  3.  Обчислення коренів алгебраїчних рівнянь.

Тут же слід зазначити, що алгоритми криптосистеми СВК можна використовувати в трьох призначеннях.

1. Як самостійні засоби захисту переданих і збережених даних.

2. Як засоби для розподілу ключів. Алгоритми СВК більш трудомісткі, чим традиційні криптосистеми. Тому часто на практиці раціонально за допомогою СВК розподіляти ключі, обсяги яких як інформації незначні. А потім за допомогою звичайних алгоритмів здійснювати обмін великими інформаційними потоками.

3. Засоби автентифікації користувачів.

Нижче розглядаються найбільш розповсюджені системи з відкритим ключем.

Незважаючи на досить велике число різних СВК, найбільш популярна криптосистема RSA, яка розроблена в 1977 році і отримала назву на честь її творців: Рона Ривеста, Ади Шамира і Леонарда Адлемана.

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

Можливість гарантовано оцінити захищеність алгоритму RSA стала однієї з причин популярності цієї СВК на тлі десятків інших схем. Тому алгоритм RSA використовується в банківських комп'ютерних мережах, особливо для роботи з видаленими клієнтами (обслуговування кредитних карток).

В даний час алгоритм RSA використовується в багатьох стандартах, серед яких SSL, S-HHTP, S-MIME, S/WAN, STT і PCT.

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

Важлива проблема практичної реалізації – генерація великих простих чисел. Рішення задачі «в лоб» – це генерація випадкового великого числа n (непарного) і перевірка його подільності на множники від 3 до n0.5. У випадку неуспіху варто взяти n+2 і так далі.

У принципі в якості p і q можна використовувати «майже» прості числа, тобто числа для яких імовірність того, що вони прості, наближується до 1. Але у випадку, якщо використане складене число, а не просте, криптостійкість RSA падає. Існують непогані алгоритми, що дозволяють генерувати «майже» прості числа з рівнем довіри 2-100.

Інша проблема – ключі якої довжини варто використовувати?

Наприкінці 1995 року удалося практично реалізувати розкриття шифру RSA для 500-значного ключа. Для цього за допомогою мережі Інтернет було задіяно 1600 комп'ютерів.

Самі автори RSA рекомендують використовувати наступні розміри модуля n:

768 біт – для приватних осіб;

1024 біт – для комерційної інформації;

2048 біт – для особливо секретної інформації.

Третій важливий аспект реалізації RSA – обчислювальний. Адже приходиться використовувати апарат довгої арифметики. Якщо використовується ключ довжиною k біт, то для операцій по відкритому ключі потрібно О(k2) операцій, по закритому ключі – О(k3) операцій, а для генерації нових ключів потрібно О(k4) операцій.

Криптографічний пакет BSAFE 3.0 (RSA D.S.) на комп'ютері Pentium-90 здійснює шифрування зі швидкістю 21.6 Кбит/c для 512-бітного ключа і зі швидкістю 7.4 Кбит/c для 1024 бітного. Сама «швидка» апаратна реалізація забезпечує швидкості в 60 разів більше.

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

Розглянемо поняття електронного підпису.

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

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

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

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

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

Відмова (ренегатство).

Олександр заявляє, що він не надсилав повідомлення Борисові, хоча насправді він усе-таки надсилав.

Для виключення цього порушення використовується електронний (чи цифровий) підпис.

Модифікація (переробка).

Борис змінює повідомлення і стверджує, що дане (змінене) повідомлення послав йому Олександр.

Підробка.

Борис формує повідомлення і стверджує, що дане (змінене) повідомлення послав йому Олександр.

Активне перехоплення.

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

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

Маскування (імітація).

Володимир посилає Борисові повідомлення від імені Олександра.

У цьому випадку для захисту також використовується електронний підпис.

Повтор.

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

Найбільш діючим методом захисту від повтору є:

  1.  використання імітовставок,
  2.  облік вхідних повідомлень.

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

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

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

Керування ключами – інформаційний процес, що включає до себе три елементи:

  1.  генерацію ключів;
  2.  накопичення ключів;
  3.  розподіл ключів.

Розглянемо, як вони повинні бути реалізовані для того, щоб забезпечити безпеку ключової інформації в ІС.

На самому початку розмови про криптографічні методи було сказано, що не варто використовувати невипадкові ключі з метою легкості їхнього запам'ятовування. У серйозних ІС використовуються спеціальні апаратні і програмні методи генерації випадкових ключів. Як правило, використовують датчики псевдовипадкових чисел (ПВЧ). Однак ступінь випадковості їхньої генерації повинна бути досить високою. Ідеальним генераторами є пристрої на основі «натуральних» випадкових процесів. Наприклад, з'явилися серійні зразки генерації ключів на основі білого радіошуму. Іншим випадковим математичним об'єктом є десяткові знаки ірраціональних чисел, наприклад чи е, що обчислюються за допомогою стандартних математичних методів.

У ІС із середніми вимогами захищеності цілком прийнятні програмні генератори ключів, що обчислюють ПВЧ як складну функцію від поточного часу і/або числа, уведеного користувачем.

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

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

Секретні ключі ніколи не повинні записуватися в явному виді на носій, що може бути зчитаний чи скопійований.

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

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

Питання відновлення ключової інформації пов'язано і з третім елементом керування ключами – розподілом ключів.

Розподіл ключів – самий відповідальний процес у керуванні ключами. До нього пред'являються дві вимоги:

  •   Оперативність і точність розподілу;
  •   Скритність ключів, що розподіляються.

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

Розподіл ключів між користувачами реалізуються двома різними підходами:

1. Шляхом створення одного чи декількох центрів розподілу ключів. Недолік такого підходу полягає в тому, що в центрі розподілу відомо, кому і які ключі призначені і це дозволяє читати всі повідомлення, що циркулюють у ІС. Можливі зловживання істотно впливають на захист.

2. Прямий обмін ключами між користувачами ІС. У цьому випадку проблема полягає в тому, щоб надійно засвідчити дійсність суб'єктів.

В обох випадках повинна бути гарантована дійсність сеансу зв'язку. Це можна забезпечити двома способами:

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

2. Механізм оцінки часу («часовий штемпель»). Він має на увазі фіксацію часу для кожного повідомлення. У цьому випадку кожен користувач ІС може знати, наскільки «старим» є повідомлення, що прийшло.

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

При використанні оцінок часу встає проблема припустимого часового інтервалу затримки для підтвердження дійсності сеансу. Адже повідомлення з «часовим штемпелем» у принципі не може бути передане миттєво. Крім цього комп'ютерні годинники одержувача і відправника не можуть бути абсолютно синхронізовані. Яке запізнювання «штемпеля» вважати підозрілим?

Тому в реальних ІС, наприклад, у системах оплати кредитних карток використовується саме другий механізм установлення дійсності і захисту від підробок. Використовуваний інтервал складає від однієї до декількох хвилин. Велике число відомих способів крадіжки електронних грошей, засновано на «вклинюванні» у цей проміжок з підробленими запитами на знятті грошей.

Для обміну ключами можна використовувати криптосистемы з відкритим ключем, використовуючи той же алгоритм RSA.

Як узагальнення сказаного про розподіл ключів варто сказати наступне. Задача керування ключами зводиться до пошуку такого протоколу розподілу ключів, що забезпечував би:

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

Які проблеми та перспективи мають криптографічні системи?

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

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

  1.  факсимільний, відео і мовний зв'язок;
  2.  голосова пошта;
  3.  системи відеоконференцій.

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

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

Це немислимо без використання сучасних технологій шифрування.

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

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

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

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

Як було неодноразово відзначено, проблема розподілу ключів є найбільш гострою у великих ІС. Частково ця проблема вирішується (а точніше знімається) за рахунок використання відкритих ключів. Але найбільш надійні криптосистеми з відкритим ключем типу RSA досить трудомісткі, а для шифрування мультимедійних даних і зовсім не придатні.

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

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

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

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

Останнім часом стали з'являтися комбіновані засоби шифрування, так звані програмно-апаратні засоби. У цьому випадку в комп'ютері використовується своєрідний «криптографічний співпроцесор» – обчислювальний пристрій, орієнтований на виконання криптографічних операцій (додавання по модулю, зсув і т.д.). Змінюючи програмне забезпечення для такого пристрою, можна вибирати той чи інший метод шифрування. Такий метод поєднує в собі достоїнства програмних і апаратних методів.

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

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

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

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

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

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

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

У доступній літературі приводиться маса захоплюючих і корисних за своєю аналогією історичних прикладів практичного використання стеганографії за допомогою безбарвного чорнила, «порожніх» дощечок, покритих воском, і т.п. Стосовно до комп'ютерних технологій можна сказати, що стеганографія використовує методи розміщення файлу-«повідомлення» у файлі-«контейнері», змінюючи файл-«контейнер» таким чином, щоб зроблені зміни були практично непомітні.

Резюме

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

Сучасна криптографія містить у собі чотири великих розділи: симетричні криптосистеми, криптосистеми з відкритим ключем, системи електронного підпису, керування ключами.

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

Криптосистеми розділяються на симетричні і з відкритим ключем.

У симетричних системах і для шифрування і для дешифрування використовується той самий ключ.

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

Крім вибору придатної для конкретної ІС криптографічної системи, важлива проблема - керування ключами. Керування ключами – інформаційний процес, що включає до себе три елементи: генерацію ключів; накопичення ключів; розподіл ключів.

Питання для самоперевірки

  1.  На які напрямки розділяється криптология? 
  2.  Чим займається криптографія? 
  3.  Яка сфера інтересів криптоаналізу?
  4.  Які розділи містить сучасна криптографія?
  5.  Наведіть характеристики симетричних криптосистем.
  6.  Наведіть характеристики криптосистем з відкритим ключем.
  7.  Чим є електронний (цифровий) підпис?
  8.  Що таке потокове шифрування даних?
  9.  Що таке криптографічний співпроцесор?
  10.  Що таке стеганографія?

 

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

492. Поляризация диэлектриков 286.5 KB
  Ионно-релаксационная поляризация. Классификации диэлектриков. Спонтанная (сегнетоэлектрическая), дипольно-релаксационная, миграционная (межслоевая), остаточная (электретная) поляризация.
493. Газоснабжение и горячее водоснабжение жилого 6-и этажного здания 206.5 KB
  Гидравлический расчет подающих трубопроводов. Газоснабжение жилого здания. Гидравлические расчет систем горячего водоснабжения. Анализ циркуляционных трубопроводов.
494. Статистические оценки параметров распределения. Несмещенные, эффективные и состоятельные оценки 157.5 KB
  Несмещенные, эффективные и состоятельные оценки. Числовые характеристики вариационных рядов. Выборочная дисперсия и выборочное среднее квадратическое отклонение. Исправленная выборочная дисперсия. Обычные, начальные и центральные эмпирические моменты.
495. Актуальные проблемы реформы местного самоуправления 909 KB
  Конституция Российской Федерации и проблемы развития компетенционных возможностей местного самоуправления. Реформа местного самоуправления: проблемы реализации. Проблемы законодательного обеспечения реформы местной власти.
496. Разработка и анализ алгоритма сортировки посредством выбора на основе разработки шаблона функции C++ 186 KB
  Основные классы методов сортировки. Исследование метода сортировки посредством выбора на основе шаблона функций C++. Анализ результатов тестирования рассматриваемого алгоритма, вывод о приоритетах и недостатках данного алгоритма и методах его реализации.
497. Водоснабжение и водоотведение 206 KB
  Водопровод жилого здания включает следующие элементы: ввод и водомерный узел, водопроводную сеть, запорную, водоразборную, регулирующую и предохранительную арматуру.
498. Фирма как несовершенный конкурент 233 KB
  Несовершенная конкуренция. Максимизация прибыли монополией. Олигополия. Модель ломаной кривой спроса. Монополия и ценовая дискриминация.
499. Мой мобильный телефон Nokia N8 245 KB
  Возможности предоставляемые Symbian. Типичная картонная упаковка синего цвета без каких-либо дизайнерских штрихов. Герметичность корпуса (пыль). Возможность просмотра видео без предварительного конвертирования.
500. Водоснобжение 5- этажного жилого дома 209 KB
  Гарантированный напор в точке подключения ввода составляет 30м. Расстояние от стены здания до водопроводной линии составляет 25 метров. Глубину промерзания грунта для Новгорода принимаем равной 1,3м.