Розподіл ключів



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

Ключові слова: криптографічні системи, протоколи розподілу ключів, циклічні групи , еліптичні криві, RSA, ECC.

Радецький Тимофій Сергійович

Національний Технічний Університет України «Київський політехнічний інститут ім. Ігоря Сікорського»

Київ, Україна

Key Destribution

Abstract. Key management is the most difficult part of cryptography. The organization of the accumulation of keys is associated with their storage, recording and deletion. As a rule, key exchange is performed using the RSA algorithm or the more efficient Diffie-Helman algorithm. Before modern cryptography there is a problem of increasing the stability of algorithms and reducing the size of keys and data blocks. The obvious way of solving this problem is to present blocks of information in cryptographic algorithms using points of elliptic curves.

Keywords: Cryptographic systems, key distribution protocols, cyclic groups, elliptic curves, RSA, ECC.

Tymofii Radetskyi

KPI National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”

Kyiv

Забезпечення інформаційної безпеки є одним з найголовніших напрямів розвитку інформаційних технологій. Набір завдань, які розглядаються в цій галузі, постійно збільшується. Одним з основних засобів, що використовуються для захисту інформації в комп’ютерних системах, є криптографічні перетворення. Проблеми криптографії виходять за рамки задач забезпечення секретності. Сучасна криптографія включає в себе чотири основних розділи: криптосистеми з відкритим ключем, симетричні криптосистеми, системи електронного підпису, управління ключами. Сучасні криптосистеми побудовані на користуванні ключами і, як правило, управління ключами є слабким місцем у криптографічних додатках. Користування криптографічними технологіями не є складним, однак складним є безпечно користуватися ключами, зберігати та обмінюватися ними. Часто неякісне управління ключами підриває навіть виключно якісні системи, так як безпека алгоритму зосереджена в ключі. Управління ключами включає генерацію, накопичення і розподіл ключів. У сучасному світі управління ключами є найважчим розділом криптографії. Проектувати безпечні криптографічні алгоритми и протоколи непросто, але наявний значний обсяг академічних досліджень. Зберегти секрет ключів набагато важче [1]. В загалом, усі методи генерації ключів можна розділити на апаратні та програмні. Основною вимогою при цьому є рівномірність розподілу по всьому простору можливих ключів. При генерації ключів апаратним способом використовуються генератори шуму – електронні пристрої, в яких протікає випадковий фізичний процес; при програмній генерації – генератори псевдовипадкових послідовностей [2]. Накопичення ключів пов’язане з їхнім зберіганням, обліком та видаленням. У складних інформаційних системах один користувач може працювати з великим обсягом ключової інформації, внаслідок чого виникає необхідність організації мінібаз даних з ключовою інформацією. Такі бази даних відповідають за прийняття, зберігання, облік та видалення ключів, які використовуються. Інформація про ключі повинна зберігатися зашифрованою. Ключі, які шифрують ключову інформацію називаються майстер-ключами і, як правило, не зберігаються в комп’ютерній системі, або для їхнього перетворення використовують криптографічні алгоритми. Кількість ключів, що використовується, залежить від кількості абонентів, обсягів інформації і особливостей алгоритму шифрування. Сеансові ключі повинні знищуватися. Питання оновлення ключів пов’язане з третім аспектом управління ключами – розподілом ключів. Розподіл ключів – одна з фундаментальних задач криптографії. При обслуговуванні n користувачів, що обмінюються закритою інформацією один з одним, необхідно $n(n-1)/2$ різних секретних ключі. Зі збільшенням n з’являється проблема управління великим числом ключів. Існує кілька шляхів розв’язання цієї проблеми. Визначення найбільш оптимального з них залежить від конкретної ситуації [1]:

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

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

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

