рафи. Вшниця: ВДТУ, 2003. 143 с.
3. Грибунин В.Г., Оков И.Н., Туринцев И.В. Цифровая стеганография. — М.: "Солон-Пресс", 2002. — 272 с.
4. Вентцель Е.С., Овчаров В.А. Теория вероятностей и её инженерные приложения. Уч. пос. для ВУЗов. — М.: "Академия", 2003. — 464 с.
5. Скляр Б., Цифровая связь: Теоретические основы и практическое применение. М.: "Вильямс", 2003. — 1104 с._
Навроцкий Д. О., Дюжаев Л.,Пузиренко О.Ю Представление и прогнозирование эффективности нового протокола оценки качества реализации разрабатываемых алгоритмов компьютерной стеганографии Представлен протокол оценки качества реализации известных и прогнозирование эффективности разрабатываемых алгоритмов компьютерной стеганографии. Предложенную концепцию можно использовать для мониторинга стеганоалгоритмов._
Navrotskiy D.O.,Dyuzhayev L.,Puzirenko O. Yu Representation and forecasting of efficiency of the new protocol of an estimation of quality of realization of developed algorithms computer steganography
There is represented the protocol quality rating of realization and technologic forecasting of efficiency of well-known and developed algorithms of computer stenography. The proposed concept can be used for the monitoring of steganoalgo-rithms, which are used for copyright protection.
УДК 621.391
НАДШШСТЬ ЗАХИСТУ 1НФОРМАЩ1 СИСТЕМИ ЕЛЕКТРОННОГО ЦИФРОВОГО П1ДПИСУ
Танцюра Д.В, Зшьковський Ю.Ф.
Розглянута побудова електронного цифрового тдпису, надттсть як складових, так I вс1е! системи вщлому. Приведет рекомендаци щодо тдвищення над1йност1 сис-теми електронного цифрового тдпису.
Для зменшення несанкцюнованого доступу, тдробок i хакерських атак в мережi 1нтернет - необхщш технологи аутентифжаци суб'еклв мере-жi(користувачiв, серверiв, програм). Одшею з таких технологш i е елект-ронний цифровий тдпис (ЕЦП), який узаконений в Укра!ш з 2003 року.
Використання ЕЦП дозволяе однозначно щентифжувати автора-вщправника(повщомлення); уникнути перехвату, модифжаци i шдробки повщомлень та шших даних, як пересилаються в мережь ЕЦП - представ-ляе собою „вживлення" даних фрагменту додатково! зашифровано! шфор-маци, яка слугуе для щентифжацп та достовiрностi повщомлення. Тобто сама iнформацiя, яка шдписуеться - не шифруеться(хоча можливе i шиф-рування). Ця додаткова шформащя(ЕЦП) формуеться двома дiями: визна-чення хеш-функци та шифрування результатiв з вщкритим ключем. Хеш-функцiя - це функщя перетворення вихiдного повщомлення(шформаци) певним чином в вiдповiдний повщомленню код - згортку, яка слугуе для контролю цшсносл даних. Згортка шифруеться з вiдкритим ключем i результат - стае невщ'емною частиною повiдомлення(тобто прикрiплюеться до нього). Шифрування з вщкритим ключем особливе тому, що для шифрування i дешифрування використовуються два рiзнi, не випливаючи один з одного, ключi - закритий i вщкритий вiдповiдно. Закритий ключ - це той
ключ (набiр символiв), за допомогою якого вщбуваеться шифрування згор-тки, i який вщомий лише власнику вiдповiдного ЕЦП. Вщкритий ключ - це той ключ, який слугуе для дешифрування згортки (перевiрки ЕЦП), i який публшуеться центром сертифжаци ключiв (тобто е загальновiдомим).
Система ЕЦП е зручна i корисна, але потребуе високо! надiйностi [2], для уникнення(унеможливлення) помилок, i пiдтвердження юридично! си-ли пересилаемих докуменпв. Надiйнiсть системи ЕЦП залежить вiд бага-тьох факторiв, основнi з яких можна звести до двох наступних: точна щен-тифжащя(беззбройне, безпомилкове прочитання щентифжащйно1 шфор-маци) та уникнення можливостi шдробки повiдомлення чи пересилаемих документiв. Перший фактор особливий тим, що важко взяти на себе вщпо-вщальшсть за надiйнiсть i безпеку програмно!(та апаратно!) системи, яка забезпечуе ЕЦП. Тому необхщно забезпечити захищенiсть програмного середовища як використанням програмного захисту та адмшютратора без-пеки, так i органiзацiйними обмеженнями(правилами та нормами). Особ-ливiсть другого фактора в тому, що вш включае в себе цшу низьку чинни-кiв(параметрiв), найважливiшi з яких: надiйнiсть хеш-функцп, надiйнiсть згортки, надiйнiсть алгоритму шифрування з вщкритим ключем, надiйнiсть закритого ключа, яка визначаеться насамперед надшшстю генератора клю-ча(його особливостями).
Криптографiчна однобiчна хеш-функцiя - функцiя перетворення шфор-маци(повщомлення), значення яко!(згортка) залежить вщ символiв вихщ-ного повщомлення та !х взаемного розмiщення(порядку !х слiдування); во-на мае певну фiксовану бiтову довжину, яка не залежить вщ величини по-вщомлення, i якiй притаманнi наступнi властивостг
1) не iснуе вiдомого полiномiального алгоритму обчислень значень обернено! функци(тобто за реальний час неможливо повшстю точно вiдновити вихiдну iнформацiю(повiдомлення));
2) не юнуе вiдомого ефективного полiномiального алгоритму такого альтернативного вихiдного повщомлення, при якому б згортка зали-шилася незмiнною, тобто iдентичною для попереднього повщомлен-ня(не iснуе тшзш).
Найпоширенiшi хеш-функци - на основi однокрокових стискувальних функцiй [1] двох змшних у=/(х1, х2), де х1, х2, - двiйковi вектори довжини т; у - двiйковий вектор довжини згортки п. Для обчислення згортки Н(М) по-вiдомлення М розбивають на N блокiв М1, М2, ..., довжини т. Якщо довжина повiдомлення не кратна т, то останнш блок спещальним чином доповнюють до довжини т. До блоюв М1, М2, ..., MN застосовують посль довну процедуру обчислення згортки: И0=у; Яг=/(Мг-,Яг-.1), /=1,...Д; Н(М)=И^N, де V - деякий фшсований початковий вектор. Якщо функщя/ залежить вщ ключа, то за вектор V можна взяти нульовий, шакше - утворити вектор V з фрагменлв дати, часу, номера повщомлення тощо. Властивостi
тако! хеш-функци И визначаються властивостями однокроково! стискува-льно! функци / Для формування ЕЦП використовують безключовi хеш-функци^]. Основш вимоги до цих функцiй - !х однобiчнiсть, стiйкiсть щодо колiзiй та пошуку iншого прообразу. Це означае складшсть задач щодо пошуку повщомлення з даним значенням згортки, пари повщомлень з однаковою згорткою, шшого повiдомлення з тiею ж згорткою для даного повщомлення за вщомою згорткою. Оскiльки функцiя gk(x)=Ek(x)©x, де Ек - алгоритм блокового шифрування, однобiчна за обома аргументами, то на и основi можна побудувати безключову хеш-функцiю: Н0= V; Нг=/(Мг,Нг-1), 1=1,...,N И(М)=Н^, визначаючи однокрокову стискувальну функцiю одш-ею з формул: /х,Н) = ЕН(х)©х або /х,Н) = ЕХ(Н)®Н.
Сучаснi хеш-функци не мютять лазiвок для хакерiв (деякi з них стандартизован^, а надiйнiсть значення згортки (стшюсть) зростае з И розрядшс-тю. Для захисту значення згортки хеш-функци використовуеться модель криптосистеми з вщкритим ключем, яка народилася у 1976 рощ, коли У. Дiффi i М.Е. Хеллман(США) ввели поняття однобiчноl (односпрямовано!) функци з лазiвкою. За !х допомогою шифрування та дешифрування текстiв виконуеться на рiзних ключах, при цьому знання одного з них не дозволяе практично визначити шший. Це дае змогу зробити один з ключiв вщкри-тим без втрати стшкост шифру i тшьки законний користувач зберiгае шший ключ в таемнищ. Визначення значення х за вщомим значенням функци у=^(х) - завжди можна виконати поступовим перебором уЫх мож-ливих значень дано! функци, поки для якого-небудь х обчислене значення Дх) не буде дорiвнювати заданому вщомому значенню у. Проте при великих розмiрах областi визначення функци такий споЫб стае практично нездшсненним. Для вiдновлення вiдкритого тексту необхщна не просто однобiчнi функцil, а однобiчнi функцil з лазiвкою, яю е узагальненням однобiчних функцiй [1].
Функщя у=Д(к,х), що залежить вщ параметра к, е однобiчною функщею з лазiвкою, якщо:
■ юнуе полiномiальний алгоритм обчислення значень функци Д(к,х) для всiх аргументiв х е X i всiх значень параметра к;
■ не юнуе полiномiального алгоритму обчислення значень обернено! функцil при невiдомому параметрi к, тобто визначити значення аргументу х за вщомими значенням функци у при невщомому параметрi к - неможли-во;
■ iснуе полiномiальний алгоритм обчислення значень обернено! функ-ци при вiдомому параметрi к, тобто легко знайти значення аргументу х за вщомими у i к.
На сьогоднi не побудовано жодно! функцil, яку б можна було вважати за однобiчну функцiю або однобiчну функцiю з лазiвкою, не доведено на-вiть !х юнування. В реальних задачах використовують декшька функцiй,
як б могли виявитися однобiчними функщями з лазiвкою, але й для них поки не доведено вщсутшсть полiномiального алгоритму швертування. Тому на практицi друга вимога в означенш однобiчних функцш замшю-еться бiльш слабкою: при невщомому параметрi k ймов1рно не юнуе поль номiального алгоритму обчислення значень обернено1' функцiï. Але поява нових математичних методiв та прогрес обчислювальноï технiки можуть зумовити появу таких алгорштв. Тому на даний час використовують по-тенцiйнi однобiчнi функцiï з лазiвкою( множення, шднесення степеня у скiнченному полi, задачi кодування-декодування лiнiйних кодiв тощо), для яких ще не знайдено полiномiальних алгоритмiв обчислення значень обер-нених функцш
1снуе багато прихованих (не оприлюднених) алгоритмiв шифрування. Але ïx надiйнiсть сумнiвна, бо в основному вона тримаеться на самiй секретности або автор алгоритму сам невпевнений в його надшност (як пока-зуе досвiд). Тому надшними можна вважати тi алгоритми, яю загальновь домi i перевiренi часом або яюсно проаналiзованi крипто-аналiтиками. За-звичай використовують рiзнi алгоритми, але вони стандартизован i пронумерован^ й кожний користувач знае, який алгоритм (вщкритий) викори-стовуеться. Наприклад, алгоритм перших лiтер прiзвищ ïï авторiв -
R. Rivest, A. Shamir, L. Adleman) — мiжнародний. Краши GC використовують близько 35 рiзниx криптографiчниx алгорштв, Украïна — 3, але жо-ден з них не е стандартом GC.
Найбшьш поширена серед криптосистем з вщкритим ключем - система RSA [1]. В основi криптосистеми лежить той факт, що розкласти велике складене число на прост множники досить обчислювано обтяжливе. Процедура шифрування за схемою RSA полягае в модульному шднесенш до ступеня за допомогою функци E(x) = xe(mod n) а процедура дешифрування - у розв'язанш порiвняння D(x) = xd(mod n), де e - частина значення ключа шифрування, d - частина значення ключа дешифрування. Розглянемо цю процедуру шифрування в загальному випадку. Виберемо число n =pq - цше число, що дорiвнюе добутку двох великих простих чисел p та q. Виберемо числа e i d з умовою ed = l(mod ф(п)), де ф(п)= ф(p)•ф(q)=(q-1)•(p-1) - значення функцiï Ейлера. За вiдкритий ключ k2, вiзьмемо числа n i d, а за за-критий ключ ^-числаp, q, е. Нехай М-вщкритий текст, С-криптограма. То-дi рiвняння шифрування та дешифрування у системi RSA(для ЕЦП) вщпо-вiдно визначаються формулами C=Ek1(M) =Me(modn); M=Dk2(C)=Cd(modn).
Аналiзуючи процедуру шифрування за схемою RSA можна зробити ви-сновок, що супротивник може зламати шифр, тшьки знаючи закритий ключ e, значення якого можна дiзнатися у двох випадках: якщо вщоме роз-кладання числа n на прост множники, або вщомий модуль ф(п) у порiв-нянш з e d = l(mod ф(п)). Оскiльки n=pq, ф(n)=(p-1)(q-1)=pq-(p+q)+1 i (p-q)2=p2+q2-2pq=(p+q)2-4pq, то приходимо до системи рiвнянь:
2 2
ф(n)=pq-(p+q)+1; (p-q) =(p+q) -4pq
Звiдси випливае, що, з одного боку, розв'язати систему вiдносно р i q можливо тiльки при вiдомому значенш ф(п), а з другого - знаючи р i q, легко обчислити ф(п). Таким чином, обидва випадки, в яких можна визначити закритий ключ, е^валентш i становлять задачi одте! складностi. Тому для надшност алгоритму пропонуеться вибирати таю значення простих чисел p та q, для яких значення п - буде досить великим для стшкост до загрози з можливими параметрами продуктивностi злому.
Секретш ключi е основою криптографiчних перетворень - стшюсть шифрувально! системи визначаеться лише таемшстю ключа. Основна проблема класично! криптографи довгий час полягала в труднощi генерування непередбачених двшкових послiдовностей велико! довжини iз застосуван-ням короткого випадкового ключа. Для ïï рiшення широко використову-ються генератори двiйкових псевдовипадкових послщовностей.
Побудова iдеальних стохастичних пристроïв викликае певш труднощi, тому на практищ легше використовувати псевдовипадковi послiдовностi чисел, яю можна побудувати за допомогою арифметичних алгоритмiв (ге-нераторiв). Найбшьш поширенi випадковi числа, що рiвномiрно розподше-нi на вiдрiзку [0; 1 ], та рiвноймовiрнi двiйковi випадковi знаки an з умови Р{ап = 0} = Р{ап = 1} = 1/2 (тодi випадковою послщовшстю бiтiв довжини п буде випадкова величина, яка набувае кожне значення iз {0;1}п з однако-вою ймовiрнiстю (1/2)п).
До псевдовипадкових послщовностей чисел висунемо вимоги:
■ неможливе визначення члена ап-1 числовоï послщовност на основi ïï вiдомого наступного фрагмента ап , ап+1, ап+2,..., ап+р-1 скiнченноï довжини р (непередбачувашсть генератора лiворуч);
■ неможливе визначення члена ап+1 числовоï послiдовностi на основi ïï вiдомого попереднього фрагмента ап-р+1 , ..., ап-2, ап-1 , ап скiнченноï довжини р (непередбачувашсть генератора праворуч);
■ приблизно однаковi ймовiрностi появи числових знаюв у послщов-ностi;
■ псевдовипадкова послщовшсть повинна, мати великий перюд;
Для високоï надiйностi пропонуеться використовувати криптостшю генератори, наприклад-„непередбачуваш лiворуч генератори псевдовипадкових числових послщовностей". Тодi криптоаналiтик, навiть знайомий з принципом роботи генератора, але не знайомий з ключами, аналiзуючи фрагмент вихiдноï послiдовностi ап , ап+1, ап+2,..., ап+р-1 може визначити по-переднiй член (ап-1) тшьки за допомогою випадковостi (наприклад жереба). При такому пiдходi достатньо створити генератор керуючись першою ви-могою до псевдовипадковоï послiдовностi, але для бшьш високоï надшно-стi - пропонуеться щоб генератор задовольняв одночасно вЫм чотирьом умовам.
Доцшьно запропонувати статистично безпечний генератор, який повинен задовольняти наступним вимогам:
■ жоден статистичний тест(наприклад за коефщентом безлiчноl коре-ляци R) не повинен вiдрiзняти вихiдну псевдовипадкову числову послщов-нiсть вiд iстинно випадково!;
■ ус вихiднi числовi псевдовипадковi послщовност - рiвноймовiрнi P(a0) = P(ai) =...= P(an), незалежно вiд шформацп, що подаеться на вхiд генератора;
■ ус вихiднi числовi послiдовностi мають бути статистично незалеж-ними псевдовипадковими послщовностями.
Однобiчна функцiя з лазiвкою дае змогу побудувати криптографiчнi стшю генератори псевдовипадкових - двiйкових послщовностей. Такi ге-нератори базуються на тих же важкорозв'язувальних задачах, що й крип-тографiя з вщкритим ключем - факторизацiя складеного числа, добування корешв за модулем, дискретне логарифмування. Наприклад, генератор BBS (генератор квадратичних лишюв) - простий та ефективний генератор, що використовуе складшсть факторизаци великих чисел. Принцип побудови генератора - пропонуеться наступним:
1. Навмання вибираються прост числа p i q (великi простi числа, при-близно однакового розмiру) з властивютю р= 3(mod 4), q= 3(mod 4) та об-числюеться цiле число Блюма (р= q= 3(mod 4)) n = pq, щ числа p i q зберь гаються у таемницi.
* .
2. Випадково вибираеться з мультиплжативно! групи лишкiв Zn шше цiле число х, взаемно просте з числом n.
3. Обчислюеться число х0= х (mod n), яке буде початковим значенням генератора.
4. За законом хг= x2i_1(mod n) утворюеться послiдовнiсть чисел хг.
5. Шукана псевдовипадкова двiйкова послщовшсть b1b2...bm (BBSn,m (х0)) - послщовшсть молодших бiтiв чисел хг, тобто bi= xi_1(mod 2), i = 1;m.
Одна з найщкавших властивостей генератора - можливють визначати i-й бiт псевдовипадково! послiдовностi без завчасного обчислення i-1 попе-редшх бiтiв за умови, що вщоме розкладання модуля n на множники. Дшс-но, за теоремою Ейлера хф(п) =1(mod n) => x(p-1)(q-1) =1(mod n), а вiдтак xi=x02' (mod(p-1)(q-1))(mod n). Звiдси випливае, що завдяки двом модульним шднесен-ням до степеня, як ефективно обчислюються, будь-яке число xi, визнача-еться тiльки з початкового значення х0 та свого iндексу.
Здатнiсть генератора BBS протистояти зламу базуеться на складност розкладання числа n на множники. Визначити член хг-1 послщовност мож-на наступним чином:
■ за бiективнiстю функци f(x) = х (mod n), на множит Qn квадратичних лишкiв за модулем n елемент хг-1 однозначно визначаеться умовами: хг= х2г. 1(mod n), хг е Qn;
■ за наслщком теореми про лишки a = хг-1 mod p; b = xj-1 mod q задово-льняють два порiвняння a2 = Xj mod p i b1 = Xj mod q. Пара чисел a та b однозначно визначае й саме число xj-1. Добування кореня за модулем р, для якого р= 3(mod 4), е^валентне пiднесенню до степеня (р+1)/4. Отже, для знаходження чисел а i b доцшьно запропонувати сшввщношення а = x.(p+1)/4modр та b = x/q+1)/4mod q.
Можна зробити висновок, що надiйнiсть генератора шдвищуеться разом зi збiльшенням множини значень розкладу числа n на множники.
Пропонуеться побудувати генератор псевдовипадкових двшкових по-слiдовностей за допомогою iнших однобiчних функцiй з лазiвкою, напри-клад функцiï, що е основою криптосистеми RSA. Початковими параметрами генератора RSA е модуль n = p q, де p i q - два великих простих числа (закритий ключ), цше число е, взаемно просте з числом (p-1)(q-1), та випа-дкове початкове число х0 < n. Числова послщовшсть утворюеться за законом х.+1 = x/(mod n). На вихiд генератора подаеться молодший бiт числа х.. Явно видно, що безпека такого генератора спираеться на складшсть зламу криптосистеми RSA при великих n (розкладання числа n на множники).
Проведена ощнка генераторiв BBS та RSA дае можливiсть визначення надiйностi таких генераторiв, яка обмежуеться тiльки величиною числа n, але навiть при його великому значенш iснуе значна можливють злому таких генераторiв. Для зменшення ймовiрностi злому пропонуеться створити такий генератор, надшшсть якого не буде визначатися тшьки складшстю розкладання на множники великого числа. Тому надшшсть шифрування залежить i вщ складностi самого ключа, як видно з аналiзу роботи ïï (сис-теми шифрування) складових.
У загальному випадку пiд надiйнiстю обчислювальноï системи розумь ють властивiсть системи виконувати покладеш на неï функцп протягом заданого промiжку часу. Стосовно системи захисту шформаци ЕЦП можна визначити надшшсть, як властивють системи забезпечувати захист (стш-кiсть до злому) комп'ютерно!" iнформацiï протягом заданого промiжку часу. Виходячи з складност ключа N (як основного параметра безпеки) визна-чимо ймовiрнiсть злому за певний термш: S = TG / N, де S - шанс злому, Т - час зламування шифру, G - швидюсть шдбору ключа, N - складшсть ключа(кшьюсть можливих варiантiв). Тодi ймовiрнiсть захисту (стiйкостi) протягом певного термшу можна записати як P=1-S=1-TG/N=(N-TG)/N. Видно, що зi збшьшенням часу зламу ймовiрнiсть надiйного захисту спа-дае, а зi збшьшенням складност ключа N - зростае.
Доцшьно визначити не надшшсть ключа певно!" складност^ а необхiдну складшсть ключа [3] при заданш (необхщнш) надiйностi, спираючись на технiчнi можливост джерела загрози: N = TG / S, де N-необхщна складшсть ключа, Т-час життя шифру(необхщна), G-швидкiсть пiдбору ключа, S-шанс злому (вiрогiднiсть знаходження ключа раптово) за певний термш.
Час життя ключа зазвичай приймають менше 25 роюв. Наприклад, у Британи секретнi урядовi рiшення через 25 рокiв публжують для iсторикiв.
Швидкiсть пiдбору ключа викликае великi суперечки через великий розкид параметрiв швидкоди апаратних засобiв та час створення ЕОМ з необхщною високою швидкодiею. Шанс злому досить шдивщуальна вели-
3 8
чина, яку зазвичай приймають S =10- ...10- , в залежностi вщ сфери засто-сування. При вщомш необхiднiй складностi ключа визначаемо розрядшсть ключа B = log2 N (bit). Випадковi числа повинш грунтуватися на дiйсному фiзичному джерелi випадково! шформацп, що неможливо пророчити.
Для ускладнення зламу крипто-анал^иками, як потенцiйними хакерами, генератори гами (псевдовипадкових послщовностей) будуються на комбь нацп двох або бiльше генераторiв з використанням нелiнiйних логiчних функцш. Але розвиток сучасно1 технiки дае можливють зламувати комбь нацiю з двох генераторiв (якщо генератор не грунтуеться на фiзичному джерелi випадково1 шформацп). Тому для побудови високонадшних крип-то-стiйких генераторiв створюють комбшацп бiльше нiж двох генераторiв з використанням нелшшних логiчних функцiй, або на фiзичному джерелi випадково1 шформацп, та !х поеднаннi.
Висновки
Надшшсть (стiйкiсть) системи ЕЦП залежить вщ багатьох факторiв, у тому чи^ i вiд ll структури. Для шдвищення надiйностi системи вцiлому необхщно пiдвищувати, в першу чергу, надшшсть найслабюших ланок -ключiв шифрування i генераторiв випадкових послiдовностей, за рахунок вщповщно пiдвищення складностi та створення комбшацш. Розвиток су-часно1 криптографп дае можливiсть вирiшувати проблеми надшност кри-птографiчних засобiв захисту шформацп, лiквiдувати !х слабкi мюця та створювати ефективнi високонадiйнi хеш-функцп, алгоритми шифрування та генератори псевдовипадкових послщовностей, потреба в яких не змен-шуеться.
Л1тература
1. Математичш основи криптографп: Навч. поабник / Г.В. Кузнецов, В.В., та ш. -Дншропетровськ: Нацюнальний прничий ушверситет, 2004. - Ч. 1. - 391 с.
2. Ивт И., Богданов В. „Надежна ли цифровая подпись?" // www.sdteam.com
3. Ильчук Е.В. "Введение в криптографию" // www.nerungri.edu.ru_
Tantsyura D. V., Zinkovskiy Y. F. Reliability of protection of the information of a system of an electronic digital signature The construction of an electronic digital signature, reliability both compound, and system is reviewed. The guidelines concerning a reliability augmentation of a system of an electronic digital signature are adduced.
Танцюра Д.В., Зиньковский Ю.Ф. Надёжность защиты информации системы электронной цифровой подписи
Рассмотрено построение електронной цифровой тдписи, надёжность как составных частей, так и системы в целом. Приведены рекомендации по повышению надёжности системи.