Ктн, доцент Василенко В.С., Червінко Л.П.
Національний авіаційний університет (НАУ) України
Криптографічна стійкість ознак цілісності
інформаційних об’єктів в коді умовних лишів
Відомо, що сенсом перетворень при
забезпеченні цілісності інформаційних об’єктів є така зміна початкового
повідомлення (тексту, частини мовної конструкції тощо), при якій воно стає
захищеним від неавторизованої модифікації (підміни чи підроблення) цих об’єктів
[1‒5]. Із цією метою до складу
інформаційного об’єкту, цілісність якого контролюється , тим чи іншим чином
приформовується обрахована за певними алгоритмами ознака цілісності. При цьому,
як відомо [6 - 11], потрібною є висока криптографічна стійкість цієї ознаки
цілісності.
Одним
із розповсюджених алгоритмів є контроль з використанням
надлишкових кодів (контроль по модулю, наприклад, по модулю 2, циклічні
коди в режимі виявлення спотворень, контрольне додавання (CRC)), який дозволяє
лише установити факт наявності спотворень інформаційних об’єктів. Проблема
корегування спотворень вирішується за рахунок повторної передачі повідомлень.
Другий підхід полягає у застосуванні надлишкових кодів, які дозволяють виявляти
як факт наявності спотворень, так і місце їх виникнення та величину, що
забезпечує відповідне корегування (коди Хеммінга, циклічні коди в режимі
корегування спотворень, ланцюгові коди та ін.). Таким чином, ці механізми
захисту ґрунтуються на застосуванні швидко діючих процедур виявлення спотворень
та подальшому поновленні спотвореної інформації за рахунок корегування чи
повторної передачі непошкодженої інформації, повторного запису непошкодженої
інформації з її резервної копії. Це дає змогу суттєво скоротити час поновлення
спотвореної інформації. Звернемо увагу на те, що застосування згаданих вище
завадостійких кодів із відомими параметрами забезпечує захист лише від
спотворень, причиною яких є ненавмисні впливи. Але такі коди не мають ніякої
криптографічної стійкості (інколи можна говорити про вкрай обмежену). Тому
порушник ‒ зловмисник, знаючи застосовані методи контролю чи контролю та
поновлення спотворень, може здійснити будь-яку модифікацію інформаційного
об’єкту та обрахувати знову відповідні сигнатури для цих уже спотворених об’єктів.
При контролі таких модифікованих об’єктів ніяких спотворень не буде виявлено,
отже, говорити про забезпечення цілісності у визначеному вище сенсі немає рації.
Але, на думку авторів цієї роботи,
існує один із завадостійких кодів ‒ код умовних лишків, який дозволяє
формувати такі ознаки цілісності, які мають високу криптографічну стійкість. Метою роботи і є розгляд криптографічної
стійкості ознак цілісності такого коду.
Для
цього будемо вважати, що при кодуванні ‒ декодуванні використовується
процедура нулізації, коли шукана контрольна ознака формується по перших n
лишках αi (i = 1, 2, …, n) вихідного інформаційного об’єкту
А = (α1, α2, …, αn, αk)
(при кодуванні
вважають початкову величину контрольної ознаки αk такою, що
αk = 0). У цій
процедурі спочатку послідовно формуються
так звані мінімальні числа виду:
t1 =
(α1,
,
,…,
,
),
t2 =
(0, (α2 -
)
(mod p2),
,…,
,
),
t3 =
(0, 0, (α3 -
-
)
(mod p3),
,…,
,
),
…………………………………………………………..
tn = (0, 0, 0, …,(αn -
) (mod pn),
),
Сума чисел Т =
має
наступні дві властивості. По-перше, лишки цієї суми по всіх основах, окрім рk, завжди дорівнюють лишкам
вихідного числа А. По-друге, величина цієї суми завжди є
меншою ніж величина робочого діапазону, тобто величина Т лежить в межах
робочого діапазону і для неспотворених чисел
Т = А. Отже,
описаний процес формування величини Т = А
при попередньо невизначеній величині лишку по контрольній основі pk є процесом кодування
вихідного числа ЛУ-кодом. Дійсно, в процесі нулізації контрольна ознака αk, що розшукується,
обраховується як сума проміжних величин
(і = 1, 2, ..., n), які є
лишками за модулем рк від
складових Т. До того ж значення Т залежить лише від вихідного числа А і не
залежить від невідомої при кодуванні величини лишку по контрольній основі рк. Отже:
αk = Т (mod рк) = (
)
(mod рк).
При декодуванні здійснюється така ж процедура
нулізації із обчисленням величини T та із наступним відніманням із можливо
спотвореного числа цієї величини T. Це
призводить до того, що отримана різниця
‒ T = kР
має по всім
основам, окрім контрольної, лишки, що дорівнюють нулю, а по контрольній –
лишок, величина якого:
γ = (αk
– (Т mod рk )) mod рk = kР mod рk,
тобто
‒ T = (0, 0, …, 0, …0, k·Р mod рk,
де k = 0, 1, 2,
…, рk –1.
Для неспотворених чисел, тобто при k = 0, величина γ = 0, а для
спотворених
γ ≠ 0. Отже, при застосуванні коду умовних лишків завдання із
виявлення наявності порушень цілісності інформаційних об’єктів є виконаним.
Покажемо, що основна мета статті,
сформульована як створення
криптозахищених ознак цілісності, при застосуванні розглянутих процедур
кодування ‒ декодування також може бути досягнутою. Для цього слід
показати насамперед, що розглянуте
формування ознаки цілісності має ознаки криптографічного перетворення.
Із цією метою звернемо увагу на
наступні особливості операцій нулізації як операцій кодування ‒
декодування.
По-перше, на відміну від багатьох
завадостійких кодів (по mod 2, матричних, Хеммінга, циклічних, CRC), в коді
умовних лишків використовується не один контрольний модуль чи утворюючий
поліном, а сукупність основ (1, 2, …, n
+ 1), які можуть і повинні бути невідомими неавторизованим користувачам.
По-друге, як наслідок, невідомими таким користувачам стають й усі проміжні
змінні при використанні операції нулізації. Іншими словами, набір основ (1, 2, …, n + 1) можна і слід розглядати як
ключові дані такого криптографічного перетворення, наслідком якого є формування
ознаки цілісності (хеш-функції). Нарешті, невідомими для неавторизованих
користувачів залишаються правила розбивання інформаційних об’єктів на групи
умовних лишків, потрібних в операціях
кодування ‒ декодування, та послідовність їх відповідності основам
, як елементам ключового набору.
Слід усвідомлювати той факт, що
порушити цілісність інформаційного об’єкту можливо принаймні двома шляхами.
Перший із цих шляхів полягає в розкритті ключового набору (у цьому випадку
‒ сукупності основ (1, 2,1…, n + 1). Тоді замість справжнього
інформаційного об’єкту можна використати будь-який інший, для якого із
використанням відомого ключа слід розрахувати нове значення ознаки цілісності.
Таку модифікацію чи підміну інформаційного об’єкту розкрити неможливо.
Другим із шляхів є використання колізій
щодо тієї ознаки цілісності, яка сформована для існуючого інформаційного
об’єкту. Нагадаємо, що колізією називається ситуація, коли два ( декілька)
інформаційних об’єкти мають однакову ознаку цілісності (хеш-функцію). Тоді
підміна справжнього інформаційного
об’єкту іншим із такою ж ознакою цілісності також розкрити неможливо.
Зрозуміло, що ця колізія ознак
цілісності різних інформаційних об’єктів є такою, що не розкривається лише в
разі, коли ці ознаки сформовані на однакових ключах (у цьому випадку на
однакових наборах основ (1, 2, …, n + 1)).
Однак порівняння цих задекларованих
вище шляхів порушення цілісності інформаційних об’єктів свідчить, що вони є
абсолютно однаковими і в їх основі лежить знання (а отже розкриття) ключових
наборів. Тобто, криптографічна стійкість таких ознак цілісності полягає в
складності розкриття ключових наборів.
Звернемо увагу на те, що для розкриття
ключів розглянутого криптографічного перетворення неавторизованим користувачам
‒ зловмисникам (криптоаналітикам) доступними для аналізу є власне
первинний інформаційний об’єкт та криптографічна ознака цілісності
(хеш-функція) [9 ‒ 12]. Ця ознака, як бачимо, сформована із використанням
невідомих елементів ключового набору із невідомим порядком їх розташування, а
отже, їх розкриття можливе лише внаслідок спроб формування ознаки цілісності
для усіх варіантів прямого перебору ключового набору. Оскільки кількість
елементів ключового набору, їх значення та порядок розташування є невідомими,
то можливість такої модифікацій вихідного тексту, яка не виявляється, є малоймовірною. Формування модифікованих інформаційних
об’єктів із таким же значенням ознаки цілісності, що є однаковим із значенням
ознаки цілісності немодифікованого
інформаційного об’єкту ‒ спроба використання колізій, буде
малоперспективною. Це пов’язано із тим, що при контролі цілісності на
справжньому наборі ключів ця модифікація буде виявленою.
У разі вибору (n + 1) ключів (при умові, що контрольна основа має таку ж
розрядність як і робочі, що занижує шукане значення варіантів ключів) з їх
наперед визначеної множини потужністю N (цей приклад забезпечує криптоаналітику
‒ порушнику полегшення умов
підбору ключів) та вибору величини ознаки цілісності при розрядності m двійкових розрядів, кількість варіантів ключів дорівнює числу перестановок
(розміщень) із N елементів по (n +
1):
.
При виборі основ СУЛ з розрядністю, яка
із умови забезпечення восьмибітових умовних лишків є більшою 256 (наприклад,
при виборі взаємно простих чисел з проміжку [257,..., 1579]), величина N = 195.
Якщо шифруванню підлягають слова із числом символів n = 32, то
.
У таблиці 1 для порівняння наведено
кількість варіантів ключів для відомих механізмів формування цифрового підпису
(за стандартом ГОСТ 34.310 – 94) та криптографічного перетворення (за
стандартом ГОСТ 28147-89), а також запропонованого механізму:
.
Як видно із таблиці, запропонований
механізм забезпечує кількість варіантів ключів, яка є близькою, або перевищує
кількість варіантів ключів відомих механізмів, і за цим показником має,
відповідно, вищу імітостійкість. У наведених прикладах кількість варіантів
ключів наближається до вимог гарантованого криптозахисту.
Таблиця 1. Кількість
варіантів ключів для різних механізмів перетворень
|
Довжина ключа (байти) |
Кількість варіантів
ключів |
||
|
ГОСТ |
ГОСТ |
ЛУ – код |
|
|
1 |
2 |
3 |
4 |
|
32 |
- |
1076 |
>1076 |
|
64 |
9,45·1065 |
- |
>10139 |
|
128 |
9,45·10156 |
- |
>>
10263 |
Примітка. Для другої та третьої колонок таблиці використано дані
Інституту інформаційних технологій Харківського технічного університету
радіоелектроніки.
Таким чином, у роботі , для забезпечення контролю
цілісності інформаційних об’єктів, запропонована процедура нулізації на основі
завадостійкого коду умовних лишків. У розглянутій процедурі контролю цілісності
інформації параметри перетворень при формуванні ознак цілісності (хеш–функцій
чи інших) можуть використовувати секретні алгоритми (невідомі неавторизованим
користувачам), тобто алгоритм має можливості криптозахищеності ознак цілісності
із високою криптографічною стійкістю.
Список використаної
літератури:
1. Василенко В.С. Теория информации и кодирования. / В.С. Василенко, О.В. Дубчак // Монографія, LAMBERT Academic Publishing, Saarbrücken, Deutschland.
− 2013. – с. 494, ISBN 978−3−659−15893−3.
2. Василенко В.С. Василенко В.С. Прикладная теория
информации и кодирования. / В.С. Василенко, Е.В.
Дубчак // Монографія, LAMBERT Academic Publishing,
Saarbrücken, Deutschland. − 2013. – с. 129,
ISBN 978-3-659-45467-7.
3. Целостность и доступность информационных
объектов. / В.С. Василенко, О.Я. Матов // Монографія, LAMBERT Academic Publishing, Saarbrücken, Deutschland.
− 2013. – с. 95, ISBN 978−3−659− 47333−3.
4. Василенко В.С. Забезпечення цілісності й
доступності об`єктів в інформаційних мережах. / В.С. Василенко, О.В. Дубчак //
ISBN 978-3-659-20764-8, LAMBERT Academic Publishing,
Saarbrücken, Deutschland. − 2014. – с. 325.
5. Василенко В.С. Обеспечение целостности и доступности
объектов в информационных сетях. / В.С. Василенко, Л.С.
Марченко // Тези доповіді, матеріали 10-ої Міжнародної науково-практичної конференції
07 – 15 березня 2014 р. «Naukowa myśl
informacyjnej powieki - 2014». Nowoczesne informacyjne technologie.: – Перемишль: “Nauka I studia”.
2014. –Т. 28, - С. 66−68, ISBN 978-966-8736-05-6.
6. Василенко В.С. Помехоустойчивые коды. / В.С. Василенко // Монографія, ISBN 978-3-8484-9206-0, LAMBERT Academic Publishing, Saarbrücken, Deutschland.
− 2013. – с. 101.
7. Василенко В.С. Код условных вычетов. / В.С. Василенко // Монографія,
LAMBERT Academic Publishing,
Saarbrücken, Deutschland. − 2013. – с. 129, ISBN 978−3−659−48203−8.
8. Василенко В.С. Поновлення цілісності
інформаційних об’єктів в коді умовних лишків. / В.С. Василенко // Матеріали
ХVІІІ Міжнародної науково-практичної інтернет-конференції «Проблеми та
перспективи розвитку науки на початку третього тисячоліття у країнах Європи та
Азії» 29 – 30 вересня 2015 р. // Збірник наукових праць. –
Переяслав-Хмельницький, 2015 р. ‒ С. 119 – 122.
9. Василенко В.С. Аналітичні методи шифрування
на основі перетворень із використанням лишкових класів. / В.С. Василенко //
Правове, нормативне та метрологічне забезпечення системи захисту інформації в
Україні. – Київ. −2012. – Вип. 1
(23) – С. 36-44.
10. Василенко В.С. Несиметричне кодування з
використанням лишкових класів. //
Правове, нормативне та метрологічне забезпечення системи захисту
інформації в Україні, вип.. 1 (12), 2006 с. 71 - 73.
11. Василенко В.С. Варіант завадостійкого
криптографічного перетворення. // Правове, нормативне та метрологічне
забезпечення системи захисту інформації в Україні, вип.. 8, 2004 р. - с. 101 -
108.
12. Коржов В. Асимметричные криптоалгоритмы // Відкриті системи. № 7- 8/2002
р. - с. 66 -73.