$•$ Мережа довіри. Використовується в асиметричних криптосистемах. Користувачі самі розповсюджують свої ключі і слідкують за ключами інших користувачів. Довіра полягає в неформальному способі обміну ключами. Одне з рішень є в тому, що за кожним користувачем закріпляється єдиний ключ, використовуючи який він може зв’язуватися з центром довіри. В цьому випадку система з n користувачами потребує лише n ключів. Коли два користувачі хочуть обмінятися секретними даними, вони генерують ключ, який буде використовуватися лише для передачі цього повідомлення. Його називають ключем сеансу. Ключ сеансу генерується за участі центру довіри за допомогою одного з протоколів.

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

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

$1.$ Механізм «запит – відповідь». Якщо користувач А бажає бути впевненим, що повідомлення, отримані від Б є істинними, він додає до повідомлення непередбачений елемент (запит). У відповіді абонент Б повинен виконати певну операцію над цим елементом. Окрім того, це неможливо зробити раніше, оскільки невідомо, яке випадкове число прийде в запиті. Після отримання відповіді з результатами дій користувач А може бути впевненим, що сеанс є справжнім. Недоліком цього методу є можливість встановлення – нехай складної – залежності між запитом і відповіддю.

$2.$ Механізм позначки часу. Він передбачає фіксацію часу для кожного повідомлення. В цьому випадку кожен користувач інформаційної мережі може знати, наскільки «старим» є повідомлення. При використанні позначок часу постає проблема допустимого часового інтервалу затримки для підтвердження справжності сеансу, так як повідомлення з часовою позначкою не може бути переданим миттєво. Крім того, комп’ютерні годинники відправника і отримувача повинні бути абсолютно синхронізованими.

Більшість відомих протоколів розподілу ключів використовуються для отримання загального ключа сеансу для двох учасників. Для обміну ключами, як правило, використовують алгоритм RSA або більш ефективний алгоритм Діффі – Хелмана, який дозволяє двом користувачам без посередників обмінюватись ключом, який потім може використовуватись для симетричного шифрування [3]. Сьогодні більш актуальною задачею є розподіл ключів для групи користувачів. Така задача виникає при автентифікації учасників групи, при організації безпечного зв’язку всередині групи абонентів, при формуванні групового цифрового підпису, при організації конференц-зв’язку. Криптографічні протоколи, в яких відбуваються добування і розповсюдження ключів, називаються протоколами розподілу ключів. Проблема розподілу ключів може бути вирішена в кілька шляхів. Спільний ключ може не добуватися у протоколі, а обиратися завчасно кимось з учасників і потім відправлятись усім іншим учасникам. Такі протоколи називаються протоколами розповсюдження ключів. Очевидно, в такому випадку рівень захисту невисокий. Для підвищення рівня безпеки можуть використовуватися протоколи обміну ключами, в яких кожен учасник групи робить свій вклад при генерації ключа. В обох випадках тільки діючі учасники групи мають доступ до секретного ключа.

Донедавна основним математичним апаратом, який використовували для реалізації протоколів обміну ключами були циклічні групи простого порядку $p$. Задача, що лежить в основі цих протоколів – проблема дискретного логарифмування (розрахунок показника $x$ по відомим ${{g}^{x}}\bmod p$ і твірному елементу $g$). Однак перед сучасною криптографією стоїть проблема підвищення стійкості алгоритмів і зменшення розмірів ключів та блоків даних. Очевидний спосіб рішення цієї проблеми – представлення блоків інформації в криптографічних алгоритмах не тільки у вигляді чисел (елементів скінченних піль), але і у формі інших алгебраїчних об’єктів вищої складності. Одним з типів таких об’єктів є точки еліптичних кривих. Серед основних переваг, які дає еліптична крива – висока швидкодія і невелика довжина ключа. За деякими оцінками експертів, криптосистеми на основі еліптичних кривих дають найвищу надійність на 1 біт ключа із усіх відомих систем з відкритим ключем. Це досягається завдяки важкості базового алгоритму – розрахунку дискретних логарифмів у групі точок еліптичної кривої (розрахунок множника з відомими і твірної точки ). Менша довжина ключа призводить до пришвидшення розрахунків, зниженню потрібної потужності, меншому завантаженню пам’яті. Таким чином, еліптичні криві є досить привабливими для побудови більш стійких криптографічних алгоритмів.

Таблиця 1 Порівняння розмірів ключів RSA та ECC [2]

В залежності від потрібної стійкості протоколи обміну ключами повинні володіти рядом криптографічних властивостей [3]:

$•$ Контрибутивність : сформований секретний ключ залежить від секретних даних, внесених кожним учасником протоколу;

$•$ Доскональна випереджальна секретність : компроментація довгострокових ключів не компроментує ключів сеансу;

$•$ Неявна автентифікація ключа : кожен учасник протоколу впевнений, що жодна інша сторона не могла отримати доступ до сеансового ключа ( за винятком зловмисника);

$•$ Автентичність : забезпечення неявної автентифікації ключа.

Можливі проблеми і труднощі в користуванні системами на основі еліптичних кривих:

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

$2)$ Важкість генерації кривих, які задовольняють умовам. Головна проблема – визначити кількість точок на кривій. Для цього необхідно обрати базову точку Р, координати якої повинні мати досить великі значення для забезпечення стійкості. Окрім того, координати Р повинні ділитись на кількість точок на кривій і скоріше за все, при визначенні числа точок на кривій, знаходження базової точки буде проблемним.

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

Результати тестування Cryptography Research Inc. показали, що електромагнітні хвилі, які випромінюються телефонами, можуть стати причиною втрати зашифрованої інформації : достатньо виміряти і проаналізувати кількість енергії, яку споживає пристрій або частоту його радіовипромінювання. Коли обробка додатку містить секретні елементи – такі як секретний ключ, який повинен залишатись в межах пристрою – конфіденційна інформація може стати незахищеною [4]. Simple Power Analysis (SPA) є одиничним виміром, який вимірює випромінювання пристрою або його енергоспоживання. Зокрема, випромінюванні пристроєм великі коливання можна оброблювати для виявлення індивідуальних бітів ключа. Differential Power Analysis (DPA) є збором серії вимірів. Такий статистичний аналіз використовується для отримання ключових даних, отриманих шляхом надточних вимірів перепадів в енергоспоживанні пристрою. В результаті тестування SPA- та DPA- методів було встановлено, що для викрадення інформації мобільний пристрій достатньо наблизити до спец-обладнання, на відстань, меншу 3 метрів. Дослідження привели до висновку, що будь-які додатки, які не вживають активних контрзаходів захисту, знаходяться під загрозою втрати шифрувальної інформації. Таким чином, ряд недоліків ставить під сумнів однозначність у перевагах використання еліптичних кривих у протоколах управління ключами. Ситуація вимагає посилення вектору дослідження у напрямі вивчення математичного апарату побудови криптографічних систем. Зокрема, на вістрі сучасної криптографії розглядається застосування поліному замість простого числа. Окрім того, існують рішення, що дозволяють знизити ризик злому – впровадження контрзаходів на апаратному рівні та на рівнях операційних систем і додатків – такі як встановлення вимог до розробників в галузі написання більш криптостійких шифрувальних модулів, а також впровадження в протоколи пристрою інструкцій з розміщення ключів таким чином, щоб зменшити ймовірність їхнього викрадення. Значної уваги вимагає розвиток соціальної інженерії та підвищення загального рівня знань з інформаційної безпеки користувачів.

ЛІТЕРАТУРА

$1.$ Шнайер Б. Прикладна криптографія. Протоколи, алгоритми, вихідні тексти мовою Сі. - М.: Вид-во «Тріумф», 2003, - 816 с.

$2.$ Кнут Д.Е. Мистецтво програмування. - Т. 2. Напі-вчисленні алгоритми. - М.: Видавничий дім «Віль-ямс», 2004, - 832 с.

$3.$ Смарт Н. Криптографія. - М.: Вид-во «Техносфе-ра», 2006, - 528 с.

$4.$ Security Week. Утечка криптографических ключей посредством электромагнитного излучения / In-formation Security/Информационная безопас-ность. – 2016. - №4

May 17, 2018