Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Цифрова сигнатура






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

Цифрова сигнатура – стрічка символів, що залежить як від ідентифікатора відправника, так і змісту повідомлення. Див. Мал. 5-3.

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

Мал. 5‑ 3

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

Розглянемо типову схему цифрової сигнатури.

Нехай Е - функція симетричного шифрувания і f - функція відображення деякої множини повідомлень на підмножину потужності р з послідовності {1,..., n }.

Наприклад р=3 (тобто підмножина має 3 елементи) і n =9 (тобто послідовність вигляду {1, 2, …, 9}). Якщо m - повідомлення, то в якості f можна взяти функцію f (m) = {2, 5, 7} (а ще яку можна? J).

Для кожного повідомлення користувач А вибирає деяку множину ключів K ={ k 1,..., k n} і параметрів V={v1,..., vn} (по 9 в нашому випадку) для використання в якості поміток повідомлення, яке буде відіслане Б. Множини V та V’={E(v1, k 1)..., E(vn, k n)} (результати зашифруваня множини параметрів відповідною множиною ключів) відсилаються користувачу Б та наперед вибраному посереднику С.

Тепер нехай m – повідомлення і idm – об’єднання ідентифікаційних номерів відправника, одержувача і номера повідомлення. Якщо знайти f( {idm, m }), то цифровою сигнатурою m буде підмножина ключів K ’={ k i,..., k j} (в нашому конкретному випадку вона буде складатися з 3-х ключів з номерами 2, 5, 7). Повідомлення m, ідентифікаційний номер idm і цифрова сигнатура К’ відсилаються Б. Див. Мал. 5-4

Користувач Б
Користувач А
Посередник С
V, V'
V, V'
повідомлення, idm, K '

Мал. 5‑ 4

користувач Б превіряє сигнатуру наступним чином. Він обчислює функцію f( {idm, m }) і перевіряє її рівність К’. Потім він перевіряє, чи правильно зашифрована множина {vi,..., vj} у вигляді підмножини {E(vi, k i)..., E(vj, k j)} ножини V’ (в нашому випадку маємо отримати елементи підмножини з номерами 2, 5, 7).

Якщо виникає конфліктна ситуація Б відсилає С повідомлення m, ідентифікаційний но­мер idm і множину ключів K ’. Тоді користувач С отримує можливість перевірити сигнатуру так само як і користувач Б.

Недоліки такої моделі:

- існує потреба в посереднику, якому довіряють і відправник і одержувач

- усі три користувачі повинні обмінятися суттєвими об’ємами інформації, перш ніж буде відіслане реальне повідомлення

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

- інформація використовується вкрай неефективно, так як множини K, V, V’ використовуються лише один раз.

Але тим не менше такі схеми використовуються.

Хеш-функції

Використання цифрової сигнатури припускає використання деякий функцій шифрування:

S = H(k, T),

Тут S - сигнатура, k - ключ, T - вихідний текст.

Функція H(k, T) - є хэш-функцією, якщо вона задовільняє наступним умавам:

1) вихідний текст може бути довільної довжини;

2) саме значення H(k, T) имеет має фіксовану довжину;

3) значення H(k, T) легко обчислюється для будь-якого аргумента;

4) обчислити аргумент по значенню з точки зору обчислення - практично неможливо;

5) функция H(k, T) - однозначна.

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

Найбільш відомі з хеш-функцій - MD2, MD4, MD5 и SHA. Усі вони перетворюють текст довльної довжини в 128-бітову сигнатуру.

Так алгоритм MD2 припускає:

- доповнення тексту до довжини, яка кратна 128 бітам

- обчислення 16-ти бітної контрольної суми

- додаванням контрольної суми до тексту

- повторне обчислення контрольної суми.


Л №12, 13

Управління ключами

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

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

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

- генерацію ключів

- накопичення ключів

- розподілення ключів

Генерація ключів

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

Тому у серйозних ІС[17] використовуються спеціальні програмні та апаратні методи генерації ключів. Причому ступінь випадковості ключів повинна бути досить високою.

Ідеальними генераторами є пристрої, що працюють на основі „натуральних” випадкових процесів.

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

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

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

Накопичення ключів

Накопичення ключів – це організація їх збереження, обліку та видалення.

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

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

У досить складних ІС[18] один користувач може працювати з великою кількістю ключів, тому інколи виникає необхідність створення та організації невеликої бази даних, що відповідають за збирання, зберігання, облік та видалення ключів, що використовуються.

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

Майстер-ключі – ключі, що використовуються для зашифровування ключової інформації.

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

Важливим елементом безпеки інформації є періодичне поновлення ключової інформації в ІС.

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

