Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Все_лекции_Горбенко

.pdf
Скачиваний:
344
Добавлен:
23.02.2015
Размер:
16.96 Mб
Скачать

495

3.17 Підтвердження ключа об’єкту В об’єктом А

Гарантування об’єкту В, що об’єкт А володіє правильним ключем.

3.18 Контролювання ключа

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

3.19 Встановлення ключа

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

3.20 Маркер ключа

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

3.21 Передача ключа

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

3.22 Взаємна автентифікація об’єктів

Автентифікація об’єктів, яка надає обом об’єктам гарантію дійсності

одинодного.

3.23 Односпрямована функція

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

які відображаються у ці вихідні дані).

496

3.24 Особистий ключ

Ключ з асиметричної ключової пари об’єкта, який має

використовуватись лише цимоб’єктом.

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

3.25 Відкритий ключ

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

сфері електронного цифрового підпису, направленого шифруваннятощо).

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

3.26 Таємний ключ

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

3.27 Порядковий номер

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

[ISO/IEC 11770-1:1996].

3.28 Позначка часу

Елемент даних, що визначає момент часу відносно загально прийнятого у системі еталону часу [ISO/IEC11770-1:1996].

497

Нижче наведено визначення зISO/IEC 10118-1.

3.29 Функція гешування

Функція, яка відображає бітові рядки довільної довжини у бітові рядки фіксованої довжини, що мають дві властивості:

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

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

Примітка.

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

2 – Можливість здійснення обчислення залежить від конкретних вимог безпеки зі сторони користувачів та середовища.

Додаткові визначення, які необхідні у цьому стандарті, наведено нижче.

3.30 Криптографічна живучість ключа об’єкта А

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

3.31 Криптографічна живучість ключів об’єктів А та В окремо

Властивість механізму (протоколу) встановлення ключів, яка полягає у тому, що знання часток довгострокових особистих ключів об’єктів А та В не дозволить зловмиснику відновити (знов обчислити)раніше вироблені ключі.

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

498

3.32 Функція вироблення ключа

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

3.33 Взаємна криптографічна живучість ключів

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

3.34 Неоднозначне (вільне) подання з префіксом

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

4 СИМВОЛИ ТА УМОВНІ ПОЗНАЧКИ

У цьому стандарті крім тих, що наведені в ДСТУ ISO/IEC 15946-1,

використовують такі символи та позначки:

Ek

Функція симетричного шифрування, під час здійснення якої

використовуєтьсятаємний ключ K .

 

f

Функція обчислення криптографічного

контрольного

значення.

 

 

 

fk (Z)

Криптографічне контрольне значення, що

одержане в

результаті застосування функції обчислення криптографічного контрольного

значення

f

з використанням таємного ключа K відносно довільного рядка

вхідних даних Z ..

h

Значення величини

 

кофактора, що використовується під час

виконання кофакторного множення

499

Національна примітка

Кофактор є коефіцієнтом зв'язку порядку u еліптичної кривої та

порядку базової точки n еліптичної кривої, при чому u h n

ФВК

Функція вироблення ключа.

 

 

 

 

l

 

Додаткові

дані,

 

що

використовуються

під

час

виконання кофакторного множення.

 

 

 

 

 

 

MAC

Алгоритм обчислення коду автентифікації повідомлення.

 

MAC(K,Z)

Значення коду

автентифікації повідомлення,

що

одержано в результаті застосування MAC

 

алгоритму та таємного ключа K до

довільного рядка даних Z .

 

 

 

 

 

 

 

parametrs

Параметри,

які

 

використовуються

у

функції

виробленняключа.

 

 

 

 

 

 

 

 

Sx

Особисте криптографічне

перетворення

електронного

цифрового підпису об’єкта X .

 

 

 

 

 

 

 

Примітка. Не робиться ніяких припущень відносно сутності перетворення при виконанні електронного цифрового підпису. У випадку систем електронного цифрового підпису з відновленням повідомлення, SA(m) позначає сам електронний

цифровий підпис. У випадку електронного цифрового підпису з доповненням, SA(m)

позначає повідомлення m разом із електронним цифровим підписом.

[||Text1],[||Text2]

Необов'язковий текст, дані або інша інформація,

 

 

 

які за необхідності

можуть бути включені в блок даних.

 

 

 

Vx

Відкрите

перетворення

перевіряння

електронного

цифрового підпису об’єкта X за допомогою відкритого ключа.

 

*(Q)

( (Q)mod 2 2 ) 2 2 , де log

n

 

.

 

 

 

 

 

 

 

2

 

 

 

5 ФУНКЦІЇ ВИРОБЛЕННЯ КЛЮЧІВ

500

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

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

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

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

компрометуєбезпеку схем узгодження ключів.

Національна примітка

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

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

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

501

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

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

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

Прийняття такої угоди виходить за межі сфери застосуванняцього стандарту.

В Додатку A наведено три приклади функцій виробленняключів.

6 КОФАКТОРНЕ МНОЖЕННЯ

Механізми узгодження ключів, які наведено в розділах 8 й 9, а також механізми передавання ключів, які наведено в розділі 10, вимагають щоб особистий ключ об’єкта або маркер ключа був пов’язаний з відкритим ключем або маркером ключа іншого об’єкта. Якщо при цьому відкритий ключ або маркер ключа іншого об’єкта є недійсним (наприклад, він не є точкою еліптичної кривої, або не входить у підгрупу порядку n), то виконання

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

Одним з методів запобігання «атаки у малу підгрупу» або аналогічних атак є перевіряння відкритих ключів та маркерів ключів, отриманих від іншої сторони, використовуючи механізм перевіряння відкритого ключа. В

стандарті ISO/IEC15946-1 наведено механізм перевіряння відкритого ключа.

В якості альтернативи для перевіряння порядку відкритого ключа або маркера ключа, може бути використано метод кофакторного множення. Для здійснення кофакторного множення у розділах 8, 9 та 10 використовуються значення h та l, які визначено нижче.

502

Існуєдва варіанти виконання кофакторного множення:

якщо використовується кофакторне множення, та потрібна несумісність з об’єктами, які не використовують кофакторне множення, тоді h #En та l 1.

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

якщо використовується кофакторне множення, та потрібна сумісність з об’єктами, які не використовують кофакторне множення, тоді h #En та l h 1 modn.Якщо обрано цей варіант, тоді механізми, які наведено в розділах

8 та 10, є сумісними зі стандартом ISO/IEC 11770-3.

Примітка. Значення h 1 modn завжди буде існувати, тому що необхідно щоб

значення n було більше, ніж 4q (див. частину 1), а також n та h були взаємно

простими, тобто ged(n,h) 1.

Якщо немає необхідності використовувати кофакторне множення, тоді існуєодин варіант.

Якщо не використовують кофакторне множення, тоді h 1 та l 1. Якщо

обрано цей варіант, тоді механізми, що наведено в розділах 8 та 10, є

сумісними зISO/IEC 11770-3.

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

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

503

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

7 ПЕРЕДАВАННЯ КЛЮЧІВ

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

бітів у встановленому ключі, засобом генерації 2s значень кандидата свого

особистого ключа для узгодження ключа, здійснюючи це у період після одержання відкритого ключа або маркера ключа іншого об’єкта та обиранням свого особистого ключа [4].

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

8 МЕХАНІЗМИ УЗГОДЖЕННЯ КЛЮЧІВ

Узгодження ключів є процесом установлення розділюваної таємниці між об’єктами А та В таким чином, що жоден з них не може заздалегідь визначити значення розділюваної таємниці. Якщо потрібні достовірні копії відкритих ключів інших сторін, то вони можуть бути одержані використовуючи методи, що наведено у ISO/IEC11770-3, Розділ 8.

504

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

8.1 Спільна інформація

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

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

- параметри еліптичної кривої, з якими ключові пари повинні бути пов’язані та бути однаковими для обох сторін. Вони включають модулі p, pm

або 2m, опис полів F(p), F(pm) або F(2m), та базис, що використовується, криву Е,

порядок базової точки п та базову точку G.

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

-функцію вироблення ключа, kdf;

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

-тип кофакторного множення, яке необхідно виконувати (якщо потрібно).

8.2 Автономне (неінтерактивне) узгодження ключів типу Діффі-

Гелмана (KANIDH)

8.2.1 Налаштування

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

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

- особистий ключ узгодження ключів dХ та відкритий ключ узгодження

ключів PХ, який є точкою еліптичної кривої, і обчислюється згідно рівнянню