Розподілення ключів

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

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

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

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

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

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

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

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

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

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

При використанні поміток часу постає проблема допустимого часового інтервалу затримки для підтвердження справжності (автентичності) сеансу. Так як повідомлення з „часовим штемпелем” не може бути передано миттєво. Крім того комп’ютерні годинники відправника та одержувача не можуть бути абсолютно синхронізовані. Таке „запізнення” часового штемпеля вважається підозрілим.

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

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

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

Алгоритм Діффі-Хелмана

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

Основна задача управління ключами – пошук такого протоколу розподілу ключів, який би забезпечував:

- можливість відмови від центрів розподілу ключів

- взаємне підтвердження автентичності учасників сеансу

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

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

Проблеми та перспективи криптографічних систем

Шифрування великих повідомлень та потоків даних

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

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

- факсимільний зв’язок, відео та мовний зв’язок.

- Голосова пошта

- Системи відео конференцій

Об’єм інформації різних типів, що передається можна представити на наступній діаграмі. Див. Мал. 6-1

Об’єм інформації                  
графіка

                 
                   
звук
текст

                 
                   
                   

Мал. 6‑ 1

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

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

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

Використання „блукаючих ключів”

Для симетричних криптосистем характерна проблема розподілу ключів. Ця проблема зникає для асиметричних систем що використовують алгоритм типу RSA. Але системи типу RSA є досить трудомісткими, і не підходять для шифрування потокових даних. Тому в даний момент активно розробляються криптосистеми з так званими „блукаючими ключами”.

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

Основне завдання даного методу – вибір ефективного правила зміни ключів.

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

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

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

Ключовою інформацією в даному випадку є початковий елемент, котрий перед початком зв’язку повинен бути відомий як відправнику так і одержувачу.

Шифрування, кодування та стискання інформації

Усі три види перетворень використовуються у різних цілях.

Вид перетворення Мета Зміна об’єму інформації після перетворення
Шифрування · Передача конфіденційної інформації; · Забезпечення аутентифікації та захисту від навмисних змін; За звичай не міняється, зростає лише в цифрових сигнатурах та підписах
Стійке до перешкод коування · Захист від перешкод у каналах зв’язку Зростає
Стискання (ком­пресія) · Скорочення об’єму даних, що передаються чи зберігаються Зменшується

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

Досить цікава можливість об’єднання методів кодування та шифрування. Можна стверджувати, що кодування – це елементарне шифрування.

Інша можливість – комбінування алгоритмів шифрування і стискання інформації. Завдання стискання – в межах одного і того ж алфавіту перетворити повідомлення таким чином, щоб його довжина (кількість літер алфавіту) стала меншою, але при цьому повідомлення можна було б відтворити без будь-якої додаткової інформації. (Найпопулярніші алгоритми стискання – RLE, коди Хоффмана, алгоритм Лемпеля-Зіва. Для стискання графічної інформації та відеоінформації використовуються алгоритми JPEG та MPEG).

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

Реалізація криптографічних методів

Проблема реалізації методів захисту інформації має два аспекти:

- розробка засобів, що реалізують криптографічні алгоритми

- методика використання цих засобів

Кожен із розглянутих методів криптографічних методів може бути реалізований або програмним або апаратним способом.

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

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

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

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

Основний недолік програмної реалізації – суттєво нижча швидкодія в порівнянні з апаратними методами (приблизно в 10 разів).

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

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

 


[1] DES – Data Encryption Standart

[2] DEA – Data Encryption Algorythm

[3] DES – Data Encryption Standart

[4] Substitutions Permutations

 

[5] CBC -Зчеплення блоків шифротексту - Cipher Block Chaining

[6] CBC Зчеплення блоків шифротексту - (Cipher Block Chaining)

[7] CFB - Зворотній зв’язок по шифротексту Cipher Feed Back

[8] CFB - Зворотній зв’язок по шифротексту Cipher Feed Back

[9] CBC Зчеплення блоків шифротексту - Cipher Block Chaining

[10] CFB - Зворотній зв’язок по шифротексту - Cipher Feed Back

[11] MAC - Message Authentication Code

[12] CBC Зчеплення блоків шифротексту - Cipher Block Chaining

[13] CFB - Зворотній зв’язок по шифротексту - Cipher Feed Back

[14] OFB – (Output Feed Back) Зворотній зв’язок по виходу

[15] CFB - Зворотній зв’язок по шифротексту Cipher Feed Back

 

[16] CBC Зчеплення блоків шифротексту - (Cipher Block Chaining)

[17] ІС – інформаційна система

[18] ІС – інформаційна система


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.019 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал